我正在尝试在私有子网中创建 3 个 ec2 实例。使用下面的 git 存储库中的 ec2-module.tf
https://github.com/quickbooks2018/Terraform-Classic-Modules
下面是我在 tf 文件中启用的行
ec2-subnets-ids = ["${module.vpc.private-subnet-ids}"]
错误如下所示,
错误:模块参数的值无效
在第 17 行 ec2-module.tf 模块"EC2-App-v1"中: 17: ec2-subnets-ids = ["${module.vpc.private-subnet-ids}"]
给定的值不适合子模块变量"ec2-subnets-ids" 定义于 modules/ec2/ec2-variables.tf:46,1-27:元素 0:需要字符串。
请帮助了解错误以及如何修复它。
查看您引用的那些模块,问题似乎是您正在传递字符串列表,但应该只传递字符串列表。
所以,而不是
ec2-subnets-ids = ["${module.vpc.private-subnet-ids}"]
传递单个元素的列表(该元素是字符串列表(,尝试
ec2-subnets-ids = "${module.vpc.private-subnet-ids}"
它只是将列表向前传递。