如何在terraform vmware vm部署后运行自定义脚本?

如何在terraform vmware vm部署后运行自定义脚本?,terraform,Terraform,我已经研究这个话题一个多星期了,在terraform文档网站和web上都找不到任何好的解决方案 目前试图解决的主要问题是:如何在terraform vmware basic windows server 2016 vm构建结束时运行自定义powershell脚本 尝试了以下方法: 远程执行-失败 vm资源定义内的供应器-失败 空资源-错误:超时-最后一个错误:http响应错误:401-无效的内容类型 下面是我在同一main.tf文件中的vm资源构建下面的空资源定义 resource "nul

我已经研究这个话题一个多星期了,在terraform文档网站和web上都找不到任何好的解决方案

目前试图解决的主要问题是:如何在terraform vmware basic windows server 2016 vm构建结束时运行自定义powershell脚本

尝试了以下方法:

  • 远程执行
    -失败
  • vm资源定义内的供应器-失败
  • 空资源-错误:超时-最后一个错误:http响应错误:401-无效的内容类型
下面是我在同一
main.tf
文件中的vm资源构建下面的空资源定义

resource "null_resource" "vm" {
  triggers = {
    public_ip = <host ip address>
  }

  connection {
    type = "winrm"
    host = <host ip address>
    user = <username>
    password = <password>
    agent = false
  }

  provisioner "file" {
    source      = "userdata.ps1"
    destination = "C:/Windows"
  }

  provisioner "remote-exec" {
    inline = [
      "powershell.exe -ExecutionPolicy Bypass -File C:/Windows/userdata.ps1"
    ]
  }
}
resource“null\u资源”vm{
触发器={
公共ip=
}
联系{
type=“winrm”
主机=
用户=
密码=
代理=错误
}
供应器“文件”{
source=“userdata.ps1”
destination=“C:/Windows”
}
供应器“远程执行”{
内联=[
“powershell.exe-ExecutionPolicy Bypass-文件C:/Windows/userdata.ps1”
]
}
}

请说明建议的做法和您的工作解决方案

这里没有足够的信息来有效地回答这个问题。您是否能够在terraform之外使用winrm从执行terraform的机器连接到您创建的vm?尝试远程执行和文件供应器时,您从terraform返回的错误有哪些?您是否尝试增加terraform日志输出,以查看是否显示任何其他信息?