地形 "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.

我需要想办法在同一计数中添加两个或多个变量。

您在这里真正想要完成的是指定两个条件,这两个条件结合起来确定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"
}

相关内容

  • 没有找到相关文章

最新更新