generated/api/Models/UpdatePlanBackupDestinationDetails.cs
// Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.10.2, generator: @autorest/powershell@4.0.708) // 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 UpdatePlanBackupDestinationDetails : Commvault.Powershell.Models.IUpdatePlanBackupDestinationDetails, Commvault.Powershell.Models.IUpdatePlanBackupDestinationDetailsInternal { /// <summary>Backing field for <see cref="BackupType" /> property.</summary> private Commvault.Powershell.Models.IPlanBackupDestinationBackupTypeInfo _backupType; [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] internal Commvault.Powershell.Models.IPlanBackupDestinationBackupTypeInfo BackupType { get => (this._backupType = this._backupType ?? new Commvault.Powershell.Models.PlanBackupDestinationBackupTypeInfo()); set => this._backupType = value; } /// <summary> /// Tells what start date, backup types should be copied from. The date is provided in unix time format in number of seconds. /// -1 means initial backup date. /// </summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public long? BackupTypeBackupTypesCopiedFrom { get => ((Commvault.Powershell.Models.IPlanBackupDestinationBackupTypeInfoInternal)BackupType).BackupTypesCopiedFrom; set => ((Commvault.Powershell.Models.IPlanBackupDestinationBackupTypeInfoInternal)BackupType).BackupTypesCopiedFrom = 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 BackupTypeBackupTypesToCopy { get => ((Commvault.Powershell.Models.IPlanBackupDestinationBackupTypeInfoInternal)BackupType).BackupTypesToCopy; set => ((Commvault.Powershell.Models.IPlanBackupDestinationBackupTypeInfoInternal)BackupType).BackupTypesToCopy = value ?? null; } /// <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.Inlined)] public string BackupTypeFullBackupTypesToCopy { get => ((Commvault.Powershell.Models.IPlanBackupDestinationBackupTypeInfoInternal)BackupType).FullBackupTypesToCopy; set => ((Commvault.Powershell.Models.IPlanBackupDestinationBackupTypeInfoInternal)BackupType).FullBackupTypesToCopy = value ?? null; } /// <summary>Internal Acessors for BackupType</summary> Commvault.Powershell.Models.IPlanBackupDestinationBackupTypeInfo Commvault.Powershell.Models.IUpdatePlanBackupDestinationDetailsInternal.BackupType { get => (this._backupType = this._backupType ?? new Commvault.Powershell.Models.PlanBackupDestinationBackupTypeInfo()); set { {_backupType = value;} } } /// <summary>Internal Acessors for CopyPromotionOptions</summary> Commvault.Powershell.Models.IPlanBackupDestinationCopyPromotionInfo Commvault.Powershell.Models.IUpdatePlanBackupDestinationDetailsInternal.CopyPromotionOptions { get => (this._copyPromotionOptions = this._copyPromotionOptions ?? new Commvault.Powershell.Models.PlanBackupDestinationCopyPromotionInfo()); set { {_copyPromotionOptions = value;} } } /// <summary>Internal Acessors for ExtendedRetentionRuleFirstExtendedRetentionRule</summary> Commvault.Powershell.Models.IPlanRetentionRule Commvault.Powershell.Models.IUpdatePlanBackupDestinationDetailsInternal.ExtendedRetentionRuleFirstExtendedRetentionRule { get => ((Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).ExtendedRetentionRuleFirstExtendedRetentionRule; set => ((Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).ExtendedRetentionRuleFirstExtendedRetentionRule = value; } /// <summary>Internal Acessors for ExtendedRetentionRuleSecondExtendedRetentionRule</summary> Commvault.Powershell.Models.IPlanRetentionRule Commvault.Powershell.Models.IUpdatePlanBackupDestinationDetailsInternal.ExtendedRetentionRuleSecondExtendedRetentionRule { get => ((Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).ExtendedRetentionRuleSecondExtendedRetentionRule; set => ((Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).ExtendedRetentionRuleSecondExtendedRetentionRule = value; } /// <summary>Internal Acessors for ExtendedRetentionRuleThirdExtendedRetentionRule</summary> Commvault.Powershell.Models.IPlanRetentionRule Commvault.Powershell.Models.IUpdatePlanBackupDestinationDetailsInternal.ExtendedRetentionRuleThirdExtendedRetentionRule { get => ((Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).ExtendedRetentionRuleThirdExtendedRetentionRule; set => ((Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).ExtendedRetentionRuleThirdExtendedRetentionRule = value; } /// <summary>Internal Acessors for General</summary> Commvault.Powershell.Models.IPlanBackupDestinationGeneralInfoUpdate Commvault.Powershell.Models.IUpdatePlanBackupDestinationDetailsInternal.General { get => (this._general = this._general ?? new Commvault.Powershell.Models.PlanBackupDestinationGeneralInfoUpdate()); set { {_general = value;} } } /// <summary>Internal Acessors for GeneralSource</summary> Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.IUpdatePlanBackupDestinationDetailsInternal.GeneralSource { get => ((Commvault.Powershell.Models.IPlanBackupDestinationGeneralInfoUpdateInternal)General).Source; set => ((Commvault.Powershell.Models.IPlanBackupDestinationGeneralInfoUpdateInternal)General).Source = value; } /// <summary>Internal Acessors for RetentionRuleExtendedRetentionRules</summary> Commvault.Powershell.Models.IExtendedRetentionRules Commvault.Powershell.Models.IUpdatePlanBackupDestinationDetailsInternal.RetentionRuleExtendedRetentionRules { get => ((Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).ExtendedRetentionRules; set => ((Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).ExtendedRetentionRules = value; } /// <summary>Internal Acessors for RetentionRules</summary> Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfo Commvault.Powershell.Models.IUpdatePlanBackupDestinationDetailsInternal.RetentionRules { get => (this._retentionRules = this._retentionRules ?? new Commvault.Powershell.Models.PlanBackupDestinationRetentionRuleInfo()); set { {_retentionRules = value;} } } /// <summary>Internal Acessors for SnapOptions</summary> Commvault.Powershell.Models.IPlanBackupDestinationSnapOptions Commvault.Powershell.Models.IUpdatePlanBackupDestinationDetailsInternal.SnapOptions { get => (this._snapOptions = this._snapOptions ?? new Commvault.Powershell.Models.PlanBackupDestinationSnapOptions()); set { {_snapOptions = value;} } } /// <summary>Tells if we need to force kill jobs and promote copy after waiting.</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public bool? CopyPromotionOptionForceKill { get => ((Commvault.Powershell.Models.IPlanBackupDestinationCopyPromotionInfoInternal)CopyPromotionOptions).ForceKill; set => ((Commvault.Powershell.Models.IPlanBackupDestinationCopyPromotionInfoInternal)CopyPromotionOptions).ForceKill = value ?? default(bool); } /// <summary> /// Tells the number of hours to wait before failing/killing jobs for copy promotion /// </summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public long? CopyPromotionOptionHours { get => ((Commvault.Powershell.Models.IPlanBackupDestinationCopyPromotionInfoInternal)CopyPromotionOptions).Hours; set => ((Commvault.Powershell.Models.IPlanBackupDestinationCopyPromotionInfoInternal)CopyPromotionOptions).Hours = value ?? default(long); } /// <summary>Tells if the copy has to be promoted immediately.</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public bool? CopyPromotionOptionImmediate { get => ((Commvault.Powershell.Models.IPlanBackupDestinationCopyPromotionInfoInternal)CopyPromotionOptions).Immediate; set => ((Commvault.Powershell.Models.IPlanBackupDestinationCopyPromotionInfoInternal)CopyPromotionOptions).Immediate = value ?? default(bool); } /// <summary>Tells if copy promotion needs to wait for running jobs</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public bool? CopyPromotionOptionWaitForRunningJobs { get => ((Commvault.Powershell.Models.IPlanBackupDestinationCopyPromotionInfoInternal)CopyPromotionOptions).WaitForRunningJobs; set => ((Commvault.Powershell.Models.IPlanBackupDestinationCopyPromotionInfoInternal)CopyPromotionOptions).WaitForRunningJobs = value ?? default(bool); } /// <summary>Tells if copy promotion needs to wait for synchronization of copies.</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public bool? CopyPromotionOptionWaitForSynchronize { get => ((Commvault.Powershell.Models.IPlanBackupDestinationCopyPromotionInfoInternal)CopyPromotionOptions).WaitForSynchronize; set => ((Commvault.Powershell.Models.IPlanBackupDestinationCopyPromotionInfoInternal)CopyPromotionOptions).WaitForSynchronize = value ?? default(bool); } /// <summary>Backing field for <see cref="CopyPromotionOptions" /> property.</summary> private Commvault.Powershell.Models.IPlanBackupDestinationCopyPromotionInfo _copyPromotionOptions; [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] internal Commvault.Powershell.Models.IPlanBackupDestinationCopyPromotionInfo CopyPromotionOptions { get => (this._copyPromotionOptions = this._copyPromotionOptions ?? new Commvault.Powershell.Models.PlanBackupDestinationCopyPromotionInfo()); set => this._copyPromotionOptions = 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.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).FirstExtendedRetentionRuleIsInfiniteRetention; set => ((Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).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.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).FirstExtendedRetentionRuleRetentionPeriodDays; set => ((Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).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.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).FirstExtendedRetentionRuleType; set => ((Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).FirstExtendedRetentionRuleType = value ?? null; } /// <summary>Backing field for <see cref="General" /> property.</summary> private Commvault.Powershell.Models.IPlanBackupDestinationGeneralInfoUpdate _general; [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] internal Commvault.Powershell.Models.IPlanBackupDestinationGeneralInfoUpdate General { get => (this._general = this._general ?? new Commvault.Powershell.Models.PlanBackupDestinationGeneralInfoUpdate()); set => this._general = value; } /// <summary> /// Toggle to enable compliance lock on backup destination. One time operation, once enabled cannot be disabled and if it /// is enabled retention on backup destination cannot be lowered. /// </summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public bool? GeneralComplianceLock { get => ((Commvault.Powershell.Models.IPlanBackupDestinationGeneralInfoUpdateInternal)General).ComplianceLock; set => ((Commvault.Powershell.Models.IPlanBackupDestinationGeneralInfoUpdateInternal)General).ComplianceLock = value ?? default(bool); } /// <summary>Toggle to keep backup destination active</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public bool? GeneralIsActive { get => ((Commvault.Powershell.Models.IPlanBackupDestinationGeneralInfoUpdateInternal)General).IsActive; set => ((Commvault.Powershell.Models.IPlanBackupDestinationGeneralInfoUpdateInternal)General).IsActive = value ?? default(bool); } /// <summary>Toggle to enable immutable snap for snap copy</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public bool? GeneralIsImmutableSnapCopy { get => ((Commvault.Powershell.Models.IPlanBackupDestinationGeneralInfoUpdateInternal)General).IsImmutableSnapCopy; set => ((Commvault.Powershell.Models.IPlanBackupDestinationGeneralInfoUpdateInternal)General).IsImmutableSnapCopy = value ?? default(bool); } /// <summary>Backing field for <see cref="Mappings" /> property.</summary> private System.Collections.Generic.List<Commvault.Powershell.Models.ISnapshotCopyMapping> _mappings; [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] public System.Collections.Generic.List<Commvault.Powershell.Models.ISnapshotCopyMapping> Mappings { get => this._mappings; set => this._mappings = value; } /// <summary>Backing field for <see cref="NewName" /> property.</summary> private string _newName; /// <summary>New name for backup destination</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] public string NewName { get => this._newName; set => this._newName = value; } /// <summary>Tells if this copy has data aging enabled</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public bool? RetentionRuleEnableDataAging { get => ((Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).EnableDataAging; set => ((Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).EnableDataAging = value ?? default(bool); } /// <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.Inlined)] public string RetentionRuleFullBackupTypesToBeRetained { get => ((Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).FullBackupTypesToBeRetained; set => ((Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).FullBackupTypesToBeRetained = value ?? null; } /// <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.Inlined)] public bool? RetentionRuleOverrideRetentionSettings { get => ((Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).OverrideRetentionSettings; set => ((Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).OverrideRetentionSettings = value ?? default(bool); } /// <summary>Retention period in days</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public long? RetentionRuleRetentionPeriodDays { get => ((Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).RetentionPeriodDays; set => ((Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).RetentionPeriodDays = value ?? default(long); } /// <summary>Number of snap recovery points for snap copy for retention</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public long? RetentionRuleSnapRecoveryPoints { get => ((Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).SnapRecoveryPoints; set => ((Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).SnapRecoveryPoints = value ?? default(long); } /// <summary>Which type of retention rule should be used for the given backup destination</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public string RetentionRuleType { get => ((Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).RetentionRuleType; set => ((Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).RetentionRuleType = value ?? null; } /// <summary>Should extended retention rules be used</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public bool? RetentionRuleUseExtendedRetentionRules { get => ((Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).UseExtendedRetentionRules; set => ((Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).UseExtendedRetentionRules = value ?? default(bool); } /// <summary>Backing field for <see cref="RetentionRules" /> property.</summary> private Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfo _retentionRules; [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] internal Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfo RetentionRules { get => (this._retentionRules = this._retentionRules ?? new Commvault.Powershell.Models.PlanBackupDestinationRetentionRuleInfo()); set => this._retentionRules = 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.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).SecondExtendedRetentionRuleIsInfiniteRetention; set => ((Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).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.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).SecondExtendedRetentionRuleRetentionPeriodDays; set => ((Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).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.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).SecondExtendedRetentionRuleType; set => ((Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).SecondExtendedRetentionRuleType = value ?? null; } /// <summary>Is this the source snap copy for backup copy operations?</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public bool? SnapOptionIsSourceBackupCopy { get => ((Commvault.Powershell.Models.IPlanBackupDestinationSnapOptionsInternal)SnapOptions).IsSourceBackupCopy; set => ((Commvault.Powershell.Models.IPlanBackupDestinationSnapOptionsInternal)SnapOptions).IsSourceBackupCopy = value ?? default(bool); } /// <summary>Backing field for <see cref="SnapOptions" /> property.</summary> private Commvault.Powershell.Models.IPlanBackupDestinationSnapOptions _snapOptions; [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] internal Commvault.Powershell.Models.IPlanBackupDestinationSnapOptions SnapOptions { get => (this._snapOptions = this._snapOptions ?? new Commvault.Powershell.Models.PlanBackupDestinationSnapOptions()); set => this._snapOptions = value; } [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public long? SourceId { get => ((Commvault.Powershell.Models.IPlanBackupDestinationGeneralInfoUpdateInternal)General).SourceId; set => ((Commvault.Powershell.Models.IPlanBackupDestinationGeneralInfoUpdateInternal)General).SourceId = value ?? default(long); } [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public string SourceName { get => ((Commvault.Powershell.Models.IPlanBackupDestinationGeneralInfoUpdateInternal)General).SourceName; set => ((Commvault.Powershell.Models.IPlanBackupDestinationGeneralInfoUpdateInternal)General).SourceName = value ?? null; } /// <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.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).ThirdExtendedRetentionRuleIsInfiniteRetention; set => ((Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).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.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).ThirdExtendedRetentionRuleRetentionPeriodDays; set => ((Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).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.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).ThirdExtendedRetentionRuleType; set => ((Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfoInternal)RetentionRules).ThirdExtendedRetentionRuleType = value ?? null; } /// <summary>Creates an new <see cref="UpdatePlanBackupDestinationDetails" /> instance.</summary> public UpdatePlanBackupDestinationDetails() { } } public partial interface IUpdatePlanBackupDestinationDetails : Commvault.Powershell.Runtime.IJsonSerializable { /// <summary> /// Tells what start date, backup types should be copied from. The date is provided in unix time format in number of seconds. /// -1 means initial backup date. /// </summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Read = true, Create = true, Update = true, Description = @"Tells what start date, backup types should be copied from. The date is provided in unix time format in number of seconds. -1 means initial backup date.", SerializedName = @"backupTypesCopiedFrom", PossibleTypes = new [] { typeof(long) })] long? BackupTypeBackupTypesCopiedFrom { 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, Read = true, Create = true, Update = true, Description = @"All_JOBS means SYNCHRONOUS copy type, others are applicable for SELECTIVE copy Type only.", SerializedName = @"backupTypesToCopy", PossibleTypes = new [] { typeof(string) })] string BackupTypeBackupTypesToCopy { 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, Read = true, Create = true, Update = true, 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 BackupTypeFullBackupTypesToCopy { get; set; } /// <summary>Tells if we need to force kill jobs and promote copy after waiting.</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Read = true, Create = true, Update = true, Description = @"Tells if we need to force kill jobs and promote copy after waiting.", SerializedName = @"forceKill", PossibleTypes = new [] { typeof(bool) })] bool? CopyPromotionOptionForceKill { get; set; } /// <summary> /// Tells the number of hours to wait before failing/killing jobs for copy promotion /// </summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Read = true, Create = true, Update = true, Description = @"Tells the number of hours to wait before failing/killing jobs for copy promotion", SerializedName = @"hours", PossibleTypes = new [] { typeof(long) })] long? CopyPromotionOptionHours { get; set; } /// <summary>Tells if the copy has to be promoted immediately.</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Read = true, Create = true, Update = true, Description = @"Tells if the copy has to be promoted immediately.", SerializedName = @"immediate", PossibleTypes = new [] { typeof(bool) })] bool? CopyPromotionOptionImmediate { get; set; } /// <summary>Tells if copy promotion needs to wait for running jobs</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Read = true, Create = true, Update = true, Description = @"Tells if copy promotion needs to wait for running jobs", SerializedName = @"waitForRunningJobs", PossibleTypes = new [] { typeof(bool) })] bool? CopyPromotionOptionWaitForRunningJobs { get; set; } /// <summary>Tells if copy promotion needs to wait for synchronization of copies.</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Read = true, Create = true, Update = true, Description = @"Tells if copy promotion needs to wait for synchronization of copies.", SerializedName = @"waitForSynchronize", PossibleTypes = new [] { typeof(bool) })] bool? CopyPromotionOptionWaitForSynchronize { get; set; } /// <summary>If this is set as true, no need to specify retentionPeriodDays.</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Read = true, Create = true, Update = true, 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, Read = true, Create = true, Update = true, 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, Read = true, Create = true, Update = true, 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> /// Toggle to enable compliance lock on backup destination. One time operation, once enabled cannot be disabled and if it /// is enabled retention on backup destination cannot be lowered. /// </summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Read = true, Create = true, Update = true, Description = @"Toggle to enable compliance lock on backup destination. One time operation, once enabled cannot be disabled and if it is enabled retention on backup destination cannot be lowered.", SerializedName = @"complianceLock", PossibleTypes = new [] { typeof(bool) })] bool? GeneralComplianceLock { get; set; } /// <summary>Toggle to keep backup destination active</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Read = true, Create = true, Update = true, Description = @"Toggle to keep backup destination active", SerializedName = @"isActive", PossibleTypes = new [] { typeof(bool) })] bool? GeneralIsActive { get; set; } /// <summary>Toggle to enable immutable snap for snap copy</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Read = true, Create = true, Update = true, Description = @"Toggle to enable immutable snap for snap copy", SerializedName = @"isImmutableSnapCopy", PossibleTypes = new [] { typeof(bool) })] bool? GeneralIsImmutableSnapCopy { get; set; } [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Read = true, Create = true, Update = true, Description = @"", SerializedName = @"mappings", PossibleTypes = new [] { typeof(Commvault.Powershell.Models.ISnapshotCopyMapping) })] System.Collections.Generic.List<Commvault.Powershell.Models.ISnapshotCopyMapping> Mappings { get; set; } /// <summary>New name for backup destination</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Read = true, Create = true, Update = true, Description = @"New name for backup destination", SerializedName = @"newName", PossibleTypes = new [] { typeof(string) })] string NewName { get; set; } /// <summary>Tells if this copy has data aging enabled</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Read = true, Create = true, Update = true, Description = @"Tells if this copy has data aging enabled", SerializedName = @"enableDataAging", PossibleTypes = new [] { typeof(bool) })] bool? RetentionRuleEnableDataAging { 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, Read = true, Create = true, Update = true, 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 = @"fullBackupTypesToBeRetained", PossibleTypes = new [] { typeof(string) })] string RetentionRuleFullBackupTypesToBeRetained { 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, Read = true, Create = true, Update = true, 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? RetentionRuleOverrideRetentionSettings { get; set; } /// <summary>Retention period in days</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Read = true, Create = true, Update = true, Description = @"Retention period in days", SerializedName = @"retentionPeriodDays", PossibleTypes = new [] { typeof(long) })] long? RetentionRuleRetentionPeriodDays { get; set; } /// <summary>Number of snap recovery points for snap copy for retention</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Read = true, Create = true, Update = true, Description = @"Number of snap recovery points for snap copy for retention", SerializedName = @"snapRecoveryPoints", PossibleTypes = new [] { typeof(long) })] long? RetentionRuleSnapRecoveryPoints { 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, Read = true, Create = true, Update = true, 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>Should extended retention rules be used</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Read = true, Create = true, Update = true, Description = @"Should extended retention rules be used", SerializedName = @"useExtendedRetentionRules", PossibleTypes = new [] { typeof(bool) })] bool? RetentionRuleUseExtendedRetentionRules { get; set; } /// <summary>If this is set as true, no need to specify retentionPeriodDays.</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Read = true, Create = true, Update = true, 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, Read = true, Create = true, Update = true, 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, Read = true, Create = true, Update = true, 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>Is this the source snap copy for backup copy operations?</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Read = true, Create = true, Update = true, Description = @"Is this the source snap copy for backup copy operations?", SerializedName = @"isSourceBackupCopy", PossibleTypes = new [] { typeof(bool) })] bool? SnapOptionIsSourceBackupCopy { get; set; } [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Read = true, Create = true, Update = true, Description = @"", SerializedName = @"id", PossibleTypes = new [] { typeof(long) })] long? SourceId { get; set; } [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Read = true, Create = true, Update = true, Description = @"", SerializedName = @"name", PossibleTypes = new [] { typeof(string) })] string SourceName { get; set; } /// <summary>If this is set as true, no need to specify retentionPeriodDays.</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Read = true, Create = true, Update = true, 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, Read = true, Create = true, Update = true, 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, Read = true, Create = true, Update = true, 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; } } internal partial interface IUpdatePlanBackupDestinationDetailsInternal { Commvault.Powershell.Models.IPlanBackupDestinationBackupTypeInfo BackupType { get; set; } /// <summary> /// Tells what start date, backup types should be copied from. The date is provided in unix time format in number of seconds. /// -1 means initial backup date. /// </summary> long? BackupTypeBackupTypesCopiedFrom { get; set; } /// <summary> /// All_JOBS means SYNCHRONOUS copy type, others are applicable for SELECTIVE copy Type only. /// </summary> string BackupTypeBackupTypesToCopy { 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 BackupTypeFullBackupTypesToCopy { get; set; } /// <summary>Tells if we need to force kill jobs and promote copy after waiting.</summary> bool? CopyPromotionOptionForceKill { get; set; } /// <summary> /// Tells the number of hours to wait before failing/killing jobs for copy promotion /// </summary> long? CopyPromotionOptionHours { get; set; } /// <summary>Tells if the copy has to be promoted immediately.</summary> bool? CopyPromotionOptionImmediate { get; set; } /// <summary>Tells if copy promotion needs to wait for running jobs</summary> bool? CopyPromotionOptionWaitForRunningJobs { get; set; } /// <summary>Tells if copy promotion needs to wait for synchronization of copies.</summary> bool? CopyPromotionOptionWaitForSynchronize { get; set; } Commvault.Powershell.Models.IPlanBackupDestinationCopyPromotionInfo CopyPromotionOptions { 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 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; } Commvault.Powershell.Models.IPlanBackupDestinationGeneralInfoUpdate General { get; set; } /// <summary> /// Toggle to enable compliance lock on backup destination. One time operation, once enabled cannot be disabled and if it /// is enabled retention on backup destination cannot be lowered. /// </summary> bool? GeneralComplianceLock { get; set; } /// <summary>Toggle to keep backup destination active</summary> bool? GeneralIsActive { get; set; } /// <summary>Toggle to enable immutable snap for snap copy</summary> bool? GeneralIsImmutableSnapCopy { get; set; } Commvault.Powershell.Models.IIdName GeneralSource { get; set; } System.Collections.Generic.List<Commvault.Powershell.Models.ISnapshotCopyMapping> Mappings { get; set; } /// <summary>New name for backup destination</summary> string NewName { get; set; } /// <summary>Tells if this copy has data aging enabled</summary> bool? RetentionRuleEnableDataAging { 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 RetentionRuleExtendedRetentionRules { 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 RetentionRuleFullBackupTypesToBeRetained { 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? RetentionRuleOverrideRetentionSettings { get; set; } /// <summary>Retention period in days</summary> long? RetentionRuleRetentionPeriodDays { get; set; } /// <summary>Number of snap recovery points for snap copy for retention</summary> long? RetentionRuleSnapRecoveryPoints { get; set; } /// <summary>Which type of retention rule should be used for the given backup destination</summary> string RetentionRuleType { get; set; } /// <summary>Should extended retention rules be used</summary> bool? RetentionRuleUseExtendedRetentionRules { get; set; } Commvault.Powershell.Models.IPlanBackupDestinationRetentionRuleInfo RetentionRules { 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>Is this the source snap copy for backup copy operations?</summary> bool? SnapOptionIsSourceBackupCopy { get; set; } Commvault.Powershell.Models.IPlanBackupDestinationSnapOptions SnapOptions { get; set; } long? SourceId { get; set; } string SourceName { 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; } } } |