AWS SDK for C++

AWS SDK for C++ Version 1.11.870

Loading...
Searching...
No Matches
VectorIndexDescription.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/IndexStatus.h>
11#include <aws/dynamodb/model/Projection.h>
12#include <aws/dynamodb/model/SearchSchemaElement.h>
13#include <aws/dynamodb/model/VectorAttributeDefinition.h>
14#include <aws/dynamodb/model/VectorDistanceFunction.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
36 public:
37 AWS_DYNAMODB_API VectorIndexDescription() = default;
40 AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() const;
41
43
46 inline const Aws::String& GetIndexName() const { return m_indexName; }
47 inline bool IndexNameHasBeenSet() const { return m_indexNameHasBeenSet; }
48 template <typename IndexNameT = Aws::String>
49 void SetIndexName(IndexNameT&& value) {
50 m_indexNameHasBeenSet = true;
51 m_indexName = std::forward<IndexNameT>(value);
52 }
53 template <typename IndexNameT = Aws::String>
55 SetIndexName(std::forward<IndexNameT>(value));
56 return *this;
57 }
59
61
65 inline const Aws::Vector<SearchSchemaElement>& GetSearchSchema() const { return m_searchSchema; }
66 inline bool SearchSchemaHasBeenSet() const { return m_searchSchemaHasBeenSet; }
67 template <typename SearchSchemaT = Aws::Vector<SearchSchemaElement>>
68 void SetSearchSchema(SearchSchemaT&& value) {
69 m_searchSchemaHasBeenSet = true;
70 m_searchSchema = std::forward<SearchSchemaT>(value);
71 }
72 template <typename SearchSchemaT = Aws::Vector<SearchSchemaElement>>
73 VectorIndexDescription& WithSearchSchema(SearchSchemaT&& value) {
74 SetSearchSchema(std::forward<SearchSchemaT>(value));
75 return *this;
76 }
77 template <typename SearchSchemaT = SearchSchemaElement>
78 VectorIndexDescription& AddSearchSchema(SearchSchemaT&& value) {
79 m_searchSchemaHasBeenSet = true;
80 m_searchSchema.emplace_back(std::forward<SearchSchemaT>(value));
81 return *this;
82 }
84
86
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>
98 VectorIndexDescription& WithProjection(ProjectionT&& value) {
99 SetProjection(std::forward<ProjectionT>(value));
100 return *this;
101 }
103
105
108 inline const VectorAttributeDefinition& GetVectorAttribute() const { return m_vectorAttribute; }
109 inline bool VectorAttributeHasBeenSet() const { return m_vectorAttributeHasBeenSet; }
110 template <typename VectorAttributeT = VectorAttributeDefinition>
111 void SetVectorAttribute(VectorAttributeT&& value) {
112 m_vectorAttributeHasBeenSet = true;
113 m_vectorAttribute = std::forward<VectorAttributeT>(value);
114 }
115 template <typename VectorAttributeT = VectorAttributeDefinition>
116 VectorIndexDescription& WithVectorAttribute(VectorAttributeT&& value) {
117 SetVectorAttribute(std::forward<VectorAttributeT>(value));
118 return *this;
119 }
121
123
126 inline long long GetDimensions() const { return m_dimensions; }
127 inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; }
128 inline void SetDimensions(long long value) {
129 m_dimensionsHasBeenSet = true;
130 m_dimensions = value;
131 }
132 inline VectorIndexDescription& WithDimensions(long long value) {
133 SetDimensions(value);
134 return *this;
135 }
137
139
142 inline VectorDistanceFunction GetDistanceFunction() const { return m_distanceFunction; }
143 inline bool DistanceFunctionHasBeenSet() const { return m_distanceFunctionHasBeenSet; }
145 m_distanceFunctionHasBeenSet = true;
146 m_distanceFunction = value;
147 }
149 SetDistanceFunction(value);
150 return *this;
151 }
153
155
161 inline IndexStatus GetIndexStatus() const { return m_indexStatus; }
162 inline bool IndexStatusHasBeenSet() const { return m_indexStatusHasBeenSet; }
163 inline void SetIndexStatus(IndexStatus value) {
164 m_indexStatusHasBeenSet = true;
165 m_indexStatus = value;
166 }
168 SetIndexStatus(value);
169 return *this;
170 }
172
174
178 inline bool GetBackfilling() const { return m_backfilling; }
179 inline bool BackfillingHasBeenSet() const { return m_backfillingHasBeenSet; }
180 inline void SetBackfilling(bool value) {
181 m_backfillingHasBeenSet = true;
182 m_backfilling = value;
183 }
185 SetBackfilling(value);
186 return *this;
187 }
189
191
196 inline long long GetIndexSizeBytes() const { return m_indexSizeBytes; }
197 inline bool IndexSizeBytesHasBeenSet() const { return m_indexSizeBytesHasBeenSet; }
198 inline void SetIndexSizeBytes(long long value) {
199 m_indexSizeBytesHasBeenSet = true;
200 m_indexSizeBytes = value;
201 }
203 SetIndexSizeBytes(value);
204 return *this;
205 }
207
209
214 inline long long GetItemCount() const { return m_itemCount; }
215 inline bool ItemCountHasBeenSet() const { return m_itemCountHasBeenSet; }
216 inline void SetItemCount(long long value) {
217 m_itemCountHasBeenSet = true;
218 m_itemCount = value;
219 }
220 inline VectorIndexDescription& WithItemCount(long long value) {
221 SetItemCount(value);
222 return *this;
223 }
225
227
230 inline const Aws::String& GetIndexArn() const { return m_indexArn; }
231 inline bool IndexArnHasBeenSet() const { return m_indexArnHasBeenSet; }
232 template <typename IndexArnT = Aws::String>
233 void SetIndexArn(IndexArnT&& value) {
234 m_indexArnHasBeenSet = true;
235 m_indexArn = std::forward<IndexArnT>(value);
236 }
237 template <typename IndexArnT = Aws::String>
239 SetIndexArn(std::forward<IndexArnT>(value));
240 return *this;
241 }
243 private:
244 Aws::String m_indexName;
245
247
248 Projection m_projection;
249
250 VectorAttributeDefinition m_vectorAttribute;
251
252 long long m_dimensions{0};
253
255
256 IndexStatus m_indexStatus{IndexStatus::NOT_SET};
257
258 bool m_backfilling{false};
259
260 long long m_indexSizeBytes{0};
261
262 long long m_itemCount{0};
263
264 Aws::String m_indexArn;
265 bool m_indexNameHasBeenSet = false;
266 bool m_searchSchemaHasBeenSet = false;
267 bool m_projectionHasBeenSet = false;
268 bool m_vectorAttributeHasBeenSet = false;
269 bool m_dimensionsHasBeenSet = false;
270 bool m_distanceFunctionHasBeenSet = false;
271 bool m_indexStatusHasBeenSet = false;
272 bool m_backfillingHasBeenSet = false;
273 bool m_indexSizeBytesHasBeenSet = false;
274 bool m_itemCountHasBeenSet = false;
275 bool m_indexArnHasBeenSet = false;
276};
277
278} // namespace Model
279} // namespace DynamoDB
280} // namespace Aws
VectorIndexDescription & AddSearchSchema(SearchSchemaT &&value)
const Aws::Vector< SearchSchemaElement > & GetSearchSchema() const
VectorIndexDescription & WithProjection(ProjectionT &&value)
VectorIndexDescription & WithIndexName(IndexNameT &&value)
AWS_DYNAMODB_API VectorIndexDescription & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_DYNAMODB_API VectorIndexDescription()=default
AWS_DYNAMODB_API VectorIndexDescription(Aws::Utils::Json::JsonView jsonValue)
void SetDistanceFunction(VectorDistanceFunction value)
VectorIndexDescription & WithSearchSchema(SearchSchemaT &&value)
VectorIndexDescription & WithDimensions(long long value)
VectorIndexDescription & WithBackfilling(bool value)
VectorIndexDescription & WithDistanceFunction(VectorDistanceFunction value)
VectorIndexDescription & WithItemCount(long long value)
VectorIndexDescription & WithIndexArn(IndexArnT &&value)
VectorIndexDescription & WithIndexStatus(IndexStatus value)
const VectorAttributeDefinition & GetVectorAttribute() const
VectorIndexDescription & WithIndexSizeBytes(long long value)
AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() const
VectorIndexDescription & WithVectorAttribute(VectorAttributeT &&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