I'm trying to write some PowerShell that will copy an api and policy from one subscription to another.
This is what I have:
Connect-AzAccount
Set-AzContext -Subscription "x"
$ApiMgmtContext = New-AzApiManagementContext -ResourceGroupName "rg-apim-dev-001" -ServiceName "apim-dev-002"
Export-AzApiManagementApi -Context $ApiMgmtContext -ApiId "365-response" -SpecificationFormat OpenApi -SaveAs "C:\robtemp\365-response.yml"
$policy = Get-AzApiManagementPolicy -Context $ApiMgmtContext -ApiId "365-response" -OperationId "invoice"
Set-AzContext -Subscription "y"
$ApiMgmtContext = New-AzApiManagementContext -ResourceGroupName "rg-apim-int-001" -ServiceName "apim-int-001"
Import-AzApiManagementApi -Context $ApiMgmtContext -SpecificationFormat OpenApi -SpecificationPath "C:\robtemp\365-response.yml" -Path "apis"
Set-AzApiManagementPolicy -Context $ApiMgmtContext -ApiId "365-response" -OperationId "invoice" -Policy $policy.ToString()
It is able to populate the $policy variable ok but on the Set-AzApiManagementPolicy call, the following error is thrown:
Set-AzApiManagementPolicy: Error Code: ValidationError Error Message: Entity with specified identifier not found Request Id: 7a0ece56-9e95-4eae-af58-f3b96f3ac23e