【问题标题】:terraform variables not working with applyterraform 变量不适用于应用
【发布时间】:2018-02-01 08:40:45
【问题描述】:

当针对以下内容运行 terraform apply 时,如果我从 .tf 文件中删除变量并将第一个变量保留在与它一起使用的 ami 中,它会一直要求我在 CLI 上输入变量而不是从文件中接受一些按摩。有任何想法吗?

dev.tf 的内容:

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}"
  }
}

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"

【问题讨论】:

  • 你能添加你用来运行 Terraform 的命令吗?
  • 默认情况下,Terraform 只会拉入名为 terraform.tfvars 的 vars 文件,如果您想为它们提供不同的文件名,则需要添加 -var-file=dev.tfvars

标签: terraform


【解决方案1】:

啊,很好,将文件名更改为 terraform.tfvars,现在可以使用了。

【讨论】:

    猜你喜欢
    • 2021-01-31
    • 1970-01-01
    • 2021-07-08
    • 2015-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-04
    • 1970-01-01
    相关资源
    最近更新 更多