【发布时间】:2023-03-23 07:28:02
【问题描述】:
我正在尝试将变量从环境目录传递到模块,但遇到了一些问题。我的目录结构是这样的
repository
-> prod
-> test
main.tf
terraform.tf
vars.tfvars
-> modules
infra
main.tf
terraform.tf
在 test/main.tf 我有
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 3.0"
}
}
}
provider "aws" {
region = "eu-west-1"
}
module "launch" {
source = "../../modules/infra"
range = var.range
}
test/terraform.tf 看起来像这样
variable "range" {}
测试/vars.tfvars
range="10.0.0.0/16"
模块/infra/main.tf
resource "aws_vpc" "testvpc" {
cidr_block = var.range
}
当我运行它时,我得到提示
var.range
Enter a value:
我希望它自动从变量中获取值,但即使我输入了值,我也会收到错误
│ Error: Unsupported argument
on main.tf line 20, in module "launch":
range = var.range
An argument named "range" is not expected here
是否可以将给定环境的文件中的变量传递给模块?
【问题讨论】:
-
modules/infra/terraform.tf中有什么内容?
标签: terraform terraform-provider-aws