generated/api/Models/LaptopPlanStorageAndSchedule.cs

// Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.8.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 LaptopPlanStorageAndSchedule :
        Commvault.Powershell.Models.ILaptopPlanStorageAndSchedule,
        Commvault.Powershell.Models.ILaptopPlanStorageAndScheduleInternal
    {

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

        /// <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. Your RPO is met through automatic options. The time specified in minutes
        /// here is your RPO if none of the automatic options are met. Default is 480 minutes (8 hours).
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? BackupFrequency { get => this._backupFrequency; set => this._backupFrequency = value; }

        /// <summary>Internal Acessors for PrimaryStorage</summary>
        Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.ILaptopPlanStorageAndScheduleInternal.PrimaryStorage { get => (this._primaryStorage = this._primaryStorage ?? new Commvault.Powershell.Models.IdName()); set { {_primaryStorage = value;} } }

        /// <summary>Internal Acessors for SecondaryStorage</summary>
        Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.ILaptopPlanStorageAndScheduleInternal.SecondaryStorage { get => (this._secondaryStorage = this._secondaryStorage ?? new Commvault.Powershell.Models.IdName()); set { {_secondaryStorage = value;} } }

        /// <summary>Backing field for <see cref="PrimaryStorage" /> property.</summary>
        private Commvault.Powershell.Models.IIdName _primaryStorage;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IIdName PrimaryStorage { get => (this._primaryStorage = this._primaryStorage ?? new Commvault.Powershell.Models.IdName()); set => this._primaryStorage = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? PrimaryStorageId { get => ((Commvault.Powershell.Models.IIdNameInternal)PrimaryStorage).Id; set => ((Commvault.Powershell.Models.IIdNameInternal)PrimaryStorage).Id = value ?? default(long); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string PrimaryStorageName { get => ((Commvault.Powershell.Models.IIdNameInternal)PrimaryStorage).Name; set => ((Commvault.Powershell.Models.IIdNameInternal)PrimaryStorage).Name = value ?? null; }

        /// <summary>Backing field for <see cref="SecondaryStorage" /> property.</summary>
        private Commvault.Powershell.Models.IIdName _secondaryStorage;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IIdName SecondaryStorage { get => (this._secondaryStorage = this._secondaryStorage ?? new Commvault.Powershell.Models.IdName()); set => this._secondaryStorage = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? SecondaryStorageId { get => ((Commvault.Powershell.Models.IIdNameInternal)SecondaryStorage).Id; set => ((Commvault.Powershell.Models.IIdNameInternal)SecondaryStorage).Id = value ?? default(long); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string SecondaryStorageName { get => ((Commvault.Powershell.Models.IIdNameInternal)SecondaryStorage).Name; set => ((Commvault.Powershell.Models.IIdNameInternal)SecondaryStorage).Name = value ?? null; }

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

        }
    }
    public partial interface ILaptopPlanStorageAndSchedule :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <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. Your RPO is met through automatic options. The time specified in minutes
        /// here is your RPO if none of the automatic options are met. Default is 480 minutes (8 hours).
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"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. Your RPO is met through automatic options. The time specified in minutes here is your RPO if none of the automatic options are met. Default is 480 minutes (8 hours).",
        SerializedName = @"backupFrequency",
        PossibleTypes = new [] { typeof(long) })]
        long? BackupFrequency { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"id",
        PossibleTypes = new [] { typeof(long) })]
        long? PrimaryStorageId { get; set; }

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

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"id",
        PossibleTypes = new [] { typeof(long) })]
        long? SecondaryStorageId { get; set; }

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

    }
    internal partial interface ILaptopPlanStorageAndScheduleInternal

    {
        /// <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. Your RPO is met through automatic options. The time specified in minutes
        /// here is your RPO if none of the automatic options are met. Default is 480 minutes (8 hours).
        /// </summary>
        long? BackupFrequency { get; set; }

        Commvault.Powershell.Models.IIdName PrimaryStorage { get; set; }

        long? PrimaryStorageId { get; set; }

        string PrimaryStorageName { get; set; }

        Commvault.Powershell.Models.IIdName SecondaryStorage { get; set; }

        long? SecondaryStorageId { get; set; }

        string SecondaryStorageName { get; set; }

    }
}