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."