AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
ThingGroupDocument.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 <aws/core/utils/memory/stl/AWSVector.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 ThingGroupDocument() = default;
40
41
43
46 inline const Aws::String& GetThingGroupName() const { return m_thingGroupName; }
47 inline bool ThingGroupNameHasBeenSet() const { return m_thingGroupNameHasBeenSet; }
48 template<typename ThingGroupNameT = Aws::String>
49 void SetThingGroupName(ThingGroupNameT&& value) { m_thingGroupNameHasBeenSet = true; m_thingGroupName = std::forward<ThingGroupNameT>(value); }
50 template<typename ThingGroupNameT = Aws::String>
51 ThingGroupDocument& WithThingGroupName(ThingGroupNameT&& value) { SetThingGroupName(std::forward<ThingGroupNameT>(value)); return *this;}
53
55
58 inline const Aws::String& GetThingGroupId() const { return m_thingGroupId; }
59 inline bool ThingGroupIdHasBeenSet() const { return m_thingGroupIdHasBeenSet; }
60 template<typename ThingGroupIdT = Aws::String>
61 void SetThingGroupId(ThingGroupIdT&& value) { m_thingGroupIdHasBeenSet = true; m_thingGroupId = std::forward<ThingGroupIdT>(value); }
62 template<typename ThingGroupIdT = Aws::String>
63 ThingGroupDocument& WithThingGroupId(ThingGroupIdT&& value) { SetThingGroupId(std::forward<ThingGroupIdT>(value)); return *this;}
65
67
70 inline const Aws::String& GetThingGroupDescription() const { return m_thingGroupDescription; }
71 inline bool ThingGroupDescriptionHasBeenSet() const { return m_thingGroupDescriptionHasBeenSet; }
72 template<typename ThingGroupDescriptionT = Aws::String>
73 void SetThingGroupDescription(ThingGroupDescriptionT&& value) { m_thingGroupDescriptionHasBeenSet = true; m_thingGroupDescription = std::forward<ThingGroupDescriptionT>(value); }
74 template<typename ThingGroupDescriptionT = Aws::String>
75 ThingGroupDocument& WithThingGroupDescription(ThingGroupDescriptionT&& value) { SetThingGroupDescription(std::forward<ThingGroupDescriptionT>(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 ThingGroupDocument& WithAttributes(AttributesT&& value) { SetAttributes(std::forward<AttributesT>(value)); return *this;}
88 template<typename AttributesKeyT = Aws::String, typename AttributesValueT = Aws::String>
89 ThingGroupDocument& 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 const Aws::Vector<Aws::String>& GetParentGroupNames() const { return m_parentGroupNames; }
99 inline bool ParentGroupNamesHasBeenSet() const { return m_parentGroupNamesHasBeenSet; }
100 template<typename ParentGroupNamesT = Aws::Vector<Aws::String>>
101 void SetParentGroupNames(ParentGroupNamesT&& value) { m_parentGroupNamesHasBeenSet = true; m_parentGroupNames = std::forward<ParentGroupNamesT>(value); }
102 template<typename ParentGroupNamesT = Aws::Vector<Aws::String>>
103 ThingGroupDocument& WithParentGroupNames(ParentGroupNamesT&& value) { SetParentGroupNames(std::forward<ParentGroupNamesT>(value)); return *this;}
104 template<typename ParentGroupNamesT = Aws::String>
105 ThingGroupDocument& AddParentGroupNames(ParentGroupNamesT&& value) { m_parentGroupNamesHasBeenSet = true; m_parentGroupNames.emplace_back(std::forward<ParentGroupNamesT>(value)); return *this; }
107 private:
108
109 Aws::String m_thingGroupName;
110 bool m_thingGroupNameHasBeenSet = false;
111
112 Aws::String m_thingGroupId;
113 bool m_thingGroupIdHasBeenSet = false;
114
115 Aws::String m_thingGroupDescription;
116 bool m_thingGroupDescriptionHasBeenSet = false;
117
119 bool m_attributesHasBeenSet = false;
120
121 Aws::Vector<Aws::String> m_parentGroupNames;
122 bool m_parentGroupNamesHasBeenSet = false;
123 };
124
125} // namespace Model
126} // namespace IoT
127} // namespace Aws
void SetAttributes(AttributesT &&value)
AWS_IOT_API ThingGroupDocument & operator=(Aws::Utils::Json::JsonView jsonValue)
ThingGroupDocument & WithThingGroupDescription(ThingGroupDescriptionT &&value)
const Aws::String & GetThingGroupId() const
ThingGroupDocument & WithThingGroupName(ThingGroupNameT &&value)
const Aws::String & GetThingGroupDescription() const
void SetThingGroupId(ThingGroupIdT &&value)
AWS_IOT_API Aws::Utils::Json::JsonValue Jsonize() const
void SetThingGroupDescription(ThingGroupDescriptionT &&value)
const Aws::Map< Aws::String, Aws::String > & GetAttributes() const
const Aws::Vector< Aws::String > & GetParentGroupNames() const
void SetParentGroupNames(ParentGroupNamesT &&value)
AWS_IOT_API ThingGroupDocument(Aws::Utils::Json::JsonView jsonValue)
ThingGroupDocument & WithThingGroupId(ThingGroupIdT &&value)
ThingGroupDocument & AddAttributes(AttributesKeyT &&key, AttributesValueT &&value)
AWS_IOT_API ThingGroupDocument()=default
void SetThingGroupName(ThingGroupNameT &&value)
ThingGroupDocument & WithParentGroupNames(ParentGroupNamesT &&value)
const Aws::String & GetThingGroupName() const
ThingGroupDocument & AddParentGroupNames(ParentGroupNamesT &&value)
ThingGroupDocument & WithAttributes(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