Как запустить скрипт powershell в terraform? - PullRequest
0 голосов
/ 07 февраля 2019

Я пытаюсь запустить скрипт PowerShell внутри скрипта terraform.Я попытался использовать функцию local-exec, но она выдает следующую ошибку:

Ошибка: неизвестный ключ корневого уровня: инициатор

Я включил приведенный ниже скрипт.

Я был бы рад, если бы кто-нибудь мог предоставить мне решение.

provisioner "local-exec" {
  inline = ["powershell.exe -File C:\\Users\\Boopathi Kumar\\Downloads\\poscript1.ps1"]
}

1 Ответ

0 голосов
/ 07 февраля 2019

Поставщики должны выполняться как часть ресурса, а не как ресурс верхнего уровня.

Обычно это выполняется для экземпляра, например, в примерах, приведенных в вышеупомянутых связанных документах.:

resource "aws_instance" "web" {
  # ...

  provisioner "local-exec" {
    command = "echo ${self.private_ip} > file.txt"
  }
}

Который записывает IP-адрес экземпляра в файл, локальный в том месте, где запускается Terraform.

Если у вас вообще нет ссылки на ресурс (выпросто хотите, чтобы что-то происходило независимо от изменения ресурсов) вы можете использовать null_resource, который предназначен для этой цели.

Как уже упоминалось в local-exec документах Вы можете использовать это так:

resource "null_resource" "example2" {
  provisioner "local-exec" {
    command = "Get-Date > completed.txt"
    interpreter = ["PowerShell", "-Command"]
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...