generated/api/Models/AmazonReplicationGroup.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 Amazon</summary> public partial class AmazonReplicationGroup : Commvault.Powershell.Models.IAmazonReplicationGroup, Commvault.Powershell.Models.IAmazonReplicationGroupInternal, 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.IReplicationGroupAdvOptionsAmazon _advancedOption; /// <summary>Advanced options for Amazon replication group</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] internal Commvault.Powershell.Models.IReplicationGroupAdvOptionsAmazon AdvancedOption { get => (this._advancedOption = this._advancedOption ?? new Commvault.Powershell.Models.ReplicationGroupAdvOptionsAmazon()); set => this._advancedOption = value; } /// <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.IReplicationGroupAdvOptionsAmazonInternal)AdvancedOption).UnconditionalOverwrite; set => ((Commvault.Powershell.Models.IReplicationGroupAdvOptionsAmazonInternal)AdvancedOption).UnconditionalOverwrite = value ?? default(bool); } /// <summary> /// Validates that the destination VM is bootable by powering it on and then powering off /// </summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)] public bool? AdvancedOptionValidateDestinationVM { get => ((Commvault.Powershell.Models.IReplicationGroupAdvOptionsAmazonInternal)AdvancedOption).ValidateDestinationVM; set => ((Commvault.Powershell.Models.IReplicationGroupAdvOptionsAmazonInternal)AdvancedOption).ValidateDestinationVM = value ?? default(bool); } /// <summary>Internal Acessors for AdvancedOption</summary> Commvault.Powershell.Models.IReplicationGroupAdvOptionsAmazon Commvault.Powershell.Models.IAmazonReplicationGroupInternal.AdvancedOption { get => (this._advancedOption = this._advancedOption ?? new Commvault.Powershell.Models.ReplicationGroupAdvOptionsAmazon()); set { {_advancedOption = value;} } } /// <summary>Internal Acessors for Vendor</summary> string Commvault.Powershell.Models.IAmazonReplicationGroupInternal.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.IReplicationConfigurationAmazon> _replicationConfiguration; /// <summary>Replication configuration for an Amazon replication group</summary> [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)] public System.Collections.Generic.List<Commvault.Powershell.Models.IReplicationConfigurationAmazon> 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= @"Amazon"; /// <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="AmazonReplicationGroup" /> instance.</summary> public AmazonReplicationGroup() { } /// <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 Amazon public partial interface IAmazonReplicationGroup : Commvault.Powershell.Runtime.IJsonSerializable, Commvault.Powershell.Models.IReplicationGroup { /// <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; } /// <summary> /// Validates that the destination VM is bootable by powering it on and then powering off /// </summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Read = true, Create = true, Update = true, Description = @"Validates that the destination VM is bootable by powering it on and then powering off", SerializedName = @"validateDestinationVM", PossibleTypes = new [] { typeof(bool) })] bool? AdvancedOptionValidateDestinationVM { get; set; } /// <summary>Replication configuration for an Amazon replication group</summary> [Commvault.Powershell.Runtime.Info( Required = false, ReadOnly = false, Read = true, Create = true, Update = true, Description = @"Replication configuration for an Amazon replication group", SerializedName = @"replicationConfiguration", PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IReplicationConfigurationAmazon) })] System.Collections.Generic.List<Commvault.Powershell.Models.IReplicationConfigurationAmazon> 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 Amazon internal partial interface IAmazonReplicationGroupInternal : Commvault.Powershell.Models.IReplicationGroupInternal { /// <summary>Advanced options for Amazon replication group</summary> Commvault.Powershell.Models.IReplicationGroupAdvOptionsAmazon AdvancedOption { 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; } /// <summary> /// Validates that the destination VM is bootable by powering it on and then powering off /// </summary> bool? AdvancedOptionValidateDestinationVM { get; set; } /// <summary>Replication configuration for an Amazon replication group</summary> System.Collections.Generic.List<Commvault.Powershell.Models.IReplicationConfigurationAmazon> ReplicationConfiguration { get; set; } /// <summary>Vendor type of this replication group. Values in enum are case sensitive</summary> string Vendor { get; set; } } } |