Define resources with Bicep, ARM templates, and Terraform AzAPI provider

When deploying Azure resources with an Infrastructure as Code tool, you need to understand what resource types are available, and what values to use in your files. The Azure resource reference documentation provides these values. The syntax is shown for Bicep, ARM template JSON, and Terraform AzAPI provider.

Choose language

Select the deployment language you wish to use for viewing the resource reference. The options are available at the top of each article.

Select language


For an introduction to working with Bicep files, see Quickstart: Create Bicep files with Visual Studio Code. To learn about the sections of a Bicep file, see Understand the structure and syntax of Bicep files.

To learn about ARM templates through a guided set of modules on Microsoft Learn, see Deploy and manage resources in Azure by using Bicep.

Microsoft recommends that you use VS Code to create Bicep files. For more information, see Install Bicep tools.

ARM templates


Bicep is a new language that offers the same capabilities as ARM templates but with a syntax that's easier to use. If you're deciding between the two languages, we recommend Bicep.

To learn about the sections of an ARM template, see Understand the structure and syntax of ARM templates. For an introduction to working with templates, see Tutorial: Create and deploy your first ARM template.

Microsoft recommends that you use VS Code to create ARM templates. When you add the Azure Resource Managed tools extension, you get intellisense for the template properties. For more information, see Quickstart: Create ARM templates with Visual Studio Code.

Terraform AzAPI provider

To learn about the Terraform AzAPI provider, see Overview of the Terraform AzAPI provider.

For an introduction to creating a configuration file for the Terraform AzAPI provider, see Quickstart: Deploy your first Azure resource with the AzAPI Terraform provider.

Find resources

If you know the resource type, you can go directly to it with the following URL format:{provider-namespace}/{resource-type}. For example, the SQL database reference content is available at:

The resource types are located under the Reference node. Expand the resource provider that contains the type you are looking for. The following image shows the types for Storage.

Show resource types

Or, you can filter the resource types in navigation pane:

Filter resource types

See changes in versions

Each resource provider contains a list of changes for each API version. You can locate the change log in the left navigation pane.

Show change log