7#include <aws/iam/IAM_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/DateTime.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/iam/model/AttachedPermissionsBoundary.h>
13#include <aws/iam/model/PolicyDetail.h>
14#include <aws/iam/model/AttachedPolicy.h>
15#include <aws/iam/model/Tag.h>
60 template<
typename PathT = Aws::String>
61 void SetPath(PathT&& value) { m_pathHasBeenSet =
true; m_path = std::forward<PathT>(value); }
62 template<
typename PathT = Aws::String>
72 template<
typename UserNameT = Aws::String>
73 void SetUserName(UserNameT&& value) { m_userNameHasBeenSet =
true; m_userName = std::forward<UserNameT>(value); }
74 template<
typename UserNameT = Aws::String>
87 template<
typename UserIdT = Aws::String>
88 void SetUserId(UserIdT&& value) { m_userIdHasBeenSet =
true; m_userId = std::forward<UserIdT>(value); }
89 template<
typename UserIdT = Aws::String>
97 template<
typename ArnT = Aws::String>
98 void SetArn(ArnT&& value) { m_arnHasBeenSet =
true; m_arn = std::forward<ArnT>(value); }
99 template<
typename ArnT = Aws::String>
110 template<
typename CreateDateT = Aws::Utils::DateTime>
111 void SetCreateDate(CreateDateT&& value) { m_createDateHasBeenSet =
true; m_createDate = std::forward<CreateDateT>(value); }
112 template<
typename CreateDateT = Aws::Utils::DateTime>
122 template<
typename UserPolicyListT = Aws::Vector<PolicyDetail>>
123 void SetUserPolicyList(UserPolicyListT&& value) { m_userPolicyListHasBeenSet =
true; m_userPolicyList = std::forward<UserPolicyListT>(value); }
124 template<
typename UserPolicyListT = Aws::Vector<PolicyDetail>>
126 template<
typename UserPolicyListT = PolicyDetail>
127 UserDetail&
AddUserPolicyList(UserPolicyListT&& value) { m_userPolicyListHasBeenSet =
true; m_userPolicyList.emplace_back(std::forward<UserPolicyListT>(value));
return *
this; }
136 template<
typename GroupListT = Aws::Vector<Aws::String>>
137 void SetGroupList(GroupListT&& value) { m_groupListHasBeenSet =
true; m_groupList = std::forward<GroupListT>(value); }
138 template<
typename GroupListT = Aws::Vector<Aws::String>>
140 template<
typename GroupListT = Aws::String>
141 UserDetail&
AddGroupList(GroupListT&& value) { m_groupListHasBeenSet =
true; m_groupList.emplace_back(std::forward<GroupListT>(value));
return *
this; }
150 template<
typename AttachedManagedPoliciesT = Aws::Vector<AttachedPolicy>>
151 void SetAttachedManagedPolicies(AttachedManagedPoliciesT&& value) { m_attachedManagedPoliciesHasBeenSet =
true; m_attachedManagedPolicies = std::forward<AttachedManagedPoliciesT>(value); }
152 template<
typename AttachedManagedPoliciesT = Aws::Vector<AttachedPolicy>>
154 template<
typename AttachedManagedPoliciesT = AttachedPolicy>
155 UserDetail&
AddAttachedManagedPolicies(AttachedManagedPoliciesT&& value) { m_attachedManagedPoliciesHasBeenSet =
true; m_attachedManagedPolicies.emplace_back(std::forward<AttachedManagedPoliciesT>(value));
return *
this; }
167 template<
typename PermissionsBoundaryT = AttachedPermissionsBoundary>
168 void SetPermissionsBoundary(PermissionsBoundaryT&& value) { m_permissionsBoundaryHasBeenSet =
true; m_permissionsBoundary = std::forward<PermissionsBoundaryT>(value); }
169 template<
typename PermissionsBoundaryT = AttachedPermissionsBoundary>
182 template<
typename TagsT = Aws::Vector<Tag>>
183 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
184 template<
typename TagsT = Aws::Vector<Tag>>
186 template<
typename TagsT = Tag>
187 UserDetail&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
192 bool m_pathHasBeenSet =
false;
195 bool m_userNameHasBeenSet =
false;
198 bool m_userIdHasBeenSet =
false;
201 bool m_arnHasBeenSet =
false;
204 bool m_createDateHasBeenSet =
false;
207 bool m_userPolicyListHasBeenSet =
false;
210 bool m_groupListHasBeenSet =
false;
213 bool m_attachedManagedPoliciesHasBeenSet =
false;
215 AttachedPermissionsBoundary m_permissionsBoundary;
216 bool m_permissionsBoundaryHasBeenSet =
false;
219 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