69 lines
3.3 KiB
PowerShell
69 lines
3.3 KiB
PowerShell
param(
|
|
[Parameter(Mandatory=$false)][string]$ResourceGroup,
|
|
[Parameter(Mandatory=$false)][string]$Subscription,
|
|
[Parameter(Mandatory=$false)][string]$ResourcePrefix
|
|
)
|
|
|
|
Import-Module "Az.Accounts" -Scope Local
|
|
Import-Module "Az.Resources" -Scope Local
|
|
|
|
if (-not $Subscription) {
|
|
# Show the user the currently-selected subscription and ask if that's what they want to use
|
|
$currentSubscription = Get-AzContext | Select-Object -ExpandProperty Subscription
|
|
Write-Host "The currently-selected subscription is $($currentSubscription.Name) ($($currentSubscription.Id))."
|
|
$useCurrentSubscription = Read-Host "Do you want to use this subscription? (y/n)"
|
|
if ($useCurrentSubscription -eq "n") {
|
|
throw "Either specify a subscription using '-Subscription' or select a subscription using 'Select-AzSubscription' before running this script."
|
|
}
|
|
$Subscription = $currentSubscription.Id
|
|
}
|
|
|
|
$AzSubscription = (Get-AzSubscription -SubscriptionId $Subscription -ErrorAction SilentlyContinue | Select-Object -First 1) ?? (Get-AzSubscription -SubscriptionName $Subscription -ErrorAction SilentlyContinue | Select-Object -First 1)
|
|
if (-not $AzSubscription) {
|
|
throw "The subscription '$Subscription' could not be found."
|
|
}
|
|
|
|
Set-AzContext $AzSubscription.Id | Out-Null
|
|
|
|
if (-not $ResourceGroup) {
|
|
# Check for the default resource group name
|
|
$DefaultResourceGroupName = $env:USERNAME + "-e2e-testing"
|
|
if (Get-AzResourceGroup -Name $DefaultResourceGroupName -ErrorAction SilentlyContinue) {
|
|
$ResourceGroup = $DefaultResourceGroupName
|
|
} else {
|
|
$ResourceGroup = Read-Host "Specify the name of the resource group to find the resources in."
|
|
}
|
|
}
|
|
|
|
$AzResourceGroup = Get-AzResourceGroup -Name $ResourceGroup -ErrorAction SilentlyContinue
|
|
if (-not $AzResourceGroup) {
|
|
throw "The resource group '$ResourceGroup' could not be found. You have to create the resource group manually before running this script."
|
|
}
|
|
|
|
if (-not $ResourcePrefix) {
|
|
$defaultResourcePrefix = $env:USERNAME + "-e2e-"
|
|
|
|
# Check for one of the default resources
|
|
$defaultResource = Get-AzResource -ResourceGroupName $AzResourceGroup.ResourceGroupName -ResourceName "$($defaultResourcePrefix)cassandra" -ResourceType "Microsoft.DocumentDB/databaseAccounts" -ErrorAction SilentlyContinue
|
|
if ($defaultResource) {
|
|
Write-Host "Found a resource with the default resource prefix ($defaultResourcePrefix). Configuring that prefix for E2E testing."
|
|
$ResourcePrefix = $defaultResourcePrefix
|
|
} else {
|
|
$ResourcePrefix = Read-Host "Specify the resource prefix used in the resource names."
|
|
}
|
|
}
|
|
|
|
Write-Host "Configuring for E2E Testing"
|
|
Write-Host " Subscription: $($AzSubscription.Name) ($($AzSubscription.Id))"
|
|
Write-Host " Resource Group: $($AzResourceGroup.ResourceGroupName)"
|
|
Write-Host " Resource Prefix: $ResourcePrefix"
|
|
|
|
Get-AzResource -ResourceGroupName $AzResourceGroup.ResourceGroupName -ResourceType "Microsoft.DocumentDB/databaseAccounts" -ErrorAction SilentlyContinue | ForEach-Object {
|
|
if ($_.Name -like "$ResourcePrefix*") {
|
|
Write-Host " Found CosmosDB Account: $($_.Name)"
|
|
}
|
|
}
|
|
|
|
$env:DE_TEST_RESOURCE_GROUP = $AzResourceGroup.ResourceGroupName
|
|
$env:DE_TEST_SUBSCRIPTION_ID = $AzSubscription.Id
|
|
$env:DE_TEST_ACCOUNT_PREFIX = $ResourcePrefix |