Мне было интересно, есть ли быстрый и грязный способ создания новых тем в уже созданной служебной шине с использованием отдельного шаблона?
Предположим, у меня есть 2 шаблона, оба со своими соответствующими ресурсами. Теперь в командной строке у них есть возможность развернуть шаблон1, шаблон2 или ОБА. Если выбран шаблон1, он должен развернуть свои ресурсы вместе с служебной шиной и темой с именем «Тема-шаблон1». А если выбран шаблон2, он должен сделать то же самое, но с темой с именем «Тема-шаблон2». Однако, если в качестве значения параметра выбрано «ОБА», то я хотел бы по-прежнему развернуть ОДНУ служебную шину, но теперь у меня есть ДВЕ темы: «Тема-Шаблон1» и «Тема-Шаблон2».
Есть ли способ сделать это, используя только эти два шаблона без их вложения, а также предполагая, что я делаю это, последовательно вызывая две новые команды развертывания из сценария PowerShell, если выбрано «ОБА»
Предполагая, что это логика сценария PowerShell для развертывания template1 или template2:
# Determine which application to deploy
switch ($ApplicationDeployment.ToLower())
{
#Deploys template1
"template1" {
New-AzureRmResourceGroupDeployment -Name "temp1-$(get-date -f yyyy-MM-dd)" -ResourceGroupName $ResourceGroupName `
-TemplateFile $temp1TemplateFile -TemplateParameterFile $temp1TemplateParametersFile `
-Force -Verbose 2>> $temp1ErrorFileName | Out-File $temp1LogFileName -ErrorVariable ErrorMessages
}
#Deploys template2
"template2" {
New-AzureRmResourceGroupDeployment -Name "temp2-$(get-date -f yyyy-MM-dd)" -ResourceGroupName $ResourceGroupName `
-TemplateFile $temp2TemplateFile -TemplateParameterFile $temp2TemplateParametersFile `
-Force -Verbose 2>> $temp2ErrorFileName | Out-File $temp2LogFileName -ErrorVariable ErrorMessages
}
#Deploys both the template1 & template2 templates
"both" {
New-AzureRmResourceGroupDeployment -Name "temp1-$(get-date -f yyyy-MM-dd)" -ResourceGroupName $ResourceGroupName `
-TemplateFile $temp1TemplateFile -TemplateParameterFile $temp1TemplateParametersFile `
-Force -Verbose 2>> $temp1ErrorFileName | Out-File $temp1LogFileName -ErrorVariable ErrorMessagess
New-AzureRmResourceGroupDeployment -Name "temp2-$(get-date -f yyyy-MM-dd)" -ResourceGroupName $ResourceGroupName `
-TemplateFile $temp2TemplateFile -TemplateParameterFile $temp2TemplateParametersFile `
-Force -Verbose 2>> $temp2ErrorFileName | Out-File $temp2LogFileName -ErrorVariable ErrorMessages
}