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

Represents all of the data describing a particular stream.

See * Also:

AWS * API Reference

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

The Amazon Resource Name (ARN) for the stream.

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

The Amazon Resource Name (ARN) for the stream.

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

The Amazon Resource Name (ARN) for the stream.

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

The Amazon Resource Name (ARN) for the stream.

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

The Amazon Resource Name (ARN) for the stream.

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

The Amazon Resource Name (ARN) for the stream.

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

The Amazon Resource Name (ARN) for the stream.

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

The Amazon Resource Name (ARN) for the stream.

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

The DynamoDB table with which the stream is associated.

*/ inline const Aws::String& GetTableName() const{ return m_tableName; } /** *

The DynamoDB table with which the stream is associated.

*/ inline bool TableNameHasBeenSet() const { return m_tableNameHasBeenSet; } /** *

The DynamoDB table with which the stream is associated.

*/ inline void SetTableName(const Aws::String& value) { m_tableNameHasBeenSet = true; m_tableName = value; } /** *

The DynamoDB table with which the stream is associated.

*/ inline void SetTableName(Aws::String&& value) { m_tableNameHasBeenSet = true; m_tableName = std::move(value); } /** *

The DynamoDB table with which the stream is associated.

*/ inline void SetTableName(const char* value) { m_tableNameHasBeenSet = true; m_tableName.assign(value); } /** *

The DynamoDB table with which the stream is associated.

*/ inline Stream& WithTableName(const Aws::String& value) { SetTableName(value); return *this;} /** *

The DynamoDB table with which the stream is associated.

*/ inline Stream& WithTableName(Aws::String&& value) { SetTableName(std::move(value)); return *this;} /** *

The DynamoDB table with which the stream is associated.

*/ inline Stream& WithTableName(const char* value) { SetTableName(value); return *this;} /** *

A timestamp, in ISO 8601 format, for this stream.

Note that * LatestStreamLabel is not a unique identifier for the stream, * because it is possible that a stream from another table might have the same * timestamp. However, the combination of the following three elements is * guaranteed to be unique:

  • the Amazon Web Services customer * ID.

  • the table name

  • the * StreamLabel

*/ inline const Aws::String& GetStreamLabel() const{ return m_streamLabel; } /** *

A timestamp, in ISO 8601 format, for this stream.

Note that * LatestStreamLabel is not a unique identifier for the stream, * because it is possible that a stream from another table might have the same * timestamp. However, the combination of the following three elements is * guaranteed to be unique:

  • the Amazon Web Services customer * ID.

  • the table name

  • the * StreamLabel

*/ inline bool StreamLabelHasBeenSet() const { return m_streamLabelHasBeenSet; } /** *

A timestamp, in ISO 8601 format, for this stream.

Note that * LatestStreamLabel is not a unique identifier for the stream, * because it is possible that a stream from another table might have the same * timestamp. However, the combination of the following three elements is * guaranteed to be unique:

  • the Amazon Web Services customer * ID.

  • the table name

  • the * StreamLabel

*/ inline void SetStreamLabel(const Aws::String& value) { m_streamLabelHasBeenSet = true; m_streamLabel = value; } /** *

A timestamp, in ISO 8601 format, for this stream.

Note that * LatestStreamLabel is not a unique identifier for the stream, * because it is possible that a stream from another table might have the same * timestamp. However, the combination of the following three elements is * guaranteed to be unique:

  • the Amazon Web Services customer * ID.

  • the table name

  • the * StreamLabel

*/ inline void SetStreamLabel(Aws::String&& value) { m_streamLabelHasBeenSet = true; m_streamLabel = std::move(value); } /** *

A timestamp, in ISO 8601 format, for this stream.

Note that * LatestStreamLabel is not a unique identifier for the stream, * because it is possible that a stream from another table might have the same * timestamp. However, the combination of the following three elements is * guaranteed to be unique:

  • the Amazon Web Services customer * ID.

  • the table name

  • the * StreamLabel

*/ inline void SetStreamLabel(const char* value) { m_streamLabelHasBeenSet = true; m_streamLabel.assign(value); } /** *

A timestamp, in ISO 8601 format, for this stream.

Note that * LatestStreamLabel is not a unique identifier for the stream, * because it is possible that a stream from another table might have the same * timestamp. However, the combination of the following three elements is * guaranteed to be unique:

  • the Amazon Web Services customer * ID.

  • the table name

  • the * StreamLabel

*/ inline Stream& WithStreamLabel(const Aws::String& value) { SetStreamLabel(value); return *this;} /** *

A timestamp, in ISO 8601 format, for this stream.

Note that * LatestStreamLabel is not a unique identifier for the stream, * because it is possible that a stream from another table might have the same * timestamp. However, the combination of the following three elements is * guaranteed to be unique:

  • the Amazon Web Services customer * ID.

  • the table name

  • the * StreamLabel

*/ inline Stream& WithStreamLabel(Aws::String&& value) { SetStreamLabel(std::move(value)); return *this;} /** *

A timestamp, in ISO 8601 format, for this stream.

Note that * LatestStreamLabel is not a unique identifier for the stream, * because it is possible that a stream from another table might have the same * timestamp. However, the combination of the following three elements is * guaranteed to be unique:

  • the Amazon Web Services customer * ID.

  • the table name

  • the * StreamLabel

*/ inline Stream& WithStreamLabel(const char* value) { SetStreamLabel(value); return *this;} private: Aws::String m_streamArn; bool m_streamArnHasBeenSet = false; Aws::String m_tableName; bool m_tableNameHasBeenSet = false; Aws::String m_streamLabel; bool m_streamLabelHasBeenSet = false; }; } // namespace Model } // namespace DynamoDBStreams } // namespace Aws