generated from NHSDigital/nhs-notify-repository-template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvariables.tf
131 lines (111 loc) · 3.9 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
##
# Basic Required Variables for tfscaffold Components
##
variable "project" {
type = string
description = "The name of the tfscaffold project"
}
variable "environment" {
type = string
description = "The name of the tfscaffold environment"
}
variable "aws_account_id" {
type = string
description = "The AWS Account ID (numeric)"
}
variable "region" {
type = string
description = "The AWS Region"
}
variable "group" {
type = string
description = "The group variables are being inherited from (often synonmous with account short-name)"
}
##
# tfscaffold variables specific to this component
##
# This is the only primary variable to have its value defined as
# a default within its declaration in this file, because the variables
# purpose is as an identifier unique to this component, rather
# then to the environment from where all other variables come.
variable "component" {
type = string
description = "The variable encapsulating the name of this component"
default = "cdn"
}
variable "default_tags" {
type = map(string)
description = "A map of default tags to apply to all taggable resources within the component"
default = {}
}
##
# Variables specific to the "dnsroot"component
##
variable "kms_deletion_window" {
type = string
description = "When a kms key is deleted, how long should it wait in the pending deletion state?"
default = "30"
}
variable "log_level" {
type = string
description = "The log level to be used in lambda functions within the component. Any log with a lower severity than the configured value will not be logged: https://docs.python.org/3/library/logging.html#levels"
default = "INFO"
}
variable "enable_github_actions_ip_access" {
type = bool
description = "Should the Github actions runner IP addresses be permitted access to this distribution. This should not be enabled in production environments"
default = false
}
variable "log_retention_in_days" {
type = number
description = "The retention period in days for the Cloudwatch Logs events to be retained, default of 0 is indefinite"
default = 0
}
variable "parent_acct_environment" {
type = string
description = "Name of the environment responsible for the acct resources used, affects things like DNS zone. Useful for named dev environments"
default = "main"
}
variable "force_lambda_code_deploy" {
type = bool
description = "If the lambda package in s3 has the same commit id tag as the terraform build branch, the lambda will not update automatically. Set to True if making changes to Lambda code from on the same commit for example during development"
default = false
}
variable "waf_rate_limit_cdn" {
type = number
description = "The rate limit is the maximum number of CDN requests from a single IP address that are allowed in a five-minute period"
default = 20000
}
variable "amplify_microservice_routes" {
type = list(object({
service_prefix = string,
service_csi = string,
root_dns_record = string,
}))
description = "An object representing the amplify microservice routing configration"
default = []
}
variable "cdn_sans" {
type = list(string)
description = "Aliases to associate with CDN"
default = []
}
variable "AMPLIFY_BASIC_AUTH_SECRET" {
# Github only does uppercase env vars
type = string
description = "Secret key/password to use for amplify microservice headers - This is entended to be read from CI variables and not commited to any codebase"
default = "unset"
}
variable "cms_origin" {
type = object({
domain_name = string,
origin_path = string,
origin_id = string
})
description = "Object to specifiy static domains for CDN"
default = {
domain_name = "nhsdigital.github.io"
origin_path = "/nhs-notify-web-cms-dev"
origin_id = "github-nhs-notify-web-cms"
}
}