当我提供-var-file标志时,尝试执行任何Terraform命令(即验证,计划,应用)时遇到了麻烦。
例如:
terraform plan -var-file=./Dev/common.tfvars
然后我收到以下错误:
标志-var-file的无效值“ ./Dev/common.tfvars”:分析./Dev/common.tfvars时出错:1:1:非法字符
common.tfvars的内容:
environment = "dev"
project-name = "project-name-here"
variables.tf的内容:
variable "environment" {
type = "string",
default = "dev"
}
variable "location-lookup" {
type = "map",
default = {
australiaeast = "AUEA",
australiasoutheast = "AUSE",
uksouth = "UKSO",
ukwest = "UKWE",
westeurope = "EUWE"
}
}
variable "project-name" {
type = "string"
}
使用var标志提供project-name
可以正常工作,因此我怀疑我在common.tfvars文件中丢失了某些内容。
答案 0 :(得分:0)
如果您的 common.tfvars 用BOM表编码为UTF-8,则可能会发生这种情况。尝试重新编码不带BOM的vars文件。