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 {