Amazon Neptune · Arazzo Workflow

Amazon Neptune Analytics Reset Graph

Version 1.0.0

Empty a Neptune Analytics graph of all data, then wait until it is AVAILABLE again.

1 workflow 1 source API 1 provider
View Spec View on GitHub DatabaseGraph DatabaseGremlinNeptuneProperty GraphRDFSPARQLArazzoWorkflows

Provider

amazon-neptune

Workflows

analytics-reset-graph
Reset a graph's data and poll until it is AVAILABLE again.
Confirms the graph is available, resets all data, then polls until the graph returns to AVAILABLE.
3 steps inputs: graphIdentifier outputs: graphIdentifier, status
1
confirmGraph
getGraph
Confirm the graph exists and capture its current status before resetting.
2
resetGraph
resetGraph
Empty all data from the graph. performCleanData must be true to confirm the destructive reset.
3
pollGraph
getGraph
Poll the graph. Retry while the status is RESETTING and finish once it returns to AVAILABLE.

Source API Descriptions

Arazzo Workflow Specification

amazon-neptune-analytics-reset-graph-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Amazon Neptune Analytics Reset Graph
  summary: Empty a Neptune Analytics graph of all data, then wait until it is AVAILABLE again.
  description: >-
    A fast-reset workflow for Neptune Analytics that removes all nodes and edges
    while keeping the graph resource and its configuration. The workflow confirms
    the graph exists and is AVAILABLE, issues the reset with the required
    performCleanData confirmation, and polls the graph until it returns to the
    AVAILABLE status after the RESETTING state. The poll loop uses a retry delay.
    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: neptuneAnalyticsApi
  url: ../openapi/amazon-neptune-analytics-openapi.yml
  type: openapi
workflows:
- workflowId: analytics-reset-graph
  summary: Reset a graph's data and poll until it is AVAILABLE again.
  description: >-
    Confirms the graph is available, resets all data, then polls until the graph
    returns to AVAILABLE.
  inputs:
    type: object
    required:
    - graphIdentifier
    properties:
      graphIdentifier:
        type: string
        description: The unique identifier of the graph to reset.
  steps:
  - stepId: confirmGraph
    description: >-
      Confirm the graph exists and capture its current status before resetting.
    operationId: getGraph
    parameters:
    - name: graphIdentifier
      in: path
      value: $inputs.graphIdentifier
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      currentStatus: $response.body#/status
  - stepId: resetGraph
    description: >-
      Empty all data from the graph. performCleanData must be true to confirm
      the destructive reset.
    operationId: resetGraph
    parameters:
    - name: graphIdentifier
      in: path
      value: $inputs.graphIdentifier
    requestBody:
      contentType: application/json
      payload:
        performCleanData: true
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      resetStatus: $response.body#/status
  - stepId: pollGraph
    description: >-
      Poll the graph. Retry while the status is RESETTING and finish once it
      returns to AVAILABLE.
    operationId: getGraph
    parameters:
    - name: graphIdentifier
      in: path
      value: $inputs.graphIdentifier
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      status: $response.body#/status
    onSuccess:
    - name: resetInProgress
      type: retry
      retryAfter: 20
      retryLimit: 60
      criteria:
      - context: $response.body
        condition: $.status == "RESETTING"
        type: jsonpath
    - name: resetDone
      type: end
      criteria:
      - context: $response.body
        condition: $.status == "AVAILABLE"
        type: jsonpath
  outputs:
    graphIdentifier: $inputs.graphIdentifier
    status: $steps.pollGraph.outputs.status