-xaccount-cred' if not specified. | `string` | `null` | no |
+| [datalake\_async\_creation](#input\_datalake\_async\_creation) | Flag to specify if Terraform should wait for CDP datalake resource creation/deletion | `bool` | `false` | no |
| [datalake\_custom\_instance\_groups](#input\_datalake\_custom\_instance\_groups) | A set of custom instance groups for the datalake. Only applicable for CDP deployment on AWS and GCP. | list(
object({
name = string,
instance_type = optional(string)
})
)
| `null` | no |
| [datalake\_image](#input\_datalake\_image) | 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. | object({
id = optional(string)
catalog = optional(string)
})
| `null` | no |
| [datalake\_java\_version](#input\_datalake\_java\_version) | The Java major version to use on the datalake cluster. | `number` | `null` | no |
@@ -93,11 +95,13 @@ No resources.
| [enable\_ccm\_tunnel](#input\_enable\_ccm\_tunnel) | Flag to enable Cluster Connectivity Manager tunnel. If false then access from Cloud to CDP Control Plane CIDRs is required from via SG ingress | `bool` | `true` | no |
| [enable\_outbound\_load\_balancer](#input\_enable\_outbound\_load\_balancer) | Create outbound load balancers for Azure environments. Only applicable for CDP deployment on Azure. | `bool` | `null` | no |
| [enable\_raz](#input\_enable\_raz) | Flag to enable Ranger Authorization Service (RAZ) | `bool` | `true` | no |
+| [encryption\_at\_host](#input\_encryption\_at\_host) | Provision resources with host encryption enabled. Only applicable for CDP deployment on Azure. | `bool` | `null` | no |
| [encryption\_key\_arn](#input\_encryption\_key\_arn) | ARN of the AWS KMS CMK to use for the server-side encryption of AWS storage resources. Only applicable for CDP deployment on AWS. | `string` | `null` | no |
| [encryption\_key\_resource\_group\_name](#input\_encryption\_key\_resource\_group\_name) | Name of the existing Azure resource group hosting the Azure Key Vault containing customer managed key which will be used to encrypt the Azure Managed Disk. Only applicable for CDP deployment on Azure. | `string` | `null` | no |
| [encryption\_key\_url](#input\_encryption\_key\_url) | URL of the key which will be used to encrypt the Azure Managed Disks. Only applicable for CDP deployment on Azure. | `string` | `null` | no |
| [endpoint\_access\_scheme](#input\_endpoint\_access\_scheme) | The scheme for the workload endpoint gateway. PUBLIC creates an external endpoint that can be accessed over the Internet. PRIVATE which restricts the traffic to be internal to the VPC / Vnet. Relevant in Private Networks. | `string` | `null` | no |
| [env\_tags](#input\_env\_tags) | Tags applied to provisioned resources | `map(any)` | `null` | no |
+| [environment\_async\_creation](#input\_environment\_async\_creation) | Flag to specify if Terraform should wait for CDP environment resource creation/deletion | `bool` | `false` | no |
| [environment\_name](#input\_environment\_name) | Name of the CDP environment. Defaults to '-cdp-env' if not specified. | `string` | `null` | no |
| [environment\_polling\_timeout](#input\_environment\_polling\_timeout) | Timeout value in minutes for how long to poll for CDP Environment resource creation/deletion | `number` | `60` | no |
| [freeipa\_catalog](#input\_freeipa\_catalog) | Image catalog to use for FreeIPA image selection | `string` | `null` | no |
diff --git a/modules/terraform-cdp-deploy/examples/ex01-aws-basic/main.tf b/modules/terraform-cdp-deploy/examples/ex01-aws-basic/main.tf
index c6e2080..62f0319 100644
--- a/modules/terraform-cdp-deploy/examples/ex01-aws-basic/main.tf
+++ b/modules/terraform-cdp-deploy/examples/ex01-aws-basic/main.tf
@@ -50,6 +50,9 @@ module "cdp_deploy" {
keypair_name = var.aws_key_pair
deployment_template = var.deployment_template
+ environment_async_creation = var.environment_async_creation
+ datalake_async_creation = var.datalake_async_creation
+
# From pre-reqs module output
aws_vpc_id = module.cdp_aws_prereqs.aws_vpc_id
aws_public_subnet_ids = module.cdp_aws_prereqs.aws_public_subnet_ids
@@ -79,7 +82,7 @@ terraform {
required_providers {
cdp = {
source = "cloudera/cdp"
- version = "0.4.2"
+ version = "0.5.8"
}
}
}
diff --git a/modules/terraform-cdp-deploy/examples/ex01-aws-basic/variables.tf b/modules/terraform-cdp-deploy/examples/ex01-aws-basic/variables.tf
index 7ceaf8f..997a1ff 100644
--- a/modules/terraform-cdp-deploy/examples/ex01-aws-basic/variables.tf
+++ b/modules/terraform-cdp-deploy/examples/ex01-aws-basic/variables.tf
@@ -45,6 +45,21 @@ variable "deployment_template" {
description = "Deployment Pattern to use for Cloud resources and CDP"
}
+variable "environment_async_creation" {
+ type = bool
+
+ description = "Flag to specify if Terraform should wait for CDP environment resource creation/deletion"
+
+ default = false
+}
+
+variable "datalake_async_creation" {
+ type = bool
+
+ description = "Flag to specify if Terraform should wait for CDP datalake resource creation/deletion"
+
+ default = false
+}
# ------- Network Resources -------
variable "ingress_extra_cidrs_and_ports" {
type = object({
diff --git a/modules/terraform-cdp-deploy/examples/ex02-azure-basic/main.tf b/modules/terraform-cdp-deploy/examples/ex02-azure-basic/main.tf
index 94109de..37f9d08 100755
--- a/modules/terraform-cdp-deploy/examples/ex02-azure-basic/main.tf
+++ b/modules/terraform-cdp-deploy/examples/ex02-azure-basic/main.tf
@@ -51,6 +51,9 @@ module "cdp_deploy" {
public_key_text = var.public_key_text
deployment_template = var.deployment_template
+ environment_async_creation = var.environment_async_creation
+ datalake_async_creation = var.datalake_async_creation
+
# From pre-reqs module output
azure_subscription_id = module.cdp_azure_prereqs.azure_subscription_id
azure_tenant_id = module.cdp_azure_prereqs.azure_tenant_id
diff --git a/modules/terraform-cdp-deploy/examples/ex02-azure-basic/variables.tf b/modules/terraform-cdp-deploy/examples/ex02-azure-basic/variables.tf
index 9d2d625..78943cd 100755
--- a/modules/terraform-cdp-deploy/examples/ex02-azure-basic/variables.tf
+++ b/modules/terraform-cdp-deploy/examples/ex02-azure-basic/variables.tf
@@ -36,6 +36,21 @@ variable "deployment_template" {
description = "Deployment Pattern to use for Cloud resources and CDP"
}
+variable "environment_async_creation" {
+ type = bool
+
+ description = "Flag to specify if Terraform should wait for CDP environment resource creation/deletion"
+
+ default = false
+}
+
+variable "datalake_async_creation" {
+ type = bool
+
+ description = "Flag to specify if Terraform should wait for CDP datalake resource creation/deletion"
+
+ default = false
+}
# ------- Network Resources -------
variable "ingress_extra_cidrs_and_ports" {
type = object({
diff --git a/modules/terraform-cdp-deploy/examples/ex03-gcp-basic/main.tf b/modules/terraform-cdp-deploy/examples/ex03-gcp-basic/main.tf
index 6f4da50..ce4b04b 100755
--- a/modules/terraform-cdp-deploy/examples/ex03-gcp-basic/main.tf
+++ b/modules/terraform-cdp-deploy/examples/ex03-gcp-basic/main.tf
@@ -45,6 +45,9 @@ module "cdp_deploy" {
public_key_text = var.public_key_text
deployment_template = var.deployment_template
+ environment_async_creation = var.environment_async_creation
+ datalake_async_creation = var.datalake_async_creation
+
# From pre-reqs module output
gcp_network_name = module.cdp_gcp_prereqs.gcp_vpc_name
gcp_cdp_subnet_names = module.cdp_gcp_prereqs.gcp_cdp_subnet_names
diff --git a/modules/terraform-cdp-deploy/examples/ex03-gcp-basic/variables.tf b/modules/terraform-cdp-deploy/examples/ex03-gcp-basic/variables.tf
index df2dbe0..27996d9 100755
--- a/modules/terraform-cdp-deploy/examples/ex03-gcp-basic/variables.tf
+++ b/modules/terraform-cdp-deploy/examples/ex03-gcp-basic/variables.tf
@@ -41,7 +41,22 @@ variable "deployment_template" {
description = "Deployment Pattern to use for Cloud resources and CDP"
}
-# # ------- Network Resources -------
+variable "environment_async_creation" {
+ type = bool
+
+ description = "Flag to specify if Terraform should wait for CDP environment resource creation/deletion"
+
+ default = false
+}
+
+variable "datalake_async_creation" {
+ type = bool
+
+ description = "Flag to specify if Terraform should wait for CDP datalake resource creation/deletion"
+
+ default = false
+}
+# ------- Network Resources -------
variable "ingress_extra_cidrs_and_ports" {
type = object({
cidrs = list(string)
diff --git a/modules/terraform-cdp-deploy/main.tf b/modules/terraform-cdp-deploy/main.tf
index 18ab762..cf20c9f 100644
--- a/modules/terraform-cdp-deploy/main.tf
+++ b/modules/terraform-cdp-deploy/main.tf
@@ -39,7 +39,9 @@ module "cdp_on_aws" {
workload_analytics = var.workload_analytics
endpoint_access_scheme = local.endpoint_access_scheme
+ environment_async_creation = var.environment_async_creation
environment_polling_timeout = var.environment_polling_timeout
+ datalake_async_creation = var.datalake_async_creation
datalake_polling_timeout = var.datalake_polling_timeout
region = var.region
@@ -100,11 +102,14 @@ module "cdp_on_azure" {
datalake_version = var.datalake_version
enable_ccm_tunnel = var.enable_ccm_tunnel
enable_raz = var.enable_raz
+ multiaz = var.multiaz
freeipa_instances = var.freeipa_instances
workload_analytics = var.workload_analytics
endpoint_access_scheme = local.endpoint_access_scheme
+ environment_async_creation = var.environment_async_creation
environment_polling_timeout = var.environment_polling_timeout
+ datalake_async_creation = var.datalake_async_creation
datalake_polling_timeout = var.datalake_polling_timeout
use_single_resource_group = var.use_single_resource_group
@@ -144,6 +149,7 @@ module "cdp_on_azure" {
encryption_key_resource_group_name = var.encryption_key_resource_group_name
encryption_key_url = var.encryption_key_url
+ encryption_at_host = var.encryption_at_host
azure_aks_private_dns_zone_id = var.azure_aks_private_dns_zone_id
azure_database_private_dns_zone_id = var.azure_database_private_dns_zone_id
@@ -184,7 +190,9 @@ module "cdp_on_gcp" {
workload_analytics = var.workload_analytics
endpoint_access_scheme = local.endpoint_access_scheme
+ environment_async_creation = var.environment_async_creation
environment_polling_timeout = var.environment_polling_timeout
+ datalake_async_creation = var.datalake_async_creation
datalake_polling_timeout = var.datalake_polling_timeout
use_public_ips = local.use_public_ips
diff --git a/modules/terraform-cdp-deploy/modules/aws/main.tf b/modules/terraform-cdp-deploy/modules/aws/main.tf
index f61c85f..c4fa606 100644
--- a/modules/terraform-cdp-deploy/modules/aws/main.tf
+++ b/modules/terraform-cdp-deploy/modules/aws/main.tf
@@ -64,6 +64,7 @@ resource "cdp_environments_aws_environment" "cdp_env" {
encryption_key_arn = var.encryption_key_arn
polling_options = {
+ async = var.environment_async_creation
polling_timeout = var.environment_polling_timeout
}
@@ -139,6 +140,7 @@ resource "cdp_datalake_aws_datalake" "cdp_datalake" {
recipes = var.datalake_recipes
polling_options = {
+ async = var.datalake_async_creation
polling_timeout = var.datalake_polling_timeout
}
diff --git a/modules/terraform-cdp-deploy/modules/aws/provider.tf b/modules/terraform-cdp-deploy/modules/aws/provider.tf
index 1f0a70b..e4cdd91 100644
--- a/modules/terraform-cdp-deploy/modules/aws/provider.tf
+++ b/modules/terraform-cdp-deploy/modules/aws/provider.tf
@@ -16,7 +16,7 @@ terraform {
required_providers {
cdp = {
source = "cloudera/cdp"
- version = "0.4.2"
+ version = "0.5.8"
}
}
diff --git a/modules/terraform-cdp-deploy/modules/aws/variables.tf b/modules/terraform-cdp-deploy/modules/aws/variables.tf
index c956875..af7f2b0 100644
--- a/modules/terraform-cdp-deploy/modules/aws/variables.tf
+++ b/modules/terraform-cdp-deploy/modules/aws/variables.tf
@@ -71,10 +71,17 @@ variable "multiaz" {
}
+variable "environment_async_creation" {
+ type = bool
+
+ description = "Flag to specify if Terraform should wait for CDP environment resource creation/deletion"
+
+}
+
variable "environment_polling_timeout" {
type = number
- description = " Timeout value in minutes for how long to poll for CDP Environment resource creation/deletion"
+ description = "Timeout value in minutes for how long to poll for CDP Environment resource creation/deletion"
}
@@ -201,6 +208,13 @@ variable "datalake_recipes" {
}
+variable "datalake_async_creation" {
+ type = bool
+
+ description = "Flag to specify if Terraform should wait for CDP datalake resource creation/deletion"
+
+}
+
variable "datalake_polling_timeout" {
type = number
diff --git a/modules/terraform-cdp-deploy/modules/azure/main.tf b/modules/terraform-cdp-deploy/modules/azure/main.tf
index c64674f..99ece14 100644
--- a/modules/terraform-cdp-deploy/modules/azure/main.tf
+++ b/modules/terraform-cdp-deploy/modules/azure/main.tf
@@ -62,6 +62,7 @@ resource "cdp_environments_azure_environment" "cdp_env" {
freeipa = {
instance_count_by_group = var.freeipa_instances
+ multi_az = var.multiaz
catalog = var.freeipa_catalog
image_id = var.freeipa_image_id
instance_type = var.freeipa_instance_type
@@ -75,8 +76,10 @@ resource "cdp_environments_azure_environment" "cdp_env" {
enable_outbound_load_balancer = var.enable_outbound_load_balancer
encryption_key_resource_group_name = var.encryption_key_resource_group_name
encryption_key_url = var.encryption_key_url
+ encryption_at_host = var.encryption_at_host
polling_options = {
+ async = var.environment_async_creation
polling_timeout = var.environment_polling_timeout
}
@@ -145,12 +148,14 @@ resource "cdp_datalake_azure_datalake" "cdp_datalake" {
runtime = var.datalake_version == "latest" ? null : var.datalake_version
scale = var.datalake_scale
enable_ranger_raz = var.enable_raz
+ multi_az = var.datalake_scale == "LIGHT_DUTY" ? null : var.multiaz
image = var.datalake_image
java_version = var.datalake_java_version
recipes = var.datalake_recipes
polling_options = {
+ async = var.datalake_async_creation
polling_timeout = var.datalake_polling_timeout
}
diff --git a/modules/terraform-cdp-deploy/modules/azure/provider.tf b/modules/terraform-cdp-deploy/modules/azure/provider.tf
index 1f0a70b..e4cdd91 100644
--- a/modules/terraform-cdp-deploy/modules/azure/provider.tf
+++ b/modules/terraform-cdp-deploy/modules/azure/provider.tf
@@ -16,7 +16,7 @@ terraform {
required_providers {
cdp = {
source = "cloudera/cdp"
- version = "0.4.2"
+ version = "0.5.8"
}
}
diff --git a/modules/terraform-cdp-deploy/modules/azure/variables.tf b/modules/terraform-cdp-deploy/modules/azure/variables.tf
index fa7e7c5..9f16076 100644
--- a/modules/terraform-cdp-deploy/modules/azure/variables.tf
+++ b/modules/terraform-cdp-deploy/modules/azure/variables.tf
@@ -64,6 +64,20 @@ variable "enable_raz" {
}
+variable "multiaz" {
+ type = bool
+
+ description = "Flag to specify that the FreeIPA and DataLake instances will be deployed across multi-availability zones"
+
+}
+
+variable "environment_async_creation" {
+ type = bool
+
+ description = "Flag to specify if Terraform should wait for CDP environment resource creation/deletion"
+
+}
+
variable "environment_polling_timeout" {
type = number
@@ -135,6 +149,13 @@ variable "encryption_key_url" {
}
+variable "encryption_at_host" {
+ type = bool
+
+ description = "Provision resources with host encryption enabled"
+
+}
+
variable "proxy_config_name" {
type = string
@@ -197,6 +218,13 @@ variable "datalake_recipes" {
}
+variable "datalake_async_creation" {
+ type = bool
+
+ description = "Flag to specify if Terraform should wait for CDP datalake resource creation/deletion"
+
+}
+
variable "datalake_polling_timeout" {
type = number
diff --git a/modules/terraform-cdp-deploy/modules/gcp/main.tf b/modules/terraform-cdp-deploy/modules/gcp/main.tf
index c6663fa..3a4d0db 100644
--- a/modules/terraform-cdp-deploy/modules/gcp/main.tf
+++ b/modules/terraform-cdp-deploy/modules/gcp/main.tf
@@ -62,6 +62,7 @@ resource "cdp_environments_gcp_environment" "cdp_env" {
polling_options = {
+ async = var.environment_async_creation
polling_timeout = var.environment_polling_timeout
}
@@ -133,9 +134,10 @@ resource "cdp_datalake_gcp_datalake" "cdp_datalake" {
custom_instance_groups = var.datalake_custom_instance_groups
image = var.datalake_image
java_version = var.datalake_java_version
- recipes = null
+ recipes = var.datalake_recipes
polling_options = {
+ async = var.datalake_async_creation
polling_timeout = var.datalake_polling_timeout
}
diff --git a/modules/terraform-cdp-deploy/modules/gcp/provider.tf b/modules/terraform-cdp-deploy/modules/gcp/provider.tf
index 1f0a70b..e4cdd91 100644
--- a/modules/terraform-cdp-deploy/modules/gcp/provider.tf
+++ b/modules/terraform-cdp-deploy/modules/gcp/provider.tf
@@ -16,7 +16,7 @@ terraform {
required_providers {
cdp = {
source = "cloudera/cdp"
- version = "0.4.2"
+ version = "0.5.8"
}
}
diff --git a/modules/terraform-cdp-deploy/modules/gcp/variables.tf b/modules/terraform-cdp-deploy/modules/gcp/variables.tf
index b240262..3823670 100644
--- a/modules/terraform-cdp-deploy/modules/gcp/variables.tf
+++ b/modules/terraform-cdp-deploy/modules/gcp/variables.tf
@@ -64,6 +64,13 @@ variable "report_deployment_logs" {
}
+variable "environment_async_creation" {
+ type = bool
+
+ description = "Flag to specify if Terraform should wait for CDP environment resource creation/deletion"
+
+}
+
variable "environment_polling_timeout" {
type = number
@@ -172,6 +179,13 @@ variable "datalake_recipes" {
}
+variable "datalake_async_creation" {
+ type = bool
+
+ description = "Flag to specify if Terraform should wait for CDP datalake resource creation/deletion"
+
+}
+
variable "datalake_polling_timeout" {
type = number
diff --git a/modules/terraform-cdp-deploy/provider.tf b/modules/terraform-cdp-deploy/provider.tf
index 1f0a70b..e4cdd91 100644
--- a/modules/terraform-cdp-deploy/provider.tf
+++ b/modules/terraform-cdp-deploy/provider.tf
@@ -16,7 +16,7 @@ terraform {
required_providers {
cdp = {
source = "cloudera/cdp"
- version = "0.4.2"
+ version = "0.5.8"
}
}
diff --git a/modules/terraform-cdp-deploy/variables.tf b/modules/terraform-cdp-deploy/variables.tf
index 69ce7f3..be74c17 100644
--- a/modules/terraform-cdp-deploy/variables.tf
+++ b/modules/terraform-cdp-deploy/variables.tf
@@ -106,6 +106,14 @@ variable "enable_raz" {
default = true
}
+variable "environment_async_creation" {
+ type = bool
+
+ description = "Flag to specify if Terraform should wait for CDP environment resource creation/deletion"
+
+ default = false
+}
+
variable "environment_polling_timeout" {
type = number
@@ -117,7 +125,7 @@ variable "environment_polling_timeout" {
variable "multiaz" {
type = bool
- description = "Flag to specify that the FreeIPA and DataLake instances will be deployed across multi-availability zones. "
+ description = "Flag to specify that the FreeIPA and DataLake instances will be deployed across multi-availability zones."
default = true
}
@@ -251,6 +259,14 @@ variable "datalake_recipes" {
default = null
}
+variable "datalake_async_creation" {
+ type = bool
+
+ description = "Flag to specify if Terraform should wait for CDP datalake resource creation/deletion"
+
+ default = false
+}
+
variable "datalake_polling_timeout" {
type = number
@@ -314,6 +330,13 @@ variable "encryption_key_url" {
default = null
}
+variable "encryption_at_host" {
+ type = bool
+
+ description = "Provision resources with host encryption enabled. Only applicable for CDP deployment on Azure."
+
+ default = null
+}
# ------- Cloud Service Provider Settings - General -------
variable "region" {
type = string