updateReplicationConfiguration method
- required String sourceServerID,
- bool? associateDefaultSecurityGroup,
- bool? autoReplicateNewDisks,
- int? bandwidthThrottling,
- bool? createPublicIP,
- ReplicationConfigurationDataPlaneRouting? dataPlaneRouting,
- ReplicationConfigurationDefaultLargeStagingDiskType? defaultLargeStagingDiskType,
- ReplicationConfigurationEbsEncryption? ebsEncryption,
- String? ebsEncryptionKeyArn,
- InternetProtocol? internetProtocol,
- String? name,
- List<
PITPolicyRule> ? pitPolicy, - List<
ReplicationConfigurationReplicatedDisk> ? replicatedDisks, - String? replicationServerInstanceType,
- List<
String> ? replicationServersSecurityGroupsIDs, - String? stagingAreaSubnetId,
- Map<
String, String> ? stagingAreaTags, - bool? useDedicatedReplicationServer,
Allows you to update a ReplicationConfiguration by Source Server ID.
May throw AccessDeniedException.
May throw ConflictException.
May throw InternalServerException.
May throw ResourceNotFoundException.
May throw ThrottlingException.
May throw UninitializedAccountException.
May throw ValidationException.
Parameter sourceServerID :
The ID of the Source Server for this Replication Configuration.
Parameter associateDefaultSecurityGroup :
Whether to associate the default Elastic Disaster Recovery Security group
with the Replication Configuration.
Parameter autoReplicateNewDisks :
Whether to allow the AWS replication agent to automatically replicate
newly added disks.
Parameter bandwidthThrottling :
Configure bandwidth throttling for the outbound data transfer rate of the
Source Server in Mbps.
Parameter createPublicIP :
Whether to create a Public IP for the Recovery Instance by default.
Parameter dataPlaneRouting :
The data plane routing mechanism that will be used for replication.
Parameter defaultLargeStagingDiskType :
The Staging Disk EBS volume type to be used during replication.
Parameter ebsEncryption :
The type of EBS encryption to be used during replication.
Parameter ebsEncryptionKeyArn :
The ARN of the EBS encryption key to be used during replication.
Parameter internetProtocol :
Which version of the Internet Protocol to use for replication of data.
(IPv4 or IPv6)
Parameter name :
The name of the Replication Configuration.
Parameter pitPolicy :
The Point in time (PIT) policy to manage snapshots taken during
replication.
Parameter replicatedDisks :
The configuration of the disks of the Source Server to be replicated.
Parameter replicationServerInstanceType :
The instance type to be used for the replication server.
Parameter replicationServersSecurityGroupsIDs :
The security group IDs that will be used by the replication server.
Parameter stagingAreaSubnetId :
The subnet to be used by the replication staging area.
Parameter 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.
Parameter useDedicatedReplicationServer :
Whether to use a dedicated Replication Server in the replication staging
area.
Implementation
Future<ReplicationConfiguration> updateReplicationConfiguration({
required String sourceServerID,
bool? associateDefaultSecurityGroup,
bool? autoReplicateNewDisks,
int? bandwidthThrottling,
bool? createPublicIP,
ReplicationConfigurationDataPlaneRouting? dataPlaneRouting,
ReplicationConfigurationDefaultLargeStagingDiskType?
defaultLargeStagingDiskType,
ReplicationConfigurationEbsEncryption? ebsEncryption,
String? ebsEncryptionKeyArn,
InternetProtocol? internetProtocol,
String? name,
List<PITPolicyRule>? pitPolicy,
List<ReplicationConfigurationReplicatedDisk>? replicatedDisks,
String? replicationServerInstanceType,
List<String>? replicationServersSecurityGroupsIDs,
String? stagingAreaSubnetId,
Map<String, String>? stagingAreaTags,
bool? useDedicatedReplicationServer,
}) async {
_s.validateNumRange(
'bandwidthThrottling',
bandwidthThrottling,
0,
1152921504606846976,
);
final $payload = <String, dynamic>{
'sourceServerID': sourceServerID,
if (associateDefaultSecurityGroup != null)
'associateDefaultSecurityGroup': associateDefaultSecurityGroup,
if (autoReplicateNewDisks != null)
'autoReplicateNewDisks': autoReplicateNewDisks,
if (bandwidthThrottling != null)
'bandwidthThrottling': bandwidthThrottling,
if (createPublicIP != null) 'createPublicIP': createPublicIP,
if (dataPlaneRouting != null) 'dataPlaneRouting': dataPlaneRouting.value,
if (defaultLargeStagingDiskType != null)
'defaultLargeStagingDiskType': defaultLargeStagingDiskType.value,
if (ebsEncryption != null) 'ebsEncryption': ebsEncryption.value,
if (ebsEncryptionKeyArn != null)
'ebsEncryptionKeyArn': ebsEncryptionKeyArn,
if (internetProtocol != null) 'internetProtocol': internetProtocol.value,
if (name != null) 'name': name,
if (pitPolicy != null) 'pitPolicy': pitPolicy,
if (replicatedDisks != null) 'replicatedDisks': replicatedDisks,
if (replicationServerInstanceType != null)
'replicationServerInstanceType': replicationServerInstanceType,
if (replicationServersSecurityGroupsIDs != null)
'replicationServersSecurityGroupsIDs':
replicationServersSecurityGroupsIDs,
if (stagingAreaSubnetId != null)
'stagingAreaSubnetId': stagingAreaSubnetId,
if (stagingAreaTags != null) 'stagingAreaTags': stagingAreaTags,
if (useDedicatedReplicationServer != null)
'useDedicatedReplicationServer': useDedicatedReplicationServer,
};
final response = await _protocol.send(
payload: $payload,
method: 'POST',
requestUri: '/UpdateReplicationConfiguration',
exceptionFnMap: _exceptionFns,
);
return ReplicationConfiguration.fromJson(response);
}