Skip to content

Commit 14432d7

Browse files
committed
Ensure default task execution role name is unique.
1 parent 88b08f7 commit 14432d7

2 files changed

Lines changed: 8 additions & 4 deletions

File tree

spec/unit/task_definition_spec.rb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -210,8 +210,9 @@
210210
expect(@plan)
211211
.to(include_resource_creation(type: 'aws_iam_role')
212212
.with_attribute_value(
213-
:name,
214-
"default-task-execution-role-#{deployment_identifier}"
213+
:description,
214+
'default-task-execution-role-' \
215+
"#{component}-#{deployment_identifier}-#{service_name}"
215216
))
216217
end
217218
end

task_definition.tf

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ locals {
2222
}
2323

2424
resource "aws_iam_role" "default_task_execution_role" {
25-
name = "default-task-execution-role-${var.deployment_identifier}"
25+
description = "default-task-execution-role-${var.component}-${var.deployment_identifier}-${var.service_name}"
2626
assume_role_policy = jsonencode({
2727
Version = "2012-10-17"
2828
Statement = [
@@ -37,6 +37,9 @@ resource "aws_iam_role" "default_task_execution_role" {
3737
]
3838
})
3939

40+
lifecycle {
41+
create_before_destroy = true
42+
}
4043
}
4144

4245
data "aws_iam_policy_document" "default_task_execution_policy" {
@@ -73,10 +76,10 @@ resource "aws_ecs_task_definition" "service" {
7376
task_role_arn = var.service_role
7477
execution_role_arn = var.use_fargate ? (var.task_execution_role_arn == null ? aws_iam_role.default_task_execution_role.arn : var.task_execution_role_arn) : null
7578

76-
7779
requires_compatibilities = var.use_fargate ? ["FARGATE"] : null
7880
cpu = var.use_fargate ? var.service_task_cpu : null
7981
memory = var.use_fargate ? var.service_task_memory : null
82+
8083
runtime_platform {
8184
operating_system_family = var.use_fargate ? var.service_task_operating_system_family : null
8285
cpu_architecture = var.use_fargate ? var.service_task_cpu_architecture : null

0 commit comments

Comments
 (0)