AWS SDK for C++

AWS SDK for C++ Version 1.11.766

Loading...
Searching...
No Matches
ThingGroupMetadata.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/iot/IoT_EXPORTS.h>
11#include <aws/iot/model/GroupNameAndArn.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace IoT {
23namespace Model {
24
31 public:
32 AWS_IOT_API ThingGroupMetadata() = default;
36
38
41 inline const Aws::String& GetParentGroupName() const { return m_parentGroupName; }
42 inline bool ParentGroupNameHasBeenSet() const { return m_parentGroupNameHasBeenSet; }
43 template <typename ParentGroupNameT = Aws::String>
44 void SetParentGroupName(ParentGroupNameT&& value) {
45 m_parentGroupNameHasBeenSet = true;
46 m_parentGroupName = std::forward<ParentGroupNameT>(value);
47 }
48 template <typename ParentGroupNameT = Aws::String>
49 ThingGroupMetadata& WithParentGroupName(ParentGroupNameT&& value) {
50 SetParentGroupName(std::forward<ParentGroupNameT>(value));
51 return *this;
52 }
54
56
59 inline const Aws::Vector<GroupNameAndArn>& GetRootToParentThingGroups() const { return m_rootToParentThingGroups; }
60 inline bool RootToParentThingGroupsHasBeenSet() const { return m_rootToParentThingGroupsHasBeenSet; }
61 template <typename RootToParentThingGroupsT = Aws::Vector<GroupNameAndArn>>
62 void SetRootToParentThingGroups(RootToParentThingGroupsT&& value) {
63 m_rootToParentThingGroupsHasBeenSet = true;
64 m_rootToParentThingGroups = std::forward<RootToParentThingGroupsT>(value);
65 }
66 template <typename RootToParentThingGroupsT = Aws::Vector<GroupNameAndArn>>
67 ThingGroupMetadata& WithRootToParentThingGroups(RootToParentThingGroupsT&& value) {
68 SetRootToParentThingGroups(std::forward<RootToParentThingGroupsT>(value));
69 return *this;
70 }
71 template <typename RootToParentThingGroupsT = GroupNameAndArn>
72 ThingGroupMetadata& AddRootToParentThingGroups(RootToParentThingGroupsT&& value) {
73 m_rootToParentThingGroupsHasBeenSet = true;
74 m_rootToParentThingGroups.emplace_back(std::forward<RootToParentThingGroupsT>(value));
75 return *this;
76 }
78
80
83 inline const Aws::Utils::DateTime& GetCreationDate() const { return m_creationDate; }
84 inline bool CreationDateHasBeenSet() const { return m_creationDateHasBeenSet; }
85 template <typename CreationDateT = Aws::Utils::DateTime>
86 void SetCreationDate(CreationDateT&& value) {
87 m_creationDateHasBeenSet = true;
88 m_creationDate = std::forward<CreationDateT>(value);
89 }
90 template <typename CreationDateT = Aws::Utils::DateTime>
91 ThingGroupMetadata& WithCreationDate(CreationDateT&& value) {
92 SetCreationDate(std::forward<CreationDateT>(value));
93 return *this;
94 }
96 private:
97 Aws::String m_parentGroupName;
98
99 Aws::Vector<GroupNameAndArn> m_rootToParentThingGroups;
100
101 Aws::Utils::DateTime m_creationDate{};
102 bool m_parentGroupNameHasBeenSet = false;
103 bool m_rootToParentThingGroupsHasBeenSet = false;
104 bool m_creationDateHasBeenSet = false;
105};
106
107} // namespace Model
108} // namespace IoT
109} // namespace Aws
void SetParentGroupName(ParentGroupNameT &&value)
ThingGroupMetadata & WithRootToParentThingGroups(RootToParentThingGroupsT &&value)
AWS_IOT_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_IOT_API ThingGroupMetadata & operator=(Aws::Utils::Json::JsonView jsonValue)
ThingGroupMetadata & AddRootToParentThingGroups(RootToParentThingGroupsT &&value)
void SetCreationDate(CreationDateT &&value)
const Aws::Vector< GroupNameAndArn > & GetRootToParentThingGroups() const
AWS_IOT_API ThingGroupMetadata()=default
ThingGroupMetadata & WithCreationDate(CreationDateT &&value)
const Aws::Utils::DateTime & GetCreationDate() const
const Aws::String & GetParentGroupName() const
void SetRootToParentThingGroups(RootToParentThingGroupsT &&value)
AWS_IOT_API ThingGroupMetadata(Aws::Utils::Json::JsonView jsonValue)
ThingGroupMetadata & WithParentGroupName(ParentGroupNameT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue