AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
UserDetail.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/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>
16#include <utility>
17
18namespace Aws
19{
20namespace Utils
21{
22namespace Xml
23{
24 class XmlNode;
25} // namespace Xml
26} // namespace Utils
27namespace IAM
28{
29namespace Model
30{
31
42 {
43 public:
44 AWS_IAM_API UserDetail() = default;
45 AWS_IAM_API UserDetail(const Aws::Utils::Xml::XmlNode& xmlNode);
46 AWS_IAM_API UserDetail& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
47
48 AWS_IAM_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
49 AWS_IAM_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
50
51
53
58 inline const Aws::String& GetPath() const { return m_path; }
59 inline bool PathHasBeenSet() const { return m_pathHasBeenSet; }
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>
63 UserDetail& WithPath(PathT&& value) { SetPath(std::forward<PathT>(value)); return *this;}
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) { m_userNameHasBeenSet = true; m_userName = std::forward<UserNameT>(value); }
74 template<typename UserNameT = Aws::String>
75 UserDetail& WithUserName(UserNameT&& value) { SetUserName(std::forward<UserNameT>(value)); return *this;}
77
79
85 inline const Aws::String& GetUserId() const { return m_userId; }
86 inline bool UserIdHasBeenSet() const { return m_userIdHasBeenSet; }
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>
90 UserDetail& WithUserId(UserIdT&& value) { SetUserId(std::forward<UserIdT>(value)); return *this;}
92
94
95 inline const Aws::String& GetArn() const { return m_arn; }
96 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
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>
100 UserDetail& WithArn(ArnT&& value) { SetArn(std::forward<ArnT>(value)); return *this;}
102
104
108 inline const Aws::Utils::DateTime& GetCreateDate() const { return m_createDate; }
109 inline bool CreateDateHasBeenSet() const { return m_createDateHasBeenSet; }
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>
113 UserDetail& WithCreateDate(CreateDateT&& value) { SetCreateDate(std::forward<CreateDateT>(value)); return *this;}
115
117
120 inline const Aws::Vector<PolicyDetail>& GetUserPolicyList() const { return m_userPolicyList; }
121 inline bool UserPolicyListHasBeenSet() const { return m_userPolicyListHasBeenSet; }
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>>
125 UserDetail& WithUserPolicyList(UserPolicyListT&& value) { SetUserPolicyList(std::forward<UserPolicyListT>(value)); return *this;}
126 template<typename UserPolicyListT = PolicyDetail>
127 UserDetail& AddUserPolicyList(UserPolicyListT&& value) { m_userPolicyListHasBeenSet = true; m_userPolicyList.emplace_back(std::forward<UserPolicyListT>(value)); return *this; }
129
131
134 inline const Aws::Vector<Aws::String>& GetGroupList() const { return m_groupList; }
135 inline bool GroupListHasBeenSet() const { return m_groupListHasBeenSet; }
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>>
139 UserDetail& WithGroupList(GroupListT&& value) { SetGroupList(std::forward<GroupListT>(value)); return *this;}
140 template<typename GroupListT = Aws::String>
141 UserDetail& AddGroupList(GroupListT&& value) { m_groupListHasBeenSet = true; m_groupList.emplace_back(std::forward<GroupListT>(value)); return *this; }
143
145
148 inline const Aws::Vector<AttachedPolicy>& GetAttachedManagedPolicies() const { return m_attachedManagedPolicies; }
149 inline bool AttachedManagedPoliciesHasBeenSet() const { return m_attachedManagedPoliciesHasBeenSet; }
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>>
153 UserDetail& WithAttachedManagedPolicies(AttachedManagedPoliciesT&& value) { SetAttachedManagedPolicies(std::forward<AttachedManagedPoliciesT>(value)); return *this;}
154 template<typename AttachedManagedPoliciesT = AttachedPolicy>
155 UserDetail& AddAttachedManagedPolicies(AttachedManagedPoliciesT&& value) { m_attachedManagedPoliciesHasBeenSet = true; m_attachedManagedPolicies.emplace_back(std::forward<AttachedManagedPoliciesT>(value)); return *this; }
157
159
165 inline const AttachedPermissionsBoundary& GetPermissionsBoundary() const { return m_permissionsBoundary; }
166 inline bool PermissionsBoundaryHasBeenSet() const { return m_permissionsBoundaryHasBeenSet; }
167 template<typename PermissionsBoundaryT = AttachedPermissionsBoundary>
168 void SetPermissionsBoundary(PermissionsBoundaryT&& value) { m_permissionsBoundaryHasBeenSet = true; m_permissionsBoundary = std::forward<PermissionsBoundaryT>(value); }
169 template<typename PermissionsBoundaryT = AttachedPermissionsBoundary>
170 UserDetail& WithPermissionsBoundary(PermissionsBoundaryT&& value) { SetPermissionsBoundary(std::forward<PermissionsBoundaryT>(value)); return *this;}
172
174
180 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
181 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
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>>
185 UserDetail& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
186 template<typename TagsT = Tag>
187 UserDetail& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
189 private:
190
191 Aws::String m_path;
192 bool m_pathHasBeenSet = false;
193
194 Aws::String m_userName;
195 bool m_userNameHasBeenSet = false;
196
197 Aws::String m_userId;
198 bool m_userIdHasBeenSet = false;
199
200 Aws::String m_arn;
201 bool m_arnHasBeenSet = false;
202
203 Aws::Utils::DateTime m_createDate{};
204 bool m_createDateHasBeenSet = false;
205
206 Aws::Vector<PolicyDetail> m_userPolicyList;
207 bool m_userPolicyListHasBeenSet = false;
208
209 Aws::Vector<Aws::String> m_groupList;
210 bool m_groupListHasBeenSet = false;
211
212 Aws::Vector<AttachedPolicy> m_attachedManagedPolicies;
213 bool m_attachedManagedPoliciesHasBeenSet = false;
214
215 AttachedPermissionsBoundary m_permissionsBoundary;
216 bool m_permissionsBoundaryHasBeenSet = false;
217
218 Aws::Vector<Tag> m_tags;
219 bool m_tagsHasBeenSet = false;
220 };
221
222} // namespace Model
223} // namespace IAM
224} // namespace Aws
AWS_IAM_API UserDetail()=default
void SetUserPolicyList(UserPolicyListT &&value)
Definition UserDetail.h:123
UserDetail & AddUserPolicyList(UserPolicyListT &&value)
Definition UserDetail.h:127
bool GroupListHasBeenSet() const
Definition UserDetail.h:135
UserDetail & WithTags(TagsT &&value)
Definition UserDetail.h:185
const Aws::String & GetUserId() const
Definition UserDetail.h:85
bool UserPolicyListHasBeenSet() const
Definition UserDetail.h:121
UserDetail & AddAttachedManagedPolicies(AttachedManagedPoliciesT &&value)
Definition UserDetail.h:155
bool UserNameHasBeenSet() const
Definition UserDetail.h:71
void SetGroupList(GroupListT &&value)
Definition UserDetail.h:137
const Aws::String & GetArn() const
Definition UserDetail.h:95
const Aws::String & GetUserName() const
Definition UserDetail.h:70
UserDetail & WithAttachedManagedPolicies(AttachedManagedPoliciesT &&value)
Definition UserDetail.h:153
AWS_IAM_API UserDetail(const Aws::Utils::Xml::XmlNode &xmlNode)
bool AttachedManagedPoliciesHasBeenSet() const
Definition UserDetail.h:149
UserDetail & WithPermissionsBoundary(PermissionsBoundaryT &&value)
Definition UserDetail.h:170
const Aws::String & GetPath() const
Definition UserDetail.h:58
const AttachedPermissionsBoundary & GetPermissionsBoundary() const
Definition UserDetail.h:165
const Aws::Vector< AttachedPolicy > & GetAttachedManagedPolicies() const
Definition UserDetail.h:148
UserDetail & WithUserId(UserIdT &&value)
Definition UserDetail.h:90
void SetPath(PathT &&value)
Definition UserDetail.h:61
AWS_IAM_API void OutputToStream(Aws::OStream &oStream, const char *location) const
UserDetail & WithCreateDate(CreateDateT &&value)
Definition UserDetail.h:113
bool CreateDateHasBeenSet() const
Definition UserDetail.h:109
void SetArn(ArnT &&value)
Definition UserDetail.h:98
UserDetail & WithUserPolicyList(UserPolicyListT &&value)
Definition UserDetail.h:125
const Aws::Utils::DateTime & GetCreateDate() const
Definition UserDetail.h:108
void SetTags(TagsT &&value)
Definition UserDetail.h:183
const Aws::Vector< PolicyDetail > & GetUserPolicyList() const
Definition UserDetail.h:120
void SetAttachedManagedPolicies(AttachedManagedPoliciesT &&value)
Definition UserDetail.h:151
void SetCreateDate(CreateDateT &&value)
Definition UserDetail.h:111
bool UserIdHasBeenSet() const
Definition UserDetail.h:86
UserDetail & WithGroupList(GroupListT &&value)
Definition UserDetail.h:139
AWS_IAM_API UserDetail & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
UserDetail & AddTags(TagsT &&value)
Definition UserDetail.h:187
const Aws::Vector< Aws::String > & GetGroupList() const
Definition UserDetail.h:134
void SetUserName(UserNameT &&value)
Definition UserDetail.h:73
UserDetail & WithPath(PathT &&value)
Definition UserDetail.h:63
bool PermissionsBoundaryHasBeenSet() const
Definition UserDetail.h:166
UserDetail & AddGroupList(GroupListT &&value)
Definition UserDetail.h:141
UserDetail & WithUserName(UserNameT &&value)
Definition UserDetail.h:75
void SetUserId(UserIdT &&value)
Definition UserDetail.h:88
const Aws::Vector< Tag > & GetTags() const
Definition UserDetail.h:180
AWS_IAM_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
UserDetail & WithArn(ArnT &&value)
Definition UserDetail.h:100
void SetPermissionsBoundary(PermissionsBoundaryT &&value)
Definition UserDetail.h:168
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