generated/api/Models/SynthfullRetentionCriteria.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>
    /// Server plan storage copies extended retention critera used for calculating synthfull schedule pattern
    /// </summary>
    public partial class SynthfullRetentionCriteria :
        Commvault.Powershell.Models.ISynthfullRetentionCriteria,
        Commvault.Powershell.Models.ISynthfullRetentionCriteriaInternal
    {

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

        /// <summary>Tells us from where the rule was picked up</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string ConfigType { get => this._configType; set => this._configType = value; }

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

        /// <summary>storage policy copy</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? CopyId { get => this._copyId; set => this._copyId = value; }

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

        /// <summary>storage policy copy name</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string CopyName { get => this._copyName; set => this._copyName = value; }

        /// <summary>Backing field for <see cref="FirstFull" /> property.</summary>
        private bool? _firstFull;

        /// <summary>
        /// If set to true, will consider first full else will consider last full for the selective rule
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public bool? FirstFull { get => this._firstFull; set => this._firstFull = value; }

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

        /// <summary>Start Date in the month</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? MonthStart { get => this._monthStart; set => this._monthStart = value; }

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

        /// <summary>Tells us the retention duration</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string SelectiveRule { get => this._selectiveRule; set => this._selectiveRule = value; }

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

        /// <summary>storage Policy Id</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? StoragePolicyId { get => this._storagePolicyId; set => this._storagePolicyId = value; }

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

        /// <summary>Storage Policy Name</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string StoragePolicyName { get => this._storagePolicyName; set => this._storagePolicyName = value; }

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

        /// <summary>Start day of the week</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string WeekStart { get => this._weekStart; set => this._weekStart = value; }

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

        }
    }
    /// Server plan storage copies extended retention critera used for calculating synthfull schedule pattern
    public partial interface ISynthfullRetentionCriteria :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <summary>Tells us from where the rule was picked up</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Tells us from where the rule was picked up",
        SerializedName = @"configType",
        PossibleTypes = new [] { typeof(string) })]
        string ConfigType { get; set; }
        /// <summary>storage policy copy</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"storage policy copy",
        SerializedName = @"copyId",
        PossibleTypes = new [] { typeof(long) })]
        long? CopyId { get; set; }
        /// <summary>storage policy copy name</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"storage policy copy name",
        SerializedName = @"copyName",
        PossibleTypes = new [] { typeof(string) })]
        string CopyName { get; set; }
        /// <summary>
        /// If set to true, will consider first full else will consider last full for the selective rule
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"If set to true, will consider first full else will consider last full for the selective rule",
        SerializedName = @"firstFull",
        PossibleTypes = new [] { typeof(bool) })]
        bool? FirstFull { get; set; }
        /// <summary>Start Date in the month</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Start Date in the month",
        SerializedName = @"monthStart",
        PossibleTypes = new [] { typeof(long) })]
        long? MonthStart { get; set; }
        /// <summary>Tells us the retention duration</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Tells us the retention duration",
        SerializedName = @"selectiveRule",
        PossibleTypes = new [] { typeof(string) })]
        string SelectiveRule { get; set; }
        /// <summary>storage Policy Id</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"storage Policy Id",
        SerializedName = @"storagePolicyId",
        PossibleTypes = new [] { typeof(long) })]
        long? StoragePolicyId { get; set; }
        /// <summary>Storage Policy Name</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Storage Policy Name",
        SerializedName = @"storagePolicyName",
        PossibleTypes = new [] { typeof(string) })]
        string StoragePolicyName { get; set; }
        /// <summary>Start day of the week</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Start day of the week",
        SerializedName = @"weekStart",
        PossibleTypes = new [] { typeof(string) })]
        string WeekStart { get; set; }

    }
    /// Server plan storage copies extended retention critera used for calculating synthfull schedule pattern
    internal partial interface ISynthfullRetentionCriteriaInternal

    {
        /// <summary>Tells us from where the rule was picked up</summary>
        string ConfigType { get; set; }
        /// <summary>storage policy copy</summary>
        long? CopyId { get; set; }
        /// <summary>storage policy copy name</summary>
        string CopyName { get; set; }
        /// <summary>
        /// If set to true, will consider first full else will consider last full for the selective rule
        /// </summary>
        bool? FirstFull { get; set; }
        /// <summary>Start Date in the month</summary>
        long? MonthStart { get; set; }
        /// <summary>Tells us the retention duration</summary>
        string SelectiveRule { get; set; }
        /// <summary>storage Policy Id</summary>
        long? StoragePolicyId { get; set; }
        /// <summary>Storage Policy Name</summary>
        string StoragePolicyName { get; set; }
        /// <summary>Start day of the week</summary>
        string WeekStart { get; set; }

    }
}