AWS SDK for C++

AWS SDK for C++ Version 1.11.755

Loading...
Searching...
No Matches
CreateGlobalSecondaryIndexAction.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/KeySchemaElement.h>
11#include <aws/dynamodb/model/OnDemandThroughput.h>
12#include <aws/dynamodb/model/Projection.h>
13#include <aws/dynamodb/model/ProvisionedThroughput.h>
14#include <aws/dynamodb/model/WarmThroughput.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Json {
21class JsonValue;
22class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace DynamoDB {
26namespace Model {
27
35 public:
36 AWS_DYNAMODB_API CreateGlobalSecondaryIndexAction() = default;
39 AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() const;
40
42
45 inline const Aws::String& GetIndexName() const { return m_indexName; }
46 inline bool IndexNameHasBeenSet() const { return m_indexNameHasBeenSet; }
47 template <typename IndexNameT = Aws::String>
48 void SetIndexName(IndexNameT&& value) {
49 m_indexNameHasBeenSet = true;
50 m_indexName = std::forward<IndexNameT>(value);
51 }
52 template <typename IndexNameT = Aws::String>
54 SetIndexName(std::forward<IndexNameT>(value));
55 return *this;
56 }
58
60
64 inline const Aws::Vector<KeySchemaElement>& GetKeySchema() const { return m_keySchema; }
65 inline bool KeySchemaHasBeenSet() const { return m_keySchemaHasBeenSet; }
66 template <typename KeySchemaT = Aws::Vector<KeySchemaElement>>
67 void SetKeySchema(KeySchemaT&& value) {
68 m_keySchemaHasBeenSet = true;
69 m_keySchema = std::forward<KeySchemaT>(value);
70 }
71 template <typename KeySchemaT = Aws::Vector<KeySchemaElement>>
73 SetKeySchema(std::forward<KeySchemaT>(value));
74 return *this;
75 }
76 template <typename KeySchemaT = KeySchemaElement>
78 m_keySchemaHasBeenSet = true;
79 m_keySchema.emplace_back(std::forward<KeySchemaT>(value));
80 return *this;
81 }
83
85
90 inline const Projection& GetProjection() const { return m_projection; }
91 inline bool ProjectionHasBeenSet() const { return m_projectionHasBeenSet; }
92 template <typename ProjectionT = Projection>
93 void SetProjection(ProjectionT&& value) {
94 m_projectionHasBeenSet = true;
95 m_projection = std::forward<ProjectionT>(value);
96 }
97 template <typename ProjectionT = Projection>
99 SetProjection(std::forward<ProjectionT>(value));
100 return *this;
101 }
103
105
112 inline const ProvisionedThroughput& GetProvisionedThroughput() const { return m_provisionedThroughput; }
113 inline bool ProvisionedThroughputHasBeenSet() const { return m_provisionedThroughputHasBeenSet; }
114 template <typename ProvisionedThroughputT = ProvisionedThroughput>
115 void SetProvisionedThroughput(ProvisionedThroughputT&& value) {
116 m_provisionedThroughputHasBeenSet = true;
117 m_provisionedThroughput = std::forward<ProvisionedThroughputT>(value);
118 }
119 template <typename ProvisionedThroughputT = ProvisionedThroughput>
121 SetProvisionedThroughput(std::forward<ProvisionedThroughputT>(value));
122 return *this;
123 }
125
127
134 inline const OnDemandThroughput& GetOnDemandThroughput() const { return m_onDemandThroughput; }
135 inline bool OnDemandThroughputHasBeenSet() const { return m_onDemandThroughputHasBeenSet; }
136 template <typename OnDemandThroughputT = OnDemandThroughput>
137 void SetOnDemandThroughput(OnDemandThroughputT&& value) {
138 m_onDemandThroughputHasBeenSet = true;
139 m_onDemandThroughput = std::forward<OnDemandThroughputT>(value);
140 }
141 template <typename OnDemandThroughputT = OnDemandThroughput>
143 SetOnDemandThroughput(std::forward<OnDemandThroughputT>(value));
144 return *this;
145 }
147
149
153 inline const WarmThroughput& GetWarmThroughput() const { return m_warmThroughput; }
154 inline bool WarmThroughputHasBeenSet() const { return m_warmThroughputHasBeenSet; }
155 template <typename WarmThroughputT = WarmThroughput>
156 void SetWarmThroughput(WarmThroughputT&& value) {
157 m_warmThroughputHasBeenSet = true;
158 m_warmThroughput = std::forward<WarmThroughputT>(value);
159 }
160 template <typename WarmThroughputT = WarmThroughput>
162 SetWarmThroughput(std::forward<WarmThroughputT>(value));
163 return *this;
164 }
166 private:
167 Aws::String m_indexName;
168
170
171 Projection m_projection;
172
173 ProvisionedThroughput m_provisionedThroughput;
174
175 OnDemandThroughput m_onDemandThroughput;
176
177 WarmThroughput m_warmThroughput;
178 bool m_indexNameHasBeenSet = false;
179 bool m_keySchemaHasBeenSet = false;
180 bool m_projectionHasBeenSet = false;
181 bool m_provisionedThroughputHasBeenSet = false;
182 bool m_onDemandThroughputHasBeenSet = false;
183 bool m_warmThroughputHasBeenSet = false;
184};
185
186} // namespace Model
187} // namespace DynamoDB
188} // namespace Aws
AWS_DYNAMODB_API CreateGlobalSecondaryIndexAction & operator=(Aws::Utils::Json::JsonView jsonValue)
CreateGlobalSecondaryIndexAction & WithIndexName(IndexNameT &&value)
const Aws::Vector< KeySchemaElement > & GetKeySchema() const
CreateGlobalSecondaryIndexAction & WithOnDemandThroughput(OnDemandThroughputT &&value)
CreateGlobalSecondaryIndexAction & AddKeySchema(KeySchemaT &&value)
CreateGlobalSecondaryIndexAction & WithProvisionedThroughput(ProvisionedThroughputT &&value)
AWS_DYNAMODB_API CreateGlobalSecondaryIndexAction()=default
AWS_DYNAMODB_API CreateGlobalSecondaryIndexAction(Aws::Utils::Json::JsonView jsonValue)
CreateGlobalSecondaryIndexAction & WithWarmThroughput(WarmThroughputT &&value)
CreateGlobalSecondaryIndexAction & WithKeySchema(KeySchemaT &&value)
AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() const
CreateGlobalSecondaryIndexAction & WithProjection(ProjectionT &&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