AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
QueryRequest.h
1
6#pragma once
7#include <aws/dynamodb/DynamoDB_EXPORTS.h>
8#include <aws/dynamodb/DynamoDBRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/dynamodb/model/Select.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/core/utils/memory/stl/AWSMap.h>
13#include <aws/dynamodb/model/ConditionalOperator.h>
14#include <aws/dynamodb/model/ReturnConsumedCapacity.h>
15#include <aws/dynamodb/model/Condition.h>
16#include <aws/dynamodb/model/AttributeValue.h>
17#include <utility>
18
19namespace Aws
20{
21namespace DynamoDB
22{
23namespace Model
24{
25
33 {
34 public:
35 AWS_DYNAMODB_API QueryRequest() = default;
36
37 // Service request name is the Operation name which will send this request out,
38 // each operation should has unique request name, so that we can get operation's name from this request.
39 // Note: this is not true for response, multiple operations may have the same response name,
40 // so we can not get operation's name from response.
41 inline virtual const char* GetServiceRequestName() const override { return "Query"; }
42
43 AWS_DYNAMODB_API Aws::String SerializePayload() const override;
44
46
50 AWS_DYNAMODB_API EndpointParameters GetEndpointContextParams() const override;
51
53
57 inline const Aws::String& GetTableName() const { return m_tableName; }
58 inline bool TableNameHasBeenSet() const { return m_tableNameHasBeenSet; }
59 template<typename TableNameT = Aws::String>
60 void SetTableName(TableNameT&& value) { m_tableNameHasBeenSet = true; m_tableName = std::forward<TableNameT>(value); }
61 template<typename TableNameT = Aws::String>
62 QueryRequest& WithTableName(TableNameT&& value) { SetTableName(std::forward<TableNameT>(value)); return *this;}
64
66
72 inline const Aws::String& GetIndexName() const { return m_indexName; }
73 inline bool IndexNameHasBeenSet() const { return m_indexNameHasBeenSet; }
74 template<typename IndexNameT = Aws::String>
75 void SetIndexName(IndexNameT&& value) { m_indexNameHasBeenSet = true; m_indexName = std::forward<IndexNameT>(value); }
76 template<typename IndexNameT = Aws::String>
77 QueryRequest& WithIndexName(IndexNameT&& value) { SetIndexName(std::forward<IndexNameT>(value)); return *this;}
79
81
121 inline Select GetSelect() const { return m_select; }
122 inline bool SelectHasBeenSet() const { return m_selectHasBeenSet; }
123 inline void SetSelect(Select value) { m_selectHasBeenSet = true; m_select = value; }
124 inline QueryRequest& WithSelect(Select value) { SetSelect(value); return *this;}
126
128
134 inline const Aws::Vector<Aws::String>& GetAttributesToGet() const { return m_attributesToGet; }
135 inline bool AttributesToGetHasBeenSet() const { return m_attributesToGetHasBeenSet; }
136 template<typename AttributesToGetT = Aws::Vector<Aws::String>>
137 void SetAttributesToGet(AttributesToGetT&& value) { m_attributesToGetHasBeenSet = true; m_attributesToGet = std::forward<AttributesToGetT>(value); }
138 template<typename AttributesToGetT = Aws::Vector<Aws::String>>
139 QueryRequest& WithAttributesToGet(AttributesToGetT&& value) { SetAttributesToGet(std::forward<AttributesToGetT>(value)); return *this;}
140 template<typename AttributesToGetT = Aws::String>
141 QueryRequest& AddAttributesToGet(AttributesToGetT&& value) { m_attributesToGetHasBeenSet = true; m_attributesToGet.emplace_back(std::forward<AttributesToGetT>(value)); return *this; }
143
145
158 inline int GetLimit() const { return m_limit; }
159 inline bool LimitHasBeenSet() const { return m_limitHasBeenSet; }
160 inline void SetLimit(int value) { m_limitHasBeenSet = true; m_limit = value; }
161 inline QueryRequest& WithLimit(int value) { SetLimit(value); return *this;}
163
165
173 inline bool GetConsistentRead() const { return m_consistentRead; }
174 inline bool ConsistentReadHasBeenSet() const { return m_consistentReadHasBeenSet; }
175 inline void SetConsistentRead(bool value) { m_consistentReadHasBeenSet = true; m_consistentRead = value; }
176 inline QueryRequest& WithConsistentRead(bool value) { SetConsistentRead(value); return *this;}
178
180
186 inline const Aws::Map<Aws::String, Condition>& GetKeyConditions() const { return m_keyConditions; }
187 inline bool KeyConditionsHasBeenSet() const { return m_keyConditionsHasBeenSet; }
188 template<typename KeyConditionsT = Aws::Map<Aws::String, Condition>>
189 void SetKeyConditions(KeyConditionsT&& value) { m_keyConditionsHasBeenSet = true; m_keyConditions = std::forward<KeyConditionsT>(value); }
190 template<typename KeyConditionsT = Aws::Map<Aws::String, Condition>>
191 QueryRequest& WithKeyConditions(KeyConditionsT&& value) { SetKeyConditions(std::forward<KeyConditionsT>(value)); return *this;}
192 template<typename KeyConditionsKeyT = Aws::String, typename KeyConditionsValueT = Condition>
193 QueryRequest& AddKeyConditions(KeyConditionsKeyT&& key, KeyConditionsValueT&& value) {
194 m_keyConditionsHasBeenSet = true; m_keyConditions.emplace(std::forward<KeyConditionsKeyT>(key), std::forward<KeyConditionsValueT>(value)); return *this;
195 }
197
199
205 inline const Aws::Map<Aws::String, Condition>& GetQueryFilter() const { return m_queryFilter; }
206 inline bool QueryFilterHasBeenSet() const { return m_queryFilterHasBeenSet; }
207 template<typename QueryFilterT = Aws::Map<Aws::String, Condition>>
208 void SetQueryFilter(QueryFilterT&& value) { m_queryFilterHasBeenSet = true; m_queryFilter = std::forward<QueryFilterT>(value); }
209 template<typename QueryFilterT = Aws::Map<Aws::String, Condition>>
210 QueryRequest& WithQueryFilter(QueryFilterT&& value) { SetQueryFilter(std::forward<QueryFilterT>(value)); return *this;}
211 template<typename QueryFilterKeyT = Aws::String, typename QueryFilterValueT = Condition>
212 QueryRequest& AddQueryFilter(QueryFilterKeyT&& key, QueryFilterValueT&& value) {
213 m_queryFilterHasBeenSet = true; m_queryFilter.emplace(std::forward<QueryFilterKeyT>(key), std::forward<QueryFilterValueT>(value)); return *this;
214 }
216
218
224 inline ConditionalOperator GetConditionalOperator() const { return m_conditionalOperator; }
225 inline bool ConditionalOperatorHasBeenSet() const { return m_conditionalOperatorHasBeenSet; }
226 inline void SetConditionalOperator(ConditionalOperator value) { m_conditionalOperatorHasBeenSet = true; m_conditionalOperator = value; }
229
231
245 inline bool GetScanIndexForward() const { return m_scanIndexForward; }
246 inline bool ScanIndexForwardHasBeenSet() const { return m_scanIndexForwardHasBeenSet; }
247 inline void SetScanIndexForward(bool value) { m_scanIndexForwardHasBeenSet = true; m_scanIndexForward = value; }
248 inline QueryRequest& WithScanIndexForward(bool value) { SetScanIndexForward(value); return *this;}
250
252
258 inline const Aws::Map<Aws::String, AttributeValue>& GetExclusiveStartKey() const { return m_exclusiveStartKey; }
259 inline bool ExclusiveStartKeyHasBeenSet() const { return m_exclusiveStartKeyHasBeenSet; }
260 template<typename ExclusiveStartKeyT = Aws::Map<Aws::String, AttributeValue>>
261 void SetExclusiveStartKey(ExclusiveStartKeyT&& value) { m_exclusiveStartKeyHasBeenSet = true; m_exclusiveStartKey = std::forward<ExclusiveStartKeyT>(value); }
262 template<typename ExclusiveStartKeyT = Aws::Map<Aws::String, AttributeValue>>
263 QueryRequest& WithExclusiveStartKey(ExclusiveStartKeyT&& value) { SetExclusiveStartKey(std::forward<ExclusiveStartKeyT>(value)); return *this;}
264 template<typename ExclusiveStartKeyKeyT = Aws::String, typename ExclusiveStartKeyValueT = AttributeValue>
265 QueryRequest& AddExclusiveStartKey(ExclusiveStartKeyKeyT&& key, ExclusiveStartKeyValueT&& value) {
266 m_exclusiveStartKeyHasBeenSet = true; m_exclusiveStartKey.emplace(std::forward<ExclusiveStartKeyKeyT>(key), std::forward<ExclusiveStartKeyValueT>(value)); return *this;
267 }
269
271
272 inline ReturnConsumedCapacity GetReturnConsumedCapacity() const { return m_returnConsumedCapacity; }
273 inline bool ReturnConsumedCapacityHasBeenSet() const { return m_returnConsumedCapacityHasBeenSet; }
274 inline void SetReturnConsumedCapacity(ReturnConsumedCapacity value) { m_returnConsumedCapacityHasBeenSet = true; m_returnConsumedCapacity = value; }
277
279
289 inline const Aws::String& GetProjectionExpression() const { return m_projectionExpression; }
290 inline bool ProjectionExpressionHasBeenSet() const { return m_projectionExpressionHasBeenSet; }
291 template<typename ProjectionExpressionT = Aws::String>
292 void SetProjectionExpression(ProjectionExpressionT&& value) { m_projectionExpressionHasBeenSet = true; m_projectionExpression = std::forward<ProjectionExpressionT>(value); }
293 template<typename ProjectionExpressionT = Aws::String>
294 QueryRequest& WithProjectionExpression(ProjectionExpressionT&& value) { SetProjectionExpression(std::forward<ProjectionExpressionT>(value)); return *this;}
296
298
310 inline const Aws::String& GetFilterExpression() const { return m_filterExpression; }
311 inline bool FilterExpressionHasBeenSet() const { return m_filterExpressionHasBeenSet; }
312 template<typename FilterExpressionT = Aws::String>
313 void SetFilterExpression(FilterExpressionT&& value) { m_filterExpressionHasBeenSet = true; m_filterExpression = std::forward<FilterExpressionT>(value); }
314 template<typename FilterExpressionT = Aws::String>
315 QueryRequest& WithFilterExpression(FilterExpressionT&& value) { SetFilterExpression(std::forward<FilterExpressionT>(value)); return *this;}
317
319
375 inline const Aws::String& GetKeyConditionExpression() const { return m_keyConditionExpression; }
376 inline bool KeyConditionExpressionHasBeenSet() const { return m_keyConditionExpressionHasBeenSet; }
377 template<typename KeyConditionExpressionT = Aws::String>
378 void SetKeyConditionExpression(KeyConditionExpressionT&& value) { m_keyConditionExpressionHasBeenSet = true; m_keyConditionExpression = std::forward<KeyConditionExpressionT>(value); }
379 template<typename KeyConditionExpressionT = Aws::String>
380 QueryRequest& WithKeyConditionExpression(KeyConditionExpressionT&& value) { SetKeyConditionExpression(std::forward<KeyConditionExpressionT>(value)); return *this;}
382
384
409 inline const Aws::Map<Aws::String, Aws::String>& GetExpressionAttributeNames() const { return m_expressionAttributeNames; }
410 inline bool ExpressionAttributeNamesHasBeenSet() const { return m_expressionAttributeNamesHasBeenSet; }
411 template<typename ExpressionAttributeNamesT = Aws::Map<Aws::String, Aws::String>>
412 void SetExpressionAttributeNames(ExpressionAttributeNamesT&& value) { m_expressionAttributeNamesHasBeenSet = true; m_expressionAttributeNames = std::forward<ExpressionAttributeNamesT>(value); }
413 template<typename ExpressionAttributeNamesT = Aws::Map<Aws::String, Aws::String>>
414 QueryRequest& WithExpressionAttributeNames(ExpressionAttributeNamesT&& value) { SetExpressionAttributeNames(std::forward<ExpressionAttributeNamesT>(value)); return *this;}
415 template<typename ExpressionAttributeNamesKeyT = Aws::String, typename ExpressionAttributeNamesValueT = Aws::String>
416 QueryRequest& AddExpressionAttributeNames(ExpressionAttributeNamesKeyT&& key, ExpressionAttributeNamesValueT&& value) {
417 m_expressionAttributeNamesHasBeenSet = true; m_expressionAttributeNames.emplace(std::forward<ExpressionAttributeNamesKeyT>(key), std::forward<ExpressionAttributeNamesValueT>(value)); return *this;
418 }
420
422
437 inline const Aws::Map<Aws::String, AttributeValue>& GetExpressionAttributeValues() const { return m_expressionAttributeValues; }
438 inline bool ExpressionAttributeValuesHasBeenSet() const { return m_expressionAttributeValuesHasBeenSet; }
439 template<typename ExpressionAttributeValuesT = Aws::Map<Aws::String, AttributeValue>>
440 void SetExpressionAttributeValues(ExpressionAttributeValuesT&& value) { m_expressionAttributeValuesHasBeenSet = true; m_expressionAttributeValues = std::forward<ExpressionAttributeValuesT>(value); }
441 template<typename ExpressionAttributeValuesT = Aws::Map<Aws::String, AttributeValue>>
442 QueryRequest& WithExpressionAttributeValues(ExpressionAttributeValuesT&& value) { SetExpressionAttributeValues(std::forward<ExpressionAttributeValuesT>(value)); return *this;}
443 template<typename ExpressionAttributeValuesKeyT = Aws::String, typename ExpressionAttributeValuesValueT = AttributeValue>
444 QueryRequest& AddExpressionAttributeValues(ExpressionAttributeValuesKeyT&& key, ExpressionAttributeValuesValueT&& value) {
445 m_expressionAttributeValuesHasBeenSet = true; m_expressionAttributeValues.emplace(std::forward<ExpressionAttributeValuesKeyT>(key), std::forward<ExpressionAttributeValuesValueT>(value)); return *this;
446 }
448 private:
449
450 Aws::String m_tableName;
451 bool m_tableNameHasBeenSet = false;
452
453 Aws::String m_indexName;
454 bool m_indexNameHasBeenSet = false;
455
456 Select m_select{Select::NOT_SET};
457 bool m_selectHasBeenSet = false;
458
459 Aws::Vector<Aws::String> m_attributesToGet;
460 bool m_attributesToGetHasBeenSet = false;
461
462 int m_limit{0};
463 bool m_limitHasBeenSet = false;
464
465 bool m_consistentRead{false};
466 bool m_consistentReadHasBeenSet = false;
467
468 Aws::Map<Aws::String, Condition> m_keyConditions;
469 bool m_keyConditionsHasBeenSet = false;
470
472 bool m_queryFilterHasBeenSet = false;
473
475 bool m_conditionalOperatorHasBeenSet = false;
476
477 bool m_scanIndexForward{false};
478 bool m_scanIndexForwardHasBeenSet = false;
479
480 Aws::Map<Aws::String, AttributeValue> m_exclusiveStartKey;
481 bool m_exclusiveStartKeyHasBeenSet = false;
482
484 bool m_returnConsumedCapacityHasBeenSet = false;
485
486 Aws::String m_projectionExpression;
487 bool m_projectionExpressionHasBeenSet = false;
488
489 Aws::String m_filterExpression;
490 bool m_filterExpressionHasBeenSet = false;
491
492 Aws::String m_keyConditionExpression;
493 bool m_keyConditionExpressionHasBeenSet = false;
494
495 Aws::Map<Aws::String, Aws::String> m_expressionAttributeNames;
496 bool m_expressionAttributeNamesHasBeenSet = false;
497
498 Aws::Map<Aws::String, AttributeValue> m_expressionAttributeValues;
499 bool m_expressionAttributeValuesHasBeenSet = false;
500 };
501
502} // namespace Model
503} // namespace DynamoDB
504} // namespace Aws
Aws::Endpoint::EndpointParameters EndpointParameters
void SetKeyConditionExpression(KeyConditionExpressionT &&value)
ConditionalOperator GetConditionalOperator() const
QueryRequest & WithLimit(int value)
const Aws::String & GetKeyConditionExpression() const
QueryRequest & AddExpressionAttributeValues(ExpressionAttributeValuesKeyT &&key, ExpressionAttributeValuesValueT &&value)
const Aws::Map< Aws::String, AttributeValue > & GetExclusiveStartKey() const
AWS_DYNAMODB_API EndpointParameters GetEndpointContextParams() const override
QueryRequest & WithExpressionAttributeNames(ExpressionAttributeNamesT &&value)
QueryRequest & WithFilterExpression(FilterExpressionT &&value)
QueryRequest & WithScanIndexForward(bool value)
void SetAttributesToGet(AttributesToGetT &&value)
QueryRequest & WithReturnConsumedCapacity(ReturnConsumedCapacity value)
QueryRequest & WithExclusiveStartKey(ExclusiveStartKeyT &&value)
void SetConditionalOperator(ConditionalOperator value)
void SetTableName(TableNameT &&value)
void SetQueryFilter(QueryFilterT &&value)
QueryRequest & AddExpressionAttributeNames(ExpressionAttributeNamesKeyT &&key, ExpressionAttributeNamesValueT &&value)
QueryRequest & WithQueryFilter(QueryFilterT &&value)
void SetKeyConditions(KeyConditionsT &&value)
void SetExclusiveStartKey(ExclusiveStartKeyT &&value)
void SetReturnConsumedCapacity(ReturnConsumedCapacity value)
QueryRequest & AddAttributesToGet(AttributesToGetT &&value)
QueryRequest & AddQueryFilter(QueryFilterKeyT &&key, QueryFilterValueT &&value)
QueryRequest & WithAttributesToGet(AttributesToGetT &&value)
QueryRequest & WithSelect(Select value)
virtual const char * GetServiceRequestName() const override
void SetExpressionAttributeNames(ExpressionAttributeNamesT &&value)
QueryRequest & WithProjectionExpression(ProjectionExpressionT &&value)
QueryRequest & WithTableName(TableNameT &&value)
QueryRequest & WithKeyConditionExpression(KeyConditionExpressionT &&value)
QueryRequest & AddKeyConditions(KeyConditionsKeyT &&key, KeyConditionsValueT &&value)
AWS_DYNAMODB_API Aws::String SerializePayload() const override
void SetIndexName(IndexNameT &&value)
QueryRequest & AddExclusiveStartKey(ExclusiveStartKeyKeyT &&key, ExclusiveStartKeyValueT &&value)
const Aws::Map< Aws::String, Aws::String > & GetExpressionAttributeNames() const
AWS_DYNAMODB_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
QueryRequest & WithConsistentRead(bool value)
QueryRequest & WithKeyConditions(KeyConditionsT &&value)
const Aws::Map< Aws::String, AttributeValue > & GetExpressionAttributeValues() const
const Aws::String & GetProjectionExpression() const
QueryRequest & WithExpressionAttributeValues(ExpressionAttributeValuesT &&value)
const Aws::Vector< Aws::String > & GetAttributesToGet() const
const Aws::String & GetFilterExpression() const
QueryRequest & WithConditionalOperator(ConditionalOperator value)
ReturnConsumedCapacity GetReturnConsumedCapacity() const
QueryRequest & WithIndexName(IndexNameT &&value)
const Aws::Map< Aws::String, Condition > & GetKeyConditions() const
const Aws::String & GetIndexName() const
const Aws::String & GetTableName() const
const Aws::Map< Aws::String, Condition > & GetQueryFilter() const
void SetProjectionExpression(ProjectionExpressionT &&value)
void SetExpressionAttributeValues(ExpressionAttributeValuesT &&value)
void SetFilterExpression(FilterExpressionT &&value)
AWS_DYNAMODB_API QueryRequest()=default
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector