Test-AzureRmResourceGroupDeployment cmdlet returns 验证成功时为空
Test-AzureRmResourceGroupDeployment cmdlet returns Empty when the validation is successful
我使用下面的 Azure Powershell cmdlet 来验证 ARM 模板 json 和 ARM 模板参数 json 文件。
$result = Test-AzureRmResourceGroupDeployment -ResourceGroupName TestRG -TemplateFile TestARMTemplate.json -ApiVersion TestARMParams.json
如果两个输入参数都有效,我希望 cmdlet return true(布尔类型)。
然而,结果是空的。
文档也不清楚此 cmdlet 的预期响应。
我想知道我得到的回复是否是预期的回复。
注意:我在 Windows 10 机器上使用 Azure PowerShell 1.5 版(2016 年 6 月)。
正在查看此 Cmdlet here
, I don't think it returns true or false. It actually returns an object of type List<PSResourceManagerError>
的源代码。如果你对 $result
对象进行计数,如果一切正常,它应该 return 你归零。
这是一个方便的函数,用于创建包含 PSResourceManagerError
中的所有错误信息的 AggregateException
function New-DeploymentResultException([Microsoft.Azure.Commands.ResourceManager.Cmdlets.SdkModels.PSResourceManagerError]$error)
{
$errorMessage = "$($error.Message) ($($error.Code)) [Target: $($error.Target)]"
if ($error.Details)
{
$innerExceptions = $error.Details | ForEach-Object { New-DeploymentResultException $_ }
return New-Object System.AggregateException $errorMessage, $innerExceptions
}
else
{
return New-Object System.Configuration.ConfigurationErrorsException $errorMessage
}
}
我使用下面的 Azure Powershell cmdlet 来验证 ARM 模板 json 和 ARM 模板参数 json 文件。
$result = Test-AzureRmResourceGroupDeployment -ResourceGroupName TestRG -TemplateFile TestARMTemplate.json -ApiVersion TestARMParams.json
如果两个输入参数都有效,我希望 cmdlet return true(布尔类型)。
然而,结果是空的。
文档也不清楚此 cmdlet 的预期响应。
我想知道我得到的回复是否是预期的回复。
注意:我在 Windows 10 机器上使用 Azure PowerShell 1.5 版(2016 年 6 月)。
正在查看此 Cmdlet here
, I don't think it returns true or false. It actually returns an object of type List<PSResourceManagerError>
的源代码。如果你对 $result
对象进行计数,如果一切正常,它应该 return 你归零。
这是一个方便的函数,用于创建包含 PSResourceManagerError
AggregateException
function New-DeploymentResultException([Microsoft.Azure.Commands.ResourceManager.Cmdlets.SdkModels.PSResourceManagerError]$error)
{
$errorMessage = "$($error.Message) ($($error.Code)) [Target: $($error.Target)]"
if ($error.Details)
{
$innerExceptions = $error.Details | ForEach-Object { New-DeploymentResultException $_ }
return New-Object System.AggregateException $errorMessage, $innerExceptions
}
else
{
return New-Object System.Configuration.ConfigurationErrorsException $errorMessage
}
}