AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
AwsIamRoleDetails.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/securityhub/SecurityHub_EXPORTS.h>
10#include <aws/securityhub/model/AwsIamAttachedManagedPolicy.h>
11#include <aws/securityhub/model/AwsIamInstanceProfile.h>
12#include <aws/securityhub/model/AwsIamPermissionsBoundary.h>
13#include <aws/securityhub/model/AwsIamRolePolicy.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace SecurityHub {
25namespace Model {
26
34 public:
35 AWS_SECURITYHUB_API AwsIamRoleDetails() = default;
36 AWS_SECURITYHUB_API AwsIamRoleDetails(Aws::Utils::Json::JsonView jsonValue);
38 AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const;
39
41
44 inline const Aws::String& GetAssumeRolePolicyDocument() const { return m_assumeRolePolicyDocument; }
45 inline bool AssumeRolePolicyDocumentHasBeenSet() const { return m_assumeRolePolicyDocumentHasBeenSet; }
46 template <typename AssumeRolePolicyDocumentT = Aws::String>
47 void SetAssumeRolePolicyDocument(AssumeRolePolicyDocumentT&& value) {
48 m_assumeRolePolicyDocumentHasBeenSet = true;
49 m_assumeRolePolicyDocument = std::forward<AssumeRolePolicyDocumentT>(value);
50 }
51 template <typename AssumeRolePolicyDocumentT = Aws::String>
52 AwsIamRoleDetails& WithAssumeRolePolicyDocument(AssumeRolePolicyDocumentT&& value) {
53 SetAssumeRolePolicyDocument(std::forward<AssumeRolePolicyDocumentT>(value));
54 return *this;
55 }
57
59
62 inline const Aws::Vector<AwsIamAttachedManagedPolicy>& GetAttachedManagedPolicies() const { return m_attachedManagedPolicies; }
63 inline bool AttachedManagedPoliciesHasBeenSet() const { return m_attachedManagedPoliciesHasBeenSet; }
64 template <typename AttachedManagedPoliciesT = Aws::Vector<AwsIamAttachedManagedPolicy>>
65 void SetAttachedManagedPolicies(AttachedManagedPoliciesT&& value) {
66 m_attachedManagedPoliciesHasBeenSet = true;
67 m_attachedManagedPolicies = std::forward<AttachedManagedPoliciesT>(value);
68 }
69 template <typename AttachedManagedPoliciesT = Aws::Vector<AwsIamAttachedManagedPolicy>>
70 AwsIamRoleDetails& WithAttachedManagedPolicies(AttachedManagedPoliciesT&& value) {
71 SetAttachedManagedPolicies(std::forward<AttachedManagedPoliciesT>(value));
72 return *this;
73 }
74 template <typename AttachedManagedPoliciesT = AwsIamAttachedManagedPolicy>
75 AwsIamRoleDetails& AddAttachedManagedPolicies(AttachedManagedPoliciesT&& value) {
76 m_attachedManagedPoliciesHasBeenSet = true;
77 m_attachedManagedPolicies.emplace_back(std::forward<AttachedManagedPoliciesT>(value));
78 return *this;
79 }
81
83
88 inline const Aws::String& GetCreateDate() const { return m_createDate; }
89 inline bool CreateDateHasBeenSet() const { return m_createDateHasBeenSet; }
90 template <typename CreateDateT = Aws::String>
91 void SetCreateDate(CreateDateT&& value) {
92 m_createDateHasBeenSet = true;
93 m_createDate = std::forward<CreateDateT>(value);
94 }
95 template <typename CreateDateT = Aws::String>
96 AwsIamRoleDetails& WithCreateDate(CreateDateT&& value) {
97 SetCreateDate(std::forward<CreateDateT>(value));
98 return *this;
99 }
101
103
106 inline const Aws::Vector<AwsIamInstanceProfile>& GetInstanceProfileList() const { return m_instanceProfileList; }
107 inline bool InstanceProfileListHasBeenSet() const { return m_instanceProfileListHasBeenSet; }
108 template <typename InstanceProfileListT = Aws::Vector<AwsIamInstanceProfile>>
109 void SetInstanceProfileList(InstanceProfileListT&& value) {
110 m_instanceProfileListHasBeenSet = true;
111 m_instanceProfileList = std::forward<InstanceProfileListT>(value);
112 }
113 template <typename InstanceProfileListT = Aws::Vector<AwsIamInstanceProfile>>
114 AwsIamRoleDetails& WithInstanceProfileList(InstanceProfileListT&& value) {
115 SetInstanceProfileList(std::forward<InstanceProfileListT>(value));
116 return *this;
117 }
118 template <typename InstanceProfileListT = AwsIamInstanceProfile>
119 AwsIamRoleDetails& AddInstanceProfileList(InstanceProfileListT&& value) {
120 m_instanceProfileListHasBeenSet = true;
121 m_instanceProfileList.emplace_back(std::forward<InstanceProfileListT>(value));
122 return *this;
123 }
125
127
128 inline const AwsIamPermissionsBoundary& GetPermissionsBoundary() const { return m_permissionsBoundary; }
129 inline bool PermissionsBoundaryHasBeenSet() const { return m_permissionsBoundaryHasBeenSet; }
130 template <typename PermissionsBoundaryT = AwsIamPermissionsBoundary>
131 void SetPermissionsBoundary(PermissionsBoundaryT&& value) {
132 m_permissionsBoundaryHasBeenSet = true;
133 m_permissionsBoundary = std::forward<PermissionsBoundaryT>(value);
134 }
135 template <typename PermissionsBoundaryT = AwsIamPermissionsBoundary>
136 AwsIamRoleDetails& WithPermissionsBoundary(PermissionsBoundaryT&& value) {
137 SetPermissionsBoundary(std::forward<PermissionsBoundaryT>(value));
138 return *this;
139 }
141
143
146 inline const Aws::String& GetRoleId() const { return m_roleId; }
147 inline bool RoleIdHasBeenSet() const { return m_roleIdHasBeenSet; }
148 template <typename RoleIdT = Aws::String>
149 void SetRoleId(RoleIdT&& value) {
150 m_roleIdHasBeenSet = true;
151 m_roleId = std::forward<RoleIdT>(value);
152 }
153 template <typename RoleIdT = Aws::String>
154 AwsIamRoleDetails& WithRoleId(RoleIdT&& value) {
155 SetRoleId(std::forward<RoleIdT>(value));
156 return *this;
157 }
159
161
164 inline const Aws::String& GetRoleName() const { return m_roleName; }
165 inline bool RoleNameHasBeenSet() const { return m_roleNameHasBeenSet; }
166 template <typename RoleNameT = Aws::String>
167 void SetRoleName(RoleNameT&& value) {
168 m_roleNameHasBeenSet = true;
169 m_roleName = std::forward<RoleNameT>(value);
170 }
171 template <typename RoleNameT = Aws::String>
172 AwsIamRoleDetails& WithRoleName(RoleNameT&& value) {
173 SetRoleName(std::forward<RoleNameT>(value));
174 return *this;
175 }
177
179
182 inline const Aws::Vector<AwsIamRolePolicy>& GetRolePolicyList() const { return m_rolePolicyList; }
183 inline bool RolePolicyListHasBeenSet() const { return m_rolePolicyListHasBeenSet; }
184 template <typename RolePolicyListT = Aws::Vector<AwsIamRolePolicy>>
185 void SetRolePolicyList(RolePolicyListT&& value) {
186 m_rolePolicyListHasBeenSet = true;
187 m_rolePolicyList = std::forward<RolePolicyListT>(value);
188 }
189 template <typename RolePolicyListT = Aws::Vector<AwsIamRolePolicy>>
190 AwsIamRoleDetails& WithRolePolicyList(RolePolicyListT&& value) {
191 SetRolePolicyList(std::forward<RolePolicyListT>(value));
192 return *this;
193 }
194 template <typename RolePolicyListT = AwsIamRolePolicy>
195 AwsIamRoleDetails& AddRolePolicyList(RolePolicyListT&& value) {
196 m_rolePolicyListHasBeenSet = true;
197 m_rolePolicyList.emplace_back(std::forward<RolePolicyListT>(value));
198 return *this;
199 }
201
203
207 inline int GetMaxSessionDuration() const { return m_maxSessionDuration; }
208 inline bool MaxSessionDurationHasBeenSet() const { return m_maxSessionDurationHasBeenSet; }
209 inline void SetMaxSessionDuration(int value) {
210 m_maxSessionDurationHasBeenSet = true;
211 m_maxSessionDuration = value;
212 }
215 return *this;
216 }
218
220
223 inline const Aws::String& GetPath() const { return m_path; }
224 inline bool PathHasBeenSet() const { return m_pathHasBeenSet; }
225 template <typename PathT = Aws::String>
226 void SetPath(PathT&& value) {
227 m_pathHasBeenSet = true;
228 m_path = std::forward<PathT>(value);
229 }
230 template <typename PathT = Aws::String>
231 AwsIamRoleDetails& WithPath(PathT&& value) {
232 SetPath(std::forward<PathT>(value));
233 return *this;
234 }
236 private:
237 Aws::String m_assumeRolePolicyDocument;
238
239 Aws::Vector<AwsIamAttachedManagedPolicy> m_attachedManagedPolicies;
240
241 Aws::String m_createDate;
242
243 Aws::Vector<AwsIamInstanceProfile> m_instanceProfileList;
244
245 AwsIamPermissionsBoundary m_permissionsBoundary;
246
247 Aws::String m_roleId;
248
249 Aws::String m_roleName;
250
251 Aws::Vector<AwsIamRolePolicy> m_rolePolicyList;
252
253 int m_maxSessionDuration{0};
254
255 Aws::String m_path;
256 bool m_assumeRolePolicyDocumentHasBeenSet = false;
257 bool m_attachedManagedPoliciesHasBeenSet = false;
258 bool m_createDateHasBeenSet = false;
259 bool m_instanceProfileListHasBeenSet = false;
260 bool m_permissionsBoundaryHasBeenSet = false;
261 bool m_roleIdHasBeenSet = false;
262 bool m_roleNameHasBeenSet = false;
263 bool m_rolePolicyListHasBeenSet = false;
264 bool m_maxSessionDurationHasBeenSet = false;
265 bool m_pathHasBeenSet = false;
266};
267
268} // namespace Model
269} // namespace SecurityHub
270} // namespace Aws
void SetAssumeRolePolicyDocument(AssumeRolePolicyDocumentT &&value)
const Aws::Vector< AwsIamInstanceProfile > & GetInstanceProfileList() const
AwsIamRoleDetails & WithAttachedManagedPolicies(AttachedManagedPoliciesT &&value)
AwsIamRoleDetails & WithInstanceProfileList(InstanceProfileListT &&value)
AwsIamRoleDetails & WithPath(PathT &&value)
AwsIamRoleDetails & WithCreateDate(CreateDateT &&value)
AwsIamRoleDetails & WithRolePolicyList(RolePolicyListT &&value)
AWS_SECURITYHUB_API AwsIamRoleDetails()=default
AWS_SECURITYHUB_API AwsIamRoleDetails & operator=(Aws::Utils::Json::JsonView jsonValue)
AwsIamRoleDetails & WithAssumeRolePolicyDocument(AssumeRolePolicyDocumentT &&value)
AwsIamRoleDetails & WithPermissionsBoundary(PermissionsBoundaryT &&value)
const Aws::Vector< AwsIamAttachedManagedPolicy > & GetAttachedManagedPolicies() const
AwsIamRoleDetails & WithMaxSessionDuration(int value)
AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_SECURITYHUB_API AwsIamRoleDetails(Aws::Utils::Json::JsonView jsonValue)
AwsIamRoleDetails & AddInstanceProfileList(InstanceProfileListT &&value)
void SetRolePolicyList(RolePolicyListT &&value)
void SetPermissionsBoundary(PermissionsBoundaryT &&value)
AwsIamRoleDetails & WithRoleName(RoleNameT &&value)
void SetAttachedManagedPolicies(AttachedManagedPoliciesT &&value)
AwsIamRoleDetails & AddAttachedManagedPolicies(AttachedManagedPoliciesT &&value)
const Aws::Vector< AwsIamRolePolicy > & GetRolePolicyList() const
AwsIamRoleDetails & WithRoleId(RoleIdT &&value)
AwsIamRoleDetails & AddRolePolicyList(RolePolicyListT &&value)
const Aws::String & GetAssumeRolePolicyDocument() const
const AwsIamPermissionsBoundary & GetPermissionsBoundary() const
void SetInstanceProfileList(InstanceProfileListT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue