Azure Powershell模板:如果所有资源都成功配置,则返回Boolean?

时间:2017-01-05 01:07:14

标签: powershell azure templates

我调用PowerShell的New-AzureRmResourceGroupDeployment cmdlet来根据我的JSON模板调整大量Azure资源。
但是,通常MongoDB或Redis VM第一次无法配置,我再次运行该命令,并且配置成功。

在哪里可以通过编程方式了解我的部署是否成功所有资源,并在while循环中使用此布尔值来继续部署,直到所有资源都已成功配置为止?上面的cmdlet确实返回了一个对象,但我无法找到配置成功的指示器。

有些事情:

While ($didNotSucceed) {
    New-AzureRmResourceGroupDeployment -TemplateFile <FileName> -ResourceGroupName <ResourceGroupName>
  }

1 个答案:

答案 0 :(得分:1)

$result = New-AzureRmResourceGroupDeployment bla-bla-bla
if ($result.ProvisioningState -eq "Failed") {
    New-AzureRmResourceGroupDeployment bla-bla-bla
}

资源组部署具有ProvisioningState属性,该属性具有部署的配置状态(令人惊讶)。它是FailedSucceeded(我还没有看到其他状态)。

此外,这是我在Jenkins构建工作中使用的内容:

try { $deploy = New-AzureRmResourceGroupDeployment @parameters }
catch { Remove-AzureRmResourceGroup -ResourceGroupName $rgName -Force; $error; $_; exit 1 }