/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the drs-2020-02-26.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.Drs.Model { /// /// This is the response object from the GetReplicationConfiguration operation. /// public partial class GetReplicationConfigurationResponse : AmazonWebServiceResponse { private bool? _associateDefaultSecurityGroup; private bool? _autoReplicateNewDisks; private long? _bandwidthThrottling; private bool? _createPublicIP; private ReplicationConfigurationDataPlaneRouting _dataPlaneRouting; private ReplicationConfigurationDefaultLargeStagingDiskType _defaultLargeStagingDiskType; private ReplicationConfigurationEbsEncryption _ebsEncryption; private string _ebsEncryptionKeyArn; private string _name; private List _pitPolicy = new List(); private List _replicatedDisks = new List(); private string _replicationServerInstanceType; private List _replicationServersSecurityGroupsIDs = new List(); private string _sourceServerID; private string _stagingAreaSubnetId; private Dictionary _stagingAreaTags = new Dictionary(); private bool? _useDedicatedReplicationServer; /// /// Gets and sets the property AssociateDefaultSecurityGroup. /// /// Whether to associate the default Elastic Disaster Recovery Security group with the /// Replication Configuration. /// /// public bool AssociateDefaultSecurityGroup { get { return this._associateDefaultSecurityGroup.GetValueOrDefault(); } set { this._associateDefaultSecurityGroup = value; } } // Check to see if AssociateDefaultSecurityGroup property is set internal bool IsSetAssociateDefaultSecurityGroup() { return this._associateDefaultSecurityGroup.HasValue; } /// /// Gets and sets the property AutoReplicateNewDisks. /// /// Whether to allow the AWS replication agent to automatically replicate newly added /// disks. /// /// public bool AutoReplicateNewDisks { get { return this._autoReplicateNewDisks.GetValueOrDefault(); } set { this._autoReplicateNewDisks = value; } } // Check to see if AutoReplicateNewDisks property is set internal bool IsSetAutoReplicateNewDisks() { return this._autoReplicateNewDisks.HasValue; } /// /// Gets and sets the property BandwidthThrottling. /// /// Configure bandwidth throttling for the outbound data transfer rate of the Source Server /// in Mbps. /// /// [AWSProperty(Min=0)] public long BandwidthThrottling { get { return this._bandwidthThrottling.GetValueOrDefault(); } set { this._bandwidthThrottling = value; } } // Check to see if BandwidthThrottling property is set internal bool IsSetBandwidthThrottling() { return this._bandwidthThrottling.HasValue; } /// /// Gets and sets the property CreatePublicIP. /// /// Whether to create a Public IP for the Recovery Instance by default. /// /// public bool CreatePublicIP { get { return this._createPublicIP.GetValueOrDefault(); } set { this._createPublicIP = value; } } // Check to see if CreatePublicIP property is set internal bool IsSetCreatePublicIP() { return this._createPublicIP.HasValue; } /// /// Gets and sets the property DataPlaneRouting. /// /// The data plane routing mechanism that will be used for replication. /// /// public ReplicationConfigurationDataPlaneRouting DataPlaneRouting { get { return this._dataPlaneRouting; } set { this._dataPlaneRouting = value; } } // Check to see if DataPlaneRouting property is set internal bool IsSetDataPlaneRouting() { return this._dataPlaneRouting != null; } /// /// Gets and sets the property DefaultLargeStagingDiskType. /// /// The Staging Disk EBS volume type to be used during replication. /// /// public ReplicationConfigurationDefaultLargeStagingDiskType DefaultLargeStagingDiskType { get { return this._defaultLargeStagingDiskType; } set { this._defaultLargeStagingDiskType = value; } } // Check to see if DefaultLargeStagingDiskType property is set internal bool IsSetDefaultLargeStagingDiskType() { return this._defaultLargeStagingDiskType != null; } /// /// Gets and sets the property EbsEncryption. /// /// The type of EBS encryption to be used during replication. /// /// public ReplicationConfigurationEbsEncryption EbsEncryption { get { return this._ebsEncryption; } set { this._ebsEncryption = value; } } // Check to see if EbsEncryption property is set internal bool IsSetEbsEncryption() { return this._ebsEncryption != null; } /// /// Gets and sets the property EbsEncryptionKeyArn. /// /// The ARN of the EBS encryption key to be used during replication. /// /// [AWSProperty(Min=20, Max=2048)] public string EbsEncryptionKeyArn { get { return this._ebsEncryptionKeyArn; } set { this._ebsEncryptionKeyArn = value; } } // Check to see if EbsEncryptionKeyArn property is set internal bool IsSetEbsEncryptionKeyArn() { return this._ebsEncryptionKeyArn != null; } /// /// Gets and sets the property Name. /// /// The name of the Replication Configuration. /// /// [AWSProperty(Min=0, Max=128)] public string Name { get { return this._name; } set { this._name = value; } } // Check to see if Name property is set internal bool IsSetName() { return this._name != null; } /// /// Gets and sets the property PitPolicy. /// /// The Point in time (PIT) policy to manage snapshots taken during replication. /// /// [AWSProperty(Min=1, Max=10)] public List PitPolicy { get { return this._pitPolicy; } set { this._pitPolicy = value; } } // Check to see if PitPolicy property is set internal bool IsSetPitPolicy() { return this._pitPolicy != null && this._pitPolicy.Count > 0; } /// /// Gets and sets the property ReplicatedDisks. /// /// The configuration of the disks of the Source Server to be replicated. /// /// [AWSProperty(Min=0, Max=60)] public List ReplicatedDisks { get { return this._replicatedDisks; } set { this._replicatedDisks = value; } } // Check to see if ReplicatedDisks property is set internal bool IsSetReplicatedDisks() { return this._replicatedDisks != null && this._replicatedDisks.Count > 0; } /// /// Gets and sets the property ReplicationServerInstanceType. /// /// The instance type to be used for the replication server. /// /// [AWSProperty(Min=0, Max=255)] public string ReplicationServerInstanceType { get { return this._replicationServerInstanceType; } set { this._replicationServerInstanceType = value; } } // Check to see if ReplicationServerInstanceType property is set internal bool IsSetReplicationServerInstanceType() { return this._replicationServerInstanceType != null; } /// /// Gets and sets the property ReplicationServersSecurityGroupsIDs. /// /// The security group IDs that will be used by the replication server. /// /// [AWSProperty(Min=0, Max=32)] public List ReplicationServersSecurityGroupsIDs { get { return this._replicationServersSecurityGroupsIDs; } set { this._replicationServersSecurityGroupsIDs = value; } } // Check to see if ReplicationServersSecurityGroupsIDs property is set internal bool IsSetReplicationServersSecurityGroupsIDs() { return this._replicationServersSecurityGroupsIDs != null && this._replicationServersSecurityGroupsIDs.Count > 0; } /// /// Gets and sets the property SourceServerID. /// /// The ID of the Source Server for this Replication Configuration. /// /// [AWSProperty(Min=19, Max=19)] public string SourceServerID { get { return this._sourceServerID; } set { this._sourceServerID = value; } } // Check to see if SourceServerID property is set internal bool IsSetSourceServerID() { return this._sourceServerID != null; } /// /// Gets and sets the property StagingAreaSubnetId. /// /// The subnet to be used by the replication staging area. /// /// [AWSProperty(Min=0, Max=255)] public string StagingAreaSubnetId { get { return this._stagingAreaSubnetId; } set { this._stagingAreaSubnetId = value; } } // Check to see if StagingAreaSubnetId property is set internal bool IsSetStagingAreaSubnetId() { return this._stagingAreaSubnetId != null; } /// /// Gets and sets the property StagingAreaTags. /// /// A set of tags to be associated with all resources created in the replication staging /// area: EC2 replication server, EBS volumes, EBS snapshots, etc. /// /// [AWSProperty(Sensitive=true)] public Dictionary StagingAreaTags { get { return this._stagingAreaTags; } set { this._stagingAreaTags = value; } } // Check to see if StagingAreaTags property is set internal bool IsSetStagingAreaTags() { return this._stagingAreaTags != null && this._stagingAreaTags.Count > 0; } /// /// Gets and sets the property UseDedicatedReplicationServer. /// /// Whether to use a dedicated Replication Server in the replication staging area. /// /// public bool UseDedicatedReplicationServer { get { return this._useDedicatedReplicationServer.GetValueOrDefault(); } set { this._useDedicatedReplicationServer = value; } } // Check to see if UseDedicatedReplicationServer property is set internal bool IsSetUseDedicatedReplicationServer() { return this._useDedicatedReplicationServer.HasValue; } } }