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

使用vmware/vra Provider部署VM时Terraform jsonencode数组转换失败

解决Terraform vmware/vra Provider中disks参数的数组转换错误

问题原因

错误提示明确说明:vRA的disks参数要求数组类型,但你当前传入的是单个JSON对象({...}),而非包含对象的数组结构([{...}]),导致类型转换失败。对比你用Postman成功请求的格式,disks字段是被方括号[]包裹的数组,这就是核心差异。

修正后的Terraform配置

将磁盘对象放入数组后再执行jsonencode,同时注意size字段的类型(成功请求中是数字20,而非字符串"20",建议同步修正以匹配API要求):

inputs = {
  image      = "Ubuntu"
  folderPath = "folder/Path"
  folderName = "terraform"
  name       = "terraDeploy"
  disks      = jsonencode([
    { 
      "mountpoint" = "/app", 
      "label"      = "/appmnt", 
      "size"       = 20  # 改为数字类型,对齐成功请求的格式
    }
  ])
}

验证逻辑

修正后disks的输出会变成符合API要求的数组格式:

+ "disks" = jsonencode(
    [
      {
        label      = "/appmnt"
        mountpoint = "/app"
        size       = 20
      }
    ]
  )

该结构与你Postman中成功请求的disks字段完全一致,可解决类型转换错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 09:57:15