import { Value } from '../../../cloudformation/Value';
/**
  The OpenX SerDe. Used by Kinesis Data Firehose for deserializing data, which means converting it from the JSON format in preparation for serializing it to the Parquet or ORC format. This is one of two deserializers you can choose, depending on which one offers the functionality you need. The other option is the native Hive / HCatalog JsonSerDe.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-openxjsonserde.html">the AWS Docs</a>
*/
export interface OpenXJsonSerDeProps {
    /** <code>ConvertDotsInJsonKeysToUnderscores</code>  <a name="cfn-kinesisfirehose-deliverystream-openxjsonserde-convertdotsinjsonkeystounderscores"></a>
  When set to <code>true</code>, specifies that the names of the keys include dots and that you want Kinesis Data Firehose to replace them with underscores. This is useful because Apache Hive does not allow dots in column names. For example, if the JSON contains a key whose name is “a.b”, you can define the column name to be “a_b” when using this option.<br />
  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> */
    convertDotsInJsonKeysToUnderscores?: Value<boolean>;
    /** <code>ColumnToJsonKeyMappings</code>  <a name="cfn-kinesisfirehose-deliverystream-openxjsonserde-columntojsonkeymappings"></a>
  Maps column names to JSON keys that aren’t identical to the column names. This is useful when the JSON contains keys that are Hive keywords. For example, <code>timestamp</code> is a Hive keyword. If you have a JSON key named <code>timestamp</code>, set this parameter to <code>{&quot;ts&quot;: &quot;timestamp&quot;}</code> to map this key to a column named <code>ts</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> */
    columnToJsonKeyMappings?: Value<{
        [key: string]: Value<string>;
    }>;
    /** <code>CaseInsensitive</code>  <a name="cfn-kinesisfirehose-deliverystream-openxjsonserde-caseinsensitive"></a>
  When set to <code>true</code>, which is the default, Kinesis Data Firehose converts JSON keys to lowercase before deserializing them.<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> */
    caseInsensitive?: Value<boolean>;
}
