/*
* 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 UpdateReplicationConfiguration operation.
///
public partial class UpdateReplicationConfigurationResponse : 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;
}
}
}