{"id":19978312,"url":"https://github.com/geekcell/terraform-aws-ecs-task-definition","last_synced_at":"2026-05-15T05:38:15.582Z","repository":{"id":150854419,"uuid":"617010663","full_name":"geekcell/terraform-aws-ecs-task-definition","owner":"geekcell","description":"Terraform AWS Module for create an ECS Task Definition.","archived":false,"fork":false,"pushed_at":"2023-06-28T11:11:09.000Z","size":24,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-01T18:48:52.181Z","etag":null,"topics":["aws","ecs","fargate","task-definition","terraform","terraform-module"],"latest_commit_sha":null,"homepage":"https://www.geekcell.io","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/geekcell.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-21T14:24:29.000Z","updated_at":"2023-05-11T12:57:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"d67465d0-2b19-487d-81f8-dc4225f6d77d","html_url":"https://github.com/geekcell/terraform-aws-ecs-task-definition","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":"geekcell/terraform-aws-module-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geekcell%2Fterraform-aws-ecs-task-definition","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geekcell%2Fterraform-aws-ecs-task-definition/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geekcell%2Fterraform-aws-ecs-task-definition/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geekcell%2Fterraform-aws-ecs-task-definition/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/geekcell","download_url":"https://codeload.github.com/geekcell/terraform-aws-ecs-task-definition/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241411543,"owners_count":19958753,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","ecs","fargate","task-definition","terraform","terraform-module"],"created_at":"2024-11-13T03:32:40.181Z","updated_at":"2025-11-26T05:05:01.742Z","avatar_url":"https://github.com/geekcell.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- BEGIN_TF_DOCS --\u003e\n[![Geek Cell GmbH](https://raw.githubusercontent.com/geekcell/.github/main/geekcell-github-banner.png)](https://www.geekcell.io/)\n\n### Code Quality\n[![License](https://img.shields.io/github/license/geekcell/terraform-aws-ecs-task-definition)](https://github.com/geekcell/terraform-aws-ecs-task-definition/blob/master/LICENSE)\n[![GitHub release (latest tag)](https://img.shields.io/github/v/release/geekcell/terraform-aws-ecs-task-definition?logo=github\u0026sort=semver)](https://github.com/geekcell/terraform-aws-ecs-task-definition/releases)\n[![Release](https://github.com/geekcell/terraform-aws-ecs-task-definition/actions/workflows/release.yaml/badge.svg)](https://github.com/geekcell/terraform-aws-ecs-task-definition/actions/workflows/release.yaml)\n[![Validate](https://github.com/geekcell/terraform-aws-ecs-task-definition/actions/workflows/validate.yaml/badge.svg)](https://github.com/geekcell/terraform-aws-ecs-task-definition/actions/workflows/validate.yaml)\n[![Lint](https://github.com/geekcell/terraform-aws-ecs-task-definition/actions/workflows/linter.yaml/badge.svg)](https://github.com/geekcell/terraform-aws-ecs-task-definition/actions/workflows/linter.yaml)\n\n\u003c!--\nComment in if Bridgecrew is configured\n\n### Security\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-ecs-task-definition/general)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-ecs-task-definition\u0026benchmark=INFRASTRUCTURE+SECURITY)\n\n#### Cloud\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-ecs-task-definition/cis_aws)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-ecs-task-definition\u0026benchmark=CIS+AWS+V1.2)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-ecs-task-definition/cis_aws_13)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-ecs-task-definition\u0026benchmark=CIS+AWS+V1.3)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-ecs-task-definition/cis_azure)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-ecs-task-definition\u0026benchmark=CIS+AZURE+V1.1)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-ecs-task-definition/cis_azure_13)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-ecs-task-definition\u0026benchmark=CIS+AZURE+V1.3)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-ecs-task-definition/cis_gcp)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-ecs-task-definition\u0026benchmark=CIS+GCP+V1.1)\n\n##### Container\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-ecs-task-definition/cis_kubernetes_16)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-ecs-task-definition\u0026benchmark=CIS+KUBERNETES+V1.6)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-ecs-task-definition/cis_eks_11)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-ecs-task-definition\u0026benchmark=CIS+EKS+V1.1)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-ecs-task-definition/cis_gke_11)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-ecs-task-definition\u0026benchmark=CIS+GKE+V1.1)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-ecs-task-definition/cis_kubernetes)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-ecs-task-definition\u0026benchmark=CIS+KUBERNETES+V1.5)\n\n#### Data protection\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-ecs-task-definition/soc2)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-ecs-task-definition\u0026benchmark=SOC2)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-ecs-task-definition/pci)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-ecs-task-definition\u0026benchmark=PCI-DSS+V3.2)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-ecs-task-definition/pci_dss_v321)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-ecs-task-definition\u0026benchmark=PCI-DSS+V3.2.1)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-ecs-task-definition/iso)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-ecs-task-definition\u0026benchmark=ISO27001)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-ecs-task-definition/nist)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-ecs-task-definition\u0026benchmark=NIST-800-53)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-ecs-task-definition/hipaa)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-ecs-task-definition\u0026benchmark=HIPAA)\n[![Infrastructure Tests](https://www.bridgecrew.cloud/badges/github/geekcell/terraform-aws-ecs-task-definition/fedramp_moderate)](https://www.bridgecrew.cloud/link/badge?vcs=github\u0026fullRepo=geekcell%2Fterraform-aws-ecs-task-definition\u0026benchmark=FEDRAMP+%28MODERATE%29)\n\n--\u003e\n\n# Terraform AWS ECS Task Definition Module\n\nTerraform module for creating an AWS ECS Task Definition.\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_additional_execute_role_policies\"\u003e\u003c/a\u003e [additional\\_execute\\_role\\_policies](#input\\_additional\\_execute\\_role\\_policies) | Additional policy ARNs to attach to the execution role. | `list(string)` | `[]` | no |\n| \u003ca name=\"input_additional_task_role_policies\"\u003e\u003c/a\u003e [additional\\_task\\_role\\_policies](#input\\_additional\\_task\\_role\\_policies) | Additional policy ARNs to attach to the task role. | `list(string)` | `[]` | no |\n| \u003ca name=\"input_container_definitions\"\u003e\u003c/a\u003e [container\\_definitions](#input\\_container\\_definitions) | A list of valid container definitions provided as a valid HCL object list. | `any` | n/a | yes |\n| \u003ca name=\"input_cpu\"\u003e\u003c/a\u003e [cpu](#input\\_cpu) | Number of CPU units used by the task. | `number` | `1024` | no |\n| \u003ca name=\"input_cpu_architecture\"\u003e\u003c/a\u003e [cpu\\_architecture](#input\\_cpu\\_architecture) | CPU architecture required by the task. | `string` | `\"X86_64\"` | no |\n| \u003ca name=\"input_create_execution_role\"\u003e\u003c/a\u003e [create\\_execution\\_role](#input\\_create\\_execution\\_role) | If enabled, will create an execution role and attach the AmazonECSTaskExecutionRolePolicy to it. | `bool` | `true` | no |\n| \u003ca name=\"input_create_task_role\"\u003e\u003c/a\u003e [create\\_task\\_role](#input\\_create\\_task\\_role) | If enabled, will create a task role. | `bool` | `true` | no |\n| \u003ca name=\"input_enable_execute_command\"\u003e\u003c/a\u003e [enable\\_execute\\_command](#input\\_enable\\_execute\\_command) | If enabled, will add the AmazonSSMManagedInstanceCore to the task role. | `bool` | `true` | no |\n| \u003ca name=\"input_ephemeral_storage_size_in_gib\"\u003e\u003c/a\u003e [ephemeral\\_storage\\_size\\_in\\_gib](#input\\_ephemeral\\_storage\\_size\\_in\\_gib) | The amount of ephemeral storage (in GiB) to allocate to the task. | `number` | `20` | no |\n| \u003ca name=\"input_execution_role_arn\"\u003e\u003c/a\u003e [execution\\_role\\_arn](#input\\_execution\\_role\\_arn) | Execution role ARN to attach to the task. | `string` | `null` | no |\n| \u003ca name=\"input_execution_role_name\"\u003e\u003c/a\u003e [execution\\_role\\_name](#input\\_execution\\_role\\_name) | Name of the execution role to create. | `string` | `null` | no |\n| \u003ca name=\"input_execution_role_name_prefix\"\u003e\u003c/a\u003e [execution\\_role\\_name\\_prefix](#input\\_execution\\_role\\_name\\_prefix) | Whether to prefix the execution role name with the family name. | `bool` | `false` | no |\n| \u003ca name=\"input_inference_accelerators\"\u003e\u003c/a\u003e [inference\\_accelerators](#input\\_inference\\_accelerators) | List of Elastic Inference accelerators associated with the task. | \u003cpre\u003elist(object({\u003cbr\u003e    name = string\u003cbr\u003e    type = string\u003cbr\u003e  }))\u003c/pre\u003e | `[]` | no |\n| \u003ca name=\"input_memory\"\u003e\u003c/a\u003e [memory](#input\\_memory) | Amount (in MiB) of memory used by the task. | `number` | `2048` | no |\n| \u003ca name=\"input_name\"\u003e\u003c/a\u003e [name](#input\\_name) | Family of the task definition. | `string` | n/a | yes |\n| \u003ca name=\"input_network_mode\"\u003e\u003c/a\u003e [network\\_mode](#input\\_network\\_mode) | The network mode to use for the containers in the task. The valid values are bridge, host, awsvpc, and none. If no network mode is specified, the default is bridge. | `string` | `\"awsvpc\"` | no |\n| \u003ca name=\"input_operating_system_family\"\u003e\u003c/a\u003e [operating\\_system\\_family](#input\\_operating\\_system\\_family) | OS family required by the task. | `string` | `\"LINUX\"` | no |\n| \u003ca name=\"input_proxy_configuration\"\u003e\u003c/a\u003e [proxy\\_configuration](#input\\_proxy\\_configuration) | Configuration details for an App Mesh proxy. | \u003cpre\u003eobject({\u003cbr\u003e    container_name = string\u003cbr\u003e    properties     = map(any)\u003cbr\u003e    type           = optional(string, \"APPMESH\")\u003cbr\u003e  })\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_requires_compatibilities\"\u003e\u003c/a\u003e [requires\\_compatibilities](#input\\_requires\\_compatibilities) | The launch type on which to run your service. The valid values are EC2 and FARGATE. | `list(string)` | \u003cpre\u003e[\u003cbr\u003e  \"FARGATE\"\u003cbr\u003e]\u003c/pre\u003e | no |\n| \u003ca name=\"input_tags\"\u003e\u003c/a\u003e [tags](#input\\_tags) | Tags to add to the created resources. | `map(any)` | `{}` | no |\n| \u003ca name=\"input_task_role_arn\"\u003e\u003c/a\u003e [task\\_role\\_arn](#input\\_task\\_role\\_arn) | Task role ARN to attach to the task. | `string` | `null` | no |\n| \u003ca name=\"input_task_role_name\"\u003e\u003c/a\u003e [task\\_role\\_name](#input\\_task\\_role\\_name) | Name of the task role to create. | `string` | `null` | no |\n| \u003ca name=\"input_task_role_name_prefix\"\u003e\u003c/a\u003e [task\\_role\\_name\\_prefix](#input\\_task\\_role\\_name\\_prefix) | Whether to prefix the task role name with the family name. | `bool` | `false` | no |\n| \u003ca name=\"input_volumes\"\u003e\u003c/a\u003e [volumes](#input\\_volumes) | A list of volume definitions. | \u003cpre\u003elist(object({\u003cbr\u003e    name      = string\u003cbr\u003e    host_path = string\u003cbr\u003e\u003cbr\u003e    docker_volume_configuration = optional(object({\u003cbr\u003e      autoprovision = bool\u003cbr\u003e      driver        = string\u003cbr\u003e      driver_opts   = map(any)\u003cbr\u003e      labels        = map(any)\u003cbr\u003e      scope         = string\u003cbr\u003e    }))\u003cbr\u003e\u003cbr\u003e    efs_volume_configuration = optional(object({\u003cbr\u003e      file_system_id          = string\u003cbr\u003e      root_directory          = optional(string)\u003cbr\u003e      transit_encryption      = optional(string)\u003cbr\u003e      transit_encryption_port = optional(number)\u003cbr\u003e\u003cbr\u003e      authorization_config = optional(object({\u003cbr\u003e        access_point_id = string\u003cbr\u003e        iam             = optional(string)\u003cbr\u003e      }))\u003cbr\u003e    }))\u003cbr\u003e  }))\u003c/pre\u003e | `[]` | no |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_arn\"\u003e\u003c/a\u003e [arn](#output\\_arn) | The ARN of the task definition. |\n| \u003ca name=\"output_execution_role_arn\"\u003e\u003c/a\u003e [execution\\_role\\_arn](#output\\_execution\\_role\\_arn) | The ARN of the IAM role that grants the Amazon ECS container agent permission to make calls to your Amazon ECS container task. |\n| \u003ca name=\"output_execution_role_name\"\u003e\u003c/a\u003e [execution\\_role\\_name](#output\\_execution\\_role\\_name) | The name of the IAM role that grants the Amazon ECS container agent permission to make calls to your Amazon ECS container task. |\n| \u003ca name=\"output_task_role_arn\"\u003e\u003c/a\u003e [task\\_role\\_arn](#output\\_task\\_role\\_arn) | The ARN of the IAM role that allows your Amazon ECS container task to make calls to other AWS services. |\n| \u003ca name=\"output_task_role_name\"\u003e\u003c/a\u003e [task\\_role\\_name](#output\\_task\\_role\\_name) | The name of the IAM role that allows your Amazon ECS container task to make calls to other AWS services. |\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_aws\"\u003e\u003c/a\u003e [aws](#provider\\_aws) | \u003e= 4.36 |\n\n## Resources\n\n- resource.aws_ecs_task_definition.main (main.tf#6)\n- resource.aws_iam_role_policy_attachment.execute_additional (main.tf#113)\n- resource.aws_iam_role_policy_attachment.execute_command (main.tf#139)\n- resource.aws_iam_role_policy_attachment.task_additional (main.tf#132)\n\u003c!-- END_TF_DOCS --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeekcell%2Fterraform-aws-ecs-task-definition","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeekcell%2Fterraform-aws-ecs-task-definition","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeekcell%2Fterraform-aws-ecs-task-definition/lists"}