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

The configuration settings of the Amazon Kinesis Data Streams destination for * an Amazon QLDB journal stream.

See Also:

AWS * API Reference

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

The Amazon Resource Name (ARN) of the Kinesis Data Streams resource.

*/ inline const Aws::String& GetStreamArn() const{ return m_streamArn; } /** *

The Amazon Resource Name (ARN) of the Kinesis Data Streams resource.

*/ inline bool StreamArnHasBeenSet() const { return m_streamArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the Kinesis Data Streams resource.

*/ inline void SetStreamArn(const Aws::String& value) { m_streamArnHasBeenSet = true; m_streamArn = value; } /** *

The Amazon Resource Name (ARN) of the Kinesis Data Streams resource.

*/ inline void SetStreamArn(Aws::String&& value) { m_streamArnHasBeenSet = true; m_streamArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the Kinesis Data Streams resource.

*/ inline void SetStreamArn(const char* value) { m_streamArnHasBeenSet = true; m_streamArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the Kinesis Data Streams resource.

*/ inline KinesisConfiguration& WithStreamArn(const Aws::String& value) { SetStreamArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the Kinesis Data Streams resource.

*/ inline KinesisConfiguration& WithStreamArn(Aws::String&& value) { SetStreamArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the Kinesis Data Streams resource.

*/ inline KinesisConfiguration& WithStreamArn(const char* value) { SetStreamArn(value); return *this;} /** *

Enables QLDB to publish multiple data records in a single Kinesis Data * Streams record, increasing the number of records sent per API call.

*

Default: True

Record aggregation has * important implications for processing records and requires de-aggregation in * your stream consumer. To learn more, see KPL * Key Concepts and Consumer * De-aggregation in the Amazon Kinesis Data Streams Developer * Guide.

*/ inline bool GetAggregationEnabled() const{ return m_aggregationEnabled; } /** *

Enables QLDB to publish multiple data records in a single Kinesis Data * Streams record, increasing the number of records sent per API call.

*

Default: True

Record aggregation has * important implications for processing records and requires de-aggregation in * your stream consumer. To learn more, see KPL * Key Concepts and Consumer * De-aggregation in the Amazon Kinesis Data Streams Developer * Guide.

*/ inline bool AggregationEnabledHasBeenSet() const { return m_aggregationEnabledHasBeenSet; } /** *

Enables QLDB to publish multiple data records in a single Kinesis Data * Streams record, increasing the number of records sent per API call.

*

Default: True

Record aggregation has * important implications for processing records and requires de-aggregation in * your stream consumer. To learn more, see KPL * Key Concepts and Consumer * De-aggregation in the Amazon Kinesis Data Streams Developer * Guide.

*/ inline void SetAggregationEnabled(bool value) { m_aggregationEnabledHasBeenSet = true; m_aggregationEnabled = value; } /** *

Enables QLDB to publish multiple data records in a single Kinesis Data * Streams record, increasing the number of records sent per API call.

*

Default: True

Record aggregation has * important implications for processing records and requires de-aggregation in * your stream consumer. To learn more, see KPL * Key Concepts and Consumer * De-aggregation in the Amazon Kinesis Data Streams Developer * Guide.

*/ inline KinesisConfiguration& WithAggregationEnabled(bool value) { SetAggregationEnabled(value); return *this;} private: Aws::String m_streamArn; bool m_streamArnHasBeenSet = false; bool m_aggregationEnabled; bool m_aggregationEnabledHasBeenSet = false; }; } // namespace Model } // namespace QLDB } // namespace Aws