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

Represents the input of a Query operation.

See * Also:

AWS * API Reference

*/ class QueryRequest : public DynamoDBRequest { public: AWS_DYNAMODB_API QueryRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "Query"; } AWS_DYNAMODB_API Aws::String SerializePayload() const override; AWS_DYNAMODB_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of the table containing the requested items.

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

The name of the table containing the requested items.

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

The name of the table containing the requested items.

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

The name of the table containing the requested items.

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

The name of the table containing the requested items.

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

The name of the table containing the requested items.

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

The name of the table containing the requested items.

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

The name of the table containing the requested items.

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

The name of an index to query. This index can be any local secondary index or * global secondary index on the table. Note that if you use the * IndexName parameter, you must also provide TableName. *

*/ inline const Aws::String& GetIndexName() const{ return m_indexName; } /** *

The name of an index to query. This index can be any local secondary index or * global secondary index on the table. Note that if you use the * IndexName parameter, you must also provide TableName. *

*/ inline bool IndexNameHasBeenSet() const { return m_indexNameHasBeenSet; } /** *

The name of an index to query. This index can be any local secondary index or * global secondary index on the table. Note that if you use the * IndexName parameter, you must also provide TableName. *

*/ inline void SetIndexName(const Aws::String& value) { m_indexNameHasBeenSet = true; m_indexName = value; } /** *

The name of an index to query. This index can be any local secondary index or * global secondary index on the table. Note that if you use the * IndexName parameter, you must also provide TableName. *

*/ inline void SetIndexName(Aws::String&& value) { m_indexNameHasBeenSet = true; m_indexName = std::move(value); } /** *

The name of an index to query. This index can be any local secondary index or * global secondary index on the table. Note that if you use the * IndexName parameter, you must also provide TableName. *

*/ inline void SetIndexName(const char* value) { m_indexNameHasBeenSet = true; m_indexName.assign(value); } /** *

The name of an index to query. This index can be any local secondary index or * global secondary index on the table. Note that if you use the * IndexName parameter, you must also provide TableName. *

*/ inline QueryRequest& WithIndexName(const Aws::String& value) { SetIndexName(value); return *this;} /** *

The name of an index to query. This index can be any local secondary index or * global secondary index on the table. Note that if you use the * IndexName parameter, you must also provide TableName. *

*/ inline QueryRequest& WithIndexName(Aws::String&& value) { SetIndexName(std::move(value)); return *this;} /** *

The name of an index to query. This index can be any local secondary index or * global secondary index on the table. Note that if you use the * IndexName parameter, you must also provide TableName. *

*/ inline QueryRequest& WithIndexName(const char* value) { SetIndexName(value); return *this;} /** *

The attributes to be returned in the result. You can retrieve all item * attributes, specific item attributes, the count of matching items, or in the * case of an index, some or all of the attributes projected into the index.

*
  • ALL_ATTRIBUTES - Returns all of the item attributes * from the specified table or index. If you query a local secondary index, then * for each matching item in the index, DynamoDB fetches the entire item from the * parent table. If the index is configured to project all item attributes, then * all of the data can be obtained from the local secondary index, and no fetching * is required.

  • ALL_PROJECTED_ATTRIBUTES - Allowed * only when querying an index. Retrieves all attributes that have been projected * into the index. If the index is configured to project all attributes, this * return value is equivalent to specifying ALL_ATTRIBUTES.

  • *
  • COUNT - Returns the number of matching items, rather than * the matching items themselves. Note that this uses the same quantity of read * capacity units as getting the items, and is subject to the same item size * calculations.

  • SPECIFIC_ATTRIBUTES - Returns only * the attributes listed in ProjectionExpression. This return value is * equivalent to specifying ProjectionExpression without specifying * any value for Select.

    If you query or scan a local secondary * index and request only attributes that are projected into that index, the * operation will read only the index and not the table. If any of the requested * attributes are not projected into the local secondary index, DynamoDB fetches * each of these attributes from the parent table. This extra fetching incurs * additional throughput cost and latency.

    If you query or scan a global * secondary index, you can only request attributes that are projected into the * index. Global secondary index queries cannot fetch attributes from the parent * table.

If neither Select nor * ProjectionExpression are specified, DynamoDB defaults to * ALL_ATTRIBUTES when accessing a table, and * ALL_PROJECTED_ATTRIBUTES when accessing an index. You cannot use * both Select and ProjectionExpression together in a * single request, unless the value for Select is * SPECIFIC_ATTRIBUTES. (This usage is equivalent to specifying * ProjectionExpression without any value for * Select.)

If you use the * ProjectionExpression parameter, then the value for * Select can only be SPECIFIC_ATTRIBUTES. Any other * value for Select will return an error.

*/ inline const Select& GetSelect() const{ return m_select; } /** *

The attributes to be returned in the result. You can retrieve all item * attributes, specific item attributes, the count of matching items, or in the * case of an index, some or all of the attributes projected into the index.

*
  • ALL_ATTRIBUTES - Returns all of the item attributes * from the specified table or index. If you query a local secondary index, then * for each matching item in the index, DynamoDB fetches the entire item from the * parent table. If the index is configured to project all item attributes, then * all of the data can be obtained from the local secondary index, and no fetching * is required.

  • ALL_PROJECTED_ATTRIBUTES - Allowed * only when querying an index. Retrieves all attributes that have been projected * into the index. If the index is configured to project all attributes, this * return value is equivalent to specifying ALL_ATTRIBUTES.

  • *
  • COUNT - Returns the number of matching items, rather than * the matching items themselves. Note that this uses the same quantity of read * capacity units as getting the items, and is subject to the same item size * calculations.

  • SPECIFIC_ATTRIBUTES - Returns only * the attributes listed in ProjectionExpression. This return value is * equivalent to specifying ProjectionExpression without specifying * any value for Select.

    If you query or scan a local secondary * index and request only attributes that are projected into that index, the * operation will read only the index and not the table. If any of the requested * attributes are not projected into the local secondary index, DynamoDB fetches * each of these attributes from the parent table. This extra fetching incurs * additional throughput cost and latency.

    If you query or scan a global * secondary index, you can only request attributes that are projected into the * index. Global secondary index queries cannot fetch attributes from the parent * table.

If neither Select nor * ProjectionExpression are specified, DynamoDB defaults to * ALL_ATTRIBUTES when accessing a table, and * ALL_PROJECTED_ATTRIBUTES when accessing an index. You cannot use * both Select and ProjectionExpression together in a * single request, unless the value for Select is * SPECIFIC_ATTRIBUTES. (This usage is equivalent to specifying * ProjectionExpression without any value for * Select.)

If you use the * ProjectionExpression parameter, then the value for * Select can only be SPECIFIC_ATTRIBUTES. Any other * value for Select will return an error.

*/ inline bool SelectHasBeenSet() const { return m_selectHasBeenSet; } /** *

The attributes to be returned in the result. You can retrieve all item * attributes, specific item attributes, the count of matching items, or in the * case of an index, some or all of the attributes projected into the index.

*
  • ALL_ATTRIBUTES - Returns all of the item attributes * from the specified table or index. If you query a local secondary index, then * for each matching item in the index, DynamoDB fetches the entire item from the * parent table. If the index is configured to project all item attributes, then * all of the data can be obtained from the local secondary index, and no fetching * is required.

  • ALL_PROJECTED_ATTRIBUTES - Allowed * only when querying an index. Retrieves all attributes that have been projected * into the index. If the index is configured to project all attributes, this * return value is equivalent to specifying ALL_ATTRIBUTES.

  • *
  • COUNT - Returns the number of matching items, rather than * the matching items themselves. Note that this uses the same quantity of read * capacity units as getting the items, and is subject to the same item size * calculations.

  • SPECIFIC_ATTRIBUTES - Returns only * the attributes listed in ProjectionExpression. This return value is * equivalent to specifying ProjectionExpression without specifying * any value for Select.

    If you query or scan a local secondary * index and request only attributes that are projected into that index, the * operation will read only the index and not the table. If any of the requested * attributes are not projected into the local secondary index, DynamoDB fetches * each of these attributes from the parent table. This extra fetching incurs * additional throughput cost and latency.

    If you query or scan a global * secondary index, you can only request attributes that are projected into the * index. Global secondary index queries cannot fetch attributes from the parent * table.

If neither Select nor * ProjectionExpression are specified, DynamoDB defaults to * ALL_ATTRIBUTES when accessing a table, and * ALL_PROJECTED_ATTRIBUTES when accessing an index. You cannot use * both Select and ProjectionExpression together in a * single request, unless the value for Select is * SPECIFIC_ATTRIBUTES. (This usage is equivalent to specifying * ProjectionExpression without any value for * Select.)

If you use the * ProjectionExpression parameter, then the value for * Select can only be SPECIFIC_ATTRIBUTES. Any other * value for Select will return an error.

*/ inline void SetSelect(const Select& value) { m_selectHasBeenSet = true; m_select = value; } /** *

The attributes to be returned in the result. You can retrieve all item * attributes, specific item attributes, the count of matching items, or in the * case of an index, some or all of the attributes projected into the index.

*
  • ALL_ATTRIBUTES - Returns all of the item attributes * from the specified table or index. If you query a local secondary index, then * for each matching item in the index, DynamoDB fetches the entire item from the * parent table. If the index is configured to project all item attributes, then * all of the data can be obtained from the local secondary index, and no fetching * is required.

  • ALL_PROJECTED_ATTRIBUTES - Allowed * only when querying an index. Retrieves all attributes that have been projected * into the index. If the index is configured to project all attributes, this * return value is equivalent to specifying ALL_ATTRIBUTES.

  • *
  • COUNT - Returns the number of matching items, rather than * the matching items themselves. Note that this uses the same quantity of read * capacity units as getting the items, and is subject to the same item size * calculations.

  • SPECIFIC_ATTRIBUTES - Returns only * the attributes listed in ProjectionExpression. This return value is * equivalent to specifying ProjectionExpression without specifying * any value for Select.

    If you query or scan a local secondary * index and request only attributes that are projected into that index, the * operation will read only the index and not the table. If any of the requested * attributes are not projected into the local secondary index, DynamoDB fetches * each of these attributes from the parent table. This extra fetching incurs * additional throughput cost and latency.

    If you query or scan a global * secondary index, you can only request attributes that are projected into the * index. Global secondary index queries cannot fetch attributes from the parent * table.

If neither Select nor * ProjectionExpression are specified, DynamoDB defaults to * ALL_ATTRIBUTES when accessing a table, and * ALL_PROJECTED_ATTRIBUTES when accessing an index. You cannot use * both Select and ProjectionExpression together in a * single request, unless the value for Select is * SPECIFIC_ATTRIBUTES. (This usage is equivalent to specifying * ProjectionExpression without any value for * Select.)

If you use the * ProjectionExpression parameter, then the value for * Select can only be SPECIFIC_ATTRIBUTES. Any other * value for Select will return an error.

*/ inline void SetSelect(Select&& value) { m_selectHasBeenSet = true; m_select = std::move(value); } /** *

The attributes to be returned in the result. You can retrieve all item * attributes, specific item attributes, the count of matching items, or in the * case of an index, some or all of the attributes projected into the index.

*
  • ALL_ATTRIBUTES - Returns all of the item attributes * from the specified table or index. If you query a local secondary index, then * for each matching item in the index, DynamoDB fetches the entire item from the * parent table. If the index is configured to project all item attributes, then * all of the data can be obtained from the local secondary index, and no fetching * is required.

  • ALL_PROJECTED_ATTRIBUTES - Allowed * only when querying an index. Retrieves all attributes that have been projected * into the index. If the index is configured to project all attributes, this * return value is equivalent to specifying ALL_ATTRIBUTES.

  • *
  • COUNT - Returns the number of matching items, rather than * the matching items themselves. Note that this uses the same quantity of read * capacity units as getting the items, and is subject to the same item size * calculations.

  • SPECIFIC_ATTRIBUTES - Returns only * the attributes listed in ProjectionExpression. This return value is * equivalent to specifying ProjectionExpression without specifying * any value for Select.

    If you query or scan a local secondary * index and request only attributes that are projected into that index, the * operation will read only the index and not the table. If any of the requested * attributes are not projected into the local secondary index, DynamoDB fetches * each of these attributes from the parent table. This extra fetching incurs * additional throughput cost and latency.

    If you query or scan a global * secondary index, you can only request attributes that are projected into the * index. Global secondary index queries cannot fetch attributes from the parent * table.

If neither Select nor * ProjectionExpression are specified, DynamoDB defaults to * ALL_ATTRIBUTES when accessing a table, and * ALL_PROJECTED_ATTRIBUTES when accessing an index. You cannot use * both Select and ProjectionExpression together in a * single request, unless the value for Select is * SPECIFIC_ATTRIBUTES. (This usage is equivalent to specifying * ProjectionExpression without any value for * Select.)

If you use the * ProjectionExpression parameter, then the value for * Select can only be SPECIFIC_ATTRIBUTES. Any other * value for Select will return an error.

*/ inline QueryRequest& WithSelect(const Select& value) { SetSelect(value); return *this;} /** *

The attributes to be returned in the result. You can retrieve all item * attributes, specific item attributes, the count of matching items, or in the * case of an index, some or all of the attributes projected into the index.

*
  • ALL_ATTRIBUTES - Returns all of the item attributes * from the specified table or index. If you query a local secondary index, then * for each matching item in the index, DynamoDB fetches the entire item from the * parent table. If the index is configured to project all item attributes, then * all of the data can be obtained from the local secondary index, and no fetching * is required.

  • ALL_PROJECTED_ATTRIBUTES - Allowed * only when querying an index. Retrieves all attributes that have been projected * into the index. If the index is configured to project all attributes, this * return value is equivalent to specifying ALL_ATTRIBUTES.

  • *
  • COUNT - Returns the number of matching items, rather than * the matching items themselves. Note that this uses the same quantity of read * capacity units as getting the items, and is subject to the same item size * calculations.

  • SPECIFIC_ATTRIBUTES - Returns only * the attributes listed in ProjectionExpression. This return value is * equivalent to specifying ProjectionExpression without specifying * any value for Select.

    If you query or scan a local secondary * index and request only attributes that are projected into that index, the * operation will read only the index and not the table. If any of the requested * attributes are not projected into the local secondary index, DynamoDB fetches * each of these attributes from the parent table. This extra fetching incurs * additional throughput cost and latency.

    If you query or scan a global * secondary index, you can only request attributes that are projected into the * index. Global secondary index queries cannot fetch attributes from the parent * table.

If neither Select nor * ProjectionExpression are specified, DynamoDB defaults to * ALL_ATTRIBUTES when accessing a table, and * ALL_PROJECTED_ATTRIBUTES when accessing an index. You cannot use * both Select and ProjectionExpression together in a * single request, unless the value for Select is * SPECIFIC_ATTRIBUTES. (This usage is equivalent to specifying * ProjectionExpression without any value for * Select.)

If you use the * ProjectionExpression parameter, then the value for * Select can only be SPECIFIC_ATTRIBUTES. Any other * value for Select will return an error.

*/ inline QueryRequest& WithSelect(Select&& value) { SetSelect(std::move(value)); return *this;} /** *

This is a legacy parameter. Use ProjectionExpression instead. * For more information, see AttributesToGet * in the Amazon DynamoDB Developer Guide.

*/ inline const Aws::Vector& GetAttributesToGet() const{ return m_attributesToGet; } /** *

This is a legacy parameter. Use ProjectionExpression instead. * For more information, see AttributesToGet * in the Amazon DynamoDB Developer Guide.

*/ inline bool AttributesToGetHasBeenSet() const { return m_attributesToGetHasBeenSet; } /** *

This is a legacy parameter. Use ProjectionExpression instead. * For more information, see AttributesToGet * in the Amazon DynamoDB Developer Guide.

*/ inline void SetAttributesToGet(const Aws::Vector& value) { m_attributesToGetHasBeenSet = true; m_attributesToGet = value; } /** *

This is a legacy parameter. Use ProjectionExpression instead. * For more information, see AttributesToGet * in the Amazon DynamoDB Developer Guide.

*/ inline void SetAttributesToGet(Aws::Vector&& value) { m_attributesToGetHasBeenSet = true; m_attributesToGet = std::move(value); } /** *

This is a legacy parameter. Use ProjectionExpression instead. * For more information, see AttributesToGet * in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& WithAttributesToGet(const Aws::Vector& value) { SetAttributesToGet(value); return *this;} /** *

This is a legacy parameter. Use ProjectionExpression instead. * For more information, see AttributesToGet * in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& WithAttributesToGet(Aws::Vector&& value) { SetAttributesToGet(std::move(value)); return *this;} /** *

This is a legacy parameter. Use ProjectionExpression instead. * For more information, see AttributesToGet * in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& AddAttributesToGet(const Aws::String& value) { m_attributesToGetHasBeenSet = true; m_attributesToGet.push_back(value); return *this; } /** *

This is a legacy parameter. Use ProjectionExpression instead. * For more information, see AttributesToGet * in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& AddAttributesToGet(Aws::String&& value) { m_attributesToGetHasBeenSet = true; m_attributesToGet.push_back(std::move(value)); return *this; } /** *

This is a legacy parameter. Use ProjectionExpression instead. * For more information, see AttributesToGet * in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& AddAttributesToGet(const char* value) { m_attributesToGetHasBeenSet = true; m_attributesToGet.push_back(value); return *this; } /** *

The maximum number of items to evaluate (not necessarily the number of * matching items). If DynamoDB processes the number of items up to the limit while * processing the results, it stops the operation and returns the matching values * up to that point, and a key in LastEvaluatedKey to apply in a * subsequent operation, so that you can pick up where you left off. Also, if the * processed dataset size exceeds 1 MB before DynamoDB reaches this limit, it stops * the operation and returns the matching values up to the limit, and a key in * LastEvaluatedKey to apply in a subsequent operation to continue the * operation. For more information, see Query * and Scan in the Amazon DynamoDB Developer Guide.

*/ inline int GetLimit() const{ return m_limit; } /** *

The maximum number of items to evaluate (not necessarily the number of * matching items). If DynamoDB processes the number of items up to the limit while * processing the results, it stops the operation and returns the matching values * up to that point, and a key in LastEvaluatedKey to apply in a * subsequent operation, so that you can pick up where you left off. Also, if the * processed dataset size exceeds 1 MB before DynamoDB reaches this limit, it stops * the operation and returns the matching values up to the limit, and a key in * LastEvaluatedKey to apply in a subsequent operation to continue the * operation. For more information, see Query * and Scan in the Amazon DynamoDB Developer Guide.

*/ inline bool LimitHasBeenSet() const { return m_limitHasBeenSet; } /** *

The maximum number of items to evaluate (not necessarily the number of * matching items). If DynamoDB processes the number of items up to the limit while * processing the results, it stops the operation and returns the matching values * up to that point, and a key in LastEvaluatedKey to apply in a * subsequent operation, so that you can pick up where you left off. Also, if the * processed dataset size exceeds 1 MB before DynamoDB reaches this limit, it stops * the operation and returns the matching values up to the limit, and a key in * LastEvaluatedKey to apply in a subsequent operation to continue the * operation. For more information, see Query * and Scan in the Amazon DynamoDB Developer Guide.

*/ inline void SetLimit(int value) { m_limitHasBeenSet = true; m_limit = value; } /** *

The maximum number of items to evaluate (not necessarily the number of * matching items). If DynamoDB processes the number of items up to the limit while * processing the results, it stops the operation and returns the matching values * up to that point, and a key in LastEvaluatedKey to apply in a * subsequent operation, so that you can pick up where you left off. Also, if the * processed dataset size exceeds 1 MB before DynamoDB reaches this limit, it stops * the operation and returns the matching values up to the limit, and a key in * LastEvaluatedKey to apply in a subsequent operation to continue the * operation. For more information, see Query * and Scan in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& WithLimit(int value) { SetLimit(value); return *this;} /** *

Determines the read consistency model: If set to true, then the * operation uses strongly consistent reads; otherwise, the operation uses * eventually consistent reads.

Strongly consistent reads are not supported * on global secondary indexes. If you query a global secondary index with * ConsistentRead set to true, you will receive a * ValidationException.

*/ inline bool GetConsistentRead() const{ return m_consistentRead; } /** *

Determines the read consistency model: If set to true, then the * operation uses strongly consistent reads; otherwise, the operation uses * eventually consistent reads.

Strongly consistent reads are not supported * on global secondary indexes. If you query a global secondary index with * ConsistentRead set to true, you will receive a * ValidationException.

*/ inline bool ConsistentReadHasBeenSet() const { return m_consistentReadHasBeenSet; } /** *

Determines the read consistency model: If set to true, then the * operation uses strongly consistent reads; otherwise, the operation uses * eventually consistent reads.

Strongly consistent reads are not supported * on global secondary indexes. If you query a global secondary index with * ConsistentRead set to true, you will receive a * ValidationException.

*/ inline void SetConsistentRead(bool value) { m_consistentReadHasBeenSet = true; m_consistentRead = value; } /** *

Determines the read consistency model: If set to true, then the * operation uses strongly consistent reads; otherwise, the operation uses * eventually consistent reads.

Strongly consistent reads are not supported * on global secondary indexes. If you query a global secondary index with * ConsistentRead set to true, you will receive a * ValidationException.

*/ inline QueryRequest& WithConsistentRead(bool value) { SetConsistentRead(value); return *this;} /** *

This is a legacy parameter. Use KeyConditionExpression instead. * For more information, see KeyConditions * in the Amazon DynamoDB Developer Guide.

*/ inline const Aws::Map& GetKeyConditions() const{ return m_keyConditions; } /** *

This is a legacy parameter. Use KeyConditionExpression instead. * For more information, see KeyConditions * in the Amazon DynamoDB Developer Guide.

*/ inline bool KeyConditionsHasBeenSet() const { return m_keyConditionsHasBeenSet; } /** *

This is a legacy parameter. Use KeyConditionExpression instead. * For more information, see KeyConditions * in the Amazon DynamoDB Developer Guide.

*/ inline void SetKeyConditions(const Aws::Map& value) { m_keyConditionsHasBeenSet = true; m_keyConditions = value; } /** *

This is a legacy parameter. Use KeyConditionExpression instead. * For more information, see KeyConditions * in the Amazon DynamoDB Developer Guide.

*/ inline void SetKeyConditions(Aws::Map&& value) { m_keyConditionsHasBeenSet = true; m_keyConditions = std::move(value); } /** *

This is a legacy parameter. Use KeyConditionExpression instead. * For more information, see KeyConditions * in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& WithKeyConditions(const Aws::Map& value) { SetKeyConditions(value); return *this;} /** *

This is a legacy parameter. Use KeyConditionExpression instead. * For more information, see KeyConditions * in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& WithKeyConditions(Aws::Map&& value) { SetKeyConditions(std::move(value)); return *this;} /** *

This is a legacy parameter. Use KeyConditionExpression instead. * For more information, see KeyConditions * in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& AddKeyConditions(const Aws::String& key, const Condition& value) { m_keyConditionsHasBeenSet = true; m_keyConditions.emplace(key, value); return *this; } /** *

This is a legacy parameter. Use KeyConditionExpression instead. * For more information, see KeyConditions * in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& AddKeyConditions(Aws::String&& key, const Condition& value) { m_keyConditionsHasBeenSet = true; m_keyConditions.emplace(std::move(key), value); return *this; } /** *

This is a legacy parameter. Use KeyConditionExpression instead. * For more information, see KeyConditions * in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& AddKeyConditions(const Aws::String& key, Condition&& value) { m_keyConditionsHasBeenSet = true; m_keyConditions.emplace(key, std::move(value)); return *this; } /** *

This is a legacy parameter. Use KeyConditionExpression instead. * For more information, see KeyConditions * in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& AddKeyConditions(Aws::String&& key, Condition&& value) { m_keyConditionsHasBeenSet = true; m_keyConditions.emplace(std::move(key), std::move(value)); return *this; } /** *

This is a legacy parameter. Use KeyConditionExpression instead. * For more information, see KeyConditions * in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& AddKeyConditions(const char* key, Condition&& value) { m_keyConditionsHasBeenSet = true; m_keyConditions.emplace(key, std::move(value)); return *this; } /** *

This is a legacy parameter. Use KeyConditionExpression instead. * For more information, see KeyConditions * in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& AddKeyConditions(const char* key, const Condition& value) { m_keyConditionsHasBeenSet = true; m_keyConditions.emplace(key, value); return *this; } /** *

This is a legacy parameter. Use FilterExpression instead. For * more information, see QueryFilter * in the Amazon DynamoDB Developer Guide.

*/ inline const Aws::Map& GetQueryFilter() const{ return m_queryFilter; } /** *

This is a legacy parameter. Use FilterExpression instead. For * more information, see QueryFilter * in the Amazon DynamoDB Developer Guide.

*/ inline bool QueryFilterHasBeenSet() const { return m_queryFilterHasBeenSet; } /** *

This is a legacy parameter. Use FilterExpression instead. For * more information, see QueryFilter * in the Amazon DynamoDB Developer Guide.

*/ inline void SetQueryFilter(const Aws::Map& value) { m_queryFilterHasBeenSet = true; m_queryFilter = value; } /** *

This is a legacy parameter. Use FilterExpression instead. For * more information, see QueryFilter * in the Amazon DynamoDB Developer Guide.

*/ inline void SetQueryFilter(Aws::Map&& value) { m_queryFilterHasBeenSet = true; m_queryFilter = std::move(value); } /** *

This is a legacy parameter. Use FilterExpression instead. For * more information, see QueryFilter * in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& WithQueryFilter(const Aws::Map& value) { SetQueryFilter(value); return *this;} /** *

This is a legacy parameter. Use FilterExpression instead. For * more information, see QueryFilter * in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& WithQueryFilter(Aws::Map&& value) { SetQueryFilter(std::move(value)); return *this;} /** *

This is a legacy parameter. Use FilterExpression instead. For * more information, see QueryFilter * in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& AddQueryFilter(const Aws::String& key, const Condition& value) { m_queryFilterHasBeenSet = true; m_queryFilter.emplace(key, value); return *this; } /** *

This is a legacy parameter. Use FilterExpression instead. For * more information, see QueryFilter * in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& AddQueryFilter(Aws::String&& key, const Condition& value) { m_queryFilterHasBeenSet = true; m_queryFilter.emplace(std::move(key), value); return *this; } /** *

This is a legacy parameter. Use FilterExpression instead. For * more information, see QueryFilter * in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& AddQueryFilter(const Aws::String& key, Condition&& value) { m_queryFilterHasBeenSet = true; m_queryFilter.emplace(key, std::move(value)); return *this; } /** *

This is a legacy parameter. Use FilterExpression instead. For * more information, see QueryFilter * in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& AddQueryFilter(Aws::String&& key, Condition&& value) { m_queryFilterHasBeenSet = true; m_queryFilter.emplace(std::move(key), std::move(value)); return *this; } /** *

This is a legacy parameter. Use FilterExpression instead. For * more information, see QueryFilter * in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& AddQueryFilter(const char* key, Condition&& value) { m_queryFilterHasBeenSet = true; m_queryFilter.emplace(key, std::move(value)); return *this; } /** *

This is a legacy parameter. Use FilterExpression instead. For * more information, see QueryFilter * in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& AddQueryFilter(const char* key, const Condition& value) { m_queryFilterHasBeenSet = true; m_queryFilter.emplace(key, value); return *this; } /** *

This is a legacy parameter. Use FilterExpression instead. For * more information, see ConditionalOperator * in the Amazon DynamoDB Developer Guide.

*/ inline const ConditionalOperator& GetConditionalOperator() const{ return m_conditionalOperator; } /** *

This is a legacy parameter. Use FilterExpression instead. For * more information, see ConditionalOperator * in the Amazon DynamoDB Developer Guide.

*/ inline bool ConditionalOperatorHasBeenSet() const { return m_conditionalOperatorHasBeenSet; } /** *

This is a legacy parameter. Use FilterExpression instead. For * more information, see ConditionalOperator * in the Amazon DynamoDB Developer Guide.

*/ inline void SetConditionalOperator(const ConditionalOperator& value) { m_conditionalOperatorHasBeenSet = true; m_conditionalOperator = value; } /** *

This is a legacy parameter. Use FilterExpression instead. For * more information, see ConditionalOperator * in the Amazon DynamoDB Developer Guide.

*/ inline void SetConditionalOperator(ConditionalOperator&& value) { m_conditionalOperatorHasBeenSet = true; m_conditionalOperator = std::move(value); } /** *

This is a legacy parameter. Use FilterExpression instead. For * more information, see ConditionalOperator * in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& WithConditionalOperator(const ConditionalOperator& value) { SetConditionalOperator(value); return *this;} /** *

This is a legacy parameter. Use FilterExpression instead. For * more information, see ConditionalOperator * in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& WithConditionalOperator(ConditionalOperator&& value) { SetConditionalOperator(std::move(value)); return *this;} /** *

Specifies the order for index traversal: If true (default), the * traversal is performed in ascending order; if false, the traversal * is performed in descending order.

Items with the same partition key * value are stored in sorted order by sort key. If the sort key data type is * Number, the results are stored in numeric order. For type String, the results * are stored in order of UTF-8 bytes. For type Binary, DynamoDB treats each byte * of the binary data as unsigned.

If ScanIndexForward is * true, DynamoDB returns the results in the order in which they are * stored (by sort key value). This is the default behavior. If * ScanIndexForward is false, DynamoDB reads the results * in reverse order by sort key value, and then returns the results to the * client.

*/ inline bool GetScanIndexForward() const{ return m_scanIndexForward; } /** *

Specifies the order for index traversal: If true (default), the * traversal is performed in ascending order; if false, the traversal * is performed in descending order.

Items with the same partition key * value are stored in sorted order by sort key. If the sort key data type is * Number, the results are stored in numeric order. For type String, the results * are stored in order of UTF-8 bytes. For type Binary, DynamoDB treats each byte * of the binary data as unsigned.

If ScanIndexForward is * true, DynamoDB returns the results in the order in which they are * stored (by sort key value). This is the default behavior. If * ScanIndexForward is false, DynamoDB reads the results * in reverse order by sort key value, and then returns the results to the * client.

*/ inline bool ScanIndexForwardHasBeenSet() const { return m_scanIndexForwardHasBeenSet; } /** *

Specifies the order for index traversal: If true (default), the * traversal is performed in ascending order; if false, the traversal * is performed in descending order.

Items with the same partition key * value are stored in sorted order by sort key. If the sort key data type is * Number, the results are stored in numeric order. For type String, the results * are stored in order of UTF-8 bytes. For type Binary, DynamoDB treats each byte * of the binary data as unsigned.

If ScanIndexForward is * true, DynamoDB returns the results in the order in which they are * stored (by sort key value). This is the default behavior. If * ScanIndexForward is false, DynamoDB reads the results * in reverse order by sort key value, and then returns the results to the * client.

*/ inline void SetScanIndexForward(bool value) { m_scanIndexForwardHasBeenSet = true; m_scanIndexForward = value; } /** *

Specifies the order for index traversal: If true (default), the * traversal is performed in ascending order; if false, the traversal * is performed in descending order.

Items with the same partition key * value are stored in sorted order by sort key. If the sort key data type is * Number, the results are stored in numeric order. For type String, the results * are stored in order of UTF-8 bytes. For type Binary, DynamoDB treats each byte * of the binary data as unsigned.

If ScanIndexForward is * true, DynamoDB returns the results in the order in which they are * stored (by sort key value). This is the default behavior. If * ScanIndexForward is false, DynamoDB reads the results * in reverse order by sort key value, and then returns the results to the * client.

*/ inline QueryRequest& WithScanIndexForward(bool value) { SetScanIndexForward(value); return *this;} /** *

The primary key of the first item that this operation will evaluate. Use the * value that was returned for LastEvaluatedKey in the previous * operation.

The data type for ExclusiveStartKey must be * String, Number, or Binary. No set data types are allowed.

*/ inline const Aws::Map& GetExclusiveStartKey() const{ return m_exclusiveStartKey; } /** *

The primary key of the first item that this operation will evaluate. Use the * value that was returned for LastEvaluatedKey in the previous * operation.

The data type for ExclusiveStartKey must be * String, Number, or Binary. No set data types are allowed.

*/ inline bool ExclusiveStartKeyHasBeenSet() const { return m_exclusiveStartKeyHasBeenSet; } /** *

The primary key of the first item that this operation will evaluate. Use the * value that was returned for LastEvaluatedKey in the previous * operation.

The data type for ExclusiveStartKey must be * String, Number, or Binary. No set data types are allowed.

*/ inline void SetExclusiveStartKey(const Aws::Map& value) { m_exclusiveStartKeyHasBeenSet = true; m_exclusiveStartKey = value; } /** *

The primary key of the first item that this operation will evaluate. Use the * value that was returned for LastEvaluatedKey in the previous * operation.

The data type for ExclusiveStartKey must be * String, Number, or Binary. No set data types are allowed.

*/ inline void SetExclusiveStartKey(Aws::Map&& value) { m_exclusiveStartKeyHasBeenSet = true; m_exclusiveStartKey = std::move(value); } /** *

The primary key of the first item that this operation will evaluate. Use the * value that was returned for LastEvaluatedKey in the previous * operation.

The data type for ExclusiveStartKey must be * String, Number, or Binary. No set data types are allowed.

*/ inline QueryRequest& WithExclusiveStartKey(const Aws::Map& value) { SetExclusiveStartKey(value); return *this;} /** *

The primary key of the first item that this operation will evaluate. Use the * value that was returned for LastEvaluatedKey in the previous * operation.

The data type for ExclusiveStartKey must be * String, Number, or Binary. No set data types are allowed.

*/ inline QueryRequest& WithExclusiveStartKey(Aws::Map&& value) { SetExclusiveStartKey(std::move(value)); return *this;} /** *

The primary key of the first item that this operation will evaluate. Use the * value that was returned for LastEvaluatedKey in the previous * operation.

The data type for ExclusiveStartKey must be * String, Number, or Binary. No set data types are allowed.

*/ inline QueryRequest& AddExclusiveStartKey(const Aws::String& key, const AttributeValue& value) { m_exclusiveStartKeyHasBeenSet = true; m_exclusiveStartKey.emplace(key, value); return *this; } /** *

The primary key of the first item that this operation will evaluate. Use the * value that was returned for LastEvaluatedKey in the previous * operation.

The data type for ExclusiveStartKey must be * String, Number, or Binary. No set data types are allowed.

*/ inline QueryRequest& AddExclusiveStartKey(Aws::String&& key, const AttributeValue& value) { m_exclusiveStartKeyHasBeenSet = true; m_exclusiveStartKey.emplace(std::move(key), value); return *this; } /** *

The primary key of the first item that this operation will evaluate. Use the * value that was returned for LastEvaluatedKey in the previous * operation.

The data type for ExclusiveStartKey must be * String, Number, or Binary. No set data types are allowed.

*/ inline QueryRequest& AddExclusiveStartKey(const Aws::String& key, AttributeValue&& value) { m_exclusiveStartKeyHasBeenSet = true; m_exclusiveStartKey.emplace(key, std::move(value)); return *this; } /** *

The primary key of the first item that this operation will evaluate. Use the * value that was returned for LastEvaluatedKey in the previous * operation.

The data type for ExclusiveStartKey must be * String, Number, or Binary. No set data types are allowed.

*/ inline QueryRequest& AddExclusiveStartKey(Aws::String&& key, AttributeValue&& value) { m_exclusiveStartKeyHasBeenSet = true; m_exclusiveStartKey.emplace(std::move(key), std::move(value)); return *this; } /** *

The primary key of the first item that this operation will evaluate. Use the * value that was returned for LastEvaluatedKey in the previous * operation.

The data type for ExclusiveStartKey must be * String, Number, or Binary. No set data types are allowed.

*/ inline QueryRequest& AddExclusiveStartKey(const char* key, AttributeValue&& value) { m_exclusiveStartKeyHasBeenSet = true; m_exclusiveStartKey.emplace(key, std::move(value)); return *this; } /** *

The primary key of the first item that this operation will evaluate. Use the * value that was returned for LastEvaluatedKey in the previous * operation.

The data type for ExclusiveStartKey must be * String, Number, or Binary. No set data types are allowed.

*/ inline QueryRequest& AddExclusiveStartKey(const char* key, const AttributeValue& value) { m_exclusiveStartKeyHasBeenSet = true; m_exclusiveStartKey.emplace(key, value); return *this; } inline const ReturnConsumedCapacity& GetReturnConsumedCapacity() const{ return m_returnConsumedCapacity; } inline bool ReturnConsumedCapacityHasBeenSet() const { return m_returnConsumedCapacityHasBeenSet; } inline void SetReturnConsumedCapacity(const ReturnConsumedCapacity& value) { m_returnConsumedCapacityHasBeenSet = true; m_returnConsumedCapacity = value; } inline void SetReturnConsumedCapacity(ReturnConsumedCapacity&& value) { m_returnConsumedCapacityHasBeenSet = true; m_returnConsumedCapacity = std::move(value); } inline QueryRequest& WithReturnConsumedCapacity(const ReturnConsumedCapacity& value) { SetReturnConsumedCapacity(value); return *this;} inline QueryRequest& WithReturnConsumedCapacity(ReturnConsumedCapacity&& value) { SetReturnConsumedCapacity(std::move(value)); return *this;} /** *

A string that identifies one or more attributes to retrieve from the table. * These attributes can include scalars, sets, or elements of a JSON document. The * attributes in the expression must be separated by commas.

If no attribute * names are specified, then all attributes will be returned. If any of the * requested attributes are not found, they will not appear in the result.

*

For more information, see Accessing * Item Attributes in the Amazon DynamoDB Developer Guide.

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

A string that identifies one or more attributes to retrieve from the table. * These attributes can include scalars, sets, or elements of a JSON document. The * attributes in the expression must be separated by commas.

If no attribute * names are specified, then all attributes will be returned. If any of the * requested attributes are not found, they will not appear in the result.

*

For more information, see Accessing * Item Attributes in the Amazon DynamoDB Developer Guide.

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

A string that identifies one or more attributes to retrieve from the table. * These attributes can include scalars, sets, or elements of a JSON document. The * attributes in the expression must be separated by commas.

If no attribute * names are specified, then all attributes will be returned. If any of the * requested attributes are not found, they will not appear in the result.

*

For more information, see Accessing * Item Attributes in the Amazon DynamoDB Developer Guide.

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

A string that identifies one or more attributes to retrieve from the table. * These attributes can include scalars, sets, or elements of a JSON document. The * attributes in the expression must be separated by commas.

If no attribute * names are specified, then all attributes will be returned. If any of the * requested attributes are not found, they will not appear in the result.

*

For more information, see Accessing * Item Attributes in the Amazon DynamoDB Developer Guide.

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

A string that identifies one or more attributes to retrieve from the table. * These attributes can include scalars, sets, or elements of a JSON document. The * attributes in the expression must be separated by commas.

If no attribute * names are specified, then all attributes will be returned. If any of the * requested attributes are not found, they will not appear in the result.

*

For more information, see Accessing * Item Attributes in the Amazon DynamoDB Developer Guide.

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

A string that identifies one or more attributes to retrieve from the table. * These attributes can include scalars, sets, or elements of a JSON document. The * attributes in the expression must be separated by commas.

If no attribute * names are specified, then all attributes will be returned. If any of the * requested attributes are not found, they will not appear in the result.

*

For more information, see Accessing * Item Attributes in the Amazon DynamoDB Developer Guide.

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

A string that identifies one or more attributes to retrieve from the table. * These attributes can include scalars, sets, or elements of a JSON document. The * attributes in the expression must be separated by commas.

If no attribute * names are specified, then all attributes will be returned. If any of the * requested attributes are not found, they will not appear in the result.

*

For more information, see Accessing * Item Attributes in the Amazon DynamoDB Developer Guide.

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

A string that identifies one or more attributes to retrieve from the table. * These attributes can include scalars, sets, or elements of a JSON document. The * attributes in the expression must be separated by commas.

If no attribute * names are specified, then all attributes will be returned. If any of the * requested attributes are not found, they will not appear in the result.

*

For more information, see Accessing * Item Attributes in the Amazon DynamoDB Developer Guide.

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

A string that contains conditions that DynamoDB applies after the * Query operation, but before the data is returned to you. Items that * do not satisfy the FilterExpression criteria are not returned.

*

A FilterExpression does not allow key attributes. You cannot * define a filter expression based on a partition key or a sort key.

*

A FilterExpression is applied after the items have already been * read; the process of filtering does not consume any additional read capacity * units.

For more information, see Filter * Expressions in the Amazon DynamoDB Developer Guide.

*/ inline const Aws::String& GetFilterExpression() const{ return m_filterExpression; } /** *

A string that contains conditions that DynamoDB applies after the * Query operation, but before the data is returned to you. Items that * do not satisfy the FilterExpression criteria are not returned.

*

A FilterExpression does not allow key attributes. You cannot * define a filter expression based on a partition key or a sort key.

*

A FilterExpression is applied after the items have already been * read; the process of filtering does not consume any additional read capacity * units.

For more information, see Filter * Expressions in the Amazon DynamoDB Developer Guide.

*/ inline bool FilterExpressionHasBeenSet() const { return m_filterExpressionHasBeenSet; } /** *

A string that contains conditions that DynamoDB applies after the * Query operation, but before the data is returned to you. Items that * do not satisfy the FilterExpression criteria are not returned.

*

A FilterExpression does not allow key attributes. You cannot * define a filter expression based on a partition key or a sort key.

*

A FilterExpression is applied after the items have already been * read; the process of filtering does not consume any additional read capacity * units.

For more information, see Filter * Expressions in the Amazon DynamoDB Developer Guide.

*/ inline void SetFilterExpression(const Aws::String& value) { m_filterExpressionHasBeenSet = true; m_filterExpression = value; } /** *

A string that contains conditions that DynamoDB applies after the * Query operation, but before the data is returned to you. Items that * do not satisfy the FilterExpression criteria are not returned.

*

A FilterExpression does not allow key attributes. You cannot * define a filter expression based on a partition key or a sort key.

*

A FilterExpression is applied after the items have already been * read; the process of filtering does not consume any additional read capacity * units.

For more information, see Filter * Expressions in the Amazon DynamoDB Developer Guide.

*/ inline void SetFilterExpression(Aws::String&& value) { m_filterExpressionHasBeenSet = true; m_filterExpression = std::move(value); } /** *

A string that contains conditions that DynamoDB applies after the * Query operation, but before the data is returned to you. Items that * do not satisfy the FilterExpression criteria are not returned.

*

A FilterExpression does not allow key attributes. You cannot * define a filter expression based on a partition key or a sort key.

*

A FilterExpression is applied after the items have already been * read; the process of filtering does not consume any additional read capacity * units.

For more information, see Filter * Expressions in the Amazon DynamoDB Developer Guide.

*/ inline void SetFilterExpression(const char* value) { m_filterExpressionHasBeenSet = true; m_filterExpression.assign(value); } /** *

A string that contains conditions that DynamoDB applies after the * Query operation, but before the data is returned to you. Items that * do not satisfy the FilterExpression criteria are not returned.

*

A FilterExpression does not allow key attributes. You cannot * define a filter expression based on a partition key or a sort key.

*

A FilterExpression is applied after the items have already been * read; the process of filtering does not consume any additional read capacity * units.

For more information, see Filter * Expressions in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& WithFilterExpression(const Aws::String& value) { SetFilterExpression(value); return *this;} /** *

A string that contains conditions that DynamoDB applies after the * Query operation, but before the data is returned to you. Items that * do not satisfy the FilterExpression criteria are not returned.

*

A FilterExpression does not allow key attributes. You cannot * define a filter expression based on a partition key or a sort key.

*

A FilterExpression is applied after the items have already been * read; the process of filtering does not consume any additional read capacity * units.

For more information, see Filter * Expressions in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& WithFilterExpression(Aws::String&& value) { SetFilterExpression(std::move(value)); return *this;} /** *

A string that contains conditions that DynamoDB applies after the * Query operation, but before the data is returned to you. Items that * do not satisfy the FilterExpression criteria are not returned.

*

A FilterExpression does not allow key attributes. You cannot * define a filter expression based on a partition key or a sort key.

*

A FilterExpression is applied after the items have already been * read; the process of filtering does not consume any additional read capacity * units.

For more information, see Filter * Expressions in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& WithFilterExpression(const char* value) { SetFilterExpression(value); return *this;} /** *

The condition that specifies the key values for items to be retrieved by the * Query action.

The condition must perform an equality test on * a single partition key value.

The condition can optionally perform one of * several comparison tests on a single sort key value. This allows * Query to retrieve one item with a given partition key value and * sort key value, or several items that have the same partition key value but * different sort key values.

The partition key equality test is required, * and must be specified in the following format:

* partitionKeyName = :partitionkeyval

If * you also want to provide a condition for the sort key, it must be combined using * AND with the condition for the sort key. Following is an example, * using the = comparison operator for the sort key:

* partitionKeyName = :partitionkeyval * AND sortKeyName = * :sortkeyval

Valid comparisons for the sort key condition * are as follows:

  • sortKeyName = * :sortkeyval - true if the sort key value is equal to * :sortkeyval.

  • sortKeyName * < :sortkeyval - true if the sort key value is less * than :sortkeyval.

  • sortKeyName * <= :sortkeyval - true if the sort key value is less * than or equal to :sortkeyval.

  • * sortKeyName > :sortkeyval - true if * the sort key value is greater than :sortkeyval.

  • * sortKeyName >= :sortkeyval - true if * the sort key value is greater than or equal to :sortkeyval.

    *
  • sortKeyName BETWEEN * :sortkeyval1 AND :sortkeyval2 - true if * the sort key value is greater than or equal to :sortkeyval1, and * less than or equal to :sortkeyval2.

  • * begins_with ( sortKeyName, :sortkeyval * ) - true if the sort key value begins with a particular operand. * (You cannot use this function with a sort key that is of type Number.) Note that * the function name begins_with is case-sensitive.

*

Use the ExpressionAttributeValues parameter to replace tokens * such as :partitionval and :sortval with actual values * at runtime.

You can optionally use the * ExpressionAttributeNames parameter to replace the names of the * partition key and sort key with placeholder tokens. This option might be * necessary if an attribute name conflicts with a DynamoDB reserved word. For * example, the following KeyConditionExpression parameter causes an * error because Size is a reserved word:

  • Size = * :myval

To work around this, define a placeholder * (such a #S) to represent the attribute name Size. * KeyConditionExpression then is as follows:

  • * #S = :myval

For a list of reserved words, see * Reserved * Words in the Amazon DynamoDB Developer Guide.

For more * information on ExpressionAttributeNames and * ExpressionAttributeValues, see Using * Placeholders for Attribute Names and Values in the Amazon DynamoDB * Developer Guide.

*/ inline const Aws::String& GetKeyConditionExpression() const{ return m_keyConditionExpression; } /** *

The condition that specifies the key values for items to be retrieved by the * Query action.

The condition must perform an equality test on * a single partition key value.

The condition can optionally perform one of * several comparison tests on a single sort key value. This allows * Query to retrieve one item with a given partition key value and * sort key value, or several items that have the same partition key value but * different sort key values.

The partition key equality test is required, * and must be specified in the following format:

* partitionKeyName = :partitionkeyval

If * you also want to provide a condition for the sort key, it must be combined using * AND with the condition for the sort key. Following is an example, * using the = comparison operator for the sort key:

* partitionKeyName = :partitionkeyval * AND sortKeyName = * :sortkeyval

Valid comparisons for the sort key condition * are as follows:

  • sortKeyName = * :sortkeyval - true if the sort key value is equal to * :sortkeyval.

  • sortKeyName * < :sortkeyval - true if the sort key value is less * than :sortkeyval.

  • sortKeyName * <= :sortkeyval - true if the sort key value is less * than or equal to :sortkeyval.

  • * sortKeyName > :sortkeyval - true if * the sort key value is greater than :sortkeyval.

  • * sortKeyName >= :sortkeyval - true if * the sort key value is greater than or equal to :sortkeyval.

    *
  • sortKeyName BETWEEN * :sortkeyval1 AND :sortkeyval2 - true if * the sort key value is greater than or equal to :sortkeyval1, and * less than or equal to :sortkeyval2.

  • * begins_with ( sortKeyName, :sortkeyval * ) - true if the sort key value begins with a particular operand. * (You cannot use this function with a sort key that is of type Number.) Note that * the function name begins_with is case-sensitive.

*

Use the ExpressionAttributeValues parameter to replace tokens * such as :partitionval and :sortval with actual values * at runtime.

You can optionally use the * ExpressionAttributeNames parameter to replace the names of the * partition key and sort key with placeholder tokens. This option might be * necessary if an attribute name conflicts with a DynamoDB reserved word. For * example, the following KeyConditionExpression parameter causes an * error because Size is a reserved word:

  • Size = * :myval

To work around this, define a placeholder * (such a #S) to represent the attribute name Size. * KeyConditionExpression then is as follows:

  • * #S = :myval

For a list of reserved words, see * Reserved * Words in the Amazon DynamoDB Developer Guide.

For more * information on ExpressionAttributeNames and * ExpressionAttributeValues, see Using * Placeholders for Attribute Names and Values in the Amazon DynamoDB * Developer Guide.

*/ inline bool KeyConditionExpressionHasBeenSet() const { return m_keyConditionExpressionHasBeenSet; } /** *

The condition that specifies the key values for items to be retrieved by the * Query action.

The condition must perform an equality test on * a single partition key value.

The condition can optionally perform one of * several comparison tests on a single sort key value. This allows * Query to retrieve one item with a given partition key value and * sort key value, or several items that have the same partition key value but * different sort key values.

The partition key equality test is required, * and must be specified in the following format:

* partitionKeyName = :partitionkeyval

If * you also want to provide a condition for the sort key, it must be combined using * AND with the condition for the sort key. Following is an example, * using the = comparison operator for the sort key:

* partitionKeyName = :partitionkeyval * AND sortKeyName = * :sortkeyval

Valid comparisons for the sort key condition * are as follows:

  • sortKeyName = * :sortkeyval - true if the sort key value is equal to * :sortkeyval.

  • sortKeyName * < :sortkeyval - true if the sort key value is less * than :sortkeyval.

  • sortKeyName * <= :sortkeyval - true if the sort key value is less * than or equal to :sortkeyval.

  • * sortKeyName > :sortkeyval - true if * the sort key value is greater than :sortkeyval.

  • * sortKeyName >= :sortkeyval - true if * the sort key value is greater than or equal to :sortkeyval.

    *
  • sortKeyName BETWEEN * :sortkeyval1 AND :sortkeyval2 - true if * the sort key value is greater than or equal to :sortkeyval1, and * less than or equal to :sortkeyval2.

  • * begins_with ( sortKeyName, :sortkeyval * ) - true if the sort key value begins with a particular operand. * (You cannot use this function with a sort key that is of type Number.) Note that * the function name begins_with is case-sensitive.

*

Use the ExpressionAttributeValues parameter to replace tokens * such as :partitionval and :sortval with actual values * at runtime.

You can optionally use the * ExpressionAttributeNames parameter to replace the names of the * partition key and sort key with placeholder tokens. This option might be * necessary if an attribute name conflicts with a DynamoDB reserved word. For * example, the following KeyConditionExpression parameter causes an * error because Size is a reserved word:

  • Size = * :myval

To work around this, define a placeholder * (such a #S) to represent the attribute name Size. * KeyConditionExpression then is as follows:

  • * #S = :myval

For a list of reserved words, see * Reserved * Words in the Amazon DynamoDB Developer Guide.

For more * information on ExpressionAttributeNames and * ExpressionAttributeValues, see Using * Placeholders for Attribute Names and Values in the Amazon DynamoDB * Developer Guide.

*/ inline void SetKeyConditionExpression(const Aws::String& value) { m_keyConditionExpressionHasBeenSet = true; m_keyConditionExpression = value; } /** *

The condition that specifies the key values for items to be retrieved by the * Query action.

The condition must perform an equality test on * a single partition key value.

The condition can optionally perform one of * several comparison tests on a single sort key value. This allows * Query to retrieve one item with a given partition key value and * sort key value, or several items that have the same partition key value but * different sort key values.

The partition key equality test is required, * and must be specified in the following format:

* partitionKeyName = :partitionkeyval

If * you also want to provide a condition for the sort key, it must be combined using * AND with the condition for the sort key. Following is an example, * using the = comparison operator for the sort key:

* partitionKeyName = :partitionkeyval * AND sortKeyName = * :sortkeyval

Valid comparisons for the sort key condition * are as follows:

  • sortKeyName = * :sortkeyval - true if the sort key value is equal to * :sortkeyval.

  • sortKeyName * < :sortkeyval - true if the sort key value is less * than :sortkeyval.

  • sortKeyName * <= :sortkeyval - true if the sort key value is less * than or equal to :sortkeyval.

  • * sortKeyName > :sortkeyval - true if * the sort key value is greater than :sortkeyval.

  • * sortKeyName >= :sortkeyval - true if * the sort key value is greater than or equal to :sortkeyval.

    *
  • sortKeyName BETWEEN * :sortkeyval1 AND :sortkeyval2 - true if * the sort key value is greater than or equal to :sortkeyval1, and * less than or equal to :sortkeyval2.

  • * begins_with ( sortKeyName, :sortkeyval * ) - true if the sort key value begins with a particular operand. * (You cannot use this function with a sort key that is of type Number.) Note that * the function name begins_with is case-sensitive.

*

Use the ExpressionAttributeValues parameter to replace tokens * such as :partitionval and :sortval with actual values * at runtime.

You can optionally use the * ExpressionAttributeNames parameter to replace the names of the * partition key and sort key with placeholder tokens. This option might be * necessary if an attribute name conflicts with a DynamoDB reserved word. For * example, the following KeyConditionExpression parameter causes an * error because Size is a reserved word:

  • Size = * :myval

To work around this, define a placeholder * (such a #S) to represent the attribute name Size. * KeyConditionExpression then is as follows:

  • * #S = :myval

For a list of reserved words, see * Reserved * Words in the Amazon DynamoDB Developer Guide.

For more * information on ExpressionAttributeNames and * ExpressionAttributeValues, see Using * Placeholders for Attribute Names and Values in the Amazon DynamoDB * Developer Guide.

*/ inline void SetKeyConditionExpression(Aws::String&& value) { m_keyConditionExpressionHasBeenSet = true; m_keyConditionExpression = std::move(value); } /** *

The condition that specifies the key values for items to be retrieved by the * Query action.

The condition must perform an equality test on * a single partition key value.

The condition can optionally perform one of * several comparison tests on a single sort key value. This allows * Query to retrieve one item with a given partition key value and * sort key value, or several items that have the same partition key value but * different sort key values.

The partition key equality test is required, * and must be specified in the following format:

* partitionKeyName = :partitionkeyval

If * you also want to provide a condition for the sort key, it must be combined using * AND with the condition for the sort key. Following is an example, * using the = comparison operator for the sort key:

* partitionKeyName = :partitionkeyval * AND sortKeyName = * :sortkeyval

Valid comparisons for the sort key condition * are as follows:

  • sortKeyName = * :sortkeyval - true if the sort key value is equal to * :sortkeyval.

  • sortKeyName * < :sortkeyval - true if the sort key value is less * than :sortkeyval.

  • sortKeyName * <= :sortkeyval - true if the sort key value is less * than or equal to :sortkeyval.

  • * sortKeyName > :sortkeyval - true if * the sort key value is greater than :sortkeyval.

  • * sortKeyName >= :sortkeyval - true if * the sort key value is greater than or equal to :sortkeyval.

    *
  • sortKeyName BETWEEN * :sortkeyval1 AND :sortkeyval2 - true if * the sort key value is greater than or equal to :sortkeyval1, and * less than or equal to :sortkeyval2.

  • * begins_with ( sortKeyName, :sortkeyval * ) - true if the sort key value begins with a particular operand. * (You cannot use this function with a sort key that is of type Number.) Note that * the function name begins_with is case-sensitive.

*

Use the ExpressionAttributeValues parameter to replace tokens * such as :partitionval and :sortval with actual values * at runtime.

You can optionally use the * ExpressionAttributeNames parameter to replace the names of the * partition key and sort key with placeholder tokens. This option might be * necessary if an attribute name conflicts with a DynamoDB reserved word. For * example, the following KeyConditionExpression parameter causes an * error because Size is a reserved word:

  • Size = * :myval

To work around this, define a placeholder * (such a #S) to represent the attribute name Size. * KeyConditionExpression then is as follows:

  • * #S = :myval

For a list of reserved words, see * Reserved * Words in the Amazon DynamoDB Developer Guide.

For more * information on ExpressionAttributeNames and * ExpressionAttributeValues, see Using * Placeholders for Attribute Names and Values in the Amazon DynamoDB * Developer Guide.

*/ inline void SetKeyConditionExpression(const char* value) { m_keyConditionExpressionHasBeenSet = true; m_keyConditionExpression.assign(value); } /** *

The condition that specifies the key values for items to be retrieved by the * Query action.

The condition must perform an equality test on * a single partition key value.

The condition can optionally perform one of * several comparison tests on a single sort key value. This allows * Query to retrieve one item with a given partition key value and * sort key value, or several items that have the same partition key value but * different sort key values.

The partition key equality test is required, * and must be specified in the following format:

* partitionKeyName = :partitionkeyval

If * you also want to provide a condition for the sort key, it must be combined using * AND with the condition for the sort key. Following is an example, * using the = comparison operator for the sort key:

* partitionKeyName = :partitionkeyval * AND sortKeyName = * :sortkeyval

Valid comparisons for the sort key condition * are as follows:

  • sortKeyName = * :sortkeyval - true if the sort key value is equal to * :sortkeyval.

  • sortKeyName * < :sortkeyval - true if the sort key value is less * than :sortkeyval.

  • sortKeyName * <= :sortkeyval - true if the sort key value is less * than or equal to :sortkeyval.

  • * sortKeyName > :sortkeyval - true if * the sort key value is greater than :sortkeyval.

  • * sortKeyName >= :sortkeyval - true if * the sort key value is greater than or equal to :sortkeyval.

    *
  • sortKeyName BETWEEN * :sortkeyval1 AND :sortkeyval2 - true if * the sort key value is greater than or equal to :sortkeyval1, and * less than or equal to :sortkeyval2.

  • * begins_with ( sortKeyName, :sortkeyval * ) - true if the sort key value begins with a particular operand. * (You cannot use this function with a sort key that is of type Number.) Note that * the function name begins_with is case-sensitive.

*

Use the ExpressionAttributeValues parameter to replace tokens * such as :partitionval and :sortval with actual values * at runtime.

You can optionally use the * ExpressionAttributeNames parameter to replace the names of the * partition key and sort key with placeholder tokens. This option might be * necessary if an attribute name conflicts with a DynamoDB reserved word. For * example, the following KeyConditionExpression parameter causes an * error because Size is a reserved word:

  • Size = * :myval

To work around this, define a placeholder * (such a #S) to represent the attribute name Size. * KeyConditionExpression then is as follows:

  • * #S = :myval

For a list of reserved words, see * Reserved * Words in the Amazon DynamoDB Developer Guide.

For more * information on ExpressionAttributeNames and * ExpressionAttributeValues, see Using * Placeholders for Attribute Names and Values in the Amazon DynamoDB * Developer Guide.

*/ inline QueryRequest& WithKeyConditionExpression(const Aws::String& value) { SetKeyConditionExpression(value); return *this;} /** *

The condition that specifies the key values for items to be retrieved by the * Query action.

The condition must perform an equality test on * a single partition key value.

The condition can optionally perform one of * several comparison tests on a single sort key value. This allows * Query to retrieve one item with a given partition key value and * sort key value, or several items that have the same partition key value but * different sort key values.

The partition key equality test is required, * and must be specified in the following format:

* partitionKeyName = :partitionkeyval

If * you also want to provide a condition for the sort key, it must be combined using * AND with the condition for the sort key. Following is an example, * using the = comparison operator for the sort key:

* partitionKeyName = :partitionkeyval * AND sortKeyName = * :sortkeyval

Valid comparisons for the sort key condition * are as follows:

  • sortKeyName = * :sortkeyval - true if the sort key value is equal to * :sortkeyval.

  • sortKeyName * < :sortkeyval - true if the sort key value is less * than :sortkeyval.

  • sortKeyName * <= :sortkeyval - true if the sort key value is less * than or equal to :sortkeyval.

  • * sortKeyName > :sortkeyval - true if * the sort key value is greater than :sortkeyval.

  • * sortKeyName >= :sortkeyval - true if * the sort key value is greater than or equal to :sortkeyval.

    *
  • sortKeyName BETWEEN * :sortkeyval1 AND :sortkeyval2 - true if * the sort key value is greater than or equal to :sortkeyval1, and * less than or equal to :sortkeyval2.

  • * begins_with ( sortKeyName, :sortkeyval * ) - true if the sort key value begins with a particular operand. * (You cannot use this function with a sort key that is of type Number.) Note that * the function name begins_with is case-sensitive.

*

Use the ExpressionAttributeValues parameter to replace tokens * such as :partitionval and :sortval with actual values * at runtime.

You can optionally use the * ExpressionAttributeNames parameter to replace the names of the * partition key and sort key with placeholder tokens. This option might be * necessary if an attribute name conflicts with a DynamoDB reserved word. For * example, the following KeyConditionExpression parameter causes an * error because Size is a reserved word:

  • Size = * :myval

To work around this, define a placeholder * (such a #S) to represent the attribute name Size. * KeyConditionExpression then is as follows:

  • * #S = :myval

For a list of reserved words, see * Reserved * Words in the Amazon DynamoDB Developer Guide.

For more * information on ExpressionAttributeNames and * ExpressionAttributeValues, see Using * Placeholders for Attribute Names and Values in the Amazon DynamoDB * Developer Guide.

*/ inline QueryRequest& WithKeyConditionExpression(Aws::String&& value) { SetKeyConditionExpression(std::move(value)); return *this;} /** *

The condition that specifies the key values for items to be retrieved by the * Query action.

The condition must perform an equality test on * a single partition key value.

The condition can optionally perform one of * several comparison tests on a single sort key value. This allows * Query to retrieve one item with a given partition key value and * sort key value, or several items that have the same partition key value but * different sort key values.

The partition key equality test is required, * and must be specified in the following format:

* partitionKeyName = :partitionkeyval

If * you also want to provide a condition for the sort key, it must be combined using * AND with the condition for the sort key. Following is an example, * using the = comparison operator for the sort key:

* partitionKeyName = :partitionkeyval * AND sortKeyName = * :sortkeyval

Valid comparisons for the sort key condition * are as follows:

  • sortKeyName = * :sortkeyval - true if the sort key value is equal to * :sortkeyval.

  • sortKeyName * < :sortkeyval - true if the sort key value is less * than :sortkeyval.

  • sortKeyName * <= :sortkeyval - true if the sort key value is less * than or equal to :sortkeyval.

  • * sortKeyName > :sortkeyval - true if * the sort key value is greater than :sortkeyval.

  • * sortKeyName >= :sortkeyval - true if * the sort key value is greater than or equal to :sortkeyval.

    *
  • sortKeyName BETWEEN * :sortkeyval1 AND :sortkeyval2 - true if * the sort key value is greater than or equal to :sortkeyval1, and * less than or equal to :sortkeyval2.

  • * begins_with ( sortKeyName, :sortkeyval * ) - true if the sort key value begins with a particular operand. * (You cannot use this function with a sort key that is of type Number.) Note that * the function name begins_with is case-sensitive.

*

Use the ExpressionAttributeValues parameter to replace tokens * such as :partitionval and :sortval with actual values * at runtime.

You can optionally use the * ExpressionAttributeNames parameter to replace the names of the * partition key and sort key with placeholder tokens. This option might be * necessary if an attribute name conflicts with a DynamoDB reserved word. For * example, the following KeyConditionExpression parameter causes an * error because Size is a reserved word:

  • Size = * :myval

To work around this, define a placeholder * (such a #S) to represent the attribute name Size. * KeyConditionExpression then is as follows:

  • * #S = :myval

For a list of reserved words, see * Reserved * Words in the Amazon DynamoDB Developer Guide.

For more * information on ExpressionAttributeNames and * ExpressionAttributeValues, see Using * Placeholders for Attribute Names and Values in the Amazon DynamoDB * Developer Guide.

*/ inline QueryRequest& WithKeyConditionExpression(const char* value) { SetKeyConditionExpression(value); return *this;} /** *

One or more substitution tokens for attribute names in an expression. The * following are some use cases for using * ExpressionAttributeNames:

  • To access an attribute * whose name conflicts with a DynamoDB reserved word.

  • To create * a placeholder for repeating occurrences of an attribute name in an * expression.

  • To prevent special characters in an attribute name * from being misinterpreted in an expression.

Use the # * character in an expression to dereference an attribute name. For example, * consider the following attribute name:

  • Percentile *

The name of this attribute conflicts with a reserved word, * so it cannot be used directly in an expression. (For the complete list of * reserved words, see Reserved * Words in the Amazon DynamoDB Developer Guide). To work around this, * you could specify the following for ExpressionAttributeNames:

*
  • {"#P":"Percentile"}

You could * then use this substitution in an expression, as in this example:

  • *

    #P = :val

Tokens that begin with the * : character are expression attribute values, which are * placeholders for the actual value at runtime.

For more * information on expression attribute names, see Specifying * Item Attributes in the Amazon DynamoDB Developer Guide.

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

One or more substitution tokens for attribute names in an expression. The * following are some use cases for using * ExpressionAttributeNames:

  • To access an attribute * whose name conflicts with a DynamoDB reserved word.

  • To create * a placeholder for repeating occurrences of an attribute name in an * expression.

  • To prevent special characters in an attribute name * from being misinterpreted in an expression.

Use the # * character in an expression to dereference an attribute name. For example, * consider the following attribute name:

  • Percentile *

The name of this attribute conflicts with a reserved word, * so it cannot be used directly in an expression. (For the complete list of * reserved words, see Reserved * Words in the Amazon DynamoDB Developer Guide). To work around this, * you could specify the following for ExpressionAttributeNames:

*
  • {"#P":"Percentile"}

You could * then use this substitution in an expression, as in this example:

  • *

    #P = :val

Tokens that begin with the * : character are expression attribute values, which are * placeholders for the actual value at runtime.

For more * information on expression attribute names, see Specifying * Item Attributes in the Amazon DynamoDB Developer Guide.

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

One or more substitution tokens for attribute names in an expression. The * following are some use cases for using * ExpressionAttributeNames:

  • To access an attribute * whose name conflicts with a DynamoDB reserved word.

  • To create * a placeholder for repeating occurrences of an attribute name in an * expression.

  • To prevent special characters in an attribute name * from being misinterpreted in an expression.

Use the # * character in an expression to dereference an attribute name. For example, * consider the following attribute name:

  • Percentile *

The name of this attribute conflicts with a reserved word, * so it cannot be used directly in an expression. (For the complete list of * reserved words, see Reserved * Words in the Amazon DynamoDB Developer Guide). To work around this, * you could specify the following for ExpressionAttributeNames:

*
  • {"#P":"Percentile"}

You could * then use this substitution in an expression, as in this example:

  • *

    #P = :val

Tokens that begin with the * : character are expression attribute values, which are * placeholders for the actual value at runtime.

For more * information on expression attribute names, see Specifying * Item Attributes in the Amazon DynamoDB Developer Guide.

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

One or more substitution tokens for attribute names in an expression. The * following are some use cases for using * ExpressionAttributeNames:

  • To access an attribute * whose name conflicts with a DynamoDB reserved word.

  • To create * a placeholder for repeating occurrences of an attribute name in an * expression.

  • To prevent special characters in an attribute name * from being misinterpreted in an expression.

Use the # * character in an expression to dereference an attribute name. For example, * consider the following attribute name:

  • Percentile *

The name of this attribute conflicts with a reserved word, * so it cannot be used directly in an expression. (For the complete list of * reserved words, see Reserved * Words in the Amazon DynamoDB Developer Guide). To work around this, * you could specify the following for ExpressionAttributeNames:

*
  • {"#P":"Percentile"}

You could * then use this substitution in an expression, as in this example:

  • *

    #P = :val

Tokens that begin with the * : character are expression attribute values, which are * placeholders for the actual value at runtime.

For more * information on expression attribute names, see Specifying * Item Attributes in the Amazon DynamoDB Developer Guide.

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

One or more substitution tokens for attribute names in an expression. The * following are some use cases for using * ExpressionAttributeNames:

  • To access an attribute * whose name conflicts with a DynamoDB reserved word.

  • To create * a placeholder for repeating occurrences of an attribute name in an * expression.

  • To prevent special characters in an attribute name * from being misinterpreted in an expression.

Use the # * character in an expression to dereference an attribute name. For example, * consider the following attribute name:

  • Percentile *

The name of this attribute conflicts with a reserved word, * so it cannot be used directly in an expression. (For the complete list of * reserved words, see Reserved * Words in the Amazon DynamoDB Developer Guide). To work around this, * you could specify the following for ExpressionAttributeNames:

*
  • {"#P":"Percentile"}

You could * then use this substitution in an expression, as in this example:

  • *

    #P = :val

Tokens that begin with the * : character are expression attribute values, which are * placeholders for the actual value at runtime.

For more * information on expression attribute names, see Specifying * Item Attributes in the Amazon DynamoDB Developer Guide.

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

One or more substitution tokens for attribute names in an expression. The * following are some use cases for using * ExpressionAttributeNames:

  • To access an attribute * whose name conflicts with a DynamoDB reserved word.

  • To create * a placeholder for repeating occurrences of an attribute name in an * expression.

  • To prevent special characters in an attribute name * from being misinterpreted in an expression.

Use the # * character in an expression to dereference an attribute name. For example, * consider the following attribute name:

  • Percentile *

The name of this attribute conflicts with a reserved word, * so it cannot be used directly in an expression. (For the complete list of * reserved words, see Reserved * Words in the Amazon DynamoDB Developer Guide). To work around this, * you could specify the following for ExpressionAttributeNames:

*
  • {"#P":"Percentile"}

You could * then use this substitution in an expression, as in this example:

  • *

    #P = :val

Tokens that begin with the * : character are expression attribute values, which are * placeholders for the actual value at runtime.

For more * information on expression attribute names, see Specifying * Item Attributes in the Amazon DynamoDB Developer Guide.

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

One or more substitution tokens for attribute names in an expression. The * following are some use cases for using * ExpressionAttributeNames:

  • To access an attribute * whose name conflicts with a DynamoDB reserved word.

  • To create * a placeholder for repeating occurrences of an attribute name in an * expression.

  • To prevent special characters in an attribute name * from being misinterpreted in an expression.

Use the # * character in an expression to dereference an attribute name. For example, * consider the following attribute name:

  • Percentile *

The name of this attribute conflicts with a reserved word, * so it cannot be used directly in an expression. (For the complete list of * reserved words, see Reserved * Words in the Amazon DynamoDB Developer Guide). To work around this, * you could specify the following for ExpressionAttributeNames:

*
  • {"#P":"Percentile"}

You could * then use this substitution in an expression, as in this example:

  • *

    #P = :val

Tokens that begin with the * : character are expression attribute values, which are * placeholders for the actual value at runtime.

For more * information on expression attribute names, see Specifying * Item Attributes in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& 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 an expression. The * following are some use cases for using * ExpressionAttributeNames:

  • To access an attribute * whose name conflicts with a DynamoDB reserved word.

  • To create * a placeholder for repeating occurrences of an attribute name in an * expression.

  • To prevent special characters in an attribute name * from being misinterpreted in an expression.

Use the # * character in an expression to dereference an attribute name. For example, * consider the following attribute name:

  • Percentile *

The name of this attribute conflicts with a reserved word, * so it cannot be used directly in an expression. (For the complete list of * reserved words, see Reserved * Words in the Amazon DynamoDB Developer Guide). To work around this, * you could specify the following for ExpressionAttributeNames:

*
  • {"#P":"Percentile"}

You could * then use this substitution in an expression, as in this example:

  • *

    #P = :val

Tokens that begin with the * : character are expression attribute values, which are * placeholders for the actual value at runtime.

For more * information on expression attribute names, see Specifying * Item Attributes in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& 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 an expression. The * following are some use cases for using * ExpressionAttributeNames:

  • To access an attribute * whose name conflicts with a DynamoDB reserved word.

  • To create * a placeholder for repeating occurrences of an attribute name in an * expression.

  • To prevent special characters in an attribute name * from being misinterpreted in an expression.

Use the # * character in an expression to dereference an attribute name. For example, * consider the following attribute name:

  • Percentile *

The name of this attribute conflicts with a reserved word, * so it cannot be used directly in an expression. (For the complete list of * reserved words, see Reserved * Words in the Amazon DynamoDB Developer Guide). To work around this, * you could specify the following for ExpressionAttributeNames:

*
  • {"#P":"Percentile"}

You could * then use this substitution in an expression, as in this example:

  • *

    #P = :val

Tokens that begin with the * : character are expression attribute values, which are * placeholders for the actual value at runtime.

For more * information on expression attribute names, see Specifying * Item Attributes in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& 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 an expression. The * following are some use cases for using * ExpressionAttributeNames:

  • To access an attribute * whose name conflicts with a DynamoDB reserved word.

  • To create * a placeholder for repeating occurrences of an attribute name in an * expression.

  • To prevent special characters in an attribute name * from being misinterpreted in an expression.

Use the # * character in an expression to dereference an attribute name. For example, * consider the following attribute name:

  • Percentile *

The name of this attribute conflicts with a reserved word, * so it cannot be used directly in an expression. (For the complete list of * reserved words, see Reserved * Words in the Amazon DynamoDB Developer Guide). To work around this, * you could specify the following for ExpressionAttributeNames:

*
  • {"#P":"Percentile"}

You could * then use this substitution in an expression, as in this example:

  • *

    #P = :val

Tokens that begin with the * : character are expression attribute values, which are * placeholders for the actual value at runtime.

For more * information on expression attribute names, see Specifying * Item Attributes in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& 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 an expression. The * following are some use cases for using * ExpressionAttributeNames:

  • To access an attribute * whose name conflicts with a DynamoDB reserved word.

  • To create * a placeholder for repeating occurrences of an attribute name in an * expression.

  • To prevent special characters in an attribute name * from being misinterpreted in an expression.

Use the # * character in an expression to dereference an attribute name. For example, * consider the following attribute name:

  • Percentile *

The name of this attribute conflicts with a reserved word, * so it cannot be used directly in an expression. (For the complete list of * reserved words, see Reserved * Words in the Amazon DynamoDB Developer Guide). To work around this, * you could specify the following for ExpressionAttributeNames:

*
  • {"#P":"Percentile"}

You could * then use this substitution in an expression, as in this example:

  • *

    #P = :val

Tokens that begin with the * : character are expression attribute values, which are * placeholders for the actual value at runtime.

For more * information on expression attribute names, see Specifying * Item Attributes in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& 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 an expression. The * following are some use cases for using * ExpressionAttributeNames:

  • To access an attribute * whose name conflicts with a DynamoDB reserved word.

  • To create * a placeholder for repeating occurrences of an attribute name in an * expression.

  • To prevent special characters in an attribute name * from being misinterpreted in an expression.

Use the # * character in an expression to dereference an attribute name. For example, * consider the following attribute name:

  • Percentile *

The name of this attribute conflicts with a reserved word, * so it cannot be used directly in an expression. (For the complete list of * reserved words, see Reserved * Words in the Amazon DynamoDB Developer Guide). To work around this, * you could specify the following for ExpressionAttributeNames:

*
  • {"#P":"Percentile"}

You could * then use this substitution in an expression, as in this example:

  • *

    #P = :val

Tokens that begin with the * : character are expression attribute values, which are * placeholders for the actual value at runtime.

For more * information on expression attribute names, see Specifying * Item Attributes in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& 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 an expression. The * following are some use cases for using * ExpressionAttributeNames:

  • To access an attribute * whose name conflicts with a DynamoDB reserved word.

  • To create * a placeholder for repeating occurrences of an attribute name in an * expression.

  • To prevent special characters in an attribute name * from being misinterpreted in an expression.

Use the # * character in an expression to dereference an attribute name. For example, * consider the following attribute name:

  • Percentile *

The name of this attribute conflicts with a reserved word, * so it cannot be used directly in an expression. (For the complete list of * reserved words, see Reserved * Words in the Amazon DynamoDB Developer Guide). To work around this, * you could specify the following for ExpressionAttributeNames:

*
  • {"#P":"Percentile"}

You could * then use this substitution in an expression, as in this example:

  • *

    #P = :val

Tokens that begin with the * : character are expression attribute values, which are * placeholders for the actual value at runtime.

For more * information on expression attribute names, see Specifying * Item Attributes in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& AddExpressionAttributeNames(const char* key, const char* value) { m_expressionAttributeNamesHasBeenSet = true; m_expressionAttributeNames.emplace(key, value); return *this; } /** *

One or more values that can be substituted in an expression.

Use the * : (colon) character in an expression to dereference an attribute value. * For example, suppose that you wanted to check whether the value of the * ProductStatus attribute was one of the following:

* Available | Backordered | Discontinued

You would first need * to specify ExpressionAttributeValues as follows:

{ * ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, * ":disc":{"S":"Discontinued"} }

You could then use these values in * an expression, such as this:

ProductStatus IN (:avail, :back, * :disc)

For more information on expression attribute values, see * Specifying * Conditions in the Amazon DynamoDB Developer Guide.

*/ inline const Aws::Map& GetExpressionAttributeValues() const{ return m_expressionAttributeValues; } /** *

One or more values that can be substituted in an expression.

Use the * : (colon) character in an expression to dereference an attribute value. * For example, suppose that you wanted to check whether the value of the * ProductStatus attribute was one of the following:

* Available | Backordered | Discontinued

You would first need * to specify ExpressionAttributeValues as follows:

{ * ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, * ":disc":{"S":"Discontinued"} }

You could then use these values in * an expression, such as this:

ProductStatus IN (:avail, :back, * :disc)

For more information on expression attribute values, see * Specifying * Conditions in the Amazon DynamoDB Developer Guide.

*/ inline bool ExpressionAttributeValuesHasBeenSet() const { return m_expressionAttributeValuesHasBeenSet; } /** *

One or more values that can be substituted in an expression.

Use the * : (colon) character in an expression to dereference an attribute value. * For example, suppose that you wanted to check whether the value of the * ProductStatus attribute was one of the following:

* Available | Backordered | Discontinued

You would first need * to specify ExpressionAttributeValues as follows:

{ * ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, * ":disc":{"S":"Discontinued"} }

You could then use these values in * an expression, such as this:

ProductStatus IN (:avail, :back, * :disc)

For more information on expression attribute values, see * Specifying * Conditions in the Amazon DynamoDB Developer Guide.

*/ inline void SetExpressionAttributeValues(const Aws::Map& value) { m_expressionAttributeValuesHasBeenSet = true; m_expressionAttributeValues = value; } /** *

One or more values that can be substituted in an expression.

Use the * : (colon) character in an expression to dereference an attribute value. * For example, suppose that you wanted to check whether the value of the * ProductStatus attribute was one of the following:

* Available | Backordered | Discontinued

You would first need * to specify ExpressionAttributeValues as follows:

{ * ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, * ":disc":{"S":"Discontinued"} }

You could then use these values in * an expression, such as this:

ProductStatus IN (:avail, :back, * :disc)

For more information on expression attribute values, see * Specifying * Conditions in the Amazon DynamoDB Developer Guide.

*/ inline void SetExpressionAttributeValues(Aws::Map&& value) { m_expressionAttributeValuesHasBeenSet = true; m_expressionAttributeValues = std::move(value); } /** *

One or more values that can be substituted in an expression.

Use the * : (colon) character in an expression to dereference an attribute value. * For example, suppose that you wanted to check whether the value of the * ProductStatus attribute was one of the following:

* Available | Backordered | Discontinued

You would first need * to specify ExpressionAttributeValues as follows:

{ * ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, * ":disc":{"S":"Discontinued"} }

You could then use these values in * an expression, such as this:

ProductStatus IN (:avail, :back, * :disc)

For more information on expression attribute values, see * Specifying * Conditions in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& WithExpressionAttributeValues(const Aws::Map& value) { SetExpressionAttributeValues(value); return *this;} /** *

One or more values that can be substituted in an expression.

Use the * : (colon) character in an expression to dereference an attribute value. * For example, suppose that you wanted to check whether the value of the * ProductStatus attribute was one of the following:

* Available | Backordered | Discontinued

You would first need * to specify ExpressionAttributeValues as follows:

{ * ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, * ":disc":{"S":"Discontinued"} }

You could then use these values in * an expression, such as this:

ProductStatus IN (:avail, :back, * :disc)

For more information on expression attribute values, see * Specifying * Conditions in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& WithExpressionAttributeValues(Aws::Map&& value) { SetExpressionAttributeValues(std::move(value)); return *this;} /** *

One or more values that can be substituted in an expression.

Use the * : (colon) character in an expression to dereference an attribute value. * For example, suppose that you wanted to check whether the value of the * ProductStatus attribute was one of the following:

* Available | Backordered | Discontinued

You would first need * to specify ExpressionAttributeValues as follows:

{ * ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, * ":disc":{"S":"Discontinued"} }

You could then use these values in * an expression, such as this:

ProductStatus IN (:avail, :back, * :disc)

For more information on expression attribute values, see * Specifying * Conditions in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& AddExpressionAttributeValues(const Aws::String& key, const AttributeValue& value) { m_expressionAttributeValuesHasBeenSet = true; m_expressionAttributeValues.emplace(key, value); return *this; } /** *

One or more values that can be substituted in an expression.

Use the * : (colon) character in an expression to dereference an attribute value. * For example, suppose that you wanted to check whether the value of the * ProductStatus attribute was one of the following:

* Available | Backordered | Discontinued

You would first need * to specify ExpressionAttributeValues as follows:

{ * ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, * ":disc":{"S":"Discontinued"} }

You could then use these values in * an expression, such as this:

ProductStatus IN (:avail, :back, * :disc)

For more information on expression attribute values, see * Specifying * Conditions in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& AddExpressionAttributeValues(Aws::String&& key, const AttributeValue& value) { m_expressionAttributeValuesHasBeenSet = true; m_expressionAttributeValues.emplace(std::move(key), value); return *this; } /** *

One or more values that can be substituted in an expression.

Use the * : (colon) character in an expression to dereference an attribute value. * For example, suppose that you wanted to check whether the value of the * ProductStatus attribute was one of the following:

* Available | Backordered | Discontinued

You would first need * to specify ExpressionAttributeValues as follows:

{ * ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, * ":disc":{"S":"Discontinued"} }

You could then use these values in * an expression, such as this:

ProductStatus IN (:avail, :back, * :disc)

For more information on expression attribute values, see * Specifying * Conditions in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& AddExpressionAttributeValues(const Aws::String& key, AttributeValue&& value) { m_expressionAttributeValuesHasBeenSet = true; m_expressionAttributeValues.emplace(key, std::move(value)); return *this; } /** *

One or more values that can be substituted in an expression.

Use the * : (colon) character in an expression to dereference an attribute value. * For example, suppose that you wanted to check whether the value of the * ProductStatus attribute was one of the following:

* Available | Backordered | Discontinued

You would first need * to specify ExpressionAttributeValues as follows:

{ * ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, * ":disc":{"S":"Discontinued"} }

You could then use these values in * an expression, such as this:

ProductStatus IN (:avail, :back, * :disc)

For more information on expression attribute values, see * Specifying * Conditions in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& AddExpressionAttributeValues(Aws::String&& key, AttributeValue&& value) { m_expressionAttributeValuesHasBeenSet = true; m_expressionAttributeValues.emplace(std::move(key), std::move(value)); return *this; } /** *

One or more values that can be substituted in an expression.

Use the * : (colon) character in an expression to dereference an attribute value. * For example, suppose that you wanted to check whether the value of the * ProductStatus attribute was one of the following:

* Available | Backordered | Discontinued

You would first need * to specify ExpressionAttributeValues as follows:

{ * ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, * ":disc":{"S":"Discontinued"} }

You could then use these values in * an expression, such as this:

ProductStatus IN (:avail, :back, * :disc)

For more information on expression attribute values, see * Specifying * Conditions in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& AddExpressionAttributeValues(const char* key, AttributeValue&& value) { m_expressionAttributeValuesHasBeenSet = true; m_expressionAttributeValues.emplace(key, std::move(value)); return *this; } /** *

One or more values that can be substituted in an expression.

Use the * : (colon) character in an expression to dereference an attribute value. * For example, suppose that you wanted to check whether the value of the * ProductStatus attribute was one of the following:

* Available | Backordered | Discontinued

You would first need * to specify ExpressionAttributeValues as follows:

{ * ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, * ":disc":{"S":"Discontinued"} }

You could then use these values in * an expression, such as this:

ProductStatus IN (:avail, :back, * :disc)

For more information on expression attribute values, see * Specifying * Conditions in the Amazon DynamoDB Developer Guide.

*/ inline QueryRequest& AddExpressionAttributeValues(const char* key, const AttributeValue& value) { m_expressionAttributeValuesHasBeenSet = true; m_expressionAttributeValues.emplace(key, value); return *this; } private: Aws::String m_tableName; bool m_tableNameHasBeenSet = false; Aws::String m_indexName; bool m_indexNameHasBeenSet = false; Select m_select; bool m_selectHasBeenSet = false; Aws::Vector m_attributesToGet; bool m_attributesToGetHasBeenSet = false; int m_limit; bool m_limitHasBeenSet = false; bool m_consistentRead; bool m_consistentReadHasBeenSet = false; Aws::Map m_keyConditions; bool m_keyConditionsHasBeenSet = false; Aws::Map m_queryFilter; bool m_queryFilterHasBeenSet = false; ConditionalOperator m_conditionalOperator; bool m_conditionalOperatorHasBeenSet = false; bool m_scanIndexForward; bool m_scanIndexForwardHasBeenSet = false; Aws::Map m_exclusiveStartKey; bool m_exclusiveStartKeyHasBeenSet = false; ReturnConsumedCapacity m_returnConsumedCapacity; bool m_returnConsumedCapacityHasBeenSet = false; Aws::String m_projectionExpression; bool m_projectionExpressionHasBeenSet = false; Aws::String m_filterExpression; bool m_filterExpressionHasBeenSet = false; Aws::String m_keyConditionExpression; bool m_keyConditionExpressionHasBeenSet = false; Aws::Map m_expressionAttributeNames; bool m_expressionAttributeNamesHasBeenSet = false; Aws::Map m_expressionAttributeValues; bool m_expressionAttributeValuesHasBeenSet = false; }; } // namespace Model } // namespace DynamoDB } // namespace Aws