{"id":19188759,"url":"https://github.com/miquido/terraform-ecs-alb-task","last_synced_at":"2026-02-26T23:32:59.890Z","repository":{"id":194473620,"uuid":"690505037","full_name":"miquido/terraform-ecs-alb-task","owner":"miquido","description":null,"archived":false,"fork":false,"pushed_at":"2025-09-08T13:19:40.000Z","size":277,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-08T15:24:41.433Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/miquido.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-09-12T10:24:26.000Z","updated_at":"2025-09-08T13:19:43.000Z","dependencies_parsed_at":"2023-09-27T02:53:38.722Z","dependency_job_id":"c89f6d45-fcce-46dc-8ad1-5a858786b991","html_url":"https://github.com/miquido/terraform-ecs-alb-task","commit_stats":null,"previous_names":["miquido/terraform-ecs-alb-task"],"tags_count":102,"template":false,"template_full_name":null,"purl":"pkg:github/miquido/terraform-ecs-alb-task","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miquido%2Fterraform-ecs-alb-task","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miquido%2Fterraform-ecs-alb-task/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miquido%2Fterraform-ecs-alb-task/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miquido%2Fterraform-ecs-alb-task/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/miquido","download_url":"https://codeload.github.com/miquido/terraform-ecs-alb-task/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miquido%2Fterraform-ecs-alb-task/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29876975,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-26T22:37:10.609Z","status":"ssl_error","status_checked_at":"2026-02-26T22:37:09.019Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2024-11-09T11:25:56.601Z","updated_at":"2026-02-26T23:32:59.843Z","avatar_url":"https://github.com/miquido.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- markdownlint-disable --\u003e\n# miquido-terraform-ecs-alb-task \u003ca href=\"https://miquido.com\"\u003e\u003cimg align=\"right\" src=\"https://cdn.miquido.dev/miquido-logo.png\" width=\"150\" /\u003e\u003c/a\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\n\u003c!--\n\n\n\n\n  ** DO NOT EDIT THIS FILE\n  **\n  ** This file was automatically generated by the `miquido/build-harness`.\n  ** 1) Make all changes to `README.yaml`\n  ** 2) Run `make init` (you only need to do this once)\n  ** 3) Run`make readme` to rebuild this file.\n  **\n  **\n\n\n\n\n\n--\u003e\n\nProvide ECS Service and Task configuration with ALB attachment\n\n\n\n\n\n\n## Usage\n\nTerraform:\n```hcl\nresource \"aws_security_group_rule\" \"example\" {\n  type              = \"ingress\"\n  from_port         = 0\n  to_port           = 65535\n  protocol          = \"tcp\"\n  cidr_blocks       = [\"0.0.0.0/0\"]\n  ipv6_cidr_blocks  = [\"::/0\"]\n  security_group_id = \"sg-123456\"\n}\n\nmodule \"task\" {\n  source = \"../../\"\n\n  name                 = \"task\"\n  project              = \"example\"\n  environment          = \"test\"\n  container_image      = \"nginx\"\n  container_port       = 80\n  logs_region          = \"us-east-1\"\n  ecs_cluster_arn      = \"\"\n  vpc_id               = \"\"\n  subnet_ids           = []\n  security_group_ids   = []\n  security_group_rules = [aws_security_group_rule.example]\n}\n```\n\n\n\n\n\n\n\u003c!-- markdownlint-disable --\u003e\n## Makefile Targets\n```text\nAvailable targets:\n\n  help                                Help screen\n  help/all                            Display help for all targets\n  help/short                          This help short screen\n  lint                                Lint terraform code\n\n```\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- markdownlint-disable --\u003e\n## Requirements\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"requirement_terraform\"\u003e\u003c/a\u003e [terraform](#requirement\\_terraform) | \u003e= 0.13.0 |\n| \u003ca name=\"requirement_aws\"\u003e\u003c/a\u003e [aws](#requirement\\_aws) | \u003e= 4.7 |\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_aws\"\u003e\u003c/a\u003e [aws](#provider\\_aws) | \u003e= 4.7 |\n\n## Modules\n\n| Name | Source | Version |\n|------|--------|---------|\n| \u003ca name=\"module_autoscaling\"\u003e\u003c/a\u003e [autoscaling](#module\\_autoscaling) | git::https://github.com/cloudposse/terraform-aws-ecs-cloudwatch-autoscaling.git | 0.7.5 |\n| \u003ca name=\"module_container\"\u003e\u003c/a\u003e [container](#module\\_container) | git::https://github.com/cloudposse/terraform-aws-ecs-container-definition | 0.61.1 |\n| \u003ca name=\"module_ecs-service-alarms\"\u003e\u003c/a\u003e [ecs-service-alarms](#module\\_ecs-service-alarms) | git::https://github.com/cloudposse/terraform-aws-ecs-cloudwatch-sns-alarms.git | 0.13.0 |\n| \u003ca name=\"module_label\"\u003e\u003c/a\u003e [label](#module\\_label) | git::https://github.com/cloudposse/terraform-terraform-label | 0.8.0 |\n| \u003ca name=\"module_task\"\u003e\u003c/a\u003e [task](#module\\_task) | git::https://github.com/cloudposse/terraform-aws-ecs-alb-service-task | v0.76.0 |\n\n## Resources\n\n| Name | Type |\n|------|------|\n| [aws_cloudwatch_log_group.app](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_log_group) | resource |\n| [aws_iam_role_policy.ecs-exec-secret-manager](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy) | resource |\n| [aws_iam_role_policy.ecs-exec-ssm-secrets](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy) | resource |\n| [aws_iam_policy_document.ecs-exec-secret-manager](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |\n| [aws_iam_policy_document.ecs-exec-ssm-secrets](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_additional_containers\"\u003e\u003c/a\u003e [additional\\_containers](#input\\_additional\\_containers) | Additional container definitions to include in the task. List of JSON Map formats should be used (see cloudposse/terraform-aws-ecs-container-definition module output: json\\_map\\_encoded) | `list(string)` | \u003cpre\u003e[\u003cbr/\u003e  \"\"\u003cbr/\u003e]\u003c/pre\u003e | no |\n| \u003ca name=\"input_additional_port_mappings\"\u003e\u003c/a\u003e [additional\\_port\\_mappings](#input\\_additional\\_port\\_mappings) | The port mappings to configure for the container. This is a list of maps. Each map should contain \"containerPort\", \"hostPort\", and \"protocol\", where \"protocol\" is one of \"tcp\" or \"udp\". If using containers in a task with the awsvpc or host network mode, the hostPort can either be left blank or set to the same value as the containerPort | \u003cpre\u003elist(object({\u003cbr/\u003e    containerPort = number\u003cbr/\u003e    hostPort      = number\u003cbr/\u003e    protocol      = string\u003cbr/\u003e  }))\u003c/pre\u003e | `[]` | no |\n| \u003ca name=\"input_alb_security_group\"\u003e\u003c/a\u003e [alb\\_security\\_group](#input\\_alb\\_security\\_group) | Security group of the ALB | `string` | `\"\"` | no |\n| \u003ca name=\"input_alb_target_group_arn\"\u003e\u003c/a\u003e [alb\\_target\\_group\\_arn](#input\\_alb\\_target\\_group\\_arn) | The ALB target group ARN for the ECS service | `string` | `\"\"` | no |\n| \u003ca name=\"input_app_protocol\"\u003e\u003c/a\u003e [app\\_protocol](#input\\_app\\_protocol) | Protocol of the app. f.e. http or tcp | `string` | `\"http\"` | no |\n| \u003ca name=\"input_assign_public_ip\"\u003e\u003c/a\u003e [assign\\_public\\_ip](#input\\_assign\\_public\\_ip) | Assign a public IP address to the ENI (Fargate launch type only). Valid values are true or false. Default false. | `bool` | `false` | no |\n| \u003ca name=\"input_autoscaling_dimension\"\u003e\u003c/a\u003e [autoscaling\\_dimension](#input\\_autoscaling\\_dimension) | Dimension to autoscale on (valid options: cpu, memory) | `string` | `\"cpu\"` | no |\n| \u003ca name=\"input_autoscaling_enabled\"\u003e\u003c/a\u003e [autoscaling\\_enabled](#input\\_autoscaling\\_enabled) | A boolean to enable/disable Autoscaling policy for ECS Service | `bool` | `false` | no |\n| \u003ca name=\"input_autoscaling_max_capacity\"\u003e\u003c/a\u003e [autoscaling\\_max\\_capacity](#input\\_autoscaling\\_max\\_capacity) | Maximum number of running instances of a Service | `number` | `2` | no |\n| \u003ca name=\"input_autoscaling_min_capacity\"\u003e\u003c/a\u003e [autoscaling\\_min\\_capacity](#input\\_autoscaling\\_min\\_capacity) | Minimum number of running instances of a Service | `number` | `1` | no |\n| \u003ca name=\"input_autoscaling_scale_down_adjustment\"\u003e\u003c/a\u003e [autoscaling\\_scale\\_down\\_adjustment](#input\\_autoscaling\\_scale\\_down\\_adjustment) | Scaling adjustment to make during scale down event | `number` | `-1` | no |\n| \u003ca name=\"input_autoscaling_scale_down_cooldown\"\u003e\u003c/a\u003e [autoscaling\\_scale\\_down\\_cooldown](#input\\_autoscaling\\_scale\\_down\\_cooldown) | Period (in seconds) to wait between scale down events | `number` | `300` | no |\n| \u003ca name=\"input_autoscaling_scale_up_adjustment\"\u003e\u003c/a\u003e [autoscaling\\_scale\\_up\\_adjustment](#input\\_autoscaling\\_scale\\_up\\_adjustment) | Scaling adjustment to make during scale up event | `number` | `1` | no |\n| \u003ca name=\"input_autoscaling_scale_up_cooldown\"\u003e\u003c/a\u003e [autoscaling\\_scale\\_up\\_cooldown](#input\\_autoscaling\\_scale\\_up\\_cooldown) | Period (in seconds) to wait between scale up events | `number` | `60` | no |\n| \u003ca name=\"input_capacity_provider_strategies\"\u003e\u003c/a\u003e [capacity\\_provider\\_strategies](#input\\_capacity\\_provider\\_strategies) | The capacity provider strategies to use for the service. See `capacity_provider_strategy` configuration block: https://www.terraform.io/docs/providers/aws/r/ecs_service.html#capacity_provider_strategy | \u003cpre\u003elist(object({\u003cbr/\u003e    capacity_provider = string\u003cbr/\u003e    weight            = number\u003cbr/\u003e    base              = number\u003cbr/\u003e  }))\u003c/pre\u003e | `[]` | no |\n| \u003ca name=\"input_circuit_breaker_deployment_enabled\"\u003e\u003c/a\u003e [circuit\\_breaker\\_deployment\\_enabled](#input\\_circuit\\_breaker\\_deployment\\_enabled) | Whether to enable the deployment circuit breaker logic for the service | `bool` | `false` | no |\n| \u003ca name=\"input_circuit_breaker_rollback_enabled\"\u003e\u003c/a\u003e [circuit\\_breaker\\_rollback\\_enabled](#input\\_circuit\\_breaker\\_rollback\\_enabled) | Whether to enable Amazon ECS to roll back the service if a service deployment fails | `bool` | `false` | no |\n| \u003ca name=\"input_command\"\u003e\u003c/a\u003e [command](#input\\_command) | The command that is passed to the container | `list(string)` | `null` | no |\n| \u003ca name=\"input_container_cpu\"\u003e\u003c/a\u003e [container\\_cpu](#input\\_container\\_cpu) | The number of cpu units to reserve for the container. This is optional for tasks using Fargate launch type and the total amount of container\\_cpu of all containers in a task will need to be lower than the task-level cpu value | `number` | `null` | no |\n| \u003ca name=\"input_container_depends_on\"\u003e\u003c/a\u003e [container\\_depends\\_on](#input\\_container\\_depends\\_on) | The dependencies defined for container startup and shutdown. A container can contain multiple dependencies. When a dependency is defined for container startup, for container shutdown it is reversed. The condition can be one of START, COMPLETE, SUCCESS or HEALTHY | \u003cpre\u003elist(object({\u003cbr/\u003e    containerName = string\u003cbr/\u003e    condition     = string\u003cbr/\u003e  }))\u003c/pre\u003e | `[]` | no |\n| \u003ca name=\"input_container_image\"\u003e\u003c/a\u003e [container\\_image](#input\\_container\\_image) | The image used to start the container. Images in the Docker Hub registry available by default | `string` | n/a | yes |\n| \u003ca name=\"input_container_memory\"\u003e\u003c/a\u003e [container\\_memory](#input\\_container\\_memory) | The amount of memory (in MiB) to allow the container to use. This is a hard limit, if the container attempts to exceed the container\\_memory, the container is killed. This field is optional for Fargate launch type and the total amount of container\\_memory of all containers in a task will need to be lower than the task memory value | `number` | `null` | no |\n| \u003ca name=\"input_container_memory_reservation\"\u003e\u003c/a\u003e [container\\_memory\\_reservation](#input\\_container\\_memory\\_reservation) | The amount of memory (in MiB) to reserve for the container. If container needs to exceed this threshold, it can do so up to the set container\\_memory hard limit | `number` | `null` | no |\n| \u003ca name=\"input_container_port\"\u003e\u003c/a\u003e [container\\_port](#input\\_container\\_port) | The port on the container to associate with the load balancer | `number` | `80` | no |\n| \u003ca name=\"input_container_port_name\"\u003e\u003c/a\u003e [container\\_port\\_name](#input\\_container\\_port\\_name) | n/a | `string` | `\"default\"` | no |\n| \u003ca name=\"input_container_tag\"\u003e\u003c/a\u003e [container\\_tag](#input\\_container\\_tag) | n/a | `string` | `\"latest\"` | no |\n| \u003ca name=\"input_deployment_controller_type\"\u003e\u003c/a\u003e [deployment\\_controller\\_type](#input\\_deployment\\_controller\\_type) | Type of deployment controller. Valid values: `CODE_DEPLOY`, `ECS`. | `string` | `\"ECS\"` | no |\n| \u003ca name=\"input_deployment_maximum_percent\"\u003e\u003c/a\u003e [deployment\\_maximum\\_percent](#input\\_deployment\\_maximum\\_percent) | The upper limit of the number of tasks (as a percentage of `desired_count`) that can be running in a service during a deployment | `number` | `200` | no |\n| \u003ca name=\"input_deployment_minimum_healthy_percent\"\u003e\u003c/a\u003e [deployment\\_minimum\\_healthy\\_percent](#input\\_deployment\\_minimum\\_healthy\\_percent) | The lower limit (as a percentage of `desired_count`) of the number of tasks that must remain running and healthy in a service during a deployment | `number` | `100` | no |\n| \u003ca name=\"input_desired_count\"\u003e\u003c/a\u003e [desired\\_count](#input\\_desired\\_count) | The number of instances of the task definition to place and keep running | `number` | `1` | no |\n| \u003ca name=\"input_dns_servers\"\u003e\u003c/a\u003e [dns\\_servers](#input\\_dns\\_servers) | Container DNS servers. This is a list of strings specifying the IP addresses of the DNS servers | `list(string)` | `null` | no |\n| \u003ca name=\"input_docker_labels\"\u003e\u003c/a\u003e [docker\\_labels](#input\\_docker\\_labels) | The configuration options to send to the `docker_labels` | `map(string)` | `null` | no |\n| \u003ca name=\"input_docker_volumes\"\u003e\u003c/a\u003e [docker\\_volumes](#input\\_docker\\_volumes) | Task docker volume definitions as list of configuration objects. You cannot define both Docker volumes and EFS volumes on the same task definition. | \u003cpre\u003elist(object({\u003cbr/\u003e    host_path = string\u003cbr/\u003e    name      = string\u003cbr/\u003e    docker_volume_configuration = list(object({\u003cbr/\u003e      autoprovision = bool\u003cbr/\u003e      driver        = string\u003cbr/\u003e      driver_opts   = map(string)\u003cbr/\u003e      labels        = map(string)\u003cbr/\u003e      scope         = string\u003cbr/\u003e    }))\u003cbr/\u003e  }))\u003c/pre\u003e | `[]` | no |\n| \u003ca name=\"input_ecs_alarms_alarm_description\"\u003e\u003c/a\u003e [ecs\\_alarms\\_alarm\\_description](#input\\_ecs\\_alarms\\_alarm\\_description) | The string to format and use as the alarm description. | `string` | `\"Average service %v utilization %v last %d minute(s) over %v period(s)\"` | no |\n| \u003ca name=\"input_ecs_alarms_cpu_utilization_high_alarm_actions\"\u003e\u003c/a\u003e [ecs\\_alarms\\_cpu\\_utilization\\_high\\_alarm\\_actions](#input\\_ecs\\_alarms\\_cpu\\_utilization\\_high\\_alarm\\_actions) | A list of ARNs (i.e. SNS Topic ARN) to notify on CPU Utilization High Alarm action | `list(string)` | `[]` | no |\n| \u003ca name=\"input_ecs_alarms_cpu_utilization_high_evaluation_periods\"\u003e\u003c/a\u003e [ecs\\_alarms\\_cpu\\_utilization\\_high\\_evaluation\\_periods](#input\\_ecs\\_alarms\\_cpu\\_utilization\\_high\\_evaluation\\_periods) | Number of periods to evaluate for the alarm | `number` | `1` | no |\n| \u003ca name=\"input_ecs_alarms_cpu_utilization_high_ok_actions\"\u003e\u003c/a\u003e [ecs\\_alarms\\_cpu\\_utilization\\_high\\_ok\\_actions](#input\\_ecs\\_alarms\\_cpu\\_utilization\\_high\\_ok\\_actions) | A list of ARNs (i.e. SNS Topic ARN) to notify on CPU Utilization High OK action | `list(string)` | `[]` | no |\n| \u003ca name=\"input_ecs_alarms_cpu_utilization_high_period\"\u003e\u003c/a\u003e [ecs\\_alarms\\_cpu\\_utilization\\_high\\_period](#input\\_ecs\\_alarms\\_cpu\\_utilization\\_high\\_period) | Duration in seconds to evaluate for the alarm | `number` | `300` | no |\n| \u003ca name=\"input_ecs_alarms_cpu_utilization_high_threshold\"\u003e\u003c/a\u003e [ecs\\_alarms\\_cpu\\_utilization\\_high\\_threshold](#input\\_ecs\\_alarms\\_cpu\\_utilization\\_high\\_threshold) | The maximum percentage of CPU utilization average | `number` | `80` | no |\n| \u003ca name=\"input_ecs_alarms_cpu_utilization_low_alarm_actions\"\u003e\u003c/a\u003e [ecs\\_alarms\\_cpu\\_utilization\\_low\\_alarm\\_actions](#input\\_ecs\\_alarms\\_cpu\\_utilization\\_low\\_alarm\\_actions) | A list of ARNs (i.e. SNS Topic ARN) to notify on CPU Utilization Low Alarm action | `list(string)` | `[]` | no |\n| \u003ca name=\"input_ecs_alarms_cpu_utilization_low_evaluation_periods\"\u003e\u003c/a\u003e [ecs\\_alarms\\_cpu\\_utilization\\_low\\_evaluation\\_periods](#input\\_ecs\\_alarms\\_cpu\\_utilization\\_low\\_evaluation\\_periods) | Number of periods to evaluate for the alarm | `number` | `1` | no |\n| \u003ca name=\"input_ecs_alarms_cpu_utilization_low_ok_actions\"\u003e\u003c/a\u003e [ecs\\_alarms\\_cpu\\_utilization\\_low\\_ok\\_actions](#input\\_ecs\\_alarms\\_cpu\\_utilization\\_low\\_ok\\_actions) | A list of ARNs (i.e. SNS Topic ARN) to notify on CPU Utilization Low OK action | `list(string)` | `[]` | no |\n| \u003ca name=\"input_ecs_alarms_cpu_utilization_low_period\"\u003e\u003c/a\u003e [ecs\\_alarms\\_cpu\\_utilization\\_low\\_period](#input\\_ecs\\_alarms\\_cpu\\_utilization\\_low\\_period) | Duration in seconds to evaluate for the alarm | `number` | `300` | no |\n| \u003ca name=\"input_ecs_alarms_cpu_utilization_low_threshold\"\u003e\u003c/a\u003e [ecs\\_alarms\\_cpu\\_utilization\\_low\\_threshold](#input\\_ecs\\_alarms\\_cpu\\_utilization\\_low\\_threshold) | The minimum percentage of CPU utilization average | `number` | `20` | no |\n| \u003ca name=\"input_ecs_alarms_enabled\"\u003e\u003c/a\u003e [ecs\\_alarms\\_enabled](#input\\_ecs\\_alarms\\_enabled) | A boolean to enable/disable CloudWatch Alarms for ECS Service metrics | `bool` | `false` | no |\n| \u003ca name=\"input_ecs_alarms_memory_utilization_high_alarm_actions\"\u003e\u003c/a\u003e [ecs\\_alarms\\_memory\\_utilization\\_high\\_alarm\\_actions](#input\\_ecs\\_alarms\\_memory\\_utilization\\_high\\_alarm\\_actions) | A list of ARNs (i.e. SNS Topic ARN) to notify on Memory Utilization High Alarm action | `list(string)` | `[]` | no |\n| \u003ca name=\"input_ecs_alarms_memory_utilization_high_evaluation_periods\"\u003e\u003c/a\u003e [ecs\\_alarms\\_memory\\_utilization\\_high\\_evaluation\\_periods](#input\\_ecs\\_alarms\\_memory\\_utilization\\_high\\_evaluation\\_periods) | Number of periods to evaluate for the alarm | `number` | `1` | no |\n| \u003ca name=\"input_ecs_alarms_memory_utilization_high_ok_actions\"\u003e\u003c/a\u003e [ecs\\_alarms\\_memory\\_utilization\\_high\\_ok\\_actions](#input\\_ecs\\_alarms\\_memory\\_utilization\\_high\\_ok\\_actions) | A list of ARNs (i.e. SNS Topic ARN) to notify on Memory Utilization High OK action | `list(string)` | `[]` | no |\n| \u003ca name=\"input_ecs_alarms_memory_utilization_high_period\"\u003e\u003c/a\u003e [ecs\\_alarms\\_memory\\_utilization\\_high\\_period](#input\\_ecs\\_alarms\\_memory\\_utilization\\_high\\_period) | Duration in seconds to evaluate for the alarm | `number` | `300` | no |\n| \u003ca name=\"input_ecs_alarms_memory_utilization_high_threshold\"\u003e\u003c/a\u003e [ecs\\_alarms\\_memory\\_utilization\\_high\\_threshold](#input\\_ecs\\_alarms\\_memory\\_utilization\\_high\\_threshold) | The maximum percentage of Memory utilization average | `number` | `80` | no |\n| \u003ca name=\"input_ecs_alarms_memory_utilization_low_alarm_actions\"\u003e\u003c/a\u003e [ecs\\_alarms\\_memory\\_utilization\\_low\\_alarm\\_actions](#input\\_ecs\\_alarms\\_memory\\_utilization\\_low\\_alarm\\_actions) | A list of ARNs (i.e. SNS Topic ARN) to notify on Memory Utilization Low Alarm action | `list(string)` | `[]` | no |\n| \u003ca name=\"input_ecs_alarms_memory_utilization_low_evaluation_periods\"\u003e\u003c/a\u003e [ecs\\_alarms\\_memory\\_utilization\\_low\\_evaluation\\_periods](#input\\_ecs\\_alarms\\_memory\\_utilization\\_low\\_evaluation\\_periods) | Number of periods to evaluate for the alarm | `number` | `1` | no |\n| \u003ca name=\"input_ecs_alarms_memory_utilization_low_ok_actions\"\u003e\u003c/a\u003e [ecs\\_alarms\\_memory\\_utilization\\_low\\_ok\\_actions](#input\\_ecs\\_alarms\\_memory\\_utilization\\_low\\_ok\\_actions) | A list of ARNs (i.e. SNS Topic ARN) to notify on Memory Utilization Low OK action | `list(string)` | `[]` | no |\n| \u003ca name=\"input_ecs_alarms_memory_utilization_low_period\"\u003e\u003c/a\u003e [ecs\\_alarms\\_memory\\_utilization\\_low\\_period](#input\\_ecs\\_alarms\\_memory\\_utilization\\_low\\_period) | Duration in seconds to evaluate for the alarm | `number` | `300` | no |\n| \u003ca name=\"input_ecs_alarms_memory_utilization_low_threshold\"\u003e\u003c/a\u003e [ecs\\_alarms\\_memory\\_utilization\\_low\\_threshold](#input\\_ecs\\_alarms\\_memory\\_utilization\\_low\\_threshold) | The minimum percentage of Memory utilization average | `number` | `20` | no |\n| \u003ca name=\"input_ecs_cluster_arn\"\u003e\u003c/a\u003e [ecs\\_cluster\\_arn](#input\\_ecs\\_cluster\\_arn) | The ARN of the ECS cluster where service will be provisioned | `string` | n/a | yes |\n| \u003ca name=\"input_ecs_cluster_name\"\u003e\u003c/a\u003e [ecs\\_cluster\\_name](#input\\_ecs\\_cluster\\_name) | The Name of the ECS cluster where service will be provisioned. Required for alarms. | `string` | `\"\"` | no |\n| \u003ca name=\"input_ecs_default_alb_enabled\"\u003e\u003c/a\u003e [ecs\\_default\\_alb\\_enabled](#input\\_ecs\\_default\\_alb\\_enabled) | Whether to create default load balancer configuration with attached provided ALB Target group to main container. Requires setting `alb_target_group_arn` variable. | `bool` | `true` | no |\n| \u003ca name=\"input_ecs_load_balancers\"\u003e\u003c/a\u003e [ecs\\_load\\_balancers](#input\\_ecs\\_load\\_balancers) | A list of load balancer config objects for the ECS service; see `load_balancer` docs https://www.terraform.io/docs/providers/aws/r/ecs_service.html | \u003cpre\u003elist(object({\u003cbr/\u003e    container_name   = string\u003cbr/\u003e    container_port   = number\u003cbr/\u003e    elb_name         = string\u003cbr/\u003e    target_group_arn = string\u003cbr/\u003e  }))\u003c/pre\u003e | `[]` | no |\n| \u003ca name=\"input_efs_volumes\"\u003e\u003c/a\u003e [efs\\_volumes](#input\\_efs\\_volumes) | Task EFS volume definitions as list of configuration objects. You cannot define both Docker volumes and EFS volumes on the same task definition. | \u003cpre\u003elist(object({\u003cbr/\u003e    host_path = string\u003cbr/\u003e    name      = string\u003cbr/\u003e    efs_volume_configuration = list(object({\u003cbr/\u003e      file_system_id          = string\u003cbr/\u003e      root_directory          = string\u003cbr/\u003e      transit_encryption      = string\u003cbr/\u003e      transit_encryption_port = string\u003cbr/\u003e      authorization_config = list(object({\u003cbr/\u003e        access_point_id = string\u003cbr/\u003e        iam             = string\u003cbr/\u003e      }))\u003cbr/\u003e    }))\u003cbr/\u003e  }))\u003c/pre\u003e | `[]` | no |\n| \u003ca name=\"input_enable_ecs_managed_tags\"\u003e\u003c/a\u003e [enable\\_ecs\\_managed\\_tags](#input\\_enable\\_ecs\\_managed\\_tags) | Specifies whether to enable Amazon ECS managed tags for the tasks within the service | `bool` | `true` | no |\n| \u003ca name=\"input_entrypoint\"\u003e\u003c/a\u003e [entrypoint](#input\\_entrypoint) | The entry point that is passed to the container | `list(string)` | `null` | no |\n| \u003ca name=\"input_environment\"\u003e\u003c/a\u003e [environment](#input\\_environment) | Environment name | `string` | `\"\"` | no |\n| \u003ca name=\"input_envoy_health_check_start_period\"\u003e\u003c/a\u003e [envoy\\_health\\_check\\_start\\_period](#input\\_envoy\\_health\\_check\\_start\\_period) | when envoy container should start performing health checks | `number` | `null` | no |\n| \u003ca name=\"input_envs\"\u003e\u003c/a\u003e [envs](#input\\_envs) | The environment variables to pass to the container. This is a list of maps | \u003cpre\u003elist(object({\u003cbr/\u003e    name  = string\u003cbr/\u003e    value = string\u003cbr/\u003e  }))\u003c/pre\u003e | `[]` | no |\n| \u003ca name=\"input_essential\"\u003e\u003c/a\u003e [essential](#input\\_essential) | Determines whether all other containers in a task are stopped, if this container fails or stops for any reason. Due to how Terraform type casts booleans in json it is required to double quote this value | `bool` | `true` | no |\n| \u003ca name=\"input_exec_enabled\"\u003e\u003c/a\u003e [exec\\_enabled](#input\\_exec\\_enabled) | Specifies whether to enable Amazon ECS Exec for the tasks within the service | `bool` | `false` | no |\n| \u003ca name=\"input_extra_hosts\"\u003e\u003c/a\u003e [extra\\_hosts](#input\\_extra\\_hosts) | A list of hostnames and IP address mappings to append to the /etc/hosts file on the container. This is a list of maps | \u003cpre\u003elist(object({\u003cbr/\u003e    ipAddress = string\u003cbr/\u003e    hostname  = string\u003cbr/\u003e  }))\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_firelens_configuration\"\u003e\u003c/a\u003e [firelens\\_configuration](#input\\_firelens\\_configuration) | The FireLens configuration for the container. This is used to specify and configure a log router for container logs. For more details, see https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_FirelensConfiguration.html | \u003cpre\u003eobject({\u003cbr/\u003e    type    = string\u003cbr/\u003e    options = map(string)\u003cbr/\u003e  })\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_force_new_deployment\"\u003e\u003c/a\u003e [force\\_new\\_deployment](#input\\_force\\_new\\_deployment) | Enable to force a new task deployment of the service. | `bool` | `false` | no |\n| \u003ca name=\"input_health_check_grace_period_seconds\"\u003e\u003c/a\u003e [health\\_check\\_grace\\_period\\_seconds](#input\\_health\\_check\\_grace\\_period\\_seconds) | Seconds to ignore failing load balancer health checks on newly instantiated tasks to prevent premature shutdown, up to 7200. Only valid for services configured to use load balancers | `string` | `0` | no |\n| \u003ca name=\"input_healthcheck\"\u003e\u003c/a\u003e [healthcheck](#input\\_healthcheck) | A map containing command (string), timeout, interval (duration in seconds), retries (1-10, number of times to retry before marking container unhealthy), and startPeriod (0-300, optional grace period to wait, in seconds, before failed healthchecks count toward retries) | \u003cpre\u003eobject({\u003cbr/\u003e    command     = list(string)\u003cbr/\u003e    retries     = number\u003cbr/\u003e    timeout     = number\u003cbr/\u003e    interval    = number\u003cbr/\u003e    startPeriod = number\u003cbr/\u003e  })\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_ignore_changes_desired_count\"\u003e\u003c/a\u003e [ignore\\_changes\\_desired\\_count](#input\\_ignore\\_changes\\_desired\\_count) | Whether to ignore changes for desired count in the ECS service | `bool` | `false` | no |\n| \u003ca name=\"input_ignore_changes_task_definition\"\u003e\u003c/a\u003e [ignore\\_changes\\_task\\_definition](#input\\_ignore\\_changes\\_task\\_definition) | Whether to ignore changes in container definition and task definition in the ECS service | `bool` | `true` | no |\n| \u003ca name=\"input_launch_type\"\u003e\u003c/a\u003e [launch\\_type](#input\\_launch\\_type) | The launch type on which to run your service. Valid values are `EC2` and `FARGATE` | `string` | `\"FARGATE\"` | no |\n| \u003ca name=\"input_links\"\u003e\u003c/a\u003e [links](#input\\_links) | List of container names this container can communicate with without port mappings | `list(string)` | `null` | no |\n| \u003ca name=\"input_linux_parameters\"\u003e\u003c/a\u003e [linux\\_parameters](#input\\_linux\\_parameters) | Linux-specific modifications that are applied to the container, such as Linux kernel capabilities. For more details, see https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_LinuxParameters.html | \u003cpre\u003eobject({\u003cbr/\u003e    capabilities = object({\u003cbr/\u003e      add  = list(string)\u003cbr/\u003e      drop = list(string)\u003cbr/\u003e    })\u003cbr/\u003e    devices = list(object({\u003cbr/\u003e      containerPath = string\u003cbr/\u003e      hostPath      = string\u003cbr/\u003e      permissions   = list(string)\u003cbr/\u003e    }))\u003cbr/\u003e    initProcessEnabled = bool\u003cbr/\u003e    maxSwap            = number\u003cbr/\u003e    sharedMemorySize   = number\u003cbr/\u003e    swappiness         = number\u003cbr/\u003e    tmpfs = list(object({\u003cbr/\u003e      containerPath = string\u003cbr/\u003e      mountOptions  = list(string)\u003cbr/\u003e      size          = number\u003cbr/\u003e    }))\u003cbr/\u003e  })\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_log_configuration\"\u003e\u003c/a\u003e [log\\_configuration](#input\\_log\\_configuration) | Log configuration options to send to a custom log driver for the container. For more details, see https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_LogConfiguration.html | \u003cpre\u003eobject({\u003cbr/\u003e    logDriver = string\u003cbr/\u003e    options   = map(string)\u003cbr/\u003e    secretOptions = list(object({\u003cbr/\u003e      name      = string\u003cbr/\u003e      valueFrom = string\u003cbr/\u003e    }))\u003cbr/\u003e  })\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_log_retention\"\u003e\u003c/a\u003e [log\\_retention](#input\\_log\\_retention) | Specifies the number of days you want to retain log events in the specified log group. Option has no effect when custom \"log\\_configuration\" variable is specified. | `number` | `7` | no |\n| \u003ca name=\"input_logs_region\"\u003e\u003c/a\u003e [logs\\_region](#input\\_logs\\_region) | AWS Logs Region | `string` | n/a | yes |\n| \u003ca name=\"input_mount_points\"\u003e\u003c/a\u003e [mount\\_points](#input\\_mount\\_points) | Container mount points. This is a list of maps, where each map should contain a `containerPath` and `sourceVolume`. The `readOnly` key is optional. | `list(any)` | `[]` | no |\n| \u003ca name=\"input_name\"\u003e\u003c/a\u003e [name](#input\\_name) | Resource common name | `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 task. This is required to be `awsvpc` for `FARGATE` `launch_type` | `string` | `\"awsvpc\"` | no |\n| \u003ca name=\"input_ordered_placement_strategy\"\u003e\u003c/a\u003e [ordered\\_placement\\_strategy](#input\\_ordered\\_placement\\_strategy) | Service level strategy rules that are taken into consideration during task placement. List from top to bottom in order of precedence. The maximum number of ordered\\_placement\\_strategy blocks is 5. See `ordered_placement_strategy` docs https://www.terraform.io/docs/providers/aws/r/ecs_service.html#ordered_placement_strategy-1 | \u003cpre\u003elist(object({\u003cbr/\u003e    type  = string\u003cbr/\u003e    field = string\u003cbr/\u003e  }))\u003c/pre\u003e | `[]` | no |\n| \u003ca name=\"input_platform_version\"\u003e\u003c/a\u003e [platform\\_version](#input\\_platform\\_version) | The platform version on which to run your service. Only applicable for launch\\_type set to FARGATE. More information about Fargate platform versions can be found in the AWS ECS User Guide. | `string` | `\"1.4.0\"` | no |\n| \u003ca name=\"input_privileged\"\u003e\u003c/a\u003e [privileged](#input\\_privileged) | When this variable is `true`, the container is given elevated privileges on the host container instance (similar to the root user). This parameter is not supported for Windows containers or tasks using the Fargate launch type. Due to how Terraform type casts booleans in json it is required to double quote this value | `string` | `null` | no |\n| \u003ca name=\"input_project\"\u003e\u003c/a\u003e [project](#input\\_project) | Account/Project Name | `string` | n/a | yes |\n| \u003ca name=\"input_propagate_tags\"\u003e\u003c/a\u003e [propagate\\_tags](#input\\_propagate\\_tags) | Specifies whether to propagate the tags from the task definition or the service to the tasks. The valid values are SERVICE and TASK\\_DEFINITION. | `string` | `\"SERVICE\"` | no |\n| \u003ca name=\"input_proxy_configuration\"\u003e\u003c/a\u003e [proxy\\_configuration](#input\\_proxy\\_configuration) | The proxy configuration details for the App Mesh proxy. See `proxy_configuration` docs https://www.terraform.io/docs/providers/aws/r/ecs_task_definition.html#proxy-configuration-arguments | \u003cpre\u003eobject({\u003cbr/\u003e    type           = string\u003cbr/\u003e    container_name = string\u003cbr/\u003e    properties     = map(string)\u003cbr/\u003e  })\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_readonly_root_filesystem\"\u003e\u003c/a\u003e [readonly\\_root\\_filesystem](#input\\_readonly\\_root\\_filesystem) | Determines whether a container is given read-only access to its root filesystem. Due to how Terraform type casts booleans in json it is required to double quote this value | `bool` | `false` | no |\n| \u003ca name=\"input_redeploy_on_apply\"\u003e\u003c/a\u003e [redeploy\\_on\\_apply](#input\\_redeploy\\_on\\_apply) | Updates the service to the latest task definition on each apply | `bool` | `false` | no |\n| \u003ca name=\"input_repository_credentials\"\u003e\u003c/a\u003e [repository\\_credentials](#input\\_repository\\_credentials) | Container repository credentials; required when using a private repo.  This map currently supports a single key; \"credentialsParameter\", which should be the ARN of a Secrets Manager's secret holding the credentials | `map(string)` | `null` | no |\n| \u003ca name=\"input_runtime_platform\"\u003e\u003c/a\u003e [runtime\\_platform](#input\\_runtime\\_platform) | Zero or one runtime platform configurations that containers in your task may use.\u003cbr/\u003eMap of strings with optional keys `operating_system_family` and `cpu_architecture`.\u003cbr/\u003eSee `runtime_platform` docs https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ecs_task_definition#runtime_platform | `list(map(string))` | `[]` | no |\n| \u003ca name=\"input_scheduling_strategy\"\u003e\u003c/a\u003e [scheduling\\_strategy](#input\\_scheduling\\_strategy) | The scheduling strategy to use for the service. The valid values are REPLICA and DAEMON. Note that Fargate tasks do not support the DAEMON scheduling strategy. | `string` | `\"REPLICA\"` | no |\n| \u003ca name=\"input_secret_manager_enabled\"\u003e\u003c/a\u003e [secret\\_manager\\_enabled](#input\\_secret\\_manager\\_enabled) | Adds IAM Policy for reading secrets from Secrets Manager (use 'secretsmanager\\_secrets\\_resources' to limit access to the Secret managers resources) | `bool` | `false` | no |\n| \u003ca name=\"input_secrets\"\u003e\u003c/a\u003e [secrets](#input\\_secrets) | The secrets to pass to the container. This is a list of maps | \u003cpre\u003elist(object({\u003cbr/\u003e    name      = string\u003cbr/\u003e    valueFrom = string\u003cbr/\u003e  }))\u003c/pre\u003e | `[]` | no |\n| \u003ca name=\"input_secretsmanager_secrets_resources\"\u003e\u003c/a\u003e [secretsmanager\\_secrets\\_resources](#input\\_secretsmanager\\_secrets\\_resources) | Limit access to the Secrets Manager when 'secret\\_manager\\_enabled' is enabled. By default all resources are allowed to be read. | `list(string)` | \u003cpre\u003e[\u003cbr/\u003e  \"*\"\u003cbr/\u003e]\u003c/pre\u003e | no |\n| \u003ca name=\"input_security_group_description\"\u003e\u003c/a\u003e [security\\_group\\_description](#input\\_security\\_group\\_description) | The Security Group description. | `string` | `\"ECS service Security Group\"` | no |\n| \u003ca name=\"input_security_group_ids\"\u003e\u003c/a\u003e [security\\_group\\_ids](#input\\_security\\_group\\_ids) | Security group IDs to allow in Service `network_configuration` | `list(string)` | n/a | yes |\n| \u003ca name=\"input_security_group_rules\"\u003e\u003c/a\u003e [security\\_group\\_rules](#input\\_security\\_group\\_rules) | A list of maps of Security Group rules.\u003cbr/\u003eThe values of map is fully complated with `aws_security_group_rule` resource.\u003cbr/\u003eTo get more info see https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule . | `list(any)` | \u003cpre\u003e[\u003cbr/\u003e  {\u003cbr/\u003e    \"cidr_blocks\": [\u003cbr/\u003e      \"0.0.0.0/0\"\u003cbr/\u003e    ],\u003cbr/\u003e    \"description\": \"Allow all outbound traffic\",\u003cbr/\u003e    \"from_port\": 0,\u003cbr/\u003e    \"protocol\": -1,\u003cbr/\u003e    \"to_port\": 0,\u003cbr/\u003e    \"type\": \"egress\"\u003cbr/\u003e  },\u003cbr/\u003e  {\u003cbr/\u003e    \"cidr_blocks\": [\u003cbr/\u003e      \"0.0.0.0/0\"\u003cbr/\u003e    ],\u003cbr/\u003e    \"description\": \"Enables ping command from anywhere, see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html#sg-rules-ping\",\u003cbr/\u003e    \"from_port\": 8,\u003cbr/\u003e    \"protocol\": \"icmp\",\u003cbr/\u003e    \"to_port\": 0,\u003cbr/\u003e    \"type\": \"ingress\"\u003cbr/\u003e  }\u003cbr/\u003e]\u003c/pre\u003e | no |\n| \u003ca name=\"input_security_group_use_name_prefix\"\u003e\u003c/a\u003e [security\\_group\\_use\\_name\\_prefix](#input\\_security\\_group\\_use\\_name\\_prefix) | Whether to create a default Security Group with unique name beginning with the normalized prefix. | `bool` | `false` | no |\n| \u003ca name=\"input_service_connect_configurations\"\u003e\u003c/a\u003e [service\\_connect\\_configurations](#input\\_service\\_connect\\_configurations) | The list of Service Connect configurations.\u003cbr/\u003eSee `service_connect_configuration` docs https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ecs_service#service_connect_configuration | \u003cpre\u003elist(object({\u003cbr/\u003e    enabled   = bool\u003cbr/\u003e    namespace = optional(string, null)\u003cbr/\u003e    log_configuration = optional(object({\u003cbr/\u003e      log_driver = string\u003cbr/\u003e      options    = optional(map(string), null)\u003cbr/\u003e      secret_option = optional(list(object({\u003cbr/\u003e        name       = string\u003cbr/\u003e        value_from = string\u003cbr/\u003e      })), [])\u003cbr/\u003e    }), null)\u003cbr/\u003e    service = optional(list(object({\u003cbr/\u003e      client_alias = list(object({\u003cbr/\u003e        dns_name = string\u003cbr/\u003e        port     = number\u003cbr/\u003e      }))\u003cbr/\u003e      timeout = optional(list(object({\u003cbr/\u003e        idle_timeout_seconds        = optional(number, null)\u003cbr/\u003e        per_request_timeout_seconds = optional(number, null)\u003cbr/\u003e      })), [])\u003cbr/\u003e      tls = optional(list(object({\u003cbr/\u003e        kms_key  = optional(string, null)\u003cbr/\u003e        role_arn = optional(string, null)\u003cbr/\u003e        issuer_cert_authority = object({\u003cbr/\u003e          aws_pca_authority_arn = string\u003cbr/\u003e        })\u003cbr/\u003e      })), [])\u003cbr/\u003e      discovery_name        = optional(string, null)\u003cbr/\u003e      ingress_port_override = optional(number, null)\u003cbr/\u003e      port_name             = string\u003cbr/\u003e    })), [])\u003cbr/\u003e  }))\u003c/pre\u003e | `[]` | no |\n| \u003ca name=\"input_service_placement_constraints\"\u003e\u003c/a\u003e [service\\_placement\\_constraints](#input\\_service\\_placement\\_constraints) | The rules that are taken into consideration during task placement. Maximum number of placement\\_constraints is 10. See `placement_constraints` docs https://www.terraform.io/docs/providers/aws/r/ecs_service.html#placement_constraints-1 | \u003cpre\u003elist(object({\u003cbr/\u003e    type       = string\u003cbr/\u003e    expression = string\u003cbr/\u003e  }))\u003c/pre\u003e | `[]` | no |\n| \u003ca name=\"input_service_registries\"\u003e\u003c/a\u003e [service\\_registries](#input\\_service\\_registries) | The service discovery registries for the service. The maximum number of service\\_registries blocks is 1. The currently supported service registry is Amazon Route 53 Auto Naming Service - `aws_service_discovery_service`; see `service_registries` docs https://www.terraform.io/docs/providers/aws/r/ecs_service.html#service_registries-1 | \u003cpre\u003elist(object({\u003cbr/\u003e    registry_arn   = string\u003cbr/\u003e    port           = number\u003cbr/\u003e    container_name = string\u003cbr/\u003e    container_port = number\u003cbr/\u003e  }))\u003c/pre\u003e | `[]` | no |\n| \u003ca name=\"input_ssm_secrets_enabled\"\u003e\u003c/a\u003e [ssm\\_secrets\\_enabled](#input\\_ssm\\_secrets\\_enabled) | Adds IAM Policy for reading secrets from Systems Manager Paramameter Store (use 'ssm\\_secrets\\_resources' to limit access to the SSM resources) | `bool` | `false` | no |\n| \u003ca name=\"input_ssm_secrets_resources\"\u003e\u003c/a\u003e [ssm\\_secrets\\_resources](#input\\_ssm\\_secrets\\_resources) | Limit access to the SSM Parameters when 'enable\\_secrets\\_from\\_ssm' is enabled. By default all resources are allowed to be read. | `list(string)` | \u003cpre\u003e[\u003cbr/\u003e  \"*\"\u003cbr/\u003e]\u003c/pre\u003e | no |\n| \u003ca name=\"input_start_timeout\"\u003e\u003c/a\u003e [start\\_timeout](#input\\_start\\_timeout) | Time duration (in seconds) to wait before giving up on resolving dependencies for a container | `number` | `30` | no |\n| \u003ca name=\"input_stop_timeout\"\u003e\u003c/a\u003e [stop\\_timeout](#input\\_stop\\_timeout) | Time duration (in seconds) to wait before the container is forcefully killed if it doesn't exit normally on its own | `number` | `30` | no |\n| \u003ca name=\"input_subnet_ids\"\u003e\u003c/a\u003e [subnet\\_ids](#input\\_subnet\\_ids) | Subnet IDs | `list(string)` | n/a | yes |\n| \u003ca name=\"input_system_controls\"\u003e\u003c/a\u003e [system\\_controls](#input\\_system\\_controls) | A list of namespaced kernel parameters to set in the container, mapping to the --sysctl option to docker run. This is a list of maps: { namespace = \"\", value = \"\"} | `list(map(string))` | `null` | no |\n| \u003ca name=\"input_tags\"\u003e\u003c/a\u003e [tags](#input\\_tags) | Tags to apply on repository | `map(string)` | `{}` | no |\n| \u003ca name=\"input_task_cpu\"\u003e\u003c/a\u003e [task\\_cpu](#input\\_task\\_cpu) | The number of CPU units used by the task. If using `FARGATE` launch type `task_cpu` must match supported memory values (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#task_size) | `number` | `256` | no |\n| \u003ca name=\"input_task_memory\"\u003e\u003c/a\u003e [task\\_memory](#input\\_task\\_memory) | The amount of memory (in MiB) used by the task. If using Fargate launch type `task_memory` must match supported cpu value (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#task_size) | `number` | `512` | no |\n| \u003ca name=\"input_task_placement_constraints\"\u003e\u003c/a\u003e [task\\_placement\\_constraints](#input\\_task\\_placement\\_constraints) | A set of placement constraints rules that are taken into consideration during task placement. Maximum number of placement\\_constraints is 10. See `placement_constraints` docs https://www.terraform.io/docs/providers/aws/r/ecs_task_definition.html#placement-constraints-arguments | \u003cpre\u003elist(object({\u003cbr/\u003e    type       = string\u003cbr/\u003e    expression = string\u003cbr/\u003e  }))\u003c/pre\u003e | `[]` | no |\n| \u003ca name=\"input_task_role_arn\"\u003e\u003c/a\u003e [task\\_role\\_arn](#input\\_task\\_role\\_arn) | A `list(string)` of zero or one ARNs of IAM roles that allows\u003cbr/\u003eyour Amazon ECS container task to make calls to other AWS services.\u003cbr/\u003eIf the list is empty, a role will be created for you.\u003cbr/\u003eDEPRECATED: you can also pass a `string` with the ARN, but that\u003cbr/\u003estring must be known a \"plan\" time. | `any` | `[]` | no |\n| \u003ca name=\"input_ulimits\"\u003e\u003c/a\u003e [ulimits](#input\\_ulimits) | Container ulimit settings. This is a list of maps, where each map should contain \"name\", \"hardLimit\" and \"softLimit\" | \u003cpre\u003elist(object({\u003cbr/\u003e    name      = string\u003cbr/\u003e    hardLimit = number\u003cbr/\u003e    softLimit = number\u003cbr/\u003e  }))\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_user\"\u003e\u003c/a\u003e [user](#input\\_user) | The user to run as inside the container. Can be any of these formats: user, user:group, uid, uid:gid, user:gid, uid:group | `string` | `null` | no |\n| \u003ca name=\"input_volumes_from\"\u003e\u003c/a\u003e [volumes\\_from](#input\\_volumes\\_from) | A list of VolumesFrom maps which contain \"sourceContainer\" (name of the container that has the volumes to mount) and \"readOnly\" (whether the container can write to the volume) | \u003cpre\u003elist(object({\u003cbr/\u003e    sourceContainer = string\u003cbr/\u003e    readOnly        = bool\u003cbr/\u003e  }))\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_vpc_id\"\u003e\u003c/a\u003e [vpc\\_id](#input\\_vpc\\_id) | The VPC ID where resources are created | `string` | n/a | yes |\n| \u003ca name=\"input_working_directory\"\u003e\u003c/a\u003e [working\\_directory](#input\\_working\\_directory) | The working directory to run commands inside the container | `string` | `null` | no |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_container_name\"\u003e\u003c/a\u003e [container\\_name](#output\\_container\\_name) | ECS task container name |\n| \u003ca name=\"output_ecs_exec_role_policy_id\"\u003e\u003c/a\u003e [ecs\\_exec\\_role\\_policy\\_id](#output\\_ecs\\_exec\\_role\\_policy\\_id) | The ECS service role policy ID, in the form of role\\_name:role\\_policy\\_name |\n| \u003ca name=\"output_ecs_exec_role_policy_name\"\u003e\u003c/a\u003e [ecs\\_exec\\_role\\_policy\\_name](#output\\_ecs\\_exec\\_role\\_policy\\_name) | ECS service role name |\n| \u003ca name=\"output_log_group_arn\"\u003e\u003c/a\u003e [log\\_group\\_arn](#output\\_log\\_group\\_arn) | The Amazon Resource Name (ARN) specifying the log group |\n| \u003ca name=\"output_log_group_name\"\u003e\u003c/a\u003e [log\\_group\\_name](#output\\_log\\_group\\_name) | The name of the log group |\n| \u003ca name=\"output_service_arn\"\u003e\u003c/a\u003e [service\\_arn](#output\\_service\\_arn) | n/a |\n| \u003ca name=\"output_service_name\"\u003e\u003c/a\u003e [service\\_name](#output\\_service\\_name) | ECS Service name |\n| \u003ca name=\"output_service_role_arn\"\u003e\u003c/a\u003e [service\\_role\\_arn](#output\\_service\\_role\\_arn) | ECS Service role ARN |\n| \u003ca name=\"output_task_definition_arn\"\u003e\u003c/a\u003e [task\\_definition\\_arn](#output\\_task\\_definition\\_arn) | ECS task definition ARN |\n| \u003ca name=\"output_task_definition_arn_without_revision\"\u003e\u003c/a\u003e [task\\_definition\\_arn\\_without\\_revision](#output\\_task\\_definition\\_arn\\_without\\_revision) | ECS task definition ARN without revision |\n| \u003ca name=\"output_task_definition_family\"\u003e\u003c/a\u003e [task\\_definition\\_family](#output\\_task\\_definition\\_family) | ECS task definition family |\n| \u003ca name=\"output_task_definition_revision\"\u003e\u003c/a\u003e [task\\_definition\\_revision](#output\\_task\\_definition\\_revision) | ECS task definition revision |\n| \u003ca name=\"output_task_exec_role_arn\"\u003e\u003c/a\u003e [task\\_exec\\_role\\_arn](#output\\_task\\_exec\\_role\\_arn) | ECS Task exec role ARN |\n| \u003ca name=\"output_task_exec_role_name\"\u003e\u003c/a\u003e [task\\_exec\\_role\\_name](#output\\_task\\_exec\\_role\\_name) | ECS Task role name |\n| \u003ca name=\"output_task_role_arn\"\u003e\u003c/a\u003e [task\\_role\\_arn](#output\\_task\\_role\\_arn) | ECS Task role ARN |\n| \u003ca name=\"output_task_role_name\"\u003e\u003c/a\u003e [task\\_role\\_name](#output\\_task\\_role\\_name) | ECS Task role name |\n\u003c!-- markdownlint-restore --\u003e\n\n\n## Related Projects\n\nCheck out these related projects.\n\n\n\n## License\n\n\u003ca href=\"https://opensource.org/licenses/MIT\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge\" alt=\"License: MIT\"\u003e\u003c/a\u003e\n\n```text\nThe MIT License (MIT)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\nSource: \u003chttps://opensource.org/licenses/MIT\u003e\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiquido%2Fterraform-ecs-alb-task","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmiquido%2Fterraform-ecs-alb-task","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiquido%2Fterraform-ecs-alb-task/lists"}