diff --git a/README.md b/README.md index e437ed6..a694d89 100644 --- a/README.md +++ b/README.md @@ -463,7 +463,7 @@ No modules. | [subnet\_ids](#input\_subnet\_ids) | List of VPC Subnet IDs for the Elasticache subnet group | `list(string)` | `[]` | no | | [tags](#input\_tags) | A map of tags to add to all resources | `map(string)` | `{}` | no | | [timeouts](#input\_timeouts) | Define maximum timeout for creating, updating, and deleting cluster resource | `map(string)` | `{}` | no | -| [transit\_encryption\_enabled](#input\_transit\_encryption\_enabled) | Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC | `bool` | `true` | no | +| [transit\_encryption\_enabled](#input\_transit\_encryption\_enabled) | Enable encryption in-transit. | `bool` | `null` | no | | [transit\_encryption\_mode](#input\_transit\_encryption\_mode) | A setting that enables clients to migrate to in-transit encryption with no downtime. Valid values are preferred and required | `string` | `null` | no | | [user\_group\_ids](#input\_user\_group\_ids) | User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid | `list(string)` | `null` | no | | [vpc\_id](#input\_vpc\_id) | Identifier of the VPC where the security group will be created | `string` | `null` | no | diff --git a/examples/redis-replication-group/main.tf b/examples/redis-replication-group/main.tf index 52ae6ed..5d036ab 100644 --- a/examples/redis-replication-group/main.tf +++ b/examples/redis-replication-group/main.tf @@ -30,10 +30,9 @@ module "elasticache" { engine_version = "7.1" node_type = "cache.t4g.small" - transit_encryption_enabled = true - auth_token = "PickSomethingMoreSecure123!" - maintenance_window = "sun:05:00-sun:09:00" - apply_immediately = true + auth_token = "PickSomethingMoreSecure123!" + maintenance_window = "sun:05:00-sun:09:00" + apply_immediately = true # Security Group vpc_id = module.vpc.vpc_id @@ -63,6 +62,10 @@ module "elasticache" { } ] + # enable encryption in-transit + transit_encryption_enabled = true + transit_encryption_mode = "required" + tags = local.tags } diff --git a/main.tf b/main.tf index 98cbbb0..fc0e4a3 100644 --- a/main.tf +++ b/main.tf @@ -58,7 +58,8 @@ resource "aws_elasticache_cluster" "this" { snapshot_retention_limit = local.in_replication_group ? null : var.snapshot_retention_limit snapshot_window = local.in_replication_group ? null : var.snapshot_window subnet_group_name = local.in_replication_group ? null : local.subnet_group_name - transit_encryption_enabled = var.engine == "memcached" ? var.transit_encryption_enabled : null + # this makes it so that the transit encryption is enabled by default for memcached, which prevents a backwards incompatible change + transit_encryption_enabled = var.engine == "memcached" ? true : var.transit_encryption_enabled tags = local.tags diff --git a/variables.tf b/variables.tf index f4049d6..d4a130a 100644 --- a/variables.tf +++ b/variables.tf @@ -176,9 +176,9 @@ variable "snapshot_window" { } variable "transit_encryption_enabled" { - description = "Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC" + description = "Enable encryption in-transit." type = bool - default = true + default = null } variable "transit_encryption_mode" {