Giter Site home page Giter Site logo

tekka171 / terraform-aws-alb-single-listener Goto Github PK

View Code? Open in Web Editor NEW

This project forked from salvianreynaldi/terraform-aws-alb-single-listener

0.0 0.0 0.0 57 KB

A terraform module which provisions a DNS record that points to an Application LB with a single listener

License: Apache License 2.0

HCL 100.00%

terraform-aws-alb-single-listener's Introduction

terraform-aws-alb-single-listener

Terraform Version Release Last Commit Issues Pull Requests License Open Source Love

Table of Content

Description

A terraform module which provisions a DNS record that points to an Application LB with a single listener

Examples

Terraform Version

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.

Requirements

No requirements.

Providers

Name Version
aws n/a

Modules

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

Resources

Name Type
aws_lb.main resource
aws_lb_listener.main resource
aws_lb_listener_rule.main resource
aws_lb_target_group.default resource

Inputs

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)
{
"cookie_duration": 1,
"enabled": true,
"type": "lb_cookie"
}
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

Outputs

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

Contributing

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.

Authors

License

This module is under Apache License 2.0 - see the LICENSE file for details.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.