From ef0f606dcd0816ec79f2a512d8fe9de54b412ee9 Mon Sep 17 00:00:00 2001 From: Jim Enright Date: Mon, 13 May 2024 13:16:19 +0100 Subject: [PATCH] Add resource to accept Azure image terms during CDP cluster deployment Signed-off-by: Jim Enright --- modules/terraform-cdp-deploy/README.md | 1 + modules/terraform-cdp-deploy/main.tf | 1 + modules/terraform-cdp-deploy/modules/azure/main.tf | 10 +++++++++- .../terraform-cdp-deploy/modules/azure/variables.tf | 6 ++++++ modules/terraform-cdp-deploy/variables.tf | 7 +++++++ 5 files changed, 24 insertions(+), 1 deletion(-) diff --git a/modules/terraform-cdp-deploy/README.md b/modules/terraform-cdp-deploy/README.md index 384cea7..12eaedd 100644 --- a/modules/terraform-cdp-deploy/README.md +++ b/modules/terraform-cdp-deploy/README.md @@ -61,6 +61,7 @@ No resources. | [aws\_security\_group\_knox\_id](#input\_aws\_security\_group\_knox\_id) | ID of the Knox Security Group for CDP environment. Required for CDP deployment on AWS. | `string` | `null` | no | | [aws\_vpc\_id](#input\_aws\_vpc\_id) | AWS Virtual Private Network ID. Required for CDP deployment on AWS. | `string` | `null` | no | | [aws\_xaccount\_role\_arn](#input\_aws\_xaccount\_role\_arn) | Cross Account Role ARN. Required for CDP deployment on AWS. | `string` | `null` | no | +| [azure\_accept\_image\_terms](#input\_azure\_accept\_image\_terms) | Flag to automatically accept Azure Marketplace image terms during CDP cluster deployment. | `bool` | `true` | no | | [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 | | [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 | | [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 | diff --git a/modules/terraform-cdp-deploy/main.tf b/modules/terraform-cdp-deploy/main.tf index cf20c9f..ff1fbb0 100644 --- a/modules/terraform-cdp-deploy/main.tf +++ b/modules/terraform-cdp-deploy/main.tf @@ -112,6 +112,7 @@ module "cdp_on_azure" { datalake_async_creation = var.datalake_async_creation datalake_polling_timeout = var.datalake_polling_timeout + azure_accept_image_terms = var.azure_accept_image_terms use_single_resource_group = var.use_single_resource_group use_public_ips = local.use_public_ips diff --git a/modules/terraform-cdp-deploy/modules/azure/main.tf b/modules/terraform-cdp-deploy/modules/azure/main.tf index 99ece14..a3d5d32 100644 --- a/modules/terraform-cdp-deploy/modules/azure/main.tf +++ b/modules/terraform-cdp-deploy/modules/azure/main.tf @@ -24,6 +24,13 @@ resource "cdp_environments_azure_credential" "cdp_cred" { description = "Azure Cross Account Credential for Azure env ${var.environment_name}" } +# ------- Accept Azure Image Terms ------- +resource "cdp_environments_azure_image_terms" "cdp_azure_images" { + count = var.azure_accept_image_terms ? 1 : 0 + + accepted = true +} + # ------- CDP Environment ------- resource "cdp_environments_azure_environment" "cdp_env" { environment_name = var.environment_name @@ -86,7 +93,8 @@ resource "cdp_environments_azure_environment" "cdp_env" { tags = var.tags depends_on = [ - cdp_environments_azure_credential.cdp_cred + cdp_environments_azure_credential.cdp_cred, + cdp_environments_azure_image_terms.cdp_azure_images ] } diff --git a/modules/terraform-cdp-deploy/modules/azure/variables.tf b/modules/terraform-cdp-deploy/modules/azure/variables.tf index 9f16076..653c2a3 100644 --- a/modules/terraform-cdp-deploy/modules/azure/variables.tf +++ b/modules/terraform-cdp-deploy/modules/azure/variables.tf @@ -50,6 +50,12 @@ variable "cdp_user_group_name" { } +variable "azure_accept_image_terms" { + type = bool + description = "Flag to automatically accept Azure Marketplace image terms during CDP cluster deployment." + +} + variable "enable_ccm_tunnel" { type = bool diff --git a/modules/terraform-cdp-deploy/variables.tf b/modules/terraform-cdp-deploy/variables.tf index be74c17..b8e8337 100644 --- a/modules/terraform-cdp-deploy/variables.tf +++ b/modules/terraform-cdp-deploy/variables.tf @@ -529,6 +529,13 @@ variable "azure_create_private_endpoints" { default = null } +variable "azure_accept_image_terms" { + type = bool + description = "Flag to automatically accept Azure Marketplace image terms during CDP cluster deployment." + + default = true +} + variable "azure_cdp_subnet_names" { type = list(any) description = "List of Azure Subnet Names for CDP Resources. Required for CDP deployment on Azure."