Terraform-将文件从本地复制到现有Azure VM

Terraform-将文件从本地复制到现有Azure VM,azure,azure-virtual-machine,terraform,winrm,Azure,Azure Virtual Machine,Terraform,Winrm,这个问题有参考价值。我不想创建一个已经存在的新VM。我已经在VM for http中激活了WinRM,我可以使用http通过Powershell连接到VM。但是terraform无法使用带有provisioner的below.tf复制文件 resource "null_resource" "test" { provisioner "file" { source = "D:/JAISH/TERRAFORM/output.txt" destination = "D:/j

这个问题有参考价值。我不想创建一个已经存在的新VM。我已经在VM for http中激活了WinRM,我可以使用http通过Powershell连接到VM。但是terraform无法使用带有provisioner的below.tf复制文件

resource "null_resource" "test" {
  provisioner "file" {
    source      = "D:/JAISH/TERRAFORM/output.txt"
    destination = "D:/jaish/output.txt"

    connection {
      type     = "winrm"
      user     = "uid"
      password = "pwd"
      host     = "IP"
      port     = "5985"
      timeout  = "20m"
    }
  }
}
它总是显示如下,没有任何状态变化

null_resource.test: Still creating... (18m21s elapsed)
null_resource.test: Still creating... (18m31s elapsed)
null_resource.test: Still creating... (18m41s elapsed)
null_resource.test: Still creating... (18m51s elapsed)
null_resource.test: Still creating... (19m1s elapsed)
null_resource.test: Still creating... (19m11s elapsed)
null_resource.test: Still creating... (19m21s elapsed)

不确定这里出了什么问题。

WinRM的速度是出了名的慢。Packer/Terraform使用相同的库通过WinRM协议执行通信/文件上传。非常慢。在上传前先尝试文件,以提高性能


你可以在Packers Github上看到一个问题

奇怪……我有一个.txt文件,其中只写了我的名字,大小为1KB。没有别的了……这很奇怪。确保没有防火墙规则等妨碍您的工作?我已启用调试日志,并收到以下消息“使用WinRM 2018-04-23T11:18:23.384+0530[debug]plugin.terraform.exe:file provisioner(内部)2018/04/23 11:18:23连接错误:http响应错误:401-无效内容类型2018-04-23T11:18:23.384+0530”[DEBUG]plugin.terraform.exe:file provisioner(内部)2018/04/23 11:18:23可重试错误:http响应错误:401-无效内容类型”..…此内容类型的含义是什么?我正在尝试传递一个.txt文件。在您和实例通信之间是否有代理?已解决!!!我需要在我的VM内手动启用以下WinRM连接行为。复制此文件后。WinRM set WinRM/config/service@{AllowUnencrypted=“true”}winrm set winrm/config/service/auth@{Basic=“true”}set NetFirewallProfile-配置文件域,公共,私有-启用false”