Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update CDP provider version #58

Merged
merged 7 commits into from
Apr 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ terraform {
required_providers {
cdp = {
source = "cloudera/cdp"
version = "0.4.2"
version = "0.5.8"
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ terraform {
required_providers {
cdp = {
source = "cloudera/cdp"
version = "0.4.2"
version = "0.5.8"
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ terraform {
required_providers {
cdp = {
source = "cloudera/cdp"
version = "0.4.2"
version = "0.5.8"
}
}
}
Expand Down
6 changes: 5 additions & 1 deletion modules/terraform-cdp-deploy/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ In each directory an example `terraform.tfvars.sample` values file is included t
| Name | Version |
|------|---------|
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.0 |
| <a name="requirement_cdp"></a> [cdp](#requirement\_cdp) | 0.4.2 |
| <a name="requirement_cdp"></a> [cdp](#requirement\_cdp) | 0.5.8 |

## Providers

Expand Down Expand Up @@ -62,6 +62,7 @@ No resources.
| <a name="input_aws_vpc_id"></a> [aws\_vpc\_id](#input\_aws\_vpc\_id) | AWS Virtual Private Network ID. Required for CDP deployment on AWS. | `string` | `null` | no |
| <a name="input_aws_xaccount_role_arn"></a> [aws\_xaccount\_role\_arn](#input\_aws\_xaccount\_role\_arn) | Cross Account Role ARN. Required for CDP deployment on AWS. | `string` | `null` | no |
| <a name="input_azure_aks_private_dns_zone_id"></a> [azure\_aks\_private\_dns\_zone\_id](#input\_azure\_aks\_private\_dns\_zone\_id) | The ID of an existing private DNS zone used for the AKS. | `string` | `null` | no |
| <a name="input_azure_cdp_flexible_server_delegated_subnet_names"></a> [azure\_cdp\_flexible\_server\_delegated\_subnet\_names](#input\_azure\_cdp\_flexible\_server\_delegated\_subnet\_names) | List of Azure Subnet Names delegated for Private Flexible servers. Required for CDP deployment on Azure. | `list(any)` | `null` | no |
| <a name="input_azure_cdp_gateway_subnet_names"></a> [azure\_cdp\_gateway\_subnet\_names](#input\_azure\_cdp\_gateway\_subnet\_names) | List of Azure Subnet Names CDP Endpoint Access Gateway. Required for CDP deployment on Azure. | `list(any)` | `null` | no |
| <a name="input_azure_cdp_subnet_names"></a> [azure\_cdp\_subnet\_names](#input\_azure\_cdp\_subnet\_names) | List of Azure Subnet Names for CDP Resources. Required for CDP deployment on Azure. | `list(any)` | `null` | no |
| <a name="input_azure_create_private_endpoints"></a> [azure\_create\_private\_endpoints](#input\_azure\_create\_private\_endpoints) | Flag to specify that Azure Postgres will be configured with Private Endpoint and a Private DNS Zone. | `bool` | `null` | no |
Expand All @@ -82,6 +83,7 @@ No resources.
| <a name="input_cdp_admin_group_name"></a> [cdp\_admin\_group\_name](#input\_cdp\_admin\_group\_name) | Name of the CDP IAM Admin Group associated with the environment. Defaults to '<env\_prefix>-cdp-admin-group' if not specified. | `string` | `null` | no |
| <a name="input_cdp_user_group_name"></a> [cdp\_user\_group\_name](#input\_cdp\_user\_group\_name) | Name of the CDP IAM User Group associated with the environment. Defaults to '<env\_prefix>-cdp-user-group' if not specified. | `string` | `null` | no |
| <a name="input_cdp_xacccount_credential_name"></a> [cdp\_xacccount\_credential\_name](#input\_cdp\_xacccount\_credential\_name) | Name of the CDP Cross Account Credential. Defaults to '<env\_prefix>-xaccount-cred' if not specified. | `string` | `null` | no |
| <a name="input_datalake_async_creation"></a> [datalake\_async\_creation](#input\_datalake\_async\_creation) | Flag to specify if Terraform should wait for CDP datalake resource creation/deletion | `bool` | `false` | no |
| <a name="input_datalake_custom_instance_groups"></a> [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. | <pre>list(<br> object({<br> name = string,<br> instance_type = optional(string)<br> })<br> )</pre> | `null` | no |
| <a name="input_datalake_image"></a> [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. | <pre>object({<br> id = optional(string)<br> catalog = optional(string)<br> })</pre> | `null` | no |
| <a name="input_datalake_java_version"></a> [datalake\_java\_version](#input\_datalake\_java\_version) | The Java major version to use on the datalake cluster. | `number` | `null` | no |
Expand All @@ -93,11 +95,13 @@ No resources.
| <a name="input_enable_ccm_tunnel"></a> [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 |
| <a name="input_enable_outbound_load_balancer"></a> [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 |
| <a name="input_enable_raz"></a> [enable\_raz](#input\_enable\_raz) | Flag to enable Ranger Authorization Service (RAZ) | `bool` | `true` | no |
| <a name="input_encryption_at_host"></a> [encryption\_at\_host](#input\_encryption\_at\_host) | Provision resources with host encryption enabled. Only applicable for CDP deployment on Azure. | `bool` | `null` | no |
| <a name="input_encryption_key_arn"></a> [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 |
| <a name="input_encryption_key_resource_group_name"></a> [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 |
| <a name="input_encryption_key_url"></a> [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 |
| <a name="input_endpoint_access_scheme"></a> [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 |
| <a name="input_env_tags"></a> [env\_tags](#input\_env\_tags) | Tags applied to provisioned resources | `map(any)` | `null` | no |
| <a name="input_environment_async_creation"></a> [environment\_async\_creation](#input\_environment\_async\_creation) | Flag to specify if Terraform should wait for CDP environment resource creation/deletion | `bool` | `false` | no |
| <a name="input_environment_name"></a> [environment\_name](#input\_environment\_name) | Name of the CDP environment. Defaults to '<env\_prefix>-cdp-env' if not specified. | `string` | `null` | no |
| <a name="input_environment_polling_timeout"></a> [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 |
| <a name="input_freeipa_catalog"></a> [freeipa\_catalog](#input\_freeipa\_catalog) | Image catalog to use for FreeIPA image selection | `string` | `null` | no |
Expand Down
5 changes: 4 additions & 1 deletion modules/terraform-cdp-deploy/examples/ex01-aws-basic/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -79,7 +82,7 @@ terraform {
required_providers {
cdp = {
source = "cloudera/cdp"
version = "0.4.2"
version = "0.5.8"
}
}
}
Expand Down
15 changes: 15 additions & 0 deletions modules/terraform-cdp-deploy/examples/ex01-aws-basic/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -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({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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({
Expand Down
3 changes: 3 additions & 0 deletions modules/terraform-cdp-deploy/examples/ex03-gcp-basic/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
8 changes: 8 additions & 0 deletions modules/terraform-cdp-deploy/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
2 changes: 2 additions & 0 deletions modules/terraform-cdp-deploy/modules/aws/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -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
}

Expand Down Expand Up @@ -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
}

Expand Down
2 changes: 1 addition & 1 deletion modules/terraform-cdp-deploy/modules/aws/provider.tf
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ terraform {
required_providers {
cdp = {
source = "cloudera/cdp"
version = "0.4.2"
version = "0.5.8"
}
}

Expand Down
16 changes: 15 additions & 1 deletion modules/terraform-cdp-deploy/modules/aws/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -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"

}

Expand Down Expand Up @@ -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

Expand Down
5 changes: 5 additions & 0 deletions modules/terraform-cdp-deploy/modules/azure/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
}

Expand Down Expand Up @@ -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
}

Expand Down
2 changes: 1 addition & 1 deletion modules/terraform-cdp-deploy/modules/azure/provider.tf
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ terraform {
required_providers {
cdp = {
source = "cloudera/cdp"
version = "0.4.2"
version = "0.5.8"
}
}

Expand Down
28 changes: 28 additions & 0 deletions modules/terraform-cdp-deploy/modules/azure/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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

Expand Down Expand Up @@ -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

Expand Down
4 changes: 3 additions & 1 deletion modules/terraform-cdp-deploy/modules/gcp/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ resource "cdp_environments_gcp_environment" "cdp_env" {


polling_options = {
async = var.environment_async_creation
polling_timeout = var.environment_polling_timeout
}

Expand Down Expand Up @@ -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
}

Expand Down
2 changes: 1 addition & 1 deletion modules/terraform-cdp-deploy/modules/gcp/provider.tf
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ terraform {
required_providers {
cdp = {
source = "cloudera/cdp"
version = "0.4.2"
version = "0.5.8"
}
}

Expand Down
Loading
Loading