Как найти ARN существующего лямбда-слоя AWS - PullRequest
0 голосов
/ 11 февраля 2019

Я создал лямбда-слой, используя этот скрипт.

resource "aws_lambda_layer_version" "lambda_common_layer" {
  layer_name = "lambda_common_layer"
  s3_bucket = "${aws_s3_bucket_object.object_lambda_common_layer.bucket}"
  s3_key = "${aws_s3_bucket_object.object_lambda_common_layer.key}"
  s3_object_version = "${aws_s3_bucket_object.object_lambda_common_layer.version_id}"
  source_code_hash = "${data.archive_file.layer_zip_lambda_common_layer.output_base64sha256}"
  description = "Common layer providing logging"
  compatible_runtimes = ["python3.6"]
}

У меня также есть лямбда-определение, в котором я хочу использовать слой. Для этого мне нужно передать список ARN, и я неНе знаю, как получить ARN существующего лямбда-слоя. Это разные проекты с отдельными скриптами Terraform.Как это сделать ?Вот моя лямбда-декларация

Я пытался поместить только имя слоя в качестве ресурса, но он выделяется

resource "aws_lambda_layer_version" "lambda_common_layer" {
layer_name = "lambda_common_layer"
}

...
  layers = ["${aws_lambda_layer_version.lambda_common_layer.layer_arn}"]

1 Ответ

0 голосов
/ 11 февраля 2019

Вам потребуется источник данных в удаленном состоянии из проекта, в котором был объявлен ресурс лямбда-слоя.

На мой взгляд, это самый простой способ сделать это - использовать удаленное состояние backend для хранения состояния terraform каждого проекта, чтобы вы могли ссылаться на него из других проектов.По моему опыту, самое простое удаленное состояние для настройки - это S3 remote state .

. После этого вы можете включить файл outputs.tf в ваш проект лямбда-слоя с помощью чего-то вроде:

output "lambda_layer_arn" {
   value = "${aws_lambda_layer_version.lambda_common_layer.arn}"
}
output "lambda_layer_version_arn" {
   value = "${aws_lambda_layer_version.lambda_common_layer.layer_arn}"
}

После вывода этих значений они будут доступны в удаленном состоянии для использования другими модулями terraform.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...