AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
User.h
1
6#pragma once
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>
14#include <utility>
15
16namespace Aws
17{
18namespace Utils
19{
20namespace Xml
21{
22 class XmlNode;
23} // namespace Xml
24} // namespace Utils
25namespace IAM
26{
27namespace Model
28{
29
42 class User
43 {
44 public:
45 AWS_IAM_API User() = default;
46 AWS_IAM_API User(const Aws::Utils::Xml::XmlNode& xmlNode);
47 AWS_IAM_API User& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
48
49 AWS_IAM_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
50 AWS_IAM_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
51
52
54
60 inline const Aws::String& GetPath() const { return m_path; }
61 inline bool PathHasBeenSet() const { return m_pathHasBeenSet; }
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>
65 User& WithPath(PathT&& value) { SetPath(std::forward<PathT>(value)); return *this;}
67
69
72 inline const Aws::String& GetUserName() const { return m_userName; }
73 inline bool UserNameHasBeenSet() const { return m_userNameHasBeenSet; }
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>
77 User& WithUserName(UserNameT&& value) { SetUserName(std::forward<UserNameT>(value)); return *this;}
79
81
87 inline const Aws::String& GetUserId() const { return m_userId; }
88 inline bool UserIdHasBeenSet() const { return m_userIdHasBeenSet; }
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>
92 User& WithUserId(UserIdT&& value) { SetUserId(std::forward<UserIdT>(value)); return *this;}
94
96
102 inline const Aws::String& GetArn() const { return m_arn; }
103 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
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>
107 User& WithArn(ArnT&& value) { SetArn(std::forward<ArnT>(value)); return *this;}
109
111
115 inline const Aws::Utils::DateTime& GetCreateDate() const { return m_createDate; }
116 inline bool CreateDateHasBeenSet() const { return m_createDateHasBeenSet; }
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>
120 User& WithCreateDate(CreateDateT&& value) { SetCreateDate(std::forward<CreateDateT>(value)); return *this;}
122
124
145 inline const Aws::Utils::DateTime& GetPasswordLastUsed() const { return m_passwordLastUsed; }
146 inline bool PasswordLastUsedHasBeenSet() const { return m_passwordLastUsedHasBeenSet; }
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>
150 User& WithPasswordLastUsed(PasswordLastUsedT&& value) { SetPasswordLastUsed(std::forward<PasswordLastUsedT>(value)); return *this;}
152
154
159 inline const AttachedPermissionsBoundary& GetPermissionsBoundary() const { return m_permissionsBoundary; }
160 inline bool PermissionsBoundaryHasBeenSet() const { return m_permissionsBoundaryHasBeenSet; }
161 template<typename PermissionsBoundaryT = AttachedPermissionsBoundary>
162 void SetPermissionsBoundary(PermissionsBoundaryT&& value) { m_permissionsBoundaryHasBeenSet = true; m_permissionsBoundary = std::forward<PermissionsBoundaryT>(value); }
163 template<typename PermissionsBoundaryT = AttachedPermissionsBoundary>
164 User& WithPermissionsBoundary(PermissionsBoundaryT&& value) { SetPermissionsBoundary(std::forward<PermissionsBoundaryT>(value)); return *this;}
166
168
174 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
175 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
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>>
179 User& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
180 template<typename TagsT = Tag>
181 User& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
183 private:
184
185 Aws::String m_path;
186 bool m_pathHasBeenSet = false;
187
188 Aws::String m_userName;
189 bool m_userNameHasBeenSet = false;
190
191 Aws::String m_userId;
192 bool m_userIdHasBeenSet = false;
193
194 Aws::String m_arn;
195 bool m_arnHasBeenSet = false;
196
197 Aws::Utils::DateTime m_createDate{};
198 bool m_createDateHasBeenSet = false;
199
200 Aws::Utils::DateTime m_passwordLastUsed{};
201 bool m_passwordLastUsedHasBeenSet = false;
202
203 AttachedPermissionsBoundary m_permissionsBoundary;
204 bool m_permissionsBoundaryHasBeenSet = false;
205
206 Aws::Vector<Tag> m_tags;
207 bool m_tagsHasBeenSet = false;
208 };
209
210} // namespace Model
211} // namespace IAM
212} // namespace Aws
void SetUserName(UserNameT &&value)
Definition User.h:75
User & WithPasswordLastUsed(PasswordLastUsedT &&value)
Definition User.h:150
void SetPermissionsBoundary(PermissionsBoundaryT &&value)
Definition User.h:162
const AttachedPermissionsBoundary & GetPermissionsBoundary() const
Definition User.h:159
AWS_IAM_API User & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::Vector< Tag > & GetTags() const
Definition User.h:174
bool TagsHasBeenSet() const
Definition User.h:175
void SetUserId(UserIdT &&value)
Definition User.h:90
const Aws::Utils::DateTime & GetPasswordLastUsed() const
Definition User.h:145
User & AddTags(TagsT &&value)
Definition User.h:181
AWS_IAM_API void OutputToStream(Aws::OStream &oStream, const char *location) const
User & WithTags(TagsT &&value)
Definition User.h:179
User & WithPath(PathT &&value)
Definition User.h:65
const Aws::String & GetUserName() const
Definition User.h:72
User & WithCreateDate(CreateDateT &&value)
Definition User.h:120
User & WithUserId(UserIdT &&value)
Definition User.h:92
void SetArn(ArnT &&value)
Definition User.h:105
bool UserIdHasBeenSet() const
Definition User.h:88
const Aws::Utils::DateTime & GetCreateDate() const
Definition User.h:115
bool PermissionsBoundaryHasBeenSet() const
Definition User.h:160
const Aws::String & GetPath() const
Definition User.h:60
bool UserNameHasBeenSet() const
Definition User.h:73
User & WithUserName(UserNameT &&value)
Definition User.h:77
void SetTags(TagsT &&value)
Definition User.h:177
void SetPasswordLastUsed(PasswordLastUsedT &&value)
Definition User.h:148
User & WithPermissionsBoundary(PermissionsBoundaryT &&value)
Definition User.h:164
const Aws::String & GetUserId() const
Definition User.h:87
AWS_IAM_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
bool PathHasBeenSet() const
Definition User.h:61
const Aws::String & GetArn() const
Definition User.h:102
void SetCreateDate(CreateDateT &&value)
Definition User.h:118
void SetPath(PathT &&value)
Definition User.h:63
bool PasswordLastUsedHasBeenSet() const
Definition User.h:146
AWS_IAM_API User(const Aws::Utils::Xml::XmlNode &xmlNode)
bool ArnHasBeenSet() const
Definition User.h:103
bool CreateDateHasBeenSet() const
Definition User.h:116
AWS_IAM_API User()=default
User & WithArn(ArnT &&value)
Definition User.h:107
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