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") ]; }