createReplicationConfig method

Future<CreateReplicationConfigResponse> createReplicationConfig({
  1. required ComputeConfig computeConfig,
  2. required String replicationConfigIdentifier,
  3. required MigrationTypeValue replicationType,
  4. required String sourceEndpointArn,
  5. required String tableMappings,
  6. required String targetEndpointArn,
  7. String? replicationSettings,
  8. String? resourceIdentifier,
  9. String? supplementalSettings,
  10. List<Tag>? tags,
})

Creates a configuration that you can later provide to configure and start an DMS Serverless replication. You can also provide options to validate the configuration inputs before you start the replication.

May throw AccessDeniedFault. May throw InvalidResourceStateFault. May throw InvalidSubnet. May throw KMSKeyNotAccessibleFault. May throw ReplicationSubnetGroupDoesNotCoverEnoughAZs. May throw ResourceAlreadyExistsFault. May throw ResourceNotFoundFault. May throw ResourceQuotaExceededFault.

Parameter computeConfig : Configuration parameters for provisioning an DMS Serverless replication.

Parameter replicationConfigIdentifier : A unique identifier that you want to use to create a ReplicationConfigArn that is returned as part of the output from this action. You can then pass this output ReplicationConfigArn as the value of the ReplicationConfigArn option for other actions to identify both DMS Serverless replications and replication configurations that you want those actions to operate on. For some actions, you can also use either this unique identifier or a corresponding ARN in action filters to identify the specific replication and replication configuration to operate on.

Parameter replicationType : The type of DMS Serverless replication to provision using this replication configuration.

Possible values:

  • "full-load"
  • "cdc"
  • "full-load-and-cdc"

Parameter sourceEndpointArn : The Amazon Resource Name (ARN) of the source endpoint for this DMS Serverless replication configuration.

Parameter tableMappings : JSON table mappings for DMS Serverless replications that are provisioned using this replication configuration. For more information, see Specifying table selection and transformations rules using JSON.

Parameter targetEndpointArn : The Amazon Resource Name (ARN) of the target endpoint for this DMS serverless replication configuration.

Parameter replicationSettings : Optional JSON settings for DMS Serverless replications that are provisioned using this replication configuration. For example, see Change processing tuning settings.

Parameter resourceIdentifier : Optional unique value or name that you set for a given resource that can be used to construct an Amazon Resource Name (ARN) for that resource. For more information, see Fine-grained access control using resource names and tags.

Parameter supplementalSettings : Optional JSON settings for specifying supplemental data. For more information, see Specifying supplemental data for task settings.

Parameter tags : One or more optional tags associated with resources used by the DMS Serverless replication. For more information, see Tagging resources in Database Migration Service.

Implementation

Future<CreateReplicationConfigResponse> createReplicationConfig({
  required ComputeConfig computeConfig,
  required String replicationConfigIdentifier,
  required MigrationTypeValue replicationType,
  required String sourceEndpointArn,
  required String tableMappings,
  required String targetEndpointArn,
  String? replicationSettings,
  String? resourceIdentifier,
  String? supplementalSettings,
  List<Tag>? tags,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'AmazonDMSv20160101.CreateReplicationConfig'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'ComputeConfig': computeConfig,
      'ReplicationConfigIdentifier': replicationConfigIdentifier,
      'ReplicationType': replicationType.value,
      'SourceEndpointArn': sourceEndpointArn,
      'TableMappings': tableMappings,
      'TargetEndpointArn': targetEndpointArn,
      if (replicationSettings != null)
        'ReplicationSettings': replicationSettings,
      if (resourceIdentifier != null)
        'ResourceIdentifier': resourceIdentifier,
      if (supplementalSettings != null)
        'SupplementalSettings': supplementalSettings,
      if (tags != null) 'Tags': tags,
    },
  );

  return CreateReplicationConfigResponse.fromJson(jsonResponse.body);
}