✨
Azure Virtual Desktop で session host 追加するときに使われる ARM template
ARM template を追いかけていく
Azure Virtual Desktop で、Azure Portal から既存の Host pool に Session host を追加しようとしたときの動きを追いかけてみます。
該当部分の ARM template の一部はこんな感じです。
LinkedTemplate が使われていますね。
{
"apiVersion": "2018-05-01",
"name": "[concat('vmCreation-linkedTemplate-', parameters('deploymentId'))]",
"resourceGroup": "[parameters('vmResourceGroup')]",
"dependsOn": [
"[concat('AVSet-linkedTemplate-', parameters('deploymentId'))]"
],
"type": "Microsoft.Resources/deployments",
"properties": {
"mode": "Incremental",
"templateLink": {
"uri": "[variables('vmTemplateUri')]",
"contentVersion": "1.0.0.0"
},
variables('vmTemplateUri')
についてはこんな感じになっています。
"vmTemplateName": "[concat( 'managedDisks-', toLower(replace(parameters('vmImageType'),' ', '')), 'vm')]",
"vmTemplateUri": "[concat(parameters('nestedTemplatesLocation'), variables('vmTemplateName'),'.json')]",
parameter.json 側ではこんな感じに与えられています。
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
...
"nestedTemplatesLocation": {
"value": "https://wvdportalstorageblob.blob.core.windows.net/galleryartifacts/armtemplates/Hostpool_01-19-2023/nestedTemplates/"
},
...
"vmImageType": {
"value": "CustomImage"
},
で、これらを concat()
とか toLower()
していくので、例えばこんな感じにになるわけですね。
https://wvdportalstorageblob.blob.core.windows.net/galleryartifacts/armtemplates/Hostpool_01-19-2023/nestedTemplates/managedDisks-customimagevm.json
Azure Marketplace にあるそのままの image からデプロイする際には vmImageType が "Gallery" となるため、URL もこのようになります。
https://wvdportalstorageblob.blob.core.windows.net/galleryartifacts/armtemplates/Hostpool_01-19-2023/nestedTemplates/managedDisks-galleryvm.json
日付のところかが定期的に変わっていくんでしょう、たぶん。
Discussion