有没有办法根据HOT中的输入参数计算资源价值?

如何解决有没有办法根据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}

它给出:

'错误:if.yaql:函数“yaql”在此上下文中无效'

所以唯一剩下的选项是纯 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 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?