AWS SDK for C++

AWS SDK for C++ Version 1.11.748

Loading...
Searching...
No Matches
UserDetail.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/AttachedPermissionsBoundary.h>
13#include <aws/iam/model/AttachedPolicy.h>
14#include <aws/iam/model/PolicyDetail.h>
15#include <aws/iam/model/Tag.h>
16
17#include <utility>
18
19namespace Aws {
20namespace Utils {
21namespace Xml {
22class XmlNode;
23} // namespace Xml
24} // namespace Utils
25namespace IAM {
26namespace Model {
27
38 public:
39 AWS_IAM_API UserDetail() = default;
40 AWS_IAM_API UserDetail(const Aws::Utils::Xml::XmlNode& xmlNode);
41 AWS_IAM_API UserDetail& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
42
43 AWS_IAM_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
44 AWS_IAM_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
45
47
52 inline const Aws::String& GetPath() const { return m_path; }
53 inline bool PathHasBeenSet() const { return m_pathHasBeenSet; }
54 template <typename PathT = Aws::String>
55 void SetPath(PathT&& value) {
56 m_pathHasBeenSet = true;
57 m_path = std::forward<PathT>(value);
58 }
59 template <typename PathT = Aws::String>
60 UserDetail& WithPath(PathT&& value) {
61 SetPath(std::forward<PathT>(value));
62 return *this;
63 }
65
67
70 inline const Aws::String& GetUserName() const { return m_userName; }
71 inline bool UserNameHasBeenSet() const { return m_userNameHasBeenSet; }
72 template <typename UserNameT = Aws::String>
73 void SetUserName(UserNameT&& value) {
74 m_userNameHasBeenSet = true;
75 m_userName = std::forward<UserNameT>(value);
76 }
77 template <typename UserNameT = Aws::String>
78 UserDetail& WithUserName(UserNameT&& value) {
79 SetUserName(std::forward<UserNameT>(value));
80 return *this;
81 }
83
85
91 inline const Aws::String& GetUserId() const { return m_userId; }
92 inline bool UserIdHasBeenSet() const { return m_userIdHasBeenSet; }
93 template <typename UserIdT = Aws::String>
94 void SetUserId(UserIdT&& value) {
95 m_userIdHasBeenSet = true;
96 m_userId = std::forward<UserIdT>(value);
97 }
98 template <typename UserIdT = Aws::String>
99 UserDetail& WithUserId(UserIdT&& value) {
100 SetUserId(std::forward<UserIdT>(value));
101 return *this;
102 }
104
106
107 inline const Aws::String& GetArn() const { return m_arn; }
108 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
109 template <typename ArnT = Aws::String>
110 void SetArn(ArnT&& value) {
111 m_arnHasBeenSet = true;
112 m_arn = std::forward<ArnT>(value);
113 }
114 template <typename ArnT = Aws::String>
115 UserDetail& WithArn(ArnT&& value) {
116 SetArn(std::forward<ArnT>(value));
117 return *this;
118 }
120
122
126 inline const Aws::Utils::DateTime& GetCreateDate() const { return m_createDate; }
127 inline bool CreateDateHasBeenSet() const { return m_createDateHasBeenSet; }
128 template <typename CreateDateT = Aws::Utils::DateTime>
129 void SetCreateDate(CreateDateT&& value) {
130 m_createDateHasBeenSet = true;
131 m_createDate = std::forward<CreateDateT>(value);
132 }
133 template <typename CreateDateT = Aws::Utils::DateTime>
134 UserDetail& WithCreateDate(CreateDateT&& value) {
135 SetCreateDate(std::forward<CreateDateT>(value));
136 return *this;
137 }
139
141
144 inline const Aws::Vector<PolicyDetail>& GetUserPolicyList() const { return m_userPolicyList; }
145 inline bool UserPolicyListHasBeenSet() const { return m_userPolicyListHasBeenSet; }
146 template <typename UserPolicyListT = Aws::Vector<PolicyDetail>>
147 void SetUserPolicyList(UserPolicyListT&& value) {
148 m_userPolicyListHasBeenSet = true;
149 m_userPolicyList = std::forward<UserPolicyListT>(value);
150 }
151 template <typename UserPolicyListT = Aws::Vector<PolicyDetail>>
152 UserDetail& WithUserPolicyList(UserPolicyListT&& value) {
153 SetUserPolicyList(std::forward<UserPolicyListT>(value));
154 return *this;
155 }
156 template <typename UserPolicyListT = PolicyDetail>
157 UserDetail& AddUserPolicyList(UserPolicyListT&& value) {
158 m_userPolicyListHasBeenSet = true;
159 m_userPolicyList.emplace_back(std::forward<UserPolicyListT>(value));
160 return *this;
161 }
163
165
168 inline const Aws::Vector<Aws::String>& GetGroupList() const { return m_groupList; }
169 inline bool GroupListHasBeenSet() const { return m_groupListHasBeenSet; }
170 template <typename GroupListT = Aws::Vector<Aws::String>>
171 void SetGroupList(GroupListT&& value) {
172 m_groupListHasBeenSet = true;
173 m_groupList = std::forward<GroupListT>(value);
174 }
175 template <typename GroupListT = Aws::Vector<Aws::String>>
176 UserDetail& WithGroupList(GroupListT&& value) {
177 SetGroupList(std::forward<GroupListT>(value));
178 return *this;
179 }
180 template <typename GroupListT = Aws::String>
181 UserDetail& AddGroupList(GroupListT&& value) {
182 m_groupListHasBeenSet = true;
183 m_groupList.emplace_back(std::forward<GroupListT>(value));
184 return *this;
185 }
187
189
192 inline const Aws::Vector<AttachedPolicy>& GetAttachedManagedPolicies() const { return m_attachedManagedPolicies; }
193 inline bool AttachedManagedPoliciesHasBeenSet() const { return m_attachedManagedPoliciesHasBeenSet; }
194 template <typename AttachedManagedPoliciesT = Aws::Vector<AttachedPolicy>>
195 void SetAttachedManagedPolicies(AttachedManagedPoliciesT&& value) {
196 m_attachedManagedPoliciesHasBeenSet = true;
197 m_attachedManagedPolicies = std::forward<AttachedManagedPoliciesT>(value);
198 }
199 template <typename AttachedManagedPoliciesT = Aws::Vector<AttachedPolicy>>
200 UserDetail& WithAttachedManagedPolicies(AttachedManagedPoliciesT&& value) {
201 SetAttachedManagedPolicies(std::forward<AttachedManagedPoliciesT>(value));
202 return *this;
203 }
204 template <typename AttachedManagedPoliciesT = AttachedPolicy>
205 UserDetail& AddAttachedManagedPolicies(AttachedManagedPoliciesT&& value) {
206 m_attachedManagedPoliciesHasBeenSet = true;
207 m_attachedManagedPolicies.emplace_back(std::forward<AttachedManagedPoliciesT>(value));
208 return *this;
209 }
211
213
219 inline const AttachedPermissionsBoundary& GetPermissionsBoundary() const { return m_permissionsBoundary; }
220 inline bool PermissionsBoundaryHasBeenSet() const { return m_permissionsBoundaryHasBeenSet; }
221 template <typename PermissionsBoundaryT = AttachedPermissionsBoundary>
222 void SetPermissionsBoundary(PermissionsBoundaryT&& value) {
223 m_permissionsBoundaryHasBeenSet = true;
224 m_permissionsBoundary = std::forward<PermissionsBoundaryT>(value);
225 }
226 template <typename PermissionsBoundaryT = AttachedPermissionsBoundary>
227 UserDetail& WithPermissionsBoundary(PermissionsBoundaryT&& value) {
228 SetPermissionsBoundary(std::forward<PermissionsBoundaryT>(value));
229 return *this;
230 }
232
234
240 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
241 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
242 template <typename TagsT = Aws::Vector<Tag>>
243 void SetTags(TagsT&& value) {
244 m_tagsHasBeenSet = true;
245 m_tags = std::forward<TagsT>(value);
246 }
247 template <typename TagsT = Aws::Vector<Tag>>
248 UserDetail& WithTags(TagsT&& value) {
249 SetTags(std::forward<TagsT>(value));
250 return *this;
251 }
252 template <typename TagsT = Tag>
253 UserDetail& AddTags(TagsT&& value) {
254 m_tagsHasBeenSet = true;
255 m_tags.emplace_back(std::forward<TagsT>(value));
256 return *this;
257 }
259 private:
260 Aws::String m_path;
261
262 Aws::String m_userName;
263
264 Aws::String m_userId;
265
266 Aws::String m_arn;
267
268 Aws::Utils::DateTime m_createDate{};
269
270 Aws::Vector<PolicyDetail> m_userPolicyList;
271
272 Aws::Vector<Aws::String> m_groupList;
273
274 Aws::Vector<AttachedPolicy> m_attachedManagedPolicies;
275
276 AttachedPermissionsBoundary m_permissionsBoundary;
277
278 Aws::Vector<Tag> m_tags;
279 bool m_pathHasBeenSet = false;
280 bool m_userNameHasBeenSet = false;
281 bool m_userIdHasBeenSet = false;
282 bool m_arnHasBeenSet = false;
283 bool m_createDateHasBeenSet = false;
284 bool m_userPolicyListHasBeenSet = false;
285 bool m_groupListHasBeenSet = false;
286 bool m_attachedManagedPoliciesHasBeenSet = false;
287 bool m_permissionsBoundaryHasBeenSet = false;
288 bool m_tagsHasBeenSet = false;
289};
290
291} // namespace Model
292} // namespace IAM
293} // namespace Aws
AWS_IAM_API UserDetail()=default
void SetUserPolicyList(UserPolicyListT &&value)
Definition UserDetail.h:147
UserDetail & AddUserPolicyList(UserPolicyListT &&value)
Definition UserDetail.h:157
bool GroupListHasBeenSet() const
Definition UserDetail.h:169
UserDetail & WithTags(TagsT &&value)
Definition UserDetail.h:248
const Aws::String & GetUserId() const
Definition UserDetail.h:91
bool UserPolicyListHasBeenSet() const
Definition UserDetail.h:145
UserDetail & AddAttachedManagedPolicies(AttachedManagedPoliciesT &&value)
Definition UserDetail.h:205
bool UserNameHasBeenSet() const
Definition UserDetail.h:71
void SetGroupList(GroupListT &&value)
Definition UserDetail.h:171
const Aws::String & GetArn() const
Definition UserDetail.h:107
const Aws::String & GetUserName() const
Definition UserDetail.h:70
UserDetail & WithAttachedManagedPolicies(AttachedManagedPoliciesT &&value)
Definition UserDetail.h:200
AWS_IAM_API UserDetail(const Aws::Utils::Xml::XmlNode &xmlNode)
bool AttachedManagedPoliciesHasBeenSet() const
Definition UserDetail.h:193
UserDetail & WithPermissionsBoundary(PermissionsBoundaryT &&value)
Definition UserDetail.h:227
const Aws::String & GetPath() const
Definition UserDetail.h:52
const AttachedPermissionsBoundary & GetPermissionsBoundary() const
Definition UserDetail.h:219
const Aws::Vector< AttachedPolicy > & GetAttachedManagedPolicies() const
Definition UserDetail.h:192
UserDetail & WithUserId(UserIdT &&value)
Definition UserDetail.h:99
void SetPath(PathT &&value)
Definition UserDetail.h:55
AWS_IAM_API void OutputToStream(Aws::OStream &oStream, const char *location) const
UserDetail & WithCreateDate(CreateDateT &&value)
Definition UserDetail.h:134
bool CreateDateHasBeenSet() const
Definition UserDetail.h:127
void SetArn(ArnT &&value)
Definition UserDetail.h:110
UserDetail & WithUserPolicyList(UserPolicyListT &&value)
Definition UserDetail.h:152
const Aws::Utils::DateTime & GetCreateDate() const
Definition UserDetail.h:126
void SetTags(TagsT &&value)
Definition UserDetail.h:243
const Aws::Vector< PolicyDetail > & GetUserPolicyList() const
Definition UserDetail.h:144
void SetAttachedManagedPolicies(AttachedManagedPoliciesT &&value)
Definition UserDetail.h:195
void SetCreateDate(CreateDateT &&value)
Definition UserDetail.h:129
bool UserIdHasBeenSet() const
Definition UserDetail.h:92
UserDetail & WithGroupList(GroupListT &&value)
Definition UserDetail.h:176
AWS_IAM_API UserDetail & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
UserDetail & AddTags(TagsT &&value)
Definition UserDetail.h:253
const Aws::Vector< Aws::String > & GetGroupList() const
Definition UserDetail.h:168
void SetUserName(UserNameT &&value)
Definition UserDetail.h:73
UserDetail & WithPath(PathT &&value)
Definition UserDetail.h:60
bool PermissionsBoundaryHasBeenSet() const
Definition UserDetail.h:220
UserDetail & AddGroupList(GroupListT &&value)
Definition UserDetail.h:181
UserDetail & WithUserName(UserNameT &&value)
Definition UserDetail.h:78
void SetUserId(UserIdT &&value)
Definition UserDetail.h:94
const Aws::Vector< Tag > & GetTags() const
Definition UserDetail.h:240
AWS_IAM_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
UserDetail & WithArn(ArnT &&value)
Definition UserDetail.h:115
void SetPermissionsBoundary(PermissionsBoundaryT &&value)
Definition UserDetail.h:222
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