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

Describes the mapping of each data element in the streaming source to the * corresponding column in the in-application stream.

Also used to describe * the format of the reference data source.

See Also:

AWS * API Reference

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

Name of the column created in the in-application input stream or reference * table.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

Name of the column created in the in-application input stream or reference * table.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

Name of the column created in the in-application input stream or reference * table.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

Name of the column created in the in-application input stream or reference * table.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

Name of the column created in the in-application input stream or reference * table.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

Name of the column created in the in-application input stream or reference * table.

*/ inline RecordColumn& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

Name of the column created in the in-application input stream or reference * table.

*/ inline RecordColumn& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

Name of the column created in the in-application input stream or reference * table.

*/ inline RecordColumn& WithName(const char* value) { SetName(value); return *this;} /** *

Reference to the data element in the streaming input or the reference data * source. This element is required if the RecordFormatType * is JSON.

*/ inline const Aws::String& GetMapping() const{ return m_mapping; } /** *

Reference to the data element in the streaming input or the reference data * source. This element is required if the RecordFormatType * is JSON.

*/ inline bool MappingHasBeenSet() const { return m_mappingHasBeenSet; } /** *

Reference to the data element in the streaming input or the reference data * source. This element is required if the RecordFormatType * is JSON.

*/ inline void SetMapping(const Aws::String& value) { m_mappingHasBeenSet = true; m_mapping = value; } /** *

Reference to the data element in the streaming input or the reference data * source. This element is required if the RecordFormatType * is JSON.

*/ inline void SetMapping(Aws::String&& value) { m_mappingHasBeenSet = true; m_mapping = std::move(value); } /** *

Reference to the data element in the streaming input or the reference data * source. This element is required if the RecordFormatType * is JSON.

*/ inline void SetMapping(const char* value) { m_mappingHasBeenSet = true; m_mapping.assign(value); } /** *

Reference to the data element in the streaming input or the reference data * source. This element is required if the RecordFormatType * is JSON.

*/ inline RecordColumn& WithMapping(const Aws::String& value) { SetMapping(value); return *this;} /** *

Reference to the data element in the streaming input or the reference data * source. This element is required if the RecordFormatType * is JSON.

*/ inline RecordColumn& WithMapping(Aws::String&& value) { SetMapping(std::move(value)); return *this;} /** *

Reference to the data element in the streaming input or the reference data * source. This element is required if the RecordFormatType * is JSON.

*/ inline RecordColumn& WithMapping(const char* value) { SetMapping(value); return *this;} /** *

Type of column created in the in-application input stream or reference * table.

*/ inline const Aws::String& GetSqlType() const{ return m_sqlType; } /** *

Type of column created in the in-application input stream or reference * table.

*/ inline bool SqlTypeHasBeenSet() const { return m_sqlTypeHasBeenSet; } /** *

Type of column created in the in-application input stream or reference * table.

*/ inline void SetSqlType(const Aws::String& value) { m_sqlTypeHasBeenSet = true; m_sqlType = value; } /** *

Type of column created in the in-application input stream or reference * table.

*/ inline void SetSqlType(Aws::String&& value) { m_sqlTypeHasBeenSet = true; m_sqlType = std::move(value); } /** *

Type of column created in the in-application input stream or reference * table.

*/ inline void SetSqlType(const char* value) { m_sqlTypeHasBeenSet = true; m_sqlType.assign(value); } /** *

Type of column created in the in-application input stream or reference * table.

*/ inline RecordColumn& WithSqlType(const Aws::String& value) { SetSqlType(value); return *this;} /** *

Type of column created in the in-application input stream or reference * table.

*/ inline RecordColumn& WithSqlType(Aws::String&& value) { SetSqlType(std::move(value)); return *this;} /** *

Type of column created in the in-application input stream or reference * table.

*/ inline RecordColumn& WithSqlType(const char* value) { SetSqlType(value); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_mapping; bool m_mappingHasBeenSet = false; Aws::String m_sqlType; bool m_sqlTypeHasBeenSet = false; }; } // namespace Model } // namespace KinesisAnalytics } // namespace Aws