updateReplicationConfigurationTemplate method

Future<ReplicationConfigurationTemplate> updateReplicationConfigurationTemplate({
  1. required String replicationConfigurationTemplateID,
  2. String? arn,
  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? replicationServerInstanceType,
  12. List<String>? replicationServersSecurityGroupsIDs,
  13. String? stagingAreaSubnetId,
  14. Map<String, String>? stagingAreaTags,
  15. bool? storeSnapshotOnLocalZone,
  16. bool? useDedicatedReplicationServer,
  17. bool? useFipsEndpoint,
})

Updates multiple ReplicationConfigurationTemplates by ID.

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

Parameter replicationConfigurationTemplateID : Update replication configuration template template ID request.

Parameter arn : Update replication configuration template ARN request.

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

Parameter bandwidthThrottling : Update replication configuration template bandwidth throttling request.

Parameter createPublicIP : Update replication configuration template create Public IP request.

Parameter dataPlaneRouting : Update replication configuration template data plane routing request.

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

Parameter ebsEncryption : Update replication configuration template EBS encryption request.

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

Parameter internetProtocol : Update replication configuration template internet protocol request.

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

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

Parameter stagingAreaSubnetId : Update replication configuration template Staging Area subnet ID request.

Parameter stagingAreaTags : Update replication configuration template Staging Area Tags request.

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

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

Parameter useFipsEndpoint : Update replication configuration template use Fips Endpoint request.

Implementation

Future<ReplicationConfigurationTemplate>
    updateReplicationConfigurationTemplate({
  required String replicationConfigurationTemplateID,
  String? arn,
  bool? associateDefaultSecurityGroup,
  int? bandwidthThrottling,
  bool? createPublicIP,
  ReplicationConfigurationDataPlaneRouting? dataPlaneRouting,
  ReplicationConfigurationDefaultLargeStagingDiskType?
      defaultLargeStagingDiskType,
  ReplicationConfigurationEbsEncryption? ebsEncryption,
  String? ebsEncryptionKeyArn,
  InternetProtocol? internetProtocol,
  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>{
    'replicationConfigurationTemplateID': replicationConfigurationTemplateID,
    if (arn != null) 'arn': arn,
    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 (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: '/UpdateReplicationConfigurationTemplate',
    exceptionFnMap: _exceptionFns,
  );
  return ReplicationConfigurationTemplate.fromJson(response);
}