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>
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>
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>>
79 template<
typename KeySchemaT = KeySchemaElement>
91 template<
typename ProjectionT = Projection>
92 void SetProjection(ProjectionT&& value) { m_projectionHasBeenSet =
true; m_projection = std::forward<ProjectionT>(value); }
93 template<
typename ProjectionT = Projection>
129 inline void SetBackfilling(
bool value) { m_backfillingHasBeenSet =
true; m_backfilling = value; }
143 template<
typename ProvisionedThroughputT = ProvisionedThroughputDescription>
144 void SetProvisionedThroughput(ProvisionedThroughputT&& value) { m_provisionedThroughputHasBeenSet =
true; m_provisionedThroughput = std::forward<ProvisionedThroughputT>(value); }
145 template<
typename ProvisionedThroughputT = ProvisionedThroughputDescription>
157 inline void SetIndexSizeBytes(
long long value) { m_indexSizeBytesHasBeenSet =
true; m_indexSizeBytes = value; }
169 inline void SetItemCount(
long long value) { m_itemCountHasBeenSet =
true; m_itemCount = value; }
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>
194 template<
typename OnDemandThroughputT = OnDemandThroughput>
195 void SetOnDemandThroughput(OnDemandThroughputT&& value) { m_onDemandThroughputHasBeenSet =
true; m_onDemandThroughput = std::forward<OnDemandThroughputT>(value); }
196 template<
typename OnDemandThroughputT = OnDemandThroughput>
207 template<
typename WarmThroughputT = GlobalSecondaryIndexWarmThroughputDescription>
208 void SetWarmThroughput(WarmThroughputT&& value) { m_warmThroughputHasBeenSet =
true; m_warmThroughput = std::forward<WarmThroughputT>(value); }
209 template<
typename WarmThroughputT = GlobalSecondaryIndexWarmThroughputDescription>
215 bool m_indexNameHasBeenSet =
false;
218 bool m_keySchemaHasBeenSet =
false;
221 bool m_projectionHasBeenSet =
false;
224 bool m_indexStatusHasBeenSet =
false;
226 bool m_backfilling{
false};
227 bool m_backfillingHasBeenSet =
false;
229 ProvisionedThroughputDescription m_provisionedThroughput;
230 bool m_provisionedThroughputHasBeenSet =
false;
232 long long m_indexSizeBytes{0};
233 bool m_indexSizeBytesHasBeenSet =
false;
235 long long m_itemCount{0};
236 bool m_itemCountHasBeenSet =
false;
239 bool m_indexArnHasBeenSet =
false;
241 OnDemandThroughput m_onDemandThroughput;
242 bool m_onDemandThroughputHasBeenSet =
false;
244 GlobalSecondaryIndexWarmThroughputDescription m_warmThroughput;
245 bool m_warmThroughputHasBeenSet =
false;
GlobalSecondaryIndexDescription & WithIndexSizeBytes(long long value)
const ProvisionedThroughputDescription & GetProvisionedThroughput() const
const Aws::Vector< KeySchemaElement > & GetKeySchema() const
bool OnDemandThroughputHasBeenSet() const
bool BackfillingHasBeenSet() const
GlobalSecondaryIndexDescription & WithBackfilling(bool value)
GlobalSecondaryIndexDescription & WithIndexName(IndexNameT &&value)
bool ProjectionHasBeenSet() const
bool IndexNameHasBeenSet() const
bool IndexStatusHasBeenSet() const
GlobalSecondaryIndexDescription & WithItemCount(long long value)
long long GetIndexSizeBytes() const
void SetIndexSizeBytes(long long value)
void SetOnDemandThroughput(OnDemandThroughputT &&value)
void SetProjection(ProjectionT &&value)
const Aws::String & GetIndexArn() const
void SetWarmThroughput(WarmThroughputT &&value)
void SetIndexName(IndexNameT &&value)
GlobalSecondaryIndexDescription & WithOnDemandThroughput(OnDemandThroughputT &&value)
void SetKeySchema(KeySchemaT &&value)
AWS_DYNAMODB_API GlobalSecondaryIndexDescription()=default
bool ItemCountHasBeenSet() const
bool GetBackfilling() const
GlobalSecondaryIndexDescription & WithIndexStatus(IndexStatus value)
const GlobalSecondaryIndexWarmThroughputDescription & GetWarmThroughput() const
const Aws::String & GetIndexName() const
GlobalSecondaryIndexDescription & WithProjection(ProjectionT &&value)
GlobalSecondaryIndexDescription & WithProvisionedThroughput(ProvisionedThroughputT &&value)
const Projection & GetProjection() const
GlobalSecondaryIndexDescription & WithKeySchema(KeySchemaT &&value)
AWS_DYNAMODB_API GlobalSecondaryIndexDescription(Aws::Utils::Json::JsonView jsonValue)
IndexStatus GetIndexStatus() const
bool IndexSizeBytesHasBeenSet() const
void SetItemCount(long long value)
const OnDemandThroughput & GetOnDemandThroughput() const
bool IndexArnHasBeenSet() const
AWS_DYNAMODB_API GlobalSecondaryIndexDescription & operator=(Aws::Utils::Json::JsonView jsonValue)
GlobalSecondaryIndexDescription & WithWarmThroughput(WarmThroughputT &&value)
bool KeySchemaHasBeenSet() const
bool WarmThroughputHasBeenSet() const
bool ProvisionedThroughputHasBeenSet() const
void SetIndexArn(IndexArnT &&value)
void SetIndexStatus(IndexStatus value)
void SetProvisionedThroughput(ProvisionedThroughputT &&value)
AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() const
void SetBackfilling(bool value)
GlobalSecondaryIndexDescription & WithIndexArn(IndexArnT &&value)
GlobalSecondaryIndexDescription & AddKeySchema(KeySchemaT &&value)
long long GetItemCount() 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