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

See Also:

AWS * API Reference

*/ class StartReplicationRequest : public DatabaseMigrationServiceRequest { public: AWS_DATABASEMIGRATIONSERVICE_API StartReplicationRequest(); // 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 "StartReplication"; } AWS_DATABASEMIGRATIONSERVICE_API Aws::String SerializePayload() const override; AWS_DATABASEMIGRATIONSERVICE_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The Amazon Resource Name of the replication for which to start * replication.

*/ inline const Aws::String& GetReplicationConfigArn() const{ return m_replicationConfigArn; } /** *

The Amazon Resource Name of the replication for which to start * replication.

*/ inline bool ReplicationConfigArnHasBeenSet() const { return m_replicationConfigArnHasBeenSet; } /** *

The Amazon Resource Name of the replication for which to start * replication.

*/ inline void SetReplicationConfigArn(const Aws::String& value) { m_replicationConfigArnHasBeenSet = true; m_replicationConfigArn = value; } /** *

The Amazon Resource Name of the replication for which to start * replication.

*/ inline void SetReplicationConfigArn(Aws::String&& value) { m_replicationConfigArnHasBeenSet = true; m_replicationConfigArn = std::move(value); } /** *

The Amazon Resource Name of the replication for which to start * replication.

*/ inline void SetReplicationConfigArn(const char* value) { m_replicationConfigArnHasBeenSet = true; m_replicationConfigArn.assign(value); } /** *

The Amazon Resource Name of the replication for which to start * replication.

*/ inline StartReplicationRequest& WithReplicationConfigArn(const Aws::String& value) { SetReplicationConfigArn(value); return *this;} /** *

The Amazon Resource Name of the replication for which to start * replication.

*/ inline StartReplicationRequest& WithReplicationConfigArn(Aws::String&& value) { SetReplicationConfigArn(std::move(value)); return *this;} /** *

The Amazon Resource Name of the replication for which to start * replication.

*/ inline StartReplicationRequest& WithReplicationConfigArn(const char* value) { SetReplicationConfigArn(value); return *this;} /** *

The replication type.

*/ inline const Aws::String& GetStartReplicationType() const{ return m_startReplicationType; } /** *

The replication type.

*/ inline bool StartReplicationTypeHasBeenSet() const { return m_startReplicationTypeHasBeenSet; } /** *

The replication type.

*/ inline void SetStartReplicationType(const Aws::String& value) { m_startReplicationTypeHasBeenSet = true; m_startReplicationType = value; } /** *

The replication type.

*/ inline void SetStartReplicationType(Aws::String&& value) { m_startReplicationTypeHasBeenSet = true; m_startReplicationType = std::move(value); } /** *

The replication type.

*/ inline void SetStartReplicationType(const char* value) { m_startReplicationTypeHasBeenSet = true; m_startReplicationType.assign(value); } /** *

The replication type.

*/ inline StartReplicationRequest& WithStartReplicationType(const Aws::String& value) { SetStartReplicationType(value); return *this;} /** *

The replication type.

*/ inline StartReplicationRequest& WithStartReplicationType(Aws::String&& value) { SetStartReplicationType(std::move(value)); return *this;} /** *

The replication type.

*/ inline StartReplicationRequest& WithStartReplicationType(const char* value) { SetStartReplicationType(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.

*/ 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.

*/ 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.

*/ 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.

*/ 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.

*/ inline StartReplicationRequest& 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.

*/ inline StartReplicationRequest& 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.

*/ 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.

*/ 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.

*/ 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.

*/ 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.

*/ 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.

*/ inline StartReplicationRequest& 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.

*/ inline StartReplicationRequest& 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.

*/ inline StartReplicationRequest& 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.

*/ 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.

*/ 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.

*/ 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.

*/ 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.

*/ 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.

*/ inline StartReplicationRequest& 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.

*/ inline StartReplicationRequest& 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.

*/ inline StartReplicationRequest& WithCdcStopPosition(const char* value) { SetCdcStopPosition(value); return *this;} private: Aws::String m_replicationConfigArn; bool m_replicationConfigArnHasBeenSet = false; Aws::String m_startReplicationType; bool m_startReplicationTypeHasBeenSet = 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