local-exec 中的相对路径

Max*_*dov 3 terraform

我正在尝试引用本地执行配置程序中的本地脚本。该脚本位于模块目录上方几层。使用${path.module}/../../scripts/somescript.ps1会产生path not found错误。

将脚本目录移动到模块目录下可以解决问题,但不幸的是在我的情况下这不是一个有效的选项。工作场景:${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}"
 }
Run Code Online (Sandbox Code Playgroud)

Nag*_*yan 6

尝试使用工作目录

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

provisioner "local-exec" { 
  working_dir = "${path.module}/../scripts/" # assuming it's this directory
  interpreter = ["pwsh", "-Command"] 
  command = "Generate-SQLInfo.ps1 ..."
 }
Run Code Online (Sandbox Code Playgroud)

我现在没有资源来测试这个,但这可能对你有用。