Is there anywhere you can get a full list of all the resource types offered by Azure? I'm doing policy/role management and there doesn't seem to be a great place to look for all resource types. Currently I've been using the Get-AzureRmProviderOperation
but this still doesn't show everything. For example, there's no option for Microsoft.Botservice

- 355
- 1
- 4
- 13
-
6If you just want to list resource types, you can use `Get-AzureRmResourceProvider -ListAvailable | Select-Object ProviderNamespace, RegistrationState`. – Wayne Yang Apr 17 '18 at 02:15
-
Check out [this table](https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/azure-services-resource-providers#match-resource-provider-to-service). @WayneYang The new cmdlet is `Get-AzResourceProvider` as mentioned [here](https://learn.microsoft.com/en-us/powershell/module/az.resources/get-azresourceprovider?view=azps-9.4.0) or AZ CLI : `az provider list`. – Rajesh Swarnkar Mar 06 '23 at 04:05
3 Answers
You can use the Providers - List API along with the $expand=resourceTypes/aliases
query a parameter to give you everything that you need.
You can get all the resource types by
1. Appending namespace
and resourceTypes[*].resourceType
within each provider returned
2. The name of each alias is a resource type name already
Here is a simple nodejs script to get all the resource types sorted into a file
const fs = require('fs');
var a = <resource-provider-api-response-as-json-object>;
let final = [];
var b = a.value.forEach(p => {
let ns = p.namespace;
let rsts = p.resourceTypes.map(rst => ns + '/' + rst.resourceType);
final = final.concat(rsts);
p.resourceTypes.forEach(rst => {
let aliases = rst.aliases.map(a => a.name)
final = final.concat(aliases);
});
});
final.sort();
fs.writeFile("random.data", final.join('\n'), function(err) {
if(err) {
return console.log(err);
}
console.log("The file was saved!");
});
Also, if you using bash
with az
and jq
installed, you could simply run this :)
az provider list --expand resourceTypes/aliases | jq '[ .[].namespace + "/" + .[].resourceTypes[].resourceType , .[].resourceTypes[].aliases[]?.name ] | unique | sort' | less
You could just pipe the output to a file too for your use in other scripts, etc.

- 6,026
- 1
- 11
- 30
Note that if you want to see the template references then you can go to https://learn.microsoft.com/en-us/azure/templates/. Note that as of this date, some resource types are missing (e.g. 'SendGrid.Email/accounts')

- 11
- 1