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>
54 template <
typename PathT = Aws::String>
56 m_pathHasBeenSet =
true;
57 m_path = std::forward<PathT>(value);
59 template <
typename PathT = Aws::String>
61 SetPath(std::forward<PathT>(value));
72 template <
typename UserNameT = Aws::String>
74 m_userNameHasBeenSet =
true;
75 m_userName = std::forward<UserNameT>(value);
77 template <
typename UserNameT = Aws::String>
93 template <
typename UserIdT = Aws::String>
95 m_userIdHasBeenSet =
true;
96 m_userId = std::forward<UserIdT>(value);
98 template <
typename UserIdT = Aws::String>
109 template <
typename ArnT = Aws::String>
111 m_arnHasBeenSet =
true;
112 m_arn = std::forward<ArnT>(value);
114 template <
typename ArnT = Aws::String>
116 SetArn(std::forward<ArnT>(value));
128 template <
typename CreateDateT = Aws::Utils::DateTime>
130 m_createDateHasBeenSet =
true;
131 m_createDate = std::forward<CreateDateT>(value);
133 template <
typename CreateDateT = Aws::Utils::DateTime>
146 template <
typename UserPolicyListT = Aws::Vector<PolicyDetail>>
148 m_userPolicyListHasBeenSet =
true;
149 m_userPolicyList = std::forward<UserPolicyListT>(value);
151 template <
typename UserPolicyListT = Aws::Vector<PolicyDetail>>
156 template <
typename UserPolicyListT = PolicyDetail>
158 m_userPolicyListHasBeenSet =
true;
159 m_userPolicyList.emplace_back(std::forward<UserPolicyListT>(value));
170 template <
typename GroupListT = Aws::Vector<Aws::String>>
172 m_groupListHasBeenSet =
true;
173 m_groupList = std::forward<GroupListT>(value);
175 template <
typename GroupListT = Aws::Vector<Aws::String>>
180 template <
typename GroupListT = Aws::String>
182 m_groupListHasBeenSet =
true;
183 m_groupList.emplace_back(std::forward<GroupListT>(value));
194 template <
typename AttachedManagedPoliciesT = Aws::Vector<AttachedPolicy>>
196 m_attachedManagedPoliciesHasBeenSet =
true;
197 m_attachedManagedPolicies = std::forward<AttachedManagedPoliciesT>(value);
199 template <
typename AttachedManagedPoliciesT = Aws::Vector<AttachedPolicy>>
204 template <
typename AttachedManagedPoliciesT = AttachedPolicy>
206 m_attachedManagedPoliciesHasBeenSet =
true;
207 m_attachedManagedPolicies.emplace_back(std::forward<AttachedManagedPoliciesT>(value));
221 template <
typename PermissionsBoundaryT = AttachedPermissionsBoundary>
223 m_permissionsBoundaryHasBeenSet =
true;
224 m_permissionsBoundary = std::forward<PermissionsBoundaryT>(value);
226 template <
typename PermissionsBoundaryT = AttachedPermissionsBoundary>
242 template <
typename TagsT = Aws::Vector<Tag>>
244 m_tagsHasBeenSet =
true;
245 m_tags = std::forward<TagsT>(value);
247 template <
typename TagsT = Aws::Vector<Tag>>
249 SetTags(std::forward<TagsT>(value));
252 template <
typename TagsT = Tag>
254 m_tagsHasBeenSet =
true;
255 m_tags.emplace_back(std::forward<TagsT>(value));
276 AttachedPermissionsBoundary m_permissionsBoundary;
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;
AWS_IAM_API UserDetail()=default
void SetUserPolicyList(UserPolicyListT &&value)
bool ArnHasBeenSet() const
bool PathHasBeenSet() const
UserDetail & AddUserPolicyList(UserPolicyListT &&value)
bool GroupListHasBeenSet() const
UserDetail & WithTags(TagsT &&value)
const Aws::String & GetUserId() const
bool UserPolicyListHasBeenSet() const
UserDetail & AddAttachedManagedPolicies(AttachedManagedPoliciesT &&value)
bool UserNameHasBeenSet() const
void SetGroupList(GroupListT &&value)
const Aws::String & GetArn() const
const Aws::String & GetUserName() const
UserDetail & WithAttachedManagedPolicies(AttachedManagedPoliciesT &&value)
AWS_IAM_API UserDetail(const Aws::Utils::Xml::XmlNode &xmlNode)
bool AttachedManagedPoliciesHasBeenSet() const
UserDetail & WithPermissionsBoundary(PermissionsBoundaryT &&value)
const Aws::String & GetPath() const
const AttachedPermissionsBoundary & GetPermissionsBoundary() const
const Aws::Vector< AttachedPolicy > & GetAttachedManagedPolicies() const
UserDetail & WithUserId(UserIdT &&value)
void SetPath(PathT &&value)
AWS_IAM_API void OutputToStream(Aws::OStream &oStream, const char *location) const
UserDetail & WithCreateDate(CreateDateT &&value)
bool CreateDateHasBeenSet() const
void SetArn(ArnT &&value)
UserDetail & WithUserPolicyList(UserPolicyListT &&value)
const Aws::Utils::DateTime & GetCreateDate() const
void SetTags(TagsT &&value)
const Aws::Vector< PolicyDetail > & GetUserPolicyList() const
void SetAttachedManagedPolicies(AttachedManagedPoliciesT &&value)
void SetCreateDate(CreateDateT &&value)
bool UserIdHasBeenSet() const
UserDetail & WithGroupList(GroupListT &&value)
AWS_IAM_API UserDetail & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
UserDetail & AddTags(TagsT &&value)
const Aws::Vector< Aws::String > & GetGroupList() const
void SetUserName(UserNameT &&value)
UserDetail & WithPath(PathT &&value)
bool PermissionsBoundaryHasBeenSet() const
UserDetail & AddGroupList(GroupListT &&value)
UserDetail & WithUserName(UserNameT &&value)
bool TagsHasBeenSet() const
void SetUserId(UserIdT &&value)
const Aws::Vector< Tag > & GetTags() const
AWS_IAM_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
UserDetail & WithArn(ArnT &&value)
void SetPermissionsBoundary(PermissionsBoundaryT &&value)
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