VMware · Capability

VMware vSphere Automation REST API

RESTful API for managing VMware vSphere virtualization platform resources including virtual machines, hosts, datastores, clusters, networks, and related infrastructure. The vSphere Automation API provides modern REST endpoints for vCenter Server operations using JSON payloads and session-based or OAuth authentication. This API supersedes the legacy SOAP-based vSphere Web Services API for most automation use cases.

Run with Naftiko VmwareAPI

What You Can Do

POST
Createsession — Vmware Create a New Authentication Session
/session
DELETE
Deletesession — Vmware Terminate the Current Session
/session
GET
Getsessioninfo — Vmware Get Current Session Information
/session
GET
Listvms — Vmware List Virtual Machines
/vcenter/vm
POST
Createvm — Vmware Create a New Virtual Machine
/vcenter/vm
GET
Getvm — Vmware Get Virtual Machine Details
/vcenter/vm/{vm}
DELETE
Deletevm — Vmware Delete a Virtual Machine
/vcenter/vm/{vm}
GET
Getvmpowerstate — Vmware Get Vm Power State
/vcenter/vm/{vm}/power
POST
Poweronvm — Vmware Power on a Virtual Machine
/vcenter/vm/{vm}/power?action=start
POST
Poweroffvm — Vmware Power Off a Virtual Machine
/vcenter/vm/{vm}/power?action=stop
POST
Suspendvm — Vmware Suspend a Virtual Machine
/vcenter/vm/{vm}/power?action=suspend
POST
Resetvm — Vmware Reset a Virtual Machine
/vcenter/vm/{vm}/power?action=reset
GET
Getvmhardware — Vmware Get Vm Hardware Configuration
/vcenter/vm/{vm}/hardware
PATCH
Updatevmhardware — Vmware Update Vm Hardware Configuration
/vcenter/vm/{vm}/hardware
GET
Getvmcpu — Vmware Get Vm Cpu Configuration
/vcenter/vm/{vm}/hardware/cpu
PATCH
Updatevmcpu — Vmware Update Vm Cpu Configuration
/vcenter/vm/{vm}/hardware/cpu
GET
Getvmmemory — Vmware Get Vm Memory Configuration
/vcenter/vm/{vm}/hardware/memory
PATCH
Updatevmmemory — Vmware Update Vm Memory Configuration
/vcenter/vm/{vm}/hardware/memory
GET
Listvmdisks — Vmware List Vm Virtual Disks
/vcenter/vm/{vm}/hardware/disk
POST
Createvmdisk — Vmware Add a Virtual Disk to a Vm
/vcenter/vm/{vm}/hardware/disk
GET
Listvmethernet — Vmware List Vm Network Adapters
/vcenter/vm/{vm}/hardware/ethernet
POST
Createvmethernet — Vmware Add a Network Adapter to a Vm
/vcenter/vm/{vm}/hardware/ethernet
GET
Getvmguestidentity — Vmware Get Guest Os Identity
/vcenter/vm/{vm}/guest/identity
GET
Getvmguestnetworking — Vmware Get Guest Networking Information
/vcenter/vm/{vm}/guest/networking
GET
Listhosts — Vmware List Esxi Hosts
/vcenter/host
GET
Gethost — Vmware Get Esxi Host Details
/vcenter/host/{host}
POST
Connecthost — Vmware Connect an Esxi Host
/vcenter/host/{host}/connect
POST
Disconnecthost — Vmware Disconnect an Esxi Host
/vcenter/host/{host}/disconnect
GET
Listdatastores — Vmware List Datastores
/vcenter/datastore
GET
Getdatastore — Vmware Get Datastore Details
/vcenter/datastore/{datastore}
GET
Listclusters — Vmware List Clusters
/vcenter/cluster
GET
Getcluster — Vmware Get Cluster Details
/vcenter/cluster/{cluster}
GET
Listnetworks — Vmware List Networks
/vcenter/network
GET
Listdatacenters — Vmware List Datacenters
/vcenter/datacenter
POST
Createdatacenter — Vmware Create a Datacenter
/vcenter/datacenter
GET
Getdatacenter — Vmware Get Datacenter Details
/vcenter/datacenter/{datacenter}
DELETE
Deletedatacenter — Vmware Delete a Datacenter
/vcenter/datacenter/{datacenter}
GET
Listfolders — Vmware List Folders
/vcenter/folder
GET
Listresourcepools — Vmware List Resource Pools
/vcenter/resource-pool
GET
Listcontentlibraries — Vmware List Content Libraries
/content/library
POST
Createcontentlibrary — Vmware Create a Content Library
/content/library
GET
Getcontentlibrary — Vmware Get Content Library Details
/content/library/{library_id}
DELETE
Deletecontentlibrary — Vmware Delete a Content Library
/content/library/{library_id}
GET
Liststoragepolicies — Vmware List Storage Policies
/vcenter/storage/policies
GET
Listtagcategories — Vmware List Tag Categories
/cis/tagging/category
POST
Createtagcategory — Vmware Create a Tag Category
/cis/tagging/category
GET
Listtags — Vmware List Tags
/cis/tagging/tag
POST
Createtag — Vmware Create a Tag
/cis/tagging/tag
POST
Attachtag — Vmware Attach a Tag to an Object
/cis/tagging/tag-association?action=attach

MCP Tools

createsession

Vmware Create a New Authentication Session

deletesession

Vmware Terminate the Current Session

idempotent
getsessioninfo

Vmware Get Current Session Information

read-only idempotent
listvms

Vmware List Virtual Machines

read-only idempotent
createvm

Vmware Create a New Virtual Machine

getvm

Vmware Get Virtual Machine Details

read-only idempotent
deletevm

Vmware Delete a Virtual Machine

idempotent
getvmpowerstate

Vmware Get Vm Power State

read-only idempotent
poweronvm

Vmware Power on a Virtual Machine

poweroffvm

Vmware Power Off a Virtual Machine

suspendvm

Vmware Suspend a Virtual Machine

resetvm

Vmware Reset a Virtual Machine

getvmhardware

Vmware Get Vm Hardware Configuration

read-only idempotent
updatevmhardware

Vmware Update Vm Hardware Configuration

getvmcpu

Vmware Get Vm Cpu Configuration

read-only idempotent
updatevmcpu

Vmware Update Vm Cpu Configuration

getvmmemory

Vmware Get Vm Memory Configuration

read-only idempotent
updatevmmemory

Vmware Update Vm Memory Configuration

listvmdisks

Vmware List Vm Virtual Disks

read-only idempotent
createvmdisk

Vmware Add a Virtual Disk to a Vm

listvmethernet

Vmware List Vm Network Adapters

read-only idempotent
createvmethernet

Vmware Add a Network Adapter to a Vm

getvmguestidentity

Vmware Get Guest Os Identity

read-only idempotent
getvmguestnetworking

Vmware Get Guest Networking Information

read-only idempotent
listhosts

Vmware List Esxi Hosts

read-only idempotent
gethost

Vmware Get Esxi Host Details

read-only idempotent
connecthost

Vmware Connect an Esxi Host

disconnecthost

Vmware Disconnect an Esxi Host

listdatastores

Vmware List Datastores

read-only idempotent
getdatastore

Vmware Get Datastore Details

read-only idempotent
listclusters

Vmware List Clusters

read-only idempotent
getcluster

Vmware Get Cluster Details

read-only idempotent
listnetworks

Vmware List Networks

read-only idempotent
listdatacenters

Vmware List Datacenters

read-only idempotent
createdatacenter

Vmware Create a Datacenter

getdatacenter

Vmware Get Datacenter Details

read-only idempotent
deletedatacenter

Vmware Delete a Datacenter

idempotent
listfolders

Vmware List Folders

read-only idempotent
listresourcepools

Vmware List Resource Pools

read-only idempotent
listcontentlibraries

Vmware List Content Libraries

read-only idempotent
createcontentlibrary

Vmware Create a Content Library

getcontentlibrary

Vmware Get Content Library Details

read-only idempotent
deletecontentlibrary

Vmware Delete a Content Library

idempotent
liststoragepolicies

Vmware List Storage Policies

read-only idempotent
listtagcategories

Vmware List Tag Categories

read-only idempotent
createtagcategory

Vmware Create a Tag Category

listtags

Vmware List Tags

read-only idempotent
createtag

Vmware Create a Tag

attachtag

Vmware Attach a Tag to an Object

Capability Spec

vmware-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: VMware vSphere Automation REST API
  description: RESTful API for managing VMware vSphere virtualization platform resources including virtual machines, hosts,
    datastores, clusters, networks, and related infrastructure. The vSphere Automation API provides modern REST endpoints
    for vCenter Server operations using JSON payloads and session-based or OAuth authentication. This API supersedes the legacy
    SOAP-based vSphere Web Services API for most automation use cases.
  tags:
  - Vmware
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: vmware
    baseUri: https://vcenter.example.com/api
    description: VMware vSphere Automation REST API HTTP API.
    authentication:
      type: apikey
      in: header
      name: vmware-api-session-id
      value: '{{VMWARE_TOKEN}}'
    resources:
    - name: session
      path: /session
      operations:
      - name: createsession
        method: POST
        description: Vmware Create a New Authentication Session
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletesession
        method: DELETE
        description: Vmware Terminate the Current Session
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: getsessioninfo
        method: GET
        description: Vmware Get Current Session Information
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: vcenter-vm
      path: /vcenter/vm
      operations:
      - name: listvms
        method: GET
        description: Vmware List Virtual Machines
        inputParameters:
        - name: filter.vms
          in: query
          type: array
          description: Identifiers of VMs to filter by
        - name: filter.names
          in: query
          type: array
          description: Names of VMs to filter by (exact match)
        - name: filter.folders
          in: query
          type: array
          description: Folders that must contain the VMs
        - name: filter.datacenters
          in: query
          type: array
          description: Datacenters that must contain the VMs
        - name: filter.hosts
          in: query
          type: array
          description: Hosts that must contain the VMs
        - name: filter.clusters
          in: query
          type: array
          description: Clusters that must contain the VMs
        - name: filter.resource_pools
          in: query
          type: array
          description: Resource pools that must contain the VMs
        - name: filter.power_states
          in: query
          type: array
          description: Power states to filter by
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createvm
        method: POST
        description: Vmware Create a New Virtual Machine
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: vcenter-vm-vm
      path: /vcenter/vm/{vm}
      operations:
      - name: getvm
        method: GET
        description: Vmware Get Virtual Machine Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletevm
        method: DELETE
        description: Vmware Delete a Virtual Machine
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: vcenter-vm-vm-power
      path: /vcenter/vm/{vm}/power
      operations:
      - name: getvmpowerstate
        method: GET
        description: Vmware Get Vm Power State
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: vcenter-vm-vm-power-action-start
      path: /vcenter/vm/{vm}/power?action=start
      operations:
      - name: poweronvm
        method: POST
        description: Vmware Power on a Virtual Machine
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: vcenter-vm-vm-power-action-stop
      path: /vcenter/vm/{vm}/power?action=stop
      operations:
      - name: poweroffvm
        method: POST
        description: Vmware Power Off a Virtual Machine
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: vcenter-vm-vm-power-action-suspend
      path: /vcenter/vm/{vm}/power?action=suspend
      operations:
      - name: suspendvm
        method: POST
        description: Vmware Suspend a Virtual Machine
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: vcenter-vm-vm-power-action-reset
      path: /vcenter/vm/{vm}/power?action=reset
      operations:
      - name: resetvm
        method: POST
        description: Vmware Reset a Virtual Machine
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: vcenter-vm-vm-hardware
      path: /vcenter/vm/{vm}/hardware
      operations:
      - name: getvmhardware
        method: GET
        description: Vmware Get Vm Hardware Configuration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatevmhardware
        method: PATCH
        description: Vmware Update Vm Hardware Configuration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: vcenter-vm-vm-hardware-cpu
      path: /vcenter/vm/{vm}/hardware/cpu
      operations:
      - name: getvmcpu
        method: GET
        description: Vmware Get Vm Cpu Configuration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatevmcpu
        method: PATCH
        description: Vmware Update Vm Cpu Configuration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: vcenter-vm-vm-hardware-memory
      path: /vcenter/vm/{vm}/hardware/memory
      operations:
      - name: getvmmemory
        method: GET
        description: Vmware Get Vm Memory Configuration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatevmmemory
        method: PATCH
        description: Vmware Update Vm Memory Configuration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: vcenter-vm-vm-hardware-disk
      path: /vcenter/vm/{vm}/hardware/disk
      operations:
      - name: listvmdisks
        method: GET
        description: Vmware List Vm Virtual Disks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createvmdisk
        method: POST
        description: Vmware Add a Virtual Disk to a Vm
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: vcenter-vm-vm-hardware-ethernet
      path: /vcenter/vm/{vm}/hardware/ethernet
      operations:
      - name: listvmethernet
        method: GET
        description: Vmware List Vm Network Adapters
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createvmethernet
        method: POST
        description: Vmware Add a Network Adapter to a Vm
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: vcenter-vm-vm-guest-identity
      path: /vcenter/vm/{vm}/guest/identity
      operations:
      - name: getvmguestidentity
        method: GET
        description: Vmware Get Guest Os Identity
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: vcenter-vm-vm-guest-networking
      path: /vcenter/vm/{vm}/guest/networking
      operations:
      - name: getvmguestnetworking
        method: GET
        description: Vmware Get Guest Networking Information
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: vcenter-host
      path: /vcenter/host
      operations:
      - name: listhosts
        method: GET
        description: Vmware List Esxi Hosts
        inputParameters:
        - name: filter.hosts
          in: query
          type: array
          description: Identifiers of hosts to filter by
        - name: filter.names
          in: query
          type: array
          description: Names of hosts to filter by
        - name: filter.folders
          in: query
          type: array
          description: Folders that must contain the hosts
        - name: filter.datacenters
          in: query
          type: array
          description: Datacenters that must contain the hosts
        - name: filter.clusters
          in: query
          type: array
          description: Clusters that must contain the hosts
        - name: filter.connection_states
          in: query
          type: array
          description: Connection states to filter by
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: vcenter-host-host
      path: /vcenter/host/{host}
      operations:
      - name: gethost
        method: GET
        description: Vmware Get Esxi Host Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: vcenter-host-host-connect
      path: /vcenter/host/{host}/connect
      operations:
      - name: connecthost
        method: POST
        description: Vmware Connect an Esxi Host
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: vcenter-host-host-disconnect
      path: /vcenter/host/{host}/disconnect
      operations:
      - name: disconnecthost
        method: POST
        description: Vmware Disconnect an Esxi Host
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: vcenter-datastore
      path: /vcenter/datastore
      operations:
      - name: listdatastores
        method: GET
        description: Vmware List Datastores
        inputParameters:
        - name: filter.datastores
          in: query
          type: array
          description: Identifiers of datastores to filter by
        - name: filter.names
          in: query
          type: array
          description: Names of datastores to filter by
        - name: filter.types
          in: query
          type: array
          description: Types of datastores to filter by
        - name: filter.folders
          in: query
          type: array
          description: Folders that must contain the datastores
        - name: filter.datacenters
          in: query
          type: array
          description: Datacenters that must contain the datastores
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: vcenter-datastore-datastore
      path: /vcenter/datastore/{datastore}
      operations:
      - name: getdatastore
        method: GET
        description: Vmware Get Datastore Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: vcenter-cluster
      path: /vcenter/cluster
      operations:
      - name: listclusters
        method: GET
        description: Vmware List Clusters
        inputParameters:
        - name: filter.clusters
          in: query
          type: array
          description: Identifiers of clusters to filter by
        - name: filter.names
          in: query
          type: array
          description: Names of clusters to filter by
        - name: filter.folders
          in: query
          type: array
          description: Folders that must contain the clusters
        - name: filter.datacenters
          in: query
          type: array
          description: Datacenters that must contain the clusters
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: vcenter-cluster-cluster
      path: /vcenter/cluster/{cluster}
      operations:
      - name: getcluster
        method: GET
        description: Vmware Get Cluster Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: vcenter-network
      path: /vcenter/network
      operations:
      - name: listnetworks
        method: GET
        description: Vmware List Networks
        inputParameters:
        - name: filter.networks
          in: query
          type: array
          description: Identifiers of networks to filter by
        - name: filter.names
          in: query
          type: array
          description: Names of networks to filter by
        - name: filter.types
          in: query
          type: array
          description: Types of networks to filter by
        - name: filter.datacenters
          in: query
          type: array
          description: Datacenters that must contain the networks
        - name: filter.folders
          in: query
          type: array
          description: Folders that must contain the networks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: vcenter-datacenter
      path: /vcenter/datacenter
      operations:
      - name: listdatacenters
        method: GET
        description: Vmware List Datacenters
        inputParameters:
        - name: filter.datacenters
          in: query
          type: array
          description: Identifiers of datacenters to filter by
        - name: filter.names
          in: query
          type: array
          description: Names of datacenters to filter by
        - name: filter.folders
          in: query
          type: array
          description: Folders that must contain the datacenters
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createdatacenter
        method: POST
        description: Vmware Create a Datacenter
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: vcenter-datacenter-datacenter
      path: /vcenter/datacenter/{datacenter}
      operations:
      - name: getdatacenter
        method: GET
        description: Vmware Get Datacenter Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletedatacenter
        method: DELETE
        description: Vmware Delete a Datacenter
        inputParameters:
        - name: force
          in: query
          type: boolean
          description: Force delete even if datacenter is not empty
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: vcenter-folder
      path: /vcenter/folder
      operations:
      - name: listfolders
        method: GET
        description: Vmware List Folders
        inputParameters:
        - name: filter.folders
          in: query
          type: array
          description: Identifiers of folders to filter by
        - name: filter.names
          in: query
          type: array
          description: Names of folders to filter by
        - name: filter.type
          in: query
          type: string
          description: Type of folder to filter by
        - name: filter.parent_folders
          in: query
          type: array
          description: Parent folders to filter by
        - name: filter.datacenters
          in: query
          type: array
          description: Datacenters that must contain the folders
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: vcenter-resource-pool
      path: /vcenter/resource-pool
      operations:
      - name: listresourcepools
        method: GET
        description: Vmware List Resource Pools
        inputParameters:
        - name: filter.resource_pools
          in: query
          type: array
          description: Identifiers of resource pools to filter by
        - name: filter.names
          in: query
          type: array
          description: Names of resource pools to filter by
        - name: filter.clusters
          in: query
          type: array
          description: Clusters that must contain the resource pools
        - name: filter.hosts
          in: query
          type: array
          description: Hosts that must contain the resource pools
        - name: filter.parent_resource_pools
          in: query
          type: array
          description: Parent resource pools to filter by
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: content-library
      path: /content/library
      operations:
      - name: listcontentlibraries
        method: GET
        description: Vmware List Content Libraries
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createcontentlibrary
        method: POST
        description: Vmware Create a Content Library
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: content-library-library-id
      path: /content/library/{library_id}
      operations:
      - name: getcontentlibrary
        method: GET
        description: Vmware Get Content Library Details
        inputParameters:
        - name: library_id
          in: path
          type: string
          required: true
          description: Identifier of the content library
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletecontentlibrary
        method: DELETE
        description: Vmware Delete a Content Library
        inputParameters:
        - name: library_id
          in: path
          type: string
          required: true
          description: Identifier of the content library
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: vcenter-storage-policies
      path: /vcenter/storage/policies
      operations:
      - name: liststoragepolicies
        method: GET
        description: Vmware List Storage Policies
        inputParameters:
        - name: filter.policies
          in: query
          type: array
          description: Identifiers of storage policies to filter by
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: cis-tagging-category
      path: /cis/tagging/category
      operations:
      - name: listtagcategories
        method: GET
        description: Vmware List Tag Categories
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createtagcategory
        method: POST
        description: Vmware Create a Tag Category
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: cis-tagging-tag
      path: /cis/tagging/tag
      operations:
      - name: listtags
        method: GET
        description: Vmware List Tags
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createtag
        method: POST
        description: Vmware Create a Tag
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: cis-tagging-tag-association-action-attach
      path: /cis/tagging/tag-association?action=attach
      operations:
      - name: attachtag
        method: POST
        description: Vmware Attach a Tag to an Object
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: vmware-rest
    description: REST adapter for VMware vSphere Automation REST API.
    resources:
    - path: /session
      name: createsession
      operations:
      - method: POST
        name: createsession
        description: Vmware Create a New Authentication Session
        call: vmware.createsession
        outputParameters:
        - type: object
          mapping: $.
    - path: /session
      name: deletesession
      operations:
      - method: DELETE
        name: deletesession
        description: Vmware Terminate the Current Session
        call: vmware.deletesession
        outputParameters:
        - type: object
          mapping: $.
    - path: /session
      name: getsessioninfo
      operations:
      - method: GET
        name: getsessioninfo
        description: Vmware Get Current Session Information
        call: vmware.getsessioninfo
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/vm
      name: listvms
      operations:
      - method: GET
        name: listvms
        description: Vmware List Virtual Machines
        call: vmware.listvms
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/vm
      name: createvm
      operations:
      - method: POST
        name: createvm
        description: Vmware Create a New Virtual Machine
        call: vmware.createvm
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/vm/{vm}
      name: getvm
      operations:
      - method: GET
        name: getvm
        description: Vmware Get Virtual Machine Details
        call: vmware.getvm
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/vm/{vm}
      name: deletevm
      operations:
      - method: DELETE
        name: deletevm
        description: Vmware Delete a Virtual Machine
        call: vmware.deletevm
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/vm/{vm}/power
      name: getvmpowerstate
      operations:
      - method: GET
        name: getvmpowerstate
        description: Vmware Get Vm Power State
        call: vmware.getvmpowerstate
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/vm/{vm}/power?action=start
      name: poweronvm
      operations:
      - method: POST
        name: poweronvm
        description: Vmware Power on a Virtual Machine
        call: vmware.poweronvm
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/vm/{vm}/power?action=stop
      name: poweroffvm
      operations:
      - method: POST
        name: poweroffvm
        description: Vmware Power Off a Virtual Machine
        call: vmware.poweroffvm
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/vm/{vm}/power?action=suspend
      name: suspendvm
      operations:
      - method: POST
        name: suspendvm
        description: Vmware Suspend a Virtual Machine
        call: vmware.suspendvm
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/vm/{vm}/power?action=reset
      name: resetvm
      operations:
      - method: POST
        name: resetvm
        description: Vmware Reset a Virtual Machine
        call: vmware.resetvm
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/vm/{vm}/hardware
      name: getvmhardware
      operations:
      - method: GET
        name: getvmhardware
        description: Vmware Get Vm Hardware Configuration
        call: vmware.getvmhardware
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/vm/{vm}/hardware
      name: updatevmhardware
      operations:
      - method: PATCH
        name: updatevmhardware
        description: Vmware Update Vm Hardware Configuration
        call: vmware.updatevmhardware
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/vm/{vm}/hardware/cpu
      name: getvmcpu
      operations:
      - method: GET
        name: getvmcpu
        description: Vmware Get Vm Cpu Configuration
        call: vmware.getvmcpu
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/vm/{vm}/hardware/cpu
      name: updatevmcpu
      operations:
      - method: PATCH
        name: updatevmcpu
        description: Vmware Update Vm Cpu Configuration
        call: vmware.updatevmcpu
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/vm/{vm}/hardware/memory
      name: getvmmemory
      operations:
      - method: GET
        name: getvmmemory
        description: Vmware Get Vm Memory Configuration
        call: vmware.getvmmemory
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/vm/{vm}/hardware/memory
      name: updatevmmemory
      operations:
      - method: PATCH
        name: updatevmmemory
        description: Vmware Update Vm Memory Configuration
        call: vmware.updatevmmemory
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/vm/{vm}/hardware/disk
      name: listvmdisks
      operations:
      - method: GET
        name: listvmdisks
        description: Vmware List Vm Virtual Disks
        call: vmware.listvmdisks
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/vm/{vm}/hardware/disk
      name: createvmdisk
      operations:
      - method: POST
        name: createvmdisk
        description: Vmware Add a Virtual Disk to a Vm
        call: vmware.createvmdisk
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/vm/{vm}/hardware/ethernet
      name: listvmethernet
      operations:
      - method: GET
        name: listvmethernet
        description: Vmware List Vm Network Adapters
        call: vmware.listvmethernet
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/vm/{vm}/hardware/ethernet
      name: createvmethernet
      operations:
      - method: POST
        name: createvmethernet
        description: Vmware Add a Network Adapter to a Vm
        call: vmware.createvmethernet
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/vm/{vm}/guest/identity
      name: getvmguestidentity
      operations:
      - method: GET
        name: getvmguestidentity
        description: Vmware Get Guest Os Identity
        call: vmware.getvmguestidentity
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/vm/{vm}/guest/networking
      name: getvmguestnetworking
      operations:
      - method: GET
        name: getvmguestnetworking
        description: Vmware Get Guest Networking Information
        call: vmware.getvmguestnetworking
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/host
      name: listhosts
      operations:
      - method: GET
        name: listhosts
        description: Vmware List Esxi Hosts
        call: vmware.listhosts
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/host/{host}
      name: gethost
      operations:
      - method: GET
        name: gethost
        description: Vmware Get Esxi Host Details
        call: vmware.gethost
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/host/{host}/connect
      name: connecthost
      operations:
      - method: POST
        name: connecthost
        description: Vmware Connect an Esxi Host
        call: vmware.connecthost
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/host/{host}/disconnect
      name: disconnecthost
      operations:
      - method: POST
        name: disconnecthost
        description: Vmware Disconnect an Esxi Host
        call: vmware.disconnecthost
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/datastore
      name: listdatastores
      operations:
      - method: GET
        name: listdatastores
        description: Vmware List Datastores
        call: vmware.listdatastores
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/datastore/{datastore}
      name: getdatastore
      operations:
      - method: GET
        name: getdatastore
        description: Vmware Get Datastore Details
        call: vmware.getdatastore
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/cluster
      name: listclusters
      operations:
      - method: GET
        name: listclusters
        description: Vmware List Clusters
        call: vmware.listclusters
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/cluster/{cluster}
      name: getcluster
      operations:
      - method: GET
        name: getcluster
        description: Vmware Get Cluster Details
        call: vmware.getcluster
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/network
      name: listnetworks
      operations:
      - method: GET
        name: listnetworks
        description: Vmware List Networks
        call: vmware.listnetworks
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/datacenter
      name: listdatacenters
      operations:
      - method: GET
        name: listdatacenters
        description: Vmware List Datacenters
        call: vmware.listdatacenters
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/datacenter
      name: createdatacenter
      operations:
      - method: POST
        name: createdatacenter
        description: Vmware Create a Datacenter
        call: vmware.createdatacenter
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/datacenter/{datacenter}
      name: getdatacenter
      operations:
      - method: GET
        name: getdatacenter
        description: Vmware Get Datacenter Details
        call: vmware.getdatacenter
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/datacenter/{datacenter}
      name: deletedatacenter
      operations:
      - method: DELETE
        name: deletedatacenter
        description: Vmware Delete a Datacenter
        call: vmware.deletedatacenter
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/folder
      name: listfolders
      operations:
      - method: GET
        name: listfolders
        description: Vmware List Folders
        call: vmware.listfolders
        outputParameters:
        - type: object
          mapping: $.
    - path: /vcenter/resource-pool
      name: listresourcepools
      operations:
      - method: GET
        name: listresourcepools
        description: Vmware List Resource Pools
        call: vmware.listresourcepools
        outputParameters:
        - type: object
          mapping: $.
    - path: /content/library
      name: listcontentlibraries
      operations:
      - method: GET
        name: listcontentlibraries
        description: Vmware List Content Libraries
        call: vmware.listcontentlibraries
        out

# --- truncated at 32 KB (54 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vmware/refs/heads/main/capabilities/vmware-capability.yaml