AWS SDK for C++

AWS SDK for C++ Version 1.11.755

Loading...
Searching...
No Matches
GlobalSecondaryIndexDescription.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/dynamodb/DynamoDB_EXPORTS.h>
10#include <aws/dynamodb/model/GlobalSecondaryIndexWarmThroughputDescription.h>
11#include <aws/dynamodb/model/IndexStatus.h>
12#include <aws/dynamodb/model/KeySchemaElement.h>
13#include <aws/dynamodb/model/OnDemandThroughput.h>
14#include <aws/dynamodb/model/Projection.h>
15#include <aws/dynamodb/model/ProvisionedThroughputDescription.h>
16
17#include <utility>
18
19namespace Aws {
20namespace Utils {
21namespace Json {
22class JsonValue;
23class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace DynamoDB {
27namespace Model {
28
36 public:
37 AWS_DYNAMODB_API GlobalSecondaryIndexDescription() = default;
40 AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() const;
41
43
46 inline const Aws::String& GetIndexName() const { return m_indexName; }
47 inline bool IndexNameHasBeenSet() const { return m_indexNameHasBeenSet; }
48 template <typename IndexNameT = Aws::String>
49 void SetIndexName(IndexNameT&& value) {
50 m_indexNameHasBeenSet = true;
51 m_indexName = std::forward<IndexNameT>(value);
52 }
53 template <typename IndexNameT = Aws::String>
55 SetIndexName(std::forward<IndexNameT>(value));
56 return *this;
57 }
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) {
77 m_keySchemaHasBeenSet = true;
78 m_keySchema = std::forward<KeySchemaT>(value);
79 }
80 template <typename KeySchemaT = Aws::Vector<KeySchemaElement>>
82 SetKeySchema(std::forward<KeySchemaT>(value));
83 return *this;
84 }
85 template <typename KeySchemaT = KeySchemaElement>
87 m_keySchemaHasBeenSet = true;
88 m_keySchema.emplace_back(std::forward<KeySchemaT>(value));
89 return *this;
90 }
92
94
99 inline const Projection& GetProjection() const { return m_projection; }
100 inline bool ProjectionHasBeenSet() const { return m_projectionHasBeenSet; }
101 template <typename ProjectionT = Projection>
102 void SetProjection(ProjectionT&& value) {
103 m_projectionHasBeenSet = true;
104 m_projection = std::forward<ProjectionT>(value);
105 }
106 template <typename ProjectionT = Projection>
108 SetProjection(std::forward<ProjectionT>(value));
109 return *this;
110 }
112
114
121 inline IndexStatus GetIndexStatus() const { return m_indexStatus; }
122 inline bool IndexStatusHasBeenSet() const { return m_indexStatusHasBeenSet; }
123 inline void SetIndexStatus(IndexStatus value) {
124 m_indexStatusHasBeenSet = true;
125 m_indexStatus = value;
126 }
128 SetIndexStatus(value);
129 return *this;
130 }
132
134
149 inline bool GetBackfilling() const { return m_backfilling; }
150 inline bool BackfillingHasBeenSet() const { return m_backfillingHasBeenSet; }
151 inline void SetBackfilling(bool value) {
152 m_backfillingHasBeenSet = true;
153 m_backfilling = value;
154 }
156 SetBackfilling(value);
157 return *this;
158 }
160
162
169 inline const ProvisionedThroughputDescription& GetProvisionedThroughput() const { return m_provisionedThroughput; }
170 inline bool ProvisionedThroughputHasBeenSet() const { return m_provisionedThroughputHasBeenSet; }
171 template <typename ProvisionedThroughputT = ProvisionedThroughputDescription>
172 void SetProvisionedThroughput(ProvisionedThroughputT&& value) {
173 m_provisionedThroughputHasBeenSet = true;
174 m_provisionedThroughput = std::forward<ProvisionedThroughputT>(value);
175 }
176 template <typename ProvisionedThroughputT = ProvisionedThroughputDescription>
178 SetProvisionedThroughput(std::forward<ProvisionedThroughputT>(value));
179 return *this;
180 }
182
184
189 inline long long GetIndexSizeBytes() const { return m_indexSizeBytes; }
190 inline bool IndexSizeBytesHasBeenSet() const { return m_indexSizeBytesHasBeenSet; }
191 inline void SetIndexSizeBytes(long long value) {
192 m_indexSizeBytesHasBeenSet = true;
193 m_indexSizeBytes = value;
194 }
196 SetIndexSizeBytes(value);
197 return *this;
198 }
200
202
207 inline long long GetItemCount() const { return m_itemCount; }
208 inline bool ItemCountHasBeenSet() const { return m_itemCountHasBeenSet; }
209 inline void SetItemCount(long long value) {
210 m_itemCountHasBeenSet = true;
211 m_itemCount = value;
212 }
214 SetItemCount(value);
215 return *this;
216 }
218
220
223 inline const Aws::String& GetIndexArn() const { return m_indexArn; }
224 inline bool IndexArnHasBeenSet() const { return m_indexArnHasBeenSet; }
225 template <typename IndexArnT = Aws::String>
226 void SetIndexArn(IndexArnT&& value) {
227 m_indexArnHasBeenSet = true;
228 m_indexArn = std::forward<IndexArnT>(value);
229 }
230 template <typename IndexArnT = Aws::String>
232 SetIndexArn(std::forward<IndexArnT>(value));
233 return *this;
234 }
236
238
244 inline const OnDemandThroughput& GetOnDemandThroughput() const { return m_onDemandThroughput; }
245 inline bool OnDemandThroughputHasBeenSet() const { return m_onDemandThroughputHasBeenSet; }
246 template <typename OnDemandThroughputT = OnDemandThroughput>
247 void SetOnDemandThroughput(OnDemandThroughputT&& value) {
248 m_onDemandThroughputHasBeenSet = true;
249 m_onDemandThroughput = std::forward<OnDemandThroughputT>(value);
250 }
251 template <typename OnDemandThroughputT = OnDemandThroughput>
253 SetOnDemandThroughput(std::forward<OnDemandThroughputT>(value));
254 return *this;
255 }
257
259
263 inline const GlobalSecondaryIndexWarmThroughputDescription& GetWarmThroughput() const { return m_warmThroughput; }
264 inline bool WarmThroughputHasBeenSet() const { return m_warmThroughputHasBeenSet; }
265 template <typename WarmThroughputT = GlobalSecondaryIndexWarmThroughputDescription>
266 void SetWarmThroughput(WarmThroughputT&& value) {
267 m_warmThroughputHasBeenSet = true;
268 m_warmThroughput = std::forward<WarmThroughputT>(value);
269 }
270 template <typename WarmThroughputT = GlobalSecondaryIndexWarmThroughputDescription>
272 SetWarmThroughput(std::forward<WarmThroughputT>(value));
273 return *this;
274 }
276 private:
277 Aws::String m_indexName;
278
280
281 Projection m_projection;
282
283 IndexStatus m_indexStatus{IndexStatus::NOT_SET};
284
285 bool m_backfilling{false};
286
287 ProvisionedThroughputDescription m_provisionedThroughput;
288
289 long long m_indexSizeBytes{0};
290
291 long long m_itemCount{0};
292
293 Aws::String m_indexArn;
294
295 OnDemandThroughput m_onDemandThroughput;
296
297 GlobalSecondaryIndexWarmThroughputDescription m_warmThroughput;
298 bool m_indexNameHasBeenSet = false;
299 bool m_keySchemaHasBeenSet = false;
300 bool m_projectionHasBeenSet = false;
301 bool m_indexStatusHasBeenSet = false;
302 bool m_backfillingHasBeenSet = false;
303 bool m_provisionedThroughputHasBeenSet = false;
304 bool m_indexSizeBytesHasBeenSet = false;
305 bool m_itemCountHasBeenSet = false;
306 bool m_indexArnHasBeenSet = false;
307 bool m_onDemandThroughputHasBeenSet = false;
308 bool m_warmThroughputHasBeenSet = false;
309};
310
311} // namespace Model
312} // namespace DynamoDB
313} // namespace Aws
GlobalSecondaryIndexDescription & WithIndexSizeBytes(long long value)
const ProvisionedThroughputDescription & GetProvisionedThroughput() const
const Aws::Vector< KeySchemaElement > & GetKeySchema() const
GlobalSecondaryIndexDescription & WithBackfilling(bool value)
GlobalSecondaryIndexDescription & WithIndexName(IndexNameT &&value)
GlobalSecondaryIndexDescription & WithItemCount(long long value)
GlobalSecondaryIndexDescription & WithOnDemandThroughput(OnDemandThroughputT &&value)
AWS_DYNAMODB_API GlobalSecondaryIndexDescription()=default
GlobalSecondaryIndexDescription & WithIndexStatus(IndexStatus value)
const GlobalSecondaryIndexWarmThroughputDescription & GetWarmThroughput() const
GlobalSecondaryIndexDescription & WithProjection(ProjectionT &&value)
GlobalSecondaryIndexDescription & WithProvisionedThroughput(ProvisionedThroughputT &&value)
GlobalSecondaryIndexDescription & WithKeySchema(KeySchemaT &&value)
AWS_DYNAMODB_API GlobalSecondaryIndexDescription(Aws::Utils::Json::JsonView jsonValue)
AWS_DYNAMODB_API GlobalSecondaryIndexDescription & operator=(Aws::Utils::Json::JsonView jsonValue)
GlobalSecondaryIndexDescription & WithWarmThroughput(WarmThroughputT &&value)
AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() const
GlobalSecondaryIndexDescription & WithIndexArn(IndexArnT &&value)
GlobalSecondaryIndexDescription & AddKeySchema(KeySchemaT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue