Skip to content

Commit 09443fe

Browse files
committed
Enable max session duration adjustment on tasks role
1 parent 3c65ca8 commit 09443fe

File tree

8 files changed

+16
-3
lines changed

8 files changed

+16
-3
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

examples/complete/main.tf

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -226,8 +226,10 @@ module "ecs" {
226226
}
227227
}
228228

229-
tasks_iam_role_name = "${local.name}-tasks"
230-
tasks_iam_role_description = "Example tasks IAM role for ${local.name}"
229+
tasks_iam_role_name = "${local.name}-tasks"
230+
tasks_iam_role_description = "Example tasks IAM role for ${local.name}"
231+
tasks_iam_role_max_session_duration = 7200
232+
231233
tasks_iam_role_policies = {
232234
ReadOnlyAccess = "arn:aws:iam::aws:policy/ReadOnlyAccess"
233235
}

main.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,7 @@ module "service" {
158158
tasks_iam_role_tags = each.value.tasks_iam_role_tags
159159
tasks_iam_role_policies = each.value.tasks_iam_role_policies
160160
tasks_iam_role_statements = each.value.tasks_iam_role_statements
161+
tasks_iam_role_max_session_duration = each.value.tasks_iam_role_max_session_duration
161162

162163
# Task set
163164
external_id = each.value.external_id

modules/service/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -331,6 +331,7 @@ module "ecs_service" {
331331
| <a name="input_task_tags"></a> [task\_tags](#input\_task\_tags) | A map of additional tags to add to the task definition/set created | `map(string)` | `{}` | no |
332332
| <a name="input_tasks_iam_role_arn"></a> [tasks\_iam\_role\_arn](#input\_tasks\_iam\_role\_arn) | Existing IAM role ARN | `string` | `null` | no |
333333
| <a name="input_tasks_iam_role_description"></a> [tasks\_iam\_role\_description](#input\_tasks\_iam\_role\_description) | Description of the role | `string` | `null` | no |
334+
| <a name="input_tasks_iam_role_max_session_duration"></a> [tasks\_iam\_role\_max\_session\_duration](#input\_tasks\_iam\_role\_max\_session\_duration) | Maximum session duration (in seconds) for ECS tasks role. Default is 3600. | `number` | `null` | no |
334335
| <a name="input_tasks_iam_role_name"></a> [tasks\_iam\_role\_name](#input\_tasks\_iam\_role\_name) | Name to use on IAM role created | `string` | `null` | no |
335336
| <a name="input_tasks_iam_role_path"></a> [tasks\_iam\_role\_path](#input\_tasks\_iam\_role\_path) | IAM role path | `string` | `null` | no |
336337
| <a name="input_tasks_iam_role_permissions_boundary"></a> [tasks\_iam\_role\_permissions\_boundary](#input\_tasks\_iam\_role\_permissions\_boundary) | ARN of the policy that is used to set the permissions boundary for the IAM role | `string` | `null` | no |

modules/service/main.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1247,6 +1247,7 @@ resource "aws_iam_role" "tasks" {
12471247
description = var.tasks_iam_role_description
12481248

12491249
assume_role_policy = data.aws_iam_policy_document.tasks_assume[0].json
1250+
max_session_duration = var.tasks_iam_role_max_session_duration
12501251
permissions_boundary = var.tasks_iam_role_permissions_boundary
12511252
force_detach_policies = true
12521253

modules/service/variables.tf

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -977,6 +977,12 @@ variable "tasks_iam_role_statements" {
977977
default = null
978978
}
979979

980+
variable "tasks_iam_role_max_session_duration" {
981+
description = "Maximum session duration (in seconds) for ECS tasks role. Default is 3600."
982+
type = number
983+
default = null
984+
}
985+
980986
################################################################################
981987
# Task Set
982988
################################################################################

variables.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -690,6 +690,7 @@ variable "services" {
690690
tasks_iam_role_permissions_boundary = optional(string)
691691
tasks_iam_role_tags = optional(map(string))
692692
tasks_iam_role_policies = optional(map(string))
693+
tasks_iam_role_max_session_duration = optional(number)
693694
tasks_iam_role_statements = optional(list(object({
694695
sid = optional(string)
695696
actions = optional(list(string))

wrappers/service/main.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ module "wrapper" {
127127
task_tags = try(each.value.task_tags, var.defaults.task_tags, {})
128128
tasks_iam_role_arn = try(each.value.tasks_iam_role_arn, var.defaults.tasks_iam_role_arn, null)
129129
tasks_iam_role_description = try(each.value.tasks_iam_role_description, var.defaults.tasks_iam_role_description, null)
130+
tasks_iam_role_max_session_duration = try(each.value.tasks_iam_role_max_session_duration, var.defaults.tasks_iam_role_max_session_duration, null)
130131
tasks_iam_role_name = try(each.value.tasks_iam_role_name, var.defaults.tasks_iam_role_name, null)
131132
tasks_iam_role_path = try(each.value.tasks_iam_role_path, var.defaults.tasks_iam_role_path, null)
132133
tasks_iam_role_permissions_boundary = try(each.value.tasks_iam_role_permissions_boundary, var.defaults.tasks_iam_role_permissions_boundary, null)

0 commit comments

Comments
 (0)