generated/api/Models/KubernetesApplicationDetails.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 for a Kubernetes Application</summary>
    public partial class KubernetesApplicationDetails :
        Commvault.Powershell.Models.IKubernetesApplicationDetails,
        Commvault.Powershell.Models.IKubernetesApplicationDetailsInternal,
        Commvault.Powershell.Runtime.IValidates
    {
        /// <summary>
        /// Backing field for Inherited model <see cref= "Commvault.Powershell.Models.IApplicationSummaryInfo" />
        /// </summary>
        private Commvault.Powershell.Models.IApplicationSummaryInfo __applicationSummaryInfo = new Commvault.Powershell.Models.ApplicationSummaryInfo();

        /// <summary>Backing field for <see cref="ActivityControl" /> property.</summary>
        private Commvault.Powershell.Models.IApplicationActivityControl _activityControl;

        /// <summary>Kubernetes Application Activity Control Options</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IApplicationActivityControl ActivityControl { get => (this._activityControl = this._activityControl ?? new Commvault.Powershell.Models.ApplicationActivityControl()); set => this._activityControl = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? ActivityControlEnableBackup { get => ((Commvault.Powershell.Models.IApplicationActivityControlInternal)ActivityControl).EnableBackup; set => ((Commvault.Powershell.Models.IApplicationActivityControlInternal)ActivityControl).EnableBackup = value ?? default(bool); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? ActivityControlEnableRestore { get => ((Commvault.Powershell.Models.IApplicationActivityControlInternal)ActivityControl).EnableRestore; set => ((Commvault.Powershell.Models.IApplicationActivityControlInternal)ActivityControl).EnableRestore = value ?? default(bool); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public Commvault.Powershell.Models.IIdName ApplicationGroup { get => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).ApplicationGroup; set => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).ApplicationGroup = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public long? ApplicationGroupId { get => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).ApplicationGroupId; set => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).ApplicationGroupId = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public string ApplicationGroupName { get => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).ApplicationGroupName; set => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).ApplicationGroupName = value; }

        /// <summary>Size of the application</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public long? ApplicationSize { get => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).ApplicationSize; set => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).ApplicationSize = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public Commvault.Powershell.Models.IIdName Cluster { get => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).Cluster; set => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).Cluster = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public long? ClusterId { get => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).ClusterId; set => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).ClusterId = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public string ClusterName { get => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).ClusterName; set => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).ClusterName = value; }

        /// <summary>Internal Acessors for ActivityControl</summary>
        Commvault.Powershell.Models.IApplicationActivityControl Commvault.Powershell.Models.IKubernetesApplicationDetailsInternal.ActivityControl { get => (this._activityControl = this._activityControl ?? new Commvault.Powershell.Models.ApplicationActivityControl()); set { {_activityControl = value;} } }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public Commvault.Powershell.Models.IIdName Company { get => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).Company; set => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).Company = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public long? CompanyId { get => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).CompanyId; set => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).CompanyId = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public string CompanyName { get => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).CompanyName; set => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).CompanyName = value; }

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

        /// <summary>GUID of the Application</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string Guid { get => this._guid; set => this._guid = value; }

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

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

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public Commvault.Powershell.Models.IIdName Plan { get => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).Plan; set => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).Plan = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public long? PlanId { get => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).PlanId; set => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).PlanId = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public string PlanName { get => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).PlanName; set => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).PlanName = value; }

        /// <summary>Provisioned size of the volumes</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public long? ProvisionedSize { get => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).ProvisionedSize; set => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).ProvisionedSize = value; }

        /// <summary>SLA Details for a Kubernetes entity</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public Commvault.Powershell.Models.IKubernetesSlaDetails Sla { get => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).Sla; set => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).Sla = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public string SlaReason { get => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).SlaReason; set => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).SlaReason = value; }

        /// <summary>Provides the SLA status.</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public string SlaStatus { get => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).SlaStatus; set => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).SlaStatus = value; }

        /// <summary>The status of the backup for the VM, instance, or container.</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public string Status { get => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).Status; set => ((Commvault.Powershell.Models.IApplicationSummaryInfoInternal)__applicationSummaryInfo).Status = value; }

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

        }

        /// <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(__applicationSummaryInfo), __applicationSummaryInfo);
            await eventListener.AssertObjectIsValid(nameof(__applicationSummaryInfo), __applicationSummaryInfo);
        }
    }
    /// Details for a Kubernetes Application
    public partial interface IKubernetesApplicationDetails :
        Commvault.Powershell.Runtime.IJsonSerializable,
        Commvault.Powershell.Models.IApplicationSummaryInfo
    {
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"enableBackup",
        PossibleTypes = new [] { typeof(bool) })]
        bool? ActivityControlEnableBackup { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"enableRestore",
        PossibleTypes = new [] { typeof(bool) })]
        bool? ActivityControlEnableRestore { get; set; }
        /// <summary>GUID of the Application</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"GUID of the Application",
        SerializedName = @"GUID",
        PossibleTypes = new [] { typeof(string) })]
        string Guid { get; set; }
        /// <summary>Name of the Application</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Name of the Application",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string Name { get; set; }

    }
    /// Details for a Kubernetes Application
    internal partial interface IKubernetesApplicationDetailsInternal :
        Commvault.Powershell.Models.IApplicationSummaryInfoInternal
    {
        /// <summary>Kubernetes Application Activity Control Options</summary>
        Commvault.Powershell.Models.IApplicationActivityControl ActivityControl { get; set; }

        bool? ActivityControlEnableBackup { get; set; }

        bool? ActivityControlEnableRestore { get; set; }
        /// <summary>GUID of the Application</summary>
        string Guid { get; set; }
        /// <summary>Name of the Application</summary>
        string Name { get; set; }

    }
}