generated from DNXLabs/terraform-aws-template
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path_variables.tf
241 lines (203 loc) · 7.18 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
/*
# These vars would be used by cloudwatch.tf and should be uncommented if we decide to use them.
variable "alarm_cpu_threshold" {
default = "75"
}
variable "alarm_memory_threshold" {
# 10MB
default = "10000000"
}
variable "alarm_actions" {
type = "list"
}
*/
variable "subnet_tags_filter" {
description = "Custom tags to set on the Instances in the ASG"
type = map(string)
default = {
"tag:Name" = "*Private*"
}
}
variable "apply_immediately" {
description = "Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is false."
type = bool
default = false
}
variable "allowed_cidr" {
description = "A list of Security Group ID's to allow access to."
type = list(object({
cidr = string
description = string
name = string
}))
default = []
}
variable "allow_security_group_ids" {
type = list(object({
security_group_id = string
description = string
name = string
}))
description = "List of Security Group IDs to allow connection to."
default = []
}
variable "env" {
description = "env to deploy into, should typically dev/staging/prod"
type = string
}
variable "name" {
description = "Name for the Redis replication group i.e. UserObject"
type = string
}
variable "number_clusters" {
description = "Number of Redis cache clusters (nodes) to create"
type = string
default = 0
}
variable "cluster_enabled" {
description = "Enable or disable cluster mode"
type = bool
default = false
}
variable "cluster_num_node_groups" {
description = "Number of node groups"
type = number
default = 2
}
variable "cluster_replicas_per_node_group" {
description = "Replicas per node group"
type = number
default = 1
}
variable "failover_enabled" {
type = bool
default = false
description = "If the cache cluster should have failover enabled"
}
variable "multi_az_enabled" {
type = bool
default = false
description = "If the cache cluster should be multi-az"
}
variable "node_type" {
description = "Instance type to use for creating the Redis cache clusters"
type = string
default = "cache.t4g.micro"
}
variable "port" {
type = number
description = "Port to use on cache. 6379 for Redis, 11211 for memcached."
default = 6379
}
variable "vpc_id" {
type = string
description = "Vpc Id"
}
variable "engine" {
type = string
default = "redis"
validation {
condition = contains(["redis", "valkey"], var.engine)
error_message = "Only 'redis' or 'valkey' is supported."
}
}
variable "engine_version" {
description = "Redis version to use, defaults to 3.2.10"
type = string
default = "6.2"
}
variable "redis_parameters" {
description = "additional parameters modifyed in parameter group"
type = list(map(any))
default = []
}
variable "maintenance_window" {
description = "Specifies the weekly time range for when maintenance on the cache cluster is performed. The format is ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period"
type = string
default = "fri:08:00-fri:09:00"
}
variable "snapshot_window" {
description = "The daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. The minimum snapshot window is a 60 minute period"
type = string
default = "06:30-07:30"
}
variable "snapshot_retention_limit" {
description = "The number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off. Please note that setting a snapshot_retention_limit is not supported on cache.t1.micro or cache.t2.* cache nodes"
type = number
default = 0
}
variable "tags" {
description = "Tags for redis nodes"
type = map(string)
default = {}
}
variable "auto_minor_version_upgrade" {
description = "Specifies whether a minor engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window"
type = bool
default = true
}
variable "availability_zones" {
description = "A list of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is not important"
type = list(string)
default = []
}
variable "at_rest_encryption_enabled" {
description = "Whether to enable encryption at rest"
type = bool
default = true
}
variable "kms_key_id" {
description = "The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if at_rest_encryption_enabled = true"
type = string
default = ""
}
variable "transit_encryption_enabled" {
description = "Whether to enable encryption in transit. Requires 3.2.6 or >=4.0 engine_version"
type = bool
default = false
}
variable "auth_token" {
description = "The password used to access a password protected server. Can be specified only if transit_encryption_enabled = true. If specified must contain from 16 to 128 alphanumeric characters or symbols"
type = string
default = null
}
variable "security_group_names" {
description = "A list of cache security group names to associate with this replication group"
type = list(string)
default = []
}
variable "snapshot_arns" {
description = "A single-element string list containing an Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. Example: arn:aws:s3:::my_bucket/snapshot1.rdb"
type = list(string)
default = []
}
variable "snapshot_name" {
description = " The name of a snapshot from which to restore data into the new node group. Changing the snapshot_name forces a new resource"
type = string
default = ""
}
variable "notification_topic_arn" {
description = "An Amazon Resource Name (ARN) of an SNS topic to send ElastiCache notifications to. Example: arn:aws:sns:us-east-1:012345678999:my_sns_topic"
type = string
default = ""
}
variable "secret_method" {
description = "Use ssm for SSM parameters store which is the default option, or secretsmanager for AWS Secrets Manager"
type = string
default = "ssm"
}
variable "user_group_ids" {
description = "(Optional) User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. NOTE: This argument is a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one."
type = set(string)
default = null
}
variable "create_subnet_group" {
description = "If the module should create a Subnet group"
type = bool
default = true
}
variable "subnet_group_id" {
description = "Subnet group ID to use for the replication group"
type = string
default = null
}