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

Describes updates to the output configuration identified by the * OutputId.

See Also:

AWS * API Reference

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

Identifies the specific output configuration that you want to update.

*/ inline const Aws::String& GetOutputId() const{ return m_outputId; } /** *

Identifies the specific output configuration that you want to update.

*/ inline bool OutputIdHasBeenSet() const { return m_outputIdHasBeenSet; } /** *

Identifies the specific output configuration that you want to update.

*/ inline void SetOutputId(const Aws::String& value) { m_outputIdHasBeenSet = true; m_outputId = value; } /** *

Identifies the specific output configuration that you want to update.

*/ inline void SetOutputId(Aws::String&& value) { m_outputIdHasBeenSet = true; m_outputId = std::move(value); } /** *

Identifies the specific output configuration that you want to update.

*/ inline void SetOutputId(const char* value) { m_outputIdHasBeenSet = true; m_outputId.assign(value); } /** *

Identifies the specific output configuration that you want to update.

*/ inline OutputUpdate& WithOutputId(const Aws::String& value) { SetOutputId(value); return *this;} /** *

Identifies the specific output configuration that you want to update.

*/ inline OutputUpdate& WithOutputId(Aws::String&& value) { SetOutputId(std::move(value)); return *this;} /** *

Identifies the specific output configuration that you want to update.

*/ inline OutputUpdate& WithOutputId(const char* value) { SetOutputId(value); return *this;} /** *

If you want to specify a different in-application stream for this output * configuration, use this field to specify the new in-application stream name.

*/ inline const Aws::String& GetNameUpdate() const{ return m_nameUpdate; } /** *

If you want to specify a different in-application stream for this output * configuration, use this field to specify the new in-application stream name.

*/ inline bool NameUpdateHasBeenSet() const { return m_nameUpdateHasBeenSet; } /** *

If you want to specify a different in-application stream for this output * configuration, use this field to specify the new in-application stream name.

*/ inline void SetNameUpdate(const Aws::String& value) { m_nameUpdateHasBeenSet = true; m_nameUpdate = value; } /** *

If you want to specify a different in-application stream for this output * configuration, use this field to specify the new in-application stream name.

*/ inline void SetNameUpdate(Aws::String&& value) { m_nameUpdateHasBeenSet = true; m_nameUpdate = std::move(value); } /** *

If you want to specify a different in-application stream for this output * configuration, use this field to specify the new in-application stream name.

*/ inline void SetNameUpdate(const char* value) { m_nameUpdateHasBeenSet = true; m_nameUpdate.assign(value); } /** *

If you want to specify a different in-application stream for this output * configuration, use this field to specify the new in-application stream name.

*/ inline OutputUpdate& WithNameUpdate(const Aws::String& value) { SetNameUpdate(value); return *this;} /** *

If you want to specify a different in-application stream for this output * configuration, use this field to specify the new in-application stream name.

*/ inline OutputUpdate& WithNameUpdate(Aws::String&& value) { SetNameUpdate(std::move(value)); return *this;} /** *

If you want to specify a different in-application stream for this output * configuration, use this field to specify the new in-application stream name.

*/ inline OutputUpdate& WithNameUpdate(const char* value) { SetNameUpdate(value); return *this;} /** *

Describes an Amazon Kinesis stream as the destination for the output.

*/ inline const KinesisStreamsOutputUpdate& GetKinesisStreamsOutputUpdate() const{ return m_kinesisStreamsOutputUpdate; } /** *

Describes an Amazon Kinesis stream as the destination for the output.

*/ inline bool KinesisStreamsOutputUpdateHasBeenSet() const { return m_kinesisStreamsOutputUpdateHasBeenSet; } /** *

Describes an Amazon Kinesis stream as the destination for the output.

*/ inline void SetKinesisStreamsOutputUpdate(const KinesisStreamsOutputUpdate& value) { m_kinesisStreamsOutputUpdateHasBeenSet = true; m_kinesisStreamsOutputUpdate = value; } /** *

Describes an Amazon Kinesis stream as the destination for the output.

*/ inline void SetKinesisStreamsOutputUpdate(KinesisStreamsOutputUpdate&& value) { m_kinesisStreamsOutputUpdateHasBeenSet = true; m_kinesisStreamsOutputUpdate = std::move(value); } /** *

Describes an Amazon Kinesis stream as the destination for the output.

*/ inline OutputUpdate& WithKinesisStreamsOutputUpdate(const KinesisStreamsOutputUpdate& value) { SetKinesisStreamsOutputUpdate(value); return *this;} /** *

Describes an Amazon Kinesis stream as the destination for the output.

*/ inline OutputUpdate& WithKinesisStreamsOutputUpdate(KinesisStreamsOutputUpdate&& value) { SetKinesisStreamsOutputUpdate(std::move(value)); return *this;} /** *

Describes an Amazon Kinesis Firehose delivery stream as the destination for * the output.

*/ inline const KinesisFirehoseOutputUpdate& GetKinesisFirehoseOutputUpdate() const{ return m_kinesisFirehoseOutputUpdate; } /** *

Describes an Amazon Kinesis Firehose delivery stream as the destination for * the output.

*/ inline bool KinesisFirehoseOutputUpdateHasBeenSet() const { return m_kinesisFirehoseOutputUpdateHasBeenSet; } /** *

Describes an Amazon Kinesis Firehose delivery stream as the destination for * the output.

*/ inline void SetKinesisFirehoseOutputUpdate(const KinesisFirehoseOutputUpdate& value) { m_kinesisFirehoseOutputUpdateHasBeenSet = true; m_kinesisFirehoseOutputUpdate = value; } /** *

Describes an Amazon Kinesis Firehose delivery stream as the destination for * the output.

*/ inline void SetKinesisFirehoseOutputUpdate(KinesisFirehoseOutputUpdate&& value) { m_kinesisFirehoseOutputUpdateHasBeenSet = true; m_kinesisFirehoseOutputUpdate = std::move(value); } /** *

Describes an Amazon Kinesis Firehose delivery stream as the destination for * the output.

*/ inline OutputUpdate& WithKinesisFirehoseOutputUpdate(const KinesisFirehoseOutputUpdate& value) { SetKinesisFirehoseOutputUpdate(value); return *this;} /** *

Describes an Amazon Kinesis Firehose delivery stream as the destination for * the output.

*/ inline OutputUpdate& WithKinesisFirehoseOutputUpdate(KinesisFirehoseOutputUpdate&& value) { SetKinesisFirehoseOutputUpdate(std::move(value)); return *this;} /** *

Describes an AWS Lambda function as the destination for the output.

*/ inline const LambdaOutputUpdate& GetLambdaOutputUpdate() const{ return m_lambdaOutputUpdate; } /** *

Describes an AWS Lambda function as the destination for the output.

*/ inline bool LambdaOutputUpdateHasBeenSet() const { return m_lambdaOutputUpdateHasBeenSet; } /** *

Describes an AWS Lambda function as the destination for the output.

*/ inline void SetLambdaOutputUpdate(const LambdaOutputUpdate& value) { m_lambdaOutputUpdateHasBeenSet = true; m_lambdaOutputUpdate = value; } /** *

Describes an AWS Lambda function as the destination for the output.

*/ inline void SetLambdaOutputUpdate(LambdaOutputUpdate&& value) { m_lambdaOutputUpdateHasBeenSet = true; m_lambdaOutputUpdate = std::move(value); } /** *

Describes an AWS Lambda function as the destination for the output.

*/ inline OutputUpdate& WithLambdaOutputUpdate(const LambdaOutputUpdate& value) { SetLambdaOutputUpdate(value); return *this;} /** *

Describes an AWS Lambda function as the destination for the output.

*/ inline OutputUpdate& WithLambdaOutputUpdate(LambdaOutputUpdate&& value) { SetLambdaOutputUpdate(std::move(value)); return *this;} /** *

Describes the data format when records are written to the destination. For * more information, see Configuring * Application Output.

*/ inline const DestinationSchema& GetDestinationSchemaUpdate() const{ return m_destinationSchemaUpdate; } /** *

Describes the data format when records are written to the destination. For * more information, see Configuring * Application Output.

*/ inline bool DestinationSchemaUpdateHasBeenSet() const { return m_destinationSchemaUpdateHasBeenSet; } /** *

Describes the data format when records are written to the destination. For * more information, see Configuring * Application Output.

*/ inline void SetDestinationSchemaUpdate(const DestinationSchema& value) { m_destinationSchemaUpdateHasBeenSet = true; m_destinationSchemaUpdate = value; } /** *

Describes the data format when records are written to the destination. For * more information, see Configuring * Application Output.

*/ inline void SetDestinationSchemaUpdate(DestinationSchema&& value) { m_destinationSchemaUpdateHasBeenSet = true; m_destinationSchemaUpdate = std::move(value); } /** *

Describes the data format when records are written to the destination. For * more information, see Configuring * Application Output.

*/ inline OutputUpdate& WithDestinationSchemaUpdate(const DestinationSchema& value) { SetDestinationSchemaUpdate(value); return *this;} /** *

Describes the data format when records are written to the destination. For * more information, see Configuring * Application Output.

*/ inline OutputUpdate& WithDestinationSchemaUpdate(DestinationSchema&& value) { SetDestinationSchemaUpdate(std::move(value)); return *this;} private: Aws::String m_outputId; bool m_outputIdHasBeenSet = false; Aws::String m_nameUpdate; bool m_nameUpdateHasBeenSet = false; KinesisStreamsOutputUpdate m_kinesisStreamsOutputUpdate; bool m_kinesisStreamsOutputUpdateHasBeenSet = false; KinesisFirehoseOutputUpdate m_kinesisFirehoseOutputUpdate; bool m_kinesisFirehoseOutputUpdateHasBeenSet = false; LambdaOutputUpdate m_lambdaOutputUpdate; bool m_lambdaOutputUpdateHasBeenSet = false; DestinationSchema m_destinationSchemaUpdate; bool m_destinationSchemaUpdateHasBeenSet = false; }; } // namespace Model } // namespace KinesisAnalytics } // namespace Aws