/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Firehose { namespace Model { /** *

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 Kinesis * Data Firehose Record Format Conversion.

See Also:

AWS * API Reference

*/ class AWS_FIREHOSE_API DataFormatConversionConfiguration { public: DataFormatConversionConfiguration(); DataFormatConversionConfiguration(Aws::Utils::Json::JsonView jsonValue); DataFormatConversionConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); Aws::Utils::Json::JsonValue Jsonize() const; /** *

Specifies the AWS Glue Data Catalog table that contains the column * information. This parameter is required if Enabled is set to * true.

*/ inline const SchemaConfiguration& GetSchemaConfiguration() const{ return m_schemaConfiguration; } /** *

Specifies the AWS Glue Data Catalog table that contains the column * information. This parameter is required if Enabled is set to * true.

*/ inline bool SchemaConfigurationHasBeenSet() const { return m_schemaConfigurationHasBeenSet; } /** *

Specifies the AWS Glue Data Catalog table that contains the column * information. This parameter is required if Enabled is set to * true.

*/ inline void SetSchemaConfiguration(const SchemaConfiguration& value) { m_schemaConfigurationHasBeenSet = true; m_schemaConfiguration = value; } /** *

Specifies the AWS Glue Data Catalog table that contains the column * information. This parameter is required if Enabled is set to * true.

*/ inline void SetSchemaConfiguration(SchemaConfiguration&& value) { m_schemaConfigurationHasBeenSet = true; m_schemaConfiguration = std::move(value); } /** *

Specifies the AWS Glue Data Catalog table that contains the column * information. This parameter is required if Enabled is set to * true.

*/ inline DataFormatConversionConfiguration& WithSchemaConfiguration(const SchemaConfiguration& value) { SetSchemaConfiguration(value); return *this;} /** *

Specifies the AWS Glue Data Catalog table that contains the column * information. This parameter is required if Enabled is set to * true.

*/ inline DataFormatConversionConfiguration& WithSchemaConfiguration(SchemaConfiguration&& value) { SetSchemaConfiguration(std::move(value)); return *this;} /** *

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 * Enabled is set to true.

*/ inline const InputFormatConfiguration& GetInputFormatConfiguration() const{ return m_inputFormatConfiguration; } /** *

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 * Enabled is set to true.

*/ inline bool InputFormatConfigurationHasBeenSet() const { return m_inputFormatConfigurationHasBeenSet; } /** *

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 * Enabled is set to true.

*/ inline void SetInputFormatConfiguration(const InputFormatConfiguration& value) { m_inputFormatConfigurationHasBeenSet = true; m_inputFormatConfiguration = value; } /** *

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 * Enabled is set to true.

*/ inline void SetInputFormatConfiguration(InputFormatConfiguration&& value) { m_inputFormatConfigurationHasBeenSet = true; m_inputFormatConfiguration = std::move(value); } /** *

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 * Enabled is set to true.

*/ inline DataFormatConversionConfiguration& WithInputFormatConfiguration(const InputFormatConfiguration& value) { SetInputFormatConfiguration(value); return *this;} /** *

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 * Enabled is set to true.

*/ inline DataFormatConversionConfiguration& WithInputFormatConfiguration(InputFormatConfiguration&& value) { SetInputFormatConfiguration(std::move(value)); return *this;} /** *

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 Enabled is set to true.

*/ inline const OutputFormatConfiguration& GetOutputFormatConfiguration() const{ return m_outputFormatConfiguration; } /** *

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 Enabled is set to true.

*/ inline bool OutputFormatConfigurationHasBeenSet() const { return m_outputFormatConfigurationHasBeenSet; } /** *

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 Enabled is set to true.

*/ inline void SetOutputFormatConfiguration(const OutputFormatConfiguration& value) { m_outputFormatConfigurationHasBeenSet = true; m_outputFormatConfiguration = value; } /** *

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 Enabled is set to true.

*/ inline void SetOutputFormatConfiguration(OutputFormatConfiguration&& value) { m_outputFormatConfigurationHasBeenSet = true; m_outputFormatConfiguration = std::move(value); } /** *

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 Enabled is set to true.

*/ inline DataFormatConversionConfiguration& WithOutputFormatConfiguration(const OutputFormatConfiguration& value) { SetOutputFormatConfiguration(value); return *this;} /** *

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 Enabled is set to true.

*/ inline DataFormatConversionConfiguration& WithOutputFormatConfiguration(OutputFormatConfiguration&& value) { SetOutputFormatConfiguration(std::move(value)); return *this;} /** *

Defaults to true. Set it to false if you want to * disable format conversion while preserving the configuration details.

*/ inline bool GetEnabled() const{ return m_enabled; } /** *

Defaults to true. Set it to false if you want to * disable format conversion while preserving the configuration details.

*/ inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } /** *

Defaults to true. Set it to false if you want to * disable format conversion while preserving the configuration details.

*/ inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } /** *

Defaults to true. Set it to false if you want to * disable format conversion while preserving the configuration details.

*/ inline DataFormatConversionConfiguration& WithEnabled(bool value) { SetEnabled(value); return *this;} private: SchemaConfiguration m_schemaConfiguration; bool m_schemaConfigurationHasBeenSet; InputFormatConfiguration m_inputFormatConfiguration; bool m_inputFormatConfigurationHasBeenSet; OutputFormatConfiguration m_outputFormatConfiguration; bool m_outputFormatConfigurationHasBeenSet; bool m_enabled; bool m_enabledHasBeenSet; }; } // namespace Model } // namespace Firehose } // namespace Aws