generated/api/Models/DestinationOptions.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>DestinationOptions</summary>
    public partial class DestinationOptions :
        Commvault.Powershell.Models.IDestinationOptions,
        Commvault.Powershell.Models.IDestinationOptionsInternal
    {

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

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

        /// <summary>
        /// Datastore for the destination VM to store the disks and its config files. In-case of Microsoft Hyper-V, datastore refers
        /// to the destination folder for restore when default folder is not set.
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string DataStore { get => this._dataStore; set => this._dataStore = value; }

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

        /// <summary>
        /// Datastore cluster for the destination VM to store disks and config files in the datastore associated with the datastore
        /// cluster.
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string DataStoreClusterName { get => this._dataStoreClusterName; set => this._dataStoreClusterName = value; }

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

        /// <summary>Destination host for the VM to deploy</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string DestinationHost { get => this._destinationHost; set => this._destinationHost = value; }

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

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

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

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

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

        /// <summary>Resource pool for the destination VM</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string ResourcePoolPath { get => this._resourcePoolPath; set => this._resourcePoolPath = value; }

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

        /// <summary>Folder path where the destination VM will be located</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string VMFolder { get => this._vMFolder; set => this._vMFolder = value; }

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

        }
    }
    /// DestinationOptions
    public partial interface IDestinationOptions :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <summary>
        /// Datastore for the destination VM to store the disks and its config files. In-case of Microsoft Hyper-V, datastore refers
        /// to the destination folder for restore when default folder is not set.
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Datastore for the destination VM to store the disks and its config files. In-case of Microsoft Hyper-V, datastore refers to the destination folder for restore when default folder is not set.",
        SerializedName = @"dataStore",
        PossibleTypes = new [] { typeof(string) })]
        string DataStore { get; set; }
        /// <summary>
        /// Datastore cluster for the destination VM to store disks and config files in the datastore associated with the datastore
        /// cluster.
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Datastore cluster for the destination VM to store disks and config files in the datastore associated with the datastore cluster.",
        SerializedName = @"dataStoreClusterName",
        PossibleTypes = new [] { typeof(string) })]
        string DataStoreClusterName { get; set; }
        /// <summary>Destination host for the VM to deploy</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Destination host for the VM to deploy",
        SerializedName = @"destinationHost",
        PossibleTypes = new [] { typeof(string) })]
        string DestinationHost { get; set; }

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

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string IamRoleName { get; set; }
        /// <summary>Resource pool for the destination VM</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Resource pool for the destination VM",
        SerializedName = @"resourcePoolPath",
        PossibleTypes = new [] { typeof(string) })]
        string ResourcePoolPath { get; set; }
        /// <summary>Folder path where the destination VM will be located</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Folder path where the destination VM will be located",
        SerializedName = @"vmFolder",
        PossibleTypes = new [] { typeof(string) })]
        string VMFolder { get; set; }

    }
    /// DestinationOptions
    internal partial interface IDestinationOptionsInternal

    {
        /// <summary>
        /// Datastore for the destination VM to store the disks and its config files. In-case of Microsoft Hyper-V, datastore refers
        /// to the destination folder for restore when default folder is not set.
        /// </summary>
        string DataStore { get; set; }
        /// <summary>
        /// Datastore cluster for the destination VM to store disks and config files in the datastore associated with the datastore
        /// cluster.
        /// </summary>
        string DataStoreClusterName { get; set; }
        /// <summary>Destination host for the VM to deploy</summary>
        string DestinationHost { get; set; }

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

        long? IamRoleId { get; set; }

        string IamRoleName { get; set; }
        /// <summary>Resource pool for the destination VM</summary>
        string ResourcePoolPath { get; set; }
        /// <summary>Folder path where the destination VM will be located</summary>
        string VMFolder { get; set; }

    }
}