generated/api/Models/AzureReplicationGroup.cs
// Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.10.2, generator: @autorest/powershell@4.0.708) // 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 group details pertaining to Azure</summary> public partial class AzureReplicationGroup : Commvault.Powershell.Models.IAzureReplicationGroup, Commvault.Powershell.Models.IAzureReplicationGroupInternal, Commvault.Powershell.Runtime.IValidates { /// <summary> /// Backing field for Inherited model <see cref= "Commvault.Powershell.Models.IReplicationGroup" /> /// </summary> private Commvault.Powershell.Models.IReplicationGroup __replicationGroup = new Commvault.Powershell.Models.ReplicationGroup(); /// <summary>Backing field for <see cref="AdvancedOption" /> property.</summary> private Commvault.Powershell.Models.IReplicationGroupAdvOptionsAzure _advancedOption; /// <summary>Advanced options for Azure replication group</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] internal Commvault.Powershell.Models.IReplicationGroupAdvOptionsAzure AdvancedOption { get => (this._advancedOption = this._advancedOption ?? new Commvault.Powershell.Models.ReplicationGroupAdvOptionsAzure()); set => this._advancedOption = 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? AdvancedOptionDeployVMOnlyDuringfailover { get => ((Commvault.Powershell.Models.IReplicationGroupAdvOptionsAzureInternal)AdvancedOption).DeployVMOnlyDuringfailover; set => ((Commvault.Powershell.Models.IReplicationGroupAdvOptionsAzureInternal)AdvancedOption).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? AdvancedOptionUnconditionalOverwrite { get => ((Commvault.Powershell.Models.IReplicationGroupAdvOptionsAzureInternal)AdvancedOption).UnconditionalOverwrite; set => ((Commvault.Powershell.Models.IReplicationGroupAdvOptionsAzureInternal)AdvancedOption).UnconditionalOverwrite = value ?? default(bool); } /// <summary>Internal Acessors for AdvancedOption</summary> Commvault.Powershell.Models.IReplicationGroupAdvOptionsAzure Commvault.Powershell.Models.IAzureReplicationGroupInternal.AdvancedOption { get => (this._advancedOption = this._advancedOption ?? new Commvault.Powershell.Models.ReplicationGroupAdvOptionsAzure()); set { {_advancedOption = value;} } } /// <summary>Internal Acessors for Vendor</summary> string Commvault.Powershell.Models.IAzureReplicationGroupInternal.Vendor { get => this._vendor; set { {_vendor = value;} } } /// <summary>Internal Acessors for Rpo</summary> Commvault.Powershell.Models.IRpo Commvault.Powershell.Models.IReplicationGroupInternal.Rpo { get => ((Commvault.Powershell.Models.IReplicationGroupInternal)__replicationGroup).Rpo; set => ((Commvault.Powershell.Models.IReplicationGroupInternal)__replicationGroup).Rpo = value; } /// <summary>Internal Acessors for Storage</summary> Commvault.Powershell.Models.IReplicationGroupStorageList Commvault.Powershell.Models.IReplicationGroupInternal.Storage { get => ((Commvault.Powershell.Models.IReplicationGroupInternal)__replicationGroup).Storage; set => ((Commvault.Powershell.Models.IReplicationGroupInternal)__replicationGroup).Storage = value; } /// <summary>Internal Acessors for Summary</summary> Commvault.Powershell.Models.IReplicationGroupSummary Commvault.Powershell.Models.IReplicationGroupInternal.Summary { get => ((Commvault.Powershell.Models.IReplicationGroupInternal)__replicationGroup).Summary; set => ((Commvault.Powershell.Models.IReplicationGroupInternal)__replicationGroup).Summary = value; } /// <summary>Replication group id</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)] public long? Id { get => ((Commvault.Powershell.Models.IReplicationGroupInternal)__replicationGroup).Id; set => ((Commvault.Powershell.Models.IReplicationGroupInternal)__replicationGroup).Id = value ?? default(long); } /// <summary>Replication group name</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)] public string Name { get => ((Commvault.Powershell.Models.IReplicationGroupInternal)__replicationGroup).Name; set => ((Commvault.Powershell.Models.IReplicationGroupInternal)__replicationGroup).Name = value ?? null; } /// <summary>Backing field for <see cref="ReplicationConfiguration" /> property.</summary> private System.Collections.Generic.List<Commvault.Powershell.Models.IReplicationConfigurationAzure> _replicationConfiguration; [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] public System.Collections.Generic.List<Commvault.Powershell.Models.IReplicationConfigurationAzure> ReplicationConfiguration { get => this._replicationConfiguration; set => this._replicationConfiguration = value; } /// <summary>Frequency of replication</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)] internal Commvault.Powershell.Models.IRpo Rpo { get => ((Commvault.Powershell.Models.IReplicationGroupInternal)__replicationGroup).Rpo; set => ((Commvault.Powershell.Models.IReplicationGroupInternal)__replicationGroup).Rpo = value ?? null /* model class */; } /// <summary> /// Max amount of time for which data can be lost during a service disruption. Determines frequency of backup jobs in minutes /// </summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)] public long? RpoReplicationFrequency { get => ((Commvault.Powershell.Models.IReplicationGroupInternal)__replicationGroup).RpoReplicationFrequency; set => ((Commvault.Powershell.Models.IReplicationGroupInternal)__replicationGroup).RpoReplicationFrequency = value ?? default(long); } /// <summary>List of storage configured for a replication group</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)] internal Commvault.Powershell.Models.IReplicationGroupStorageList Storage { get => ((Commvault.Powershell.Models.IReplicationGroupInternal)__replicationGroup).Storage; set => ((Commvault.Powershell.Models.IReplicationGroupInternal)__replicationGroup).Storage = value ?? null /* model class */; } /// <summary>List of all storages which are configured for that replication group</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)] public System.Collections.Generic.List<Commvault.Powershell.Models.IStorageCopy> StorageCopies { get => ((Commvault.Powershell.Models.IReplicationGroupInternal)__replicationGroup).StorageCopies; set => ((Commvault.Powershell.Models.IReplicationGroupInternal)__replicationGroup).StorageCopies = value ?? null /* arrayOf */; } /// <summary>Main storage which is used for replication</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)] public string StorageCopyForReplication { get => ((Commvault.Powershell.Models.IReplicationGroupInternal)__replicationGroup).StorageCopyForReplication; set => ((Commvault.Powershell.Models.IReplicationGroupInternal)__replicationGroup).StorageCopyForReplication = value ?? null; } /// <summary>Summary of replication group</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)] internal Commvault.Powershell.Models.IReplicationGroupSummary Summary { get => ((Commvault.Powershell.Models.IReplicationGroupInternal)__replicationGroup).Summary; set => ((Commvault.Powershell.Models.IReplicationGroupInternal)__replicationGroup).Summary = value ?? null /* model class */; } /// <summary>Vendor used as destination for replication.</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)] public string SummaryDestinationVendor { get => ((Commvault.Powershell.Models.IReplicationGroupInternal)__replicationGroup).SummaryDestinationVendor; set => ((Commvault.Powershell.Models.IReplicationGroupInternal)__replicationGroup).SummaryDestinationVendor = value ?? null; } /// <summary>Can be used to identify destination for full VM restore</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)] public string SummaryRecoveryTarget { get => ((Commvault.Powershell.Models.IReplicationGroupInternal)__replicationGroup).SummaryRecoveryTarget; set => ((Commvault.Powershell.Models.IReplicationGroupInternal)__replicationGroup).SummaryRecoveryTarget = value ?? null; } /// <summary>The field specifies the type of replication that is to be performed</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)] public string SummaryReplicationType { get => ((Commvault.Powershell.Models.IReplicationGroupInternal)__replicationGroup).SummaryReplicationType; set => ((Commvault.Powershell.Models.IReplicationGroupInternal)__replicationGroup).SummaryReplicationType = value ?? null; } /// <summary>Source hypervisor</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)] public string SummarySource { get => ((Commvault.Powershell.Models.IReplicationGroupInternal)__replicationGroup).SummarySource; set => ((Commvault.Powershell.Models.IReplicationGroupInternal)__replicationGroup).SummarySource = value ?? null; } /// <summary>State of replication group. Values are case sensitive</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)] public string SummaryState { get => ((Commvault.Powershell.Models.IReplicationGroupInternal)__replicationGroup).SummaryState; set => ((Commvault.Powershell.Models.IReplicationGroupInternal)__replicationGroup).SummaryState = value ?? null; } /// <summary>Backing field for <see cref="Vendor" /> property.</summary> private string _vendor= @"Azure"; /// <summary>Vendor type of this replication group. Values in enum are case sensitive</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] public string Vendor { get => this._vendor; } /// <summary>Creates an new <see cref="AzureReplicationGroup" /> instance.</summary> public AzureReplicationGroup() { } /// <summary>Validates that this object meets the validation criteria.</summary> /// <param name="eventListener">an <see cref="Commvault.Powershell.Runtime.IEventListener" /> instance that will receive validation /// events.</param> /// <returns> /// A <see cref = "global::System.Threading.Tasks.Task" /> that will be complete when validation is completed. /// </returns> public async global::System.Threading.Tasks.Task Validate(Commvault.Powershell.Runtime.IEventListener eventListener) { await eventListener.AssertNotNull(nameof(__replicationGroup), __replicationGroup); await eventListener.AssertObjectIsValid(nameof(__replicationGroup), __replicationGroup); } } /// Replication group details pertaining to Azure public partial interface IAzureReplicationGroup : Commvault.Powershell.Runtime.IJsonSerializable, Commvault.Powershell.Models.IReplicationGroup { /// <summary>Select this option to deploy a VM only when a failover operation is requested</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Read = true, Create = true, Update = true, Description = @"Select this option to deploy a VM only when a failover operation is requested", SerializedName = @"deployVmOnlyDuringfailover", PossibleTypes = new [] { typeof(bool) })] bool? AdvancedOptionDeployVMOnlyDuringfailover { 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, Read = true, Create = true, Update = true, 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? AdvancedOptionUnconditionalOverwrite { get; set; } [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Read = true, Create = true, Update = true, Description = @"", SerializedName = @"replicationConfiguration", PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IReplicationConfigurationAzure) })] System.Collections.Generic.List<Commvault.Powershell.Models.IReplicationConfigurationAzure> ReplicationConfiguration { get; set; } /// <summary>Vendor type of this replication group. Values in enum are case sensitive</summary> [Commvault.Powershell.Runtime.Info( Required = true, ReadOnly = true, Read = true, Create = true, Update = true, Description = @"Vendor type of this replication group. Values in enum are case sensitive", SerializedName = @"vendor", PossibleTypes = new [] { typeof(string) })] string Vendor { get; } } /// Replication group details pertaining to Azure internal partial interface IAzureReplicationGroupInternal : Commvault.Powershell.Models.IReplicationGroupInternal { /// <summary>Advanced options for Azure replication group</summary> Commvault.Powershell.Models.IReplicationGroupAdvOptionsAzure AdvancedOption { get; set; } /// <summary>Select this option to deploy a VM only when a failover operation is requested</summary> bool? AdvancedOptionDeployVMOnlyDuringfailover { get; set; } /// <summary> /// This will replace the instance at the destination if the instance with the same name already exists. /// </summary> bool? AdvancedOptionUnconditionalOverwrite { get; set; } System.Collections.Generic.List<Commvault.Powershell.Models.IReplicationConfigurationAzure> ReplicationConfiguration { get; set; } /// <summary>Vendor type of this replication group. Values in enum are case sensitive</summary> string Vendor { get; set; } } } |