AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
GlobalSecondaryIndexDescription.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/IndexStatus.h>
12#include <aws/dynamodb/model/ProvisionedThroughputDescription.h>
13#include <aws/dynamodb/model/OnDemandThroughput.h>
14#include <aws/dynamodb/model/GlobalSecondaryIndexWarmThroughputDescription.h>
15#include <aws/dynamodb/model/KeySchemaElement.h>
16#include <utility>
17
18namespace Aws
19{
20namespace Utils
21{
22namespace Json
23{
24 class JsonValue;
25 class JsonView;
26} // namespace Json
27} // namespace Utils
28namespace DynamoDB
29{
30namespace Model
31{
32
40 {
41 public:
42 AWS_DYNAMODB_API GlobalSecondaryIndexDescription() = default;
45 AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() const;
46
47
49
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 GlobalSecondaryIndexDescription& 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 GlobalSecondaryIndexDescription& WithKeySchema(KeySchemaT&& value) { SetKeySchema(std::forward<KeySchemaT>(value)); return *this;}
79 template<typename KeySchemaT = KeySchemaElement>
80 GlobalSecondaryIndexDescription& 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 GlobalSecondaryIndexDescription& WithProjection(ProjectionT&& value) { SetProjection(std::forward<ProjectionT>(value)); return *this;}
96
98
105 inline IndexStatus GetIndexStatus() const { return m_indexStatus; }
106 inline bool IndexStatusHasBeenSet() const { return m_indexStatusHasBeenSet; }
107 inline void SetIndexStatus(IndexStatus value) { m_indexStatusHasBeenSet = true; m_indexStatus = value; }
110
112
127 inline bool GetBackfilling() const { return m_backfilling; }
128 inline bool BackfillingHasBeenSet() const { return m_backfillingHasBeenSet; }
129 inline void SetBackfilling(bool value) { m_backfillingHasBeenSet = true; m_backfilling = value; }
130 inline GlobalSecondaryIndexDescription& WithBackfilling(bool value) { SetBackfilling(value); return *this;}
132
134
141 inline const ProvisionedThroughputDescription& GetProvisionedThroughput() const { return m_provisionedThroughput; }
142 inline bool ProvisionedThroughputHasBeenSet() const { return m_provisionedThroughputHasBeenSet; }
143 template<typename ProvisionedThroughputT = ProvisionedThroughputDescription>
144 void SetProvisionedThroughput(ProvisionedThroughputT&& value) { m_provisionedThroughputHasBeenSet = true; m_provisionedThroughput = std::forward<ProvisionedThroughputT>(value); }
145 template<typename ProvisionedThroughputT = ProvisionedThroughputDescription>
146 GlobalSecondaryIndexDescription& WithProvisionedThroughput(ProvisionedThroughputT&& value) { SetProvisionedThroughput(std::forward<ProvisionedThroughputT>(value)); return *this;}
148
150
155 inline long long GetIndexSizeBytes() const { return m_indexSizeBytes; }
156 inline bool IndexSizeBytesHasBeenSet() const { return m_indexSizeBytesHasBeenSet; }
157 inline void SetIndexSizeBytes(long long value) { m_indexSizeBytesHasBeenSet = true; m_indexSizeBytes = value; }
158 inline GlobalSecondaryIndexDescription& WithIndexSizeBytes(long long value) { SetIndexSizeBytes(value); return *this;}
160
162
167 inline long long GetItemCount() const { return m_itemCount; }
168 inline bool ItemCountHasBeenSet() const { return m_itemCountHasBeenSet; }
169 inline void SetItemCount(long long value) { m_itemCountHasBeenSet = true; m_itemCount = value; }
170 inline GlobalSecondaryIndexDescription& WithItemCount(long long value) { SetItemCount(value); return *this;}
172
174
177 inline const Aws::String& GetIndexArn() const { return m_indexArn; }
178 inline bool IndexArnHasBeenSet() const { return m_indexArnHasBeenSet; }
179 template<typename IndexArnT = Aws::String>
180 void SetIndexArn(IndexArnT&& value) { m_indexArnHasBeenSet = true; m_indexArn = std::forward<IndexArnT>(value); }
181 template<typename IndexArnT = Aws::String>
182 GlobalSecondaryIndexDescription& WithIndexArn(IndexArnT&& value) { SetIndexArn(std::forward<IndexArnT>(value)); return *this;}
184
186
192 inline const OnDemandThroughput& GetOnDemandThroughput() const { return m_onDemandThroughput; }
193 inline bool OnDemandThroughputHasBeenSet() const { return m_onDemandThroughputHasBeenSet; }
194 template<typename OnDemandThroughputT = OnDemandThroughput>
195 void SetOnDemandThroughput(OnDemandThroughputT&& value) { m_onDemandThroughputHasBeenSet = true; m_onDemandThroughput = std::forward<OnDemandThroughputT>(value); }
196 template<typename OnDemandThroughputT = OnDemandThroughput>
197 GlobalSecondaryIndexDescription& WithOnDemandThroughput(OnDemandThroughputT&& value) { SetOnDemandThroughput(std::forward<OnDemandThroughputT>(value)); return *this;}
199
201
205 inline const GlobalSecondaryIndexWarmThroughputDescription& GetWarmThroughput() const { return m_warmThroughput; }
206 inline bool WarmThroughputHasBeenSet() const { return m_warmThroughputHasBeenSet; }
207 template<typename WarmThroughputT = GlobalSecondaryIndexWarmThroughputDescription>
208 void SetWarmThroughput(WarmThroughputT&& value) { m_warmThroughputHasBeenSet = true; m_warmThroughput = std::forward<WarmThroughputT>(value); }
209 template<typename WarmThroughputT = GlobalSecondaryIndexWarmThroughputDescription>
210 GlobalSecondaryIndexDescription& WithWarmThroughput(WarmThroughputT&& value) { SetWarmThroughput(std::forward<WarmThroughputT>(value)); return *this;}
212 private:
213
214 Aws::String m_indexName;
215 bool m_indexNameHasBeenSet = false;
216
218 bool m_keySchemaHasBeenSet = false;
219
220 Projection m_projection;
221 bool m_projectionHasBeenSet = false;
222
223 IndexStatus m_indexStatus{IndexStatus::NOT_SET};
224 bool m_indexStatusHasBeenSet = false;
225
226 bool m_backfilling{false};
227 bool m_backfillingHasBeenSet = false;
228
229 ProvisionedThroughputDescription m_provisionedThroughput;
230 bool m_provisionedThroughputHasBeenSet = false;
231
232 long long m_indexSizeBytes{0};
233 bool m_indexSizeBytesHasBeenSet = false;
234
235 long long m_itemCount{0};
236 bool m_itemCountHasBeenSet = false;
237
238 Aws::String m_indexArn;
239 bool m_indexArnHasBeenSet = false;
240
241 OnDemandThroughput m_onDemandThroughput;
242 bool m_onDemandThroughputHasBeenSet = false;
243
244 GlobalSecondaryIndexWarmThroughputDescription m_warmThroughput;
245 bool m_warmThroughputHasBeenSet = false;
246 };
247
248} // namespace Model
249} // namespace DynamoDB
250} // 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