AWS SDK for C++

AWS SDK for C++ Version 1.11.754

Loading...
Searching...
No Matches
GlobalSecondaryIndexInfo.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
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace DynamoDB {
25namespace Model {
26
34 public:
35 AWS_DYNAMODB_API GlobalSecondaryIndexInfo() = default;
38 AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() const;
39
41
44 inline const Aws::String& GetIndexName() const { return m_indexName; }
45 inline bool IndexNameHasBeenSet() const { return m_indexNameHasBeenSet; }
46 template <typename IndexNameT = Aws::String>
47 void SetIndexName(IndexNameT&& value) {
48 m_indexNameHasBeenSet = true;
49 m_indexName = std::forward<IndexNameT>(value);
50 }
51 template <typename IndexNameT = Aws::String>
53 SetIndexName(std::forward<IndexNameT>(value));
54 return *this;
55 }
57
59
71 inline const Aws::Vector<KeySchemaElement>& GetKeySchema() const { return m_keySchema; }
72 inline bool KeySchemaHasBeenSet() const { return m_keySchemaHasBeenSet; }
73 template <typename KeySchemaT = Aws::Vector<KeySchemaElement>>
74 void SetKeySchema(KeySchemaT&& value) {
75 m_keySchemaHasBeenSet = true;
76 m_keySchema = std::forward<KeySchemaT>(value);
77 }
78 template <typename KeySchemaT = Aws::Vector<KeySchemaElement>>
80 SetKeySchema(std::forward<KeySchemaT>(value));
81 return *this;
82 }
83 template <typename KeySchemaT = KeySchemaElement>
85 m_keySchemaHasBeenSet = true;
86 m_keySchema.emplace_back(std::forward<KeySchemaT>(value));
87 return *this;
88 }
90
92
97 inline const Projection& GetProjection() const { return m_projection; }
98 inline bool ProjectionHasBeenSet() const { return m_projectionHasBeenSet; }
99 template <typename ProjectionT = Projection>
100 void SetProjection(ProjectionT&& value) {
101 m_projectionHasBeenSet = true;
102 m_projection = std::forward<ProjectionT>(value);
103 }
104 template <typename ProjectionT = Projection>
106 SetProjection(std::forward<ProjectionT>(value));
107 return *this;
108 }
110
112
116 inline const ProvisionedThroughput& GetProvisionedThroughput() const { return m_provisionedThroughput; }
117 inline bool ProvisionedThroughputHasBeenSet() const { return m_provisionedThroughputHasBeenSet; }
118 template <typename ProvisionedThroughputT = ProvisionedThroughput>
119 void SetProvisionedThroughput(ProvisionedThroughputT&& value) {
120 m_provisionedThroughputHasBeenSet = true;
121 m_provisionedThroughput = std::forward<ProvisionedThroughputT>(value);
122 }
123 template <typename ProvisionedThroughputT = ProvisionedThroughput>
124 GlobalSecondaryIndexInfo& WithProvisionedThroughput(ProvisionedThroughputT&& value) {
125 SetProvisionedThroughput(std::forward<ProvisionedThroughputT>(value));
126 return *this;
127 }
129
131
132 inline const OnDemandThroughput& GetOnDemandThroughput() const { return m_onDemandThroughput; }
133 inline bool OnDemandThroughputHasBeenSet() const { return m_onDemandThroughputHasBeenSet; }
134 template <typename OnDemandThroughputT = OnDemandThroughput>
135 void SetOnDemandThroughput(OnDemandThroughputT&& value) {
136 m_onDemandThroughputHasBeenSet = true;
137 m_onDemandThroughput = std::forward<OnDemandThroughputT>(value);
138 }
139 template <typename OnDemandThroughputT = OnDemandThroughput>
140 GlobalSecondaryIndexInfo& WithOnDemandThroughput(OnDemandThroughputT&& value) {
141 SetOnDemandThroughput(std::forward<OnDemandThroughputT>(value));
142 return *this;
143 }
145 private:
146 Aws::String m_indexName;
147
149
150 Projection m_projection;
151
152 ProvisionedThroughput m_provisionedThroughput;
153
154 OnDemandThroughput m_onDemandThroughput;
155 bool m_indexNameHasBeenSet = false;
156 bool m_keySchemaHasBeenSet = false;
157 bool m_projectionHasBeenSet = false;
158 bool m_provisionedThroughputHasBeenSet = false;
159 bool m_onDemandThroughputHasBeenSet = false;
160};
161
162} // namespace Model
163} // namespace DynamoDB
164} // namespace Aws
void SetProvisionedThroughput(ProvisionedThroughputT &&value)
void SetOnDemandThroughput(OnDemandThroughputT &&value)
const ProvisionedThroughput & GetProvisionedThroughput() const
const Aws::Vector< KeySchemaElement > & GetKeySchema() const
AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() const
GlobalSecondaryIndexInfo & WithProvisionedThroughput(ProvisionedThroughputT &&value)
AWS_DYNAMODB_API GlobalSecondaryIndexInfo()=default
GlobalSecondaryIndexInfo & AddKeySchema(KeySchemaT &&value)
GlobalSecondaryIndexInfo & WithProjection(ProjectionT &&value)
const OnDemandThroughput & GetOnDemandThroughput() const
AWS_DYNAMODB_API GlobalSecondaryIndexInfo & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_DYNAMODB_API GlobalSecondaryIndexInfo(Aws::Utils::Json::JsonView jsonValue)
GlobalSecondaryIndexInfo & WithIndexName(IndexNameT &&value)
GlobalSecondaryIndexInfo & WithKeySchema(KeySchemaT &&value)
GlobalSecondaryIndexInfo & WithOnDemandThroughput(OnDemandThroughputT &&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