Databricks · Arazzo Workflow

Databricks Provision Cluster and Wait Until Running

Version 1.0.0

Create a Spark cluster and poll its state until it reaches RUNNING.

1 workflow 1 source API 1 provider
View Spec View on GitHub Artificial IntelligenceAnalyticsApache SparkBig DataCleanroomsCloud ComputingDataData AnalyticsData EngineeringData GovernanceDelta LakeDelta SharingETLIdentity ManagementLakehouseMachine-LearningMLflowModel ServingSecuritySQLUnity CatalogVector SearchVisualizeArazzoWorkflows

Provider

databricks

Workflows

provision-cluster
Create a cluster and wait until it is RUNNING.
Submits a cluster creation request and then repeatedly reads the cluster status until the life cycle state becomes RUNNING, branching back to the poll step while the cluster is still PENDING.
2 steps inputs: autotermination_minutes, cluster_name, node_type_id, num_workers, spark_version outputs: clusterId, finalState
1
createCluster
Create the Spark cluster. The response returns the cluster_id used to poll for readiness; creation itself is asynchronous.
2
pollClusterState
Read the cluster details and inspect the life cycle state. Loop back while the cluster is still PENDING; finish once it is RUNNING.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Databricks Provision Cluster and Wait Until Running
  summary: Create a Spark cluster and poll its state until it reaches RUNNING.
  description: >-
    Provisions a new Databricks Spark cluster from a supplied configuration and
    then polls the cluster details endpoint until the asynchronously created
    cluster transitions out of PENDING into the RUNNING state. Cluster creation
    is asynchronous, so the cluster_id returned by the create call is reused to
    drive the poll loop. 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: databricks-clusters-api-openapi.yml
      confidence: 0.75
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: clustersApi
  url: ../openapi/databricks-clusters-api-openapi.yml
  type: openapi
workflows:
- workflowId: provision-cluster
  summary: Create a cluster and wait until it is RUNNING.
  description: >-
    Submits a cluster creation request and then repeatedly reads the cluster
    status until the life cycle state becomes RUNNING, branching back to the
    poll step while the cluster is still PENDING.
  inputs:
    type: object
    required:
    - cluster_name
    - spark_version
    - node_type_id
    - num_workers
    properties:
      cluster_name:
        type: string
        description: Human-readable name for the new cluster.
      spark_version:
        type: string
        description: The Spark runtime version (e.g. a Databricks Runtime key).
      node_type_id:
        type: string
        description: The node type for worker and driver nodes.
      num_workers:
        type: integer
        description: The number of worker nodes for the cluster.
      autotermination_minutes:
        type: integer
        description: Idle minutes before the cluster auto-terminates.
  steps:
  - stepId: createCluster
    description: >-
      Create the Spark cluster. The response returns the cluster_id used to
      poll for readiness; creation itself is asynchronous.
    operationId: createCluster
    requestBody:
      contentType: application/json
      payload:
        cluster_name: $inputs.cluster_name
        spark_version: $inputs.spark_version
        node_type_id: $inputs.node_type_id
        num_workers: $inputs.num_workers
        autotermination_minutes: $inputs.autotermination_minutes
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      clusterId: $response.body#/cluster_id
  - stepId: pollClusterState
    description: >-
      Read the cluster details and inspect the life cycle state. Loop back
      while the cluster is still PENDING; finish once it is RUNNING.
    operationId: getCluster
    parameters:
    - name: cluster_id
      in: query
      value: $steps.createCluster.outputs.clusterId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      state: $response.body#/state
      stateMessage: $response.body#/state_message
    onSuccess:
    - name: stillPending
      type: goto
      stepId: pollClusterState
      criteria:
      - context: $response.body
        condition: $.state == "PENDING"
        type: jsonpath
    - name: clusterRunning
      type: end
      criteria:
      - context: $response.body
        condition: $.state == "RUNNING"
        type: jsonpath
  outputs:
    clusterId: $steps.createCluster.outputs.clusterId
    finalState: $steps.pollClusterState.outputs.state

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/databricks-provision-cluster-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.