generated/api/Models/KubernetesApplicationGroupPreviewReq.cs

// Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.10.2, generator: @autorest/powershell@4.0.708)
// 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 Preview Request</summary>
    public partial class KubernetesApplicationGroupPreviewReq :
        Commvault.Powershell.Models.IKubernetesApplicationGroupPreviewReq,
        Commvault.Powershell.Models.IKubernetesApplicationGroupPreviewReqInternal
    {

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

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

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

        /// <summary>Item to describe the applications and label selectors</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IKubernetesApplicationGroupContentItem Content { get => (this._content = this._content ?? new Commvault.Powershell.Models.KubernetesApplicationGroupContentItem()); set => this._content = value; }

        /// <summary>List of applications to be added as content</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public System.Collections.Generic.List<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 System.Collections.Generic.List<Commvault.Powershell.Models.IKubernetesContentSelectors> ContentLabelSelectors { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupContentItemInternal)Content).LabelSelectors; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupContentItemInternal)Content).LabelSelectors = value ?? null /* arrayOf */; }

        /// <summary>List of applications to be added as content</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public System.Collections.Generic.List<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 System.Collections.Generic.List<Commvault.Powershell.Models.IKubernetesContentSelectors> FilterLabelSelectors { get => ((Commvault.Powershell.Models.IKubernetesApplicationGroupContentItemInternal)Filters).LabelSelectors; set => ((Commvault.Powershell.Models.IKubernetesApplicationGroupContentItemInternal)Filters).LabelSelectors = value ?? null /* arrayOf */; }

        /// <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.IKubernetesApplicationGroupFilterItem _filters;

        /// <summary>Item to describe the applications and label selectors for filters</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IKubernetesApplicationGroupFilterItem Filters { get => (this._filters = this._filters ?? new Commvault.Powershell.Models.KubernetesApplicationGroupFilterItem()); set => this._filters = value; }

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

        }
    }
    /// Application Group Preview Request
    public partial interface IKubernetesApplicationGroupPreviewReq :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <summary>List of applications to be added as content</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"List of applications to be added as content",
        SerializedName = @"applications",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IKubernetesContentApplications) })]
        System.Collections.Generic.List<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,
        Read = true,
        Create = true,
        Update = true,
        Description = @"List of label selectors to be added as content",
        SerializedName = @"labelSelectors",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IKubernetesContentSelectors) })]
        System.Collections.Generic.List<Commvault.Powershell.Models.IKubernetesContentSelectors> ContentLabelSelectors { get; set; }
        /// <summary>List of applications to be added as content</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"List of applications to be added as content",
        SerializedName = @"applications",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IKubernetesContentApplications) })]
        System.Collections.Generic.List<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,
        Read = true,
        Create = true,
        Update = true,
        Description = @"List of label selectors to be added as content",
        SerializedName = @"labelSelectors",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IKubernetesContentSelectors) })]
        System.Collections.Generic.List<Commvault.Powershell.Models.IKubernetesContentSelectors> FilterLabelSelectors { get; set; }
        /// <summary>Specify whether to skip backup of stateless applications</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"Specify whether to skip backup of stateless applications",
        SerializedName = @"skipStatelessApps",
        PossibleTypes = new [] { typeof(bool) })]
        bool? FilterSkipStatelessApps { get; set; }

    }
    /// Application Group Preview Request
    internal partial interface IKubernetesApplicationGroupPreviewReqInternal

    {
        /// <summary>Item to describe the applications and label selectors</summary>
        Commvault.Powershell.Models.IKubernetesApplicationGroupContentItem Content { get; set; }
        /// <summary>List of applications to be added as content</summary>
        System.Collections.Generic.List<Commvault.Powershell.Models.IKubernetesContentApplications> ContentApplications { get; set; }
        /// <summary>List of label selectors to be added as content</summary>
        System.Collections.Generic.List<Commvault.Powershell.Models.IKubernetesContentSelectors> ContentLabelSelectors { get; set; }
        /// <summary>List of applications to be added as content</summary>
        System.Collections.Generic.List<Commvault.Powershell.Models.IKubernetesContentApplications> FilterApplications { get; set; }
        /// <summary>List of label selectors to be added as content</summary>
        System.Collections.Generic.List<Commvault.Powershell.Models.IKubernetesContentSelectors> FilterLabelSelectors { get; set; }
        /// <summary>Specify whether to skip backup of stateless applications</summary>
        bool? FilterSkipStatelessApps { get; set; }
        /// <summary>Item to describe the applications and label selectors for filters</summary>
        Commvault.Powershell.Models.IKubernetesApplicationGroupFilterItem Filters { get; set; }

    }
}