Amazon OpenSearch Service · Arazzo Workflow

Amazon OpenSearch Service Decommission a Domain

Version 1.0.0

Confirm a domain exists, delete it, and poll until the deletion completes.

1 workflow 1 source API 1 provider
View Spec View on GitHub AnalyticsElasticsearchFull-Text SearchLog AnalyticsOpenSearchSearchArazzoWorkflows

Provider

amazon-opensearch-service

Workflows

decommission-domain
Verify, delete, and confirm removal of a domain.
Describes the domain to capture its identity, deletes it, and polls DescribeDomain until the domain reports that deletion is complete.
3 steps inputs: domainName outputs: arn, deleted, domainId
1
confirmDomain
DescribeDomain
Describe the domain to confirm it exists and capture its ARN and id for the deletion audit record.
2
deleteDomain
DeleteDomain
Issue the DeleteDomain request to permanently remove the domain and all of its data.
3
pollDeletion
DescribeDomain
Describe the domain and check whether deletion has completed. While the domain still reports that it is not yet deleted the step loops back to describe it again.

Source API Descriptions

Arazzo Workflow Specification

amazon-opensearch-service-decommission-domain-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Amazon OpenSearch Service Decommission a Domain
  summary: Confirm a domain exists, delete it, and poll until the deletion completes.
  description: >-
    Safely tears down a managed OpenSearch domain. The workflow first describes
    the target domain to confirm it exists and to capture its ARN for the audit
    record, then issues the DeleteDomain request, and finally polls DescribeDomain
    until the service reports the domain as deleted. Each 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: openSearchServiceApi
  url: ../openapi/amazon-opensearch-service-openapi.yml
  type: openapi
workflows:
- workflowId: decommission-domain
  summary: Verify, delete, and confirm removal of a domain.
  description: >-
    Describes the domain to capture its identity, deletes it, and polls
    DescribeDomain until the domain reports that deletion is complete.
  inputs:
    type: object
    required:
    - domainName
    properties:
      domainName:
        type: string
        description: Name of the OpenSearch domain to decommission.
  steps:
  - stepId: confirmDomain
    description: >-
      Describe the domain to confirm it exists and capture its ARN and id for
      the deletion audit record.
    operationId: DescribeDomain
    parameters:
    - name: domainName
      in: path
      value: $inputs.domainName
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      domainId: $response.body#/DomainId
      arn: $response.body#/ARN
  - stepId: deleteDomain
    description: >-
      Issue the DeleteDomain request to permanently remove the domain and all of
      its data.
    operationId: DeleteDomain
    parameters:
    - name: domainName
      in: path
      value: $inputs.domainName
    successCriteria:
    - condition: $statusCode == 200
  - stepId: pollDeletion
    description: >-
      Describe the domain and check whether deletion has completed. While the
      domain still reports that it is not yet deleted the step loops back to
      describe it again.
    operationId: DescribeDomain
    parameters:
    - name: domainName
      in: path
      value: $inputs.domainName
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      deleted: $response.body#/Deleted
    onSuccess:
    - name: deletionComplete
      type: end
      criteria:
      - context: $response.body
        condition: $.Deleted == true
        type: jsonpath
    - name: stillDeleting
      type: goto
      stepId: pollDeletion
      criteria:
      - context: $response.body
        condition: $.Deleted != true
        type: jsonpath
  outputs:
    domainId: $steps.confirmDomain.outputs.domainId
    arn: $steps.confirmDomain.outputs.arn
    deleted: $steps.pollDeletion.outputs.deleted