Amazon web services 地形与资源的相关性,每个

Amazon web services 地形与资源的相关性,每个,amazon-web-services,terraform,terraform-provider-aws,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.defaul

我正在使用下面的代码将解除故障的子网分配给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_自动校准_策略,我一直在研究如何将一个与另一个关联起来

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\u自动校准\u组.ecs\u点\u asg[每个.key]


如何修改?

我的错误是将[]添加到vpc\u zone\u identifier=data.aws\u subnet\u ids.all\u subnets.ids


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

您确定每个都需要
?如果您想为所有子网启用asg,仅使用
vpc\u zone\u identifier=data.aws\u subnet\u ids.ecs\u spot\u asg.ids
就足够了吗?它应该是data.aws\u subnet\u ids.all\u subnets.ids,我一直在尝试vpc\u zone\u identifier=[data.aws\u subnet\u ids.all\u subnets]这是错误的。谢谢,没问题。很高兴它成功了。