import { InputFormatConfigurationProps } from './InputFormatConfigurationProps';
import { Value } from '../../../cloudformation/Value';
import { SchemaConfigurationProps } from './SchemaConfigurationProps';
import { OutputFormatConfigurationProps } from './OutputFormatConfigurationProps';
/**
  Specifies that you want Kinesis Data Firehose to convert data from the JSON format to the Parquet or ORC format before writing it to Amazon S3. Kinesis Data Firehose uses the serializer and deserializer that you specify, in addition to the column information from the AWS Glue table, to deserialize your input data from JSON and then serialize it to the Parquet or ORC format. For more information, see <a href="https://docs.aws.amazon.com/firehose/latest/dev/record-format-conversion.html">Kinesis Data Firehose Record Format Conversion</a>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-dataformatconversionconfiguration.html">the AWS Docs</a>
*/
export interface DataFormatConversionConfigurationProps {
    /** <code>InputFormatConfiguration</code>  <a name="cfn-kinesisfirehose-deliverystream-dataformatconversionconfiguration-inputformatconfiguration"></a>
  Specifies the deserializer that you want Kinesis Data Firehose to use to convert the format of your data from JSON. This parameter is required if <code>Enabled</code> is set to true.<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> */
    inputFormatConfiguration?: InputFormatConfigurationProps;
    /** <code>Enabled</code>  <a name="cfn-kinesisfirehose-deliverystream-dataformatconversionconfiguration-enabled"></a>
  Defaults to <code>true</code>. Set it to <code>false</code> if you want to disable format conversion while preserving the configuration details.<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> */
    enabled?: Value<boolean>;
    /** <code>SchemaConfiguration</code>  <a name="cfn-kinesisfirehose-deliverystream-dataformatconversionconfiguration-schemaconfiguration"></a>
  Specifies the AWS Glue Data Catalog table that contains the column information. This parameter is required if <code>Enabled</code> is set to true.<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> */
    schemaConfiguration?: SchemaConfigurationProps;
    /** <code>OutputFormatConfiguration</code>  <a name="cfn-kinesisfirehose-deliverystream-dataformatconversionconfiguration-outputformatconfiguration"></a>
  Specifies the serializer that you want Kinesis Data Firehose to use to convert the format of your data to the Parquet or ORC format. This parameter is required if <code>Enabled</code> is set to true.<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> */
    outputFormatConfiguration?: OutputFormatConfigurationProps;
}
