generated/api/Models/KubernetesApplicationGroupItem.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 Application Group</summary>
    public partial class KubernetesApplicationGroupItem :
        Commvault.Powershell.Models.IKubernetesApplicationGroupItem,
        Commvault.Powershell.Models.IKubernetesApplicationGroupItemInternal
    {

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

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

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

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

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

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

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

        /// <summary>Internal Acessors for Instance</summary>
        Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.IKubernetesApplicationGroupItemInternal.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.IKubernetesApplicationGroupItemInternal.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.IKubernetesApplicationGroupItemInternal.Plan { get => (this._plan = this._plan ?? new Commvault.Powershell.Models.IdName()); set { {_plan = value;} } }

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

        /// <summary>companyInfo</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.ICompanyInfo Company { get => (this._company = this._company ?? new Commvault.Powershell.Models.CompanyInfo()); set => this._company = value; }

        /// <summary>Id of company</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? CompanyId { get => ((Commvault.Powershell.Models.ICompanyInfoInternal)Company).Id; set => ((Commvault.Powershell.Models.ICompanyInfoInternal)Company).Id = value ?? default(long); }

        /// <summary>Multi Commcell Id of company</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? CompanyMultiCommcellId { get => ((Commvault.Powershell.Models.ICompanyInfoInternal)Company).MultiCommcellId; set => ((Commvault.Powershell.Models.ICompanyInfoInternal)Company).MultiCommcellId = value ?? default(long); }

        /// <summary>Name of company</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string CompanyName { get => ((Commvault.Powershell.Models.ICompanyInfoInternal)Company).Name; set => ((Commvault.Powershell.Models.ICompanyInfoInternal)Company).Name = value ?? null; }

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

        /// <summary>ID of the Kubernetes Application group</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? Id { get => this._id; set => this._id = 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="IsDefaultApplicationGroup" /> property.</summary>
        private bool? _isDefaultApplicationGroup;

        /// <summary>Specifies whether the Application Group is a default Application Group</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public bool? IsDefaultApplicationGroup { get => this._isDefaultApplicationGroup; set => this._isDefaultApplicationGroup = 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); }

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

        /// <summary>Name of the Kubernetes Application Group</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string Name { get => this._name; set => this._name = 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="SnapBackupEnabled" /> property.</summary>
        private bool? _snapBackupEnabled;

        /// <summary>Specifies if snap backup is enabled</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public bool? SnapBackupEnabled { get => this._snapBackupEnabled; set => this._snapBackupEnabled = value; }

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

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

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

        }
    }
    /// Details of a Kubernetes Application Group
    public partial interface IKubernetesApplicationGroupItem :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"displayName",
        PossibleTypes = new [] { typeof(string) })]
        string ClusterDisplayName { 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; }
        /// <summary>Id of company</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Id of company",
        SerializedName = @"id",
        PossibleTypes = new [] { typeof(long) })]
        long? CompanyId { get; set; }
        /// <summary>Multi Commcell Id of company</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Multi Commcell Id of company",
        SerializedName = @"multiCommcellId",
        PossibleTypes = new [] { typeof(long) })]
        long? CompanyMultiCommcellId { get; set; }
        /// <summary>Name of company</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Name of company",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string CompanyName { get; set; }
        /// <summary>ID of the Kubernetes Application group</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"ID of the Kubernetes Application group",
        SerializedName = @"id",
        PossibleTypes = new [] { typeof(long) })]
        long? Id { 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 whether the Application Group is a default Application Group</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Specifies whether the Application Group is a default Application Group",
        SerializedName = @"isDefaultApplicationGroup",
        PossibleTypes = new [] { typeof(bool) })]
        bool? IsDefaultApplicationGroup { 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>Name of the Kubernetes Application Group</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Name of the Kubernetes Application Group",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string Name { 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>Specifies if snap backup is enabled</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Specifies if snap backup is enabled",
        SerializedName = @"snapBackupEnabled",
        PossibleTypes = new [] { typeof(bool) })]
        bool? SnapBackupEnabled { get; set; }
        /// <summary>List of Tags associated to the Kubernetes Application Group</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"List of Tags associated to the Kubernetes Application Group",
        SerializedName = @"tags",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IIdNameValue) })]
        Commvault.Powershell.Models.IIdNameValue[] Tags { get; set; }

    }
    /// Details of a Kubernetes Application Group
    internal partial interface IKubernetesApplicationGroupItemInternal

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

        string ClusterDisplayName { get; set; }

        long? ClusterId { get; set; }

        string ClusterName { get; set; }
        /// <summary>companyInfo</summary>
        Commvault.Powershell.Models.ICompanyInfo Company { get; set; }
        /// <summary>Id of company</summary>
        long? CompanyId { get; set; }
        /// <summary>Multi Commcell Id of company</summary>
        long? CompanyMultiCommcellId { get; set; }
        /// <summary>Name of company</summary>
        string CompanyName { get; set; }
        /// <summary>ID of the Kubernetes Application group</summary>
        long? Id { get; set; }

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

        long? InstanceId { get; set; }

        string InstanceName { get; set; }
        /// <summary>Specifies whether the Application Group is a default Application Group</summary>
        bool? IsDefaultApplicationGroup { 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>Name of the Kubernetes Application Group</summary>
        string Name { get; set; }

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

        long? PlanId { get; set; }

        string PlanName { get; set; }
        /// <summary>Specifies if snap backup is enabled</summary>
        bool? SnapBackupEnabled { get; set; }
        /// <summary>List of Tags associated to the Kubernetes Application Group</summary>
        Commvault.Powershell.Models.IIdNameValue[] Tags { get; set; }

    }
}