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

The deserializer you want Kinesis Data Firehose to use for converting the * input data from JSON. Kinesis Data Firehose then serializes the data to its * final format using the Serializer. Kinesis Data Firehose supports two * types of deserializers: the Apache * Hive JSON SerDe and the OpenX JSON * SerDe.

See Also:

AWS * API Reference

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

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.

*/ inline const OpenXJsonSerDe& GetOpenXJsonSerDe() const{ return m_openXJsonSerDe; } /** *

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.

*/ inline bool OpenXJsonSerDeHasBeenSet() const { return m_openXJsonSerDeHasBeenSet; } /** *

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.

*/ inline void SetOpenXJsonSerDe(const OpenXJsonSerDe& value) { m_openXJsonSerDeHasBeenSet = true; m_openXJsonSerDe = 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.

*/ inline void SetOpenXJsonSerDe(OpenXJsonSerDe&& value) { m_openXJsonSerDeHasBeenSet = true; m_openXJsonSerDe = std::move(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.

*/ inline Deserializer& WithOpenXJsonSerDe(const OpenXJsonSerDe& value) { SetOpenXJsonSerDe(value); return *this;} /** *

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.

*/ inline Deserializer& WithOpenXJsonSerDe(OpenXJsonSerDe&& value) { SetOpenXJsonSerDe(std::move(value)); return *this;} /** *

The native Hive / HCatalog JsonSerDe. 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 OpenX SerDe.

*/ inline const HiveJsonSerDe& GetHiveJsonSerDe() const{ return m_hiveJsonSerDe; } /** *

The native Hive / HCatalog JsonSerDe. 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 OpenX SerDe.

*/ inline bool HiveJsonSerDeHasBeenSet() const { return m_hiveJsonSerDeHasBeenSet; } /** *

The native Hive / HCatalog JsonSerDe. 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 OpenX SerDe.

*/ inline void SetHiveJsonSerDe(const HiveJsonSerDe& value) { m_hiveJsonSerDeHasBeenSet = true; m_hiveJsonSerDe = value; } /** *

The native Hive / HCatalog JsonSerDe. 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 OpenX SerDe.

*/ inline void SetHiveJsonSerDe(HiveJsonSerDe&& value) { m_hiveJsonSerDeHasBeenSet = true; m_hiveJsonSerDe = std::move(value); } /** *

The native Hive / HCatalog JsonSerDe. 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 OpenX SerDe.

*/ inline Deserializer& WithHiveJsonSerDe(const HiveJsonSerDe& value) { SetHiveJsonSerDe(value); return *this;} /** *

The native Hive / HCatalog JsonSerDe. 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 OpenX SerDe.

*/ inline Deserializer& WithHiveJsonSerDe(HiveJsonSerDe&& value) { SetHiveJsonSerDe(std::move(value)); return *this;} private: OpenXJsonSerDe m_openXJsonSerDe; bool m_openXJsonSerDeHasBeenSet; HiveJsonSerDe m_hiveJsonSerDe; bool m_hiveJsonSerDeHasBeenSet; }; } // namespace Model } // namespace Firehose } // namespace Aws