-
-
Notifications
You must be signed in to change notification settings - Fork 26
/
variables.tf
196 lines (161 loc) · 5.98 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
variable "name" {
type = string
description = "The Name of the application or solution (e.g. `bastion` or `portal`)"
}
variable "namespace" {
type = string
description = "Namespace (e.g. `eg` or `cp`)"
}
variable "stage" {
type = string
description = "Stage (e.g. `prod`, `dev`, `staging`)"
}
variable "enabled" {
description = "Set to false to prevent the module from creating any resources"
default = "true"
}
variable "dns_zone_id" {
type = string
default = ""
description = "The ID of the DNS Zone in Route53 where a new DNS record will be created for the DB host name"
}
variable "host_name" {
type = string
default = "db"
description = "The DB host name created in Route53"
}
variable "security_group_ids" {
type = list(string)
default = []
description = "The IDs of the security groups from which to allow `ingress` traffic to the DB instance"
}
variable "database_port" {
description = "Database port (_e.g._ `3306` for `MySQL`). Used in the DB Security Group to allow access to the DB instance from the provided `security_group_ids`"
}
variable "multi_az" {
type = string
description = "Set to true if multi AZ deployment must be supported"
default = "false"
}
variable "storage_type" {
type = string
description = "One of 'standard' (magnetic), 'gp2' (general purpose SSD), or 'io1' (provisioned IOPS SSD)."
default = "standard"
}
variable "storage_encrypted" {
type = string
description = "Specifies whether the DB instance is encrypted. The default is false if not specified."
default = "false"
}
variable "iops" {
description = "The amount of provisioned IOPS. Setting this implies a storage_type of 'io1'. Default is 0 if rds storage type is not 'io1'"
default = "0"
}
variable "instance_class" {
type = string
description = "Class of RDS instance"
# https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html
}
variable "publicly_accessible" {
type = string
description = "Determines if database can be publicly available (NOT recommended)"
default = "false"
}
variable "subnet_ids" {
description = "List of subnets for the DB"
type = list(string)
}
variable "vpc_id" {
type = string
description = "VPC ID the DB instance will be created in"
}
variable "auto_minor_version_upgrade" {
type = string
description = "Allow automated minor version upgrade (e.g. from Postgres 9.5.3 to Postgres 9.5.4)"
default = "true"
}
variable "allow_major_version_upgrade" {
type = string
description = "Allow major version upgrade"
default = "false"
}
variable "apply_immediately" {
type = string
description = "Specifies whether any database modifications are applied immediately, or during the next maintenance window"
default = "false"
}
variable "maintenance_window" {
type = string
description = "The window to perform maintenance in. Syntax: 'ddd:hh24:mi-ddd:hh24:mi' UTC "
default = "Mon:03:00-Mon:04:00"
}
variable "skip_final_snapshot" {
type = string
description = "If true (default), no snapshot will be made before deleting DB"
default = "true"
}
variable "copy_tags_to_snapshot" {
type = string
description = "Copy tags from DB to a snapshot"
default = "true"
}
variable "backup_retention_period" {
description = "Backup retention period in days. Must be > 0 to enable backups"
default = 0
}
variable "backup_window" {
type = string
description = "When AWS can perform DB snapshots, can't overlap with maintenance window"
default = "22:00-03:00"
}
variable "delimiter" {
type = string
default = "-"
description = "Delimiter to be used between `name`, `namespace`, `stage` and `attributes`"
}
variable "attributes" {
type = list(string)
default = []
description = "Additional attributes (e.g. `1`)"
}
variable "tags" {
type = map(string)
default = {}
description = "Additional tags (e.g. map(`BusinessUnit`,`XYZ`)"
}
variable "db_parameter" {
type = list(string)
default = []
description = "A list of DB parameters to apply. Note that parameters may differ from a DB family to another"
}
variable "snapshot_identifier" {
type = string
description = "Snapshot identifier e.g: rds:production-2015-06-26-06-05. If specified, the module create cluster from the snapshot"
default = ""
}
variable "final_snapshot_identifier" {
type = string
description = "Final snapshot identifier e.g.: some-db-final-snapshot-2015-06-26-06-05"
default = ""
}
variable "parameter_group_name" {
type = string
description = "Name of the DB parameter group to associate"
default = ""
}
variable "kms_key_id" {
type = string
description = "The ARN for the KMS encryption key. If creating an encrypted replica, set this to the destination KMS ARN"
default = ""
}
variable "replicate_source_db" {
description = "Specifies that this resource is a Replicate database, and to use this value as the source database. This correlates to the identifier of another Amazon RDS Database to replicate. Note that if you are creating a cross-region replica of an encrypted database you will also need to specify a kms_key_id. See [DB Instance Replication](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Replication.html) and [Working with PostgreSQL and MySQL Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) for more information on using Replication."
}
variable "monitoring_interval" {
description = "The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. Valid Values are 0, 1, 5, 10, 15, 30, 60."
default = "0"
}
variable "same_region" {
description = "Whether this replica is in the same region as the master."
default = "false"
}