diff --git a/aws/README.md b/aws/README.md index 00820b7..44150ea 100644 --- a/aws/README.md +++ b/aws/README.md @@ -26,8 +26,8 @@ | Name | Source | Version | |------|--------|---------| -| [cdp\_aws\_prereqs](#module\_cdp\_aws\_prereqs) | git::https://github.com/cloudera-labs/terraform-cdp-modules.git//modules/terraform-cdp-aws-pre-reqs | v0.11.3 | -| [cdp\_deploy](#module\_cdp\_deploy) | git::https://github.com/cloudera-labs/terraform-cdp-modules.git//modules/terraform-cdp-deploy | v0.11.3 | +| [cdp\_aws\_prereqs](#module\_cdp\_aws\_prereqs) | git::https://github.com/cloudera-labs/terraform-cdp-modules.git//modules/terraform-cdp-aws-pre-reqs | v0.12.0 | +| [cdp\_deploy](#module\_cdp\_deploy) | git::https://github.com/cloudera-labs/terraform-cdp-modules.git//modules/terraform-cdp-deploy | v0.12.0 | ## Resources diff --git a/aws/main.tf b/aws/main.tf index 19f9edd..5315d1b 100644 --- a/aws/main.tf +++ b/aws/main.tf @@ -47,7 +47,7 @@ provider "aws" { } module "cdp_aws_prereqs" { - source = "git::https://github.com/cloudera-labs/terraform-cdp-modules.git//modules/terraform-cdp-aws-pre-reqs?ref=v0.11.3" + source = "git::https://github.com/cloudera-labs/terraform-cdp-modules.git//modules/terraform-cdp-aws-pre-reqs?ref=v0.12.0" env_prefix = var.env_prefix aws_region = var.aws_region @@ -90,7 +90,7 @@ module "cdp_aws_prereqs" { } module "cdp_deploy" { - source = "git::https://github.com/cloudera-labs/terraform-cdp-modules.git//modules/terraform-cdp-deploy?ref=v0.11.3" + source = "git::https://github.com/cloudera-labs/terraform-cdp-modules.git//modules/terraform-cdp-deploy?ref=v0.12.0" env_prefix = var.env_prefix datalake_image = var.datalake_image diff --git a/azure/README.md b/azure/README.md index 3f876ed..8f34860 100644 --- a/azure/README.md +++ b/azure/README.md @@ -6,7 +6,7 @@ | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.5.7 | -| [azuread](#requirement\_azuread) | 2.46.0 | +| [azuread](#requirement\_azuread) | >= 2.46.0, < 4.0.0 | | [azurerm](#requirement\_azurerm) | >= 4.0.0 | | [cdp](#requirement\_cdp) | >= 0.6.1 | | [http](#requirement\_http) | ~> 3.2.1 | @@ -25,8 +25,8 @@ | Name | Source | Version | |------|--------|---------| -| [cdp\_azure\_prereqs](#module\_cdp\_azure\_prereqs) | git::https://github.com/cloudera-labs/terraform-cdp-modules.git//modules/terraform-cdp-azure-pre-reqs | v0.11.3 | -| [cdp\_deploy](#module\_cdp\_deploy) | git::https://github.com/cloudera-labs/terraform-cdp-modules.git//modules/terraform-cdp-deploy | v0.11.3 | +| [cdp\_azure\_prereqs](#module\_cdp\_azure\_prereqs) | git::https://github.com/cloudera-labs/terraform-cdp-modules.git//modules/terraform-cdp-azure-pre-reqs | v0.12.0 | +| [cdp\_deploy](#module\_cdp\_deploy) | git::https://github.com/cloudera-labs/terraform-cdp-modules.git//modules/terraform-cdp-deploy | v0.12.0 | ## Resources @@ -43,6 +43,7 @@ | [azure\_region](#input\_azure\_region) | Region which Cloud resources will be created | `string` | n/a | yes | | [deployment\_template](#input\_deployment\_template) | Deployment Pattern to use for Cloud resources and CDP | `string` | n/a | yes | | [env\_prefix](#input\_env\_prefix) | Shorthand name for the environment. Used in resource descriptions | `string` | n/a | yes | +| [azure\_create\_private\_endpoints](#input\_azure\_create\_private\_endpoints) | Flag to specify if private endpoints should be created for Azure resources. If not specified the default is true for deployment\_template values of semi-private and private, otherwise false. | `bool` | `null` | no | | [azure\_subscription\_id](#input\_azure\_subscription\_id) | The subscription where the environment should be deployed to | `string` | `null` | no | | [cdp\_delegated\_subnet\_names](#input\_cdp\_delegated\_subnet\_names) | List of subnet names delegated for Flexible Servers. Required if create\_vnet is false. | `list(any)` | `null` | no | | [cdp\_groups](#input\_cdp\_groups) | List of CDP Groups to be added to the IDBroker mappings of the environment. If create\_group is set to true then the group will be created. |
set(object({
name = string
create_group = bool
sync_membership_on_user_login = optional(bool)
add_id_broker_mappings = bool
})
) | `null` | no |
@@ -52,6 +53,8 @@
| [cdp\_vnet\_name](#input\_cdp\_vnet\_name) | Pre-existing VNet Name for CDP environment. Required if create\_vnet is false. | `string` | `null` | no |
| [compute\_cluster\_configuration](#input\_compute\_cluster\_configuration) | Kubernetes configuration for the externalized compute cluster. If not specified, a default configuration suitable for the requested deployment template will be used. | object({
kube_api_authorized_ip_ranges = optional(set(string))
outbound_type = optional(string)
private_cluster = optional(bool)
worker_node_subnets = optional(set(string))
}) | `null` | no |
| [compute\_cluster\_enabled](#input\_compute\_cluster\_enabled) | Enable externalized compute cluster for the environment | `bool` | `false` | no |
+| [create\_delegated\_subnet](#input\_create\_delegated\_subnet) | Flag to specify if the delegated subnet should be created. Only applicable if create\_vnet is true. When this is set to true the azure\_create\_private\_endpoints should be false. | `bool` | `false` | no |
+| [create\_nat\_gateway](#input\_create\_nat\_gateway) | Flag to specify if the NAT Gateway should be created. Only applicable if create\_vnet is true. | `bool` | `true` | no |
| [create\_vnet](#input\_create\_vnet) | Flag to specify if the VNet should be created | `bool` | `true` | 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\_image](#input\_datalake\_image) | The image to use for the datalake. Can only be used when 'datalake\_version' is null. | object({
id = optional(string)
catalog_name = optional(string)
os = optional(string)
}) | `null` | no |
diff --git a/azure/main.tf b/azure/main.tf
index 890f094..1497ebe 100644
--- a/azure/main.tf
+++ b/azure/main.tf
@@ -25,7 +25,7 @@ terraform {
}
azuread = {
source = "hashicorp/azuread"
- version = "2.46.0"
+ version = ">= 2.46.0, < 4.0.0"
}
tls = {
source = "hashicorp/tls"
@@ -56,13 +56,15 @@ provider "azuread" {
}
module "cdp_azure_prereqs" {
- source = "git::https://github.com/cloudera-labs/terraform-cdp-modules.git//modules/terraform-cdp-azure-pre-reqs?ref=v0.11.3"
+ source = "git::https://github.com/cloudera-labs/terraform-cdp-modules.git//modules/terraform-cdp-azure-pre-reqs?ref=v0.12.0"
env_prefix = var.env_prefix
azure_region = var.azure_region
deployment_template = var.deployment_template
ingress_extra_cidrs_and_ports = local.ingress_extra_cidrs_and_ports
+ create_nat_gateway = var.create_nat_gateway
+ create_delegated_subnet = var.create_delegated_subnet
# Inputs for BYO-VNet
create_vnet = var.create_vnet
@@ -78,7 +80,7 @@ module "cdp_azure_prereqs" {
}
module "cdp_deploy" {
- source = "git::https://github.com/cloudera-labs/terraform-cdp-modules.git//modules/terraform-cdp-deploy?ref=v0.11.3"
+ source = "git::https://github.com/cloudera-labs/terraform-cdp-modules.git//modules/terraform-cdp-deploy?ref=v0.12.0"
env_prefix = var.env_prefix
datalake_image = var.datalake_image
@@ -100,6 +102,8 @@ module "cdp_deploy" {
environment_async_creation = var.environment_async_creation
datalake_async_creation = var.datalake_async_creation
+ azure_create_private_endpoints = coalesce(var.azure_create_private_endpoints, var.deployment_template != "public")
+
# From pre-reqs module output
azure_subscription_id = var.azure_subscription_id == null ? module.cdp_azure_prereqs.azure_subscription_id : var.azure_subscription_id
azure_tenant_id = module.cdp_azure_prereqs.azure_tenant_id
diff --git a/azure/variables.tf b/azure/variables.tf
index 2d2d860..a8348f1 100644
--- a/azure/variables.tf
+++ b/azure/variables.tf
@@ -200,6 +200,13 @@ variable "compute_cluster_configuration" {
default = null
}
+variable "azure_create_private_endpoints" {
+ type = bool
+ description = "Flag to specify if private endpoints should be created for Azure resources. If not specified the default is true for deployment_template values of semi-private and private, otherwise false."
+
+ default = null
+}
+
# ------- Network Resources -------
variable "ingress_extra_cidrs_and_ports" {
type = object({
@@ -211,6 +218,22 @@ variable "ingress_extra_cidrs_and_ports" {
default = null
}
+variable "create_nat_gateway" {
+ type = bool
+
+ description = "Flag to specify if the NAT Gateway should be created. Only applicable if create_vnet is true."
+
+ default = true
+}
+
+variable "create_delegated_subnet" {
+ type = bool
+
+ description = "Flag to specify if the delegated subnet should be created. Only applicable if create_vnet is true. When this is set to true the azure_create_private_endpoints should be false."
+
+ default = false
+}
+
# ------- Optional inputs for BYO-VNet -------
variable "create_vnet" {
type = bool
diff --git a/gcp/README.md b/gcp/README.md
index da57082..36734cb 100644
--- a/gcp/README.md
+++ b/gcp/README.md
@@ -25,8 +25,8 @@
| Name | Source | Version |
|------|--------|---------|
-| [cdp\_deploy](#module\_cdp\_deploy) | git::https://github.com/cloudera-labs/terraform-cdp-modules.git//modules/terraform-cdp-deploy | v0.11.3 |
-| [cdp\_gcp\_prereqs](#module\_cdp\_gcp\_prereqs) | git::https://github.com/cloudera-labs/terraform-cdp-modules.git//modules/terraform-cdp-gcp-pre-reqs | v0.11.3 |
+| [cdp\_deploy](#module\_cdp\_deploy) | git::https://github.com/cloudera-labs/terraform-cdp-modules.git//modules/terraform-cdp-deploy | v0.12.0 |
+| [cdp\_gcp\_prereqs](#module\_cdp\_gcp\_prereqs) | git::https://github.com/cloudera-labs/terraform-cdp-modules.git//modules/terraform-cdp-gcp-pre-reqs | v0.12.0 |
## Resources
diff --git a/gcp/main.tf b/gcp/main.tf
index 0a01154..bf39214 100755
--- a/gcp/main.tf
+++ b/gcp/main.tf
@@ -45,7 +45,7 @@ provider "google" {
module "cdp_gcp_prereqs" {
- source = "git::https://github.com/cloudera-labs/terraform-cdp-modules.git//modules/terraform-cdp-gcp-pre-reqs?ref=v0.11.3"
+ source = "git::https://github.com/cloudera-labs/terraform-cdp-modules.git//modules/terraform-cdp-gcp-pre-reqs?ref=v0.12.0"
env_prefix = var.env_prefix
gcp_region = var.gcp_region
@@ -62,7 +62,7 @@ module "cdp_gcp_prereqs" {
}
module "cdp_deploy" {
- source = "git::https://github.com/cloudera-labs/terraform-cdp-modules.git//modules/terraform-cdp-deploy?ref=v0.11.3"
+ source = "git::https://github.com/cloudera-labs/terraform-cdp-modules.git//modules/terraform-cdp-deploy?ref=v0.12.0"
env_prefix = var.env_prefix
datalake_image = var.datalake_image