diff --git a/modules/terraform-cdp-deploy/README.md b/modules/terraform-cdp-deploy/README.md index d9d768b..c93c1da 100644 --- a/modules/terraform-cdp-deploy/README.md +++ b/modules/terraform-cdp-deploy/README.md @@ -116,6 +116,7 @@ No resources. | [freeipa\_image\_id](#input\_freeipa\_image\_id) | Image ID to use for creating FreeIPA instances | `string` | `null` | no | | [freeipa\_instance\_type](#input\_freeipa\_instance\_type) | Instance Type to use for creating FreeIPA instances | `string` | `null` | no | | [freeipa\_instances](#input\_freeipa\_instances) | The number of FreeIPA instances to create in the environment | `number` | `3` | no | +| [freeipa\_os](#input\_freeipa\_os) | The Operating System to be used for the FreeIPA instances | `string` | `null` | no | | [freeipa\_recipes](#input\_freeipa\_recipes) | The recipes for the FreeIPA cluster | `set(string)` | `null` | no | | [gcp\_availability\_zones](#input\_gcp\_availability\_zones) | The zones of the environment in the given region. Multi-zone selection is not supported in GCP yet. It accepts only one zone until support is added. | `list(string)` | `null` | no | | [gcp\_cdp\_subnet\_names](#input\_gcp\_cdp\_subnet\_names) | List of GCP Subnet Names for CDP Resources. Required for CDP deployment on GCP. | `list(any)` | `null` | no | diff --git a/modules/terraform-cdp-deploy/main.tf b/modules/terraform-cdp-deploy/main.tf index 7ff7009..5ad92c8 100644 --- a/modules/terraform-cdp-deploy/main.tf +++ b/modules/terraform-cdp-deploy/main.tf @@ -74,6 +74,7 @@ module "cdp_on_aws" { freeipa_image_id = var.freeipa_image_id freeipa_instance_type = var.freeipa_instance_type freeipa_recipes = var.freeipa_recipes + freeipa_os = var.freeipa_os encryption_key_arn = var.encryption_key_arn @@ -154,6 +155,7 @@ module "cdp_on_azure" { freeipa_image_id = var.freeipa_image_id freeipa_instance_type = var.freeipa_instance_type freeipa_recipes = var.freeipa_recipes + freeipa_os = var.freeipa_os enable_outbound_load_balancer = var.enable_outbound_load_balancer load_balancer_sku = var.azure_load_balancer_sku diff --git a/modules/terraform-cdp-deploy/modules/aws/main.tf b/modules/terraform-cdp-deploy/modules/aws/main.tf index 772c902..70540c1 100644 --- a/modules/terraform-cdp-deploy/modules/aws/main.tf +++ b/modules/terraform-cdp-deploy/modules/aws/main.tf @@ -57,6 +57,7 @@ resource "cdp_environments_aws_environment" "cdp_env" { image_id = var.freeipa_image_id instance_type = var.freeipa_instance_type recipes = var.freeipa_recipes + os = var.freeipa_os } proxy_config_name = var.proxy_config_name diff --git a/modules/terraform-cdp-deploy/modules/aws/variables.tf b/modules/terraform-cdp-deploy/modules/aws/variables.tf index 9152e80..ce899bb 100644 --- a/modules/terraform-cdp-deploy/modules/aws/variables.tf +++ b/modules/terraform-cdp-deploy/modules/aws/variables.tf @@ -141,6 +141,18 @@ variable "freeipa_recipes" { } +variable "freeipa_os" { + type = string + + description = "The Operating System to be used for the FreeIPA instances" + + validation { + condition = (var.freeipa_os == null ? true : contains(["redhat8", "centos7"], var.freeipa_os)) + error_message = "Valid values for var: freeipa_os are (redhat8, centos7)." + } + +} + variable "proxy_config_name" { type = string @@ -194,6 +206,7 @@ variable "datalake_image" { type = object({ id = optional(string) catalog = optional(string) + os = optional(string) }) description = "The image to use for the datalake. Can only be used when the 'datalake_version' parameter is set to null. You can use 'catalog' name and/or 'id' for selecting an image." diff --git a/modules/terraform-cdp-deploy/modules/azure/main.tf b/modules/terraform-cdp-deploy/modules/azure/main.tf index 91f5bf8..4f2566e 100644 --- a/modules/terraform-cdp-deploy/modules/azure/main.tf +++ b/modules/terraform-cdp-deploy/modules/azure/main.tf @@ -78,6 +78,7 @@ resource "cdp_environments_azure_environment" "cdp_env" { image_id = var.freeipa_image_id instance_type = var.freeipa_instance_type recipes = var.freeipa_recipes + os = var.freeipa_os } proxy_config_name = var.proxy_config_name diff --git a/modules/terraform-cdp-deploy/modules/azure/variables.tf b/modules/terraform-cdp-deploy/modules/azure/variables.tf index f12ff3c..0b03a29 100644 --- a/modules/terraform-cdp-deploy/modules/azure/variables.tf +++ b/modules/terraform-cdp-deploy/modules/azure/variables.tf @@ -147,6 +147,18 @@ variable "freeipa_recipes" { } +variable "freeipa_os" { + type = string + + description = "The Operating System to be used for the FreeIPA instances" + + validation { + condition = (var.freeipa_os == null ? true : contains(["redhat8", "centos7"], var.freeipa_os)) + error_message = "Valid values for var: freeipa_os are (redhat8, centos7)." + } + +} + variable "workload_analytics" { type = bool @@ -228,6 +240,7 @@ variable "datalake_image" { type = object({ id = optional(string) catalog = optional(string) + os = optional(string) }) description = "The image to use for the datalake. Can only be used when the 'datalake_version' parameter is set to null. You can use 'catalog' name and/or 'id' for selecting an image." diff --git a/modules/terraform-cdp-deploy/modules/gcp/variables.tf b/modules/terraform-cdp-deploy/modules/gcp/variables.tf index 062a512..be517a6 100644 --- a/modules/terraform-cdp-deploy/modules/gcp/variables.tf +++ b/modules/terraform-cdp-deploy/modules/gcp/variables.tf @@ -172,6 +172,7 @@ variable "datalake_image" { type = object({ id = optional(string) catalog = optional(string) + os = optional(string) }) description = "The image to use for the datalake. Can only be used when the 'datalake_version' parameter is set to null. You can use 'catalog' name and/or 'id' for selecting an image." diff --git a/modules/terraform-cdp-deploy/variables.tf b/modules/terraform-cdp-deploy/variables.tf index 5033f68..2dcaf0b 100644 --- a/modules/terraform-cdp-deploy/variables.tf +++ b/modules/terraform-cdp-deploy/variables.tf @@ -186,6 +186,19 @@ variable "freeipa_recipes" { default = null } +variable "freeipa_os" { + type = string + + description = "The Operating System to be used for the FreeIPA instances" + + validation { + condition = (var.freeipa_os == null ? true : contains(["redhat8", "centos7"], var.freeipa_os)) + error_message = "Valid values for var: freeipa_os are (redhat8, centos7)." + } + + default = null +} + variable "proxy_config_name" { type = string @@ -258,6 +271,7 @@ variable "datalake_image" { type = object({ id = optional(string) catalog = optional(string) + os = optional(string) }) description = "The image to use for the datalake. Can only be used when the 'datalake_version' parameter is set to null. You can use 'catalog' name and/or 'id' for selecting an image."