generated/api/Models/AdvancedRecoveryConfiguration.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>AdvancedRecoveryConfiguration</summary>
    public partial class AdvancedRecoveryConfiguration :
        Commvault.Powershell.Models.IAdvancedRecoveryConfiguration,
        Commvault.Powershell.Models.IAdvancedRecoveryConfigurationInternal
    {

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

        /// <summary>Advanced options for Azure replication group</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IReplicationGroupAdvOptionsAzure Azure { get => (this._azure = this._azure ?? new Commvault.Powershell.Models.ReplicationGroupAdvOptionsAzure()); set => this._azure = value; }

        /// <summary>Select this option to deploy a VM only when a failover operation is requested</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? AzureDeployVMOnlyDuringfailover { get => ((Commvault.Powershell.Models.IReplicationGroupAdvOptionsAzureInternal)Azure).DeployVMOnlyDuringfailover; set => ((Commvault.Powershell.Models.IReplicationGroupAdvOptionsAzureInternal)Azure).DeployVMOnlyDuringfailover = value ?? default(bool); }

        /// <summary>
        /// This will replace the instance at the destination if the instance with the same name already exists.
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? AzureUnconditionalOverwrite { get => ((Commvault.Powershell.Models.IReplicationGroupAdvOptionsAzureInternal)Azure).UnconditionalOverwrite; set => ((Commvault.Powershell.Models.IReplicationGroupAdvOptionsAzureInternal)Azure).UnconditionalOverwrite = value ?? default(bool); }

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

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

        }
    }
    /// AdvancedRecoveryConfiguration
    public partial interface IAdvancedRecoveryConfiguration :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <summary>Select this option to deploy a VM only when a failover operation is requested</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Select this option to deploy a VM only when a failover operation is requested",
        SerializedName = @"deployVmOnlyDuringfailover",
        PossibleTypes = new [] { typeof(bool) })]
        bool? AzureDeployVMOnlyDuringfailover { get; set; }
        /// <summary>
        /// This will replace the instance at the destination if the instance with the same name already exists.
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"This will replace the instance at the destination if the instance with the same name already exists.",
        SerializedName = @"unconditionalOverwrite",
        PossibleTypes = new [] { typeof(bool) })]
        bool? AzureUnconditionalOverwrite { get; set; }

    }
    /// AdvancedRecoveryConfiguration
    internal partial interface IAdvancedRecoveryConfigurationInternal

    {
        /// <summary>Advanced options for Azure replication group</summary>
        Commvault.Powershell.Models.IReplicationGroupAdvOptionsAzure Azure { get; set; }
        /// <summary>Select this option to deploy a VM only when a failover operation is requested</summary>
        bool? AzureDeployVMOnlyDuringfailover { get; set; }
        /// <summary>
        /// This will replace the instance at the destination if the instance with the same name already exists.
        /// </summary>
        bool? AzureUnconditionalOverwrite { get; set; }

    }
}