Guest User

Untitled

a guest
Jun 20th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.12 KB | None | 0 0
  1. resource "aws_ecs_service" "service" {
  2. name = "${var.app}"
  3. cluster = "${var.cluster}"
  4. # Use task revision in AWS if it is greater than task revision in tfstate
  5. # Prevents rolling back revision when it has been incremented by CI
  6. task_definition = "${aws_ecs_task_definition.app.family}:${data.external.task_definition.result["task_definition_revision"] > aws_ecs_task_definition.app.revision ? data.external.task_definition.result["task_definition_revision"] : aws_ecs_task_definition.app.revision }"
  7. desired_count = "${var.task_count}"
  8.  
  9. depends_on = [
  10. "aws_ecs_task_definition.app"
  11. ]
  12. }
  13.  
  14. resource "aws_ecs_task_definition" "task" {
  15. family = "${var.app}-${var.env}"
  16. task_role_arn = "${aws_iam_role.app_role.arn}"
  17. container_definitions = <<JSON
  18. [
  19. {
  20. "name": "${var.app}",
  21. "image": "${aws_ecr_repository.app_repo.repository_url}:${data.external.task_definition.result["image_tag"]}"
  22. }
  23. ]
  24. JSON
  25. }
  26.  
  27. data "external" "task_definition" {
  28. program = ["bash", "${path.module}/ecs-task-definition.sh"]
  29. query = {
  30. service = "${var.app}"
  31. cluster = "${var.cluster}"
  32. path_root = "${jsonencode(path.root)}"
  33. }
  34. }
Add Comment
Please, Sign In to add comment