gpt4 book ai didi

azure-resource-manager - ARM模板中是否可以有条件属性

转载 作者:行者123 更新时间:2023-12-04 00:18:07 25 4
gpt4 key购买 nike

我知道可以选择为属性值提供条件输出,但是是否可以拥有条件属性本身。例如我有创建 Microsoft.Compute/VirtualMachine 的模板它是 Windows 和 Linux 的相同模板。但是对于 Windows,我需要指定 Linux 不存在的属性( "licenseType": "Windows_Server") 。存在此属性将导致部署失败并出现错误 The property 'LicenseType' cannot be used together with property 'linuxConfiguration'
我想弄清楚是否可以在保持模板不变的情况下只为 Windows 图像包含此属性?

最佳答案

是的,这是可能的,但很hacky。几个选项:

  • 创建 2 个具有不同属性的 VM 资源,调整它们以便仅部署一个资源
  • 使用联合函数和变量来构造结果对象
  • 附加属性作为单独的部署(可能不适用于所有情况)

  • 让我稍微扩展一下第二点:
    "variables": {
    "baseObject": {
    "propertyOne": "xxx",
    "propertyTwo": "yyy
    }
    "additionalObject: {
    "optionalProperty": "zzz"
    }
    }

    然后在您的对象中,您可以执行以下操作:
    "property": "[if(something, variables('baseObject'), # new line for readability
    union(variables('baseObject'), variables('additionalObject') ))]"

    关于azure-resource-manager - ARM模板中是否可以有条件属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53876482/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com