AWS SDK for C++

AWS SDK for C++ Version 1.11.440

Loading...
Searching...
No Matches
RoleDetail.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/RoleLastUsed.h>
14#include <aws/iam/model/InstanceProfile.h>
15#include <aws/iam/model/PolicyDetail.h>
16#include <aws/iam/model/AttachedPolicy.h>
17#include <aws/iam/model/Tag.h>
18#include <utility>
19
20namespace Aws
21{
22namespace Utils
23{
24namespace Xml
25{
26 class XmlNode;
27} // namespace Xml
28} // namespace Utils
29namespace IAM
30{
31namespace Model
32{
33
42 {
43 public:
44 AWS_IAM_API RoleDetail();
45 AWS_IAM_API RoleDetail(const Aws::Utils::Xml::XmlNode& xmlNode);
46 AWS_IAM_API RoleDetail& 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 inline void SetPath(const Aws::String& value) { m_pathHasBeenSet = true; m_path = value; }
61 inline void SetPath(Aws::String&& value) { m_pathHasBeenSet = true; m_path = std::move(value); }
62 inline void SetPath(const char* value) { m_pathHasBeenSet = true; m_path.assign(value); }
63 inline RoleDetail& WithPath(const Aws::String& value) { SetPath(value); return *this;}
64 inline RoleDetail& WithPath(Aws::String&& value) { SetPath(std::move(value)); return *this;}
65 inline RoleDetail& WithPath(const char* value) { SetPath(value); return *this;}
67
69
72 inline const Aws::String& GetRoleName() const{ return m_roleName; }
73 inline bool RoleNameHasBeenSet() const { return m_roleNameHasBeenSet; }
74 inline void SetRoleName(const Aws::String& value) { m_roleNameHasBeenSet = true; m_roleName = value; }
75 inline void SetRoleName(Aws::String&& value) { m_roleNameHasBeenSet = true; m_roleName = std::move(value); }
76 inline void SetRoleName(const char* value) { m_roleNameHasBeenSet = true; m_roleName.assign(value); }
77 inline RoleDetail& WithRoleName(const Aws::String& value) { SetRoleName(value); return *this;}
78 inline RoleDetail& WithRoleName(Aws::String&& value) { SetRoleName(std::move(value)); return *this;}
79 inline RoleDetail& WithRoleName(const char* value) { SetRoleName(value); return *this;}
81
83
89 inline const Aws::String& GetRoleId() const{ return m_roleId; }
90 inline bool RoleIdHasBeenSet() const { return m_roleIdHasBeenSet; }
91 inline void SetRoleId(const Aws::String& value) { m_roleIdHasBeenSet = true; m_roleId = value; }
92 inline void SetRoleId(Aws::String&& value) { m_roleIdHasBeenSet = true; m_roleId = std::move(value); }
93 inline void SetRoleId(const char* value) { m_roleIdHasBeenSet = true; m_roleId.assign(value); }
94 inline RoleDetail& WithRoleId(const Aws::String& value) { SetRoleId(value); return *this;}
95 inline RoleDetail& WithRoleId(Aws::String&& value) { SetRoleId(std::move(value)); return *this;}
96 inline RoleDetail& WithRoleId(const char* value) { SetRoleId(value); return *this;}
98
100
101 inline const Aws::String& GetArn() const{ return m_arn; }
102 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
103 inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; }
104 inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); }
105 inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); }
106 inline RoleDetail& WithArn(const Aws::String& value) { SetArn(value); return *this;}
107 inline RoleDetail& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;}
108 inline RoleDetail& WithArn(const char* value) { SetArn(value); return *this;}
110
112
116 inline const Aws::Utils::DateTime& GetCreateDate() const{ return m_createDate; }
117 inline bool CreateDateHasBeenSet() const { return m_createDateHasBeenSet; }
118 inline void SetCreateDate(const Aws::Utils::DateTime& value) { m_createDateHasBeenSet = true; m_createDate = value; }
119 inline void SetCreateDate(Aws::Utils::DateTime&& value) { m_createDateHasBeenSet = true; m_createDate = std::move(value); }
120 inline RoleDetail& WithCreateDate(const Aws::Utils::DateTime& value) { SetCreateDate(value); return *this;}
121 inline RoleDetail& WithCreateDate(Aws::Utils::DateTime&& value) { SetCreateDate(std::move(value)); return *this;}
123
125
128 inline const Aws::String& GetAssumeRolePolicyDocument() const{ return m_assumeRolePolicyDocument; }
129 inline bool AssumeRolePolicyDocumentHasBeenSet() const { return m_assumeRolePolicyDocumentHasBeenSet; }
130 inline void SetAssumeRolePolicyDocument(const Aws::String& value) { m_assumeRolePolicyDocumentHasBeenSet = true; m_assumeRolePolicyDocument = value; }
131 inline void SetAssumeRolePolicyDocument(Aws::String&& value) { m_assumeRolePolicyDocumentHasBeenSet = true; m_assumeRolePolicyDocument = std::move(value); }
132 inline void SetAssumeRolePolicyDocument(const char* value) { m_assumeRolePolicyDocumentHasBeenSet = true; m_assumeRolePolicyDocument.assign(value); }
134 inline RoleDetail& WithAssumeRolePolicyDocument(Aws::String&& value) { SetAssumeRolePolicyDocument(std::move(value)); return *this;}
135 inline RoleDetail& WithAssumeRolePolicyDocument(const char* value) { SetAssumeRolePolicyDocument(value); return *this;}
137
139
142 inline const Aws::Vector<InstanceProfile>& GetInstanceProfileList() const{ return m_instanceProfileList; }
143 inline bool InstanceProfileListHasBeenSet() const { return m_instanceProfileListHasBeenSet; }
144 inline void SetInstanceProfileList(const Aws::Vector<InstanceProfile>& value) { m_instanceProfileListHasBeenSet = true; m_instanceProfileList = value; }
145 inline void SetInstanceProfileList(Aws::Vector<InstanceProfile>&& value) { m_instanceProfileListHasBeenSet = true; m_instanceProfileList = std::move(value); }
148 inline RoleDetail& AddInstanceProfileList(const InstanceProfile& value) { m_instanceProfileListHasBeenSet = true; m_instanceProfileList.push_back(value); return *this; }
149 inline RoleDetail& AddInstanceProfileList(InstanceProfile&& value) { m_instanceProfileListHasBeenSet = true; m_instanceProfileList.push_back(std::move(value)); return *this; }
151
153
157 inline const Aws::Vector<PolicyDetail>& GetRolePolicyList() const{ return m_rolePolicyList; }
158 inline bool RolePolicyListHasBeenSet() const { return m_rolePolicyListHasBeenSet; }
159 inline void SetRolePolicyList(const Aws::Vector<PolicyDetail>& value) { m_rolePolicyListHasBeenSet = true; m_rolePolicyList = value; }
160 inline void SetRolePolicyList(Aws::Vector<PolicyDetail>&& value) { m_rolePolicyListHasBeenSet = true; m_rolePolicyList = std::move(value); }
161 inline RoleDetail& WithRolePolicyList(const Aws::Vector<PolicyDetail>& value) { SetRolePolicyList(value); return *this;}
162 inline RoleDetail& WithRolePolicyList(Aws::Vector<PolicyDetail>&& value) { SetRolePolicyList(std::move(value)); return *this;}
163 inline RoleDetail& AddRolePolicyList(const PolicyDetail& value) { m_rolePolicyListHasBeenSet = true; m_rolePolicyList.push_back(value); return *this; }
164 inline RoleDetail& AddRolePolicyList(PolicyDetail&& value) { m_rolePolicyListHasBeenSet = true; m_rolePolicyList.push_back(std::move(value)); return *this; }
166
168
172 inline const Aws::Vector<AttachedPolicy>& GetAttachedManagedPolicies() const{ return m_attachedManagedPolicies; }
173 inline bool AttachedManagedPoliciesHasBeenSet() const { return m_attachedManagedPoliciesHasBeenSet; }
174 inline void SetAttachedManagedPolicies(const Aws::Vector<AttachedPolicy>& value) { m_attachedManagedPoliciesHasBeenSet = true; m_attachedManagedPolicies = value; }
175 inline void SetAttachedManagedPolicies(Aws::Vector<AttachedPolicy>&& value) { m_attachedManagedPoliciesHasBeenSet = true; m_attachedManagedPolicies = std::move(value); }
178 inline RoleDetail& AddAttachedManagedPolicies(const AttachedPolicy& value) { m_attachedManagedPoliciesHasBeenSet = true; m_attachedManagedPolicies.push_back(value); return *this; }
179 inline RoleDetail& AddAttachedManagedPolicies(AttachedPolicy&& value) { m_attachedManagedPoliciesHasBeenSet = true; m_attachedManagedPolicies.push_back(std::move(value)); return *this; }
181
183
189 inline const AttachedPermissionsBoundary& GetPermissionsBoundary() const{ return m_permissionsBoundary; }
190 inline bool PermissionsBoundaryHasBeenSet() const { return m_permissionsBoundaryHasBeenSet; }
191 inline void SetPermissionsBoundary(const AttachedPermissionsBoundary& value) { m_permissionsBoundaryHasBeenSet = true; m_permissionsBoundary = value; }
192 inline void SetPermissionsBoundary(AttachedPermissionsBoundary&& value) { m_permissionsBoundaryHasBeenSet = true; m_permissionsBoundary = std::move(value); }
196
198
204 inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
205 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
206 inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
207 inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
208 inline RoleDetail& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
209 inline RoleDetail& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
210 inline RoleDetail& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
211 inline RoleDetail& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
213
215
224 inline const RoleLastUsed& GetRoleLastUsed() const{ return m_roleLastUsed; }
225 inline bool RoleLastUsedHasBeenSet() const { return m_roleLastUsedHasBeenSet; }
226 inline void SetRoleLastUsed(const RoleLastUsed& value) { m_roleLastUsedHasBeenSet = true; m_roleLastUsed = value; }
227 inline void SetRoleLastUsed(RoleLastUsed&& value) { m_roleLastUsedHasBeenSet = true; m_roleLastUsed = std::move(value); }
228 inline RoleDetail& WithRoleLastUsed(const RoleLastUsed& value) { SetRoleLastUsed(value); return *this;}
229 inline RoleDetail& WithRoleLastUsed(RoleLastUsed&& value) { SetRoleLastUsed(std::move(value)); return *this;}
231 private:
232
233 Aws::String m_path;
234 bool m_pathHasBeenSet = false;
235
236 Aws::String m_roleName;
237 bool m_roleNameHasBeenSet = false;
238
239 Aws::String m_roleId;
240 bool m_roleIdHasBeenSet = false;
241
242 Aws::String m_arn;
243 bool m_arnHasBeenSet = false;
244
245 Aws::Utils::DateTime m_createDate;
246 bool m_createDateHasBeenSet = false;
247
248 Aws::String m_assumeRolePolicyDocument;
249 bool m_assumeRolePolicyDocumentHasBeenSet = false;
250
251 Aws::Vector<InstanceProfile> m_instanceProfileList;
252 bool m_instanceProfileListHasBeenSet = false;
253
254 Aws::Vector<PolicyDetail> m_rolePolicyList;
255 bool m_rolePolicyListHasBeenSet = false;
256
257 Aws::Vector<AttachedPolicy> m_attachedManagedPolicies;
258 bool m_attachedManagedPoliciesHasBeenSet = false;
259
260 AttachedPermissionsBoundary m_permissionsBoundary;
261 bool m_permissionsBoundaryHasBeenSet = false;
262
263 Aws::Vector<Tag> m_tags;
264 bool m_tagsHasBeenSet = false;
265
266 RoleLastUsed m_roleLastUsed;
267 bool m_roleLastUsedHasBeenSet = false;
268 };
269
270} // namespace Model
271} // namespace IAM
272} // namespace Aws
RoleDetail & WithRoleId(const char *value)
Definition RoleDetail.h:96
RoleDetail & WithPath(Aws::String &&value)
Definition RoleDetail.h:64
void SetCreateDate(const Aws::Utils::DateTime &value)
Definition RoleDetail.h:118
RoleDetail & WithRoleId(Aws::String &&value)
Definition RoleDetail.h:95
void SetRoleLastUsed(const RoleLastUsed &value)
Definition RoleDetail.h:226
const AttachedPermissionsBoundary & GetPermissionsBoundary() const
Definition RoleDetail.h:189
RoleDetail & WithRoleName(const char *value)
Definition RoleDetail.h:79
RoleDetail & WithRoleLastUsed(const RoleLastUsed &value)
Definition RoleDetail.h:228
bool InstanceProfileListHasBeenSet() const
Definition RoleDetail.h:143
RoleDetail & AddAttachedManagedPolicies(const AttachedPolicy &value)
Definition RoleDetail.h:178
const Aws::Vector< Tag > & GetTags() const
Definition RoleDetail.h:204
bool RolePolicyListHasBeenSet() const
Definition RoleDetail.h:158
const Aws::Vector< InstanceProfile > & GetInstanceProfileList() const
Definition RoleDetail.h:142
bool RoleNameHasBeenSet() const
Definition RoleDetail.h:73
RoleDetail & AddTags(Tag &&value)
Definition RoleDetail.h:211
AWS_IAM_API void OutputToStream(Aws::OStream &oStream, const char *location) const
RoleDetail & WithArn(const char *value)
Definition RoleDetail.h:108
void SetArn(const char *value)
Definition RoleDetail.h:105
void SetRoleId(const char *value)
Definition RoleDetail.h:93
RoleDetail & WithTags(Aws::Vector< Tag > &&value)
Definition RoleDetail.h:209
void SetArn(Aws::String &&value)
Definition RoleDetail.h:104
void SetPath(const Aws::String &value)
Definition RoleDetail.h:60
RoleDetail & AddRolePolicyList(PolicyDetail &&value)
Definition RoleDetail.h:164
void SetInstanceProfileList(Aws::Vector< InstanceProfile > &&value)
Definition RoleDetail.h:145
RoleDetail & WithRoleName(Aws::String &&value)
Definition RoleDetail.h:78
RoleDetail & AddAttachedManagedPolicies(AttachedPolicy &&value)
Definition RoleDetail.h:179
RoleDetail & WithAssumeRolePolicyDocument(const Aws::String &value)
Definition RoleDetail.h:133
void SetRoleName(const Aws::String &value)
Definition RoleDetail.h:74
bool AttachedManagedPoliciesHasBeenSet() const
Definition RoleDetail.h:173
RoleDetail & WithInstanceProfileList(Aws::Vector< InstanceProfile > &&value)
Definition RoleDetail.h:147
RoleDetail & WithPermissionsBoundary(const AttachedPermissionsBoundary &value)
Definition RoleDetail.h:193
void SetPermissionsBoundary(AttachedPermissionsBoundary &&value)
Definition RoleDetail.h:192
AWS_IAM_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
bool CreateDateHasBeenSet() const
Definition RoleDetail.h:117
const Aws::String & GetArn() const
Definition RoleDetail.h:101
RoleDetail & WithCreateDate(Aws::Utils::DateTime &&value)
Definition RoleDetail.h:121
void SetAssumeRolePolicyDocument(const Aws::String &value)
Definition RoleDetail.h:130
void SetArn(const Aws::String &value)
Definition RoleDetail.h:103
RoleDetail & AddTags(const Tag &value)
Definition RoleDetail.h:210
void SetTags(const Aws::Vector< Tag > &value)
Definition RoleDetail.h:206
RoleDetail & WithRoleLastUsed(RoleLastUsed &&value)
Definition RoleDetail.h:229
void SetInstanceProfileList(const Aws::Vector< InstanceProfile > &value)
Definition RoleDetail.h:144
const RoleLastUsed & GetRoleLastUsed() const
Definition RoleDetail.h:224
void SetRoleId(const Aws::String &value)
Definition RoleDetail.h:91
RoleDetail & WithPath(const Aws::String &value)
Definition RoleDetail.h:63
RoleDetail & AddInstanceProfileList(InstanceProfile &&value)
Definition RoleDetail.h:149
RoleDetail & WithArn(const Aws::String &value)
Definition RoleDetail.h:106
void SetAssumeRolePolicyDocument(const char *value)
Definition RoleDetail.h:132
const Aws::Vector< PolicyDetail > & GetRolePolicyList() const
Definition RoleDetail.h:157
RoleDetail & WithArn(Aws::String &&value)
Definition RoleDetail.h:107
void SetRoleLastUsed(RoleLastUsed &&value)
Definition RoleDetail.h:227
RoleDetail & WithPath(const char *value)
Definition RoleDetail.h:65
void SetRoleName(const char *value)
Definition RoleDetail.h:76
void SetAssumeRolePolicyDocument(Aws::String &&value)
Definition RoleDetail.h:131
void SetCreateDate(Aws::Utils::DateTime &&value)
Definition RoleDetail.h:119
const Aws::String & GetPath() const
Definition RoleDetail.h:58
void SetAttachedManagedPolicies(const Aws::Vector< AttachedPolicy > &value)
Definition RoleDetail.h:174
bool RoleLastUsedHasBeenSet() const
Definition RoleDetail.h:225
RoleDetail & WithAttachedManagedPolicies(const Aws::Vector< AttachedPolicy > &value)
Definition RoleDetail.h:176
void SetRoleId(Aws::String &&value)
Definition RoleDetail.h:92
RoleDetail & WithAssumeRolePolicyDocument(Aws::String &&value)
Definition RoleDetail.h:134
RoleDetail & WithRolePolicyList(Aws::Vector< PolicyDetail > &&value)
Definition RoleDetail.h:162
void SetRoleName(Aws::String &&value)
Definition RoleDetail.h:75
void SetRolePolicyList(Aws::Vector< PolicyDetail > &&value)
Definition RoleDetail.h:160
const Aws::String & GetRoleId() const
Definition RoleDetail.h:89
const Aws::String & GetRoleName() const
Definition RoleDetail.h:72
void SetPermissionsBoundary(const AttachedPermissionsBoundary &value)
Definition RoleDetail.h:191
const Aws::Vector< AttachedPolicy > & GetAttachedManagedPolicies() const
Definition RoleDetail.h:172
RoleDetail & AddInstanceProfileList(const InstanceProfile &value)
Definition RoleDetail.h:148
RoleDetail & WithTags(const Aws::Vector< Tag > &value)
Definition RoleDetail.h:208
void SetAttachedManagedPolicies(Aws::Vector< AttachedPolicy > &&value)
Definition RoleDetail.h:175
RoleDetail & WithRolePolicyList(const Aws::Vector< PolicyDetail > &value)
Definition RoleDetail.h:161
RoleDetail & WithInstanceProfileList(const Aws::Vector< InstanceProfile > &value)
Definition RoleDetail.h:146
RoleDetail & WithRoleId(const Aws::String &value)
Definition RoleDetail.h:94
RoleDetail & WithRoleName(const Aws::String &value)
Definition RoleDetail.h:77
bool RoleIdHasBeenSet() const
Definition RoleDetail.h:90
RoleDetail & WithPermissionsBoundary(AttachedPermissionsBoundary &&value)
Definition RoleDetail.h:194
bool AssumeRolePolicyDocumentHasBeenSet() const
Definition RoleDetail.h:129
void SetTags(Aws::Vector< Tag > &&value)
Definition RoleDetail.h:207
AWS_IAM_API RoleDetail(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetPath(Aws::String &&value)
Definition RoleDetail.h:61
const Aws::Utils::DateTime & GetCreateDate() const
Definition RoleDetail.h:116
RoleDetail & WithAttachedManagedPolicies(Aws::Vector< AttachedPolicy > &&value)
Definition RoleDetail.h:177
void SetRolePolicyList(const Aws::Vector< PolicyDetail > &value)
Definition RoleDetail.h:159
AWS_IAM_API RoleDetail & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::String & GetAssumeRolePolicyDocument() const
Definition RoleDetail.h:128
RoleDetail & AddRolePolicyList(const PolicyDetail &value)
Definition RoleDetail.h:163
RoleDetail & WithAssumeRolePolicyDocument(const char *value)
Definition RoleDetail.h:135
bool PermissionsBoundaryHasBeenSet() const
Definition RoleDetail.h:190
RoleDetail & WithCreateDate(const Aws::Utils::DateTime &value)
Definition RoleDetail.h:120
void SetPath(const char *value)
Definition RoleDetail.h:62
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