簡體   English   中英

預置供應商文件的TerraformDepends_on

[英]terraform depends_on for provisioner file

我希望將預配置程序“文件”(基本上是可播放的劇本)復制到ec2實例后,在下面的Terraform代碼中執行數據“ template_file”。 在這種情況下,我無法成功使用“ depends_on”。 有人可以幫幫我嗎? 以下是示例代碼段。

resource "aws_eip" "opendj-source-ami-eip" {
  instance = "${aws_instance.opendj-source-ami-server.id}"
  vpc = true
  connection {
    host = "${aws_eip.opendj-source-ami-eip.public_ip}"
    user                = "ubuntu"
    timeout = "3m"
    agent = false
    private_key         = "${file(var.private_key)}"
  }
  provisioner "file" {
    source      = "./${var.copy_password_file}"
    destination = "/home/ubuntu/${var.copy_password_file}"
  }
  provisioner "file" {
    source      = "./${var.ansible_playbook}"
    destination = "/home/ubuntu/${var.ansible_playbook}"
  }
}

data "template_file" "run-ansible-playbooks" {
  template =  <<-EOF
              #!/bin/bash
              ansible-playbook /home/ubuntu/${var.copy_password_file} && ansible-playbook /home/ubuntu/${var.ansible_playbook}
              EOF
  #depends_on = ["<< not sure what to put here>>"]
}

depends_on資源整體的正確格式depends_on 因此您的情況格式如下:

data "template_file" "run-ansible-playbooks" {
  template =  <<-EOF
              #!/bin/bash
              ansible-playbook /home/ubuntu/${var.copy_password_file} && ansible-playbook /home/ubuntu/${var.ansible_playbook}
              EOF
  depends_on = ["aws_eip.opendj-source-ami-eip"]
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM