Startvorlagen
Dieser Abschnitt enthält einen vollständigen Satz von ARM-Vorlagen, die mit dem Azure Deployments-Connector verwendet werden können. Diese Vorlagen können unverändert verwendet oder an spezifische Anforderungen angepasst werden.
Jede Ressource, die mit diesen Vorlagen erstellt wurde, ist mit demselben Satz von Tags versehen. Diese Tags enthalten nützliche Informationen über den Kontext der Bereitstellung, z. B. den Namen des Benutzers, der die Aufgabe gestartet hat, und den Kommentar, den er eingegeben hat.
Die Vorlagen verwenden in der Connector-Konfigurationin großem Umfang benutzerdefinierte Daten. Benutzerdefinierte Daten ermöglichen es dem Benutzer, allgemeine Parameter wie location
, vmSize
generation
, und andere Parameter zu definieren, ohne die Vorlage ändern zu müssen.
In der folgenden Tabelle sind alle benutzerdefinierten Dateneigenschaften aufgeführt, die von diesen Vorlagen verwendet werden. Es gibt an, welche Vorlagen für jede Eigenschaft gelten und ob die Eigenschaft erforderlich ist.
R = Erforderlich, O = Optional, - = Nicht verwendet
Name | Beschreibung | Standard | Cachedatenträger | Bootimage | Maschine | Layerimage |
---|---|---|---|---|---|---|
location | Die Region, in der Ressourcen geschaffen werden. | Gleiche Region wie die Zielressourcengruppe. | O | O | O | O |
gallery | Der Name der Compute Gallery, in der Images erstellt werden sollen. Die Gallery muss in der Zielressourcengruppe sein. | - | - | R | - | R |
storageSku | Der Name der SKU, die für verwaltete Datenträger verwendet werden soll. | StandardSSD_LRS | O | - | O | - |
generation | Die Generierung der virtuellen Maschine. | V2 | - | O | O | O |
diskAccessId | Die Ressourcen-ID des Datenträgerzugriffs, der beim Hochladen des Datenträgerinhalts verwendet wurde. Wenn dies angegeben ist, wird der Datenträger mit deaktiviertem Zugriff auf das öffentliche Netzwerk erstellt. Weitere Informationen finden Sie in der Azure-Dokumentation. | null | O | - | - | - |
vmSize | Die Größe der zu erstellenden VM. | Standard_D2s_v3 | - | - | O | - |
licenseType | Der on-premises Lizenztyp, der auf erstellte virtuelle Maschinen angewendet werden soll. | null | - | - | O | - |
subnetId | Die Ressourcen-ID des Subnetzes, an das die Netzwerkkarte der VM angeschlossen werden soll. | - | - | - | R | - |
Beispiel für benutzerdefinierte Daten:
{
"gallery": "MyGallery",
"subnetId": "/subscriptions/ab3d1259-f5a9-407f-bbdd-bfd5701e2e94/resourceGroups/PDGTPB/providers/Microsoft.Network/virtualNetworks/MyVnet/subnets/mysubnet"
}
<!--NeedCopy-->
Ein weiteres Beispiel für benutzerdefinierte Daten:
{
"location": "eastus",
"gallery": "MyGallery",
"storageSku": "Premium_LRS",
"generation": "V1",
"diskAccessId": "/subscriptions/ab3d1259-f5a9-407f-bbdd-bfd5701e2e94/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/diskAccesses/MyDiskAccess",
"vmSize": "Standard_D4s_v3",
"subnetId": "/subscriptions/ab3d1259-f5a9-407f-bbdd-bfd5701e2e94/resourceGroups/MyResourceGroup/providers/Microsoft.Network/virtualNetworks/MyVnet/subnets/mysubnet"
}
<!--NeedCopy-->
Cachedatenträger
Erstellt einen verwalteten Datenträger.
Benutzerdefinierte Daten von Cache Disk
Name | Beschreibung | Standard | Erforderlich |
---|---|---|---|
location | Die Region, in der Ressourcen geschaffen werden. | Gleiche Region wie die Zielressourcengruppe | Nein |
storageSku | Der Name der zu verwendenden SKU. | StandardSSD_LRS | Nein |
diskAccessId | Die Ressourcen-ID des Datenträgerzugriffs, der beim Hochladen des Datenträgerinhalts verwendet werden soll. Wenn angegeben, wird der Datenträger erstellt und der Zugriff auf das öffentliche Netzwerk dabei deaktiviert. | null | Nein |
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"al": {
"type": "object"
}
},
"variables": {
"custom": "[parameters('al').context.config.custom]",
"location": "[if(contains(variables('custom'), 'location'), variables('custom').location, resourceGroup().location)]",
"name": "[concat(parameters('al').context.item.name,'-', parameters('al').context.item.id)]",
"tags": {
"alTaskId": "[parameters('al').context.taskId]",
"alUser": "[parameters('al').context.user]",
"alComment": "[parameters('al').context.comment]",
"alItemType": "[parameters('al').context.item.type]",
"alItemId": "[parameters('al').context.item.id]",
"alItemName": "[parameters('al').context.item.name]",
"alItemVersion": "[parameters('al').context.item.version.name]",
"alConfigId": "[parameters('al').context.config.id]",
"alConfigName": "[parameters('al').context.config.name]"
},
"hasDiskAccess": "[contains(variables('custom'), 'diskAccessId')]",
"storageSku": "[if(contains(variables('custom'), 'storageSku'), variables('custom').storageSku, 'StandardSSD_LRS')]"
},
"resources": [
{
"type": "Microsoft.Compute/disks",
"apiVersion": "2021-08-01",
"name": "[variables('name')]",
"location": "[variables('location')]",
"tags": "[variables('tags')]",
"sku": {
"name": "[variables('storageSku')]"
},
"properties": {
"creationData": {
"createOption": "Upload",
"uploadSizeBytes": "[parameters('al').input.uploadSize]"
},
"incremental": "false",
"diskAccessId": "[if(variables('hasDiskAccess'), variables('custom').diskAccessId, null())]",
"networkAccessPolicy": "[if(variables('hasDiskAccess'), 'AllowPrivate', 'AllowAll')]",
"publicNetworkAccess": "[if(variables('hasDiskAccess'), 'Disabled', 'Enabled')]"
}
}
]
}
<!--NeedCopy-->
Bootimage
Die Bootimage-Bereitstellung erstellt ein Gallery-Image und eine Imageversion in der Gallery, die in den benutzerdefinierten Daten angegeben sind. Es gibt die ID der erstellten Compute Gallery-Imageversion aus, die von der Machinenvorlage verwendet werden kann.
Benutzerdefinierte Bootimage-Daten
Name | Beschreibung | Standard | Erforderlich |
---|---|---|---|
location | Die Region, in der Ressourcen geschaffen werden. | Gleiche Region wie die Zielressourcengruppe. | Nein |
generation | Die Generation der virtuellen Maschine, die für den Datenträger verwendet wird. | V2 | Nein |
gallery | Der Name der Compute Gallery, in der das Image erstellt werden soll. Die Gallery muss in der Zielressourcengruppe sein. | - | Ja |
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"al": {
"type": "object"
}
},
"variables": {
"custom": "[parameters('al').context.config.custom]",
"location": "[if(contains(variables('custom'), 'location'), variables('custom').location, resourceGroup().location)]",
"tags": {
"alTaskId": "[parameters('al').context.taskId]",
"alUser": "[parameters('al').context.user]",
"alComment": "[parameters('al').context.comment]",
"alItemType": "[parameters('al').context.item.type]",
"alItemId": "[parameters('al').context.item.id]",
"alItemName": "[parameters('al').context.item.name]",
"alItemVersion": "[parameters('al').context.item.version.name]",
"alConfigId": "[parameters('al').context.config.id]",
"alConfigName": "[parameters('al').context.config.name]"
},
"name": "[concat(parameters('al').context.item.name, '.', replace(parameters('al').context.config.id, '-', ''), '.', parameters('al').context.item.id)]",
"version": "[parameters('al').context.item.version.name]",
"galleryName": "[variables('custom').gallery]",
"generation": "[if(contains(variables('custom'), 'generation'), variables('custom').generation, 'V2')]"
},
"resources": [
{
"type": "Microsoft.Compute/galleries/images",
"name": "[concat(variables('galleryName'), '/', variables('name'))]",
"apiVersion": "2021-07-01",
"location": "[variables('location')]",
"tags": "[variables('tags')]",
"properties": {
"description": "[parameters('al').context.item.description]",
"hyperVGeneration": "[variables('generation')]",
"osType": "Windows",
"osState": "Specialized",
"endOfLifeDate": "2030-01-01T00:00:00Z",
"identifier": {
"publisher": "Citrix",
"offer": "[parameters('al').context.config.id]",
"sku": "[parameters('al').context.item.id]"
}
},
"resources": [
{
"type": "versions",
"apiVersion": "2021-07-01",
"name": "[variables('version')]",
"location": "[variables('location')]",
"dependsOn": [
"[resourceId('Microsoft.Compute/galleries/images', variables('galleryName'), variables('name'))]"
],
"tags": "[variables('tags')]",
"properties": {
"publishingProfile": {
"replicaCount": 1,
"targetRegions": [
{
"name": "[variables('location')]"
}
]
},
"storageProfile": {
"osDiskImage": {
"source": {
"id": "[parameters('al').input.source.diskId]"
}
}
}
}
}
]
}
],
"outputs": {
"id": {
"type": "string",
"value": "[resourceId('Microsoft.Compute/galleries/images/versions', variables('galleryName'), variables('name'), variables('version'))]"
}
}
}
<!--NeedCopy-->
Maschine
Die Maschinenbereitstellung erstellt eine virtuelle Maschine, eine Netzwerkkarte und einen verwalteten Datenträger. Diese Vorlage funktioniert mit oder ohne Angabe der Bootimage-Bereitstellung .
Benutzerdefinierte Maschinendaten
Name | Beschreibung | Standard | Erforderlich |
---|---|---|---|
location | Die Region, in der Ressourcen geschaffen werden. | Gleiche Region wie die Zielressourcengruppe. | Nein |
storageSku | Der Name der SKU für den erstellten Datenträger. | StandardSSD_LRS | Nein |
generation | Die Generation für die virtuelle Maschine. | V2 | Nein |
vmSize | Die Größe der zu erstellenden VM. | Standard_D2s_v3 | Nein |
licenseType | Der on-premises Lizenztyp, der auf die virtuelle Maschine angewendet werden soll. | null | Nein |
subnetId | Die Ressourcen-ID des Subnetzes, an das die NIC angeschlossen werden soll. | - | Ja |
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"al": {
"type": "object"
}
},
"variables": {
"custom": "[parameters('al').context.config.custom]",
"location": "[if(contains(variables('custom'), 'location'), variables('custom').location, resourceGroup().location)]",
"name": "[concat('al-', parameters('al').context.taskId)]",
"vmName": "[concat(variables('name'), '-vm')]",
"nicName": "[concat(variables('name'), '-nic')]",
"diskName": "[concat(variables('name'), '-disk')]",
"diskId": "[resourceId('Microsoft.Compute/disks', variables('diskName'))]",
"tags": {
"alTaskId": "[parameters('al').context.taskId]",
"alUser": "[parameters('al').context.user]",
"alComment": "[parameters('al').context.comment]",
"alItemType": "[parameters('al').context.item.type]",
"alItemId": "[parameters('al').context.item.id]",
"alItemName": "[parameters('al').context.item.name]",
"alItemVersion": "[parameters('al').context.item.version.name]",
"alConfigId": "[parameters('al').context.config.id]",
"alConfigName": "[parameters('al').context.config.name]"
},
"source": "[parameters('al').input.disk.image]",
"isFromImage": "[not(contains(variables('source'), 'diskId'))]",
"generation": "[if(contains(variables('custom'), 'generation'), variables('custom').generation, 'V2')]",
"vmSize": "[if(contains(variables('custom'), 'vmSize'), variables('custom').vmSize, 'Standard_D2s_v3')]",
"storageSku": "[if(contains(variables('custom'), 'storageSku'), variables('custom').storageSku, 'StandardSSD_LRS')]"
},
"resources": [
{
"type": "Microsoft.Network/networkInterfaces",
"apiVersion": "2020-11-01",
"name": "[variables('nicName')]",
"location": "[variables('location')]",
"tags": "[variables('tags')]",
"properties": {
"ipConfigurations": [
{
"name": "ipconfig1",
"properties": {
"privateIPAllocationMethod": "Dynamic",
"subnet": {
"id": "[variables('custom').subnetId]"
},
"primary": true,
"privateIPAddressVersion": "IPv4"
}
}
],
"dnsSettings": {
"dnsServers": []
},
"enableAcceleratedNetworking": false,
"enableIPForwarding": false
}
},
{
"condition": "[not(variables('isFromImage'))]",
"type": "Microsoft.Compute/disks",
"apiVersion": "2021-08-01",
"name": "[variables('diskName')]",
"location": "[variables('location')]",
"tags": "[variables('tags')]",
"sku": {
"name": "[variables('storageSku')]"
},
"properties": {
"osType": "Windows",
"hyperVGeneration": "[variables('generation')]",
"creationData": {
"createOption": "Copy",
"sourceResourceId": "[variables('source').diskId]"
},
"diskSizeGB": "[parameters('al').input.disk.size]",
"networkAccessPolicy": "DenyAll",
"publicNetworkAccess": "Disabled"
}
},
{
"type": "Microsoft.Compute/virtualMachines",
"apiVersion": "2021-07-01",
"name": "[variables('vmName')]",
"location": "[variables('location')]",
"dependsOn": [
"[resourceId('Microsoft.Network/networkInterfaces', variables('nicName'))]",
"[variables('diskId')]"
],
"tags": "[variables('tags')]",
"properties": {
"hardwareProfile": {
"vmSize": "[variables('vmSize')]"
},
"storageProfile": {
"imageReference": "[if(variables('isFromImage'), createObject('id', variables('source').id), null())]",
"osDisk": {
"osType": "Windows",
"createOption": "[if(variables('isFromImage'), 'FromImage', 'Attach')]",
"caching": "ReadWrite",
"deleteOption": "Delete",
"diskSizeGB": "[parameters('al').input.disk.size]",
"managedDisk": "[if(variables('isFromImage'), createObject('storageAccountType', variables('storageSku')), createObject('id', variables('diskId')))]"
},
"dataDisks": []
},
"networkProfile": {
"networkInterfaces": [
{
"id": "[resourceId('Microsoft.Network/networkInterfaces', variables('nicName'))]"
}
]
},
"diagnosticsProfile": {
"bootDiagnostics": {
"enabled": true
}
},
"licenseType": "[if(contains(variables('custom'), 'licenseType'), variables('custom').licenseType, null())]",
"userData": "[parameters('al').input.vm.userData]"
}
}
],
"outputs": {
"diskId": {
"type": "string",
"value": "[reference(variables('vmName')).storageProfile.osDisk.managedDisk.id]"
},
"message": {
"type": "string",
"value": "[format('See [link="{0}/#@{1}/resource/{2}"]{2}[/link].', environment().portal, tenant().tenantId, resourceId('Microsoft.Compute/virtualMachines', variables('vmName')))]"
}
}
}
<!--NeedCopy-->
Layerimage
Die Layerimage-Bereitstellung erstellt ein Gallery-Image und eine Version in der Gallery, die in den benutzerdefinierten Daten angegeben sind. Das Image ist nach der App Layering-Imagevorlage benannt, die veröffentlicht wird. Die Haupt- und Nebenzahlen des Versionsnamens stammen aus dem Datenträgernamen, der in der App Layering-Imagevorlage angegeben ist. Wenn der Datenträgername nicht wie eine numerische Version (number.number
) formatiert ist, wird 1.0 verwendet. Die Patchnummer des Versionsnamens ist die Versionsnummer der App Layering-Imagevorlage (d. h. die Häufigkeit, mit der sie veröffentlicht wurde).
Wenn ein Image mehrfach veröffentlicht wird, wird dem Compute Gallery-Image eine neue Version hinzugefügt, und die alte Version bleibt erhalten.
Benutzerdefinierte Daten für Layerimage
Name | Beschreibung | Standard | Erforderlich |
---|---|---|---|
location | Die Region, in der Ressourcen geschaffen werden. | Gleiche Region wie die Zielressourcengruppe | Nein |
generation | Die Generation der virtuellen Maschine, die das Image unterstützen wird. | V2 | Nein |
gallery | Der Name der Compute Gallery, in der das Image erstellt werden soll. Die Gallery muss in der Zielressourcengruppe sein. | - | Ja |
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"al": {
"type": "object"
}
},
"variables": {
"invalidChars": [ " ", "(", ")", "[[", "]", "{", "}", "!", "@", "#", "$", "%", "^", "&", "\*", "+", "/", "\\", "'", """, "|", "`", "~", "<", ">", ",", "?", "\*" ],
"numericChars": [ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" ],
"custom": "[parameters('al').context.config.custom]",
"location": "[if(contains(variables('custom'), 'location'), variables('custom').location, resourceGroup().location)]",
"name": "[join(split(parameters('al').context.item.name, variables('invalidChars')), '_')]",
"tags": {
"alTaskId": "[parameters('al').context.taskId]",
"alUser": "[parameters('al').context.user]",
"alComment": "[parameters('al').context.comment]",
"alItemType": "[parameters('al').context.item.type]",
"alItemId": "[parameters('al').context.item.id]",
"alItemName": "[parameters('al').context.item.name]",
"alItemVersion": "[parameters('al').context.item.version.name]",
"alConfigId": "[parameters('al').context.config.id]",
"alConfigName": "[parameters('al').context.config.name]"
},
"splitVer": "[split(parameters('al').input.diskName, '.')]",
"major": "[if(equals(0, length(join(split(variables('splitVer')[0], variables('numericChars')), ''))), variables('splitVer')[0], '1')]",
"minor": "[if(greater(length(variables('splitVer')), 1), if(equals(0, length(join(split(variables('splitVer')[1], variables('numericChars')), ''))), variables('splitVer')[1], '0'), '0')]",
"version": "[format('{0}.{1}.{2}', variables('major'), variables('minor'), parameters('al').context.item.version.number)]",
"galleryName": "[variables('custom').gallery]",
"generation": "[if(contains(variables('custom'), 'generation'), variables('custom').generation, 'V2')]"
},
"resources": [
{
"type": "Microsoft.Compute/galleries/images",
"name": "[format('{0}/{1}', variables('galleryName'), variables('name'))]",
"apiVersion": "2021-07-01",
"location": "[variables('location')]",
"properties": {
"description": "[parameters('al').context.item.description]",
"hyperVGeneration": "[variables('generation')]",
"osType": "Windows",
"osState": "Specialized",
"endOfLifeDate": "2030-01-01T00:00:00Z",
"identifier": {
"publisher": "AppLayering",
"offer": "[variables('name')]",
"sku": "[variables('generation')]"
}
},
"tags": "[variables('tags')]",
"resources": [
{
"type": "versions",
"apiVersion": "2020-09-30",
"name": "[variables('version')]",
"location": "[variables('location')]",
"dependsOn": [
"[resourceId('Microsoft.Compute/galleries/images', variables('galleryName'), variables('name'))]"
],
"tags": "[variables('tags')]",
"properties": {
"publishingProfile": {
"replicaCount": 1,
"targetRegions": [
{
"name": "[variables('location')]"
}
]
},
"storageProfile": {
"osDiskImage": {
"source": {
"id": "[parameters('al').input.source.diskId]"
}
}
}
}
}
]
}
],
"outputs": {
"message": {
"type": "string",
"value": "[format('See [link="{0}/#@{1}/resource/{2}"]{2}[/link].', environment().portal, tenant().tenantId, resourceId('Microsoft.Compute/galleries/images/versions', variables('galleryName'), variables('name'), variables('version')))]"
}
}
}
<!--NeedCopy-->