generated/api/Models/VMImageDetails.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>VMImageDetails</summary>
    public partial class VMImageDetails :
        Commvault.Powershell.Models.IVMImageDetails,
        Commvault.Powershell.Models.IVMImageDetailsInternal
    {

        /// <summary>Internal Acessors for VMCredCredentials</summary>
        Commvault.Powershell.Models.IUserNamePassword Commvault.Powershell.Models.IVMImageDetailsInternal.VMCredCredentials { get => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)VMCreds).Credentials; set => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)VMCreds).Credentials = value; }

        /// <summary>Internal Acessors for VMCredSavedCredentials</summary>
        Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.IVMImageDetailsInternal.VMCredSavedCredentials { get => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)VMCreds).SavedCredentials; set => ((Commvault.Powershell.Models.IGuestCredentialInfoInternal)VMCreds).SavedCredentials = value; }

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

        /// <summary>Internal Acessors for VMTemplate</summary>
        Commvault.Powershell.Models.INameGuid Commvault.Powershell.Models.IVMImageDetailsInternal.VMTemplate { get => (this._vMTemplate = this._vMTemplate ?? new Commvault.Powershell.Models.NameGuid()); set { {_vMTemplate = value;} } }

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

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

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

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

        /// <summary>Backing field for <see cref="SkipOSDisk" /> property.</summary>
        private bool? _skipOSDisk;

        /// <summary>
        /// Determine if OS disk should be attached to new VM during the disk attach restore
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public bool? SkipOSDisk { get => this._skipOSDisk; set => this._skipOSDisk = value; }

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

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

        /// <summary>Backing field for <see cref="VMTemplate" /> property.</summary>
        private Commvault.Powershell.Models.INameGuid _vMTemplate;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.INameGuid VMTemplate { get => (this._vMTemplate = this._vMTemplate ?? new Commvault.Powershell.Models.NameGuid()); set => this._vMTemplate = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string VMTemplateGuid { get => ((Commvault.Powershell.Models.INameGuidInternal)VMTemplate).Guid; set => ((Commvault.Powershell.Models.INameGuidInternal)VMTemplate).Guid = value ?? null; }

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

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

        }
    }
    /// VMImageDetails
    public partial interface IVMImageDetails :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <summary>username to access the network path</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"username to access the network path",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string CredentialsName { get; set; }
        /// <summary>password to access the network path</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"password to access the network path",
        SerializedName = @"password",
        PossibleTypes = new [] { typeof(string) })]
        string CredentialsPassword { get; set; }

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

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string SavedCredentialsName { get; set; }
        /// <summary>
        /// Determine if OS disk should be attached to new VM during the disk attach restore
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"Determine if OS disk should be attached to new VM during the disk attach restore",
        SerializedName = @"skipOSDisk",
        PossibleTypes = new [] { typeof(bool) })]
        bool? SkipOSDisk { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"",
        SerializedName = @"GUID",
        PossibleTypes = new [] { typeof(string) })]
        string VMTemplateGuid { get; set; }

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

    }
    /// VMImageDetails
    internal partial interface IVMImageDetailsInternal

    {
        /// <summary>username to access the network path</summary>
        string CredentialsName { get; set; }
        /// <summary>password to access the network path</summary>
        string CredentialsPassword { get; set; }

        long? SavedCredentialsId { get; set; }

        string SavedCredentialsName { get; set; }
        /// <summary>
        /// Determine if OS disk should be attached to new VM during the disk attach restore
        /// </summary>
        bool? SkipOSDisk { get; set; }

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

        Commvault.Powershell.Models.IIdName VMCredSavedCredentials { get; set; }
        /// <summary>guestCredentialInfo</summary>
        Commvault.Powershell.Models.IGuestCredentialInfo VMCreds { get; set; }

        Commvault.Powershell.Models.INameGuid VMTemplate { get; set; }

        string VMTemplateGuid { get; set; }

        string VMTemplateName { get; set; }

    }
}