/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace DynamoDBStreams { namespace Model { /** *

A description of a unique event within a stream.

See Also:

* AWS * API Reference

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

A globally unique identifier for the event that was recorded in this stream * record.

*/ inline const Aws::String& GetEventID() const{ return m_eventID; } /** *

A globally unique identifier for the event that was recorded in this stream * record.

*/ inline bool EventIDHasBeenSet() const { return m_eventIDHasBeenSet; } /** *

A globally unique identifier for the event that was recorded in this stream * record.

*/ inline void SetEventID(const Aws::String& value) { m_eventIDHasBeenSet = true; m_eventID = value; } /** *

A globally unique identifier for the event that was recorded in this stream * record.

*/ inline void SetEventID(Aws::String&& value) { m_eventIDHasBeenSet = true; m_eventID = std::move(value); } /** *

A globally unique identifier for the event that was recorded in this stream * record.

*/ inline void SetEventID(const char* value) { m_eventIDHasBeenSet = true; m_eventID.assign(value); } /** *

A globally unique identifier for the event that was recorded in this stream * record.

*/ inline Record& WithEventID(const Aws::String& value) { SetEventID(value); return *this;} /** *

A globally unique identifier for the event that was recorded in this stream * record.

*/ inline Record& WithEventID(Aws::String&& value) { SetEventID(std::move(value)); return *this;} /** *

A globally unique identifier for the event that was recorded in this stream * record.

*/ inline Record& WithEventID(const char* value) { SetEventID(value); return *this;} /** *

The type of data modification that was performed on the DynamoDB table:

*
  • INSERT - a new item was added to the table.

  • *
  • MODIFY - one or more of an existing item's attributes were * modified.

  • REMOVE - the item was deleted from the * table

*/ inline const OperationType& GetEventName() const{ return m_eventName; } /** *

The type of data modification that was performed on the DynamoDB table:

*
  • INSERT - a new item was added to the table.

  • *
  • MODIFY - one or more of an existing item's attributes were * modified.

  • REMOVE - the item was deleted from the * table

*/ inline bool EventNameHasBeenSet() const { return m_eventNameHasBeenSet; } /** *

The type of data modification that was performed on the DynamoDB table:

*
  • INSERT - a new item was added to the table.

  • *
  • MODIFY - one or more of an existing item's attributes were * modified.

  • REMOVE - the item was deleted from the * table

*/ inline void SetEventName(const OperationType& value) { m_eventNameHasBeenSet = true; m_eventName = value; } /** *

The type of data modification that was performed on the DynamoDB table:

*
  • INSERT - a new item was added to the table.

  • *
  • MODIFY - one or more of an existing item's attributes were * modified.

  • REMOVE - the item was deleted from the * table

*/ inline void SetEventName(OperationType&& value) { m_eventNameHasBeenSet = true; m_eventName = std::move(value); } /** *

The type of data modification that was performed on the DynamoDB table:

*
  • INSERT - a new item was added to the table.

  • *
  • MODIFY - one or more of an existing item's attributes were * modified.

  • REMOVE - the item was deleted from the * table

*/ inline Record& WithEventName(const OperationType& value) { SetEventName(value); return *this;} /** *

The type of data modification that was performed on the DynamoDB table:

*
  • INSERT - a new item was added to the table.

  • *
  • MODIFY - one or more of an existing item's attributes were * modified.

  • REMOVE - the item was deleted from the * table

*/ inline Record& WithEventName(OperationType&& value) { SetEventName(std::move(value)); return *this;} /** *

The version number of the stream record format. This number is updated * whenever the structure of Record is modified.

Client * applications must not assume that eventVersion will remain at a * particular value, as this number is subject to change at any time. In general, * eventVersion will only increase as the low-level DynamoDB Streams * API evolves.

*/ inline const Aws::String& GetEventVersion() const{ return m_eventVersion; } /** *

The version number of the stream record format. This number is updated * whenever the structure of Record is modified.

Client * applications must not assume that eventVersion will remain at a * particular value, as this number is subject to change at any time. In general, * eventVersion will only increase as the low-level DynamoDB Streams * API evolves.

*/ inline bool EventVersionHasBeenSet() const { return m_eventVersionHasBeenSet; } /** *

The version number of the stream record format. This number is updated * whenever the structure of Record is modified.

Client * applications must not assume that eventVersion will remain at a * particular value, as this number is subject to change at any time. In general, * eventVersion will only increase as the low-level DynamoDB Streams * API evolves.

*/ inline void SetEventVersion(const Aws::String& value) { m_eventVersionHasBeenSet = true; m_eventVersion = value; } /** *

The version number of the stream record format. This number is updated * whenever the structure of Record is modified.

Client * applications must not assume that eventVersion will remain at a * particular value, as this number is subject to change at any time. In general, * eventVersion will only increase as the low-level DynamoDB Streams * API evolves.

*/ inline void SetEventVersion(Aws::String&& value) { m_eventVersionHasBeenSet = true; m_eventVersion = std::move(value); } /** *

The version number of the stream record format. This number is updated * whenever the structure of Record is modified.

Client * applications must not assume that eventVersion will remain at a * particular value, as this number is subject to change at any time. In general, * eventVersion will only increase as the low-level DynamoDB Streams * API evolves.

*/ inline void SetEventVersion(const char* value) { m_eventVersionHasBeenSet = true; m_eventVersion.assign(value); } /** *

The version number of the stream record format. This number is updated * whenever the structure of Record is modified.

Client * applications must not assume that eventVersion will remain at a * particular value, as this number is subject to change at any time. In general, * eventVersion will only increase as the low-level DynamoDB Streams * API evolves.

*/ inline Record& WithEventVersion(const Aws::String& value) { SetEventVersion(value); return *this;} /** *

The version number of the stream record format. This number is updated * whenever the structure of Record is modified.

Client * applications must not assume that eventVersion will remain at a * particular value, as this number is subject to change at any time. In general, * eventVersion will only increase as the low-level DynamoDB Streams * API evolves.

*/ inline Record& WithEventVersion(Aws::String&& value) { SetEventVersion(std::move(value)); return *this;} /** *

The version number of the stream record format. This number is updated * whenever the structure of Record is modified.

Client * applications must not assume that eventVersion will remain at a * particular value, as this number is subject to change at any time. In general, * eventVersion will only increase as the low-level DynamoDB Streams * API evolves.

*/ inline Record& WithEventVersion(const char* value) { SetEventVersion(value); return *this;} /** *

The Amazon Web Services service from which the stream record originated. For * DynamoDB Streams, this is aws:dynamodb.

*/ inline const Aws::String& GetEventSource() const{ return m_eventSource; } /** *

The Amazon Web Services service from which the stream record originated. For * DynamoDB Streams, this is aws:dynamodb.

*/ inline bool EventSourceHasBeenSet() const { return m_eventSourceHasBeenSet; } /** *

The Amazon Web Services service from which the stream record originated. For * DynamoDB Streams, this is aws:dynamodb.

*/ inline void SetEventSource(const Aws::String& value) { m_eventSourceHasBeenSet = true; m_eventSource = value; } /** *

The Amazon Web Services service from which the stream record originated. For * DynamoDB Streams, this is aws:dynamodb.

*/ inline void SetEventSource(Aws::String&& value) { m_eventSourceHasBeenSet = true; m_eventSource = std::move(value); } /** *

The Amazon Web Services service from which the stream record originated. For * DynamoDB Streams, this is aws:dynamodb.

*/ inline void SetEventSource(const char* value) { m_eventSourceHasBeenSet = true; m_eventSource.assign(value); } /** *

The Amazon Web Services service from which the stream record originated. For * DynamoDB Streams, this is aws:dynamodb.

*/ inline Record& WithEventSource(const Aws::String& value) { SetEventSource(value); return *this;} /** *

The Amazon Web Services service from which the stream record originated. For * DynamoDB Streams, this is aws:dynamodb.

*/ inline Record& WithEventSource(Aws::String&& value) { SetEventSource(std::move(value)); return *this;} /** *

The Amazon Web Services service from which the stream record originated. For * DynamoDB Streams, this is aws:dynamodb.

*/ inline Record& WithEventSource(const char* value) { SetEventSource(value); return *this;} /** *

The region in which the GetRecords request was received.

*/ inline const Aws::String& GetAwsRegion() const{ return m_awsRegion; } /** *

The region in which the GetRecords request was received.

*/ inline bool AwsRegionHasBeenSet() const { return m_awsRegionHasBeenSet; } /** *

The region in which the GetRecords request was received.

*/ inline void SetAwsRegion(const Aws::String& value) { m_awsRegionHasBeenSet = true; m_awsRegion = value; } /** *

The region in which the GetRecords request was received.

*/ inline void SetAwsRegion(Aws::String&& value) { m_awsRegionHasBeenSet = true; m_awsRegion = std::move(value); } /** *

The region in which the GetRecords request was received.

*/ inline void SetAwsRegion(const char* value) { m_awsRegionHasBeenSet = true; m_awsRegion.assign(value); } /** *

The region in which the GetRecords request was received.

*/ inline Record& WithAwsRegion(const Aws::String& value) { SetAwsRegion(value); return *this;} /** *

The region in which the GetRecords request was received.

*/ inline Record& WithAwsRegion(Aws::String&& value) { SetAwsRegion(std::move(value)); return *this;} /** *

The region in which the GetRecords request was received.

*/ inline Record& WithAwsRegion(const char* value) { SetAwsRegion(value); return *this;} /** *

The main body of the stream record, containing all of the DynamoDB-specific * fields.

*/ inline const StreamRecord& GetDynamodb() const{ return m_dynamodb; } /** *

The main body of the stream record, containing all of the DynamoDB-specific * fields.

*/ inline bool DynamodbHasBeenSet() const { return m_dynamodbHasBeenSet; } /** *

The main body of the stream record, containing all of the DynamoDB-specific * fields.

*/ inline void SetDynamodb(const StreamRecord& value) { m_dynamodbHasBeenSet = true; m_dynamodb = value; } /** *

The main body of the stream record, containing all of the DynamoDB-specific * fields.

*/ inline void SetDynamodb(StreamRecord&& value) { m_dynamodbHasBeenSet = true; m_dynamodb = std::move(value); } /** *

The main body of the stream record, containing all of the DynamoDB-specific * fields.

*/ inline Record& WithDynamodb(const StreamRecord& value) { SetDynamodb(value); return *this;} /** *

The main body of the stream record, containing all of the DynamoDB-specific * fields.

*/ inline Record& WithDynamodb(StreamRecord&& value) { SetDynamodb(std::move(value)); return *this;} /** *

Items that are deleted by the Time to Live process after expiration have the * following fields:

  • Records[].userIdentity.type

    *

    "Service"

  • Records[].userIdentity.principalId

    *

    "dynamodb.amazonaws.com"

*/ inline const Identity& GetUserIdentity() const{ return m_userIdentity; } /** *

Items that are deleted by the Time to Live process after expiration have the * following fields:

  • Records[].userIdentity.type

    *

    "Service"

  • Records[].userIdentity.principalId

    *

    "dynamodb.amazonaws.com"

*/ inline bool UserIdentityHasBeenSet() const { return m_userIdentityHasBeenSet; } /** *

Items that are deleted by the Time to Live process after expiration have the * following fields:

  • Records[].userIdentity.type

    *

    "Service"

  • Records[].userIdentity.principalId

    *

    "dynamodb.amazonaws.com"

*/ inline void SetUserIdentity(const Identity& value) { m_userIdentityHasBeenSet = true; m_userIdentity = value; } /** *

Items that are deleted by the Time to Live process after expiration have the * following fields:

  • Records[].userIdentity.type

    *

    "Service"

  • Records[].userIdentity.principalId

    *

    "dynamodb.amazonaws.com"

*/ inline void SetUserIdentity(Identity&& value) { m_userIdentityHasBeenSet = true; m_userIdentity = std::move(value); } /** *

Items that are deleted by the Time to Live process after expiration have the * following fields:

  • Records[].userIdentity.type

    *

    "Service"

  • Records[].userIdentity.principalId

    *

    "dynamodb.amazonaws.com"

*/ inline Record& WithUserIdentity(const Identity& value) { SetUserIdentity(value); return *this;} /** *

Items that are deleted by the Time to Live process after expiration have the * following fields:

  • Records[].userIdentity.type

    *

    "Service"

  • Records[].userIdentity.principalId

    *

    "dynamodb.amazonaws.com"

*/ inline Record& WithUserIdentity(Identity&& value) { SetUserIdentity(std::move(value)); return *this;} private: Aws::String m_eventID; bool m_eventIDHasBeenSet = false; OperationType m_eventName; bool m_eventNameHasBeenSet = false; Aws::String m_eventVersion; bool m_eventVersionHasBeenSet = false; Aws::String m_eventSource; bool m_eventSourceHasBeenSet = false; Aws::String m_awsRegion; bool m_awsRegionHasBeenSet = false; StreamRecord m_dynamodb; bool m_dynamodbHasBeenSet = false; Identity m_userIdentity; bool m_userIdentityHasBeenSet = false; }; } // namespace Model } // namespace DynamoDBStreams } // namespace Aws