Amazon EventBridge · Arazzo Workflow

Amazon EventBridge Audit Bus Rules

Version 1.0.0

List event buses, list a bus's rules, then describe a chosen rule.

1 workflow 1 source API 1 provider
View Spec View on GitHub Amazon Web ServicesEvent BusEvent-DrivenEventsIntegrationServerlessArazzoWorkflows

Provider

amazon-eventbridge

Workflows

audit-bus-rules
Walk buses, list a bus's rules, and describe a target rule.
Lists event buses, lists the rules on a named bus, and — when rules exist — describes a specific rule to read its configuration.
3 steps inputs: busNamePrefix, eventBusName, ruleName outputs: eventBuses, ruleArn, rules
1
listEventBuses
ListEventBuses
List the event buses in the account, optionally filtered by name prefix.
2
listRules
ListRules
List the rules on the named event bus.
3
describeRule
DescribeRule
Describe the chosen rule to read its pattern, schedule, and state.

Source API Descriptions

Arazzo Workflow Specification

amazon-eventbridge-audit-bus-rules-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Amazon EventBridge Audit Bus Rules
  summary: List event buses, list a bus's rules, then describe a chosen rule.
  description: >-
    A discovery and audit flow across the EventBridge control plane: it lists the
    event buses in the account, lists the rules on a named bus, and describes a
    specific rule to surface its full configuration. Branching ends the flow
    early when the bus has no rules to describe. Every step spells out its AWS
    JSON request inline — including the documented X-Amz-Target header — so the
    flow can be read and executed without opening the underlying OpenAPI
    description.
  version: 1.0.0
sourceDescriptions:
- name: eventbridgeApi
  url: ../openapi/amazon-eventbridge-openapi.yml
  type: openapi
workflows:
- workflowId: audit-bus-rules
  summary: Walk buses, list a bus's rules, and describe a target rule.
  description: >-
    Lists event buses, lists the rules on a named bus, and — when rules exist —
    describes a specific rule to read its configuration.
  inputs:
    type: object
    required:
    - eventBusName
    - ruleName
    properties:
      eventBusName:
        type: string
        description: The name of the event bus whose rules are audited.
      ruleName:
        type: string
        description: The name of the rule to describe.
      busNamePrefix:
        type: string
        description: An optional prefix to filter the listed event buses by name.
  steps:
  - stepId: listEventBuses
    description: List the event buses in the account, optionally filtered by name prefix.
    operationId: ListEventBuses
    parameters:
    - name: X-Amz-Target
      in: header
      value: AWSEvents.ListEventBuses
    requestBody:
      contentType: application/x-amz-json-1.1
      payload:
        NamePrefix: $inputs.busNamePrefix
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      eventBuses: $response.body#/EventBuses
  - stepId: listRules
    description: List the rules on the named event bus.
    operationId: ListRules
    parameters:
    - name: X-Amz-Target
      in: header
      value: AWSEvents.ListRules
    requestBody:
      contentType: application/x-amz-json-1.1
      payload:
        EventBusName: $inputs.eventBusName
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      rules: $response.body#/Rules
    onSuccess:
    - name: hasRules
      type: goto
      stepId: describeRule
      criteria:
      - context: $response.body
        condition: $.Rules.length > 0
        type: jsonpath
    - name: noRules
      type: end
      criteria:
      - context: $response.body
        condition: $.Rules.length == 0
        type: jsonpath
  - stepId: describeRule
    description: Describe the chosen rule to read its pattern, schedule, and state.
    operationId: DescribeRule
    parameters:
    - name: X-Amz-Target
      in: header
      value: AWSEvents.DescribeRule
    requestBody:
      contentType: application/x-amz-json-1.1
      payload:
        Name: $inputs.ruleName
        EventBusName: $inputs.eventBusName
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      ruleArn: $response.body#/Arn
      ruleState: $response.body#/State
      eventPattern: $response.body#/EventPattern
  outputs:
    eventBuses: $steps.listEventBuses.outputs.eventBuses
    rules: $steps.listRules.outputs.rules
    ruleArn: $steps.describeRule.outputs.ruleArn