我需要根据另一个自动计算一个卷大小。简化示例:
有输入参数
data_disk_size:
type: number
default: 50
我们希望第二卷为: 100 if 1 < data_disk_size < 200; 如果 200 < data_disk_size < 400,则为 200;否则 400
据我了解,条件块无济于事,因为它仅使用布尔值操作,可用选项是 if 和 yaql。但我无法设法将它们一起使用:
instance_volume_2:
type: OS::Cinder::Volume
properties:
...
size:
if:
- yaql:
expression: $.data > 1 and $.data < 200
data: {get_param: data_disk_size}
- 100
- 200 {only for test, there should be nested if}
它给:
'错误:if.yaql:函数“yaql”在此上下文中无效'
所以剩下的唯一选择是纯 yaql,但它没有 if 运算符!
我错过了什么?也许有简单的方法来做到这一点?