Terraform 12 - невозможно разместить [count.index] в output.tf - PullRequest
0 голосов
/ 07 февраля 2020

Я вроде как новичок ie, чтобы терраформировать модульное развертывание, и я пытаюсь развернуть aws лямбду за балансировщиком нагрузки. Ранее я получал эти сообщения об ошибках от модуля целевой группы при попытке выполнить «проверку terraform»

Error: Missing resource instance key

  on ../modules/target-group/target-group.tf line 16, in resource "aws_lambda_permission" "lambda":
  16:   source_arn    = aws_alb_target_group.lambda.arn


Because aws_alb_target_group.lambda has "count" set, its attributes must be
accessed on specific instances.

For example, to correlate with indices of a referring resource, use:
    aws_alb_target_group.lambda[count.index]

И да, я следовал предложенному сообщению, чтобы поместить [count.index] на ресурсе зависимостей в модуле целевой группы. Однако, когда я попытался выполнить «terraform validate», теперь он дает мне указание добавить также в выходной файл из модуля целевой группы. Предоставляя это сообщение:

Error: Missing resource instance key

  on ../modules/target-group/outputs.tf line 6, in output "target_arn":
   6:  value ="${aws_alb_target_group.lambda.arn}"

Because aws_alb_target_group.lambda has "count" set, its attributes must be
accessed on specific instances.


For example, to correlate with indices of a referring resource, use:
    aws_alb_target_group.lambda[count.index]

Итак, как и было предложено, я изменил выходной файл в этом формате

output "target_arn" {
 value ="${aws_alb_target_group.lambda[count.index].arn}"
}

Тогда я получаю это сообщение:

Error: Reference to "count" in non-counted context

  on ../modules/target-group/outputs.tf line 6, in output "target_arn":
   6:  value ="${aws_alb_target_group.lambda[count.index].arn}"

The "count" object can be used only in "resource" and "data" blocks, and only
when the "count" argument is set.

Их предыдущее предложение добавить [count.index] не подходит для выходного файла. Я больше не понимаю, что нужно настроить, и не могу увидеть онлайн-решения о том, как решить проблему. Пожалуйста, подскажите, что здесь нужно.

1 Ответ

0 голосов
/ 09 февраля 2020

проблема исправлена ​​с использованием формата в output.tf

output "target_arn" {
 value =join("", aws_alb_target_group.lambda[*].arn)
}
...