AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
GlobalSecondaryIndex.h
1
6#pragma once
7#include <aws/dynamodb/DynamoDB_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/dynamodb/model/Projection.h>
11#include <aws/dynamodb/model/ProvisionedThroughput.h>
12#include <aws/dynamodb/model/OnDemandThroughput.h>
13#include <aws/dynamodb/model/WarmThroughput.h>
14#include <aws/dynamodb/model/KeySchemaElement.h>
15#include <utility>
16
17namespace Aws
18{
19namespace Utils
20{
21namespace Json
22{
23 class JsonValue;
24 class JsonView;
25} // namespace Json
26} // namespace Utils
27namespace DynamoDB
28{
29namespace Model
30{
31
39 {
40 public:
41 AWS_DYNAMODB_API GlobalSecondaryIndex() = default;
44 AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() const;
45
46
48
52 inline const Aws::String& GetIndexName() const { return m_indexName; }
53 inline bool IndexNameHasBeenSet() const { return m_indexNameHasBeenSet; }
54 template<typename IndexNameT = Aws::String>
55 void SetIndexName(IndexNameT&& value) { m_indexNameHasBeenSet = true; m_indexName = std::forward<IndexNameT>(value); }
56 template<typename IndexNameT = Aws::String>
57 GlobalSecondaryIndex& WithIndexName(IndexNameT&& value) { SetIndexName(std::forward<IndexNameT>(value)); return *this;}
59
61
73 inline const Aws::Vector<KeySchemaElement>& GetKeySchema() const { return m_keySchema; }
74 inline bool KeySchemaHasBeenSet() const { return m_keySchemaHasBeenSet; }
75 template<typename KeySchemaT = Aws::Vector<KeySchemaElement>>
76 void SetKeySchema(KeySchemaT&& value) { m_keySchemaHasBeenSet = true; m_keySchema = std::forward<KeySchemaT>(value); }
77 template<typename KeySchemaT = Aws::Vector<KeySchemaElement>>
78 GlobalSecondaryIndex& WithKeySchema(KeySchemaT&& value) { SetKeySchema(std::forward<KeySchemaT>(value)); return *this;}
79 template<typename KeySchemaT = KeySchemaElement>
80 GlobalSecondaryIndex& AddKeySchema(KeySchemaT&& value) { m_keySchemaHasBeenSet = true; m_keySchema.emplace_back(std::forward<KeySchemaT>(value)); return *this; }
82
84
89 inline const Projection& GetProjection() const { return m_projection; }
90 inline bool ProjectionHasBeenSet() const { return m_projectionHasBeenSet; }
91 template<typename ProjectionT = Projection>
92 void SetProjection(ProjectionT&& value) { m_projectionHasBeenSet = true; m_projection = std::forward<ProjectionT>(value); }
93 template<typename ProjectionT = Projection>
94 GlobalSecondaryIndex& WithProjection(ProjectionT&& value) { SetProjection(std::forward<ProjectionT>(value)); return *this;}
96
98
106 inline const ProvisionedThroughput& GetProvisionedThroughput() const { return m_provisionedThroughput; }
107 inline bool ProvisionedThroughputHasBeenSet() const { return m_provisionedThroughputHasBeenSet; }
108 template<typename ProvisionedThroughputT = ProvisionedThroughput>
109 void SetProvisionedThroughput(ProvisionedThroughputT&& value) { m_provisionedThroughputHasBeenSet = true; m_provisionedThroughput = std::forward<ProvisionedThroughputT>(value); }
110 template<typename ProvisionedThroughputT = ProvisionedThroughput>
111 GlobalSecondaryIndex& WithProvisionedThroughput(ProvisionedThroughputT&& value) { SetProvisionedThroughput(std::forward<ProvisionedThroughputT>(value)); return *this;}
113
115
122 inline const OnDemandThroughput& GetOnDemandThroughput() const { return m_onDemandThroughput; }
123 inline bool OnDemandThroughputHasBeenSet() const { return m_onDemandThroughputHasBeenSet; }
124 template<typename OnDemandThroughputT = OnDemandThroughput>
125 void SetOnDemandThroughput(OnDemandThroughputT&& value) { m_onDemandThroughputHasBeenSet = true; m_onDemandThroughput = std::forward<OnDemandThroughputT>(value); }
126 template<typename OnDemandThroughputT = OnDemandThroughput>
127 GlobalSecondaryIndex& WithOnDemandThroughput(OnDemandThroughputT&& value) { SetOnDemandThroughput(std::forward<OnDemandThroughputT>(value)); return *this;}
129
131
137 inline const WarmThroughput& GetWarmThroughput() const { return m_warmThroughput; }
138 inline bool WarmThroughputHasBeenSet() const { return m_warmThroughputHasBeenSet; }
139 template<typename WarmThroughputT = WarmThroughput>
140 void SetWarmThroughput(WarmThroughputT&& value) { m_warmThroughputHasBeenSet = true; m_warmThroughput = std::forward<WarmThroughputT>(value); }
141 template<typename WarmThroughputT = WarmThroughput>
142 GlobalSecondaryIndex& WithWarmThroughput(WarmThroughputT&& value) { SetWarmThroughput(std::forward<WarmThroughputT>(value)); return *this;}
144 private:
145
146 Aws::String m_indexName;
147 bool m_indexNameHasBeenSet = false;
148
150 bool m_keySchemaHasBeenSet = false;
151
152 Projection m_projection;
153 bool m_projectionHasBeenSet = false;
154
155 ProvisionedThroughput m_provisionedThroughput;
156 bool m_provisionedThroughputHasBeenSet = false;
157
158 OnDemandThroughput m_onDemandThroughput;
159 bool m_onDemandThroughputHasBeenSet = false;
160
161 WarmThroughput m_warmThroughput;
162 bool m_warmThroughputHasBeenSet = false;
163 };
164
165} // namespace Model
166} // namespace DynamoDB
167} // namespace Aws
const WarmThroughput & GetWarmThroughput() const
AWS_DYNAMODB_API GlobalSecondaryIndex(Aws::Utils::Json::JsonView jsonValue)
void SetProvisionedThroughput(ProvisionedThroughputT &&value)
AWS_DYNAMODB_API GlobalSecondaryIndex & operator=(Aws::Utils::Json::JsonView jsonValue)
GlobalSecondaryIndex & WithProvisionedThroughput(ProvisionedThroughputT &&value)
void SetWarmThroughput(WarmThroughputT &&value)
GlobalSecondaryIndex & AddKeySchema(KeySchemaT &&value)
const ProvisionedThroughput & GetProvisionedThroughput() const
GlobalSecondaryIndex & WithOnDemandThroughput(OnDemandThroughputT &&value)
void SetOnDemandThroughput(OnDemandThroughputT &&value)
GlobalSecondaryIndex & WithWarmThroughput(WarmThroughputT &&value)
GlobalSecondaryIndex & WithKeySchema(KeySchemaT &&value)
AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_DYNAMODB_API GlobalSecondaryIndex()=default
GlobalSecondaryIndex & WithIndexName(IndexNameT &&value)
const OnDemandThroughput & GetOnDemandThroughput() const
GlobalSecondaryIndex & WithProjection(ProjectionT &&value)
const Aws::Vector< KeySchemaElement > & GetKeySchema() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue