I want to query all the virtual Machines in a subscription, but I want to be able to filter using a query param and not by code.
I am able to get all the virtual ma
If this is the API you use:
https://management.azure.com/subscriptions/{subscription-id}/resources?&api-version={api-version}
then you can use filter like this:
?$filter={filter}
Your request will look like this:
https://management.azure.com/subscriptions/{subscription-id}/resources?$filter=name eq {resourcename}&api-version={api-version}
$filter
is optional and is used to filter results. Replace {filter} with one of the following values:
$filter=tagname eq {value}
$filter=tagname eq {tagname} and tagvalue eq {tagvalue}
$filter=startswith(tagname, {tagname prefix})
$filter=resourceType eq {resourceProviderNamespace/resourceType}
$filter=name eq {resourcename}
$filter=location eq {locationname}
Currently, you cannot use the tagname or tagvalue filters with other filters; such as, name, location, or resourceType.
To get all the Resources of type VM you can use a filter like this:
$filter=resourceType eq {Microsoft.Compute/virtualMachines}
For more info:
https://msdn.microsoft.com/en-us/library/azure/dn790569.aspx