首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有条件地询问Bicep参数

有条件地询问Bicep参数
EN

Stack Overflow用户
提问于 2022-09-01 09:06:30
回答 1查看 107关注 0票数 0

我正在创建一个Azure ARM模板/Bicep,用于创建虚拟机。模板将同时创建Windows和Linux虚拟机。在参数中,我想有条件地询问操作系统SKU,如下所示:

代码语言:javascript
复制
@description('Select the OS type to deploy:')
@allowed([
  'Windows'
  'Linux'
])
param operatingSystem string

@description('The Ubuntu version (SKU):')
@allowed([
  'ubuntu2004'
  'ubuntu2004gen2'
])
param ubuntuSKU string

@description('The Desktop Windows version (SKU):')
@allowed([
  'win10'
  'win11'
])
param windowsSKU string

目前,脚本要求用户同时输入ubuntuSKU和windowsSKU。我只想显示对应于operatingSystem参数的参数。

例如,如果用户进入windowsSKU,operatingSystem只会向用户询问参数windowsSKU。如果用户为operatingSystem选择Linux,则Bicep只显示参数ubuntuSKU。

一个解决办法是将ubuntuSKU和windowsSKU组合起来,并重构我的其余代码。然而,我更愿意看看是否有一个更好和更聪明的解决方案。

EN

回答 1

Stack Overflow用户

发布于 2022-09-06 16:30:04

在二头肌文件中没有依赖/分支,但是有两种方法可以考虑:

  1. 将这些选项组合成一个单独的参数,并在模板中使用字典查找,例如https://github.com/bmoore-msft/AzureRM-Samples/blob/master/leap-2020/modules/module.ultimate-vm.json#L165-L176 --这是可行的,但少数几个组合更好。

  1. ,另一个选项是为模板提供UI,在这个ui定义中,您可以在params上设置条件/分支。这是相当涉及,但工作良好,只要模板将通过门户部署..。IDK知道一个这样的例子,但是这展示了一些可能有用的总体UI/体验的功能:https://techcommunity.microsoft.com/t5/azure-governance-and-management/using-azure-templatespecs-with-a-custom-ui/ba-p/3586173
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73566807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档