generated/api/Models/GetApplicationGroupDetails.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>Get Application Group Details</summary>
    public partial class GetApplicationGroupDetails :
        Commvault.Powershell.Models.IGetApplicationGroupDetails,
        Commvault.Powershell.Models.IGetApplicationGroupDetailsInternal,
        Commvault.Powershell.Runtime.IValidates
    {
        /// <summary>
        /// Backing field for Inherited model <see cref= "Commvault.Powershell.Models.IIdName" />
        /// </summary>
        private Commvault.Powershell.Models.IIdName __idName = new Commvault.Powershell.Models.IdName();

        /// <summary>
        /// Backing field for Inherited model <see cref= "Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfo" />
        /// </summary>
        private Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfo __kubernetesApplicationGroupSummaryInfo = new Commvault.Powershell.Models.KubernetesApplicationGroupSummaryInfo();

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public Commvault.Powershell.Models.IIdName[] AccessNodes { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).AccessNodes; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).AccessNodes = value; }

        /// <summary>Application Group Activity Control Options</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public Commvault.Powershell.Models.IApplicationGroupActivityControl ActivityControl { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).ActivityControl; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).ActivityControl = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public bool? ActivityControlEnableBackup { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).ActivityControlEnableBackup; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).ActivityControlEnableBackup = value; }

        /// <summary>Backing field for <see cref="ApplicationCount" /> property.</summary>
        private Commvault.Powershell.Models.IKubernetesApplicationCountInfo _applicationCount;

        /// <summary>Describe the Backup info for a Kubernetes Application</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IKubernetesApplicationCountInfo ApplicationCount { get => (this._applicationCount = this._applicationCount ?? new Commvault.Powershell.Models.KubernetesApplicationCountInfo()); set => this._applicationCount = value; }

        /// <summary>Count of Applications Backed up with errors</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? ApplicationCountBackupUpWithErrorCount { get => ((Commvault.Powershell.Models.IKubernetesApplicationCountInfoInternal)ApplicationCount).BackupUpWithErrorCount; set => ((Commvault.Powershell.Models.IKubernetesApplicationCountInfoInternal)ApplicationCount).BackupUpWithErrorCount = value ?? default(long); }

        /// <summary>Count of Applications Never Backed up</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? ApplicationCountNeverBackedUpCount { get => ((Commvault.Powershell.Models.IKubernetesApplicationCountInfoInternal)ApplicationCount).NeverBackedUpCount; set => ((Commvault.Powershell.Models.IKubernetesApplicationCountInfoInternal)ApplicationCount).NeverBackedUpCount = value ?? default(long); }

        /// <summary>Count of Applications Not Protected</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? ApplicationCountNotProtectedCount { get => ((Commvault.Powershell.Models.IKubernetesApplicationCountInfoInternal)ApplicationCount).NotProtectedCount; set => ((Commvault.Powershell.Models.IKubernetesApplicationCountInfoInternal)ApplicationCount).NotProtectedCount = value ?? default(long); }

        /// <summary>Count of Applications Pending backup</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? ApplicationCountPendingCount { get => ((Commvault.Powershell.Models.IKubernetesApplicationCountInfoInternal)ApplicationCount).PendingCount; set => ((Commvault.Powershell.Models.IKubernetesApplicationCountInfoInternal)ApplicationCount).PendingCount = value ?? default(long); }

        /// <summary>Count of Applications Protected</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? ApplicationCountProtectedCount { get => ((Commvault.Powershell.Models.IKubernetesApplicationCountInfoInternal)ApplicationCount).ProtectedCount; set => ((Commvault.Powershell.Models.IKubernetesApplicationCountInfoInternal)ApplicationCount).ProtectedCount = value ?? default(long); }

        /// <summary>Count of total number of Applications</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? ApplicationCountTotalCount { get => ((Commvault.Powershell.Models.IKubernetesApplicationCountInfoInternal)ApplicationCount).TotalCount; set => ((Commvault.Powershell.Models.IKubernetesApplicationCountInfoInternal)ApplicationCount).TotalCount = value ?? default(long); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public Commvault.Powershell.Models.IIdName Backupset { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupCommonPropsInternal)__kubernetesApplicationGroupSummaryInfo).Backupset; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupCommonPropsInternal)__kubernetesApplicationGroupSummaryInfo).Backupset = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public long? BackupsetId { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupCommonPropsInternal)__kubernetesApplicationGroupSummaryInfo).BackupsetId; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupCommonPropsInternal)__kubernetesApplicationGroupSummaryInfo).BackupsetId = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public string BackupsetName { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupCommonPropsInternal)__kubernetesApplicationGroupSummaryInfo).BackupsetName; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupCommonPropsInternal)__kubernetesApplicationGroupSummaryInfo).BackupsetName = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public Commvault.Powershell.Models.IIdNameDisplayName Cluster { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupCommonPropsInternal)__kubernetesApplicationGroupSummaryInfo).Cluster; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupCommonPropsInternal)__kubernetesApplicationGroupSummaryInfo).Cluster = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public string ClusterDisplayName { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupCommonPropsInternal)__kubernetesApplicationGroupSummaryInfo).ClusterDisplayName; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupCommonPropsInternal)__kubernetesApplicationGroupSummaryInfo).ClusterDisplayName = value; }

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

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

        /// <summary>Internal Acessors for ApplicationCount</summary>
        Commvault.Powershell.Models.IKubernetesApplicationCountInfo Commvault.Powershell.Models.IGetApplicationGroupDetailsInternal.ApplicationCount { get => (this._applicationCount = this._applicationCount ?? new Commvault.Powershell.Models.KubernetesApplicationCountInfo()); set { {_applicationCount = value;} } }

        /// <summary>Item to describe the applications and label selectors</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public Commvault.Powershell.Models.IKubernetesApplicationGroupContentItem Content { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).Content; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).Content = value; }

        /// <summary>List of applications to be added as content</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public Commvault.Powershell.Models.IKubernetesContentApplications[] ContentApplications { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).ContentApplications; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).ContentApplications = value; }

        /// <summary>List of label selectors to be added as content</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public Commvault.Powershell.Models.IKubernetesContentSelectors[] ContentLabelSelectors { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).ContentLabelSelectors; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).ContentLabelSelectors = value; }

        /// <summary>List of applications to be added as content</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public Commvault.Powershell.Models.IKubernetesContentApplications[] FilterApplications { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).FilterApplications; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).FilterApplications = value; }

        /// <summary>List of label selectors to be added as content</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public Commvault.Powershell.Models.IKubernetesContentSelectors[] FilterLabelSelectors { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).FilterLabelSelectors; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).FilterLabelSelectors = value; }

        /// <summary>Specify whether to skip backup of stateless applications</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public bool? FilterSkipStatelessApps { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).FilterSkipStatelessApps; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).FilterSkipStatelessApps = value; }

        /// <summary>Item to describe the applications and label selectors for filters</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public Commvault.Powershell.Models.IKubernetesApplicationGroupFilterItem Filters { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).Filters; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).Filters = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public long? Id { get => ((Commvault.Powershell.Models.IIdNameInternal)__idName).Id; set => ((Commvault.Powershell.Models.IIdNameInternal)__idName).Id = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public Commvault.Powershell.Models.IIdName Instance { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupCommonPropsInternal)__kubernetesApplicationGroupSummaryInfo).Instance; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupCommonPropsInternal)__kubernetesApplicationGroupSummaryInfo).Instance = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public long? InstanceId { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupCommonPropsInternal)__kubernetesApplicationGroupSummaryInfo).InstanceId; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupCommonPropsInternal)__kubernetesApplicationGroupSummaryInfo).InstanceId = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public string InstanceName { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupCommonPropsInternal)__kubernetesApplicationGroupSummaryInfo).InstanceName; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupCommonPropsInternal)__kubernetesApplicationGroupSummaryInfo).InstanceName = value; }

        /// <summary>Describes if the Application Group is a default Application Group</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public bool? IsDefaultApplicationGroup { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).IsDefaultApplicationGroup; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).IsDefaultApplicationGroup = value; }

        /// <summary>Describes if the Application Group is an ETCD Application Group</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public bool? IsEtcdApplicationGroup { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).IsEtcdApplicationGroup; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).IsEtcdApplicationGroup = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public Commvault.Powershell.Models.ILastBackupJobInfo LastBackup { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).LastBackup; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).LastBackup = value; }

        /// <summary>Gives the reason for the last backup job failing, if the last backup job fails.</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public string LastBackupFailureReason { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).LastBackupFailureReason; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).LastBackupFailureReason = value; }

        /// <summary>Returns the job id of the last backup job performed.</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public long? LastBackupJobId { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).LastBackupJobId; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).LastBackupJobId = value; }

        /// <summary>Status of the last backup job performed.</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public string LastBackupStatus { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).LastBackupStatus; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).LastBackupStatus = value; }

        /// <summary>
        /// Shows the time when the last back up job was carried out. The time is provided in unix time format.
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public long? LastBackupTime { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).LastBackupTime; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).LastBackupTime = value; }

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

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public long? NextBackupTime { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).NextBackupTime; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).NextBackupTime = value; }

        /// <summary>Define number of parallel data readers</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public long? OptionBackupStreams { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).OptionBackupStreams; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).OptionBackupStreams = value; }

        /// <summary>Define the backup job start time in epochs</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public long? OptionJobStartTime { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).OptionJobStartTime; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).OptionJobStartTime = value; }

        /// <summary>Define setting to enable fallback to live volume backup in case of snap failure</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public bool? OptionOnSnapFailureFallbackToLiveVolume { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).OptionOnSnapFailureFallbackToLiveVolume; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).OptionOnSnapFailureFallbackToLiveVolume = value; }

        /// <summary>
        /// Define setting to enable scheduling worker Pods to CV Namespace for CSI-Snapshot enabled backups
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public bool? OptionScheduleWorkerToConfigNamespace { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).OptionScheduleWorkerToConfigNamespace; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).OptionScheduleWorkerToConfigNamespace = value; }

        /// <summary>Application Group Worker Pod Resources Options</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public Commvault.Powershell.Models.IApplicationGroupWorkerResourcesOptions OptionWorkerResources { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).OptionWorkerResources; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).OptionWorkerResources = value; }

        /// <summary>Application Group Backup Options</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public Commvault.Powershell.Models.IApplicationGroupGetOptions Options { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).Options; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).Options = value; }

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

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

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

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public Commvault.Powershell.Models.IIdNameValue[] Tags { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).Tags; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).Tags = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public Commvault.Powershell.Models.IIdName Timezone { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).Timezone; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).Timezone = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public long? TimezoneId { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).TimezoneId; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).TimezoneId = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public string TimezoneName { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).TimezoneName; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).TimezoneName = value; }

        /// <summary>Define limits.cpu to set on the worker Pod</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public string WorkerResourceCpuLimits { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).WorkerResourceCpuLimits; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).WorkerResourceCpuLimits = value; }

        /// <summary>Define requests.cpu to set on the worker Pod</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public string WorkerResourceCpuRequests { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).WorkerResourceCpuRequests; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).WorkerResourceCpuRequests = value; }

        /// <summary>Define limits.memory to set on the worker Pod</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public string WorkerResourceMemoryLimits { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).WorkerResourceMemoryLimits; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).WorkerResourceMemoryLimits = value; }

        /// <summary>Define requests.memory to set on the worker Pod</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public string WorkerResourceMemoryRequests { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).WorkerResourceMemoryRequests; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal)__kubernetesApplicationGroupSummaryInfo).WorkerResourceMemoryRequests = value; }

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

        }

        /// <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(__idName), __idName);
            await eventListener.AssertObjectIsValid(nameof(__idName), __idName);
            await eventListener.AssertNotNull(nameof(__kubernetesApplicationGroupSummaryInfo), __kubernetesApplicationGroupSummaryInfo);
            await eventListener.AssertObjectIsValid(nameof(__kubernetesApplicationGroupSummaryInfo), __kubernetesApplicationGroupSummaryInfo);
        }
    }
    /// Get Application Group Details
    public partial interface IGetApplicationGroupDetails :
        Commvault.Powershell.Runtime.IJsonSerializable,
        Commvault.Powershell.Models.IIdName,
        Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfo
    {
        /// <summary>Count of Applications Backed up with errors</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Count of Applications Backed up with errors",
        SerializedName = @"backupUpWithErrorCount",
        PossibleTypes = new [] { typeof(long) })]
        long? ApplicationCountBackupUpWithErrorCount { get; set; }
        /// <summary>Count of Applications Never Backed up</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Count of Applications Never Backed up",
        SerializedName = @"neverBackedUpCount",
        PossibleTypes = new [] { typeof(long) })]
        long? ApplicationCountNeverBackedUpCount { get; set; }
        /// <summary>Count of Applications Not Protected</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Count of Applications Not Protected",
        SerializedName = @"notProtectedCount",
        PossibleTypes = new [] { typeof(long) })]
        long? ApplicationCountNotProtectedCount { get; set; }
        /// <summary>Count of Applications Pending backup</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Count of Applications Pending backup",
        SerializedName = @"pendingCount",
        PossibleTypes = new [] { typeof(long) })]
        long? ApplicationCountPendingCount { get; set; }
        /// <summary>Count of Applications Protected</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Count of Applications Protected",
        SerializedName = @"protectedCount",
        PossibleTypes = new [] { typeof(long) })]
        long? ApplicationCountProtectedCount { get; set; }
        /// <summary>Count of total number of Applications</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Count of total number of Applications",
        SerializedName = @"totalCount",
        PossibleTypes = new [] { typeof(long) })]
        long? ApplicationCountTotalCount { get; set; }

    }
    /// Get Application Group Details
    internal partial interface IGetApplicationGroupDetailsInternal :
        Commvault.Powershell.Models.IIdNameInternal,
        Commvault.Powershell.Models.IKubernetesApplicationGroupSummaryInfoInternal
    {
        /// <summary>Describe the Backup info for a Kubernetes Application</summary>
        Commvault.Powershell.Models.IKubernetesApplicationCountInfo ApplicationCount { get; set; }
        /// <summary>Count of Applications Backed up with errors</summary>
        long? ApplicationCountBackupUpWithErrorCount { get; set; }
        /// <summary>Count of Applications Never Backed up</summary>
        long? ApplicationCountNeverBackedUpCount { get; set; }
        /// <summary>Count of Applications Not Protected</summary>
        long? ApplicationCountNotProtectedCount { get; set; }
        /// <summary>Count of Applications Pending backup</summary>
        long? ApplicationCountPendingCount { get; set; }
        /// <summary>Count of Applications Protected</summary>
        long? ApplicationCountProtectedCount { get; set; }
        /// <summary>Count of total number of Applications</summary>
        long? ApplicationCountTotalCount { get; set; }

    }
}