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

Specifies an item and related attribute values to retrieve in a * TransactGetItem object.

See Also:

AWS API * Reference

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

A map of attribute names to AttributeValue objects that * specifies the primary key of the item to retrieve.

*/ inline const Aws::Map& GetKey() const{ return m_key; } /** *

A map of attribute names to AttributeValue objects that * specifies the primary key of the item to retrieve.

*/ inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } /** *

A map of attribute names to AttributeValue objects that * specifies the primary key of the item to retrieve.

*/ inline void SetKey(const Aws::Map& value) { m_keyHasBeenSet = true; m_key = value; } /** *

A map of attribute names to AttributeValue objects that * specifies the primary key of the item to retrieve.

*/ inline void SetKey(Aws::Map&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } /** *

A map of attribute names to AttributeValue objects that * specifies the primary key of the item to retrieve.

*/ inline Get& WithKey(const Aws::Map& value) { SetKey(value); return *this;} /** *

A map of attribute names to AttributeValue objects that * specifies the primary key of the item to retrieve.

*/ inline Get& WithKey(Aws::Map&& value) { SetKey(std::move(value)); return *this;} /** *

A map of attribute names to AttributeValue objects that * specifies the primary key of the item to retrieve.

*/ inline Get& AddKey(const Aws::String& key, const AttributeValue& value) { m_keyHasBeenSet = true; m_key.emplace(key, value); return *this; } /** *

A map of attribute names to AttributeValue objects that * specifies the primary key of the item to retrieve.

*/ inline Get& AddKey(Aws::String&& key, const AttributeValue& value) { m_keyHasBeenSet = true; m_key.emplace(std::move(key), value); return *this; } /** *

A map of attribute names to AttributeValue objects that * specifies the primary key of the item to retrieve.

*/ inline Get& AddKey(const Aws::String& key, AttributeValue&& value) { m_keyHasBeenSet = true; m_key.emplace(key, std::move(value)); return *this; } /** *

A map of attribute names to AttributeValue objects that * specifies the primary key of the item to retrieve.

*/ inline Get& AddKey(Aws::String&& key, AttributeValue&& value) { m_keyHasBeenSet = true; m_key.emplace(std::move(key), std::move(value)); return *this; } /** *

A map of attribute names to AttributeValue objects that * specifies the primary key of the item to retrieve.

*/ inline Get& AddKey(const char* key, AttributeValue&& value) { m_keyHasBeenSet = true; m_key.emplace(key, std::move(value)); return *this; } /** *

A map of attribute names to AttributeValue objects that * specifies the primary key of the item to retrieve.

*/ inline Get& AddKey(const char* key, const AttributeValue& value) { m_keyHasBeenSet = true; m_key.emplace(key, value); return *this; } /** *

The name of the table from which to retrieve the specified item.

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

The name of the table from which to retrieve the specified item.

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

The name of the table from which to retrieve the specified item.

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

The name of the table from which to retrieve the specified item.

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

The name of the table from which to retrieve the specified item.

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

The name of the table from which to retrieve the specified item.

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

The name of the table from which to retrieve the specified item.

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

The name of the table from which to retrieve the specified item.

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

A string that identifies one or more attributes of the specified item to * retrieve from the table. The attributes in the expression must be separated by * commas. If no attribute names are specified, then all attributes of the * specified item are returned. If any of the requested attributes are not found, * they do not appear in the result.

*/ inline const Aws::String& GetProjectionExpression() const{ return m_projectionExpression; } /** *

A string that identifies one or more attributes of the specified item to * retrieve from the table. The attributes in the expression must be separated by * commas. If no attribute names are specified, then all attributes of the * specified item are returned. If any of the requested attributes are not found, * they do not appear in the result.

*/ inline bool ProjectionExpressionHasBeenSet() const { return m_projectionExpressionHasBeenSet; } /** *

A string that identifies one or more attributes of the specified item to * retrieve from the table. The attributes in the expression must be separated by * commas. If no attribute names are specified, then all attributes of the * specified item are returned. If any of the requested attributes are not found, * they do not appear in the result.

*/ inline void SetProjectionExpression(const Aws::String& value) { m_projectionExpressionHasBeenSet = true; m_projectionExpression = value; } /** *

A string that identifies one or more attributes of the specified item to * retrieve from the table. The attributes in the expression must be separated by * commas. If no attribute names are specified, then all attributes of the * specified item are returned. If any of the requested attributes are not found, * they do not appear in the result.

*/ inline void SetProjectionExpression(Aws::String&& value) { m_projectionExpressionHasBeenSet = true; m_projectionExpression = std::move(value); } /** *

A string that identifies one or more attributes of the specified item to * retrieve from the table. The attributes in the expression must be separated by * commas. If no attribute names are specified, then all attributes of the * specified item are returned. If any of the requested attributes are not found, * they do not appear in the result.

*/ inline void SetProjectionExpression(const char* value) { m_projectionExpressionHasBeenSet = true; m_projectionExpression.assign(value); } /** *

A string that identifies one or more attributes of the specified item to * retrieve from the table. The attributes in the expression must be separated by * commas. If no attribute names are specified, then all attributes of the * specified item are returned. If any of the requested attributes are not found, * they do not appear in the result.

*/ inline Get& WithProjectionExpression(const Aws::String& value) { SetProjectionExpression(value); return *this;} /** *

A string that identifies one or more attributes of the specified item to * retrieve from the table. The attributes in the expression must be separated by * commas. If no attribute names are specified, then all attributes of the * specified item are returned. If any of the requested attributes are not found, * they do not appear in the result.

*/ inline Get& WithProjectionExpression(Aws::String&& value) { SetProjectionExpression(std::move(value)); return *this;} /** *

A string that identifies one or more attributes of the specified item to * retrieve from the table. The attributes in the expression must be separated by * commas. If no attribute names are specified, then all attributes of the * specified item are returned. If any of the requested attributes are not found, * they do not appear in the result.

*/ inline Get& WithProjectionExpression(const char* value) { SetProjectionExpression(value); return *this;} /** *

One or more substitution tokens for attribute names in the * ProjectionExpression parameter.

*/ inline const Aws::Map& GetExpressionAttributeNames() const{ return m_expressionAttributeNames; } /** *

One or more substitution tokens for attribute names in the * ProjectionExpression parameter.

*/ inline bool ExpressionAttributeNamesHasBeenSet() const { return m_expressionAttributeNamesHasBeenSet; } /** *

One or more substitution tokens for attribute names in the * ProjectionExpression parameter.

*/ inline void SetExpressionAttributeNames(const Aws::Map& value) { m_expressionAttributeNamesHasBeenSet = true; m_expressionAttributeNames = value; } /** *

One or more substitution tokens for attribute names in the * ProjectionExpression parameter.

*/ inline void SetExpressionAttributeNames(Aws::Map&& value) { m_expressionAttributeNamesHasBeenSet = true; m_expressionAttributeNames = std::move(value); } /** *

One or more substitution tokens for attribute names in the * ProjectionExpression parameter.

*/ inline Get& WithExpressionAttributeNames(const Aws::Map& value) { SetExpressionAttributeNames(value); return *this;} /** *

One or more substitution tokens for attribute names in the * ProjectionExpression parameter.

*/ inline Get& WithExpressionAttributeNames(Aws::Map&& value) { SetExpressionAttributeNames(std::move(value)); return *this;} /** *

One or more substitution tokens for attribute names in the * ProjectionExpression parameter.

*/ inline Get& AddExpressionAttributeNames(const Aws::String& key, const Aws::String& value) { m_expressionAttributeNamesHasBeenSet = true; m_expressionAttributeNames.emplace(key, value); return *this; } /** *

One or more substitution tokens for attribute names in the * ProjectionExpression parameter.

*/ inline Get& AddExpressionAttributeNames(Aws::String&& key, const Aws::String& value) { m_expressionAttributeNamesHasBeenSet = true; m_expressionAttributeNames.emplace(std::move(key), value); return *this; } /** *

One or more substitution tokens for attribute names in the * ProjectionExpression parameter.

*/ inline Get& AddExpressionAttributeNames(const Aws::String& key, Aws::String&& value) { m_expressionAttributeNamesHasBeenSet = true; m_expressionAttributeNames.emplace(key, std::move(value)); return *this; } /** *

One or more substitution tokens for attribute names in the * ProjectionExpression parameter.

*/ inline Get& AddExpressionAttributeNames(Aws::String&& key, Aws::String&& value) { m_expressionAttributeNamesHasBeenSet = true; m_expressionAttributeNames.emplace(std::move(key), std::move(value)); return *this; } /** *

One or more substitution tokens for attribute names in the * ProjectionExpression parameter.

*/ inline Get& AddExpressionAttributeNames(const char* key, Aws::String&& value) { m_expressionAttributeNamesHasBeenSet = true; m_expressionAttributeNames.emplace(key, std::move(value)); return *this; } /** *

One or more substitution tokens for attribute names in the * ProjectionExpression parameter.

*/ inline Get& AddExpressionAttributeNames(Aws::String&& key, const char* value) { m_expressionAttributeNamesHasBeenSet = true; m_expressionAttributeNames.emplace(std::move(key), value); return *this; } /** *

One or more substitution tokens for attribute names in the * ProjectionExpression parameter.

*/ inline Get& AddExpressionAttributeNames(const char* key, const char* value) { m_expressionAttributeNamesHasBeenSet = true; m_expressionAttributeNames.emplace(key, value); return *this; } private: Aws::Map m_key; bool m_keyHasBeenSet = false; Aws::String m_tableName; bool m_tableNameHasBeenSet = false; Aws::String m_projectionExpression; bool m_projectionExpressionHasBeenSet = false; Aws::Map m_expressionAttributeNames; bool m_expressionAttributeNamesHasBeenSet = false; }; } // namespace Model } // namespace DynamoDB } // namespace Aws