generated/api/Models/VirtualLabOptions.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>Virtual lab options configured in the recovery target</summary>
    public partial class VirtualLabOptions :
        Commvault.Powershell.Models.IVirtualLabOptions,
        Commvault.Powershell.Models.IVirtualLabOptionsInternal
    {

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

        /// <summary>To use isolated network for the virtual lab VM</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public bool? ConfigureIsolatedNetwork { get => this._configureIsolatedNetwork; set => this._configureIsolatedNetwork = value; }

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

        /// <summary>To use virtual lab VM to connect to the existing network</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string ExternalNetwork { get => this._externalNetwork; set => this._externalNetwork = value; }

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

        /// <summary>
        /// Primary network associated on the Provisioning Gateway VM that has production network access
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string GatewayNetwork { get => this._gatewayNetwork; set => this._gatewayNetwork = value; }

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

        /// <summary>Gateway template provision VMs to communicate to VMs outside the virtual lab</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string GatewayTemplate { get => this._gatewayTemplate; set => this._gatewayTemplate = value; }

        /// <summary>Backing field for <see cref="IPSettings" /> property.</summary>
        private Commvault.Powershell.Models.IVirtualLabIPSettings[] _iPSettings;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public Commvault.Powershell.Models.IVirtualLabIPSettings[] IPSettings { get => this._iPSettings; set => this._iPSettings = value; }

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

        }
    }
    /// Virtual lab options configured in the recovery target
    public partial interface IVirtualLabOptions :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <summary>To use isolated network for the virtual lab VM</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"To use isolated network for the virtual lab VM",
        SerializedName = @"configureIsolatedNetwork",
        PossibleTypes = new [] { typeof(bool) })]
        bool? ConfigureIsolatedNetwork { get; set; }
        /// <summary>To use virtual lab VM to connect to the existing network</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"To use virtual lab VM to connect to the existing network",
        SerializedName = @"externalNetwork",
        PossibleTypes = new [] { typeof(string) })]
        string ExternalNetwork { get; set; }
        /// <summary>
        /// Primary network associated on the Provisioning Gateway VM that has production network access
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Primary network associated on the Provisioning Gateway VM that has production network access",
        SerializedName = @"gatewayNetwork",
        PossibleTypes = new [] { typeof(string) })]
        string GatewayNetwork { get; set; }
        /// <summary>Gateway template provision VMs to communicate to VMs outside the virtual lab</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Gateway template provision VMs to communicate to VMs outside the virtual lab",
        SerializedName = @"gatewayTemplate",
        PossibleTypes = new [] { typeof(string) })]
        string GatewayTemplate { get; set; }

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

    }
    /// Virtual lab options configured in the recovery target
    internal partial interface IVirtualLabOptionsInternal

    {
        /// <summary>To use isolated network for the virtual lab VM</summary>
        bool? ConfigureIsolatedNetwork { get; set; }
        /// <summary>To use virtual lab VM to connect to the existing network</summary>
        string ExternalNetwork { get; set; }
        /// <summary>
        /// Primary network associated on the Provisioning Gateway VM that has production network access
        /// </summary>
        string GatewayNetwork { get; set; }
        /// <summary>Gateway template provision VMs to communicate to VMs outside the virtual lab</summary>
        string GatewayTemplate { get; set; }

        Commvault.Powershell.Models.IVirtualLabIPSettings[] IPSettings { get; set; }

    }
}