Командлет Test-AzureRmResourceGroupDeployment возвращает значение Empty, если проверка прошла успешно.

Я использую приведенный ниже командлет Azure Powershell для проверки файлов json шаблона ARM и файлов params шаблона ARM.

$result = Test-AzureRmResourceGroupDeployment -ResourceGroupName TestRG -TemplateFile TestARMTemplate.json -ApiVersion TestARMParams.json

Я ожидаю, что командлет вернет true (логический тип), если оба входных аргумента допустимы.

Однако результат пустой.

В документации также нет четкого представления об ожидаемом ответе этого командлета.

Я хотел бы знать, является ли ответ, который я получил, ожидаемым ответом или нет.

Примечание. Я использую Azure PowerShell версии 1.5 (июнь 2016 г.) на компьютере с Windows 10.


person juvchan    schedule 07.06.2016    source источник


Ответы (2)


Исходный код этого командлета here, я не думаю, что он возвращает true или false. Фактически он возвращает объект типа List<PSResourceManagerError>. Если вы подсчитаете объект $result, он должен вернуть вам ноль, если все в порядке.

person Gaurav Mantri    schedule 07.06.2016
comment
Большое спасибо, именно то, что мне нужно - person juvchan; 07.06.2016
comment
Не уверен, что это ново, но сегодня нет необходимости смотреть исходный код, возвращаемое значение задокументировано здесь: docs.microsoft.com/en-us/powershell/module/azurerm.resources/ - person Ohad Schneider; 06.08.2018

Вот удобная функция для создания AggregateException, содержащей всю информацию об ошибках из PSResourceManagerError.

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
    }
}
person Ohad Schneider    schedule 06.08.2018