versions: Udpate Cloud Hypervisor to 55479a64d237

Let's update cloud-hypervisor to a version that exposes the TDx support
via the OpenAPI's auto-generated code.

Fixes: #3663

Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com>
This commit is contained in:
Fabiano Fidêncio 2022-02-14 17:20:27 +01:00
parent 1873fd2641
commit 90fd625d0c
15 changed files with 751 additions and 172 deletions

View File

@ -25,6 +25,7 @@ docs/NetConfig.md
docs/NumaConfig.md docs/NumaConfig.md
docs/NumaDistance.md docs/NumaDistance.md
docs/PciDeviceInfo.md docs/PciDeviceInfo.md
docs/PlatformConfig.md
docs/PmemConfig.md docs/PmemConfig.md
docs/RateLimiterConfig.md docs/RateLimiterConfig.md
docs/ReceiveMigrationData.md docs/ReceiveMigrationData.md
@ -32,6 +33,7 @@ docs/RestoreConfig.md
docs/RngConfig.md docs/RngConfig.md
docs/SendMigrationData.md docs/SendMigrationData.md
docs/SgxEpcConfig.md docs/SgxEpcConfig.md
docs/TdxConfig.md
docs/TokenBucket.md docs/TokenBucket.md
docs/VmAddDevice.md docs/VmAddDevice.md
docs/VmConfig.md docs/VmConfig.md
@ -63,6 +65,7 @@ model_net_config.go
model_numa_config.go model_numa_config.go
model_numa_distance.go model_numa_distance.go
model_pci_device_info.go model_pci_device_info.go
model_platform_config.go
model_pmem_config.go model_pmem_config.go
model_rate_limiter_config.go model_rate_limiter_config.go
model_receive_migration_data.go model_receive_migration_data.go
@ -70,6 +73,7 @@ model_restore_config.go
model_rng_config.go model_rng_config.go
model_send_migration_data.go model_send_migration_data.go
model_sgx_epc_config.go model_sgx_epc_config.go
model_tdx_config.go
model_token_bucket.go model_token_bucket.go
model_vm_add_device.go model_vm_add_device.go
model_vm_config.go model_vm_config.go

View File

@ -125,6 +125,7 @@ Class | Method | HTTP request | Description
- [NumaConfig](docs/NumaConfig.md) - [NumaConfig](docs/NumaConfig.md)
- [NumaDistance](docs/NumaDistance.md) - [NumaDistance](docs/NumaDistance.md)
- [PciDeviceInfo](docs/PciDeviceInfo.md) - [PciDeviceInfo](docs/PciDeviceInfo.md)
- [PlatformConfig](docs/PlatformConfig.md)
- [PmemConfig](docs/PmemConfig.md) - [PmemConfig](docs/PmemConfig.md)
- [RateLimiterConfig](docs/RateLimiterConfig.md) - [RateLimiterConfig](docs/RateLimiterConfig.md)
- [ReceiveMigrationData](docs/ReceiveMigrationData.md) - [ReceiveMigrationData](docs/ReceiveMigrationData.md)
@ -132,6 +133,7 @@ Class | Method | HTTP request | Description
- [RngConfig](docs/RngConfig.md) - [RngConfig](docs/RngConfig.md)
- [SendMigrationData](docs/SendMigrationData.md) - [SendMigrationData](docs/SendMigrationData.md)
- [SgxEpcConfig](docs/SgxEpcConfig.md) - [SgxEpcConfig](docs/SgxEpcConfig.md)
- [TdxConfig](docs/TdxConfig.md)
- [TokenBucket](docs/TokenBucket.md) - [TokenBucket](docs/TokenBucket.md)
- [VmAddDevice](docs/VmAddDevice.md) - [VmAddDevice](docs/VmAddDevice.md)
- [VmConfig](docs/VmConfig.md) - [VmConfig](docs/VmConfig.md)

View File

@ -374,7 +374,7 @@ components:
VmInfo: VmInfo:
description: Virtual Machine information description: Virtual Machine information
example: example:
memory_actual_size: 7 memory_actual_size: 3
state: Created state: Created
config: config:
console: console:
@ -382,8 +382,9 @@ components:
file: file file: file
iommu: false iommu: false
balloon: balloon:
size: 1 size: 6
deflate_on_oom: false deflate_on_oom: false
free_page_reporting: false
memory: memory:
hugepages: false hugepages: false
shared: false shared: false
@ -489,80 +490,87 @@ components:
path: path path: path
numa: numa:
- distances: - distances:
- distance: 8 - distance: 4
destination: 4 destination: 0
- distance: 8 - distance: 4
destination: 4 destination: 0
cpus: cpus:
- 0 - 6
- 0 - 6
sgx_epc_sections: sgx_epc_sections:
- sgx_epc_sections - sgx_epc_sections
- sgx_epc_sections - sgx_epc_sections
memory_zones: memory_zones:
- memory_zones - memory_zones
- memory_zones - memory_zones
guest_numa_id: 6 guest_numa_id: 7
- distances: - distances:
- distance: 8 - distance: 4
destination: 4 destination: 0
- distance: 8 - distance: 4
destination: 4 destination: 0
cpus: cpus:
- 0 - 6
- 0 - 6
sgx_epc_sections: sgx_epc_sections:
- sgx_epc_sections - sgx_epc_sections
- sgx_epc_sections - sgx_epc_sections
memory_zones: memory_zones:
- memory_zones - memory_zones
- memory_zones - memory_zones
guest_numa_id: 6 guest_numa_id: 7
tdx:
firmware: firmware
rng: rng:
iommu: false iommu: false
src: /dev/urandom src: /dev/urandom
sgx_epc: sgx_epc:
- prefault: false - prefault: false
size: 7 size: 0
id: id id: id
- prefault: false - prefault: false
size: 7 size: 0
id: id id: id
fs: fs:
- pci_segment: 5 - pci_segment: 6
num_queues: 2 num_queues: 1
queue_size: 6 queue_size: 2
cache_size: 6 cache_size: 6
dax: true dax: true
tag: tag tag: tag
socket: socket socket: socket
id: id id: id
- pci_segment: 5 - pci_segment: 6
num_queues: 2 num_queues: 1
queue_size: 6 queue_size: 2
cache_size: 6 cache_size: 6
dax: true dax: true
tag: tag tag: tag
socket: socket socket: socket
id: id id: id
vsock: vsock:
pci_segment: 0 pci_segment: 7
iommu: false iommu: false
socket: socket socket: socket
id: id id: id
cid: 3 cid: 3
platform:
iommu_segments:
- 7
- 7
num_pci_segments: 8
pmem: pmem:
- pci_segment: 3 - pci_segment: 6
mergeable: false mergeable: false
file: file file: file
size: 6 size: 5
iommu: false iommu: false
id: id id: id
discard_writes: false discard_writes: false
- pci_segment: 3 - pci_segment: 6
mergeable: false mergeable: false
file: file file: file
size: 6 size: 5
iommu: false iommu: false
id: id id: id
discard_writes: false discard_writes: false
@ -591,12 +599,9 @@ components:
one_time_burst: 0 one_time_burst: 0
refill_time: 0 refill_time: 0
mac: mac mac: mac
pci_segment: 6 pci_segment: 3
vhost_mode: Client vhost_mode: Client
iommu: false iommu: false
fds:
- 3
- 3
vhost_socket: vhost_socket vhost_socket: vhost_socket
vhost_user: false vhost_user: false
id: id id: id
@ -615,12 +620,9 @@ components:
one_time_burst: 0 one_time_burst: 0
refill_time: 0 refill_time: 0
mac: mac mac: mac
pci_segment: 6 pci_segment: 3
vhost_mode: Client vhost_mode: Client
iommu: false iommu: false
fds:
- 3
- 3
vhost_socket: vhost_socket vhost_socket: vhost_socket
vhost_user: false vhost_user: false
id: id id: id
@ -710,8 +712,9 @@ components:
file: file file: file
iommu: false iommu: false
balloon: balloon:
size: 1 size: 6
deflate_on_oom: false deflate_on_oom: false
free_page_reporting: false
memory: memory:
hugepages: false hugepages: false
shared: false shared: false
@ -817,80 +820,87 @@ components:
path: path path: path
numa: numa:
- distances: - distances:
- distance: 8 - distance: 4
destination: 4 destination: 0
- distance: 8 - distance: 4
destination: 4 destination: 0
cpus: cpus:
- 0 - 6
- 0 - 6
sgx_epc_sections: sgx_epc_sections:
- sgx_epc_sections - sgx_epc_sections
- sgx_epc_sections - sgx_epc_sections
memory_zones: memory_zones:
- memory_zones - memory_zones
- memory_zones - memory_zones
guest_numa_id: 6 guest_numa_id: 7
- distances: - distances:
- distance: 8 - distance: 4
destination: 4 destination: 0
- distance: 8 - distance: 4
destination: 4 destination: 0
cpus: cpus:
- 0 - 6
- 0 - 6
sgx_epc_sections: sgx_epc_sections:
- sgx_epc_sections - sgx_epc_sections
- sgx_epc_sections - sgx_epc_sections
memory_zones: memory_zones:
- memory_zones - memory_zones
- memory_zones - memory_zones
guest_numa_id: 6 guest_numa_id: 7
tdx:
firmware: firmware
rng: rng:
iommu: false iommu: false
src: /dev/urandom src: /dev/urandom
sgx_epc: sgx_epc:
- prefault: false - prefault: false
size: 7 size: 0
id: id id: id
- prefault: false - prefault: false
size: 7 size: 0
id: id id: id
fs: fs:
- pci_segment: 5 - pci_segment: 6
num_queues: 2 num_queues: 1
queue_size: 6 queue_size: 2
cache_size: 6 cache_size: 6
dax: true dax: true
tag: tag tag: tag
socket: socket socket: socket
id: id id: id
- pci_segment: 5 - pci_segment: 6
num_queues: 2 num_queues: 1
queue_size: 6 queue_size: 2
cache_size: 6 cache_size: 6
dax: true dax: true
tag: tag tag: tag
socket: socket socket: socket
id: id id: id
vsock: vsock:
pci_segment: 0 pci_segment: 7
iommu: false iommu: false
socket: socket socket: socket
id: id id: id
cid: 3 cid: 3
platform:
iommu_segments:
- 7
- 7
num_pci_segments: 8
pmem: pmem:
- pci_segment: 3 - pci_segment: 6
mergeable: false mergeable: false
file: file file: file
size: 6 size: 5
iommu: false iommu: false
id: id id: id
discard_writes: false discard_writes: false
- pci_segment: 3 - pci_segment: 6
mergeable: false mergeable: false
file: file file: file
size: 6 size: 5
iommu: false iommu: false
id: id id: id
discard_writes: false discard_writes: false
@ -919,12 +929,9 @@ components:
one_time_burst: 0 one_time_burst: 0
refill_time: 0 refill_time: 0
mac: mac mac: mac
pci_segment: 6 pci_segment: 3
vhost_mode: Client vhost_mode: Client
iommu: false iommu: false
fds:
- 3
- 3
vhost_socket: vhost_socket vhost_socket: vhost_socket
vhost_user: false vhost_user: false
id: id id: id
@ -943,12 +950,9 @@ components:
one_time_burst: 0 one_time_burst: 0
refill_time: 0 refill_time: 0
mac: mac mac: mac
pci_segment: 6 pci_segment: 3
vhost_mode: Client vhost_mode: Client
iommu: false iommu: false
fds:
- 3
- 3
vhost_socket: vhost_socket vhost_socket: vhost_socket
vhost_user: false vhost_user: false
id: id id: id
@ -998,6 +1002,8 @@ components:
items: items:
$ref: '#/components/schemas/SgxEpcConfig' $ref: '#/components/schemas/SgxEpcConfig'
type: array type: array
tdx:
$ref: '#/components/schemas/TdxConfig'
numa: numa:
items: items:
$ref: '#/components/schemas/NumaConfig' $ref: '#/components/schemas/NumaConfig'
@ -1008,6 +1014,8 @@ components:
watchdog: watchdog:
default: false default: false
type: boolean type: boolean
platform:
$ref: '#/components/schemas/PlatformConfig'
required: required:
- kernel - kernel
type: object type: object
@ -1081,6 +1089,22 @@ components:
- boot_vcpus - boot_vcpus
- max_vcpus - max_vcpus
type: object type: object
PlatformConfig:
example:
iommu_segments:
- 7
- 7
num_pci_segments: 8
properties:
num_pci_segments:
format: int16
type: integer
iommu_segments:
items:
format: int16
type: integer
type: array
type: object
MemoryZoneConfig: MemoryZoneConfig:
example: example:
hugepages: false hugepages: false
@ -1353,12 +1377,9 @@ components:
one_time_burst: 0 one_time_burst: 0
refill_time: 0 refill_time: 0
mac: mac mac: mac
pci_segment: 6 pci_segment: 3
vhost_mode: Client vhost_mode: Client
iommu: false iommu: false
fds:
- 3
- 3
vhost_socket: vhost_socket vhost_socket: vhost_socket
vhost_user: false vhost_user: false
id: id id: id
@ -1393,11 +1414,6 @@ components:
type: string type: string
id: id:
type: string type: string
fds:
items:
format: int32
type: integer
type: array
pci_segment: pci_segment:
format: int16 format: int16
type: integer type: integer
@ -1420,25 +1436,29 @@ components:
type: object type: object
BalloonConfig: BalloonConfig:
example: example:
size: 1 size: 6
deflate_on_oom: false deflate_on_oom: false
free_page_reporting: false
properties: properties:
size: size:
format: int64 format: int64
type: integer type: integer
deflate_on_oom: deflate_on_oom:
default: false default: false
description: Whether the balloon should deflate when the guest is under description: Deflate balloon when the guest is under memory pressure.
memory pressure. type: boolean
free_page_reporting:
default: false
description: Enable guest to report free pages.
type: boolean type: boolean
required: required:
- size - size
type: object type: object
FsConfig: FsConfig:
example: example:
pci_segment: 5 pci_segment: 6
num_queues: 2 num_queues: 1
queue_size: 6 queue_size: 2
cache_size: 6 cache_size: 6
dax: true dax: true
tag: tag tag: tag
@ -1476,10 +1496,10 @@ components:
type: object type: object
PmemConfig: PmemConfig:
example: example:
pci_segment: 3 pci_segment: 6
mergeable: false mergeable: false
file: file file: file
size: 6 size: 5
iommu: false iommu: false
id: id id: id
discard_writes: false discard_writes: false
@ -1550,7 +1570,7 @@ components:
type: object type: object
VsockConfig: VsockConfig:
example: example:
pci_segment: 0 pci_segment: 7
iommu: false iommu: false
socket: socket socket: socket
id: id id: id
@ -1579,7 +1599,7 @@ components:
SgxEpcConfig: SgxEpcConfig:
example: example:
prefault: false prefault: false
size: 7 size: 0
id: id id: id
properties: properties:
id: id:
@ -1594,10 +1614,21 @@ components:
- id - id
- size - size
type: object type: object
TdxConfig:
example:
firmware: firmware
properties:
firmware:
description: Path to the firmware that will be used to boot the TDx guest
up.
type: string
required:
- firmware
type: object
NumaDistance: NumaDistance:
example: example:
distance: 8 distance: 4
destination: 4 destination: 0
properties: properties:
destination: destination:
format: int32 format: int32
@ -1612,20 +1643,20 @@ components:
NumaConfig: NumaConfig:
example: example:
distances: distances:
- distance: 8 - distance: 4
destination: 4 destination: 0
- distance: 8 - distance: 4
destination: 4 destination: 0
cpus: cpus:
- 0 - 6
- 0 - 6
sgx_epc_sections: sgx_epc_sections:
- sgx_epc_sections - sgx_epc_sections
- sgx_epc_sections - sgx_epc_sections
memory_zones: memory_zones:
- memory_zones - memory_zones
- memory_zones - memory_zones
guest_numa_id: 6 guest_numa_id: 7
properties: properties:
guest_numa_id: guest_numa_id:
format: int32 format: int32

View File

@ -5,7 +5,8 @@
Name | Type | Description | Notes Name | Type | Description | Notes
------------ | ------------- | ------------- | ------------- ------------ | ------------- | ------------- | -------------
**Size** | **int64** | | **Size** | **int64** | |
**DeflateOnOom** | Pointer to **bool** | Whether the balloon should deflate when the guest is under memory pressure. | [optional] [default to false] **DeflateOnOom** | Pointer to **bool** | Deflate balloon when the guest is under memory pressure. | [optional] [default to false]
**FreePageReporting** | Pointer to **bool** | Enable guest to report free pages. | [optional] [default to false]
## Methods ## Methods
@ -71,6 +72,31 @@ SetDeflateOnOom sets DeflateOnOom field to given value.
HasDeflateOnOom returns a boolean if a field has been set. HasDeflateOnOom returns a boolean if a field has been set.
### GetFreePageReporting
`func (o *BalloonConfig) GetFreePageReporting() bool`
GetFreePageReporting returns the FreePageReporting field if non-nil, zero value otherwise.
### GetFreePageReportingOk
`func (o *BalloonConfig) GetFreePageReportingOk() (*bool, bool)`
GetFreePageReportingOk returns a tuple with the FreePageReporting field if it's non-nil, zero value otherwise
and a boolean to check if the value has been set.
### SetFreePageReporting
`func (o *BalloonConfig) SetFreePageReporting(v bool)`
SetFreePageReporting sets FreePageReporting field to given value.
### HasFreePageReporting
`func (o *BalloonConfig) HasFreePageReporting() bool`
HasFreePageReporting 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) [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -15,7 +15,6 @@ Name | Type | Description | Notes
**VhostSocket** | Pointer to **string** | | [optional] **VhostSocket** | Pointer to **string** | | [optional]
**VhostMode** | Pointer to **string** | | [optional] [default to "Client"] **VhostMode** | Pointer to **string** | | [optional] [default to "Client"]
**Id** | Pointer to **string** | | [optional] **Id** | Pointer to **string** | | [optional]
**Fds** | Pointer to **[]int32** | | [optional]
**PciSegment** | Pointer to **int32** | | [optional] **PciSegment** | Pointer to **int32** | | [optional]
**RateLimiterConfig** | Pointer to [**RateLimiterConfig**](RateLimiterConfig.md) | | [optional] **RateLimiterConfig** | Pointer to [**RateLimiterConfig**](RateLimiterConfig.md) | | [optional]
@ -313,31 +312,6 @@ SetId sets Id field to given value.
HasId returns a boolean if a field has been set. HasId returns a boolean if a field has been set.
### GetFds
`func (o *NetConfig) GetFds() []int32`
GetFds returns the Fds field if non-nil, zero value otherwise.
### GetFdsOk
`func (o *NetConfig) GetFdsOk() (*[]int32, bool)`
GetFdsOk returns a tuple with the Fds field if it's non-nil, zero value otherwise
and a boolean to check if the value has been set.
### SetFds
`func (o *NetConfig) SetFds(v []int32)`
SetFds sets Fds field to given value.
### HasFds
`func (o *NetConfig) HasFds() bool`
HasFds returns a boolean if a field has been set.
### GetPciSegment ### GetPciSegment
`func (o *NetConfig) GetPciSegment() int32` `func (o *NetConfig) GetPciSegment() int32`

View File

@ -0,0 +1,82 @@
# PlatformConfig
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**NumPciSegments** | Pointer to **int32** | | [optional]
**IommuSegments** | Pointer to **[]int32** | | [optional]
## Methods
### NewPlatformConfig
`func NewPlatformConfig() *PlatformConfig`
NewPlatformConfig instantiates a new PlatformConfig 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
### NewPlatformConfigWithDefaults
`func NewPlatformConfigWithDefaults() *PlatformConfig`
NewPlatformConfigWithDefaults instantiates a new PlatformConfig 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
### GetNumPciSegments
`func (o *PlatformConfig) GetNumPciSegments() int32`
GetNumPciSegments returns the NumPciSegments field if non-nil, zero value otherwise.
### GetNumPciSegmentsOk
`func (o *PlatformConfig) GetNumPciSegmentsOk() (*int32, bool)`
GetNumPciSegmentsOk returns a tuple with the NumPciSegments field if it's non-nil, zero value otherwise
and a boolean to check if the value has been set.
### SetNumPciSegments
`func (o *PlatformConfig) SetNumPciSegments(v int32)`
SetNumPciSegments sets NumPciSegments field to given value.
### HasNumPciSegments
`func (o *PlatformConfig) HasNumPciSegments() bool`
HasNumPciSegments returns a boolean if a field has been set.
### GetIommuSegments
`func (o *PlatformConfig) GetIommuSegments() []int32`
GetIommuSegments returns the IommuSegments field if non-nil, zero value otherwise.
### GetIommuSegmentsOk
`func (o *PlatformConfig) GetIommuSegmentsOk() (*[]int32, bool)`
GetIommuSegmentsOk returns a tuple with the IommuSegments field if it's non-nil, zero value otherwise
and a boolean to check if the value has been set.
### SetIommuSegments
`func (o *PlatformConfig) SetIommuSegments(v []int32)`
SetIommuSegments sets IommuSegments field to given value.
### HasIommuSegments
`func (o *PlatformConfig) HasIommuSegments() bool`
HasIommuSegments 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)

View File

@ -0,0 +1,51 @@
# TdxConfig
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**Firmware** | **string** | Path to the firmware that will be used to boot the TDx guest up. |
## Methods
### NewTdxConfig
`func NewTdxConfig(firmware string, ) *TdxConfig`
NewTdxConfig instantiates a new TdxConfig 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
### NewTdxConfigWithDefaults
`func NewTdxConfigWithDefaults() *TdxConfig`
NewTdxConfigWithDefaults instantiates a new TdxConfig 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
### GetFirmware
`func (o *TdxConfig) GetFirmware() string`
GetFirmware returns the Firmware field if non-nil, zero value otherwise.
### GetFirmwareOk
`func (o *TdxConfig) GetFirmwareOk() (*string, bool)`
GetFirmwareOk returns a tuple with the Firmware field if it's non-nil, zero value otherwise
and a boolean to check if the value has been set.
### SetFirmware
`func (o *TdxConfig) SetFirmware(v string)`
SetFirmware sets Firmware field to given value.
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -20,9 +20,11 @@ Name | Type | Description | Notes
**Devices** | Pointer to [**[]DeviceConfig**](DeviceConfig.md) | | [optional] **Devices** | Pointer to [**[]DeviceConfig**](DeviceConfig.md) | | [optional]
**Vsock** | Pointer to [**VsockConfig**](VsockConfig.md) | | [optional] **Vsock** | Pointer to [**VsockConfig**](VsockConfig.md) | | [optional]
**SgxEpc** | Pointer to [**[]SgxEpcConfig**](SgxEpcConfig.md) | | [optional] **SgxEpc** | Pointer to [**[]SgxEpcConfig**](SgxEpcConfig.md) | | [optional]
**Tdx** | Pointer to [**TdxConfig**](TdxConfig.md) | | [optional]
**Numa** | Pointer to [**[]NumaConfig**](NumaConfig.md) | | [optional] **Numa** | Pointer to [**[]NumaConfig**](NumaConfig.md) | | [optional]
**Iommu** | Pointer to **bool** | | [optional] [default to false] **Iommu** | Pointer to **bool** | | [optional] [default to false]
**Watchdog** | Pointer to **bool** | | [optional] [default to false] **Watchdog** | Pointer to **bool** | | [optional] [default to false]
**Platform** | Pointer to [**PlatformConfig**](PlatformConfig.md) | | [optional]
## Methods ## Methods
@ -448,6 +450,31 @@ SetSgxEpc sets SgxEpc field to given value.
HasSgxEpc returns a boolean if a field has been set. HasSgxEpc returns a boolean if a field has been set.
### GetTdx
`func (o *VmConfig) GetTdx() TdxConfig`
GetTdx returns the Tdx field if non-nil, zero value otherwise.
### GetTdxOk
`func (o *VmConfig) GetTdxOk() (*TdxConfig, bool)`
GetTdxOk returns a tuple with the Tdx field if it's non-nil, zero value otherwise
and a boolean to check if the value has been set.
### SetTdx
`func (o *VmConfig) SetTdx(v TdxConfig)`
SetTdx sets Tdx field to given value.
### HasTdx
`func (o *VmConfig) HasTdx() bool`
HasTdx returns a boolean if a field has been set.
### GetNuma ### GetNuma
`func (o *VmConfig) GetNuma() []NumaConfig` `func (o *VmConfig) GetNuma() []NumaConfig`
@ -523,6 +550,31 @@ SetWatchdog sets Watchdog field to given value.
HasWatchdog returns a boolean if a field has been set. HasWatchdog returns a boolean if a field has been set.
### GetPlatform
`func (o *VmConfig) GetPlatform() PlatformConfig`
GetPlatform returns the Platform field if non-nil, zero value otherwise.
### GetPlatformOk
`func (o *VmConfig) GetPlatformOk() (*PlatformConfig, bool)`
GetPlatformOk returns a tuple with the Platform field if it's non-nil, zero value otherwise
and a boolean to check if the value has been set.
### SetPlatform
`func (o *VmConfig) SetPlatform(v PlatformConfig)`
SetPlatform sets Platform field to given value.
### HasPlatform
`func (o *VmConfig) HasPlatform() bool`
HasPlatform 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) [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -17,8 +17,10 @@ import (
// BalloonConfig struct for BalloonConfig // BalloonConfig struct for BalloonConfig
type BalloonConfig struct { type BalloonConfig struct {
Size int64 `json:"size"` Size int64 `json:"size"`
// Whether the balloon should deflate when the guest is under memory pressure. // Deflate balloon when the guest is under memory pressure.
DeflateOnOom *bool `json:"deflate_on_oom,omitempty"` DeflateOnOom *bool `json:"deflate_on_oom,omitempty"`
// Enable guest to report free pages.
FreePageReporting *bool `json:"free_page_reporting,omitempty"`
} }
// NewBalloonConfig instantiates a new BalloonConfig object // NewBalloonConfig instantiates a new BalloonConfig object
@ -30,6 +32,8 @@ func NewBalloonConfig(size int64) *BalloonConfig {
this.Size = size this.Size = size
var deflateOnOom bool = false var deflateOnOom bool = false
this.DeflateOnOom = &deflateOnOom this.DeflateOnOom = &deflateOnOom
var freePageReporting bool = false
this.FreePageReporting = &freePageReporting
return &this return &this
} }
@ -40,6 +44,8 @@ func NewBalloonConfigWithDefaults() *BalloonConfig {
this := BalloonConfig{} this := BalloonConfig{}
var deflateOnOom bool = false var deflateOnOom bool = false
this.DeflateOnOom = &deflateOnOom this.DeflateOnOom = &deflateOnOom
var freePageReporting bool = false
this.FreePageReporting = &freePageReporting
return &this return &this
} }
@ -99,6 +105,38 @@ func (o *BalloonConfig) SetDeflateOnOom(v bool) {
o.DeflateOnOom = &v o.DeflateOnOom = &v
} }
// GetFreePageReporting returns the FreePageReporting field value if set, zero value otherwise.
func (o *BalloonConfig) GetFreePageReporting() bool {
if o == nil || o.FreePageReporting == nil {
var ret bool
return ret
}
return *o.FreePageReporting
}
// GetFreePageReportingOk returns a tuple with the FreePageReporting field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *BalloonConfig) GetFreePageReportingOk() (*bool, bool) {
if o == nil || o.FreePageReporting == nil {
return nil, false
}
return o.FreePageReporting, true
}
// HasFreePageReporting returns a boolean if a field has been set.
func (o *BalloonConfig) HasFreePageReporting() bool {
if o != nil && o.FreePageReporting != nil {
return true
}
return false
}
// SetFreePageReporting gets a reference to the given bool and assigns it to the FreePageReporting field.
func (o *BalloonConfig) SetFreePageReporting(v bool) {
o.FreePageReporting = &v
}
func (o BalloonConfig) MarshalJSON() ([]byte, error) { func (o BalloonConfig) MarshalJSON() ([]byte, error) {
toSerialize := map[string]interface{}{} toSerialize := map[string]interface{}{}
if true { if true {
@ -107,6 +145,9 @@ func (o BalloonConfig) MarshalJSON() ([]byte, error) {
if o.DeflateOnOom != nil { if o.DeflateOnOom != nil {
toSerialize["deflate_on_oom"] = o.DeflateOnOom toSerialize["deflate_on_oom"] = o.DeflateOnOom
} }
if o.FreePageReporting != nil {
toSerialize["free_page_reporting"] = o.FreePageReporting
}
return json.Marshal(toSerialize) return json.Marshal(toSerialize)
} }

View File

@ -27,7 +27,6 @@ type NetConfig struct {
VhostSocket *string `json:"vhost_socket,omitempty"` VhostSocket *string `json:"vhost_socket,omitempty"`
VhostMode *string `json:"vhost_mode,omitempty"` VhostMode *string `json:"vhost_mode,omitempty"`
Id *string `json:"id,omitempty"` Id *string `json:"id,omitempty"`
Fds *[]int32 `json:"fds,omitempty"`
PciSegment *int32 `json:"pci_segment,omitempty"` PciSegment *int32 `json:"pci_segment,omitempty"`
RateLimiterConfig *RateLimiterConfig `json:"rate_limiter_config,omitempty"` RateLimiterConfig *RateLimiterConfig `json:"rate_limiter_config,omitempty"`
} }
@ -429,38 +428,6 @@ func (o *NetConfig) SetId(v string) {
o.Id = &v o.Id = &v
} }
// GetFds returns the Fds field value if set, zero value otherwise.
func (o *NetConfig) GetFds() []int32 {
if o == nil || o.Fds == nil {
var ret []int32
return ret
}
return *o.Fds
}
// GetFdsOk returns a tuple with the Fds field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *NetConfig) GetFdsOk() (*[]int32, bool) {
if o == nil || o.Fds == nil {
return nil, false
}
return o.Fds, true
}
// HasFds returns a boolean if a field has been set.
func (o *NetConfig) HasFds() bool {
if o != nil && o.Fds != nil {
return true
}
return false
}
// SetFds gets a reference to the given []int32 and assigns it to the Fds field.
func (o *NetConfig) SetFds(v []int32) {
o.Fds = &v
}
// GetPciSegment returns the PciSegment field value if set, zero value otherwise. // GetPciSegment returns the PciSegment field value if set, zero value otherwise.
func (o *NetConfig) GetPciSegment() int32 { func (o *NetConfig) GetPciSegment() int32 {
if o == nil || o.PciSegment == nil { if o == nil || o.PciSegment == nil {
@ -560,9 +527,6 @@ func (o NetConfig) MarshalJSON() ([]byte, error) {
if o.Id != nil { if o.Id != nil {
toSerialize["id"] = o.Id toSerialize["id"] = o.Id
} }
if o.Fds != nil {
toSerialize["fds"] = o.Fds
}
if o.PciSegment != nil { if o.PciSegment != nil {
toSerialize["pci_segment"] = o.PciSegment toSerialize["pci_segment"] = o.PciSegment
} }

View File

@ -0,0 +1,149 @@
/*
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"
)
// PlatformConfig struct for PlatformConfig
type PlatformConfig struct {
NumPciSegments *int32 `json:"num_pci_segments,omitempty"`
IommuSegments *[]int32 `json:"iommu_segments,omitempty"`
}
// NewPlatformConfig instantiates a new PlatformConfig 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 NewPlatformConfig() *PlatformConfig {
this := PlatformConfig{}
return &this
}
// NewPlatformConfigWithDefaults instantiates a new PlatformConfig 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 NewPlatformConfigWithDefaults() *PlatformConfig {
this := PlatformConfig{}
return &this
}
// GetNumPciSegments returns the NumPciSegments field value if set, zero value otherwise.
func (o *PlatformConfig) GetNumPciSegments() int32 {
if o == nil || o.NumPciSegments == nil {
var ret int32
return ret
}
return *o.NumPciSegments
}
// GetNumPciSegmentsOk returns a tuple with the NumPciSegments field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *PlatformConfig) GetNumPciSegmentsOk() (*int32, bool) {
if o == nil || o.NumPciSegments == nil {
return nil, false
}
return o.NumPciSegments, true
}
// HasNumPciSegments returns a boolean if a field has been set.
func (o *PlatformConfig) HasNumPciSegments() bool {
if o != nil && o.NumPciSegments != nil {
return true
}
return false
}
// SetNumPciSegments gets a reference to the given int32 and assigns it to the NumPciSegments field.
func (o *PlatformConfig) SetNumPciSegments(v int32) {
o.NumPciSegments = &v
}
// GetIommuSegments returns the IommuSegments field value if set, zero value otherwise.
func (o *PlatformConfig) GetIommuSegments() []int32 {
if o == nil || o.IommuSegments == nil {
var ret []int32
return ret
}
return *o.IommuSegments
}
// GetIommuSegmentsOk returns a tuple with the IommuSegments field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *PlatformConfig) GetIommuSegmentsOk() (*[]int32, bool) {
if o == nil || o.IommuSegments == nil {
return nil, false
}
return o.IommuSegments, true
}
// HasIommuSegments returns a boolean if a field has been set.
func (o *PlatformConfig) HasIommuSegments() bool {
if o != nil && o.IommuSegments != nil {
return true
}
return false
}
// SetIommuSegments gets a reference to the given []int32 and assigns it to the IommuSegments field.
func (o *PlatformConfig) SetIommuSegments(v []int32) {
o.IommuSegments = &v
}
func (o PlatformConfig) MarshalJSON() ([]byte, error) {
toSerialize := map[string]interface{}{}
if o.NumPciSegments != nil {
toSerialize["num_pci_segments"] = o.NumPciSegments
}
if o.IommuSegments != nil {
toSerialize["iommu_segments"] = o.IommuSegments
}
return json.Marshal(toSerialize)
}
type NullablePlatformConfig struct {
value *PlatformConfig
isSet bool
}
func (v NullablePlatformConfig) Get() *PlatformConfig {
return v.value
}
func (v *NullablePlatformConfig) Set(val *PlatformConfig) {
v.value = val
v.isSet = true
}
func (v NullablePlatformConfig) IsSet() bool {
return v.isSet
}
func (v *NullablePlatformConfig) Unset() {
v.value = nil
v.isSet = false
}
func NewNullablePlatformConfig(val *PlatformConfig) *NullablePlatformConfig {
return &NullablePlatformConfig{value: val, isSet: true}
}
func (v NullablePlatformConfig) MarshalJSON() ([]byte, error) {
return json.Marshal(v.value)
}
func (v *NullablePlatformConfig) UnmarshalJSON(src []byte) error {
v.isSet = true
return json.Unmarshal(src, &v.value)
}

View File

@ -0,0 +1,107 @@
/*
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"
)
// TdxConfig struct for TdxConfig
type TdxConfig struct {
// Path to the firmware that will be used to boot the TDx guest up.
Firmware string `json:"firmware"`
}
// NewTdxConfig instantiates a new TdxConfig 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 NewTdxConfig(firmware string) *TdxConfig {
this := TdxConfig{}
this.Firmware = firmware
return &this
}
// NewTdxConfigWithDefaults instantiates a new TdxConfig 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 NewTdxConfigWithDefaults() *TdxConfig {
this := TdxConfig{}
return &this
}
// GetFirmware returns the Firmware field value
func (o *TdxConfig) GetFirmware() string {
if o == nil {
var ret string
return ret
}
return o.Firmware
}
// GetFirmwareOk returns a tuple with the Firmware field value
// and a boolean to check if the value has been set.
func (o *TdxConfig) GetFirmwareOk() (*string, bool) {
if o == nil {
return nil, false
}
return &o.Firmware, true
}
// SetFirmware sets field value
func (o *TdxConfig) SetFirmware(v string) {
o.Firmware = v
}
func (o TdxConfig) MarshalJSON() ([]byte, error) {
toSerialize := map[string]interface{}{}
if true {
toSerialize["firmware"] = o.Firmware
}
return json.Marshal(toSerialize)
}
type NullableTdxConfig struct {
value *TdxConfig
isSet bool
}
func (v NullableTdxConfig) Get() *TdxConfig {
return v.value
}
func (v *NullableTdxConfig) Set(val *TdxConfig) {
v.value = val
v.isSet = true
}
func (v NullableTdxConfig) IsSet() bool {
return v.isSet
}
func (v *NullableTdxConfig) Unset() {
v.value = nil
v.isSet = false
}
func NewNullableTdxConfig(val *TdxConfig) *NullableTdxConfig {
return &NullableTdxConfig{value: val, isSet: true}
}
func (v NullableTdxConfig) MarshalJSON() ([]byte, error) {
return json.Marshal(v.value)
}
func (v *NullableTdxConfig) UnmarshalJSON(src []byte) error {
v.isSet = true
return json.Unmarshal(src, &v.value)
}

View File

@ -32,9 +32,11 @@ type VmConfig struct {
Devices *[]DeviceConfig `json:"devices,omitempty"` Devices *[]DeviceConfig `json:"devices,omitempty"`
Vsock *VsockConfig `json:"vsock,omitempty"` Vsock *VsockConfig `json:"vsock,omitempty"`
SgxEpc *[]SgxEpcConfig `json:"sgx_epc,omitempty"` SgxEpc *[]SgxEpcConfig `json:"sgx_epc,omitempty"`
Tdx *TdxConfig `json:"tdx,omitempty"`
Numa *[]NumaConfig `json:"numa,omitempty"` Numa *[]NumaConfig `json:"numa,omitempty"`
Iommu *bool `json:"iommu,omitempty"` Iommu *bool `json:"iommu,omitempty"`
Watchdog *bool `json:"watchdog,omitempty"` Watchdog *bool `json:"watchdog,omitempty"`
Platform *PlatformConfig `json:"platform,omitempty"`
} }
// NewVmConfig instantiates a new VmConfig object // NewVmConfig instantiates a new VmConfig object
@ -578,6 +580,38 @@ func (o *VmConfig) SetSgxEpc(v []SgxEpcConfig) {
o.SgxEpc = &v o.SgxEpc = &v
} }
// GetTdx returns the Tdx field value if set, zero value otherwise.
func (o *VmConfig) GetTdx() TdxConfig {
if o == nil || o.Tdx == nil {
var ret TdxConfig
return ret
}
return *o.Tdx
}
// GetTdxOk returns a tuple with the Tdx field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *VmConfig) GetTdxOk() (*TdxConfig, bool) {
if o == nil || o.Tdx == nil {
return nil, false
}
return o.Tdx, true
}
// HasTdx returns a boolean if a field has been set.
func (o *VmConfig) HasTdx() bool {
if o != nil && o.Tdx != nil {
return true
}
return false
}
// SetTdx gets a reference to the given TdxConfig and assigns it to the Tdx field.
func (o *VmConfig) SetTdx(v TdxConfig) {
o.Tdx = &v
}
// GetNuma returns the Numa field value if set, zero value otherwise. // GetNuma returns the Numa field value if set, zero value otherwise.
func (o *VmConfig) GetNuma() []NumaConfig { func (o *VmConfig) GetNuma() []NumaConfig {
if o == nil || o.Numa == nil { if o == nil || o.Numa == nil {
@ -674,6 +708,38 @@ func (o *VmConfig) SetWatchdog(v bool) {
o.Watchdog = &v o.Watchdog = &v
} }
// GetPlatform returns the Platform field value if set, zero value otherwise.
func (o *VmConfig) GetPlatform() PlatformConfig {
if o == nil || o.Platform == nil {
var ret PlatformConfig
return ret
}
return *o.Platform
}
// GetPlatformOk returns a tuple with the Platform field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *VmConfig) GetPlatformOk() (*PlatformConfig, bool) {
if o == nil || o.Platform == nil {
return nil, false
}
return o.Platform, true
}
// HasPlatform returns a boolean if a field has been set.
func (o *VmConfig) HasPlatform() bool {
if o != nil && o.Platform != nil {
return true
}
return false
}
// SetPlatform gets a reference to the given PlatformConfig and assigns it to the Platform field.
func (o *VmConfig) SetPlatform(v PlatformConfig) {
o.Platform = &v
}
func (o VmConfig) MarshalJSON() ([]byte, error) { func (o VmConfig) MarshalJSON() ([]byte, error) {
toSerialize := map[string]interface{}{} toSerialize := map[string]interface{}{}
if o.Cpus != nil { if o.Cpus != nil {
@ -724,6 +790,9 @@ func (o VmConfig) MarshalJSON() ([]byte, error) {
if o.SgxEpc != nil { if o.SgxEpc != nil {
toSerialize["sgx_epc"] = o.SgxEpc toSerialize["sgx_epc"] = o.SgxEpc
} }
if o.Tdx != nil {
toSerialize["tdx"] = o.Tdx
}
if o.Numa != nil { if o.Numa != nil {
toSerialize["numa"] = o.Numa toSerialize["numa"] = o.Numa
} }
@ -733,6 +802,9 @@ func (o VmConfig) MarshalJSON() ([]byte, error) {
if o.Watchdog != nil { if o.Watchdog != nil {
toSerialize["watchdog"] = o.Watchdog toSerialize["watchdog"] = o.Watchdog
} }
if o.Platform != nil {
toSerialize["platform"] = o.Platform
}
return json.Marshal(toSerialize) return json.Marshal(toSerialize)
} }

View File

@ -500,6 +500,8 @@ components:
type: array type: array
items: items:
$ref: '#/components/schemas/SgxEpcConfig' $ref: '#/components/schemas/SgxEpcConfig'
tdx:
$ref: '#/components/schemas/TdxConfig'
numa: numa:
type: array type: array
items: items:
@ -510,6 +512,8 @@ components:
watchdog: watchdog:
type: boolean type: boolean
default: false default: false
platform:
$ref: '#/components/schemas/PlatformConfig'
description: Virtual machine configuration description: Virtual machine configuration
CpuAffinity: CpuAffinity:
@ -557,6 +561,18 @@ components:
items: items:
$ref: '#/components/schemas/CpuAffinity' $ref: '#/components/schemas/CpuAffinity'
PlatformConfig:
type: object
properties:
num_pci_segments:
type: integer
format: int16
iommu_segments:
type: array
items:
type: integer
format: int16
MemoryZoneConfig: MemoryZoneConfig:
required: required:
- id - id
@ -771,11 +787,6 @@ components:
default: "Client" default: "Client"
id: id:
type: string type: string
fds:
type: array
items:
type: integer
format: int32
pci_segment: pci_segment:
type: integer type: integer
format: int16 format: int16
@ -805,7 +816,11 @@ components:
deflate_on_oom: deflate_on_oom:
type: boolean type: boolean
default: false default: false
description: Whether the balloon should deflate when the guest is under memory pressure. description: Deflate balloon when the guest is under memory pressure.
free_page_reporting:
type: boolean
default: false
description: Enable guest to report free pages.
FsConfig: FsConfig:
required: required:
@ -933,6 +948,15 @@ components:
type: boolean type: boolean
default: false default: false
TdxConfig:
required:
- firmware
type: object
properties:
firmware:
type: string
description: Path to the firmware that will be used to boot the TDx guest up.
NumaDistance: NumaDistance:
required: required:
- destination - destination

View File

@ -75,7 +75,7 @@ assets:
url: "https://github.com/cloud-hypervisor/cloud-hypervisor" url: "https://github.com/cloud-hypervisor/cloud-hypervisor"
uscan-url: >- uscan-url: >-
https://github.com/cloud-hypervisor/cloud-hypervisor/tags.*/v?(\d\S+)\.tar\.gz https://github.com/cloud-hypervisor/cloud-hypervisor/tags.*/v?(\d\S+)\.tar\.gz
version: "v21.0" version: "55479a64d237d4c757dba19a696abefd27ec74fd"
firecracker: firecracker:
description: "Firecracker micro-VMM" description: "Firecracker micro-VMM"