cloudemu

Event Bus

Event routing with rules and targets

Event Bus

Emulates event routing: EventBridge (AWS), EventGrid (Azure), Eventarc (GCP).

Provider Mapping

ProviderServiceAccess
AWSEventBridgeaws.EventBridge
AzureEvent Gridazure.EventGrid
GCPEventarcgcp.Eventarc

Key Operations

Event Buses

import ebdriver "github.com/stackshy/cloudemu/eventbus/driver"

bus, _ := aws.EventBridge.CreateEventBus(ctx, ebdriver.EventBusConfig{
    Name: "app-events",
})

Rules and Targets

aws.EventBridge.CreateRule(ctx, ebdriver.RuleConfig{
    EventBusID: bus.ID,
    Name:       "order-rule",
    Pattern:    `{"source": ["orders"]}`,
})

aws.EventBridge.AddTarget(ctx, ebdriver.TargetConfig{
    RuleID: "order-rule",
    TargetID: "process-order",
})

Publishing Events

aws.EventBridge.PutEvents(ctx, []ebdriver.Event{
    {
        Source:     "orders",
        DetailType: "OrderCreated",
        Detail:     `{"orderId": "123"}`,
        EventBusID: bus.ID,
    },
})

On this page