generated/api/Models/VMConnectionDetails.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>VMConnectionDetails</summary>
    public partial class VMConnectionDetails :
        Commvault.Powershell.Models.IVMConnectionDetails,
        Commvault.Powershell.Models.IVMConnectionDetailsInternal
    {

        /// <summary>Internal Acessors for CCredCredentials</summary>
        Commvault.Powershell.Models.IUserNamePassword Commvault.Powershell.Models.IVMConnectionDetailsInternal.CCredCredentials { get => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)CsCreds).Credentials; set => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)CsCreds).Credentials = value; }

        /// <summary>Internal Acessors for CCredSavedCredentials</summary>
        Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.IVMConnectionDetailsInternal.CCredSavedCredentials { get => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)CsCreds).SavedCredentials; set => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)CsCreds).SavedCredentials = value; }

        /// <summary>Internal Acessors for CsCreds</summary>
        Commvault.Powershell.Models.IGuestCredentialInfo Commvault.Powershell.Models.IVMConnectionDetailsInternal.CsCreds { get => (this._csCreds = this._csCreds ?? new Commvault.Powershell.Models.GuestCredentialInfo()); set { {_csCreds = value;} } }

        /// <summary>Internal Acessors for DomainCredCredentials</summary>
        Commvault.Powershell.Models.IUserNamePassword Commvault.Powershell.Models.IVMConnectionDetailsInternal.DomainCredCredentials { get => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)DomainCreds).Credentials; set => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)DomainCreds).Credentials = value; }

        /// <summary>Internal Acessors for DomainCredSavedCredentials</summary>
        Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.IVMConnectionDetailsInternal.DomainCredSavedCredentials { get => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)DomainCreds).SavedCredentials; set => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)DomainCreds).SavedCredentials = value; }

        /// <summary>Internal Acessors for DomainCreds</summary>
        Commvault.Powershell.Models.IGuestCredentialInfo Commvault.Powershell.Models.IVMConnectionDetailsInternal.DomainCreds { get => (this._domainCreds = this._domainCreds ?? new Commvault.Powershell.Models.GuestCredentialInfo()); set { {_domainCreds = value;} } }

        /// <summary>Internal Acessors for GuestCredCredentials</summary>
        Commvault.Powershell.Models.IUserNamePassword Commvault.Powershell.Models.IVMConnectionDetailsInternal.GuestCredCredentials { get => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)GuestCreds).Credentials; set => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)GuestCreds).Credentials = value; }

        /// <summary>Internal Acessors for GuestCredSavedCredentials</summary>
        Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.IVMConnectionDetailsInternal.GuestCredSavedCredentials { get => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)GuestCreds).SavedCredentials; set => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)GuestCreds).SavedCredentials = value; }

        /// <summary>Internal Acessors for GuestCreds</summary>
        Commvault.Powershell.Models.IGuestCredentialInfo Commvault.Powershell.Models.IVMConnectionDetailsInternal.GuestCreds { get => (this._guestCreds = this._guestCreds ?? new Commvault.Powershell.Models.GuestCredentialInfo()); set { {_guestCreds = value;} } }

        /// <summary>Internal Acessors for TopologyDetails</summary>
        Commvault.Powershell.Models.IVMTopologyDetails Commvault.Powershell.Models.IVMConnectionDetailsInternal.TopologyDetails { get => (this._topologyDetails = this._topologyDetails ?? new Commvault.Powershell.Models.VMTopologyDetails()); set { {_topologyDetails = value;} } }

        /// <summary>Backing field for <see cref="CsCreds" /> property.</summary>
        private Commvault.Powershell.Models.IGuestCredentialInfo _csCreds;

        /// <summary>guestCredentialInfo</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IGuestCredentialInfo CsCreds { get => (this._csCreds = this._csCreds ?? new Commvault.Powershell.Models.GuestCredentialInfo()); set => this._csCreds = value; }

        /// <summary>username to access the network path</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string CsCredsCredentialsName { get => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)CsCreds).CredentialsName; set => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)CsCreds).CredentialsName = value ?? null; }

        /// <summary>password to access the network path</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string CsCredsCredentialsPassword { get => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)CsCreds).CredentialsPassword; set => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)CsCreds).CredentialsPassword = value ?? null; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? CsCredsSavedCredentialsId { get => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)CsCreds).SavedCredentialsId; set => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)CsCreds).SavedCredentialsId = value ?? default(long); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string CsCredsSavedCredentialsName { get => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)CsCreds).SavedCredentialsName; set => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)CsCreds).SavedCredentialsName = value ?? null; }

        /// <summary>Backing field for <see cref="DomainCreds" /> property.</summary>
        private Commvault.Powershell.Models.IGuestCredentialInfo _domainCreds;

        /// <summary>guestCredentialInfo</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IGuestCredentialInfo DomainCreds { get => (this._domainCreds = this._domainCreds ?? new Commvault.Powershell.Models.GuestCredentialInfo()); set => this._domainCreds = value; }

        /// <summary>username to access the network path</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string DomainCredsCredentialsName { get => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)DomainCreds).CredentialsName; set => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)DomainCreds).CredentialsName = value ?? null; }

        /// <summary>password to access the network path</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string DomainCredsCredentialsPassword { get => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)DomainCreds).CredentialsPassword; set => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)DomainCreds).CredentialsPassword = value ?? null; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? DomainCredsSavedCredentialsId { get => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)DomainCreds).SavedCredentialsId; set => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)DomainCreds).SavedCredentialsId = value ?? default(long); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string DomainCredsSavedCredentialsName { get => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)DomainCreds).SavedCredentialsName; set => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)DomainCreds).SavedCredentialsName = value ?? null; }

        /// <summary>Backing field for <see cref="GuestCreds" /> property.</summary>
        private Commvault.Powershell.Models.IGuestCredentialInfo _guestCreds;

        /// <summary>guestCredentialInfo</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IGuestCredentialInfo GuestCreds { get => (this._guestCreds = this._guestCreds ?? new Commvault.Powershell.Models.GuestCredentialInfo()); set => this._guestCreds = value; }

        /// <summary>username to access the network path</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string GuestCredsCredentialsName { get => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)GuestCreds).CredentialsName; set => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)GuestCreds).CredentialsName = value ?? null; }

        /// <summary>password to access the network path</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string GuestCredsCredentialsPassword { get => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)GuestCreds).CredentialsPassword; set => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)GuestCreds).CredentialsPassword = value ?? null; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? GuestCredsSavedCredentialsId { get => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)GuestCreds).SavedCredentialsId; set => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)GuestCreds).SavedCredentialsId = value ?? default(long); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string GuestCredsSavedCredentialsName { get => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)GuestCreds).SavedCredentialsName; set => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)GuestCreds).SavedCredentialsName = value ?? null; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public Commvault.Powershell.Models.IGatewayConnectionInfo[] TopologyDetailNetworkGateway { get => ((Commvault.Powershell.Models.IVMTopologyDetailsInternal)TopologyDetails).NetworkGateway; set => ((Commvault.Powershell.Models.IVMTopologyDetailsInternal)TopologyDetails).NetworkGateway = value ?? null /* arrayOf */; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public Commvault.Powershell.Models.IIdName[] TopologyDetailServerGroups { get => ((Commvault.Powershell.Models.IVMTopologyDetailsInternal)TopologyDetails).ServerGroups; set => ((Commvault.Powershell.Models.IVMTopologyDetailsInternal)TopologyDetails).ServerGroups = value ?? null /* arrayOf */; }

        /// <summary>Backing field for <see cref="TopologyDetails" /> property.</summary>
        private Commvault.Powershell.Models.IVMTopologyDetails _topologyDetails;

        /// <summary>VMTopologyDetails</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IVMTopologyDetails TopologyDetails { get => (this._topologyDetails = this._topologyDetails ?? new Commvault.Powershell.Models.VMTopologyDetails()); set => this._topologyDetails = value; }

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

        /// <summary>VM client name</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string VMClientName { get => this._vMClientName; set => this._vMClientName = value; }

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

        /// <summary>VM host name</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string VMHostName { get => this._vMHostName; set => this._vMHostName = value; }

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

        }
    }
    /// VMConnectionDetails
    public partial interface IVMConnectionDetails :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <summary>username to access the network path</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"username to access the network path",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string CsCredsCredentialsName { get; set; }
        /// <summary>password to access the network path</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"password to access the network path",
        SerializedName = @"password",
        PossibleTypes = new [] { typeof(string) })]
        string CsCredsCredentialsPassword { get; set; }

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

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string CsCredsSavedCredentialsName { get; set; }
        /// <summary>username to access the network path</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"username to access the network path",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string DomainCredsCredentialsName { get; set; }
        /// <summary>password to access the network path</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"password to access the network path",
        SerializedName = @"password",
        PossibleTypes = new [] { typeof(string) })]
        string DomainCredsCredentialsPassword { get; set; }

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

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string DomainCredsSavedCredentialsName { get; set; }
        /// <summary>username to access the network path</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"username to access the network path",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string GuestCredsCredentialsName { get; set; }
        /// <summary>password to access the network path</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"password to access the network path",
        SerializedName = @"password",
        PossibleTypes = new [] { typeof(string) })]
        string GuestCredsCredentialsPassword { get; set; }

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

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

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"networkGateway",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IGatewayConnectionInfo) })]
        Commvault.Powershell.Models.IGatewayConnectionInfo[] TopologyDetailNetworkGateway { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"serverGroups",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IIdName) })]
        Commvault.Powershell.Models.IIdName[] TopologyDetailServerGroups { get; set; }
        /// <summary>VM client name</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"VM client name",
        SerializedName = @"vmClientName",
        PossibleTypes = new [] { typeof(string) })]
        string VMClientName { get; set; }
        /// <summary>VM host name</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"VM host name",
        SerializedName = @"vmHostName",
        PossibleTypes = new [] { typeof(string) })]
        string VMHostName { get; set; }

    }
    /// VMConnectionDetails
    internal partial interface IVMConnectionDetailsInternal

    {
        Commvault.Powershell.Models.IUserNamePassword CCredCredentials { get; set; }

        Commvault.Powershell.Models.IIdName CCredSavedCredentials { get; set; }
        /// <summary>guestCredentialInfo</summary>
        Commvault.Powershell.Models.IGuestCredentialInfo CsCreds { get; set; }
        /// <summary>username to access the network path</summary>
        string CsCredsCredentialsName { get; set; }
        /// <summary>password to access the network path</summary>
        string CsCredsCredentialsPassword { get; set; }

        long? CsCredsSavedCredentialsId { get; set; }

        string CsCredsSavedCredentialsName { get; set; }

        Commvault.Powershell.Models.IUserNamePassword DomainCredCredentials { get; set; }

        Commvault.Powershell.Models.IIdName DomainCredSavedCredentials { get; set; }
        /// <summary>guestCredentialInfo</summary>
        Commvault.Powershell.Models.IGuestCredentialInfo DomainCreds { get; set; }
        /// <summary>username to access the network path</summary>
        string DomainCredsCredentialsName { get; set; }
        /// <summary>password to access the network path</summary>
        string DomainCredsCredentialsPassword { get; set; }

        long? DomainCredsSavedCredentialsId { get; set; }

        string DomainCredsSavedCredentialsName { get; set; }

        Commvault.Powershell.Models.IUserNamePassword GuestCredCredentials { get; set; }

        Commvault.Powershell.Models.IIdName GuestCredSavedCredentials { get; set; }
        /// <summary>guestCredentialInfo</summary>
        Commvault.Powershell.Models.IGuestCredentialInfo GuestCreds { get; set; }
        /// <summary>username to access the network path</summary>
        string GuestCredsCredentialsName { get; set; }
        /// <summary>password to access the network path</summary>
        string GuestCredsCredentialsPassword { get; set; }

        long? GuestCredsSavedCredentialsId { get; set; }

        string GuestCredsSavedCredentialsName { get; set; }

        Commvault.Powershell.Models.IGatewayConnectionInfo[] TopologyDetailNetworkGateway { get; set; }

        Commvault.Powershell.Models.IIdName[] TopologyDetailServerGroups { get; set; }
        /// <summary>VMTopologyDetails</summary>
        Commvault.Powershell.Models.IVMTopologyDetails TopologyDetails { get; set; }
        /// <summary>VM client name</summary>
        string VMClientName { get; set; }
        /// <summary>VM host name</summary>
        string VMHostName { get; set; }

    }
}