我正在尝试使用 terraform 使用 local-exec 配置器运行一些 az cli 命令,但我一直遇到一个错误,提示:
Error: Invalid expression
On modules/eventgrid/main.tf line 68: Expected the start of an expression, but
found an invalid expression token.
这是我的代码:resource "null_resource" "eg-role-assignment" {
provisioner "local-exec" {
interpreter = ["/bin/bash", "-c"]
command = <<EOT
"az account set --subscription foo"
"az eventgrid topic update --resource-group $RESOURCE_GROUP --name $EVENTGRID_NAME --identity systemassigned"
EOT
environment = {
RESOURCE_GROUP = "RG_${var.platform_tag}_${var.product_code}_PUBLISH_${var.environment}_${var.location_code_primary}"
EVENTGRID_NAME = "EG-${var.platform_tag}-${var.product_code}-${var.environment}-${var.location_code_primary}-domain"
}
}
}
任何人都可以请指导我什么是错的?
最佳答案
与您的 <<EOT
语句,您已经在字符串文字中,因此您不需要引号。另外,<<-EOT
(带破折号)是缩进感知的,而 <<EOT
不是。此外,您在 EOT
后面有一个空格.
command = <<-EOT
az account set --subscription foo
az eventgrid topic update --resource-group $RESOURCE_GROUP --name $EVENTGRID_NAME --identity systemassigned
EOT
关于terraform - 如何使用 terraform local-exec 运行多个命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68957371/