generated/api/Models/ReplicationConfigurationAzure.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>Replication configuration for Azure</summary>
    public partial class ReplicationConfigurationAzure :
        Commvault.Powershell.Models.IReplicationConfigurationAzure,
        Commvault.Powershell.Models.IReplicationConfigurationAzureInternal
    {

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

        /// <summary>Create a public IP.</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public bool? CreatePublicIP { get => this._createPublicIP; set => this._createPublicIP = value; }

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

        /// <summary>Destination VM</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string DestinationVM { get => this._destinationVM; set => this._destinationVM = value; }

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

        /// <summary>Type of the disk</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string DiskType { get => this._diskType; set => this._diskType = value; }

        /// <summary>Backing field for <see cref="OverrideReplicationOptions" /> property.</summary>
        private Commvault.Powershell.Models.IOverrideReplicationOptionsAzure _overrideReplicationOptions;

        /// <summary>Replication options for Azure</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public Commvault.Powershell.Models.IOverrideReplicationOptionsAzure OverrideReplicationOptions { get => (this._overrideReplicationOptions = this._overrideReplicationOptions ?? new Commvault.Powershell.Models.OverrideReplicationOptionsAzure()); set => this._overrideReplicationOptions = value; }

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

        /// <summary>region of the VM</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string Region { get => this._region; set => this._region = value; }

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

        /// <summary>Resource group in which the converted virtual machine should be created.</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string ResourceGroup { get => this._resourceGroup; set => this._resourceGroup = value; }

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

        /// <summary>Restore the VM as a managed disk for the destination VMs.</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public bool? RestoreAsManagedVM { get => this._restoreAsManagedVM; set => this._restoreAsManagedVM = value; }

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

        /// <summary>Source VM</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string SourceVM { get => this._sourceVM; set => this._sourceVM = value; }

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

        /// <summary>GUID of the source VM</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string SourceVMGuid { get => this._sourceVMGuid; set => this._sourceVMGuid = value; }

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

        /// <summary>Azure Standard or Premium general-purpose storage account.</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string StorageAccount { get => this._storageAccount; set => this._storageAccount = value; }

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

        /// <summary>Vm size to be used during the test failover operation</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string TestFailoverVMSize { get => this._testFailoverVMSize; set => this._testFailoverVMSize = value; }

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

        /// <summary>VM size</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string VMSize { get => this._vMSize; set => this._vMSize = value; }

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

        }
    }
    /// Replication configuration for Azure
    public partial interface IReplicationConfigurationAzure :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <summary>Create a public IP.</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Create a public IP.",
        SerializedName = @"createPublicIP",
        PossibleTypes = new [] { typeof(bool) })]
        bool? CreatePublicIP { get; set; }
        /// <summary>Destination VM</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Destination VM",
        SerializedName = @"destinationVM",
        PossibleTypes = new [] { typeof(string) })]
        string DestinationVM { get; set; }
        /// <summary>Type of the disk</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Type of the disk",
        SerializedName = @"diskType",
        PossibleTypes = new [] { typeof(string) })]
        string DiskType { get; set; }
        /// <summary>Replication options for Azure</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Replication options for Azure",
        SerializedName = @"overrideReplicationOptions",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IOverrideReplicationOptionsAzure) })]
        Commvault.Powershell.Models.IOverrideReplicationOptionsAzure OverrideReplicationOptions { get; set; }
        /// <summary>region of the VM</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"region of the VM",
        SerializedName = @"region",
        PossibleTypes = new [] { typeof(string) })]
        string Region { get; set; }
        /// <summary>Resource group in which the converted virtual machine should be created.</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Resource group in which the converted virtual machine should be created.",
        SerializedName = @"resourceGroup",
        PossibleTypes = new [] { typeof(string) })]
        string ResourceGroup { get; set; }
        /// <summary>Restore the VM as a managed disk for the destination VMs.</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Restore the VM as a managed disk for the destination VMs.",
        SerializedName = @"restoreAsManagedVm",
        PossibleTypes = new [] { typeof(bool) })]
        bool? RestoreAsManagedVM { get; set; }
        /// <summary>Source VM</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Source VM",
        SerializedName = @"sourceVM",
        PossibleTypes = new [] { typeof(string) })]
        string SourceVM { get; set; }
        /// <summary>GUID of the source VM</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"GUID of the source VM",
        SerializedName = @"sourceVMGuid",
        PossibleTypes = new [] { typeof(string) })]
        string SourceVMGuid { get; set; }
        /// <summary>Azure Standard or Premium general-purpose storage account.</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Azure Standard or Premium general-purpose storage account.",
        SerializedName = @"storageAccount",
        PossibleTypes = new [] { typeof(string) })]
        string StorageAccount { get; set; }
        /// <summary>Vm size to be used during the test failover operation</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Vm size to be used during the test failover operation",
        SerializedName = @"testFailoverVmSize",
        PossibleTypes = new [] { typeof(string) })]
        string TestFailoverVMSize { get; set; }
        /// <summary>VM size</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"VM size",
        SerializedName = @"vmSize",
        PossibleTypes = new [] { typeof(string) })]
        string VMSize { get; set; }

    }
    /// Replication configuration for Azure
    internal partial interface IReplicationConfigurationAzureInternal

    {
        /// <summary>Create a public IP.</summary>
        bool? CreatePublicIP { get; set; }
        /// <summary>Destination VM</summary>
        string DestinationVM { get; set; }
        /// <summary>Type of the disk</summary>
        string DiskType { get; set; }
        /// <summary>Replication options for Azure</summary>
        Commvault.Powershell.Models.IOverrideReplicationOptionsAzure OverrideReplicationOptions { get; set; }
        /// <summary>region of the VM</summary>
        string Region { get; set; }
        /// <summary>Resource group in which the converted virtual machine should be created.</summary>
        string ResourceGroup { get; set; }
        /// <summary>Restore the VM as a managed disk for the destination VMs.</summary>
        bool? RestoreAsManagedVM { get; set; }
        /// <summary>Source VM</summary>
        string SourceVM { get; set; }
        /// <summary>GUID of the source VM</summary>
        string SourceVMGuid { get; set; }
        /// <summary>Azure Standard or Premium general-purpose storage account.</summary>
        string StorageAccount { get; set; }
        /// <summary>Vm size to be used during the test failover operation</summary>
        string TestFailoverVMSize { get; set; }
        /// <summary>VM size</summary>
        string VMSize { get; set; }

    }
}