123456789101112131415161718192021222324252627282930313233343536 |
- resource "aws_cloudwatch_log_group" "function" {
- name = "/aws/lambda/${aws_lambda_function.function.function_name}"
- retention_in_days = 14
- tags = merge(var.standard_tags, var.tags)
- }
- ###
- ### Trigger Portal Sync Lambda with Rules and Targets
- ###
- ### Time-based rules for portal sync:
- resource "aws_cloudwatch_event_rule" "event_rule" {
- name = "threatq-lambda-data-sync"
- description = "Rule for threatq data sync lambda function - every 20 minutes"
- schedule_expression = "rate(20 minutes)"
- is_enabled = var.environment == "test" ? false : true
- tags = merge(var.standard_tags, var.tags)
- }
- ### Time-based targets for portal sync:
- resource "aws_cloudwatch_event_target" "event_target" {
- target_id = "ThreatQSync"
- rule = aws_cloudwatch_event_rule.event_rule.name
- arn = aws_lambda_function.function.arn
- }
- ### Invoke permissions for Time-based rules for portal sync:
- resource "aws_lambda_permission" "permission" {
- statement_id = "AllowExecutionFromCloudWatch"
- action = "lambda:InvokeFunction"
- function_name = aws_lambda_function.function.function_name
- principal = "events.amazonaws.com"
- source_arn = aws_cloudwatch_event_rule.event_rule.arn
- }
|