Как перезапустить поставщика файлов ресурсов terraform - PullRequest
0 голосов
/ 04 июня 2019

У меня есть ресурс "aws_instance", который включает в себя файл "Provider".Это все работает, как и ожидалось, когда экземпляр EC2 вначале отсутствует.

Как я могу повторно запустить поставщик, если файл удален с виртуальной машины?

resource "aws_instance" "example" {
   ami           = "ami-0b0a60c0a2bd40612"
   instance_type = "t2.micro"
   key_name = "secret"
   security_groups = ["terraform-basic-ssh-http"]

provisioner "file" {
  source = "install-nginx.sh"
  destination = "/tmp/install-nginx.sh"

  connection {
   type     = "ssh"
   user     = "ubuntu"
   private_key = "${file("/local/path/to/my/key.pem")}"
  }
}

provisioner "remote-exec" {
  inline = [
    "chmod +x /tmp/install-nginx.sh",
    "/tmp/install-nginx.sh"
  ]

  connection {
    type     = "ssh"
    user     = "ubuntu"
    private_key = "${file("/local/path/to/mykey.pem")}"
  }

}


}

1 Ответ

0 голосов
/ 04 июня 2019

Вы также можете использовать команду terraform taint для этого: terraform taint provisioner.file

Если ваш ресурс находится в модуле, пометите поставщика с terraform taint -module=[MODULE_NAME] provisioner.file

Это позволит Terraform "воссоздать "провайдера".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...