/*
* 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 Amazon Kinesis Data Stream 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 KinesisSettings
{
private bool? _includeControlDetails;
private bool? _includeNullAndEmpty;
private bool? _includePartitionValue;
private bool? _includeTableAlterOperations;
private bool? _includeTransactionDetails;
private MessageFormatValue _messageFormat;
private bool? _noHexPrefix;
private bool? _partitionIncludeSchemaTable;
private string _serviceAccessRoleArn;
private string _streamArn;
///
/// Gets and sets the property IncludeControlDetails.
///
/// Shows detailed control information for table definition, column definition, and table
/// and column changes in the Kinesis 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 Kinesis 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 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 an Amazon
/// Kinesis 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 Kinesis shards. 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 shard, 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 ServiceAccessRoleArn.
///
/// The Amazon Resource Name (ARN) for the IAM role that DMS uses to write to the Kinesis
/// data stream. The role must allow the iam:PassRole
action.
///
///
public string ServiceAccessRoleArn
{
get { return this._serviceAccessRoleArn; }
set { this._serviceAccessRoleArn = value; }
}
// Check to see if ServiceAccessRoleArn property is set
internal bool IsSetServiceAccessRoleArn()
{
return this._serviceAccessRoleArn != null;
}
///
/// Gets and sets the property StreamArn.
///
/// The Amazon Resource Name (ARN) for the Amazon Kinesis Data Streams endpoint.
///
///
public string StreamArn
{
get { return this._streamArn; }
set { this._streamArn = value; }
}
// Check to see if StreamArn property is set
internal bool IsSetStreamArn()
{
return this._streamArn != null;
}
}
}