7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/iam/IAMRequest.h>
10#include <aws/iam/IAM_EXPORTS.h>
11#include <aws/iam/model/Tag.h>
52 template <
typename PathT = Aws::String>
54 m_pathHasBeenSet =
true;
55 m_path = std::forward<PathT>(value);
57 template <
typename PathT = Aws::String>
59 SetPath(std::forward<PathT>(value));
76 template <
typename RoleNameT = Aws::String>
78 m_roleNameHasBeenSet =
true;
79 m_roleName = std::forward<RoleNameT>(value);
81 template <
typename RoleNameT = Aws::String>
107 template <
typename AssumeRolePolicyDocumentT = Aws::String>
109 m_assumeRolePolicyDocumentHasBeenSet =
true;
110 m_assumeRolePolicyDocument = std::forward<AssumeRolePolicyDocumentT>(value);
112 template <
typename AssumeRolePolicyDocumentT = Aws::String>
125 template <
typename DescriptionT = Aws::String>
127 m_descriptionHasBeenSet =
true;
128 m_description = std::forward<DescriptionT>(value);
130 template <
typename DescriptionT = Aws::String>
158 m_maxSessionDurationHasBeenSet =
true;
159 m_maxSessionDuration = value;
182 template <
typename PermissionsBoundaryT = Aws::String>
184 m_permissionsBoundaryHasBeenSet =
true;
185 m_permissionsBoundary = std::forward<PermissionsBoundaryT>(value);
187 template <
typename PermissionsBoundaryT = Aws::String>
205 template <
typename TagsT = Aws::Vector<Tag>>
207 m_tagsHasBeenSet =
true;
208 m_tags = std::forward<TagsT>(value);
210 template <
typename TagsT = Aws::Vector<Tag>>
212 SetTags(std::forward<TagsT>(value));
215 template <
typename TagsT = Tag>
217 m_tagsHasBeenSet =
true;
218 m_tags.emplace_back(std::forward<TagsT>(value));
231 int m_maxSessionDuration{0};
236 bool m_pathHasBeenSet =
false;
237 bool m_roleNameHasBeenSet =
false;
238 bool m_assumeRolePolicyDocumentHasBeenSet =
false;
239 bool m_descriptionHasBeenSet =
false;
240 bool m_maxSessionDurationHasBeenSet =
false;
241 bool m_permissionsBoundaryHasBeenSet =
false;
242 bool m_tagsHasBeenSet =
false;
CreateRoleRequest & AddTags(TagsT &&value)
bool PathHasBeenSet() const
int GetMaxSessionDuration() const
CreateRoleRequest & WithTags(TagsT &&value)
CreateRoleRequest & WithRoleName(RoleNameT &&value)
const Aws::String & GetPath() const
const Aws::String & GetAssumeRolePolicyDocument() const
bool AssumeRolePolicyDocumentHasBeenSet() const
CreateRoleRequest & WithMaxSessionDuration(int value)
AWS_IAM_API CreateRoleRequest()=default
const Aws::Vector< Tag > & GetTags() const
void SetRoleName(RoleNameT &&value)
bool DescriptionHasBeenSet() const
CreateRoleRequest & WithPath(PathT &&value)
virtual const char * GetServiceRequestName() const override
bool MaxSessionDurationHasBeenSet() const
CreateRoleRequest & WithDescription(DescriptionT &&value)
bool TagsHasBeenSet() const
const Aws::String & GetDescription() const
AWS_IAM_API Aws::String SerializePayload() const override
CreateRoleRequest & WithAssumeRolePolicyDocument(AssumeRolePolicyDocumentT &&value)
void SetPath(PathT &&value)
void SetMaxSessionDuration(int value)
void SetAssumeRolePolicyDocument(AssumeRolePolicyDocumentT &&value)
bool PermissionsBoundaryHasBeenSet() const
void SetPermissionsBoundary(PermissionsBoundaryT &&value)
void SetTags(TagsT &&value)
CreateRoleRequest & WithPermissionsBoundary(PermissionsBoundaryT &&value)
bool RoleNameHasBeenSet() const
const Aws::String & GetRoleName() const
const Aws::String & GetPermissionsBoundary() const
AWS_IAM_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
void SetDescription(DescriptionT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector