/** * 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 KinesisAnalyticsV2 { namespace Model { /** *

When you configure a SQL-based Kinesis Data Analytics application's input at * the time of creating or updating an application, provides additional mapping * information specific to the record format (such as JSON, CSV, or record fields * delimited by some delimiter) on the streaming source.

See Also:

* AWS * API Reference

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

Provides additional mapping information when JSON is the record format on the * streaming source.

*/ inline const JSONMappingParameters& GetJSONMappingParameters() const{ return m_jSONMappingParameters; } /** *

Provides additional mapping information when JSON is the record format on the * streaming source.

*/ inline bool JSONMappingParametersHasBeenSet() const { return m_jSONMappingParametersHasBeenSet; } /** *

Provides additional mapping information when JSON is the record format on the * streaming source.

*/ inline void SetJSONMappingParameters(const JSONMappingParameters& value) { m_jSONMappingParametersHasBeenSet = true; m_jSONMappingParameters = value; } /** *

Provides additional mapping information when JSON is the record format on the * streaming source.

*/ inline void SetJSONMappingParameters(JSONMappingParameters&& value) { m_jSONMappingParametersHasBeenSet = true; m_jSONMappingParameters = std::move(value); } /** *

Provides additional mapping information when JSON is the record format on the * streaming source.

*/ inline MappingParameters& WithJSONMappingParameters(const JSONMappingParameters& value) { SetJSONMappingParameters(value); return *this;} /** *

Provides additional mapping information when JSON is the record format on the * streaming source.

*/ inline MappingParameters& WithJSONMappingParameters(JSONMappingParameters&& value) { SetJSONMappingParameters(std::move(value)); return *this;} /** *

Provides additional mapping information when the record format uses * delimiters (for example, CSV).

*/ inline const CSVMappingParameters& GetCSVMappingParameters() const{ return m_cSVMappingParameters; } /** *

Provides additional mapping information when the record format uses * delimiters (for example, CSV).

*/ inline bool CSVMappingParametersHasBeenSet() const { return m_cSVMappingParametersHasBeenSet; } /** *

Provides additional mapping information when the record format uses * delimiters (for example, CSV).

*/ inline void SetCSVMappingParameters(const CSVMappingParameters& value) { m_cSVMappingParametersHasBeenSet = true; m_cSVMappingParameters = value; } /** *

Provides additional mapping information when the record format uses * delimiters (for example, CSV).

*/ inline void SetCSVMappingParameters(CSVMappingParameters&& value) { m_cSVMappingParametersHasBeenSet = true; m_cSVMappingParameters = std::move(value); } /** *

Provides additional mapping information when the record format uses * delimiters (for example, CSV).

*/ inline MappingParameters& WithCSVMappingParameters(const CSVMappingParameters& value) { SetCSVMappingParameters(value); return *this;} /** *

Provides additional mapping information when the record format uses * delimiters (for example, CSV).

*/ inline MappingParameters& WithCSVMappingParameters(CSVMappingParameters&& value) { SetCSVMappingParameters(std::move(value)); return *this;} private: JSONMappingParameters m_jSONMappingParameters; bool m_jSONMappingParametersHasBeenSet = false; CSVMappingParameters m_cSVMappingParameters; bool m_cSVMappingParametersHasBeenSet = false; }; } // namespace Model } // namespace KinesisAnalyticsV2 } // namespace Aws