generated/api/Models/TcoCalculateRequest.cs

// Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.10.2, generator: @autorest/powershell@4.0.708)
// 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>TCOCalculateRequest</summary>
    public partial class TcoCalculateRequest :
        Commvault.Powershell.Models.ITcoCalculateRequest,
        Commvault.Powershell.Models.ITcoCalculateRequestInternal
    {

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

        /// <summary>TCOCloudProvider</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string CloudProvider { get => this._cloudProvider; set => this._cloudProvider = value; }

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

        /// <summary>This is the percentage of the discount that the customer gets with Commvault</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? CommvaultDiscountPercentage { get => this._commvaultDiscountPercentage; set => this._commvaultDiscountPercentage = value; }

        /// <summary>Backing field for <see cref="DailyRateOfChange" /> property.</summary>
        private long _dailyRateOfChange;

        /// <summary>
        /// This is the predicted rate of change that impacts the snapshot size and backup size
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long DailyRateOfChange { get => this._dailyRateOfChange; set => this._dailyRateOfChange = value; }

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

        /// <summary>
        /// This is the percentage of the discount that the customer gets with the cloud vendor
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? NativeDiscountPercentage { get => this._nativeDiscountPercentage; set => this._nativeDiscountPercentage = value; }

        /// <summary>Backing field for <see cref="NumberOfVirtualMachines" /> property.</summary>
        private long _numberOfVirtualMachines;

        /// <summary>Total number of Virtual Machines that are included for TCO assessment</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long NumberOfVirtualMachines { get => this._numberOfVirtualMachines; set => this._numberOfVirtualMachines = value; }

        /// <summary>Backing field for <see cref="ReplicatedSnapsPercentage" /> property.</summary>
        private long _replicatedSnapsPercentage;

        /// <summary>
        /// This is the total percentage of snapshots replicated that is included for TCO assessment
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long ReplicatedSnapsPercentage { get => this._replicatedSnapsPercentage; set => this._replicatedSnapsPercentage = value; }

        /// <summary>Backing field for <see cref="TotalInstantRestoreSnapshot" /> property.</summary>
        private long _totalInstantRestoreSnapshot;

        /// <summary>Total number of Instant Restore Snapshots that are included for TCO assessment</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long TotalInstantRestoreSnapshot { get => this._totalInstantRestoreSnapshot; set => this._totalInstantRestoreSnapshot = value; }

        /// <summary>Backing field for <see cref="TotalRecoveryPoints" /> property.</summary>
        private long _totalRecoveryPoints;

        /// <summary>Total number of Recovery Points that are included for TCO assessment</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long TotalRecoveryPoints { get => this._totalRecoveryPoints; set => this._totalRecoveryPoints = value; }

        /// <summary>Backing field for <see cref="TotalVirtualMachineSize" /> property.</summary>
        private long _totalVirtualMachineSize;

        /// <summary>Total size of Virtual Machines in GB that are included for TCO assessment</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long TotalVirtualMachineSize { get => this._totalVirtualMachineSize; set => this._totalVirtualMachineSize = value; }

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

        }
    }
    /// TCOCalculateRequest
    public partial interface ITcoCalculateRequest :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <summary>TCOCloudProvider</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = true,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"TCOCloudProvider",
        SerializedName = @"cloudProvider",
        PossibleTypes = new [] { typeof(string) })]
        string CloudProvider { get; set; }
        /// <summary>This is the percentage of the discount that the customer gets with Commvault</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"This is the percentage of the discount that the customer gets with Commvault",
        SerializedName = @"commvaultDiscountPercentage",
        PossibleTypes = new [] { typeof(long) })]
        long? CommvaultDiscountPercentage { get; set; }
        /// <summary>
        /// This is the predicted rate of change that impacts the snapshot size and backup size
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = true,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"This is the predicted rate of change that impacts the snapshot size and backup size",
        SerializedName = @"dailyRateOfChange",
        PossibleTypes = new [] { typeof(long) })]
        long DailyRateOfChange { get; set; }
        /// <summary>
        /// This is the percentage of the discount that the customer gets with the cloud vendor
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"This is the percentage of the discount that the customer gets with the cloud vendor",
        SerializedName = @"nativeDiscountPercentage",
        PossibleTypes = new [] { typeof(long) })]
        long? NativeDiscountPercentage { get; set; }
        /// <summary>Total number of Virtual Machines that are included for TCO assessment</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = true,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"Total number of Virtual Machines that are included for TCO assessment",
        SerializedName = @"numberOfVirtualMachines",
        PossibleTypes = new [] { typeof(long) })]
        long NumberOfVirtualMachines { get; set; }
        /// <summary>
        /// This is the total percentage of snapshots replicated that is included for TCO assessment
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = true,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"This is the total percentage of snapshots replicated that is included for TCO assessment",
        SerializedName = @"replicatedSnapsPercentage",
        PossibleTypes = new [] { typeof(long) })]
        long ReplicatedSnapsPercentage { get; set; }
        /// <summary>Total number of Instant Restore Snapshots that are included for TCO assessment</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = true,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"Total number of Instant Restore Snapshots that are included for TCO assessment",
        SerializedName = @"totalInstantRestoreSnapshot",
        PossibleTypes = new [] { typeof(long) })]
        long TotalInstantRestoreSnapshot { get; set; }
        /// <summary>Total number of Recovery Points that are included for TCO assessment</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = true,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"Total number of Recovery Points that are included for TCO assessment",
        SerializedName = @"totalRecoveryPoints",
        PossibleTypes = new [] { typeof(long) })]
        long TotalRecoveryPoints { get; set; }
        /// <summary>Total size of Virtual Machines in GB that are included for TCO assessment</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = true,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"Total size of Virtual Machines in GB that are included for TCO assessment",
        SerializedName = @"totalVirtualMachineSize",
        PossibleTypes = new [] { typeof(long) })]
        long TotalVirtualMachineSize { get; set; }

    }
    /// TCOCalculateRequest
    internal partial interface ITcoCalculateRequestInternal

    {
        /// <summary>TCOCloudProvider</summary>
        string CloudProvider { get; set; }
        /// <summary>This is the percentage of the discount that the customer gets with Commvault</summary>
        long? CommvaultDiscountPercentage { get; set; }
        /// <summary>
        /// This is the predicted rate of change that impacts the snapshot size and backup size
        /// </summary>
        long DailyRateOfChange { get; set; }
        /// <summary>
        /// This is the percentage of the discount that the customer gets with the cloud vendor
        /// </summary>
        long? NativeDiscountPercentage { get; set; }
        /// <summary>Total number of Virtual Machines that are included for TCO assessment</summary>
        long NumberOfVirtualMachines { get; set; }
        /// <summary>
        /// This is the total percentage of snapshots replicated that is included for TCO assessment
        /// </summary>
        long ReplicatedSnapsPercentage { get; set; }
        /// <summary>Total number of Instant Restore Snapshots that are included for TCO assessment</summary>
        long TotalInstantRestoreSnapshot { get; set; }
        /// <summary>Total number of Recovery Points that are included for TCO assessment</summary>
        long TotalRecoveryPoints { get; set; }
        /// <summary>Total size of Virtual Machines in GB that are included for TCO assessment</summary>
        long TotalVirtualMachineSize { get; set; }

    }
}