7#include <aws/securityhub/SecurityHub_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/securityhub/model/AwsIamPermissionsBoundary.h>
11#include <aws/securityhub/model/AwsIamAttachedManagedPolicy.h>
12#include <aws/securityhub/model/AwsIamInstanceProfile.h>
13#include <aws/securityhub/model/AwsIamRolePolicy.h>
52 template<
typename AssumeRolePolicyDocumentT = Aws::String>
53 void SetAssumeRolePolicyDocument(AssumeRolePolicyDocumentT&& value) { m_assumeRolePolicyDocumentHasBeenSet =
true; m_assumeRolePolicyDocument = std::forward<AssumeRolePolicyDocumentT>(value); }
54 template<
typename AssumeRolePolicyDocumentT = Aws::String>
64 template<
typename AttachedManagedPoliciesT = Aws::Vector<AwsIamAttachedManagedPolicy>>
65 void SetAttachedManagedPolicies(AttachedManagedPoliciesT&& value) { m_attachedManagedPoliciesHasBeenSet =
true; m_attachedManagedPolicies = std::forward<AttachedManagedPoliciesT>(value); }
66 template<
typename AttachedManagedPoliciesT = Aws::Vector<AwsIamAttachedManagedPolicy>>
68 template<
typename AttachedManagedPoliciesT = AwsIamAttachedManagedPolicy>
69 AwsIamRoleDetails&
AddAttachedManagedPolicies(AttachedManagedPoliciesT&& value) { m_attachedManagedPoliciesHasBeenSet =
true; m_attachedManagedPolicies.emplace_back(std::forward<AttachedManagedPoliciesT>(value));
return *
this; }
80 template<
typename CreateDateT = Aws::String>
81 void SetCreateDate(CreateDateT&& value) { m_createDateHasBeenSet =
true; m_createDate = std::forward<CreateDateT>(value); }
82 template<
typename CreateDateT = Aws::String>
92 template<
typename InstanceProfileListT = Aws::Vector<AwsIamInstanceProfile>>
93 void SetInstanceProfileList(InstanceProfileListT&& value) { m_instanceProfileListHasBeenSet =
true; m_instanceProfileList = std::forward<InstanceProfileListT>(value); }
94 template<
typename InstanceProfileListT = Aws::Vector<AwsIamInstanceProfile>>
96 template<
typename InstanceProfileListT = AwsIamInstanceProfile>
97 AwsIamRoleDetails&
AddInstanceProfileList(InstanceProfileListT&& value) { m_instanceProfileListHasBeenSet =
true; m_instanceProfileList.emplace_back(std::forward<InstanceProfileListT>(value));
return *
this; }
104 template<
typename PermissionsBoundaryT = AwsIamPermissionsBoundary>
105 void SetPermissionsBoundary(PermissionsBoundaryT&& value) { m_permissionsBoundaryHasBeenSet =
true; m_permissionsBoundary = std::forward<PermissionsBoundaryT>(value); }
106 template<
typename PermissionsBoundaryT = AwsIamPermissionsBoundary>
116 template<
typename RoleIdT = Aws::String>
117 void SetRoleId(RoleIdT&& value) { m_roleIdHasBeenSet =
true; m_roleId = std::forward<RoleIdT>(value); }
118 template<
typename RoleIdT = Aws::String>
128 template<
typename RoleNameT = Aws::String>
129 void SetRoleName(RoleNameT&& value) { m_roleNameHasBeenSet =
true; m_roleName = std::forward<RoleNameT>(value); }
130 template<
typename RoleNameT = Aws::String>
140 template<
typename RolePolicyListT = Aws::Vector<AwsIamRolePolicy>>
141 void SetRolePolicyList(RolePolicyListT&& value) { m_rolePolicyListHasBeenSet =
true; m_rolePolicyList = std::forward<RolePolicyListT>(value); }
142 template<
typename RolePolicyListT = Aws::Vector<AwsIamRolePolicy>>
144 template<
typename RolePolicyListT = AwsIamRolePolicy>
145 AwsIamRoleDetails&
AddRolePolicyList(RolePolicyListT&& value) { m_rolePolicyListHasBeenSet =
true; m_rolePolicyList.emplace_back(std::forward<RolePolicyListT>(value));
return *
this; }
155 inline void SetMaxSessionDuration(
int value) { m_maxSessionDurationHasBeenSet =
true; m_maxSessionDuration = value; }
165 template<
typename PathT = Aws::String>
166 void SetPath(PathT&& value) { m_pathHasBeenSet =
true; m_path = std::forward<PathT>(value); }
167 template<
typename PathT = Aws::String>
173 bool m_assumeRolePolicyDocumentHasBeenSet =
false;
176 bool m_attachedManagedPoliciesHasBeenSet =
false;
179 bool m_createDateHasBeenSet =
false;
182 bool m_instanceProfileListHasBeenSet =
false;
185 bool m_permissionsBoundaryHasBeenSet =
false;
188 bool m_roleIdHasBeenSet =
false;
191 bool m_roleNameHasBeenSet =
false;
194 bool m_rolePolicyListHasBeenSet =
false;
196 int m_maxSessionDuration{0};
197 bool m_maxSessionDurationHasBeenSet =
false;
200 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