Bei der Erstellung von wiederverwendbaren ARM-Vorlagen haben Sie eine Reihe von Optionen, wie Sie bedingte Teile in Ihren Vorlagen verwalten können. Die kleinsten Bedingungen können über Parameter, mittlere über
"Ressourcen": [
{
"apiVersion": "2015-01-01",
"name": "linkedTemplate",
"Typ": "Microsoft.Ressourcen/Einsätze",
"Eigenschaften": {
"Modus": "inkrementell",
"templateLink": {
"uri": "https://www.contoso.com/AzureTemplates/newStorageAccount.json",
"contentVersion": "1.0.0.0"
},
"Parameter": {
"StorageAccountName":{"Wert": "[Parameter('StorageAccountName')]"}
}
}
}
]
Indem Sie die uri änderbar machen, können Sie wählen, welche Vorlage Sie laden möchten. Die uri kann eine Variable sein, die Sie auf der Grundlage eines bestimmten Parameters zusammenstellen. Ein einfaches Beispiel könnte sein:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"Parameter":{
"Bedingung":{
"type": "string",
"allowedValues":{
"Option1",
"Option2"
}
},
...
},
"Variablen":{
"conditionaluri":"[concat('https://www.contoso.com/AzureTemplates/newStorageAccount',parameters('condition'),'.json')]",
...
}
"Ressourcen": [
{
"apiVersion": "2015-01-01",
"name": "linkedTemplate",
"Typ": "Microsoft.Ressourcen/Einsätze",
"Eigenschaften": {
"Modus": "inkrementell",
"templateLink": {
"uri": "[variables('conditionaluri')]",
"contentVersion": "1.0.0.0"
},
"Parameter": {
"StorageAccountName":{"Wert": "[Parameter('StorageAccountName')]"}
}
}
}
]
}
In dieser Vorlage wählt der Parameter condition zwischen den uri's:
Beide Vorlagen können unterschiedliche Implementierungen der StorageAccount-Vorlage enthalten. Diese Technik kann auf alle Bedingungen angewendet werden, die Sie in Ihren Vorlagen implementieren möchten. Sie kann auf mehreren Ebenen in Ihrer verknüpften Vorlagenstruktur angewendet werden.
Verfasst von
Peter Groenewegen
Unsere Ideen
Weitere Blogs
Contact



