The code will provide the following features on AWS.
module "cw_event_rule" {
source = "git@github.com:jslopes8/terraform-aws-cw-event-rules.git"
name = "test-cw"
description = "CW Events Rules Monitor Organizations"
add_targets = [
{
target = "lambda"
arn = module.lambda.function_arn
},
{
target = "SendToSNS"
arn = module.sns_topic.sns_arn
},
]
event_pattern = <<PATTERN
{
"source": [
"aws.organizations"
],
"detail-type": [
"AWS API Call via CloudTrail"
],
"detail": {
"eventSource": [
"organizations.amazonaws.com"
],
"eventName": [
"CreateAccount",
"CreateOrganizationalUnit",
"DeleteOrganizationalUnit"
]
}
}
PATTERN
default_tags = {
ApplicationRole = "CW Events Rules Monitor Organizations"
}
}
Name | Version |
---|---|
aws | ~> 2.68 |
terraform | ~> 0.12 |
Name | Description | Required | Type | Default |
---|---|---|---|---|
name | The rule's name. | yes |
string |
|
description | The description of the rule. | no |
string |
null |
add_targets | Key-value block you want to add targets to. | yes |
any |
|
event_pattern | Event pattern described a JSON object. If schedule_expression isn't specified | no |
any |
|
schedule_expression | The scheduling expression. For example, cron(0 20 * * ? *) or rate(5 minutes) | no |
string |
|
role_arn | ARN associated with the role that is used for target invocation. | yes |
string |
|
is_enabled | Whether the rule should be enabled | no |
string |
true |
default_tags | Key-value map of tags to assign to the resource. | no |
map |
{ } |
Name | Description |
---|---|
cw_arn | The Amazon Resource Name (ARN) of the rule. |