在 Terraform 中,封装“#{variableName}”语法是什么意思?

In Terraform what does the encapsulation "#{variableName}" syntax mean?

我熟悉“${}”语法,但在 Terraform 文档中找不到对“#{}”的任何引用,但我在这个示例中看到了它:

这不是 Terraform 的东西,而是 Octopus Deploy 的东西。

它用于 variable substitution,这样您就可以在 Octopus Deploy 中定义一个变量,并在它运行相关的 Terraform 命令之前将其注入到您的 Terraform 中。

deploying with Terraform 的 Octopus 文档更详细,并给出了以下示例:

provider "aws" { }

resource "aws_instance" "example" {
  ami           = "#{AMI}"
  instance_type = "m3.medium"
  tags {
    Name = "My EC2 Instance"
  }
}

其中 #{AMI} 将替换为 Octopus 在 AMI 变量中配置的 AMI id。