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

Describes updates for the application's input schema.

See * Also:

AWS * API Reference

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

Specifies the format of the records on the streaming source.

*/ inline const RecordFormat& GetRecordFormatUpdate() const{ return m_recordFormatUpdate; } /** *

Specifies the format of the records on the streaming source.

*/ inline bool RecordFormatUpdateHasBeenSet() const { return m_recordFormatUpdateHasBeenSet; } /** *

Specifies the format of the records on the streaming source.

*/ inline void SetRecordFormatUpdate(const RecordFormat& value) { m_recordFormatUpdateHasBeenSet = true; m_recordFormatUpdate = value; } /** *

Specifies the format of the records on the streaming source.

*/ inline void SetRecordFormatUpdate(RecordFormat&& value) { m_recordFormatUpdateHasBeenSet = true; m_recordFormatUpdate = std::move(value); } /** *

Specifies the format of the records on the streaming source.

*/ inline InputSchemaUpdate& WithRecordFormatUpdate(const RecordFormat& value) { SetRecordFormatUpdate(value); return *this;} /** *

Specifies the format of the records on the streaming source.

*/ inline InputSchemaUpdate& WithRecordFormatUpdate(RecordFormat&& value) { SetRecordFormatUpdate(std::move(value)); return *this;} /** *

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

*/ inline const Aws::String& GetRecordEncodingUpdate() const{ return m_recordEncodingUpdate; } /** *

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

*/ inline bool RecordEncodingUpdateHasBeenSet() const { return m_recordEncodingUpdateHasBeenSet; } /** *

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

*/ inline void SetRecordEncodingUpdate(const Aws::String& value) { m_recordEncodingUpdateHasBeenSet = true; m_recordEncodingUpdate = value; } /** *

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

*/ inline void SetRecordEncodingUpdate(Aws::String&& value) { m_recordEncodingUpdateHasBeenSet = true; m_recordEncodingUpdate = std::move(value); } /** *

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

*/ inline void SetRecordEncodingUpdate(const char* value) { m_recordEncodingUpdateHasBeenSet = true; m_recordEncodingUpdate.assign(value); } /** *

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

*/ inline InputSchemaUpdate& WithRecordEncodingUpdate(const Aws::String& value) { SetRecordEncodingUpdate(value); return *this;} /** *

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

*/ inline InputSchemaUpdate& WithRecordEncodingUpdate(Aws::String&& value) { SetRecordEncodingUpdate(std::move(value)); return *this;} /** *

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

*/ inline InputSchemaUpdate& WithRecordEncodingUpdate(const char* value) { SetRecordEncodingUpdate(value); return *this;} /** *

A list of RecordColumn objects. Each object describes the * mapping of the streaming source element to the corresponding column in the * in-application stream.

*/ inline const Aws::Vector& GetRecordColumnUpdates() const{ return m_recordColumnUpdates; } /** *

A list of RecordColumn objects. Each object describes the * mapping of the streaming source element to the corresponding column in the * in-application stream.

*/ inline bool RecordColumnUpdatesHasBeenSet() const { return m_recordColumnUpdatesHasBeenSet; } /** *

A list of RecordColumn objects. Each object describes the * mapping of the streaming source element to the corresponding column in the * in-application stream.

*/ inline void SetRecordColumnUpdates(const Aws::Vector& value) { m_recordColumnUpdatesHasBeenSet = true; m_recordColumnUpdates = value; } /** *

A list of RecordColumn objects. Each object describes the * mapping of the streaming source element to the corresponding column in the * in-application stream.

*/ inline void SetRecordColumnUpdates(Aws::Vector&& value) { m_recordColumnUpdatesHasBeenSet = true; m_recordColumnUpdates = std::move(value); } /** *

A list of RecordColumn objects. Each object describes the * mapping of the streaming source element to the corresponding column in the * in-application stream.

*/ inline InputSchemaUpdate& WithRecordColumnUpdates(const Aws::Vector& value) { SetRecordColumnUpdates(value); return *this;} /** *

A list of RecordColumn objects. Each object describes the * mapping of the streaming source element to the corresponding column in the * in-application stream.

*/ inline InputSchemaUpdate& WithRecordColumnUpdates(Aws::Vector&& value) { SetRecordColumnUpdates(std::move(value)); return *this;} /** *

A list of RecordColumn objects. Each object describes the * mapping of the streaming source element to the corresponding column in the * in-application stream.

*/ inline InputSchemaUpdate& AddRecordColumnUpdates(const RecordColumn& value) { m_recordColumnUpdatesHasBeenSet = true; m_recordColumnUpdates.push_back(value); return *this; } /** *

A list of RecordColumn objects. Each object describes the * mapping of the streaming source element to the corresponding column in the * in-application stream.

*/ inline InputSchemaUpdate& AddRecordColumnUpdates(RecordColumn&& value) { m_recordColumnUpdatesHasBeenSet = true; m_recordColumnUpdates.push_back(std::move(value)); return *this; } private: RecordFormat m_recordFormatUpdate; bool m_recordFormatUpdateHasBeenSet = false; Aws::String m_recordEncodingUpdate; bool m_recordEncodingUpdateHasBeenSet = false; Aws::Vector m_recordColumnUpdates; bool m_recordColumnUpdatesHasBeenSet = false; }; } // namespace Model } // namespace KinesisAnalytics } // namespace Aws