amazon-web-services - 使用 for_each 与资源的 Terraform 相关性
问题描述
我正在使用以下代码将默认子网分配给 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]
这应该如何修改?
解决方案
我的错误是将 [] 添加到 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]
推荐阅读
- python - 复制行和更改值 MySQL
- angular - Angular 9 - 如果输入由浏览器自动填充,则表单在 onInit 无效
- shell - csvcut:错误:无法识别的参数:filename.csv
- ruby-on-rails - Rails 使用 httparty 将 JSON 解析为外部 URL
- 2sxc - 从自定义 FormController 调用异步模块
- coq - 如何解决 Coq 中的矛盾
- javascript - 将 NodeJS 包作为 SubModule 从子目录到子目录的 Github 页面
- javascript - 页码中的功能空间如何?
- python - psycopg2.DatabaseError:SSL 错误:长度错误
- ios - 键盘防止数据输入