-
-
Notifications
You must be signed in to change notification settings - Fork 254
/
variables.tf
205 lines (175 loc) · 5.97 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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
variable "create_distribution" {
description = "Controls if CloudFront distribution should be created"
type = bool
default = true
}
variable "create_origin_access_identity" {
description = "Controls if CloudFront origin access identity should be created"
type = bool
default = false
}
variable "origin_access_identities" {
description = "Map of CloudFront origin access identities (value as a comment)"
type = map(string)
default = {}
}
variable "create_origin_access_control" {
description = "Controls if CloudFront origin access control should be created"
type = bool
default = false
}
variable "origin_access_control" {
description = "Map of CloudFront origin access control"
type = map(object({
description = string
origin_type = string
signing_behavior = string
signing_protocol = string
}))
default = {
s3 = {
description = "",
origin_type = "s3",
signing_behavior = "always",
signing_protocol = "sigv4"
}
}
}
variable "aliases" {
description = "Extra CNAMEs (alternate domain names), if any, for this distribution."
type = list(string)
default = null
}
variable "comment" {
description = "Any comments you want to include about the distribution."
type = string
default = null
}
variable "continuous_deployment_policy_id" {
description = "Identifier of a continuous deployment policy. This argument should only be set on a production distribution."
type = string
default = null
}
variable "default_root_object" {
description = "The object that you want CloudFront to return (for example, index.html) when an end user requests the root URL."
type = string
default = null
}
variable "enabled" {
description = "Whether the distribution is enabled to accept end user requests for content."
type = bool
default = true
}
variable "http_version" {
description = "The maximum HTTP version to support on the distribution. Allowed values are http1.1, http2, http2and3, and http3. The default is http2."
type = string
default = "http2"
}
variable "is_ipv6_enabled" {
description = "Whether the IPv6 is enabled for the distribution."
type = bool
default = null
}
variable "price_class" {
description = "The price class for this distribution. One of PriceClass_All, PriceClass_200, PriceClass_100"
type = string
default = null
}
variable "retain_on_delete" {
description = "Disables the distribution instead of deleting it when destroying the resource through Terraform. If this is set, the distribution needs to be deleted manually afterwards."
type = bool
default = false
}
variable "wait_for_deployment" {
description = "If enabled, the resource will wait for the distribution status to change from InProgress to Deployed. Setting this to false will skip the process."
type = bool
default = true
}
variable "web_acl_id" {
description = "If you're using AWS WAF to filter CloudFront requests, the Id of the AWS WAF web ACL that is associated with the distribution. The WAF Web ACL must exist in the WAF Global (CloudFront) region and the credentials configuring this argument must have waf:GetWebACL permissions assigned. If using WAFv2, provide the ARN of the web ACL."
type = string
default = null
}
variable "staging" {
description = "Whether the distribution is a staging distribution."
type = bool
default = false
}
variable "tags" {
description = "A map of tags to assign to the resource."
type = map(string)
default = null
}
variable "origin" {
description = "One or more origins for this distribution (multiples allowed)."
type = any
default = null
}
variable "origin_group" {
description = "One or more origin_group for this distribution (multiples allowed)."
type = any
default = {}
}
variable "viewer_certificate" {
description = "The SSL configuration for this distribution"
type = any
default = {
cloudfront_default_certificate = true
minimum_protocol_version = "TLSv1"
}
}
variable "geo_restriction" {
description = "The restriction configuration for this distribution (geo_restrictions)"
type = any
default = {}
}
variable "logging_config" {
description = "The logging configuration that controls how logs are written to your distribution (maximum one)."
type = any
default = {}
}
variable "custom_error_response" {
description = "One or more custom error response elements"
type = any
default = {}
}
variable "default_cache_behavior" {
description = "The default cache behavior for this distribution"
type = any
default = null
}
variable "ordered_cache_behavior" {
description = "An ordered list of cache behaviors resource for this distribution. List from top to bottom in order of precedence. The topmost cache behavior will have precedence 0."
type = any
default = []
}
variable "create_monitoring_subscription" {
description = "If enabled, the resource for monitoring subscription will created."
type = bool
default = false
}
variable "realtime_metrics_subscription_status" {
description = "A flag that indicates whether additional CloudWatch metrics are enabled for a given CloudFront distribution. Valid values are `Enabled` and `Disabled`."
type = string
default = "Enabled"
}
variable "create_vpc_origin" {
description = "If enabled, the resource for VPC origin will be created."
type = bool
default = false
}
variable "vpc_origin" {
description = "Map of CloudFront VPC origin"
type = map(object({
name = string
arn = string
http_port = number
https_port = number
origin_protocol_policy = string
origin_ssl_protocols = object({
items = list(string)
quantity = number
})
}))
default = {}
}