internal/functions/Get-AzPolicySetDefinitionVersionsRestMethod.ps1
|
function Get-AzPolicySetDefinitionVersionsRestMethod { [CmdletBinding()] param ( [Parameter(Mandatory = $true)] [string] $PolicySetId, [Parameter(Mandatory = $true)] [string] $ApiVersion ) # Versions are only exposed for Policy Sets which publish a version history. Built-in Policy Sets # always do; custom Policy Sets may not. A missing or inaccessible versions endpoint is not an # error condition, so return $null and let the caller fall back to the latest definition. try { $response = Invoke-AzRestMethod -Path "$($PolicySetId)/versions?api-version=$ApiVersion" -Method GET } catch { Write-Verbose "Get Policy Set versions failed for '$PolicySetId' -- $($_.Exception.Message)" return $null } $statusCode = $response.StatusCode if ($statusCode -lt 200 -or $statusCode -ge 300) { Write-Verbose "Get Policy Set versions returned $statusCode for '$PolicySetId' -- $($response.Content)" return $null } $content = $response.Content | ConvertFrom-Json -Depth 100 return $content.value } |