forked from terraform-aws-modules/terraform-aws-rds
-
Notifications
You must be signed in to change notification settings - Fork 0
/
variables.tf
260 lines (208 loc) · 8.51 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
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
variable "identifier" {
description = "The name of the RDS instance, if omitted, Terraform will assign a random, unique identifier"
}
variable "allocated_storage" {
description = "The allocated storage in gigabytes"
}
variable "storage_type" {
description = "One of 'standard' (magnetic), 'gp2' (general purpose SSD), or 'io1' (provisioned IOPS SSD). The default is 'io1' if iops is specified, 'standard' if not. Note that this behaviour is different from the AWS web console, where the default is 'gp2'."
default = "gp2"
}
variable "storage_encrypted" {
description = "Specifies whether the DB instance is encrypted"
default = false
}
variable "kms_key_id" {
description = "The ARN for the KMS encryption key. If creating an encrypted replica, set this to the destination KMS ARN. If storage_encrypted is set to true and kms_key_id is not specified the default KMS key created in your account will be used"
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."
default = ""
}
variable "snapshot_identifier" {
description = "Specifies whether or not to create this database from a snapshot. This correlates to the snapshot ID you'd find in the RDS console, e.g: rds:production-2015-06-26-06-05."
default = ""
}
variable "license_model" {
description = "License model information for this DB instance. Optional, but required for some DB engines, i.e. Oracle SE1"
default = ""
}
variable "iam_database_authentication_enabled" {
description = "Specifies whether or mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled"
default = false
}
variable "engine" {
description = "The database engine to use"
}
variable "engine_version" {
description = "The engine version to use"
}
variable "final_snapshot_identifier" {
description = "The name of your final DB snapshot when this DB instance is deleted."
default = false
}
variable "instance_class" {
description = "The instance type of the RDS instance"
}
variable "name" {
description = "The DB name to create. If omitted, no database is created initially"
default = ""
}
variable "username" {
description = "Username for the master DB user"
}
variable "password" {
description = "Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file"
}
variable "port" {
description = "The port on which the DB accepts connections"
}
variable "vpc_security_group_ids" {
description = "List of VPC security groups to associate"
default = []
}
variable "db_subnet_group_name" {
description = "Name of DB subnet group. DB instance will be created in the VPC associated with the DB subnet group. If unspecified, will be created in the default VPC"
default = ""
}
variable "parameter_group_name" {
description = "Name of the DB parameter group to associate. Setting this automatically disables parameter_group creation"
default = ""
}
variable "option_group_name" {
description = "Name of the DB option group to associate. Setting this automatically disables option_group creation"
default = ""
}
variable "availability_zone" {
description = "The Availability Zone of the RDS instance"
default = ""
}
variable "multi_az" {
description = "Specifies if the RDS instance is multi-AZ"
default = false
}
variable "iops" {
description = "The amount of provisioned IOPS. Setting this implies a storage_type of 'io1'"
default = 0
}
variable "publicly_accessible" {
description = "Bool to control if instance is publicly accessible"
default = false
}
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. The default is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60."
default = 0
}
variable "monitoring_role_arn" {
description = "The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. Must be specified if monitoring_interval is non-zero."
default = ""
}
variable "monitoring_role_name" {
description = "Name of the IAM role which will be created when create_monitoring_role is enabled."
default = "rds-monitoring-role"
}
variable "create_monitoring_role" {
description = "Create IAM role with a defined name that permits RDS to send enhanced monitoring metrics to CloudWatch Logs."
default = false
}
variable "allow_major_version_upgrade" {
description = "Indicates that major version upgrades are allowed. Changing this parameter does not result in an outage and the change is asynchronously applied as soon as possible"
default = false
}
variable "auto_minor_version_upgrade" {
description = "Indicates that minor engine upgrades will be applied automatically to the DB instance during the maintenance window"
default = true
}
variable "apply_immediately" {
description = "Specifies whether any database modifications are applied immediately, or during the next maintenance window"
default = false
}
variable "maintenance_window" {
description = "The window to perform maintenance in. Syntax: 'ddd:hh24:mi-ddd:hh24:mi'. Eg: 'Mon:00:00-Mon:03:00'"
}
variable "skip_final_snapshot" {
description = "Determines whether a final DB snapshot is created before the DB instance is deleted. If true is specified, no DBSnapshot is created. If false is specified, a DB snapshot is created before the DB instance is deleted, using the value from final_snapshot_identifier"
default = true
}
variable "copy_tags_to_snapshot" {
description = "On delete, copy all Instance tags to the final snapshot (if final_snapshot_identifier is specified)"
default = false
}
variable "backup_retention_period" {
description = "The days to retain backups for"
default = 1
}
variable "backup_window" {
description = "The daily time range (in UTC) during which automated backups are created if they are enabled. Example: '09:46-10:16'. Must not overlap with maintenance_window"
}
variable "tags" {
description = "A mapping of tags to assign to all resources"
default = {}
}
# DB subnet group
variable "subnet_ids" {
type = "list"
description = "A list of VPC subnet IDs"
default = []
}
# DB parameter group
variable "family" {
description = "The family of the DB parameter group"
default = ""
}
variable "parameters" {
description = "A list of DB parameters (map) to apply"
default = []
}
# DB option group
variable "option_group_description" {
description = "The description of the option group"
default = ""
}
variable "major_engine_version" {
description = "Specifies the major version of the engine that this option group should be associated with"
default = ""
}
variable "options" {
type = "list"
description = "A list of Options to apply."
default = []
}
variable "create_db_subnet_group" {
description = "Whether to create a database subnet group"
default = true
}
variable "create_db_parameter_group" {
description = "Whether to create a database parameter group"
default = true
}
variable "create_db_option_group" {
description = "Whether to create a database option group"
default = true
}
variable "create_db_instance" {
description = "Whether to create a database instance"
default = true
}
variable "timezone" {
description = "(Optional) Time zone of the DB instance. timezone is currently only supported by Microsoft SQL Server. The timezone can only be set on creation. See MSSQL User Guide for more information."
default = ""
}
variable "character_set_name" {
description = "(Optional) The character set name to use for DB encoding in Oracle instances. This can't be changed. See Oracle Character Sets Supported in Amazon RDS for more information"
default = ""
}
variable "enabled_cloudwatch_logs_exports" {
description = "List of log types to enable for exporting to CloudWatch logs. If omitted, no logs will be exported. Valid values (depending on engine): alert, audit, error, general, listener, slowquery, trace."
default = []
}
variable "timeouts" {
description = "(Optional) Updated Terraform resource management timeouts. Applies to `aws_db_instance` in particular to permit resource management times"
type = "map"
default = {
create = "40m"
update = "80m"
delete = "40m"
}
}