From 31c151f22eae45b19605a85e3ac7a30f13fb2fb0 Mon Sep 17 00:00:00 2001 From: David Szabo Date: Mon, 7 Oct 2024 16:19:27 +0200 Subject: [PATCH] CB-27432 azurerm requires subscription ID to be provided explicitly --- aws/quickstart.sh | 13 ++++++++----- azure/main.tf | 2 +- azure/quickstart.sh | 17 +++++++++++------ azure/variables.tf | 8 ++++++++ gcp/quickstart.sh | 15 +++++++++------ 5 files changed, 37 insertions(+), 18 deletions(-) diff --git a/aws/quickstart.sh b/aws/quickstart.sh index 5b40aa5..5a9d057 100644 --- a/aws/quickstart.sh +++ b/aws/quickstart.sh @@ -19,7 +19,7 @@ export TF_VAR_env_prefix="${2:-""}" export ACCOUNT_ID="${3:-""}" export CDP_REGION="${4:-"us-west-1"}" export TF_VAR_deployment_template="${5:-"semi-private"}" -export TF_VAR_ingress_extra_cidrs_and_ports="${6:-"{ cidrs = [\"0.0.0.0/0\"], ports = [443, 22] }"}" +export TF_VAR_ingress_extra_cidrs_and_ports=${6:-"{ cidrs = [\"0.0.0.0/0\"], ports = [443, 22] }"} export TF_VAR_env_tags='{"deploy_tool": "express-tf", "env_prefix": "'"$2"'"}' export TF_VAR_create_vpc_endpoints="false" export TF_VAR_environment_async_creation="true" @@ -47,9 +47,9 @@ destroy_file="destroy.sh" cat < $destroy_file cd cdp-tf-quickstarts/aws -source variables.sh +source ${HOME}/variables.sh -terraform destroy -auto-approve +${HOME}/terraform destroy -auto-approve EOF # Make the file executable @@ -69,8 +69,11 @@ cd cdp-tf-quickstarts/aws pip install cdpcli config_file="${HOME}/.cdp/config" -region_config="cdp_region = ${CDP_REGION}" -echo "$region_config" >> "$config_file" +mkdir -p "$(dirname "$config_file")" +cat < $config_file +[default] +cdp_region = ${CDP_REGION} +EOF cdp login --account-id "${ACCOUNT_ID}" --use-device-code diff --git a/azure/main.tf b/azure/main.tf index 31867cd..239591b 100644 --- a/azure/main.tf +++ b/azure/main.tf @@ -92,7 +92,7 @@ module "cdp_deploy" { datalake_async_creation = var.datalake_async_creation # From pre-reqs module output - azure_subscription_id = module.cdp_azure_prereqs.azure_subscription_id + 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 azure_resource_group_name = module.cdp_azure_prereqs.azure_resource_group_name diff --git a/azure/quickstart.sh b/azure/quickstart.sh index ca58e03..f8b3363 100644 --- a/azure/quickstart.sh +++ b/azure/quickstart.sh @@ -19,11 +19,12 @@ export TF_VAR_env_prefix="${2:-""}" export ACCOUNT_ID="${3:-""}" export CDP_REGION="${4:-"us-west-1"}" export TF_VAR_deployment_template="${5:-"semi-private"}" -export TF_VAR_ingress_extra_cidrs_and_ports="${6:-"{ cidrs = [\"0.0.0.0/0\"], ports = [443, 22] }"}" +export TF_VAR_ingress_extra_cidrs_and_ports=${6:-"{ cidrs = [\"0.0.0.0/0\"], ports = [443, 22] }"} export TF_VAR_env_tags='{"deploy_tool": "express-tf", "env_prefix": "'"$2"'"}' export TF_VAR_environment_async_creation="true" export TF_VAR_datalake_async_creation="true" export TF_VAR_datalake_scale="LIGHT_DUTY" +export TF_VAR_azure_subscription_id="$(az account show --query id --output tsv)" # Save TF variables to file output_file="variables.sh" @@ -38,6 +39,7 @@ export TF_VAR_environment_async_creation="${TF_VAR_environment_async_creation}" export TF_VAR_datalake_async_creation="${TF_VAR_datalake_async_creation}" export TF_VAR_ingress_extra_cidrs_and_ports="${TF_VAR_ingress_extra_cidrs_and_ports}" export TF_VAR_datalake_scale="${TF_VAR_datalake_scale}" +export TF_VAR_azure_subscription_id="${TF_VAR_azure_subscription_id}" EOF destroy_file="destroy.sh" @@ -45,9 +47,9 @@ destroy_file="destroy.sh" cat < $destroy_file cd cdp-tf-quickstarts/azure -source variables.sh +source ${HOME}/variables.sh -terraform destroy -auto-approve +${HOME}/terraform destroy -auto-approve EOF # Make the file executable @@ -55,15 +57,18 @@ chmod +x $output_file chmod +x $destroy_file # Checkout CDP Quickstart Repository -git clone --branch v0.7.2 https://github.com/cloudera-labs/cdp-tf-quickstarts.git +git clone --branch v0.8.2 https://github.com/cloudera-labs/cdp-tf-quickstarts.git cd cdp-tf-quickstarts/azure # Install CDP CLI and Log In pip install cdpcli config_file="${HOME}/.cdp/config" -region_config="cdp_region = ${CDP_REGION}" -echo "$region_config" >> "$config_file" +mkdir -p "$(dirname "$config_file")" +cat < $config_file +[default] +cdp_region = ${CDP_REGION} +EOF cdp login --account-id "${ACCOUNT_ID}" --use-device-code diff --git a/azure/variables.tf b/azure/variables.tf index 79de355..6fd9f92 100644 --- a/azure/variables.tf +++ b/azure/variables.tf @@ -105,6 +105,14 @@ variable "datalake_recipes" { default = null } +variable "azure_subscription_id" { + type = string + + description = "The subscription where the environment should be deployed to" + + default = null +} + # ------- Network Resources ------- variable "ingress_extra_cidrs_and_ports" { type = object({ diff --git a/gcp/quickstart.sh b/gcp/quickstart.sh index 6d377a3..bfe133e 100644 --- a/gcp/quickstart.sh +++ b/gcp/quickstart.sh @@ -20,7 +20,7 @@ export TF_VAR_env_prefix="${3:-""}" export ACCOUNT_ID="${4:-""}" export CDP_REGION="${5:-"us-west-1"}" export TF_VAR_deployment_template="${6:-"semi-private"}" -export TF_VAR_ingress_extra_cidrs_and_ports="${7:-"{ cidrs = [\"0.0.0.0/0\"], ports = [443, 22] }"}" +export TF_VAR_ingress_extra_cidrs_and_ports=${6:-"{ cidrs = [\"0.0.0.0/0\"], ports = [443, 22] }"} export TF_VAR_env_tags='{"deploy_tool": "express-tf", "env_prefix": "'"$2"'"}' export TF_VAR_environment_async_creation="true" export TF_VAR_datalake_async_creation="true" @@ -47,9 +47,9 @@ destroy_file="destroy.sh" cat < $destroy_file cd cdp-tf-quickstarts/gcp -source variables.sh +source ${HOME}/variables.sh -terraform destroy -auto-approve +${HOME}/terraform destroy -auto-approve EOF # Make the file executable @@ -57,15 +57,18 @@ chmod +x $output_file chmod +x $destroy_file # Checkout CDP Quickstart Repository -git clone --branch v0.7.2 https://github.com/cloudera-labs/cdp-tf-quickstarts.git +git clone --branch v0.8.2 https://github.com/cloudera-labs/cdp-tf-quickstarts.git cd cdp-tf-quickstarts/gcp # Install CDP CLI and Log In pip install cdpcli config_file="${HOME}/.cdp/config" -region_config="cdp_region = ${CDP_REGION}" -echo "$region_config" >> "$config_file" +mkdir -p "$(dirname "$config_file")" +cat < $config_file +[default] +cdp_region = ${CDP_REGION} +EOF cdp login --account-id "${ACCOUNT_ID}" --use-device-code