AWS SDK for C++

AWS SDK for C++ Version 1.11.870

Loading...
Searching...
No Matches
VectorIndexInfo.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/Projection.h>
11#include <aws/dynamodb/model/SearchSchemaElement.h>
12#include <aws/dynamodb/model/VectorAttributeDefinition.h>
13#include <aws/dynamodb/model/VectorDistanceFunction.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 VectorIndexInfo() = default;
36 AWS_DYNAMODB_API VectorIndexInfo(Aws::Utils::Json::JsonView jsonValue);
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>
52 VectorIndexInfo& WithIndexName(IndexNameT&& value) {
53 SetIndexName(std::forward<IndexNameT>(value));
54 return *this;
55 }
57
59
62 inline const VectorAttributeDefinition& GetVectorAttribute() const { return m_vectorAttribute; }
63 inline bool VectorAttributeHasBeenSet() const { return m_vectorAttributeHasBeenSet; }
64 template <typename VectorAttributeT = VectorAttributeDefinition>
65 void SetVectorAttribute(VectorAttributeT&& value) {
66 m_vectorAttributeHasBeenSet = true;
67 m_vectorAttribute = std::forward<VectorAttributeT>(value);
68 }
69 template <typename VectorAttributeT = VectorAttributeDefinition>
70 VectorIndexInfo& WithVectorAttribute(VectorAttributeT&& value) {
71 SetVectorAttribute(std::forward<VectorAttributeT>(value));
72 return *this;
73 }
75
77
81 inline const Aws::Vector<SearchSchemaElement>& GetSearchSchema() const { return m_searchSchema; }
82 inline bool SearchSchemaHasBeenSet() const { return m_searchSchemaHasBeenSet; }
83 template <typename SearchSchemaT = Aws::Vector<SearchSchemaElement>>
84 void SetSearchSchema(SearchSchemaT&& value) {
85 m_searchSchemaHasBeenSet = true;
86 m_searchSchema = std::forward<SearchSchemaT>(value);
87 }
88 template <typename SearchSchemaT = Aws::Vector<SearchSchemaElement>>
89 VectorIndexInfo& WithSearchSchema(SearchSchemaT&& value) {
90 SetSearchSchema(std::forward<SearchSchemaT>(value));
91 return *this;
92 }
93 template <typename SearchSchemaT = SearchSchemaElement>
94 VectorIndexInfo& AddSearchSchema(SearchSchemaT&& value) {
95 m_searchSchemaHasBeenSet = true;
96 m_searchSchema.emplace_back(std::forward<SearchSchemaT>(value));
97 return *this;
98 }
100
102
106 inline const Projection& GetProjection() const { return m_projection; }
107 inline bool ProjectionHasBeenSet() const { return m_projectionHasBeenSet; }
108 template <typename ProjectionT = Projection>
109 void SetProjection(ProjectionT&& value) {
110 m_projectionHasBeenSet = true;
111 m_projection = std::forward<ProjectionT>(value);
112 }
113 template <typename ProjectionT = Projection>
114 VectorIndexInfo& WithProjection(ProjectionT&& value) {
115 SetProjection(std::forward<ProjectionT>(value));
116 return *this;
117 }
119
121
124 inline long long GetDimensions() const { return m_dimensions; }
125 inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; }
126 inline void SetDimensions(long long value) {
127 m_dimensionsHasBeenSet = true;
128 m_dimensions = value;
129 }
130 inline VectorIndexInfo& WithDimensions(long long value) {
131 SetDimensions(value);
132 return *this;
133 }
135
137
140 inline VectorDistanceFunction GetDistanceFunction() const { return m_distanceFunction; }
141 inline bool DistanceFunctionHasBeenSet() const { return m_distanceFunctionHasBeenSet; }
143 m_distanceFunctionHasBeenSet = true;
144 m_distanceFunction = value;
145 }
147 SetDistanceFunction(value);
148 return *this;
149 }
151 private:
152 Aws::String m_indexName;
153
154 VectorAttributeDefinition m_vectorAttribute;
155
157
158 Projection m_projection;
159
160 long long m_dimensions{0};
161
163 bool m_indexNameHasBeenSet = false;
164 bool m_vectorAttributeHasBeenSet = false;
165 bool m_searchSchemaHasBeenSet = false;
166 bool m_projectionHasBeenSet = false;
167 bool m_dimensionsHasBeenSet = false;
168 bool m_distanceFunctionHasBeenSet = false;
169};
170
171} // namespace Model
172} // namespace DynamoDB
173} // namespace Aws
const VectorAttributeDefinition & GetVectorAttribute() const
AWS_DYNAMODB_API VectorIndexInfo & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< SearchSchemaElement > & GetSearchSchema() const
VectorIndexInfo & WithDistanceFunction(VectorDistanceFunction value)
AWS_DYNAMODB_API Aws::Utils::Json::JsonValue Jsonize() const
void SetSearchSchema(SearchSchemaT &&value)
VectorIndexInfo & WithIndexName(IndexNameT &&value)
VectorIndexInfo & WithVectorAttribute(VectorAttributeT &&value)
VectorIndexInfo & WithProjection(ProjectionT &&value)
void SetProjection(ProjectionT &&value)
VectorIndexInfo & AddSearchSchema(SearchSchemaT &&value)
AWS_DYNAMODB_API VectorIndexInfo(Aws::Utils::Json::JsonView jsonValue)
void SetVectorAttribute(VectorAttributeT &&value)
VectorDistanceFunction GetDistanceFunction() const
VectorIndexInfo & WithSearchSchema(SearchSchemaT &&value)
void SetIndexName(IndexNameT &&value)
void SetDistanceFunction(VectorDistanceFunction value)
const Aws::String & GetIndexName() const
const Projection & GetProjection() const
AWS_DYNAMODB_API VectorIndexInfo()=default
VectorIndexInfo & WithDimensions(long long 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