local-exec中的相对路径

时间:2019-04-14 20:41:03

标签: terraform

我正在尝试在本地执行配置器中引用本地脚本。该脚本位于模块目录上方的多个级别。使用${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 :(得分:0)

尝试使用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.