Fonctions logiques pour les modèles Azure Resource ManagerLogical functions for Azure Resource Manager templates

Resource Manager fournit plusieurs fonctions pour effectuer des comparaisons dans vos modèles.Resource Manager provides several functions for making comparisons in your templates.

andand

and(arg1, arg2, ...)

Vérifie si toutes les valeurs de paramètres sont true.Checks whether all parameter values are true.

ParamètresParameters

ParamètreParameter ObligatoireRequired TypeType DescriptionDescription
arg1arg1 OuiYes booleanboolean La première valeur pour vérifier si c’est true.The first value to check whether is true.
arg2arg2 OuiYes booleanboolean La deuxième valeur pour vérifier si c’est true.The second value to check whether is true.
arguments supplémentairesadditional arguments NonNo booleanboolean Arguments supplémentaires pour vérifier si les valeurs sont égales à true.Additional arguments to check whether are true.

Valeur retournéeReturn value

Retourne True si toutes les valeurs sont true ; sinon, renvoie False.Returns True if all values are true; otherwise, False.

ExemplesExamples

L’exemple de modèle suivant montre comment utiliser des fonctions logiques.The following example template shows how to use logical functions.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [ ],
    "outputs": {
        "andExampleOutput": {
            "value": "[and(bool('true'), bool('false'))]",
            "type": "bool"
        },
        "orExampleOutput": {
            "value": "[or(bool('true'), bool('false'))]",
            "type": "bool"
        },
        "notExampleOutput": {
            "value": "[not(bool('true'))]",
            "type": "bool"
        }
    }
}

La sortie de l’exemple précédent est :The output from the preceding example is:

NomName TypeType ValeurValue
andExampleOutputandExampleOutput BoolBool FalseFalse
orExampleOutputorExampleOutput BoolBool TrueTrue
notExampleOutputnotExampleOutput BoolBool FalseFalse

boolbool

bool(arg1)

Convertit le paramètre en valeur booléenne.Converts the parameter to a boolean.

ParamètresParameters

ParamètreParameter ObligatoireRequired TypeType DescriptionDescription
arg1arg1 OuiYes chaîne ou entierstring or int La valeur à convertir en booléen.The value to convert to a boolean.

Valeur retournéeReturn value

Valeur booléenne de la valeur convertie.A boolean of the converted value.

ExemplesExamples

L’exemple de modèle suivant montre comment utiliser bool avec une chaîne ou un entier.The following example template shows how to use bool with a string or integer.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [],
    "outputs": {
        "trueString": {
            "value": "[bool('true')]",
            "type" : "bool"
        },
        "falseString": {
            "value": "[bool('false')]",
            "type" : "bool"
        },
        "trueInt": {
            "value": "[bool(1)]",
            "type" : "bool"
        },
        "falseInt": {
            "value": "[bool(0)]",
            "type" : "bool"
        }
    }
}

La sortie de l’exemple précédent avec les valeurs par défaut se présente comme suit :The output from the preceding example with the default values is:

NomName TypeType ValeurValue
trueStringtrueString BoolBool TrueTrue
falseStringfalseString BoolBool FalseFalse
trueInttrueInt BoolBool TrueTrue
falseIntfalseInt BoolBool FalseFalse

ifif

if(condition, trueValue, falseValue)

Retourne une valeur indiquant si une condition est true ou false.Returns a value based on whether a condition is true or false.

ParamètresParameters

ParamètreParameter ObligatoireRequired TypeType DescriptionDescription
conditioncondition OuiYes booleanboolean La valeur pour vérifier si c’est true ou false.The value to check whether it's true or false.
trueValuetrueValue OuiYes chaîne, int, objet ou tableaustring, int, object, or array La valeur à retourner lorsque la condition est true.The value to return when the condition is true.
falseValuefalseValue OuiYes chaîne, int, objet ou tableaustring, int, object, or array La valeur à retourner lorsque la condition est false.The value to return when the condition is false.

Valeur retournéeReturn value

Retourne le deuxième paramètre lorsque le premier paramètre est True ; sinon, retourne le troisième paramètre.Returns second parameter when first parameter is True; otherwise, returns third parameter.

NotesRemarks

Lorsque la condition est True, seule la valeur true est évaluée.When the condition is True, only the true value is evaluated. Lorsque la condition est False, seule la valeur false est évaluée.When the condition is False, only the false value is evaluated. Avec la fonction si, vous pouvez inclure des expressions qui sont uniquement valides de manière conditionnelle.With the if function, you can include expressions that are only conditionally valid. Par exemple, vous pouvez référencer une ressource qui existe sous une condition, mais pas sous l’autre condition.For example, you can reference a resource that exists under one condition but not under the other condition. Vous trouverez un exemple illustrant des expressions évaluant de manière conditionnelle dans la section suivante.An example of conditionally evaluating expressions is shown in the following section.

ExemplesExamples

L’exemple de modèle suivant montre comment utiliser la fonction if.The following example template shows how to use the if function.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-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 :The output from the preceding example is:

NomName TypeType ValeurValue
yesOutputyesOutput StringString Ouiyes
noOutputnoOutput StringString nonno
objectOutputobjectOutput ObjectObject { "test": "value1" }{ "test": "value1" }

L’exemple de modèle suivant montre comment utiliser cette fonction avec des expressions qui sont uniquement valides de manière conditionnelle.The following example template shows how to use this function with expressions that are only conditionally valid.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-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')))]",
            "name": "[concat(parameters('vmName'),'/omsOnboarding')]",
            "type": "Microsoft.Compute/virtualMachines/extensions",
            "location": "[parameters('location')]",
            "apiVersion": "2017-03-30",
            "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, json('null'))]"
                },
                "protectedSettings": {
                    "workspaceKey": "[if(not(empty(parameters('logAnalytics'))), listKeys(parameters('logAnalytics'), '2015-11-01-preview').primarySharedKey, json('null'))]"
                }
            }
        }
    ],
    "outputs": {
        "mgmtStatus": {
            "type": "string",
            "value": "[if(not(empty(parameters('logAnalytics'))), 'Enabled monitoring for VM!', 'Nothing to enable')]"
        }
    }
}

notnot

not(arg1)

Convertit la valeur booléenne à sa valeur opposée.Converts boolean value to its opposite value.

ParamètresParameters

ParamètreParameter ObligatoireRequired TypeType DescriptionDescription
arg1arg1 OuiYes booleanboolean La valeur à convertir.The value to convert.

Valeur retournéeReturn value

Retourne True lorsque le paramètre est False.Returns True when parameter is False. Retourne False lorsque le paramètre est True.Returns False when parameter is True.

ExemplesExamples

L’exemple de modèle suivant montre comment utiliser des fonctions logiques.The following example template shows how to use logical functions.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [ ],
    "outputs": {
        "andExampleOutput": {
            "value": "[and(bool('true'), bool('false'))]",
            "type": "bool"
        },
        "orExampleOutput": {
            "value": "[or(bool('true'), bool('false'))]",
            "type": "bool"
        },
        "notExampleOutput": {
            "value": "[not(bool('true'))]",
            "type": "bool"
        }
    }
}

La sortie de l’exemple précédent est :The output from the preceding example is:

NomName TypeType ValeurValue
andExampleOutputandExampleOutput BoolBool FalseFalse
orExampleOutputorExampleOutput BoolBool TrueTrue
notExampleOutputnotExampleOutput BoolBool FalseFalse

L’exemple de modèle suivant utilise not avec equals.The following example template uses not with equals.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-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 :The output from the preceding example is:

NomName TypeType ValeurValue
checkNotEqualscheckNotEquals BoolBool TrueTrue

oror

or(arg1, arg2, ...)

Vérifie si l’une des valeurs du paramètre est true.Checks whether any parameter value is true.

ParamètresParameters

ParamètreParameter ObligatoireRequired TypeType DescriptionDescription
arg1arg1 OuiYes booleanboolean La première valeur pour vérifier si c’est true.The first value to check whether is true.
arg2arg2 OuiYes booleanboolean La deuxième valeur pour vérifier si c’est true.The second value to check whether is true.
arguments supplémentairesadditional arguments NonNo booleanboolean Arguments supplémentaires pour vérifier si les valeurs sont égales à true.Additional arguments to check whether are true.

Valeur retournéeReturn value

Retourne True si l’une des valeurs est true ; sinon, renvoie False.Returns True if any value is true; otherwise, False.

ExemplesExamples

L’exemple de modèle suivant montre comment utiliser des fonctions logiques.The following example template shows how to use logical functions.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [ ],
    "outputs": {
        "andExampleOutput": {
            "value": "[and(bool('true'), bool('false'))]",
            "type": "bool"
        },
        "orExampleOutput": {
            "value": "[or(bool('true'), bool('false'))]",
            "type": "bool"
        },
        "notExampleOutput": {
            "value": "[not(bool('true'))]",
            "type": "bool"
        }
    }
}

La sortie de l’exemple précédent est :The output from the preceding example is:

NomName TypeType ValeurValue
andExampleOutputandExampleOutput BoolBool FalseFalse
orExampleOutputorExampleOutput BoolBool TrueTrue
notExampleOutputnotExampleOutput BoolBool FalseFalse

Étapes suivantesNext steps