/** * 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 Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace DatabaseMigrationService { namespace Model { /** *

Provides information that defines a Microsoft SQL Server * endpoint.

See Also:

AWS * API Reference

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

Endpoint TCP port.

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

Endpoint TCP port.

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

Endpoint TCP port.

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

Endpoint TCP port.

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

The maximum size of the packets (in bytes) used to transfer data using * BCP.

*/ inline int GetBcpPacketSize() const{ return m_bcpPacketSize; } /** *

The maximum size of the packets (in bytes) used to transfer data using * BCP.

*/ inline bool BcpPacketSizeHasBeenSet() const { return m_bcpPacketSizeHasBeenSet; } /** *

The maximum size of the packets (in bytes) used to transfer data using * BCP.

*/ inline void SetBcpPacketSize(int value) { m_bcpPacketSizeHasBeenSet = true; m_bcpPacketSize = value; } /** *

The maximum size of the packets (in bytes) used to transfer data using * BCP.

*/ inline MicrosoftSQLServerSettings& WithBcpPacketSize(int value) { SetBcpPacketSize(value); return *this;} /** *

Database name for the endpoint.

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

Database name for the endpoint.

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

Database name for the endpoint.

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

Database name for the endpoint.

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

Database name for the endpoint.

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

Database name for the endpoint.

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

Database name for the endpoint.

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

Database name for the endpoint.

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

Specifies a file group for the DMS internal tables. When the replication task * starts, all the internal DMS control tables (awsdms_ apply_exception, * awsdms_apply, awsdms_changes) are created for the specified file group.

*/ inline const Aws::String& GetControlTablesFileGroup() const{ return m_controlTablesFileGroup; } /** *

Specifies a file group for the DMS internal tables. When the replication task * starts, all the internal DMS control tables (awsdms_ apply_exception, * awsdms_apply, awsdms_changes) are created for the specified file group.

*/ inline bool ControlTablesFileGroupHasBeenSet() const { return m_controlTablesFileGroupHasBeenSet; } /** *

Specifies a file group for the DMS internal tables. When the replication task * starts, all the internal DMS control tables (awsdms_ apply_exception, * awsdms_apply, awsdms_changes) are created for the specified file group.

*/ inline void SetControlTablesFileGroup(const Aws::String& value) { m_controlTablesFileGroupHasBeenSet = true; m_controlTablesFileGroup = value; } /** *

Specifies a file group for the DMS internal tables. When the replication task * starts, all the internal DMS control tables (awsdms_ apply_exception, * awsdms_apply, awsdms_changes) are created for the specified file group.

*/ inline void SetControlTablesFileGroup(Aws::String&& value) { m_controlTablesFileGroupHasBeenSet = true; m_controlTablesFileGroup = std::move(value); } /** *

Specifies a file group for the DMS internal tables. When the replication task * starts, all the internal DMS control tables (awsdms_ apply_exception, * awsdms_apply, awsdms_changes) are created for the specified file group.

*/ inline void SetControlTablesFileGroup(const char* value) { m_controlTablesFileGroupHasBeenSet = true; m_controlTablesFileGroup.assign(value); } /** *

Specifies a file group for the DMS internal tables. When the replication task * starts, all the internal DMS control tables (awsdms_ apply_exception, * awsdms_apply, awsdms_changes) are created for the specified file group.

*/ inline MicrosoftSQLServerSettings& WithControlTablesFileGroup(const Aws::String& value) { SetControlTablesFileGroup(value); return *this;} /** *

Specifies a file group for the DMS internal tables. When the replication task * starts, all the internal DMS control tables (awsdms_ apply_exception, * awsdms_apply, awsdms_changes) are created for the specified file group.

*/ inline MicrosoftSQLServerSettings& WithControlTablesFileGroup(Aws::String&& value) { SetControlTablesFileGroup(std::move(value)); return *this;} /** *

Specifies a file group for the DMS internal tables. When the replication task * starts, all the internal DMS control tables (awsdms_ apply_exception, * awsdms_apply, awsdms_changes) are created for the specified file group.

*/ inline MicrosoftSQLServerSettings& WithControlTablesFileGroup(const char* value) { SetControlTablesFileGroup(value); return *this;} /** *

Endpoint connection password.

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

Endpoint connection password.

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

Endpoint connection password.

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

Endpoint connection password.

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

Endpoint connection password.

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

Endpoint connection password.

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

Endpoint connection password.

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

Endpoint connection password.

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

Cleans and recreates table metadata information on the replication instance * when a mismatch occurs. An example is a situation where running an alter DDL * statement on a table might result in different information about the table * cached in the replication instance.

*/ inline bool GetQuerySingleAlwaysOnNode() const{ return m_querySingleAlwaysOnNode; } /** *

Cleans and recreates table metadata information on the replication instance * when a mismatch occurs. An example is a situation where running an alter DDL * statement on a table might result in different information about the table * cached in the replication instance.

*/ inline bool QuerySingleAlwaysOnNodeHasBeenSet() const { return m_querySingleAlwaysOnNodeHasBeenSet; } /** *

Cleans and recreates table metadata information on the replication instance * when a mismatch occurs. An example is a situation where running an alter DDL * statement on a table might result in different information about the table * cached in the replication instance.

*/ inline void SetQuerySingleAlwaysOnNode(bool value) { m_querySingleAlwaysOnNodeHasBeenSet = true; m_querySingleAlwaysOnNode = value; } /** *

Cleans and recreates table metadata information on the replication instance * when a mismatch occurs. An example is a situation where running an alter DDL * statement on a table might result in different information about the table * cached in the replication instance.

*/ inline MicrosoftSQLServerSettings& WithQuerySingleAlwaysOnNode(bool value) { SetQuerySingleAlwaysOnNode(value); return *this;} /** *

When this attribute is set to Y, DMS only reads changes from * transaction log backups and doesn't read from the active transaction log file * during ongoing replication. Setting this parameter to Y enables you * to control active transaction log file growth during full load and ongoing * replication tasks. However, it can add some source latency to ongoing * replication.

*/ inline bool GetReadBackupOnly() const{ return m_readBackupOnly; } /** *

When this attribute is set to Y, DMS only reads changes from * transaction log backups and doesn't read from the active transaction log file * during ongoing replication. Setting this parameter to Y enables you * to control active transaction log file growth during full load and ongoing * replication tasks. However, it can add some source latency to ongoing * replication.

*/ inline bool ReadBackupOnlyHasBeenSet() const { return m_readBackupOnlyHasBeenSet; } /** *

When this attribute is set to Y, DMS only reads changes from * transaction log backups and doesn't read from the active transaction log file * during ongoing replication. Setting this parameter to Y enables you * to control active transaction log file growth during full load and ongoing * replication tasks. However, it can add some source latency to ongoing * replication.

*/ inline void SetReadBackupOnly(bool value) { m_readBackupOnlyHasBeenSet = true; m_readBackupOnly = value; } /** *

When this attribute is set to Y, DMS only reads changes from * transaction log backups and doesn't read from the active transaction log file * during ongoing replication. Setting this parameter to Y enables you * to control active transaction log file growth during full load and ongoing * replication tasks. However, it can add some source latency to ongoing * replication.

*/ inline MicrosoftSQLServerSettings& WithReadBackupOnly(bool value) { SetReadBackupOnly(value); return *this;} /** *

Use this attribute to minimize the need to access the backup log and enable * DMS to prevent truncation using one of the following two methods.

* Start transactions in the database: This is the default method. When this * method is used, DMS prevents TLOG truncation by mimicking a transaction in the * database. As long as such a transaction is open, changes that appear after the * transaction started aren't truncated. If you need Microsoft Replication to be * enabled in your database, then you must choose this method.

* Exclusively use sp_repldone within a single task: When this method is * used, DMS reads the changes and then uses sp_repldone to mark the TLOG * transactions as ready for truncation. Although this method doesn't involve any * transactional activities, it can only be used when Microsoft Replication isn't * running. Also, when using this method, only one DMS task can access the database * at any given time. Therefore, if you need to run parallel DMS tasks against the * same database, use the default method.

*/ inline const SafeguardPolicy& GetSafeguardPolicy() const{ return m_safeguardPolicy; } /** *

Use this attribute to minimize the need to access the backup log and enable * DMS to prevent truncation using one of the following two methods.

* Start transactions in the database: This is the default method. When this * method is used, DMS prevents TLOG truncation by mimicking a transaction in the * database. As long as such a transaction is open, changes that appear after the * transaction started aren't truncated. If you need Microsoft Replication to be * enabled in your database, then you must choose this method.

* Exclusively use sp_repldone within a single task: When this method is * used, DMS reads the changes and then uses sp_repldone to mark the TLOG * transactions as ready for truncation. Although this method doesn't involve any * transactional activities, it can only be used when Microsoft Replication isn't * running. Also, when using this method, only one DMS task can access the database * at any given time. Therefore, if you need to run parallel DMS tasks against the * same database, use the default method.

*/ inline bool SafeguardPolicyHasBeenSet() const { return m_safeguardPolicyHasBeenSet; } /** *

Use this attribute to minimize the need to access the backup log and enable * DMS to prevent truncation using one of the following two methods.

* Start transactions in the database: This is the default method. When this * method is used, DMS prevents TLOG truncation by mimicking a transaction in the * database. As long as such a transaction is open, changes that appear after the * transaction started aren't truncated. If you need Microsoft Replication to be * enabled in your database, then you must choose this method.

* Exclusively use sp_repldone within a single task: When this method is * used, DMS reads the changes and then uses sp_repldone to mark the TLOG * transactions as ready for truncation. Although this method doesn't involve any * transactional activities, it can only be used when Microsoft Replication isn't * running. Also, when using this method, only one DMS task can access the database * at any given time. Therefore, if you need to run parallel DMS tasks against the * same database, use the default method.

*/ inline void SetSafeguardPolicy(const SafeguardPolicy& value) { m_safeguardPolicyHasBeenSet = true; m_safeguardPolicy = value; } /** *

Use this attribute to minimize the need to access the backup log and enable * DMS to prevent truncation using one of the following two methods.

* Start transactions in the database: This is the default method. When this * method is used, DMS prevents TLOG truncation by mimicking a transaction in the * database. As long as such a transaction is open, changes that appear after the * transaction started aren't truncated. If you need Microsoft Replication to be * enabled in your database, then you must choose this method.

* Exclusively use sp_repldone within a single task: When this method is * used, DMS reads the changes and then uses sp_repldone to mark the TLOG * transactions as ready for truncation. Although this method doesn't involve any * transactional activities, it can only be used when Microsoft Replication isn't * running. Also, when using this method, only one DMS task can access the database * at any given time. Therefore, if you need to run parallel DMS tasks against the * same database, use the default method.

*/ inline void SetSafeguardPolicy(SafeguardPolicy&& value) { m_safeguardPolicyHasBeenSet = true; m_safeguardPolicy = std::move(value); } /** *

Use this attribute to minimize the need to access the backup log and enable * DMS to prevent truncation using one of the following two methods.

* Start transactions in the database: This is the default method. When this * method is used, DMS prevents TLOG truncation by mimicking a transaction in the * database. As long as such a transaction is open, changes that appear after the * transaction started aren't truncated. If you need Microsoft Replication to be * enabled in your database, then you must choose this method.

* Exclusively use sp_repldone within a single task: When this method is * used, DMS reads the changes and then uses sp_repldone to mark the TLOG * transactions as ready for truncation. Although this method doesn't involve any * transactional activities, it can only be used when Microsoft Replication isn't * running. Also, when using this method, only one DMS task can access the database * at any given time. Therefore, if you need to run parallel DMS tasks against the * same database, use the default method.

*/ inline MicrosoftSQLServerSettings& WithSafeguardPolicy(const SafeguardPolicy& value) { SetSafeguardPolicy(value); return *this;} /** *

Use this attribute to minimize the need to access the backup log and enable * DMS to prevent truncation using one of the following two methods.

* Start transactions in the database: This is the default method. When this * method is used, DMS prevents TLOG truncation by mimicking a transaction in the * database. As long as such a transaction is open, changes that appear after the * transaction started aren't truncated. If you need Microsoft Replication to be * enabled in your database, then you must choose this method.

* Exclusively use sp_repldone within a single task: When this method is * used, DMS reads the changes and then uses sp_repldone to mark the TLOG * transactions as ready for truncation. Although this method doesn't involve any * transactional activities, it can only be used when Microsoft Replication isn't * running. Also, when using this method, only one DMS task can access the database * at any given time. Therefore, if you need to run parallel DMS tasks against the * same database, use the default method.

*/ inline MicrosoftSQLServerSettings& WithSafeguardPolicy(SafeguardPolicy&& value) { SetSafeguardPolicy(std::move(value)); return *this;} /** *

Fully qualified domain name of the endpoint. For an Amazon RDS SQL Server * instance, this is the output of DescribeDBInstances, * in the Endpoint.Address * field.

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

Fully qualified domain name of the endpoint. For an Amazon RDS SQL Server * instance, this is the output of DescribeDBInstances, * in the Endpoint.Address * field.

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

Fully qualified domain name of the endpoint. For an Amazon RDS SQL Server * instance, this is the output of DescribeDBInstances, * in the Endpoint.Address * field.

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

Fully qualified domain name of the endpoint. For an Amazon RDS SQL Server * instance, this is the output of DescribeDBInstances, * in the Endpoint.Address * field.

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

Fully qualified domain name of the endpoint. For an Amazon RDS SQL Server * instance, this is the output of DescribeDBInstances, * in the Endpoint.Address * field.

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

Fully qualified domain name of the endpoint. For an Amazon RDS SQL Server * instance, this is the output of DescribeDBInstances, * in the Endpoint.Address * field.

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

Fully qualified domain name of the endpoint. For an Amazon RDS SQL Server * instance, this is the output of DescribeDBInstances, * in the Endpoint.Address * field.

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

Fully qualified domain name of the endpoint. For an Amazon RDS SQL Server * instance, this is the output of DescribeDBInstances, * in the Endpoint.Address * field.

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

Endpoint connection user name.

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

Endpoint connection user name.

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

Endpoint connection user name.

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

Endpoint connection user name.

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

Endpoint connection user name.

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

Endpoint connection user name.

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

Endpoint connection user name.

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

Endpoint connection user name.

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

Use this to attribute to transfer data for full-load operations using BCP. * When the target table contains an identity column that does not exist in the * source table, you must disable the use BCP for loading table option.

*/ inline bool GetUseBcpFullLoad() const{ return m_useBcpFullLoad; } /** *

Use this to attribute to transfer data for full-load operations using BCP. * When the target table contains an identity column that does not exist in the * source table, you must disable the use BCP for loading table option.

*/ inline bool UseBcpFullLoadHasBeenSet() const { return m_useBcpFullLoadHasBeenSet; } /** *

Use this to attribute to transfer data for full-load operations using BCP. * When the target table contains an identity column that does not exist in the * source table, you must disable the use BCP for loading table option.

*/ inline void SetUseBcpFullLoad(bool value) { m_useBcpFullLoadHasBeenSet = true; m_useBcpFullLoad = value; } /** *

Use this to attribute to transfer data for full-load operations using BCP. * When the target table contains an identity column that does not exist in the * source table, you must disable the use BCP for loading table option.

*/ inline MicrosoftSQLServerSettings& WithUseBcpFullLoad(bool value) { SetUseBcpFullLoad(value); return *this;} /** *

When this attribute is set to Y, DMS processes third-party * transaction log backups if they are created in native format.

*/ inline bool GetUseThirdPartyBackupDevice() const{ return m_useThirdPartyBackupDevice; } /** *

When this attribute is set to Y, DMS processes third-party * transaction log backups if they are created in native format.

*/ inline bool UseThirdPartyBackupDeviceHasBeenSet() const { return m_useThirdPartyBackupDeviceHasBeenSet; } /** *

When this attribute is set to Y, DMS processes third-party * transaction log backups if they are created in native format.

*/ inline void SetUseThirdPartyBackupDevice(bool value) { m_useThirdPartyBackupDeviceHasBeenSet = true; m_useThirdPartyBackupDevice = value; } /** *

When this attribute is set to Y, DMS processes third-party * transaction log backups if they are created in native format.

*/ inline MicrosoftSQLServerSettings& WithUseThirdPartyBackupDevice(bool value) { SetUseThirdPartyBackupDevice(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 SQL Server 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 SQL Server 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 SQL Server 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 SQL Server 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 SQL Server 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 SQL Server 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 MicrosoftSQLServerSettings& 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 SQL Server 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 MicrosoftSQLServerSettings& 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 SQL Server 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 MicrosoftSQLServerSettings& WithSecretsManagerAccessRoleArn(const char* value) { SetSecretsManagerAccessRoleArn(value); return *this;} /** *

The full ARN, partial ARN, or friendly name of the * SecretsManagerSecret that contains the SQL Server 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 SQL Server endpoint * connection details.

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

The full ARN, partial ARN, or friendly name of the * SecretsManagerSecret that contains the SQL Server 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 SQL Server 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 SQL Server 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 SQL Server endpoint * connection details.

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

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

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

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

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

Use the TrimSpaceInChar source endpoint setting to trim data on * CHAR and NCHAR data types during migration. The default value is * true.

*/ inline bool GetTrimSpaceInChar() const{ return m_trimSpaceInChar; } /** *

Use the TrimSpaceInChar source endpoint setting to trim data on * CHAR and NCHAR data types during migration. The default value is * true.

*/ inline bool TrimSpaceInCharHasBeenSet() const { return m_trimSpaceInCharHasBeenSet; } /** *

Use the TrimSpaceInChar source endpoint setting to trim data on * CHAR and NCHAR data types during migration. The default value is * true.

*/ inline void SetTrimSpaceInChar(bool value) { m_trimSpaceInCharHasBeenSet = true; m_trimSpaceInChar = value; } /** *

Use the TrimSpaceInChar source endpoint setting to trim data on * CHAR and NCHAR data types during migration. The default value is * true.

*/ inline MicrosoftSQLServerSettings& WithTrimSpaceInChar(bool value) { SetTrimSpaceInChar(value); return *this;} /** *

Indicates the mode used to fetch CDC data.

*/ inline const TlogAccessMode& GetTlogAccessMode() const{ return m_tlogAccessMode; } /** *

Indicates the mode used to fetch CDC data.

*/ inline bool TlogAccessModeHasBeenSet() const { return m_tlogAccessModeHasBeenSet; } /** *

Indicates the mode used to fetch CDC data.

*/ inline void SetTlogAccessMode(const TlogAccessMode& value) { m_tlogAccessModeHasBeenSet = true; m_tlogAccessMode = value; } /** *

Indicates the mode used to fetch CDC data.

*/ inline void SetTlogAccessMode(TlogAccessMode&& value) { m_tlogAccessModeHasBeenSet = true; m_tlogAccessMode = std::move(value); } /** *

Indicates the mode used to fetch CDC data.

*/ inline MicrosoftSQLServerSettings& WithTlogAccessMode(const TlogAccessMode& value) { SetTlogAccessMode(value); return *this;} /** *

Indicates the mode used to fetch CDC data.

*/ inline MicrosoftSQLServerSettings& WithTlogAccessMode(TlogAccessMode&& value) { SetTlogAccessMode(std::move(value)); return *this;} /** *

Forces LOB lookup on inline LOB.

*/ inline bool GetForceLobLookup() const{ return m_forceLobLookup; } /** *

Forces LOB lookup on inline LOB.

*/ inline bool ForceLobLookupHasBeenSet() const { return m_forceLobLookupHasBeenSet; } /** *

Forces LOB lookup on inline LOB.

*/ inline void SetForceLobLookup(bool value) { m_forceLobLookupHasBeenSet = true; m_forceLobLookup = value; } /** *

Forces LOB lookup on inline LOB.

*/ inline MicrosoftSQLServerSettings& WithForceLobLookup(bool value) { SetForceLobLookup(value); return *this;} private: int m_port; bool m_portHasBeenSet = false; int m_bcpPacketSize; bool m_bcpPacketSizeHasBeenSet = false; Aws::String m_databaseName; bool m_databaseNameHasBeenSet = false; Aws::String m_controlTablesFileGroup; bool m_controlTablesFileGroupHasBeenSet = false; Aws::String m_password; bool m_passwordHasBeenSet = false; bool m_querySingleAlwaysOnNode; bool m_querySingleAlwaysOnNodeHasBeenSet = false; bool m_readBackupOnly; bool m_readBackupOnlyHasBeenSet = false; SafeguardPolicy m_safeguardPolicy; bool m_safeguardPolicyHasBeenSet = false; Aws::String m_serverName; bool m_serverNameHasBeenSet = false; Aws::String m_username; bool m_usernameHasBeenSet = false; bool m_useBcpFullLoad; bool m_useBcpFullLoadHasBeenSet = false; bool m_useThirdPartyBackupDevice; bool m_useThirdPartyBackupDeviceHasBeenSet = false; Aws::String m_secretsManagerAccessRoleArn; bool m_secretsManagerAccessRoleArnHasBeenSet = false; Aws::String m_secretsManagerSecretId; bool m_secretsManagerSecretIdHasBeenSet = false; bool m_trimSpaceInChar; bool m_trimSpaceInCharHasBeenSet = false; TlogAccessMode m_tlogAccessMode; bool m_tlogAccessModeHasBeenSet = false; bool m_forceLobLookup; bool m_forceLobLookupHasBeenSet = false; }; } // namespace Model } // namespace DatabaseMigrationService } // namespace Aws