У меня проблема с циклической зависимостью от terraform. У меня есть пул пользователей user_pool
, который вызывает лямбда user_signup_lambda
в качестве триггера при регистрации пользователя. Эта лямбда также нуждается в идентификаторе пользовательского пула в качестве переменной среды.
Моя терраформа выглядит так
resource "aws_lambda_function" "user_signup_lambda" {
function_name = "user_signup_lambda"
filename = var.file_name
source_code_hash = filebase64sha256(var.file_name)
handler = var.handler
runtime = var.runtime
memory_size = var.memory_size
timeout = var.timeout
role = var.iam_role_arn
environment {
variables = aws_cognito_user_pool.user_pool.id
}
}
resource "aws_cognito_user_pool" "user_pool" {
name = "some-user-pool"
....other config
lambda_config {
post_confirmation = module.user_signup_lambda.arn
}
Это приводит к следующей ошибке:
Error: Cycle: module.user_signup_lambda.var.environment_variables, module.user_signup_lambda.aws_lambda_function.lambda_function, module.user_signup_lambda.output.arn, aws_cognito_user_pool.user_pool
Есть ли что-то еще, кроме жесткого кодирования идентификатора пользовательского пула?
userPoolId
, который вы можете прочитать оттуда. docs.aws.amazon.com/cognito/latest/developerguide/ содержит пример лямбда-функции и пример ввода события. - person ydaetskcoR   schedule 08.06.2020apply
. - person ydaetskcoR   schedule 08.06.2020