使用for_each与资源进行地形相关

时间:2020-07-12 10:07:14

标签: amazon-web-services terraform terraform-provider-aws

我正在使用下面的代码将默认子网分配给ASG

resource "aws_autoscaling_group" "ecs_spot_asg" {
  for_each = data.aws_subnet_ids.all_subnets.ids
.... etc...

子网通过

完成
data "aws_subnet_ids" "all_subnets" {
  vpc_id = data.aws_vpc.default.id
}

在下面,我有aws_autoscaling_policy,并且在如何将一个与另一个联系起来上遇到了麻烦

resource "aws_autoscaling_policy" "ecs_cluster_scale_policy" {
  autoscaling_group_name = aws_autoscaling_group.ecs_spot_asg.name

获取错误:

由于aws_autoscaling_group.ecs_spot_asg设置了“ for_each”,因此 属性必须在特定实例上访问。

例如,要与引用资源的索引相关联,请使用: aws_autoscaling_group.ecs_spot_asg [each.key]

应如何修改?

1 个答案:

答案 0 :(得分:0)

我的错误是将[]添加到vpc_zone_identifier = data.aws_subnet_ids.all_subnets.ids

因此,而不是vpc_zone_identifier = [data.aws_subnet_ids.all_subnets.ids],它应该是vpc_zone_identifier = data.aws_subnet_ids.all_subnets.ids