Amazon DocumentDB · Arazzo Workflow

Amazon DocumentDB Bootstrap Cluster with Primary Instance

Version 1.0.0

Create a cluster, wait until available, then add and await a primary instance.

1 workflow 3 source APIs 1 provider
View Spec View on GitHub Amazon Web ServicesDatabaseDocument DatabaseDocumentDBManaged DatabaseMongoDBNoSQLArazzoWorkflows

Provider

amazon-documentdb

Workflows

bootstrap-cluster-with-instance
Provision a cluster and its first instance end to end.
Creates a cluster, waits for it to become available, then creates a primary instance inside it and waits for that instance to become available.
4 steps inputs: DBClusterIdentifier, DBInstanceClass, DBInstanceIdentifier, Engine, MasterUserPassword, MasterUsername outputs: DBClusterIdentifier, DBInstanceIdentifier, clusterStatus, instanceStatus
1
createCluster
Create the DB cluster with the supplied identifier and master credentials.
2
pollCluster
Poll the cluster status, looping back here until the cluster reports available before any instance is created.
3
createInstance
Create the primary instance inside the now-available cluster.
4
pollInstance
Poll the instance status, looping back here until the instance reports available.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Amazon DocumentDB Bootstrap Cluster with Primary Instance
  summary: Create a cluster, wait until available, then add and await a primary instance.
  description: >-
    Stands up a usable Amazon DocumentDB deployment from nothing by chaining the
    four real provisioning operations: create the cluster, poll until the
    cluster is available, create a primary instance inside it, and poll until the
    instance is available. The workflow uses the AWS query protocol, supplying
    the Action and Version in the query string and the resource parameters as a
    form-urlencoded request body, and spells out each request inline so the flow
    can be read and executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: amazonDocumentdbApiApi
  url: ../openapi/amazon-documentdb-amazon-documentdb-api-api-openapi.yml
  type: openapi
- name: createdbinstanceApi
  url: ../openapi/amazon-documentdb-createdbinstance-api-openapi.yml
  type: openapi
- name: describedbinstancesApi
  url: ../openapi/amazon-documentdb-describedbinstances-api-openapi.yml
  type: openapi
workflows:
- workflowId: bootstrap-cluster-with-instance
  summary: Provision a cluster and its first instance end to end.
  description: >-
    Creates a cluster, waits for it to become available, then creates a primary
    instance inside it and waits for that instance to become available.
  inputs:
    type: object
    required:
    - DBClusterIdentifier
    - MasterUsername
    - MasterUserPassword
    - DBInstanceIdentifier
    - DBInstanceClass
    properties:
      DBClusterIdentifier:
        type: string
        description: The identifier to assign to the new DB cluster.
      MasterUsername:
        type: string
        description: The master user name for the cluster.
      MasterUserPassword:
        type: string
        description: The master user password for the cluster.
      DBInstanceIdentifier:
        type: string
        description: The identifier to assign to the new primary instance.
      DBInstanceClass:
        type: string
        description: The compute and memory capacity of the instance.
      Engine:
        type: string
        description: The database engine for the cluster and instance.
        default: docdb
  steps:
  - stepId: createCluster
    description: Create the DB cluster with the supplied identifier and master credentials.
    operationId: createDBCluster
    parameters:
    - name: Action
      in: query
      value: CreateDBCluster
    - name: Version
      in: query
      value: '2014-10-31'
    requestBody:
      contentType: application/x-www-form-urlencoded
      payload:
        DBClusterIdentifier: $inputs.DBClusterIdentifier
        Engine: $inputs.Engine
        MasterUsername: $inputs.MasterUsername
        MasterUserPassword: $inputs.MasterUserPassword
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      createdCluster: $response.body#/DBCluster
  - stepId: pollCluster
    description: >-
      Poll the cluster status, looping back here until the cluster reports
      available before any instance is created.
    operationId: describeDBClusters
    parameters:
    - name: Action
      in: query
      value: DescribeDBClusters
    - name: Version
      in: query
      value: '2014-10-31'
    - name: DBClusterIdentifier
      in: query
      value: $inputs.DBClusterIdentifier
    - name: MaxRecords
      in: query
      value: 1
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      clusterStatus: $response.body#/DBClusters/0/Status
    onSuccess:
    - name: clusterReady
      type: goto
      stepId: createInstance
      criteria:
      - context: $response.body
        condition: $.DBClusters[0].Status == "available"
        type: jsonpath
    - name: clusterCreating
      type: goto
      stepId: pollCluster
      criteria:
      - context: $response.body
        condition: $.DBClusters[0].Status != "available"
        type: jsonpath
  - stepId: createInstance
    description: Create the primary instance inside the now-available cluster.
    operationId: createDBInstance
    parameters:
    - name: Action
      in: query
      value: CreateDBInstance
    - name: Version
      in: query
      value: '2014-10-31'
    requestBody:
      contentType: application/x-www-form-urlencoded
      payload:
        DBInstanceIdentifier: $inputs.DBInstanceIdentifier
        DBInstanceClass: $inputs.DBInstanceClass
        Engine: $inputs.Engine
        DBClusterIdentifier: $inputs.DBClusterIdentifier
    successCriteria:
    - condition: $statusCode == 200
  - stepId: pollInstance
    description: >-
      Poll the instance status, looping back here until the instance reports
      available.
    operationId: describeDBInstances
    parameters:
    - name: Action
      in: query
      value: DescribeDBInstances
    - name: Version
      in: query
      value: '2014-10-31'
    - name: DBInstanceIdentifier
      in: query
      value: $inputs.DBInstanceIdentifier
    - name: MaxRecords
      in: query
      value: 1
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      instanceStatus: $response.body#/DBInstances/0/DBInstanceStatus
    onSuccess:
    - name: instanceAvailable
      type: end
      criteria:
      - context: $response.body
        condition: $.DBInstances[0].DBInstanceStatus == "available"
        type: jsonpath
    - name: instanceCreating
      type: goto
      stepId: pollInstance
      criteria:
      - context: $response.body
        condition: $.DBInstances[0].DBInstanceStatus != "available"
        type: jsonpath
  outputs:
    DBClusterIdentifier: $inputs.DBClusterIdentifier
    DBInstanceIdentifier: $inputs.DBInstanceIdentifier
    clusterStatus: $steps.pollCluster.outputs.clusterStatus
    instanceStatus: $steps.pollInstance.outputs.instanceStatus

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/amazon-documentdb-bootstrap-cluster-with-instance-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.