resource "aws_lambda_function" "GetUserConfigLambda" {
  function_name    = "GetUserConfigLambda"
  description      = "A function to lookup and return user data from AWS Secrets Manager."
  handler          = "index.lambda_handler"
  role             = var.role
  runtime          = "python3.12"
  filename         = "${path.module}/index.zip"
  source_code_hash = filebase64sha256("${path.module}/index.zip")
  environment {
    variables = {
      SecretsManagerRegion = var.region
      SecretsPath          = var.secrets_path
    }
  }
  tags = var.tags
}

resource "aws_lambda_permission" "GetUserConfigLambdaPermission" {
  action        = "lambda:invokeFunction"
  function_name = aws_lambda_function.GetUserConfigLambda.function_name
  principal     = "apigateway.amazonaws.com"
  source_arn    = var.source_arn
}
