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

Describes an endpoint of a database instance in response to operations such * as the following:

  • CreateEndpoint

  • *

    DescribeEndpoint

  • * ModifyEndpoint

See Also:

AWS API * Reference

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

The database endpoint identifier. Identifiers must begin with a letter and * must contain only ASCII letters, digits, and hyphens. They can't end with a * hyphen or contain two consecutive hyphens.

*/ inline const Aws::String& GetEndpointIdentifier() const{ return m_endpointIdentifier; } /** *

The database endpoint identifier. Identifiers must begin with a letter and * must contain only ASCII letters, digits, and hyphens. They can't end with a * hyphen or contain two consecutive hyphens.

*/ inline bool EndpointIdentifierHasBeenSet() const { return m_endpointIdentifierHasBeenSet; } /** *

The database endpoint identifier. Identifiers must begin with a letter and * must contain only ASCII letters, digits, and hyphens. They can't end with a * hyphen or contain two consecutive hyphens.

*/ inline void SetEndpointIdentifier(const Aws::String& value) { m_endpointIdentifierHasBeenSet = true; m_endpointIdentifier = value; } /** *

The database endpoint identifier. Identifiers must begin with a letter and * must contain only ASCII letters, digits, and hyphens. They can't end with a * hyphen or contain two consecutive hyphens.

*/ inline void SetEndpointIdentifier(Aws::String&& value) { m_endpointIdentifierHasBeenSet = true; m_endpointIdentifier = std::move(value); } /** *

The database endpoint identifier. Identifiers must begin with a letter and * must contain only ASCII letters, digits, and hyphens. They can't end with a * hyphen or contain two consecutive hyphens.

*/ inline void SetEndpointIdentifier(const char* value) { m_endpointIdentifierHasBeenSet = true; m_endpointIdentifier.assign(value); } /** *

The database endpoint identifier. Identifiers must begin with a letter and * must contain only ASCII letters, digits, and hyphens. They can't end with a * hyphen or contain two consecutive hyphens.

*/ inline Endpoint& WithEndpointIdentifier(const Aws::String& value) { SetEndpointIdentifier(value); return *this;} /** *

The database endpoint identifier. Identifiers must begin with a letter and * must contain only ASCII letters, digits, and hyphens. They can't end with a * hyphen or contain two consecutive hyphens.

*/ inline Endpoint& WithEndpointIdentifier(Aws::String&& value) { SetEndpointIdentifier(std::move(value)); return *this;} /** *

The database endpoint identifier. Identifiers must begin with a letter and * must contain only ASCII letters, digits, and hyphens. They can't end with a * hyphen or contain two consecutive hyphens.

*/ inline Endpoint& WithEndpointIdentifier(const char* value) { SetEndpointIdentifier(value); return *this;} /** *

The type of endpoint. Valid values are source and * target.

*/ inline const ReplicationEndpointTypeValue& GetEndpointType() const{ return m_endpointType; } /** *

The type of endpoint. Valid values are source and * target.

*/ inline bool EndpointTypeHasBeenSet() const { return m_endpointTypeHasBeenSet; } /** *

The type of endpoint. Valid values are source and * target.

*/ inline void SetEndpointType(const ReplicationEndpointTypeValue& value) { m_endpointTypeHasBeenSet = true; m_endpointType = value; } /** *

The type of endpoint. Valid values are source and * target.

*/ inline void SetEndpointType(ReplicationEndpointTypeValue&& value) { m_endpointTypeHasBeenSet = true; m_endpointType = std::move(value); } /** *

The type of endpoint. Valid values are source and * target.

*/ inline Endpoint& WithEndpointType(const ReplicationEndpointTypeValue& value) { SetEndpointType(value); return *this;} /** *

The type of endpoint. Valid values are source and * target.

*/ inline Endpoint& WithEndpointType(ReplicationEndpointTypeValue&& value) { SetEndpointType(std::move(value)); return *this;} /** *

The database engine name. Valid values, depending on the EndpointType, * include "mysql", "oracle", "postgres", * "mariadb", "aurora", "aurora-postgresql", * "redshift", "s3", "db2", * "db2-zos", "azuredb", "sybase", * "dynamodb", "mongodb", "kinesis", * "kafka", "elasticsearch", "documentdb", * "sqlserver", "neptune", and * "babelfish".

*/ inline const Aws::String& GetEngineName() const{ return m_engineName; } /** *

The database engine name. Valid values, depending on the EndpointType, * include "mysql", "oracle", "postgres", * "mariadb", "aurora", "aurora-postgresql", * "redshift", "s3", "db2", * "db2-zos", "azuredb", "sybase", * "dynamodb", "mongodb", "kinesis", * "kafka", "elasticsearch", "documentdb", * "sqlserver", "neptune", and * "babelfish".

*/ inline bool EngineNameHasBeenSet() const { return m_engineNameHasBeenSet; } /** *

The database engine name. Valid values, depending on the EndpointType, * include "mysql", "oracle", "postgres", * "mariadb", "aurora", "aurora-postgresql", * "redshift", "s3", "db2", * "db2-zos", "azuredb", "sybase", * "dynamodb", "mongodb", "kinesis", * "kafka", "elasticsearch", "documentdb", * "sqlserver", "neptune", and * "babelfish".

*/ inline void SetEngineName(const Aws::String& value) { m_engineNameHasBeenSet = true; m_engineName = value; } /** *

The database engine name. Valid values, depending on the EndpointType, * include "mysql", "oracle", "postgres", * "mariadb", "aurora", "aurora-postgresql", * "redshift", "s3", "db2", * "db2-zos", "azuredb", "sybase", * "dynamodb", "mongodb", "kinesis", * "kafka", "elasticsearch", "documentdb", * "sqlserver", "neptune", and * "babelfish".

*/ inline void SetEngineName(Aws::String&& value) { m_engineNameHasBeenSet = true; m_engineName = std::move(value); } /** *

The database engine name. Valid values, depending on the EndpointType, * include "mysql", "oracle", "postgres", * "mariadb", "aurora", "aurora-postgresql", * "redshift", "s3", "db2", * "db2-zos", "azuredb", "sybase", * "dynamodb", "mongodb", "kinesis", * "kafka", "elasticsearch", "documentdb", * "sqlserver", "neptune", and * "babelfish".

*/ inline void SetEngineName(const char* value) { m_engineNameHasBeenSet = true; m_engineName.assign(value); } /** *

The database engine name. Valid values, depending on the EndpointType, * include "mysql", "oracle", "postgres", * "mariadb", "aurora", "aurora-postgresql", * "redshift", "s3", "db2", * "db2-zos", "azuredb", "sybase", * "dynamodb", "mongodb", "kinesis", * "kafka", "elasticsearch", "documentdb", * "sqlserver", "neptune", and * "babelfish".

*/ inline Endpoint& WithEngineName(const Aws::String& value) { SetEngineName(value); return *this;} /** *

The database engine name. Valid values, depending on the EndpointType, * include "mysql", "oracle", "postgres", * "mariadb", "aurora", "aurora-postgresql", * "redshift", "s3", "db2", * "db2-zos", "azuredb", "sybase", * "dynamodb", "mongodb", "kinesis", * "kafka", "elasticsearch", "documentdb", * "sqlserver", "neptune", and * "babelfish".

*/ inline Endpoint& WithEngineName(Aws::String&& value) { SetEngineName(std::move(value)); return *this;} /** *

The database engine name. Valid values, depending on the EndpointType, * include "mysql", "oracle", "postgres", * "mariadb", "aurora", "aurora-postgresql", * "redshift", "s3", "db2", * "db2-zos", "azuredb", "sybase", * "dynamodb", "mongodb", "kinesis", * "kafka", "elasticsearch", "documentdb", * "sqlserver", "neptune", and * "babelfish".

*/ inline Endpoint& WithEngineName(const char* value) { SetEngineName(value); return *this;} /** *

The expanded name for the engine name. For example, if the * EngineName parameter is "aurora", this value would be "Amazon * Aurora MySQL".

*/ inline const Aws::String& GetEngineDisplayName() const{ return m_engineDisplayName; } /** *

The expanded name for the engine name. For example, if the * EngineName parameter is "aurora", this value would be "Amazon * Aurora MySQL".

*/ inline bool EngineDisplayNameHasBeenSet() const { return m_engineDisplayNameHasBeenSet; } /** *

The expanded name for the engine name. For example, if the * EngineName parameter is "aurora", this value would be "Amazon * Aurora MySQL".

*/ inline void SetEngineDisplayName(const Aws::String& value) { m_engineDisplayNameHasBeenSet = true; m_engineDisplayName = value; } /** *

The expanded name for the engine name. For example, if the * EngineName parameter is "aurora", this value would be "Amazon * Aurora MySQL".

*/ inline void SetEngineDisplayName(Aws::String&& value) { m_engineDisplayNameHasBeenSet = true; m_engineDisplayName = std::move(value); } /** *

The expanded name for the engine name. For example, if the * EngineName parameter is "aurora", this value would be "Amazon * Aurora MySQL".

*/ inline void SetEngineDisplayName(const char* value) { m_engineDisplayNameHasBeenSet = true; m_engineDisplayName.assign(value); } /** *

The expanded name for the engine name. For example, if the * EngineName parameter is "aurora", this value would be "Amazon * Aurora MySQL".

*/ inline Endpoint& WithEngineDisplayName(const Aws::String& value) { SetEngineDisplayName(value); return *this;} /** *

The expanded name for the engine name. For example, if the * EngineName parameter is "aurora", this value would be "Amazon * Aurora MySQL".

*/ inline Endpoint& WithEngineDisplayName(Aws::String&& value) { SetEngineDisplayName(std::move(value)); return *this;} /** *

The expanded name for the engine name. For example, if the * EngineName parameter is "aurora", this value would be "Amazon * Aurora MySQL".

*/ inline Endpoint& WithEngineDisplayName(const char* value) { SetEngineDisplayName(value); return *this;} /** *

The user name used to connect to the endpoint.

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

The user name used to connect to the endpoint.

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

The user name used to connect to the endpoint.

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

The user name used to connect to the endpoint.

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

The user name used to connect to the endpoint.

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

The user name used to connect to the endpoint.

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

The user name used to connect to the endpoint.

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

The user name used to connect to the endpoint.

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

The name of the server at the endpoint.

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

The name of the server at the endpoint.

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

The name of the server at the endpoint.

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

The name of the server at the endpoint.

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

The name of the server at the endpoint.

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

The name of the server at the endpoint.

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

The name of the server at the endpoint.

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

The name of the server at the endpoint.

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

The port value used to access the endpoint.

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

The port value used to access the endpoint.

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

The port value used to access the endpoint.

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

The port value used to access the endpoint.

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

The name of the database at the endpoint.

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

The name of the database at the endpoint.

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

The name of the database at the endpoint.

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

The name of the database at the endpoint.

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

The name of the database at the endpoint.

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

The name of the database at the endpoint.

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

The name of the database at the endpoint.

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

The name of the database at the endpoint.

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

Additional connection attributes used to connect to the endpoint.

*/ inline const Aws::String& GetExtraConnectionAttributes() const{ return m_extraConnectionAttributes; } /** *

Additional connection attributes used to connect to the endpoint.

*/ inline bool ExtraConnectionAttributesHasBeenSet() const { return m_extraConnectionAttributesHasBeenSet; } /** *

Additional connection attributes used to connect to the endpoint.

*/ inline void SetExtraConnectionAttributes(const Aws::String& value) { m_extraConnectionAttributesHasBeenSet = true; m_extraConnectionAttributes = value; } /** *

Additional connection attributes used to connect to the endpoint.

*/ inline void SetExtraConnectionAttributes(Aws::String&& value) { m_extraConnectionAttributesHasBeenSet = true; m_extraConnectionAttributes = std::move(value); } /** *

Additional connection attributes used to connect to the endpoint.

*/ inline void SetExtraConnectionAttributes(const char* value) { m_extraConnectionAttributesHasBeenSet = true; m_extraConnectionAttributes.assign(value); } /** *

Additional connection attributes used to connect to the endpoint.

*/ inline Endpoint& WithExtraConnectionAttributes(const Aws::String& value) { SetExtraConnectionAttributes(value); return *this;} /** *

Additional connection attributes used to connect to the endpoint.

*/ inline Endpoint& WithExtraConnectionAttributes(Aws::String&& value) { SetExtraConnectionAttributes(std::move(value)); return *this;} /** *

Additional connection attributes used to connect to the endpoint.

*/ inline Endpoint& WithExtraConnectionAttributes(const char* value) { SetExtraConnectionAttributes(value); return *this;} /** *

The status of the endpoint.

*/ inline const Aws::String& GetStatus() const{ return m_status; } /** *

The status of the endpoint.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The status of the endpoint.

*/ inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The status of the endpoint.

*/ inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The status of the endpoint.

*/ inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } /** *

The status of the endpoint.

*/ inline Endpoint& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} /** *

The status of the endpoint.

*/ inline Endpoint& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} /** *

The status of the endpoint.

*/ inline Endpoint& WithStatus(const char* value) { SetStatus(value); return *this;} /** *

An KMS key identifier that is used to encrypt the connection parameters for * the endpoint.

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; } /** *

An KMS key identifier that is used to encrypt the connection parameters for * the endpoint.

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; } /** *

An KMS key identifier that is used to encrypt the connection parameters for * the endpoint.

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; } /** *

An KMS key identifier that is used to encrypt the connection parameters for * the endpoint.

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); } /** *

An KMS key identifier that is used to encrypt the connection parameters for * the endpoint.

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); } /** *

An KMS key identifier that is used to encrypt the connection parameters for * the endpoint.

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 Endpoint& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} /** *

An KMS key identifier that is used to encrypt the connection parameters for * the endpoint.

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 Endpoint& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} /** *

An KMS key identifier that is used to encrypt the connection parameters for * the endpoint.

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 Endpoint& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} /** *

The Amazon Resource Name (ARN) string that uniquely identifies the * endpoint.

*/ inline const Aws::String& GetEndpointArn() const{ return m_endpointArn; } /** *

The Amazon Resource Name (ARN) string that uniquely identifies the * endpoint.

*/ inline bool EndpointArnHasBeenSet() const { return m_endpointArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) string that uniquely identifies the * endpoint.

*/ inline void SetEndpointArn(const Aws::String& value) { m_endpointArnHasBeenSet = true; m_endpointArn = value; } /** *

The Amazon Resource Name (ARN) string that uniquely identifies the * endpoint.

*/ inline void SetEndpointArn(Aws::String&& value) { m_endpointArnHasBeenSet = true; m_endpointArn = std::move(value); } /** *

The Amazon Resource Name (ARN) string that uniquely identifies the * endpoint.

*/ inline void SetEndpointArn(const char* value) { m_endpointArnHasBeenSet = true; m_endpointArn.assign(value); } /** *

The Amazon Resource Name (ARN) string that uniquely identifies the * endpoint.

*/ inline Endpoint& WithEndpointArn(const Aws::String& value) { SetEndpointArn(value); return *this;} /** *

The Amazon Resource Name (ARN) string that uniquely identifies the * endpoint.

*/ inline Endpoint& WithEndpointArn(Aws::String&& value) { SetEndpointArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) string that uniquely identifies the * endpoint.

*/ inline Endpoint& WithEndpointArn(const char* value) { SetEndpointArn(value); return *this;} /** *

The Amazon Resource Name (ARN) used for SSL connection to the endpoint.

*/ inline const Aws::String& GetCertificateArn() const{ return m_certificateArn; } /** *

The Amazon Resource Name (ARN) used for SSL connection to the endpoint.

*/ inline bool CertificateArnHasBeenSet() const { return m_certificateArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) used for SSL connection to the endpoint.

*/ inline void SetCertificateArn(const Aws::String& value) { m_certificateArnHasBeenSet = true; m_certificateArn = value; } /** *

The Amazon Resource Name (ARN) used for SSL connection to the endpoint.

*/ inline void SetCertificateArn(Aws::String&& value) { m_certificateArnHasBeenSet = true; m_certificateArn = std::move(value); } /** *

The Amazon Resource Name (ARN) used for SSL connection to the endpoint.

*/ inline void SetCertificateArn(const char* value) { m_certificateArnHasBeenSet = true; m_certificateArn.assign(value); } /** *

The Amazon Resource Name (ARN) used for SSL connection to the endpoint.

*/ inline Endpoint& WithCertificateArn(const Aws::String& value) { SetCertificateArn(value); return *this;} /** *

The Amazon Resource Name (ARN) used for SSL connection to the endpoint.

*/ inline Endpoint& WithCertificateArn(Aws::String&& value) { SetCertificateArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) used for SSL connection to the endpoint.

*/ inline Endpoint& WithCertificateArn(const char* value) { SetCertificateArn(value); return *this;} /** *

The SSL mode used to connect to the endpoint. The default value is * none.

*/ inline const DmsSslModeValue& GetSslMode() const{ return m_sslMode; } /** *

The SSL mode used to connect to the endpoint. The default value is * none.

*/ inline bool SslModeHasBeenSet() const { return m_sslModeHasBeenSet; } /** *

The SSL mode used to connect to the endpoint. The default value is * none.

*/ inline void SetSslMode(const DmsSslModeValue& value) { m_sslModeHasBeenSet = true; m_sslMode = value; } /** *

The SSL mode used to connect to the endpoint. The default value is * none.

*/ inline void SetSslMode(DmsSslModeValue&& value) { m_sslModeHasBeenSet = true; m_sslMode = std::move(value); } /** *

The SSL mode used to connect to the endpoint. The default value is * none.

*/ inline Endpoint& WithSslMode(const DmsSslModeValue& value) { SetSslMode(value); return *this;} /** *

The SSL mode used to connect to the endpoint. The default value is * none.

*/ inline Endpoint& WithSslMode(DmsSslModeValue&& value) { SetSslMode(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) used by the service to access the IAM role. * The role must allow the iam:PassRole action.

*/ inline const Aws::String& GetServiceAccessRoleArn() const{ return m_serviceAccessRoleArn; } /** *

The Amazon Resource Name (ARN) used by the service to access the IAM role. * The role must allow the iam:PassRole action.

*/ inline bool ServiceAccessRoleArnHasBeenSet() const { return m_serviceAccessRoleArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) used by the service to access the IAM role. * The role must allow the iam:PassRole action.

*/ inline void SetServiceAccessRoleArn(const Aws::String& value) { m_serviceAccessRoleArnHasBeenSet = true; m_serviceAccessRoleArn = value; } /** *

The Amazon Resource Name (ARN) used by the service to access the IAM role. * The role must allow the iam:PassRole action.

*/ inline void SetServiceAccessRoleArn(Aws::String&& value) { m_serviceAccessRoleArnHasBeenSet = true; m_serviceAccessRoleArn = std::move(value); } /** *

The Amazon Resource Name (ARN) used by the service to access the IAM role. * The role must allow the iam:PassRole action.

*/ inline void SetServiceAccessRoleArn(const char* value) { m_serviceAccessRoleArnHasBeenSet = true; m_serviceAccessRoleArn.assign(value); } /** *

The Amazon Resource Name (ARN) used by the service to access the IAM role. * The role must allow the iam:PassRole action.

*/ inline Endpoint& WithServiceAccessRoleArn(const Aws::String& value) { SetServiceAccessRoleArn(value); return *this;} /** *

The Amazon Resource Name (ARN) used by the service to access the IAM role. * The role must allow the iam:PassRole action.

*/ inline Endpoint& WithServiceAccessRoleArn(Aws::String&& value) { SetServiceAccessRoleArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) used by the service to access the IAM role. * The role must allow the iam:PassRole action.

*/ inline Endpoint& WithServiceAccessRoleArn(const char* value) { SetServiceAccessRoleArn(value); return *this;} /** *

The external table definition.

*/ inline const Aws::String& GetExternalTableDefinition() const{ return m_externalTableDefinition; } /** *

The external table definition.

*/ inline bool ExternalTableDefinitionHasBeenSet() const { return m_externalTableDefinitionHasBeenSet; } /** *

The external table definition.

*/ inline void SetExternalTableDefinition(const Aws::String& value) { m_externalTableDefinitionHasBeenSet = true; m_externalTableDefinition = value; } /** *

The external table definition.

*/ inline void SetExternalTableDefinition(Aws::String&& value) { m_externalTableDefinitionHasBeenSet = true; m_externalTableDefinition = std::move(value); } /** *

The external table definition.

*/ inline void SetExternalTableDefinition(const char* value) { m_externalTableDefinitionHasBeenSet = true; m_externalTableDefinition.assign(value); } /** *

The external table definition.

*/ inline Endpoint& WithExternalTableDefinition(const Aws::String& value) { SetExternalTableDefinition(value); return *this;} /** *

The external table definition.

*/ inline Endpoint& WithExternalTableDefinition(Aws::String&& value) { SetExternalTableDefinition(std::move(value)); return *this;} /** *

The external table definition.

*/ inline Endpoint& WithExternalTableDefinition(const char* value) { SetExternalTableDefinition(value); return *this;} /** *

Value returned by a call to CreateEndpoint that can be used for * cross-account validation. Use it on a subsequent call to CreateEndpoint to * create the endpoint with a cross-account.

*/ inline const Aws::String& GetExternalId() const{ return m_externalId; } /** *

Value returned by a call to CreateEndpoint that can be used for * cross-account validation. Use it on a subsequent call to CreateEndpoint to * create the endpoint with a cross-account.

*/ inline bool ExternalIdHasBeenSet() const { return m_externalIdHasBeenSet; } /** *

Value returned by a call to CreateEndpoint that can be used for * cross-account validation. Use it on a subsequent call to CreateEndpoint to * create the endpoint with a cross-account.

*/ inline void SetExternalId(const Aws::String& value) { m_externalIdHasBeenSet = true; m_externalId = value; } /** *

Value returned by a call to CreateEndpoint that can be used for * cross-account validation. Use it on a subsequent call to CreateEndpoint to * create the endpoint with a cross-account.

*/ inline void SetExternalId(Aws::String&& value) { m_externalIdHasBeenSet = true; m_externalId = std::move(value); } /** *

Value returned by a call to CreateEndpoint that can be used for * cross-account validation. Use it on a subsequent call to CreateEndpoint to * create the endpoint with a cross-account.

*/ inline void SetExternalId(const char* value) { m_externalIdHasBeenSet = true; m_externalId.assign(value); } /** *

Value returned by a call to CreateEndpoint that can be used for * cross-account validation. Use it on a subsequent call to CreateEndpoint to * create the endpoint with a cross-account.

*/ inline Endpoint& WithExternalId(const Aws::String& value) { SetExternalId(value); return *this;} /** *

Value returned by a call to CreateEndpoint that can be used for * cross-account validation. Use it on a subsequent call to CreateEndpoint to * create the endpoint with a cross-account.

*/ inline Endpoint& WithExternalId(Aws::String&& value) { SetExternalId(std::move(value)); return *this;} /** *

Value returned by a call to CreateEndpoint that can be used for * cross-account validation. Use it on a subsequent call to CreateEndpoint to * create the endpoint with a cross-account.

*/ inline Endpoint& WithExternalId(const char* value) { SetExternalId(value); return *this;} /** *

The settings for the DynamoDB target endpoint. For more information, see the * DynamoDBSettings structure.

*/ inline const DynamoDbSettings& GetDynamoDbSettings() const{ return m_dynamoDbSettings; } /** *

The settings for the DynamoDB target endpoint. For more information, see the * DynamoDBSettings structure.

*/ inline bool DynamoDbSettingsHasBeenSet() const { return m_dynamoDbSettingsHasBeenSet; } /** *

The settings for the DynamoDB target endpoint. For more information, see the * DynamoDBSettings structure.

*/ inline void SetDynamoDbSettings(const DynamoDbSettings& value) { m_dynamoDbSettingsHasBeenSet = true; m_dynamoDbSettings = value; } /** *

The settings for the DynamoDB target endpoint. For more information, see the * DynamoDBSettings structure.

*/ inline void SetDynamoDbSettings(DynamoDbSettings&& value) { m_dynamoDbSettingsHasBeenSet = true; m_dynamoDbSettings = std::move(value); } /** *

The settings for the DynamoDB target endpoint. For more information, see the * DynamoDBSettings structure.

*/ inline Endpoint& WithDynamoDbSettings(const DynamoDbSettings& value) { SetDynamoDbSettings(value); return *this;} /** *

The settings for the DynamoDB target endpoint. For more information, see the * DynamoDBSettings structure.

*/ inline Endpoint& WithDynamoDbSettings(DynamoDbSettings&& value) { SetDynamoDbSettings(std::move(value)); return *this;} /** *

The settings for the S3 target endpoint. For more information, see the * S3Settings structure.

*/ inline const S3Settings& GetS3Settings() const{ return m_s3Settings; } /** *

The settings for the S3 target endpoint. For more information, see the * S3Settings structure.

*/ inline bool S3SettingsHasBeenSet() const { return m_s3SettingsHasBeenSet; } /** *

The settings for the S3 target endpoint. For more information, see the * S3Settings structure.

*/ inline void SetS3Settings(const S3Settings& value) { m_s3SettingsHasBeenSet = true; m_s3Settings = value; } /** *

The settings for the S3 target endpoint. For more information, see the * S3Settings structure.

*/ inline void SetS3Settings(S3Settings&& value) { m_s3SettingsHasBeenSet = true; m_s3Settings = std::move(value); } /** *

The settings for the S3 target endpoint. For more information, see the * S3Settings structure.

*/ inline Endpoint& WithS3Settings(const S3Settings& value) { SetS3Settings(value); return *this;} /** *

The settings for the S3 target endpoint. For more information, see the * S3Settings structure.

*/ inline Endpoint& WithS3Settings(S3Settings&& value) { SetS3Settings(std::move(value)); return *this;} /** *

The settings for the DMS Transfer type source. For more information, see the * DmsTransferSettings structure.

*/ inline const DmsTransferSettings& GetDmsTransferSettings() const{ return m_dmsTransferSettings; } /** *

The settings for the DMS Transfer type source. For more information, see the * DmsTransferSettings structure.

*/ inline bool DmsTransferSettingsHasBeenSet() const { return m_dmsTransferSettingsHasBeenSet; } /** *

The settings for the DMS Transfer type source. For more information, see the * DmsTransferSettings structure.

*/ inline void SetDmsTransferSettings(const DmsTransferSettings& value) { m_dmsTransferSettingsHasBeenSet = true; m_dmsTransferSettings = value; } /** *

The settings for the DMS Transfer type source. For more information, see the * DmsTransferSettings structure.

*/ inline void SetDmsTransferSettings(DmsTransferSettings&& value) { m_dmsTransferSettingsHasBeenSet = true; m_dmsTransferSettings = std::move(value); } /** *

The settings for the DMS Transfer type source. For more information, see the * DmsTransferSettings structure.

*/ inline Endpoint& WithDmsTransferSettings(const DmsTransferSettings& value) { SetDmsTransferSettings(value); return *this;} /** *

The settings for the DMS Transfer type source. For more information, see the * DmsTransferSettings structure.

*/ inline Endpoint& WithDmsTransferSettings(DmsTransferSettings&& value) { SetDmsTransferSettings(std::move(value)); return *this;} /** *

The settings for the MongoDB source endpoint. For more information, see the * MongoDbSettings structure.

*/ inline const MongoDbSettings& GetMongoDbSettings() const{ return m_mongoDbSettings; } /** *

The settings for the MongoDB source endpoint. For more information, see the * MongoDbSettings structure.

*/ inline bool MongoDbSettingsHasBeenSet() const { return m_mongoDbSettingsHasBeenSet; } /** *

The settings for the MongoDB source endpoint. For more information, see the * MongoDbSettings structure.

*/ inline void SetMongoDbSettings(const MongoDbSettings& value) { m_mongoDbSettingsHasBeenSet = true; m_mongoDbSettings = value; } /** *

The settings for the MongoDB source endpoint. For more information, see the * MongoDbSettings structure.

*/ inline void SetMongoDbSettings(MongoDbSettings&& value) { m_mongoDbSettingsHasBeenSet = true; m_mongoDbSettings = std::move(value); } /** *

The settings for the MongoDB source endpoint. For more information, see the * MongoDbSettings structure.

*/ inline Endpoint& WithMongoDbSettings(const MongoDbSettings& value) { SetMongoDbSettings(value); return *this;} /** *

The settings for the MongoDB source endpoint. For more information, see the * MongoDbSettings structure.

*/ inline Endpoint& WithMongoDbSettings(MongoDbSettings&& value) { SetMongoDbSettings(std::move(value)); return *this;} /** *

The settings for the Amazon Kinesis target endpoint. For more information, * see the KinesisSettings structure.

*/ inline const KinesisSettings& GetKinesisSettings() const{ return m_kinesisSettings; } /** *

The settings for the Amazon Kinesis target endpoint. For more information, * see the KinesisSettings structure.

*/ inline bool KinesisSettingsHasBeenSet() const { return m_kinesisSettingsHasBeenSet; } /** *

The settings for the Amazon Kinesis target endpoint. For more information, * see the KinesisSettings structure.

*/ inline void SetKinesisSettings(const KinesisSettings& value) { m_kinesisSettingsHasBeenSet = true; m_kinesisSettings = value; } /** *

The settings for the Amazon Kinesis target endpoint. For more information, * see the KinesisSettings structure.

*/ inline void SetKinesisSettings(KinesisSettings&& value) { m_kinesisSettingsHasBeenSet = true; m_kinesisSettings = std::move(value); } /** *

The settings for the Amazon Kinesis target endpoint. For more information, * see the KinesisSettings structure.

*/ inline Endpoint& WithKinesisSettings(const KinesisSettings& value) { SetKinesisSettings(value); return *this;} /** *

The settings for the Amazon Kinesis target endpoint. For more information, * see the KinesisSettings structure.

*/ inline Endpoint& WithKinesisSettings(KinesisSettings&& value) { SetKinesisSettings(std::move(value)); return *this;} /** *

The settings for the Apache Kafka target endpoint. For more information, see * the KafkaSettings structure.

*/ inline const KafkaSettings& GetKafkaSettings() const{ return m_kafkaSettings; } /** *

The settings for the Apache Kafka target endpoint. For more information, see * the KafkaSettings structure.

*/ inline bool KafkaSettingsHasBeenSet() const { return m_kafkaSettingsHasBeenSet; } /** *

The settings for the Apache Kafka target endpoint. For more information, see * the KafkaSettings structure.

*/ inline void SetKafkaSettings(const KafkaSettings& value) { m_kafkaSettingsHasBeenSet = true; m_kafkaSettings = value; } /** *

The settings for the Apache Kafka target endpoint. For more information, see * the KafkaSettings structure.

*/ inline void SetKafkaSettings(KafkaSettings&& value) { m_kafkaSettingsHasBeenSet = true; m_kafkaSettings = std::move(value); } /** *

The settings for the Apache Kafka target endpoint. For more information, see * the KafkaSettings structure.

*/ inline Endpoint& WithKafkaSettings(const KafkaSettings& value) { SetKafkaSettings(value); return *this;} /** *

The settings for the Apache Kafka target endpoint. For more information, see * the KafkaSettings structure.

*/ inline Endpoint& WithKafkaSettings(KafkaSettings&& value) { SetKafkaSettings(std::move(value)); return *this;} /** *

The settings for the OpenSearch source endpoint. For more information, see * the ElasticsearchSettings structure.

*/ inline const ElasticsearchSettings& GetElasticsearchSettings() const{ return m_elasticsearchSettings; } /** *

The settings for the OpenSearch source endpoint. For more information, see * the ElasticsearchSettings structure.

*/ inline bool ElasticsearchSettingsHasBeenSet() const { return m_elasticsearchSettingsHasBeenSet; } /** *

The settings for the OpenSearch source endpoint. For more information, see * the ElasticsearchSettings structure.

*/ inline void SetElasticsearchSettings(const ElasticsearchSettings& value) { m_elasticsearchSettingsHasBeenSet = true; m_elasticsearchSettings = value; } /** *

The settings for the OpenSearch source endpoint. For more information, see * the ElasticsearchSettings structure.

*/ inline void SetElasticsearchSettings(ElasticsearchSettings&& value) { m_elasticsearchSettingsHasBeenSet = true; m_elasticsearchSettings = std::move(value); } /** *

The settings for the OpenSearch source endpoint. For more information, see * the ElasticsearchSettings structure.

*/ inline Endpoint& WithElasticsearchSettings(const ElasticsearchSettings& value) { SetElasticsearchSettings(value); return *this;} /** *

The settings for the OpenSearch source endpoint. For more information, see * the ElasticsearchSettings structure.

*/ inline Endpoint& WithElasticsearchSettings(ElasticsearchSettings&& value) { SetElasticsearchSettings(std::move(value)); return *this;} /** *

The settings for the Amazon Neptune target endpoint. For more information, * see the NeptuneSettings structure.

*/ inline const NeptuneSettings& GetNeptuneSettings() const{ return m_neptuneSettings; } /** *

The settings for the Amazon Neptune target endpoint. For more information, * see the NeptuneSettings structure.

*/ inline bool NeptuneSettingsHasBeenSet() const { return m_neptuneSettingsHasBeenSet; } /** *

The settings for the Amazon Neptune target endpoint. For more information, * see the NeptuneSettings structure.

*/ inline void SetNeptuneSettings(const NeptuneSettings& value) { m_neptuneSettingsHasBeenSet = true; m_neptuneSettings = value; } /** *

The settings for the Amazon Neptune target endpoint. For more information, * see the NeptuneSettings structure.

*/ inline void SetNeptuneSettings(NeptuneSettings&& value) { m_neptuneSettingsHasBeenSet = true; m_neptuneSettings = std::move(value); } /** *

The settings for the Amazon Neptune target endpoint. For more information, * see the NeptuneSettings structure.

*/ inline Endpoint& WithNeptuneSettings(const NeptuneSettings& value) { SetNeptuneSettings(value); return *this;} /** *

The settings for the Amazon Neptune target endpoint. For more information, * see the NeptuneSettings structure.

*/ inline Endpoint& WithNeptuneSettings(NeptuneSettings&& value) { SetNeptuneSettings(std::move(value)); return *this;} /** *

Settings for the Amazon Redshift endpoint.

*/ inline const RedshiftSettings& GetRedshiftSettings() const{ return m_redshiftSettings; } /** *

Settings for the Amazon Redshift endpoint.

*/ inline bool RedshiftSettingsHasBeenSet() const { return m_redshiftSettingsHasBeenSet; } /** *

Settings for the Amazon Redshift endpoint.

*/ inline void SetRedshiftSettings(const RedshiftSettings& value) { m_redshiftSettingsHasBeenSet = true; m_redshiftSettings = value; } /** *

Settings for the Amazon Redshift endpoint.

*/ inline void SetRedshiftSettings(RedshiftSettings&& value) { m_redshiftSettingsHasBeenSet = true; m_redshiftSettings = std::move(value); } /** *

Settings for the Amazon Redshift endpoint.

*/ inline Endpoint& WithRedshiftSettings(const RedshiftSettings& value) { SetRedshiftSettings(value); return *this;} /** *

Settings for the Amazon Redshift endpoint.

*/ inline Endpoint& WithRedshiftSettings(RedshiftSettings&& value) { SetRedshiftSettings(std::move(value)); return *this;} /** *

The settings for the PostgreSQL source and target endpoint. For more * information, see the PostgreSQLSettings structure.

*/ inline const PostgreSQLSettings& GetPostgreSQLSettings() const{ return m_postgreSQLSettings; } /** *

The settings for the PostgreSQL source and target endpoint. For more * information, see the PostgreSQLSettings structure.

*/ inline bool PostgreSQLSettingsHasBeenSet() const { return m_postgreSQLSettingsHasBeenSet; } /** *

The settings for the PostgreSQL source and target endpoint. For more * information, see the PostgreSQLSettings structure.

*/ inline void SetPostgreSQLSettings(const PostgreSQLSettings& value) { m_postgreSQLSettingsHasBeenSet = true; m_postgreSQLSettings = value; } /** *

The settings for the PostgreSQL source and target endpoint. For more * information, see the PostgreSQLSettings structure.

*/ inline void SetPostgreSQLSettings(PostgreSQLSettings&& value) { m_postgreSQLSettingsHasBeenSet = true; m_postgreSQLSettings = std::move(value); } /** *

The settings for the PostgreSQL source and target endpoint. For more * information, see the PostgreSQLSettings structure.

*/ inline Endpoint& WithPostgreSQLSettings(const PostgreSQLSettings& value) { SetPostgreSQLSettings(value); return *this;} /** *

The settings for the PostgreSQL source and target endpoint. For more * information, see the PostgreSQLSettings structure.

*/ inline Endpoint& WithPostgreSQLSettings(PostgreSQLSettings&& value) { SetPostgreSQLSettings(std::move(value)); return *this;} /** *

The settings for the MySQL source and target endpoint. For more information, * see the MySQLSettings structure.

*/ inline const MySQLSettings& GetMySQLSettings() const{ return m_mySQLSettings; } /** *

The settings for the MySQL source and target endpoint. For more information, * see the MySQLSettings structure.

*/ inline bool MySQLSettingsHasBeenSet() const { return m_mySQLSettingsHasBeenSet; } /** *

The settings for the MySQL source and target endpoint. For more information, * see the MySQLSettings structure.

*/ inline void SetMySQLSettings(const MySQLSettings& value) { m_mySQLSettingsHasBeenSet = true; m_mySQLSettings = value; } /** *

The settings for the MySQL source and target endpoint. For more information, * see the MySQLSettings structure.

*/ inline void SetMySQLSettings(MySQLSettings&& value) { m_mySQLSettingsHasBeenSet = true; m_mySQLSettings = std::move(value); } /** *

The settings for the MySQL source and target endpoint. For more information, * see the MySQLSettings structure.

*/ inline Endpoint& WithMySQLSettings(const MySQLSettings& value) { SetMySQLSettings(value); return *this;} /** *

The settings for the MySQL source and target endpoint. For more information, * see the MySQLSettings structure.

*/ inline Endpoint& WithMySQLSettings(MySQLSettings&& value) { SetMySQLSettings(std::move(value)); return *this;} /** *

The settings for the Oracle source and target endpoint. For more information, * see the OracleSettings structure.

*/ inline const OracleSettings& GetOracleSettings() const{ return m_oracleSettings; } /** *

The settings for the Oracle source and target endpoint. For more information, * see the OracleSettings structure.

*/ inline bool OracleSettingsHasBeenSet() const { return m_oracleSettingsHasBeenSet; } /** *

The settings for the Oracle source and target endpoint. For more information, * see the OracleSettings structure.

*/ inline void SetOracleSettings(const OracleSettings& value) { m_oracleSettingsHasBeenSet = true; m_oracleSettings = value; } /** *

The settings for the Oracle source and target endpoint. For more information, * see the OracleSettings structure.

*/ inline void SetOracleSettings(OracleSettings&& value) { m_oracleSettingsHasBeenSet = true; m_oracleSettings = std::move(value); } /** *

The settings for the Oracle source and target endpoint. For more information, * see the OracleSettings structure.

*/ inline Endpoint& WithOracleSettings(const OracleSettings& value) { SetOracleSettings(value); return *this;} /** *

The settings for the Oracle source and target endpoint. For more information, * see the OracleSettings structure.

*/ inline Endpoint& WithOracleSettings(OracleSettings&& value) { SetOracleSettings(std::move(value)); return *this;} /** *

The settings for the SAP ASE source and target endpoint. For more * information, see the SybaseSettings structure.

*/ inline const SybaseSettings& GetSybaseSettings() const{ return m_sybaseSettings; } /** *

The settings for the SAP ASE source and target endpoint. For more * information, see the SybaseSettings structure.

*/ inline bool SybaseSettingsHasBeenSet() const { return m_sybaseSettingsHasBeenSet; } /** *

The settings for the SAP ASE source and target endpoint. For more * information, see the SybaseSettings structure.

*/ inline void SetSybaseSettings(const SybaseSettings& value) { m_sybaseSettingsHasBeenSet = true; m_sybaseSettings = value; } /** *

The settings for the SAP ASE source and target endpoint. For more * information, see the SybaseSettings structure.

*/ inline void SetSybaseSettings(SybaseSettings&& value) { m_sybaseSettingsHasBeenSet = true; m_sybaseSettings = std::move(value); } /** *

The settings for the SAP ASE source and target endpoint. For more * information, see the SybaseSettings structure.

*/ inline Endpoint& WithSybaseSettings(const SybaseSettings& value) { SetSybaseSettings(value); return *this;} /** *

The settings for the SAP ASE source and target endpoint. For more * information, see the SybaseSettings structure.

*/ inline Endpoint& WithSybaseSettings(SybaseSettings&& value) { SetSybaseSettings(std::move(value)); return *this;} /** *

The settings for the Microsoft SQL Server source and target endpoint. For * more information, see the MicrosoftSQLServerSettings structure.

*/ inline const MicrosoftSQLServerSettings& GetMicrosoftSQLServerSettings() const{ return m_microsoftSQLServerSettings; } /** *

The settings for the Microsoft SQL Server source and target endpoint. For * more information, see the MicrosoftSQLServerSettings structure.

*/ inline bool MicrosoftSQLServerSettingsHasBeenSet() const { return m_microsoftSQLServerSettingsHasBeenSet; } /** *

The settings for the Microsoft SQL Server source and target endpoint. For * more information, see the MicrosoftSQLServerSettings structure.

*/ inline void SetMicrosoftSQLServerSettings(const MicrosoftSQLServerSettings& value) { m_microsoftSQLServerSettingsHasBeenSet = true; m_microsoftSQLServerSettings = value; } /** *

The settings for the Microsoft SQL Server source and target endpoint. For * more information, see the MicrosoftSQLServerSettings structure.

*/ inline void SetMicrosoftSQLServerSettings(MicrosoftSQLServerSettings&& value) { m_microsoftSQLServerSettingsHasBeenSet = true; m_microsoftSQLServerSettings = std::move(value); } /** *

The settings for the Microsoft SQL Server source and target endpoint. For * more information, see the MicrosoftSQLServerSettings structure.

*/ inline Endpoint& WithMicrosoftSQLServerSettings(const MicrosoftSQLServerSettings& value) { SetMicrosoftSQLServerSettings(value); return *this;} /** *

The settings for the Microsoft SQL Server source and target endpoint. For * more information, see the MicrosoftSQLServerSettings structure.

*/ inline Endpoint& WithMicrosoftSQLServerSettings(MicrosoftSQLServerSettings&& value) { SetMicrosoftSQLServerSettings(std::move(value)); return *this;} /** *

The settings for the IBM Db2 LUW source endpoint. For more information, see * the IBMDb2Settings structure.

*/ inline const IBMDb2Settings& GetIBMDb2Settings() const{ return m_iBMDb2Settings; } /** *

The settings for the IBM Db2 LUW source endpoint. For more information, see * the IBMDb2Settings structure.

*/ inline bool IBMDb2SettingsHasBeenSet() const { return m_iBMDb2SettingsHasBeenSet; } /** *

The settings for the IBM Db2 LUW source endpoint. For more information, see * the IBMDb2Settings structure.

*/ inline void SetIBMDb2Settings(const IBMDb2Settings& value) { m_iBMDb2SettingsHasBeenSet = true; m_iBMDb2Settings = value; } /** *

The settings for the IBM Db2 LUW source endpoint. For more information, see * the IBMDb2Settings structure.

*/ inline void SetIBMDb2Settings(IBMDb2Settings&& value) { m_iBMDb2SettingsHasBeenSet = true; m_iBMDb2Settings = std::move(value); } /** *

The settings for the IBM Db2 LUW source endpoint. For more information, see * the IBMDb2Settings structure.

*/ inline Endpoint& WithIBMDb2Settings(const IBMDb2Settings& value) { SetIBMDb2Settings(value); return *this;} /** *

The settings for the IBM Db2 LUW source endpoint. For more information, see * the IBMDb2Settings structure.

*/ inline Endpoint& WithIBMDb2Settings(IBMDb2Settings&& value) { SetIBMDb2Settings(std::move(value)); return *this;} inline const DocDbSettings& GetDocDbSettings() const{ return m_docDbSettings; } inline bool DocDbSettingsHasBeenSet() const { return m_docDbSettingsHasBeenSet; } inline void SetDocDbSettings(const DocDbSettings& value) { m_docDbSettingsHasBeenSet = true; m_docDbSettings = value; } inline void SetDocDbSettings(DocDbSettings&& value) { m_docDbSettingsHasBeenSet = true; m_docDbSettings = std::move(value); } inline Endpoint& WithDocDbSettings(const DocDbSettings& value) { SetDocDbSettings(value); return *this;} inline Endpoint& WithDocDbSettings(DocDbSettings&& value) { SetDocDbSettings(std::move(value)); return *this;} /** *

The settings for the Redis target endpoint. For more information, see the * RedisSettings structure.

*/ inline const RedisSettings& GetRedisSettings() const{ return m_redisSettings; } /** *

The settings for the Redis target endpoint. For more information, see the * RedisSettings structure.

*/ inline bool RedisSettingsHasBeenSet() const { return m_redisSettingsHasBeenSet; } /** *

The settings for the Redis target endpoint. For more information, see the * RedisSettings structure.

*/ inline void SetRedisSettings(const RedisSettings& value) { m_redisSettingsHasBeenSet = true; m_redisSettings = value; } /** *

The settings for the Redis target endpoint. For more information, see the * RedisSettings structure.

*/ inline void SetRedisSettings(RedisSettings&& value) { m_redisSettingsHasBeenSet = true; m_redisSettings = std::move(value); } /** *

The settings for the Redis target endpoint. For more information, see the * RedisSettings structure.

*/ inline Endpoint& WithRedisSettings(const RedisSettings& value) { SetRedisSettings(value); return *this;} /** *

The settings for the Redis target endpoint. For more information, see the * RedisSettings structure.

*/ inline Endpoint& WithRedisSettings(RedisSettings&& value) { SetRedisSettings(std::move(value)); return *this;} /** *

Settings in JSON format for the source GCP MySQL endpoint.

*/ inline const GcpMySQLSettings& GetGcpMySQLSettings() const{ return m_gcpMySQLSettings; } /** *

Settings in JSON format for the source GCP MySQL endpoint.

*/ inline bool GcpMySQLSettingsHasBeenSet() const { return m_gcpMySQLSettingsHasBeenSet; } /** *

Settings in JSON format for the source GCP MySQL endpoint.

*/ inline void SetGcpMySQLSettings(const GcpMySQLSettings& value) { m_gcpMySQLSettingsHasBeenSet = true; m_gcpMySQLSettings = value; } /** *

Settings in JSON format for the source GCP MySQL endpoint.

*/ inline void SetGcpMySQLSettings(GcpMySQLSettings&& value) { m_gcpMySQLSettingsHasBeenSet = true; m_gcpMySQLSettings = std::move(value); } /** *

Settings in JSON format for the source GCP MySQL endpoint.

*/ inline Endpoint& WithGcpMySQLSettings(const GcpMySQLSettings& value) { SetGcpMySQLSettings(value); return *this;} /** *

Settings in JSON format for the source GCP MySQL endpoint.

*/ inline Endpoint& WithGcpMySQLSettings(GcpMySQLSettings&& value) { SetGcpMySQLSettings(std::move(value)); return *this;} /** *

The settings for the Amazon Timestream target endpoint. For more information, * see the TimestreamSettings structure.

*/ inline const TimestreamSettings& GetTimestreamSettings() const{ return m_timestreamSettings; } /** *

The settings for the Amazon Timestream target endpoint. For more information, * see the TimestreamSettings structure.

*/ inline bool TimestreamSettingsHasBeenSet() const { return m_timestreamSettingsHasBeenSet; } /** *

The settings for the Amazon Timestream target endpoint. For more information, * see the TimestreamSettings structure.

*/ inline void SetTimestreamSettings(const TimestreamSettings& value) { m_timestreamSettingsHasBeenSet = true; m_timestreamSettings = value; } /** *

The settings for the Amazon Timestream target endpoint. For more information, * see the TimestreamSettings structure.

*/ inline void SetTimestreamSettings(TimestreamSettings&& value) { m_timestreamSettingsHasBeenSet = true; m_timestreamSettings = std::move(value); } /** *

The settings for the Amazon Timestream target endpoint. For more information, * see the TimestreamSettings structure.

*/ inline Endpoint& WithTimestreamSettings(const TimestreamSettings& value) { SetTimestreamSettings(value); return *this;} /** *

The settings for the Amazon Timestream target endpoint. For more information, * see the TimestreamSettings structure.

*/ inline Endpoint& WithTimestreamSettings(TimestreamSettings&& value) { SetTimestreamSettings(std::move(value)); return *this;} private: Aws::String m_endpointIdentifier; bool m_endpointIdentifierHasBeenSet = false; ReplicationEndpointTypeValue m_endpointType; bool m_endpointTypeHasBeenSet = false; Aws::String m_engineName; bool m_engineNameHasBeenSet = false; Aws::String m_engineDisplayName; bool m_engineDisplayNameHasBeenSet = false; Aws::String m_username; bool m_usernameHasBeenSet = false; Aws::String m_serverName; bool m_serverNameHasBeenSet = false; int m_port; bool m_portHasBeenSet = false; Aws::String m_databaseName; bool m_databaseNameHasBeenSet = false; Aws::String m_extraConnectionAttributes; bool m_extraConnectionAttributesHasBeenSet = false; Aws::String m_status; bool m_statusHasBeenSet = false; Aws::String m_kmsKeyId; bool m_kmsKeyIdHasBeenSet = false; Aws::String m_endpointArn; bool m_endpointArnHasBeenSet = false; Aws::String m_certificateArn; bool m_certificateArnHasBeenSet = false; DmsSslModeValue m_sslMode; bool m_sslModeHasBeenSet = false; Aws::String m_serviceAccessRoleArn; bool m_serviceAccessRoleArnHasBeenSet = false; Aws::String m_externalTableDefinition; bool m_externalTableDefinitionHasBeenSet = false; Aws::String m_externalId; bool m_externalIdHasBeenSet = false; DynamoDbSettings m_dynamoDbSettings; bool m_dynamoDbSettingsHasBeenSet = false; S3Settings m_s3Settings; bool m_s3SettingsHasBeenSet = false; DmsTransferSettings m_dmsTransferSettings; bool m_dmsTransferSettingsHasBeenSet = false; MongoDbSettings m_mongoDbSettings; bool m_mongoDbSettingsHasBeenSet = false; KinesisSettings m_kinesisSettings; bool m_kinesisSettingsHasBeenSet = false; KafkaSettings m_kafkaSettings; bool m_kafkaSettingsHasBeenSet = false; ElasticsearchSettings m_elasticsearchSettings; bool m_elasticsearchSettingsHasBeenSet = false; NeptuneSettings m_neptuneSettings; bool m_neptuneSettingsHasBeenSet = false; RedshiftSettings m_redshiftSettings; bool m_redshiftSettingsHasBeenSet = false; PostgreSQLSettings m_postgreSQLSettings; bool m_postgreSQLSettingsHasBeenSet = false; MySQLSettings m_mySQLSettings; bool m_mySQLSettingsHasBeenSet = false; OracleSettings m_oracleSettings; bool m_oracleSettingsHasBeenSet = false; SybaseSettings m_sybaseSettings; bool m_sybaseSettingsHasBeenSet = false; MicrosoftSQLServerSettings m_microsoftSQLServerSettings; bool m_microsoftSQLServerSettingsHasBeenSet = false; IBMDb2Settings m_iBMDb2Settings; bool m_iBMDb2SettingsHasBeenSet = false; DocDbSettings m_docDbSettings; bool m_docDbSettingsHasBeenSet = false; RedisSettings m_redisSettings; bool m_redisSettingsHasBeenSet = false; GcpMySQLSettings m_gcpMySQLSettings; bool m_gcpMySQLSettingsHasBeenSet = false; TimestreamSettings m_timestreamSettings; bool m_timestreamSettingsHasBeenSet = false; }; } // namespace Model } // namespace DatabaseMigrationService } // namespace Aws