diff --git a/README.md b/README.md index df6657e8..c1d2de0f 100644 --- a/README.md +++ b/README.md @@ -121,7 +121,7 @@ You need the following permissions to run this module. | Name | Version | |------|---------| -| [terraform](#requirement\_terraform) | >= 1.9.0 | +| [terraform](#requirement\_terraform) | >= 1.3.0 | | [helm](#requirement\_helm) | >= 2.15.0, <3.0.0 | | [ibm](#requirement\_ibm) | >= 1.69.2, <2.0.0 | diff --git a/examples/obs-agent-iks/version.tf b/examples/obs-agent-iks/version.tf index a52dc79c..c32ea61b 100644 --- a/examples/obs-agent-iks/version.tf +++ b/examples/obs-agent-iks/version.tf @@ -1,5 +1,5 @@ terraform { - required_version = ">= 1.9.0" + required_version = ">= 1.3.0" # Ensure that there is always 1 example locked into the lowest provider version of the range defined in the main # module's version.tf (this example), and 1 example that will always use the latest provider version (obs-agent-ocp). diff --git a/examples/obs-agent-ocp/version.tf b/examples/obs-agent-ocp/version.tf index aad29be6..3b3c31b0 100644 --- a/examples/obs-agent-ocp/version.tf +++ b/examples/obs-agent-ocp/version.tf @@ -1,5 +1,5 @@ terraform { - required_version = ">= 1.9.0" + required_version = ">= 1.3.0" # Ensure that there is always 1 example locked into the lowest provider version of the range defined in the main # module's version.tf (obs-agent-iks), and 1 example that will always use the latest provider version (this exammple). diff --git a/main.tf b/main.tf index 43739164..9c756319 100644 --- a/main.tf +++ b/main.tf @@ -51,6 +51,13 @@ locals { cloud_monitoring_key_validate_msg = "Values for 'cloud_monitoring_access_key' and 'log_analysis_instance_region' variables must be passed when 'cloud_monitoring_enabled = true'" # tflint-ignore: terraform_unused_declarations cloud_monitoring_key_validate_check = regex("^${local.cloud_monitoring_key_validate_msg}$", (!local.cloud_monitoring_key_validate_condition ? local.cloud_monitoring_key_validate_msg : "")) + # Logs Agent Validation + # tflint-ignore: terraform_unused_declarations + validate_iam_mode = var.logs_agent_enabled == true && (var.logs_agent_iam_mode == "IAMAPIKey" && (var.logs_agent_iam_api_key == null || var.logs_agent_iam_api_key == "")) ? tobool("When passing 'IAMAPIKey' value for 'logs_agent_iam_mode' you cannot set 'logs_agent_iam_api_key' as null or empty string.") : true + # tflint-ignore: terraform_unused_declarations + validate_trusted_profile_mode = var.logs_agent_enabled == true && (var.logs_agent_iam_mode == "TrustedProfile" && (var.logs_agent_trusted_profile == null || var.logs_agent_trusted_profile == "")) ? tobool(" When passing 'TrustedProfile' value for 'logs_agent_iam_mode' you cannot set 'logs_agent_trusted_profile' as null or empty string.") : true + # tflint-ignore: terraform_unused_declarations + validate_icl_ingress_endpoint = var.logs_agent_enabled == true && (var.cloud_logs_ingress_endpoint == null || var.cloud_logs_ingress_endpoint == "") ? tobool("When 'logs_agent_enabled' is enabled, you cannot set 'cloud_logs_ingress_endpoint' as null or empty string.") : true } /** Log Analysis Configuration Start **/ diff --git a/modules/logs-agent/README.md b/modules/logs-agent/README.md index 44ed0d8e..18ae8a3d 100644 --- a/modules/logs-agent/README.md +++ b/modules/logs-agent/README.md @@ -59,7 +59,7 @@ module "logs_agent_module" { | Name | Version | |------|---------| -| [terraform](#requirement\_terraform) | >= 1.9.0 | +| [terraform](#requirement\_terraform) | >= 1.3.0 | | [helm](#requirement\_helm) | >= 2.11.0, <3.0.0 | | [ibm](#requirement\_ibm) | >= 1.59.0, <2.0.0 | diff --git a/modules/logs-agent/variables.tf b/modules/logs-agent/variables.tf index cc76d9ba..7e30cd14 100644 --- a/modules/logs-agent/variables.tf +++ b/modules/logs-agent/variables.tf @@ -51,14 +51,6 @@ variable "logs_agent_trusted_profile" { type = string description = "The IBM Cloud trusted profile ID. Used only when `logs_agent_iam_mode` is set to `TrustedProfile`. The trusted profile must have an IBM Cloud Logs `Sender` role." default = null - - validation { - condition = ( - var.logs_agent_iam_mode != "TrustedProfile" || - (var.logs_agent_trusted_profile != null && var.logs_agent_trusted_profile != "") - ) - error_message = "When 'logs_agent_iam_mode' is set to 'TrustedProfile', 'logs_agent_trusted_profile' cannot be null or an empty string." - } } @@ -67,14 +59,6 @@ variable "logs_agent_iam_api_key" { description = "The IBM Cloud API key for the Logs agent to authenticate and communicate with the IBM Cloud Logs. It is required if `logs_agent_iam_mode` is set to `IAMAPIKey`." sensitive = true default = null - - validation { - condition = ( - var.logs_agent_iam_mode != "IAMAPIKey" || - (var.logs_agent_iam_api_key != null && var.logs_agent_iam_api_key != "") - ) - error_message = "When 'logs_agent_iam_mode' is set to 'IAMAPIKey', 'logs_agent_iam_api_key' cannot be null or an empty string." - } } variable "logs_agent_tolerations" { @@ -158,11 +142,6 @@ variable "cloud_logs_ingress_endpoint" { description = "The host for IBM Cloud Logs ingestion. Ensure you use the ingress endpoint. See https://cloud.ibm.com/docs/cloud-logs?topic=cloud-logs-endpoints_ingress." type = string default = null - - validation { - condition = (var.cloud_logs_ingress_endpoint != null && var.cloud_logs_ingress_endpoint != "") - error_message = "When 'logs_agent_enabled' is enabled, you cannot set 'cloud_logs_ingress_endpoint' as null or empty string." - } } variable "cloud_logs_ingress_port" { diff --git a/modules/logs-agent/version.tf b/modules/logs-agent/version.tf index 42854b02..7e8fd8af 100644 --- a/modules/logs-agent/version.tf +++ b/modules/logs-agent/version.tf @@ -1,5 +1,5 @@ terraform { - required_version = ">= 1.9.0" + required_version = ">= 1.3.0" # Each required provider's version should be a flexible range to future proof the module's usage with upcoming minor and patch versions. required_providers { diff --git a/version.tf b/version.tf index 6121ddb9..0a0983c1 100644 --- a/version.tf +++ b/version.tf @@ -1,5 +1,5 @@ terraform { - required_version = ">= 1.9.0" + required_version = ">= 1.3.0" # Each required provider's version should be a flexible range to future proof the module's usage with upcoming minor and patch versions. required_providers {