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