"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.InputFormat=exports.HiveJsonInputFormat=exports.TimestampParser=exports.OpenXJsonInputFormat=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");var cdk=()=>{var tmp=require("../../../core");return cdk=()=>tmp,tmp},literal_string_1=()=>{var tmp=require("../../../core/lib/private/literal-string");return literal_string_1=()=>tmp,tmp};class OpenXJsonInputFormat{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_kinesisfirehose.OpenXJsonInputFormat",version:"2.256.1"};props;constructor(props){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_kinesisfirehose_OpenXJsonInputFormatProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,OpenXJsonInputFormat),error}this.props=props}createOpenXJsonSerde(){const props=this.props;return props?{caseInsensitive:props.lowercaseColumnNames,columnToJsonKeyMappings:props.columnToJsonKeyMappings,convertDotsInJsonKeysToUnderscores:props.convertDotsInJsonKeysToUnderscores}:{}}createInputFormatConfig(){return{deserializer:{openXJsonSerDe:this.createOpenXJsonSerde()}}}}exports.OpenXJsonInputFormat=OpenXJsonInputFormat;class TimestampParser{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_kinesisfirehose.TimestampParser",version:"2.256.1"};static EPOCH_MILLIS=new TimestampParser("millis");static fromFormatString(format){if(format===this.EPOCH_MILLIS.format)throw new(cdk()).UnscopedValidationError((0,literal_string_1().lit)`ReservedFormatStringNotAllowed`,`Cannot use reserved format string ${format} - Use 'TimestampParser.EPOCH_MILLIS' instead`);if(format.trim()==="")throw new(cdk()).UnscopedValidationError((0,literal_string_1().lit)`FormatStringCannotBeBlank`,"Format string cannot be blank or empty");return new TimestampParser(format)}format;constructor(format){this.format=format}}exports.TimestampParser=TimestampParser;class HiveJsonInputFormat{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_kinesisfirehose.HiveJsonInputFormat",version:"2.256.1"};props;constructor(props){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_kinesisfirehose_HiveJsonInputFormatProps(props)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,HiveJsonInputFormat),error}this.props=props}createHiveJsonSerde(){const props=this.props;return props?{timestampFormats:props.timestampParsers?.map(parser=>parser.format)}:{}}createInputFormatConfig(){return{deserializer:{hiveJsonSerDe:this.createHiveJsonSerde()}}}}exports.HiveJsonInputFormat=HiveJsonInputFormat;class InputFormat{static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_kinesisfirehose.InputFormat",version:"2.256.1"};static OPENX_JSON=new OpenXJsonInputFormat;static HIVE_JSON=new HiveJsonInputFormat;constructor(){}}exports.InputFormat=InputFormat;
