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

For a SQL-based Kinesis Data Analytics application, describes the format of * the data in the streaming source, and how each data element maps to * corresponding columns created in the in-application stream.

See * Also:

AWS * API Reference

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

Specifies the format of the records on the streaming source.

*/ inline const RecordFormat& GetRecordFormat() const{ return m_recordFormat; } /** *

Specifies the format of the records on the streaming source.

*/ inline bool RecordFormatHasBeenSet() const { return m_recordFormatHasBeenSet; } /** *

Specifies the format of the records on the streaming source.

*/ inline void SetRecordFormat(const RecordFormat& value) { m_recordFormatHasBeenSet = true; m_recordFormat = value; } /** *

Specifies the format of the records on the streaming source.

*/ inline void SetRecordFormat(RecordFormat&& value) { m_recordFormatHasBeenSet = true; m_recordFormat = std::move(value); } /** *

Specifies the format of the records on the streaming source.

*/ inline SourceSchema& WithRecordFormat(const RecordFormat& value) { SetRecordFormat(value); return *this;} /** *

Specifies the format of the records on the streaming source.

*/ inline SourceSchema& WithRecordFormat(RecordFormat&& value) { SetRecordFormat(std::move(value)); return *this;} /** *

Specifies the encoding of the records in the streaming source. For example, * UTF-8.

*/ inline const Aws::String& GetRecordEncoding() const{ return m_recordEncoding; } /** *

Specifies the encoding of the records in the streaming source. For example, * UTF-8.

*/ inline bool RecordEncodingHasBeenSet() const { return m_recordEncodingHasBeenSet; } /** *

Specifies the encoding of the records in the streaming source. For example, * UTF-8.

*/ inline void SetRecordEncoding(const Aws::String& value) { m_recordEncodingHasBeenSet = true; m_recordEncoding = value; } /** *

Specifies the encoding of the records in the streaming source. For example, * UTF-8.

*/ inline void SetRecordEncoding(Aws::String&& value) { m_recordEncodingHasBeenSet = true; m_recordEncoding = std::move(value); } /** *

Specifies the encoding of the records in the streaming source. For example, * UTF-8.

*/ inline void SetRecordEncoding(const char* value) { m_recordEncodingHasBeenSet = true; m_recordEncoding.assign(value); } /** *

Specifies the encoding of the records in the streaming source. For example, * UTF-8.

*/ inline SourceSchema& WithRecordEncoding(const Aws::String& value) { SetRecordEncoding(value); return *this;} /** *

Specifies the encoding of the records in the streaming source. For example, * UTF-8.

*/ inline SourceSchema& WithRecordEncoding(Aws::String&& value) { SetRecordEncoding(std::move(value)); return *this;} /** *

Specifies the encoding of the records in the streaming source. For example, * UTF-8.

*/ inline SourceSchema& WithRecordEncoding(const char* value) { SetRecordEncoding(value); return *this;} /** *

A list of RecordColumn objects.

*/ inline const Aws::Vector& GetRecordColumns() const{ return m_recordColumns; } /** *

A list of RecordColumn objects.

*/ inline bool RecordColumnsHasBeenSet() const { return m_recordColumnsHasBeenSet; } /** *

A list of RecordColumn objects.

*/ inline void SetRecordColumns(const Aws::Vector& value) { m_recordColumnsHasBeenSet = true; m_recordColumns = value; } /** *

A list of RecordColumn objects.

*/ inline void SetRecordColumns(Aws::Vector&& value) { m_recordColumnsHasBeenSet = true; m_recordColumns = std::move(value); } /** *

A list of RecordColumn objects.

*/ inline SourceSchema& WithRecordColumns(const Aws::Vector& value) { SetRecordColumns(value); return *this;} /** *

A list of RecordColumn objects.

*/ inline SourceSchema& WithRecordColumns(Aws::Vector&& value) { SetRecordColumns(std::move(value)); return *this;} /** *

A list of RecordColumn objects.

*/ inline SourceSchema& AddRecordColumns(const RecordColumn& value) { m_recordColumnsHasBeenSet = true; m_recordColumns.push_back(value); return *this; } /** *

A list of RecordColumn objects.

*/ inline SourceSchema& AddRecordColumns(RecordColumn&& value) { m_recordColumnsHasBeenSet = true; m_recordColumns.push_back(std::move(value)); return *this; } private: RecordFormat m_recordFormat; bool m_recordFormatHasBeenSet = false; Aws::String m_recordEncoding; bool m_recordEncodingHasBeenSet = false; Aws::Vector m_recordColumns; bool m_recordColumnsHasBeenSet = false; }; } // namespace Model } // namespace KinesisAnalyticsV2 } // namespace Aws