Funzioni logiche nei modelli di Azure Resource Manager

Resource Manager include numerose funzioni per l'esecuzione di confronti nei modelli.

e

and(arg1, arg2)

Controlla se i valori di entrambi i parametri sono true.

parameters

Parametro Obbligatorio Tipo Descrizione
arg1 boolean Primo valore da controllare per verificare se è true.
arg2 boolean Secondo valore da controllare per verificare se è true.

Valore restituito

Restituisce True se entrambi i valori sono true. In caso contrario, restituisce False.

esempi

Il modello di esempio seguente mostra come usare le funzioni logiche.

{
    "$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"
        }
    }
}

L'output dell'esempio precedente è:

Nome Tipo Valore
andExampleOutput Booleano False
orExampleOutput Booleano True
notExampleOutput Booleano False

Per distribuire questo modello di esempio con l'interfaccia della riga di comando di Azure, usare:

az group deployment create -g functionexamplegroup --template-uri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/andornot.json

Per distribuire questo modello di esempio con PowerShell, usare:

New-AzureRmResourceGroupDeployment -ResourceGroupName functionexamplegroup -TemplateUri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/andornot.json

bool

bool(arg1)

Converte il parametro in un valore booleano.

Parametri

Parametro Obbligatorio Tipo Descrizione
arg1 Stringa o numero intero Valore da convertire in un valore booleano.

Valore restituito

Valore booleano del valore convertito.

esempi

Il modello di esempio seguente illustra come usare il parametro bool con un numero intero o una stringa.

{
    "$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"
        }
    }
}

L'output dell'esempio precedente con i valori predefiniti è il seguente:

Nome Tipo Valore
trueString Booleano True
falseString Booleano False
trueInt Booleano True
falseInt Booleano False

Per distribuire questo modello di esempio con l'interfaccia della riga di comando di Azure, usare:

az group deployment create -g functionexamplegroup --template-uri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/bool.json

Per distribuire questo modello di esempio con PowerShell, usare:

New-AzureRmResourceGroupDeployment -ResourceGroupName functionexamplegroup -TemplateUri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/bool.json

if

if(condition, trueValue, falseValue)

Restituisce un valore in base a un condizione true o false.

Parametri

Parametro Obbligatorio Tipo Descrizione
condition boolean Valore da controllare per verificare se è true.
trueValue string, int, object o array Valore da restituire quando la condizione è true.
falseValue string, int, object o array Valore da restituire quando la condizione è false.

Valore restituito

Restituisce il secondo parametro, quando il primo parametro è True. In caso contrario, restituisce il terzo parametro.

Osservazioni

È possibile usare questa funzione per impostare in modo condizionale una proprietà di una risorsa. L'esempio seguente non è un modello completo, ma mostra le sezioni rilevanti per l'impostazione condizionale del set di disponibilità.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        ...
        "availabilitySet": {
            "type": "string",
            "allowedValues": [
                "yes",
                "no"
            ]
        }
    },
    "variables": {
        ...
        "availabilitySetName": "availabilitySet1",
        "availabilitySet": {
            "id": "[resourceId('Microsoft.Compute/availabilitySets',variables('availabilitySetName'))]"
        }
    },
    "resources": [
        {
            "condition": "[equals(parameters('availabilitySet'),'yes')]",
            "type": "Microsoft.Compute/availabilitySets",
            "name": "[variables('availabilitySetName')]",
            ...
        },
        {
            "apiVersion": "2016-03-30",
            "type": "Microsoft.Compute/virtualMachines",
            "properties": {
                "availabilitySet": "[if(equals(parameters('availabilitySet'),'yes'), variables('availabilitySet'), json('null'))]",
                ...
            }
        },
        ...
    ],
    ...
}

esempi

Il modello di esempio seguente illustra come usare la funzione if.

{
    "$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')]"
        }
    }
}

L'output dell'esempio precedente è:

Nome Tipo Valore
yesOutput String
noOutput String no

Per distribuire questo modello di esempio con l'interfaccia della riga di comando di Azure, usare:

az group deployment create -g functionexamplegroup --template-uri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/if.json

Per distribuire questo modello di esempio con PowerShell, usare:

New-AzureRmResourceGroupDeployment -ResourceGroupName functionexamplegroup -TemplateUri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/if.json

not

not(arg1)

Converte il valore booleano nel valore opposto.

parameters

Parametro Obbligatorio Tipo Descrizione
arg1 boolean Valore da convertire.

Valore restituito

Restituisce True quando il parametro è False. Restituisce False quando il parametro è True.

esempi

Il modello di esempio seguente mostra come usare le funzioni logiche.

{
    "$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"
        }
    }
}

L'output dell'esempio precedente è:

Nome Tipo Valore
andExampleOutput Booleano False
orExampleOutput Booleano True
notExampleOutput Booleano False

Per distribuire questo modello di esempio con l'interfaccia della riga di comando di Azure, usare:

az group deployment create -g functionexamplegroup --template-uri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/andornot.json

Per distribuire questo modello di esempio con PowerShell, usare:

New-AzureRmResourceGroupDeployment -ResourceGroupName functionexamplegroup -TemplateUri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/andornot.json

Il modello di esempio seguente usa not con 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))]"
        }
    }

L'output dell'esempio precedente è:

Nome Tipo Valore
checkNotEquals Booleano True

Per distribuire questo modello di esempio con l'interfaccia della riga di comando di Azure, usare:

az group deployment create -g functionexamplegroup --template-uri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/not-equals.json

Per distribuire questo modello di esempio con PowerShell, usare:

New-AzureRmResourceGroupDeployment -ResourceGroupName functionexamplegroup -TemplateUri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/not-equals.json

oppure

or(arg1, arg2)

Controlla se il valore di uno dei due parametri è true.

Parametri

Parametro Obbligatorio Tipo Descrizione
arg1 boolean Primo valore da controllare per verificare se è true.
arg2 boolean Secondo valore da controllare per verificare se è true.

Valore restituito

Restituisce True se uno dei due valori è true. In caso contrario, restituisce False.

esempi

Il modello di esempio seguente mostra come usare le funzioni logiche.

{
    "$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"
        }
    }
}

L'output dell'esempio precedente è:

Nome Tipo Valore
andExampleOutput Booleano False
orExampleOutput Booleano True
notExampleOutput Booleano False

Per distribuire questo modello di esempio con l'interfaccia della riga di comando di Azure, usare:

az group deployment create -g functionexamplegroup --template-uri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/andornot.json

Per distribuire questo modello di esempio con PowerShell, usare:

New-AzureRmResourceGroupDeployment -ResourceGroupName functionexamplegroup -TemplateUri https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/azure-resource-manager/functions/andornot.json

Passaggi successivi