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