Nar*_*aka 9 amazon-ec2 terraform terraform-provider-aws
我的目录结构
\n\n.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 README.md\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 ec2\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 ec2.tf\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 outputs.tf\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 vars.tf\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 main.tf\nRun Code Online (Sandbox Code Playgroud)\n\n主.tf
\n\nprovider "aws" {\n region = "us-east-1"\n}\n\nmodule "ec2" {\n source = "./ec2"\n}\nRun Code Online (Sandbox Code Playgroud)\n\nec2/ec2.tf
\n\ndata "aws_ami" "example" {\n most_recent = true\n owners = [\n "amazon"]\n\n filter {\n name = "image-id"\n values = [\n "ami-0323c3dd2da7fb37d"]\n }\n\n filter {\n name = "root-device-type"\n values = [\n "ebs"]\n }\n\n filter {\n name = "virtualization-type"\n values = [\n "hvm"]\n }\n}\n\nresource "aws_instance" "web" {\n ami = data.aws_ami.example.id\n instance_type = "t2.micro"\n subnet_id = var.subnet_id\n tags = {\n Name = "HelloWorld"\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n\nec2/avrs.tf
\n\nvariable "subnet_id" {\n default = {}\n}\nRun Code Online (Sandbox Code Playgroud)\n\n当我尝试从外部传递subnet_id 时,出现错误。
\n\nterraform plan -var subnet_id=$subnet_name\nRun Code Online (Sandbox Code Playgroud)\n\n错误: 未声明变量的值\n在命令行上分配了名为“subnet_id”的变量,但根\n模块未声明该名称的变量。要使用此值,请向配置添加\n“变量”块。
\n\n如果你们有人对这个问题有想法,请帮助我。
\nFau*_*zan 12
您还需要在使用该模块的根模块中定义该变量。在您的情况下,您使用 main.tf 中的模块,因此请在模块中添加变量,如下所示:
地形 12
provider "aws" {
region = "us-east-1"
}
module "ec2" {
source = "./ec2"
subnet_id = var.subnet_id
}
Run Code Online (Sandbox Code Playgroud)
地形 11
provider "aws" {
region = "us-east-1"
}
module "ec2" {
source = "./ec2"
subnet_id = "${var.subnet_id}"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21242 次 |
| 最近记录: |