generated/api/Models/BackupFrequencyPattern.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>Used to describe the frequency of backup</summary>
    public partial class BackupFrequencyPattern :
        Commvault.Powershell.Models.IBackupFrequencyPattern,
        Commvault.Powershell.Models.IBackupFrequencyPatternInternal
    {

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

        /// <summary>Day on which to run the schedule, applicable for monthly, yearly</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? DayOfMonth { get => this._dayOfMonth; set => this._dayOfMonth = value; }

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

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

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

        /// <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.Owned)]
        public long? Frequency { get => this._frequency; set => this._frequency = value; }

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

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

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

        /// <summary>schedule frequency type</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string ScheduleFrequencyType { get => this._scheduleFrequencyType; set => this._scheduleFrequencyType = value; }

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

        /// <summary>start time of schedule in seconds for daily, weekly, monthly, yearly frequency</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? StartTime { get => this._startTime; set => this._startTime = value; }

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

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

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

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

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

        }
    }
    /// Used to describe the frequency of backup
    public partial interface IBackupFrequencyPattern :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <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? DayOfMonth { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"dayOfWeek",
        PossibleTypes = new [] { typeof(string) })]
        string DayOfWeek { 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? Frequency { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"monthOfYear",
        PossibleTypes = new [] { typeof(string) })]
        string MonthOfYear { 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 ScheduleFrequencyType { 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? StartTime { 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 WeekOfMonth { 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[] WeeklyDays { get; set; }

    }
    /// Used to describe the frequency of backup
    internal partial interface IBackupFrequencyPatternInternal

    {
        /// <summary>Day on which to run the schedule, applicable for monthly, yearly</summary>
        long? DayOfMonth { get; set; }

        string DayOfWeek { 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? Frequency { get; set; }

        string MonthOfYear { get; set; }
        /// <summary>schedule frequency type</summary>
        string ScheduleFrequencyType { get; set; }
        /// <summary>start time of schedule in seconds for daily, weekly, monthly, yearly frequency</summary>
        long? StartTime { get; set; }
        /// <summary>Specific week of a month</summary>
        string WeekOfMonth { get; set; }
        /// <summary>Days of the week for weekly frequency</summary>
        string[] WeeklyDays { get; set; }

    }
}