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

Provides information that defines a DocumentDB endpoint.

See * Also:

AWS * API Reference

*/ class DocDbSettings { public: AWS_DATABASEMIGRATIONSERVICE_API DocDbSettings(); AWS_DATABASEMIGRATIONSERVICE_API DocDbSettings(Aws::Utils::Json::JsonView jsonValue); AWS_DATABASEMIGRATIONSERVICE_API DocDbSettings& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_DATABASEMIGRATIONSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The user name you use to access the DocumentDB source endpoint.

*/ inline const Aws::String& GetUsername() const{ return m_username; } /** *

The user name you use to access the DocumentDB source endpoint.

*/ inline bool UsernameHasBeenSet() const { return m_usernameHasBeenSet; } /** *

The user name you use to access the DocumentDB source endpoint.

*/ inline void SetUsername(const Aws::String& value) { m_usernameHasBeenSet = true; m_username = value; } /** *

The user name you use to access the DocumentDB source endpoint.

*/ inline void SetUsername(Aws::String&& value) { m_usernameHasBeenSet = true; m_username = std::move(value); } /** *

The user name you use to access the DocumentDB source endpoint.

*/ inline void SetUsername(const char* value) { m_usernameHasBeenSet = true; m_username.assign(value); } /** *

The user name you use to access the DocumentDB source endpoint.

*/ inline DocDbSettings& WithUsername(const Aws::String& value) { SetUsername(value); return *this;} /** *

The user name you use to access the DocumentDB source endpoint.

*/ inline DocDbSettings& WithUsername(Aws::String&& value) { SetUsername(std::move(value)); return *this;} /** *

The user name you use to access the DocumentDB source endpoint.

*/ inline DocDbSettings& WithUsername(const char* value) { SetUsername(value); return *this;} /** *

The password for the user account you use to access the DocumentDB source * endpoint.

*/ inline const Aws::String& GetPassword() const{ return m_password; } /** *

The password for the user account you use to access the DocumentDB source * endpoint.

*/ inline bool PasswordHasBeenSet() const { return m_passwordHasBeenSet; } /** *

The password for the user account you use to access the DocumentDB source * endpoint.

*/ inline void SetPassword(const Aws::String& value) { m_passwordHasBeenSet = true; m_password = value; } /** *

The password for the user account you use to access the DocumentDB source * endpoint.

*/ inline void SetPassword(Aws::String&& value) { m_passwordHasBeenSet = true; m_password = std::move(value); } /** *

The password for the user account you use to access the DocumentDB source * endpoint.

*/ inline void SetPassword(const char* value) { m_passwordHasBeenSet = true; m_password.assign(value); } /** *

The password for the user account you use to access the DocumentDB source * endpoint.

*/ inline DocDbSettings& WithPassword(const Aws::String& value) { SetPassword(value); return *this;} /** *

The password for the user account you use to access the DocumentDB source * endpoint.

*/ inline DocDbSettings& WithPassword(Aws::String&& value) { SetPassword(std::move(value)); return *this;} /** *

The password for the user account you use to access the DocumentDB source * endpoint.

*/ inline DocDbSettings& WithPassword(const char* value) { SetPassword(value); return *this;} /** *

The name of the server on the DocumentDB source endpoint.

*/ inline const Aws::String& GetServerName() const{ return m_serverName; } /** *

The name of the server on the DocumentDB source endpoint.

*/ inline bool ServerNameHasBeenSet() const { return m_serverNameHasBeenSet; } /** *

The name of the server on the DocumentDB source endpoint.

*/ inline void SetServerName(const Aws::String& value) { m_serverNameHasBeenSet = true; m_serverName = value; } /** *

The name of the server on the DocumentDB source endpoint.

*/ inline void SetServerName(Aws::String&& value) { m_serverNameHasBeenSet = true; m_serverName = std::move(value); } /** *

The name of the server on the DocumentDB source endpoint.

*/ inline void SetServerName(const char* value) { m_serverNameHasBeenSet = true; m_serverName.assign(value); } /** *

The name of the server on the DocumentDB source endpoint.

*/ inline DocDbSettings& WithServerName(const Aws::String& value) { SetServerName(value); return *this;} /** *

The name of the server on the DocumentDB source endpoint.

*/ inline DocDbSettings& WithServerName(Aws::String&& value) { SetServerName(std::move(value)); return *this;} /** *

The name of the server on the DocumentDB source endpoint.

*/ inline DocDbSettings& WithServerName(const char* value) { SetServerName(value); return *this;} /** *

The port value for the DocumentDB source endpoint.

*/ inline int GetPort() const{ return m_port; } /** *

The port value for the DocumentDB source endpoint.

*/ inline bool PortHasBeenSet() const { return m_portHasBeenSet; } /** *

The port value for the DocumentDB source endpoint.

*/ inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; } /** *

The port value for the DocumentDB source endpoint.

*/ inline DocDbSettings& WithPort(int value) { SetPort(value); return *this;} /** *

The database name on the DocumentDB source endpoint.

*/ inline const Aws::String& GetDatabaseName() const{ return m_databaseName; } /** *

The database name on the DocumentDB source endpoint.

*/ inline bool DatabaseNameHasBeenSet() const { return m_databaseNameHasBeenSet; } /** *

The database name on the DocumentDB source endpoint.

*/ inline void SetDatabaseName(const Aws::String& value) { m_databaseNameHasBeenSet = true; m_databaseName = value; } /** *

The database name on the DocumentDB source endpoint.

*/ inline void SetDatabaseName(Aws::String&& value) { m_databaseNameHasBeenSet = true; m_databaseName = std::move(value); } /** *

The database name on the DocumentDB source endpoint.

*/ inline void SetDatabaseName(const char* value) { m_databaseNameHasBeenSet = true; m_databaseName.assign(value); } /** *

The database name on the DocumentDB source endpoint.

*/ inline DocDbSettings& WithDatabaseName(const Aws::String& value) { SetDatabaseName(value); return *this;} /** *

The database name on the DocumentDB source endpoint.

*/ inline DocDbSettings& WithDatabaseName(Aws::String&& value) { SetDatabaseName(std::move(value)); return *this;} /** *

The database name on the DocumentDB source endpoint.

*/ inline DocDbSettings& WithDatabaseName(const char* value) { SetDatabaseName(value); return *this;} /** *

Specifies either document or table mode.

Default value is * "none". Specify "none" to use document mode. Specify * "one" to use table mode.

*/ inline const NestingLevelValue& GetNestingLevel() const{ return m_nestingLevel; } /** *

Specifies either document or table mode.

Default value is * "none". Specify "none" to use document mode. Specify * "one" to use table mode.

*/ inline bool NestingLevelHasBeenSet() const { return m_nestingLevelHasBeenSet; } /** *

Specifies either document or table mode.

Default value is * "none". Specify "none" to use document mode. Specify * "one" to use table mode.

*/ inline void SetNestingLevel(const NestingLevelValue& value) { m_nestingLevelHasBeenSet = true; m_nestingLevel = value; } /** *

Specifies either document or table mode.

Default value is * "none". Specify "none" to use document mode. Specify * "one" to use table mode.

*/ inline void SetNestingLevel(NestingLevelValue&& value) { m_nestingLevelHasBeenSet = true; m_nestingLevel = std::move(value); } /** *

Specifies either document or table mode.

Default value is * "none". Specify "none" to use document mode. Specify * "one" to use table mode.

*/ inline DocDbSettings& WithNestingLevel(const NestingLevelValue& value) { SetNestingLevel(value); return *this;} /** *

Specifies either document or table mode.

Default value is * "none". Specify "none" to use document mode. Specify * "one" to use table mode.

*/ inline DocDbSettings& WithNestingLevel(NestingLevelValue&& value) { SetNestingLevel(std::move(value)); return *this;} /** *

Specifies the document ID. Use this setting when NestingLevel * is set to "none".

Default value is "false". *

*/ inline bool GetExtractDocId() const{ return m_extractDocId; } /** *

Specifies the document ID. Use this setting when NestingLevel * is set to "none".

Default value is "false". *

*/ inline bool ExtractDocIdHasBeenSet() const { return m_extractDocIdHasBeenSet; } /** *

Specifies the document ID. Use this setting when NestingLevel * is set to "none".

Default value is "false". *

*/ inline void SetExtractDocId(bool value) { m_extractDocIdHasBeenSet = true; m_extractDocId = value; } /** *

Specifies the document ID. Use this setting when NestingLevel * is set to "none".

Default value is "false". *

*/ inline DocDbSettings& WithExtractDocId(bool value) { SetExtractDocId(value); return *this;} /** *

Indicates the number of documents to preview to determine the document * organization. Use this setting when NestingLevel is set to * "one".

Must be a positive value greater than * 0. Default value is 1000.

*/ inline int GetDocsToInvestigate() const{ return m_docsToInvestigate; } /** *

Indicates the number of documents to preview to determine the document * organization. Use this setting when NestingLevel is set to * "one".

Must be a positive value greater than * 0. Default value is 1000.

*/ inline bool DocsToInvestigateHasBeenSet() const { return m_docsToInvestigateHasBeenSet; } /** *

Indicates the number of documents to preview to determine the document * organization. Use this setting when NestingLevel is set to * "one".

Must be a positive value greater than * 0. Default value is 1000.

*/ inline void SetDocsToInvestigate(int value) { m_docsToInvestigateHasBeenSet = true; m_docsToInvestigate = value; } /** *

Indicates the number of documents to preview to determine the document * organization. Use this setting when NestingLevel is set to * "one".

Must be a positive value greater than * 0. Default value is 1000.

*/ inline DocDbSettings& WithDocsToInvestigate(int value) { SetDocsToInvestigate(value); return *this;} /** *

The KMS key identifier that is used to encrypt the content on the replication * instance. If you don't specify a value for the KmsKeyId parameter, * then DMS uses your default encryption key. KMS creates the default encryption * key for your Amazon Web Services account. Your Amazon Web Services account has a * different default encryption key for each Amazon Web Services Region.

*/ inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } /** *

The KMS key identifier that is used to encrypt the content on the replication * instance. If you don't specify a value for the KmsKeyId parameter, * then DMS uses your default encryption key. KMS creates the default encryption * key for your Amazon Web Services account. Your Amazon Web Services account has a * different default encryption key for each Amazon Web Services Region.

*/ inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } /** *

The KMS key identifier that is used to encrypt the content on the replication * instance. If you don't specify a value for the KmsKeyId parameter, * then DMS uses your default encryption key. KMS creates the default encryption * key for your Amazon Web Services account. Your Amazon Web Services account has a * different default encryption key for each Amazon Web Services Region.

*/ inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; } /** *

The KMS key identifier that is used to encrypt the content on the replication * instance. If you don't specify a value for the KmsKeyId parameter, * then DMS uses your default encryption key. KMS creates the default encryption * key for your Amazon Web Services account. Your Amazon Web Services account has a * different default encryption key for each Amazon Web Services Region.

*/ inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); } /** *

The KMS key identifier that is used to encrypt the content on the replication * instance. If you don't specify a value for the KmsKeyId parameter, * then DMS uses your default encryption key. KMS creates the default encryption * key for your Amazon Web Services account. Your Amazon Web Services account has a * different default encryption key for each Amazon Web Services Region.

*/ inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); } /** *

The KMS key identifier that is used to encrypt the content on the replication * instance. If you don't specify a value for the KmsKeyId parameter, * then DMS uses your default encryption key. KMS creates the default encryption * key for your Amazon Web Services account. Your Amazon Web Services account has a * different default encryption key for each Amazon Web Services Region.

*/ inline DocDbSettings& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} /** *

The KMS key identifier that is used to encrypt the content on the replication * instance. If you don't specify a value for the KmsKeyId parameter, * then DMS uses your default encryption key. KMS creates the default encryption * key for your Amazon Web Services account. Your Amazon Web Services account has a * different default encryption key for each Amazon Web Services Region.

*/ inline DocDbSettings& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} /** *

The KMS key identifier that is used to encrypt the content on the replication * instance. If you don't specify a value for the KmsKeyId parameter, * then DMS uses your default encryption key. KMS creates the default encryption * key for your Amazon Web Services account. Your Amazon Web Services account has a * different default encryption key for each Amazon Web Services Region.

*/ inline DocDbSettings& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} /** *

The full Amazon Resource Name (ARN) of the IAM role that specifies DMS as the * trusted entity and grants the required permissions to access the value in * SecretsManagerSecret. The role must allow the * iam:PassRole action. SecretsManagerSecret has the * value of the Amazon Web Services Secrets Manager secret that allows access to * the DocumentDB endpoint.

You can specify one of two sets of values * for these permissions. You can specify the values for this setting and * SecretsManagerSecretId. Or you can specify clear-text values for * UserName, Password, ServerName, and * Port. You can't specify both. For more information on creating this * SecretsManagerSecret and the * SecretsManagerAccessRoleArn and SecretsManagerSecretId * required to access it, see Using * secrets to access Database Migration Service resources in the Database * Migration Service User Guide.

*/ inline const Aws::String& GetSecretsManagerAccessRoleArn() const{ return m_secretsManagerAccessRoleArn; } /** *

The full Amazon Resource Name (ARN) of the IAM role that specifies DMS as the * trusted entity and grants the required permissions to access the value in * SecretsManagerSecret. The role must allow the * iam:PassRole action. SecretsManagerSecret has the * value of the Amazon Web Services Secrets Manager secret that allows access to * the DocumentDB endpoint.

You can specify one of two sets of values * for these permissions. You can specify the values for this setting and * SecretsManagerSecretId. Or you can specify clear-text values for * UserName, Password, ServerName, and * Port. You can't specify both. For more information on creating this * SecretsManagerSecret and the * SecretsManagerAccessRoleArn and SecretsManagerSecretId * required to access it, see Using * secrets to access Database Migration Service resources in the Database * Migration Service User Guide.

*/ inline bool SecretsManagerAccessRoleArnHasBeenSet() const { return m_secretsManagerAccessRoleArnHasBeenSet; } /** *

The full Amazon Resource Name (ARN) of the IAM role that specifies DMS as the * trusted entity and grants the required permissions to access the value in * SecretsManagerSecret. The role must allow the * iam:PassRole action. SecretsManagerSecret has the * value of the Amazon Web Services Secrets Manager secret that allows access to * the DocumentDB endpoint.

You can specify one of two sets of values * for these permissions. You can specify the values for this setting and * SecretsManagerSecretId. Or you can specify clear-text values for * UserName, Password, ServerName, and * Port. You can't specify both. For more information on creating this * SecretsManagerSecret and the * SecretsManagerAccessRoleArn and SecretsManagerSecretId * required to access it, see Using * secrets to access Database Migration Service resources in the Database * Migration Service User Guide.

*/ inline void SetSecretsManagerAccessRoleArn(const Aws::String& value) { m_secretsManagerAccessRoleArnHasBeenSet = true; m_secretsManagerAccessRoleArn = value; } /** *

The full Amazon Resource Name (ARN) of the IAM role that specifies DMS as the * trusted entity and grants the required permissions to access the value in * SecretsManagerSecret. The role must allow the * iam:PassRole action. SecretsManagerSecret has the * value of the Amazon Web Services Secrets Manager secret that allows access to * the DocumentDB endpoint.

You can specify one of two sets of values * for these permissions. You can specify the values for this setting and * SecretsManagerSecretId. Or you can specify clear-text values for * UserName, Password, ServerName, and * Port. You can't specify both. For more information on creating this * SecretsManagerSecret and the * SecretsManagerAccessRoleArn and SecretsManagerSecretId * required to access it, see Using * secrets to access Database Migration Service resources in the Database * Migration Service User Guide.

*/ inline void SetSecretsManagerAccessRoleArn(Aws::String&& value) { m_secretsManagerAccessRoleArnHasBeenSet = true; m_secretsManagerAccessRoleArn = std::move(value); } /** *

The full Amazon Resource Name (ARN) of the IAM role that specifies DMS as the * trusted entity and grants the required permissions to access the value in * SecretsManagerSecret. The role must allow the * iam:PassRole action. SecretsManagerSecret has the * value of the Amazon Web Services Secrets Manager secret that allows access to * the DocumentDB endpoint.

You can specify one of two sets of values * for these permissions. You can specify the values for this setting and * SecretsManagerSecretId. Or you can specify clear-text values for * UserName, Password, ServerName, and * Port. You can't specify both. For more information on creating this * SecretsManagerSecret and the * SecretsManagerAccessRoleArn and SecretsManagerSecretId * required to access it, see Using * secrets to access Database Migration Service resources in the Database * Migration Service User Guide.

*/ inline void SetSecretsManagerAccessRoleArn(const char* value) { m_secretsManagerAccessRoleArnHasBeenSet = true; m_secretsManagerAccessRoleArn.assign(value); } /** *

The full Amazon Resource Name (ARN) of the IAM role that specifies DMS as the * trusted entity and grants the required permissions to access the value in * SecretsManagerSecret. The role must allow the * iam:PassRole action. SecretsManagerSecret has the * value of the Amazon Web Services Secrets Manager secret that allows access to * the DocumentDB endpoint.

You can specify one of two sets of values * for these permissions. You can specify the values for this setting and * SecretsManagerSecretId. Or you can specify clear-text values for * UserName, Password, ServerName, and * Port. You can't specify both. For more information on creating this * SecretsManagerSecret and the * SecretsManagerAccessRoleArn and SecretsManagerSecretId * required to access it, see Using * secrets to access Database Migration Service resources in the Database * Migration Service User Guide.

*/ inline DocDbSettings& WithSecretsManagerAccessRoleArn(const Aws::String& value) { SetSecretsManagerAccessRoleArn(value); return *this;} /** *

The full Amazon Resource Name (ARN) of the IAM role that specifies DMS as the * trusted entity and grants the required permissions to access the value in * SecretsManagerSecret. The role must allow the * iam:PassRole action. SecretsManagerSecret has the * value of the Amazon Web Services Secrets Manager secret that allows access to * the DocumentDB endpoint.

You can specify one of two sets of values * for these permissions. You can specify the values for this setting and * SecretsManagerSecretId. Or you can specify clear-text values for * UserName, Password, ServerName, and * Port. You can't specify both. For more information on creating this * SecretsManagerSecret and the * SecretsManagerAccessRoleArn and SecretsManagerSecretId * required to access it, see Using * secrets to access Database Migration Service resources in the Database * Migration Service User Guide.

*/ inline DocDbSettings& WithSecretsManagerAccessRoleArn(Aws::String&& value) { SetSecretsManagerAccessRoleArn(std::move(value)); return *this;} /** *

The full Amazon Resource Name (ARN) of the IAM role that specifies DMS as the * trusted entity and grants the required permissions to access the value in * SecretsManagerSecret. The role must allow the * iam:PassRole action. SecretsManagerSecret has the * value of the Amazon Web Services Secrets Manager secret that allows access to * the DocumentDB endpoint.

You can specify one of two sets of values * for these permissions. You can specify the values for this setting and * SecretsManagerSecretId. Or you can specify clear-text values for * UserName, Password, ServerName, and * Port. You can't specify both. For more information on creating this * SecretsManagerSecret and the * SecretsManagerAccessRoleArn and SecretsManagerSecretId * required to access it, see Using * secrets to access Database Migration Service resources in the Database * Migration Service User Guide.

*/ inline DocDbSettings& WithSecretsManagerAccessRoleArn(const char* value) { SetSecretsManagerAccessRoleArn(value); return *this;} /** *

The full ARN, partial ARN, or friendly name of the * SecretsManagerSecret that contains the DocumentDB endpoint * connection details.

*/ inline const Aws::String& GetSecretsManagerSecretId() const{ return m_secretsManagerSecretId; } /** *

The full ARN, partial ARN, or friendly name of the * SecretsManagerSecret that contains the DocumentDB endpoint * connection details.

*/ inline bool SecretsManagerSecretIdHasBeenSet() const { return m_secretsManagerSecretIdHasBeenSet; } /** *

The full ARN, partial ARN, or friendly name of the * SecretsManagerSecret that contains the DocumentDB endpoint * connection details.

*/ inline void SetSecretsManagerSecretId(const Aws::String& value) { m_secretsManagerSecretIdHasBeenSet = true; m_secretsManagerSecretId = value; } /** *

The full ARN, partial ARN, or friendly name of the * SecretsManagerSecret that contains the DocumentDB endpoint * connection details.

*/ inline void SetSecretsManagerSecretId(Aws::String&& value) { m_secretsManagerSecretIdHasBeenSet = true; m_secretsManagerSecretId = std::move(value); } /** *

The full ARN, partial ARN, or friendly name of the * SecretsManagerSecret that contains the DocumentDB endpoint * connection details.

*/ inline void SetSecretsManagerSecretId(const char* value) { m_secretsManagerSecretIdHasBeenSet = true; m_secretsManagerSecretId.assign(value); } /** *

The full ARN, partial ARN, or friendly name of the * SecretsManagerSecret that contains the DocumentDB endpoint * connection details.

*/ inline DocDbSettings& WithSecretsManagerSecretId(const Aws::String& value) { SetSecretsManagerSecretId(value); return *this;} /** *

The full ARN, partial ARN, or friendly name of the * SecretsManagerSecret that contains the DocumentDB endpoint * connection details.

*/ inline DocDbSettings& WithSecretsManagerSecretId(Aws::String&& value) { SetSecretsManagerSecretId(std::move(value)); return *this;} /** *

The full ARN, partial ARN, or friendly name of the * SecretsManagerSecret that contains the DocumentDB endpoint * connection details.

*/ inline DocDbSettings& WithSecretsManagerSecretId(const char* value) { SetSecretsManagerSecretId(value); return *this;} /** *

If true, DMS retrieves the entire document from the DocumentDB * source during migration. This may cause a migration failure if the server * response exceeds bandwidth limits. To fetch only updates and deletes during * migration, set this parameter to false.

*/ inline bool GetUseUpdateLookUp() const{ return m_useUpdateLookUp; } /** *

If true, DMS retrieves the entire document from the DocumentDB * source during migration. This may cause a migration failure if the server * response exceeds bandwidth limits. To fetch only updates and deletes during * migration, set this parameter to false.

*/ inline bool UseUpdateLookUpHasBeenSet() const { return m_useUpdateLookUpHasBeenSet; } /** *

If true, DMS retrieves the entire document from the DocumentDB * source during migration. This may cause a migration failure if the server * response exceeds bandwidth limits. To fetch only updates and deletes during * migration, set this parameter to false.

*/ inline void SetUseUpdateLookUp(bool value) { m_useUpdateLookUpHasBeenSet = true; m_useUpdateLookUp = value; } /** *

If true, DMS retrieves the entire document from the DocumentDB * source during migration. This may cause a migration failure if the server * response exceeds bandwidth limits. To fetch only updates and deletes during * migration, set this parameter to false.

*/ inline DocDbSettings& WithUseUpdateLookUp(bool value) { SetUseUpdateLookUp(value); return *this;} /** *

If true, DMS replicates data to shard collections. DMS only uses * this setting if the target endpoint is a DocumentDB elastic cluster.

When * this setting is true, note the following:

  • You must * set TargetTablePrepMode to nothing.

  • *

    DMS automatically sets useUpdateLookup to * false.

*/ inline bool GetReplicateShardCollections() const{ return m_replicateShardCollections; } /** *

If true, DMS replicates data to shard collections. DMS only uses * this setting if the target endpoint is a DocumentDB elastic cluster.

When * this setting is true, note the following:

  • You must * set TargetTablePrepMode to nothing.

  • *

    DMS automatically sets useUpdateLookup to * false.

*/ inline bool ReplicateShardCollectionsHasBeenSet() const { return m_replicateShardCollectionsHasBeenSet; } /** *

If true, DMS replicates data to shard collections. DMS only uses * this setting if the target endpoint is a DocumentDB elastic cluster.

When * this setting is true, note the following:

  • You must * set TargetTablePrepMode to nothing.

  • *

    DMS automatically sets useUpdateLookup to * false.

*/ inline void SetReplicateShardCollections(bool value) { m_replicateShardCollectionsHasBeenSet = true; m_replicateShardCollections = value; } /** *

If true, DMS replicates data to shard collections. DMS only uses * this setting if the target endpoint is a DocumentDB elastic cluster.

When * this setting is true, note the following:

  • You must * set TargetTablePrepMode to nothing.

  • *

    DMS automatically sets useUpdateLookup to * false.

*/ inline DocDbSettings& WithReplicateShardCollections(bool value) { SetReplicateShardCollections(value); return *this;} private: Aws::String m_username; bool m_usernameHasBeenSet = false; Aws::String m_password; bool m_passwordHasBeenSet = false; Aws::String m_serverName; bool m_serverNameHasBeenSet = false; int m_port; bool m_portHasBeenSet = false; Aws::String m_databaseName; bool m_databaseNameHasBeenSet = false; NestingLevelValue m_nestingLevel; bool m_nestingLevelHasBeenSet = false; bool m_extractDocId; bool m_extractDocIdHasBeenSet = false; int m_docsToInvestigate; bool m_docsToInvestigateHasBeenSet = false; Aws::String m_kmsKeyId; bool m_kmsKeyIdHasBeenSet = false; Aws::String m_secretsManagerAccessRoleArn; bool m_secretsManagerAccessRoleArnHasBeenSet = false; Aws::String m_secretsManagerSecretId; bool m_secretsManagerSecretIdHasBeenSet = false; bool m_useUpdateLookUp; bool m_useUpdateLookUpHasBeenSet = false; bool m_replicateShardCollections; bool m_replicateShardCollectionsHasBeenSet = false; }; } // namespace Model } // namespace DatabaseMigrationService } // namespace Aws