diff --git a/moto/ecs/models.py b/moto/ecs/models.py index e0b29cb01..3ae360d69 100644 --- a/moto/ecs/models.py +++ b/moto/ecs/models.py @@ -109,6 +109,10 @@ class TaskDefinition(BaseObject): del response_object['arn'] return response_object + @property + def physical_resource_id(self): + return self.arn + @classmethod def create_from_cloudformation_json(cls, resource_name, cloudformation_json, region_name): properties = cloudformation_json['Properties'] diff --git a/tests/test_ecs/test_ecs_boto3.py b/tests/test_ecs/test_ecs_boto3.py index 5fcc297aa..53042ed02 100644 --- a/tests/test_ecs/test_ecs_boto3.py +++ b/tests/test_ecs/test_ecs_boto3.py @@ -1319,15 +1319,20 @@ def test_create_task_definition_through_cloudformation(): } template_json = json.dumps(template) cfn_conn = boto3.client('cloudformation', region_name='us-west-1') + stack_name = 'test_stack' cfn_conn.create_stack( - StackName="test_stack", + StackName=stack_name, TemplateBody=template_json, ) ecs_conn = boto3.client('ecs', region_name='us-west-1') resp = ecs_conn.list_task_definitions() len(resp['taskDefinitionArns']).should.equal(1) + task_definition_arn = resp['taskDefinitionArns'][0] + task_definition_details = cfn_conn.describe_stack_resource( + StackName=stack_name,LogicalResourceId='testTaskDefinition')['StackResourceDetail'] + task_definition_details['PhysicalResourceId'].should.equal(task_definition_arn) @mock_ec2 @mock_ecs