data "aws_iam_policy_document" "lambda-metrics-role" { statement { effect = "Allow" principals { type = "Service" identifiers = ["lambda.amazonaws.com"] } actions = ["sts:AssumeRole"] } } resource "aws_iam_role" "lambda-metrics-role" { name = "lambda-metrics-role" assume_role_policy = data.aws_iam_policy_document.lambda-metrics-role.json } data "archive_file" "lambda-metrics-role" { type = "zip" source_file = "src/metrics.py" output_path = "src/metrics.zip" } resource "aws_lambda_function" "metrics" { function_name = "transponder-tracker-metrics" runtime = "python3.11" role = aws_iam_role.lambda-metrics-role.arn handler = "metrics" filename = "src/metrics.zip" source_code_hash = data.archive_file.lambda-metrics-role.output_base64sha256 }