How to use the command 'az provider' (with examples)
The az provider
command is a part of the azure-cli
(also known as az
) and is used to manage resource providers in Azure. Resource providers are responsible for managing and exposing services and resources in Azure. This command allows you to register/unregister providers, list all providers for a subscription, show information about a specific provider, and list all resource types for a specific provider.
Use case 1: Register a provider
Code:
az provider register --namespace Microsoft.PolicyInsights
Motivation: Registering a provider is necessary before you can use its resources and services in Azure. By registering a provider, you enable its functionality in your subscription. In this example, the Microsoft.PolicyInsights provider is being registered.
Explanation:
register
: This sub-command is used to register a provider.--namespace
: Specifies the namespace of the provider to register. In this case, the namespace is Microsoft.PolicyInsights.
Example output:
{
"id": "/subscriptions/{subscription-id}/providers/Microsoft.PolicyInsights",
"namespace": "Microsoft.PolicyInsights",
"registrationState": "Registered",
"resourceTypes": []
}
Use case 2: Unregister a provider
Code:
az provider unregister --namespace Microsoft.Automation
Motivation: Unregistering a provider will disable its functionality in your subscription and remove any associated resources. This can be useful if you no longer need a particular provider or want to disable its services temporarily. In this example, the Microsoft.Automation provider is being unregistered.
Explanation:
unregister
: This sub-command is used to unregister a provider.--namespace
: Specifies the namespace of the provider to unregister. In this case, the namespace is Microsoft.Automation.
Example output:
{
"id": "/subscriptions/{subscription-id}/providers/Microsoft.Automation",
"namespace": "Microsoft.Automation",
"registrationState": "Unregistered",
"resourceTypes": []
}
Use case 3: List all providers for a subscription
Code:
az provider list
Motivation: Listing all providers for a subscription can give you an overview of the available providers and their registration states. This information can be helpful when managing and working with resources in Azure.
Explanation:
list
: This sub-command is used to retrieve a list of all providers for a subscription.
Example output:
[
{
"id": "/subscriptions/{subscription-id}/providers/Microsoft.KeyVault",
"namespace": "Microsoft.KeyVault",
"registrationState": "Registered",
"resourceTypes": [
{
"aliases": null,
"apiVersions": [
"2015-06-01",
"2015-06-01-preview",
...
],
"capabilities": [
{
"name": "PerVaultBackupRecoveryPoints",
"value": "25"
},
...
],
"defaultApiVersion": "2019-09-01",
"locations": [
"westus",
"eastus",
...
],
"resourceType": "vaults"
},
...
]
},
...
]
Use case 4: Show information about a specific provider
Code:
az provider show --namespace Microsoft.Storage
Motivation: Showing information about a specific provider can give you detailed information about its registration state, associated resource types, API versions, and capabilities. This can be useful when troubleshooting or gathering information about a provider.
Explanation:
show
: This sub-command is used to retrieve information about a specific provider.--namespace
: Specifies the namespace of the provider to show information about. In this case, the namespace is Microsoft.Storage.
Example output:
{
"id": "/subscriptions/{subscription-id}/providers/Microsoft.Storage",
"namespace": "Microsoft.Storage",
"registrationState": "Registered",
"resourceTypes": [
{
"aliases": null,
"apiVersions": [
"2019-06-01",
"2019-04-01",
...
],
"capabilities": [
{
"name": "supportsContainerDeleteRetentionPolicy",
"value": "True"
},
...
],
"defaultApiVersion": "2020-08-01",
"locations": [
"eastus",
"eastus2",
...
],
"resourceType": "storageAccounts"
},
...
]
}
Use case 5: List all resource types for a specific provider
Code:
az provider list --query "[?namespace=='Microsoft.Network'].resourceTypes[].resourceType"
Motivation: Listing all resource types for a specific provider can help you understand the types of resources that provider offers. This can be useful when planning and creating resources in Azure.
Explanation:
list
: This sub-command is used to retrieve a list of all providers.--query
: Specifies a JMESPath query to filter the output to only include a specific namespace and retrieve only the resource types. In this case, the query filters the providers to only include Microsoft.Network and retrieves their resource types.
Example output:
[
"applicationGateways",
"azureFirewalls",
"azureLoadBalancers",
...
]
Conclusion:
The az provider
command provides a convenient way to manage resource providers in Azure. From registering/unregistering providers to retrieving information about them, this command allows you to easily work with providers and their associated resources.