generated/api/Models/CreateBackupDestination.cs
// Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.9.4, generator: @autorest/powershell@3.0.415) // Changes may cause incorrect behavior and will be lost if the code is regenerated. namespace Commvault.Powershell.Models { using static Commvault.Powershell.Runtime.Extensions; public partial class CreateBackupDestination : Commvault.Powershell.Models.ICreateBackupDestination, Commvault.Powershell.Models.ICreateBackupDestinationInternal { /// <summary>Backing field for <see cref="BackupStartTime" /> property.</summary> private long? _backupStartTime; /// <summary>Backup start time in seconds. The time is provided in unix time format.</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] public long? BackupStartTime { get => this._backupStartTime; set => this._backupStartTime = value; } /// <summary>Backing field for <see cref="BackupsToCopy" /> property.</summary> private string _backupsToCopy; /// <summary> /// All_JOBS means SYNCHRONOUS copy type, others are applicable for SELECTIVE copy Type only. /// </summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] public string BackupsToCopy { get => this._backupsToCopy; set => this._backupsToCopy = value; } /// <summary>Internal Acessors for ExtendedRetentionRuleFirstExtendedRetentionRule</summary> Commvault.Powershell.Models.IPlanRetentionRule Commvault.Powershell.Models.ICreateBackupDestinationInternal.ExtendedRetentionRuleFirstExtendedRetentionRule { get => ((Commvault.Powershell.Models.IExtendedRetentionRulesInternal)ExtendedRetentionRules).FirstExtendedRetentionRule; set => ((Commvault.Powershell.Models.IExtendedRetentionRulesInternal)ExtendedRetentionRules).FirstExtendedRetentionRule = value; } /// <summary>Internal Acessors for ExtendedRetentionRuleSecondExtendedRetentionRule</summary> Commvault.Powershell.Models.IPlanRetentionRule Commvault.Powershell.Models.ICreateBackupDestinationInternal.ExtendedRetentionRuleSecondExtendedRetentionRule { get => ((Commvault.Powershell.Models.IExtendedRetentionRulesInternal)ExtendedRetentionRules).SecondExtendedRetentionRule; set => ((Commvault.Powershell.Models.IExtendedRetentionRulesInternal)ExtendedRetentionRules).SecondExtendedRetentionRule = value; } /// <summary>Internal Acessors for ExtendedRetentionRuleThirdExtendedRetentionRule</summary> Commvault.Powershell.Models.IPlanRetentionRule Commvault.Powershell.Models.ICreateBackupDestinationInternal.ExtendedRetentionRuleThirdExtendedRetentionRule { get => ((Commvault.Powershell.Models.IExtendedRetentionRulesInternal)ExtendedRetentionRules).ThirdExtendedRetentionRule; set => ((Commvault.Powershell.Models.IExtendedRetentionRulesInternal)ExtendedRetentionRules).ThirdExtendedRetentionRule = value; } /// <summary>Internal Acessors for ExtendedRetentionRules</summary> Commvault.Powershell.Models.IExtendedRetentionRules Commvault.Powershell.Models.ICreateBackupDestinationInternal.ExtendedRetentionRules { get => (this._extendedRetentionRules = this._extendedRetentionRules ?? new Commvault.Powershell.Models.ExtendedRetentionRules()); set { {_extendedRetentionRules = value;} } } /// <summary>Internal Acessors for Region</summary> Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.ICreateBackupDestinationInternal.Region { get => (this._region = this._region ?? new Commvault.Powershell.Models.IdName()); set { {_region = value;} } } /// <summary>Internal Acessors for SourceCopy</summary> Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.ICreateBackupDestinationInternal.SourceCopy { get => (this._sourceCopy = this._sourceCopy ?? new Commvault.Powershell.Models.IdName()); set { {_sourceCopy = value;} } } /// <summary>Internal Acessors for StoragePool</summary> Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.ICreateBackupDestinationInternal.StoragePool { get => (this._storagePool = this._storagePool ?? new Commvault.Powershell.Models.IdName()); set { {_storagePool = value;} } } /// <summary>Backing field for <see cref="ExtendedRetentionRules" /> property.</summary> private Commvault.Powershell.Models.IExtendedRetentionRules _extendedRetentionRules; /// <summary> /// If you want to update, specify the whole object. Extended retention rules should be bigger than retention period. /// </summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] internal Commvault.Powershell.Models.IExtendedRetentionRules ExtendedRetentionRules { get => (this._extendedRetentionRules = this._extendedRetentionRules ?? new Commvault.Powershell.Models.ExtendedRetentionRules()); set => this._extendedRetentionRules = value; } /// <summary>If this is set as true, no need to specify retentionPeriodDays.</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public bool? FirstExtendedRetentionRuleIsInfiniteRetention { get => ((Commvault.Powershell.Models.IExtendedRetentionRulesInternal)ExtendedRetentionRules).FirstExtendedRetentionRuleIsInfiniteRetention; set => ((Commvault.Powershell.Models.IExtendedRetentionRulesInternal)ExtendedRetentionRules).FirstExtendedRetentionRuleIsInfiniteRetention = value ?? default(bool); } /// <summary>If this is set, no need to specify isInfiniteRetention as false.</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public long? FirstExtendedRetentionRuleRetentionPeriodDays { get => ((Commvault.Powershell.Models.IExtendedRetentionRulesInternal)ExtendedRetentionRules).FirstExtendedRetentionRuleRetentionPeriodDays; set => ((Commvault.Powershell.Models.IExtendedRetentionRulesInternal)ExtendedRetentionRules).FirstExtendedRetentionRuleRetentionPeriodDays = value ?? default(long); } /// <summary> /// All_JOBS means SYNCHRONOUS copy type, others are applicable for SELECTIVE copy Type only. /// </summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public string FirstExtendedRetentionRuleType { get => ((Commvault.Powershell.Models.IExtendedRetentionRulesInternal)ExtendedRetentionRules).FirstExtendedRetentionRuleType; set => ((Commvault.Powershell.Models.IExtendedRetentionRulesInternal)ExtendedRetentionRules).FirstExtendedRetentionRuleType = value ?? null; } /// <summary>Backing field for <see cref="FullBackupTypesToCopy" /> property.</summary> private string _fullBackupTypesToCopy; /// <summary> /// Which type of backup type should be copied for the given backup destination when backup type is not all jobs. Default /// is LAST while adding new backup destination. /// </summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] public string FullBackupTypesToCopy { get => this._fullBackupTypesToCopy; set => this._fullBackupTypesToCopy = value; } /// <summary>Backing field for <see cref="IsMirrorCopy" /> property.</summary> private bool? _isMirrorCopy; /// <summary>Is this a mirror copy? Only considered when isSnapCopy is true.</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] public bool? IsMirrorCopy { get => this._isMirrorCopy; set => this._isMirrorCopy = value; } /// <summary>Backing field for <see cref="IsSnapCopy" /> property.</summary> private bool? _isSnapCopy; /// <summary>Is this a snap copy? If isMirrorCopy is not set, then default is Vault/Replica.</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] public bool? IsSnapCopy { get => this._isSnapCopy; set => this._isSnapCopy = value; } /// <summary>Backing field for <see cref="Mappings" /> property.</summary> private Commvault.Powershell.Models.ISnapshotCopyMapping[] _mappings; [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] public Commvault.Powershell.Models.ISnapshotCopyMapping[] Mappings { get => this._mappings; set => this._mappings = value; } /// <summary>Backing field for <see cref="Name" /> property.</summary> private string _name; /// <summary>Name of backup destination</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] public string Name { get => this._name; set => this._name = value; } /// <summary>Backing field for <see cref="NetAppCloudTarget" /> property.</summary> private bool? _netAppCloudTarget; /// <summary> /// Only for snap copy. Enabling this changes SVM Mapping to NetApp cloud targets only. /// </summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] public bool? NetAppCloudTarget { get => this._netAppCloudTarget; set => this._netAppCloudTarget = value; } /// <summary>Backing field for <see cref="OptimizeForInstantClone" /> property.</summary> private bool? _optimizeForInstantClone; /// <summary>Flag to specify if primary storage is copy data management enabled.</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] public bool? OptimizeForInstantClone { get => this._optimizeForInstantClone; set => this._optimizeForInstantClone = value; } /// <summary>Backing field for <see cref="OverrideRetentionSettings" /> property.</summary> private bool? _overrideRetentionSettings; /// <summary> /// Tells if this copy should use storage pool retention period days or the retention defined for this copy. Set as true to /// use retention defined on this copy. /// </summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] public bool? OverrideRetentionSettings { get => this._overrideRetentionSettings; set => this._overrideRetentionSettings = value; } /// <summary>Backing field for <see cref="Region" /> property.</summary> private Commvault.Powershell.Models.IIdName _region; [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] internal Commvault.Powershell.Models.IIdName Region { get => (this._region = this._region ?? new Commvault.Powershell.Models.IdName()); set => this._region = value; } [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public long? RegionId { get => ((Commvault.Powershell.Models.IIdNameInternal)Region).Id; set => ((Commvault.Powershell.Models.IIdNameInternal)Region).Id = value ?? default(long); } [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public string RegionName { get => ((Commvault.Powershell.Models.IIdNameInternal)Region).Name; set => ((Commvault.Powershell.Models.IIdNameInternal)Region).Name = value ?? null; } /// <summary>Backing field for <see cref="RetentionPeriodDays" /> property.</summary> private long? _retentionPeriodDays; /// <summary> /// Retention period in days. -1 can be specified for infinite retention. If this and snapRecoveryPoints both are not specified, /// this takes precedence. /// </summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] public long? RetentionPeriodDays { get => this._retentionPeriodDays; set => this._retentionPeriodDays = value; } /// <summary>Backing field for <see cref="RetentionRuleType" /> property.</summary> private string _retentionRuleType; /// <summary>Which type of retention rule should be used for the given backup destination</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] public string RetentionRuleType { get => this._retentionRuleType; set => this._retentionRuleType = value; } /// <summary>If this is set as true, no need to specify retentionPeriodDays.</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public bool? SecondExtendedRetentionRuleIsInfiniteRetention { get => ((Commvault.Powershell.Models.IExtendedRetentionRulesInternal)ExtendedRetentionRules).SecondExtendedRetentionRuleIsInfiniteRetention; set => ((Commvault.Powershell.Models.IExtendedRetentionRulesInternal)ExtendedRetentionRules).SecondExtendedRetentionRuleIsInfiniteRetention = value ?? default(bool); } /// <summary>If this is set, no need to specify isInfiniteRetention as false.</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public long? SecondExtendedRetentionRuleRetentionPeriodDays { get => ((Commvault.Powershell.Models.IExtendedRetentionRulesInternal)ExtendedRetentionRules).SecondExtendedRetentionRuleRetentionPeriodDays; set => ((Commvault.Powershell.Models.IExtendedRetentionRulesInternal)ExtendedRetentionRules).SecondExtendedRetentionRuleRetentionPeriodDays = value ?? default(long); } /// <summary> /// All_JOBS means SYNCHRONOUS copy type, others are applicable for SELECTIVE copy Type only. /// </summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public string SecondExtendedRetentionRuleType { get => ((Commvault.Powershell.Models.IExtendedRetentionRulesInternal)ExtendedRetentionRules).SecondExtendedRetentionRuleType; set => ((Commvault.Powershell.Models.IExtendedRetentionRulesInternal)ExtendedRetentionRules).SecondExtendedRetentionRuleType = value ?? null; } /// <summary>Backing field for <see cref="SnapRecoveryPoints" /> property.</summary> private long? _snapRecoveryPoints; /// <summary> /// Number of snap recovery points for snap copy for retention. Can be specified instead of retention period in Days for snap /// copy. /// </summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] public long? SnapRecoveryPoints { get => this._snapRecoveryPoints; set => this._snapRecoveryPoints = value; } /// <summary>Backing field for <see cref="SourceCopy" /> property.</summary> private Commvault.Powershell.Models.IIdName _sourceCopy; [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] internal Commvault.Powershell.Models.IIdName SourceCopy { get => (this._sourceCopy = this._sourceCopy ?? new Commvault.Powershell.Models.IdName()); set => this._sourceCopy = value; } [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public long? SourceCopyId { get => ((Commvault.Powershell.Models.IIdNameInternal)SourceCopy).Id; set => ((Commvault.Powershell.Models.IIdNameInternal)SourceCopy).Id = value ?? default(long); } [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public string SourceCopyName { get => ((Commvault.Powershell.Models.IIdNameInternal)SourceCopy).Name; set => ((Commvault.Powershell.Models.IIdNameInternal)SourceCopy).Name = value ?? null; } /// <summary>Backing field for <see cref="StoragePool" /> property.</summary> private Commvault.Powershell.Models.IIdName _storagePool; [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] internal Commvault.Powershell.Models.IIdName StoragePool { get => (this._storagePool = this._storagePool ?? new Commvault.Powershell.Models.IdName()); set => this._storagePool = value; } [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public long? StoragePoolId { get => ((Commvault.Powershell.Models.IIdNameInternal)StoragePool).Id; set => ((Commvault.Powershell.Models.IIdNameInternal)StoragePool).Id = value ?? default(long); } [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public string StoragePoolName { get => ((Commvault.Powershell.Models.IIdNameInternal)StoragePool).Name; set => ((Commvault.Powershell.Models.IIdNameInternal)StoragePool).Name = value ?? null; } /// <summary>Backing field for <see cref="StorageType" /> property.</summary> private string _storageType; /// <summary>StorageType</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] public string StorageType { get => this._storageType; set => this._storageType = value; } /// <summary>If this is set as true, no need to specify retentionPeriodDays.</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public bool? ThirdExtendedRetentionRuleIsInfiniteRetention { get => ((Commvault.Powershell.Models.IExtendedRetentionRulesInternal)ExtendedRetentionRules).ThirdExtendedRetentionRuleIsInfiniteRetention; set => ((Commvault.Powershell.Models.IExtendedRetentionRulesInternal)ExtendedRetentionRules).ThirdExtendedRetentionRuleIsInfiniteRetention = value ?? default(bool); } /// <summary>If this is set, no need to specify isInfiniteRetention as false.</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public long? ThirdExtendedRetentionRuleRetentionPeriodDays { get => ((Commvault.Powershell.Models.IExtendedRetentionRulesInternal)ExtendedRetentionRules).ThirdExtendedRetentionRuleRetentionPeriodDays; set => ((Commvault.Powershell.Models.IExtendedRetentionRulesInternal)ExtendedRetentionRules).ThirdExtendedRetentionRuleRetentionPeriodDays = value ?? default(long); } /// <summary> /// All_JOBS means SYNCHRONOUS copy type, others are applicable for SELECTIVE copy Type only. /// </summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public string ThirdExtendedRetentionRuleType { get => ((Commvault.Powershell.Models.IExtendedRetentionRulesInternal)ExtendedRetentionRules).ThirdExtendedRetentionRuleType; set => ((Commvault.Powershell.Models.IExtendedRetentionRulesInternal)ExtendedRetentionRules).ThirdExtendedRetentionRuleType = value ?? null; } /// <summary>Backing field for <see cref="UseExtendedRetentionRules" /> property.</summary> private bool? _useExtendedRetentionRules; /// <summary>Use extended retention rules</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] public bool? UseExtendedRetentionRules { get => this._useExtendedRetentionRules; set => this._useExtendedRetentionRules = value; } /// <summary>Creates an new <see cref="CreateBackupDestination" /> instance.</summary> public CreateBackupDestination() { } } public partial interface ICreateBackupDestination : Commvault.Powershell.Runtime.IJsonSerializable { /// <summary>Backup start time in seconds. The time is provided in unix time format.</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"Backup start time in seconds. The time is provided in unix time format.", SerializedName = @"backupStartTime", PossibleTypes = new [] { typeof(long) })] long? BackupStartTime { get; set; } /// <summary> /// All_JOBS means SYNCHRONOUS copy type, others are applicable for SELECTIVE copy Type only. /// </summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"All_JOBS means SYNCHRONOUS copy type, others are applicable for SELECTIVE copy Type only.", SerializedName = @"backupsToCopy", PossibleTypes = new [] { typeof(string) })] string BackupsToCopy { get; set; } /// <summary>If this is set as true, no need to specify retentionPeriodDays.</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"If this is set as true, no need to specify retentionPeriodDays.", SerializedName = @"isInfiniteRetention", PossibleTypes = new [] { typeof(bool) })] bool? FirstExtendedRetentionRuleIsInfiniteRetention { get; set; } /// <summary>If this is set, no need to specify isInfiniteRetention as false.</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"If this is set, no need to specify isInfiniteRetention as false.", SerializedName = @"retentionPeriodDays", PossibleTypes = new [] { typeof(long) })] long? FirstExtendedRetentionRuleRetentionPeriodDays { get; set; } /// <summary> /// All_JOBS means SYNCHRONOUS copy type, others are applicable for SELECTIVE copy Type only. /// </summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"All_JOBS means SYNCHRONOUS copy type, others are applicable for SELECTIVE copy Type only.", SerializedName = @"type", PossibleTypes = new [] { typeof(string) })] string FirstExtendedRetentionRuleType { get; set; } /// <summary> /// Which type of backup type should be copied for the given backup destination when backup type is not all jobs. Default /// is LAST while adding new backup destination. /// </summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"Which type of backup type should be copied for the given backup destination when backup type is not all jobs. Default is LAST while adding new backup destination.", SerializedName = @"fullBackupTypesToCopy", PossibleTypes = new [] { typeof(string) })] string FullBackupTypesToCopy { get; set; } /// <summary>Is this a mirror copy? Only considered when isSnapCopy is true.</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"Is this a mirror copy? Only considered when isSnapCopy is true.", SerializedName = @"isMirrorCopy", PossibleTypes = new [] { typeof(bool) })] bool? IsMirrorCopy { get; set; } /// <summary>Is this a snap copy? If isMirrorCopy is not set, then default is Vault/Replica.</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"Is this a snap copy? If isMirrorCopy is not set, then default is Vault/Replica.", SerializedName = @"isSnapCopy", PossibleTypes = new [] { typeof(bool) })] bool? IsSnapCopy { get; set; } [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"", SerializedName = @"mappings", PossibleTypes = new [] { typeof(Commvault.Powershell.Models.ISnapshotCopyMapping) })] Commvault.Powershell.Models.ISnapshotCopyMapping[] Mappings { get; set; } /// <summary>Name of backup destination</summary> [Commvault.Powershell.Runtime.Info( Required = true, ReadOnly = false, Description = @"Name of backup destination", SerializedName = @"name", PossibleTypes = new [] { typeof(string) })] string Name { get; set; } /// <summary> /// Only for snap copy. Enabling this changes SVM Mapping to NetApp cloud targets only. /// </summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"Only for snap copy. Enabling this changes SVM Mapping to NetApp cloud targets only.", SerializedName = @"netAppCloudTarget", PossibleTypes = new [] { typeof(bool) })] bool? NetAppCloudTarget { get; set; } /// <summary>Flag to specify if primary storage is copy data management enabled.</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"Flag to specify if primary storage is copy data management enabled.", SerializedName = @"optimizeForInstantClone", PossibleTypes = new [] { typeof(bool) })] bool? OptimizeForInstantClone { get; set; } /// <summary> /// Tells if this copy should use storage pool retention period days or the retention defined for this copy. Set as true to /// use retention defined on this copy. /// </summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"Tells if this copy should use storage pool retention period days or the retention defined for this copy. Set as true to use retention defined on this copy.", SerializedName = @"overrideRetentionSettings", PossibleTypes = new [] { typeof(bool) })] bool? OverrideRetentionSettings { get; set; } [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"", SerializedName = @"id", PossibleTypes = new [] { typeof(long) })] long? RegionId { get; set; } [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"", SerializedName = @"name", PossibleTypes = new [] { typeof(string) })] string RegionName { get; set; } /// <summary> /// Retention period in days. -1 can be specified for infinite retention. If this and snapRecoveryPoints both are not specified, /// this takes precedence. /// </summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"Retention period in days. -1 can be specified for infinite retention. If this and snapRecoveryPoints both are not specified, this takes precedence.", SerializedName = @"retentionPeriodDays", PossibleTypes = new [] { typeof(long) })] long? RetentionPeriodDays { get; set; } /// <summary>Which type of retention rule should be used for the given backup destination</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"Which type of retention rule should be used for the given backup destination", SerializedName = @"retentionRuleType", PossibleTypes = new [] { typeof(string) })] string RetentionRuleType { get; set; } /// <summary>If this is set as true, no need to specify retentionPeriodDays.</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"If this is set as true, no need to specify retentionPeriodDays.", SerializedName = @"isInfiniteRetention", PossibleTypes = new [] { typeof(bool) })] bool? SecondExtendedRetentionRuleIsInfiniteRetention { get; set; } /// <summary>If this is set, no need to specify isInfiniteRetention as false.</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"If this is set, no need to specify isInfiniteRetention as false.", SerializedName = @"retentionPeriodDays", PossibleTypes = new [] { typeof(long) })] long? SecondExtendedRetentionRuleRetentionPeriodDays { get; set; } /// <summary> /// All_JOBS means SYNCHRONOUS copy type, others are applicable for SELECTIVE copy Type only. /// </summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"All_JOBS means SYNCHRONOUS copy type, others are applicable for SELECTIVE copy Type only.", SerializedName = @"type", PossibleTypes = new [] { typeof(string) })] string SecondExtendedRetentionRuleType { get; set; } /// <summary> /// Number of snap recovery points for snap copy for retention. Can be specified instead of retention period in Days for snap /// copy. /// </summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"Number of snap recovery points for snap copy for retention. Can be specified instead of retention period in Days for snap copy.", SerializedName = @"snapRecoveryPoints", PossibleTypes = new [] { typeof(long) })] long? SnapRecoveryPoints { get; set; } [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"", SerializedName = @"id", PossibleTypes = new [] { typeof(long) })] long? SourceCopyId { get; set; } [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"", SerializedName = @"name", PossibleTypes = new [] { typeof(string) })] string SourceCopyName { get; set; } [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"", SerializedName = @"id", PossibleTypes = new [] { typeof(long) })] long? StoragePoolId { get; set; } [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"", SerializedName = @"name", PossibleTypes = new [] { typeof(string) })] string StoragePoolName { get; set; } /// <summary>StorageType</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"StorageType", SerializedName = @"storageType", PossibleTypes = new [] { typeof(string) })] string StorageType { get; set; } /// <summary>If this is set as true, no need to specify retentionPeriodDays.</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"If this is set as true, no need to specify retentionPeriodDays.", SerializedName = @"isInfiniteRetention", PossibleTypes = new [] { typeof(bool) })] bool? ThirdExtendedRetentionRuleIsInfiniteRetention { get; set; } /// <summary>If this is set, no need to specify isInfiniteRetention as false.</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"If this is set, no need to specify isInfiniteRetention as false.", SerializedName = @"retentionPeriodDays", PossibleTypes = new [] { typeof(long) })] long? ThirdExtendedRetentionRuleRetentionPeriodDays { get; set; } /// <summary> /// All_JOBS means SYNCHRONOUS copy type, others are applicable for SELECTIVE copy Type only. /// </summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"All_JOBS means SYNCHRONOUS copy type, others are applicable for SELECTIVE copy Type only.", SerializedName = @"type", PossibleTypes = new [] { typeof(string) })] string ThirdExtendedRetentionRuleType { get; set; } /// <summary>Use extended retention rules</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"Use extended retention rules", SerializedName = @"useExtendedRetentionRules", PossibleTypes = new [] { typeof(bool) })] bool? UseExtendedRetentionRules { get; set; } } internal partial interface ICreateBackupDestinationInternal { /// <summary>Backup start time in seconds. The time is provided in unix time format.</summary> long? BackupStartTime { get; set; } /// <summary> /// All_JOBS means SYNCHRONOUS copy type, others are applicable for SELECTIVE copy Type only. /// </summary> string BackupsToCopy { get; set; } Commvault.Powershell.Models.IPlanRetentionRule ExtendedRetentionRuleFirstExtendedRetentionRule { get; set; } Commvault.Powershell.Models.IPlanRetentionRule ExtendedRetentionRuleSecondExtendedRetentionRule { get; set; } Commvault.Powershell.Models.IPlanRetentionRule ExtendedRetentionRuleThirdExtendedRetentionRule { get; set; } /// <summary> /// If you want to update, specify the whole object. Extended retention rules should be bigger than retention period. /// </summary> Commvault.Powershell.Models.IExtendedRetentionRules ExtendedRetentionRules { get; set; } /// <summary>If this is set as true, no need to specify retentionPeriodDays.</summary> bool? FirstExtendedRetentionRuleIsInfiniteRetention { get; set; } /// <summary>If this is set, no need to specify isInfiniteRetention as false.</summary> long? FirstExtendedRetentionRuleRetentionPeriodDays { get; set; } /// <summary> /// All_JOBS means SYNCHRONOUS copy type, others are applicable for SELECTIVE copy Type only. /// </summary> string FirstExtendedRetentionRuleType { get; set; } /// <summary> /// Which type of backup type should be copied for the given backup destination when backup type is not all jobs. Default /// is LAST while adding new backup destination. /// </summary> string FullBackupTypesToCopy { get; set; } /// <summary>Is this a mirror copy? Only considered when isSnapCopy is true.</summary> bool? IsMirrorCopy { get; set; } /// <summary>Is this a snap copy? If isMirrorCopy is not set, then default is Vault/Replica.</summary> bool? IsSnapCopy { get; set; } Commvault.Powershell.Models.ISnapshotCopyMapping[] Mappings { get; set; } /// <summary>Name of backup destination</summary> string Name { get; set; } /// <summary> /// Only for snap copy. Enabling this changes SVM Mapping to NetApp cloud targets only. /// </summary> bool? NetAppCloudTarget { get; set; } /// <summary>Flag to specify if primary storage is copy data management enabled.</summary> bool? OptimizeForInstantClone { get; set; } /// <summary> /// Tells if this copy should use storage pool retention period days or the retention defined for this copy. Set as true to /// use retention defined on this copy. /// </summary> bool? OverrideRetentionSettings { get; set; } Commvault.Powershell.Models.IIdName Region { get; set; } long? RegionId { get; set; } string RegionName { get; set; } /// <summary> /// Retention period in days. -1 can be specified for infinite retention. If this and snapRecoveryPoints both are not specified, /// this takes precedence. /// </summary> long? RetentionPeriodDays { get; set; } /// <summary>Which type of retention rule should be used for the given backup destination</summary> string RetentionRuleType { get; set; } /// <summary>If this is set as true, no need to specify retentionPeriodDays.</summary> bool? SecondExtendedRetentionRuleIsInfiniteRetention { get; set; } /// <summary>If this is set, no need to specify isInfiniteRetention as false.</summary> long? SecondExtendedRetentionRuleRetentionPeriodDays { get; set; } /// <summary> /// All_JOBS means SYNCHRONOUS copy type, others are applicable for SELECTIVE copy Type only. /// </summary> string SecondExtendedRetentionRuleType { get; set; } /// <summary> /// Number of snap recovery points for snap copy for retention. Can be specified instead of retention period in Days for snap /// copy. /// </summary> long? SnapRecoveryPoints { get; set; } Commvault.Powershell.Models.IIdName SourceCopy { get; set; } long? SourceCopyId { get; set; } string SourceCopyName { get; set; } Commvault.Powershell.Models.IIdName StoragePool { get; set; } long? StoragePoolId { get; set; } string StoragePoolName { get; set; } /// <summary>StorageType</summary> string StorageType { get; set; } /// <summary>If this is set as true, no need to specify retentionPeriodDays.</summary> bool? ThirdExtendedRetentionRuleIsInfiniteRetention { get; set; } /// <summary>If this is set, no need to specify isInfiniteRetention as false.</summary> long? ThirdExtendedRetentionRuleRetentionPeriodDays { get; set; } /// <summary> /// All_JOBS means SYNCHRONOUS copy type, others are applicable for SELECTIVE copy Type only. /// </summary> string ThirdExtendedRetentionRuleType { get; set; } /// <summary>Use extended retention rules</summary> bool? UseExtendedRetentionRules { get; set; } } } |