This commit is contained in:
2024-05-31 13:35:39 +03:00
parent e7c968797b
commit 3393934456
65 changed files with 905 additions and 393 deletions

View File

@@ -23,7 +23,7 @@ type CreateTemplateRequest struct {
type wrapperCreateTemplateRequest struct {
CreateTemplateRequest
Async bool `url:"async"`
AsyncMode bool `url:"asyncMode"`
}
// CreateTemplate create template from compute instance
@@ -35,7 +35,7 @@ func (c Compute) CreateTemplate(ctx context.Context, req CreateTemplateRequest)
reqWrapped := wrapperCreateTemplateRequest{
CreateTemplateRequest: req,
Async: false,
AsyncMode: false,
}
url := "/cloudapi/compute/createTemplate"
@@ -62,7 +62,7 @@ func (c Compute) CreateTemplateAsync(ctx context.Context, req CreateTemplateRequ
reqWrapped := wrapperCreateTemplateRequest{
CreateTemplateRequest: req,
Async: true,
AsyncMode: true,
}
url := "/cloudapi/compute/createTemplate"

View File

@@ -431,6 +431,9 @@ type RecordCompute struct {
// Resource name
ResName string `json:"resName"`
// Reserved Node Cpus
ReservedNodeCpus []uint64 `json:"reservedNodeCpus"`
// Resource group ID
RGID uint64 `json:"rgId"`
@@ -673,7 +676,7 @@ type ItemComputeDisk struct {
RealityDeviceNumber uint64 `json:"realityDeviceNumber"`
// Replication
Replication interface{} `json:"replication"`
Replication ItemReplication `json:"replication"`
// Resource ID
ResID string `json:"resId"`
@@ -709,6 +712,26 @@ type ItemComputeDisk struct {
VMID uint64 `json:"vmid"`
}
type ItemReplication struct {
// DiskID
DiskID uint64 `json:"diskId"`
// PoolID
PoolID string `json:"poolId"`
// Role
Role string `json:"role"`
// SelfVolumeID
SelfVolumeID string `json:"selfVolumeId"`
// StorageID
StorageID string `json:"storageId"`
// VolumeID
VolumeID string `json:"volumeId"`
}
// Main information about snapshot extend
type SnapshotExtend struct {
// GUID
@@ -915,6 +938,9 @@ type ItemCompute struct {
// Resource name
ResName string `json:"resName"`
// Reserved Node Cpus
ReservedNodeCpus []uint64 `json:"reservedNodeCpus"`
// Resource group ID
RGID uint64 `json:"rgId"`
@@ -1085,6 +1111,7 @@ type ItemPCIDevice struct {
type ListPCIDevices struct {
// Data
Data []ItemPCIDevice `json:"data"`
// Entry count
EntryCount uint64 `json:"entryCount"`
}

View File

@@ -16,9 +16,10 @@ type NetAttachRequest struct {
// Network type
// 'EXTNET' for connect to external network directly
// and 'VINS' for connect to ViNS
// 'VINS' for connect to ViNS
// 'VFNIC' for connect to vfpool
// Required: true
NetType string `url:"netType" json:"netType" validate:"computeNetType"`
NetType string `url:"netType" json:"netType" validate:"computex86NetType"`
// Network ID for connect to
// For EXTNET - external network ID

View File

@@ -21,6 +21,24 @@ type UpdateRequest struct {
// New description
// Required: false
Description string `url:"desc,omitempty" json:"desc,omitempty"`
// Rule for VM placement with NUMA affinity.
// Possible values - none (placement without NUMA affinity),
// strict (strictly with NUMA affinity, if not possible - do not start VM),
// loose (use NUMA affinity if possible)
// Required: false
// Default: none
NumaAffinity string `url:"numaAffinity,omitempty" json:"numaAffinity,omitempty" validate:"omitempty,numaAffinity"`
// Run VM on dedicated CPUs. To use this feature, the system must be pre-configured by allocating CPUs on the physical node
// Required: false
// Default: false
CPUPin bool `url:"cpupin" json:"cpupin"`
// Use Huge Pages to allocate RAM of the virtual machine. The system must be pre-configured by allocating Huge Pages on the physical node
// Required: false
// Default: false
HPBacked bool `url:"hpBacked" json:"hpBacked"`
}
// Update updates some properties of the compute