AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
ThingIndexingConfiguration.h
1
6#pragma once
7#include <aws/iot/IoT_EXPORTS.h>
8#include <aws/iot/model/ThingIndexingMode.h>
9#include <aws/iot/model/ThingConnectivityIndexingMode.h>
10#include <aws/iot/model/DeviceDefenderIndexingMode.h>
11#include <aws/iot/model/NamedShadowIndexingMode.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/iot/model/IndexingFilter.h>
14#include <aws/iot/model/Field.h>
15#include <utility>
16
17namespace Aws
18{
19namespace Utils
20{
21namespace Json
22{
23 class JsonValue;
24 class JsonView;
25} // namespace Json
26} // namespace Utils
27namespace IoT
28{
29namespace Model
30{
31
40 {
41 public:
42 AWS_IOT_API ThingIndexingConfiguration() = default;
46
47
49
55 inline ThingIndexingMode GetThingIndexingMode() const { return m_thingIndexingMode; }
56 inline bool ThingIndexingModeHasBeenSet() const { return m_thingIndexingModeHasBeenSet; }
57 inline void SetThingIndexingMode(ThingIndexingMode value) { m_thingIndexingModeHasBeenSet = true; m_thingIndexingMode = value; }
60
62
68 inline ThingConnectivityIndexingMode GetThingConnectivityIndexingMode() const { return m_thingConnectivityIndexingMode; }
69 inline bool ThingConnectivityIndexingModeHasBeenSet() const { return m_thingConnectivityIndexingModeHasBeenSet; }
70 inline void SetThingConnectivityIndexingMode(ThingConnectivityIndexingMode value) { m_thingConnectivityIndexingModeHasBeenSet = true; m_thingConnectivityIndexingMode = value; }
73
75
84 inline DeviceDefenderIndexingMode GetDeviceDefenderIndexingMode() const { return m_deviceDefenderIndexingMode; }
85 inline bool DeviceDefenderIndexingModeHasBeenSet() const { return m_deviceDefenderIndexingModeHasBeenSet; }
86 inline void SetDeviceDefenderIndexingMode(DeviceDefenderIndexingMode value) { m_deviceDefenderIndexingModeHasBeenSet = true; m_deviceDefenderIndexingMode = value; }
89
91
100 inline NamedShadowIndexingMode GetNamedShadowIndexingMode() const { return m_namedShadowIndexingMode; }
101 inline bool NamedShadowIndexingModeHasBeenSet() const { return m_namedShadowIndexingModeHasBeenSet; }
102 inline void SetNamedShadowIndexingMode(NamedShadowIndexingMode value) { m_namedShadowIndexingModeHasBeenSet = true; m_namedShadowIndexingMode = value; }
105
107
115 inline const Aws::Vector<Field>& GetManagedFields() const { return m_managedFields; }
116 inline bool ManagedFieldsHasBeenSet() const { return m_managedFieldsHasBeenSet; }
117 template<typename ManagedFieldsT = Aws::Vector<Field>>
118 void SetManagedFields(ManagedFieldsT&& value) { m_managedFieldsHasBeenSet = true; m_managedFields = std::forward<ManagedFieldsT>(value); }
119 template<typename ManagedFieldsT = Aws::Vector<Field>>
120 ThingIndexingConfiguration& WithManagedFields(ManagedFieldsT&& value) { SetManagedFields(std::forward<ManagedFieldsT>(value)); return *this;}
121 template<typename ManagedFieldsT = Field>
122 ThingIndexingConfiguration& AddManagedFields(ManagedFieldsT&& value) { m_managedFieldsHasBeenSet = true; m_managedFields.emplace_back(std::forward<ManagedFieldsT>(value)); return *this; }
124
126
129 inline const Aws::Vector<Field>& GetCustomFields() const { return m_customFields; }
130 inline bool CustomFieldsHasBeenSet() const { return m_customFieldsHasBeenSet; }
131 template<typename CustomFieldsT = Aws::Vector<Field>>
132 void SetCustomFields(CustomFieldsT&& value) { m_customFieldsHasBeenSet = true; m_customFields = std::forward<CustomFieldsT>(value); }
133 template<typename CustomFieldsT = Aws::Vector<Field>>
134 ThingIndexingConfiguration& WithCustomFields(CustomFieldsT&& value) { SetCustomFields(std::forward<CustomFieldsT>(value)); return *this;}
135 template<typename CustomFieldsT = Field>
136 ThingIndexingConfiguration& AddCustomFields(CustomFieldsT&& value) { m_customFieldsHasBeenSet = true; m_customFields.emplace_back(std::forward<CustomFieldsT>(value)); return *this; }
138
140
156 inline const IndexingFilter& GetFilter() const { return m_filter; }
157 inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; }
158 template<typename FilterT = IndexingFilter>
159 void SetFilter(FilterT&& value) { m_filterHasBeenSet = true; m_filter = std::forward<FilterT>(value); }
160 template<typename FilterT = IndexingFilter>
161 ThingIndexingConfiguration& WithFilter(FilterT&& value) { SetFilter(std::forward<FilterT>(value)); return *this;}
163 private:
164
166 bool m_thingIndexingModeHasBeenSet = false;
167
169 bool m_thingConnectivityIndexingModeHasBeenSet = false;
170
172 bool m_deviceDefenderIndexingModeHasBeenSet = false;
173
175 bool m_namedShadowIndexingModeHasBeenSet = false;
176
177 Aws::Vector<Field> m_managedFields;
178 bool m_managedFieldsHasBeenSet = false;
179
180 Aws::Vector<Field> m_customFields;
181 bool m_customFieldsHasBeenSet = false;
182
183 IndexingFilter m_filter;
184 bool m_filterHasBeenSet = false;
185 };
186
187} // namespace Model
188} // namespace IoT
189} // 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