Amazon Security Lake · Arazzo Workflow

Amazon Security Lake Offboard Subscriber

Version 1.0.0

Confirm a subscriber exists, then delete it and verify it is removed from the list.

1 workflow 1 source API 1 provider
View Spec View on GitHub Data LakeSecuritySIEMThreat DetectionArazzoWorkflows

Provider

amazon-security-lake

Workflows

offboard-subscriber
Confirm a subscriber, delete it, and verify removal from the account list.
Reads a subscriber by ID, branches on its status, deletes it, and lists subscribers to confirm removal.
3 steps inputs: subscriberId outputs: deletedSubscriberId, subscribers
1
getSubscriber
GetSubscriber
Read the subscriber by ID to confirm it exists and capture its current status before deletion.
2
deleteSubscriber
DeleteSubscriber
Delete the confirmed subscriber and remove it from Amazon Security Lake.
3
listSubscribers
ListSubscribers
List the remaining subscribers for the account to confirm the subscriber has been removed.

Source API Descriptions

Arazzo Workflow Specification

amazon-security-lake-offboard-subscriber-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Amazon Security Lake Offboard Subscriber
  summary: Confirm a subscriber exists, then delete it and verify it is removed from the list.
  description: >-
    Offboards a data subscriber from Amazon Security Lake in a verified
    sequence. The workflow reads the subscriber by ID to confirm it exists,
    branches on whether the subscriber is active or already deactivated, deletes
    the subscriber, and then lists subscribers to confirm it has been removed.
    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: securityLakeApi
  url: ../openapi/amazon-security-lake-openapi.yml
  type: openapi
workflows:
- workflowId: offboard-subscriber
  summary: Confirm a subscriber, delete it, and verify removal from the account list.
  description: >-
    Reads a subscriber by ID, branches on its status, deletes it, and lists
    subscribers to confirm removal.
  inputs:
    type: object
    required:
    - subscriberId
    properties:
      subscriberId:
        type: string
        description: The ID of the subscriber to offboard.
  steps:
  - stepId: getSubscriber
    description: >-
      Read the subscriber by ID to confirm it exists and capture its current
      status before deletion.
    operationId: GetSubscriber
    parameters:
    - name: subscriberId
      in: path
      value: $inputs.subscriberId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      subscriberId: $response.body#/subscriberId
      subscriberStatus: $response.body#/subscriberStatus
    onSuccess:
    - name: subscriberActive
      type: goto
      stepId: deleteSubscriber
      criteria:
      - context: $response.body
        condition: $.subscriberStatus == "ACTIVE"
        type: jsonpath
    - name: subscriberDeactivated
      type: goto
      stepId: deleteSubscriber
      criteria:
      - context: $response.body
        condition: $.subscriberStatus == "DEACTIVATED"
        type: jsonpath
  - stepId: deleteSubscriber
    description: >-
      Delete the confirmed subscriber and remove it from Amazon Security Lake.
    operationId: DeleteSubscriber
    parameters:
    - name: subscriberId
      in: path
      value: $steps.getSubscriber.outputs.subscriberId
    successCriteria:
    - condition: $statusCode == 204
    outputs:
      deletedSubscriberId: $steps.getSubscriber.outputs.subscriberId
  - stepId: listSubscribers
    description: >-
      List the remaining subscribers for the account to confirm the subscriber
      has been removed.
    operationId: ListSubscribers
    parameters:
    - name: maxResults
      in: query
      value: 50
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      subscribers: $response.body#/subscribers
  outputs:
    deletedSubscriberId: $steps.deleteSubscriber.outputs.deletedSubscriberId
    subscribers: $steps.listSubscribers.outputs.subscribers