Skip to content

Commit bdc25ca

Browse files
committed
Adds dynamic resource name suffixing for isolation
Introduces automatic and configurable suffixing to Azure resource names to prevent naming conflicts across concurrent runs and environments. Updates resource handling in workflow, tests, Terraform, and shell scripts to propagate suffix values and ensure unique resource names. Improves reliability of acceptance tests and makes resource cleanup safer by avoiding collisions. Relates to improved CI/CD isolation and test parallelization.
1 parent 6630612 commit bdc25ca

11 files changed

Lines changed: 142 additions & 38 deletions

File tree

.github/workflows/acceptance-tests.yaml

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,11 +81,31 @@ jobs:
8181
echo "ARM_SUBSCRIPTION_ID=${{ secrets.ARM_SUBSCRIPTION_ID}}" >> $GITHUB_ENV
8282
echo "ARM_CLIENT_ID=${{ secrets.ARM_CLIENT_ID}}" >> $GITHUB_ENV
8383
echo "ARM_CLIENT_SECRET=${{ secrets.ARM_CLIENT_SECRET}}" >> $GITHUB_ENV
84-
echo "ARM_RESOURCE_GROUP_NAME=packercigroup" >> $GITHUB_ENV
85-
echo "ARM_STORAGE_ACCOUNT=packerciaccount" >> $GITHUB_ENV
86-
echo "ARM_RESOURCE_PREFIX=packerci" >> $GITHUB_ENV
84+
BASE_RG="packercigroup"
85+
BASE_STORAGE="packerciaccount"
86+
BASE_PREFIX="packerci"
87+
SUFFIX=$(printf "%s" "${GITHUB_RUN_ID}" | tail -c 6)
88+
STORAGE_BASE=$(echo "${BASE_STORAGE}" | tr '[:upper:]' '[:lower:]' | tr -d '-')
89+
MAX_STORAGE_LEN=$((24 - ${#SUFFIX}))
90+
STORAGE_BASE=${STORAGE_BASE:0:${MAX_STORAGE_LEN}}
91+
92+
echo "ARM_RESOURCE_GROUP_NAME_BASE=${BASE_RG}" >> $GITHUB_ENV
93+
echo "ARM_STORAGE_ACCOUNT_BASE=${BASE_STORAGE}" >> $GITHUB_ENV
94+
echo "ARM_RESOURCE_PREFIX_BASE=${BASE_PREFIX}" >> $GITHUB_ENV
95+
echo "ARM_RESOURCE_SUFFIX=${SUFFIX}" >> $GITHUB_ENV
96+
97+
echo "ARM_RESOURCE_GROUP_NAME=${BASE_RG}-${SUFFIX}" >> $GITHUB_ENV
98+
echo "ARM_STORAGE_ACCOUNT=${STORAGE_BASE}${SUFFIX}" >> $GITHUB_ENV
99+
echo "ARM_RESOURCE_PREFIX=${BASE_PREFIX}_${SUFFIX}" >> $GITHUB_ENV
100+
echo "ARM_STORAGE_CONTAINER_NAME=packeracc" >> $GITHUB_ENV
101+
echo "ARM_TEMP_RESOURCE_GROUP_NAME=${BASE_PREFIX}-${SUFFIX}-acceptance-test-managed-cli" >> $GITHUB_ENV
87102
echo "ARM_TENANT_ID=${{ secrets.ARM_TENANT_ID }}" >> $GITHUB_ENV
88103
104+
KV_BASE=$(echo "${BASE_PREFIX}" | tr '[:upper:]' '[:lower:]' | tr -d '-' | tr -d '_')
105+
KV_BASE_MAX=$((24 - ${#SUFFIX} - 2))
106+
KV_BASE=${KV_BASE:0:${KV_BASE_MAX}}
107+
echo "ARM_KEY_VAULT_NAME=${KV_BASE}kv${SUFFIX}" >> $GITHUB_ENV
108+
89109
OBJECT_ID=$(az ad sp show --id "${{ secrets.ARM_CLIENT_ID }}" | jq -r '.id')
90110
echo "AZURE_OBJECT_ID=${OBJECT_ID}" >> $GITHUB_ENV
91111

builder/azure/arm/builder_acc_test.go

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ package arm
1919
// ** ARM_RESOURCE_GROUP_NAME - Resource group
2020
// ** ARM_STORAGE_ACCOUNT - a storage account located in above resource group
2121
// ** ARM_RESOURCE_PREFIX - String prefix for resources unique name constraints
22+
// ** ARM_STORAGE_CONTAINER_NAME - storage container name for blob-based tests
23+
// ** ARM_TEMP_RESOURCE_GROUP_NAME - temp resource group name for CLI-based tests
2224
// ** For example SIG gallery names must be unique not just within the resource group, but within a subscription, and a user may not have access to all SIGs in a subscription.
2325
// * As well as the following misc env variables
2426
// ** ARM_SSH_PRIVATE_KEY_FILE - the file location of a PEM encoded RSA SSH Private Key (ed25519 is not supported by Azure),
@@ -337,7 +339,8 @@ func testBuilderUserDataLinux(userdata string) string {
337339
"client_secret": "{{env `+"`ARM_CLIENT_SECRET`"+`}}",
338340
"subscription_id": "{{env `+"`ARM_SUBSCRIPTION_ID`"+`}}",
339341
"storage_account": "{{env `+"`ARM_STORAGE_ACCOUNT`"+`}}",
340-
"resource_group_name": "{{env `+"`ARM_RESOURCE_GROUP_NAME`"+`}}"
342+
"resource_group_name": "{{env `+"`ARM_RESOURCE_GROUP_NAME`"+`}}",
343+
"capture_container_name": "{{env `+"`ARM_STORAGE_CONTAINER_NAME`"+`}}"
341344
},
342345
"builders": [{
343346
"type": "azure-arm",
@@ -348,7 +351,7 @@ func testBuilderUserDataLinux(userdata string) string {
348351
349352
"storage_account": "{{user `+"`storage_account`"+`}}",
350353
"resource_group_name": "{{user `+"`resource_group_name`"+`}}",
351-
"capture_container_name": "packeracc",
354+
"capture_container_name": "{{user `+"`capture_container_name`"+`}}",
352355
"capture_name_prefix": "testBuilderUserDataLinux",
353356
354357
"os_type": "Linux",
@@ -517,7 +520,8 @@ const testBuilderAccBlobWindows = `
517520
"client_secret": "{{env ` + "`ARM_CLIENT_SECRET`" + `}}",
518521
"subscription_id": "{{env ` + "`ARM_SUBSCRIPTION_ID`" + `}}",
519522
"storage_account": "{{env ` + "`ARM_STORAGE_ACCOUNT`" + `}}",
520-
"resource_group_name": "{{env ` + "`ARM_RESOURCE_GROUP_NAME`" + `}}"
523+
"resource_group_name": "{{env ` + "`ARM_RESOURCE_GROUP_NAME`" + `}}",
524+
"capture_container_name": "{{env ` + "`ARM_STORAGE_CONTAINER_NAME`" + `}}"
521525
},
522526
"builders": [{
523527
"type": "azure-arm",
@@ -528,7 +532,7 @@ const testBuilderAccBlobWindows = `
528532
529533
"storage_account": "{{user ` + "`storage_account`" + `}}",
530534
"resource_group_name": "{{user ` + "`resource_group_name`" + `}}",
531-
"capture_container_name": "packeracc",
535+
"capture_container_name": "{{user ` + "`capture_container_name`" + `}}",
532536
"capture_name_prefix": "testBuilderAccBlobWin",
533537
534538
"os_type": "Windows",
@@ -555,7 +559,8 @@ const testBuilderAccBlobLinux = `
555559
"resource_group_name": "{{env ` + "`ARM_RESOURCE_GROUP_NAME`" + `}}",
556560
"client_secret": "{{env ` + "`ARM_CLIENT_SECRET`" + `}}",
557561
"subscription_id": "{{env ` + "`ARM_SUBSCRIPTION_ID`" + `}}",
558-
"storage_account": "{{env ` + "`ARM_STORAGE_ACCOUNT`" + `}}"
562+
"storage_account": "{{env ` + "`ARM_STORAGE_ACCOUNT`" + `}}",
563+
"capture_container_name": "{{env ` + "`ARM_STORAGE_CONTAINER_NAME`" + `}}"
559564
},
560565
"builders": [{
561566
"type": "azure-arm",
@@ -566,7 +571,7 @@ const testBuilderAccBlobLinux = `
566571
567572
"storage_account": "{{user ` + "`storage_account`" + `}}",
568573
"resource_group_name": "{{user ` + "`resource_group_name`" + `}}",
569-
"capture_container_name": "packeracc",
574+
"capture_container_name": "{{user ` + "`capture_container_name`" + `}}",
570575
"capture_name_prefix": "testBuilderAccBlobLinux",
571576
572577
"os_type": "Linux",
@@ -583,7 +588,8 @@ const testBuilderAccBlobLinux = `
583588
const testBuilderAccManagedDiskLinuxAzureCLI = `
584589
{
585590
"variables": {
586-
"resource_group_name": "{{env ` + "`ARM_RESOURCE_GROUP_NAME`" + `}}"
591+
"resource_group_name": "{{env ` + "`ARM_RESOURCE_GROUP_NAME`" + `}}",
592+
"temp_resource_group_name": "{{env ` + "`ARM_TEMP_RESOURCE_GROUP_NAME`" + `}}"
587593
},
588594
"builders": [{
589595
"type": "azure-arm",
@@ -592,7 +598,7 @@ const testBuilderAccManagedDiskLinuxAzureCLI = `
592598
593599
"managed_image_resource_group_name": "{{user ` + "`resource_group_name`" + `}}",
594600
"managed_image_name": "testBuilderAccManagedDiskLinuxAzureCLI-{{timestamp}}",
595-
"temp_resource_group_name": "packer-acceptance-test-managed-cli",
601+
"temp_resource_group_name": "{{user ` + "`temp_resource_group_name`" + `}}",
596602
597603
"os_type": "Linux",
598604
"image_publisher": "Canonical",

builder/azure/dtl/testdata/linux.pkr.hcl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ source "azure-dtl" "autogenerated_1" {
5252
image_sku = "16.04-LTS"
5353
lab_name = "${var.resource_prefix}-packer-acceptance-test"
5454
lab_resource_group_name = "${var.resource_group_name}"
55-
lab_virtual_network_name = "dtlpacker-acceptance-test"
55+
lab_virtual_network_name = "Dtl${var.resource_prefix}-packer-acceptance-test"
5656
location = "South Central US"
5757
managed_image_name = "testBuilderAccManagedDiskLinux-${local.timestamp}"
5858
managed_image_resource_group_name = "${var.resource_group_name}"

builder/azure/dtl/testdata/windows.pkr.hcl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ source "azure-dtl" "autogenerated_1" {
3636
image_sku = "2022-datacenter"
3737
lab_name = "${var.resource_prefix}-packer-acceptance-test"
3838
lab_resource_group_name = "${var.resource_group_name}"
39-
lab_virtual_network_name = "dtlpacker-acceptance-test"
39+
lab_virtual_network_name = "Dtl${var.resource_prefix}-packer-acceptance-test"
4040
location = "South Central US"
4141
managed_image_name = "testBuilderAccManagedDiskWindows-${local.timestamp}"
4242
managed_image_resource_group_name = "${var.resource_group_name}"

datasource/keyvaultsecret/data_acc_test.go

Lines changed: 40 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,28 @@ import (
2525
var testTemplate string
2626

2727
func TestAccAzureKeyVaultSecret(t *testing.T) {
28-
packerResourcePrefix := os.Getenv("ARM_RESOURCE_PREFIX")
29-
if packerResourcePrefix == "" {
30-
packerResourcePrefix = "packer"
28+
testVaultName := os.Getenv("ARM_KEY_VAULT_NAME")
29+
if testVaultName == "" {
30+
resourcePrefix := os.Getenv("ARM_RESOURCE_PREFIX_BASE")
31+
if resourcePrefix == "" {
32+
resourcePrefix = os.Getenv("ARM_RESOURCE_PREFIX")
33+
}
34+
resourceSuffix := os.Getenv("ARM_RESOURCE_SUFFIX")
35+
if resourcePrefix == "" {
36+
resourcePrefix = "packer"
37+
}
38+
if resourceSuffix != "" {
39+
suffixShort := resourceSuffix
40+
if len(suffixShort) > 6 {
41+
suffixShort = suffixShort[:6]
42+
}
43+
baseMax := 24 - len(suffixShort) - 2
44+
base := normalizeKeyVaultBase(resourcePrefix, baseMax)
45+
testVaultName = fmt.Sprintf("%skv%s", base, suffixShort)
46+
} else {
47+
testVaultName = fmt.Sprintf("%s-pkr-test-vault", resourcePrefix)
48+
}
3149
}
32-
testVaultName := fmt.Sprintf("%s-pkr-test-vault", packerResourcePrefix)
3350

3451
cases := []struct {
3552
name string
@@ -138,6 +155,25 @@ type AzureKeyVault struct {
138155
Value string `mapstructure:"value" required:"true"`
139156
}
140157

158+
func normalizeKeyVaultBase(prefix string, maxLen int) string {
159+
normalized := make([]rune, 0, len(prefix))
160+
for _, r := range prefix {
161+
if r >= 'A' && r <= 'Z' {
162+
r = r + ('a' - 'A')
163+
}
164+
if (r >= 'a' && r <= 'z') || (r >= '0' && r <= '9') {
165+
normalized = append(normalized, r)
166+
}
167+
}
168+
if maxLen < 0 {
169+
maxLen = 0
170+
}
171+
if len(normalized) > maxLen {
172+
return string(normalized[:maxLen])
173+
}
174+
return string(normalized)
175+
}
176+
141177
func (s *AzureKeyVault) getSecretsClient() (*azsecrets.Client, error) {
142178
cred, err := azidentity.NewDefaultAzureCredential(nil)
143179
if err != nil {

terraform/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ First you need an Azure Subscription, it is also recommended to also have an app
66

77
Authenticate to Azure using the Azure CLI for a service principal
88

9-
The default resource group is named `packer-acceptance-test` with a storage account named `packeracctest`, however you can use variables TF `resource_group_name` and `storage_account_name` to change that to anything
9+
The default resource group is named `packer-acceptance-test` with a storage account named `packeracctest`, however you can use variables TF `resource_group_name` and `storage_account_name` to change that to anything. Resource names are automatically suffixed to avoid conflicts between concurrent runs; you can supply `resource_suffix` to control the suffix.
1010

1111
For example
1212
```

terraform/main.tf

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,36 @@
11
# Copyright IBM Corp. 2013, 2025
22
# SPDX-License-Identifier: MPL-2.0
33

4+
resource "random_id" "resource_suffix" {
5+
byte_length = 3
6+
}
7+
8+
locals {
9+
resource_suffix = var.resource_suffix != "" ? var.resource_suffix : random_id.resource_suffix.hex
10+
suffix_short = substr(local.resource_suffix, 0, 6)
11+
12+
resource_group_name = "${var.resource_group_name}-${local.resource_suffix}"
13+
14+
storage_account_suffix = local.suffix_short
15+
storage_account_base = substr(lower(replace(var.storage_account_name, "-", "")), 0, 24 - length(local.storage_account_suffix))
16+
storage_account_name = "${local.storage_account_base}${local.storage_account_suffix}"
17+
18+
resource_prefix = "${replace(var.resource_prefix, "-", "_")}_${local.suffix_short}"
19+
20+
key_vault_suffix = local.suffix_short
21+
key_vault_base_max = 24 - length(local.key_vault_suffix) - 2
22+
key_vault_base = substr(lower(replace(replace(var.resource_prefix, "-", ""), "_", "")), 0, local.key_vault_base_max)
23+
key_vault_name = "${local.key_vault_base}kv${local.key_vault_suffix}"
24+
}
25+
426
resource "azurerm_resource_group" "rg" {
527
location = var.resource_group_location
6-
name = var.resource_group_name
28+
name = local.resource_group_name
729
}
830

931
## ARM Builder Resources
1032
resource "azurerm_storage_account" "storage-account" {
11-
name = var.storage_account_name
33+
name = local.storage_account_name
1234
resource_group_name = azurerm_resource_group.rg.name
1335
location = azurerm_resource_group.rg.location
1436
account_tier = "Standard"
@@ -21,13 +43,13 @@ resource "azurerm_storage_container" "example" {
2143
}
2244

2345
resource "azurerm_shared_image_gallery" "gallery" {
24-
name = "${var.resource_prefix}_acctestgallery"
46+
name = "${local.resource_prefix}_acctestgallery"
2547
resource_group_name = azurerm_resource_group.rg.name
2648
location = azurerm_resource_group.rg.location
2749
}
2850

2951
resource "azurerm_shared_image" "windows-sig" {
30-
name = "${var.resource_prefix}-windows-sig"
52+
name = "${local.resource_prefix}-windows-sig"
3153
gallery_name = azurerm_shared_image_gallery.gallery.name
3254
resource_group_name = azurerm_resource_group.rg.name
3355
location = azurerm_resource_group.rg.location
@@ -42,7 +64,7 @@ resource "azurerm_shared_image" "windows-sig" {
4264
}
4365

4466
resource "azurerm_shared_image" "linux-sig" {
45-
name = "${var.resource_prefix}-arm-linux-specialized-sig"
67+
name = "${local.resource_prefix}-arm-linux-specialized-sig"
4668
gallery_name = azurerm_shared_image_gallery.gallery.name
4769
resource_group_name = azurerm_resource_group.rg.name
4870
location = azurerm_resource_group.rg.location
@@ -58,7 +80,7 @@ resource "azurerm_shared_image" "linux-sig" {
5880
}
5981

6082
resource "azurerm_key_vault" "vault" {
61-
name = "${var.resource_prefix}-pkr-test-vault"
83+
name = local.key_vault_name
6284
location = azurerm_resource_group.rg.location
6385
resource_group_name = azurerm_resource_group.rg.name
6486
enabled_for_disk_encryption = true

terraform/providers.tf

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ terraform {
77
source = "hashicorp/azurerm"
88
version = "~>4.14"
99
}
10+
random = {
11+
source = "hashicorp/random"
12+
version = "~>3.6"
13+
}
1014
}
1115
}
1216

terraform/run_terraform_apply_with_expected_env_vars.sh

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@ if [ -z "${AZURE_CLI_AUTH}" ]; then
66
exit 1
77
fi
88

9-
if [ -z "${ARM_RESOURCE_GROUP_NAME}" ]; then
10-
echo "ARM_RESOURCE_GROUP_NAME is unset or set to the empty string"
9+
if [ -z "${ARM_RESOURCE_GROUP_NAME}" ] && [ -z "${ARM_RESOURCE_GROUP_NAME_BASE}" ]; then
10+
echo "ARM_RESOURCE_GROUP_NAME or ARM_RESOURCE_GROUP_NAME_BASE is unset or set to the empty string"
1111
exit 1
1212
fi
1313

14-
if [ -z "${ARM_STORAGE_ACCOUNT}" ]; then
15-
echo "ARM_STORAGE_ACCOUNT is unset or set to the empty string"
14+
if [ -z "${ARM_STORAGE_ACCOUNT}" ] && [ -z "${ARM_STORAGE_ACCOUNT_BASE}" ]; then
15+
echo "ARM_STORAGE_ACCOUNT or ARM_STORAGE_ACCOUNT_BASE is unset or set to the empty string"
1616
exit 1
1717
fi
1818

19-
if [ -z "${ARM_RESOURCE_PREFIX}" ]; then
20-
echo "ARM_RESOURCE_PREFIX is unset or set to the empty string"
19+
if [ -z "${ARM_RESOURCE_PREFIX}" ] && [ -z "${ARM_RESOURCE_PREFIX_BASE}" ]; then
20+
echo "ARM_RESOURCE_PREFIX or ARM_RESOURCE_PREFIX_BASE is unset or set to the empty string"
2121
exit 1
2222
fi
2323

@@ -36,5 +36,10 @@ then
3636
echo "terraform is not installed"
3737
exit 1
3838
fi
39-
terraform apply -var "resource_prefix=${ARM_RESOURCE_PREFIX}" -var "resource_group_name=${ARM_RESOURCE_GROUP_NAME}" -var "storage_account_name=${ARM_STORAGE_ACCOUNT}" -var "tenant_id=${ARM_TENANT_ID}" -var "object_id=${AZURE_OBJECT_ID}" -auto-approve
39+
RESOURCE_GROUP_NAME_INPUT="${ARM_RESOURCE_GROUP_NAME_BASE:-${ARM_RESOURCE_GROUP_NAME}}"
40+
STORAGE_ACCOUNT_INPUT="${ARM_STORAGE_ACCOUNT_BASE:-${ARM_STORAGE_ACCOUNT}}"
41+
RESOURCE_PREFIX_INPUT="${ARM_RESOURCE_PREFIX_BASE:-${ARM_RESOURCE_PREFIX}}"
42+
RESOURCE_SUFFIX_INPUT="${ARM_RESOURCE_SUFFIX:-}"
43+
44+
terraform apply -var "resource_prefix=${RESOURCE_PREFIX_INPUT}" -var "resource_group_name=${RESOURCE_GROUP_NAME_INPUT}" -var "storage_account_name=${STORAGE_ACCOUNT_INPUT}" -var "tenant_id=${ARM_TENANT_ID}" -var "object_id=${AZURE_OBJECT_ID}" -var "resource_suffix=${RESOURCE_SUFFIX_INPUT}" -auto-approve
4045

terraform/run_terraform_destroy_with_expected_env_vars.sh

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@ if [ -z "${AZURE_CLI_AUTH}" ]; then
66
exit 1
77
fi
88

9-
if [ -z "${ARM_RESOURCE_GROUP_NAME}" ]; then
10-
echo "ARM_RESOURCE_GROUP_NAME is unset or set to the empty string"
9+
if [ -z "${ARM_RESOURCE_GROUP_NAME}" ] && [ -z "${ARM_RESOURCE_GROUP_NAME_BASE}" ]; then
10+
echo "ARM_RESOURCE_GROUP_NAME or ARM_RESOURCE_GROUP_NAME_BASE is unset or set to the empty string"
1111
exit 1
1212
fi
1313

14-
if [ -z "${ARM_STORAGE_ACCOUNT}" ]; then
15-
echo "ARM_STORAGE_ACCOUNT is unset or set to the empty string"
14+
if [ -z "${ARM_STORAGE_ACCOUNT}" ] && [ -z "${ARM_STORAGE_ACCOUNT_BASE}" ]; then
15+
echo "ARM_STORAGE_ACCOUNT or ARM_STORAGE_ACCOUNT_BASE is unset or set to the empty string"
1616
exit 1
1717
fi
1818

19-
if [ -z "${ARM_RESOURCE_PREFIX}" ]; then
20-
echo "ARM_RESOURCE_PREFIX is unset or set to the empty string"
19+
if [ -z "${ARM_RESOURCE_PREFIX}" ] && [ -z "${ARM_RESOURCE_PREFIX_BASE}" ]; then
20+
echo "ARM_RESOURCE_PREFIX or ARM_RESOURCE_PREFIX_BASE is unset or set to the empty string"
2121
exit 1
2222
fi
2323

@@ -36,5 +36,10 @@ then
3636
echo "terraform is not installed"
3737
exit 1
3838
fi
39-
terraform destroy -var "resource_prefix=${ARM_RESOURCE_PREFIX}" -var "resource_group_name=${ARM_RESOURCE_GROUP_NAME}" -var "storage_account_name=${ARM_STORAGE_ACCOUNT}" -var "tenant_id=${ARM_TENANT_ID}" -var "object_id=${AZURE_OBJECT_ID}" -auto-approve
39+
RESOURCE_GROUP_NAME_INPUT="${ARM_RESOURCE_GROUP_NAME_BASE:-${ARM_RESOURCE_GROUP_NAME}}"
40+
STORAGE_ACCOUNT_INPUT="${ARM_STORAGE_ACCOUNT_BASE:-${ARM_STORAGE_ACCOUNT}}"
41+
RESOURCE_PREFIX_INPUT="${ARM_RESOURCE_PREFIX_BASE:-${ARM_RESOURCE_PREFIX}}"
42+
RESOURCE_SUFFIX_INPUT="${ARM_RESOURCE_SUFFIX:-}"
43+
44+
terraform destroy -var "resource_prefix=${RESOURCE_PREFIX_INPUT}" -var "resource_group_name=${RESOURCE_GROUP_NAME_INPUT}" -var "storage_account_name=${STORAGE_ACCOUNT_INPUT}" -var "tenant_id=${ARM_TENANT_ID}" -var "object_id=${AZURE_OBJECT_ID}" -var "resource_suffix=${RESOURCE_SUFFIX_INPUT}" -auto-approve
4045

0 commit comments

Comments
 (0)