-
-
Notifications
You must be signed in to change notification settings - Fork 49
/
README.yaml
131 lines (114 loc) · 5.44 KB
/
README.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
name: terraform-aws-alb-ingress
license: APACHE2
github_repo: cloudposse/terraform-aws-alb-ingress
badges:
- name: Latest Release
image: https://img.shields.io/github/release/cloudposse/terraform-aws-alb-ingress.svg?style=for-the-badge
url: https://github.com/cloudposse/terraform-aws-alb-ingress/releases/latest
- name: Last Updated
image: https://img.shields.io/github/last-commit/cloudposse/terraform-aws-alb-ingress.svg?style=for-the-badge
url: https://github.com/cloudposse/terraform-aws-alb-ingress/commits
- name: Slack Community
image: https://slack.cloudposse.com/for-the-badge.svg
url: https://slack.cloudposse.com
# List any related terraform modules that this module may be used with or that this module depends on.
related:
- name: terraform-aws-alb
description: Terraform module to create an ALB, default ALB listener(s), and a default ALB target and related security groups.
url: https://github.com/cloudposse/terraform-aws-alb
description: |-
Terraform module to provision an HTTP style ALB ingress based on hostname and/or path.
ALB ingress can be provisioned without authentication, or using Cognito or OIDC authentication.
usage: |-
For a complete example, see [examples/complete](examples/complete).
For automated test of the complete example using `bats` and `Terratest`, see [test](test).
```hcl
provider "aws" {
region = var.region
}
module "vpc" {
source = "cloudposse/vpc/aws"
# Cloud Posse recommends pinning every module to a specific version
# version = "x.x.x"
namespace = var.namespace
stage = var.stage
name = var.name
delimiter = var.delimiter
attributes = var.attributes
cidr_block = var.vpc_cidr_block
tags = var.tags
}
module "subnets" {
source = "cloudposse/dynamic-subnets/aws"
# Cloud Posse recommends pinning every module to a specific version
# version = "x.x.x"
availability_zones = var.availability_zones
namespace = var.namespace
stage = var.stage
name = var.name
attributes = var.attributes
delimiter = var.delimiter
vpc_id = module.vpc.vpc_id
igw_id = module.vpc.igw_id
cidr_block = module.vpc.vpc_cidr_block
nat_gateway_enabled = false
nat_instance_enabled = false
tags = var.tags
}
module "alb" {
source = "cloudposse/alb/aws"
# Cloud Posse recommends pinning every module to a specific version
# version = "x.x.x"
namespace = var.namespace
stage = var.stage
name = var.name
attributes = var.attributes
delimiter = var.delimiter
vpc_id = module.vpc.vpc_id
security_group_ids = [module.vpc.vpc_default_security_group_id]
subnet_ids = module.subnets.public_subnet_ids
internal = var.internal
http_enabled = var.http_enabled
access_logs_enabled = var.access_logs_enabled
alb_access_logs_s3_bucket_force_destroy = var.alb_access_logs_s3_bucket_force_destroy
cross_zone_load_balancing_enabled = var.cross_zone_load_balancing_enabled
http2_enabled = var.http2_enabled
idle_timeout = var.idle_timeout
ip_address_type = var.ip_address_type
deletion_protection_enabled = var.deletion_protection_enabled
deregistration_delay = var.deregistration_delay
health_check_path = var.health_check_path
health_check_timeout = var.health_check_timeout
health_check_healthy_threshold = var.health_check_healthy_threshold
health_check_unhealthy_threshold = var.health_check_unhealthy_threshold
health_check_interval = var.health_check_interval
health_check_matcher = var.health_check_matcher
target_group_port = var.target_group_port
target_group_target_type = var.target_group_target_type
tags = var.tags
}
module "alb_ingress" {
source = "cloudposse/alb-ingress/aws"
# Cloud Posse recommends pinning every module to a specific version
# version = "x.x.x"
namespace = var.namespace
stage = var.stage
name = var.name
attributes = var.attributes
delimiter = var.delimiter
vpc_id = module.vpc.vpc_id
authentication_type = var.authentication_type
unauthenticated_priority = var.unauthenticated_priority
unauthenticated_paths = var.unauthenticated_paths
slow_start = var.slow_start
stickiness_enabled = var.stickiness_enabled
default_target_group_enabled = false
target_group_arn = module.alb.default_target_group_arn
unauthenticated_listener_arns = [module.alb.http_listener_arn]
tags = var.tags
}
```
include:
- docs/targets.md
- docs/terraform.md
contributors: []