Amazon OpenSearch Service · Arazzo Workflow

Amazon OpenSearch Service Audit Domain Fleet Readiness

Version 1.0.0

Enumerate domains, bulk-describe them, and drill into a single target domain's status.

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

Provider

amazon-opensearch-service

Workflows

audit-domain-readiness
List, bulk-describe, and verify one domain's readiness.
Lists all domains, bulk-describes them for a fleet snapshot, then describes a single target domain and branches on whether it is fully ready.
3 steps inputs: domainNames, targetDomainName outputs: domainNames, domainStatusList, targetEndpoint, targetEngineVersion
1
listDomains
ListDomainNames
List the names of all OpenSearch domains owned by the current account.
2
snapshotFleet
DescribeDomains
Bulk-describe the discovered or supplied set of domains to capture a single fleet-wide configuration snapshot.
3
verifyTarget
DescribeDomain
Describe the specific target domain and branch on whether it has finished provisioning with a published endpoint.

Source API Descriptions

Arazzo Workflow Specification

amazon-opensearch-service-audit-domain-readiness-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Amazon OpenSearch Service Audit Domain Fleet Readiness
  summary: Enumerate domains, bulk-describe them, and drill into a single target domain's status.
  description: >-
    Produces a readiness audit across the account's OpenSearch domains. The
    workflow lists every domain name, bulk-describes the full set to capture
    engine versions and endpoints, and then drills into one specific target
    domain to confirm it has finished provisioning and published an endpoint.
    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: audit-domain-readiness
  summary: List, bulk-describe, and verify one domain's readiness.
  description: >-
    Lists all domains, bulk-describes them for a fleet snapshot, then describes a
    single target domain and branches on whether it is fully ready.
  inputs:
    type: object
    required:
    - targetDomainName
    properties:
      targetDomainName:
        type: string
        description: The specific domain to verify readiness for after the fleet snapshot.
      domainNames:
        type: array
        description: >-
          Optional explicit list of domain names for the bulk describe. When
          omitted the names discovered by ListDomainNames are used.
        items:
          type: string
  steps:
  - stepId: listDomains
    description: >-
      List the names of all OpenSearch domains owned by the current account.
    operationId: ListDomainNames
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      domainNames: $response.body#/DomainNames
  - stepId: snapshotFleet
    description: >-
      Bulk-describe the discovered or supplied set of domains to capture a
      single fleet-wide configuration snapshot.
    operationId: DescribeDomains
    requestBody:
      contentType: application/json
      payload:
        DomainNames: $inputs.domainNames
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      domainStatusList: $response.body#/DomainStatusList
  - stepId: verifyTarget
    description: >-
      Describe the specific target domain and branch on whether it has finished
      provisioning with a published endpoint.
    operationId: DescribeDomain
    parameters:
    - name: domainName
      in: path
      value: $inputs.targetDomainName
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      created: $response.body#/Created
      endpoint: $response.body#/Endpoint
      engineVersion: $response.body#/EngineVersion
    onSuccess:
    - name: targetReady
      type: end
      criteria:
      - context: $response.body
        condition: $.Created == true && $.Endpoint != null
        type: jsonpath
    - name: targetNotReady
      type: goto
      stepId: verifyTarget
      criteria:
      - context: $response.body
        condition: $.Endpoint == null
        type: jsonpath
  outputs:
    domainNames: $steps.listDomains.outputs.domainNames
    domainStatusList: $steps.snapshotFleet.outputs.domainStatusList
    targetEndpoint: $steps.verifyTarget.outputs.endpoint
    targetEngineVersion: $steps.verifyTarget.outputs.engineVersion