Skip to content

ECS Fargate task definition ignores task/execution roles provided #479

@howdy10

Description

@howdy10
task_role = iam.Role.from_role_name(
            self, "shared-stack-task-role", "app-task-role"
        )
execution_role = iam.Role(
            self,
            "task-definition-execution-role",
            assumed_by=iam.ServicePrincipal("ecs-tasks.amazonaws.com"),
            role_name="task-execution-role",
            managed_policies=[
                iam.ManagedPolicy.from_aws_managed_policy_name(
                    "service-role/AmazonECSTaskExecutionRolePolicy"
                )
            ],
        )
ecs_datadog = DatadogECSFargate(
            api_key=os.getenv("DD_API_KEY"),
            site="datadoghq.com",
            dogstatsd={
                "is_enabled": True,
                "is_origin_detection_enabled": True,
            },
            log_colletion={
                "is_enabled":True
            }
        )

self.task_definition = ecs_datadog.fargate_task_definition(
            self,
            "definition-main",
            props={
                "memory_limit_mib": 512,
                "cpu": 256,
                "family": "task-def-family",
                "execution_role": execution_role,
                "task_role": task_role,
            },
        )

Expected Behavior

I expect to use the provided roles in props when ecs_datadog.fargate_task_definition() is called

Actual Behavior

New roles are created and assigned to the task definition.

Steps to Reproduce the Problem

  1. Using python cdk create two IAM roles
  2. Initiate DatadogECSFargate construct
  3. Call fargate_task_definition providing the roles in props
  4. run a cdk deploy

Specifications

  • Datadog Lambda Layer version: "datadog-cdk-constructs-v2>=3.2.0"
  • Python version: 3.13

Stacktrace

Paste here

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions