我正在尝试在本地执行配置器中引用本地脚本。该脚本位于模块目录上方的多个级别。使用${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}"
}
答案 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.