generated/api/Models/VMDestinationInfo.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>Destination informantion for the VM to restore</summary>
    public partial class VMDestinationInfo :
        Commvault.Powershell.Models.IVMDestinationInfo,
        Commvault.Powershell.Models.IVMDestinationInfoInternal
    {

        /// <summary>Backing field for <see cref="Azure" /> property.</summary>
        private Commvault.Powershell.Models.IAzureDestinationInfo _azure;

        /// <summary>Destination information for the Azure VMs to restore</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IAzureDestinationInfo Azure { get => (this._azure = this._azure ?? new Commvault.Powershell.Models.AzureDestinationInfo()); set => this._azure = value; }

        /// <summary>Adds prefix for VM display name</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string AzureNamePrefix { get => ((Commvault.Powershell.Models.IAzureDestinationInfoInternal)Azure).NamePrefix; set => ((Commvault.Powershell.Models.IAzureDestinationInfoInternal)Azure).NamePrefix = value ?? null; }

        /// <summary>Adds suffix for VM display name</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string AzureNameSuffix { get => ((Commvault.Powershell.Models.IAzureDestinationInfoInternal)Azure).NameSuffix; set => ((Commvault.Powershell.Models.IAzureDestinationInfoInternal)Azure).NameSuffix = value ?? null; }

        /// <summary>List of Azure VMs that are to be restored</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public Commvault.Powershell.Models.IAzureVMInfo[] AzureVMInfoList { get => ((Commvault.Powershell.Models.IAzureDestinationInfoInternal)Azure).AzureVMInfoList; set => ((Commvault.Powershell.Models.IAzureDestinationInfoInternal)Azure).AzureVMInfoList = value ?? null /* arrayOf */; }

        /// <summary>Internal Acessors for Azure</summary>
        Commvault.Powershell.Models.IAzureDestinationInfo Commvault.Powershell.Models.IVMDestinationInfoInternal.Azure { get => (this._azure = this._azure ?? new Commvault.Powershell.Models.AzureDestinationInfo()); set { {_azure = value;} } }

        /// <summary>Internal Acessors for GoogleCloud</summary>
        Commvault.Powershell.Models.IGoogleCloudDestinationInfo Commvault.Powershell.Models.IVMDestinationInfoInternal.GoogleCloud { get => (this._googleCloud = this._googleCloud ?? new Commvault.Powershell.Models.GoogleCloudDestinationInfo()); set { {_googleCloud = value;} } }

        /// <summary>Backing field for <see cref="GoogleCloud" /> property.</summary>
        private Commvault.Powershell.Models.IGoogleCloudDestinationInfo _googleCloud;

        /// <summary>Destination information for the GCP VMs to restore</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IGoogleCloudDestinationInfo GoogleCloud { get => (this._googleCloud = this._googleCloud ?? new Commvault.Powershell.Models.GoogleCloudDestinationInfo()); set => this._googleCloud = value; }

        /// <summary>Adds prefix for VM display name</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string GoogleCloudNamePrefix { get => ((Commvault.Powershell.Models.IGoogleCloudDestinationInfoInternal)GoogleCloud).NamePrefix; set => ((Commvault.Powershell.Models.IGoogleCloudDestinationInfoInternal)GoogleCloud).NamePrefix = value ?? null; }

        /// <summary>Adds suffix for VM display name</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string GoogleCloudNameSuffix { get => ((Commvault.Powershell.Models.IGoogleCloudDestinationInfoInternal)GoogleCloud).NameSuffix; set => ((Commvault.Powershell.Models.IGoogleCloudDestinationInfoInternal)GoogleCloud).NameSuffix = value ?? null; }

        /// <summary>List of Google Cloud VMs that are to be restored</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public Commvault.Powershell.Models.IGoogleCloudVMInfo[] GoogleCloudVMInfoList { get => ((Commvault.Powershell.Models.IGoogleCloudDestinationInfoInternal)GoogleCloud).GoogleCloudVMInfoList; set => ((Commvault.Powershell.Models.IGoogleCloudDestinationInfoInternal)GoogleCloud).GoogleCloudVMInfoList = value ?? null /* arrayOf */; }

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

        }
    }
    /// Destination informantion for the VM to restore
    public partial interface IVMDestinationInfo :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <summary>Adds prefix for VM display name</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Adds prefix for VM display name",
        SerializedName = @"namePrefix",
        PossibleTypes = new [] { typeof(string) })]
        string AzureNamePrefix { get; set; }
        /// <summary>Adds suffix for VM display name</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Adds suffix for VM display name",
        SerializedName = @"nameSuffix",
        PossibleTypes = new [] { typeof(string) })]
        string AzureNameSuffix { get; set; }
        /// <summary>List of Azure VMs that are to be restored</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"List of Azure VMs that are to be restored",
        SerializedName = @"azureVMInfoList",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IAzureVMInfo) })]
        Commvault.Powershell.Models.IAzureVMInfo[] AzureVMInfoList { get; set; }
        /// <summary>Adds prefix for VM display name</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Adds prefix for VM display name",
        SerializedName = @"namePrefix",
        PossibleTypes = new [] { typeof(string) })]
        string GoogleCloudNamePrefix { get; set; }
        /// <summary>Adds suffix for VM display name</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Adds suffix for VM display name",
        SerializedName = @"nameSuffix",
        PossibleTypes = new [] { typeof(string) })]
        string GoogleCloudNameSuffix { get; set; }
        /// <summary>List of Google Cloud VMs that are to be restored</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"List of Google Cloud VMs that are to be restored",
        SerializedName = @"googleCloudVMInfoList",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IGoogleCloudVMInfo) })]
        Commvault.Powershell.Models.IGoogleCloudVMInfo[] GoogleCloudVMInfoList { get; set; }

    }
    /// Destination informantion for the VM to restore
    internal partial interface IVMDestinationInfoInternal

    {
        /// <summary>Destination information for the Azure VMs to restore</summary>
        Commvault.Powershell.Models.IAzureDestinationInfo Azure { get; set; }
        /// <summary>Adds prefix for VM display name</summary>
        string AzureNamePrefix { get; set; }
        /// <summary>Adds suffix for VM display name</summary>
        string AzureNameSuffix { get; set; }
        /// <summary>List of Azure VMs that are to be restored</summary>
        Commvault.Powershell.Models.IAzureVMInfo[] AzureVMInfoList { get; set; }
        /// <summary>Destination information for the GCP VMs to restore</summary>
        Commvault.Powershell.Models.IGoogleCloudDestinationInfo GoogleCloud { get; set; }
        /// <summary>Adds prefix for VM display name</summary>
        string GoogleCloudNamePrefix { get; set; }
        /// <summary>Adds suffix for VM display name</summary>
        string GoogleCloudNameSuffix { get; set; }
        /// <summary>List of Google Cloud VMs that are to be restored</summary>
        Commvault.Powershell.Models.IGoogleCloudVMInfo[] GoogleCloudVMInfoList { get; set; }

    }
}