Skip to content

Commit c9dc889

Browse files
authoredNov 29, 2024··
feat: Allow task exec IAM policy to have an IAM path (#243)
* allow a path on aws_iam_policy.task_exec * feat: allowing an IAM Path for task_exec policy * pre-commit * updated terraform-docs localy * fix: for wrappers pre-commit hook
1 parent 7dd9dbb commit c9dc889

File tree

4 files changed

+10
-2
lines changed

4 files changed

+10
-2
lines changed
 

‎modules/service/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,7 @@ module "ecs_service" {
294294
| <a name="input_tags"></a> [tags](#input\_tags) | A map of tags to add to all resources | `map(string)` | `{}` | no |
295295
| <a name="input_task_definition_arn"></a> [task\_definition\_arn](#input\_task\_definition\_arn) | Existing task definition ARN. Required when `create_task_definition` is `false` | `string` | `null` | no |
296296
| <a name="input_task_definition_placement_constraints"></a> [task\_definition\_placement\_constraints](#input\_task\_definition\_placement\_constraints) | Configuration block for rules that are taken into consideration during task placement (up to max of 10). This is set at the task definition, see `placement_constraints` for setting at the service | `any` | `{}` | no |
297+
| <a name="input_task_exec_iam_policy_path"></a> [task\_exec\_iam\_policy\_path](#input\_task\_exec\_iam\_policy\_path) | Path for the iam role | `string` | `null` | no |
297298
| <a name="input_task_exec_iam_role_arn"></a> [task\_exec\_iam\_role\_arn](#input\_task\_exec\_iam\_role\_arn) | Existing IAM role ARN | `string` | `null` | no |
298299
| <a name="input_task_exec_iam_role_description"></a> [task\_exec\_iam\_role\_description](#input\_task\_exec\_iam\_role\_description) | Description of the role | `string` | `null` | no |
299300
| <a name="input_task_exec_iam_role_max_session_duration"></a> [task\_exec\_iam\_role\_max\_session\_duration](#input\_task\_exec\_iam\_role\_max\_session\_duration) | Maximum session duration (in seconds) for ECS task execution role. Default is 3600. | `number` | `null` | no |

‎modules/service/main.tf

+2-2
Original file line numberDiff line numberDiff line change
@@ -894,8 +894,8 @@ resource "aws_iam_policy" "task_exec" {
894894
name_prefix = var.task_exec_iam_role_use_name_prefix ? "${local.task_exec_iam_role_name}-" : null
895895
description = coalesce(var.task_exec_iam_role_description, "Task execution role IAM policy")
896896
policy = data.aws_iam_policy_document.task_exec[0].json
897-
898-
tags = merge(var.tags, var.task_exec_iam_role_tags)
897+
path = var.task_exec_iam_policy_path
898+
tags = merge(var.tags, var.task_exec_iam_role_tags)
899899
}
900900

901901
resource "aws_iam_role_policy_attachment" "task_exec" {

‎modules/service/variables.tf

+6
Original file line numberDiff line numberDiff line change
@@ -468,6 +468,12 @@ variable "task_exec_iam_statements" {
468468
default = {}
469469
}
470470

471+
variable "task_exec_iam_policy_path" {
472+
description = "Path for the iam role"
473+
type = string
474+
default = null
475+
}
476+
471477
################################################################################
472478
# Tasks - IAM role
473479
# https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html

‎wrappers/service/main.tf

+1
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ module "wrapper" {
9898
tags = try(each.value.tags, var.defaults.tags, {})
9999
task_definition_arn = try(each.value.task_definition_arn, var.defaults.task_definition_arn, null)
100100
task_definition_placement_constraints = try(each.value.task_definition_placement_constraints, var.defaults.task_definition_placement_constraints, {})
101+
task_exec_iam_policy_path = try(each.value.task_exec_iam_policy_path, var.defaults.task_exec_iam_policy_path, null)
101102
task_exec_iam_role_arn = try(each.value.task_exec_iam_role_arn, var.defaults.task_exec_iam_role_arn, null)
102103
task_exec_iam_role_description = try(each.value.task_exec_iam_role_description, var.defaults.task_exec_iam_role_description, null)
103104
task_exec_iam_role_max_session_duration = try(each.value.task_exec_iam_role_max_session_duration, var.defaults.task_exec_iam_role_max_session_duration, null)

0 commit comments

Comments
 (0)
Please sign in to comment.