{"id":19188789,"url":"https://github.com/miquido/terraform-alb","last_synced_at":"2026-02-26T09:53:09.978Z","repository":{"id":195054539,"uuid":"690896912","full_name":"miquido/terraform-alb","owner":"miquido","description":null,"archived":false,"fork":false,"pushed_at":"2024-12-05T17:19:25.000Z","size":51,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"dependabot-terraform-cloudposse-alb-aws-1.10.0","last_synced_at":"2025-01-04T06:16:59.442Z","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}},"created_at":"2023-09-13T05:26:51.000Z","updated_at":"2023-09-13T05:34:11.000Z","dependencies_parsed_at":"2024-11-09T11:27:26.619Z","dependency_job_id":"c13a370e-10b3-40c9-a4b5-e6d91e68d6de","html_url":"https://github.com/miquido/terraform-alb","commit_stats":null,"previous_names":["miquido/terraform-alb"],"tags_count":30,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miquido%2Fterraform-alb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miquido%2Fterraform-alb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miquido%2Fterraform-alb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miquido%2Fterraform-alb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/miquido","download_url":"https://codeload.github.com/miquido/terraform-alb/tar.gz/refs/heads/dependabot-terraform-cloudposse-alb-aws-1.10.0","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240266843,"owners_count":19774072,"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":[],"created_at":"2024-11-09T11:26:03.027Z","updated_at":"2026-02-26T09:53:04.930Z","avatar_url":"https://github.com/miquido.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- This file was automatically generated by the `build-harness`. Make all changes to `README.yaml` and run `make readme` to rebuild this file. --\u003e\n[![Miquido][logo]](https://www.miquido.com/)\n\n# miquido-terraform-alb\nThis module Application Load Balancer along with AWS ACM TLS/SSL certificate via ACM Request\n---\n**Terraform Module**\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 |\n| \u003ca name=\"requirement_aws\"\u003e\u003c/a\u003e [aws](#requirement\\_aws) | ~\u003e 4.7 |\n| \u003ca name=\"requirement_local\"\u003e\u003c/a\u003e [local](#requirement\\_local) | \u003e= 1.3 |\n| \u003ca name=\"requirement_null\"\u003e\u003c/a\u003e [null](#requirement\\_null) | \u003e= 2.0 |\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_alb\"\u003e\u003c/a\u003e [alb](#module\\_alb) | cloudposse/alb/aws | 1.10.0 |\n\n## Resources\n\n| Name | Type |\n|------|------|\n| [aws_lb_listener_rule.redirect_http_to_https](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener_rule) | resource |\n| [aws_s3_bucket_public_access_block.alb-logs](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_public_access_block) | resource |\n| [aws_security_group_rule.allow-http-ipv6](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.allow-https-ipv6](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_access_logs_enabled\"\u003e\u003c/a\u003e [access\\_logs\\_enabled](#input\\_access\\_logs\\_enabled) | A boolean flag to enable/disable access\\_logs | `bool` | `true` | no |\n| \u003ca name=\"input_access_logs_prefix\"\u003e\u003c/a\u003e [access\\_logs\\_prefix](#input\\_access\\_logs\\_prefix) | The S3 log bucket prefix | `string` | `\"\"` | no |\n| \u003ca name=\"input_access_logs_s3_bucket_force_destroy\"\u003e\u003c/a\u003e [access\\_logs\\_s3\\_bucket\\_force\\_destroy](#input\\_access\\_logs\\_s3\\_bucket\\_force\\_destroy) | A boolean that indicates all objects should be deleted from the ALB access logs S3 bucket so that the bucket can be destroyed without error | `bool` | `false` | no |\n| \u003ca name=\"input_acm_certificate_arn\"\u003e\u003c/a\u003e [acm\\_certificate\\_arn](#input\\_acm\\_certificate\\_arn) | The ARN of the default SSL certificate for HTTPS listener. Required if `https_enabled` is true. | `string` | `\"\"` | no |\n| \u003ca name=\"input_additional_certs\"\u003e\u003c/a\u003e [additional\\_certs](#input\\_additional\\_certs) | A list of additonal certs to add to the https listerner | `list(string)` | `[]` | no |\n| \u003ca name=\"input_cross_zone_load_balancing_enabled\"\u003e\u003c/a\u003e [cross\\_zone\\_load\\_balancing\\_enabled](#input\\_cross\\_zone\\_load\\_balancing\\_enabled) | A boolean flag to enable/disable cross zone load balancing | `bool` | `false` | no |\n| \u003ca name=\"input_deletion_protection_enabled\"\u003e\u003c/a\u003e [deletion\\_protection\\_enabled](#input\\_deletion\\_protection\\_enabled) | A boolean flag to enable/disable deletion protection for ALB | `bool` | `false` | no |\n| \u003ca name=\"input_deregistration_delay\"\u003e\u003c/a\u003e [deregistration\\_delay](#input\\_deregistration\\_delay) | The amount of time to wait in seconds before changing the state of a deregistering target to unused | `number` | `15` | no |\n| \u003ca name=\"input_domain\"\u003e\u003c/a\u003e [domain](#input\\_domain) | Domain to request ACM certificate for root domain and wildcard SAN | `string` | `\"\"` | no |\n| \u003ca name=\"input_enable_redirect_http_to_https\"\u003e\u003c/a\u003e [enable\\_redirect\\_http\\_to\\_https](#input\\_enable\\_redirect\\_http\\_to\\_https) | Attach rule to HTTP listener that redirects | `bool` | `false` | no |\n| \u003ca name=\"input_environment\"\u003e\u003c/a\u003e [environment](#input\\_environment) | Environment name | `string` | `\"\"` | no |\n| \u003ca name=\"input_health_check_healthy_threshold\"\u003e\u003c/a\u003e [health\\_check\\_healthy\\_threshold](#input\\_health\\_check\\_healthy\\_threshold) | The number of consecutive health checks successes required before considering an unhealthy target healthy | `number` | `2` | no |\n| \u003ca name=\"input_health_check_interval\"\u003e\u003c/a\u003e [health\\_check\\_interval](#input\\_health\\_check\\_interval) | The duration in seconds in between health checks | `number` | `15` | no |\n| \u003ca name=\"input_health_check_matcher\"\u003e\u003c/a\u003e [health\\_check\\_matcher](#input\\_health\\_check\\_matcher) | The HTTP response codes to indicate a healthy check | `string` | `\"200-399\"` | no |\n| \u003ca name=\"input_health_check_path\"\u003e\u003c/a\u003e [health\\_check\\_path](#input\\_health\\_check\\_path) | The destination for the health check request | `string` | `\"/\"` | no |\n| \u003ca name=\"input_health_check_timeout\"\u003e\u003c/a\u003e [health\\_check\\_timeout](#input\\_health\\_check\\_timeout) | The amount of time to wait in seconds before failing a health check request | `number` | `10` | no |\n| \u003ca name=\"input_health_check_unhealthy_threshold\"\u003e\u003c/a\u003e [health\\_check\\_unhealthy\\_threshold](#input\\_health\\_check\\_unhealthy\\_threshold) | The number of consecutive health check failures required before considering the target unhealthy | `number` | `2` | no |\n| \u003ca name=\"input_http2_enabled\"\u003e\u003c/a\u003e [http2\\_enabled](#input\\_http2\\_enabled) | A boolean flag to enable/disable HTTP/2 | `bool` | `true` | no |\n| \u003ca name=\"input_http_enabled\"\u003e\u003c/a\u003e [http\\_enabled](#input\\_http\\_enabled) | A boolean flag to enable/disable HTTP listener | `bool` | `true` | no |\n| \u003ca name=\"input_http_ingress_cidr_blocks\"\u003e\u003c/a\u003e [http\\_ingress\\_cidr\\_blocks](#input\\_http\\_ingress\\_cidr\\_blocks) | List of CIDR blocks to allow in HTTP security group | `list(string)` | \u003cpre\u003e[\u003cbr\u003e  \"0.0.0.0/0\"\u003cbr\u003e]\u003c/pre\u003e | no |\n| \u003ca name=\"input_http_ingress_ipv6_cidr_blocks\"\u003e\u003c/a\u003e [http\\_ingress\\_ipv6\\_cidr\\_blocks](#input\\_http\\_ingress\\_ipv6\\_cidr\\_blocks) | List of IPv6 CIDR blocks to allow in HTTP security group | `list(string)` | \u003cpre\u003e[\u003cbr\u003e  \"::/0\"\u003cbr\u003e]\u003c/pre\u003e | no |\n| \u003ca name=\"input_http_ingress_prefix_list_ids\"\u003e\u003c/a\u003e [http\\_ingress\\_prefix\\_list\\_ids](#input\\_http\\_ingress\\_prefix\\_list\\_ids) | List of prefix list IDs for allowing access to HTTP ingress security group | `list(string)` | `[]` | no |\n| \u003ca name=\"input_http_port\"\u003e\u003c/a\u003e [http\\_port](#input\\_http\\_port) | The port for the HTTP listener | `number` | `80` | no |\n| \u003ca name=\"input_https_enabled\"\u003e\u003c/a\u003e [https\\_enabled](#input\\_https\\_enabled) | A boolean flag to enable/disable HTTPS listener | `bool` | `true` | no |\n| \u003ca name=\"input_https_ingress_cidr_blocks\"\u003e\u003c/a\u003e [https\\_ingress\\_cidr\\_blocks](#input\\_https\\_ingress\\_cidr\\_blocks) | List of CIDR blocks to allow in HTTPS security group | `list(string)` | \u003cpre\u003e[\u003cbr\u003e  \"0.0.0.0/0\"\u003cbr\u003e]\u003c/pre\u003e | no |\n| \u003ca name=\"input_https_ingress_ipv6_cidr_blocks\"\u003e\u003c/a\u003e [https\\_ingress\\_ipv6\\_cidr\\_blocks](#input\\_https\\_ingress\\_ipv6\\_cidr\\_blocks) | List of IPv6 CIDR blocks to allow in HTTPS security group | `list(string)` | \u003cpre\u003e[\u003cbr\u003e  \"::/0\"\u003cbr\u003e]\u003c/pre\u003e | no |\n| \u003ca name=\"input_https_ingress_prefix_list_ids\"\u003e\u003c/a\u003e [https\\_ingress\\_prefix\\_list\\_ids](#input\\_https\\_ingress\\_prefix\\_list\\_ids) | List of prefix list IDs for allowing access to HTTPS ingress security group | `list(string)` | `[]` | no |\n| \u003ca name=\"input_https_port\"\u003e\u003c/a\u003e [https\\_port](#input\\_https\\_port) | The port for the HTTPS listener | `number` | `443` | no |\n| \u003ca name=\"input_https_ssl_policy\"\u003e\u003c/a\u003e [https\\_ssl\\_policy](#input\\_https\\_ssl\\_policy) | The name of the SSL Policy for the listener | `string` | `\"ELBSecurityPolicy-2016-08\"` | no |\n| \u003ca name=\"input_idle_timeout\"\u003e\u003c/a\u003e [idle\\_timeout](#input\\_idle\\_timeout) | The time in seconds that the connection is allowed to be idle | `number` | `60` | no |\n| \u003ca name=\"input_internal\"\u003e\u003c/a\u003e [internal](#input\\_internal) | A boolean flag to determine whether the ALB should be internal | `bool` | `false` | no |\n| \u003ca name=\"input_ip_address_type\"\u003e\u003c/a\u003e [ip\\_address\\_type](#input\\_ip\\_address\\_type) | The type of IP addresses used by the subnets for your load balancer. The possible values are `ipv4` and `dualstack`. | `string` | `\"ipv4\"` | no |\n| \u003ca name=\"input_name\"\u003e\u003c/a\u003e [name](#input\\_name) | Resource common name | `string` | n/a | yes |\n| \u003ca name=\"input_project\"\u003e\u003c/a\u003e [project](#input\\_project) | Account/Project Name | `string` | n/a | yes |\n| \u003ca name=\"input_redirect_http_to_https_priority\"\u003e\u003c/a\u003e [redirect\\_http\\_to\\_https\\_priority](#input\\_redirect\\_http\\_to\\_https\\_priority) | HTTP Listener Rule priority | `number` | `5` | no |\n| \u003ca name=\"input_redirect_http_to_https_status_code\"\u003e\u003c/a\u003e [redirect\\_http\\_to\\_https\\_status\\_code](#input\\_redirect\\_http\\_to\\_https\\_status\\_code) | The HTTP redirect code. The redirect is either permanent (HTTP\\_301) or temporary (HTTP\\_302) | `string` | `\"HTTP_301\"` | no |\n| \u003ca name=\"input_security_group_ids\"\u003e\u003c/a\u003e [security\\_group\\_ids](#input\\_security\\_group\\_ids) | A list of additional security group IDs to allow access to ALB | `list(string)` | `[]` | no |\n| \u003ca name=\"input_subnet_ids\"\u003e\u003c/a\u003e [subnet\\_ids](#input\\_subnet\\_ids) | A list of (typically public) subnet IDs to associate with ALB. | `list(string)` | n/a | yes |\n| \u003ca name=\"input_tags\"\u003e\u003c/a\u003e [tags](#input\\_tags) | Tags to apply on repository | `map(string)` | `{}` | no |\n| \u003ca name=\"input_target_group_additional_tags\"\u003e\u003c/a\u003e [target\\_group\\_additional\\_tags](#input\\_target\\_group\\_additional\\_tags) | The additional tags to apply to the target group | `map(string)` | `{}` | no |\n| \u003ca name=\"input_target_group_name\"\u003e\u003c/a\u003e [target\\_group\\_name](#input\\_target\\_group\\_name) | The name for the default target group, uses a module label name if left empty | `string` | `\"\"` | no |\n| \u003ca name=\"input_target_group_port\"\u003e\u003c/a\u003e [target\\_group\\_port](#input\\_target\\_group\\_port) | The port for the default target group | `number` | `80` | no |\n| \u003ca name=\"input_target_group_target_type\"\u003e\u003c/a\u003e [target\\_group\\_target\\_type](#input\\_target\\_group\\_target\\_type) | The type (`instance`, `ip` or `lambda`) of targets that can be registered with the target group | `string` | `\"ip\"` | 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\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_access_logs_bucket_id\"\u003e\u003c/a\u003e [access\\_logs\\_bucket\\_id](#output\\_access\\_logs\\_bucket\\_id) | The S3 bucket ID for access logs |\n| \u003ca name=\"output_alb_arn\"\u003e\u003c/a\u003e [alb\\_arn](#output\\_alb\\_arn) | The ARN of the ALB |\n| \u003ca name=\"output_alb_arn_suffix\"\u003e\u003c/a\u003e [alb\\_arn\\_suffix](#output\\_alb\\_arn\\_suffix) | The ARN suffix of the ALB |\n| \u003ca name=\"output_alb_dns_name\"\u003e\u003c/a\u003e [alb\\_dns\\_name](#output\\_alb\\_dns\\_name) | DNS name of ALB |\n| \u003ca name=\"output_alb_name\"\u003e\u003c/a\u003e [alb\\_name](#output\\_alb\\_name) | The ARN suffix of the ALB |\n| \u003ca name=\"output_alb_zone_id\"\u003e\u003c/a\u003e [alb\\_zone\\_id](#output\\_alb\\_zone\\_id) | The ID of the zone which ALB is provisioned |\n| \u003ca name=\"output_default_target_group_arn\"\u003e\u003c/a\u003e [default\\_target\\_group\\_arn](#output\\_default\\_target\\_group\\_arn) | The default target group ARN |\n| \u003ca name=\"output_http_listener_arn\"\u003e\u003c/a\u003e [http\\_listener\\_arn](#output\\_http\\_listener\\_arn) | The ARN of the HTTP listener |\n| \u003ca name=\"output_https_listener_arn\"\u003e\u003c/a\u003e [https\\_listener\\_arn](#output\\_https\\_listener\\_arn) | The ARN of the HTTPS listener |\n| \u003ca name=\"output_listener_arns\"\u003e\u003c/a\u003e [listener\\_arns](#output\\_listener\\_arns) | A list of all the listener ARNs |\n| \u003ca name=\"output_security_group_id\"\u003e\u003c/a\u003e [security\\_group\\_id](#output\\_security\\_group\\_id) | The security group ID of the ALB |\n\u003c!-- markdownlint-restore --\u003e\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\n\n## Developing\n\n1. Make changes in terraform files\n\n2. Regenerate documentation\n\n    ```bash\n    bash \u003c(git archive --remote=git@gitlab.com:miquido/terraform/terraform-readme-update.git master update.sh | tar -xO)\n    ```\n\n3. Run lint\n\n    ```\n    make lint\n    ```\n\n## Copyright\n\nCopyright © 2017-2023 [Miquido](https://miquido.com)\n\n\n\n### Contributors\n\n|  [![Konrad Obal][k911_avatar]][k911_homepage]\u003cbr/\u003e[Konrad Obal][k911_homepage] |\n|---|\n\n  [k911_homepage]: https://github.com/k911\n  [k911_avatar]: https://github.com/k911.png?size=150\n\n\n\n  [logo]: https://www.miquido.com/img/logos/logo__miquido.svg\n  [website]: https://www.miquido.com/\n  [gitlab]: https://gitlab.com/miquido\n  [github]: https://github.com/miquido\n  [bitbucket]: https://bitbucket.org/miquido\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiquido%2Fterraform-alb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmiquido%2Fterraform-alb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiquido%2Fterraform-alb/lists"}