【发布时间】:2021-06-04 12:34:02
【问题描述】:
我有一个aws_acm_certificate,我想在本地运行我的tf 时避免使用它(因为我不想获得域名等)。我也不想在本地运行时注释掉所有涉及的代码。我的大多数其他块(such as a provider's assume_role)在本地运行时都可以被排除。如何使用完整的资源做到这一点?
我希望能够将count 值设置为环境tfvars 文件中的变量:
resource "aws_acm_certificate" "cert" {
count = var.islocal == true ? 0 : 1
domain_name = "www.mysite.com"
validation_method = "DNS"
lifecycle {
create_before_destroy = true
}
}
这会导致其他问题,例如需要在其他地方引用该资源。比如输出资源的结果就成问题了:
output "acm_cert_domain_validation_options" {
description = "definition of aws certificate requested for cloudfront"
value = aws_acm_certificate.cert[0].domain_validation_options
}
在这种情况下,如果 count var 是 0,则输出将在 plan 上失败,我不能在那里使用相同的方法,因为 output 不支持 count。
除了不输出值之外,有没有办法安全地有条件地排除整个块?
【问题讨论】:
标签: terraform-provider-aws terraform0.14.7