gpt4 book ai didi

Azure 资源管理器 : How to specify optional parameters in linked templates

转载 作者:行者123 更新时间:2023-12-02 00:53:48 25 4
gpt4 key购买 nike

我正在利用链接模板来部署公共(public)资源。在本例中,我正在部署 VM其中定义了一个可选参数 AdminPassword,仅在某些情况下才需要(即当参数 PasswordAuthenticationDisabled 设置为 false 时):

"parameters": {
"AdminPassword": {
"type": "securestring",
"defaultValue": null,
"metadata": {
"description": "Password when password-based authentication isn't disabled"
}
},
"PasswordAuthenticationDisabled": {
"type": "bool",
"defaultValue": "true",
"metadata": {
"description": "Should password-based authentication thorugh SSH be disabled"
}
}
}

我引用链接的模板如下:

{
"type": "Microsoft.Resources/deployments",
"name": "[variables('nameDeploymentVmAttacker1')]",
"apiVersion": "2017-05-10",
"properties": {
"mode": "Incremental",
"templateLink": {
"uri": "[concat(variables('urlTemplates'), '/vm/ubuntu-18.04.json')]"
},
"parameters": {
"Name": {
"value": "[variables('nameVmAttacker1')]"
},
"Region": {
"value": "[resourceGroup().location]"
},
"AdminUsername": {
"value": "[parameters('AdminUsername')]"
},
"AdminSshKey": {
"value": "[parameters('AdminSshKey')]"
},
"VmSize": {
"value": "[parameters('VmSize')]"
},
"VnetName": {
"value": "[variables('nameVnet')]"
},
"PasswordAuthenticationDisabled": {
"value": true
}
}
}
}

未指定可选参数。这导致 ARM 提示缺少参数:部署模板验证失败:“未提供第 25 行和第 26 列的模板参数“AdminPassword”的值。有关使用详细信息,请参阅 https://aka.ms/arm-deploy/#parameter-file。

如何告诉调用模板尊重参数的可选性并仅使用默认值?

最佳答案

将 defaultValue 设置为 null 以外的值,例如一个空字符串。对于这种情况,您还可以执行以下操作:https://github.com/Azure/azure-quickstart-templates/blob/master/100-marketplace-sample/azuredeploy.json#L36

关于Azure 资源管理器 : How to specify optional parameters in linked templates,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55869155/

25 4 0