generated/api/Models/VendorResp.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>VendorResp</summary>
    public partial class VendorResp :
        Commvault.Powershell.Models.IVendorResp,
        Commvault.Powershell.Models.IVendorRespInternal
    {

        /// <summary>Backing field for <see cref="Capabilities" /> property.</summary>
        private Commvault.Powershell.Models.IVendorCapabilities _capabilities;

        /// <summary>VendorCapabilities</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IVendorCapabilities Capabilities { get => (this._capabilities = this._capabilities ?? new Commvault.Powershell.Models.VendorCapabilities()); set => this._capabilities = value; }

        /// <summary>Set to true if the array belongs to a device group</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? CapabilityEnableArrayDeviceGroup { get => ((Commvault.Powershell.Models.IVendorCapabilitiesInternal)Capabilities).EnableArrayDeviceGroup; set => ((Commvault.Powershell.Models.IVendorCapabilitiesInternal)Capabilities).EnableArrayDeviceGroup = value ?? default(bool); }

        /// <summary>Set to true if name of the array can be changed</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? CapabilityEnableArrayNameChange { get => ((Commvault.Powershell.Models.IVendorCapabilitiesInternal)Capabilities).EnableArrayNameChange; set => ((Commvault.Powershell.Models.IVendorCapabilitiesInternal)Capabilities).EnableArrayNameChange = value ?? default(bool); }

        /// <summary>
        /// Set to true if array type is enabled for the NetApp and AWS to establish subtypes of vendors
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? CapabilityEnableArrayType { get => ((Commvault.Powershell.Models.IVendorCapabilitiesInternal)Capabilities).EnableArrayType; set => ((Commvault.Powershell.Models.IVendorCapabilitiesInternal)Capabilities).EnableArrayType = value ?? default(bool); }

        /// <summary>Set to true if control host is enabled for the vendor</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? CapabilityEnableControlHost { get => ((Commvault.Powershell.Models.IVendorCapabilitiesInternal)Capabilities).EnableControlHost; set => ((Commvault.Powershell.Models.IVendorCapabilitiesInternal)Capabilities).EnableControlHost = value ?? default(bool); }

        /// <summary>Set to true if the host belongs to a device group</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? CapabilityEnableHostDeviceGroup { get => ((Commvault.Powershell.Models.IVendorCapabilitiesInternal)Capabilities).EnableHostDeviceGroup; set => ((Commvault.Powershell.Models.IVendorCapabilitiesInternal)Capabilities).EnableHostDeviceGroup = value ?? default(bool); }

        /// <summary>Set to true if NetApp Cloud Account is enabled for the vendor</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? CapabilityEnableNetAppCloudAccount { get => ((Commvault.Powershell.Models.IVendorCapabilitiesInternal)Capabilities).EnableNetAppCloudAccount; set => ((Commvault.Powershell.Models.IVendorCapabilitiesInternal)Capabilities).EnableNetAppCloudAccount = value ?? default(bool); }

        /// <summary>Set to true if password is enabled for the vendor</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? CapabilityEnablePassword { get => ((Commvault.Powershell.Models.IVendorCapabilitiesInternal)Capabilities).EnablePassword; set => ((Commvault.Powershell.Models.IVendorCapabilitiesInternal)Capabilities).EnablePassword = value ?? default(bool); }

        /// <summary>Set to true if username is enabled for the vendor</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? CapabilityEnableUserName { get => ((Commvault.Powershell.Models.IVendorCapabilitiesInternal)Capabilities).EnableUserName; set => ((Commvault.Powershell.Models.IVendorCapabilitiesInternal)Capabilities).EnableUserName = value ?? default(bool); }

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

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? CloudVendorId { get => this._cloudVendorId; set => this._cloudVendorId = value; }

        /// <summary>Internal Acessors for Capabilities</summary>
        Commvault.Powershell.Models.IVendorCapabilities Commvault.Powershell.Models.IVendorRespInternal.Capabilities { get => (this._capabilities = this._capabilities ?? new Commvault.Powershell.Models.VendorCapabilities()); set { {_capabilities = value;} } }

        /// <summary>Internal Acessors for Label</summary>
        Commvault.Powershell.Models.IArrayLabel Commvault.Powershell.Models.IVendorRespInternal.Label { get => (this._label = this._label ?? new Commvault.Powershell.Models.ArrayLabel()); set { {_label = value;} } }

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

        /// <summary>Backing field for <see cref="Label" /> property.</summary>
        private Commvault.Powershell.Models.IArrayLabel _label;

        /// <summary>Labels for array entities to be displayed on the CC page</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IArrayLabel Label { get => (this._label = this._label ?? new Commvault.Powershell.Models.ArrayLabel()); set => this._label = value; }

        /// <summary>Label for array control host</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string LabelControlHost { get => ((Commvault.Powershell.Models.IArrayLabelInternal)Label).ControlHost; set => ((Commvault.Powershell.Models.IArrayLabelInternal)Label).ControlHost = value ?? null; }

        /// <summary>Label for array name</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string LabelName { get => ((Commvault.Powershell.Models.IArrayLabelInternal)Label).Name; set => ((Commvault.Powershell.Models.IArrayLabelInternal)Label).Name = value ?? null; }

        /// <summary>Label for array password</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string LabelPassword { get => ((Commvault.Powershell.Models.IArrayLabelInternal)Label).Password; set => ((Commvault.Powershell.Models.IArrayLabelInternal)Label).Password = value ?? null; }

        /// <summary>Label for array username</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string LabelUserName { get => ((Commvault.Powershell.Models.IArrayLabelInternal)Label).UserName; set => ((Commvault.Powershell.Models.IArrayLabelInternal)Label).UserName = value ?? null; }

        /// <summary>Backing field for <see cref="SnapVendor" /> property.</summary>
        private Commvault.Powershell.Models.IIdName _snapVendor;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IIdName SnapVendor { get => (this._snapVendor = this._snapVendor ?? new Commvault.Powershell.Models.IdName()); set => this._snapVendor = value; }

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

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

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

        }
    }
    /// VendorResp
    public partial interface IVendorResp :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <summary>Set to true if the array belongs to a device group</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Set to true if the array belongs to a device group",
        SerializedName = @"enableArrayDeviceGroup",
        PossibleTypes = new [] { typeof(bool) })]
        bool? CapabilityEnableArrayDeviceGroup { get; set; }
        /// <summary>Set to true if name of the array can be changed</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Set to true if name of the array can be changed",
        SerializedName = @"enableArrayNameChange",
        PossibleTypes = new [] { typeof(bool) })]
        bool? CapabilityEnableArrayNameChange { get; set; }
        /// <summary>
        /// Set to true if array type is enabled for the NetApp and AWS to establish subtypes of vendors
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Set to true if array type is enabled for the NetApp and AWS to establish subtypes of vendors",
        SerializedName = @"enableArrayType",
        PossibleTypes = new [] { typeof(bool) })]
        bool? CapabilityEnableArrayType { get; set; }
        /// <summary>Set to true if control host is enabled for the vendor</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Set to true if control host is enabled for the vendor",
        SerializedName = @"enableControlHost",
        PossibleTypes = new [] { typeof(bool) })]
        bool? CapabilityEnableControlHost { get; set; }
        /// <summary>Set to true if the host belongs to a device group</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Set to true if the host belongs to a device group",
        SerializedName = @"enableHostDeviceGroup",
        PossibleTypes = new [] { typeof(bool) })]
        bool? CapabilityEnableHostDeviceGroup { get; set; }
        /// <summary>Set to true if NetApp Cloud Account is enabled for the vendor</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Set to true if NetApp Cloud Account is enabled for the vendor",
        SerializedName = @"enableNetAppCloudAccount",
        PossibleTypes = new [] { typeof(bool) })]
        bool? CapabilityEnableNetAppCloudAccount { get; set; }
        /// <summary>Set to true if password is enabled for the vendor</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Set to true if password is enabled for the vendor",
        SerializedName = @"enablePassword",
        PossibleTypes = new [] { typeof(bool) })]
        bool? CapabilityEnablePassword { get; set; }
        /// <summary>Set to true if username is enabled for the vendor</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Set to true if username is enabled for the vendor",
        SerializedName = @"enableUserName",
        PossibleTypes = new [] { typeof(bool) })]
        bool? CapabilityEnableUserName { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"cloudVendorId",
        PossibleTypes = new [] { typeof(long) })]
        long? CloudVendorId { get; set; }
        /// <summary>Label for array control host</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Label for array control host",
        SerializedName = @"controlHost",
        PossibleTypes = new [] { typeof(string) })]
        string LabelControlHost { get; set; }
        /// <summary>Label for array name</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Label for array name",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string LabelName { get; set; }
        /// <summary>Label for array password</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Label for array password",
        SerializedName = @"password",
        PossibleTypes = new [] { typeof(string) })]
        string LabelPassword { get; set; }
        /// <summary>Label for array username</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Label for array username",
        SerializedName = @"userName",
        PossibleTypes = new [] { typeof(string) })]
        string LabelUserName { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"id",
        PossibleTypes = new [] { typeof(long) })]
        long? SnapVendorId { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string SnapVendorName { get; set; }

    }
    /// VendorResp
    internal partial interface IVendorRespInternal

    {
        /// <summary>VendorCapabilities</summary>
        Commvault.Powershell.Models.IVendorCapabilities Capabilities { get; set; }
        /// <summary>Set to true if the array belongs to a device group</summary>
        bool? CapabilityEnableArrayDeviceGroup { get; set; }
        /// <summary>Set to true if name of the array can be changed</summary>
        bool? CapabilityEnableArrayNameChange { get; set; }
        /// <summary>
        /// Set to true if array type is enabled for the NetApp and AWS to establish subtypes of vendors
        /// </summary>
        bool? CapabilityEnableArrayType { get; set; }
        /// <summary>Set to true if control host is enabled for the vendor</summary>
        bool? CapabilityEnableControlHost { get; set; }
        /// <summary>Set to true if the host belongs to a device group</summary>
        bool? CapabilityEnableHostDeviceGroup { get; set; }
        /// <summary>Set to true if NetApp Cloud Account is enabled for the vendor</summary>
        bool? CapabilityEnableNetAppCloudAccount { get; set; }
        /// <summary>Set to true if password is enabled for the vendor</summary>
        bool? CapabilityEnablePassword { get; set; }
        /// <summary>Set to true if username is enabled for the vendor</summary>
        bool? CapabilityEnableUserName { get; set; }

        long? CloudVendorId { get; set; }
        /// <summary>Labels for array entities to be displayed on the CC page</summary>
        Commvault.Powershell.Models.IArrayLabel Label { get; set; }
        /// <summary>Label for array control host</summary>
        string LabelControlHost { get; set; }
        /// <summary>Label for array name</summary>
        string LabelName { get; set; }
        /// <summary>Label for array password</summary>
        string LabelPassword { get; set; }
        /// <summary>Label for array username</summary>
        string LabelUserName { get; set; }

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

        long? SnapVendorId { get; set; }

        string SnapVendorName { get; set; }

    }
}