AWS SDK for C++

AWS SDK for C++ Version 1.11.687

Loading...
Searching...
No Matches
ThingGroupIndexingConfiguration.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/Field.h>
10#include <aws/iot/model/ThingGroupIndexingMode.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace IoT {
22namespace Model {
23
30 public:
31 AWS_IOT_API ThingGroupIndexingConfiguration() = default;
35
37
40 inline ThingGroupIndexingMode GetThingGroupIndexingMode() const { return m_thingGroupIndexingMode; }
41 inline bool ThingGroupIndexingModeHasBeenSet() const { return m_thingGroupIndexingModeHasBeenSet; }
43 m_thingGroupIndexingModeHasBeenSet = true;
44 m_thingGroupIndexingMode = value;
45 }
48 return *this;
49 }
51
53
61 inline const Aws::Vector<Field>& GetManagedFields() const { return m_managedFields; }
62 inline bool ManagedFieldsHasBeenSet() const { return m_managedFieldsHasBeenSet; }
63 template <typename ManagedFieldsT = Aws::Vector<Field>>
64 void SetManagedFields(ManagedFieldsT&& value) {
65 m_managedFieldsHasBeenSet = true;
66 m_managedFields = std::forward<ManagedFieldsT>(value);
67 }
68 template <typename ManagedFieldsT = Aws::Vector<Field>>
70 SetManagedFields(std::forward<ManagedFieldsT>(value));
71 return *this;
72 }
73 template <typename ManagedFieldsT = Field>
75 m_managedFieldsHasBeenSet = true;
76 m_managedFields.emplace_back(std::forward<ManagedFieldsT>(value));
77 return *this;
78 }
80
82
87 inline const Aws::Vector<Field>& GetCustomFields() const { return m_customFields; }
88 inline bool CustomFieldsHasBeenSet() const { return m_customFieldsHasBeenSet; }
89 template <typename CustomFieldsT = Aws::Vector<Field>>
90 void SetCustomFields(CustomFieldsT&& value) {
91 m_customFieldsHasBeenSet = true;
92 m_customFields = std::forward<CustomFieldsT>(value);
93 }
94 template <typename CustomFieldsT = Aws::Vector<Field>>
96 SetCustomFields(std::forward<CustomFieldsT>(value));
97 return *this;
98 }
99 template <typename CustomFieldsT = Field>
101 m_customFieldsHasBeenSet = true;
102 m_customFields.emplace_back(std::forward<CustomFieldsT>(value));
103 return *this;
104 }
106 private:
108 bool m_thingGroupIndexingModeHasBeenSet = false;
109
110 Aws::Vector<Field> m_managedFields;
111 bool m_managedFieldsHasBeenSet = false;
112
113 Aws::Vector<Field> m_customFields;
114 bool m_customFieldsHasBeenSet = false;
115};
116
117} // namespace Model
118} // namespace IoT
119} // namespace Aws
ThingGroupIndexingConfiguration & WithManagedFields(ManagedFieldsT &&value)
ThingGroupIndexingConfiguration & WithCustomFields(CustomFieldsT &&value)
ThingGroupIndexingConfiguration & AddCustomFields(CustomFieldsT &&value)
ThingGroupIndexingConfiguration & AddManagedFields(ManagedFieldsT &&value)
AWS_IOT_API ThingGroupIndexingConfiguration(Aws::Utils::Json::JsonView jsonValue)
AWS_IOT_API Aws::Utils::Json::JsonValue Jsonize() const
ThingGroupIndexingConfiguration & WithThingGroupIndexingMode(ThingGroupIndexingMode value)
AWS_IOT_API ThingGroupIndexingConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue