modules/accelerator/ecs/create_taskdef_files.tf (25 lines of code) (raw):

##============= Task Definitions for every stage for in Codedeploy usage ============================## data "template_file" "taskdef" { count = length(var.environments) template = replace(file("${path.module}/task_definition_for_codedeploy.json"), "\"$${target_port}\"", "$${target_port}") vars = { cpu = var.cpu memory = var.memory region_name = var.region_name repo_name = var.repo_name env = var.environments[count.index] execution_role = var.execution_role logs_group = aws_cloudwatch_log_group.logs_group.name region = var.region target_port = var.docker_container_port family = aws_ecs_service.app_ecs_service[count.index].name container_name = var.container_name } } resource "aws_s3_object" "taskdef" { count = length(var.environments) bucket = var.storage_bucket key = "${aws_ecr_repository.ecr-repo.name}/taskdef_${var.environments[count.index]}.json" content = data.template_file.taskdef[count.index].rendered etag = md5(data.template_file.taskdef[count.index].rendered) force_destroy = true }