forked from terraform-aws-modules/terraform-aws-alb
-
Notifications
You must be signed in to change notification settings - Fork 0
/
variables.tf
131 lines (105 loc) · 4.25 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
variable "alb_is_internal" {
description = "Boolean determining if the ALB is internal or externally facing."
default = false
}
variable "alb_name" {
description = "The name of the ALB as will show in the AWS EC2 ELB console."
}
variable "alb_protocols" {
description = "The protocols the ALB accepts. e.g.: [\"HTTP\"]"
type = "list"
default = ["HTTP"]
}
variable "alb_security_groups" {
description = "The security groups with which we associate the ALB. e.g. [\"sg-edcd9784\",\"sg-edcd9785\"]"
type = "list"
}
variable "backend_port" {
description = "The port the service on the EC2 instances listen on."
default = 80
}
variable "backend_protocol" {
description = "The protocol the backend service speaks. Options: HTTP, HTTPS, TCP, SSL (secure tcp)."
default = "HTTP"
}
variable "bucket_policy" {
description = "An S3 bucket policy to apply to the log bucket. If not provided, a minimal policy will be generated from other variables."
default = ""
}
variable "certificate_arn" {
description = "The ARN of the SSL Certificate. e.g. \"arn:aws:iam::123456789012:server-certificate/ProdServerCert\""
}
variable "cookie_duration" {
description = "If load balancer connection stickiness is desired, set this to the duration in seconds that cookie should be valid (e.g. 300). Otherwise, if no stickiness is desired, leave the default."
default = 1
}
variable "create_log_bucket" {
description = "Create the S3 bucket (named with the log_bucket_name var) and attach a policy to allow ALB logging."
default = false
}
variable "deregistration_delay" {
description = "The amount time to wait before changing the state of a deregistering target from draining to unused."
default = 300
}
variable "enable_logging" {
default = false
description = "Enable the ALB to write log entries to S3."
}
variable "force_destroy_log_bucket" {
description = "If set to true and if the log bucket already exists, it will be destroyed and recreated."
default = false
}
variable "health_check_healthy_threshold" {
description = "Number of consecutive positive health checks before a backend instance is considered healthy."
default = 3
}
variable "health_check_interval" {
description = "Interval in seconds on which the health check against backend hosts is tried."
default = 10
}
variable "health_check_path" {
description = "The URL the ELB should use for health checks. e.g. /health"
}
variable "health_check_port" {
description = "The port used by the health check if different from the traffic-port."
default = "traffic-port"
}
variable "health_check_timeout" {
description = "Seconds to leave a health check waiting before terminating it and calling the check unhealthy."
default = 5
}
variable "health_check_unhealthy_threshold" {
description = "Number of consecutive positive health checks before a backend instance is considered unhealthy."
default = 3
}
variable "health_check_matcher" {
description = "The HTTP codes that are a success when checking TG health."
default = "200-299"
}
variable "log_bucket_name" {
description = "S3 bucket for storing ALB access logs. To create the bucket \"create_log_bucket\" should be set to true."
default = ""
}
variable "log_location_prefix" {
description = "S3 prefix within the log_bucket_name under which logs are stored."
default = ""
}
variable "security_policy" {
description = "The security policy if using HTTPS externally on the ALB. See: https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-security-policy-table.html"
default = "ELBSecurityPolicy-2016-08"
}
variable "subnets" {
description = "A list of subnets to associate with the ALB. e.g. ['subnet-1a2b3c4d','subnet-1a2b3c4e','subnet-1a2b3c4f']"
type = "list"
}
variable "tags" {
description = "A map of tags to add to all resources"
default = {}
}
variable "vpc_id" {
description = "VPC id where the ALB and other resources will be deployed."
}
variable "target_type" {
description = "The type of target that you must specify when registering targets with this target group. The possible values are instance (targets are specified by instance ID) or ip (targets are specified by IP address). "
default = "instance"
}