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/iam/model/AttachedPermissionsBoundary.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/iam/model/Tag.h>
45 AWS_IAM_API
User() =
default;
62 template<
typename PathT = Aws::String>
63 void SetPath(PathT&& value) { m_pathHasBeenSet =
true; m_path = std::forward<PathT>(value); }
64 template<
typename PathT = Aws::String>
74 template<
typename UserNameT = Aws::String>
75 void SetUserName(UserNameT&& value) { m_userNameHasBeenSet =
true; m_userName = std::forward<UserNameT>(value); }
76 template<
typename UserNameT = Aws::String>
89 template<
typename UserIdT = Aws::String>
90 void SetUserId(UserIdT&& value) { m_userIdHasBeenSet =
true; m_userId = std::forward<UserIdT>(value); }
91 template<
typename UserIdT = Aws::String>
104 template<
typename ArnT = Aws::String>
105 void SetArn(ArnT&& value) { m_arnHasBeenSet =
true; m_arn = std::forward<ArnT>(value); }
106 template<
typename ArnT = Aws::String>
117 template<
typename CreateDateT = Aws::Utils::DateTime>
118 void SetCreateDate(CreateDateT&& value) { m_createDateHasBeenSet =
true; m_createDate = std::forward<CreateDateT>(value); }
119 template<
typename CreateDateT = Aws::Utils::DateTime>
147 template<
typename PasswordLastUsedT = Aws::Utils::DateTime>
148 void SetPasswordLastUsed(PasswordLastUsedT&& value) { m_passwordLastUsedHasBeenSet =
true; m_passwordLastUsed = std::forward<PasswordLastUsedT>(value); }
149 template<
typename PasswordLastUsedT = Aws::Utils::DateTime>
161 template<
typename PermissionsBoundaryT = AttachedPermissionsBoundary>
162 void SetPermissionsBoundary(PermissionsBoundaryT&& value) { m_permissionsBoundaryHasBeenSet =
true; m_permissionsBoundary = std::forward<PermissionsBoundaryT>(value); }
163 template<
typename PermissionsBoundaryT = AttachedPermissionsBoundary>
176 template<
typename TagsT = Aws::Vector<Tag>>
177 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
178 template<
typename TagsT = Aws::Vector<Tag>>
180 template<
typename TagsT = Tag>
181 User&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
186 bool m_pathHasBeenSet =
false;
189 bool m_userNameHasBeenSet =
false;
192 bool m_userIdHasBeenSet =
false;
195 bool m_arnHasBeenSet =
false;
198 bool m_createDateHasBeenSet =
false;
201 bool m_passwordLastUsedHasBeenSet =
false;
203 AttachedPermissionsBoundary m_permissionsBoundary;
204 bool m_permissionsBoundaryHasBeenSet =
false;
207 bool m_tagsHasBeenSet =
false;
void SetUserName(UserNameT &&value)
User & WithPasswordLastUsed(PasswordLastUsedT &&value)
void SetPermissionsBoundary(PermissionsBoundaryT &&value)
const AttachedPermissionsBoundary & GetPermissionsBoundary() const
AWS_IAM_API User & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::Vector< Tag > & GetTags() const
bool TagsHasBeenSet() const
void SetUserId(UserIdT &&value)
const Aws::Utils::DateTime & GetPasswordLastUsed() const
User & AddTags(TagsT &&value)
AWS_IAM_API void OutputToStream(Aws::OStream &oStream, const char *location) const
User & WithTags(TagsT &&value)
User & WithPath(PathT &&value)
const Aws::String & GetUserName() const
User & WithCreateDate(CreateDateT &&value)
User & WithUserId(UserIdT &&value)
void SetArn(ArnT &&value)
bool UserIdHasBeenSet() const
const Aws::Utils::DateTime & GetCreateDate() const
bool PermissionsBoundaryHasBeenSet() const
const Aws::String & GetPath() const
bool UserNameHasBeenSet() const
User & WithUserName(UserNameT &&value)
void SetTags(TagsT &&value)
void SetPasswordLastUsed(PasswordLastUsedT &&value)
User & WithPermissionsBoundary(PermissionsBoundaryT &&value)
const Aws::String & GetUserId() const
AWS_IAM_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
bool PathHasBeenSet() const
const Aws::String & GetArn() const
void SetCreateDate(CreateDateT &&value)
void SetPath(PathT &&value)
bool PasswordLastUsedHasBeenSet() const
AWS_IAM_API User(const Aws::Utils::Xml::XmlNode &xmlNode)
bool ArnHasBeenSet() const
bool CreateDateHasBeenSet() const
AWS_IAM_API User()=default
User & WithArn(ArnT &&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