AWS SDK for C++

AWS SDK for C++ Version 1.11.751

Loading...
Searching...
No Matches
GroupDetail.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/iam/IAM_EXPORTS.h>
12#include <aws/iam/model/AttachedPolicy.h>
13#include <aws/iam/model/PolicyDetail.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Xml {
20class XmlNode;
21} // namespace Xml
22} // namespace Utils
23namespace IAM {
24namespace Model {
25
35 public:
36 AWS_IAM_API GroupDetail() = default;
37 AWS_IAM_API GroupDetail(const Aws::Utils::Xml::XmlNode& xmlNode);
38 AWS_IAM_API GroupDetail& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
39
40 AWS_IAM_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
41 AWS_IAM_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
42
44
49 inline const Aws::String& GetPath() const { return m_path; }
50 inline bool PathHasBeenSet() const { return m_pathHasBeenSet; }
51 template <typename PathT = Aws::String>
52 void SetPath(PathT&& value) {
53 m_pathHasBeenSet = true;
54 m_path = std::forward<PathT>(value);
55 }
56 template <typename PathT = Aws::String>
57 GroupDetail& WithPath(PathT&& value) {
58 SetPath(std::forward<PathT>(value));
59 return *this;
60 }
62
64
67 inline const Aws::String& GetGroupName() const { return m_groupName; }
68 inline bool GroupNameHasBeenSet() const { return m_groupNameHasBeenSet; }
69 template <typename GroupNameT = Aws::String>
70 void SetGroupName(GroupNameT&& value) {
71 m_groupNameHasBeenSet = true;
72 m_groupName = std::forward<GroupNameT>(value);
73 }
74 template <typename GroupNameT = Aws::String>
75 GroupDetail& WithGroupName(GroupNameT&& value) {
76 SetGroupName(std::forward<GroupNameT>(value));
77 return *this;
78 }
80
82
88 inline const Aws::String& GetGroupId() const { return m_groupId; }
89 inline bool GroupIdHasBeenSet() const { return m_groupIdHasBeenSet; }
90 template <typename GroupIdT = Aws::String>
91 void SetGroupId(GroupIdT&& value) {
92 m_groupIdHasBeenSet = true;
93 m_groupId = std::forward<GroupIdT>(value);
94 }
95 template <typename GroupIdT = Aws::String>
96 GroupDetail& WithGroupId(GroupIdT&& value) {
97 SetGroupId(std::forward<GroupIdT>(value));
98 return *this;
99 }
101
103
104 inline const Aws::String& GetArn() const { return m_arn; }
105 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
106 template <typename ArnT = Aws::String>
107 void SetArn(ArnT&& value) {
108 m_arnHasBeenSet = true;
109 m_arn = std::forward<ArnT>(value);
110 }
111 template <typename ArnT = Aws::String>
112 GroupDetail& WithArn(ArnT&& value) {
113 SetArn(std::forward<ArnT>(value));
114 return *this;
115 }
117
119
123 inline const Aws::Utils::DateTime& GetCreateDate() const { return m_createDate; }
124 inline bool CreateDateHasBeenSet() const { return m_createDateHasBeenSet; }
125 template <typename CreateDateT = Aws::Utils::DateTime>
126 void SetCreateDate(CreateDateT&& value) {
127 m_createDateHasBeenSet = true;
128 m_createDate = std::forward<CreateDateT>(value);
129 }
130 template <typename CreateDateT = Aws::Utils::DateTime>
131 GroupDetail& WithCreateDate(CreateDateT&& value) {
132 SetCreateDate(std::forward<CreateDateT>(value));
133 return *this;
134 }
136
138
141 inline const Aws::Vector<PolicyDetail>& GetGroupPolicyList() const { return m_groupPolicyList; }
142 inline bool GroupPolicyListHasBeenSet() const { return m_groupPolicyListHasBeenSet; }
143 template <typename GroupPolicyListT = Aws::Vector<PolicyDetail>>
144 void SetGroupPolicyList(GroupPolicyListT&& value) {
145 m_groupPolicyListHasBeenSet = true;
146 m_groupPolicyList = std::forward<GroupPolicyListT>(value);
147 }
148 template <typename GroupPolicyListT = Aws::Vector<PolicyDetail>>
149 GroupDetail& WithGroupPolicyList(GroupPolicyListT&& value) {
150 SetGroupPolicyList(std::forward<GroupPolicyListT>(value));
151 return *this;
152 }
153 template <typename GroupPolicyListT = PolicyDetail>
154 GroupDetail& AddGroupPolicyList(GroupPolicyListT&& value) {
155 m_groupPolicyListHasBeenSet = true;
156 m_groupPolicyList.emplace_back(std::forward<GroupPolicyListT>(value));
157 return *this;
158 }
160
162
165 inline const Aws::Vector<AttachedPolicy>& GetAttachedManagedPolicies() const { return m_attachedManagedPolicies; }
166 inline bool AttachedManagedPoliciesHasBeenSet() const { return m_attachedManagedPoliciesHasBeenSet; }
167 template <typename AttachedManagedPoliciesT = Aws::Vector<AttachedPolicy>>
168 void SetAttachedManagedPolicies(AttachedManagedPoliciesT&& value) {
169 m_attachedManagedPoliciesHasBeenSet = true;
170 m_attachedManagedPolicies = std::forward<AttachedManagedPoliciesT>(value);
171 }
172 template <typename AttachedManagedPoliciesT = Aws::Vector<AttachedPolicy>>
173 GroupDetail& WithAttachedManagedPolicies(AttachedManagedPoliciesT&& value) {
174 SetAttachedManagedPolicies(std::forward<AttachedManagedPoliciesT>(value));
175 return *this;
176 }
177 template <typename AttachedManagedPoliciesT = AttachedPolicy>
178 GroupDetail& AddAttachedManagedPolicies(AttachedManagedPoliciesT&& value) {
179 m_attachedManagedPoliciesHasBeenSet = true;
180 m_attachedManagedPolicies.emplace_back(std::forward<AttachedManagedPoliciesT>(value));
181 return *this;
182 }
184 private:
185 Aws::String m_path;
186
187 Aws::String m_groupName;
188
189 Aws::String m_groupId;
190
191 Aws::String m_arn;
192
193 Aws::Utils::DateTime m_createDate{};
194
195 Aws::Vector<PolicyDetail> m_groupPolicyList;
196
197 Aws::Vector<AttachedPolicy> m_attachedManagedPolicies;
198 bool m_pathHasBeenSet = false;
199 bool m_groupNameHasBeenSet = false;
200 bool m_groupIdHasBeenSet = false;
201 bool m_arnHasBeenSet = false;
202 bool m_createDateHasBeenSet = false;
203 bool m_groupPolicyListHasBeenSet = false;
204 bool m_attachedManagedPoliciesHasBeenSet = false;
205};
206
207} // namespace Model
208} // namespace IAM
209} // namespace Aws
void SetPath(PathT &&value)
Definition GroupDetail.h:52
const Aws::String & GetGroupName() const
Definition GroupDetail.h:67
const Aws::String & GetGroupId() const
Definition GroupDetail.h:88
AWS_IAM_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
bool AttachedManagedPoliciesHasBeenSet() const
const Aws::String & GetArn() const
GroupDetail & WithAttachedManagedPolicies(AttachedManagedPoliciesT &&value)
AWS_IAM_API void OutputToStream(Aws::OStream &oStream, const char *location) const
AWS_IAM_API GroupDetail(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetCreateDate(CreateDateT &&value)
GroupDetail & WithGroupId(GroupIdT &&value)
Definition GroupDetail.h:96
GroupDetail & WithPath(PathT &&value)
Definition GroupDetail.h:57
GroupDetail & WithCreateDate(CreateDateT &&value)
void SetGroupName(GroupNameT &&value)
Definition GroupDetail.h:70
void SetGroupPolicyList(GroupPolicyListT &&value)
bool GroupPolicyListHasBeenSet() const
AWS_IAM_API GroupDetail & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
GroupDetail & WithArn(ArnT &&value)
GroupDetail & WithGroupPolicyList(GroupPolicyListT &&value)
const Aws::Utils::DateTime & GetCreateDate() const
void SetAttachedManagedPolicies(AttachedManagedPoliciesT &&value)
GroupDetail & AddAttachedManagedPolicies(AttachedManagedPoliciesT &&value)
GroupDetail & AddGroupPolicyList(GroupPolicyListT &&value)
const Aws::Vector< AttachedPolicy > & GetAttachedManagedPolicies() const
void SetGroupId(GroupIdT &&value)
Definition GroupDetail.h:91
void SetArn(ArnT &&value)
const Aws::Vector< PolicyDetail > & GetGroupPolicyList() const
const Aws::String & GetPath() const
Definition GroupDetail.h:49
AWS_IAM_API GroupDetail()=default
GroupDetail & WithGroupName(GroupNameT &&value)
Definition GroupDetail.h:75
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream