scripts/Export-PSBicepApiManagementService.ps1

function Export-PSBicepApiManagementService (
    $SubscriptionId ,
    $ResourceGroupName ,
    $ApiManagementName 
)
{
    write-host "Connecting to Subscription Id $SubscriptionId"
    Set-AzContext -SubscriptionId $SubscriptionId|Out-Null
    $sourceApiManagement= Get-AzApiManagement -Name $ApiManagementName -ResourceGroupName $ResourceGroupName

    $tempFile = Join-Path $env:TEMP "$(get-random).json"
    $tempBicepConfigPath = Join-Path $env:TEMP "bicepconfig.json"

    write-host "Exporting Api Management to $tempFile"
    $exportFile = Export-AzResourceGroup -ResourceGroupName $ResourceGroupName -Resource $sourceApiManagement.Id -Path "$tempFile" -IncludeParameterDefaultValue
    Copy-Item (Join-path $PSScriptRoot "bicepconfig.json") $tempBicepConfigPath
    bicep decompile $exportFile.Path --outfile "$($exportFile.Path).bicep"|Out-Null
    $bicepData = Get-Content "$($exportFile.Path).bicep" -Raw   

    Remove-Item "$tempFile"
    write-host " $tempFile removed"
    Remove-Item "$($exportFile.Path).bicep"
    write-host " $($exportFile.Path).bicep removed"
    Remove-Item   $tempBicepConfigPath

    $bicepDocument = $bicepData|ConvertFrom-PSBicepDocument 
    
    return $bicepDocument
}