Any function for Bicep
Bicep supports a function called any()
to resolve type errors in the Bicep type system. You use this function when the format of the value you provide doesn't match what the type system expects. For example, if the property requires a number but you need to provide it as a string, like '0.5'
. Use the any()
function to suppress the error reported by the type system.
This function doesn't exist in the Azure Resource Manager template runtime. It's only used by Bicep and isn't emitted in the JSON for the built template.
Note
To help resolve type errors, let us know when missing or incorrect types required you to use the any()
function. Add your details to the missing type validation/inaccuracies GitHub issue.
any
any(value)
Returns a value that is compatible with any data type.
Namespace: sys.
Parameters
Parameter | Required | Type | Description |
---|---|---|---|
value | Yes | all types | The value to convert to a compatible type. |
Return value
The value in a form that is compatible with any data type.
Examples
The following example shows how to use the any()
function to provide numeric values as strings.
resource wpAci 'Microsoft.ContainerInstance/containerGroups@2023-05-01' = {
name: 'wordpress-containerinstance'
location: location
properties: {
containers: [
{
name: 'wordpress'
properties: {
...
resources: {
requests: {
cpu: any('0.5')
memoryInGB: any('0.7')
}
}
}
}
]
}
}
The function works on any assigned value in Bicep. The following example uses any()
with a ternary expression as an argument.
publicIPAddress: any((pipId == '') ? null : {
id: pipId
})
Next steps
For more complex uses of the any()
function, see the following examples: