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

See Also:

AWS * API Reference

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

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.

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

*/ inline bool ReplicationConfigIdentifierHasBeenSet() const { return m_replicationConfigIdentifierHasBeenSet; } /** *

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.

*/ inline void SetReplicationConfigIdentifier(const Aws::String& value) { m_replicationConfigIdentifierHasBeenSet = true; m_replicationConfigIdentifier = value; } /** *

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.

*/ inline void SetReplicationConfigIdentifier(Aws::String&& value) { m_replicationConfigIdentifierHasBeenSet = true; m_replicationConfigIdentifier = std::move(value); } /** *

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.

*/ inline void SetReplicationConfigIdentifier(const char* value) { m_replicationConfigIdentifierHasBeenSet = true; m_replicationConfigIdentifier.assign(value); } /** *

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.

*/ inline CreateReplicationConfigRequest& WithReplicationConfigIdentifier(const Aws::String& value) { SetReplicationConfigIdentifier(value); return *this;} /** *

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.

*/ inline CreateReplicationConfigRequest& WithReplicationConfigIdentifier(Aws::String&& value) { SetReplicationConfigIdentifier(std::move(value)); return *this;} /** *

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.

*/ inline CreateReplicationConfigRequest& WithReplicationConfigIdentifier(const char* value) { SetReplicationConfigIdentifier(value); return *this;} /** *

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

*/ inline const Aws::String& GetSourceEndpointArn() const{ return m_sourceEndpointArn; } /** *

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

*/ inline bool SourceEndpointArnHasBeenSet() const { return m_sourceEndpointArnHasBeenSet; } /** *

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

*/ inline void SetSourceEndpointArn(const Aws::String& value) { m_sourceEndpointArnHasBeenSet = true; m_sourceEndpointArn = value; } /** *

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

*/ inline void SetSourceEndpointArn(Aws::String&& value) { m_sourceEndpointArnHasBeenSet = true; m_sourceEndpointArn = std::move(value); } /** *

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

*/ inline void SetSourceEndpointArn(const char* value) { m_sourceEndpointArnHasBeenSet = true; m_sourceEndpointArn.assign(value); } /** *

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

*/ inline CreateReplicationConfigRequest& WithSourceEndpointArn(const Aws::String& value) { SetSourceEndpointArn(value); return *this;} /** *

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

*/ inline CreateReplicationConfigRequest& WithSourceEndpointArn(Aws::String&& value) { SetSourceEndpointArn(std::move(value)); return *this;} /** *

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

*/ inline CreateReplicationConfigRequest& WithSourceEndpointArn(const char* value) { SetSourceEndpointArn(value); return *this;} /** *

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

*/ inline const Aws::String& GetTargetEndpointArn() const{ return m_targetEndpointArn; } /** *

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

*/ inline bool TargetEndpointArnHasBeenSet() const { return m_targetEndpointArnHasBeenSet; } /** *

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

*/ inline void SetTargetEndpointArn(const Aws::String& value) { m_targetEndpointArnHasBeenSet = true; m_targetEndpointArn = value; } /** *

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

*/ inline void SetTargetEndpointArn(Aws::String&& value) { m_targetEndpointArnHasBeenSet = true; m_targetEndpointArn = std::move(value); } /** *

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

*/ inline void SetTargetEndpointArn(const char* value) { m_targetEndpointArnHasBeenSet = true; m_targetEndpointArn.assign(value); } /** *

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

*/ inline CreateReplicationConfigRequest& WithTargetEndpointArn(const Aws::String& value) { SetTargetEndpointArn(value); return *this;} /** *

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

*/ inline CreateReplicationConfigRequest& WithTargetEndpointArn(Aws::String&& value) { SetTargetEndpointArn(std::move(value)); return *this;} /** *

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

*/ inline CreateReplicationConfigRequest& WithTargetEndpointArn(const char* value) { SetTargetEndpointArn(value); return *this;} /** *

Configuration parameters for provisioning an DMS Serverless replication.

*/ inline const ComputeConfig& GetComputeConfig() const{ return m_computeConfig; } /** *

Configuration parameters for provisioning an DMS Serverless replication.

*/ inline bool ComputeConfigHasBeenSet() const { return m_computeConfigHasBeenSet; } /** *

Configuration parameters for provisioning an DMS Serverless replication.

*/ inline void SetComputeConfig(const ComputeConfig& value) { m_computeConfigHasBeenSet = true; m_computeConfig = value; } /** *

Configuration parameters for provisioning an DMS Serverless replication.

*/ inline void SetComputeConfig(ComputeConfig&& value) { m_computeConfigHasBeenSet = true; m_computeConfig = std::move(value); } /** *

Configuration parameters for provisioning an DMS Serverless replication.

*/ inline CreateReplicationConfigRequest& WithComputeConfig(const ComputeConfig& value) { SetComputeConfig(value); return *this;} /** *

Configuration parameters for provisioning an DMS Serverless replication.

*/ inline CreateReplicationConfigRequest& WithComputeConfig(ComputeConfig&& value) { SetComputeConfig(std::move(value)); return *this;} /** *

The type of DMS Serverless replication to provision using this replication * configuration.

Possible values:

  • * "full-load"

  • "cdc"

  • *

    "full-load-and-cdc"

*/ inline const MigrationTypeValue& GetReplicationType() const{ return m_replicationType; } /** *

The type of DMS Serverless replication to provision using this replication * configuration.

Possible values:

  • * "full-load"

  • "cdc"

  • *

    "full-load-and-cdc"

*/ inline bool ReplicationTypeHasBeenSet() const { return m_replicationTypeHasBeenSet; } /** *

The type of DMS Serverless replication to provision using this replication * configuration.

Possible values:

  • * "full-load"

  • "cdc"

  • *

    "full-load-and-cdc"

*/ inline void SetReplicationType(const MigrationTypeValue& value) { m_replicationTypeHasBeenSet = true; m_replicationType = value; } /** *

The type of DMS Serverless replication to provision using this replication * configuration.

Possible values:

  • * "full-load"

  • "cdc"

  • *

    "full-load-and-cdc"

*/ inline void SetReplicationType(MigrationTypeValue&& value) { m_replicationTypeHasBeenSet = true; m_replicationType = std::move(value); } /** *

The type of DMS Serverless replication to provision using this replication * configuration.

Possible values:

  • * "full-load"

  • "cdc"

  • *

    "full-load-and-cdc"

*/ inline CreateReplicationConfigRequest& WithReplicationType(const MigrationTypeValue& value) { SetReplicationType(value); return *this;} /** *

The type of DMS Serverless replication to provision using this replication * configuration.

Possible values:

  • * "full-load"

  • "cdc"

  • *

    "full-load-and-cdc"

*/ inline CreateReplicationConfigRequest& WithReplicationType(MigrationTypeValue&& value) { SetReplicationType(std::move(value)); return *this;} /** *

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.

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

*/ inline bool TableMappingsHasBeenSet() const { return m_tableMappingsHasBeenSet; } /** *

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.

*/ inline void SetTableMappings(const Aws::String& value) { m_tableMappingsHasBeenSet = true; m_tableMappings = value; } /** *

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.

*/ inline void SetTableMappings(Aws::String&& value) { m_tableMappingsHasBeenSet = true; m_tableMappings = std::move(value); } /** *

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.

*/ inline void SetTableMappings(const char* value) { m_tableMappingsHasBeenSet = true; m_tableMappings.assign(value); } /** *

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.

*/ inline CreateReplicationConfigRequest& WithTableMappings(const Aws::String& value) { SetTableMappings(value); return *this;} /** *

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.

*/ inline CreateReplicationConfigRequest& WithTableMappings(Aws::String&& value) { SetTableMappings(std::move(value)); return *this;} /** *

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.

*/ inline CreateReplicationConfigRequest& WithTableMappings(const char* value) { SetTableMappings(value); return *this;} /** *

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

*/ inline const Aws::String& GetReplicationSettings() const{ return m_replicationSettings; } /** *

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

*/ inline bool ReplicationSettingsHasBeenSet() const { return m_replicationSettingsHasBeenSet; } /** *

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

*/ inline void SetReplicationSettings(const Aws::String& value) { m_replicationSettingsHasBeenSet = true; m_replicationSettings = value; } /** *

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

*/ inline void SetReplicationSettings(Aws::String&& value) { m_replicationSettingsHasBeenSet = true; m_replicationSettings = std::move(value); } /** *

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

*/ inline void SetReplicationSettings(const char* value) { m_replicationSettingsHasBeenSet = true; m_replicationSettings.assign(value); } /** *

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

*/ inline CreateReplicationConfigRequest& WithReplicationSettings(const Aws::String& value) { SetReplicationSettings(value); return *this;} /** *

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

*/ inline CreateReplicationConfigRequest& WithReplicationSettings(Aws::String&& value) { SetReplicationSettings(std::move(value)); return *this;} /** *

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

*/ inline CreateReplicationConfigRequest& WithReplicationSettings(const char* value) { SetReplicationSettings(value); return *this;} /** *

Optional JSON settings for specifying supplemental data. For more * information, see * Specifying supplemental data for task settings.

*/ inline const Aws::String& GetSupplementalSettings() const{ return m_supplementalSettings; } /** *

Optional JSON settings for specifying supplemental data. For more * information, see * Specifying supplemental data for task settings.

*/ inline bool SupplementalSettingsHasBeenSet() const { return m_supplementalSettingsHasBeenSet; } /** *

Optional JSON settings for specifying supplemental data. For more * information, see * Specifying supplemental data for task settings.

*/ inline void SetSupplementalSettings(const Aws::String& value) { m_supplementalSettingsHasBeenSet = true; m_supplementalSettings = value; } /** *

Optional JSON settings for specifying supplemental data. For more * information, see * Specifying supplemental data for task settings.

*/ inline void SetSupplementalSettings(Aws::String&& value) { m_supplementalSettingsHasBeenSet = true; m_supplementalSettings = std::move(value); } /** *

Optional JSON settings for specifying supplemental data. For more * information, see * Specifying supplemental data for task settings.

*/ inline void SetSupplementalSettings(const char* value) { m_supplementalSettingsHasBeenSet = true; m_supplementalSettings.assign(value); } /** *

Optional JSON settings for specifying supplemental data. For more * information, see * Specifying supplemental data for task settings.

*/ inline CreateReplicationConfigRequest& WithSupplementalSettings(const Aws::String& value) { SetSupplementalSettings(value); return *this;} /** *

Optional JSON settings for specifying supplemental data. For more * information, see * Specifying supplemental data for task settings.

*/ inline CreateReplicationConfigRequest& WithSupplementalSettings(Aws::String&& value) { SetSupplementalSettings(std::move(value)); return *this;} /** *

Optional JSON settings for specifying supplemental data. For more * information, see * Specifying supplemental data for task settings.

*/ inline CreateReplicationConfigRequest& WithSupplementalSettings(const char* value) { SetSupplementalSettings(value); return *this;} /** *

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.

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

*/ inline bool ResourceIdentifierHasBeenSet() const { return m_resourceIdentifierHasBeenSet; } /** *

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.

*/ inline void SetResourceIdentifier(const Aws::String& value) { m_resourceIdentifierHasBeenSet = true; m_resourceIdentifier = value; } /** *

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.

*/ inline void SetResourceIdentifier(Aws::String&& value) { m_resourceIdentifierHasBeenSet = true; m_resourceIdentifier = std::move(value); } /** *

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.

*/ inline void SetResourceIdentifier(const char* value) { m_resourceIdentifierHasBeenSet = true; m_resourceIdentifier.assign(value); } /** *

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.

*/ inline CreateReplicationConfigRequest& WithResourceIdentifier(const Aws::String& value) { SetResourceIdentifier(value); return *this;} /** *

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.

*/ inline CreateReplicationConfigRequest& WithResourceIdentifier(Aws::String&& value) { SetResourceIdentifier(std::move(value)); return *this;} /** *

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.

*/ inline CreateReplicationConfigRequest& WithResourceIdentifier(const char* value) { SetResourceIdentifier(value); return *this;} /** *

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

*/ inline const Aws::Vector& GetTags() const{ return m_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.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

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

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

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

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

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

*/ inline CreateReplicationConfigRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

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

*/ inline CreateReplicationConfigRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

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

*/ inline CreateReplicationConfigRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

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

*/ inline CreateReplicationConfigRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: Aws::String m_replicationConfigIdentifier; bool m_replicationConfigIdentifierHasBeenSet = false; Aws::String m_sourceEndpointArn; bool m_sourceEndpointArnHasBeenSet = false; Aws::String m_targetEndpointArn; bool m_targetEndpointArnHasBeenSet = false; ComputeConfig m_computeConfig; bool m_computeConfigHasBeenSet = false; MigrationTypeValue m_replicationType; bool m_replicationTypeHasBeenSet = false; Aws::String m_tableMappings; bool m_tableMappingsHasBeenSet = false; Aws::String m_replicationSettings; bool m_replicationSettingsHasBeenSet = false; Aws::String m_supplementalSettings; bool m_supplementalSettingsHasBeenSet = false; Aws::String m_resourceIdentifier; bool m_resourceIdentifierHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace DatabaseMigrationService } // namespace Aws