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>
46 template <
typename AssumeRolePolicyDocumentT = Aws::String>
48 m_assumeRolePolicyDocumentHasBeenSet =
true;
49 m_assumeRolePolicyDocument = std::forward<AssumeRolePolicyDocumentT>(value);
51 template <
typename AssumeRolePolicyDocumentT = Aws::String>
64 template <
typename AttachedManagedPoliciesT = Aws::Vector<AwsIamAttachedManagedPolicy>>
66 m_attachedManagedPoliciesHasBeenSet =
true;
67 m_attachedManagedPolicies = std::forward<AttachedManagedPoliciesT>(value);
69 template <
typename AttachedManagedPoliciesT = Aws::Vector<AwsIamAttachedManagedPolicy>>
74 template <
typename AttachedManagedPoliciesT = AwsIamAttachedManagedPolicy>
76 m_attachedManagedPoliciesHasBeenSet =
true;
77 m_attachedManagedPolicies.emplace_back(std::forward<AttachedManagedPoliciesT>(value));
90 template <
typename CreateDateT = Aws::String>
92 m_createDateHasBeenSet =
true;
93 m_createDate = std::forward<CreateDateT>(value);
95 template <
typename CreateDateT = Aws::String>
108 template <
typename InstanceProfileListT = Aws::Vector<AwsIamInstanceProfile>>
110 m_instanceProfileListHasBeenSet =
true;
111 m_instanceProfileList = std::forward<InstanceProfileListT>(value);
113 template <
typename InstanceProfileListT = Aws::Vector<AwsIamInstanceProfile>>
118 template <
typename InstanceProfileListT = AwsIamInstanceProfile>
120 m_instanceProfileListHasBeenSet =
true;
121 m_instanceProfileList.emplace_back(std::forward<InstanceProfileListT>(value));
130 template <
typename PermissionsBoundaryT = AwsIamPermissionsBoundary>
132 m_permissionsBoundaryHasBeenSet =
true;
133 m_permissionsBoundary = std::forward<PermissionsBoundaryT>(value);
135 template <
typename PermissionsBoundaryT = AwsIamPermissionsBoundary>
148 template <
typename RoleIdT = Aws::String>
150 m_roleIdHasBeenSet =
true;
151 m_roleId = std::forward<RoleIdT>(value);
153 template <
typename RoleIdT = Aws::String>
166 template <
typename RoleNameT = Aws::String>
168 m_roleNameHasBeenSet =
true;
169 m_roleName = std::forward<RoleNameT>(value);
171 template <
typename RoleNameT = Aws::String>
184 template <
typename RolePolicyListT = Aws::Vector<AwsIamRolePolicy>>
186 m_rolePolicyListHasBeenSet =
true;
187 m_rolePolicyList = std::forward<RolePolicyListT>(value);
189 template <
typename RolePolicyListT = Aws::Vector<AwsIamRolePolicy>>
194 template <
typename RolePolicyListT = AwsIamRolePolicy>
196 m_rolePolicyListHasBeenSet =
true;
197 m_rolePolicyList.emplace_back(std::forward<RolePolicyListT>(value));
210 m_maxSessionDurationHasBeenSet =
true;
211 m_maxSessionDuration = value;
225 template <
typename PathT = Aws::String>
227 m_pathHasBeenSet =
true;
228 m_path = std::forward<PathT>(value);
230 template <
typename PathT = Aws::String>
232 SetPath(std::forward<PathT>(value));
253 int m_maxSessionDuration{0};
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;
bool RoleNameHasBeenSet() const
void SetAssumeRolePolicyDocument(AssumeRolePolicyDocumentT &&value)
const Aws::Vector< AwsIamInstanceProfile > & GetInstanceProfileList() const
AwsIamRoleDetails & WithAttachedManagedPolicies(AttachedManagedPoliciesT &&value)
AwsIamRoleDetails & WithInstanceProfileList(InstanceProfileListT &&value)
const Aws::String & GetRoleName() const
AwsIamRoleDetails & WithPath(PathT &&value)
void SetPath(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)
bool PathHasBeenSet() const
const Aws::String & GetPath() const
void SetMaxSessionDuration(int value)
bool AttachedManagedPoliciesHasBeenSet() const
void SetCreateDate(CreateDateT &&value)
void SetRoleName(RoleNameT &&value)
bool InstanceProfileListHasBeenSet() const
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)
const Aws::String & GetCreateDate() const
bool MaxSessionDurationHasBeenSet() const
void SetRolePolicyList(RolePolicyListT &&value)
void SetRoleId(RoleIdT &&value)
void SetPermissionsBoundary(PermissionsBoundaryT &&value)
bool CreateDateHasBeenSet() const
int GetMaxSessionDuration() const
AwsIamRoleDetails & WithRoleName(RoleNameT &&value)
void SetAttachedManagedPolicies(AttachedManagedPoliciesT &&value)
bool PermissionsBoundaryHasBeenSet() const
AwsIamRoleDetails & AddAttachedManagedPolicies(AttachedManagedPoliciesT &&value)
const Aws::Vector< AwsIamRolePolicy > & GetRolePolicyList() const
AwsIamRoleDetails & WithRoleId(RoleIdT &&value)
AwsIamRoleDetails & AddRolePolicyList(RolePolicyListT &&value)
bool AssumeRolePolicyDocumentHasBeenSet() const
const Aws::String & GetAssumeRolePolicyDocument() const
bool RoleIdHasBeenSet() const
bool RolePolicyListHasBeenSet() const
const Aws::String & GetRoleId() 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