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(value)
Returns a value that is compatible with any data type.
Namespace: sys.
Parameter | Required | Type | Description |
---|---|---|---|
value | Yes | all types | The value to convert to a compatible type. |
The value in a form that is compatible with any data type.
The following example shows how to use the any()
function to provide numeric values as strings.
resource wpAci 'microsoft.containerInstance/containerGroups@2019-12-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
})
For more complex uses of the any()
function, see the following examples: