using System.Collections.Generic;
using Duplicati.Library.Interface;
namespace Duplicati.Proprietary.DiskImage.General;
///
/// Helper class containing constants and command-line argument definitions for the DiskImage module.
///
internal static class OptionsHelper
{
///
/// The module key identifier for the DiskImage module.
///
internal const string ModuleKey = "diskimage";
///
/// Option to automatically unmount the target disk before restore operations.
///
internal const string DISK_RESTORE_AUTO_UNMOUNT_OPTION = "diskimage-restore-auto-unmount";
///
/// Option to skip partition table restoration during restore operations.
///
internal const string DISK_RESTORE_SKIP_PARTITION_TABLE_OPTION = "diskimage-restore-skip-partition-table";
///
/// Option to validate target disk size before restoring.
///
internal const string DISK_RESTORE_VALIDATE_SIZE_OPTION = "diskimage-restore-validate-size";
///
/// Gets the list of supported command-line arguments for the DiskImage module.
///
internal static IList SupportedCommands =>
[
new CommandLineArgument(DISK_RESTORE_AUTO_UNMOUNT_OPTION, CommandLineArgument.ArgumentType.Boolean, Strings.DiskRestoreAutoUnmountShort, Strings.DiskRestoreAutoUnmountLong, "false"),
new CommandLineArgument(DISK_RESTORE_SKIP_PARTITION_TABLE_OPTION, CommandLineArgument.ArgumentType.Boolean, Strings.DiskRestoreSkipPartitionTableShort, Strings.DiskRestoreSkipPartitionTableLong, "false"),
new CommandLineArgument(DISK_RESTORE_VALIDATE_SIZE_OPTION, CommandLineArgument.ArgumentType.Boolean, Strings.DiskRestoreValidateSizeShort, Strings.DiskRestoreValidateSizeLong, "true")
];
}