diff --git a/README.md b/README.md
index 46345450d..3e4c9df11 100644
--- a/README.md
+++ b/README.md
@@ -842,7 +842,7 @@ module "cluster_pattern" {
| Name | Version |
|------|---------|
-| [terraform](#requirement\_terraform) | >= 1.3 |
+| [terraform](#requirement\_terraform) | >= 1.9.0 |
| [ibm](#requirement\_ibm) | >= 1.78.0, < 2.0.0 |
| [random](#requirement\_random) | >= 3.4.3, < 4.0.0 |
| [time](#requirement\_time) | >= 0.9.1, < 1.0.0 |
diff --git a/dynamic_values/config_modules/appid/versions.tf b/dynamic_values/config_modules/appid/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/dynamic_values/config_modules/appid/versions.tf
+++ b/dynamic_values/config_modules/appid/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/dynamic_values/config_modules/bastion_vsi_list_to_map/versions.tf b/dynamic_values/config_modules/bastion_vsi_list_to_map/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/dynamic_values/config_modules/bastion_vsi_list_to_map/versions.tf
+++ b/dynamic_values/config_modules/bastion_vsi_list_to_map/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/dynamic_values/config_modules/cluster_worker_pools/versions.tf b/dynamic_values/config_modules/cluster_worker_pools/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/dynamic_values/config_modules/cluster_worker_pools/versions.tf
+++ b/dynamic_values/config_modules/cluster_worker_pools/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/dynamic_values/config_modules/clusters/versions.tf b/dynamic_values/config_modules/clusters/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/dynamic_values/config_modules/clusters/versions.tf
+++ b/dynamic_values/config_modules/clusters/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/dynamic_values/config_modules/cos/versions.tf b/dynamic_values/config_modules/cos/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/dynamic_values/config_modules/cos/versions.tf
+++ b/dynamic_values/config_modules/cos/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/dynamic_values/config_modules/f5/versions.tf b/dynamic_values/config_modules/f5/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/dynamic_values/config_modules/f5/versions.tf
+++ b/dynamic_values/config_modules/f5/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/dynamic_values/config_modules/flow_logs/versions.tf b/dynamic_values/config_modules/flow_logs/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/dynamic_values/config_modules/flow_logs/versions.tf
+++ b/dynamic_values/config_modules/flow_logs/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/dynamic_values/config_modules/get_subnets/versions.tf b/dynamic_values/config_modules/get_subnets/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/dynamic_values/config_modules/get_subnets/versions.tf
+++ b/dynamic_values/config_modules/get_subnets/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/dynamic_values/config_modules/list_to_map/versions.tf b/dynamic_values/config_modules/list_to_map/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/dynamic_values/config_modules/list_to_map/versions.tf
+++ b/dynamic_values/config_modules/list_to_map/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/dynamic_values/config_modules/list_to_map_value/versions.tf b/dynamic_values/config_modules/list_to_map_value/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/dynamic_values/config_modules/list_to_map_value/versions.tf
+++ b/dynamic_values/config_modules/list_to_map_value/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/dynamic_values/config_modules/nested_list_to_map_and_merge/versions.tf b/dynamic_values/config_modules/nested_list_to_map_and_merge/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/dynamic_values/config_modules/nested_list_to_map_and_merge/versions.tf
+++ b/dynamic_values/config_modules/nested_list_to_map_and_merge/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/dynamic_values/config_modules/service_authorizations/versions.tf b/dynamic_values/config_modules/service_authorizations/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/dynamic_values/config_modules/service_authorizations/versions.tf
+++ b/dynamic_values/config_modules/service_authorizations/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/dynamic_values/config_modules/vpe/versions.tf b/dynamic_values/config_modules/vpe/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/dynamic_values/config_modules/vpe/versions.tf
+++ b/dynamic_values/config_modules/vpe/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/dynamic_values/config_modules/vpn/versions.tf b/dynamic_values/config_modules/vpn/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/dynamic_values/config_modules/vpn/versions.tf
+++ b/dynamic_values/config_modules/vpn/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/dynamic_values/config_modules/vsi/versions.tf b/dynamic_values/config_modules/vsi/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/dynamic_values/config_modules/vsi/versions.tf
+++ b/dynamic_values/config_modules/vsi/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/dynamic_values/versions.tf b/dynamic_values/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/dynamic_values/versions.tf
+++ b/dynamic_values/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/examples/one-vpc-one-vsi/version.tf b/examples/one-vpc-one-vsi/version.tf
index dec548dda..afa73c92a 100644
--- a/examples/one-vpc-one-vsi/version.tf
+++ b/examples/one-vpc-one-vsi/version.tf
@@ -1,5 +1,5 @@
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
required_providers {
ibm = {
source = "IBM-Cloud/ibm"
diff --git a/examples/override-example/version.tf b/examples/override-example/version.tf
index dec548dda..afa73c92a 100644
--- a/examples/override-example/version.tf
+++ b/examples/override-example/version.tf
@@ -1,5 +1,5 @@
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
required_providers {
ibm = {
source = "IBM-Cloud/ibm"
diff --git a/f5_config/versions.tf b/f5_config/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/f5_config/versions.tf
+++ b/f5_config/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/kms/dynamic_values/versions.tf b/kms/dynamic_values/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/kms/dynamic_values/versions.tf
+++ b/kms/dynamic_values/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/kms/versions.tf b/kms/versions.tf
index a632ab835..930d1e4ba 100644
--- a/kms/versions.tf
+++ b/kms/versions.tf
@@ -3,13 +3,13 @@
##############################################################################
terraform {
+ required_version = ">= 1.9.0"
required_providers {
ibm = {
source = "IBM-Cloud/ibm"
version = ">= 1.60.0, < 2.0.0"
}
}
- required_version = ">= 1.3"
}
##############################################################################
diff --git a/patterns/dynamic_values/config_modules/acl_rules/versions.tf b/patterns/dynamic_values/config_modules/acl_rules/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/patterns/dynamic_values/config_modules/acl_rules/versions.tf
+++ b/patterns/dynamic_values/config_modules/acl_rules/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/patterns/dynamic_values/config_modules/bastion_gateways/versions.tf b/patterns/dynamic_values/config_modules/bastion_gateways/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/patterns/dynamic_values/config_modules/bastion_gateways/versions.tf
+++ b/patterns/dynamic_values/config_modules/bastion_gateways/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/patterns/dynamic_values/config_modules/bastion_vsi/versions.tf b/patterns/dynamic_values/config_modules/bastion_vsi/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/patterns/dynamic_values/config_modules/bastion_vsi/versions.tf
+++ b/patterns/dynamic_values/config_modules/bastion_vsi/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/patterns/dynamic_values/config_modules/bastion_zone_list/versions.tf b/patterns/dynamic_values/config_modules/bastion_zone_list/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/patterns/dynamic_values/config_modules/bastion_zone_list/versions.tf
+++ b/patterns/dynamic_values/config_modules/bastion_zone_list/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/patterns/dynamic_values/config_modules/cloud_object_storage/versions.tf b/patterns/dynamic_values/config_modules/cloud_object_storage/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/patterns/dynamic_values/config_modules/cloud_object_storage/versions.tf
+++ b/patterns/dynamic_values/config_modules/cloud_object_storage/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/patterns/dynamic_values/config_modules/default_security_group_rules/versions.tf b/patterns/dynamic_values/config_modules/default_security_group_rules/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/patterns/dynamic_values/config_modules/default_security_group_rules/versions.tf
+++ b/patterns/dynamic_values/config_modules/default_security_group_rules/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/patterns/dynamic_values/config_modules/f5_deployments/versions.tf b/patterns/dynamic_values/config_modules/f5_deployments/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/patterns/dynamic_values/config_modules/f5_deployments/versions.tf
+++ b/patterns/dynamic_values/config_modules/f5_deployments/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/patterns/dynamic_values/config_modules/f5_security_group_rules/versions.tf b/patterns/dynamic_values/config_modules/f5_security_group_rules/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/patterns/dynamic_values/config_modules/f5_security_group_rules/versions.tf
+++ b/patterns/dynamic_values/config_modules/f5_security_group_rules/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/patterns/dynamic_values/config_modules/f5_tiers/versions.tf b/patterns/dynamic_values/config_modules/f5_tiers/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/patterns/dynamic_values/config_modules/f5_tiers/versions.tf
+++ b/patterns/dynamic_values/config_modules/f5_tiers/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/patterns/dynamic_values/config_modules/key_management/versions.tf b/patterns/dynamic_values/config_modules/key_management/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/patterns/dynamic_values/config_modules/key_management/versions.tf
+++ b/patterns/dynamic_values/config_modules/key_management/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/patterns/dynamic_values/config_modules/network_acls/versions.tf b/patterns/dynamic_values/config_modules/network_acls/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/patterns/dynamic_values/config_modules/network_acls/versions.tf
+++ b/patterns/dynamic_values/config_modules/network_acls/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/patterns/dynamic_values/config_modules/resource_groups/versions.tf b/patterns/dynamic_values/config_modules/resource_groups/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/patterns/dynamic_values/config_modules/resource_groups/versions.tf
+++ b/patterns/dynamic_values/config_modules/resource_groups/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/patterns/dynamic_values/config_modules/security_groups/versions.tf b/patterns/dynamic_values/config_modules/security_groups/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/patterns/dynamic_values/config_modules/security_groups/versions.tf
+++ b/patterns/dynamic_values/config_modules/security_groups/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/patterns/dynamic_values/config_modules/subnet_cidr/versions.tf b/patterns/dynamic_values/config_modules/subnet_cidr/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/patterns/dynamic_values/config_modules/subnet_cidr/versions.tf
+++ b/patterns/dynamic_values/config_modules/subnet_cidr/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/patterns/dynamic_values/config_modules/vpc/versions.tf b/patterns/dynamic_values/config_modules/vpc/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/patterns/dynamic_values/config_modules/vpc/versions.tf
+++ b/patterns/dynamic_values/config_modules/vpc/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/patterns/dynamic_values/config_modules/vpc_address_prefixes/versions.tf b/patterns/dynamic_values/config_modules/vpc_address_prefixes/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/patterns/dynamic_values/config_modules/vpc_address_prefixes/versions.tf
+++ b/patterns/dynamic_values/config_modules/vpc_address_prefixes/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/patterns/dynamic_values/config_modules/vpc_subnet_tiers/versions.tf b/patterns/dynamic_values/config_modules/vpc_subnet_tiers/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/patterns/dynamic_values/config_modules/vpc_subnet_tiers/versions.tf
+++ b/patterns/dynamic_values/config_modules/vpc_subnet_tiers/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/patterns/dynamic_values/versions.tf b/patterns/dynamic_values/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/patterns/dynamic_values/versions.tf
+++ b/patterns/dynamic_values/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/patterns/mixed/config.tf b/patterns/mixed/config.tf
index 31c02ab9e..0ae720aea 100644
--- a/patterns/mixed/config.tf
+++ b/patterns/mixed/config.tf
@@ -45,16 +45,6 @@ locals {
}
override_type = var.override_json_string == "" ? "override" : "override_json_string"
- ##############################################################################
- # VALIDATION FOR SSH_KEY
- ##############################################################################
-
- override_validation = (var.override == false && length(var.override_json_string) == 0) ? true : false
- sshkey_var_validation = (var.ssh_public_key == null && var.existing_ssh_key_name == null) ? true : false
-
- # tflint-ignore: terraform_unused_declarations
- validate_ssh = local.override_validation && local.sshkey_var_validation ? tobool("Invalid input: both ssh_public_key and existing_ssh_key_name variables cannot be null together. Please provide a value for at least one of them.") : true
-
##############################################################################
# Default SSH key
##############################################################################
diff --git a/patterns/mixed/variables.tf b/patterns/mixed/variables.tf
index 094c6a2a8..2ddd33856 100644
--- a/patterns/mixed/variables.tf
+++ b/patterns/mixed/variables.tf
@@ -589,6 +589,14 @@ variable "override_json_string" {
description = "Override default values with a JSON object. Any JSON other than an empty string overrides other configuration changes. You can use the [landing zone configuration tool](https://terraform-ibm-modules.github.io/landing-zone-config-tool/#/home) to create the JSON."
type = string
default = ""
+
+ validation {
+ condition = !(
+ var.override == false && length(var.override_json_string) == 0 &&
+ var.ssh_public_key == null && var.existing_ssh_key_name == null
+ )
+ error_message = "The ssh_public_key and existing_ssh_key_name cannot both be null when override is false and override_json_string is empty."
+ }
}
##############################################################################
diff --git a/patterns/mixed/versions.tf b/patterns/mixed/versions.tf
index d7d3f6a5b..2c5e7528c 100644
--- a/patterns/mixed/versions.tf
+++ b/patterns/mixed/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
# renovate is set up to keep provider version at the latest for all DA solutions
required_providers {
ibm = {
diff --git a/patterns/roks-quickstart/version.tf b/patterns/roks-quickstart/version.tf
index 6e6e01f63..0fa787d80 100644
--- a/patterns/roks-quickstart/version.tf
+++ b/patterns/roks-quickstart/version.tf
@@ -1,5 +1,5 @@
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
required_providers {
# renovate is set up to keep provider version at the latest for all DA solutions
ibm = {
diff --git a/patterns/roks/module/versions.tf b/patterns/roks/module/versions.tf
index a632940aa..659ae1710 100644
--- a/patterns/roks/module/versions.tf
+++ b/patterns/roks/module/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
# Pin to the lowest provider version of the range defined in the main module's version.tf to ensure lowest version still works
required_providers {
# tflint-ignore: terraform_unused_required_providers
diff --git a/patterns/roks/versions.tf b/patterns/roks/versions.tf
index afb868961..82c5c9000 100644
--- a/patterns/roks/versions.tf
+++ b/patterns/roks/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
# renovate is set up to keep provider version at the latest for all DA solutions
required_providers {
ibm = {
diff --git a/patterns/vpc/module/version.tf b/patterns/vpc/module/version.tf
index a632940aa..659ae1710 100644
--- a/patterns/vpc/module/version.tf
+++ b/patterns/vpc/module/version.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
# Pin to the lowest provider version of the range defined in the main module's version.tf to ensure lowest version still works
required_providers {
# tflint-ignore: terraform_unused_required_providers
diff --git a/patterns/vpc/version.tf b/patterns/vpc/version.tf
index afb868961..82c5c9000 100644
--- a/patterns/vpc/version.tf
+++ b/patterns/vpc/version.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
# renovate is set up to keep provider version at the latest for all DA solutions
required_providers {
ibm = {
diff --git a/patterns/vsi-extension/config.tf b/patterns/vsi-extension/config.tf
index 7e18fb8b5..1d5733c69 100644
--- a/patterns/vsi-extension/config.tf
+++ b/patterns/vsi-extension/config.tf
@@ -15,15 +15,6 @@ module "default_vsi_sg_rules" {
##############################################################################
locals {
- ##############################################################################
- # VALIDATION FOR SSH_KEY
- ##############################################################################
-
- sshkey_var_validation = (var.ssh_public_key == null && var.existing_ssh_key_name == null) ? true : false
-
- # tflint-ignore: terraform_unused_declarations
- validate_ssh = local.sshkey_var_validation ? tobool("Invalid input: both ssh_public_key and existing_ssh_key_name variables cannot be null together. Please provide a value for at least one of them.") : true
-
##############################################################################
# Default SSH key
##############################################################################
diff --git a/patterns/vsi-extension/variables.tf b/patterns/vsi-extension/variables.tf
index acccf9781..5e5cb486b 100644
--- a/patterns/vsi-extension/variables.tf
+++ b/patterns/vsi-extension/variables.tf
@@ -36,6 +36,11 @@ variable "ssh_public_key" {
error_message = "The public SSH key must be a valid SSH RSA public key."
condition = var.ssh_public_key == null || can(regex("ssh-rsa AAAA[0-9A-Za-z+/]+[=]{0,3} ?([^@]+@[^@]+)?", var.ssh_public_key))
}
+
+ validation {
+ condition = var.ssh_public_key != null || var.existing_ssh_key_name != null
+ error_message = "Invalid input: both ssh_public_key and existing_ssh_key_name variables cannot be null together. Please provide a value for at least one of them."
+ }
}
variable "resource_tags" {
diff --git a/patterns/vsi-extension/version.tf b/patterns/vsi-extension/version.tf
index afb868961..82c5c9000 100644
--- a/patterns/vsi-extension/version.tf
+++ b/patterns/vsi-extension/version.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
# renovate is set up to keep provider version at the latest for all DA solutions
required_providers {
ibm = {
diff --git a/patterns/vsi-quickstart/version.tf b/patterns/vsi-quickstart/version.tf
index 6e6e01f63..0fa787d80 100644
--- a/patterns/vsi-quickstart/version.tf
+++ b/patterns/vsi-quickstart/version.tf
@@ -1,5 +1,5 @@
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
required_providers {
# renovate is set up to keep provider version at the latest for all DA solutions
ibm = {
diff --git a/patterns/vsi/module/config.tf b/patterns/vsi/module/config.tf
index f8a7468dd..92222580f 100644
--- a/patterns/vsi/module/config.tf
+++ b/patterns/vsi/module/config.tf
@@ -50,16 +50,6 @@ locals {
}
override_type = var.override_json_string == "" ? "override" : "override_json_string"
- ##############################################################################
- # VALIDATION FOR SSH_KEY
- ##############################################################################
-
- override_validation = (var.override == false && length(var.override_json_string) == 0) ? true : false
- sshkey_var_validation = (var.ssh_public_key == null && var.existing_ssh_key_name == null) ? true : false
-
- # tflint-ignore: terraform_unused_declarations
- validate_ssh = local.override_validation && local.sshkey_var_validation ? tobool("Invalid input: both ssh_public_key and existing_ssh_key_name variables cannot be null together. Please provide a value for at least one of them.") : true
-
##############################################################################
# Default SSH key
##############################################################################
diff --git a/patterns/vsi/module/variables.tf b/patterns/vsi/module/variables.tf
index 7991b56e6..4e360bedd 100644
--- a/patterns/vsi/module/variables.tf
+++ b/patterns/vsi/module/variables.tf
@@ -528,6 +528,14 @@ variable "override_json_string" {
description = "Override default values with a JSON object. Any JSON other than an empty string overrides other configuration changes. You can use the [landing zone configuration tool](https://terraform-ibm-modules.github.io/landing-zone-config-tool/#/home) to create the JSON."
type = string
default = ""
+
+ validation {
+ condition = !(
+ var.override == false && length(var.override_json_string) == 0 &&
+ var.ssh_public_key == null && var.existing_ssh_key_name == null
+ )
+ error_message = "The ssh_public_key and existing_ssh_key_name cannot both be null when override is false and override_json_string is empty."
+ }
}
variable "override_json_path" {
diff --git a/patterns/vsi/module/versions.tf b/patterns/vsi/module/versions.tf
index 30281dc19..659ae1710 100644
--- a/patterns/vsi/module/versions.tf
+++ b/patterns/vsi/module/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.9"
+ required_version = ">= 1.9.0"
# Pin to the lowest provider version of the range defined in the main module's version.tf to ensure lowest version still works
required_providers {
# tflint-ignore: terraform_unused_required_providers
diff --git a/patterns/vsi/versions.tf b/patterns/vsi/versions.tf
index e36faa68a..82c5c9000 100644
--- a/patterns/vsi/versions.tf
+++ b/patterns/vsi/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.9"
+ required_version = ">= 1.9.0"
# renovate is set up to keep provider version at the latest for all DA solutions
required_providers {
ibm = {
diff --git a/ssh_key/versions.tf b/ssh_key/versions.tf
index 1115d564f..930d1e4ba 100644
--- a/ssh_key/versions.tf
+++ b/ssh_key/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
required_providers {
ibm = {
source = "IBM-Cloud/ibm"
diff --git a/teleport_config/versions.tf b/teleport_config/versions.tf
index 8bd624a4d..25ab63421 100644
--- a/teleport_config/versions.tf
+++ b/teleport_config/versions.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
}
##############################################################################
diff --git a/tests/resources/slz-vpc/version.tf b/tests/resources/slz-vpc/version.tf
index 050d0fcc9..3e2849be1 100644
--- a/tests/resources/slz-vpc/version.tf
+++ b/tests/resources/slz-vpc/version.tf
@@ -1,5 +1,5 @@
terraform {
- required_version = ">= 1.0.0"
+ required_version = ">= 1.9.0"
required_providers {
ibm = {
source = "ibm-cloud/ibm"
diff --git a/version.tf b/version.tf
index 3007ffc76..3fac0c95b 100644
--- a/version.tf
+++ b/version.tf
@@ -3,7 +3,7 @@
##############################################################################
terraform {
- required_version = ">= 1.3"
+ required_version = ">= 1.9.0"
# Use "greater than or equal to" range for root level modules
required_providers {
ibm = {