ade*_*ino 3 amazon-web-services terraform
给定数据源定义:
data "aws_ami" "my_ami" {
filter {
name = "name"
values = ["my_ami_name"]
}
}
Run Code Online (Sandbox Code Playgroud)
仅当条件为真时,如何添加第二个过滤器?
我想要的示例伪代码:
data "aws_ami" "my_ami" {
filter {
name = "name"
values = ["my_ami_name"]
}
var.state ? filter {
name = "state"
values = [var.state]
} : pass
}
Run Code Online (Sandbox Code Playgroud)
仅当状态变量有内容时才会使用第二个过滤器。
请注意,我不想使用“N/A”值来始终使用第二个过滤器,无论是否需要它。
您可以使用动态块。条件完全取决于你的条件(var.state没有显示,所以我不知道它是什么),但一般来说你可以这样做:
data "aws_ami" "my_ami" {
filter {
name = "name"
values = ["my_ami_name"]
}
dynamic "filter" {
for_each = var.state ? [1] : []
content {
name = "state"
values = [var.state]
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3255 次 |
| 最近记录: |