Terraform 错误缺少参数 Windows 选项...必须指定

问题描述 投票:0回答:1

我正在尝试使用

terraform plan
运行 Terraform 文件。我遇到了这个错误,这真的很奇怪,因为我在变量.tf 文件中声明了有问题的变量。我也尝试将它们直接写到我的 main.tf 文件中,但我遇到了同样的错误。当然,注释这三个变量可以使 Terraform 正常工作。

main.tf(我用X替换了我的数据):

[...]
  clone {
    template_uuid = data.vsphere_virtual_machine.XXX.id
    customize {
      windows_options {
        computer_name  = "XXX"
        join_domain = "XX.XX"
        domain_admin_user = "${var.domain_admin_user}"
        domain_admin_password = "${var.domain_admin_password}"
        admin_password = "${var.admin_password}"
        time_zone = xxx
      }
      network_interface {
        ipv4_address = "X.X.X.X"
        ipv4_netmask = XX
        dns_server_list = "${var.dns_list}"
        dns_domain = "${var.domain_name}"
      }
      ipv4_gateway = "X.X.X.X"
    }
  }
}

错误信息:

Error: Missing required argument
│
│   with vsphere_virtual_machine.XXX,
│   on main.tf line 31, in resource "vsphere_virtual_machine" "XXX":
│   31:         domain_admin_user = "${var.domain_admin_user}"
│
│ "clone.0.customize.0.windows_options.0.join_domain": all of `clone.0.customize.0.windows_options.0.join_domain,clone.0.customize.0.windows_options.domain_admin_password,clone.0.customize.0.windows_options.domain_admin_user`
│ must be specified
╵
╷
│ Error: Missing required argument
│
│   with vsphere_virtual_machine.XXX,
│   on main.tf line 31, in resource "vsphere_virtual_machine" "XXX":
│   31:         domain_admin_user = "${var.domain_admin_user}"
│
│ "clone.0.customize.0.windows_options.0.domain_admin_password": all of `clone.0.customize.0.windows_options.0.domain_admin_password,clone.0.customize.0.windows_options.join_domain` must be specified
╵
╷
│ Error: Missing required argument
│
│   with vsphere_virtual_machine.XXX,
│   on main.tf line 31, in resource "vsphere_virtual_machine" "XXX":
│   31:         domain_admin_user = "${var.domain_admin_user}"
│
│ "clone.0.customize.0.windows_options.0.domain_admin_user": all of `clone.0.customize.0.windows_options.0.domain_admin_user,clone.0.customize.0.windows_options.join_domain` must be specified
terraform yaml vsphere terraform-provider-vsphere
1个回答
0
投票

将 vSphere 提供程序的版本设置为 2.5.1 为我解决了这个问题。 https://registry.terraform.io/providers/hashicorp/vsphere/2.5.1

terraform {
  required_providers {
    vsphere = {
      source = "hashicorp/vsphere"
      version = "2.5.1"
    }
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.