7#include <aws/iam/IAM_EXPORTS.h>
8#include <aws/iam/IAMRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/iam/model/Tag.h>
56 template<
typename PathT = Aws::String>
57 void SetPath(PathT&& value) { m_pathHasBeenSet =
true; m_path = std::forward<PathT>(value); }
58 template<
typename PathT = Aws::String>
74 template<
typename RoleNameT = Aws::String>
75 void SetRoleName(RoleNameT&& value) { m_roleNameHasBeenSet =
true; m_roleName = std::forward<RoleNameT>(value); }
76 template<
typename RoleNameT = Aws::String>
99 template<
typename AssumeRolePolicyDocumentT = Aws::String>
100 void SetAssumeRolePolicyDocument(AssumeRolePolicyDocumentT&& value) { m_assumeRolePolicyDocumentHasBeenSet =
true; m_assumeRolePolicyDocument = std::forward<AssumeRolePolicyDocumentT>(value); }
101 template<
typename AssumeRolePolicyDocumentT = Aws::String>
111 template<
typename DescriptionT = Aws::String>
112 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet =
true; m_description = std::forward<DescriptionT>(value); }
113 template<
typename DescriptionT = Aws::String>
137 inline void SetMaxSessionDuration(
int value) { m_maxSessionDurationHasBeenSet =
true; m_maxSessionDuration = value; }
156 template<
typename PermissionsBoundaryT = Aws::String>
157 void SetPermissionsBoundary(PermissionsBoundaryT&& value) { m_permissionsBoundaryHasBeenSet =
true; m_permissionsBoundary = std::forward<PermissionsBoundaryT>(value); }
158 template<
typename PermissionsBoundaryT = Aws::String>
173 template<
typename TagsT = Aws::Vector<Tag>>
174 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
175 template<
typename TagsT = Aws::Vector<Tag>>
177 template<
typename TagsT = Tag>
178 CreateRoleRequest&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
183 bool m_pathHasBeenSet =
false;
186 bool m_roleNameHasBeenSet =
false;
189 bool m_assumeRolePolicyDocumentHasBeenSet =
false;
192 bool m_descriptionHasBeenSet =
false;
194 int m_maxSessionDuration{0};
195 bool m_maxSessionDurationHasBeenSet =
false;
198 bool m_permissionsBoundaryHasBeenSet =
false;
201 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