/** * 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 serializer that you want Kinesis Data Firehose to use to convert data to * the target format before writing it to Amazon S3. Kinesis Data Firehose supports * two types of serializers: the ORC * SerDe and the Parquet * SerDe.

See Also:

AWS * API Reference

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

A serializer to use for converting data to the Parquet format before storing * it in Amazon S3. For more information, see Apache Parquet.

*/ inline const ParquetSerDe& GetParquetSerDe() const{ return m_parquetSerDe; } /** *

A serializer to use for converting data to the Parquet format before storing * it in Amazon S3. For more information, see Apache Parquet.

*/ inline bool ParquetSerDeHasBeenSet() const { return m_parquetSerDeHasBeenSet; } /** *

A serializer to use for converting data to the Parquet format before storing * it in Amazon S3. For more information, see Apache Parquet.

*/ inline void SetParquetSerDe(const ParquetSerDe& value) { m_parquetSerDeHasBeenSet = true; m_parquetSerDe = value; } /** *

A serializer to use for converting data to the Parquet format before storing * it in Amazon S3. For more information, see Apache Parquet.

*/ inline void SetParquetSerDe(ParquetSerDe&& value) { m_parquetSerDeHasBeenSet = true; m_parquetSerDe = std::move(value); } /** *

A serializer to use for converting data to the Parquet format before storing * it in Amazon S3. For more information, see Apache Parquet.

*/ inline Serializer& WithParquetSerDe(const ParquetSerDe& value) { SetParquetSerDe(value); return *this;} /** *

A serializer to use for converting data to the Parquet format before storing * it in Amazon S3. For more information, see Apache Parquet.

*/ inline Serializer& WithParquetSerDe(ParquetSerDe&& value) { SetParquetSerDe(std::move(value)); return *this;} /** *

A serializer to use for converting data to the ORC format before storing it * in Amazon S3. For more information, see Apache ORC.

*/ inline const OrcSerDe& GetOrcSerDe() const{ return m_orcSerDe; } /** *

A serializer to use for converting data to the ORC format before storing it * in Amazon S3. For more information, see Apache ORC.

*/ inline bool OrcSerDeHasBeenSet() const { return m_orcSerDeHasBeenSet; } /** *

A serializer to use for converting data to the ORC format before storing it * in Amazon S3. For more information, see Apache ORC.

*/ inline void SetOrcSerDe(const OrcSerDe& value) { m_orcSerDeHasBeenSet = true; m_orcSerDe = value; } /** *

A serializer to use for converting data to the ORC format before storing it * in Amazon S3. For more information, see Apache ORC.

*/ inline void SetOrcSerDe(OrcSerDe&& value) { m_orcSerDeHasBeenSet = true; m_orcSerDe = std::move(value); } /** *

A serializer to use for converting data to the ORC format before storing it * in Amazon S3. For more information, see Apache ORC.

*/ inline Serializer& WithOrcSerDe(const OrcSerDe& value) { SetOrcSerDe(value); return *this;} /** *

A serializer to use for converting data to the ORC format before storing it * in Amazon S3. For more information, see Apache ORC.

*/ inline Serializer& WithOrcSerDe(OrcSerDe&& value) { SetOrcSerDe(std::move(value)); return *this;} private: ParquetSerDe m_parquetSerDe; bool m_parquetSerDeHasBeenSet; OrcSerDe m_orcSerDe; bool m_orcSerDeHasBeenSet; }; } // namespace Model } // namespace Firehose } // namespace Aws