EcsRunTaskPolicy should take ECS ARN, not task definition (family:revision)

Author: smatsumtCreated Oct 12, 2020Updated Sep 16, 2026
Labelsarea/policy-templatestype/featuremaintainer/need-response

Description:

"EcsRunTaskPolicy" policy template in policy_templates.json takes one argument, TaskDefinition. It is assumed to be (family:revision), e.g. "EcsTaskName:1"

But Ref for AWS::ECS::TaskDefinition returns Task's ARN. So, following code would not work.

yaml
Resources:
  SomeFunction:
    Type: AWS::Serverless::Function
    Properties:
      Policies:
        - EcsRunTaskPolicy
           TaskDefinition: !Ref SomeECSTaskDefinition

  SomeECSTaskDefinition:
    Type: AWS::ECS::TaskDefinition
    Properties:

If TaskDefinition argument takes ARN format, the above code would work. We can refer ECS task definition in the CloudFormation template.

I think TaskDefinition should takes ARN format. How about it?

Source: aws/serverless-application-model