AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
ThingAttribute.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/AWSMap.h>
10#include <utility>
11
12namespace Aws
13{
14namespace Utils
15{
16namespace Json
17{
18 class JsonValue;
19 class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace IoT
23{
24namespace Model
25{
26
34 {
35 public:
36 AWS_IOT_API ThingAttribute() = default;
40
41
43
46 inline const Aws::String& GetThingName() const { return m_thingName; }
47 inline bool ThingNameHasBeenSet() const { return m_thingNameHasBeenSet; }
48 template<typename ThingNameT = Aws::String>
49 void SetThingName(ThingNameT&& value) { m_thingNameHasBeenSet = true; m_thingName = std::forward<ThingNameT>(value); }
50 template<typename ThingNameT = Aws::String>
51 ThingAttribute& WithThingName(ThingNameT&& value) { SetThingName(std::forward<ThingNameT>(value)); return *this;}
53
55
58 inline const Aws::String& GetThingTypeName() const { return m_thingTypeName; }
59 inline bool ThingTypeNameHasBeenSet() const { return m_thingTypeNameHasBeenSet; }
60 template<typename ThingTypeNameT = Aws::String>
61 void SetThingTypeName(ThingTypeNameT&& value) { m_thingTypeNameHasBeenSet = true; m_thingTypeName = std::forward<ThingTypeNameT>(value); }
62 template<typename ThingTypeNameT = Aws::String>
63 ThingAttribute& WithThingTypeName(ThingTypeNameT&& value) { SetThingTypeName(std::forward<ThingTypeNameT>(value)); return *this;}
65
67
70 inline const Aws::String& GetThingArn() const { return m_thingArn; }
71 inline bool ThingArnHasBeenSet() const { return m_thingArnHasBeenSet; }
72 template<typename ThingArnT = Aws::String>
73 void SetThingArn(ThingArnT&& value) { m_thingArnHasBeenSet = true; m_thingArn = std::forward<ThingArnT>(value); }
74 template<typename ThingArnT = Aws::String>
75 ThingAttribute& WithThingArn(ThingArnT&& value) { SetThingArn(std::forward<ThingArnT>(value)); return *this;}
77
79
82 inline const Aws::Map<Aws::String, Aws::String>& GetAttributes() const { return m_attributes; }
83 inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; }
84 template<typename AttributesT = Aws::Map<Aws::String, Aws::String>>
85 void SetAttributes(AttributesT&& value) { m_attributesHasBeenSet = true; m_attributes = std::forward<AttributesT>(value); }
86 template<typename AttributesT = Aws::Map<Aws::String, Aws::String>>
87 ThingAttribute& WithAttributes(AttributesT&& value) { SetAttributes(std::forward<AttributesT>(value)); return *this;}
88 template<typename AttributesKeyT = Aws::String, typename AttributesValueT = Aws::String>
89 ThingAttribute& AddAttributes(AttributesKeyT&& key, AttributesValueT&& value) {
90 m_attributesHasBeenSet = true; m_attributes.emplace(std::forward<AttributesKeyT>(key), std::forward<AttributesValueT>(value)); return *this;
91 }
93
95
98 inline long long GetVersion() const { return m_version; }
99 inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; }
100 inline void SetVersion(long long value) { m_versionHasBeenSet = true; m_version = value; }
101 inline ThingAttribute& WithVersion(long long value) { SetVersion(value); return *this;}
103 private:
104
105 Aws::String m_thingName;
106 bool m_thingNameHasBeenSet = false;
107
108 Aws::String m_thingTypeName;
109 bool m_thingTypeNameHasBeenSet = false;
110
111 Aws::String m_thingArn;
112 bool m_thingArnHasBeenSet = false;
113
115 bool m_attributesHasBeenSet = false;
116
117 long long m_version{0};
118 bool m_versionHasBeenSet = false;
119 };
120
121} // namespace Model
122} // namespace IoT
123} // namespace Aws
ThingAttribute & WithThingName(ThingNameT &&value)
ThingAttribute & WithAttributes(AttributesT &&value)
ThingAttribute & WithThingArn(ThingArnT &&value)
void SetAttributes(AttributesT &&value)
AWS_IOT_API ThingAttribute(Aws::Utils::Json::JsonView jsonValue)
void SetThingName(ThingNameT &&value)
const Aws::String & GetThingName() const
const Aws::String & GetThingArn() const
void SetThingArn(ThingArnT &&value)
void SetThingTypeName(ThingTypeNameT &&value)
ThingAttribute & WithThingTypeName(ThingTypeNameT &&value)
const Aws::Map< Aws::String, Aws::String > & GetAttributes() const
AWS_IOT_API ThingAttribute & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_IOT_API ThingAttribute()=default
const Aws::String & GetThingTypeName() const
ThingAttribute & WithVersion(long long value)
void SetVersion(long long value)
AWS_IOT_API Aws::Utils::Json::JsonValue Jsonize() const
ThingAttribute & AddAttributes(AttributesKeyT &&key, AttributesValueT &&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
Aws::Utils::Json::JsonValue JsonValue