mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-04-29 12:14:48 +00:00
versions: Update Cloud Hypervisor to v25.0
Cloud Hypervisor v25.0 has been released on July 7th, 2022, and brings the following changes: **ch-remote Improvements** The ch-remote command has gained support for creating the VM from a JSON config and support for booting and deleting the VM from the VMM. **VM "Coredump" Support** Under the guest_debug feature flag it is now possible to extract the memory of the guest for use in debugging with e.g. the crash utility. (https://github.com/cloud-hypervisor/cloud-hypervisor/issues/4012) **Notable Bug Fixes** * Always restore console mode on exit (https://github.com/cloud-hypervisor/cloud-hypervisor/issues/4249, https://github.com/cloud-hypervisor/cloud-hypervisor/issues/4248) * Restore vCPUs in numerical order which fixes aarch64 snapshot/restore (https://github.com/cloud-hypervisor/cloud-hypervisor/issues/4244) * Don't try and configure IFF_RUNNING on TAP devices (https://github.com/cloud-hypervisor/cloud-hypervisor/issues/4279) * Propagate configured queue size through to vhost-user backend (https://github.com/cloud-hypervisor/cloud-hypervisor/issues/4286) * Always Program vCPU CPUID before running the vCPU to fix running on Linux 5.16 (https://github.com/cloud-hypervisor/cloud-hypervisor/issues/4156) * Enable ACPI MADT "Online Capable" flag for hotpluggable vCPUs to fix newer Linux guest **Removals** The following functionality has been removed: * The mergeable option from the virtio-pmem support has been removed (https://github.com/cloud-hypervisor/cloud-hypervisor/issues/3968) * The dax option from the virtio-fs support has been removed (https://github.com/cloud-hypervisor/cloud-hypervisor/issues/3889) Fixes: #4641 Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com>
This commit is contained in:
parent
9f0e4bb775
commit
dc3b6f6592
@ -1499,15 +1499,12 @@ func (clh *cloudHypervisor) addVolume(volume types.Volume) error {
|
||||
return err
|
||||
}
|
||||
|
||||
// disable DAX if VirtioFSCacheSize is 0
|
||||
dax := clh.config.VirtioFSCacheSize != 0
|
||||
|
||||
// numQueues and queueSize are required, let's use the
|
||||
// default values defined by cloud-hypervisor
|
||||
numQueues := int32(1)
|
||||
queueSize := int32(1024)
|
||||
|
||||
fs := chclient.NewFsConfig(volume.MountTag, vfsdSockPath, numQueues, queueSize, dax, int64(clh.config.VirtioFSCacheSize<<20))
|
||||
fs := chclient.NewFsConfig(volume.MountTag, vfsdSockPath, numQueues, queueSize)
|
||||
clh.vmconfig.Fs = &[]chclient.FsConfig{*fs}
|
||||
|
||||
clh.Logger().Debug("Adding share volume to hypervisor: ", volume.MountTag)
|
||||
|
@ -39,6 +39,7 @@ docs/TokenBucket.md
|
||||
docs/VdpaConfig.md
|
||||
docs/VmAddDevice.md
|
||||
docs/VmConfig.md
|
||||
docs/VmCoredumpData.md
|
||||
docs/VmInfo.md
|
||||
docs/VmRemoveDevice.md
|
||||
docs/VmResize.md
|
||||
@ -81,6 +82,7 @@ model_token_bucket.go
|
||||
model_vdpa_config.go
|
||||
model_vm_add_device.go
|
||||
model_vm_config.go
|
||||
model_vm_coredump_data.go
|
||||
model_vm_info.go
|
||||
model_vm_remove_device.go
|
||||
model_vm_resize.go
|
||||
|
@ -94,6 +94,7 @@ Class | Method | HTTP request | Description
|
||||
*DefaultApi* | [**VmAddPmemPut**](docs/DefaultApi.md#vmaddpmemput) | **Put** /vm.add-pmem | Add a new pmem device to the VM
|
||||
*DefaultApi* | [**VmAddVdpaPut**](docs/DefaultApi.md#vmaddvdpaput) | **Put** /vm.add-vdpa | Add a new vDPA device to the VM
|
||||
*DefaultApi* | [**VmAddVsockPut**](docs/DefaultApi.md#vmaddvsockput) | **Put** /vm.add-vsock | Add a new vsock device to the VM
|
||||
*DefaultApi* | [**VmCoredumpPut**](docs/DefaultApi.md#vmcoredumpput) | **Put** /vm.coredump | Takes a VM coredump.
|
||||
*DefaultApi* | [**VmCountersGet**](docs/DefaultApi.md#vmcountersget) | **Get** /vm.counters | Get counters from the VM
|
||||
*DefaultApi* | [**VmInfoGet**](docs/DefaultApi.md#vminfoget) | **Get** /vm.info | Returns general information about the cloud-hypervisor Virtual Machine (VM) instance.
|
||||
*DefaultApi* | [**VmReceiveMigrationPut**](docs/DefaultApi.md#vmreceivemigrationput) | **Put** /vm.receive-migration | Receive a VM migration from URL
|
||||
@ -140,6 +141,7 @@ Class | Method | HTTP request | Description
|
||||
- [VdpaConfig](docs/VdpaConfig.md)
|
||||
- [VmAddDevice](docs/VmAddDevice.md)
|
||||
- [VmConfig](docs/VmConfig.md)
|
||||
- [VmCoredumpData](docs/VmCoredumpData.md)
|
||||
- [VmInfo](docs/VmInfo.md)
|
||||
- [VmRemoveDevice](docs/VmRemoveDevice.md)
|
||||
- [VmResize](docs/VmResize.md)
|
||||
|
@ -347,6 +347,23 @@ paths:
|
||||
description: The VM instance could not be snapshotted because it is not
|
||||
booted.
|
||||
summary: Returns a VM snapshot.
|
||||
/vm.coredump:
|
||||
put:
|
||||
requestBody:
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/VmCoredumpData'
|
||||
description: The coredump configuration
|
||||
required: true
|
||||
responses:
|
||||
"204":
|
||||
description: The VM instance was successfully coredumped.
|
||||
"404":
|
||||
description: The VM instance could not be coredumped because it is not created.
|
||||
"405":
|
||||
description: The VM instance could not be coredumped because it is not booted.
|
||||
summary: Takes a VM coredump.
|
||||
/vm.restore:
|
||||
put:
|
||||
requestBody:
|
||||
@ -408,7 +425,7 @@ components:
|
||||
VmInfo:
|
||||
description: Virtual Machine information
|
||||
example:
|
||||
memory_actual_size: 7
|
||||
memory_actual_size: 3
|
||||
state: Created
|
||||
config:
|
||||
console:
|
||||
@ -496,6 +513,7 @@ components:
|
||||
cpus:
|
||||
features:
|
||||
amx: true
|
||||
kvm_hyperv: false
|
||||
topology:
|
||||
dies_per_package: 5
|
||||
threads_per_core: 1
|
||||
@ -514,58 +532,58 @@ components:
|
||||
- 3
|
||||
- 3
|
||||
devices:
|
||||
- pci_segment: 3
|
||||
- pci_segment: 6
|
||||
path: path
|
||||
iommu: false
|
||||
id: id
|
||||
- pci_segment: 3
|
||||
- pci_segment: 6
|
||||
path: path
|
||||
iommu: false
|
||||
id: id
|
||||
kernel:
|
||||
path: path
|
||||
vdpa:
|
||||
- pci_segment: 7
|
||||
- pci_segment: 3
|
||||
path: path
|
||||
num_queues: 3
|
||||
iommu: false
|
||||
id: id
|
||||
- pci_segment: 7
|
||||
- pci_segment: 3
|
||||
path: path
|
||||
num_queues: 3
|
||||
iommu: false
|
||||
id: id
|
||||
numa:
|
||||
- distances:
|
||||
- distance: 7
|
||||
destination: 8
|
||||
- distance: 7
|
||||
destination: 8
|
||||
- distance: 8
|
||||
destination: 4
|
||||
- distance: 8
|
||||
destination: 4
|
||||
cpus:
|
||||
- 4
|
||||
- 4
|
||||
- 0
|
||||
- 0
|
||||
sgx_epc_sections:
|
||||
- sgx_epc_sections
|
||||
- sgx_epc_sections
|
||||
memory_zones:
|
||||
- memory_zones
|
||||
- memory_zones
|
||||
guest_numa_id: 0
|
||||
guest_numa_id: 6
|
||||
- distances:
|
||||
- distance: 7
|
||||
destination: 8
|
||||
- distance: 7
|
||||
destination: 8
|
||||
- distance: 8
|
||||
destination: 4
|
||||
- distance: 8
|
||||
destination: 4
|
||||
cpus:
|
||||
- 4
|
||||
- 4
|
||||
- 0
|
||||
- 0
|
||||
sgx_epc_sections:
|
||||
- sgx_epc_sections
|
||||
- sgx_epc_sections
|
||||
memory_zones:
|
||||
- memory_zones
|
||||
- memory_zones
|
||||
guest_numa_id: 0
|
||||
guest_numa_id: 6
|
||||
tdx:
|
||||
firmware: firmware
|
||||
rng:
|
||||
@ -573,30 +591,26 @@ components:
|
||||
src: /dev/urandom
|
||||
sgx_epc:
|
||||
- prefault: false
|
||||
size: 6
|
||||
size: 7
|
||||
id: id
|
||||
- prefault: false
|
||||
size: 6
|
||||
size: 7
|
||||
id: id
|
||||
fs:
|
||||
- pci_segment: 6
|
||||
num_queues: 1
|
||||
queue_size: 2
|
||||
cache_size: 6
|
||||
dax: true
|
||||
tag: tag
|
||||
socket: socket
|
||||
id: id
|
||||
- pci_segment: 6
|
||||
num_queues: 1
|
||||
queue_size: 2
|
||||
cache_size: 6
|
||||
dax: true
|
||||
tag: tag
|
||||
socket: socket
|
||||
id: id
|
||||
vsock:
|
||||
pci_segment: 7
|
||||
pci_segment: 0
|
||||
iommu: false
|
||||
socket: socket
|
||||
id: id
|
||||
@ -605,20 +619,18 @@ components:
|
||||
iommu_segments:
|
||||
- 3
|
||||
- 3
|
||||
num_pci_segments: 3
|
||||
num_pci_segments: 7
|
||||
serial_number: serial_number
|
||||
pmem:
|
||||
- pci_segment: 6
|
||||
mergeable: false
|
||||
- pci_segment: 5
|
||||
file: file
|
||||
size: 5
|
||||
size: 6
|
||||
iommu: false
|
||||
id: id
|
||||
discard_writes: false
|
||||
- pci_segment: 6
|
||||
mergeable: false
|
||||
- pci_segment: 5
|
||||
file: file
|
||||
size: 5
|
||||
size: 6
|
||||
iommu: false
|
||||
id: id
|
||||
discard_writes: false
|
||||
@ -839,6 +851,7 @@ components:
|
||||
cpus:
|
||||
features:
|
||||
amx: true
|
||||
kvm_hyperv: false
|
||||
topology:
|
||||
dies_per_package: 5
|
||||
threads_per_core: 1
|
||||
@ -857,58 +870,58 @@ components:
|
||||
- 3
|
||||
- 3
|
||||
devices:
|
||||
- pci_segment: 3
|
||||
- pci_segment: 6
|
||||
path: path
|
||||
iommu: false
|
||||
id: id
|
||||
- pci_segment: 3
|
||||
- pci_segment: 6
|
||||
path: path
|
||||
iommu: false
|
||||
id: id
|
||||
kernel:
|
||||
path: path
|
||||
vdpa:
|
||||
- pci_segment: 7
|
||||
- pci_segment: 3
|
||||
path: path
|
||||
num_queues: 3
|
||||
iommu: false
|
||||
id: id
|
||||
- pci_segment: 7
|
||||
- pci_segment: 3
|
||||
path: path
|
||||
num_queues: 3
|
||||
iommu: false
|
||||
id: id
|
||||
numa:
|
||||
- distances:
|
||||
- distance: 7
|
||||
destination: 8
|
||||
- distance: 7
|
||||
destination: 8
|
||||
- distance: 8
|
||||
destination: 4
|
||||
- distance: 8
|
||||
destination: 4
|
||||
cpus:
|
||||
- 4
|
||||
- 4
|
||||
- 0
|
||||
- 0
|
||||
sgx_epc_sections:
|
||||
- sgx_epc_sections
|
||||
- sgx_epc_sections
|
||||
memory_zones:
|
||||
- memory_zones
|
||||
- memory_zones
|
||||
guest_numa_id: 0
|
||||
guest_numa_id: 6
|
||||
- distances:
|
||||
- distance: 7
|
||||
destination: 8
|
||||
- distance: 7
|
||||
destination: 8
|
||||
- distance: 8
|
||||
destination: 4
|
||||
- distance: 8
|
||||
destination: 4
|
||||
cpus:
|
||||
- 4
|
||||
- 4
|
||||
- 0
|
||||
- 0
|
||||
sgx_epc_sections:
|
||||
- sgx_epc_sections
|
||||
- sgx_epc_sections
|
||||
memory_zones:
|
||||
- memory_zones
|
||||
- memory_zones
|
||||
guest_numa_id: 0
|
||||
guest_numa_id: 6
|
||||
tdx:
|
||||
firmware: firmware
|
||||
rng:
|
||||
@ -916,30 +929,26 @@ components:
|
||||
src: /dev/urandom
|
||||
sgx_epc:
|
||||
- prefault: false
|
||||
size: 6
|
||||
size: 7
|
||||
id: id
|
||||
- prefault: false
|
||||
size: 6
|
||||
size: 7
|
||||
id: id
|
||||
fs:
|
||||
- pci_segment: 6
|
||||
num_queues: 1
|
||||
queue_size: 2
|
||||
cache_size: 6
|
||||
dax: true
|
||||
tag: tag
|
||||
socket: socket
|
||||
id: id
|
||||
- pci_segment: 6
|
||||
num_queues: 1
|
||||
queue_size: 2
|
||||
cache_size: 6
|
||||
dax: true
|
||||
tag: tag
|
||||
socket: socket
|
||||
id: id
|
||||
vsock:
|
||||
pci_segment: 7
|
||||
pci_segment: 0
|
||||
iommu: false
|
||||
socket: socket
|
||||
id: id
|
||||
@ -948,20 +957,18 @@ components:
|
||||
iommu_segments:
|
||||
- 3
|
||||
- 3
|
||||
num_pci_segments: 3
|
||||
num_pci_segments: 7
|
||||
serial_number: serial_number
|
||||
pmem:
|
||||
- pci_segment: 6
|
||||
mergeable: false
|
||||
- pci_segment: 5
|
||||
file: file
|
||||
size: 5
|
||||
size: 6
|
||||
iommu: false
|
||||
id: id
|
||||
discard_writes: false
|
||||
- pci_segment: 6
|
||||
mergeable: false
|
||||
- pci_segment: 5
|
||||
file: file
|
||||
size: 5
|
||||
size: 6
|
||||
iommu: false
|
||||
id: id
|
||||
discard_writes: false
|
||||
@ -1125,6 +1132,7 @@ components:
|
||||
example:
|
||||
features:
|
||||
amx: true
|
||||
kvm_hyperv: false
|
||||
topology:
|
||||
dies_per_package: 5
|
||||
threads_per_core: 1
|
||||
@ -1153,6 +1161,9 @@ components:
|
||||
type: integer
|
||||
topology:
|
||||
$ref: '#/components/schemas/CpuTopology'
|
||||
kvm_hyperv:
|
||||
default: false
|
||||
type: boolean
|
||||
max_phys_bits:
|
||||
type: integer
|
||||
affinity:
|
||||
@ -1170,7 +1181,7 @@ components:
|
||||
iommu_segments:
|
||||
- 3
|
||||
- 3
|
||||
num_pci_segments: 3
|
||||
num_pci_segments: 7
|
||||
serial_number: serial_number
|
||||
properties:
|
||||
num_pci_segments:
|
||||
@ -1538,8 +1549,6 @@ components:
|
||||
pci_segment: 6
|
||||
num_queues: 1
|
||||
queue_size: 2
|
||||
cache_size: 6
|
||||
dax: true
|
||||
tag: tag
|
||||
socket: socket
|
||||
id: id
|
||||
@ -1554,20 +1563,12 @@ components:
|
||||
queue_size:
|
||||
default: 1024
|
||||
type: integer
|
||||
dax:
|
||||
default: true
|
||||
type: boolean
|
||||
cache_size:
|
||||
format: int64
|
||||
type: integer
|
||||
pci_segment:
|
||||
format: int16
|
||||
type: integer
|
||||
id:
|
||||
type: string
|
||||
required:
|
||||
- cache_size
|
||||
- dax
|
||||
- num_queues
|
||||
- queue_size
|
||||
- socket
|
||||
@ -1575,10 +1576,9 @@ components:
|
||||
type: object
|
||||
PmemConfig:
|
||||
example:
|
||||
pci_segment: 6
|
||||
mergeable: false
|
||||
pci_segment: 5
|
||||
file: file
|
||||
size: 5
|
||||
size: 6
|
||||
iommu: false
|
||||
id: id
|
||||
discard_writes: false
|
||||
@ -1591,9 +1591,6 @@ components:
|
||||
iommu:
|
||||
default: false
|
||||
type: boolean
|
||||
mergeable:
|
||||
default: false
|
||||
type: boolean
|
||||
discard_writes:
|
||||
default: false
|
||||
type: boolean
|
||||
@ -1629,7 +1626,7 @@ components:
|
||||
type: object
|
||||
DeviceConfig:
|
||||
example:
|
||||
pci_segment: 3
|
||||
pci_segment: 6
|
||||
path: path
|
||||
iommu: false
|
||||
id: id
|
||||
@ -1649,7 +1646,7 @@ components:
|
||||
type: object
|
||||
VdpaConfig:
|
||||
example:
|
||||
pci_segment: 7
|
||||
pci_segment: 3
|
||||
path: path
|
||||
num_queues: 3
|
||||
iommu: false
|
||||
@ -1674,7 +1671,7 @@ components:
|
||||
type: object
|
||||
VsockConfig:
|
||||
example:
|
||||
pci_segment: 7
|
||||
pci_segment: 0
|
||||
iommu: false
|
||||
socket: socket
|
||||
id: id
|
||||
@ -1703,7 +1700,7 @@ components:
|
||||
SgxEpcConfig:
|
||||
example:
|
||||
prefault: false
|
||||
size: 6
|
||||
size: 7
|
||||
id: id
|
||||
properties:
|
||||
id:
|
||||
@ -1731,8 +1728,8 @@ components:
|
||||
type: object
|
||||
NumaDistance:
|
||||
example:
|
||||
distance: 7
|
||||
destination: 8
|
||||
distance: 8
|
||||
destination: 4
|
||||
properties:
|
||||
destination:
|
||||
format: int32
|
||||
@ -1747,20 +1744,20 @@ components:
|
||||
NumaConfig:
|
||||
example:
|
||||
distances:
|
||||
- distance: 7
|
||||
destination: 8
|
||||
- distance: 7
|
||||
destination: 8
|
||||
- distance: 8
|
||||
destination: 4
|
||||
- distance: 8
|
||||
destination: 4
|
||||
cpus:
|
||||
- 4
|
||||
- 4
|
||||
- 0
|
||||
- 0
|
||||
sgx_epc_sections:
|
||||
- sgx_epc_sections
|
||||
- sgx_epc_sections
|
||||
memory_zones:
|
||||
- memory_zones
|
||||
- memory_zones
|
||||
guest_numa_id: 0
|
||||
guest_numa_id: 6
|
||||
properties:
|
||||
guest_numa_id:
|
||||
format: int32
|
||||
@ -1843,6 +1840,13 @@ components:
|
||||
destination_url:
|
||||
type: string
|
||||
type: object
|
||||
VmCoredumpData:
|
||||
example:
|
||||
destination_url: destination_url
|
||||
properties:
|
||||
destination_url:
|
||||
type: string
|
||||
type: object
|
||||
RestoreConfig:
|
||||
example:
|
||||
prefault: true
|
||||
|
@ -1607,6 +1607,106 @@ func (a *DefaultApiService) VmAddVsockPutExecute(r ApiVmAddVsockPutRequest) (Pci
|
||||
return localVarReturnValue, localVarHTTPResponse, nil
|
||||
}
|
||||
|
||||
type ApiVmCoredumpPutRequest struct {
|
||||
ctx _context.Context
|
||||
ApiService *DefaultApiService
|
||||
vmCoredumpData *VmCoredumpData
|
||||
}
|
||||
|
||||
// The coredump configuration
|
||||
func (r ApiVmCoredumpPutRequest) VmCoredumpData(vmCoredumpData VmCoredumpData) ApiVmCoredumpPutRequest {
|
||||
r.vmCoredumpData = &vmCoredumpData
|
||||
return r
|
||||
}
|
||||
|
||||
func (r ApiVmCoredumpPutRequest) Execute() (*_nethttp.Response, error) {
|
||||
return r.ApiService.VmCoredumpPutExecute(r)
|
||||
}
|
||||
|
||||
/*
|
||||
VmCoredumpPut Takes a VM coredump.
|
||||
|
||||
@param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
|
||||
@return ApiVmCoredumpPutRequest
|
||||
*/
|
||||
func (a *DefaultApiService) VmCoredumpPut(ctx _context.Context) ApiVmCoredumpPutRequest {
|
||||
return ApiVmCoredumpPutRequest{
|
||||
ApiService: a,
|
||||
ctx: ctx,
|
||||
}
|
||||
}
|
||||
|
||||
// Execute executes the request
|
||||
func (a *DefaultApiService) VmCoredumpPutExecute(r ApiVmCoredumpPutRequest) (*_nethttp.Response, error) {
|
||||
var (
|
||||
localVarHTTPMethod = _nethttp.MethodPut
|
||||
localVarPostBody interface{}
|
||||
localVarFormFileName string
|
||||
localVarFileName string
|
||||
localVarFileBytes []byte
|
||||
)
|
||||
|
||||
localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DefaultApiService.VmCoredumpPut")
|
||||
if err != nil {
|
||||
return nil, GenericOpenAPIError{error: err.Error()}
|
||||
}
|
||||
|
||||
localVarPath := localBasePath + "/vm.coredump"
|
||||
|
||||
localVarHeaderParams := make(map[string]string)
|
||||
localVarQueryParams := _neturl.Values{}
|
||||
localVarFormParams := _neturl.Values{}
|
||||
if r.vmCoredumpData == nil {
|
||||
return nil, reportError("vmCoredumpData is required and must be specified")
|
||||
}
|
||||
|
||||
// to determine the Content-Type header
|
||||
localVarHTTPContentTypes := []string{"application/json"}
|
||||
|
||||
// set Content-Type header
|
||||
localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
|
||||
if localVarHTTPContentType != "" {
|
||||
localVarHeaderParams["Content-Type"] = localVarHTTPContentType
|
||||
}
|
||||
|
||||
// to determine the Accept header
|
||||
localVarHTTPHeaderAccepts := []string{}
|
||||
|
||||
// set Accept header
|
||||
localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
|
||||
if localVarHTTPHeaderAccept != "" {
|
||||
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
|
||||
}
|
||||
// body params
|
||||
localVarPostBody = r.vmCoredumpData
|
||||
req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
localVarHTTPResponse, err := a.client.callAPI(req)
|
||||
if err != nil || localVarHTTPResponse == nil {
|
||||
return localVarHTTPResponse, err
|
||||
}
|
||||
|
||||
localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
|
||||
localVarHTTPResponse.Body.Close()
|
||||
localVarHTTPResponse.Body = _ioutil.NopCloser(bytes.NewBuffer(localVarBody))
|
||||
if err != nil {
|
||||
return localVarHTTPResponse, err
|
||||
}
|
||||
|
||||
if localVarHTTPResponse.StatusCode >= 300 {
|
||||
newErr := GenericOpenAPIError{
|
||||
body: localVarBody,
|
||||
error: localVarHTTPResponse.Status,
|
||||
}
|
||||
return localVarHTTPResponse, newErr
|
||||
}
|
||||
|
||||
return localVarHTTPResponse, nil
|
||||
}
|
||||
|
||||
type ApiVmCountersGetRequest struct {
|
||||
ctx _context.Context
|
||||
ApiService *DefaultApiService
|
||||
|
@ -7,6 +7,7 @@ Name | Type | Description | Notes
|
||||
**BootVcpus** | **int32** | | [default to 1]
|
||||
**MaxVcpus** | **int32** | | [default to 1]
|
||||
**Topology** | Pointer to [**CpuTopology**](CpuTopology.md) | | [optional]
|
||||
**KvmHyperv** | Pointer to **bool** | | [optional] [default to false]
|
||||
**MaxPhysBits** | Pointer to **int32** | | [optional]
|
||||
**Affinity** | Pointer to [**[]CpuAffinity**](CpuAffinity.md) | | [optional]
|
||||
**Features** | Pointer to [**CpuFeatures**](CpuFeatures.md) | | [optional]
|
||||
@ -95,6 +96,31 @@ SetTopology sets Topology field to given value.
|
||||
|
||||
HasTopology returns a boolean if a field has been set.
|
||||
|
||||
### GetKvmHyperv
|
||||
|
||||
`func (o *CpusConfig) GetKvmHyperv() bool`
|
||||
|
||||
GetKvmHyperv returns the KvmHyperv field if non-nil, zero value otherwise.
|
||||
|
||||
### GetKvmHypervOk
|
||||
|
||||
`func (o *CpusConfig) GetKvmHypervOk() (*bool, bool)`
|
||||
|
||||
GetKvmHypervOk returns a tuple with the KvmHyperv field if it's non-nil, zero value otherwise
|
||||
and a boolean to check if the value has been set.
|
||||
|
||||
### SetKvmHyperv
|
||||
|
||||
`func (o *CpusConfig) SetKvmHyperv(v bool)`
|
||||
|
||||
SetKvmHyperv sets KvmHyperv field to given value.
|
||||
|
||||
### HasKvmHyperv
|
||||
|
||||
`func (o *CpusConfig) HasKvmHyperv() bool`
|
||||
|
||||
HasKvmHyperv returns a boolean if a field has been set.
|
||||
|
||||
### GetMaxPhysBits
|
||||
|
||||
`func (o *CpusConfig) GetMaxPhysBits() int32`
|
||||
|
@ -20,6 +20,7 @@ Method | HTTP request | Description
|
||||
[**VmAddPmemPut**](DefaultApi.md#VmAddPmemPut) | **Put** /vm.add-pmem | Add a new pmem device to the VM
|
||||
[**VmAddVdpaPut**](DefaultApi.md#VmAddVdpaPut) | **Put** /vm.add-vdpa | Add a new vDPA device to the VM
|
||||
[**VmAddVsockPut**](DefaultApi.md#VmAddVsockPut) | **Put** /vm.add-vsock | Add a new vsock device to the VM
|
||||
[**VmCoredumpPut**](DefaultApi.md#VmCoredumpPut) | **Put** /vm.coredump | Takes a VM coredump.
|
||||
[**VmCountersGet**](DefaultApi.md#VmCountersGet) | **Get** /vm.counters | Get counters from the VM
|
||||
[**VmInfoGet**](DefaultApi.md#VmInfoGet) | **Get** /vm.info | Returns general information about the cloud-hypervisor Virtual Machine (VM) instance.
|
||||
[**VmReceiveMigrationPut**](DefaultApi.md#VmReceiveMigrationPut) | **Put** /vm.receive-migration | Receive a VM migration from URL
|
||||
@ -698,7 +699,7 @@ import (
|
||||
)
|
||||
|
||||
func main() {
|
||||
fsConfig := *openapiclient.NewFsConfig("Tag_example", "Socket_example", int32(123), int32(123), false, int64(123)) // FsConfig | The details of the new virtio-fs
|
||||
fsConfig := *openapiclient.NewFsConfig("Tag_example", "Socket_example", int32(123), int32(123)) // FsConfig | The details of the new virtio-fs
|
||||
|
||||
configuration := openapiclient.NewConfiguration()
|
||||
api_client := openapiclient.NewAPIClient(configuration)
|
||||
@ -999,6 +1000,68 @@ No authorization required
|
||||
[[Back to README]](../README.md)
|
||||
|
||||
|
||||
## VmCoredumpPut
|
||||
|
||||
> VmCoredumpPut(ctx).VmCoredumpData(vmCoredumpData).Execute()
|
||||
|
||||
Takes a VM coredump.
|
||||
|
||||
### Example
|
||||
|
||||
```go
|
||||
package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"os"
|
||||
openapiclient "./openapi"
|
||||
)
|
||||
|
||||
func main() {
|
||||
vmCoredumpData := *openapiclient.NewVmCoredumpData() // VmCoredumpData | The coredump configuration
|
||||
|
||||
configuration := openapiclient.NewConfiguration()
|
||||
api_client := openapiclient.NewAPIClient(configuration)
|
||||
resp, r, err := api_client.DefaultApi.VmCoredumpPut(context.Background()).VmCoredumpData(vmCoredumpData).Execute()
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "Error when calling `DefaultApi.VmCoredumpPut``: %v\n", err)
|
||||
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Path Parameters
|
||||
|
||||
|
||||
|
||||
### Other Parameters
|
||||
|
||||
Other parameters are passed through a pointer to a apiVmCoredumpPutRequest struct via the builder pattern
|
||||
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**vmCoredumpData** | [**VmCoredumpData**](VmCoredumpData.md) | The coredump configuration |
|
||||
|
||||
### Return type
|
||||
|
||||
(empty response body)
|
||||
|
||||
### Authorization
|
||||
|
||||
No authorization required
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: application/json
|
||||
- **Accept**: Not defined
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints)
|
||||
[[Back to Model list]](../README.md#documentation-for-models)
|
||||
[[Back to README]](../README.md)
|
||||
|
||||
|
||||
## VmCountersGet
|
||||
|
||||
> map[string]map[string]int64 VmCountersGet(ctx).Execute()
|
||||
|
@ -8,8 +8,6 @@ Name | Type | Description | Notes
|
||||
**Socket** | **string** | |
|
||||
**NumQueues** | **int32** | | [default to 1]
|
||||
**QueueSize** | **int32** | | [default to 1024]
|
||||
**Dax** | **bool** | | [default to true]
|
||||
**CacheSize** | **int64** | |
|
||||
**PciSegment** | Pointer to **int32** | | [optional]
|
||||
**Id** | Pointer to **string** | | [optional]
|
||||
|
||||
@ -17,7 +15,7 @@ Name | Type | Description | Notes
|
||||
|
||||
### NewFsConfig
|
||||
|
||||
`func NewFsConfig(tag string, socket string, numQueues int32, queueSize int32, dax bool, cacheSize int64, ) *FsConfig`
|
||||
`func NewFsConfig(tag string, socket string, numQueues int32, queueSize int32, ) *FsConfig`
|
||||
|
||||
NewFsConfig instantiates a new FsConfig object
|
||||
This constructor will assign default values to properties that have it defined,
|
||||
@ -112,46 +110,6 @@ and a boolean to check if the value has been set.
|
||||
SetQueueSize sets QueueSize field to given value.
|
||||
|
||||
|
||||
### GetDax
|
||||
|
||||
`func (o *FsConfig) GetDax() bool`
|
||||
|
||||
GetDax returns the Dax field if non-nil, zero value otherwise.
|
||||
|
||||
### GetDaxOk
|
||||
|
||||
`func (o *FsConfig) GetDaxOk() (*bool, bool)`
|
||||
|
||||
GetDaxOk returns a tuple with the Dax field if it's non-nil, zero value otherwise
|
||||
and a boolean to check if the value has been set.
|
||||
|
||||
### SetDax
|
||||
|
||||
`func (o *FsConfig) SetDax(v bool)`
|
||||
|
||||
SetDax sets Dax field to given value.
|
||||
|
||||
|
||||
### GetCacheSize
|
||||
|
||||
`func (o *FsConfig) GetCacheSize() int64`
|
||||
|
||||
GetCacheSize returns the CacheSize field if non-nil, zero value otherwise.
|
||||
|
||||
### GetCacheSizeOk
|
||||
|
||||
`func (o *FsConfig) GetCacheSizeOk() (*int64, bool)`
|
||||
|
||||
GetCacheSizeOk returns a tuple with the CacheSize field if it's non-nil, zero value otherwise
|
||||
and a boolean to check if the value has been set.
|
||||
|
||||
### SetCacheSize
|
||||
|
||||
`func (o *FsConfig) SetCacheSize(v int64)`
|
||||
|
||||
SetCacheSize sets CacheSize field to given value.
|
||||
|
||||
|
||||
### GetPciSegment
|
||||
|
||||
`func (o *FsConfig) GetPciSegment() int32`
|
||||
|
@ -7,7 +7,6 @@ Name | Type | Description | Notes
|
||||
**File** | **string** | |
|
||||
**Size** | Pointer to **int64** | | [optional]
|
||||
**Iommu** | Pointer to **bool** | | [optional] [default to false]
|
||||
**Mergeable** | Pointer to **bool** | | [optional] [default to false]
|
||||
**DiscardWrites** | Pointer to **bool** | | [optional] [default to false]
|
||||
**PciSegment** | Pointer to **int32** | | [optional]
|
||||
**Id** | Pointer to **string** | | [optional]
|
||||
@ -101,31 +100,6 @@ SetIommu sets Iommu field to given value.
|
||||
|
||||
HasIommu returns a boolean if a field has been set.
|
||||
|
||||
### GetMergeable
|
||||
|
||||
`func (o *PmemConfig) GetMergeable() bool`
|
||||
|
||||
GetMergeable returns the Mergeable field if non-nil, zero value otherwise.
|
||||
|
||||
### GetMergeableOk
|
||||
|
||||
`func (o *PmemConfig) GetMergeableOk() (*bool, bool)`
|
||||
|
||||
GetMergeableOk returns a tuple with the Mergeable field if it's non-nil, zero value otherwise
|
||||
and a boolean to check if the value has been set.
|
||||
|
||||
### SetMergeable
|
||||
|
||||
`func (o *PmemConfig) SetMergeable(v bool)`
|
||||
|
||||
SetMergeable sets Mergeable field to given value.
|
||||
|
||||
### HasMergeable
|
||||
|
||||
`func (o *PmemConfig) HasMergeable() bool`
|
||||
|
||||
HasMergeable returns a boolean if a field has been set.
|
||||
|
||||
### GetDiscardWrites
|
||||
|
||||
`func (o *PmemConfig) GetDiscardWrites() bool`
|
||||
|
@ -0,0 +1,56 @@
|
||||
# VmCoredumpData
|
||||
|
||||
## Properties
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**DestinationUrl** | Pointer to **string** | | [optional]
|
||||
|
||||
## Methods
|
||||
|
||||
### NewVmCoredumpData
|
||||
|
||||
`func NewVmCoredumpData() *VmCoredumpData`
|
||||
|
||||
NewVmCoredumpData instantiates a new VmCoredumpData object
|
||||
This constructor will assign default values to properties that have it defined,
|
||||
and makes sure properties required by API are set, but the set of arguments
|
||||
will change when the set of required properties is changed
|
||||
|
||||
### NewVmCoredumpDataWithDefaults
|
||||
|
||||
`func NewVmCoredumpDataWithDefaults() *VmCoredumpData`
|
||||
|
||||
NewVmCoredumpDataWithDefaults instantiates a new VmCoredumpData object
|
||||
This constructor will only assign default values to properties that have it defined,
|
||||
but it doesn't guarantee that properties required by API are set
|
||||
|
||||
### GetDestinationUrl
|
||||
|
||||
`func (o *VmCoredumpData) GetDestinationUrl() string`
|
||||
|
||||
GetDestinationUrl returns the DestinationUrl field if non-nil, zero value otherwise.
|
||||
|
||||
### GetDestinationUrlOk
|
||||
|
||||
`func (o *VmCoredumpData) GetDestinationUrlOk() (*string, bool)`
|
||||
|
||||
GetDestinationUrlOk returns a tuple with the DestinationUrl field if it's non-nil, zero value otherwise
|
||||
and a boolean to check if the value has been set.
|
||||
|
||||
### SetDestinationUrl
|
||||
|
||||
`func (o *VmCoredumpData) SetDestinationUrl(v string)`
|
||||
|
||||
SetDestinationUrl sets DestinationUrl field to given value.
|
||||
|
||||
### HasDestinationUrl
|
||||
|
||||
`func (o *VmCoredumpData) HasDestinationUrl() bool`
|
||||
|
||||
HasDestinationUrl returns a boolean if a field has been set.
|
||||
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
@ -19,6 +19,7 @@ type CpusConfig struct {
|
||||
BootVcpus int32 `json:"boot_vcpus"`
|
||||
MaxVcpus int32 `json:"max_vcpus"`
|
||||
Topology *CpuTopology `json:"topology,omitempty"`
|
||||
KvmHyperv *bool `json:"kvm_hyperv,omitempty"`
|
||||
MaxPhysBits *int32 `json:"max_phys_bits,omitempty"`
|
||||
Affinity *[]CpuAffinity `json:"affinity,omitempty"`
|
||||
Features *CpuFeatures `json:"features,omitempty"`
|
||||
@ -32,6 +33,8 @@ func NewCpusConfig(bootVcpus int32, maxVcpus int32) *CpusConfig {
|
||||
this := CpusConfig{}
|
||||
this.BootVcpus = bootVcpus
|
||||
this.MaxVcpus = maxVcpus
|
||||
var kvmHyperv bool = false
|
||||
this.KvmHyperv = &kvmHyperv
|
||||
return &this
|
||||
}
|
||||
|
||||
@ -44,6 +47,8 @@ func NewCpusConfigWithDefaults() *CpusConfig {
|
||||
this.BootVcpus = bootVcpus
|
||||
var maxVcpus int32 = 1
|
||||
this.MaxVcpus = maxVcpus
|
||||
var kvmHyperv bool = false
|
||||
this.KvmHyperv = &kvmHyperv
|
||||
return &this
|
||||
}
|
||||
|
||||
@ -127,6 +132,38 @@ func (o *CpusConfig) SetTopology(v CpuTopology) {
|
||||
o.Topology = &v
|
||||
}
|
||||
|
||||
// GetKvmHyperv returns the KvmHyperv field value if set, zero value otherwise.
|
||||
func (o *CpusConfig) GetKvmHyperv() bool {
|
||||
if o == nil || o.KvmHyperv == nil {
|
||||
var ret bool
|
||||
return ret
|
||||
}
|
||||
return *o.KvmHyperv
|
||||
}
|
||||
|
||||
// GetKvmHypervOk returns a tuple with the KvmHyperv field value if set, nil otherwise
|
||||
// and a boolean to check if the value has been set.
|
||||
func (o *CpusConfig) GetKvmHypervOk() (*bool, bool) {
|
||||
if o == nil || o.KvmHyperv == nil {
|
||||
return nil, false
|
||||
}
|
||||
return o.KvmHyperv, true
|
||||
}
|
||||
|
||||
// HasKvmHyperv returns a boolean if a field has been set.
|
||||
func (o *CpusConfig) HasKvmHyperv() bool {
|
||||
if o != nil && o.KvmHyperv != nil {
|
||||
return true
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
// SetKvmHyperv gets a reference to the given bool and assigns it to the KvmHyperv field.
|
||||
func (o *CpusConfig) SetKvmHyperv(v bool) {
|
||||
o.KvmHyperv = &v
|
||||
}
|
||||
|
||||
// GetMaxPhysBits returns the MaxPhysBits field value if set, zero value otherwise.
|
||||
func (o *CpusConfig) GetMaxPhysBits() int32 {
|
||||
if o == nil || o.MaxPhysBits == nil {
|
||||
@ -234,6 +271,9 @@ func (o CpusConfig) MarshalJSON() ([]byte, error) {
|
||||
if o.Topology != nil {
|
||||
toSerialize["topology"] = o.Topology
|
||||
}
|
||||
if o.KvmHyperv != nil {
|
||||
toSerialize["kvm_hyperv"] = o.KvmHyperv
|
||||
}
|
||||
if o.MaxPhysBits != nil {
|
||||
toSerialize["max_phys_bits"] = o.MaxPhysBits
|
||||
}
|
||||
|
@ -20,8 +20,6 @@ type FsConfig struct {
|
||||
Socket string `json:"socket"`
|
||||
NumQueues int32 `json:"num_queues"`
|
||||
QueueSize int32 `json:"queue_size"`
|
||||
Dax bool `json:"dax"`
|
||||
CacheSize int64 `json:"cache_size"`
|
||||
PciSegment *int32 `json:"pci_segment,omitempty"`
|
||||
Id *string `json:"id,omitempty"`
|
||||
}
|
||||
@ -30,14 +28,12 @@ type FsConfig struct {
|
||||
// This constructor will assign default values to properties that have it defined,
|
||||
// and makes sure properties required by API are set, but the set of arguments
|
||||
// will change when the set of required properties is changed
|
||||
func NewFsConfig(tag string, socket string, numQueues int32, queueSize int32, dax bool, cacheSize int64) *FsConfig {
|
||||
func NewFsConfig(tag string, socket string, numQueues int32, queueSize int32) *FsConfig {
|
||||
this := FsConfig{}
|
||||
this.Tag = tag
|
||||
this.Socket = socket
|
||||
this.NumQueues = numQueues
|
||||
this.QueueSize = queueSize
|
||||
this.Dax = dax
|
||||
this.CacheSize = cacheSize
|
||||
return &this
|
||||
}
|
||||
|
||||
@ -50,8 +46,6 @@ func NewFsConfigWithDefaults() *FsConfig {
|
||||
this.NumQueues = numQueues
|
||||
var queueSize int32 = 1024
|
||||
this.QueueSize = queueSize
|
||||
var dax bool = true
|
||||
this.Dax = dax
|
||||
return &this
|
||||
}
|
||||
|
||||
@ -151,54 +145,6 @@ func (o *FsConfig) SetQueueSize(v int32) {
|
||||
o.QueueSize = v
|
||||
}
|
||||
|
||||
// GetDax returns the Dax field value
|
||||
func (o *FsConfig) GetDax() bool {
|
||||
if o == nil {
|
||||
var ret bool
|
||||
return ret
|
||||
}
|
||||
|
||||
return o.Dax
|
||||
}
|
||||
|
||||
// GetDaxOk returns a tuple with the Dax field value
|
||||
// and a boolean to check if the value has been set.
|
||||
func (o *FsConfig) GetDaxOk() (*bool, bool) {
|
||||
if o == nil {
|
||||
return nil, false
|
||||
}
|
||||
return &o.Dax, true
|
||||
}
|
||||
|
||||
// SetDax sets field value
|
||||
func (o *FsConfig) SetDax(v bool) {
|
||||
o.Dax = v
|
||||
}
|
||||
|
||||
// GetCacheSize returns the CacheSize field value
|
||||
func (o *FsConfig) GetCacheSize() int64 {
|
||||
if o == nil {
|
||||
var ret int64
|
||||
return ret
|
||||
}
|
||||
|
||||
return o.CacheSize
|
||||
}
|
||||
|
||||
// GetCacheSizeOk returns a tuple with the CacheSize field value
|
||||
// and a boolean to check if the value has been set.
|
||||
func (o *FsConfig) GetCacheSizeOk() (*int64, bool) {
|
||||
if o == nil {
|
||||
return nil, false
|
||||
}
|
||||
return &o.CacheSize, true
|
||||
}
|
||||
|
||||
// SetCacheSize sets field value
|
||||
func (o *FsConfig) SetCacheSize(v int64) {
|
||||
o.CacheSize = v
|
||||
}
|
||||
|
||||
// GetPciSegment returns the PciSegment field value if set, zero value otherwise.
|
||||
func (o *FsConfig) GetPciSegment() int32 {
|
||||
if o == nil || o.PciSegment == nil {
|
||||
@ -277,12 +223,6 @@ func (o FsConfig) MarshalJSON() ([]byte, error) {
|
||||
if true {
|
||||
toSerialize["queue_size"] = o.QueueSize
|
||||
}
|
||||
if true {
|
||||
toSerialize["dax"] = o.Dax
|
||||
}
|
||||
if true {
|
||||
toSerialize["cache_size"] = o.CacheSize
|
||||
}
|
||||
if o.PciSegment != nil {
|
||||
toSerialize["pci_segment"] = o.PciSegment
|
||||
}
|
||||
|
@ -19,7 +19,6 @@ type PmemConfig struct {
|
||||
File string `json:"file"`
|
||||
Size *int64 `json:"size,omitempty"`
|
||||
Iommu *bool `json:"iommu,omitempty"`
|
||||
Mergeable *bool `json:"mergeable,omitempty"`
|
||||
DiscardWrites *bool `json:"discard_writes,omitempty"`
|
||||
PciSegment *int32 `json:"pci_segment,omitempty"`
|
||||
Id *string `json:"id,omitempty"`
|
||||
@ -34,8 +33,6 @@ func NewPmemConfig(file string) *PmemConfig {
|
||||
this.File = file
|
||||
var iommu bool = false
|
||||
this.Iommu = &iommu
|
||||
var mergeable bool = false
|
||||
this.Mergeable = &mergeable
|
||||
var discardWrites bool = false
|
||||
this.DiscardWrites = &discardWrites
|
||||
return &this
|
||||
@ -48,8 +45,6 @@ func NewPmemConfigWithDefaults() *PmemConfig {
|
||||
this := PmemConfig{}
|
||||
var iommu bool = false
|
||||
this.Iommu = &iommu
|
||||
var mergeable bool = false
|
||||
this.Mergeable = &mergeable
|
||||
var discardWrites bool = false
|
||||
this.DiscardWrites = &discardWrites
|
||||
return &this
|
||||
@ -143,38 +138,6 @@ func (o *PmemConfig) SetIommu(v bool) {
|
||||
o.Iommu = &v
|
||||
}
|
||||
|
||||
// GetMergeable returns the Mergeable field value if set, zero value otherwise.
|
||||
func (o *PmemConfig) GetMergeable() bool {
|
||||
if o == nil || o.Mergeable == nil {
|
||||
var ret bool
|
||||
return ret
|
||||
}
|
||||
return *o.Mergeable
|
||||
}
|
||||
|
||||
// GetMergeableOk returns a tuple with the Mergeable field value if set, nil otherwise
|
||||
// and a boolean to check if the value has been set.
|
||||
func (o *PmemConfig) GetMergeableOk() (*bool, bool) {
|
||||
if o == nil || o.Mergeable == nil {
|
||||
return nil, false
|
||||
}
|
||||
return o.Mergeable, true
|
||||
}
|
||||
|
||||
// HasMergeable returns a boolean if a field has been set.
|
||||
func (o *PmemConfig) HasMergeable() bool {
|
||||
if o != nil && o.Mergeable != nil {
|
||||
return true
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
// SetMergeable gets a reference to the given bool and assigns it to the Mergeable field.
|
||||
func (o *PmemConfig) SetMergeable(v bool) {
|
||||
o.Mergeable = &v
|
||||
}
|
||||
|
||||
// GetDiscardWrites returns the DiscardWrites field value if set, zero value otherwise.
|
||||
func (o *PmemConfig) GetDiscardWrites() bool {
|
||||
if o == nil || o.DiscardWrites == nil {
|
||||
@ -282,9 +245,6 @@ func (o PmemConfig) MarshalJSON() ([]byte, error) {
|
||||
if o.Iommu != nil {
|
||||
toSerialize["iommu"] = o.Iommu
|
||||
}
|
||||
if o.Mergeable != nil {
|
||||
toSerialize["mergeable"] = o.Mergeable
|
||||
}
|
||||
if o.DiscardWrites != nil {
|
||||
toSerialize["discard_writes"] = o.DiscardWrites
|
||||
}
|
||||
|
@ -0,0 +1,113 @@
|
||||
/*
|
||||
Cloud Hypervisor API
|
||||
|
||||
Local HTTP based API for managing and inspecting a cloud-hypervisor virtual machine.
|
||||
|
||||
API version: 0.3.0
|
||||
*/
|
||||
|
||||
// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
|
||||
|
||||
package openapi
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
)
|
||||
|
||||
// VmCoredumpData struct for VmCoredumpData
|
||||
type VmCoredumpData struct {
|
||||
DestinationUrl *string `json:"destination_url,omitempty"`
|
||||
}
|
||||
|
||||
// NewVmCoredumpData instantiates a new VmCoredumpData object
|
||||
// This constructor will assign default values to properties that have it defined,
|
||||
// and makes sure properties required by API are set, but the set of arguments
|
||||
// will change when the set of required properties is changed
|
||||
func NewVmCoredumpData() *VmCoredumpData {
|
||||
this := VmCoredumpData{}
|
||||
return &this
|
||||
}
|
||||
|
||||
// NewVmCoredumpDataWithDefaults instantiates a new VmCoredumpData object
|
||||
// This constructor will only assign default values to properties that have it defined,
|
||||
// but it doesn't guarantee that properties required by API are set
|
||||
func NewVmCoredumpDataWithDefaults() *VmCoredumpData {
|
||||
this := VmCoredumpData{}
|
||||
return &this
|
||||
}
|
||||
|
||||
// GetDestinationUrl returns the DestinationUrl field value if set, zero value otherwise.
|
||||
func (o *VmCoredumpData) GetDestinationUrl() string {
|
||||
if o == nil || o.DestinationUrl == nil {
|
||||
var ret string
|
||||
return ret
|
||||
}
|
||||
return *o.DestinationUrl
|
||||
}
|
||||
|
||||
// GetDestinationUrlOk returns a tuple with the DestinationUrl field value if set, nil otherwise
|
||||
// and a boolean to check if the value has been set.
|
||||
func (o *VmCoredumpData) GetDestinationUrlOk() (*string, bool) {
|
||||
if o == nil || o.DestinationUrl == nil {
|
||||
return nil, false
|
||||
}
|
||||
return o.DestinationUrl, true
|
||||
}
|
||||
|
||||
// HasDestinationUrl returns a boolean if a field has been set.
|
||||
func (o *VmCoredumpData) HasDestinationUrl() bool {
|
||||
if o != nil && o.DestinationUrl != nil {
|
||||
return true
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
// SetDestinationUrl gets a reference to the given string and assigns it to the DestinationUrl field.
|
||||
func (o *VmCoredumpData) SetDestinationUrl(v string) {
|
||||
o.DestinationUrl = &v
|
||||
}
|
||||
|
||||
func (o VmCoredumpData) MarshalJSON() ([]byte, error) {
|
||||
toSerialize := map[string]interface{}{}
|
||||
if o.DestinationUrl != nil {
|
||||
toSerialize["destination_url"] = o.DestinationUrl
|
||||
}
|
||||
return json.Marshal(toSerialize)
|
||||
}
|
||||
|
||||
type NullableVmCoredumpData struct {
|
||||
value *VmCoredumpData
|
||||
isSet bool
|
||||
}
|
||||
|
||||
func (v NullableVmCoredumpData) Get() *VmCoredumpData {
|
||||
return v.value
|
||||
}
|
||||
|
||||
func (v *NullableVmCoredumpData) Set(val *VmCoredumpData) {
|
||||
v.value = val
|
||||
v.isSet = true
|
||||
}
|
||||
|
||||
func (v NullableVmCoredumpData) IsSet() bool {
|
||||
return v.isSet
|
||||
}
|
||||
|
||||
func (v *NullableVmCoredumpData) Unset() {
|
||||
v.value = nil
|
||||
v.isSet = false
|
||||
}
|
||||
|
||||
func NewNullableVmCoredumpData(val *VmCoredumpData) *NullableVmCoredumpData {
|
||||
return &NullableVmCoredumpData{value: val, isSet: true}
|
||||
}
|
||||
|
||||
func (v NullableVmCoredumpData) MarshalJSON() ([]byte, error) {
|
||||
return json.Marshal(v.value)
|
||||
}
|
||||
|
||||
func (v *NullableVmCoredumpData) UnmarshalJSON(src []byte) error {
|
||||
v.isSet = true
|
||||
return json.Unmarshal(src, &v.value)
|
||||
}
|
@ -366,6 +366,24 @@ paths:
|
||||
405:
|
||||
description: The VM instance could not be snapshotted because it is not booted.
|
||||
|
||||
/vm.coredump:
|
||||
put:
|
||||
summary: Takes a VM coredump.
|
||||
requestBody:
|
||||
description: The coredump configuration
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/VmCoredumpData'
|
||||
required: true
|
||||
responses:
|
||||
204:
|
||||
description: The VM instance was successfully coredumped.
|
||||
404:
|
||||
description: The VM instance could not be coredumped because it is not created.
|
||||
405:
|
||||
description: The VM instance could not be coredumped because it is not booted.
|
||||
|
||||
/vm.restore:
|
||||
put:
|
||||
summary: Restore a VM from a snapshot.
|
||||
@ -596,6 +614,9 @@ components:
|
||||
type: integer
|
||||
topology:
|
||||
$ref: '#/components/schemas/CpuTopology'
|
||||
kvm_hyperv:
|
||||
type: boolean
|
||||
default: false
|
||||
max_phys_bits:
|
||||
type: integer
|
||||
affinity:
|
||||
@ -870,8 +891,6 @@ components:
|
||||
|
||||
FsConfig:
|
||||
required:
|
||||
- cache_size
|
||||
- dax
|
||||
- num_queues
|
||||
- queue_size
|
||||
- socket
|
||||
@ -888,13 +907,6 @@ components:
|
||||
queue_size:
|
||||
type: integer
|
||||
default: 1024
|
||||
dax:
|
||||
type: boolean
|
||||
default: true
|
||||
cache_size:
|
||||
type: integer
|
||||
format: int64
|
||||
default: 8589934592
|
||||
pci_segment:
|
||||
type: integer
|
||||
format: int16
|
||||
@ -914,9 +926,6 @@ components:
|
||||
iommu:
|
||||
type: boolean
|
||||
default: false
|
||||
mergeable:
|
||||
type: boolean
|
||||
default: false
|
||||
discard_writes:
|
||||
type: boolean
|
||||
default: false
|
||||
@ -1110,6 +1119,12 @@ components:
|
||||
destination_url:
|
||||
type: string
|
||||
|
||||
VmCoredumpData:
|
||||
type: object
|
||||
properties:
|
||||
destination_url:
|
||||
type: string
|
||||
|
||||
RestoreConfig:
|
||||
required:
|
||||
- source_url
|
||||
|
@ -75,7 +75,7 @@ assets:
|
||||
url: "https://github.com/cloud-hypervisor/cloud-hypervisor"
|
||||
uscan-url: >-
|
||||
https://github.com/cloud-hypervisor/cloud-hypervisor/tags.*/v?(\d\S+)\.tar\.gz
|
||||
version: "v24.0"
|
||||
version: "v25.0"
|
||||
|
||||
firecracker:
|
||||
description: "Firecracker micro-VMM"
|
||||
|
Loading…
Reference in New Issue
Block a user