Amazon EventBridge · Arazzo Workflow

Amazon EventBridge Teardown Event Bus

Version 1.0.0

Inspect a bus's rules, delete a rule, then delete the custom event bus.

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

Provider

amazon-eventbridge

Workflows

teardown-event-bus
List rules on a bus, delete a rule, and delete the custom event bus.
Lists the rules associated with a custom event bus, deletes the named rule (forcing removal of any remaining targets), and then deletes the event bus.
3 steps inputs: eventBusName, ruleName outputs: busDeleteStatus, ruleDeleteStatus, rulesBeforeTeardown
1
listRules
ListRules
List the rules currently associated with the event bus.
2
deleteRule
DeleteRule
Delete the named rule, forcing removal of any remaining targets.
3
deleteEventBus
DeleteEventBus
Delete the now-empty custom event bus.

Source API Descriptions

Arazzo Workflow Specification

amazon-eventbridge-teardown-event-bus-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Amazon EventBridge Teardown Event Bus
  summary: Inspect a bus's rules, delete a rule, then delete the custom event bus.
  description: >-
    Decommissions a custom event bus in the correct order: it lists the rules on
    the bus for visibility, deletes the named rule, and then deletes the event
    bus itself. The default event bus cannot be deleted, so this targets a custom
    bus. 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: teardown-event-bus
  summary: List rules on a bus, delete a rule, and delete the custom event bus.
  description: >-
    Lists the rules associated with a custom event bus, deletes the named rule
    (forcing removal of any remaining targets), and then deletes the event bus.
  inputs:
    type: object
    required:
    - eventBusName
    - ruleName
    properties:
      eventBusName:
        type: string
        description: The name of the custom event bus to tear down.
      ruleName:
        type: string
        description: The name of the rule on the bus to delete first.
  steps:
  - stepId: listRules
    description: List the rules currently associated with the 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
  - stepId: deleteRule
    description: Delete the named rule, forcing removal of any remaining targets.
    operationId: DeleteRule
    parameters:
    - name: X-Amz-Target
      in: header
      value: AWSEvents.DeleteRule
    requestBody:
      contentType: application/x-amz-json-1.1
      payload:
        Name: $inputs.ruleName
        EventBusName: $inputs.eventBusName
        Force: true
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      ruleDeleteStatus: $statusCode
  - stepId: deleteEventBus
    description: Delete the now-empty custom event bus.
    operationId: DeleteEventBus
    parameters:
    - name: X-Amz-Target
      in: header
      value: AWSEvents.DeleteEventBus
    requestBody:
      contentType: application/x-amz-json-1.1
      payload:
        Name: $inputs.eventBusName
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      busDeleteStatus: $statusCode
  outputs:
    rulesBeforeTeardown: $steps.listRules.outputs.rules
    ruleDeleteStatus: $steps.deleteRule.outputs.ruleDeleteStatus
    busDeleteStatus: $steps.deleteEventBus.outputs.busDeleteStatus