在Terraform文件中添加“ aws_acm_certificate”资源会导致terraform忽略vars

时间:2019-03-06 22:29:10

标签: terraform terraform-provider-aws

使用aws_acm_certificate资源会使terraform忽略提供的变量。

这是一个简单的Terraform文件:

variable "aws_access_key_id" {}
variable "aws_secret_key" {}
variable "region" { default = "us-west-1" }

provider "aws" {
  alias = "prod"

  region = "${var.region}"
  access_key = "${var.aws_access_key_id}"
  secret_key = "${var.aws_secret_key}"
}

resource "aws_acm_certificate" "cert" {
  domain_name       = "foo.example.com"
  validation_method = "DNS"

  tags {
    project = "foo"
  }

  lifecycle {
    create_before_destroy = true
  }

}

运行validateplanapply失败:

$ terraform validate -var-file=my.tfvars 
$ cat my.tfvars
region = "us-west-2"
aws_secret_key = "secret"
aws_access_key_id = "not as secret"

1 个答案:

答案 0 :(得分:0)

您的代码没有错。

请进行一些清理,然后再次运行(仅在完全了解自己的操作后才运行rm命令)

rm -rf .terraform
rm terraform.tfstate*

terraform fmt
terraform get -update=true
terraform init
terraform plan