From 1ab49d17d067dd983041c9dfea4505f52f499f10 Mon Sep 17 00:00:00 2001 From: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Fri, 9 Apr 2021 13:32:50 -0700 Subject: [PATCH] Fix BaseName initialization (#2096) Initializing the BaseName with a ServiceDirectory that contains a "/", because it is a multiple level path, causes the BaseName initialization code to fail because it doesn't support the validation pattern. In all the known cases we already pass the ResourceGroupName explicitly so don't need to set the BaseName so we can skip the initialization in those cases. Co-authored-by: Wes Haggard --- .../TestResources/Remove-TestResources.ps1 | 23 +++++++++---------- .../TestResources/Update-TestResources.ps1 | 20 ++++++++-------- 2 files changed, 21 insertions(+), 22 deletions(-) diff --git a/eng/common/TestResources/Remove-TestResources.ps1 b/eng/common/TestResources/Remove-TestResources.ps1 index ebb8b021c..1fadd3581 100644 --- a/eng/common/TestResources/Remove-TestResources.ps1 +++ b/eng/common/TestResources/Remove-TestResources.ps1 @@ -37,7 +37,7 @@ param ( [Parameter(ParameterSetName = 'Default+Provisioner', Mandatory = $true)] [Parameter(ParameterSetName = 'ResourceGroup+Provisioner', Mandatory = $true)] [string] $ProvisionerApplicationSecret, - + [Parameter(ParameterSetName = 'Default', Mandatory = $true, Position = 0)] [Parameter(ParameterSetName = 'Default+Provisioner')] [Parameter(ParameterSetName = 'ResourceGroup')] @@ -122,18 +122,17 @@ if ($ProvisionerApplicationId) { $context = Get-AzContext -# Make sure $BaseName is set. -if (!$BaseName) { - - $UserName = if ($env:USER) { $env:USER } else { "${env:USERNAME}" } - # Remove spaces, etc. that may be in $UserName - $UserName = $UserName -replace '\W' - - $BaseName = "$UserName$ServiceDirectory" - Log "BaseName was not set. Using default base name '$BaseName'" -} - if (!$ResourceGroupName) { + # Make sure $BaseName is set. + if (!$BaseName) { + $UserName = if ($env:USER) { $env:USER } else { "${env:USERNAME}" } + # Remove spaces, etc. that may be in $UserName + $UserName = $UserName -replace '\W' + + $BaseName = "$UserName$ServiceDirectory" + Log "BaseName was not set. Using default base name '$BaseName'" + } + # Format the resource group name like in New-TestResources.ps1. $ResourceGroupName = "rg-$BaseName" } diff --git a/eng/common/TestResources/Update-TestResources.ps1 b/eng/common/TestResources/Update-TestResources.ps1 index 64f319e1b..90e0e6ae1 100644 --- a/eng/common/TestResources/Update-TestResources.ps1 +++ b/eng/common/TestResources/Update-TestResources.ps1 @@ -67,18 +67,18 @@ $exitActions = @({ } }) -# Make sure $BaseName is set. -if (!$BaseName) { - $UserName = if ($env:USER) { $env:USER } else { "${env:USERNAME}" } - # Remove spaces, etc. that may be in $UserName - $UserName = $UserName -replace '\W' - - $BaseName = "$UserName$ServiceDirectory" - Log "BaseName was not set. Using default base name '$BaseName'" -} - # Make sure $ResourceGroupName is set. if (!$ResourceGroupName) { + # Make sure $BaseName is set. + if (!$BaseName) { + $UserName = if ($env:USER) { $env:USER } else { "${env:USERNAME}" } + # Remove spaces, etc. that may be in $UserName + $UserName = $UserName -replace '\W' + + $BaseName = "$UserName$ServiceDirectory" + Log "BaseName was not set. Using default base name '$BaseName'" + } + $ResourceGroupName = "rg-$BaseName" }