/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #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 an IBM Db2 LUW endpoint.

See * Also:

AWS * API Reference

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

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 IBMDb2Settings& WithDatabaseName(const Aws::String& value) { SetDatabaseName(value); return *this;} /** *

Database name for the endpoint.

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

Database name for the endpoint.

*/ inline IBMDb2Settings& WithDatabaseName(const char* value) { SetDatabaseName(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 IBMDb2Settings& WithPassword(const Aws::String& value) { SetPassword(value); return *this;} /** *

Endpoint connection password.

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

Endpoint connection password.

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

Endpoint TCP port. The default value is 50000.

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

Endpoint TCP port. The default value is 50000.

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

Endpoint TCP port. The default value is 50000.

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

Endpoint TCP port. The default value is 50000.

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

Fully qualified domain name of the endpoint.

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

Fully qualified domain name of the endpoint.

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

Fully qualified domain name of the endpoint.

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

Fully qualified domain name of the endpoint.

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

Fully qualified domain name of the endpoint.

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

Fully qualified domain name of the endpoint.

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

Fully qualified domain name of the endpoint.

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

Fully qualified domain name of the endpoint.

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

Enables ongoing replication (CDC) as a BOOLEAN value. The default is * true.

*/ inline bool GetSetDataCaptureChanges() const{ return m_setDataCaptureChanges; } /** *

Enables ongoing replication (CDC) as a BOOLEAN value. The default is * true.

*/ inline bool SetDataCaptureChangesHasBeenSet() const { return m_setDataCaptureChangesHasBeenSet; } /** *

Enables ongoing replication (CDC) as a BOOLEAN value. The default is * true.

*/ inline void SetSetDataCaptureChanges(bool value) { m_setDataCaptureChangesHasBeenSet = true; m_setDataCaptureChanges = value; } /** *

Enables ongoing replication (CDC) as a BOOLEAN value. The default is * true.

*/ inline IBMDb2Settings& WithSetDataCaptureChanges(bool value) { SetSetDataCaptureChanges(value); return *this;} /** *

For ongoing replication (CDC), use CurrentLSN to specify a log sequence * number (LSN) where you want the replication to start.

*/ inline const Aws::String& GetCurrentLsn() const{ return m_currentLsn; } /** *

For ongoing replication (CDC), use CurrentLSN to specify a log sequence * number (LSN) where you want the replication to start.

*/ inline bool CurrentLsnHasBeenSet() const { return m_currentLsnHasBeenSet; } /** *

For ongoing replication (CDC), use CurrentLSN to specify a log sequence * number (LSN) where you want the replication to start.

*/ inline void SetCurrentLsn(const Aws::String& value) { m_currentLsnHasBeenSet = true; m_currentLsn = value; } /** *

For ongoing replication (CDC), use CurrentLSN to specify a log sequence * number (LSN) where you want the replication to start.

*/ inline void SetCurrentLsn(Aws::String&& value) { m_currentLsnHasBeenSet = true; m_currentLsn = std::move(value); } /** *

For ongoing replication (CDC), use CurrentLSN to specify a log sequence * number (LSN) where you want the replication to start.

*/ inline void SetCurrentLsn(const char* value) { m_currentLsnHasBeenSet = true; m_currentLsn.assign(value); } /** *

For ongoing replication (CDC), use CurrentLSN to specify a log sequence * number (LSN) where you want the replication to start.

*/ inline IBMDb2Settings& WithCurrentLsn(const Aws::String& value) { SetCurrentLsn(value); return *this;} /** *

For ongoing replication (CDC), use CurrentLSN to specify a log sequence * number (LSN) where you want the replication to start.

*/ inline IBMDb2Settings& WithCurrentLsn(Aws::String&& value) { SetCurrentLsn(std::move(value)); return *this;} /** *

For ongoing replication (CDC), use CurrentLSN to specify a log sequence * number (LSN) where you want the replication to start.

*/ inline IBMDb2Settings& WithCurrentLsn(const char* value) { SetCurrentLsn(value); return *this;} /** *

Maximum number of bytes per read, as a NUMBER value. The default is 64 * KB.

*/ inline int GetMaxKBytesPerRead() const{ return m_maxKBytesPerRead; } /** *

Maximum number of bytes per read, as a NUMBER value. The default is 64 * KB.

*/ inline bool MaxKBytesPerReadHasBeenSet() const { return m_maxKBytesPerReadHasBeenSet; } /** *

Maximum number of bytes per read, as a NUMBER value. The default is 64 * KB.

*/ inline void SetMaxKBytesPerRead(int value) { m_maxKBytesPerReadHasBeenSet = true; m_maxKBytesPerRead = value; } /** *

Maximum number of bytes per read, as a NUMBER value. The default is 64 * KB.

*/ inline IBMDb2Settings& WithMaxKBytesPerRead(int value) { SetMaxKBytesPerRead(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 IBMDb2Settings& WithUsername(const Aws::String& value) { SetUsername(value); return *this;} /** *

Endpoint connection user name.

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

Endpoint connection user name.

*/ inline IBMDb2Settings& WithUsername(const char* value) { SetUsername(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 Db2 LUW 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 Db2 LUW 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 Db2 LUW 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 Db2 LUW 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 Db2 LUW 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 Db2 LUW 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 IBMDb2Settings& 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 Db2 LUW 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 IBMDb2Settings& 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 Db2 LUW 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 IBMDb2Settings& WithSecretsManagerAccessRoleArn(const char* value) { SetSecretsManagerAccessRoleArn(value); return *this;} /** *

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

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

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

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

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

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

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

*/ inline IBMDb2Settings& WithSecretsManagerSecretId(const char* value) { SetSecretsManagerSecretId(value); return *this;} private: Aws::String m_databaseName; bool m_databaseNameHasBeenSet = false; Aws::String m_password; bool m_passwordHasBeenSet = false; int m_port; bool m_portHasBeenSet = false; Aws::String m_serverName; bool m_serverNameHasBeenSet = false; bool m_setDataCaptureChanges; bool m_setDataCaptureChangesHasBeenSet = false; Aws::String m_currentLsn; bool m_currentLsnHasBeenSet = false; int m_maxKBytesPerRead; bool m_maxKBytesPerReadHasBeenSet = false; Aws::String m_username; bool m_usernameHasBeenSet = false; Aws::String m_secretsManagerAccessRoleArn; bool m_secretsManagerAccessRoleArnHasBeenSet = false; Aws::String m_secretsManagerSecretId; bool m_secretsManagerSecretIdHasBeenSet = false; }; } // namespace Model } // namespace DatabaseMigrationService } // namespace Aws