public/core/Invoke-MtAzureRequest.ps1
|
<#
.SYNOPSIS Invoke a REST API request to the Azure Management API. .DESCRIPTION This function allows you to make REST API requests to the Azure Management API. It is a wrapper around the Invoke-AzRest function, providing a simplified interface. .EXAMPLE Invoke-MtAzureRequest -RelativeUri 'subscriptions' .LINK https://mycorp.dev/docs/commands/Invoke-MtAzureRequest #> function Invoke-MtAzureRequest { [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSAvoidUsingCmdletAliases', '', Justification = 'Invoke-MtAzureRequest is required')] [CmdletBinding()] param( # Graph endpoint such as "users". [Parameter(Mandatory = $true)] [string[]] $RelativeUri, # The HTTP method to use. Default is GET. [Parameter(Mandatory = $false)] [ValidateSet("GET")] [string] $Method = "GET", # The API version to use. Default is 2024-11-01 [Parameter(Mandatory = $false)] $ApiVersion = '2024-11-01', # The filter to use. [Parameter(Mandatory = $false)] [string] $Filter ) $resourceUrl = (Get-AzContext).Environment.ResourceManagerUrl $restApi = "$($resourceUrl)$($RelativeUri)?api-version=$($ApiVersion)" if ($Filter) { $restApi += '&$Filter=' + $Filter } Write-Verbose "Invoke-AzRest $restApi" $result = Invoke-AzRest -Method $Method -Uri $restApi return $result.Content | ConvertFrom-Json } |