in aws_emr_launch/constructs/step_functions/emr_tasks.py [0:0]
def _create_policy_statements(self) -> List[iam.PolicyStatement]:
stack = core.Stack.of(self)
policy_statements = list()
policy_statements.append(
iam.PolicyStatement(
actions=[
"elasticmapreduce:RunJobFlow",
"elasticmapreduce:DescribeCluster",
"elasticmapreduce:TerminateJobFlows",
],
resources=["*"],
)
)
policy_statements.append(
iam.PolicyStatement(
actions=["iam:PassRole"],
resources=[
self._roles.service_role.role_arn,
self._roles.instance_role.role_arn,
self._roles.autoscaling_role.role_arn,
],
)
)
if self._integration_pattern == sfn.IntegrationPattern.RUN_JOB:
policy_statements.append(
iam.PolicyStatement(
actions=["events:PutTargets", "events:PutRule", "events:DescribeRule"],
resources=[
stack.format_arn(
service="events", resource="rule", resource_name="StepFunctionsGetEventForEMRRunJobFlowRule"
)
],
)
)
return policy_statements