Skip to content

Commit 44180f1

Browse files
authored
Merge pull request #142 from tablexi/revert-140-va-stop-creating-empty-parameter-group-in-elasticache
Revert "Stop creating empty parameter groups for Elasticache and use default"
2 parents 846ac1c + 9c576a9 commit 44180f1

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

aws/elasticache/main.tf

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ locals {
55
locals {
66
cluster_name = "${var.name}-${var.env}"
77
family = "${var.engine}${local.version_major_minor_only}"
8+
parameter_group_name = var.parameter_group_name != "" ? var.parameter_group_name : "${local.cluster_name}-params${replace(local.version_major_minor_only, ".", "")}"
89
port = var.port != "" ? var.port : var.engine == "redis" ? "6379" : "11211"
910
elasticache_replication_group = var.force_replication_group || var.num_nodes != 1
1011
cluster_tags = merge(
@@ -26,6 +27,7 @@ resource "aws_elasticache_cluster" "mod" {
2627
maintenance_window = var.maintenance_window
2728
node_type = var.node_type
2829
port = local.port
30+
parameter_group_name = local.parameter_group_name
2931
security_group_ids = [aws_security_group.sg_on_elasticache_instance.id]
3032
subnet_group_name = aws_elasticache_subnet_group.mod.name
3133

@@ -42,6 +44,7 @@ resource "aws_elasticache_replication_group" "mod" {
4244
maintenance_window = var.maintenance_window
4345
node_type = var.node_type
4446
number_cache_clusters = var.num_nodes
47+
parameter_group_name = aws_elasticache_parameter_group.mod[0].id
4548
port = local.port
4649
replication_group_description = "${var.name} ${var.env} ${var.engine} instance"
4750
replication_group_id = local.cluster_name
@@ -52,6 +55,17 @@ resource "aws_elasticache_replication_group" "mod" {
5255
tags = local.cluster_tags
5356
}
5457

58+
resource "aws_elasticache_parameter_group" "mod" {
59+
count = var.create_parameter_group ? 1 : 0
60+
name = local.parameter_group_name
61+
family = local.family
62+
description = "${var.name} ${var.env} env ${var.engine} cluster param group"
63+
64+
lifecycle {
65+
create_before_destroy = true
66+
}
67+
}
68+
5569
resource "aws_elasticache_subnet_group" "mod" {
5670
name = "${local.cluster_name}-${var.engine}-subnet"
5771
description = "${local.cluster_name}-${var.engine}-subnet"

aws/elasticache/variables.tf

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ variable "automatic_failover_enabled" {
77
description = "(Optional) Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If true, Multi-AZ is enabled for this replication group. If false, Multi-AZ is disabled for this replication group. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to false."
88
}
99

10+
variable "create_parameter_group" {
11+
default = true
12+
description = "Create a parameter group in this module"
13+
}
14+
1015
variable "engine" {
1116
description = "redis, memcache, etc."
1217
}
@@ -38,6 +43,11 @@ variable "num_nodes" {
3843
default = 1
3944
}
4045

46+
variable "parameter_group_name" {
47+
description = "Name of a parameter group to use with the Elasticache instance."
48+
default = ""
49+
}
50+
4151
variable "port" {
4252
default = ""
4353
}

0 commit comments

Comments
 (0)