generated/api/Models/ReplicationConfigurationAmazon.cs

// Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.8.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 Amazon</summary>
    public partial class ReplicationConfigurationAmazon :
        Commvault.Powershell.Models.IReplicationConfigurationAmazon,
        Commvault.Powershell.Models.IReplicationConfigurationAmazonInternal
    {

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

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

        /// <summary>Internal Acessors for OverrideReplicationOptionNetwork</summary>
        Commvault.Powershell.Models.INetwork Commvault.Powershell.Models.IReplicationConfigurationAmazonInternal.OverrideReplicationOptionNetwork { get => ((Commvault.Powershell.Models.IOverrideReplicationOptionsAmazonInternal)OverrideReplicationOptions).Network; set => ((Commvault.Powershell.Models.IOverrideReplicationOptionsAmazonInternal)OverrideReplicationOptions).Network = value; }

        /// <summary>Internal Acessors for OverrideReplicationOptions</summary>
        Commvault.Powershell.Models.IOverrideReplicationOptionsAmazon Commvault.Powershell.Models.IReplicationConfigurationAmazonInternal.OverrideReplicationOptions { get => (this._overrideReplicationOptions = this._overrideReplicationOptions ?? new Commvault.Powershell.Models.OverrideReplicationOptionsAmazon()); set { {_overrideReplicationOptions = value;} } }

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

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

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

        /// <summary>Provides the available CPU cores and memory for the instance.</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string InstanceType { get => this._instanceType; set => this._instanceType = value; }

        /// <summary>Network display name</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string NetworkDisplayName { get => ((Commvault.Powershell.Models.IOverrideReplicationOptionsAmazonInternal)OverrideReplicationOptions).NetworkDisplayName; set => ((Commvault.Powershell.Models.IOverrideReplicationOptionsAmazonInternal)OverrideReplicationOptions).NetworkDisplayName = value ?? null; }

        /// <summary>Name of network</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string NetworkName { get => ((Commvault.Powershell.Models.IOverrideReplicationOptionsAmazonInternal)OverrideReplicationOptions).NetworkName; set => ((Commvault.Powershell.Models.IOverrideReplicationOptionsAmazonInternal)OverrideReplicationOptions).NetworkName = value ?? null; }

        /// <summary>subnet id of network</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string NetworkSubnetId { get => ((Commvault.Powershell.Models.IOverrideReplicationOptionsAmazonInternal)OverrideReplicationOptions).NetworkSubnetId; set => ((Commvault.Powershell.Models.IOverrideReplicationOptionsAmazonInternal)OverrideReplicationOptions).NetworkSubnetId = value ?? null; }

        /// <summary>Select a security group for the destination instances</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public Commvault.Powershell.Models.ISecurityGroup[] OverrideReplicationOptionAutoSelectSecurityGroup { get => ((Commvault.Powershell.Models.IOverrideReplicationOptionsAmazonInternal)OverrideReplicationOptions).AutoSelectSecurityGroup; set => ((Commvault.Powershell.Models.IOverrideReplicationOptionsAmazonInternal)OverrideReplicationOptions).AutoSelectSecurityGroup = value ?? null /* arrayOf */; }

        /// <summary>Destination zone</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string OverrideReplicationOptionAvailabilityZone { get => ((Commvault.Powershell.Models.IOverrideReplicationOptionsAmazonInternal)OverrideReplicationOptions).AvailabilityZone; set => ((Commvault.Powershell.Models.IOverrideReplicationOptionsAmazonInternal)OverrideReplicationOptions).AvailabilityZone = value ?? null; }

        /// <summary>Enable required drivers to be installed on the Amazon guest instance</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string OverrideReplicationOptionComputerName { get => ((Commvault.Powershell.Models.IOverrideReplicationOptionsAmazonInternal)OverrideReplicationOptions).ComputerName; set => ((Commvault.Powershell.Models.IOverrideReplicationOptionsAmazonInternal)OverrideReplicationOptions).ComputerName = value ?? null; }

        /// <summary>Encryption key if used</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string OverrideReplicationOptionEncryptionKey { get => ((Commvault.Powershell.Models.IOverrideReplicationOptionsAmazonInternal)OverrideReplicationOptions).EncryptionKey; set => ((Commvault.Powershell.Models.IOverrideReplicationOptionsAmazonInternal)OverrideReplicationOptions).EncryptionKey = value ?? null; }

        /// <summary>Display name for the destination instance</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string OverrideReplicationOptionInstanceName { get => ((Commvault.Powershell.Models.IOverrideReplicationOptionsAmazonInternal)OverrideReplicationOptions).InstanceName; set => ((Commvault.Powershell.Models.IOverrideReplicationOptionsAmazonInternal)OverrideReplicationOptions).InstanceName = value ?? null; }

        /// <summary>Provides the available CPU cores and memory for the instance.</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string OverrideReplicationOptionInstanceType { get => ((Commvault.Powershell.Models.IOverrideReplicationOptionsAmazonInternal)OverrideReplicationOptions).InstanceType; set => ((Commvault.Powershell.Models.IOverrideReplicationOptionsAmazonInternal)OverrideReplicationOptions).InstanceType = value ?? null; }

        /// <summary>Enable required drivers to be installed on the Amazon guest instance</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string OverrideReplicationOptionUserName { get => ((Commvault.Powershell.Models.IOverrideReplicationOptionsAmazonInternal)OverrideReplicationOptions).UserName; set => ((Commvault.Powershell.Models.IOverrideReplicationOptionsAmazonInternal)OverrideReplicationOptions).UserName = value ?? null; }

        /// <summary>Type of volume used for replication</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string OverrideReplicationOptionVolumeType { get => ((Commvault.Powershell.Models.IOverrideReplicationOptionsAmazonInternal)OverrideReplicationOptions).VolumeType; set => ((Commvault.Powershell.Models.IOverrideReplicationOptionsAmazonInternal)OverrideReplicationOptions).VolumeType = value ?? null; }

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

        /// <summary>Replication options for Amazon</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IOverrideReplicationOptionsAmazon OverrideReplicationOptions { get => (this._overrideReplicationOptions = this._overrideReplicationOptions ?? new Commvault.Powershell.Models.OverrideReplicationOptionsAmazon()); set => this._overrideReplicationOptions = value; }

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

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

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

        }
    }
    /// Replication configuration for Amazon
    public partial interface IReplicationConfigurationAmazon :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <summary>Destination zone</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Destination zone",
        SerializedName = @"availabilityZone",
        PossibleTypes = new [] { typeof(string) })]
        string AvailabilityZone { get; set; }
        /// <summary>Destination instance</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Destination instance",
        SerializedName = @"destinationVM",
        PossibleTypes = new [] { typeof(string) })]
        string DestinationVM { get; set; }
        /// <summary>Provides the available CPU cores and memory for the instance.</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Provides the available CPU cores and memory for the instance.",
        SerializedName = @"instanceType",
        PossibleTypes = new [] { typeof(string) })]
        string InstanceType { get; set; }
        /// <summary>Network display name</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Network display name",
        SerializedName = @"networkDisplayName",
        PossibleTypes = new [] { typeof(string) })]
        string NetworkDisplayName { get; set; }
        /// <summary>Name of network</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Name of network",
        SerializedName = @"networkName",
        PossibleTypes = new [] { typeof(string) })]
        string NetworkName { get; set; }
        /// <summary>subnet id of network</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"subnet id of network",
        SerializedName = @"subnetId",
        PossibleTypes = new [] { typeof(string) })]
        string NetworkSubnetId { get; set; }
        /// <summary>Select a security group for the destination instances</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Select a security group for the destination instances",
        SerializedName = @"autoSelectSecurityGroup",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.ISecurityGroup) })]
        Commvault.Powershell.Models.ISecurityGroup[] OverrideReplicationOptionAutoSelectSecurityGroup { get; set; }
        /// <summary>Destination zone</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Destination zone",
        SerializedName = @"availabilityZone",
        PossibleTypes = new [] { typeof(string) })]
        string OverrideReplicationOptionAvailabilityZone { get; set; }
        /// <summary>Enable required drivers to be installed on the Amazon guest instance</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Enable required drivers to be installed on the Amazon guest instance",
        SerializedName = @"computerName",
        PossibleTypes = new [] { typeof(string) })]
        string OverrideReplicationOptionComputerName { get; set; }
        /// <summary>Encryption key if used</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Encryption key if used",
        SerializedName = @"encryptionKey",
        PossibleTypes = new [] { typeof(string) })]
        string OverrideReplicationOptionEncryptionKey { get; set; }
        /// <summary>Display name for the destination instance</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Display name for the destination instance",
        SerializedName = @"instanceName",
        PossibleTypes = new [] { typeof(string) })]
        string OverrideReplicationOptionInstanceName { get; set; }
        /// <summary>Provides the available CPU cores and memory for the instance.</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Provides the available CPU cores and memory for the instance.",
        SerializedName = @"instanceType",
        PossibleTypes = new [] { typeof(string) })]
        string OverrideReplicationOptionInstanceType { get; set; }
        /// <summary>Enable required drivers to be installed on the Amazon guest instance</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Enable required drivers to be installed on the Amazon guest instance",
        SerializedName = @"userName",
        PossibleTypes = new [] { typeof(string) })]
        string OverrideReplicationOptionUserName { get; set; }
        /// <summary>Type of volume used for replication</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Type of volume used for replication",
        SerializedName = @"volumeType",
        PossibleTypes = new [] { typeof(string) })]
        string OverrideReplicationOptionVolumeType { get; set; }
        /// <summary>Source instance</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Source instance",
        SerializedName = @"sourceVM",
        PossibleTypes = new [] { typeof(string) })]
        string SourceVM { get; set; }

    }
    /// Replication configuration for Amazon
    internal partial interface IReplicationConfigurationAmazonInternal

    {
        /// <summary>Destination zone</summary>
        string AvailabilityZone { get; set; }
        /// <summary>Destination instance</summary>
        string DestinationVM { get; set; }
        /// <summary>Provides the available CPU cores and memory for the instance.</summary>
        string InstanceType { get; set; }
        /// <summary>Network display name</summary>
        string NetworkDisplayName { get; set; }
        /// <summary>Name of network</summary>
        string NetworkName { get; set; }
        /// <summary>subnet id of network</summary>
        string NetworkSubnetId { get; set; }
        /// <summary>Select a security group for the destination instances</summary>
        Commvault.Powershell.Models.ISecurityGroup[] OverrideReplicationOptionAutoSelectSecurityGroup { get; set; }
        /// <summary>Destination zone</summary>
        string OverrideReplicationOptionAvailabilityZone { get; set; }
        /// <summary>Enable required drivers to be installed on the Amazon guest instance</summary>
        string OverrideReplicationOptionComputerName { get; set; }
        /// <summary>Encryption key if used</summary>
        string OverrideReplicationOptionEncryptionKey { get; set; }
        /// <summary>Display name for the destination instance</summary>
        string OverrideReplicationOptionInstanceName { get; set; }
        /// <summary>Provides the available CPU cores and memory for the instance.</summary>
        string OverrideReplicationOptionInstanceType { get; set; }
        /// <summary>Network interface for the destination instances</summary>
        Commvault.Powershell.Models.INetwork OverrideReplicationOptionNetwork { get; set; }
        /// <summary>Enable required drivers to be installed on the Amazon guest instance</summary>
        string OverrideReplicationOptionUserName { get; set; }
        /// <summary>Type of volume used for replication</summary>
        string OverrideReplicationOptionVolumeType { get; set; }
        /// <summary>Replication options for Amazon</summary>
        Commvault.Powershell.Models.IOverrideReplicationOptionsAmazon OverrideReplicationOptions { get; set; }
        /// <summary>Source instance</summary>
        string SourceVM { get; set; }

    }
}