AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
ThingGroupIndexingConfiguration.h
1
6#pragma once
7#include <aws/iot/IoT_EXPORTS.h>
8#include <aws/iot/model/ThingGroupIndexingMode.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/iot/model/Field.h>
11#include <utility>
12
13namespace Aws
14{
15namespace Utils
16{
17namespace Json
18{
19 class JsonValue;
20 class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace IoT
24{
25namespace Model
26{
27
34 {
35 public:
36 AWS_IOT_API ThingGroupIndexingConfiguration() = default;
40
41
43
46 inline ThingGroupIndexingMode GetThingGroupIndexingMode() const { return m_thingGroupIndexingMode; }
47 inline bool ThingGroupIndexingModeHasBeenSet() const { return m_thingGroupIndexingModeHasBeenSet; }
48 inline void SetThingGroupIndexingMode(ThingGroupIndexingMode value) { m_thingGroupIndexingModeHasBeenSet = true; m_thingGroupIndexingMode = value; }
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) { m_managedFieldsHasBeenSet = true; m_managedFields = std::forward<ManagedFieldsT>(value); }
65 template<typename ManagedFieldsT = Aws::Vector<Field>>
66 ThingGroupIndexingConfiguration& WithManagedFields(ManagedFieldsT&& value) { SetManagedFields(std::forward<ManagedFieldsT>(value)); return *this;}
67 template<typename ManagedFieldsT = Field>
68 ThingGroupIndexingConfiguration& AddManagedFields(ManagedFieldsT&& value) { m_managedFieldsHasBeenSet = true; m_managedFields.emplace_back(std::forward<ManagedFieldsT>(value)); return *this; }
70
72
77 inline const Aws::Vector<Field>& GetCustomFields() const { return m_customFields; }
78 inline bool CustomFieldsHasBeenSet() const { return m_customFieldsHasBeenSet; }
79 template<typename CustomFieldsT = Aws::Vector<Field>>
80 void SetCustomFields(CustomFieldsT&& value) { m_customFieldsHasBeenSet = true; m_customFields = std::forward<CustomFieldsT>(value); }
81 template<typename CustomFieldsT = Aws::Vector<Field>>
82 ThingGroupIndexingConfiguration& WithCustomFields(CustomFieldsT&& value) { SetCustomFields(std::forward<CustomFieldsT>(value)); return *this;}
83 template<typename CustomFieldsT = Field>
84 ThingGroupIndexingConfiguration& AddCustomFields(CustomFieldsT&& value) { m_customFieldsHasBeenSet = true; m_customFields.emplace_back(std::forward<CustomFieldsT>(value)); return *this; }
86 private:
87
89 bool m_thingGroupIndexingModeHasBeenSet = false;
90
91 Aws::Vector<Field> m_managedFields;
92 bool m_managedFieldsHasBeenSet = false;
93
94 Aws::Vector<Field> m_customFields;
95 bool m_customFieldsHasBeenSet = false;
96 };
97
98} // namespace Model
99} // namespace IoT
100} // 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