pub struct CrossServiceEvent<'a> {
pub source: &'a str,
pub detail_type: &'a str,
pub detail: &'a str,
pub event_bus: &'a str,
pub account_id: &'a str,
pub region: &'a str,
pub resources: &'a [String],
pub principal_arn: Option<&'a str>,
}Expand description
An event another service puts onto an EventBridge bus (S3 bucket notifications, ECS task state changes, Scheduler/Pipes/Step Functions targets, …).
account_id and region name where the event originates: the owner
account and region of the emitting resource. They are stamped into the
event’s account and region fields and are what rule patterns match on,
exactly as AWS does for service events. There is deliberately no
“default account” form: every caller knows the resource the event is
about, and an event that silently lands on another account’s bus is
invisible to the rules that should have fired.
Fields§
§source: &'a str§detail_type: &'a str§detail: &'a strJSON detail document.
event_bus: &'a strBus name (a bus owned by account_id) or a full event-bus ARN. An ARN
routes the event to the bus owner’s account (a cross-account target),
while the event keeps its originating account / region.
account_id: &'a strAccount the event originates in.
region: &'a strRegion the event originates in.
resources: &'a [String]ARNs of the resources the event is about (resources field).
principal_arn: Option<&'a str>The IAM role the source acts as when it puts the event (a schedule’s
or pipe’s role, a state machine’s execution role). A bus in another
account authorizes the put against this principal through its
resource policy; None means the originating account’s root.