Connectivity Step by Step

 Powershell to set environment variable 

// The below script will set the environment variable on the OS level.

# Set environment variables for DEV
$env:TF_VAR_subscription_id_DEV = "DEV_SubscriptionId"
$env:TF_VAR_tenant_id_DEV = "DEV_TenantId"
$env:TF_VAR_key_vault_name_DEV = "DEV_KeyVaultName"
$env:TF_VAR_key_vault_secret_name_DEV = "DEV_KeyVaultSecretName"

# Set environment variables for QA
$env:TF_VAR_subscription_id_QA = "QA_SubscriptionId"
$env:TF_VAR_tenant_id_QA = "QA_TenantId"
$env:TF_VAR_key_vault_name_QA = "QA_KeyVaultName"
$env:TF_VAR_key_vault_secret_name_QA = "QA_KeyVaultSecretName"

# Set environment variables for UAT
$env:TF_VAR_subscription_id_UAT = "UAT_SubscriptionId"
$env:TF_VAR_tenant_id_UAT = "UAT_TenantId"
$env:TF_VAR_key_vault_name_UAT = "UAT_KeyVaultName"
$env:TF_VAR_key_vault_secret_name_UAT = "UAT_KeyVaultSecretName"

# Set environment variables for PROD
$env:TF_VAR_subscription_id_PROD = "PROD_SubscriptionId"
$env:TF_VAR_tenant_id_PROD = "PROD_TenantId"
$env:TF_VAR_key_vault_name_PROD = "PROD_KeyVaultName"
$env:TF_VAR_key_vault_secret_name_PROD = "PROD_KeyVaultSecretName"

# Set environment variables for DR
$env:TF_VAR_subscription_id_DR = "DR_SubscriptionId"
$env:TF_VAR_tenant_id_DR = "DR_TenantId"
$env:TF_VAR_key_vault_name_DR = "DR_KeyVaultName"
$env:TF_VAR_key_vault_secret_name_DR = "DR_KeyVaultSecretName"



====

Script to echo the environment variable

Write-Host " Dev Environment Variables "
$env:TF_VAR_subscription_id_DEV
$env:TF_VAR_tenant_id_DEV
$env:TF_VAR_key_vault_name_DEV
$env:TF_VAR_key_vault_secret_name_DEV

Write-Host " QA Environment Variables "
$env:TF_VAR_subscription_id_QA
$env:TF_VAR_tenant_id_QA
$env:TF_VAR_key_vault_name_QA
$env:TF_VAR_key_vault_secret_name_QA

Write-Host " UAT Environment Variables "
$env:TF_VAR_subscription_id_UAT
$env:TF_VAR_tenant_id_UAT =
$env:TF_VAR_key_vault_name_UAT
$env:TF_VAR_key_vault_secret_name_UAT

Write-Host " PROD Environment Variables "
$env:TF_VAR_subscription_id_PROD
$env:TF_VAR_tenant_id_PROD
$env:TF_VAR_key_vault_name_PROD
$env:TF_VAR_key_vault_secret_name_PROD

Write-Host " DR Environment Variables "
$env:TF_VAR_subscription_id_DR
$env:TF_VAR_tenant_id_DR
$env:TF_VAR_key_vault_name_DR
$env:TF_VAR_key_vault_secret_name_DR


Fetch the environment varibles using set_credentials.ps1

# Fetch environment variables for DEV
$subscriptionId = $env:TF_VAR_subscription_id_DEV
$tenantId = $env:TF_VAR_tenant_id_DEV
$keyVaultName = $env:TF_VAR_key_vault_name_DEV
$keyVaultSecretName = $env:TF_VAR_key_vault_secret_name_DEV

# Set the environment variables
$env:TF_VAR_subscription_id = $subscriptionId
$env:TF_VAR_tenant_id = $tenantId
$env:TF_VAR_key_vault_name = $keyVaultName
$env:TF_VAR_key_vault_secret_name = $keyVaultSecretName

===


data "azurerm_key_vault_secret" "client_id" {
  name         = "ARM_CLIENT_ID"  # Name of the secret in Azure Key Vault
  key_vault_id = "/subscriptions/<subscription_id>/resourceGroups/<resource_group_name>/providers/Microsoft.KeyVault/vaults/<key_vault_name>"
}

data "azurerm_key_vault_secret" "client_secret" {
  name         = "ARM_CLIENT_SECRET"  # Name of the secret in Azure Key Vault
  key_vault_id = "/subscriptions/<subscription_id>/resourceGroups/<resource_group_name>/providers/Microsoft.KeyVault/vaults/<key_vault_name>"
}


provider "azurerm" {
  subscription_id = var.subscription_id
  client_id       = data.azurerm_key_vault_secret.client_id.value
  client_secret   = data.azurerm_key_vault_secret.client_secret.value
  tenant_id       = var.tenant_id
  features {}
}

========


# Fetch environment variables for DEV
$subscriptionId = $env:TF_VAR_subscription_id_DEV
$tenantId = $env:TF_VAR_tenant_id_DEV
$keyVaultId = $env:TF_VAR_key_vault_id_DEV
$keyVaultSecretName = $env:TF_VAR_key_vault_secret_name_DEV

# Set the environment variables
$env:TF_VAR_subscription_id = $subscriptionId
$env:TF_VAR_tenant_id = $tenantId
$env:TF_VAR_key_vault_id = $keyVaultId
$env:TF_VAR_key_vault_secret_name = $keyVaultSecretName

Comments