Sketching out more infra
parent
0dd174d756
commit
ed8f56fec1
@ -0,0 +1,4 @@
|
|||||||
|
resource "aws_athena_database" "transponder-metrics" {
|
||||||
|
name = "transponder_metrics"
|
||||||
|
bucket = aws_s3_bucket.transponder-data.id
|
||||||
|
}
|
@ -0,0 +1,33 @@
|
|||||||
|
data "aws_iam_policy_document" "lambda-load-role" {
|
||||||
|
statement {
|
||||||
|
effect = "Allow"
|
||||||
|
principals {
|
||||||
|
type = "Service"
|
||||||
|
identifiers = ["lambda.amazonaws.com"]
|
||||||
|
}
|
||||||
|
actions = ["sts:AssumeRole"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "aws_iam_role" "lambda-load-role" {
|
||||||
|
name = "lambda-load-role"
|
||||||
|
assume_role_policy = data.aws_iam_policy_document.lambda-load-role.json
|
||||||
|
}
|
||||||
|
|
||||||
|
data "archive_file" "lambda-load-role" {
|
||||||
|
type = "zip"
|
||||||
|
source_file = "src/load.py"
|
||||||
|
output_path = "src/load.zip"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "aws_lambda_function" "load" {
|
||||||
|
function_name = "transponder-tracker-load"
|
||||||
|
runtime = "python3.11"
|
||||||
|
|
||||||
|
role = aws_iam_role.lambda-load-role.arn
|
||||||
|
|
||||||
|
handler = "load"
|
||||||
|
filename = "src/load.zip"
|
||||||
|
source_code_hash = data.archive_file.lambda-load-role.output_base64sha256
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,33 @@
|
|||||||
|
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
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue