/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace KinesisAnalytics { namespace Model { /** *

When you configure the application input, you specify the streaming source, * the in-application stream name that is created, and the mapping between the two. * For more information, see Configuring * Application Input.

See Also:

AWS * API Reference

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

Name prefix to use when creating an in-application stream. Suppose that you * specify a prefix "MyInApplicationStream." Amazon Kinesis Analytics then creates * one or more (as per the InputParallelism count you specified) * in-application streams with names "MyInApplicationStream_001," * "MyInApplicationStream_002," and so on.

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

Name prefix to use when creating an in-application stream. Suppose that you * specify a prefix "MyInApplicationStream." Amazon Kinesis Analytics then creates * one or more (as per the InputParallelism count you specified) * in-application streams with names "MyInApplicationStream_001," * "MyInApplicationStream_002," and so on.

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

Name prefix to use when creating an in-application stream. Suppose that you * specify a prefix "MyInApplicationStream." Amazon Kinesis Analytics then creates * one or more (as per the InputParallelism count you specified) * in-application streams with names "MyInApplicationStream_001," * "MyInApplicationStream_002," and so on.

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

Name prefix to use when creating an in-application stream. Suppose that you * specify a prefix "MyInApplicationStream." Amazon Kinesis Analytics then creates * one or more (as per the InputParallelism count you specified) * in-application streams with names "MyInApplicationStream_001," * "MyInApplicationStream_002," and so on.

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

Name prefix to use when creating an in-application stream. Suppose that you * specify a prefix "MyInApplicationStream." Amazon Kinesis Analytics then creates * one or more (as per the InputParallelism count you specified) * in-application streams with names "MyInApplicationStream_001," * "MyInApplicationStream_002," and so on.

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

Name prefix to use when creating an in-application stream. Suppose that you * specify a prefix "MyInApplicationStream." Amazon Kinesis Analytics then creates * one or more (as per the InputParallelism count you specified) * in-application streams with names "MyInApplicationStream_001," * "MyInApplicationStream_002," and so on.

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

Name prefix to use when creating an in-application stream. Suppose that you * specify a prefix "MyInApplicationStream." Amazon Kinesis Analytics then creates * one or more (as per the InputParallelism count you specified) * in-application streams with names "MyInApplicationStream_001," * "MyInApplicationStream_002," and so on.

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

Name prefix to use when creating an in-application stream. Suppose that you * specify a prefix "MyInApplicationStream." Amazon Kinesis Analytics then creates * one or more (as per the InputParallelism count you specified) * in-application streams with names "MyInApplicationStream_001," * "MyInApplicationStream_002," and so on.

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

The InputProcessingConfiguration * for the input. An input processor transforms records as they are received from * the stream, before the application's SQL code executes. Currently, the only * input processing configuration available is InputLambdaProcessor.

*/ inline const InputProcessingConfiguration& GetInputProcessingConfiguration() const{ return m_inputProcessingConfiguration; } /** *

The InputProcessingConfiguration * for the input. An input processor transforms records as they are received from * the stream, before the application's SQL code executes. Currently, the only * input processing configuration available is InputLambdaProcessor.

*/ inline bool InputProcessingConfigurationHasBeenSet() const { return m_inputProcessingConfigurationHasBeenSet; } /** *

The InputProcessingConfiguration * for the input. An input processor transforms records as they are received from * the stream, before the application's SQL code executes. Currently, the only * input processing configuration available is InputLambdaProcessor.

*/ inline void SetInputProcessingConfiguration(const InputProcessingConfiguration& value) { m_inputProcessingConfigurationHasBeenSet = true; m_inputProcessingConfiguration = value; } /** *

The InputProcessingConfiguration * for the input. An input processor transforms records as they are received from * the stream, before the application's SQL code executes. Currently, the only * input processing configuration available is InputLambdaProcessor.

*/ inline void SetInputProcessingConfiguration(InputProcessingConfiguration&& value) { m_inputProcessingConfigurationHasBeenSet = true; m_inputProcessingConfiguration = std::move(value); } /** *

The InputProcessingConfiguration * for the input. An input processor transforms records as they are received from * the stream, before the application's SQL code executes. Currently, the only * input processing configuration available is InputLambdaProcessor.

*/ inline Input& WithInputProcessingConfiguration(const InputProcessingConfiguration& value) { SetInputProcessingConfiguration(value); return *this;} /** *

The InputProcessingConfiguration * for the input. An input processor transforms records as they are received from * the stream, before the application's SQL code executes. Currently, the only * input processing configuration available is InputLambdaProcessor.

*/ inline Input& WithInputProcessingConfiguration(InputProcessingConfiguration&& value) { SetInputProcessingConfiguration(std::move(value)); return *this;} /** *

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

Note: Either * KinesisStreamsInput or KinesisFirehoseInput is * required.

*/ inline const KinesisStreamsInput& GetKinesisStreamsInput() const{ return m_kinesisStreamsInput; } /** *

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

Note: Either * KinesisStreamsInput or KinesisFirehoseInput is * required.

*/ inline bool KinesisStreamsInputHasBeenSet() const { return m_kinesisStreamsInputHasBeenSet; } /** *

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

Note: Either * KinesisStreamsInput or KinesisFirehoseInput is * required.

*/ inline void SetKinesisStreamsInput(const KinesisStreamsInput& value) { m_kinesisStreamsInputHasBeenSet = true; m_kinesisStreamsInput = value; } /** *

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

Note: Either * KinesisStreamsInput or KinesisFirehoseInput is * required.

*/ inline void SetKinesisStreamsInput(KinesisStreamsInput&& value) { m_kinesisStreamsInputHasBeenSet = true; m_kinesisStreamsInput = std::move(value); } /** *

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

Note: Either * KinesisStreamsInput or KinesisFirehoseInput is * required.

*/ inline Input& WithKinesisStreamsInput(const KinesisStreamsInput& value) { SetKinesisStreamsInput(value); return *this;} /** *

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

Note: Either * KinesisStreamsInput or KinesisFirehoseInput is * required.

*/ inline Input& WithKinesisStreamsInput(KinesisStreamsInput&& value) { SetKinesisStreamsInput(std::move(value)); return *this;} /** *

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

Note: Either * KinesisStreamsInput or KinesisFirehoseInput is * required.

*/ inline const KinesisFirehoseInput& GetKinesisFirehoseInput() const{ return m_kinesisFirehoseInput; } /** *

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

Note: Either * KinesisStreamsInput or KinesisFirehoseInput is * required.

*/ inline bool KinesisFirehoseInputHasBeenSet() const { return m_kinesisFirehoseInputHasBeenSet; } /** *

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

Note: Either * KinesisStreamsInput or KinesisFirehoseInput is * required.

*/ inline void SetKinesisFirehoseInput(const KinesisFirehoseInput& value) { m_kinesisFirehoseInputHasBeenSet = true; m_kinesisFirehoseInput = value; } /** *

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

Note: Either * KinesisStreamsInput or KinesisFirehoseInput is * required.

*/ inline void SetKinesisFirehoseInput(KinesisFirehoseInput&& value) { m_kinesisFirehoseInputHasBeenSet = true; m_kinesisFirehoseInput = std::move(value); } /** *

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

Note: Either * KinesisStreamsInput or KinesisFirehoseInput is * required.

*/ inline Input& WithKinesisFirehoseInput(const KinesisFirehoseInput& value) { SetKinesisFirehoseInput(value); return *this;} /** *

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

Note: Either * KinesisStreamsInput or KinesisFirehoseInput is * required.

*/ inline Input& WithKinesisFirehoseInput(KinesisFirehoseInput&& value) { SetKinesisFirehoseInput(std::move(value)); return *this;} /** *

Describes the number of in-application streams to create.

Data from * your source is routed to these in-application input streams.

(see Configuring * Application Input.

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

Describes the number of in-application streams to create.

Data from * your source is routed to these in-application input streams.

(see Configuring * Application Input.

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

Describes the number of in-application streams to create.

Data from * your source is routed to these in-application input streams.

(see Configuring * Application Input.

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

Describes the number of in-application streams to create.

Data from * your source is routed to these in-application input streams.

(see Configuring * Application Input.

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

Describes the number of in-application streams to create.

Data from * your source is routed to these in-application input streams.

(see Configuring * Application Input.

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

Describes the number of in-application streams to create.

Data from * your source is routed to these in-application input streams.

(see Configuring * Application Input.

*/ inline Input& WithInputParallelism(InputParallelism&& value) { SetInputParallelism(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.

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

*/ 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.

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

*/ 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.

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

*/ 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.

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

*/ 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.

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

*/ inline Input& 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.

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

*/ inline Input& WithInputSchema(SourceSchema&& value) { SetInputSchema(std::move(value)); return *this;} private: Aws::String m_namePrefix; bool m_namePrefixHasBeenSet = false; InputProcessingConfiguration m_inputProcessingConfiguration; bool m_inputProcessingConfigurationHasBeenSet = false; KinesisStreamsInput m_kinesisStreamsInput; bool m_kinesisStreamsInputHasBeenSet = false; KinesisFirehoseInput m_kinesisFirehoseInput; bool m_kinesisFirehoseInputHasBeenSet = false; InputParallelism m_inputParallelism; bool m_inputParallelismHasBeenSet = false; SourceSchema m_inputSchema; bool m_inputSchemaHasBeenSet = false; }; } // namespace Model } // namespace KinesisAnalytics } // namespace Aws