From 0329b60a5dbd65184a1302535eb8c3f269937ed3 Mon Sep 17 00:00:00 2001 From: Collin Duncan <3679940+cgduncan7@users.noreply.github.com> Date: Sun, 28 Nov 2021 22:34:51 +0100 Subject: [PATCH] Working slowly on adding state machine to perform reservations --- terraform/iam.tf | 33 +++++++++++++++++++++++++++++ terraform/{lambda.tf => lambdas.tf} | 20 ++--------------- terraform/step-functions.tf | 24 +++++++++++++++++++++ 3 files changed, 59 insertions(+), 18 deletions(-) create mode 100644 terraform/iam.tf rename terraform/{lambda.tf => lambdas.tf} (63%) create mode 100644 terraform/step-functions.tf diff --git a/terraform/iam.tf b/terraform/iam.tf new file mode 100644 index 0000000..2c94222 --- /dev/null +++ b/terraform/iam.tf @@ -0,0 +1,33 @@ +resource "aws_iam_role" "reservation_scheduler_lambda_iam_role" { + name = "reservation_scheduler_lambda_iam_role" + + assume_role_policy = jsonencode({ + "Version" = "2012-10-17", + "Statement" = [ + { + "Sid" = "reservation_scheduler_lambda-assume_role" + "Action" = "sts:AssumeRole", + "Principal" = { + "Service" = "lambda.amazonaws.com" + }, + "Effect" = "Allow", + } + ] + }) +} + +resource "aws_iam_role" "reservation_state_machine_iam_role" { + name = "reservation_state_machine_iam_role" + + assume_role_policy = jsonencode({ + "Version" = "2012-10-17", + "Statement" = [ + { + "Sid" = "reservation_state_machine-invoke_lambda" + "Action" = "lambda:InvokeAsync" + "Effect" = "Allow" + "Resource" = aws_lambda_function.reservation_scheduler_lambda.arn + } + ] + }) +} \ No newline at end of file diff --git a/terraform/lambda.tf b/terraform/lambdas.tf similarity index 63% rename from terraform/lambda.tf rename to terraform/lambdas.tf index 06b7e3c..049d317 100644 --- a/terraform/lambda.tf +++ b/terraform/lambdas.tf @@ -7,27 +7,11 @@ resource "aws_lambda_function" "reservation_scheduler_lambda" { source_code_hash = filebase64sha256("../deploy/reservationScheduler.zip") role = aws_iam_role.reservation_scheduler_lambda_iam_role.arn -} -resource "aws_iam_role" "reservation_scheduler_lambda_iam_role" { - name = "reservation_scheduler_lambda_iam_role" - - assume_role_policy = <