AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
ThingDocument.h
1
6#pragma once
7#include <aws/iot/IoT_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/core/utils/memory/stl/AWSMap.h>
11#include <aws/iot/model/ThingConnectivity.h>
12#include <utility>
13
14namespace Aws
15{
16namespace Utils
17{
18namespace Json
19{
20 class JsonValue;
21 class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace IoT
25{
26namespace Model
27{
28
35 {
36 public:
37 AWS_IOT_API ThingDocument() = default;
41
42
44
47 inline const Aws::String& GetThingName() const { return m_thingName; }
48 inline bool ThingNameHasBeenSet() const { return m_thingNameHasBeenSet; }
49 template<typename ThingNameT = Aws::String>
50 void SetThingName(ThingNameT&& value) { m_thingNameHasBeenSet = true; m_thingName = std::forward<ThingNameT>(value); }
51 template<typename ThingNameT = Aws::String>
52 ThingDocument& WithThingName(ThingNameT&& value) { SetThingName(std::forward<ThingNameT>(value)); return *this;}
54
56
59 inline const Aws::String& GetThingId() const { return m_thingId; }
60 inline bool ThingIdHasBeenSet() const { return m_thingIdHasBeenSet; }
61 template<typename ThingIdT = Aws::String>
62 void SetThingId(ThingIdT&& value) { m_thingIdHasBeenSet = true; m_thingId = std::forward<ThingIdT>(value); }
63 template<typename ThingIdT = Aws::String>
64 ThingDocument& WithThingId(ThingIdT&& value) { SetThingId(std::forward<ThingIdT>(value)); return *this;}
66
68
71 inline const Aws::String& GetThingTypeName() const { return m_thingTypeName; }
72 inline bool ThingTypeNameHasBeenSet() const { return m_thingTypeNameHasBeenSet; }
73 template<typename ThingTypeNameT = Aws::String>
74 void SetThingTypeName(ThingTypeNameT&& value) { m_thingTypeNameHasBeenSet = true; m_thingTypeName = std::forward<ThingTypeNameT>(value); }
75 template<typename ThingTypeNameT = Aws::String>
76 ThingDocument& WithThingTypeName(ThingTypeNameT&& value) { SetThingTypeName(std::forward<ThingTypeNameT>(value)); return *this;}
78
80
83 inline const Aws::Vector<Aws::String>& GetThingGroupNames() const { return m_thingGroupNames; }
84 inline bool ThingGroupNamesHasBeenSet() const { return m_thingGroupNamesHasBeenSet; }
85 template<typename ThingGroupNamesT = Aws::Vector<Aws::String>>
86 void SetThingGroupNames(ThingGroupNamesT&& value) { m_thingGroupNamesHasBeenSet = true; m_thingGroupNames = std::forward<ThingGroupNamesT>(value); }
87 template<typename ThingGroupNamesT = Aws::Vector<Aws::String>>
88 ThingDocument& WithThingGroupNames(ThingGroupNamesT&& value) { SetThingGroupNames(std::forward<ThingGroupNamesT>(value)); return *this;}
89 template<typename ThingGroupNamesT = Aws::String>
90 ThingDocument& AddThingGroupNames(ThingGroupNamesT&& value) { m_thingGroupNamesHasBeenSet = true; m_thingGroupNames.emplace_back(std::forward<ThingGroupNamesT>(value)); return *this; }
92
94
97 inline const Aws::Map<Aws::String, Aws::String>& GetAttributes() const { return m_attributes; }
98 inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; }
99 template<typename AttributesT = Aws::Map<Aws::String, Aws::String>>
100 void SetAttributes(AttributesT&& value) { m_attributesHasBeenSet = true; m_attributes = std::forward<AttributesT>(value); }
101 template<typename AttributesT = Aws::Map<Aws::String, Aws::String>>
102 ThingDocument& WithAttributes(AttributesT&& value) { SetAttributes(std::forward<AttributesT>(value)); return *this;}
103 template<typename AttributesKeyT = Aws::String, typename AttributesValueT = Aws::String>
104 ThingDocument& AddAttributes(AttributesKeyT&& key, AttributesValueT&& value) {
105 m_attributesHasBeenSet = true; m_attributes.emplace(std::forward<AttributesKeyT>(key), std::forward<AttributesValueT>(value)); return *this;
106 }
108
110
116 inline const Aws::String& GetShadow() const { return m_shadow; }
117 inline bool ShadowHasBeenSet() const { return m_shadowHasBeenSet; }
118 template<typename ShadowT = Aws::String>
119 void SetShadow(ShadowT&& value) { m_shadowHasBeenSet = true; m_shadow = std::forward<ShadowT>(value); }
120 template<typename ShadowT = Aws::String>
121 ThingDocument& WithShadow(ShadowT&& value) { SetShadow(std::forward<ShadowT>(value)); return *this;}
123
125
131 inline const Aws::String& GetDeviceDefender() const { return m_deviceDefender; }
132 inline bool DeviceDefenderHasBeenSet() const { return m_deviceDefenderHasBeenSet; }
133 template<typename DeviceDefenderT = Aws::String>
134 void SetDeviceDefender(DeviceDefenderT&& value) { m_deviceDefenderHasBeenSet = true; m_deviceDefender = std::forward<DeviceDefenderT>(value); }
135 template<typename DeviceDefenderT = Aws::String>
136 ThingDocument& WithDeviceDefender(DeviceDefenderT&& value) { SetDeviceDefender(std::forward<DeviceDefenderT>(value)); return *this;}
138
140
144 inline const ThingConnectivity& GetConnectivity() const { return m_connectivity; }
145 inline bool ConnectivityHasBeenSet() const { return m_connectivityHasBeenSet; }
146 template<typename ConnectivityT = ThingConnectivity>
147 void SetConnectivity(ConnectivityT&& value) { m_connectivityHasBeenSet = true; m_connectivity = std::forward<ConnectivityT>(value); }
148 template<typename ConnectivityT = ThingConnectivity>
149 ThingDocument& WithConnectivity(ConnectivityT&& value) { SetConnectivity(std::forward<ConnectivityT>(value)); return *this;}
151 private:
152
153 Aws::String m_thingName;
154 bool m_thingNameHasBeenSet = false;
155
156 Aws::String m_thingId;
157 bool m_thingIdHasBeenSet = false;
158
159 Aws::String m_thingTypeName;
160 bool m_thingTypeNameHasBeenSet = false;
161
162 Aws::Vector<Aws::String> m_thingGroupNames;
163 bool m_thingGroupNamesHasBeenSet = false;
164
166 bool m_attributesHasBeenSet = false;
167
168 Aws::String m_shadow;
169 bool m_shadowHasBeenSet = false;
170
171 Aws::String m_deviceDefender;
172 bool m_deviceDefenderHasBeenSet = false;
173
174 ThingConnectivity m_connectivity;
175 bool m_connectivityHasBeenSet = false;
176 };
177
178} // namespace Model
179} // namespace IoT
180} // namespace Aws
ThingDocument & WithConnectivity(ConnectivityT &&value)
const Aws::String & GetShadow() const
ThingDocument & WithThingId(ThingIdT &&value)
const Aws::String & GetThingTypeName() const
AWS_IOT_API ThingDocument(Aws::Utils::Json::JsonView jsonValue)
void SetConnectivity(ConnectivityT &&value)
AWS_IOT_API ThingDocument & operator=(Aws::Utils::Json::JsonView jsonValue)
const ThingConnectivity & GetConnectivity() const
const Aws::String & GetThingId() const
void SetDeviceDefender(DeviceDefenderT &&value)
ThingDocument & WithThingTypeName(ThingTypeNameT &&value)
void SetThingTypeName(ThingTypeNameT &&value)
const Aws::String & GetThingName() const
void SetThingId(ThingIdT &&value)
const Aws::Vector< Aws::String > & GetThingGroupNames() const
ThingDocument & AddThingGroupNames(ThingGroupNamesT &&value)
const Aws::Map< Aws::String, Aws::String > & GetAttributes() const
void SetThingGroupNames(ThingGroupNamesT &&value)
ThingDocument & WithAttributes(AttributesT &&value)
void SetShadow(ShadowT &&value)
const Aws::String & GetDeviceDefender() const
void SetThingName(ThingNameT &&value)
ThingDocument & AddAttributes(AttributesKeyT &&key, AttributesValueT &&value)
ThingDocument & WithShadow(ShadowT &&value)
ThingDocument & WithDeviceDefender(DeviceDefenderT &&value)
ThingDocument & WithThingGroupNames(ThingGroupNamesT &&value)
AWS_IOT_API ThingDocument()=default
AWS_IOT_API Aws::Utils::Json::JsonValue Jsonize() const
ThingDocument & WithThingName(ThingNameT &&value)
void SetAttributes(AttributesT &&value)
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue