- Description
- Examples
- Terraform Version
- Requirements
- Providers
- Modules
- Resources
- Inputs
- Outputs
- Contributing
- Authors
- License
A terraform module which provisions a DNS record that points to an Application LB with a single listener
This module was created on 4/17/2018. The latest stable version of Terraform which this module tested working is Terraform 0.12.31 on 27/09/2021.
No requirements.
Name | Version |
---|---|
aws | n/a |
Name | Source | Version |
---|---|---|
random_lb | github.com/traveloka/terraform-aws-resource-naming.git | v0.19.1 |
random_tg | github.com/traveloka/terraform-aws-resource-naming.git | v0.19.1 |
Name | Type |
---|---|
aws_lb.main | resource |
aws_lb_listener.main | resource |
aws_lb_listener_rule.main | resource |
aws_lb_target_group.default | resource |
Name | Description | Type | Default | Required |
---|---|---|---|---|
cluster_role | Primary role/function of the cluster. Example value: 'app', 'fe', 'mongod', etc | string |
n/a | yes |
description | Will be used in resources' Description tag | string |
n/a | yes |
environment | Will be used in resources' Environment tag | string |
n/a | yes |
lb_idle_timeout | The LB's idle timeout | string |
60 |
no |
lb_internal | Whether the LB will be public / private | string |
"1" |
no |
lb_ip_address_type | The LB's ip address type | string |
"ipv4" |
no |
lb_logs_s3_bucket_name | The S3 bucket that will be used to store LB access logs | string |
n/a | yes |
lb_name | The name of the LB, will override the default <service_name>-<lb_type>-<random_string> name | string |
"" |
no |
lb_security_groups | List of security group IDs for the LB | list(string) |
n/a | yes |
lb_subnet_ids | List of subnet IDs of the LB | list(string) |
n/a | yes |
lb_tags | The additional LB tags that will be merged over the default tags | map(string) |
{} |
no |
listener_certificate_arn | The LB listener's certificate ARN | string |
n/a | yes |
listener_conditions | List of conditions (https://www.terraform.io/docs/providers/aws/r/lb_listener_rule.html#condition) for the listener rules. A rule can have either 1 or 2 conditions. The rule's order will be its priority, i.e. the first is the highest | list(list(object({ field = string, values = list(string) }))) |
[] |
no |
listener_port | The LB listener's port | string |
443 |
no |
listener_protocol | The LB listener's protocol | string |
"HTTPS" |
no |
listener_rules | A map of listener rules for the LB: priority --> {target_group_arn:'', conditions:[]}. target_group_arn:null means the built-in target group |
list |
[] |
no |
listener_ssl_policy | The LB listener's SSL policy | string |
"ELBSecurityPolicy-2016-08" |
no |
listener_target_group_idx | Indexes, starting from 0, of the target_group_arns variable that the listener rules will use when choosing target groups. '0' means the default target group |
list(string) |
[] |
no |
product_domain | Abbreviation of the product domain the created resources belong to | string |
n/a | yes |
service_name | The service name that will be used in tags and resources default name | string |
n/a | yes |
target_group_arns | A list of target group arns, will be used by listener rules using listener_target_group_idx variable |
list(string) |
[] |
no |
tg_deregistration_delay | The default target group's deregistration delay | string |
300 |
no |
tg_health_check | The default target group's health check configuration, will be merged over the default (see locals.tf) | map(string) |
{} |
no |
tg_name | The default target group's name, will override the default <service_name>-default name | string |
"" |
no |
tg_port | The default target group's port | string |
5000 |
no |
tg_protocol | The default target group's protocol | string |
"HTTP" |
no |
tg_protocol_version | The default target group's protocol version | string |
"HTTP1" |
no |
tg_stickiness | The default target group's stickiness configuration | map(string) |
{ |
no |
tg_tags | The additional Target Group tags that will be merged over the default tags | map(string) |
{} |
no |
tg_target_type | The type of target that you must specify when registering targets with this target group. | string |
"instance" |
no |
vpc_id | The default target group's VPC | string |
n/a | yes |
Name | Description |
---|---|
lb_arn | The ARN of the ALB |
lb_arn_suffix | The ARN suffix of the ALB, useful with CloudWatch Metrics |
lb_dns | The DNS name of the load balancer |
lb_zone_id | The canonical hosted zone ID of the load balancer (to be used in a Route 53 Alias record) |
listener_arn | The ARN of the listener |
listener_id | The ID of the listener |
tg_arn | The arn of the default target group |
tg_arn_suffix | The arn suffix of the default target group, useful with CloudWatch Metrics |
tg_name | The name of the target group |
This module accepting or open for any contributions from anyone, please see the CONTRIBUTING.md for more detail about how to contribute to this module.
This module is under Apache License 2.0 - see the LICENSE file for details.