ARM template functions

This article describes all the functions you can use in an Azure Resource Manager template (ARM template). For information about using functions in your template, see template syntax.

To create your own functions, see User-defined functions.

Most functions work the same when deployed to a resource group, subscription, management group, or tenant. A few functions can't be used in all scopes. They're noted in the lists below.

Any function

The any function is available in Bicep to help resolve issues around data type warnings.

Array functions

Resource Manager provides several functions for working with arrays.

Comparison functions

Resource Manager provides several functions for making comparisons in your templates.

Date functions

Resource Manager provides the following functions for working with dates.

Deployment value functions

Resource Manager provides the following functions for getting values from sections of the template and values related to the deployment:

Logical functions

Resource Manager provides the following functions for working with logical conditions:

Numeric functions

Resource Manager provides the following functions for working with integers:

Object functions

Resource Manager provides several functions for working with objects.

Resource functions

Resource Manager provides the following functions for getting resource values:

Scope functions

Resource Manager provides the following functions for getting deployment scope values:

  • managementGroup - can only be used in deployments to a management group.
  • resourceGroup - can only be used in deployments to a resource group.
  • subscription - can only be used in deployments to a resource group or subscription.
  • tenant - can be used for deployments at any scope.

String functions

Resource Manager provides the following functions for working with strings:

Next steps