/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #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 the application input configuration. For more information, see Configuring * Application Input.

See Also:

AWS * API Reference

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

Input ID associated with the application input. This is the ID that Amazon * Kinesis Analytics assigns to each input configuration you add to your * application.

*/ inline const Aws::String& GetInputId() const{ return m_inputId; } /** *

Input ID associated with the application input. This is the ID that Amazon * Kinesis Analytics assigns to each input configuration you add to your * application.

*/ inline bool InputIdHasBeenSet() const { return m_inputIdHasBeenSet; } /** *

Input ID associated with the application input. This is the ID that Amazon * Kinesis Analytics assigns to each input configuration you add to your * application.

*/ inline void SetInputId(const Aws::String& value) { m_inputIdHasBeenSet = true; m_inputId = value; } /** *

Input ID associated with the application input. This is the ID that Amazon * Kinesis Analytics assigns to each input configuration you add to your * application.

*/ inline void SetInputId(Aws::String&& value) { m_inputIdHasBeenSet = true; m_inputId = std::move(value); } /** *

Input ID associated with the application input. This is the ID that Amazon * Kinesis Analytics assigns to each input configuration you add to your * application.

*/ inline void SetInputId(const char* value) { m_inputIdHasBeenSet = true; m_inputId.assign(value); } /** *

Input ID associated with the application input. This is the ID that Amazon * Kinesis Analytics assigns to each input configuration you add to your * application.

*/ inline InputDescription& WithInputId(const Aws::String& value) { SetInputId(value); return *this;} /** *

Input ID associated with the application input. This is the ID that Amazon * Kinesis Analytics assigns to each input configuration you add to your * application.

*/ inline InputDescription& WithInputId(Aws::String&& value) { SetInputId(std::move(value)); return *this;} /** *

Input ID associated with the application input. This is the ID that Amazon * Kinesis Analytics assigns to each input configuration you add to your * application.

*/ inline InputDescription& WithInputId(const char* value) { SetInputId(value); return *this;} /** *

In-application name prefix.

*/ inline const Aws::String& GetNamePrefix() const{ return m_namePrefix; } /** *

In-application name prefix.

*/ inline bool NamePrefixHasBeenSet() const { return m_namePrefixHasBeenSet; } /** *

In-application name prefix.

*/ inline void SetNamePrefix(const Aws::String& value) { m_namePrefixHasBeenSet = true; m_namePrefix = value; } /** *

In-application name prefix.

*/ inline void SetNamePrefix(Aws::String&& value) { m_namePrefixHasBeenSet = true; m_namePrefix = std::move(value); } /** *

In-application name prefix.

*/ inline void SetNamePrefix(const char* value) { m_namePrefixHasBeenSet = true; m_namePrefix.assign(value); } /** *

In-application name prefix.

*/ inline InputDescription& WithNamePrefix(const Aws::String& value) { SetNamePrefix(value); return *this;} /** *

In-application name prefix.

*/ inline InputDescription& WithNamePrefix(Aws::String&& value) { SetNamePrefix(std::move(value)); return *this;} /** *

In-application name prefix.

*/ inline InputDescription& WithNamePrefix(const char* value) { SetNamePrefix(value); return *this;} /** *

Returns the in-application stream names that are mapped to the stream * source.

*/ inline const Aws::Vector& GetInAppStreamNames() const{ return m_inAppStreamNames; } /** *

Returns the in-application stream names that are mapped to the stream * source.

*/ inline bool InAppStreamNamesHasBeenSet() const { return m_inAppStreamNamesHasBeenSet; } /** *

Returns the in-application stream names that are mapped to the stream * source.

*/ inline void SetInAppStreamNames(const Aws::Vector& value) { m_inAppStreamNamesHasBeenSet = true; m_inAppStreamNames = value; } /** *

Returns the in-application stream names that are mapped to the stream * source.

*/ inline void SetInAppStreamNames(Aws::Vector&& value) { m_inAppStreamNamesHasBeenSet = true; m_inAppStreamNames = std::move(value); } /** *

Returns the in-application stream names that are mapped to the stream * source.

*/ inline InputDescription& WithInAppStreamNames(const Aws::Vector& value) { SetInAppStreamNames(value); return *this;} /** *

Returns the in-application stream names that are mapped to the stream * source.

*/ inline InputDescription& WithInAppStreamNames(Aws::Vector&& value) { SetInAppStreamNames(std::move(value)); return *this;} /** *

Returns the in-application stream names that are mapped to the stream * source.

*/ inline InputDescription& AddInAppStreamNames(const Aws::String& value) { m_inAppStreamNamesHasBeenSet = true; m_inAppStreamNames.push_back(value); return *this; } /** *

Returns the in-application stream names that are mapped to the stream * source.

*/ inline InputDescription& AddInAppStreamNames(Aws::String&& value) { m_inAppStreamNamesHasBeenSet = true; m_inAppStreamNames.push_back(std::move(value)); return *this; } /** *

Returns the in-application stream names that are mapped to the stream * source.

*/ inline InputDescription& AddInAppStreamNames(const char* value) { m_inAppStreamNamesHasBeenSet = true; m_inAppStreamNames.push_back(value); return *this; } /** *

The description of the preprocessor that executes on records in this input * before the application's code is run.

*/ inline const InputProcessingConfigurationDescription& GetInputProcessingConfigurationDescription() const{ return m_inputProcessingConfigurationDescription; } /** *

The description of the preprocessor that executes on records in this input * before the application's code is run.

*/ inline bool InputProcessingConfigurationDescriptionHasBeenSet() const { return m_inputProcessingConfigurationDescriptionHasBeenSet; } /** *

The description of the preprocessor that executes on records in this input * before the application's code is run.

*/ inline void SetInputProcessingConfigurationDescription(const InputProcessingConfigurationDescription& value) { m_inputProcessingConfigurationDescriptionHasBeenSet = true; m_inputProcessingConfigurationDescription = value; } /** *

The description of the preprocessor that executes on records in this input * before the application's code is run.

*/ inline void SetInputProcessingConfigurationDescription(InputProcessingConfigurationDescription&& value) { m_inputProcessingConfigurationDescriptionHasBeenSet = true; m_inputProcessingConfigurationDescription = std::move(value); } /** *

The description of the preprocessor that executes on records in this input * before the application's code is run.

*/ inline InputDescription& WithInputProcessingConfigurationDescription(const InputProcessingConfigurationDescription& value) { SetInputProcessingConfigurationDescription(value); return *this;} /** *

The description of the preprocessor that executes on records in this input * before the application's code is run.

*/ inline InputDescription& WithInputProcessingConfigurationDescription(InputProcessingConfigurationDescription&& value) { SetInputProcessingConfigurationDescription(std::move(value)); return *this;} /** *

If an Amazon Kinesis stream is configured as streaming source, provides * Amazon Kinesis stream's Amazon Resource Name (ARN) and an IAM role that enables * Amazon Kinesis Analytics to access the stream on your behalf.

*/ inline const KinesisStreamsInputDescription& GetKinesisStreamsInputDescription() const{ return m_kinesisStreamsInputDescription; } /** *

If an Amazon Kinesis stream is configured as streaming source, provides * Amazon Kinesis stream's Amazon Resource Name (ARN) and an IAM role that enables * Amazon Kinesis Analytics to access the stream on your behalf.

*/ inline bool KinesisStreamsInputDescriptionHasBeenSet() const { return m_kinesisStreamsInputDescriptionHasBeenSet; } /** *

If an Amazon Kinesis stream is configured as streaming source, provides * Amazon Kinesis stream's Amazon Resource Name (ARN) and an IAM role that enables * Amazon Kinesis Analytics to access the stream on your behalf.

*/ inline void SetKinesisStreamsInputDescription(const KinesisStreamsInputDescription& value) { m_kinesisStreamsInputDescriptionHasBeenSet = true; m_kinesisStreamsInputDescription = value; } /** *

If an Amazon Kinesis stream is configured as streaming source, provides * Amazon Kinesis stream's Amazon Resource Name (ARN) and an IAM role that enables * Amazon Kinesis Analytics to access the stream on your behalf.

*/ inline void SetKinesisStreamsInputDescription(KinesisStreamsInputDescription&& value) { m_kinesisStreamsInputDescriptionHasBeenSet = true; m_kinesisStreamsInputDescription = std::move(value); } /** *

If an Amazon Kinesis stream is configured as streaming source, provides * Amazon Kinesis stream's Amazon Resource Name (ARN) and an IAM role that enables * Amazon Kinesis Analytics to access the stream on your behalf.

*/ inline InputDescription& WithKinesisStreamsInputDescription(const KinesisStreamsInputDescription& value) { SetKinesisStreamsInputDescription(value); return *this;} /** *

If an Amazon Kinesis stream is configured as streaming source, provides * Amazon Kinesis stream's Amazon Resource Name (ARN) and an IAM role that enables * Amazon Kinesis Analytics to access the stream on your behalf.

*/ inline InputDescription& WithKinesisStreamsInputDescription(KinesisStreamsInputDescription&& value) { SetKinesisStreamsInputDescription(std::move(value)); return *this;} /** *

If an Amazon Kinesis Firehose delivery stream is configured as a streaming * source, provides the delivery stream's ARN and an IAM role that enables Amazon * Kinesis Analytics to access the stream on your behalf.

*/ inline const KinesisFirehoseInputDescription& GetKinesisFirehoseInputDescription() const{ return m_kinesisFirehoseInputDescription; } /** *

If an Amazon Kinesis Firehose delivery stream is configured as a streaming * source, provides the delivery stream's ARN and an IAM role that enables Amazon * Kinesis Analytics to access the stream on your behalf.

*/ inline bool KinesisFirehoseInputDescriptionHasBeenSet() const { return m_kinesisFirehoseInputDescriptionHasBeenSet; } /** *

If an Amazon Kinesis Firehose delivery stream is configured as a streaming * source, provides the delivery stream's ARN and an IAM role that enables Amazon * Kinesis Analytics to access the stream on your behalf.

*/ inline void SetKinesisFirehoseInputDescription(const KinesisFirehoseInputDescription& value) { m_kinesisFirehoseInputDescriptionHasBeenSet = true; m_kinesisFirehoseInputDescription = value; } /** *

If an Amazon Kinesis Firehose delivery stream is configured as a streaming * source, provides the delivery stream's ARN and an IAM role that enables Amazon * Kinesis Analytics to access the stream on your behalf.

*/ inline void SetKinesisFirehoseInputDescription(KinesisFirehoseInputDescription&& value) { m_kinesisFirehoseInputDescriptionHasBeenSet = true; m_kinesisFirehoseInputDescription = std::move(value); } /** *

If an Amazon Kinesis Firehose delivery stream is configured as a streaming * source, provides the delivery stream's ARN and an IAM role that enables Amazon * Kinesis Analytics to access the stream on your behalf.

*/ inline InputDescription& WithKinesisFirehoseInputDescription(const KinesisFirehoseInputDescription& value) { SetKinesisFirehoseInputDescription(value); return *this;} /** *

If an Amazon Kinesis Firehose delivery stream is configured as a streaming * source, provides the delivery stream's ARN and an IAM role that enables Amazon * Kinesis Analytics to access the stream on your behalf.

*/ inline InputDescription& WithKinesisFirehoseInputDescription(KinesisFirehoseInputDescription&& value) { SetKinesisFirehoseInputDescription(std::move(value)); return *this;} /** *

Describes the format of the data in the streaming source, and how each data * element maps to corresponding columns in the in-application stream that is being * created.

*/ inline const SourceSchema& GetInputSchema() const{ return m_inputSchema; } /** *

Describes the format of the data in the streaming source, and how each data * element maps to corresponding columns in the in-application stream that is being * created.

*/ inline bool InputSchemaHasBeenSet() const { return m_inputSchemaHasBeenSet; } /** *

Describes the format of the data in the streaming source, and how each data * element maps to corresponding columns in the in-application stream that is being * created.

*/ inline void SetInputSchema(const SourceSchema& value) { m_inputSchemaHasBeenSet = true; m_inputSchema = value; } /** *

Describes the format of the data in the streaming source, and how each data * element maps to corresponding columns in the in-application stream that is being * created.

*/ inline void SetInputSchema(SourceSchema&& value) { m_inputSchemaHasBeenSet = true; m_inputSchema = std::move(value); } /** *

Describes the format of the data in the streaming source, and how each data * element maps to corresponding columns in the in-application stream that is being * created.

*/ inline InputDescription& WithInputSchema(const SourceSchema& value) { SetInputSchema(value); return *this;} /** *

Describes the format of the data in the streaming source, and how each data * element maps to corresponding columns in the in-application stream that is being * created.

*/ inline InputDescription& WithInputSchema(SourceSchema&& value) { SetInputSchema(std::move(value)); return *this;} /** *

Describes the configured parallelism (number of in-application streams mapped * to the streaming source).

*/ inline const InputParallelism& GetInputParallelism() const{ return m_inputParallelism; } /** *

Describes the configured parallelism (number of in-application streams mapped * to the streaming source).

*/ inline bool InputParallelismHasBeenSet() const { return m_inputParallelismHasBeenSet; } /** *

Describes the configured parallelism (number of in-application streams mapped * to the streaming source).

*/ inline void SetInputParallelism(const InputParallelism& value) { m_inputParallelismHasBeenSet = true; m_inputParallelism = value; } /** *

Describes the configured parallelism (number of in-application streams mapped * to the streaming source).

*/ inline void SetInputParallelism(InputParallelism&& value) { m_inputParallelismHasBeenSet = true; m_inputParallelism = std::move(value); } /** *

Describes the configured parallelism (number of in-application streams mapped * to the streaming source).

*/ inline InputDescription& WithInputParallelism(const InputParallelism& value) { SetInputParallelism(value); return *this;} /** *

Describes the configured parallelism (number of in-application streams mapped * to the streaming source).

*/ inline InputDescription& WithInputParallelism(InputParallelism&& value) { SetInputParallelism(std::move(value)); return *this;} /** *

Point at which the application is configured to read from the input * stream.

*/ inline const InputStartingPositionConfiguration& GetInputStartingPositionConfiguration() const{ return m_inputStartingPositionConfiguration; } /** *

Point at which the application is configured to read from the input * stream.

*/ inline bool InputStartingPositionConfigurationHasBeenSet() const { return m_inputStartingPositionConfigurationHasBeenSet; } /** *

Point at which the application is configured to read from the input * stream.

*/ inline void SetInputStartingPositionConfiguration(const InputStartingPositionConfiguration& value) { m_inputStartingPositionConfigurationHasBeenSet = true; m_inputStartingPositionConfiguration = value; } /** *

Point at which the application is configured to read from the input * stream.

*/ inline void SetInputStartingPositionConfiguration(InputStartingPositionConfiguration&& value) { m_inputStartingPositionConfigurationHasBeenSet = true; m_inputStartingPositionConfiguration = std::move(value); } /** *

Point at which the application is configured to read from the input * stream.

*/ inline InputDescription& WithInputStartingPositionConfiguration(const InputStartingPositionConfiguration& value) { SetInputStartingPositionConfiguration(value); return *this;} /** *

Point at which the application is configured to read from the input * stream.

*/ inline InputDescription& WithInputStartingPositionConfiguration(InputStartingPositionConfiguration&& value) { SetInputStartingPositionConfiguration(std::move(value)); return *this;} private: Aws::String m_inputId; bool m_inputIdHasBeenSet = false; Aws::String m_namePrefix; bool m_namePrefixHasBeenSet = false; Aws::Vector m_inAppStreamNames; bool m_inAppStreamNamesHasBeenSet = false; InputProcessingConfigurationDescription m_inputProcessingConfigurationDescription; bool m_inputProcessingConfigurationDescriptionHasBeenSet = false; KinesisStreamsInputDescription m_kinesisStreamsInputDescription; bool m_kinesisStreamsInputDescriptionHasBeenSet = false; KinesisFirehoseInputDescription m_kinesisFirehoseInputDescription; bool m_kinesisFirehoseInputDescriptionHasBeenSet = false; SourceSchema m_inputSchema; bool m_inputSchemaHasBeenSet = false; InputParallelism m_inputParallelism; bool m_inputParallelismHasBeenSet = false; InputStartingPositionConfiguration m_inputStartingPositionConfiguration; bool m_inputStartingPositionConfigurationHasBeenSet = false; }; } // namespace Model } // namespace KinesisAnalytics } // namespace Aws