diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index dabb150..b5adebd 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -1,6 +1,6 @@
repos:
- repo: https://github.com/antonbabenko/pre-commit-terraform
- rev: v1.80.0
+ rev: v1.83.4
hooks:
- id: terraform_fmt
- id: terraform_validate
diff --git a/README.md b/README.md
index 2d53af9..88f8741 100644
--- a/README.md
+++ b/README.md
@@ -223,7 +223,7 @@ We are grateful to the community for contributing bugfixes and improvements! Ple
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.0 |
-| [aws](#requirement\_aws) | >= 4.47 |
+| [aws](#requirement\_aws) | >= 4.57 |
| [kubernetes](#requirement\_kubernetes) | >= 2.10 |
| [time](#requirement\_time) | >= 0.9 |
| [tls](#requirement\_tls) | >= 3.0 |
@@ -232,7 +232,7 @@ We are grateful to the community for contributing bugfixes and improvements! Ple
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 4.47 |
+| [aws](#provider\_aws) | >= 4.57 |
| [kubernetes](#provider\_kubernetes) | >= 2.10 |
| [time](#provider\_time) | >= 0.9 |
| [tls](#provider\_tls) | >= 3.0 |
diff --git a/examples/complete/README.md b/examples/complete/README.md
index c03547b..0fd4313 100644
--- a/examples/complete/README.md
+++ b/examples/complete/README.md
@@ -34,14 +34,14 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.0 |
-| [aws](#requirement\_aws) | >= 4.47 |
+| [aws](#requirement\_aws) | >= 4.57 |
| [kubernetes](#requirement\_kubernetes) | >= 2.10 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 4.47 |
+| [aws](#provider\_aws) | >= 4.57 |
## Modules
diff --git a/examples/complete/versions.tf b/examples/complete/versions.tf
index aeb892f..d2ec4a8 100644
--- a/examples/complete/versions.tf
+++ b/examples/complete/versions.tf
@@ -4,7 +4,7 @@ terraform {
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 4.47"
+ version = ">= 4.57"
}
kubernetes = {
source = "hashicorp/kubernetes"
diff --git a/examples/eks_managed_node_group/README.md b/examples/eks_managed_node_group/README.md
index 0902733..c5278e0 100644
--- a/examples/eks_managed_node_group/README.md
+++ b/examples/eks_managed_node_group/README.md
@@ -30,14 +30,14 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.0 |
-| [aws](#requirement\_aws) | >= 4.47 |
+| [aws](#requirement\_aws) | >= 4.57 |
| [kubernetes](#requirement\_kubernetes) | >= 2.10 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 4.47 |
+| [aws](#provider\_aws) | >= 4.57 |
## Modules
diff --git a/examples/eks_managed_node_group/versions.tf b/examples/eks_managed_node_group/versions.tf
index aeb892f..d2ec4a8 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 = ">= 4.47"
+ version = ">= 4.57"
}
kubernetes = {
source = "hashicorp/kubernetes"
diff --git a/examples/fargate_profile/README.md b/examples/fargate_profile/README.md
index 6ca254d..9d41ed4 100644
--- a/examples/fargate_profile/README.md
+++ b/examples/fargate_profile/README.md
@@ -20,7 +20,7 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.0 |
-| [aws](#requirement\_aws) | >= 4.47 |
+| [aws](#requirement\_aws) | >= 4.57 |
| [helm](#requirement\_helm) | >= 2.7 |
| [null](#requirement\_null) | >= 3.0 |
@@ -28,7 +28,7 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 4.47 |
+| [aws](#provider\_aws) | >= 4.57 |
## Modules
diff --git a/examples/fargate_profile/versions.tf b/examples/fargate_profile/versions.tf
index 17db7d8..10d7878 100644
--- a/examples/fargate_profile/versions.tf
+++ b/examples/fargate_profile/versions.tf
@@ -4,7 +4,7 @@ terraform {
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 4.47"
+ version = ">= 4.57"
}
helm = {
source = "hashicorp/helm"
diff --git a/examples/karpenter/README.md b/examples/karpenter/README.md
index d336b10..6549a3e 100644
--- a/examples/karpenter/README.md
+++ b/examples/karpenter/README.md
@@ -52,7 +52,7 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.0 |
-| [aws](#requirement\_aws) | >= 4.47 |
+| [aws](#requirement\_aws) | >= 4.57 |
| [helm](#requirement\_helm) | >= 2.7 |
| [kubectl](#requirement\_kubectl) | >= 1.14 |
| [kubernetes](#requirement\_kubernetes) | >= 2.10 |
@@ -62,8 +62,8 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 4.47 |
-| [aws.virginia](#provider\_aws.virginia) | >= 4.47 |
+| [aws](#provider\_aws) | >= 4.57 |
+| [aws.virginia](#provider\_aws.virginia) | >= 4.57 |
| [helm](#provider\_helm) | >= 2.7 |
| [kubectl](#provider\_kubectl) | >= 1.14 |
diff --git a/examples/karpenter/versions.tf b/examples/karpenter/versions.tf
index cab7b21..f1f0ee4 100644
--- a/examples/karpenter/versions.tf
+++ b/examples/karpenter/versions.tf
@@ -4,7 +4,7 @@ terraform {
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 4.47"
+ version = ">= 4.57"
}
kubernetes = {
source = "hashicorp/kubernetes"
diff --git a/examples/outposts/README.md b/examples/outposts/README.md
index 3368494..ff2542c 100644
--- a/examples/outposts/README.md
+++ b/examples/outposts/README.md
@@ -42,14 +42,14 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.0 |
-| [aws](#requirement\_aws) | >= 4.47 |
+| [aws](#requirement\_aws) | >= 4.57 |
| [kubernetes](#requirement\_kubernetes) | >= 2.10 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 4.47 |
+| [aws](#provider\_aws) | >= 4.57 |
| [kubernetes](#provider\_kubernetes) | >= 2.10 |
## Modules
diff --git a/examples/outposts/prerequisites/versions.tf b/examples/outposts/prerequisites/versions.tf
index 5f058b4..01d187a 100644
--- a/examples/outposts/prerequisites/versions.tf
+++ b/examples/outposts/prerequisites/versions.tf
@@ -4,7 +4,7 @@ terraform {
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 4.34"
+ version = ">= 4.57"
}
}
}
diff --git a/examples/outposts/versions.tf b/examples/outposts/versions.tf
index aeb892f..d2ec4a8 100644
--- a/examples/outposts/versions.tf
+++ b/examples/outposts/versions.tf
@@ -4,7 +4,7 @@ terraform {
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 4.47"
+ version = ">= 4.57"
}
kubernetes = {
source = "hashicorp/kubernetes"
diff --git a/examples/self_managed_node_group/README.md b/examples/self_managed_node_group/README.md
index c5ddbc3..5d849be 100644
--- a/examples/self_managed_node_group/README.md
+++ b/examples/self_managed_node_group/README.md
@@ -26,14 +26,14 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.0 |
-| [aws](#requirement\_aws) | >= 4.47 |
+| [aws](#requirement\_aws) | >= 4.57 |
| [kubernetes](#requirement\_kubernetes) | >= 2.10 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 4.47 |
+| [aws](#provider\_aws) | >= 4.57 |
## Modules
diff --git a/examples/self_managed_node_group/main.tf b/examples/self_managed_node_group/main.tf
index 87be519..d359226 100644
--- a/examples/self_managed_node_group/main.tf
+++ b/examples/self_managed_node_group/main.tf
@@ -216,6 +216,58 @@ module "eks" {
}
}
+ instance_attributes = {
+ name = "instance-attributes"
+
+ min_size = 1
+ max_size = 2
+ desired_size = 1
+
+ bootstrap_extra_args = "--kubelet-extra-args '--node-labels=node.kubernetes.io/lifecycle=spot'"
+
+ instance_type = null
+
+ # launch template configuration
+ instance_requirements = {
+ cpu_manufacturers = ["intel"]
+ instance_generations = ["current", "previous"]
+ spot_max_price_percentage_over_lowest_price = 100
+
+ vcpu_count = {
+ min = 1
+ }
+
+ allowed_instance_types = ["t*", "m*"]
+ }
+
+ use_mixed_instances_policy = true
+ mixed_instances_policy = {
+ instances_distribution = {
+ on_demand_base_capacity = 0
+ on_demand_percentage_above_base_capacity = 0
+ on_demand_allocation_strategy = "lowest-price"
+ spot_allocation_strategy = "price-capacity-optimized"
+ }
+
+ # ASG configuration
+ override = [
+ {
+ instance_requirements = {
+ cpu_manufacturers = ["intel"]
+ instance_generations = ["current", "previous"]
+ spot_max_price_percentage_over_lowest_price = 100
+
+ vcpu_count = {
+ min = 1
+ }
+
+ allowed_instance_types = ["t*", "m*"]
+ }
+ }
+ ]
+ }
+ }
+
metadata_options = {
http_endpoint = "enabled"
http_tokens = "required"
diff --git a/examples/self_managed_node_group/versions.tf b/examples/self_managed_node_group/versions.tf
index aeb892f..d2ec4a8 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 = ">= 4.47"
+ version = ">= 4.57"
}
kubernetes = {
source = "hashicorp/kubernetes"
diff --git a/modules/eks-managed-node-group/README.md b/modules/eks-managed-node-group/README.md
index 8dcb95f..69d33ae 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.0 |
-| [aws](#requirement\_aws) | >= 4.47 |
+| [aws](#requirement\_aws) | >= 4.57 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 4.47 |
+| [aws](#provider\_aws) | >= 4.57 |
## Modules
diff --git a/modules/eks-managed-node-group/versions.tf b/modules/eks-managed-node-group/versions.tf
index 55eff62..01d187a 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 = ">= 4.47"
+ version = ">= 4.57"
}
}
}
diff --git a/modules/fargate-profile/README.md b/modules/fargate-profile/README.md
index cc0bab2..d841524 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.0 |
-| [aws](#requirement\_aws) | >= 4.47 |
+| [aws](#requirement\_aws) | >= 4.57 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 4.47 |
+| [aws](#provider\_aws) | >= 4.57 |
## Modules
diff --git a/modules/fargate-profile/versions.tf b/modules/fargate-profile/versions.tf
index 55eff62..01d187a 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 = ">= 4.47"
+ version = ">= 4.57"
}
}
}
diff --git a/modules/karpenter/README.md b/modules/karpenter/README.md
index 8e9b6dc..f7b57c0 100644
--- a/modules/karpenter/README.md
+++ b/modules/karpenter/README.md
@@ -100,13 +100,13 @@ module "karpenter" {
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.0 |
-| [aws](#requirement\_aws) | >= 4.47 |
+| [aws](#requirement\_aws) | >= 4.57 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 4.47 |
+| [aws](#provider\_aws) | >= 4.57 |
## Modules
diff --git a/modules/karpenter/versions.tf b/modules/karpenter/versions.tf
index 55eff62..01d187a 100644
--- a/modules/karpenter/versions.tf
+++ b/modules/karpenter/versions.tf
@@ -4,7 +4,7 @@ terraform {
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 4.47"
+ version = ">= 4.57"
}
}
}
diff --git a/modules/self-managed-node-group/main.tf b/modules/self-managed-node-group/main.tf
index 049e32d..e29e52a 100644
--- a/modules/self-managed-node-group/main.tf
+++ b/modules/self-managed-node-group/main.tf
@@ -527,8 +527,9 @@ resource "aws_autoscaling_group" "this" {
}
}
- accelerator_types = try(instance_requirements.value.accelerator_types, [])
- bare_metal = try(instance_requirements.value.bare_metal, null)
+ accelerator_types = try(instance_requirements.value.accelerator_types, [])
+ allowed_instance_types = try(instance_requirements.value.allowed_instance_types, null)
+ bare_metal = try(instance_requirements.value.bare_metal, null)
dynamic "baseline_ebs_bandwidth_mbps" {
for_each = try([instance_requirements.value.baseline_ebs_bandwidth_mbps], [])
diff --git a/versions.tf b/versions.tf
index dfe867e..e3bdcbf 100644
--- a/versions.tf
+++ b/versions.tf
@@ -4,7 +4,7 @@ terraform {
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 4.47"
+ version = ">= 4.57"
}
tls = {
source = "hashicorp/tls"