You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Terraform Cloud API触发Run时自定义变量不生效求助

解决Terraform Cloud API触发Run时自定义变量不生效的问题
  • 核心问题:未按JSON:API规范正确传递变量参数
    Terraform Cloud的REST API遵循JSON:API格式,不是普通的键值对传参。要临时覆盖工作空间预设变量,必须在请求体的data.attributes.variables数组里定义变量,还要指定正确的category(区分Terraform变量和环境变量)。

举个正确的请求体示例:

{
  "data": {
    "attributes": {
      "message": "用临时变量触发Run",
      "variables": [
        {
          "key": "instance_count",
          "value": "2",
          "category": "terraform",
          "hcl": false
        }
      ]
    },
    "type": "runs"
  }
}
  • 关键注意事项
  1. 匹配变量类型:var.tf中定义的Terraform变量,category必须设为terraform;环境变量(如云服务商密钥)则设为env,错设类型会导致变量被忽略。
  2. 请求头必须包含Content-Type: application/vnd.api+json,同时携带有效的Bearer授权令牌,否则API会不识别你的变量参数。
  3. 变量优先级:API传入的临时变量优先级高于工作空间预设变量,但敏感变量需要在对象中添加"sensitive": true标识才会生效。
  • 官方文档参考
    Terraform Cloud官方文档的「Create a Run」章节详细说明了variables参数的结构要求;「Variable Priorities」章节明确了临时变量、工作空间变量、变量集之间的优先级规则。

内容的提问来源于stack exchange,提问作者User

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 17:02:08