Amazon Security Lake · Arazzo Workflow

Amazon Security Lake Decommission Data Lake

Version 1.0.0

Resolve a data lake, update its configuration, then delete its configuration object.

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

Provider

amazon-security-lake

Workflows

decommission-data-lake
Resolve a data lake by region, update its configuration, and delete it.
Lists data lakes to resolve the target ARN, branches on existence, applies a final configuration update, and deletes the data lake configuration object.
3 steps inputs: configurations, region outputs: deletedDataLakeArn
1
listDataLakes
ListDataLakes
List the account's data lakes for the target region and capture the data lake ARN to act on.
2
updateDataLake
UpdateDataLake
Apply a final configuration update to the resolved data lake before it is torn down.
3
deleteDataLake
DeleteDataLake
Delete the Amazon Security Lake data lake configuration object for the resolved ARN.

Source API Descriptions

Arazzo Workflow Specification

amazon-security-lake-decommission-data-lake-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Amazon Security Lake Decommission Data Lake
  summary: Resolve a data lake, update its configuration, then delete its configuration object.
  description: >-
    Retires an Amazon Security Lake data lake in a controlled sequence. The
    workflow lists the account's data lakes to resolve the target lake's ARN,
    branches on whether a data lake exists, applies a final configuration update
    (for example tightening the lifecycle before teardown), and then deletes the
    data lake configuration object. 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: decommission-data-lake
  summary: Resolve a data lake by region, update its configuration, and delete it.
  description: >-
    Lists data lakes to resolve the target ARN, branches on existence, applies a
    final configuration update, and deletes the data lake configuration object.
  inputs:
    type: object
    required:
    - region
    properties:
      region:
        type: string
        description: The AWS region whose data lake should be decommissioned.
      configurations:
        type: array
        description: The final configuration update to apply before deletion.
        items:
          type: object
  steps:
  - stepId: listDataLakes
    description: >-
      List the account's data lakes for the target region and capture the data
      lake ARN to act on.
    operationId: ListDataLakes
    parameters:
    - name: regions
      in: query
      value: $inputs.region
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      dataLakeArn: $response.body#/dataLakes/0/dataLakeArn
    onSuccess:
    - name: lakeFound
      type: goto
      stepId: updateDataLake
      criteria:
      - context: $response.body
        condition: $.dataLakes.length > 0
        type: jsonpath
    - name: noLake
      type: end
      criteria:
      - context: $response.body
        condition: $.dataLakes.length == 0
        type: jsonpath
  - stepId: updateDataLake
    description: >-
      Apply a final configuration update to the resolved data lake before it is
      torn down.
    operationId: UpdateDataLake
    parameters:
    - name: dataLakeArn
      in: path
      value: $steps.listDataLakes.outputs.dataLakeArn
    requestBody:
      contentType: application/json
      payload:
        configurations: $inputs.configurations
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      dataLakeArn: $response.body#/dataLakeArn
      status: $response.body#/status
  - stepId: deleteDataLake
    description: >-
      Delete the Amazon Security Lake data lake configuration object for the
      resolved ARN.
    operationId: DeleteDataLake
    parameters:
    - name: dataLakeArn
      in: path
      value: $steps.updateDataLake.outputs.dataLakeArn
    successCriteria:
    - condition: $statusCode == 204
    outputs:
      deletedDataLakeArn: $steps.updateDataLake.outputs.dataLakeArn
  outputs:
    deletedDataLakeArn: $steps.deleteDataLake.outputs.deletedDataLakeArn