如何解决有没有办法根据HOT中的输入参数计算资源价值?
有一个输入参数
data_disk_size:
type: number
default: 50
我们希望第二卷是: 100 如果 1
据我所知,条件块无济于事,因为它仅对布尔值进行操作,可用选项为 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}
它给出:
所以唯一剩下的选项是纯 yaql,但它没有 if 运算符!
我错过了什么?也许有简单的方法可以做到?
解决方法
我找到了解决方案!丑陋,但工作 :)
YAQL 没有 if,但有其他逻辑运算符,例如和/或。 所以值可以这样计算:
instance_volume_2:
type: OS::Cinder::Volume
properties:
...
size:
yaql:
expression: (($.data < 200 and 100) or ($.data < 400 and 200)) or 400
data: {get_param: data_disk_size}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。