generated/api/Models/ArchivePlan.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 ArchivePlan : Commvault.Powershell.Models.IArchivePlan, Commvault.Powershell.Models.IArchivePlanInternal { /// <summary>Backing field for <see cref="AllowPlanOverride" /> property.</summary> private bool? _allowPlanOverride; /// <summary>Flag to enable overriding of plan. Plan cannot be overriden by default.</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] public bool? AllowPlanOverride { get => this._allowPlanOverride; set => this._allowPlanOverride = value; } /// <summary> /// Frequency of the schedule based on schedule frequency type eg. for Hours, value 2 is 2 hours, for Minutes, 30 is 30 minutes, /// for Daily, 2 is 2 days. for Monthly 2 is it repeats every 2 months /// </summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public long? ArchiveFrequency { get => ((Commvault.Powershell.Models.IArchivePlanRpoInternal)Rpo).ArchiveFrequencyFrequency; set => ((Commvault.Powershell.Models.IArchivePlanRpoInternal)Rpo).ArchiveFrequencyFrequency = value ?? default(long); } /// <summary>Day on which to run the schedule, applicable for monthly, yearly</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public long? ArchiveFrequencyDayOfMonth { get => ((Commvault.Powershell.Models.IArchivePlanRpoInternal)Rpo).ArchiveFrequencyDayOfMonth; set => ((Commvault.Powershell.Models.IArchivePlanRpoInternal)Rpo).ArchiveFrequencyDayOfMonth = value ?? default(long); } [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public string ArchiveFrequencyDayOfWeek { get => ((Commvault.Powershell.Models.IArchivePlanRpoInternal)Rpo).ArchiveFrequencyDayOfWeek; set => ((Commvault.Powershell.Models.IArchivePlanRpoInternal)Rpo).ArchiveFrequencyDayOfWeek = value ?? null; } [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public string ArchiveFrequencyMonthOfYear { get => ((Commvault.Powershell.Models.IArchivePlanRpoInternal)Rpo).ArchiveFrequencyMonthOfYear; set => ((Commvault.Powershell.Models.IArchivePlanRpoInternal)Rpo).ArchiveFrequencyMonthOfYear = value ?? null; } /// <summary>schedule frequency type</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public string ArchiveFrequencyScheduleFrequencyType { get => ((Commvault.Powershell.Models.IArchivePlanRpoInternal)Rpo).ArchiveFrequencyScheduleFrequencyType; set => ((Commvault.Powershell.Models.IArchivePlanRpoInternal)Rpo).ArchiveFrequencyScheduleFrequencyType = value ?? null; } /// <summary>start time of schedule in seconds for daily, weekly, monthly, yearly frequency</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public long? ArchiveFrequencyStartTime { get => ((Commvault.Powershell.Models.IArchivePlanRpoInternal)Rpo).ArchiveFrequencyStartTime; set => ((Commvault.Powershell.Models.IArchivePlanRpoInternal)Rpo).ArchiveFrequencyStartTime = value ?? default(long); } /// <summary>Specific week of a month</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public string ArchiveFrequencyWeekOfMonth { get => ((Commvault.Powershell.Models.IArchivePlanRpoInternal)Rpo).ArchiveFrequencyWeekOfMonth; set => ((Commvault.Powershell.Models.IArchivePlanRpoInternal)Rpo).ArchiveFrequencyWeekOfMonth = value ?? null; } /// <summary>Days of the week for weekly frequency</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public string[] ArchiveFrequencyWeeklyDays { get => ((Commvault.Powershell.Models.IArchivePlanRpoInternal)Rpo).ArchiveFrequencyWeeklyDays; set => ((Commvault.Powershell.Models.IArchivePlanRpoInternal)Rpo).ArchiveFrequencyWeeklyDays = value ?? null /* arrayOf */; } /// <summary> /// After an archive job, replace the file that meets the archiving rules with a stub or delete the file that meets the archiving /// rules /// </summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public string ArchivingRuleAfterArchiving { get => ((Commvault.Powershell.Models.IArchivePlanArchivingRulesInternal)ArchivingRules).AfterArchiving; set => ((Commvault.Powershell.Models.IArchivePlanArchivingRulesInternal)ArchivingRules).AfterArchiving = value ?? null; } /// <summary> /// To archive files based on the size of the file, specify the minimum file size in KB. /// </summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public long? ArchivingRuleFileSize { get => ((Commvault.Powershell.Models.IArchivePlanArchivingRulesInternal)ArchivingRules).FileSize; set => ((Commvault.Powershell.Models.IArchivePlanArchivingRulesInternal)ArchivingRules).FileSize = value ?? default(long); } /// <summary> /// To archive files based on the last accessed or modified date of each file within the folder, specify the number of days. /// Should be supplied with fileTimestampMethod. /// </summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public long? ArchivingRuleFileTimestamp { get => ((Commvault.Powershell.Models.IArchivePlanArchivingRulesInternal)ArchivingRules).FileTimestamp; set => ((Commvault.Powershell.Models.IArchivePlanArchivingRulesInternal)ArchivingRules).FileTimestamp = value ?? default(long); } [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public string ArchivingRuleFileTimestampMethod { get => ((Commvault.Powershell.Models.IArchivePlanArchivingRulesInternal)ArchivingRules).FileTimestampMethod; set => ((Commvault.Powershell.Models.IArchivePlanArchivingRulesInternal)ArchivingRules).FileTimestampMethod = value ?? null; } /// <summary>Backing field for <see cref="ArchivingRules" /> property.</summary> private Commvault.Powershell.Models.IArchivePlanArchivingRules _archivingRules; /// <summary>Files which meet both time stamp and file size rules will be archived</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] internal Commvault.Powershell.Models.IArchivePlanArchivingRules ArchivingRules { get => (this._archivingRules = this._archivingRules ?? new Commvault.Powershell.Models.ArchivePlanArchivingRules()); set => this._archivingRules = value; } /// <summary>Backing field for <see cref="BackupDestinations" /> property.</summary> private Commvault.Powershell.Models.ICreateArchivePlanBackupDestination[] _backupDestinations; [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] public Commvault.Powershell.Models.ICreateArchivePlanBackupDestination[] BackupDestinations { get => this._backupDestinations; set => this._backupDestinations = value; } /// <summary>Internal Acessors for ArchivingRules</summary> Commvault.Powershell.Models.IArchivePlanArchivingRules Commvault.Powershell.Models.IArchivePlanInternal.ArchivingRules { get => (this._archivingRules = this._archivingRules ?? new Commvault.Powershell.Models.ArchivePlanArchivingRules()); set { {_archivingRules = value;} } } /// <summary>Internal Acessors for OverrideRestrictions</summary> Commvault.Powershell.Models.IArchivePlanOverrideSettings Commvault.Powershell.Models.IArchivePlanInternal.OverrideRestrictions { get => (this._overrideRestrictions = this._overrideRestrictions ?? new Commvault.Powershell.Models.ArchivePlanOverrideSettings()); set { {_overrideRestrictions = value;} } } /// <summary>Internal Acessors for ParentPlan</summary> Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.IArchivePlanInternal.ParentPlan { get => (this._parentPlan = this._parentPlan ?? new Commvault.Powershell.Models.IdName()); set { {_parentPlan = value;} } } /// <summary>Internal Acessors for Rpo</summary> Commvault.Powershell.Models.IArchivePlanRpo Commvault.Powershell.Models.IArchivePlanInternal.Rpo { get => (this._rpo = this._rpo ?? new Commvault.Powershell.Models.ArchivePlanRpo()); set { {_rpo = value;} } } /// <summary>Internal Acessors for RpoArchiveFrequency</summary> Commvault.Powershell.Models.IBackupFrequencyPattern Commvault.Powershell.Models.IArchivePlanInternal.RpoArchiveFrequency { get => ((Commvault.Powershell.Models.IArchivePlanRpoInternal)Rpo).ArchiveFrequency; set => ((Commvault.Powershell.Models.IArchivePlanRpoInternal)Rpo).ArchiveFrequency = value; } [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public string OverrideRestrictionArchivingRules { get => ((Commvault.Powershell.Models.IArchivePlanOverrideSettingsInternal)OverrideRestrictions).ArchivingRules; set => ((Commvault.Powershell.Models.IArchivePlanOverrideSettingsInternal)OverrideRestrictions).ArchivingRules = value ?? null; } [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public string OverrideRestrictionRpo { get => ((Commvault.Powershell.Models.IArchivePlanOverrideSettingsInternal)OverrideRestrictions).Rpo; set => ((Commvault.Powershell.Models.IArchivePlanOverrideSettingsInternal)OverrideRestrictions).Rpo = value ?? null; } [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public string OverrideRestrictionStoragePool { get => ((Commvault.Powershell.Models.IArchivePlanOverrideSettingsInternal)OverrideRestrictions).StoragePool; set => ((Commvault.Powershell.Models.IArchivePlanOverrideSettingsInternal)OverrideRestrictions).StoragePool = value ?? null; } /// <summary>Backing field for <see cref="OverrideRestrictions" /> property.</summary> private Commvault.Powershell.Models.IArchivePlanOverrideSettings _overrideRestrictions; /// <summary> /// To allow the derived plans that use this plan as the base plan to override the settings, property allowPlanOverride must /// be true, and then select one of the options for Storage pool, RPO and Archiving rules. /// </summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] internal Commvault.Powershell.Models.IArchivePlanOverrideSettings OverrideRestrictions { get => (this._overrideRestrictions = this._overrideRestrictions ?? new Commvault.Powershell.Models.ArchivePlanOverrideSettings()); set => this._overrideRestrictions = value; } /// <summary>Backing field for <see cref="ParentPlan" /> property.</summary> private Commvault.Powershell.Models.IIdName _parentPlan; [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] internal Commvault.Powershell.Models.IIdName ParentPlan { get => (this._parentPlan = this._parentPlan ?? new Commvault.Powershell.Models.IdName()); set => this._parentPlan = value; } [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public long? ParentPlanId { get => ((Commvault.Powershell.Models.IIdNameInternal)ParentPlan).Id; set => ((Commvault.Powershell.Models.IIdNameInternal)ParentPlan).Id = value ?? default(long); } [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public string ParentPlanName { get => ((Commvault.Powershell.Models.IIdNameInternal)ParentPlan).Name; set => ((Commvault.Powershell.Models.IIdNameInternal)ParentPlan).Name = value ?? null; } /// <summary>Backing field for <see cref="PlanName" /> property.</summary> private string _planName; [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] public string PlanName { get => this._planName; set => this._planName = value; } /// <summary>Backing field for <see cref="Rpo" /> property.</summary> private Commvault.Powershell.Models.IArchivePlanRpo _rpo; /// <summary> /// Recovery Point Objective (RPO) is the maximum amount of time that data can be lost during a service disruption. Your RPO /// determines the frequency of your backup jobs. /// </summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] internal Commvault.Powershell.Models.IArchivePlanRpo Rpo { get => (this._rpo = this._rpo ?? new Commvault.Powershell.Models.ArchivePlanRpo()); set => this._rpo = value; } /// <summary>Archive job will run only in the specified archive window</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public Commvault.Powershell.Models.IDayAndTime[] RpoArchiveWindow { get => ((Commvault.Powershell.Models.IArchivePlanRpoInternal)Rpo).ArchiveWindow; set => ((Commvault.Powershell.Models.IArchivePlanRpoInternal)Rpo).ArchiveWindow = value ?? null /* arrayOf */; } /// <summary>Creates an new <see cref="ArchivePlan" /> instance.</summary> public ArchivePlan() { } } public partial interface IArchivePlan : Commvault.Powershell.Runtime.IJsonSerializable { /// <summary>Flag to enable overriding of plan. Plan cannot be overriden by default.</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"Flag to enable overriding of plan. Plan cannot be overriden by default.", SerializedName = @"allowPlanOverride", PossibleTypes = new [] { typeof(bool) })] bool? AllowPlanOverride { get; set; } /// <summary> /// Frequency of the schedule based on schedule frequency type eg. for Hours, value 2 is 2 hours, for Minutes, 30 is 30 minutes, /// for Daily, 2 is 2 days. for Monthly 2 is it repeats every 2 months /// </summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"Frequency of the schedule based on schedule frequency type eg. for Hours, value 2 is 2 hours, for Minutes, 30 is 30 minutes, for Daily, 2 is 2 days. for Monthly 2 is it repeats every 2 months", SerializedName = @"frequency", PossibleTypes = new [] { typeof(long) })] long? ArchiveFrequency { get; set; } /// <summary>Day on which to run the schedule, applicable for monthly, yearly</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"Day on which to run the schedule, applicable for monthly, yearly", SerializedName = @"dayOfMonth", PossibleTypes = new [] { typeof(long) })] long? ArchiveFrequencyDayOfMonth { get; set; } [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"", SerializedName = @"dayOfWeek", PossibleTypes = new [] { typeof(string) })] string ArchiveFrequencyDayOfWeek { get; set; } [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"", SerializedName = @"monthOfYear", PossibleTypes = new [] { typeof(string) })] string ArchiveFrequencyMonthOfYear { get; set; } /// <summary>schedule frequency type</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"schedule frequency type", SerializedName = @"scheduleFrequencyType", PossibleTypes = new [] { typeof(string) })] string ArchiveFrequencyScheduleFrequencyType { get; set; } /// <summary>start time of schedule in seconds for daily, weekly, monthly, yearly frequency</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"start time of schedule in seconds for daily, weekly, monthly, yearly frequency", SerializedName = @"startTime", PossibleTypes = new [] { typeof(long) })] long? ArchiveFrequencyStartTime { get; set; } /// <summary>Specific week of a month</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"Specific week of a month", SerializedName = @"weekOfMonth", PossibleTypes = new [] { typeof(string) })] string ArchiveFrequencyWeekOfMonth { get; set; } /// <summary>Days of the week for weekly frequency</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"Days of the week for weekly frequency", SerializedName = @"weeklyDays", PossibleTypes = new [] { typeof(string) })] string[] ArchiveFrequencyWeeklyDays { get; set; } /// <summary> /// After an archive job, replace the file that meets the archiving rules with a stub or delete the file that meets the archiving /// rules /// </summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"After an archive job, replace the file that meets the archiving rules with a stub or delete the file that meets the archiving rules", SerializedName = @"afterArchiving", PossibleTypes = new [] { typeof(string) })] string ArchivingRuleAfterArchiving { get; set; } /// <summary> /// To archive files based on the size of the file, specify the minimum file size in KB. /// </summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"To archive files based on the size of the file, specify the minimum file size in KB.", SerializedName = @"fileSize", PossibleTypes = new [] { typeof(long) })] long? ArchivingRuleFileSize { get; set; } /// <summary> /// To archive files based on the last accessed or modified date of each file within the folder, specify the number of days. /// Should be supplied with fileTimestampMethod. /// </summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"To archive files based on the last accessed or modified date of each file within the folder, specify the number of days. Should be supplied with fileTimestampMethod.", SerializedName = @"fileTimestamp", PossibleTypes = new [] { typeof(long) })] long? ArchivingRuleFileTimestamp { get; set; } [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"", SerializedName = @"fileTimestampMethod", PossibleTypes = new [] { typeof(string) })] string ArchivingRuleFileTimestampMethod { get; set; } [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"", SerializedName = @"backupDestinations", PossibleTypes = new [] { typeof(Commvault.Powershell.Models.ICreateArchivePlanBackupDestination) })] Commvault.Powershell.Models.ICreateArchivePlanBackupDestination[] BackupDestinations { get; set; } [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"", SerializedName = @"archivingRules", PossibleTypes = new [] { typeof(string) })] string OverrideRestrictionArchivingRules { get; set; } [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"", SerializedName = @"RPO", PossibleTypes = new [] { typeof(string) })] string OverrideRestrictionRpo { get; set; } [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"", SerializedName = @"storagePool", PossibleTypes = new [] { typeof(string) })] string OverrideRestrictionStoragePool { get; set; } [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"", SerializedName = @"id", PossibleTypes = new [] { typeof(long) })] long? ParentPlanId { get; set; } [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"", SerializedName = @"name", PossibleTypes = new [] { typeof(string) })] string ParentPlanName { get; set; } [Commvault.Powershell.Runtime.Info( Required = true, ReadOnly = false, Description = @"", SerializedName = @"planName", PossibleTypes = new [] { typeof(string) })] string PlanName { get; set; } /// <summary>Archive job will run only in the specified archive window</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Description = @"Archive job will run only in the specified archive window", SerializedName = @"archiveWindow", PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IDayAndTime) })] Commvault.Powershell.Models.IDayAndTime[] RpoArchiveWindow { get; set; } } internal partial interface IArchivePlanInternal { /// <summary>Flag to enable overriding of plan. Plan cannot be overriden by default.</summary> bool? AllowPlanOverride { get; set; } /// <summary> /// Frequency of the schedule based on schedule frequency type eg. for Hours, value 2 is 2 hours, for Minutes, 30 is 30 minutes, /// for Daily, 2 is 2 days. for Monthly 2 is it repeats every 2 months /// </summary> long? ArchiveFrequency { get; set; } /// <summary>Day on which to run the schedule, applicable for monthly, yearly</summary> long? ArchiveFrequencyDayOfMonth { get; set; } string ArchiveFrequencyDayOfWeek { get; set; } string ArchiveFrequencyMonthOfYear { get; set; } /// <summary>schedule frequency type</summary> string ArchiveFrequencyScheduleFrequencyType { get; set; } /// <summary>start time of schedule in seconds for daily, weekly, monthly, yearly frequency</summary> long? ArchiveFrequencyStartTime { get; set; } /// <summary>Specific week of a month</summary> string ArchiveFrequencyWeekOfMonth { get; set; } /// <summary>Days of the week for weekly frequency</summary> string[] ArchiveFrequencyWeeklyDays { get; set; } /// <summary> /// After an archive job, replace the file that meets the archiving rules with a stub or delete the file that meets the archiving /// rules /// </summary> string ArchivingRuleAfterArchiving { get; set; } /// <summary> /// To archive files based on the size of the file, specify the minimum file size in KB. /// </summary> long? ArchivingRuleFileSize { get; set; } /// <summary> /// To archive files based on the last accessed or modified date of each file within the folder, specify the number of days. /// Should be supplied with fileTimestampMethod. /// </summary> long? ArchivingRuleFileTimestamp { get; set; } string ArchivingRuleFileTimestampMethod { get; set; } /// <summary>Files which meet both time stamp and file size rules will be archived</summary> Commvault.Powershell.Models.IArchivePlanArchivingRules ArchivingRules { get; set; } Commvault.Powershell.Models.ICreateArchivePlanBackupDestination[] BackupDestinations { get; set; } string OverrideRestrictionArchivingRules { get; set; } string OverrideRestrictionRpo { get; set; } string OverrideRestrictionStoragePool { get; set; } /// <summary> /// To allow the derived plans that use this plan as the base plan to override the settings, property allowPlanOverride must /// be true, and then select one of the options for Storage pool, RPO and Archiving rules. /// </summary> Commvault.Powershell.Models.IArchivePlanOverrideSettings OverrideRestrictions { get; set; } Commvault.Powershell.Models.IIdName ParentPlan { get; set; } long? ParentPlanId { get; set; } string ParentPlanName { get; set; } string PlanName { get; set; } /// <summary> /// Recovery Point Objective (RPO) is the maximum amount of time that data can be lost during a service disruption. Your RPO /// determines the frequency of your backup jobs. /// </summary> Commvault.Powershell.Models.IArchivePlanRpo Rpo { get; set; } /// <summary>Used to describe the frequency of backup</summary> Commvault.Powershell.Models.IBackupFrequencyPattern RpoArchiveFrequency { get; set; } /// <summary>Archive job will run only in the specified archive window</summary> Commvault.Powershell.Models.IDayAndTime[] RpoArchiveWindow { get; set; } } } |