generated/api/Models/PlanPattern.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;

    /// <summary>
    /// If updating pattern, the value which needs to be retained also needs to be provided along with the updated value
    /// </summary>
    public partial class PlanPattern :
        Commvault.Powershell.Models.IPlanPattern,
        Commvault.Powershell.Models.IPlanPatternInternal
    {

        /// <summary>Backing field for <see cref="DailyFrequency" /> property.</summary>
        private long? _dailyFrequency;

        /// <summary>Frequency in days</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? DailyFrequency { get => this._dailyFrequency; set => this._dailyFrequency = value; }

        /// <summary>Backing field for <see cref="HourlyFrequency" /> property.</summary>
        private long? _hourlyFrequency;

        /// <summary>
        /// Frequency in hours per day. Precedence is hourly, daily, weekly and monthly, in that order.
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? HourlyFrequency { get => this._hourlyFrequency; set => this._hourlyFrequency = value; }

        /// <summary>Backing field for <see cref="MinuteFrequency" /> property.</summary>
        private long? _minuteFrequency;

        /// <summary>Frequency in minutes</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? MinuteFrequency { get => this._minuteFrequency; set => this._minuteFrequency = value; }

        /// <summary>Backing field for <see cref="MonthlyFrequency" /> property.</summary>
        private long? _monthlyFrequency;

        /// <summary>Frequency in months. Only for incremental backup frequency.</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? MonthlyFrequency { get => this._monthlyFrequency; set => this._monthlyFrequency = value; }

        /// <summary>Backing field for <see cref="MonthlyFrequencyDayOfMonth" /> property.</summary>
        private long? _monthlyFrequencyDayOfMonth;

        /// <summary>Only available for incremental backup frequency</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? MonthlyFrequencyDayOfMonth { get => this._monthlyFrequencyDayOfMonth; set => this._monthlyFrequencyDayOfMonth = value; }

        /// <summary>Backing field for <see cref="MonthlyFrequencyDayOfWeek" /> property.</summary>
        private string _monthlyFrequencyDayOfWeek;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string MonthlyFrequencyDayOfWeek { get => this._monthlyFrequencyDayOfWeek; set => this._monthlyFrequencyDayOfWeek = value; }

        /// <summary>Backing field for <see cref="MonthlyFrequencyWeekOfMonth" /> property.</summary>
        private string _monthlyFrequencyWeekOfMonth;

        /// <summary>Specific week of a month</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string MonthlyFrequencyWeekOfMonth { get => this._monthlyFrequencyWeekOfMonth; set => this._monthlyFrequencyWeekOfMonth = value; }

        /// <summary>Backing field for <see cref="StartTime" /> property.</summary>
        private long? _startTime;

        /// <summary>
        /// Time in seconds from the beginning of the day when the backup starts. This is a mandatory field for daily, weekly, monthly,
        /// yearly frequencies
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? StartTime { get => this._startTime; set => this._startTime = value; }

        /// <summary>Backing field for <see cref="WeeklyFrequency" /> property.</summary>
        private long? _weeklyFrequency;

        /// <summary>Frequency in weeks. Only for incremental backup frequency.</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? WeeklyFrequency { get => this._weeklyFrequency; set => this._weeklyFrequency = value; }

        /// <summary>Backing field for <see cref="WeeklyFrequencyDays" /> property.</summary>
        private string[] _weeklyFrequencyDays;

        /// <summary>Days of the week for weekly frequency</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string[] WeeklyFrequencyDays { get => this._weeklyFrequencyDays; set => this._weeklyFrequencyDays = value; }

        /// <summary>Backing field for <see cref="YearlyFrequencyDayOfMonth" /> property.</summary>
        private long? _yearlyFrequencyDayOfMonth;

        /// <summary>Only available for incremental backup frequency</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? YearlyFrequencyDayOfMonth { get => this._yearlyFrequencyDayOfMonth; set => this._yearlyFrequencyDayOfMonth = value; }

        /// <summary>Backing field for <see cref="YearlyFrequencyDayOfWeek" /> property.</summary>
        private string _yearlyFrequencyDayOfWeek;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string YearlyFrequencyDayOfWeek { get => this._yearlyFrequencyDayOfWeek; set => this._yearlyFrequencyDayOfWeek = value; }

        /// <summary>Backing field for <see cref="YearlyFrequencyMonthOfYear" /> property.</summary>
        private string _yearlyFrequencyMonthOfYear;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string YearlyFrequencyMonthOfYear { get => this._yearlyFrequencyMonthOfYear; set => this._yearlyFrequencyMonthOfYear = value; }

        /// <summary>Backing field for <see cref="YearlyFrequencyWeekOfMonth" /> property.</summary>
        private string _yearlyFrequencyWeekOfMonth;

        /// <summary>Specific week of a month</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string YearlyFrequencyWeekOfMonth { get => this._yearlyFrequencyWeekOfMonth; set => this._yearlyFrequencyWeekOfMonth = value; }

        /// <summary>Creates an new <see cref="PlanPattern" /> instance.</summary>
        public PlanPattern()
        {

        }
    }
    /// If updating pattern, the value which needs to be retained also needs to be provided along with the updated value
    public partial interface IPlanPattern :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <summary>Frequency in days</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Frequency in days",
        SerializedName = @"dailyFrequency",
        PossibleTypes = new [] { typeof(long) })]
        long? DailyFrequency { get; set; }
        /// <summary>
        /// Frequency in hours per day. Precedence is hourly, daily, weekly and monthly, in that order.
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Frequency in hours per day. Precedence is hourly, daily, weekly and monthly, in that order.",
        SerializedName = @"hourlyFrequency",
        PossibleTypes = new [] { typeof(long) })]
        long? HourlyFrequency { get; set; }
        /// <summary>Frequency in minutes</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Frequency in minutes",
        SerializedName = @"minuteFrequency",
        PossibleTypes = new [] { typeof(long) })]
        long? MinuteFrequency { get; set; }
        /// <summary>Frequency in months. Only for incremental backup frequency.</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Frequency in months. Only for incremental backup frequency.",
        SerializedName = @"monthlyFrequency",
        PossibleTypes = new [] { typeof(long) })]
        long? MonthlyFrequency { get; set; }
        /// <summary>Only available for incremental backup frequency</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Only available for incremental backup frequency",
        SerializedName = @"monthlyFrequencyDayOfMonth",
        PossibleTypes = new [] { typeof(long) })]
        long? MonthlyFrequencyDayOfMonth { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"monthlyFrequencyDayOfWeek",
        PossibleTypes = new [] { typeof(string) })]
        string MonthlyFrequencyDayOfWeek { get; set; }
        /// <summary>Specific week of a month</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Specific week of a month",
        SerializedName = @"monthlyFrequencyWeekOfMonth",
        PossibleTypes = new [] { typeof(string) })]
        string MonthlyFrequencyWeekOfMonth { get; set; }
        /// <summary>
        /// Time in seconds from the beginning of the day when the backup starts. This is a mandatory field for daily, weekly, monthly,
        /// yearly frequencies
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Time in seconds from the beginning of the day when the backup starts. This is a mandatory field for daily, weekly, monthly, yearly frequencies",
        SerializedName = @"startTime",
        PossibleTypes = new [] { typeof(long) })]
        long? StartTime { get; set; }
        /// <summary>Frequency in weeks. Only for incremental backup frequency.</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Frequency in weeks. Only for incremental backup frequency.",
        SerializedName = @"weeklyFrequency",
        PossibleTypes = new [] { typeof(long) })]
        long? WeeklyFrequency { 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 = @"weeklyFrequencyDays",
        PossibleTypes = new [] { typeof(string) })]
        string[] WeeklyFrequencyDays { get; set; }
        /// <summary>Only available for incremental backup frequency</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Only available for incremental backup frequency",
        SerializedName = @"yearlyFrequencyDayOfMonth",
        PossibleTypes = new [] { typeof(long) })]
        long? YearlyFrequencyDayOfMonth { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"yearlyFrequencyDayOfWeek",
        PossibleTypes = new [] { typeof(string) })]
        string YearlyFrequencyDayOfWeek { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"yearlyFrequencyMonthOfYear",
        PossibleTypes = new [] { typeof(string) })]
        string YearlyFrequencyMonthOfYear { get; set; }
        /// <summary>Specific week of a month</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Specific week of a month",
        SerializedName = @"yearlyFrequencyWeekOfMonth",
        PossibleTypes = new [] { typeof(string) })]
        string YearlyFrequencyWeekOfMonth { get; set; }

    }
    /// If updating pattern, the value which needs to be retained also needs to be provided along with the updated value
    internal partial interface IPlanPatternInternal

    {
        /// <summary>Frequency in days</summary>
        long? DailyFrequency { get; set; }
        /// <summary>
        /// Frequency in hours per day. Precedence is hourly, daily, weekly and monthly, in that order.
        /// </summary>
        long? HourlyFrequency { get; set; }
        /// <summary>Frequency in minutes</summary>
        long? MinuteFrequency { get; set; }
        /// <summary>Frequency in months. Only for incremental backup frequency.</summary>
        long? MonthlyFrequency { get; set; }
        /// <summary>Only available for incremental backup frequency</summary>
        long? MonthlyFrequencyDayOfMonth { get; set; }

        string MonthlyFrequencyDayOfWeek { get; set; }
        /// <summary>Specific week of a month</summary>
        string MonthlyFrequencyWeekOfMonth { get; set; }
        /// <summary>
        /// Time in seconds from the beginning of the day when the backup starts. This is a mandatory field for daily, weekly, monthly,
        /// yearly frequencies
        /// </summary>
        long? StartTime { get; set; }
        /// <summary>Frequency in weeks. Only for incremental backup frequency.</summary>
        long? WeeklyFrequency { get; set; }
        /// <summary>Days of the week for weekly frequency</summary>
        string[] WeeklyFrequencyDays { get; set; }
        /// <summary>Only available for incremental backup frequency</summary>
        long? YearlyFrequencyDayOfMonth { get; set; }

        string YearlyFrequencyDayOfWeek { get; set; }

        string YearlyFrequencyMonthOfYear { get; set; }
        /// <summary>Specific week of a month</summary>
        string YearlyFrequencyWeekOfMonth { get; set; }

    }
}