AWS SDK for C++

AWS SDK for C++ Version 1.11.440

Loading...
Searching...
No Matches
GlobalSecondaryIndexInfo.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/KeySchemaElement.h>
14#include <utility>
15
16namespace Aws
17{
18namespace Utils
19{
20namespace Json
21{
22 class JsonValue;
23 class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace DynamoDB
27{
28namespace Model
29{
30
38 {
39 public:
40 AWS_DYNAMODB_API GlobalSecondaryIndexInfo();
43 AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() const;
44
45
47
50 inline const Aws::String& GetIndexName() const{ return m_indexName; }
51 inline bool IndexNameHasBeenSet() const { return m_indexNameHasBeenSet; }
52 inline void SetIndexName(const Aws::String& value) { m_indexNameHasBeenSet = true; m_indexName = value; }
53 inline void SetIndexName(Aws::String&& value) { m_indexNameHasBeenSet = true; m_indexName = std::move(value); }
54 inline void SetIndexName(const char* value) { m_indexNameHasBeenSet = true; m_indexName.assign(value); }
55 inline GlobalSecondaryIndexInfo& WithIndexName(const Aws::String& value) { SetIndexName(value); return *this;}
56 inline GlobalSecondaryIndexInfo& WithIndexName(Aws::String&& value) { SetIndexName(std::move(value)); return *this;}
57 inline GlobalSecondaryIndexInfo& WithIndexName(const char* value) { SetIndexName(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 inline void SetKeySchema(const Aws::Vector<KeySchemaElement>& value) { m_keySchemaHasBeenSet = true; m_keySchema = value; }
76 inline void SetKeySchema(Aws::Vector<KeySchemaElement>&& value) { m_keySchemaHasBeenSet = true; m_keySchema = std::move(value); }
78 inline GlobalSecondaryIndexInfo& WithKeySchema(Aws::Vector<KeySchemaElement>&& value) { SetKeySchema(std::move(value)); return *this;}
79 inline GlobalSecondaryIndexInfo& AddKeySchema(const KeySchemaElement& value) { m_keySchemaHasBeenSet = true; m_keySchema.push_back(value); return *this; }
80 inline GlobalSecondaryIndexInfo& AddKeySchema(KeySchemaElement&& value) { m_keySchemaHasBeenSet = true; m_keySchema.push_back(std::move(value)); return *this; }
82
84
89 inline const Projection& GetProjection() const{ return m_projection; }
90 inline bool ProjectionHasBeenSet() const { return m_projectionHasBeenSet; }
91 inline void SetProjection(const Projection& value) { m_projectionHasBeenSet = true; m_projection = value; }
92 inline void SetProjection(Projection&& value) { m_projectionHasBeenSet = true; m_projection = std::move(value); }
93 inline GlobalSecondaryIndexInfo& WithProjection(const Projection& value) { SetProjection(value); return *this;}
94 inline GlobalSecondaryIndexInfo& WithProjection(Projection&& value) { SetProjection(std::move(value)); return *this;}
96
98
102 inline const ProvisionedThroughput& GetProvisionedThroughput() const{ return m_provisionedThroughput; }
103 inline bool ProvisionedThroughputHasBeenSet() const { return m_provisionedThroughputHasBeenSet; }
104 inline void SetProvisionedThroughput(const ProvisionedThroughput& value) { m_provisionedThroughputHasBeenSet = true; m_provisionedThroughput = value; }
105 inline void SetProvisionedThroughput(ProvisionedThroughput&& value) { m_provisionedThroughputHasBeenSet = true; m_provisionedThroughput = std::move(value); }
109
111
112 inline const OnDemandThroughput& GetOnDemandThroughput() const{ return m_onDemandThroughput; }
113 inline bool OnDemandThroughputHasBeenSet() const { return m_onDemandThroughputHasBeenSet; }
114 inline void SetOnDemandThroughput(const OnDemandThroughput& value) { m_onDemandThroughputHasBeenSet = true; m_onDemandThroughput = value; }
115 inline void SetOnDemandThroughput(OnDemandThroughput&& value) { m_onDemandThroughputHasBeenSet = true; m_onDemandThroughput = std::move(value); }
119 private:
120
121 Aws::String m_indexName;
122 bool m_indexNameHasBeenSet = false;
123
125 bool m_keySchemaHasBeenSet = false;
126
127 Projection m_projection;
128 bool m_projectionHasBeenSet = false;
129
130 ProvisionedThroughput m_provisionedThroughput;
131 bool m_provisionedThroughputHasBeenSet = false;
132
133 OnDemandThroughput m_onDemandThroughput;
134 bool m_onDemandThroughputHasBeenSet = false;
135 };
136
137} // namespace Model
138} // namespace DynamoDB
139} // namespace Aws
void SetOnDemandThroughput(const OnDemandThroughput &value)
GlobalSecondaryIndexInfo & WithOnDemandThroughput(OnDemandThroughput &&value)
GlobalSecondaryIndexInfo & WithIndexName(Aws::String &&value)
GlobalSecondaryIndexInfo & AddKeySchema(KeySchemaElement &&value)
GlobalSecondaryIndexInfo & AddKeySchema(const KeySchemaElement &value)
const ProvisionedThroughput & GetProvisionedThroughput() const
void SetProvisionedThroughput(ProvisionedThroughput &&value)
const Aws::Vector< KeySchemaElement > & GetKeySchema() const
AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() const
GlobalSecondaryIndexInfo & WithKeySchema(Aws::Vector< KeySchemaElement > &&value)
GlobalSecondaryIndexInfo & WithIndexName(const Aws::String &value)
GlobalSecondaryIndexInfo & WithOnDemandThroughput(const OnDemandThroughput &value)
GlobalSecondaryIndexInfo & WithProvisionedThroughput(const ProvisionedThroughput &value)
GlobalSecondaryIndexInfo & WithProvisionedThroughput(ProvisionedThroughput &&value)
GlobalSecondaryIndexInfo & WithProjection(Projection &&value)
const OnDemandThroughput & GetOnDemandThroughput() const
AWS_DYNAMODB_API GlobalSecondaryIndexInfo & operator=(Aws::Utils::Json::JsonView jsonValue)
GlobalSecondaryIndexInfo & WithKeySchema(const Aws::Vector< KeySchemaElement > &value)
AWS_DYNAMODB_API GlobalSecondaryIndexInfo(Aws::Utils::Json::JsonView jsonValue)
void SetProvisionedThroughput(const ProvisionedThroughput &value)
void SetKeySchema(Aws::Vector< KeySchemaElement > &&value)
void SetKeySchema(const Aws::Vector< KeySchemaElement > &value)
GlobalSecondaryIndexInfo & WithProjection(const Projection &value)
GlobalSecondaryIndexInfo & WithIndexName(const char *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