AWS SDK for C++

AWS SDK for C++ Version 1.11.743

Loading...
Searching...
No Matches
CreateRoleRequest.h
1
6#pragma once
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>
12
13#include <utility>
14
15namespace Aws {
16namespace IAM {
17namespace Model {
18
22 public:
23 AWS_IAM_API CreateRoleRequest() = default;
24
25 // Service request name is the Operation name which will send this request out,
26 // each operation should has unique request name, so that we can get operation's name from this request.
27 // Note: this is not true for response, multiple operations may have the same response name,
28 // so we can not get operation's name from response.
29 inline virtual const char* GetServiceRequestName() const override { return "CreateRole"; }
30
31 AWS_IAM_API Aws::String SerializePayload() const override;
32
33 protected:
34 AWS_IAM_API void DumpBodyToUrl(Aws::Http::URI& uri) const override;
35
36 public:
38
50 inline const Aws::String& GetPath() const { return m_path; }
51 inline bool PathHasBeenSet() const { return m_pathHasBeenSet; }
52 template <typename PathT = Aws::String>
53 void SetPath(PathT&& value) {
54 m_pathHasBeenSet = true;
55 m_path = std::forward<PathT>(value);
56 }
57 template <typename PathT = Aws::String>
58 CreateRoleRequest& WithPath(PathT&& value) {
59 SetPath(std::forward<PathT>(value));
60 return *this;
61 }
63
65
74 inline const Aws::String& GetRoleName() const { return m_roleName; }
75 inline bool RoleNameHasBeenSet() const { return m_roleNameHasBeenSet; }
76 template <typename RoleNameT = Aws::String>
77 void SetRoleName(RoleNameT&& value) {
78 m_roleNameHasBeenSet = true;
79 m_roleName = std::forward<RoleNameT>(value);
80 }
81 template <typename RoleNameT = Aws::String>
82 CreateRoleRequest& WithRoleName(RoleNameT&& value) {
83 SetRoleName(std::forward<RoleNameT>(value));
84 return *this;
85 }
87
89
105 inline const Aws::String& GetAssumeRolePolicyDocument() const { return m_assumeRolePolicyDocument; }
106 inline bool AssumeRolePolicyDocumentHasBeenSet() const { return m_assumeRolePolicyDocumentHasBeenSet; }
107 template <typename AssumeRolePolicyDocumentT = Aws::String>
108 void SetAssumeRolePolicyDocument(AssumeRolePolicyDocumentT&& value) {
109 m_assumeRolePolicyDocumentHasBeenSet = true;
110 m_assumeRolePolicyDocument = std::forward<AssumeRolePolicyDocumentT>(value);
111 }
112 template <typename AssumeRolePolicyDocumentT = Aws::String>
113 CreateRoleRequest& WithAssumeRolePolicyDocument(AssumeRolePolicyDocumentT&& value) {
114 SetAssumeRolePolicyDocument(std::forward<AssumeRolePolicyDocumentT>(value));
115 return *this;
116 }
118
120
123 inline const Aws::String& GetDescription() const { return m_description; }
124 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
125 template <typename DescriptionT = Aws::String>
126 void SetDescription(DescriptionT&& value) {
127 m_descriptionHasBeenSet = true;
128 m_description = std::forward<DescriptionT>(value);
129 }
130 template <typename DescriptionT = Aws::String>
131 CreateRoleRequest& WithDescription(DescriptionT&& value) {
132 SetDescription(std::forward<DescriptionT>(value));
133 return *this;
134 }
136
138
155 inline int GetMaxSessionDuration() const { return m_maxSessionDuration; }
156 inline bool MaxSessionDurationHasBeenSet() const { return m_maxSessionDurationHasBeenSet; }
157 inline void SetMaxSessionDuration(int value) {
158 m_maxSessionDurationHasBeenSet = true;
159 m_maxSessionDuration = value;
160 }
163 return *this;
164 }
166
168
180 inline const Aws::String& GetPermissionsBoundary() const { return m_permissionsBoundary; }
181 inline bool PermissionsBoundaryHasBeenSet() const { return m_permissionsBoundaryHasBeenSet; }
182 template <typename PermissionsBoundaryT = Aws::String>
183 void SetPermissionsBoundary(PermissionsBoundaryT&& value) {
184 m_permissionsBoundaryHasBeenSet = true;
185 m_permissionsBoundary = std::forward<PermissionsBoundaryT>(value);
186 }
187 template <typename PermissionsBoundaryT = Aws::String>
188 CreateRoleRequest& WithPermissionsBoundary(PermissionsBoundaryT&& value) {
189 SetPermissionsBoundary(std::forward<PermissionsBoundaryT>(value));
190 return *this;
191 }
193
195
203 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
204 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
205 template <typename TagsT = Aws::Vector<Tag>>
206 void SetTags(TagsT&& value) {
207 m_tagsHasBeenSet = true;
208 m_tags = std::forward<TagsT>(value);
209 }
210 template <typename TagsT = Aws::Vector<Tag>>
211 CreateRoleRequest& WithTags(TagsT&& value) {
212 SetTags(std::forward<TagsT>(value));
213 return *this;
214 }
215 template <typename TagsT = Tag>
216 CreateRoleRequest& AddTags(TagsT&& value) {
217 m_tagsHasBeenSet = true;
218 m_tags.emplace_back(std::forward<TagsT>(value));
219 return *this;
220 }
222 private:
223 Aws::String m_path;
224
225 Aws::String m_roleName;
226
227 Aws::String m_assumeRolePolicyDocument;
228
229 Aws::String m_description;
230
231 int m_maxSessionDuration{0};
232
233 Aws::String m_permissionsBoundary;
234
235 Aws::Vector<Tag> m_tags;
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;
243};
244
245} // namespace Model
246} // namespace IAM
247} // namespace Aws
CreateRoleRequest & AddTags(TagsT &&value)
CreateRoleRequest & WithTags(TagsT &&value)
CreateRoleRequest & WithRoleName(RoleNameT &&value)
const Aws::String & GetPath() const
const Aws::String & GetAssumeRolePolicyDocument() const
CreateRoleRequest & WithMaxSessionDuration(int value)
AWS_IAM_API CreateRoleRequest()=default
const Aws::Vector< Tag > & GetTags() const
void SetRoleName(RoleNameT &&value)
CreateRoleRequest & WithPath(PathT &&value)
virtual const char * GetServiceRequestName() const override
CreateRoleRequest & WithDescription(DescriptionT &&value)
const Aws::String & GetDescription() const
AWS_IAM_API Aws::String SerializePayload() const override
CreateRoleRequest & WithAssumeRolePolicyDocument(AssumeRolePolicyDocumentT &&value)
void SetAssumeRolePolicyDocument(AssumeRolePolicyDocumentT &&value)
void SetPermissionsBoundary(PermissionsBoundaryT &&value)
CreateRoleRequest & WithPermissionsBoundary(PermissionsBoundaryT &&value)
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