如何在TF文件中获取Terraform版本名称



我想在几个地方记录用于构建系统的Terraform版本(例如标记或生成的代码文件(。

怎么可能做这样的事情:

locals {
    tags = {
        terraform_version = # what goes in here?
    }
}

如果你想在标签中包含Terraform的版本,这是一件完全合法的事情,你可以使用null_resource来获取版本,将其写入文件,然后将其拉入标签:

locals {
  tags = {
    terraform_version = data.local_file.terraform_version.content
  }
}
resource "null_resource" "get_terraform_version" {
  triggers = { always_run = "${timestamp()}" }
  provisioner "local-exec" {
    command = "echo $(terraform --version | sed 1q) > ${path.module}/terraform_version.txt"
  }
}
data "local_file" "terraform_version" {
  filename   = "${path.module}/terraform_version.txt"
  depends_on = [null_resource.get_terraform_version]
}

锁文件用于确保TF版本保持一致。将其添加到版本控制中,您将永远知道使用了哪个版本。

https://www.terraform.io/language/files/dependency-lock

最新更新