-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathvariables.tf
133 lines (123 loc) · 3.69 KB
/
variables.tf
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
132
133
variable "region" {
description = "The region into which to deploy the load balancer."
type = string
}
variable "vpc_id" {
description = "The ID of the VPC into which to deploy the load balancer."
type = string
}
variable "subnet_ids" {
description = "The IDs of the subnets for the ALB."
type = list(string)
}
variable "component" {
description = "The component for which the load balancer is being created."
type = string
}
variable "deployment_identifier" {
description = "An identifier for this instantiation."
type = string
}
variable "idle_timeout" {
description = "The time after which idle connections are closed."
type = number
nullable = false
default = 60
}
variable "expose_to_public_internet" {
description = "Whether or not to the ALB should be internet facing."
type = bool
nullable = false
default = false
}
variable "security_groups" {
description = "Details of security groups to add to the ALB, including the default security group."
type = object({
default : object({
associate : optional(bool, true),
ingress_rule : optional(object({
include : optional(bool, true),
cidrs : optional(list(string))
}), {
include : true,
cidrs : null
}),
egress_rule : optional(object({
include : optional(bool, true),
from_port : optional(number, 0),
to_port : optional(number, 65535),
cidrs : optional(list(string))
}), {
include : true,
from_port : 0,
to_port : 65535,
cidrs : null
}),
})
})
nullable = false
default = {
default : {}
}
}
variable "dns" {
description = "Details of DNS records to point at the created load balancer. Expects a domain_name, used to create each record and a list of records to create. Each record object includes a zone_id referencing the hosted zone in which to create the record."
type = object({
domain_name : string,
records : list(object({
zone_id : string
}))
})
nullable = false
default = {
domain_name : null,
records : []
}
}
variable "target_groups" {
description = "Details of target groups to create."
type = list(object({
key : string,
port : string,
protocol : optional(string, "HTTP"),
target_type : optional(string, "instance"),
deregistration_delay : optional(number),
health_check : optional(object({
path : optional(string, "/"),
port : optional(string, "traffic-port"),
protocol : optional(string, "HTTP"),
interval : optional(number, 30),
healthy_threshold : optional(number, 3),
unhealthy_threshold : optional(number, 3)
}), {})
}))
nullable = false
default = []
}
variable "listeners" {
description = "Details of listeners to create."
type = list(object({
key : string,
port : optional(string, "443"),
protocol : optional(string, "HTTPS"),
certificate_arn : optional(string),
ssl_policy : optional(string, "ELBSecurityPolicy-2016-08"),
default_actions : list(object({
type : optional(string, "forward"),
target_group_key : optional(string),
authorization_endpoint : optional(string)
client_id : optional(string)
client_secret : optional(string)
issuer : optional(string)
token_endpoint : optional(string)
user_info_endpoint : optional(string)
authentication_request_extra_params : optional(map(string))
on_unauthenticated_request : optional(string)
scope : optional(string)
session_cookie_name : optional(string)
session_timeout : optional(number)
}))
}))
nullable = false
default = []
}