IaC Bazaar
AWSLive-tested

EventBridge Bus, Rule & Target

A custom EventBridge event bus, a pattern-filtered rule, and a target wired end-to-end - encryption at rest always on, least-privilege log delivery, and a 24h retry policy with optional DLQ.

terraformAWS#aws
aws-eventbridgeterraform v1.7

Verification

Live-tested

Really deployed to a cloud sandbox, verified against its outputs and assertions, then destroyed - with the teardown confirmed.

Conformance

  • Static validation (fmt · validate · tflint)
  • Security scan clean (Checkov)
  • Plan test superseded by live test

Provenance

Functional

  • Live-tested - applied, verified, destroyed

Last verified 2026-06-30 · how we verify

Verify this download

cosign · sha-256

Don't take our word for it. Every release is signed with cosign - check the bytes against our pinned public key before you trust them.

# 1. Our pinned public key - fetch once, trust out-of-band
curl -O https://www.iac-bazaar.com/cosign.pub

# 2. This module's Sigstore bundle
curl -o aws-eventbridge-1.0.0.sigstore.json \
  https://www.iac-bazaar.com/api/artifacts/aws-eventbridge/signature

# 3. Verify the tarball you downloaded
cosign verify-blob \
  --key cosign.pub \
  --bundle aws-eventbridge-1.0.0.sigstore.json \
  aws-eventbridge-1.0.0.tar.gz
# → Verified OK

# 4. (optional) confirm the checksum too
echo "68820e942f40cba6aac62d9a6a902747732be62f0648520ce24eddd7b0d679b2  aws-eventbridge-1.0.0.tar.gz" | sha256sum -c

Use it from the registry

terraform · opentofu
module "eventbridge" {
  source  = "www.iac-bazaar.com/iac-bazaar/aws-eventbridge/aws"
  version = "1.0.0"
}

Paid module — needs a purchase (or a subscription that covers it) plus a registry token from /account/tokens. Full setup: registry docs.

Inputs & outputs

Create a free account to read this module's contract

The declared contract — every input name, type, default and description, plus every output — is shown to signed-in accounts, not to anonymous visitors.

A free account sees the contract of every Free module. This one is Basic, so its contract unlocks when you buy it.

Documentation

aws-eventbridge

A custom Amazon EventBridge event bus, a rule that filters events by event pattern, and a target — wired end-to-end. Works with Terraform and OpenTofu (>= 1.6), AWS provider >= 6.0, < 7.0.

By default the module creates its own CloudWatch Logs group as the target (plus the resource policy EventBridge needs to write to it), so the whole stack stands up from a single input (bus_name) and is perfect for capturing or auditing events. Point it at any existing destination instead with target_type = "external" and target_arn.

Secure defaults:

  • Encryption at rest always on — the bus uses the AWS-owned EventBridge key by default (free); pass bus_kms_key_identifier for a customer-managed key. The target log group is encrypted with AWS-managed CloudWatch Logs encryption unless you supply log_kms_key_id.
  • Least-privilege log delivery — the log group resource policy grants only logs:CreateLogStream / logs:PutLogEvents, scoped to that single group and guarded by an aws:SourceAccount condition so only this account's EventBridge can write (confused-deputy protection).
  • Reliable delivery — a 24h / 185-attempt retry policy by default, with an optional dead-letter queue on both the bus and the target.

Custom-bus rules must filter by event pattern — AWS only allows schedule_expression rules on the default bus, so this module intentionally does not expose scheduling (use the aws-step-functions/EventBridge Scheduler for that). The default pattern is a catch-all ({"account": ["<id>"]}); set event_pattern for real routing.

Requirements

  • Terraform or OpenTofu >= 1.6
  • hashicorp/aws >= 6.0, < 7.0

License

Commercial — IaC Bazaar EULA. © IaC Bazaar. Original work (not derived from a third-party module).

Usage code & full reference unlock after purchase

The complete copy-paste usage, the full input/output reference, and operational notes ship with your licence - shown here and bundled in the download.

  • Usage
  • Inputs
  • Outputs

Related modules