/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the dms-2016-01-01.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.DatabaseMigrationService.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. /// public partial class KafkaSettings { private string _broker; private bool? _includeControlDetails; private bool? _includeNullAndEmpty; private bool? _includePartitionValue; private bool? _includeTableAlterOperations; private bool? _includeTransactionDetails; private MessageFormatValue _messageFormat; private int? _messageMaxBytes; private bool? _noHexPrefix; private bool? _partitionIncludeSchemaTable; private KafkaSaslMechanism _saslMechanism; private string _saslPassword; private string _saslUsername; private KafkaSecurityProtocol _securityProtocol; private string _sslCaCertificateArn; private string _sslClientCertificateArn; private string _sslClientKeyArn; private string _sslClientKeyPassword; private KafkaSslEndpointIdentificationAlgorithm _sslEndpointIdentificationAlgorithm; private string _topic; /// /// Gets and sets the property 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. /// /// public string Broker { get { return this._broker; } set { this._broker = value; } } // Check to see if Broker property is set internal bool IsSetBroker() { return this._broker != null; } /// /// Gets and sets the property IncludeControlDetails. /// /// Shows detailed control information for table definition, column definition, and table /// and column changes in the Kafka message output. The default is false. /// /// public bool IncludeControlDetails { get { return this._includeControlDetails.GetValueOrDefault(); } set { this._includeControlDetails = value; } } // Check to see if IncludeControlDetails property is set internal bool IsSetIncludeControlDetails() { return this._includeControlDetails.HasValue; } /// /// Gets and sets the property IncludeNullAndEmpty. /// /// Include NULL and empty columns for records migrated to the endpoint. The default is /// false. /// /// public bool IncludeNullAndEmpty { get { return this._includeNullAndEmpty.GetValueOrDefault(); } set { this._includeNullAndEmpty = value; } } // Check to see if IncludeNullAndEmpty property is set internal bool IsSetIncludeNullAndEmpty() { return this._includeNullAndEmpty.HasValue; } /// /// Gets and sets the property IncludePartitionValue. /// /// Shows the partition value within the Kafka message output unless the partition type /// is schema-table-type. The default is false. /// /// public bool IncludePartitionValue { get { return this._includePartitionValue.GetValueOrDefault(); } set { this._includePartitionValue = value; } } // Check to see if IncludePartitionValue property is set internal bool IsSetIncludePartitionValue() { return this._includePartitionValue.HasValue; } /// /// Gets and sets the property 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. /// /// public bool IncludeTableAlterOperations { get { return this._includeTableAlterOperations.GetValueOrDefault(); } set { this._includeTableAlterOperations = value; } } // Check to see if IncludeTableAlterOperations property is set internal bool IsSetIncludeTableAlterOperations() { return this._includeTableAlterOperations.HasValue; } /// /// Gets and sets the property 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. /// /// public bool IncludeTransactionDetails { get { return this._includeTransactionDetails.GetValueOrDefault(); } set { this._includeTransactionDetails = value; } } // Check to see if IncludeTransactionDetails property is set internal bool IsSetIncludeTransactionDetails() { return this._includeTransactionDetails.HasValue; } /// /// Gets and sets the property 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). /// /// public MessageFormatValue MessageFormat { get { return this._messageFormat; } set { this._messageFormat = value; } } // Check to see if MessageFormat property is set internal bool IsSetMessageFormat() { return this._messageFormat != null; } /// /// Gets and sets the property MessageMaxBytes. /// /// The maximum size in bytes for records created on the endpoint The default is 1,000,000. /// /// public int MessageMaxBytes { get { return this._messageMaxBytes.GetValueOrDefault(); } set { this._messageMaxBytes = value; } } // Check to see if MessageMaxBytes property is set internal bool IsSetMessageMaxBytes() { return this._messageMaxBytes.HasValue; } /// /// Gets and sets the property 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. /// /// public bool NoHexPrefix { get { return this._noHexPrefix.GetValueOrDefault(); } set { this._noHexPrefix = value; } } // Check to see if NoHexPrefix property is set internal bool IsSetNoHexPrefix() { return this._noHexPrefix.HasValue; } /// /// Gets and sets the property 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. /// /// public bool PartitionIncludeSchemaTable { get { return this._partitionIncludeSchemaTable.GetValueOrDefault(); } set { this._partitionIncludeSchemaTable = value; } } // Check to see if PartitionIncludeSchemaTable property is set internal bool IsSetPartitionIncludeSchemaTable() { return this._partitionIncludeSchemaTable.HasValue; } /// /// Gets and sets the property 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. /// /// /// public KafkaSaslMechanism SaslMechanism { get { return this._saslMechanism; } set { this._saslMechanism = value; } } // Check to see if SaslMechanism property is set internal bool IsSetSaslMechanism() { return this._saslMechanism != null; } /// /// Gets and sets the property 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. /// /// [AWSProperty(Sensitive=true)] public string SaslPassword { get { return this._saslPassword; } set { this._saslPassword = value; } } // Check to see if SaslPassword property is set internal bool IsSetSaslPassword() { return this._saslPassword != null; } /// /// Gets and sets the property 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. /// /// public string SaslUsername { get { return this._saslUsername; } set { this._saslUsername = value; } } // Check to see if SaslUsername property is set internal bool IsSetSaslUsername() { return this._saslUsername != null; } /// /// Gets and sets the property 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. /// /// public KafkaSecurityProtocol SecurityProtocol { get { return this._securityProtocol; } set { this._securityProtocol = value; } } // Check to see if SecurityProtocol property is set internal bool IsSetSecurityProtocol() { return this._securityProtocol != null; } /// /// Gets and sets the property SslCaCertificateArn. /// /// The Amazon Resource Name (ARN) for the private certificate authority (CA) cert that /// DMS uses to securely connect to your Kafka target endpoint. /// /// public string SslCaCertificateArn { get { return this._sslCaCertificateArn; } set { this._sslCaCertificateArn = value; } } // Check to see if SslCaCertificateArn property is set internal bool IsSetSslCaCertificateArn() { return this._sslCaCertificateArn != null; } /// /// Gets and sets the property SslClientCertificateArn. /// /// The Amazon Resource Name (ARN) of the client certificate used to securely connect /// to a Kafka target endpoint. /// /// public string SslClientCertificateArn { get { return this._sslClientCertificateArn; } set { this._sslClientCertificateArn = value; } } // Check to see if SslClientCertificateArn property is set internal bool IsSetSslClientCertificateArn() { return this._sslClientCertificateArn != null; } /// /// Gets and sets the property SslClientKeyArn. /// /// The Amazon Resource Name (ARN) for the client private key used to securely connect /// to a Kafka target endpoint. /// /// public string SslClientKeyArn { get { return this._sslClientKeyArn; } set { this._sslClientKeyArn = value; } } // Check to see if SslClientKeyArn property is set internal bool IsSetSslClientKeyArn() { return this._sslClientKeyArn != null; } /// /// Gets and sets the property SslClientKeyPassword. /// /// The password for the client private key used to securely connect to a Kafka target /// endpoint. /// /// [AWSProperty(Sensitive=true)] public string SslClientKeyPassword { get { return this._sslClientKeyPassword; } set { this._sslClientKeyPassword = value; } } // Check to see if SslClientKeyPassword property is set internal bool IsSetSslClientKeyPassword() { return this._sslClientKeyPassword != null; } /// /// Gets and sets the property SslEndpointIdentificationAlgorithm. /// /// Sets hostname verification for the certificate. This setting is supported in DMS version /// 3.5.1 and later. /// /// public KafkaSslEndpointIdentificationAlgorithm SslEndpointIdentificationAlgorithm { get { return this._sslEndpointIdentificationAlgorithm; } set { this._sslEndpointIdentificationAlgorithm = value; } } // Check to see if SslEndpointIdentificationAlgorithm property is set internal bool IsSetSslEndpointIdentificationAlgorithm() { return this._sslEndpointIdentificationAlgorithm != null; } /// /// Gets and sets the property 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. /// /// public string Topic { get { return this._topic; } set { this._topic = value; } } // Check to see if Topic property is set internal bool IsSetTopic() { return this._topic != null; } } }