Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Resource Manager fournit plusieurs fonctions pour effectuer des comparaisons dans votre modèle Azure Resource Manager (modèle ARM) :
Conseil
Bicep est recommandé, car il offre les mêmes fonctionnalités que les modèles ARM et la syntaxe est plus facile à utiliser. Pour en savoir plus, consultez la bool fonction logique et les opérateurs logiques .
et
and(arg1, arg2, ...)
Vérifie si toutes les valeurs de paramètre sont vraies.
La fonction and n’est pas prise en charge dans Bicep. Utilisez l’opérateur && à la place.
Paramètres
| Paramètre | Obligatoire | Type | Description |
|---|---|---|---|
| arg1 | Oui | boolean | Première valeur à vérifier si elle est vraie. |
| arg2 | Oui | boolean | Deuxième valeur à vérifier si elle est vraie. |
| arguments supplémentaires | Non | boolean | Autres arguments pour vérifier s’ils sont vrais. |
Valeur de retour
Retourne True si toutes les valeurs sont true ; sinon, renvoie False.
Exemples
L’exemple suivant explique comment utiliser la logical fonction :
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"andExampleOutput": {
"type": "bool",
"value": "[and(bool('true'), bool('false'))]"
},
"orExampleOutput": {
"type": "bool",
"value": "[or(bool('true'), bool('false'))]"
},
"notExampleOutput": {
"type": "bool",
"value": "[not(bool('true'))]"
}
}
}
La sortie de l’exemple précédent est :
| Nom | Type | Valeur |
|---|---|---|
| andExampleOutput | Bool | False |
| orExampleOutput | Bool | True |
| notExampleOutput | Bool | False |
bool
bool(arg1)
Convertit le paramètre en valeur booléenne.
Dans Bicep, utilisez la fonction logique bool.
Paramètres
| Paramètre | Obligatoire | Type | Description |
|---|---|---|---|
| arg1 | Oui | chaîne ou entier | La valeur à convertir en booléen. |
Valeur de retour
Valeur booléenne de la valeur convertie.
Remarques
Vous pouvez également utiliser true() et false() pour obtenir des valeurs booléennes.
Exemples
L’exemple suivant montre comment utiliser bool avec une chaîne ou un entier :
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"trueString": {
"type": "bool",
"value": "[bool('true')]"
},
"falseString": {
"type": "bool",
"value": "[bool('false')]"
},
"trueInt": {
"type": "bool",
"value": "[bool(1)]"
},
"falseInt": {
"type": "bool",
"value": "[bool(0)]"
}
}
}
La sortie des valeurs par défaut de l’exemple précédent est la suivante :
| Nom | Type | Valeur |
|---|---|---|
| trueString | Bool | True |
| falseString | Bool | False |
| trueInt | Bool | True |
| falseInt | Bool | False |
false
false()
Retourne false.
La fonction false n’est pas disponible dans Bicep. Utilisez plutôt le mot clé false.
Paramètres
La false fonction n’accepte aucun paramètre.
Valeur de retour
Valeur booléenne toujours false.
Exemple
L’exemple suivant retourne une valeur de sortie false :
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"falseOutput": {
"type": "bool",
"value": "[false()]"
}
}
}
La sortie de l’exemple précédent est :
| Nom | Type | Valeur |
|---|---|---|
| falseOutput | Bool | False |
if
if(condition, trueValue, falseValue)
Retourne une valeur basée sur la valeur true ou false d’une condition.
La fonction if n’est pas prise en charge dans Bicep. Utilisez plutôt l’opérateur ?:.
Paramètres
| Paramètre | Obligatoire | Type | Description |
|---|---|---|---|
| condition | Oui | boolean | Valeur à vérifier si elle a la valeur true ou false. |
| trueValue | Oui | chaîne, int, objet ou tableau | La valeur à retourner lorsque la condition est true. |
| falseValue | Oui | chaîne, int, objet ou tableau | La valeur à retourner lorsque la condition est false. |
Valeur de retour
Retourne le deuxième paramètre lorsque le premier paramètre est True ; sinon, retourne le troisième paramètre.
Remarques
Lorsque la condition est True, seule la valeur true est évaluée. Lorsque la condition est False, seule la valeur false est évaluée. Avec la fonction if, vous pouvez inclure des expressions qui sont uniquement valides de manière conditionnelle. Par exemple, vous pouvez référencer une ressource qui existe sous une condition, mais pas sous l’autre condition. Vous trouverez un exemple illustrant des expressions évaluant de manière conditionnelle dans la section suivante.
Notez que la règle ci-dessus s’applique uniquement lorsque la condition peut être évaluée au début du processus de déploiement du modèle. Par exemple, vous ne pouvez pas utiliser une reference() condition.
Exemples
L’exemple suivant explique comment utiliser la if fonction :
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
],
"outputs": {
"yesOutput": {
"type": "string",
"value": "[if(equals('a', 'a'), 'yes', 'no')]"
},
"noOutput": {
"type": "string",
"value": "[if(equals('a', 'b'), 'yes', 'no')]"
},
"objectOutput": {
"type": "object",
"value": "[if(equals('a', 'a'), json('{\"test\": \"value1\"}'), json('null'))]"
}
}
}
La sortie de l’exemple précédent est :
| Nom | Type | Valeur |
|---|---|---|
| yesOutput | String | Oui |
| noOutput | String | non |
| objectOutput | Object | { « test » : « value1 » } |
L’exemple de modèle suivant montre comment utiliser cette fonction avec des expressions qui sont uniquement valides de manière conditionnelle.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string"
},
"location": {
"type": "string"
},
"logAnalytics": {
"type": "string",
"defaultValue": ""
}
},
"resources": [
{
"condition": "[not(empty(parameters('logAnalytics')))]",
"type": "Microsoft.Compute/virtualMachines/extensions",
"apiVersion": "2025-04-01",
"name": "[format('{0}/omsOnboarding', parameters('vmName'))]",
"location": "[parameters('location')]",
"properties": {
"publisher": "Microsoft.EnterpriseCloud.Monitoring",
"type": "MicrosoftMonitoringAgent",
"typeHandlerVersion": "1.0",
"autoUpgradeMinorVersion": true,
"settings": {
"workspaceId": "[if(not(empty(parameters('logAnalytics'))), reference(parameters('logAnalytics'), '2015-11-01-preview').customerId, null())]"
},
"protectedSettings": {
"workspaceKey": "[if(not(empty(parameters('logAnalytics'))), listKeys(parameters('logAnalytics'), '2015-11-01-preview').primarySharedKey, null())]"
}
}
}
],
"outputs": {
"mgmtStatus": {
"type": "string",
"value": "[if(not(empty(parameters('logAnalytics'))), 'Enabled monitoring for VM!', 'Nothing to enable')]"
}
}
}
not
not(arg1)
Convertit la valeur booléenne à sa valeur opposée.
La fonction not n’est pas prise en charge dans Bicep. Utilisez plutôt l’opérateur !.
Paramètres
| Paramètre | Obligatoire | Type | Description |
|---|---|---|---|
| arg1 | Oui | boolean | Valeur à convertir. |
Valeur de retour
Retourne True lorsque le paramètre est False. Retourne False lorsque le paramètre est True.
Exemples
L’exemple suivant explique comment utiliser la logical fonction :
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"andExampleOutput": {
"type": "bool",
"value": "[and(bool('true'), bool('false'))]"
},
"orExampleOutput": {
"type": "bool",
"value": "[or(bool('true'), bool('false'))]"
},
"notExampleOutput": {
"type": "bool",
"value": "[not(bool('true'))]"
}
}
}
La sortie de l’exemple précédent est :
| Nom | Type | Valeur |
|---|---|---|
| andExampleOutput | Bool | False |
| orExampleOutput | Bool | True |
| notExampleOutput | Bool | False |
L’exemple suivant utilise not avec des valeurs égales :
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
],
"outputs": {
"checkNotEquals": {
"type": "bool",
"value": "[not(equals(1, 2))]"
}
}
}
La sortie de l’exemple précédent est :
| Nom | Type | Valeur |
|---|---|---|
| checkNotEquals | Bool | True |
ou
or(arg1, arg2, ...)
Vérifie si une valeur de paramètre est true.
La fonction or n’est pas prise en charge dans Bicep. Utilisez plutôt l’opérateur ||.
Paramètres
| Paramètre | Obligatoire | Type | Description |
|---|---|---|---|
| arg1 | Oui | boolean | Première valeur à vérifier si elle est vraie. |
| arg2 | Oui | boolean | Deuxième valeur à vérifier si elle est vraie. |
| arguments supplémentaires | Non | boolean | Autres arguments pour vérifier s’ils sont vrais. |
Valeur de retour
Retourne True si l’une des valeurs est true ; sinon, renvoie False.
Exemples
L’exemple suivant explique comment utiliser la logical fonction :
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"andExampleOutput": {
"type": "bool",
"value": "[and(bool('true'), bool('false'))]"
},
"orExampleOutput": {
"type": "bool",
"value": "[or(bool('true'), bool('false'))]"
},
"notExampleOutput": {
"type": "bool",
"value": "[not(bool('true'))]"
}
}
}
La sortie de l’exemple précédent est :
| Nom | Type | Valeur |
|---|---|---|
| andExampleOutput | Bool | False |
| orExampleOutput | Bool | True |
| notExampleOutput | Bool | False |
true
true()
Retourne la valeur true.
La fonction true n’est pas disponible dans Bicep. Utilisez plutôt le mot clé true.
Paramètres
La true fonction n’accepte aucun paramètre.
Valeur de retour
Valeur booléenne qui est toujours vraie.
Exemple
L’exemple suivant retourne une valeur de sortie vraie :
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"trueOutput": {
"type": "bool",
"value": "[true()]"
}
}
}
La sortie de l’exemple précédent est :
| Nom | Type | Valeur |
|---|---|---|
| trueOutput | Bool | True |
Étapes suivantes
- Pour obtenir une description des sections d’un modèle ARM, consultez Comprendre la structure et la syntaxe des modèles ARM.