Как я могу увидеть значение модуля terraform, который создает множественные ресурсы?

#amazon-s3 #module #terraform #terraform-provider-aws #terraform-modules

#amazon-s3 #модуль #terraform #terraform-provider-aws #terraform-модули

Вопрос:

Я использую модуль terraform для создания сегментов s3, и унаследованный мной код использует список имен сегментов в качестве переменной и, по сути, перебирает переменную s3_bucket_names, создавая сегмент для каждого имени в списке.

Проблема возникает, когда мне нужно вызвать идентификатор из одного из этих созданных сегментов, чтобы настроить s3_notification_event для определенного сегмента. Я понимаю, если бы это было одно ведро или каждое ведро вызывалось индивидуально со своим собственным ресурсом модуля, я мог бы вернуть единый идентификатор с помощью module.aws_s3_bucket.data_bucket.например, вызов вывода идентификатора.

Я знаю, что могу переписать сценарий и вызвать модуль по отдельности, что решило бы проблему, но кто-нибудь знает, как возвращать значения определенного ресурса при циклическом просмотре одного модуля?

Для справки:

 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
  ...
}
 

Спасибо за любой совет / понимание, которое кто-либо может предоставить.

Комментарии:

1. Каковы выходные данные вашего aws_s3_bucket модуля?

2. Я не совсем уверен, что нужно указать, чтобы получить это значение. Я унаследовал следующий вывод: ` вывод «s3_bucket_names» {value = [«$ {module.aws_s3_bucket.s3_bucket_names}»] } ` Как упоминалось в первоначальном комментарии, если бы я вызывал модуль каждый раз для каждого сегмента, я мог бы вызывать конкретное значение, используя: ‘ вывод «s3_bucket_id»{ значение = [«$ {module.aws_s3_bucket.data_bucket.id }»] } `