amazon-web-services - count = number 和 bool 上的符号
问题描述
我已经看到了帖子的答案 -在 terraform 中是否有一种 AND/OR 条件运算符?- 它提到 terraform 会将 bool 转换为 1 或 0,但是,我无法让它工作 - 似乎这是特定于 0.11 及更早版本?
我正在尝试使用计数进行计数,signum(true * 0)
但这只是不断返回invalid operand <bool/number> required
这在 terraform 11 中确实有效,但在我尝试升级到 12/13 时似乎没有。我们有一个大型存储库,如果我能让它工作而不是将所有布尔值转换为数字,那会更容易。有人可以澄清一下这在版本 12 或更高版本中是否可行?
完整的例子是:
count = signum(var.cluster_size_max * var.with_external_elb)
如果cluster_size_max
设置为 1 或更多并且external_elb
是,则构建外部 ELB true
。
注意:我尝试过使用&&
而不是,signum
但这也不起作用。我得到的错误是相似的:
count = var.cluster_size_max && var.with_external_elb ? 1 : 0
----------------
var.cluster_size_max is 1
Unsuitable value for left operand: bool required.
解决方案
您不需要将该signum
函数用于简单的条件语句。
&&
用作and,用于>
检查var.cluster_size_max
& 的值 使用+?
作为:
三元运算符,根据and结果确定最终的整数值 1 或 0。
尝试:
count = var.with_external_elb && var.cluster_size_max > 0 ? 1 : 0
推荐阅读
- ruby-on-rails - 如何使用 Searchkick 实现这一点?
- typescript - 以类型安全的方式组合打字稿协同例程(生成器)
- javascript - 网站代码解析错误的下拉过滤框
- java - 使用 testng 重试在 @BeforeMethod 中失败的测试
- r - PSY Augmented Dickey Fuller 测试不会针对 R 中的每日数据运行
- firebase - 我想添加对象在firebase中具有对象列表,颤振
- reactjs - 构造函数中未定义的上下文 - 反应
- javascript - MikroORM 无法在 postgresql://postgres@127.0.0.1:5432 上连接到数据库 lireddit
- python - Pandas For 循环,如果 ColumnA 中存在字符串,则 ColumnB 值 = X
- php - laravel accessor 和 mutator 被用作关系