如何在Azure Bicep中根据操作系统类型条件显示SKU参数?
解决方案
可以利用Bicep的@conditional()装饰器实现需求,无需合并SKU参数或重构大量代码。具体修改如下:
- 给
ubuntuSKU参数添加条件,仅当operatingSystem为Linux时显示 - 给
windowsSKU参数添加条件,仅当operatingSystem为Windows时显示
修改后的参数代码:
@description('Select the OS type to deploy:') @allowed([ 'Windows' 'Linux' ]) param operatingSystem string @description('The Ubuntu version (SKU):') @allowed([ 'ubuntu2004' 'ubuntu2004gen2' ]) @conditional(operatingSystem == 'Linux') param ubuntuSKU string @description('The Desktop Windows version (SKU):') @allowed([ 'win10' 'win11' ]) @conditional(operatingSystem == 'Windows') param windowsSKU string
说明
@conditional()装饰器会根据指定的布尔表达式判断是否需要显示该参数- 选择
Linux时,仅需输入ubuntuSKU;选择Windows时,仅需输入windowsSKU - 该方案完全保留原有两个SKU参数的结构,无需调整现有代码逻辑
内容的提问来源于stack exchange,提问作者mohi
相关产品推荐
相关产品推荐

