/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace DatabaseMigrationService { namespace Model { /** *

See Also:

AWS * API Reference

*/ class StartReplicationTaskRequest : public DatabaseMigrationServiceRequest { public: AWS_DATABASEMIGRATIONSERVICE_API StartReplicationTaskRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "StartReplicationTask"; } AWS_DATABASEMIGRATIONSERVICE_API Aws::String SerializePayload() const override; AWS_DATABASEMIGRATIONSERVICE_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The Amazon Resource Name (ARN) of the replication task to be started.

*/ inline const Aws::String& GetReplicationTaskArn() const{ return m_replicationTaskArn; } /** *

The Amazon Resource Name (ARN) of the replication task to be started.

*/ inline bool ReplicationTaskArnHasBeenSet() const { return m_replicationTaskArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the replication task to be started.

*/ inline void SetReplicationTaskArn(const Aws::String& value) { m_replicationTaskArnHasBeenSet = true; m_replicationTaskArn = value; } /** *

The Amazon Resource Name (ARN) of the replication task to be started.

*/ inline void SetReplicationTaskArn(Aws::String&& value) { m_replicationTaskArnHasBeenSet = true; m_replicationTaskArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the replication task to be started.

*/ inline void SetReplicationTaskArn(const char* value) { m_replicationTaskArnHasBeenSet = true; m_replicationTaskArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the replication task to be started.

*/ inline StartReplicationTaskRequest& WithReplicationTaskArn(const Aws::String& value) { SetReplicationTaskArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the replication task to be started.

*/ inline StartReplicationTaskRequest& WithReplicationTaskArn(Aws::String&& value) { SetReplicationTaskArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the replication task to be started.

*/ inline StartReplicationTaskRequest& WithReplicationTaskArn(const char* value) { SetReplicationTaskArn(value); return *this;} /** *

The type of replication task to start.

When the migration type is * full-load or full-load-and-cdc, the only valid value * for the first run of the task is start-replication. This option * will start the migration.

You can also use ReloadTables to reload * specific tables that failed during migration instead of restarting the task.

*

The resume-processing option isn't applicable for a full-load * task, because you can't resume partially loaded tables during the full load * phase.

For a full-load-and-cdc task, DMS migrates table * data, and then applies data changes that occur on the source. To load all the * tables again, and start capturing source changes, use * reload-target. Otherwise use resume-processing, to * replicate the changes from the last stop position.

*/ inline const StartReplicationTaskTypeValue& GetStartReplicationTaskType() const{ return m_startReplicationTaskType; } /** *

The type of replication task to start.

When the migration type is * full-load or full-load-and-cdc, the only valid value * for the first run of the task is start-replication. This option * will start the migration.

You can also use ReloadTables to reload * specific tables that failed during migration instead of restarting the task.

*

The resume-processing option isn't applicable for a full-load * task, because you can't resume partially loaded tables during the full load * phase.

For a full-load-and-cdc task, DMS migrates table * data, and then applies data changes that occur on the source. To load all the * tables again, and start capturing source changes, use * reload-target. Otherwise use resume-processing, to * replicate the changes from the last stop position.

*/ inline bool StartReplicationTaskTypeHasBeenSet() const { return m_startReplicationTaskTypeHasBeenSet; } /** *

The type of replication task to start.

When the migration type is * full-load or full-load-and-cdc, the only valid value * for the first run of the task is start-replication. This option * will start the migration.

You can also use ReloadTables to reload * specific tables that failed during migration instead of restarting the task.

*

The resume-processing option isn't applicable for a full-load * task, because you can't resume partially loaded tables during the full load * phase.

For a full-load-and-cdc task, DMS migrates table * data, and then applies data changes that occur on the source. To load all the * tables again, and start capturing source changes, use * reload-target. Otherwise use resume-processing, to * replicate the changes from the last stop position.

*/ inline void SetStartReplicationTaskType(const StartReplicationTaskTypeValue& value) { m_startReplicationTaskTypeHasBeenSet = true; m_startReplicationTaskType = value; } /** *

The type of replication task to start.

When the migration type is * full-load or full-load-and-cdc, the only valid value * for the first run of the task is start-replication. This option * will start the migration.

You can also use ReloadTables to reload * specific tables that failed during migration instead of restarting the task.

*

The resume-processing option isn't applicable for a full-load * task, because you can't resume partially loaded tables during the full load * phase.

For a full-load-and-cdc task, DMS migrates table * data, and then applies data changes that occur on the source. To load all the * tables again, and start capturing source changes, use * reload-target. Otherwise use resume-processing, to * replicate the changes from the last stop position.

*/ inline void SetStartReplicationTaskType(StartReplicationTaskTypeValue&& value) { m_startReplicationTaskTypeHasBeenSet = true; m_startReplicationTaskType = std::move(value); } /** *

The type of replication task to start.

When the migration type is * full-load or full-load-and-cdc, the only valid value * for the first run of the task is start-replication. This option * will start the migration.

You can also use ReloadTables to reload * specific tables that failed during migration instead of restarting the task.

*

The resume-processing option isn't applicable for a full-load * task, because you can't resume partially loaded tables during the full load * phase.

For a full-load-and-cdc task, DMS migrates table * data, and then applies data changes that occur on the source. To load all the * tables again, and start capturing source changes, use * reload-target. Otherwise use resume-processing, to * replicate the changes from the last stop position.

*/ inline StartReplicationTaskRequest& WithStartReplicationTaskType(const StartReplicationTaskTypeValue& value) { SetStartReplicationTaskType(value); return *this;} /** *

The type of replication task to start.

When the migration type is * full-load or full-load-and-cdc, the only valid value * for the first run of the task is start-replication. This option * will start the migration.

You can also use ReloadTables to reload * specific tables that failed during migration instead of restarting the task.

*

The resume-processing option isn't applicable for a full-load * task, because you can't resume partially loaded tables during the full load * phase.

For a full-load-and-cdc task, DMS migrates table * data, and then applies data changes that occur on the source. To load all the * tables again, and start capturing source changes, use * reload-target. Otherwise use resume-processing, to * replicate the changes from the last stop position.

*/ inline StartReplicationTaskRequest& WithStartReplicationTaskType(StartReplicationTaskTypeValue&& value) { SetStartReplicationTaskType(std::move(value)); return *this;} /** *

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”

*/ inline const Aws::Utils::DateTime& GetCdcStartTime() const{ return m_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”

*/ inline bool CdcStartTimeHasBeenSet() const { return m_cdcStartTimeHasBeenSet; } /** *

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”

*/ inline void SetCdcStartTime(const Aws::Utils::DateTime& value) { m_cdcStartTimeHasBeenSet = true; m_cdcStartTime = value; } /** *

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”

*/ inline void SetCdcStartTime(Aws::Utils::DateTime&& value) { m_cdcStartTimeHasBeenSet = true; m_cdcStartTime = std::move(value); } /** *

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”

*/ inline StartReplicationTaskRequest& WithCdcStartTime(const Aws::Utils::DateTime& value) { SetCdcStartTime(value); return *this;} /** *

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”

*/ inline StartReplicationTaskRequest& WithCdcStartTime(Aws::Utils::DateTime&& value) { SetCdcStartTime(std::move(value)); return *this;} /** *

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”

*

When you use this task setting with a source PostgreSQL database, a logical * replication slot should already be created and associated with the source * endpoint. You can verify this by setting the slotName extra * connection attribute to the name of this logical replication slot. For more * information, see Extra * Connection Attributes When Using PostgreSQL as a Source for DMS.

*/ inline const Aws::String& GetCdcStartPosition() const{ return m_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”

*

When you use this task setting with a source PostgreSQL database, a logical * replication slot should already be created and associated with the source * endpoint. You can verify this by setting the slotName extra * connection attribute to the name of this logical replication slot. For more * information, see Extra * Connection Attributes When Using PostgreSQL as a Source for DMS.

*/ inline bool CdcStartPositionHasBeenSet() const { return m_cdcStartPositionHasBeenSet; } /** *

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”

*

When you use this task setting with a source PostgreSQL database, a logical * replication slot should already be created and associated with the source * endpoint. You can verify this by setting the slotName extra * connection attribute to the name of this logical replication slot. For more * information, see Extra * Connection Attributes When Using PostgreSQL as a Source for DMS.

*/ inline void SetCdcStartPosition(const Aws::String& value) { m_cdcStartPositionHasBeenSet = true; m_cdcStartPosition = value; } /** *

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”

*

When you use this task setting with a source PostgreSQL database, a logical * replication slot should already be created and associated with the source * endpoint. You can verify this by setting the slotName extra * connection attribute to the name of this logical replication slot. For more * information, see Extra * Connection Attributes When Using PostgreSQL as a Source for DMS.

*/ inline void SetCdcStartPosition(Aws::String&& value) { m_cdcStartPositionHasBeenSet = true; m_cdcStartPosition = std::move(value); } /** *

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”

*

When you use this task setting with a source PostgreSQL database, a logical * replication slot should already be created and associated with the source * endpoint. You can verify this by setting the slotName extra * connection attribute to the name of this logical replication slot. For more * information, see Extra * Connection Attributes When Using PostgreSQL as a Source for DMS.

*/ inline void SetCdcStartPosition(const char* value) { m_cdcStartPositionHasBeenSet = true; m_cdcStartPosition.assign(value); } /** *

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”

*

When you use this task setting with a source PostgreSQL database, a logical * replication slot should already be created and associated with the source * endpoint. You can verify this by setting the slotName extra * connection attribute to the name of this logical replication slot. For more * information, see Extra * Connection Attributes When Using PostgreSQL as a Source for DMS.

*/ inline StartReplicationTaskRequest& WithCdcStartPosition(const Aws::String& value) { SetCdcStartPosition(value); return *this;} /** *

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”

*

When you use this task setting with a source PostgreSQL database, a logical * replication slot should already be created and associated with the source * endpoint. You can verify this by setting the slotName extra * connection attribute to the name of this logical replication slot. For more * information, see Extra * Connection Attributes When Using PostgreSQL as a Source for DMS.

*/ inline StartReplicationTaskRequest& WithCdcStartPosition(Aws::String&& value) { SetCdcStartPosition(std::move(value)); return *this;} /** *

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”

*

When you use this task setting with a source PostgreSQL database, a logical * replication slot should already be created and associated with the source * endpoint. You can verify this by setting the slotName extra * connection attribute to the name of this logical replication slot. For more * information, see Extra * Connection Attributes When Using PostgreSQL as a Source for DMS.

*/ inline StartReplicationTaskRequest& WithCdcStartPosition(const char* value) { SetCdcStartPosition(value); return *this;} /** *

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“

*/ inline const Aws::String& GetCdcStopPosition() const{ return m_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“

*/ inline bool CdcStopPositionHasBeenSet() const { return m_cdcStopPositionHasBeenSet; } /** *

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“

*/ inline void SetCdcStopPosition(const Aws::String& value) { m_cdcStopPositionHasBeenSet = true; m_cdcStopPosition = value; } /** *

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“

*/ inline void SetCdcStopPosition(Aws::String&& value) { m_cdcStopPositionHasBeenSet = true; m_cdcStopPosition = std::move(value); } /** *

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“

*/ inline void SetCdcStopPosition(const char* value) { m_cdcStopPositionHasBeenSet = true; m_cdcStopPosition.assign(value); } /** *

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“

*/ inline StartReplicationTaskRequest& WithCdcStopPosition(const Aws::String& value) { SetCdcStopPosition(value); return *this;} /** *

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“

*/ inline StartReplicationTaskRequest& WithCdcStopPosition(Aws::String&& value) { SetCdcStopPosition(std::move(value)); return *this;} /** *

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“

*/ inline StartReplicationTaskRequest& WithCdcStopPosition(const char* value) { SetCdcStopPosition(value); return *this;} private: Aws::String m_replicationTaskArn; bool m_replicationTaskArnHasBeenSet = false; StartReplicationTaskTypeValue m_startReplicationTaskType; bool m_startReplicationTaskTypeHasBeenSet = false; Aws::Utils::DateTime m_cdcStartTime; bool m_cdcStartTimeHasBeenSet = false; Aws::String m_cdcStartPosition; bool m_cdcStartPositionHasBeenSet = false; Aws::String m_cdcStopPosition; bool m_cdcStopPositionHasBeenSet = false; }; } // namespace Model } // namespace DatabaseMigrationService } // namespace Aws