【问题标题】:terraform error: Invalid value for module argumentterraform 错误:模块参数的值无效
【发布时间】:2021-01-30 13:44:00
【问题描述】:

我在 tf 计划中收到此错误:

Error: Invalid value for module argument

  on ec2_asg.tf line 13, in module "ec2_asg":
  13:   subnets             = [module.vpc.private_subnets]

The given value is not suitable for child module variable "subnets" defined at
.terraform/modules/ec2_asg/variables.tf:388,1-19: element 0: string required.

这是模块中的变量:

variable "subnets" {
  description = "List of subnets for Application. e.g. ['subnet-8da92df7', 'subnet-9e5dc5f6', 'subnet-497eaf33']"
  type        = list(string)
}

这是在 .tf 文件中:

  ......
  ......
  scaling_max         = var.scaling_max_bi
  subnets             = [module.vpc.private_subnets]
  security_groups     = [aws_security_group.id]

有人可以帮我解决这个问题吗?

【问题讨论】:

  • module.vpc.private_subnets 来自哪里?这不是你的var.private_subnets
  • @Marcin 哦,对不起,我编辑了正确的,请检查,谢谢!
  • 我想你可以试试subnets = module.vpc.private_subnets(没有方括号)。
  • @Marcin 成功了,谢谢!
  • 很高兴听到。如果你不介意我会提供答案。我们将不胜感激。

标签: amazon-web-services syntax-error terraform terraform-provider-aws terraform-modules


【解决方案1】:

基于 cmets。

解决方案是改变:

subnets             = [module.vpc.private_subnets]

进入

subnets             = module.vpc.private_subnets

【讨论】:

    猜你喜欢
    • 2021-06-07
    • 2021-01-20
    • 2020-12-22
    • 2021-02-19
    • 1970-01-01
    • 1970-01-01
    • 2021-01-20
    • 1970-01-01
    • 2020-07-26
    相关资源
    最近更新 更多