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

View File

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

View File

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

View File

@ -5,7 +5,8 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**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
@ -71,6 +72,31 @@ SetDeflateOnOom sets DeflateOnOom field to given value.
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)

View File

@ -15,7 +15,6 @@ Name | Type | Description | Notes
**VhostSocket** | Pointer to **string** | | [optional]
**VhostMode** | Pointer to **string** | | [optional] [default to "Client"]
**Id** | Pointer to **string** | | [optional]
**Fds** | Pointer to **[]int32** | | [optional]
**PciSegment** | Pointer to **int32** | | [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.
### 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
`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]
**Vsock** | Pointer to [**VsockConfig**](VsockConfig.md) | | [optional]
**SgxEpc** | Pointer to [**[]SgxEpcConfig**](SgxEpcConfig.md) | | [optional]
**Tdx** | Pointer to [**TdxConfig**](TdxConfig.md) | | [optional]
**Numa** | Pointer to [**[]NumaConfig**](NumaConfig.md) | | [optional]
**Iommu** | Pointer to **bool** | | [optional] [default to false]
**Watchdog** | Pointer to **bool** | | [optional] [default to false]
**Platform** | Pointer to [**PlatformConfig**](PlatformConfig.md) | | [optional]
## Methods
@ -448,6 +450,31 @@ SetSgxEpc sets SgxEpc field to given value.
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
`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.
### 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)

View File

@ -17,8 +17,10 @@ import (
// BalloonConfig struct for BalloonConfig
type BalloonConfig struct {
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"`
// Enable guest to report free pages.
FreePageReporting *bool `json:"free_page_reporting,omitempty"`
}
// NewBalloonConfig instantiates a new BalloonConfig object
@ -30,6 +32,8 @@ func NewBalloonConfig(size int64) *BalloonConfig {
this.Size = size
var deflateOnOom bool = false
this.DeflateOnOom = &deflateOnOom
var freePageReporting bool = false
this.FreePageReporting = &freePageReporting
return &this
}
@ -40,6 +44,8 @@ func NewBalloonConfigWithDefaults() *BalloonConfig {
this := BalloonConfig{}
var deflateOnOom bool = false
this.DeflateOnOom = &deflateOnOom
var freePageReporting bool = false
this.FreePageReporting = &freePageReporting
return &this
}
@ -99,6 +105,38 @@ func (o *BalloonConfig) SetDeflateOnOom(v bool) {
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) {
toSerialize := map[string]interface{}{}
if true {
@ -107,6 +145,9 @@ func (o BalloonConfig) MarshalJSON() ([]byte, error) {
if o.DeflateOnOom != nil {
toSerialize["deflate_on_oom"] = o.DeflateOnOom
}
if o.FreePageReporting != nil {
toSerialize["free_page_reporting"] = o.FreePageReporting
}
return json.Marshal(toSerialize)
}

View File

@ -27,7 +27,6 @@ type NetConfig struct {
VhostSocket *string `json:"vhost_socket,omitempty"`
VhostMode *string `json:"vhost_mode,omitempty"`
Id *string `json:"id,omitempty"`
Fds *[]int32 `json:"fds,omitempty"`
PciSegment *int32 `json:"pci_segment,omitempty"`
RateLimiterConfig *RateLimiterConfig `json:"rate_limiter_config,omitempty"`
}
@ -429,38 +428,6 @@ func (o *NetConfig) SetId(v string) {
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.
func (o *NetConfig) GetPciSegment() int32 {
if o == nil || o.PciSegment == nil {
@ -560,9 +527,6 @@ func (o NetConfig) MarshalJSON() ([]byte, error) {
if o.Id != nil {
toSerialize["id"] = o.Id
}
if o.Fds != nil {
toSerialize["fds"] = o.Fds
}
if o.PciSegment != nil {
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"`
Vsock *VsockConfig `json:"vsock,omitempty"`
SgxEpc *[]SgxEpcConfig `json:"sgx_epc,omitempty"`
Tdx *TdxConfig `json:"tdx,omitempty"`
Numa *[]NumaConfig `json:"numa,omitempty"`
Iommu *bool `json:"iommu,omitempty"`
Watchdog *bool `json:"watchdog,omitempty"`
Platform *PlatformConfig `json:"platform,omitempty"`
}
// NewVmConfig instantiates a new VmConfig object
@ -578,6 +580,38 @@ func (o *VmConfig) SetSgxEpc(v []SgxEpcConfig) {
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.
func (o *VmConfig) GetNuma() []NumaConfig {
if o == nil || o.Numa == nil {
@ -674,6 +708,38 @@ func (o *VmConfig) SetWatchdog(v bool) {
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) {
toSerialize := map[string]interface{}{}
if o.Cpus != nil {
@ -724,6 +790,9 @@ func (o VmConfig) MarshalJSON() ([]byte, error) {
if o.SgxEpc != nil {
toSerialize["sgx_epc"] = o.SgxEpc
}
if o.Tdx != nil {
toSerialize["tdx"] = o.Tdx
}
if o.Numa != nil {
toSerialize["numa"] = o.Numa
}
@ -733,6 +802,9 @@ func (o VmConfig) MarshalJSON() ([]byte, error) {
if o.Watchdog != nil {
toSerialize["watchdog"] = o.Watchdog
}
if o.Platform != nil {
toSerialize["platform"] = o.Platform
}
return json.Marshal(toSerialize)
}

View File

@ -500,6 +500,8 @@ components:
type: array
items:
$ref: '#/components/schemas/SgxEpcConfig'
tdx:
$ref: '#/components/schemas/TdxConfig'
numa:
type: array
items:
@ -510,6 +512,8 @@ components:
watchdog:
type: boolean
default: false
platform:
$ref: '#/components/schemas/PlatformConfig'
description: Virtual machine configuration
CpuAffinity:
@ -557,6 +561,18 @@ components:
items:
$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:
required:
- id
@ -771,11 +787,6 @@ components:
default: "Client"
id:
type: string
fds:
type: array
items:
type: integer
format: int32
pci_segment:
type: integer
format: int16
@ -805,7 +816,11 @@ components:
deflate_on_oom:
type: boolean
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:
required:
@ -933,6 +948,15 @@ components:
type: boolean
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:
required:
- destination

View File

@ -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: "v21.0"
version: "55479a64d237d4c757dba19a696abefd27ec74fd"
firecracker:
description: "Firecracker micro-VMM"