本文介绍了terraform:名称为“AMI"的输入变量;尚未宣布.这个变量可以用变量“AMI"来声明.{} 堵塞的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我是 terraform 的新手.我在 terrafrom 上尝试了一下
I am new to terraform.I was trying my bit on terrafrom
我在 var.tfvars 中有这个位
I have this bit in var.tfvars
variable "AWS_REGION" {
default = "me-south-1"
}
variable "AMI" {
type = "map"
default ={
me-south-1 = "ami-01b735b798*******"
us-east-1 = "ami-0c2a1acae666******"
}
}
我正在尝试通过
resource "aws_instance" "terraform-web" {
ami = "${lookup(var.AMI, var.AWS_REGION)}"
instance_type = "t3.micro"
这给了我上述错误.
谁能帮我解决这个问题?
Could anyone help me out with this ?
推荐答案
terraform 的工作方式是:
The way terraform works is:
variables.tf -- 所有变量都在这个文件中声明
variables.tf -- all variables are declared in this file
vars.tfvars -- 所有值都通过这个文件传递.名字可以是任何东西.应该以 tfvars 结尾.
vars.tfvars -- all values are passed via this file. Name can be anything. should end with tfvars.
您无需使用查找,只需使用 var.<variable_name>够了!
You don't need to use lookup just var.<variable_name> is enough!
ec2.tf:
resource "aws_instance" "terraform-web" {
ami = var.ami_id
instance_type = "t3.micro"
}
variables.tf
variable "ami_id" {
type = "string"
default = "xxxx"
}
vars.tfvars
ami_id = "yyyyy"
这篇关于terraform:名称为“AMI"的输入变量;尚未宣布.这个变量可以用变量“AMI"来声明.{} 堵塞的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!