Terraform - 文件配置器不会使用azurerm将文件复制到位

时间:2017-05-01 18:43:31

标签: azure terraform

我正在尝试使用来自OSX Sierra的文件配置程序,使用Terraform v0.9.3在Azure中创建的Ubuntu 16.04服务器上填充文件。即使我尝试复制到可公开写入的目录(/ var / tmp,/ tmp),也没有文件测试工作。这是另一个“在AWS中工作,但不适用于azurerm功能吗?没有谷歌。

Terraform代码段

#copy app file into place:
 provisioner "file" {
    source      = "/Users/person/Terraform/Azure/files/busybox.sh"
    destination = "/var/tmp/busybox.sh"
  }
#can I copy as root?:
 provisioner "file" {
    source      = "/Users/person/Terraform/Azure/files/random_file"
    destination = "/root/QWERTYFILE"
  }
#can I copy anywhere?:
 provisioner "file" {
    source      = "/Users/person/Coding/Azure/files/random_file"
    destination = "/tmp/"
  }

1 个答案:

答案 0 :(得分:2)

您是否添加了如下连接会话?让我知道它是否有效

# Copies the file as the root user using SSH
provisioner "file" {
  source      = "conf/myapp.conf"
  destination = "/etc/myapp.conf"

  connection {
    type     = "ssh"
    user     = "root"
    password = "${var.root_password}"
  }
}

如果您不想使用密码,可以设置private_key

  

private_key - 用于连接的SSH密钥的内容。可以使用file()插值函数从磁盘上的文件加载这些文件。如果提供密码,则优先于密码。

private_key = "${file("${path.module}/my-private-key")}"

参见:

Provisioner Connections