This patch re-generates the client code for Cloud Hypervisor v21.0.
Note: The client code of cloud-hypervisor's (CLH) OpenAPI is
automatically generated by openapi-generator [1-2].
[1] https://github.com/OpenAPITools/openapi-generator
[2] https://github.com/kata-containers/kata-containers/blob/main/src/runtime/virtcontainers/pkg/cloud-hypervisor/README.md
Signed-off-by: Bo Chen <chen.bo@intel.com>
(cherry picked from commit 2d799cbfa3)
7.5 KiB
Go API client for openapi
Local HTTP based API for managing and inspecting a cloud-hypervisor virtual machine.
Overview
This API client was generated by the OpenAPI Generator project. By using the OpenAPI-spec from a remote server, you can easily generate an API client.
- API version: 0.3.0
- Package version: 1.0.0
- Build package: org.openapitools.codegen.languages.GoClientCodegen
Installation
Install the following dependencies:
go get github.com/stretchr/testify/assert
go get golang.org/x/oauth2
go get golang.org/x/net/context
Put the package under your project folder and add the following in import:
import sw "./openapi"
To use a proxy, set the environment variable HTTP_PROXY:
os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")
Configuration of Server URL
Default configuration comes with Servers field that contains server objects as defined in the OpenAPI specification.
Select Server Configuration
For using other server than the one defined on index 0 set context value sw.ContextServerIndex of type int.
ctx := context.WithValue(context.Background(), sw.ContextServerIndex, 1)
Templated Server URL
Templated server URL is formatted using default variables from configuration or from context value sw.ContextServerVariables of type map[string]string.
ctx := context.WithValue(context.Background(), sw.ContextServerVariables, map[string]string{
"basePath": "v2",
})
Note, enum values are always validated and all unused variables are silently ignored.
URLs Configuration per Operation
Each operation can use different server URL defined using OperationServers map in the Configuration.
An operation is uniquely identified by "{classname}Service.{nickname}" string.
Similar rules for overriding default operation server index and variables applies by using sw.ContextOperationServerIndices and sw.ContextOperationServerVariables context maps.
ctx := context.WithValue(context.Background(), sw.ContextOperationServerIndices, map[string]int{
"{classname}Service.{nickname}": 2,
})
ctx = context.WithValue(context.Background(), sw.ContextOperationServerVariables, map[string]map[string]string{
"{classname}Service.{nickname}": {
"port": "8443",
},
})
Documentation for API Endpoints
All URIs are relative to http://localhost/api/v1
| Class | Method | HTTP request | Description |
|---|---|---|---|
| DefaultApi | BootVM | Put /vm.boot | Boot the previously created VM instance. |
| DefaultApi | CreateVM | Put /vm.create | Create the cloud-hypervisor Virtual Machine (VM) instance. The instance is not booted, only created. |
| DefaultApi | DeleteVM | Put /vm.delete | Delete the cloud-hypervisor Virtual Machine (VM) instance. |
| DefaultApi | PauseVM | Put /vm.pause | Pause a previously booted VM instance. |
| DefaultApi | PowerButtonVM | Put /vm.power-button | Trigger a power button in the VM |
| DefaultApi | RebootVM | Put /vm.reboot | Reboot the VM instance. |
| DefaultApi | ResumeVM | Put /vm.resume | Resume a previously paused VM instance. |
| DefaultApi | ShutdownVM | Put /vm.shutdown | Shut the VM instance down. |
| DefaultApi | ShutdownVMM | Put /vmm.shutdown | Shuts the cloud-hypervisor VMM. |
| DefaultApi | VmAddDevicePut | Put /vm.add-device | Add a new device to the VM |
| DefaultApi | VmAddDiskPut | Put /vm.add-disk | Add a new disk to the VM |
| DefaultApi | VmAddFsPut | Put /vm.add-fs | Add a new virtio-fs device to the VM |
| DefaultApi | VmAddNetPut | Put /vm.add-net | Add a new network device to the VM |
| DefaultApi | VmAddPmemPut | Put /vm.add-pmem | Add a new pmem device to the VM |
| DefaultApi | VmAddVsockPut | Put /vm.add-vsock | Add a new vsock device to the VM |
| DefaultApi | VmCountersGet | Get /vm.counters | Get counters from the VM |
| DefaultApi | VmInfoGet | Get /vm.info | Returns general information about the cloud-hypervisor Virtual Machine (VM) instance. |
| DefaultApi | VmReceiveMigrationPut | Put /vm.receive-migration | Receive a VM migration from URL |
| DefaultApi | VmRemoveDevicePut | Put /vm.remove-device | Remove a device from the VM |
| DefaultApi | VmResizePut | Put /vm.resize | Resize the VM |
| DefaultApi | VmResizeZonePut | Put /vm.resize-zone | Resize a memory zone |
| DefaultApi | VmRestorePut | Put /vm.restore | Restore a VM from a snapshot. |
| DefaultApi | VmSendMigrationPut | Put /vm.send-migration | Send a VM migration to URL |
| DefaultApi | VmSnapshotPut | Put /vm.snapshot | Returns a VM snapshot. |
| DefaultApi | VmmPingGet | Get /vmm.ping | Ping the VMM to check for API server availability |
Documentation For Models
- BalloonConfig
- CmdLineConfig
- ConsoleConfig
- CpuAffinity
- CpuTopology
- CpusConfig
- DeviceConfig
- DeviceNode
- DiskConfig
- FsConfig
- InitramfsConfig
- KernelConfig
- MemoryConfig
- MemoryZoneConfig
- NetConfig
- NumaConfig
- NumaDistance
- PciDeviceInfo
- PmemConfig
- RateLimiterConfig
- ReceiveMigrationData
- RestoreConfig
- RngConfig
- SendMigrationData
- SgxEpcConfig
- TokenBucket
- VmAddDevice
- VmConfig
- VmInfo
- VmRemoveDevice
- VmResize
- VmResizeZone
- VmSnapshotConfig
- VmmPingResponse
- VsockConfig
Documentation For Authorization
Endpoints do not require authorization.
Documentation for Utility Methods
Due to the fact that model structure members are all pointers, this package contains a number of utility functions to easily obtain pointers to values of basic types. Each of these functions takes a value of the given basic type and returns a pointer to it:
PtrBoolPtrIntPtrInt32PtrInt64PtrFloatPtrFloat32PtrFloat64PtrStringPtrTime