diff --git a/README.md b/README.md
index 7d3ae81479..b272a6475d 100644
--- a/README.md
+++ b/README.md
@@ -175,7 +175,7 @@ We are grateful to the community for contributing bugfixes and improvements! Ple
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.3.2 |
-| [aws](#requirement\_aws) | >= 5.70 |
+| [aws](#requirement\_aws) | >= 5.74 |
| [time](#requirement\_time) | >= 0.9 |
| [tls](#requirement\_tls) | >= 3.0 |
@@ -183,7 +183,7 @@ We are grateful to the community for contributing bugfixes and improvements! Ple
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 5.70 |
+| [aws](#provider\_aws) | >= 5.74 |
| [time](#provider\_time) | >= 0.9 |
| [tls](#provider\_tls) | >= 3.0 |
@@ -268,6 +268,7 @@ We are grateful to the community for contributing bugfixes and improvements! Ple
| [cluster\_timeouts](#input\_cluster\_timeouts) | Create, update, and delete timeout configurations for the cluster | `map(string)` | `{}` | no |
| [cluster\_upgrade\_policy](#input\_cluster\_upgrade\_policy) | Configuration block for the cluster upgrade policy | `any` | `{}` | no |
| [cluster\_version](#input\_cluster\_version) | Kubernetes `.` version to use for the EKS cluster (i.e.: `1.27`) | `string` | `null` | no |
+| [cluster\_zonal\_shift\_config](#input\_cluster\_zonal\_shift\_config) | Configuration block for the cluster zonal shift | `any` | `{}` | no |
| [control\_plane\_subnet\_ids](#input\_control\_plane\_subnet\_ids) | A list of subnet IDs where the EKS cluster control plane (ENIs) will be provisioned. Used for expanding the pool of subnets used by nodes/node groups without replacing the EKS control plane | `list(string)` | `[]` | no |
| [create](#input\_create) | Controls if resources should be created (affects nearly all resources) | `bool` | `true` | no |
| [create\_cloudwatch\_log\_group](#input\_create\_cloudwatch\_log\_group) | Determines whether a log group is created by this module for the cluster logs. If not, AWS will automatically create one if logging is enabled | `bool` | `true` | no |
diff --git a/examples/eks-managed-node-group/versions.tf b/examples/eks-managed-node-group/versions.tf
index fe57b7a76f..3cc97fa038 100644
--- a/examples/eks-managed-node-group/versions.tf
+++ b/examples/eks-managed-node-group/versions.tf
@@ -4,7 +4,7 @@ terraform {
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 5.70"
+ version = ">= 5.74"
}
}
}
diff --git a/examples/karpenter/README.md b/examples/karpenter/README.md
index 43d911a8b6..b621a36591 100644
--- a/examples/karpenter/README.md
+++ b/examples/karpenter/README.md
@@ -89,7 +89,7 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.3.2 |
-| [aws](#requirement\_aws) | >= 5.70 |
+| [aws](#requirement\_aws) | >= 5.74 |
| [helm](#requirement\_helm) | >= 2.7 |
| [kubectl](#requirement\_kubectl) | >= 2.0 |
@@ -97,8 +97,8 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 5.70 |
-| [aws.virginia](#provider\_aws.virginia) | >= 5.70 |
+| [aws](#provider\_aws) | >= 5.74 |
+| [aws.virginia](#provider\_aws.virginia) | >= 5.74 |
| [helm](#provider\_helm) | >= 2.7 |
| [kubectl](#provider\_kubectl) | >= 2.0 |
diff --git a/examples/karpenter/versions.tf b/examples/karpenter/versions.tf
index b5a6a82f39..0c0cc6c763 100644
--- a/examples/karpenter/versions.tf
+++ b/examples/karpenter/versions.tf
@@ -4,7 +4,7 @@ terraform {
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 5.70"
+ version = ">= 5.74"
}
helm = {
source = "hashicorp/helm"
diff --git a/examples/self-managed-node-group/versions.tf b/examples/self-managed-node-group/versions.tf
index fe57b7a76f..3cc97fa038 100644
--- a/examples/self-managed-node-group/versions.tf
+++ b/examples/self-managed-node-group/versions.tf
@@ -4,7 +4,7 @@ terraform {
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 5.70"
+ version = ">= 5.74"
}
}
}
diff --git a/main.tf b/main.tf
index b891b26d0e..0b62869c24 100644
--- a/main.tf
+++ b/main.tf
@@ -92,6 +92,14 @@ resource "aws_eks_cluster" "this" {
}
}
+ dynamic "zonal_shift_config" {
+ for_each = length(var.cluster_zonal_shift_config) > 0 ? [var.cluster_zonal_shift_config] : []
+
+ content {
+ enabled = try(zonal_shift_config.value.enabled, null)
+ }
+ }
+
tags = merge(
{ terraform-aws-modules = "eks" },
var.tags,
diff --git a/modules/eks-managed-node-group/README.md b/modules/eks-managed-node-group/README.md
index c64f006fc9..709885898d 100644
--- a/modules/eks-managed-node-group/README.md
+++ b/modules/eks-managed-node-group/README.md
@@ -64,13 +64,13 @@ module "eks_managed_node_group" {
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.3.2 |
-| [aws](#requirement\_aws) | >= 5.70 |
+| [aws](#requirement\_aws) | >= 5.74 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 5.70 |
+| [aws](#provider\_aws) | >= 5.74 |
## Modules
diff --git a/modules/eks-managed-node-group/versions.tf b/modules/eks-managed-node-group/versions.tf
index fe57b7a76f..3cc97fa038 100644
--- a/modules/eks-managed-node-group/versions.tf
+++ b/modules/eks-managed-node-group/versions.tf
@@ -4,7 +4,7 @@ terraform {
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 5.70"
+ version = ">= 5.74"
}
}
}
diff --git a/modules/fargate-profile/README.md b/modules/fargate-profile/README.md
index a030f5ae07..732cd7b455 100644
--- a/modules/fargate-profile/README.md
+++ b/modules/fargate-profile/README.md
@@ -29,13 +29,13 @@ module "fargate_profile" {
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.3.2 |
-| [aws](#requirement\_aws) | >= 5.70 |
+| [aws](#requirement\_aws) | >= 5.74 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 5.70 |
+| [aws](#provider\_aws) | >= 5.74 |
## Modules
diff --git a/modules/fargate-profile/versions.tf b/modules/fargate-profile/versions.tf
index fe57b7a76f..3cc97fa038 100644
--- a/modules/fargate-profile/versions.tf
+++ b/modules/fargate-profile/versions.tf
@@ -4,7 +4,7 @@ terraform {
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 5.70"
+ version = ">= 5.74"
}
}
}
diff --git a/modules/karpenter/README.md b/modules/karpenter/README.md
index b2bcc1fc6f..2ca911d156 100644
--- a/modules/karpenter/README.md
+++ b/modules/karpenter/README.md
@@ -86,13 +86,13 @@ module "karpenter" {
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.3.2 |
-| [aws](#requirement\_aws) | >= 5.70 |
+| [aws](#requirement\_aws) | >= 5.74 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 5.70 |
+| [aws](#provider\_aws) | >= 5.74 |
## Modules
diff --git a/modules/karpenter/versions.tf b/modules/karpenter/versions.tf
index fe57b7a76f..3cc97fa038 100644
--- a/modules/karpenter/versions.tf
+++ b/modules/karpenter/versions.tf
@@ -4,7 +4,7 @@ terraform {
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 5.70"
+ version = ">= 5.74"
}
}
}
diff --git a/modules/self-managed-node-group/README.md b/modules/self-managed-node-group/README.md
index 7b9ffc5a8b..c8961a104b 100644
--- a/modules/self-managed-node-group/README.md
+++ b/modules/self-managed-node-group/README.md
@@ -43,13 +43,13 @@ module "self_managed_node_group" {
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.3.2 |
-| [aws](#requirement\_aws) | >= 5.70 |
+| [aws](#requirement\_aws) | >= 5.74 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 5.70 |
+| [aws](#provider\_aws) | >= 5.74 |
## Modules
diff --git a/modules/self-managed-node-group/versions.tf b/modules/self-managed-node-group/versions.tf
index fe57b7a76f..3cc97fa038 100644
--- a/modules/self-managed-node-group/versions.tf
+++ b/modules/self-managed-node-group/versions.tf
@@ -4,7 +4,7 @@ terraform {
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 5.70"
+ version = ">= 5.74"
}
}
}
diff --git a/tests/eks-managed-node-group/README.md b/tests/eks-managed-node-group/README.md
index 70c3b10746..39af8f08ed 100644
--- a/tests/eks-managed-node-group/README.md
+++ b/tests/eks-managed-node-group/README.md
@@ -18,13 +18,13 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.3.2 |
-| [aws](#requirement\_aws) | >= 5.70 |
+| [aws](#requirement\_aws) | >= 5.74 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 5.70 |
+| [aws](#provider\_aws) | >= 5.74 |
## Modules
diff --git a/tests/eks-managed-node-group/main.tf b/tests/eks-managed-node-group/main.tf
index 5cb5ccf8b5..9c59f30507 100644
--- a/tests/eks-managed-node-group/main.tf
+++ b/tests/eks-managed-node-group/main.tf
@@ -65,6 +65,10 @@ module "eks" {
support_type = "STANDARD"
}
+ cluster_zonal_shift_config = {
+ enabled = true
+ }
+
vpc_id = module.vpc.vpc_id
subnet_ids = module.vpc.private_subnets
control_plane_subnet_ids = module.vpc.intra_subnets
diff --git a/tests/eks-managed-node-group/versions.tf b/tests/eks-managed-node-group/versions.tf
index fe57b7a76f..3cc97fa038 100644
--- a/tests/eks-managed-node-group/versions.tf
+++ b/tests/eks-managed-node-group/versions.tf
@@ -4,7 +4,7 @@ terraform {
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 5.70"
+ version = ">= 5.74"
}
}
}
diff --git a/tests/fargate-profile/README.md b/tests/fargate-profile/README.md
index 34872e8b1a..a7af7cd080 100644
--- a/tests/fargate-profile/README.md
+++ b/tests/fargate-profile/README.md
@@ -18,13 +18,13 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.3.2 |
-| [aws](#requirement\_aws) | >= 5.70 |
+| [aws](#requirement\_aws) | >= 5.74 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 5.70 |
+| [aws](#provider\_aws) | >= 5.74 |
## Modules
diff --git a/tests/fargate-profile/versions.tf b/tests/fargate-profile/versions.tf
index fe57b7a76f..3cc97fa038 100644
--- a/tests/fargate-profile/versions.tf
+++ b/tests/fargate-profile/versions.tf
@@ -4,7 +4,7 @@ terraform {
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 5.70"
+ version = ">= 5.74"
}
}
}
diff --git a/tests/self-managed-node-group/README.md b/tests/self-managed-node-group/README.md
index 1dbf43bac4..0691b7aa0b 100644
--- a/tests/self-managed-node-group/README.md
+++ b/tests/self-managed-node-group/README.md
@@ -18,13 +18,13 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.3.2 |
-| [aws](#requirement\_aws) | >= 5.70 |
+| [aws](#requirement\_aws) | >= 5.74 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 5.70 |
+| [aws](#provider\_aws) | >= 5.74 |
## Modules
diff --git a/tests/self-managed-node-group/versions.tf b/tests/self-managed-node-group/versions.tf
index fe57b7a76f..3cc97fa038 100644
--- a/tests/self-managed-node-group/versions.tf
+++ b/tests/self-managed-node-group/versions.tf
@@ -4,7 +4,7 @@ terraform {
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 5.70"
+ version = ">= 5.74"
}
}
}
diff --git a/variables.tf b/variables.tf
index 420248c744..7a7226b96a 100644
--- a/variables.tf
+++ b/variables.tf
@@ -50,6 +50,12 @@ variable "cluster_upgrade_policy" {
default = {}
}
+variable "cluster_zonal_shift_config" {
+ description = "Configuration block for the cluster zonal shift"
+ type = any
+ default = {}
+}
+
variable "cluster_additional_security_group_ids" {
description = "List of additional, externally created security group IDs to attach to the cluster control plane"
type = list(string)
diff --git a/versions.tf b/versions.tf
index 4717288ded..090ca7b00b 100644
--- a/versions.tf
+++ b/versions.tf
@@ -4,7 +4,7 @@ terraform {
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 5.70"
+ version = ">= 5.74"
}
tls = {
source = "hashicorp/tls"