7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/iam/IAM_EXPORTS.h>
12#include <aws/iam/model/AttachedPermissionsBoundary.h>
13#include <aws/iam/model/AttachedPolicy.h>
14#include <aws/iam/model/InstanceProfile.h>
15#include <aws/iam/model/PolicyDetail.h>
16#include <aws/iam/model/RoleLastUsed.h>
17#include <aws/iam/model/Tag.h>
55 template <
typename PathT = Aws::String>
57 m_pathHasBeenSet =
true;
58 m_path = std::forward<PathT>(value);
60 template <
typename PathT = Aws::String>
62 SetPath(std::forward<PathT>(value));
73 template <
typename RoleNameT = Aws::String>
75 m_roleNameHasBeenSet =
true;
76 m_roleName = std::forward<RoleNameT>(value);
78 template <
typename RoleNameT = Aws::String>
94 template <
typename RoleIdT = Aws::String>
96 m_roleIdHasBeenSet =
true;
97 m_roleId = std::forward<RoleIdT>(value);
99 template <
typename RoleIdT = Aws::String>
110 template <
typename ArnT = Aws::String>
112 m_arnHasBeenSet =
true;
113 m_arn = std::forward<ArnT>(value);
115 template <
typename ArnT = Aws::String>
117 SetArn(std::forward<ArnT>(value));
129 template <
typename CreateDateT = Aws::Utils::DateTime>
131 m_createDateHasBeenSet =
true;
132 m_createDate = std::forward<CreateDateT>(value);
134 template <
typename CreateDateT = Aws::Utils::DateTime>
147 template <
typename AssumeRolePolicyDocumentT = Aws::String>
149 m_assumeRolePolicyDocumentHasBeenSet =
true;
150 m_assumeRolePolicyDocument = std::forward<AssumeRolePolicyDocumentT>(value);
152 template <
typename AssumeRolePolicyDocumentT = Aws::String>
165 template <
typename InstanceProfileListT = Aws::Vector<InstanceProfile>>
167 m_instanceProfileListHasBeenSet =
true;
168 m_instanceProfileList = std::forward<InstanceProfileListT>(value);
170 template <
typename InstanceProfileListT = Aws::Vector<InstanceProfile>>
175 template <
typename InstanceProfileListT = InstanceProfile>
177 m_instanceProfileListHasBeenSet =
true;
178 m_instanceProfileList.emplace_back(std::forward<InstanceProfileListT>(value));
190 template <
typename RolePolicyListT = Aws::Vector<PolicyDetail>>
192 m_rolePolicyListHasBeenSet =
true;
193 m_rolePolicyList = std::forward<RolePolicyListT>(value);
195 template <
typename RolePolicyListT = Aws::Vector<PolicyDetail>>
200 template <
typename RolePolicyListT = PolicyDetail>
202 m_rolePolicyListHasBeenSet =
true;
203 m_rolePolicyList.emplace_back(std::forward<RolePolicyListT>(value));
215 template <
typename AttachedManagedPoliciesT = Aws::Vector<AttachedPolicy>>
217 m_attachedManagedPoliciesHasBeenSet =
true;
218 m_attachedManagedPolicies = std::forward<AttachedManagedPoliciesT>(value);
220 template <
typename AttachedManagedPoliciesT = Aws::Vector<AttachedPolicy>>
225 template <
typename AttachedManagedPoliciesT = AttachedPolicy>
227 m_attachedManagedPoliciesHasBeenSet =
true;
228 m_attachedManagedPolicies.emplace_back(std::forward<AttachedManagedPoliciesT>(value));
242 template <
typename PermissionsBoundaryT = AttachedPermissionsBoundary>
244 m_permissionsBoundaryHasBeenSet =
true;
245 m_permissionsBoundary = std::forward<PermissionsBoundaryT>(value);
247 template <
typename PermissionsBoundaryT = AttachedPermissionsBoundary>
263 template <
typename TagsT = Aws::Vector<Tag>>
265 m_tagsHasBeenSet =
true;
266 m_tags = std::forward<TagsT>(value);
268 template <
typename TagsT = Aws::Vector<Tag>>
270 SetTags(std::forward<TagsT>(value));
273 template <
typename TagsT = Tag>
275 m_tagsHasBeenSet =
true;
276 m_tags.emplace_back(std::forward<TagsT>(value));
293 template <
typename RoleLastUsedT = RoleLastUsed>
295 m_roleLastUsedHasBeenSet =
true;
296 m_roleLastUsed = std::forward<RoleLastUsedT>(value);
298 template <
typename RoleLastUsedT = RoleLastUsed>
323 AttachedPermissionsBoundary m_permissionsBoundary;
327 RoleLastUsed m_roleLastUsed;
328 bool m_pathHasBeenSet =
false;
329 bool m_roleNameHasBeenSet =
false;
330 bool m_roleIdHasBeenSet =
false;
331 bool m_arnHasBeenSet =
false;
332 bool m_createDateHasBeenSet =
false;
333 bool m_assumeRolePolicyDocumentHasBeenSet =
false;
334 bool m_instanceProfileListHasBeenSet =
false;
335 bool m_rolePolicyListHasBeenSet =
false;
336 bool m_attachedManagedPoliciesHasBeenSet =
false;
337 bool m_permissionsBoundaryHasBeenSet =
false;
338 bool m_tagsHasBeenSet =
false;
339 bool m_roleLastUsedHasBeenSet =
false;
RoleDetail & WithAttachedManagedPolicies(AttachedManagedPoliciesT &&value)
RoleDetail & WithRoleLastUsed(RoleLastUsedT &&value)
bool PathHasBeenSet() const
void SetArn(ArnT &&value)
const AttachedPermissionsBoundary & GetPermissionsBoundary() const
bool InstanceProfileListHasBeenSet() const
const Aws::Vector< Tag > & GetTags() const
RoleDetail & WithArn(ArnT &&value)
bool RolePolicyListHasBeenSet() const
const Aws::Vector< InstanceProfile > & GetInstanceProfileList() const
bool RoleNameHasBeenSet() const
AWS_IAM_API void OutputToStream(Aws::OStream &oStream, const char *location) const
bool TagsHasBeenSet() const
void SetTags(TagsT &&value)
bool AttachedManagedPoliciesHasBeenSet() const
AWS_IAM_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
bool CreateDateHasBeenSet() const
const Aws::String & GetArn() const
AWS_IAM_API RoleDetail()=default
const RoleLastUsed & GetRoleLastUsed() const
RoleDetail & AddRolePolicyList(RolePolicyListT &&value)
void SetPath(PathT &&value)
RoleDetail & AddInstanceProfileList(InstanceProfileListT &&value)
void SetAttachedManagedPolicies(AttachedManagedPoliciesT &&value)
void SetRoleName(RoleNameT &&value)
const Aws::Vector< PolicyDetail > & GetRolePolicyList() const
void SetRoleLastUsed(RoleLastUsedT &&value)
RoleDetail & WithPath(PathT &&value)
RoleDetail & WithCreateDate(CreateDateT &&value)
const Aws::String & GetPath() const
RoleDetail & WithInstanceProfileList(InstanceProfileListT &&value)
bool RoleLastUsedHasBeenSet() const
void SetInstanceProfileList(InstanceProfileListT &&value)
void SetRolePolicyList(RolePolicyListT &&value)
RoleDetail & AddTags(TagsT &&value)
const Aws::String & GetRoleId() const
const Aws::String & GetRoleName() const
void SetCreateDate(CreateDateT &&value)
const Aws::Vector< AttachedPolicy > & GetAttachedManagedPolicies() const
RoleDetail & WithAssumeRolePolicyDocument(AssumeRolePolicyDocumentT &&value)
bool RoleIdHasBeenSet() const
bool AssumeRolePolicyDocumentHasBeenSet() const
void SetPermissionsBoundary(PermissionsBoundaryT &&value)
void SetAssumeRolePolicyDocument(AssumeRolePolicyDocumentT &&value)
AWS_IAM_API RoleDetail(const Aws::Utils::Xml::XmlNode &xmlNode)
RoleDetail & WithRoleId(RoleIdT &&value)
RoleDetail & WithPermissionsBoundary(PermissionsBoundaryT &&value)
RoleDetail & WithRolePolicyList(RolePolicyListT &&value)
RoleDetail & WithTags(TagsT &&value)
const Aws::Utils::DateTime & GetCreateDate() const
void SetRoleId(RoleIdT &&value)
AWS_IAM_API RoleDetail & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::String & GetAssumeRolePolicyDocument() const
bool PermissionsBoundaryHasBeenSet() const
RoleDetail & WithRoleName(RoleNameT &&value)
RoleDetail & AddAttachedManagedPolicies(AttachedManagedPoliciesT &&value)
bool ArnHasBeenSet() const
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