当我运行"terraform apply"我得到以下错误。我确定我的AMI在美国西部地区。不知道还有什么问题
p C: terraform>起程拓殖适用
错误:Invalid AWS Region: {var. net。AWS_REGION}
起程拓殖。tfvars文件
AWS_ACCESS_KEY="zzz"
AWS_SECRET_KEY="zzz"
提供者。tf文件
provider "aws"{
access_key = "{var.AWS_ACCESS_KEY}"
secret_key = "{var.AWS_SECRECT_KEY}"
region = "{var.AWS_REGION}"
}
var。tf文件
variable "AWS_ACCESS_KEY" {}
variable "AWS_SECRET_KEY" {}
variable "AWS_REGION" {
default = "us-west-1"
}
variable "AMIS"{
type = map(string)
default ={
us-west-1 = "ami-0948be9af4ee55d19"
}
}
instance.tf
resource "aws_instance" "example"{
ami = "lookup(var.AMIS,var.AWS_REGION)"
instance_type = "t2.micro"
}
实际上是在传递字符串"{var.AWS_ACCESS_KEY}"{var.AWS_SECRET_KEY}";和"{var.AWS_REGION}";给提供者
如果您正在使用terraform 12+,请尝试此操作:
provider "aws"{
access_key = var.AWS_ACCESS_KEY
secret_key = var.AWS_SECRET_KEY
region = var.AWS_REGION
}
如果你使用的是0.12以前的地形,那么它应该像这样使用$符号设置。
provider "aws"{
access_key = ${var.AWS_ACCESS_KEY}
secret_key = ${var.AWS_SECRET_KEY}
region = ${var.AWS_REGION}
}