AWS SDK for C++

AWS SDK for C++ Version 1.11.755

Loading...
Searching...
No Matches
LocalSecondaryIndexDescription.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/Projection.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace DynamoDB {
23namespace Model {
24
32 public:
33 AWS_DYNAMODB_API LocalSecondaryIndexDescription() = default;
36 AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
42 inline const Aws::String& GetIndexName() const { return m_indexName; }
43 inline bool IndexNameHasBeenSet() const { return m_indexNameHasBeenSet; }
44 template <typename IndexNameT = Aws::String>
45 void SetIndexName(IndexNameT&& value) {
46 m_indexNameHasBeenSet = true;
47 m_indexName = std::forward<IndexNameT>(value);
48 }
49 template <typename IndexNameT = Aws::String>
51 SetIndexName(std::forward<IndexNameT>(value));
52 return *this;
53 }
55
57
69 inline const Aws::Vector<KeySchemaElement>& GetKeySchema() const { return m_keySchema; }
70 inline bool KeySchemaHasBeenSet() const { return m_keySchemaHasBeenSet; }
71 template <typename KeySchemaT = Aws::Vector<KeySchemaElement>>
72 void SetKeySchema(KeySchemaT&& value) {
73 m_keySchemaHasBeenSet = true;
74 m_keySchema = std::forward<KeySchemaT>(value);
75 }
76 template <typename KeySchemaT = Aws::Vector<KeySchemaElement>>
78 SetKeySchema(std::forward<KeySchemaT>(value));
79 return *this;
80 }
81 template <typename KeySchemaT = KeySchemaElement>
83 m_keySchemaHasBeenSet = true;
84 m_keySchema.emplace_back(std::forward<KeySchemaT>(value));
85 return *this;
86 }
88
90
95 inline const Projection& GetProjection() const { return m_projection; }
96 inline bool ProjectionHasBeenSet() const { return m_projectionHasBeenSet; }
97 template <typename ProjectionT = Projection>
98 void SetProjection(ProjectionT&& value) {
99 m_projectionHasBeenSet = true;
100 m_projection = std::forward<ProjectionT>(value);
101 }
102 template <typename ProjectionT = Projection>
104 SetProjection(std::forward<ProjectionT>(value));
105 return *this;
106 }
108
110
115 inline long long GetIndexSizeBytes() const { return m_indexSizeBytes; }
116 inline bool IndexSizeBytesHasBeenSet() const { return m_indexSizeBytesHasBeenSet; }
117 inline void SetIndexSizeBytes(long long value) {
118 m_indexSizeBytesHasBeenSet = true;
119 m_indexSizeBytes = value;
120 }
122 SetIndexSizeBytes(value);
123 return *this;
124 }
126
128
133 inline long long GetItemCount() const { return m_itemCount; }
134 inline bool ItemCountHasBeenSet() const { return m_itemCountHasBeenSet; }
135 inline void SetItemCount(long long value) {
136 m_itemCountHasBeenSet = true;
137 m_itemCount = value;
138 }
140 SetItemCount(value);
141 return *this;
142 }
144
146
149 inline const Aws::String& GetIndexArn() const { return m_indexArn; }
150 inline bool IndexArnHasBeenSet() const { return m_indexArnHasBeenSet; }
151 template <typename IndexArnT = Aws::String>
152 void SetIndexArn(IndexArnT&& value) {
153 m_indexArnHasBeenSet = true;
154 m_indexArn = std::forward<IndexArnT>(value);
155 }
156 template <typename IndexArnT = Aws::String>
158 SetIndexArn(std::forward<IndexArnT>(value));
159 return *this;
160 }
162 private:
163 Aws::String m_indexName;
164
166
167 Projection m_projection;
168
169 long long m_indexSizeBytes{0};
170
171 long long m_itemCount{0};
172
173 Aws::String m_indexArn;
174 bool m_indexNameHasBeenSet = false;
175 bool m_keySchemaHasBeenSet = false;
176 bool m_projectionHasBeenSet = false;
177 bool m_indexSizeBytesHasBeenSet = false;
178 bool m_itemCountHasBeenSet = false;
179 bool m_indexArnHasBeenSet = false;
180};
181
182} // namespace Model
183} // namespace DynamoDB
184} // namespace Aws
AWS_DYNAMODB_API LocalSecondaryIndexDescription & operator=(Aws::Utils::Json::JsonView jsonValue)
LocalSecondaryIndexDescription & WithProjection(ProjectionT &&value)
LocalSecondaryIndexDescription & WithIndexArn(IndexArnT &&value)
AWS_DYNAMODB_API LocalSecondaryIndexDescription(Aws::Utils::Json::JsonView jsonValue)
LocalSecondaryIndexDescription & WithIndexName(IndexNameT &&value)
LocalSecondaryIndexDescription & AddKeySchema(KeySchemaT &&value)
const Aws::Vector< KeySchemaElement > & GetKeySchema() const
LocalSecondaryIndexDescription & WithIndexSizeBytes(long long value)
LocalSecondaryIndexDescription & WithKeySchema(KeySchemaT &&value)
AWS_DYNAMODB_API LocalSecondaryIndexDescription()=default
LocalSecondaryIndexDescription & WithItemCount(long long value)
AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() 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