Oracle · Arazzo Workflow

Oracle OCI Terminate Compute Instance Safely

Version 1.0.0

Read an instance and its volume attachments, then terminate it while preserving the boot volume.

1 workflow 1 source API 1 provider
View Spec View on GitHub CloudDatabaseEnterpriseInfrastructureSoftware-as-a-ServiceFortune 100ArazzoWorkflows

Provider

oracle

Workflows

terminate-instance-safely
Terminate a compute instance while preserving its boot volume.
Reads the instance, enumerates its volume attachments for the record, then terminates the instance with preserveBootVolume set to true.
3 steps inputs: authToken, compartmentId, instanceId outputs: instanceId, preservedVolumeId, requestId
1
readInstance
Read the instance to confirm it exists and capture its ETag for optimistic concurrency control on the terminate call.
2
listVolumes
List the volume attachments in the compartment filtered to this instance so the attached block volumes are recorded before termination.
3
terminateInstance
Terminate the instance, preserving the boot volume, guarded by the ETag captured when reading the instance.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Oracle OCI Terminate Compute Instance Safely
  summary: Read an instance and its volume attachments, then terminate it while preserving the boot volume.
  description: >-
    Tears down a compute instance after taking stock of what is attached to it.
    The workflow reads the instance to capture its ETag, lists the volume
    attachments so the caller has a record of the block volumes that were bound
    to it, and then terminates the instance with the boot volume preserved and
    the ETag enforced for optimistic concurrency. 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
  x-realizes-capability-ids:
  - BC-600.50
  x-capability-derivation:
    method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
    min_confidence: 0.7
    sources:
    - capability_id: BC-600.50
      capability_name: IT Infrastructure Management
      spec: oracle-compute-api-openapi.yml
      confidence: 0.9
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: computeApi
  url: ../openapi/oracle-compute-api-openapi.yml
  type: openapi
workflows:
- workflowId: terminate-instance-safely
  summary: Terminate a compute instance while preserving its boot volume.
  description: >-
    Reads the instance, enumerates its volume attachments for the record, then
    terminates the instance with preserveBootVolume set to true.
  inputs:
    type: object
    required:
    - compartmentId
    - instanceId
    properties:
      compartmentId:
        type: string
        description: The OCID of the compartment containing the instance.
      instanceId:
        type: string
        description: The OCID of the instance to terminate.
      authToken:
        type: string
        description: OCI request-signing bearer credential for the Authorization header.
  steps:
  - stepId: readInstance
    description: >-
      Read the instance to confirm it exists and capture its ETag for optimistic
      concurrency control on the terminate call.
    operationId: GetInstance
    parameters:
    - name: instanceId
      in: path
      value: $inputs.instanceId
    - name: Authorization
      in: header
      value: $inputs.authToken
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      etag: $response.headers.etag
      displayName: $response.body#/displayName
  - stepId: listVolumes
    description: >-
      List the volume attachments in the compartment filtered to this instance
      so the attached block volumes are recorded before termination.
    operationId: ListVolumeAttachments
    parameters:
    - name: compartmentId
      in: query
      value: $inputs.compartmentId
    - name: instanceId
      in: query
      value: $inputs.instanceId
    - name: Authorization
      in: header
      value: $inputs.authToken
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      firstVolumeId: $response.body#/0/volumeId
  - stepId: terminateInstance
    description: >-
      Terminate the instance, preserving the boot volume, guarded by the ETag
      captured when reading the instance.
    operationId: TerminateInstance
    parameters:
    - name: instanceId
      in: path
      value: $inputs.instanceId
    - name: preserveBootVolume
      in: query
      value: true
    - name: if-match
      in: header
      value: $steps.readInstance.outputs.etag
    - name: Authorization
      in: header
      value: $inputs.authToken
    successCriteria:
    - condition: $statusCode == 204
    outputs:
      requestId: $response.headers.opc-request-id
  outputs:
    instanceId: $inputs.instanceId
    preservedVolumeId: $steps.listVolumes.outputs.firstVolumeId
    requestId: $steps.terminateInstance.outputs.requestId

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/oracle-terminate-instance-safely-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.