Terraform Set "Count" 中的多个变量
Terraform Set More than one variable in "Count"
我正在使用下面的代码:
data "aws_secretsmanager_secret_version" "test1" {
count = var.test123.load_from_secrets_manager?1:0
secret_id = "test1"
}
现在当我 运行 terraform init 没有任何错误时这工作正常。
现在,我的问题是我需要在同一数据部分下添加一个新变量,所以像
data "aws_secretsmanager_secret_version" "test1" {
count = var.test123.load_from_secrets_manager?1:0
count = var.test456.load_from_secrets_manager?1:0
secret_id = "test1"
}
当我在上面 运行 terraform init 时,我得到错误:
The argument "count" was already set. Each argument may be set only once.
我需要找到一种方法来在 SAME COUNT 中添加两个或更多变量。任何帮助将不胜感激。
你在这里真正想要完成的是指定两个条件,它们结合起来确定 data
块是否应该尝试执行 READ
。您可以通过组合逻辑来做到这一点:
data "aws_secretsmanager_secret_version" "test1" {
count = (var.test123.load_from_secrets_manager && var.test456.load_from_secrets_manager) ? 1 : 0
secret_id = "test1"
}
您可能还想更新它以改为使用 for_each
元参数:
data "aws_secretsmanager_secret_version" "test1" {
for_each = (var.test123.load_from_secrets_manager && var.test456.load_from_secrets_manager) ? toset(["test1"]) : []
secret_id = "test1"
}
我正在使用下面的代码:
data "aws_secretsmanager_secret_version" "test1" {
count = var.test123.load_from_secrets_manager?1:0
secret_id = "test1"
}
现在当我 运行 terraform init 没有任何错误时这工作正常。
现在,我的问题是我需要在同一数据部分下添加一个新变量,所以像
data "aws_secretsmanager_secret_version" "test1" {
count = var.test123.load_from_secrets_manager?1:0
count = var.test456.load_from_secrets_manager?1:0
secret_id = "test1"
}
当我在上面 运行 terraform init 时,我得到错误:
The argument "count" was already set. Each argument may be set only once.
我需要找到一种方法来在 SAME COUNT 中添加两个或更多变量。任何帮助将不胜感激。
你在这里真正想要完成的是指定两个条件,它们结合起来确定 data
块是否应该尝试执行 READ
。您可以通过组合逻辑来做到这一点:
data "aws_secretsmanager_secret_version" "test1" {
count = (var.test123.load_from_secrets_manager && var.test456.load_from_secrets_manager) ? 1 : 0
secret_id = "test1"
}
您可能还想更新它以改为使用 for_each
元参数:
data "aws_secretsmanager_secret_version" "test1" {
for_each = (var.test123.load_from_secrets_manager && var.test456.load_from_secrets_manager) ? toset(["test1"]) : []
secret_id = "test1"
}