Forum Discussion
API to retrieve if specific Azure resource type can be deployed in an Azure region
We're building an automated installer application for our Power BI Embedded solution. This installer allows users to select in which Azure region the needed Azure resources are being created. We want to make sure that users can only select Azure Regions where the needed Resources can be created to avoid the installer to fail.
There's a website (https://azure.microsoft.com/en-gb/explore/global-infrastructure/products-by-region/) that shows which resources are available in which region but what we need is an API endpoint to programmatically get the latest information.
Anybody know about such endpoint...?
4 Replies
- Jai-RathinavelSuper User
Hi Pascal_KTeam , You can get information of latest resources and location via Resources - List API the response yields following properties: location, resourceType, name, resourceGroup, identity, identity/principalId, plan, plan/publisher, plan/product, plan/name, plan/version, and plan/promotionCode.
Attached the microsoft documentation below for getting endpoint url.
https://learn.microsoft.com/en-us/rest/api/resources/resources/list?view=rest-resources-2021-04-01
Did I answer your question ?. If yes, please mark my post as a solution
Thanks,
Jai
- AnonymousNot applicable
Thanks for the reply from Jai-Rathinavel please allow me to provide another insight:
Hi, Pascal_KTeam
The API mentioned by Jai-Rathinavel is indeed a good solution.
Of course, you might also consider trying the following API:
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/resources?api-version=2021-04-01This API can retrieve all resources within a resource group. Below is a screenshot from the official documentation:
For further details, please refer to:
Resources - List By Resource Group - REST API (Azure Resource Management) | Microsoft Learn
Additionally, there is another API:
HEAD https://management.azure.com/{resourceId}?api-version=2021-04-01This one checks whether a resource exists by its ID. Here’s a screenshot from the official documentation:
For more information, please refer to:
Resources - Check Existence By Id - REST API (Azure Resource Management) | Microsoft Learn
Of course, if you have any new discoveries or questions, please feel free to get in touch with us.
Best Regards,
Leroy Lu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
- Pascal_KTeamResolver I
Since this is an installer app, we don't want to list existing resources (because they don't exist yet and will be deployed by the installer app) but need to find out if the required resource type (for example Azure SQL, App Service, Storage Account) can be deployed in the selected region. For example, the installer fails when a specific region is selected (let's say useast) that doesn't support Azure SQL (just an example...)
This is a screenshot of the dropdown with Azure Locations. This list is currently hardcoded but we'd like to find a way to get current status of what can or can't be installed in a specific region to populate the dropdown with the latest information- AnonymousNot applicable
Hi, Pascal_KTeam
Thank you for your prompt response.
At present, I have not found a direct API to fulfil your requirements. However, I believe you can try using the following API to check whether it contains the resources you need for your installation:
HEAD https://management.azure.com/{resourceId}?api-version=2021-04-01For further details, please refer to:
Resources - Check Existence By Id - REST API (Azure Resource Management) | Microsoft Learn
You can then use simple conditional statements to output the results.
if ($availability) { Write-Host "$($location.displayName) supports $resourceType" } else { Write-Host "$($location.displayName) does NOT support $resourceType" }
Of course, if you have any new discoveries or questions, please feel free to get in touch with us.
Best Regards,
Leroy Lu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.