在terraform文件中使用GitLab env变量

在terraform文件中使用GitLab env变量,gitlab,terraform,gitlab-ci,terraform-template-file,Gitlab,Terraform,Gitlab Ci,Terraform Template File,我在GitLab中有一个作为env变量存储的秘密:TF\u VAR\u DD\u API\u KEY 在mymain.tf中,我正在做这样的事情: { "name": "datadog-agent", "image": "datadog/agent:latest", "environment": [ { "name": "DD_API_

我在GitLab中有一个作为env变量存储的秘密:
TF\u VAR\u DD\u API\u KEY

在my
main.tf
中,我正在做这样的事情:

{
  "name": "datadog-agent",
  "image": "datadog/agent:latest",
  "environment": [
    {
      "name": "DD_API_KEY",
      "value": "${var.DD_API_KEY}"
    }
  ]
}
variable DD_API_KEY {
  type = string
}
这似乎不起作用。如何从GitLab
TF\u DD\u API\u KEY
变量中获取值并在我的
main.TF
中使用它


谢谢

您需要添加如下模块输入变量:

{
  "name": "datadog-agent",
  "image": "datadog/agent:latest",
  "environment": [
    {
      "name": "DD_API_KEY",
      "value": "${var.DD_API_KEY}"
    }
  ]
}
variable DD_API_KEY {
  type = string
}
TF_VAR_前缀将被terraform删除


一旦输入变量,您的参考
var.DD\u API\u键
将按预期工作。

第一次观察。当您键入问题时,也可能是您这边的输入错误,但当您尝试引用带有Terraform的JBone时,您缺少
VAR
,它将使用前缀为
TF\u VAR
的环境变量。因此,要填充
DD\u API\u KEY
变量,您需要像OP那样设置
TF\u VAR\u DD\u API\u KEY
。代码有错误吗?或者只是不做你所期望的。如果可能的话,请您编辑问题,使其包含一个,并包含任何错误或输出与您希望的内容?@ydaetskcoR,是的。但如果你看一下OPs的最后一行,他在
TF\u DD\u API\u KEY
中错过了
VAR
之后的
TF
。。这就是我试图强调的,不定义变量会导致OP没有提到的错误。这可能是答案,但从现有的问题很难判断。这也意味着问答组合对于可能遇到相同问题的其他人来说用处不大。此外,您的语法缺少引号,因此不太有效。@ydaetskcoR引号不是必需的。这是我从v0.12Huh开始使用的有效语法,直到。我还惊讶地看到,
terraformfmt
没有添加引号。除了少量的简洁之外,还有什么特别的原因使用这种语法吗?字符越少越好。VS代码terraform扩展语法高亮显示也使它看起来很奇怪,带有引号。