import { Value } from '../../../cloudformation/Value';
/**
  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. For more information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kinesis.html#CHAP_Target.Kinesis.ObjectMapping"> Using object mapping to migrate data to a Kinesis data stream</a> in the <em>AWS Database Migration Service User Guide</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-kinesissettings.html">the AWS Docs</a>
*/
export interface KinesisSettingsProps {
    /** <code>MessageFormat</code>  <a name="cfn-dms-endpoint-kinesissettings-messageformat"></a>
  The output format for the records created on the endpoint. The message format is <code>JSON</code> (default) or <code>JSON_UNFORMATTED</code> (a single line with no tab).<br />
  
  Required: No<br />
  
  Allowed values: <code>json | json-unformatted</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    messageFormat?: Value<'json' | 'json-unformatted'>;
    /** <code>IncludeTransactionDetails</code>  <a name="cfn-dms-endpoint-kinesissettings-includetransactiondetails"></a>
  Provides detailed transaction information from the source database. This information includes a commit timestamp, a log position, and values for <code>transaction_id</code>, previous <code>transaction_id</code>, and <code>transaction_record_id</code> (the record offset within a transaction). The default is <code>false</code>.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    includeTransactionDetails?: Value<boolean>;
    /** <code>IncludeTableAlterOperations</code>  <a name="cfn-dms-endpoint-kinesissettings-includetablealteroperations"></a>
  Includes any data definition language (DDL) operations that change the table in the control data, such as <code>rename-table</code>, <code>drop-table</code>, <code>add-column</code>, <code>drop-column</code>, and <code>rename-column</code>. The default is <code>false</code>.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    includeTableAlterOperations?: Value<boolean>;
    /** <code>IncludeControlDetails</code>  <a name="cfn-dms-endpoint-kinesissettings-includecontroldetails"></a>
  Shows detailed control information for table definition, column definition, and table and column changes in the Kinesis message output. The default is <code>false</code>.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    includeControlDetails?: Value<boolean>;
    /** <code>IncludePartitionValue</code>  <a name="cfn-dms-endpoint-kinesissettings-includepartitionvalue"></a>
  Shows the partition value within the Kinesis message output, unless the partition type is <code>schema-table-type</code>. The default is <code>false</code>.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    includePartitionValue?: Value<boolean>;
    /** <code>StreamArn</code>  <a name="cfn-dms-endpoint-kinesissettings-streamarn"></a>
  The Amazon Resource Name (ARN) for the Amazon Kinesis Data Streams endpoint.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    streamArn?: Value<string>;
    /** <code>ServiceAccessRoleArn</code>  <a name="cfn-dms-endpoint-kinesissettings-serviceaccessrolearn"></a>
  The Amazon Resource Name (ARN) for the IAM role that AWS DMS uses to write to the Kinesis data stream. The role must allow the <code>iam:PassRole</code> action.<br />
  
  Required: Conditional<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    serviceAccessRoleArn?: Value<string>;
    /** <code>NoHexPrefix</code>  <a name="cfn-dms-endpoint-kinesissettings-nohexprefix"></a>
  Set this optional parameter to <code>true</code> to avoid adding a ‘0x’ prefix to raw data in hexadecimal format. For example, by default, AWS 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 <code>NoHexPrefix</code> endpoint setting to enable migration of RAW data type columns without adding the ‘0x’ prefix.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    noHexPrefix?: Value<boolean>;
    /** <code>PartitionIncludeSchemaTable</code>  <a name="cfn-dms-endpoint-kinesissettings-partitionincludeschematable"></a>
  Prefixes schema and table names to partition values, when the partition type is <code>primary-key-type</code>. 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 <code>false</code>.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    partitionIncludeSchemaTable?: Value<boolean>;
    /** <code>IncludeNullAndEmpty</code>  <a name="cfn-dms-endpoint-kinesissettings-includenullandempty"></a>
  Include NULL and empty columns for records migrated to the endpoint. The default is <code>false</code>.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    includeNullAndEmpty?: Value<boolean>;
}
