Oracle Cloud Infrastructure · Arazzo Workflow

Oracle Cloud Provision VCN Network

Version 1.0.0

Create a VCN, poll until available, add an internet gateway, and create a public subnet.

1 workflow 3 source APIs 1 provider
View Spec View on GitHub Cloud ComputingEnterprise CloudInfrastructure-as-a-ServiceOraclePlatform-as-a-ServiceComputeObject StorageIdentity and Access ManagementDatabaseKubernetesServerlessMonitoringEvent-DrivenArazzoWorkflows

Provider

oracle-cloud

Workflows

provision-vcn-network
Create a VCN, wait for AVAILABLE, add an internet gateway, and a subnet.
Creates a VCN, polls getVcn until AVAILABLE, creates an internet gateway, and creates a public subnet within the VCN.
4 steps inputs: compartmentId, dnsLabel, subnetCidrBlock, subnetDisplayName, vcnCidrBlock, vcnDisplayName outputs: internetGatewayId, subnetId, vcnId
1
createVcn
Create a new virtual cloud network with the supplied CIDR block.
2
pollVcn
Poll the VCN until it reports the AVAILABLE lifecycle state.
3
createInternetGateway
Create an enabled internet gateway for the new VCN.
4
createSubnet
Create a public subnet within the VCN.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Oracle Cloud Provision VCN Network
  summary: Create a VCN, poll until available, add an internet gateway, and create a public subnet.
  description: >-
    Stands up a baseline virtual cloud network. The workflow creates a VCN,
    polls the VCN until its lifecycle state is AVAILABLE, attaches an internet
    gateway, and then creates a public subnet inside the VCN. Every step spells
    out its request inline so the network provisioning flow can be read and
    executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: internetGatewaysApi
  url: ../openapi/oracle-cloud-internet-gateways-api-openapi.yml
  type: openapi
- name: subnetsApi
  url: ../openapi/oracle-cloud-subnets-api-openapi.yml
  type: openapi
- name: vcnsApi
  url: ../openapi/oracle-cloud-vcns-api-openapi.yml
  type: openapi
workflows:
- workflowId: provision-vcn-network
  summary: Create a VCN, wait for AVAILABLE, add an internet gateway, and a subnet.
  description: >-
    Creates a VCN, polls getVcn until AVAILABLE, creates an internet gateway,
    and creates a public subnet within the VCN.
  inputs:
    type: object
    required:
    - compartmentId
    - vcnCidrBlock
    - subnetCidrBlock
    properties:
      compartmentId:
        type: string
        description: The OCID of the compartment to provision the network in.
      vcnCidrBlock:
        type: string
        description: The CIDR block for the VCN (e.g. 10.0.0.0/16).
      subnetCidrBlock:
        type: string
        description: The CIDR block for the subnet (e.g. 10.0.0.0/24).
      vcnDisplayName:
        type: string
        description: A user-friendly name for the VCN.
      dnsLabel:
        type: string
        description: A DNS label for the VCN.
      subnetDisplayName:
        type: string
        description: A user-friendly name for the subnet.
  steps:
  - stepId: createVcn
    description: Create a new virtual cloud network with the supplied CIDR block.
    operationId: createVcn
    requestBody:
      contentType: application/json
      payload:
        compartmentId: $inputs.compartmentId
        cidrBlocks:
        - $inputs.vcnCidrBlock
        displayName: $inputs.vcnDisplayName
        dnsLabel: $inputs.dnsLabel
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      vcnId: $response.body#/id
      createState: $response.body#/lifecycleState
  - stepId: pollVcn
    description: Poll the VCN until it reports the AVAILABLE lifecycle state.
    operationId: getVcn
    parameters:
    - name: vcnId
      in: path
      value: $steps.createVcn.outputs.vcnId
    successCriteria:
    - condition: $statusCode == 200
    - context: $response.body
      condition: $.lifecycleState == "AVAILABLE"
      type: jsonpath
    outputs:
      lifecycleState: $response.body#/lifecycleState
  - stepId: createInternetGateway
    description: Create an enabled internet gateway for the new VCN.
    operationId: createInternetGateway
    requestBody:
      contentType: application/json
      payload:
        compartmentId: $inputs.compartmentId
        vcnId: $steps.createVcn.outputs.vcnId
        isEnabled: true
        displayName: $inputs.vcnDisplayName
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      internetGatewayId: $response.body#/id
  - stepId: createSubnet
    description: Create a public subnet within the VCN.
    operationId: createSubnet
    requestBody:
      contentType: application/json
      payload:
        compartmentId: $inputs.compartmentId
        vcnId: $steps.createVcn.outputs.vcnId
        cidrBlock: $inputs.subnetCidrBlock
        displayName: $inputs.subnetDisplayName
        prohibitPublicIpOnVnic: false
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      subnetId: $response.body#/id
  outputs:
    vcnId: $steps.createVcn.outputs.vcnId
    internetGatewayId: $steps.createInternetGateway.outputs.internetGatewayId
    subnetId: $steps.createSubnet.outputs.subnetId

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-cloud-provision-vcn-network-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.