diff --git a/README.md b/README.md
index 9cea7db..e437ed6 100644
--- a/README.md
+++ b/README.md
@@ -366,14 +366,14 @@ Examples codified under the [`examples`](https://github.com/terraform-aws-module
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.0 |
-| [aws](#requirement\_aws) | >= 5.73 |
+| [aws](#requirement\_aws) | >= 5.93 |
| [random](#requirement\_random) | >= 3.0 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 5.73 |
+| [aws](#provider\_aws) | >= 5.93 |
| [random](#provider\_random) | >= 3.0 |
## Modules
@@ -462,6 +462,7 @@ No modules.
| [subnet\_group\_name](#input\_subnet\_group\_name) | The name of the subnet group. If `create_subnet_group` is `true`, this is the name assigned to the subnet group created. Otherwise, this is the name of an existing subnet group | `string` | `null` | no |
| [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\_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 |
diff --git a/examples/redis-cluster/main.tf b/examples/redis-cluster/main.tf
index d2fa6fc..9e1e504 100644
--- a/examples/redis-cluster/main.tf
+++ b/examples/redis-cluster/main.tf
@@ -64,6 +64,12 @@ module "elasticache" {
]
tags = local.tags
+
+ timeouts = {
+ create = "1h"
+ update = "2h"
+ delete = "1h"
+ }
}
module "elasticache_disabled" {
diff --git a/main.tf b/main.tf
index 69a3b9b..4097459 100644
--- a/main.tf
+++ b/main.tf
@@ -61,6 +61,12 @@ resource "aws_elasticache_cluster" "this" {
transit_encryption_enabled = var.engine == "memcached" ? var.transit_encryption_enabled : null
tags = local.tags
+
+ timeouts {
+ create = try(var.timeouts.create, null)
+ update = try(var.timeouts.update, null)
+ delete = try(var.timeouts.delete, null)
+ }
}
################################################################################
diff --git a/variables.tf b/variables.tf
index 55b36ba..f4049d6 100644
--- a/variables.tf
+++ b/variables.tf
@@ -187,6 +187,12 @@ variable "transit_encryption_mode" {
default = null
}
+variable "timeouts" {
+ description = "Define maximum timeout for creating, updating, and deleting cluster resource"
+ type = map(string)
+ default = {}
+}
+
################################################################################
# Replication Group
################################################################################
diff --git a/versions.tf b/versions.tf
index 648b57a..6dda813 100644
--- a/versions.tf
+++ b/versions.tf
@@ -4,7 +4,7 @@ terraform {
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 5.73"
+ version = ">= 5.93"
}
random = {
source = "hashicorp/random"