Skip to content

Commit 7f49c13

Browse files
authored
Merge pull request #10 from nasa/GESDISCUMU-5220-Eventbridge-Rule-For-Gap-Reporter
Gesdiscumu 5220 eventbridge rule for gap reporter
2 parents 4ec964f + f82e802 commit 7f49c13

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
resource "aws_iam_role" "gap_detection_eventbridge_scheduler_execution_role" {
2+
name = "${var.DEPLOY_NAME}-gap-detection-eventbridge-role"
3+
4+
assume_role_policy = jsonencode({
5+
Version = "2012-10-17"
6+
Statement = [
7+
{
8+
Effect = "Allow"
9+
Principal = {
10+
Service = "scheduler.amazonaws.com"
11+
}
12+
Action = "sts:AssumeRole"
13+
}
14+
]
15+
})
16+
}
17+
18+
resource "aws_iam_role_policy" "gap_detection_eventbridge_scheduler_policy" {
19+
name = "${var.DEPLOY_NAME}-gap-detection-eventbridge-policy"
20+
role = aws_iam_role.gap_detection_eventbridge_scheduler_execution_role.id
21+
22+
policy = jsonencode({
23+
Version = "2012-10-17"
24+
Statement = [
25+
{
26+
Effect = "Allow"
27+
Action = "lambda:InvokeFunction"
28+
Resource = aws_lambda_function.gap_functions["gapReporter"].arn
29+
}
30+
]
31+
})
32+
}
33+
resource "aws_scheduler_schedule" "gap_reporter_scheduler" {
34+
name = "${var.DEPLOY_NAME}-gap_detection_reporter"
35+
group_name = "default"
36+
37+
schedule_expression = "rate(7 days)"
38+
39+
flexible_time_window {
40+
mode = "OFF"
41+
}
42+
43+
target {
44+
arn = "arn:aws:scheduler:::aws-sdk:lambda:invoke"
45+
role_arn = aws_iam_role.gap_detection_eventbridge_scheduler_execution_role.arn
46+
47+
input = jsonencode({
48+
FunctionName = aws_lambda_function.gap_functions["gapReporter"].arn,
49+
InvocationType = "Event",
50+
Payload = jsonencode("foo")
51+
})
52+
}
53+
}
54+
55+
resource "aws_lambda_permission" "allow_scheduler_invoke" {
56+
statement_id = "AllowSchedulerInvoke"
57+
action = "lambda:InvokeFunction"
58+
function_name = aws_lambda_function.gap_functions["gapReporter"].function_name
59+
principal = "scheduler.amazonaws.com"
60+
source_arn = aws_scheduler_schedule.gap_reporter_scheduler.arn
61+
}

0 commit comments

Comments
 (0)