/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Represents the output for DescribeStream.See Also:
* AWS
* API Reference
The name of the stream being described.
*/ inline const Aws::String& GetStreamName() const{ return m_streamName; } /** *The name of the stream being described.
*/ inline bool StreamNameHasBeenSet() const { return m_streamNameHasBeenSet; } /** *The name of the stream being described.
*/ inline void SetStreamName(const Aws::String& value) { m_streamNameHasBeenSet = true; m_streamName = value; } /** *The name of the stream being described.
*/ inline void SetStreamName(Aws::String&& value) { m_streamNameHasBeenSet = true; m_streamName = std::move(value); } /** *The name of the stream being described.
*/ inline void SetStreamName(const char* value) { m_streamNameHasBeenSet = true; m_streamName.assign(value); } /** *The name of the stream being described.
*/ inline StreamDescription& WithStreamName(const Aws::String& value) { SetStreamName(value); return *this;} /** *The name of the stream being described.
*/ inline StreamDescription& WithStreamName(Aws::String&& value) { SetStreamName(std::move(value)); return *this;} /** *The name of the stream being described.
*/ inline StreamDescription& WithStreamName(const char* value) { SetStreamName(value); return *this;} /** *The Amazon Resource Name (ARN) for the stream being described.
*/ inline const Aws::String& GetStreamARN() const{ return m_streamARN; } /** *The Amazon Resource Name (ARN) for the stream being described.
*/ inline bool StreamARNHasBeenSet() const { return m_streamARNHasBeenSet; } /** *The Amazon Resource Name (ARN) for the stream being described.
*/ inline void SetStreamARN(const Aws::String& value) { m_streamARNHasBeenSet = true; m_streamARN = value; } /** *The Amazon Resource Name (ARN) for the stream being described.
*/ inline void SetStreamARN(Aws::String&& value) { m_streamARNHasBeenSet = true; m_streamARN = std::move(value); } /** *The Amazon Resource Name (ARN) for the stream being described.
*/ inline void SetStreamARN(const char* value) { m_streamARNHasBeenSet = true; m_streamARN.assign(value); } /** *The Amazon Resource Name (ARN) for the stream being described.
*/ inline StreamDescription& WithStreamARN(const Aws::String& value) { SetStreamARN(value); return *this;} /** *The Amazon Resource Name (ARN) for the stream being described.
*/ inline StreamDescription& WithStreamARN(Aws::String&& value) { SetStreamARN(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) for the stream being described.
*/ inline StreamDescription& WithStreamARN(const char* value) { SetStreamARN(value); return *this;} /** *The current status of the stream being described. The stream status is one of * the following states:
CREATING
- The stream is
* being created. Kinesis Data Streams immediately returns and sets
* StreamStatus
to CREATING
.
* DELETING
- The stream is being deleted. The specified stream is in
* the DELETING
state until Kinesis Data Streams completes the
* deletion.
ACTIVE
- The stream exists and is
* ready for read and write operations or deletion. You should perform read and
* write operations only on an ACTIVE
stream.
* UPDATING
- Shards in the stream are being merged or split. Read and
* write operations continue to work while the stream is in the
* UPDATING
state.
The current status of the stream being described. The stream status is one of * the following states:
CREATING
- The stream is
* being created. Kinesis Data Streams immediately returns and sets
* StreamStatus
to CREATING
.
* DELETING
- The stream is being deleted. The specified stream is in
* the DELETING
state until Kinesis Data Streams completes the
* deletion.
ACTIVE
- The stream exists and is
* ready for read and write operations or deletion. You should perform read and
* write operations only on an ACTIVE
stream.
* UPDATING
- Shards in the stream are being merged or split. Read and
* write operations continue to work while the stream is in the
* UPDATING
state.
The current status of the stream being described. The stream status is one of * the following states:
CREATING
- The stream is
* being created. Kinesis Data Streams immediately returns and sets
* StreamStatus
to CREATING
.
* DELETING
- The stream is being deleted. The specified stream is in
* the DELETING
state until Kinesis Data Streams completes the
* deletion.
ACTIVE
- The stream exists and is
* ready for read and write operations or deletion. You should perform read and
* write operations only on an ACTIVE
stream.
* UPDATING
- Shards in the stream are being merged or split. Read and
* write operations continue to work while the stream is in the
* UPDATING
state.
The current status of the stream being described. The stream status is one of * the following states:
CREATING
- The stream is
* being created. Kinesis Data Streams immediately returns and sets
* StreamStatus
to CREATING
.
* DELETING
- The stream is being deleted. The specified stream is in
* the DELETING
state until Kinesis Data Streams completes the
* deletion.
ACTIVE
- The stream exists and is
* ready for read and write operations or deletion. You should perform read and
* write operations only on an ACTIVE
stream.
* UPDATING
- Shards in the stream are being merged or split. Read and
* write operations continue to work while the stream is in the
* UPDATING
state.
The current status of the stream being described. The stream status is one of * the following states:
CREATING
- The stream is
* being created. Kinesis Data Streams immediately returns and sets
* StreamStatus
to CREATING
.
* DELETING
- The stream is being deleted. The specified stream is in
* the DELETING
state until Kinesis Data Streams completes the
* deletion.
ACTIVE
- The stream exists and is
* ready for read and write operations or deletion. You should perform read and
* write operations only on an ACTIVE
stream.
* UPDATING
- Shards in the stream are being merged or split. Read and
* write operations continue to work while the stream is in the
* UPDATING
state.
The current status of the stream being described. The stream status is one of * the following states:
CREATING
- The stream is
* being created. Kinesis Data Streams immediately returns and sets
* StreamStatus
to CREATING
.
* DELETING
- The stream is being deleted. The specified stream is in
* the DELETING
state until Kinesis Data Streams completes the
* deletion.
ACTIVE
- The stream exists and is
* ready for read and write operations or deletion. You should perform read and
* write operations only on an ACTIVE
stream.
* UPDATING
- Shards in the stream are being merged or split. Read and
* write operations continue to work while the stream is in the
* UPDATING
state.
The shards that comprise the stream.
*/ inline const Aws::VectorThe shards that comprise the stream.
*/ inline bool ShardsHasBeenSet() const { return m_shardsHasBeenSet; } /** *The shards that comprise the stream.
*/ inline void SetShards(const Aws::VectorThe shards that comprise the stream.
*/ inline void SetShards(Aws::VectorThe shards that comprise the stream.
*/ inline StreamDescription& WithShards(const Aws::VectorThe shards that comprise the stream.
*/ inline StreamDescription& WithShards(Aws::VectorThe shards that comprise the stream.
*/ inline StreamDescription& AddShards(const Shard& value) { m_shardsHasBeenSet = true; m_shards.push_back(value); return *this; } /** *The shards that comprise the stream.
*/ inline StreamDescription& AddShards(Shard&& value) { m_shardsHasBeenSet = true; m_shards.push_back(std::move(value)); return *this; } /** *If set to true
, more shards in the stream are available to
* describe.
If set to true
, more shards in the stream are available to
* describe.
If set to true
, more shards in the stream are available to
* describe.
If set to true
, more shards in the stream are available to
* describe.
The current retention period, in hours. Minimum value of 24. Maximum value of * 168.
*/ inline int GetRetentionPeriodHours() const{ return m_retentionPeriodHours; } /** *The current retention period, in hours. Minimum value of 24. Maximum value of * 168.
*/ inline bool RetentionPeriodHoursHasBeenSet() const { return m_retentionPeriodHoursHasBeenSet; } /** *The current retention period, in hours. Minimum value of 24. Maximum value of * 168.
*/ inline void SetRetentionPeriodHours(int value) { m_retentionPeriodHoursHasBeenSet = true; m_retentionPeriodHours = value; } /** *The current retention period, in hours. Minimum value of 24. Maximum value of * 168.
*/ inline StreamDescription& WithRetentionPeriodHours(int value) { SetRetentionPeriodHours(value); return *this;} /** *The approximate time that the stream was created.
*/ inline const Aws::Utils::DateTime& GetStreamCreationTimestamp() const{ return m_streamCreationTimestamp; } /** *The approximate time that the stream was created.
*/ inline bool StreamCreationTimestampHasBeenSet() const { return m_streamCreationTimestampHasBeenSet; } /** *The approximate time that the stream was created.
*/ inline void SetStreamCreationTimestamp(const Aws::Utils::DateTime& value) { m_streamCreationTimestampHasBeenSet = true; m_streamCreationTimestamp = value; } /** *The approximate time that the stream was created.
*/ inline void SetStreamCreationTimestamp(Aws::Utils::DateTime&& value) { m_streamCreationTimestampHasBeenSet = true; m_streamCreationTimestamp = std::move(value); } /** *The approximate time that the stream was created.
*/ inline StreamDescription& WithStreamCreationTimestamp(const Aws::Utils::DateTime& value) { SetStreamCreationTimestamp(value); return *this;} /** *The approximate time that the stream was created.
*/ inline StreamDescription& WithStreamCreationTimestamp(Aws::Utils::DateTime&& value) { SetStreamCreationTimestamp(std::move(value)); return *this;} /** *Represents the current enhanced monitoring settings of the stream.
*/ inline const Aws::VectorRepresents the current enhanced monitoring settings of the stream.
*/ inline bool EnhancedMonitoringHasBeenSet() const { return m_enhancedMonitoringHasBeenSet; } /** *Represents the current enhanced monitoring settings of the stream.
*/ inline void SetEnhancedMonitoring(const Aws::VectorRepresents the current enhanced monitoring settings of the stream.
*/ inline void SetEnhancedMonitoring(Aws::VectorRepresents the current enhanced monitoring settings of the stream.
*/ inline StreamDescription& WithEnhancedMonitoring(const Aws::VectorRepresents the current enhanced monitoring settings of the stream.
*/ inline StreamDescription& WithEnhancedMonitoring(Aws::VectorRepresents the current enhanced monitoring settings of the stream.
*/ inline StreamDescription& AddEnhancedMonitoring(const EnhancedMetrics& value) { m_enhancedMonitoringHasBeenSet = true; m_enhancedMonitoring.push_back(value); return *this; } /** *Represents the current enhanced monitoring settings of the stream.
*/ inline StreamDescription& AddEnhancedMonitoring(EnhancedMetrics&& value) { m_enhancedMonitoringHasBeenSet = true; m_enhancedMonitoring.push_back(std::move(value)); return *this; } /** *The server-side encryption type used on the stream. This parameter can be one * of the following values:
NONE
: Do not encrypt the
* records in the stream.
KMS
: Use server-side
* encryption on the records in the stream using a customer-managed AWS KMS
* key.
The server-side encryption type used on the stream. This parameter can be one * of the following values:
NONE
: Do not encrypt the
* records in the stream.
KMS
: Use server-side
* encryption on the records in the stream using a customer-managed AWS KMS
* key.
The server-side encryption type used on the stream. This parameter can be one * of the following values:
NONE
: Do not encrypt the
* records in the stream.
KMS
: Use server-side
* encryption on the records in the stream using a customer-managed AWS KMS
* key.
The server-side encryption type used on the stream. This parameter can be one * of the following values:
NONE
: Do not encrypt the
* records in the stream.
KMS
: Use server-side
* encryption on the records in the stream using a customer-managed AWS KMS
* key.
The server-side encryption type used on the stream. This parameter can be one * of the following values:
NONE
: Do not encrypt the
* records in the stream.
KMS
: Use server-side
* encryption on the records in the stream using a customer-managed AWS KMS
* key.
The server-side encryption type used on the stream. This parameter can be one * of the following values:
NONE
: Do not encrypt the
* records in the stream.
KMS
: Use server-side
* encryption on the records in the stream using a customer-managed AWS KMS
* key.
The GUID for the customer-managed AWS KMS key to use for encryption. This
* value can be a globally unique identifier, a fully specified ARN to either an
* alias or a key, or an alias name prefixed by "alias/".You can also use a master
* key owned by Kinesis Data Streams by specifying the alias
* aws/kinesis
.
Key ARN example:
* arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012
*
Alias ARN example:
* arn:aws:kms:us-east-1:123456789012:alias/MyAliasName
Globally unique key ID example:
* 12345678-1234-1234-1234-123456789012
Alias name
* example: alias/MyAliasName
Master key owned by
* Kinesis Data Streams: alias/aws/kinesis
The GUID for the customer-managed AWS KMS key to use for encryption. This
* value can be a globally unique identifier, a fully specified ARN to either an
* alias or a key, or an alias name prefixed by "alias/".You can also use a master
* key owned by Kinesis Data Streams by specifying the alias
* aws/kinesis
.
Key ARN example:
* arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012
*
Alias ARN example:
* arn:aws:kms:us-east-1:123456789012:alias/MyAliasName
Globally unique key ID example:
* 12345678-1234-1234-1234-123456789012
Alias name
* example: alias/MyAliasName
Master key owned by
* Kinesis Data Streams: alias/aws/kinesis
The GUID for the customer-managed AWS KMS key to use for encryption. This
* value can be a globally unique identifier, a fully specified ARN to either an
* alias or a key, or an alias name prefixed by "alias/".You can also use a master
* key owned by Kinesis Data Streams by specifying the alias
* aws/kinesis
.
Key ARN example:
* arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012
*
Alias ARN example:
* arn:aws:kms:us-east-1:123456789012:alias/MyAliasName
Globally unique key ID example:
* 12345678-1234-1234-1234-123456789012
Alias name
* example: alias/MyAliasName
Master key owned by
* Kinesis Data Streams: alias/aws/kinesis
The GUID for the customer-managed AWS KMS key to use for encryption. This
* value can be a globally unique identifier, a fully specified ARN to either an
* alias or a key, or an alias name prefixed by "alias/".You can also use a master
* key owned by Kinesis Data Streams by specifying the alias
* aws/kinesis
.
Key ARN example:
* arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012
*
Alias ARN example:
* arn:aws:kms:us-east-1:123456789012:alias/MyAliasName
Globally unique key ID example:
* 12345678-1234-1234-1234-123456789012
Alias name
* example: alias/MyAliasName
Master key owned by
* Kinesis Data Streams: alias/aws/kinesis
The GUID for the customer-managed AWS KMS key to use for encryption. This
* value can be a globally unique identifier, a fully specified ARN to either an
* alias or a key, or an alias name prefixed by "alias/".You can also use a master
* key owned by Kinesis Data Streams by specifying the alias
* aws/kinesis
.
Key ARN example:
* arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012
*
Alias ARN example:
* arn:aws:kms:us-east-1:123456789012:alias/MyAliasName
Globally unique key ID example:
* 12345678-1234-1234-1234-123456789012
Alias name
* example: alias/MyAliasName
Master key owned by
* Kinesis Data Streams: alias/aws/kinesis
The GUID for the customer-managed AWS KMS key to use for encryption. This
* value can be a globally unique identifier, a fully specified ARN to either an
* alias or a key, or an alias name prefixed by "alias/".You can also use a master
* key owned by Kinesis Data Streams by specifying the alias
* aws/kinesis
.
Key ARN example:
* arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012
*
Alias ARN example:
* arn:aws:kms:us-east-1:123456789012:alias/MyAliasName
Globally unique key ID example:
* 12345678-1234-1234-1234-123456789012
Alias name
* example: alias/MyAliasName
Master key owned by
* Kinesis Data Streams: alias/aws/kinesis
The GUID for the customer-managed AWS KMS key to use for encryption. This
* value can be a globally unique identifier, a fully specified ARN to either an
* alias or a key, or an alias name prefixed by "alias/".You can also use a master
* key owned by Kinesis Data Streams by specifying the alias
* aws/kinesis
.
Key ARN example:
* arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012
*
Alias ARN example:
* arn:aws:kms:us-east-1:123456789012:alias/MyAliasName
Globally unique key ID example:
* 12345678-1234-1234-1234-123456789012
Alias name
* example: alias/MyAliasName
Master key owned by
* Kinesis Data Streams: alias/aws/kinesis
The GUID for the customer-managed AWS KMS key to use for encryption. This
* value can be a globally unique identifier, a fully specified ARN to either an
* alias or a key, or an alias name prefixed by "alias/".You can also use a master
* key owned by Kinesis Data Streams by specifying the alias
* aws/kinesis
.
Key ARN example:
* arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012
*
Alias ARN example:
* arn:aws:kms:us-east-1:123456789012:alias/MyAliasName
Globally unique key ID example:
* 12345678-1234-1234-1234-123456789012
Alias name
* example: alias/MyAliasName
Master key owned by
* Kinesis Data Streams: alias/aws/kinesis