generated/api/Models/OverrideReplicationOptionsVMWareCreate.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>
    /// Per VM Replication options for VMware. Provide both the name and the guid of the source VM.
    /// </summary>
    public partial class OverrideReplicationOptionsVMWareCreate :
        Commvault.Powershell.Models.IOverrideReplicationOptionsVMWareCreate,
        Commvault.Powershell.Models.IOverrideReplicationOptionsVMWareCreateInternal
    {

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

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

        /// <summary>The datastore to be used for virtual machine disks</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string Datastore { get => this._datastore; set => this._datastore = value; }

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

        /// <summary>Name of host where the destination VM will reside</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string DestinationHost { get => this._destinationHost; set => this._destinationHost = value; }

        /// <summary>Backing field for <see cref="IPAddressSettings" /> property.</summary>
        private Commvault.Powershell.Models.IIPAddressSettingVmwareCreate[] _iPAddressSettings;

        /// <summary>
        /// A mapping of IP between the source and the destination VM with an option to configure either a dynamic or a static IP.
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public Commvault.Powershell.Models.IIPAddressSettingVmwareCreate[] IPAddressSettings { get => this._iPAddressSettings; set => this._iPAddressSettings = value; }

        /// <summary>Backing field for <see cref="NetworkSettings" /> property.</summary>
        private Commvault.Powershell.Models.INetworkSetting[] _networkSettings;

        /// <summary>Mapping between a source network and a destination network</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public Commvault.Powershell.Models.INetworkSetting[] NetworkSettings { get => this._networkSettings; set => this._networkSettings = value; }

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

        /// <summary>The resource pool that will be used on the destination VM</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string ResourcePool { get => this._resourcePool; set => this._resourcePool = value; }

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

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

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

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

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

        /// <summary>Enter the display name for the destination VM</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string VMDisplayName { get => this._vMDisplayName; set => this._vMDisplayName = value; }

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

        /// <summary>If the destination VM has to reside inside a folder, specify the name here</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string VMFolder { get => this._vMFolder; set => this._vMFolder = value; }

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

        }
    }
    /// Per VM Replication options for VMware. Provide both the name and the guid of the source VM.
    public partial interface IOverrideReplicationOptionsVMWareCreate :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <summary>The datastore to be used for virtual machine disks</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = true,
        ReadOnly = false,
        Description = @"The datastore to be used for virtual machine disks",
        SerializedName = @"datastore",
        PossibleTypes = new [] { typeof(string) })]
        string Datastore { get; set; }
        /// <summary>Name of host where the destination VM will reside</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = true,
        ReadOnly = false,
        Description = @"Name of host where the destination VM will reside",
        SerializedName = @"destinationHost",
        PossibleTypes = new [] { typeof(string) })]
        string DestinationHost { get; set; }
        /// <summary>
        /// A mapping of IP between the source and the destination VM with an option to configure either a dynamic or a static IP.
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"A mapping of IP between the source and the destination VM with an option to configure either a dynamic or a static IP.",
        SerializedName = @"ipAddressSettings",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IIPAddressSettingVmwareCreate) })]
        Commvault.Powershell.Models.IIPAddressSettingVmwareCreate[] IPAddressSettings { get; set; }
        /// <summary>Mapping between a source network and a destination network</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Mapping between a source network and a destination network",
        SerializedName = @"networkSettings",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.INetworkSetting) })]
        Commvault.Powershell.Models.INetworkSetting[] NetworkSettings { get; set; }
        /// <summary>The resource pool that will be used on the destination VM</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = true,
        ReadOnly = false,
        Description = @"The resource pool that will be used on the destination VM",
        SerializedName = @"resourcePool",
        PossibleTypes = new [] { typeof(string) })]
        string ResourcePool { get; set; }

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

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string SourceVMName { get; set; }
        /// <summary>Enter the display name for the destination VM</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = true,
        ReadOnly = false,
        Description = @"Enter the display name for the destination VM",
        SerializedName = @"vmDisplayName",
        PossibleTypes = new [] { typeof(string) })]
        string VMDisplayName { get; set; }
        /// <summary>If the destination VM has to reside inside a folder, specify the name here</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"If the destination VM has to reside inside a folder, specify the name here",
        SerializedName = @"vmFolder",
        PossibleTypes = new [] { typeof(string) })]
        string VMFolder { get; set; }

    }
    /// Per VM Replication options for VMware. Provide both the name and the guid of the source VM.
    internal partial interface IOverrideReplicationOptionsVMWareCreateInternal

    {
        /// <summary>The datastore to be used for virtual machine disks</summary>
        string Datastore { get; set; }
        /// <summary>Name of host where the destination VM will reside</summary>
        string DestinationHost { get; set; }
        /// <summary>
        /// A mapping of IP between the source and the destination VM with an option to configure either a dynamic or a static IP.
        /// </summary>
        Commvault.Powershell.Models.IIPAddressSettingVmwareCreate[] IPAddressSettings { get; set; }
        /// <summary>Mapping between a source network and a destination network</summary>
        Commvault.Powershell.Models.INetworkSetting[] NetworkSettings { get; set; }
        /// <summary>The resource pool that will be used on the destination VM</summary>
        string ResourcePool { get; set; }

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

        string SourceVMGuid { get; set; }

        string SourceVMName { get; set; }
        /// <summary>Enter the display name for the destination VM</summary>
        string VMDisplayName { get; set; }
        /// <summary>If the destination VM has to reside inside a folder, specify the name here</summary>
        string VMFolder { get; set; }

    }
}