terraform变量不适用于应用程序
在针对以下内容运行terraform apply时,它会不断要求我在CLI上输入变量,而不是从文件中接受变量,如果我从.tf文件中删除变量,并将第一个变量保留在ami中,它会进行一些处理。有什么想法吗 dev.tf的内容:terraform变量不适用于应用程序,terraform,Terraform,在针对以下内容运行terraform apply时,它会不断要求我在CLI上输入变量,而不是从文件中接受变量,如果我从.tf文件中删除变量,并将第一个变量保留在ami中,它会进行一些处理。有什么想法吗 dev.tf的内容: variable "aws_region" {} variable "instance_type" {} variable "key_name" {} variable "vpc_security_group_ids" {} variable "subnet_id" {} v
variable "aws_region" {}
variable "instance_type" {}
variable "key_name" {}
variable "vpc_security_group_ids" {}
variable "subnet_id" {}
variable "iam_instance_profile" {}
variable "tag_env" {}
provider "aws" {
region = "${var.aws_region}"
}
data "aws_ami" "amazon_linux" {
most_recent = true
filter {
name = "name"
values = [
"amzn-ami-hvm-*-x86_64-gp2",
]
}
filter {
name = "owner-alias"
values = [
"amazon",
]
}
}
resource "aws_instance" "kafka" {
ami = "${data.aws_ami.amazon_linux.id}"
instance_type = "${var.instance_type}"
subnet_id = "${var.subnet_id}"
key_name = "${var.key_name}"
vpc_security_group_ids = ["${var.vpc_security_group_ids}"]
iam_instance_profile = "${var.iam_instance_profile}"
user_data = <<-EOF
#!/bin/bash
sudo yum -y install telnet
EOF
tags {
ProductCode = "id"
InventoryCode = "id"
Environment = "${var.tag_env}"
}
}
好主意,将文件名改为terraform.tfvars,现在可以使用了。好主意,将文件名更改为terraform.tfvars,现在可以使用了。您可以添加运行terraform所用的命令吗?默认情况下,terraform将只拉入名为
terraform.tfvars的vars文件。
如果您想为它们提供不同的文件名,您需要添加-var file=dev.tfvars
您可以添加什么命令吗您正在使用运行Terraform?Terraform默认情况下只会拉入名为Terraform.tfvars
的var文件,如果您想为它们提供不同的文件名,则需要添加-var file=dev.tfvars
aws_region = "us-east-1"
tag_env = "dev"
instance_type = "t2.large"
subnet_id = "subnet-id"
vpc_security_group_ids = "sg-id , sg-id"
key_name = "id"
iam_instance_profile = "id"