Skip to content

Commit 85f0d25

Browse files
committed
feat: update value route-53
1 parent d88cfde commit 85f0d25

File tree

5 files changed

+57
-24
lines changed

5 files changed

+57
-24
lines changed

_example/memcached/example.tf

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -54,17 +54,19 @@ module "memcached" {
5454
allowed_ip = [module.vpc.vpc_cidr_block]
5555
allowed_ports = [11211]
5656

57-
cluster_enabled = true
58-
engine = "memcached"
59-
engine_version = "1.6.17"
60-
family = "memcached1.5"
61-
parameter_group_name = ""
62-
az_mode = "cross-az"
63-
port = 11211
64-
node_type = "cache.t2.micro"
65-
num_cache_nodes = 2
66-
subnet_ids = module.subnets.public_subnet_id
67-
availability_zones = ["eu-west-1a", "eu-west-1b"]
57+
cluster_enabled = true
58+
memcached_ssm_parameter_endpoint_enabled = true
59+
memcached_route53_record_enabled = true
60+
engine = "memcached"
61+
engine_version = "1.6.17"
62+
family = "memcached1.5"
63+
parameter_group_name = ""
64+
az_mode = "cross-az"
65+
port = 11211
66+
node_type = "cache.t2.micro"
67+
num_cache_nodes = 2
68+
subnet_ids = module.subnets.public_subnet_id
69+
availability_zones = ["eu-west-1a", "eu-west-1b"]
6870
extra_tags = {
6971
Application = "CloudDrove"
7072
}

_example/redis/example.tf

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@ module "redis" {
5757
allowed_ports = [6379]
5858

5959
cluster_replication_enabled = true
60-
replication_enabled = true
6160
engine = "redis"
6261
engine_version = "7.0"
6362
parameter_group_name = "default.redis7"

main.tf

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ resource "aws_route53_record" "elasticache" {
222222
type = var.route53_type
223223
ttl = var.route53_ttl
224224
zone_id = var.route53_zone_id
225-
records = var.automatic_failover_enabled == true ? aws_elasticache_replication_group.cluster.*.configuration_endpoint_address : aws_elasticache_cluster.default.*.configuration_endpoint
225+
records = var.automatic_failover_enabled ? [join("", aws_elasticache_replication_group.cluster[*].configuration_endpoint_address)] : [join("", aws_elasticache_replication_group.cluster[*].primary_endpoint_address)]
226226
}
227227

228228
##----------------------------------------------------------------------------------
@@ -239,14 +239,40 @@ resource "aws_ssm_parameter" "secret" {
239239
}
240240

241241
##----------------------------------------------------------------------------------
242-
## Below resource will create ssm-parameter resource for redis and memcached with endpoint.
242+
## Below resource will create ssm-parameter resource for redis with endpoint.
243243
##----------------------------------------------------------------------------------
244244
resource "aws_ssm_parameter" "secret-endpoint" {
245245
count = var.enable && var.ssm_parameter_endpoint_enabled ? 1 : 0
246246

247247
name = format("/%s/%s/endpoint", var.environment, var.name)
248248
description = var.ssm_parameter_description
249249
type = var.ssm_parameter_type
250-
value = var.automatic_failover_enabled == true ? join("", aws_elasticache_replication_group.cluster.*.configuration_endpoint_address) : join("", aws_elasticache_cluster.default.*.configuration_endpoint)
250+
value = var.automatic_failover_enabled ? [join("", aws_elasticache_replication_group.cluster[*].configuration_endpoint_address)][0] : [join("", aws_elasticache_replication_group.cluster[*].primary_endpoint_address)][0]
251+
key_id = var.kms_key_id == "" ? join("", aws_kms_key.default.*.arn) : var.kms_key_id
252+
}
253+
254+
##----------------------------------------------------------------------------------
255+
## Below resource will create ROUTE-53 resource for memcached.
256+
##----------------------------------------------------------------------------------
257+
resource "aws_route53_record" "memcached_route_53" {
258+
count = var.memcached_route53_record_enabled ? 1 : 0
259+
260+
name = var.dns_record_name
261+
zone_id = var.route53_zone_id
262+
type = var.route53_type
263+
ttl = var.route53_ttl
264+
records = aws_elasticache_cluster.default.*.configuration_endpoint
265+
}
266+
267+
##----------------------------------------------------------------------------------
268+
## Below resource will create ssm-parameter resource for memcached with endpoint.
269+
##----------------------------------------------------------------------------------
270+
resource "aws_ssm_parameter" "memcached_secret-endpoint" {
271+
count = var.memcached_ssm_parameter_endpoint_enabled ? 1 : 0
272+
273+
name = format("/%s/%s/memcached-endpoint", var.environment, var.name)
274+
description = var.ssm_parameter_description
275+
type = var.ssm_parameter_type
276+
value = join("", aws_elasticache_cluster.default.*.configuration_endpoint)
251277
key_id = var.kms_key_id == "" ? join("", aws_kms_key.default.*.arn) : var.kms_key_id
252278
}

outputs.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Module : Redis
22
# Description : Terraform module to create Elasticache Cluster and replica for Redis.
33
output "id" {
4-
value = var.cluster_enabled ? "" : (var.replication_enabled ? join("", aws_elasticache_replication_group.cluster.*.id) : join("", aws_elasticache_replication_group.cluster.*.id))
4+
value = var.cluster_enabled ? "" : (var.cluster_replication_enabled ? join("", aws_elasticache_replication_group.cluster.*.id) : join("", aws_elasticache_replication_group.cluster.*.id))
55
description = "Redis cluster id."
66
}
77

variables.tf

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -198,12 +198,6 @@ variable "family" {
198198
description = "(Required) The family of the ElastiCache parameter group."
199199
}
200200

201-
variable "replication_enabled" {
202-
type = bool
203-
default = false
204-
description = "(Redis only) Enabled or disabled replication_group for redis standalone instance."
205-
}
206-
207201
variable "cluster_replication_enabled" {
208202
type = bool
209203
default = false
@@ -385,10 +379,16 @@ variable "sg_description" {
385379
##---------------------route53------------------------
386380
variable "route53_record_enabled" {
387381
type = bool
388-
default = true
382+
default = false
389383
description = "Whether to create Route53 record set."
390384
}
391385

386+
variable "memcached_route53_record_enabled" {
387+
type = bool
388+
default = false
389+
description = "Whether to create Route53 record memcached set."
390+
}
391+
392392
variable "route53_type" {
393393
type = string
394394
default = ""
@@ -421,7 +421,13 @@ variable "ssm_parameter_enabled" {
421421
}
422422
variable "ssm_parameter_endpoint_enabled" {
423423
type = bool
424-
default = true
424+
default = false
425+
description = "Name of the parameter."
426+
}
427+
428+
variable "memcached_ssm_parameter_endpoint_enabled" {
429+
type = bool
430+
default = false
425431
description = "Name of the parameter."
426432
}
427433

0 commit comments

Comments
 (0)