首页 文章

Terraform自定义提供程序将IP传递给配置程序

提问于
浏览
0

我正在开发一个自定义Terraform提供程序,用于管理远程HyperV集群上的资源 .

创建VM资源后,我想调用remote-exec配置器 .

如何将host参数传递给remote-exec配置器?

例如,我想用测试IP填充主机值 . (一旦IP由DHCP提供)

provisioner "hyperv-winrm" {
  vm_name      = "test"

  connection {
    type     = "winrm"
    user     = "Administrator"
    password = "${var.admin_password}"
    host     = "<<IP/DNS GOES HERE>>"
  }
}

1 回答

  • 0

    所以这就是答案 .

    从资源创建功能:(可以更新,删除等..)

    func resourceVMCreate(d *schema.ResourceData, meta interface{}) error {
    
        // Create VM
        // Wait for IP
    
        // Set connection info which will be used by provisioner
        d.SetConnInfo(map[string]string{
            "type": "winrm",
            "host": *vm.IpAddress,
            "user": *vm.UserName,
            "password": *vm.Password
        }
    
        return err
    }
    

相关问题