## Requirements | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >=1.2, ~>1.4 | | [aws](#requirement\_aws) | >=4.0 | | [docker](#requirement\_docker) | ~>2.22.0 | | [external](#requirement\_external) | ~>2.2.2 | | [jq](#requirement\_jq) | ~>0.2.1 | | [local](#requirement\_local) | ~>2.2.3 | | [null](#requirement\_null) | ~>3.2.0 | | [random](#requirement\_random) | ~>3.4.3 | ## Providers | Name | Version | |------|---------| | [aws](#provider\_aws) | 5.9.0 | | [external](#provider\_external) | 2.2.3 | | [local](#provider\_local) | 2.2.3 | | [null](#provider\_null) | 3.2.1 | | [random](#provider\_random) | 3.4.3 | ## Modules | Name | Source | Version | |------|--------|---------| | [acm](#module\_acm) | terraform-aws-modules/acm/aws | ~>4.3.1 | | [docker\_image](#module\_docker\_image) | terraform-aws-modules/lambda/aws//modules/docker-build | ~>4.7.1 | | [ecs](#module\_ecs) | terraform-aws-modules/ecs/aws | >=4.1.1 | | [endpoints](#module\_endpoints) | terraform-aws-modules/vpc/aws//modules/vpc-endpoints | ~>3.18.1 | | [load\_balancer](#module\_load\_balancer) | terraform-aws-modules/alb/aws | >=8.1.0 | | [vpc](#module\_vpc) | terraform-aws-modules/vpc/aws | >=3.18.0 | ## Resources | Name | Type | |------|------| | [aws_appautoscaling_policy.ecs_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/appautoscaling_policy) | resource | | [aws_appautoscaling_target.ecs_target](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/appautoscaling_target) | resource | | [aws_ecr_repository_policy.ecr_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ecr_repository_policy) | resource | | [aws_ecs_service.nginx](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ecs_service) | resource | | [aws_ecs_task_definition.app](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ecs_task_definition) | resource | | [aws_iam_policy.ecs_service](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource | | [aws_iam_policy.fargate_task](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource | | [aws_iam_role.ecs_service](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource | | [aws_iam_role.fargate_task](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource | | [aws_iam_role_policy_attachment.ecs_service](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource | | [aws_iam_role_policy_attachment.ecs_service_managed_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource | | [aws_iam_role_policy_attachment.fargate_task](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource | | [aws_iam_role_policy_attachment.fargate_task_managed_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource | | [aws_lb_listener.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener) | resource | | [aws_lb_listener_certificate.load_balancer](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener_certificate) | resource | | [aws_route53_record.api](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route53_record) | resource | | [aws_route53_zone.private](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route53_zone) | resource | | [aws_security_group.alb](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group) | resource | | [aws_security_group.fg](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group) | resource | | [aws_security_group.vpc_endpoints](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group) | resource | | [aws_security_group_rule.fg_ingress](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource | | [local_file.output](https://registry.terraform.io/providers/hashicorp/local/latest/docs/resources/file) | resource | | [null_resource.enable_vpc_dns](https://registry.terraform.io/providers/hashicorp/null/latest/docs/resources/resource) | resource | | [null_resource.proxy_config](https://registry.terraform.io/providers/hashicorp/null/latest/docs/resources/resource) | resource | | [random_string.image_tag](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string) | resource | | [random_string.repo_suffix](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string) | resource | | [aws_availability_zones.available](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/availability_zones) | data source | | [aws_caller_identity.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) | data source | | [aws_ecr_authorization_token.token](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ecr_authorization_token) | data source | | [aws_iam_policy.ecs](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy) | data source | | [aws_iam_policy_document.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source | | [aws_partition.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/partition) | data source | | [aws_prefix_list.s3](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/prefix_list) | data source | | [aws_region.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/region) | data source | | [aws_route53_zone.selected](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/route53_zone) | data source | | [aws_route_tables.selected](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/route_tables) | data source | | [aws_security_group.endpoints](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/security_group) | data source | | [aws_security_group.fg](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/security_group) | data source | | [aws_vpc.selected](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/vpc) | data source | | [aws_vpc_endpoint_service.s3](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/vpc_endpoint_service) | data source | | [external_external.existing_endpoint](https://registry.terraform.io/providers/hashicorp/external/latest/docs/data-sources/external) | data source | ## Inputs | Name | Description | Type | Default | Required | |------|-------------|------|---------|:--------:| | [app\_environment](#input\_app\_environment) | The Deployment environment | `string` | n/a | yes | | [app\_name](#input\_app\_name) | Application prefix | `string` | n/a | yes | | [create\_vpc](#input\_create\_vpc) | n/a | `bool` | `true` | no | | [elb\_type](#input\_elb\_type) | Load balancer type [ALB\|NLB] | `string` | `"NLB"` | no | | [external\_alb\_sg\_id](#input\_external\_alb\_sg\_id) | n/a | `string` | `null` | no | | [external\_endpoint\_sg\_id](#input\_external\_endpoint\_sg\_id) | n/a | `string` | `null` | no | | [external\_fargate\_sg\_id](#input\_external\_fargate\_sg\_id) | n/a | `string` | `null` | no | | [external\_private\_subnets\_id](#input\_external\_private\_subnets\_id) | n/a | `list(string)` | `[]` | no | | [external\_vpc\_id](#input\_external\_vpc\_id) | n/a | `string` | `null` | no | | [proxy\_config\_path](#input\_proxy\_config\_path) | n/a | `string` | `"../config/proxy-config.yaml"` | no | | [public\_subnets](#input\_public\_subnets) | n/a | `bool` | `false` | no | | [task\_image](#input\_task\_image) | Image reference for nginx ECS task | `string` | `"amazonlinux"` | no | | [task\_image\_tag](#input\_task\_image\_tag) | n/a | `string` | `"2"` | no | | [task\_platform](#input\_task\_platform) | CPU platform for ECS task. | `string` | `"ARM64"` | no | | [task\_scale\_cpu\_pct](#input\_task\_scale\_cpu\_pct) | CPU usage percentage that will cause ECS to increase the task count. | `number` | `80` | no | | [task\_scale\_max](#input\_task\_scale\_max) | Maximum NGINX tasks | `number` | `4` | no | | [task\_scale\_min](#input\_task\_scale\_min) | Minimum NGINX tasks | `number` | `1` | no | | [vpc\_cidr](#input\_vpc\_cidr) | n/a | `string` | `"10.0.0.0/16"` | no | ## Outputs No outputs.