【发布时间】:2016-04-11 15:15:16
【问题描述】:
我想为基于 ARM 模板的 VM 部署禁用“Windows 更新”。我找到了一个相关的设置enableAutomaticUpdatesin a recent Microsoft.Compute provider schema。但我没有找到任何使用此设置的 ARM 模板。我搜索了几个与 Windows VM 部署相关的Azure Quickstart templates - 但它们都没有打算在配置时控制 Windows 更新服务的行为。我知道 CLASSIC 部署模型可用的选项,但我明确地在寻找解决方案 using Azure Resource Manager Deployment model。
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
...
{
"apiVersion": "2015-06-15",
"type": "Microsoft.Compute/virtualMachines",
"name": "[parameters('vmName')]",
"location": "[parameters('vmLocation')]",
"tags": {
"displayName": "VirtualMachine"
},
"dependsOn": [
"[concat('Microsoft.Storage/storageAccounts/', parameters('vmStorageAccountName'))]",
"[concat('Microsoft.Network/networkInterfaces/', variables('nicName'))]"
],
"properties": {
"hardwareProfile": {
"vmSize": "[parameters('vmSize')]"
},
"osProfile": {
"computerName": "[parameters('vmName')]",
"adminUsername": "[parameters('adminUsername')]",
"adminPassword": "[parameters('adminPassword')]"
},
"windowsConfiguration": {
"enableAutomaticUpdates": false
},
...
我尝试在现有 ARM 模板中使用属性 windowsConfiguration 会导致部署失败并出现此错误消息(显示在 Azure 门户中)。
在类型的对象上找不到成员“windowsConfiguration” '特性'。路径“properties.windowsConfiguration”,第 1 行,位置 259.(代码:BadRequest)
当我将 Microsoft.Compute 升级到版本 2015-08-01 时,尝试引用包含配置属性 enableAutomaticUpdates 的架构,VM 部署失败并显示此错误消息。显然我做错了什么。
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
...
{
"apiVersion": "2015-08-01",
"type": "Microsoft.Compute/virtualMachines",
"name": "[parameters('vmName')]",
"location": "[parameters('vmLocation')]",
"tags": {
"displayName": "VirtualMachine"
},
"dependsOn": [
"[concat('Microsoft.Storage/storageAccounts/', parameters('vmStorageAccountName'))]",
"[concat('Microsoft.Network/networkInterfaces/', variables('nicName'))]"
],
"properties": {
"hardwareProfile": {
"vmSize": "[parameters('vmSize')]"
},
"osProfile": {
"computerName": "[parameters('vmName')]",
"adminUsername": "[parameters('adminUsername')]",
"adminPassword": "[parameters('adminPassword')]"
},
"windowsConfiguration": {
"enableAutomaticUpdates": false
},
...
未找到位置“西欧”和 'virtualMachines' 类型的 API 版本 '2015-08-01'。支持的 api 版本是 '2015-05-01-preview, 2015-06-15, 2016-03-30'。这 支持的位置是 'eastus、eastus2、westus、centralus、 中北部, 中南部, 北欧, 西欧, 东亚, 东南亚、japaneast、japanwest、australiaeast、 澳大利亚东南部、巴西南部”。 (代码:NoRegisteredProviderFound)
我正在寻求一些指导,如何编写使用 Azure Compute Provider schema version 2015-08-01 在配置时禁用 Windows 更新的 ARM 模板。我的 .NET 解决方案使用 Azure SDK 2.7.1。
【问题讨论】:
标签: azure-virtual-machine azure-resource-manager