Cisco Crosswork Cw Vm Mangager API

The CwVmMangager API from Cisco Crosswork — 19 operation(s) for cwvmmangager.

OpenAPI Specification

cisco-crosswork-cwvmmangager-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: api/vm_install_api.proto Cw Vm Mangager API
  version: version not set
  x-provenance:
    method: harvested
    authored_by: Cisco Crosswork
    harvested_by: API Evangelist
    harvested_on: '2026-08-19'
    first_party: true
    note: Published by Cisco. Retrieved unmodified except for this x-provenance block.
    provider_published: true
  x-evidence:
  - type: source
    url: https://github.com/CiscoDevNet/crosswork-openapi-spec/blob/master/NCAHI/4.0APIs/vm_install_api.swagger.json
  - type: raw
    url: https://raw.githubusercontent.com/CiscoDevNet/crosswork-openapi-spec/master/NCAHI/4.0APIs/vm_install_api.swagger.json
tags:
- name: CwVmMangager
paths:
  /v1/node-manager/actions:
    get:
      summary: Get the general Crosswork VMM Actions
      operationId: GetVMMActions
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/install_apiNodeActions'
      tags:
      - CwVmMangager
  /v1/node-manager/all:
    get:
      summary: Get All Data Centre, Cluster and VM info.
      operationId: GetAll
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/install_apiVMMDump'
      tags:
      - CwVmMangager
  /v1/node-manager/clusters:
    get:
      summary: Get map of Clusters configured in Crosswork.
      operationId: GetClusters
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/install_apiClustersResp'
      tags:
      - CwVmMangager
  /v1/node-manager/clusters/{Id}:
    get:
      summary: Get Cluster identified by Id.
      operationId: GetCluster
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/install_apiCwClusterAndActions'
      parameters:
      - name: Id
        description: Id of service or app name or resource as assigned by Crossworks.
        in: path
        required: true
        schema:
          type: string
      tags:
      - CwVmMangager
  /v1/node-manager/dcs:
    get:
      summary: Get map of Data Centres configured in Crosswork.
      operationId: GetDCs
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/install_apiDCsResp'
      tags:
      - CwVmMangager
  /v1/node-manager/dcs/vcentres/{Id}:
    get:
      summary: Get Vcentre Data Centre identified by Id configured in Crosswork.
      operationId: GetVCentre
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/install_apiVCentreDC'
      parameters:
      - name: Id
        description: Id of service or app name or resource as assigned by Crossworks.
        in: path
        required: true
        schema:
          type: string
      tags:
      - CwVmMangager
    patch:
      summary: Patch Vcentre Data Centre data in Crosswork.
      operationId: PatchVCentreDC
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/install_apiOpResult'
      parameters:
      - name: Id
        description: ID as assigned by Crosswork
        in: path
        required: true
        schema:
          type: string
      tags:
      - CwVmMangager
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/install_apiVCentreReq'
        required: true
  /v1/node-manager/inventory/import:
    post:
      summary: Upload a small inventory base64 encoded file only
      operationId: ImportInventory
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/install_apiOpResult'
      tags:
      - CwVmMangager
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/install_apiFiledata'
        required: true
  /v1/node-manager/inventory/sample:
    get:
      summary: Request a sample inventory base64 encoded file.
      operationId: GetSampleInventoryFile
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/install_apiSmallFileChunk'
      tags:
      - CwVmMangager
  /v1/node-manager/inventory/{Id}/export:
    post:
      summary: Export the cluster id inventory as a base64 encoded file.
      operationId: ExportInventory
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/install_apiSmallFileChunk'
      parameters:
      - name: Id
        description: Id of service or app name or resource as assigned by Crossworks.
        in: path
        required: true
        schema:
          type: string
      tags:
      - CwVmMangager
  /v1/node-manager/tasks:
    get:
      summary: Get Network Manager Jobs
      operationId: GetVMMTasks
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/install_apiVMMTaskResults'
      parameters:
      - name: filter.pageSize
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: filter.pageNum
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: filterData.status
        in: query
        required: false
        schema:
          type: string
      - name: filterData.jobType
        in: query
        required: false
        schema:
          type: string
      - name: filterData.jobName
        in: query
        required: false
        schema:
          type: string
      tags:
      - CwVmMangager
  /v1/node-manager/tasks/{jobId}:
    get:
      summary: Get Network Manager Job identified by job_id
      operationId: GetVMMTask
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/install_apiVMMTask'
      parameters:
      - name: jobId
        in: path
        required: true
        schema:
          type: string
      tags:
      - CwVmMangager
  /v1/node-manager/tasks/{jobId}/cancel:
    post:
      summary: Cancel Network Manager Job identified by job_id
      operationId: CancelVMMTask
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/install_apiOpResult'
      parameters:
      - name: jobId
        in: path
        required: true
        schema:
          type: string
      tags:
      - CwVmMangager
  /v1/node-manager/vms:
    get:
      summary: Get map of all VMs configured in Crosswork.
      operationId: GetCwVMs
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/install_apiVMsResp'
      tags:
      - CwVmMangager
  /v1/node-manager/vms/add:
    post:
      summary: Add Cw VM in Crosswork. Returned OpResult Id identifies the assigned VM id
      operationId: AddCwVM
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/install_apiOpResult'
      tags:
      - CwVmMangager
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/install_apiCwVM'
        required: true
  /v1/node-manager/vms/{Id}:
    get:
      summary: Get Cw VM identified by Id
      operationId: GetCwVM
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/install_apiCwVM'
      parameters:
      - name: Id
        description: Id of service or app name or resource as assigned by Crossworks.
        in: path
        required: true
        schema:
          type: string
      tags:
      - CwVmMangager
    delete:
      summary: Delete the VM identified by Id from the inventory.
      operationId: DeleteVm
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/install_apiOpResult'
      parameters:
      - name: Id
        description: Id of service or app name or resource as assigned by Crossworks.
        in: path
        required: true
        schema:
          type: string
      tags:
      - CwVmMangager
    patch:
      summary: Patch Cw VM identified by id
      operationId: PatchVm
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/install_apiOpResult'
      parameters:
      - name: Id
        description: Cluster Identifier as assigned by Crosswork
        in: path
        required: true
        schema:
          type: string
      tags:
      - CwVmMangager
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/install_apiCwVM'
        required: true
  /v1/node-manager/vms/{Id}/actions:
    get:
      summary: Get the Actions allowed for the VM
      operationId: GetVMActions
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/install_apiNodeActions'
      parameters:
      - name: Id
        description: Id of service or app name or resource as assigned by Crossworks.
        in: path
        required: true
        schema:
          type: string
      tags:
      - CwVmMangager
  /v1/node-manager/vms/{Id}/deploy:
    post:
      summary: Apply the configuration of the Cw VM identified. Returned Id identifes the install job/task
      operationId: ApplyVM
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/install_apiOpResult'
      parameters:
      - name: Id
        description: Id of service or app name or resource as assigned by Crossworks.
        in: path
        required: true
        schema:
          type: string
      tags:
      - CwVmMangager
  /v1/node-manager/vms/{Id}/erase:
    delete:
      summary: Initiate task to destroy and delete the VM identified by Id from the inventory.
      operationId: DestroyVm
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/install_apiOpResult'
      parameters:
      - name: Id
        description: Id of service or app name or resource as assigned by Crossworks.
        in: path
        required: true
        schema:
          type: string
      tags:
      - CwVmMangager
  /v1/node-manager/vms/{Id}/remove:
    post:
      summary: Drain and remove from the cluster the VM identified by its *Management IP address*.
      operationId: DrainRemoveVM
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/install_apiOpResult'
      parameters:
      - name: Id
        description: Id of service or app name or resource as assigned by Crossworks.
        in: path
        required: true
        schema:
          type: string
      tags:
      - CwVmMangager
components:
  schemas:
    install_apiCwCluster:
      type: object
      properties:
        Cw_VM_Image:
          type: string
          title: Target Cw cluster image
        ClusterIPStack:
          type: string
          description: Cluster IP Stack Type; IPv4 or IPv6.
        ManagementVIP:
          type: string
          title: Cluster Management Virtual IPv4 address
        ManagementIPNetmask:
          type: string
          title: Cluster Management netmask in dotted decimal
        ManagementIPGateway:
          type: string
          title: Cluster Management default gateway
        DataVIP:
          type: string
          title: Cluster Data Virtual IPv4 address
        DataIPNetmask:
          type: string
          title: Cluster Data netmask in dotted decimal
        DataIPGateway:
          type: string
          title: Cluster Data default gateway
        DNS:
          type: string
          title: DNS server address
        DomainName:
          type: string
          title: DNS Domain Name used by the cluster
        CWPassword:
          type: string
          title: Cluster VMs password
        VMSize:
          type: string
          title: Cluster VMs size profile (Small, Medium or Large)
        NTP:
          type: string
          title: NTP Server address
        ClusterHostName:
          type: string
          title: Virtual Host name for the cluster
        ClusterName:
          type: string
          title: The name/id of the cluster and DC
        ClusterVMs:
          type: array
          items:
            type: string
          title: List of VMs in the cluster
        SchemaVersion:
          type: string
          title: The configuration schema version
    install_apiVMMTaskTypes:
      type: string
      enum:
      - None
      - Deploy
      - Erase
      - Refresh
      - Plan
      - Add
      - Update
      - Delete
      - DrainRemove
      default: None
    install_apiVMResource:
      type: object
      properties:
        Host:
          type: string
          title: Virtualization host name
        Datastore:
          type: string
          title: Datastore name
        HSDatastore:
          type: string
          title: High Speed Datastore name
        HostedCwVMs:
          type: array
          items:
            type: string
          title: List of Cw VMs on this DC
    install_apiDCsResp:
      type: object
      properties:
        VCentres:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/install_apiVCentreDC'
          description: Map is keyed by VCentre id.
    install_apiVMMDump:
      type: object
      properties:
        VCentres:
          $ref: '#/components/schemas/install_apiDCsResp'
        CwClusters:
          $ref: '#/components/schemas/install_apiClustersResp'
        CwVMs:
          $ref: '#/components/schemas/install_apiVMsResp'
    install_apiCwClusterAndActions:
      type: object
      properties:
        CwCluster:
          $ref: '#/components/schemas/install_apiCwCluster'
        ClusterActions:
          $ref: '#/components/schemas/install_apiNodeActions'
    install_apiVMsResp:
      type: object
      properties:
        CwVMs:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/install_apiCwVM'
          description: Map is keyed by VM Crosswork assigned id.
    CwVMDataCentre:
      type: object
      properties:
        DataCentre_Id:
          type: string
          title: The VM's DataCentre ID
        Host:
          type: string
          title: Virtualization host name
        Datastore:
          type: string
          title: Datastore name
        HSDatastore:
          type: string
          title: High Speed Datastore name
    install_apiVMMTaskResults:
      type: object
      properties:
        NmTasks:
          type: array
          items:
            $ref: '#/components/schemas/install_apiVMMTask'
    install_apiVCentreDC:
      type: object
      properties:
        DCname:
          type: string
          title: The vCentre DC Name, used as DC id
        VCentreAddress:
          type: string
          title: The vCentre address
        VCentreUser:
          type: string
          title: The vCentre username
        VCentrePassword:
          type: string
          title: The vCentre password
        MgmtNetworkName:
          type: string
          title: The name of the network in vCentre to be used as the Cw VM Management network
        DataNetworkName:
          type: string
          title: The name of the network in vCentre to be used as the Cw VM Data network
        DCfolder:
          type: string
          title: The folder on the vCentre
        VMs:
          type: array
          items:
            $ref: '#/components/schemas/install_apiVMResource'
    install_apiClustersResp:
      type: object
      properties:
        CwClusterAndActions:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/install_apiCwClusterAndActions'
          description: Map is keyed by cluster id.
    install_apiFiledata:
      type: object
      properties:
        name:
          type: string
        size:
          type: string
          format: int64
        type:
          type: string
        content:
          type: string
          format: byte
    install_apiNodeActions:
      type: object
      properties:
        Actions:
          type: object
          additionalProperties:
            type: boolean
            format: boolean
      title: Node Actions
    install_apiCwVM:
      type: object
      properties:
        ManagementIPAddress:
          type: string
          title: The VM's management IP address
        DataIPAddress:
          type: string
          title: The VM's data IP address
        NodeType:
          type: string
          title: The Cw VM Node type. One of Management, Worker, Hybrid
        VMName:
          type: string
          title: The VM Name
        CwImage:
          type: string
          title: The VM Image
        Cluster_Id:
          type: string
          title: The VM's Cluster ID
        HostDataCentre:
          $ref: '#/components/schemas/CwVMDataCentre'
        Op_Status:
          $ref: '#/components/schemas/install_apiCwVmState'
          title: Operational Status - ignored in requests
        VmSize:
          type: string
          title: VM Size
    install_apiOpResult:
      type: object
      properties:
        Result:
          $ref: '#/components/schemas/install_apiResultValue'
          description: ResultValue indicates the success/failure for the requested operation.
        Description:
          type: string
          title: Addional response information
        ResultMap:
          type: object
          additionalProperties:
            type: string
          title: 'Supplementary keyed response info for the operation (for example: version number, error message)'
        ResultString:
          type: array
          items:
            type: string
          title: Simple result string
        Id:
          type: string
          title: Resource Identifier returned by operation, if any
      description: 'OpResult is used to indicate whether an operation has been accepted or not. A string or map payload provides the additional response information (for example: version number, error data).'
    install_apiCwVmState:
      type: string
      enum:
      - Initializing
      - Down
      - Running
      - Degraded
      - Erased
      - Failed
      - Suspended
      - Configuring
      - Erasing
      default: Initializing
      title: "- Initializing: Defines unknown/initialized state.\n - Down: When the VM is non-functional.\n - Running: When the VM is completely functional.\n - Degraded: When the VM is running but suspected not to be completely functional.\n - Erased: When the VM is erased but still in the inventory.\n - Failed: When some unrecoverable error happened\n - Suspended: When the VM is suspended\n - Configuring: When the VM is being configured\n - Erasing: When the VM is being destroyed/erased"
    install_apiVCentreReq:
      type: object
      properties:
        Id:
          type: string
          title: ID as assigned by Crosswork
        VCentreUser:
          type: string
          title: The vCentre username
        VCentrePassword:
          type: string
          title: The vCentre password
        VCentreAddress:
          type: string
          title: The vCentre address
        DCfolder:
          type: string
          title: The folder on the vCentre
    install_apiOpStatus:
      type: string
      enum:
      - CANCELLED
      - FAILED
      - SUCCESSFUL
      - QUEUED
      - RUNNING
      - IDLE
      default: CANCELLED
    install_apiSmallFileChunk:
      type: object
      properties:
        filedata:
          $ref: '#/components/schemas/install_apiFiledata'
    install_apiResultValue:
      type: string
      enum:
      - NOOP
      - SUCCESS
      - FAILURE
      default: NOOP
    install_apiVMMTask:
      type: object
      properties:
        NmTaskId:
          type: string
        NmTaskType:
          $ref: '#/components/schemas/install_apiVMMTaskTypes'
        CwVMs:
          type: array
          items:
            type: string
        TimeInitiated:
          type: string
        TimeCompleted:
          type: string
        Status:
          $ref: '#/components/schemas/install_apiOpStatus'
        Username:
          type: string
        InstallerVersion:
          type: string
        RunOpts:
          type: object
          additionalProperties:
            type: string
        Output:
          type: string
        Error:
          type: string
        ClusterId:
          type: string
        DcId:
          type: string
        ManifestFile:
          type: string