AWS SDK for C++

AWS SDK for C++ Version 1.11.751

Loading...
Searching...
No Matches
ThingIndexingConfiguration.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSVector.h>
8#include <aws/iot/IoT_EXPORTS.h>
9#include <aws/iot/model/DeviceDefenderIndexingMode.h>
10#include <aws/iot/model/Field.h>
11#include <aws/iot/model/IndexingFilter.h>
12#include <aws/iot/model/NamedShadowIndexingMode.h>
13#include <aws/iot/model/ThingConnectivityIndexingMode.h>
14#include <aws/iot/model/ThingIndexingMode.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Json {
21class JsonValue;
22class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace IoT {
26namespace Model {
27
36 public:
37 AWS_IOT_API ThingIndexingConfiguration() = default;
41
43
49 inline ThingIndexingMode GetThingIndexingMode() const { return m_thingIndexingMode; }
50 inline bool ThingIndexingModeHasBeenSet() const { return m_thingIndexingModeHasBeenSet; }
52 m_thingIndexingModeHasBeenSet = true;
53 m_thingIndexingMode = value;
54 }
57 return *this;
58 }
60
62
68 inline ThingConnectivityIndexingMode GetThingConnectivityIndexingMode() const { return m_thingConnectivityIndexingMode; }
69 inline bool ThingConnectivityIndexingModeHasBeenSet() const { return m_thingConnectivityIndexingModeHasBeenSet; }
71 m_thingConnectivityIndexingModeHasBeenSet = true;
72 m_thingConnectivityIndexingMode = value;
73 }
76 return *this;
77 }
79
81
90 inline DeviceDefenderIndexingMode GetDeviceDefenderIndexingMode() const { return m_deviceDefenderIndexingMode; }
91 inline bool DeviceDefenderIndexingModeHasBeenSet() const { return m_deviceDefenderIndexingModeHasBeenSet; }
93 m_deviceDefenderIndexingModeHasBeenSet = true;
94 m_deviceDefenderIndexingMode = value;
95 }
98 return *this;
99 }
101
103
112 inline NamedShadowIndexingMode GetNamedShadowIndexingMode() const { return m_namedShadowIndexingMode; }
113 inline bool NamedShadowIndexingModeHasBeenSet() const { return m_namedShadowIndexingModeHasBeenSet; }
115 m_namedShadowIndexingModeHasBeenSet = true;
116 m_namedShadowIndexingMode = value;
117 }
120 return *this;
121 }
123
125
133 inline const Aws::Vector<Field>& GetManagedFields() const { return m_managedFields; }
134 inline bool ManagedFieldsHasBeenSet() const { return m_managedFieldsHasBeenSet; }
135 template <typename ManagedFieldsT = Aws::Vector<Field>>
136 void SetManagedFields(ManagedFieldsT&& value) {
137 m_managedFieldsHasBeenSet = true;
138 m_managedFields = std::forward<ManagedFieldsT>(value);
139 }
140 template <typename ManagedFieldsT = Aws::Vector<Field>>
142 SetManagedFields(std::forward<ManagedFieldsT>(value));
143 return *this;
144 }
145 template <typename ManagedFieldsT = Field>
147 m_managedFieldsHasBeenSet = true;
148 m_managedFields.emplace_back(std::forward<ManagedFieldsT>(value));
149 return *this;
150 }
152
154
157 inline const Aws::Vector<Field>& GetCustomFields() const { return m_customFields; }
158 inline bool CustomFieldsHasBeenSet() const { return m_customFieldsHasBeenSet; }
159 template <typename CustomFieldsT = Aws::Vector<Field>>
160 void SetCustomFields(CustomFieldsT&& value) {
161 m_customFieldsHasBeenSet = true;
162 m_customFields = std::forward<CustomFieldsT>(value);
163 }
164 template <typename CustomFieldsT = Aws::Vector<Field>>
166 SetCustomFields(std::forward<CustomFieldsT>(value));
167 return *this;
168 }
169 template <typename CustomFieldsT = Field>
171 m_customFieldsHasBeenSet = true;
172 m_customFields.emplace_back(std::forward<CustomFieldsT>(value));
173 return *this;
174 }
176
178
194 inline const IndexingFilter& GetFilter() const { return m_filter; }
195 inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; }
196 template <typename FilterT = IndexingFilter>
197 void SetFilter(FilterT&& value) {
198 m_filterHasBeenSet = true;
199 m_filter = std::forward<FilterT>(value);
200 }
201 template <typename FilterT = IndexingFilter>
203 SetFilter(std::forward<FilterT>(value));
204 return *this;
205 }
207 private:
209
211
213
215
216 Aws::Vector<Field> m_managedFields;
217
218 Aws::Vector<Field> m_customFields;
219
220 IndexingFilter m_filter;
221 bool m_thingIndexingModeHasBeenSet = false;
222 bool m_thingConnectivityIndexingModeHasBeenSet = false;
223 bool m_deviceDefenderIndexingModeHasBeenSet = false;
224 bool m_namedShadowIndexingModeHasBeenSet = false;
225 bool m_managedFieldsHasBeenSet = false;
226 bool m_customFieldsHasBeenSet = false;
227 bool m_filterHasBeenSet = false;
228};
229
230} // namespace Model
231} // namespace IoT
232} // namespace Aws
void SetDeviceDefenderIndexingMode(DeviceDefenderIndexingMode value)
const Aws::Vector< Field > & GetCustomFields() const
ThingIndexingConfiguration & WithManagedFields(ManagedFieldsT &&value)
ThingConnectivityIndexingMode GetThingConnectivityIndexingMode() const
ThingIndexingConfiguration & WithNamedShadowIndexingMode(NamedShadowIndexingMode value)
DeviceDefenderIndexingMode GetDeviceDefenderIndexingMode() const
ThingIndexingConfiguration & WithThingIndexingMode(ThingIndexingMode value)
ThingIndexingConfiguration & WithThingConnectivityIndexingMode(ThingConnectivityIndexingMode value)
const Aws::Vector< Field > & GetManagedFields() const
ThingIndexingConfiguration & WithCustomFields(CustomFieldsT &&value)
AWS_IOT_API ThingIndexingConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
ThingIndexingConfiguration & AddCustomFields(CustomFieldsT &&value)
void SetNamedShadowIndexingMode(NamedShadowIndexingMode value)
NamedShadowIndexingMode GetNamedShadowIndexingMode() const
ThingIndexingConfiguration & WithFilter(FilterT &&value)
ThingIndexingConfiguration & WithDeviceDefenderIndexingMode(DeviceDefenderIndexingMode value)
AWS_IOT_API Aws::Utils::Json::JsonValue Jsonize() const
ThingIndexingConfiguration & AddManagedFields(ManagedFieldsT &&value)
void SetThingConnectivityIndexingMode(ThingConnectivityIndexingMode value)
AWS_IOT_API ThingIndexingConfiguration(Aws::Utils::Json::JsonView jsonValue)
AWS_IOT_API ThingIndexingConfiguration()=default
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue