Относительный путь в local-exec - PullRequest
0 голосов
/ 14 апреля 2019

Я пытаюсь сослаться на локальный скрипт внутри поставщика локального исполнения.Скрипт расположен на несколько уровней выше каталога модуля.Использование ${path.module}/../../scripts/somescript.ps1 приводит к ошибке path not found.

Перемещение каталога scripts в каталог modules решает проблему, но, к сожалению, в моем случае это недопустимая опция.Рабочий сценарий: ${path.module}/scripts/somescript.ps1

Я нигде не видел, что это ограничение TF или ошибка, поэтому любая помощь очень ценится.

Заранее спасибо.

Это мой локальный исполнительный блок:

provisioner "local-exec" { 
interpreter = ["pwsh", "-Command"] 
command = "${path.module}/scripts/Generate-SQLInfo.ps1 -user ${var.az_sql_server_admin_login} -dbname ${var.az_sql_db_name} -resourceGroupName ${module.resource_group.az_resource_group_name} -sqlServerName ${module.sql_server.sql_server_name} -vaultName ${module.keyvault.az_keyvault_name} -azSubscriptionID ${var.az_subscription_id}"
 }

1 Ответ

0 голосов
/ 15 апреля 2019

Попробуйте использовать working_dir

https://www.terraform.io/docs/provisioners/local-exec.html

provisioner "local-exec" { 
working_dir = "../scripts/" # assuming its this directory
interpreter = ["pwsh", "-Command"] 
command = "Generate-SQLInfo.ps1 ..."
 }

I dont have resources right now to test this but probably this should work for you. 


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