updateReplicationConfiguration method

Future<ReplicationConfiguration> updateReplicationConfiguration({
  1. required String sourceServerID,
  2. String? accountID,
  3. bool? associateDefaultSecurityGroup,
  4. int? bandwidthThrottling,
  5. bool? createPublicIP,
  6. ReplicationConfigurationDataPlaneRouting? dataPlaneRouting,
  7. ReplicationConfigurationDefaultLargeStagingDiskType? defaultLargeStagingDiskType,
  8. ReplicationConfigurationEbsEncryption? ebsEncryption,
  9. String? ebsEncryptionKeyArn,
  10. InternetProtocol? internetProtocol,
  11. String? name,
  12. List<ReplicationConfigurationReplicatedDisk>? replicatedDisks,
  13. String? replicationServerInstanceType,
  14. List<String>? replicationServersSecurityGroupsIDs,
  15. String? stagingAreaSubnetId,
  16. Map<String, String>? stagingAreaTags,
  17. bool? storeSnapshotOnLocalZone,
  18. bool? useDedicatedReplicationServer,
  19. bool? useFipsEndpoint,
})

Allows you to update multiple ReplicationConfigurations by Source Server ID.

May throw AccessDeniedException. May throw ConflictException. May throw ResourceNotFoundException. May throw UninitializedAccountException. May throw ValidationException.

Parameter sourceServerID : Update replication configuration Source Server ID request.

Parameter accountID : Update replication configuration Account ID request.

Parameter associateDefaultSecurityGroup : Update replication configuration associate default Application Migration Service Security group request.

Parameter bandwidthThrottling : Update replication configuration bandwidth throttling request.

Parameter createPublicIP : Update replication configuration create Public IP request.

Parameter dataPlaneRouting : Update replication configuration data plane routing request.

Parameter defaultLargeStagingDiskType : Update replication configuration use default large Staging Disk type request.

Parameter ebsEncryption : Update replication configuration EBS encryption request.

Parameter ebsEncryptionKeyArn : Update replication configuration EBS encryption key ARN request.

Parameter internetProtocol : Update replication configuration internet protocol.

Parameter name : Update replication configuration name request.

Parameter replicatedDisks : Update replication configuration replicated disks request.

Parameter replicationServerInstanceType : Update replication configuration Replication Server instance type request.

Parameter replicationServersSecurityGroupsIDs : Update replication configuration Replication Server Security Groups IDs request.

Parameter stagingAreaSubnetId : Update replication configuration Staging Area subnet request.

Parameter stagingAreaTags : Update replication configuration Staging Area Tags request.

Parameter storeSnapshotOnLocalZone : Update replication configuration store snapshot on local zone.

Parameter useDedicatedReplicationServer : Update replication configuration use dedicated Replication Server request.

Parameter useFipsEndpoint : Update replication configuration use Fips Endpoint.

Implementation

Future<ReplicationConfiguration> updateReplicationConfiguration({
  required String sourceServerID,
  String? accountID,
  bool? associateDefaultSecurityGroup,
  int? bandwidthThrottling,
  bool? createPublicIP,
  ReplicationConfigurationDataPlaneRouting? dataPlaneRouting,
  ReplicationConfigurationDefaultLargeStagingDiskType?
      defaultLargeStagingDiskType,
  ReplicationConfigurationEbsEncryption? ebsEncryption,
  String? ebsEncryptionKeyArn,
  InternetProtocol? internetProtocol,
  String? name,
  List<ReplicationConfigurationReplicatedDisk>? replicatedDisks,
  String? replicationServerInstanceType,
  List<String>? replicationServersSecurityGroupsIDs,
  String? stagingAreaSubnetId,
  Map<String, String>? stagingAreaTags,
  bool? storeSnapshotOnLocalZone,
  bool? useDedicatedReplicationServer,
  bool? useFipsEndpoint,
}) async {
  _s.validateNumRange(
    'bandwidthThrottling',
    bandwidthThrottling,
    0,
    10000,
  );
  final $payload = <String, dynamic>{
    'sourceServerID': sourceServerID,
    if (accountID != null) 'accountID': accountID,
    if (associateDefaultSecurityGroup != null)
      'associateDefaultSecurityGroup': associateDefaultSecurityGroup,
    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 (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 (storeSnapshotOnLocalZone != null)
      'storeSnapshotOnLocalZone': storeSnapshotOnLocalZone,
    if (useDedicatedReplicationServer != null)
      'useDedicatedReplicationServer': useDedicatedReplicationServer,
    if (useFipsEndpoint != null) 'useFipsEndpoint': useFipsEndpoint,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri: '/UpdateReplicationConfiguration',
    exceptionFnMap: _exceptionFns,
  );
  return ReplicationConfiguration.fromJson(response);
}