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

Provides information that describes an Apache Kafka endpoint. This * information includes the output format of records applied to the endpoint and * details of transaction and control table data information.

See * Also:

AWS * API Reference

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

A comma-separated list of one or more broker locations in your Kafka cluster * that host your Kafka instance. Specify each broker location in the form * broker-hostname-or-ip:port . For example, * "ec2-12-345-678-901.compute-1.amazonaws.com:2345". For more * information and examples of specifying a list of broker locations, see Using * Apache Kafka as a target for Database Migration Service in the Database * Migration Service User Guide.

*/ inline const Aws::String& GetBroker() const{ return m_broker; } /** *

A comma-separated list of one or more broker locations in your Kafka cluster * that host your Kafka instance. Specify each broker location in the form * broker-hostname-or-ip:port . For example, * "ec2-12-345-678-901.compute-1.amazonaws.com:2345". For more * information and examples of specifying a list of broker locations, see Using * Apache Kafka as a target for Database Migration Service in the Database * Migration Service User Guide.

*/ inline bool BrokerHasBeenSet() const { return m_brokerHasBeenSet; } /** *

A comma-separated list of one or more broker locations in your Kafka cluster * that host your Kafka instance. Specify each broker location in the form * broker-hostname-or-ip:port . For example, * "ec2-12-345-678-901.compute-1.amazonaws.com:2345". For more * information and examples of specifying a list of broker locations, see Using * Apache Kafka as a target for Database Migration Service in the Database * Migration Service User Guide.

*/ inline void SetBroker(const Aws::String& value) { m_brokerHasBeenSet = true; m_broker = value; } /** *

A comma-separated list of one or more broker locations in your Kafka cluster * that host your Kafka instance. Specify each broker location in the form * broker-hostname-or-ip:port . For example, * "ec2-12-345-678-901.compute-1.amazonaws.com:2345". For more * information and examples of specifying a list of broker locations, see Using * Apache Kafka as a target for Database Migration Service in the Database * Migration Service User Guide.

*/ inline void SetBroker(Aws::String&& value) { m_brokerHasBeenSet = true; m_broker = std::move(value); } /** *

A comma-separated list of one or more broker locations in your Kafka cluster * that host your Kafka instance. Specify each broker location in the form * broker-hostname-or-ip:port . For example, * "ec2-12-345-678-901.compute-1.amazonaws.com:2345". For more * information and examples of specifying a list of broker locations, see Using * Apache Kafka as a target for Database Migration Service in the Database * Migration Service User Guide.

*/ inline void SetBroker(const char* value) { m_brokerHasBeenSet = true; m_broker.assign(value); } /** *

A comma-separated list of one or more broker locations in your Kafka cluster * that host your Kafka instance. Specify each broker location in the form * broker-hostname-or-ip:port . For example, * "ec2-12-345-678-901.compute-1.amazonaws.com:2345". For more * information and examples of specifying a list of broker locations, see Using * Apache Kafka as a target for Database Migration Service in the Database * Migration Service User Guide.

*/ inline KafkaSettings& WithBroker(const Aws::String& value) { SetBroker(value); return *this;} /** *

A comma-separated list of one or more broker locations in your Kafka cluster * that host your Kafka instance. Specify each broker location in the form * broker-hostname-or-ip:port . For example, * "ec2-12-345-678-901.compute-1.amazonaws.com:2345". For more * information and examples of specifying a list of broker locations, see Using * Apache Kafka as a target for Database Migration Service in the Database * Migration Service User Guide.

*/ inline KafkaSettings& WithBroker(Aws::String&& value) { SetBroker(std::move(value)); return *this;} /** *

A comma-separated list of one or more broker locations in your Kafka cluster * that host your Kafka instance. Specify each broker location in the form * broker-hostname-or-ip:port . For example, * "ec2-12-345-678-901.compute-1.amazonaws.com:2345". For more * information and examples of specifying a list of broker locations, see Using * Apache Kafka as a target for Database Migration Service in the Database * Migration Service User Guide.

*/ inline KafkaSettings& WithBroker(const char* value) { SetBroker(value); return *this;} /** *

The topic to which you migrate the data. If you don't specify a topic, DMS * specifies "kafka-default-topic" as the migration topic.

*/ inline const Aws::String& GetTopic() const{ return m_topic; } /** *

The topic to which you migrate the data. If you don't specify a topic, DMS * specifies "kafka-default-topic" as the migration topic.

*/ inline bool TopicHasBeenSet() const { return m_topicHasBeenSet; } /** *

The topic to which you migrate the data. If you don't specify a topic, DMS * specifies "kafka-default-topic" as the migration topic.

*/ inline void SetTopic(const Aws::String& value) { m_topicHasBeenSet = true; m_topic = value; } /** *

The topic to which you migrate the data. If you don't specify a topic, DMS * specifies "kafka-default-topic" as the migration topic.

*/ inline void SetTopic(Aws::String&& value) { m_topicHasBeenSet = true; m_topic = std::move(value); } /** *

The topic to which you migrate the data. If you don't specify a topic, DMS * specifies "kafka-default-topic" as the migration topic.

*/ inline void SetTopic(const char* value) { m_topicHasBeenSet = true; m_topic.assign(value); } /** *

The topic to which you migrate the data. If you don't specify a topic, DMS * specifies "kafka-default-topic" as the migration topic.

*/ inline KafkaSettings& WithTopic(const Aws::String& value) { SetTopic(value); return *this;} /** *

The topic to which you migrate the data. If you don't specify a topic, DMS * specifies "kafka-default-topic" as the migration topic.

*/ inline KafkaSettings& WithTopic(Aws::String&& value) { SetTopic(std::move(value)); return *this;} /** *

The topic to which you migrate the data. If you don't specify a topic, DMS * specifies "kafka-default-topic" as the migration topic.

*/ inline KafkaSettings& WithTopic(const char* value) { SetTopic(value); return *this;} /** *

The output format for the records created on the endpoint. The message format * is JSON (default) or JSON_UNFORMATTED (a single line * with no tab).

*/ inline const MessageFormatValue& GetMessageFormat() const{ return m_messageFormat; } /** *

The output format for the records created on the endpoint. The message format * is JSON (default) or JSON_UNFORMATTED (a single line * with no tab).

*/ inline bool MessageFormatHasBeenSet() const { return m_messageFormatHasBeenSet; } /** *

The output format for the records created on the endpoint. The message format * is JSON (default) or JSON_UNFORMATTED (a single line * with no tab).

*/ inline void SetMessageFormat(const MessageFormatValue& value) { m_messageFormatHasBeenSet = true; m_messageFormat = value; } /** *

The output format for the records created on the endpoint. The message format * is JSON (default) or JSON_UNFORMATTED (a single line * with no tab).

*/ inline void SetMessageFormat(MessageFormatValue&& value) { m_messageFormatHasBeenSet = true; m_messageFormat = std::move(value); } /** *

The output format for the records created on the endpoint. The message format * is JSON (default) or JSON_UNFORMATTED (a single line * with no tab).

*/ inline KafkaSettings& WithMessageFormat(const MessageFormatValue& value) { SetMessageFormat(value); return *this;} /** *

The output format for the records created on the endpoint. The message format * is JSON (default) or JSON_UNFORMATTED (a single line * with no tab).

*/ inline KafkaSettings& WithMessageFormat(MessageFormatValue&& value) { SetMessageFormat(std::move(value)); return *this;} /** *

Provides detailed transaction information from the source database. This * information includes a commit timestamp, a log position, and values for * transaction_id, previous transaction_id, and * transaction_record_id (the record offset within a transaction). The * default is false.

*/ inline bool GetIncludeTransactionDetails() const{ return m_includeTransactionDetails; } /** *

Provides detailed transaction information from the source database. This * information includes a commit timestamp, a log position, and values for * transaction_id, previous transaction_id, and * transaction_record_id (the record offset within a transaction). The * default is false.

*/ inline bool IncludeTransactionDetailsHasBeenSet() const { return m_includeTransactionDetailsHasBeenSet; } /** *

Provides detailed transaction information from the source database. This * information includes a commit timestamp, a log position, and values for * transaction_id, previous transaction_id, and * transaction_record_id (the record offset within a transaction). The * default is false.

*/ inline void SetIncludeTransactionDetails(bool value) { m_includeTransactionDetailsHasBeenSet = true; m_includeTransactionDetails = value; } /** *

Provides detailed transaction information from the source database. This * information includes a commit timestamp, a log position, and values for * transaction_id, previous transaction_id, and * transaction_record_id (the record offset within a transaction). The * default is false.

*/ inline KafkaSettings& WithIncludeTransactionDetails(bool value) { SetIncludeTransactionDetails(value); return *this;} /** *

Shows the partition value within the Kafka message output unless the * partition type is schema-table-type. The default is * false.

*/ inline bool GetIncludePartitionValue() const{ return m_includePartitionValue; } /** *

Shows the partition value within the Kafka message output unless the * partition type is schema-table-type. The default is * false.

*/ inline bool IncludePartitionValueHasBeenSet() const { return m_includePartitionValueHasBeenSet; } /** *

Shows the partition value within the Kafka message output unless the * partition type is schema-table-type. The default is * false.

*/ inline void SetIncludePartitionValue(bool value) { m_includePartitionValueHasBeenSet = true; m_includePartitionValue = value; } /** *

Shows the partition value within the Kafka message output unless the * partition type is schema-table-type. The default is * false.

*/ inline KafkaSettings& WithIncludePartitionValue(bool value) { SetIncludePartitionValue(value); return *this;} /** *

Prefixes schema and table names to partition values, when the partition type * is primary-key-type. Doing this increases data distribution among * Kafka partitions. For example, suppose that a SysBench schema has thousands of * tables and each table has only limited range for a primary key. In this case, * the same primary key is sent from thousands of tables to the same partition, * which causes throttling. The default is false.

*/ inline bool GetPartitionIncludeSchemaTable() const{ return m_partitionIncludeSchemaTable; } /** *

Prefixes schema and table names to partition values, when the partition type * is primary-key-type. Doing this increases data distribution among * Kafka partitions. For example, suppose that a SysBench schema has thousands of * tables and each table has only limited range for a primary key. In this case, * the same primary key is sent from thousands of tables to the same partition, * which causes throttling. The default is false.

*/ inline bool PartitionIncludeSchemaTableHasBeenSet() const { return m_partitionIncludeSchemaTableHasBeenSet; } /** *

Prefixes schema and table names to partition values, when the partition type * is primary-key-type. Doing this increases data distribution among * Kafka partitions. For example, suppose that a SysBench schema has thousands of * tables and each table has only limited range for a primary key. In this case, * the same primary key is sent from thousands of tables to the same partition, * which causes throttling. The default is false.

*/ inline void SetPartitionIncludeSchemaTable(bool value) { m_partitionIncludeSchemaTableHasBeenSet = true; m_partitionIncludeSchemaTable = value; } /** *

Prefixes schema and table names to partition values, when the partition type * is primary-key-type. Doing this increases data distribution among * Kafka partitions. For example, suppose that a SysBench schema has thousands of * tables and each table has only limited range for a primary key. In this case, * the same primary key is sent from thousands of tables to the same partition, * which causes throttling. The default is false.

*/ inline KafkaSettings& WithPartitionIncludeSchemaTable(bool value) { SetPartitionIncludeSchemaTable(value); return *this;} /** *

Includes any data definition language (DDL) operations that change the table * in the control data, such as rename-table, drop-table, * add-column, drop-column, and * rename-column. The default is false.

*/ inline bool GetIncludeTableAlterOperations() const{ return m_includeTableAlterOperations; } /** *

Includes any data definition language (DDL) operations that change the table * in the control data, such as rename-table, drop-table, * add-column, drop-column, and * rename-column. The default is false.

*/ inline bool IncludeTableAlterOperationsHasBeenSet() const { return m_includeTableAlterOperationsHasBeenSet; } /** *

Includes any data definition language (DDL) operations that change the table * in the control data, such as rename-table, drop-table, * add-column, drop-column, and * rename-column. The default is false.

*/ inline void SetIncludeTableAlterOperations(bool value) { m_includeTableAlterOperationsHasBeenSet = true; m_includeTableAlterOperations = value; } /** *

Includes any data definition language (DDL) operations that change the table * in the control data, such as rename-table, drop-table, * add-column, drop-column, and * rename-column. The default is false.

*/ inline KafkaSettings& WithIncludeTableAlterOperations(bool value) { SetIncludeTableAlterOperations(value); return *this;} /** *

Shows detailed control information for table definition, column definition, * and table and column changes in the Kafka message output. The default is * false.

*/ inline bool GetIncludeControlDetails() const{ return m_includeControlDetails; } /** *

Shows detailed control information for table definition, column definition, * and table and column changes in the Kafka message output. The default is * false.

*/ inline bool IncludeControlDetailsHasBeenSet() const { return m_includeControlDetailsHasBeenSet; } /** *

Shows detailed control information for table definition, column definition, * and table and column changes in the Kafka message output. The default is * false.

*/ inline void SetIncludeControlDetails(bool value) { m_includeControlDetailsHasBeenSet = true; m_includeControlDetails = value; } /** *

Shows detailed control information for table definition, column definition, * and table and column changes in the Kafka message output. The default is * false.

*/ inline KafkaSettings& WithIncludeControlDetails(bool value) { SetIncludeControlDetails(value); return *this;} /** *

The maximum size in bytes for records created on the endpoint The default is * 1,000,000.

*/ inline int GetMessageMaxBytes() const{ return m_messageMaxBytes; } /** *

The maximum size in bytes for records created on the endpoint The default is * 1,000,000.

*/ inline bool MessageMaxBytesHasBeenSet() const { return m_messageMaxBytesHasBeenSet; } /** *

The maximum size in bytes for records created on the endpoint The default is * 1,000,000.

*/ inline void SetMessageMaxBytes(int value) { m_messageMaxBytesHasBeenSet = true; m_messageMaxBytes = value; } /** *

The maximum size in bytes for records created on the endpoint The default is * 1,000,000.

*/ inline KafkaSettings& WithMessageMaxBytes(int value) { SetMessageMaxBytes(value); return *this;} /** *

Include NULL and empty columns for records migrated to the endpoint. The * default is false.

*/ inline bool GetIncludeNullAndEmpty() const{ return m_includeNullAndEmpty; } /** *

Include NULL and empty columns for records migrated to the endpoint. The * default is false.

*/ inline bool IncludeNullAndEmptyHasBeenSet() const { return m_includeNullAndEmptyHasBeenSet; } /** *

Include NULL and empty columns for records migrated to the endpoint. The * default is false.

*/ inline void SetIncludeNullAndEmpty(bool value) { m_includeNullAndEmptyHasBeenSet = true; m_includeNullAndEmpty = value; } /** *

Include NULL and empty columns for records migrated to the endpoint. The * default is false.

*/ inline KafkaSettings& WithIncludeNullAndEmpty(bool value) { SetIncludeNullAndEmpty(value); return *this;} /** *

Set secure connection to a Kafka target endpoint using Transport Layer * Security (TLS). Options include ssl-encryption, * ssl-authentication, and sasl-ssl. * sasl-ssl requires SaslUsername and * SaslPassword.

*/ inline const KafkaSecurityProtocol& GetSecurityProtocol() const{ return m_securityProtocol; } /** *

Set secure connection to a Kafka target endpoint using Transport Layer * Security (TLS). Options include ssl-encryption, * ssl-authentication, and sasl-ssl. * sasl-ssl requires SaslUsername and * SaslPassword.

*/ inline bool SecurityProtocolHasBeenSet() const { return m_securityProtocolHasBeenSet; } /** *

Set secure connection to a Kafka target endpoint using Transport Layer * Security (TLS). Options include ssl-encryption, * ssl-authentication, and sasl-ssl. * sasl-ssl requires SaslUsername and * SaslPassword.

*/ inline void SetSecurityProtocol(const KafkaSecurityProtocol& value) { m_securityProtocolHasBeenSet = true; m_securityProtocol = value; } /** *

Set secure connection to a Kafka target endpoint using Transport Layer * Security (TLS). Options include ssl-encryption, * ssl-authentication, and sasl-ssl. * sasl-ssl requires SaslUsername and * SaslPassword.

*/ inline void SetSecurityProtocol(KafkaSecurityProtocol&& value) { m_securityProtocolHasBeenSet = true; m_securityProtocol = std::move(value); } /** *

Set secure connection to a Kafka target endpoint using Transport Layer * Security (TLS). Options include ssl-encryption, * ssl-authentication, and sasl-ssl. * sasl-ssl requires SaslUsername and * SaslPassword.

*/ inline KafkaSettings& WithSecurityProtocol(const KafkaSecurityProtocol& value) { SetSecurityProtocol(value); return *this;} /** *

Set secure connection to a Kafka target endpoint using Transport Layer * Security (TLS). Options include ssl-encryption, * ssl-authentication, and sasl-ssl. * sasl-ssl requires SaslUsername and * SaslPassword.

*/ inline KafkaSettings& WithSecurityProtocol(KafkaSecurityProtocol&& value) { SetSecurityProtocol(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the client certificate used to securely * connect to a Kafka target endpoint.

*/ inline const Aws::String& GetSslClientCertificateArn() const{ return m_sslClientCertificateArn; } /** *

The Amazon Resource Name (ARN) of the client certificate used to securely * connect to a Kafka target endpoint.

*/ inline bool SslClientCertificateArnHasBeenSet() const { return m_sslClientCertificateArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the client certificate used to securely * connect to a Kafka target endpoint.

*/ inline void SetSslClientCertificateArn(const Aws::String& value) { m_sslClientCertificateArnHasBeenSet = true; m_sslClientCertificateArn = value; } /** *

The Amazon Resource Name (ARN) of the client certificate used to securely * connect to a Kafka target endpoint.

*/ inline void SetSslClientCertificateArn(Aws::String&& value) { m_sslClientCertificateArnHasBeenSet = true; m_sslClientCertificateArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the client certificate used to securely * connect to a Kafka target endpoint.

*/ inline void SetSslClientCertificateArn(const char* value) { m_sslClientCertificateArnHasBeenSet = true; m_sslClientCertificateArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the client certificate used to securely * connect to a Kafka target endpoint.

*/ inline KafkaSettings& WithSslClientCertificateArn(const Aws::String& value) { SetSslClientCertificateArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the client certificate used to securely * connect to a Kafka target endpoint.

*/ inline KafkaSettings& WithSslClientCertificateArn(Aws::String&& value) { SetSslClientCertificateArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the client certificate used to securely * connect to a Kafka target endpoint.

*/ inline KafkaSettings& WithSslClientCertificateArn(const char* value) { SetSslClientCertificateArn(value); return *this;} /** *

The Amazon Resource Name (ARN) for the client private key used to securely * connect to a Kafka target endpoint.

*/ inline const Aws::String& GetSslClientKeyArn() const{ return m_sslClientKeyArn; } /** *

The Amazon Resource Name (ARN) for the client private key used to securely * connect to a Kafka target endpoint.

*/ inline bool SslClientKeyArnHasBeenSet() const { return m_sslClientKeyArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) for the client private key used to securely * connect to a Kafka target endpoint.

*/ inline void SetSslClientKeyArn(const Aws::String& value) { m_sslClientKeyArnHasBeenSet = true; m_sslClientKeyArn = value; } /** *

The Amazon Resource Name (ARN) for the client private key used to securely * connect to a Kafka target endpoint.

*/ inline void SetSslClientKeyArn(Aws::String&& value) { m_sslClientKeyArnHasBeenSet = true; m_sslClientKeyArn = std::move(value); } /** *

The Amazon Resource Name (ARN) for the client private key used to securely * connect to a Kafka target endpoint.

*/ inline void SetSslClientKeyArn(const char* value) { m_sslClientKeyArnHasBeenSet = true; m_sslClientKeyArn.assign(value); } /** *

The Amazon Resource Name (ARN) for the client private key used to securely * connect to a Kafka target endpoint.

*/ inline KafkaSettings& WithSslClientKeyArn(const Aws::String& value) { SetSslClientKeyArn(value); return *this;} /** *

The Amazon Resource Name (ARN) for the client private key used to securely * connect to a Kafka target endpoint.

*/ inline KafkaSettings& WithSslClientKeyArn(Aws::String&& value) { SetSslClientKeyArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) for the client private key used to securely * connect to a Kafka target endpoint.

*/ inline KafkaSettings& WithSslClientKeyArn(const char* value) { SetSslClientKeyArn(value); return *this;} /** *

The password for the client private key used to securely connect to a Kafka * target endpoint.

*/ inline const Aws::String& GetSslClientKeyPassword() const{ return m_sslClientKeyPassword; } /** *

The password for the client private key used to securely connect to a Kafka * target endpoint.

*/ inline bool SslClientKeyPasswordHasBeenSet() const { return m_sslClientKeyPasswordHasBeenSet; } /** *

The password for the client private key used to securely connect to a Kafka * target endpoint.

*/ inline void SetSslClientKeyPassword(const Aws::String& value) { m_sslClientKeyPasswordHasBeenSet = true; m_sslClientKeyPassword = value; } /** *

The password for the client private key used to securely connect to a Kafka * target endpoint.

*/ inline void SetSslClientKeyPassword(Aws::String&& value) { m_sslClientKeyPasswordHasBeenSet = true; m_sslClientKeyPassword = std::move(value); } /** *

The password for the client private key used to securely connect to a Kafka * target endpoint.

*/ inline void SetSslClientKeyPassword(const char* value) { m_sslClientKeyPasswordHasBeenSet = true; m_sslClientKeyPassword.assign(value); } /** *

The password for the client private key used to securely connect to a Kafka * target endpoint.

*/ inline KafkaSettings& WithSslClientKeyPassword(const Aws::String& value) { SetSslClientKeyPassword(value); return *this;} /** *

The password for the client private key used to securely connect to a Kafka * target endpoint.

*/ inline KafkaSettings& WithSslClientKeyPassword(Aws::String&& value) { SetSslClientKeyPassword(std::move(value)); return *this;} /** *

The password for the client private key used to securely connect to a Kafka * target endpoint.

*/ inline KafkaSettings& WithSslClientKeyPassword(const char* value) { SetSslClientKeyPassword(value); return *this;} /** *

The Amazon Resource Name (ARN) for the private certificate authority (CA) * cert that DMS uses to securely connect to your Kafka target endpoint.

*/ inline const Aws::String& GetSslCaCertificateArn() const{ return m_sslCaCertificateArn; } /** *

The Amazon Resource Name (ARN) for the private certificate authority (CA) * cert that DMS uses to securely connect to your Kafka target endpoint.

*/ inline bool SslCaCertificateArnHasBeenSet() const { return m_sslCaCertificateArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) for the private certificate authority (CA) * cert that DMS uses to securely connect to your Kafka target endpoint.

*/ inline void SetSslCaCertificateArn(const Aws::String& value) { m_sslCaCertificateArnHasBeenSet = true; m_sslCaCertificateArn = value; } /** *

The Amazon Resource Name (ARN) for the private certificate authority (CA) * cert that DMS uses to securely connect to your Kafka target endpoint.

*/ inline void SetSslCaCertificateArn(Aws::String&& value) { m_sslCaCertificateArnHasBeenSet = true; m_sslCaCertificateArn = std::move(value); } /** *

The Amazon Resource Name (ARN) for the private certificate authority (CA) * cert that DMS uses to securely connect to your Kafka target endpoint.

*/ inline void SetSslCaCertificateArn(const char* value) { m_sslCaCertificateArnHasBeenSet = true; m_sslCaCertificateArn.assign(value); } /** *

The Amazon Resource Name (ARN) for the private certificate authority (CA) * cert that DMS uses to securely connect to your Kafka target endpoint.

*/ inline KafkaSettings& WithSslCaCertificateArn(const Aws::String& value) { SetSslCaCertificateArn(value); return *this;} /** *

The Amazon Resource Name (ARN) for the private certificate authority (CA) * cert that DMS uses to securely connect to your Kafka target endpoint.

*/ inline KafkaSettings& WithSslCaCertificateArn(Aws::String&& value) { SetSslCaCertificateArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) for the private certificate authority (CA) * cert that DMS uses to securely connect to your Kafka target endpoint.

*/ inline KafkaSettings& WithSslCaCertificateArn(const char* value) { SetSslCaCertificateArn(value); return *this;} /** *

The secure user name you created when you first set up your MSK cluster to * validate a client identity and make an encrypted connection between server and * client using SASL-SSL authentication.

*/ inline const Aws::String& GetSaslUsername() const{ return m_saslUsername; } /** *

The secure user name you created when you first set up your MSK cluster to * validate a client identity and make an encrypted connection between server and * client using SASL-SSL authentication.

*/ inline bool SaslUsernameHasBeenSet() const { return m_saslUsernameHasBeenSet; } /** *

The secure user name you created when you first set up your MSK cluster to * validate a client identity and make an encrypted connection between server and * client using SASL-SSL authentication.

*/ inline void SetSaslUsername(const Aws::String& value) { m_saslUsernameHasBeenSet = true; m_saslUsername = value; } /** *

The secure user name you created when you first set up your MSK cluster to * validate a client identity and make an encrypted connection between server and * client using SASL-SSL authentication.

*/ inline void SetSaslUsername(Aws::String&& value) { m_saslUsernameHasBeenSet = true; m_saslUsername = std::move(value); } /** *

The secure user name you created when you first set up your MSK cluster to * validate a client identity and make an encrypted connection between server and * client using SASL-SSL authentication.

*/ inline void SetSaslUsername(const char* value) { m_saslUsernameHasBeenSet = true; m_saslUsername.assign(value); } /** *

The secure user name you created when you first set up your MSK cluster to * validate a client identity and make an encrypted connection between server and * client using SASL-SSL authentication.

*/ inline KafkaSettings& WithSaslUsername(const Aws::String& value) { SetSaslUsername(value); return *this;} /** *

The secure user name you created when you first set up your MSK cluster to * validate a client identity and make an encrypted connection between server and * client using SASL-SSL authentication.

*/ inline KafkaSettings& WithSaslUsername(Aws::String&& value) { SetSaslUsername(std::move(value)); return *this;} /** *

The secure user name you created when you first set up your MSK cluster to * validate a client identity and make an encrypted connection between server and * client using SASL-SSL authentication.

*/ inline KafkaSettings& WithSaslUsername(const char* value) { SetSaslUsername(value); return *this;} /** *

The secure password you created when you first set up your MSK cluster to * validate a client identity and make an encrypted connection between server and * client using SASL-SSL authentication.

*/ inline const Aws::String& GetSaslPassword() const{ return m_saslPassword; } /** *

The secure password you created when you first set up your MSK cluster to * validate a client identity and make an encrypted connection between server and * client using SASL-SSL authentication.

*/ inline bool SaslPasswordHasBeenSet() const { return m_saslPasswordHasBeenSet; } /** *

The secure password you created when you first set up your MSK cluster to * validate a client identity and make an encrypted connection between server and * client using SASL-SSL authentication.

*/ inline void SetSaslPassword(const Aws::String& value) { m_saslPasswordHasBeenSet = true; m_saslPassword = value; } /** *

The secure password you created when you first set up your MSK cluster to * validate a client identity and make an encrypted connection between server and * client using SASL-SSL authentication.

*/ inline void SetSaslPassword(Aws::String&& value) { m_saslPasswordHasBeenSet = true; m_saslPassword = std::move(value); } /** *

The secure password you created when you first set up your MSK cluster to * validate a client identity and make an encrypted connection between server and * client using SASL-SSL authentication.

*/ inline void SetSaslPassword(const char* value) { m_saslPasswordHasBeenSet = true; m_saslPassword.assign(value); } /** *

The secure password you created when you first set up your MSK cluster to * validate a client identity and make an encrypted connection between server and * client using SASL-SSL authentication.

*/ inline KafkaSettings& WithSaslPassword(const Aws::String& value) { SetSaslPassword(value); return *this;} /** *

The secure password you created when you first set up your MSK cluster to * validate a client identity and make an encrypted connection between server and * client using SASL-SSL authentication.

*/ inline KafkaSettings& WithSaslPassword(Aws::String&& value) { SetSaslPassword(std::move(value)); return *this;} /** *

The secure password you created when you first set up your MSK cluster to * validate a client identity and make an encrypted connection between server and * client using SASL-SSL authentication.

*/ inline KafkaSettings& WithSaslPassword(const char* value) { SetSaslPassword(value); return *this;} /** *

Set this optional parameter to true to avoid adding a '0x' * prefix to raw data in hexadecimal format. For example, by default, DMS adds a * '0x' prefix to the LOB column type in hexadecimal format moving from an Oracle * source to a Kafka target. Use the NoHexPrefix endpoint setting to * enable migration of RAW data type columns without adding the '0x' prefix.

*/ inline bool GetNoHexPrefix() const{ return m_noHexPrefix; } /** *

Set this optional parameter to true to avoid adding a '0x' * prefix to raw data in hexadecimal format. For example, by default, DMS adds a * '0x' prefix to the LOB column type in hexadecimal format moving from an Oracle * source to a Kafka target. Use the NoHexPrefix endpoint setting to * enable migration of RAW data type columns without adding the '0x' prefix.

*/ inline bool NoHexPrefixHasBeenSet() const { return m_noHexPrefixHasBeenSet; } /** *

Set this optional parameter to true to avoid adding a '0x' * prefix to raw data in hexadecimal format. For example, by default, DMS adds a * '0x' prefix to the LOB column type in hexadecimal format moving from an Oracle * source to a Kafka target. Use the NoHexPrefix endpoint setting to * enable migration of RAW data type columns without adding the '0x' prefix.

*/ inline void SetNoHexPrefix(bool value) { m_noHexPrefixHasBeenSet = true; m_noHexPrefix = value; } /** *

Set this optional parameter to true to avoid adding a '0x' * prefix to raw data in hexadecimal format. For example, by default, DMS adds a * '0x' prefix to the LOB column type in hexadecimal format moving from an Oracle * source to a Kafka target. Use the NoHexPrefix endpoint setting to * enable migration of RAW data type columns without adding the '0x' prefix.

*/ inline KafkaSettings& WithNoHexPrefix(bool value) { SetNoHexPrefix(value); return *this;} /** *

For SASL/SSL authentication, DMS supports the SCRAM-SHA-512 * mechanism by default. DMS versions 3.5.0 and later also support the * PLAIN mechanism. To use the PLAIN mechanism, set this * parameter to PLAIN.

*/ inline const KafkaSaslMechanism& GetSaslMechanism() const{ return m_saslMechanism; } /** *

For SASL/SSL authentication, DMS supports the SCRAM-SHA-512 * mechanism by default. DMS versions 3.5.0 and later also support the * PLAIN mechanism. To use the PLAIN mechanism, set this * parameter to PLAIN.

*/ inline bool SaslMechanismHasBeenSet() const { return m_saslMechanismHasBeenSet; } /** *

For SASL/SSL authentication, DMS supports the SCRAM-SHA-512 * mechanism by default. DMS versions 3.5.0 and later also support the * PLAIN mechanism. To use the PLAIN mechanism, set this * parameter to PLAIN.

*/ inline void SetSaslMechanism(const KafkaSaslMechanism& value) { m_saslMechanismHasBeenSet = true; m_saslMechanism = value; } /** *

For SASL/SSL authentication, DMS supports the SCRAM-SHA-512 * mechanism by default. DMS versions 3.5.0 and later also support the * PLAIN mechanism. To use the PLAIN mechanism, set this * parameter to PLAIN.

*/ inline void SetSaslMechanism(KafkaSaslMechanism&& value) { m_saslMechanismHasBeenSet = true; m_saslMechanism = std::move(value); } /** *

For SASL/SSL authentication, DMS supports the SCRAM-SHA-512 * mechanism by default. DMS versions 3.5.0 and later also support the * PLAIN mechanism. To use the PLAIN mechanism, set this * parameter to PLAIN.

*/ inline KafkaSettings& WithSaslMechanism(const KafkaSaslMechanism& value) { SetSaslMechanism(value); return *this;} /** *

For SASL/SSL authentication, DMS supports the SCRAM-SHA-512 * mechanism by default. DMS versions 3.5.0 and later also support the * PLAIN mechanism. To use the PLAIN mechanism, set this * parameter to PLAIN.

*/ inline KafkaSettings& WithSaslMechanism(KafkaSaslMechanism&& value) { SetSaslMechanism(std::move(value)); return *this;} /** *

Sets hostname verification for the certificate. This setting is supported in * DMS version 3.5.1 and later.

*/ inline const KafkaSslEndpointIdentificationAlgorithm& GetSslEndpointIdentificationAlgorithm() const{ return m_sslEndpointIdentificationAlgorithm; } /** *

Sets hostname verification for the certificate. This setting is supported in * DMS version 3.5.1 and later.

*/ inline bool SslEndpointIdentificationAlgorithmHasBeenSet() const { return m_sslEndpointIdentificationAlgorithmHasBeenSet; } /** *

Sets hostname verification for the certificate. This setting is supported in * DMS version 3.5.1 and later.

*/ inline void SetSslEndpointIdentificationAlgorithm(const KafkaSslEndpointIdentificationAlgorithm& value) { m_sslEndpointIdentificationAlgorithmHasBeenSet = true; m_sslEndpointIdentificationAlgorithm = value; } /** *

Sets hostname verification for the certificate. This setting is supported in * DMS version 3.5.1 and later.

*/ inline void SetSslEndpointIdentificationAlgorithm(KafkaSslEndpointIdentificationAlgorithm&& value) { m_sslEndpointIdentificationAlgorithmHasBeenSet = true; m_sslEndpointIdentificationAlgorithm = std::move(value); } /** *

Sets hostname verification for the certificate. This setting is supported in * DMS version 3.5.1 and later.

*/ inline KafkaSettings& WithSslEndpointIdentificationAlgorithm(const KafkaSslEndpointIdentificationAlgorithm& value) { SetSslEndpointIdentificationAlgorithm(value); return *this;} /** *

Sets hostname verification for the certificate. This setting is supported in * DMS version 3.5.1 and later.

*/ inline KafkaSettings& WithSslEndpointIdentificationAlgorithm(KafkaSslEndpointIdentificationAlgorithm&& value) { SetSslEndpointIdentificationAlgorithm(std::move(value)); return *this;} private: Aws::String m_broker; bool m_brokerHasBeenSet = false; Aws::String m_topic; bool m_topicHasBeenSet = false; MessageFormatValue m_messageFormat; bool m_messageFormatHasBeenSet = false; bool m_includeTransactionDetails; bool m_includeTransactionDetailsHasBeenSet = false; bool m_includePartitionValue; bool m_includePartitionValueHasBeenSet = false; bool m_partitionIncludeSchemaTable; bool m_partitionIncludeSchemaTableHasBeenSet = false; bool m_includeTableAlterOperations; bool m_includeTableAlterOperationsHasBeenSet = false; bool m_includeControlDetails; bool m_includeControlDetailsHasBeenSet = false; int m_messageMaxBytes; bool m_messageMaxBytesHasBeenSet = false; bool m_includeNullAndEmpty; bool m_includeNullAndEmptyHasBeenSet = false; KafkaSecurityProtocol m_securityProtocol; bool m_securityProtocolHasBeenSet = false; Aws::String m_sslClientCertificateArn; bool m_sslClientCertificateArnHasBeenSet = false; Aws::String m_sslClientKeyArn; bool m_sslClientKeyArnHasBeenSet = false; Aws::String m_sslClientKeyPassword; bool m_sslClientKeyPasswordHasBeenSet = false; Aws::String m_sslCaCertificateArn; bool m_sslCaCertificateArnHasBeenSet = false; Aws::String m_saslUsername; bool m_saslUsernameHasBeenSet = false; Aws::String m_saslPassword; bool m_saslPasswordHasBeenSet = false; bool m_noHexPrefix; bool m_noHexPrefixHasBeenSet = false; KafkaSaslMechanism m_saslMechanism; bool m_saslMechanismHasBeenSet = false; KafkaSslEndpointIdentificationAlgorithm m_sslEndpointIdentificationAlgorithm; bool m_sslEndpointIdentificationAlgorithmHasBeenSet = false; }; } // namespace Model } // namespace DatabaseMigrationService } // namespace Aws