Amazon EventBridge Scheduler · Arazzo Workflow

EventBridge Scheduler Schedule Group Lifecycle

Version 1.0.0

Create a schedule group, confirm it, then delete it.

1 workflow 1 source API 1 provider
View Spec View on GitHub Amazon Web ServicesCronEvent-DrivenSchedulingServerlessArazzoWorkflows

Provider

amazon-eventbridge-scheduler

Workflows

schedule-group-lifecycle
Create a schedule group, get it, then delete it.
Provisions a schedule group, reads it back to confirm creation and capture its state, and then removes it.
3 steps inputs: groupName outputs: deletedGroupName, scheduleGroupArn, stateBeforeDelete
1
createGroup
CreateScheduleGroup
Create the schedule group.
2
getGroup
GetScheduleGroup
Retrieve the schedule group to confirm it exists and capture its current state before deletion.
3
deleteGroup
DeleteScheduleGroup
Delete the schedule group, which also removes any schedules associated with it.

Source API Descriptions

Arazzo Workflow Specification

amazon-eventbridge-scheduler-schedule-group-lifecycle-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: EventBridge Scheduler Schedule Group Lifecycle
  summary: Create a schedule group, confirm it, then delete it.
  description: >-
    Exercises the full lifecycle of a schedule group: create the group, retrieve
    it to confirm it reached an active state, and then delete it. Deleting a
    group also deletes every schedule associated with it, so this flow is a clean
    way to provision and tear down an isolated grouping. Every step spells out
    its request inline so the flow can be read and executed without opening the
    underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: schedulerApi
  url: ../openapi/amazon-eventbridge-scheduler-openapi.yml
  type: openapi
workflows:
- workflowId: schedule-group-lifecycle
  summary: Create a schedule group, get it, then delete it.
  description: >-
    Provisions a schedule group, reads it back to confirm creation and capture
    its state, and then removes it.
  inputs:
    type: object
    required:
    - groupName
    properties:
      groupName:
        type: string
        description: The name of the schedule group to create, confirm, and delete.
  steps:
  - stepId: createGroup
    description: >-
      Create the schedule group.
    operationId: CreateScheduleGroup
    parameters:
    - name: Name
      in: path
      value: $inputs.groupName
    requestBody:
      contentType: application/json
      payload:
        Tags: []
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      scheduleGroupArn: $response.body#/ScheduleGroupArn
  - stepId: getGroup
    description: >-
      Retrieve the schedule group to confirm it exists and capture its current
      state before deletion.
    operationId: GetScheduleGroup
    parameters:
    - name: Name
      in: path
      value: $inputs.groupName
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      groupName: $response.body#/Name
      groupArn: $response.body#/Arn
      state: $response.body#/State
  - stepId: deleteGroup
    description: >-
      Delete the schedule group, which also removes any schedules associated
      with it.
    operationId: DeleteScheduleGroup
    parameters:
    - name: Name
      in: path
      value: $inputs.groupName
    successCriteria:
    - condition: $statusCode == 200
  outputs:
    scheduleGroupArn: $steps.createGroup.outputs.scheduleGroupArn
    deletedGroupName: $steps.getGroup.outputs.groupName
    stateBeforeDelete: $steps.getGroup.outputs.state