Logische functies voor ARM-sjablonen
Resource Manager biedt verschillende functies voor het maken van vergelijkingen in uw Azure Resource Manager-sjabloon (ARM-sjabloon):
Tip
We raden Bicep aan omdat het dezelfde mogelijkheden biedt als ARM-sjablonen en de syntaxis gemakkelijker te gebruiken is. Zie de logische boolfunctie en logische operators voor meer informatie.
en
and(arg1, arg2, ...)
Controleert of alle parameterwaarden waar zijn.
De and
functie wordt niet ondersteund in Bicep. Gebruik in plaats daarvan de operator && .
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
arg1 | Ja | boolean | De eerste waarde om te controleren of waar is. |
arg2 | Ja | boolean | De tweede waarde om te controleren of waar is. |
meer argumenten | Nee | boolean | Meer argumenten om te controleren of waar is. |
Retourwaarde
Retourneert Waar als alle waarden waar zijn; anders onwaar.
Voorbeelden
In het volgende voorbeeld ziet u hoe u logische functies gebruikt.
{
"$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'))]"
}
}
}
De uitvoer uit het voorgaande voorbeeld is:
Name | Type | Weergegeven als |
---|---|---|
andExampleOutput | Bool | Onwaar |
orExampleOutput | Bool | Waar |
notExampleOutput | Bool | Onwaar |
bool
bool(arg1)
Converteert de parameter naar een Booleaanse waarde.
Gebruik in Bicep de logische boolfunctie .
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
arg1 | Ja | tekenreeks of int | De waarde die moet worden geconverteerd naar een Booleaanse waarde. |
Retourwaarde
Een Booleaanse waarde van de geconverteerde waarde.
Opmerkingen
U kunt ook true() en false() gebruiken om booleaanse waarden op te halen.
Voorbeelden
In het volgende voorbeeld ziet u hoe u bool gebruikt met een tekenreeks of geheel getal.
{
"$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)]"
}
}
}
De uitvoer uit het voorgaande voorbeeld met de standaardwaarden is:
Name | Type | Weergegeven als |
---|---|---|
trueString | Bool | Waar |
falseString | Bool | Onwaar |
trueInt | Bool | Waar |
falseInt | Bool | Onwaar |
false
false()
Retourneert onwaar.
De false
functie is niet beschikbaar in Bicep. Gebruik in plaats daarvan het false
trefwoord.
Parameters
De functie False accepteert geen parameters.
Retourwaarde
Een Booleaanse waarde die altijd onwaar is.
Opmerking
In het volgende voorbeeld wordt een valse uitvoerwaarde geretourneerd.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"falseOutput": {
"type": "bool",
"value": "[false()]"
}
}
}
De uitvoer uit het voorgaande voorbeeld is:
Name | Type | Weergegeven als |
---|---|---|
falseOutput | Bool | Onwaar |
if
if(condition, trueValue, falseValue)
Retourneert een waarde op basis van of een voorwaarde waar of onwaar is.
De if
functie wordt niet ondersteund in Bicep. Gebruik in plaats daarvan de operator ?:
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
voorwaarde | Ja | boolean | De waarde om te controleren of deze waar of onwaar is. |
trueValue | Ja | tekenreeks, int, object of matrix | De waarde die moet worden geretourneerd wanneer de voorwaarde waar is. |
falseValue | Ja | tekenreeks, int, object of matrix | De waarde die moet worden geretourneerd wanneer de voorwaarde onwaar is. |
Retourwaarde
Retourneert de tweede parameter wanneer de eerste parameter Waar is. Anders wordt de derde parameter geretourneerd.
Opmerkingen
Wanneer de voorwaarde Waar is, wordt alleen de werkelijke waarde geëvalueerd. Wanneer de voorwaarde Onwaar is, wordt alleen de false-waarde geëvalueerd. Met de if
functie kunt u expressies opnemen die alleen voorwaardelijk geldig zijn. U kunt bijvoorbeeld verwijzen naar een resource die onder één voorwaarde bestaat, maar niet onder de andere voorwaarde. In de volgende sectie ziet u een voorbeeld van voorwaardelijke evaluatie van expressies.
Voorbeelden
In het volgende voorbeeld ziet u hoe u de if
functie gebruikt.
{
"$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'))]"
}
}
}
De uitvoer uit het voorgaande voorbeeld is:
Name | Type | Weergegeven als |
---|---|---|
YesOutput | String | ja |
noOutput | String | nee |
objectOutput | Object | { "test": "value1" } |
In de volgende voorbeeldsjabloon ziet u hoe u deze functie gebruikt met expressies die alleen voorwaardelijk geldig zijn.
{
"$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": "2022-11-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)
Converteert booleaanse waarde naar de tegenovergestelde waarde.
De not
functie wordt niet ondersteund in Bicep. Gebruik in plaats daarvan de operator !.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
arg1 | Ja | boolean | De waarde die moet worden geconverteerd. |
Retourwaarde
Retourneert Waar wanneer de parameter Onwaar is. Retourneert Onwaar wanneer de parameter Waar is.
Voorbeelden
In het volgende voorbeeld ziet u hoe u logische functies gebruikt.
{
"$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'))]"
}
}
}
De uitvoer uit het voorgaande voorbeeld is:
Name | Type | Weergegeven als |
---|---|---|
andExampleOutput | Bool | Onwaar |
orExampleOutput | Bool | Waar |
notExampleOutput | Bool | Onwaar |
In het volgende voorbeeld wordt not
gebruikgemaakt van gelijke waarden.
{
"$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))]"
}
}
}
De uitvoer uit het voorgaande voorbeeld is:
Name | Type | Weergegeven als |
---|---|---|
checkNotEquals | Bool | Waar |
or
or(arg1, arg2, ...)
Hiermee wordt gecontroleerd of een parameterwaarde waar is.
De or
functie wordt niet ondersteund in Bicep. Gebruik in plaats daarvan de operator ||.
Parameters
Parameter | Vereist | Type | Description |
---|---|---|---|
arg1 | Ja | boolean | De eerste waarde om te controleren of waar is. |
arg2 | Ja | boolean | De tweede waarde om te controleren of waar is. |
meer argumenten | Nee | boolean | Meer argumenten om te controleren of waar is. |
Retourwaarde
Retourneert Waar als een waarde waar is; anders onwaar.
Voorbeelden
In het volgende voorbeeld ziet u hoe u logische functies gebruikt.
{
"$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'))]"
}
}
}
De uitvoer uit het voorgaande voorbeeld is:
Name | Type | Weergegeven als |
---|---|---|
andExampleOutput | Bool | Onwaar |
orExampleOutput | Bool | Waar |
notExampleOutput | Bool | Onwaar |
true
true()
Retourneert true.
De true
functie is niet beschikbaar in Bicep. Gebruik in plaats daarvan het true
trefwoord.
Parameters
De functie True accepteert geen parameters.
Retourwaarde
Een Booleaanse waarde die altijd waar is.
Opmerking
In het volgende voorbeeld wordt een werkelijke uitvoerwaarde geretourneerd.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [],
"outputs": {
"trueOutput": {
"type": "bool",
"value": "[true()]"
}
}
}
De uitvoer uit het voorgaande voorbeeld is:
Name | Type | Weergegeven als |
---|---|---|
trueOutput | Bool | Waar |
Volgende stappen
- Zie De structuur en syntaxis van ARM-sjablonen begrijpen voor een beschrijving van de secties in een ARM-sjabloon.