modifyReplicationTask method

Future<ModifyReplicationTaskResponse> modifyReplicationTask({
  1. required String replicationTaskArn,
  2. String? cdcStartPosition,
  3. DateTime? cdcStartTime,
  4. String? cdcStopPosition,
  5. MigrationTypeValue? migrationType,
  6. String? replicationTaskIdentifier,
  7. String? replicationTaskSettings,
  8. String? tableMappings,
  9. String? taskData,
})

Modifies the specified replication task.

You can't modify the task endpoints. The task must be stopped before you can modify it.

For more information about AWS DMS tasks, see Working with Migration Tasks in the AWS Database Migration Service User Guide.

May throw InvalidResourceStateFault. May throw ResourceNotFoundFault. May throw ResourceAlreadyExistsFault. May throw KMSKeyNotAccessibleFault.

Parameter replicationTaskArn : The Amazon Resource Name (ARN) of the replication task.

Parameter cdcStartPosition : Indicates when you want a change data capture (CDC) operation to start. Use either CdcStartPosition or CdcStartTime to specify when you want a CDC operation to start. Specifying both values results in an error.

The value can be in date, checkpoint, or LSN/SCN format.

Date Example: --cdc-start-position “2018-03-08T12:12:12”

Checkpoint Example: --cdc-start-position "checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93"

LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373”

Parameter cdcStartTime : Indicates the start time for a change data capture (CDC) operation. Use either CdcStartTime or CdcStartPosition to specify when you want a CDC operation to start. Specifying both values results in an error.

Timestamp Example: --cdc-start-time “2018-03-08T12:12:12”

Parameter cdcStopPosition : Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time.

Server time example: --cdc-stop-position “server_time:2018-02-09T12:12:12”

Commit time example: --cdc-stop-position “commit_time: 2018-02-09T12:12:12 “

Parameter migrationType : The migration type. Valid values: full-load | cdc | full-load-and-cdc

Parameter replicationTaskIdentifier : The replication task identifier.

Constraints:

  • Must contain 1-255 alphanumeric characters or hyphens.
  • First character must be a letter.
  • Cannot end with a hyphen or contain two consecutive hyphens.

Parameter replicationTaskSettings : JSON file that contains settings for the task, such as task metadata settings.

Parameter tableMappings : When using the AWS CLI or boto3, provide the path of the JSON file that contains the table mappings. Precede the path with file://. When working with the DMS API, provide the JSON as the parameter value, for example: --table-mappings file://mappingfile.json

Parameter taskData : Supplemental information that the task requires to migrate the data for certain source and target endpoints. For more information, see Specifying Supplemental Data for Task Settings in the AWS Database Migration Service User Guide.

Implementation

Future<ModifyReplicationTaskResponse> modifyReplicationTask({
  required String replicationTaskArn,
  String? cdcStartPosition,
  DateTime? cdcStartTime,
  String? cdcStopPosition,
  MigrationTypeValue? migrationType,
  String? replicationTaskIdentifier,
  String? replicationTaskSettings,
  String? tableMappings,
  String? taskData,
}) async {
  ArgumentError.checkNotNull(replicationTaskArn, 'replicationTaskArn');
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'AmazonDMSv20160101.ModifyReplicationTask'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'ReplicationTaskArn': replicationTaskArn,
      if (cdcStartPosition != null) 'CdcStartPosition': cdcStartPosition,
      if (cdcStartTime != null)
        'CdcStartTime': unixTimestampToJson(cdcStartTime),
      if (cdcStopPosition != null) 'CdcStopPosition': cdcStopPosition,
      if (migrationType != null) 'MigrationType': migrationType.toValue(),
      if (replicationTaskIdentifier != null)
        'ReplicationTaskIdentifier': replicationTaskIdentifier,
      if (replicationTaskSettings != null)
        'ReplicationTaskSettings': replicationTaskSettings,
      if (tableMappings != null) 'TableMappings': tableMappings,
      if (taskData != null) 'TaskData': taskData,
    },
  );

  return ModifyReplicationTaskResponse.fromJson(jsonResponse.body);
}