generated/api/Models/KubernetesApplicationItem.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>Details of a Kubernetes Applications</summary>
    public partial class KubernetesApplicationItem :
        Commvault.Powershell.Models.IKubernetesApplicationItem,
        Commvault.Powershell.Models.IKubernetesApplicationItemInternal,
        Commvault.Powershell.Runtime.IValidates
    {
        /// <summary>
        /// Backing field for Inherited model <see cref= "Commvault.Powershell.Models.INameGuid" />
        /// </summary>
        private Commvault.Powershell.Models.INameGuid __nameGuid = new Commvault.Powershell.Models.NameGuid();

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

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

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

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

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

        /// <summary>Describes the application size of the Application</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? ApplicationSize { get => this._applicationSize; set => this._applicationSize = value; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        /// <summary>Internal Acessors for LastBackup</summary>
        Commvault.Powershell.Models.ILastBackup Commvault.Powershell.Models.IKubernetesApplicationItemInternal.LastBackup { get => (this._lastBackup = this._lastBackup ?? new Commvault.Powershell.Models.LastBackup()); set { {_lastBackup = value;} } }

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

        /// <summary>Internal Acessors for Sla</summary>
        Commvault.Powershell.Models.IKubernetesSlaDetails Commvault.Powershell.Models.IKubernetesApplicationItemInternal.Sla { get => (this._sla = this._sla ?? new Commvault.Powershell.Models.KubernetesSlaDetails()); set { {_sla = value;} } }

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

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

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

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

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public string Guid { get => ((Commvault.Powershell.Models.INameGuidInternal)__nameGuid).Guid; set => ((Commvault.Powershell.Models.INameGuidInternal)__nameGuid).Guid = value; }

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

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

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

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

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

        /// <summary>Specifies the resource Kind of the Application</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string Kind { get => this._kind; set => this._kind = value; }

        /// <summary>Backing field for <see cref="LastBackup" /> property.</summary>
        private Commvault.Powershell.Models.ILastBackup _lastBackup;

        /// <summary>last backup job details for the client</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.ILastBackup LastBackup { get => (this._lastBackup = this._lastBackup ?? new Commvault.Powershell.Models.LastBackup()); set => this._lastBackup = value; }

        /// <summary>Failure reason for the last backup job</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string LastBackupFailureReason { get => ((Commvault.Powershell.Models.ILastBackupInternal)LastBackup).FailureReason; set => ((Commvault.Powershell.Models.ILastBackupInternal)LastBackup).FailureReason = value ?? null; }

        /// <summary>Job id of the last backup job</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? LastBackupJobId { get => ((Commvault.Powershell.Models.ILastBackupInternal)LastBackup).JobId; set => ((Commvault.Powershell.Models.ILastBackupInternal)LastBackup).JobId = value ?? default(long); }

        /// <summary>UNIX time for the last successful backup job run</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? LastBackupLastSuccessfulBackupTime { get => ((Commvault.Powershell.Models.ILastBackupInternal)LastBackup).LastSuccessfulBackupTime; set => ((Commvault.Powershell.Models.ILastBackupInternal)LastBackup).LastSuccessfulBackupTime = value ?? default(long); }

        /// <summary>Status of the last backup job performed.</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string LastBackupStatus { get => ((Commvault.Powershell.Models.ILastBackupInternal)LastBackup).Status; set => ((Commvault.Powershell.Models.ILastBackupInternal)LastBackup).Status = value ?? null; }

        /// <summary>UNIX time for the last backup job run</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? LastBackupTime { get => ((Commvault.Powershell.Models.ILastBackupInternal)LastBackup).Time; set => ((Commvault.Powershell.Models.ILastBackupInternal)LastBackup).Time = value ?? default(long); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public string Name { get => ((Commvault.Powershell.Models.INameGuidInternal)__nameGuid).Name; set => ((Commvault.Powershell.Models.INameGuidInternal)__nameGuid).Name = value; }

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

        /// <summary>Specifies the Namespace of the Application</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string NameSpace { get => this._nameSpace; set => this._nameSpace = value; }

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

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

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

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

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

        /// <summary>Describes the Total provisioned size of the volumes of the Application</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? ProvisionedSize { get => this._provisionedSize; set => this._provisionedSize = value; }

        /// <summary>Backing field for <see cref="Sla" /> property.</summary>
        private Commvault.Powershell.Models.IKubernetesSlaDetails _sla;

        /// <summary>SLA Details for a Kubernetes entity</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IKubernetesSlaDetails Sla { get => (this._sla = this._sla ?? new Commvault.Powershell.Models.KubernetesSlaDetails()); set => this._sla = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string SlaReason { get => ((Commvault.Powershell.Models.IKubernetesSlaDetailsInternal)Sla).Reason; set => ((Commvault.Powershell.Models.IKubernetesSlaDetailsInternal)Sla).Reason = value ?? null; }

        /// <summary>Provides the SLA status.</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string SlaStatus { get => ((Commvault.Powershell.Models.IKubernetesSlaDetailsInternal)Sla).Status; set => ((Commvault.Powershell.Models.IKubernetesSlaDetailsInternal)Sla).Status = value ?? null; }

        /// <summary>Backing field for <see cref="Tags" /> property.</summary>
        private Commvault.Powershell.Models.IIdNameValue[] _tags;

        /// <summary>List of Tags associated to the Kubernetes Application</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public Commvault.Powershell.Models.IIdNameValue[] Tags { get => this._tags; set => this._tags = value; }

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

        /// <summary>Describes the Total used space of all volumes of the Application</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? UsedSize { get => this._usedSize; set => this._usedSize = value; }

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

        }

        /// <summary>Validates that this object meets the validation criteria.</summary>
        /// <param name="eventListener">an <see cref="Commvault.Powershell.Runtime.IEventListener" /> instance that will receive validation
        /// events.</param>
        /// <returns>
        /// A < see cref = "global::System.Threading.Tasks.Task" /> that will be complete when validation is completed.
        /// </returns>
        public async global::System.Threading.Tasks.Task Validate(Commvault.Powershell.Runtime.IEventListener eventListener)
        {
            await eventListener.AssertNotNull(nameof(__nameGuid), __nameGuid);
            await eventListener.AssertObjectIsValid(nameof(__nameGuid), __nameGuid);
        }
    }
    /// Details of a Kubernetes Applications
    public partial interface IKubernetesApplicationItem :
        Commvault.Powershell.Runtime.IJsonSerializable,
        Commvault.Powershell.Models.INameGuid
    {
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"id",
        PossibleTypes = new [] { typeof(long) })]
        long? ApplicationGroupId { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string ApplicationGroupName { get; set; }
        /// <summary>Describes the application size of the Application</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Describes the application size of the Application",
        SerializedName = @"applicationSize",
        PossibleTypes = new [] { typeof(long) })]
        long? ApplicationSize { get; set; }

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

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

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

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

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

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

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

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

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

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string InstanceName { get; set; }
        /// <summary>Specifies the resource Kind of the Application</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Specifies the resource Kind of the Application",
        SerializedName = @"kind",
        PossibleTypes = new [] { typeof(string) })]
        string Kind { get; set; }
        /// <summary>Failure reason for the last backup job</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Failure reason for the last backup job",
        SerializedName = @"failureReason",
        PossibleTypes = new [] { typeof(string) })]
        string LastBackupFailureReason { get; set; }
        /// <summary>Job id of the last backup job</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Job id of the last backup job",
        SerializedName = @"jobId",
        PossibleTypes = new [] { typeof(long) })]
        long? LastBackupJobId { get; set; }
        /// <summary>UNIX time for the last successful backup job run</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"UNIX time for the last successful backup job run",
        SerializedName = @"lastSuccessfulBackupTime",
        PossibleTypes = new [] { typeof(long) })]
        long? LastBackupLastSuccessfulBackupTime { get; set; }
        /// <summary>Status of the last backup job performed.</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Status of the last backup job performed.",
        SerializedName = @"status",
        PossibleTypes = new [] { typeof(string) })]
        string LastBackupStatus { get; set; }
        /// <summary>UNIX time for the last backup job run</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"UNIX time for the last backup job run",
        SerializedName = @"time",
        PossibleTypes = new [] { typeof(long) })]
        long? LastBackupTime { get; set; }
        /// <summary>Specifies the Namespace of the Application</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Specifies the Namespace of the Application",
        SerializedName = @"nameSpace",
        PossibleTypes = new [] { typeof(string) })]
        string NameSpace { get; set; }

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

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string PlanName { get; set; }
        /// <summary>Describes the Total provisioned size of the volumes of the Application</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Describes the Total provisioned size of the volumes of the Application",
        SerializedName = @"provisionedSize",
        PossibleTypes = new [] { typeof(long) })]
        long? ProvisionedSize { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"reason",
        PossibleTypes = new [] { typeof(string) })]
        string SlaReason { get; set; }
        /// <summary>Provides the SLA status.</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Provides the SLA status.",
        SerializedName = @"status",
        PossibleTypes = new [] { typeof(string) })]
        string SlaStatus { get; set; }
        /// <summary>List of Tags associated to the Kubernetes Application</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"List of Tags associated to the Kubernetes Application",
        SerializedName = @"tags",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IIdNameValue) })]
        Commvault.Powershell.Models.IIdNameValue[] Tags { get; set; }
        /// <summary>Describes the Total used space of all volumes of the Application</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Describes the Total used space of all volumes of the Application",
        SerializedName = @"usedSize",
        PossibleTypes = new [] { typeof(long) })]
        long? UsedSize { get; set; }

    }
    /// Details of a Kubernetes Applications
    internal partial interface IKubernetesApplicationItemInternal :
        Commvault.Powershell.Models.INameGuidInternal
    {
        Commvault.Powershell.Models.IIdName ApplicationGroup { get; set; }

        long? ApplicationGroupId { get; set; }

        string ApplicationGroupName { get; set; }
        /// <summary>Describes the application size of the Application</summary>
        long? ApplicationSize { get; set; }

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

        long? BackupsetId { get; set; }

        string BackupsetName { get; set; }

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

        long? ClusterId { get; set; }

        string ClusterName { get; set; }

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

        long? CommcellId { get; set; }

        string CommcellName { get; set; }

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

        long? CompanyId { get; set; }

        string CompanyName { get; set; }

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

        long? InstanceId { get; set; }

        string InstanceName { get; set; }
        /// <summary>Specifies the resource Kind of the Application</summary>
        string Kind { get; set; }
        /// <summary>last backup job details for the client</summary>
        Commvault.Powershell.Models.ILastBackup LastBackup { get; set; }
        /// <summary>Failure reason for the last backup job</summary>
        string LastBackupFailureReason { get; set; }
        /// <summary>Job id of the last backup job</summary>
        long? LastBackupJobId { get; set; }
        /// <summary>UNIX time for the last successful backup job run</summary>
        long? LastBackupLastSuccessfulBackupTime { get; set; }
        /// <summary>Status of the last backup job performed.</summary>
        string LastBackupStatus { get; set; }
        /// <summary>UNIX time for the last backup job run</summary>
        long? LastBackupTime { get; set; }
        /// <summary>Specifies the Namespace of the Application</summary>
        string NameSpace { get; set; }

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

        long? PlanId { get; set; }

        string PlanName { get; set; }
        /// <summary>Describes the Total provisioned size of the volumes of the Application</summary>
        long? ProvisionedSize { get; set; }
        /// <summary>SLA Details for a Kubernetes entity</summary>
        Commvault.Powershell.Models.IKubernetesSlaDetails Sla { get; set; }

        string SlaReason { get; set; }
        /// <summary>Provides the SLA status.</summary>
        string SlaStatus { get; set; }
        /// <summary>List of Tags associated to the Kubernetes Application</summary>
        Commvault.Powershell.Models.IIdNameValue[] Tags { get; set; }
        /// <summary>Describes the Total used space of all volumes of the Application</summary>
        long? UsedSize { get; set; }

    }
}