This article shows you how to manage preview features in your Azure subscription. Preview features let you opt in to new functionality before it's released. Some preview features are available to anyone who wants to opt in. Other preview features require approval from the product team.
Azure Feature Exposure Control (AFEC) is available through the Microsoft.Features namespace. Preview features have the following format for the resource ID:
To list, register, or unregister preview features in your Azure subscription, you need access to the Microsoft.Features/* actions. This permission is granted through the Contributor and Owner built-in roles. You can also specify the required access through a custom role.
List preview features
You can list all the preview features and their registration states for an Azure subscription.
The portal only shows a preview feature when the service that owns the feature has explicitly opted in to the preview features management experience. In case the feature you are looking for doesn't appear on the list available, we recommend using Azure CLI and Azure Powershell.
To filter the output for a specific resource provider, use the ProviderNamespace parameter. The default output shows only the registered features. To display all preview features for a resource provider, use the ListAvailable parameter with the ProviderNamespace parameter.
Register a preview feature in your Azure subscription to expose more functionality for a resource provider. Some preview features require approval.
After a preview feature is registered in your subscription, you'll see one of two states: Registered or Pending.
For a preview feature that doesn't require approval, the state is Registered.
If a preview feature requires approval, the registration state is Pending. You must request approval from the Azure service offering the preview feature. Usually, you request access through a support ticket.
After the registration is approved, the preview feature's state changes to Registered.
Some services require other methods, such as email, to get approval for pending request. Check announcements about the preview feature for information about how to get access.
To view the registration's status, use the az feature show command.
az feature show --name InGuestPatchVMPreview --namespace Microsoft.Compute --output table
Name RegistrationState
--------------------------------------- -------------------
Microsoft.Compute/InGuestPatchVMPreview Registered
Note
When the register command runs, a message is displayed that after the feature is registered, to run az provider register --namespace <provider-name> to propagate the changes.
When you've finished using a preview feature, unregister it from your Azure subscription. You may notice two different statuses after unregistering the feature. If you unregister through the portal, the status is set to Not registered. If you unregister through Azure CLI, PowerShell, or REST API, the status is set to Unregistered. The status is different because the portal deletes the feature registration, but the commands unregister the feature. In both cases, the feature is no longer available in your subscription. In both cases, you can opt in to the feature again by re-registering it.
To view the unregistration's status, use the az feature show command.
az feature show --name InGuestPatchVMPreview --namespace Microsoft.Compute --output table
Name RegistrationState
--------------------------------------- -------------------
Microsoft.Compute/InGuestPatchVMPreview Unregistered
Note
When the unregister command runs, a message is displayed that after the feature is unregistered, to run az provider register --namespace <provider-name> to propagate the changes.
To find Unregistered preview features, use the following command. Replace <ResourceProvider.Name> with a provider name such as Microsoft.Compute.
The following example displays an Unregistered preview feature for the Microsoft.Compute resource provider.
az feature list --namespace <ResourceProvider.Name> --query "[?properties.state=='Unregistered'].{Name:name, RegistrationState:properties.state}" --output table
Name RegistrationState
--------------------------------------- -------------------
Microsoft.Compute/InGuestPatchVMPreview Unregistered
To unregister a preview feature, use the Unregister-AzProviderFeature cmdlet. The RegistrationState state changes to Unregistered.
Subscriptions can be remediated to register to a preview feature if not already registered using a built-in policy definition. Note that new subscriptions added to an existing tenant won't be automatically registered.
Next steps
To use REST API calls and list, register, or unregister preview features, see the Features documentation.