|
2 | 2 |
|
3 | 3 | resource "aws_iam_role" "scheduled_task_ecs_execution" { |
4 | 4 | name = "${var.name}-${var.environment}-st-ecs-execution-role" |
5 | | - assume_role_policy = "${file("${path.module}/policies/scheduled-task-ecs-execution-assume-role-policy.json")}" |
| 5 | + assume_role_policy = file("${path.module}/policies/scheduled-task-ecs-execution-assume-role-policy.json") |
6 | 6 | } |
7 | 7 |
|
8 | 8 | data "template_file" "scheduled_task_ecs_execution_policy" { |
9 | | - template = "${file("${path.module}/policies/scheduled-task-ecs-execution-policy.json")}" |
| 9 | + template = file("${path.module}/policies/scheduled-task-ecs-execution-policy.json") |
10 | 10 | } |
11 | 11 |
|
12 | 12 | resource "aws_iam_role_policy" "scheduled_task_ecs_execution" { |
13 | 13 | name = "${var.name}-${var.environment}-st-ecs-execution-policy" |
14 | | - role = "${aws_iam_role.scheduled_task_ecs_execution.id}" |
15 | | - policy = "${data.template_file.scheduled_task_ecs_execution_policy.rendered}" |
| 14 | + role = aws_iam_role.scheduled_task_ecs_execution.id |
| 15 | + policy = data.template_file.scheduled_task_ecs_execution_policy.rendered |
16 | 16 | } |
17 | 17 |
|
18 | 18 | ## ECS task role |
19 | 19 |
|
20 | 20 | resource "aws_iam_role" "scheduled_task_ecs" { |
21 | 21 | name = "${var.name}-${var.environment}-st-ecs-role" |
22 | | - assume_role_policy = "${file("${path.module}/policies/scheduled-task-ecs-assume-role-policy.json")}" |
| 22 | + assume_role_policy = file("${path.module}/policies/scheduled-task-ecs-assume-role-policy.json") |
23 | 23 | } |
24 | 24 |
|
25 | 25 | ## Cloudwatch event role |
26 | 26 |
|
27 | 27 | resource "aws_iam_role" "scheduled_task_cloudwatch" { |
28 | 28 | name = "${var.name}-${var.environment}-st-cloudwatch-role" |
29 | | - assume_role_policy = "${file("${path.module}/policies/scheduled-task-cloudwatch-assume-role-policy.json")}" |
| 29 | + assume_role_policy = file("${path.module}/policies/scheduled-task-cloudwatch-assume-role-policy.json") |
30 | 30 | } |
31 | 31 |
|
32 | 32 | data "template_file" "scheduled_task_cloudwatch_policy" { |
33 | 33 | template = "${file("${path.module}/policies/scheduled-task-cloudwatch-policy.json")}" |
34 | 34 |
|
35 | 35 | vars = { |
36 | | - task_execution_role_arn = "${aws_iam_role.scheduled_task_ecs_execution.arn}" |
| 36 | + task_execution_role_arn = aws_iam_role.scheduled_task_ecs_execution.arn |
37 | 37 | } |
38 | 38 | } |
39 | 39 |
|
40 | 40 | resource "aws_iam_role_policy" "scheduled_task_cloudwatch_policy" { |
41 | 41 | name = "${var.name}-${var.environment}-st-cloudwatch-policy" |
42 | | - role = "${aws_iam_role.scheduled_task_cloudwatch.id}" |
43 | | - policy = "${data.template_file.scheduled_task_cloudwatch_policy.rendered}" |
| 42 | + role = aws_iam_role.scheduled_task_cloudwatch.id |
| 43 | + policy = data.template_file.scheduled_task_cloudwatch_policy.rendered |
44 | 44 | } |
45 | 45 |
|
46 | 46 | ## ECS task definition |
47 | 47 |
|
48 | 48 | resource "aws_ecs_task_definition" "scheduled_task" { |
49 | 49 | family = "${var.name}-${var.environment}-scheduled-task" |
50 | | - container_definitions = "${var.container_definitions}" |
| 50 | + container_definitions = var.container_definitions |
51 | 51 | requires_compatibilities = ["EC2"] |
52 | | - network_mode = "${var.network_mode}" |
53 | | - execution_role_arn = "${aws_iam_role.scheduled_task_ecs_execution.arn}" |
54 | | - task_role_arn = "${aws_iam_role.scheduled_task_ecs.arn}" |
55 | | - cpu = "${var.cpu}" |
56 | | - memory = "${var.memory}" |
| 52 | + network_mode = var.network_mode |
| 53 | + execution_role_arn = aws_iam_role.scheduled_task_ecs_execution.arn |
| 54 | + task_role_arn = aws_iam_role.scheduled_task_ecs.arn |
| 55 | + cpu = var.cpu |
| 56 | + memory = var.memory |
57 | 57 | } |
58 | 58 |
|
59 | 59 | ## Cloudwatch event |
60 | 60 |
|
61 | 61 | resource "aws_cloudwatch_event_rule" "scheduled_task" { |
62 | 62 | name = "${var.name}_${var.environment}_scheduled_task" |
63 | 63 | description = "Run ${var.name}_${var.environment} task at a scheduled time (${var.schedule_expression})" |
64 | | - schedule_expression = "${var.schedule_expression}" |
| 64 | + schedule_expression = var.schedule_expression |
65 | 65 | } |
66 | 66 |
|
67 | 67 | resource "aws_cloudwatch_event_target" "scheduled_task" { |
68 | 68 | target_id = "${var.name}_${var.environment}_scheduled_task_target" |
69 | | - rule = "${aws_cloudwatch_event_rule.scheduled_task.name}" |
70 | | - arn = "${var.cluster_arn}" |
71 | | - role_arn = "${aws_iam_role.scheduled_task_cloudwatch.arn}" |
| 69 | + rule = aws_cloudwatch_event_rule.scheduled_task.name |
| 70 | + arn = var.cluster_arn |
| 71 | + role_arn = aws_iam_role.scheduled_task_cloudwatch.arn |
72 | 72 | input = jsonencode({}) |
73 | 73 |
|
74 | 74 | ecs_target { |
75 | | - task_count = "${var.task_count}" |
76 | | - task_definition_arn = "${aws_ecs_task_definition.scheduled_task.arn}" |
| 75 | + task_count = var.task_count |
| 76 | + task_definition_arn = aws_ecs_task_definition.scheduled_task.arn |
77 | 77 | } |
78 | 78 | } |
0 commit comments