generated/api/Models/ApplicationGroupRequestInputs.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>Application Group Request Inputs</summary>
    public partial class ApplicationGroupRequestInputs :
        Commvault.Powershell.Models.IApplicationGroupRequestInputs,
        Commvault.Powershell.Models.IApplicationGroupRequestInputsInternal
    {

        /// <summary>Internal Acessors for Content</summary>
        Commvault.Powershell.Models.IKubernetesApplicationGroupContent Commvault.Powershell.Models.IApplicationGroupRequestInputsInternal.Content { get => (this._content = this._content ?? new Commvault.Powershell.Models.KubernetesApplicationGroupContent()); set { {_content = value;} } }

        /// <summary>Internal Acessors for Filters</summary>
        Commvault.Powershell.Models.IKubernetesApplicationGroupFilters Commvault.Powershell.Models.IApplicationGroupRequestInputsInternal.Filters { get => (this._filters = this._filters ?? new Commvault.Powershell.Models.KubernetesApplicationGroupFilters()); set { {_filters = value;} } }

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

        /// <summary>Backing field for <see cref="Content" /> property.</summary>
        private Commvault.Powershell.Models.IKubernetesApplicationGroupContent _content;

        /// <summary>Item describing the content for Application Group</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IKubernetesApplicationGroupContent Content { get => (this._content = this._content ?? new Commvault.Powershell.Models.KubernetesApplicationGroupContent()); set => this._content = value; }

        /// <summary>List of applications to be added as content</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public Commvault.Powershell.Models.IKubernetesContentApplications[] ContentApplications { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupContentItemInternal)Content).Applications; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupContentItemInternal)Content).Applications = value ?? null /* arrayOf */; }

        /// <summary>List of label selectors to be added as content</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public Commvault.Powershell.Models.IKubernetesContentSelectors[] ContentLabelSelectors { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupContentItemInternal)Content).LabelSelectors; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupContentItemInternal)Content).LabelSelectors = value ?? null /* arrayOf */; }

        /// <summary>Specifies whether content has to be overwritten or appended</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? ContentOverwrite { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupContentInternal)Content).Overwrite; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupContentInternal)Content).Overwrite = value ?? default(bool); }

        /// <summary>List of applications to be added as content</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public Commvault.Powershell.Models.IKubernetesContentApplications[] FilterApplications { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupContentItemInternal)Filters).Applications; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupContentItemInternal)Filters).Applications = value ?? null /* arrayOf */; }

        /// <summary>List of label selectors to be added as content</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public Commvault.Powershell.Models.IKubernetesContentSelectors[] FilterLabelSelectors { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupContentItemInternal)Filters).LabelSelectors; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupContentItemInternal)Filters).LabelSelectors = value ?? null /* arrayOf */; }

        /// <summary>Specifies whether content has to be overwritten or appended</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? FilterOverwrite { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupFiltersInternal)Filters).Overwrite; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupFiltersInternal)Filters).Overwrite = value ?? default(bool); }

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

        /// <summary>Backing field for <see cref="Filters" /> property.</summary>
        private Commvault.Powershell.Models.IKubernetesApplicationGroupFilters _filters;

        /// <summary>Kubernetes Application Group Filter</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IKubernetesApplicationGroupFilters Filters { get => (this._filters = this._filters ?? new Commvault.Powershell.Models.KubernetesApplicationGroupFilters()); set => this._filters = value; }

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

        /// <summary>Specify new name to rename an 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>Creates an new <see cref="ApplicationGroupRequestInputs" /> instance.</summary>
        public ApplicationGroupRequestInputs()
        {

        }
    }
    /// Application Group Request Inputs
    public partial interface IApplicationGroupRequestInputs :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <summary>List of applications to be added as content</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"List of applications to be added as content",
        SerializedName = @"applications",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IKubernetesContentApplications) })]
        Commvault.Powershell.Models.IKubernetesContentApplications[] ContentApplications { get; set; }
        /// <summary>List of label selectors to be added as content</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"List of label selectors to be added as content",
        SerializedName = @"labelSelectors",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IKubernetesContentSelectors) })]
        Commvault.Powershell.Models.IKubernetesContentSelectors[] ContentLabelSelectors { get; set; }
        /// <summary>Specifies whether content has to be overwritten or appended</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Specifies whether content has to be overwritten or appended",
        SerializedName = @"overwrite",
        PossibleTypes = new [] { typeof(bool) })]
        bool? ContentOverwrite { get; set; }
        /// <summary>List of applications to be added as content</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"List of applications to be added as content",
        SerializedName = @"applications",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IKubernetesContentApplications) })]
        Commvault.Powershell.Models.IKubernetesContentApplications[] FilterApplications { get; set; }
        /// <summary>List of label selectors to be added as content</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"List of label selectors to be added as content",
        SerializedName = @"labelSelectors",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IKubernetesContentSelectors) })]
        Commvault.Powershell.Models.IKubernetesContentSelectors[] FilterLabelSelectors { get; set; }
        /// <summary>Specifies whether content has to be overwritten or appended</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Specifies whether content has to be overwritten or appended",
        SerializedName = @"overwrite",
        PossibleTypes = new [] { typeof(bool) })]
        bool? FilterOverwrite { get; set; }
        /// <summary>Specify whether to skip backup of stateless applications</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Specify whether to skip backup of stateless applications",
        SerializedName = @"skipStatelessApps",
        PossibleTypes = new [] { typeof(bool) })]
        bool? FilterSkipStatelessApps { get; set; }
        /// <summary>Specify new name to rename an Application Group</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Specify new name to rename an 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; }

    }
    /// Application Group Request Inputs
    internal partial interface IApplicationGroupRequestInputsInternal

    {
        /// <summary>Item describing the content for Application Group</summary>
        Commvault.Powershell.Models.IKubernetesApplicationGroupContent Content { get; set; }
        /// <summary>List of applications to be added as content</summary>
        Commvault.Powershell.Models.IKubernetesContentApplications[] ContentApplications { get; set; }
        /// <summary>List of label selectors to be added as content</summary>
        Commvault.Powershell.Models.IKubernetesContentSelectors[] ContentLabelSelectors { get; set; }
        /// <summary>Specifies whether content has to be overwritten or appended</summary>
        bool? ContentOverwrite { get; set; }
        /// <summary>List of applications to be added as content</summary>
        Commvault.Powershell.Models.IKubernetesContentApplications[] FilterApplications { get; set; }
        /// <summary>List of label selectors to be added as content</summary>
        Commvault.Powershell.Models.IKubernetesContentSelectors[] FilterLabelSelectors { get; set; }
        /// <summary>Specifies whether content has to be overwritten or appended</summary>
        bool? FilterOverwrite { get; set; }
        /// <summary>Specify whether to skip backup of stateless applications</summary>
        bool? FilterSkipStatelessApps { get; set; }
        /// <summary>Kubernetes Application Group Filter</summary>
        Commvault.Powershell.Models.IKubernetesApplicationGroupFilters Filters { get; set; }
        /// <summary>Specify new name to rename an Application Group</summary>
        string Name { get; set; }

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

        long? PlanId { get; set; }

        string PlanName { get; set; }

    }
}