如何查看创建多个资源的 terraform 模块的价值?

问题描述

我正在使用 terraform 模块创建 s3 存储桶,我继承的代码使用存储桶名称列表作为变量,并且基本上循环遍历 s3_bucket_names 变量,为列表中的每个名称创建一个存储桶。

当我需要从这些创建的存储桶之一调用 id 以在特定存储桶上设置 s3_notification_event 时,就会出现问题。我知道这是单个存储桶还是每个存储桶都使用自己的模块资源单独调用,例如,我可以使用 module.aws_s3_bucket.data_bucket.id 输出调用返回单个 ID。

我知道我可以重写脚本并单独调用模块来解决问题,但是有谁知道在循环访问单个模块时如何返回特定资源的值?

供参考:

module "aws_s3_bucket" {
  source               = "****"
  s3_bucket_names      = var.s3_bucket_names
  s3_bucket_acl        = var.s3_bucket_acl
  versioning           = var.versioning
  s3_log_target_bucket = var.s3_log_target_bucket
  s3_log_prefix        = var.s3_log_prefix
}
resource "aws_s3_bucket" "s3_bucket" {
  for_each = var.s3_bucket_names
  ...
}

感谢任何人可以提供的任何建议/见解。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)