mirror of
https://github.com/Sea-Haven-Industries/seahaven-door-unlock-api.git
synced 2026-09-30 07:03:12 +00:00
136 lines
4.4 KiB
Terraform
136 lines
4.4 KiB
Terraform
|
|
resource "aws_lambda_function" "unlock" {
|
||
|
|
function_name = local.function_packages.unlock.function_name
|
||
|
|
role = aws_iam_role.unlock.arn
|
||
|
|
handler = local.function_packages.unlock.handler
|
||
|
|
runtime = "nodejs24.x"
|
||
|
|
architectures = ["arm64"]
|
||
|
|
memory_size = local.function_packages.unlock.memory
|
||
|
|
timeout = local.function_packages.unlock.timeout
|
||
|
|
|
||
|
|
s3_bucket = aws_s3_bucket.artifacts.id
|
||
|
|
s3_key = aws_s3_object.function["unlock"].key
|
||
|
|
source_code_hash = data.archive_file.function["unlock"].output_base64sha256
|
||
|
|
|
||
|
|
environment {
|
||
|
|
variables = {
|
||
|
|
ELEMENTS_API_KEY_PARAM = local.elements_api_key_param
|
||
|
|
AUTH_TOKEN_PARAM = local.auth_token_param
|
||
|
|
DOOR_ID_PARAM = local.door_id_param
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
depends_on = [
|
||
|
|
aws_cloudwatch_log_group.function,
|
||
|
|
aws_iam_role_policy.unlock,
|
||
|
|
aws_iam_role_policy_attachment.unlock_basic,
|
||
|
|
]
|
||
|
|
}
|
||
|
|
|
||
|
|
resource "aws_lambda_function" "lockdown" {
|
||
|
|
function_name = local.function_packages.lockdown.function_name
|
||
|
|
role = aws_iam_role.lockdown.arn
|
||
|
|
handler = local.function_packages.lockdown.handler
|
||
|
|
runtime = "nodejs24.x"
|
||
|
|
architectures = ["arm64"]
|
||
|
|
memory_size = local.function_packages.lockdown.memory
|
||
|
|
timeout = local.function_packages.lockdown.timeout
|
||
|
|
|
||
|
|
s3_bucket = aws_s3_bucket.artifacts.id
|
||
|
|
s3_key = aws_s3_object.function["lockdown"].key
|
||
|
|
source_code_hash = data.archive_file.function["lockdown"].output_base64sha256
|
||
|
|
|
||
|
|
environment {
|
||
|
|
variables = {
|
||
|
|
ELEMENTS_API_KEY_PARAM = local.elements_api_key_param
|
||
|
|
AUTH_TOKEN_PARAM = local.auth_token_param
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
depends_on = [
|
||
|
|
aws_cloudwatch_log_group.function,
|
||
|
|
aws_iam_role_policy.lockdown,
|
||
|
|
aws_iam_role_policy_attachment.lockdown_basic,
|
||
|
|
]
|
||
|
|
}
|
||
|
|
|
||
|
|
resource "aws_lambda_function" "authorizer" {
|
||
|
|
function_name = local.function_packages.authorizer.function_name
|
||
|
|
role = aws_iam_role.authorizer.arn
|
||
|
|
handler = local.function_packages.authorizer.handler
|
||
|
|
runtime = "nodejs24.x"
|
||
|
|
architectures = ["arm64"]
|
||
|
|
memory_size = local.function_packages.authorizer.memory
|
||
|
|
timeout = local.function_packages.authorizer.timeout
|
||
|
|
|
||
|
|
s3_bucket = aws_s3_bucket.artifacts.id
|
||
|
|
s3_key = aws_s3_object.function["authorizer"].key
|
||
|
|
source_code_hash = data.archive_file.function["authorizer"].output_base64sha256
|
||
|
|
|
||
|
|
environment {
|
||
|
|
variables = {
|
||
|
|
AUTH_TOKEN_PARAM = local.auth_token_param
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
depends_on = [
|
||
|
|
aws_cloudwatch_log_group.function,
|
||
|
|
aws_iam_role_policy.authorizer,
|
||
|
|
aws_iam_role_policy_attachment.authorizer_basic,
|
||
|
|
]
|
||
|
|
}
|
||
|
|
|
||
|
|
resource "aws_lambda_function" "poller" {
|
||
|
|
function_name = local.function_packages.poller.function_name
|
||
|
|
role = aws_iam_role.poller.arn
|
||
|
|
handler = local.function_packages.poller.handler
|
||
|
|
runtime = "nodejs24.x"
|
||
|
|
architectures = ["arm64"]
|
||
|
|
memory_size = local.function_packages.poller.memory
|
||
|
|
timeout = local.function_packages.poller.timeout
|
||
|
|
|
||
|
|
s3_bucket = aws_s3_bucket.artifacts.id
|
||
|
|
s3_key = aws_s3_object.function["poller"].key
|
||
|
|
source_code_hash = data.archive_file.function["poller"].output_base64sha256
|
||
|
|
|
||
|
|
environment {
|
||
|
|
variables = {
|
||
|
|
ELEMENTS_API_KEY_PARAM = local.elements_api_key_param
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
depends_on = [
|
||
|
|
aws_cloudwatch_log_group.function,
|
||
|
|
aws_iam_role_policy.poller,
|
||
|
|
aws_iam_role_policy_attachment.poller_basic,
|
||
|
|
]
|
||
|
|
}
|
||
|
|
|
||
|
|
resource "aws_lambda_function" "blf_sync" {
|
||
|
|
function_name = local.function_packages.blf_sync.function_name
|
||
|
|
role = aws_iam_role.blf_sync.arn
|
||
|
|
handler = local.function_packages.blf_sync.handler
|
||
|
|
runtime = "nodejs24.x"
|
||
|
|
architectures = ["arm64"]
|
||
|
|
memory_size = local.function_packages.blf_sync.memory
|
||
|
|
timeout = local.function_packages.blf_sync.timeout
|
||
|
|
|
||
|
|
s3_bucket = aws_s3_bucket.artifacts.id
|
||
|
|
s3_key = aws_s3_object.function["blf_sync"].key
|
||
|
|
source_code_hash = data.archive_file.function["blf_sync"].output_base64sha256
|
||
|
|
|
||
|
|
environment {
|
||
|
|
variables = {
|
||
|
|
THREE_CX_DOMAIN_SECRET = local.three_cx_domain_secret_name
|
||
|
|
THREE_CX_CLIENT_ID_SECRET = local.three_cx_client_id_secret_name
|
||
|
|
THREE_CX_CLIENT_SECRET_SECRET = local.three_cx_client_secret_secret_name
|
||
|
|
DRY_RUN = "false"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
depends_on = [
|
||
|
|
aws_cloudwatch_log_group.function,
|
||
|
|
aws_iam_role_policy.blf_sync,
|
||
|
|
aws_iam_role_policy_attachment.blf_sync_basic,
|
||
|
|
]
|
||
|
|
}
|