compute

package
v1.10.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 7, 2025 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Overview

API Actor for managing Compute. This actor is a final API for admin to manage Compute

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AffinityGroupCheckStartRequest

type AffinityGroupCheckStartRequest struct {
	// ID of the resource group
	// Required: true
	RGID uint64 `url:"rgId" json:"rgId" validate:"required"`

	// Affinity group label
	// Required: true
	AffinityLabel string `url:"affinityLabel" json:"affinityLabel" validate:"required"`
}

AffinityGroupCheckStartRequest struct to check all computes with current affinity label can start

type AffinityLabelRemoveRequest

type AffinityLabelRemoveRequest struct {
	// IDs of the compute instances
	// Required: true
	ComputeIDs []uint64 `url:"computeIds" json:"computeIds" validate:"min=1"`
}

AffinityLabelRemoveRequest struct for clear affinity label for compute

type AffinityLabelSetRequest

type AffinityLabelSetRequest struct {
	// IDs of the compute instances
	ComputeIDs []uint64 `url:"computeIds" json:"computeIds" validate:"min=1"`

	// Affinity group label
	// Required: true
	AffinityLabel string `url:"affinityLabel" json:"affinityLabel" validate:"required"`
}

AffinityLabelSetRequest struct to set affinity label for compute

type AffinityRelationsRequest

type AffinityRelationsRequest struct {
	// ID of the compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`
}

AffinityRelationsRequest struct to get dict of computes

type AffinityRuleAddRequest

type AffinityRuleAddRequest struct {
	// IDs of the compute instances
	// Required: true
	ComputeIDs []uint64 `url:"computeIds" json:"computeIds" validate:"min=1"`

	// Should be one of:
	//	- node
	//	- compute
	// Required: true
	Topology string `url:"topology" json:"topology" validate:"computeTopology"`

	// The degree of 'strictness' of this rule
	// Should be one of:
	//	- RECOMMENDED
	//	- REQUIRED
	// Required: true
	Policy string `url:"policy" json:"policy" validate:"computePolicy"`

	// The comparison mode is 'value', recorded by the specified 'key'
	// Should be one of:
	//	- EQ
	//	- EN
	//	- ANY
	// Required: true
	Mode string `url:"mode" json:"mode" validate:"computeMode"`

	// Key that are taken into account when analyzing this rule will be identified
	// Required: true
	Key string `url:"key" json:"key" validate:"required"`

	// Value that must match the key to be taken into account when analyzing this rule
	// Required: false
	// Not required on purpose: despite required tag on platform, empty string is allowed
	Value string `url:"value" json:"value"`
}

AffinityRuleAddRequest struct to add affinity rule

type AffinityRuleRemoveRequest

type AffinityRuleRemoveRequest struct {
	// IDs of the compute instances
	// Required: true
	ComputeIDs []uint64 `url:"computeIds" json:"computeIds" validate:"min=1"`

	// Compute or node, for whom rule applies
	// Required: true
	Topology string `url:"topology" json:"topology" validate:"computeTopology"`

	// The degree of 'strictness' of this rule
	// Should be one of:
	//	- RECOMMENDED
	//	- REQUIRED
	// Required: true
	Policy string `url:"policy" json:"policy" validate:"computePolicy"`

	// The comparison mode is 'value', recorded by the specified 'key'
	// Should be one of:
	//	- EQ
	//	- EN
	//	- ANY
	// Required: true
	Mode string `url:"mode" json:"mode" validate:"computeMode"`

	// Key that are taken into account when analyzing this rule will be identified
	// Required: true
	Key string `url:"key" json:"key" validate:"required"`

	// Value that must match the key to be taken into account when analyzing this rule
	// Required: false
	// Not required on purpose: despite required tag on platform, empty string is allowed
	Value string `url:"value" json:"value"`
}

AffinityRuleRemoveRequest struct to remove affinity rule

type AffinityRulesClearRequest

type AffinityRulesClearRequest struct {
	// IDs of the compute instances
	// Required: true
	ComputeIDs []uint64 `url:"computeIds" json:"computeIds" validate:"min=1"`
}

AffinityRulesClearRequest struct to clear affinity rules

type AntiAffinityRuleAddRequest

type AntiAffinityRuleAddRequest struct {
	// IDs of the compute instances
	// Required: true
	ComputeIDs []uint64 `url:"computeIds" json:"computeIds" validate:"min=1"`

	// Compute or node, for whom rule applies
	// Required: true
	Topology string `url:"topology" json:"topology" validate:"computeTopology"`

	// The degree of 'strictness' of this rule
	// Should be one of:
	//	- RECOMMENDED
	//	- REQUIRED
	// Required: true
	Policy string `url:"policy" json:"policy" validate:"computePolicy"`

	// The comparison mode is 'value', recorded by the specified 'key'
	// Should be one of:
	//	- EQ
	//	- EN
	//	- ANY
	// Required: true
	Mode string `url:"mode" json:"mode" validate:"computeMode"`

	// Key that are taken into account when analyzing this rule will be identified
	// Required: true
	Key string `url:"key" json:"key" validate:"required"`

	// Value that must match the key to be taken into account when analyzing this rule
	// Required: false
	// Not required on purpose: despite required tag on platform, empty string is allowed
	Value string `url:"value" json:"value"`
}

AntiAffinityRuleAddRequest struct to add anti affinity rule

type AntiAffinityRuleRemoveRequest

type AntiAffinityRuleRemoveRequest struct {
	// IDs of the compute instances
	// Required: true
	ComputeIDs []uint64 `url:"computeIds" json:"computeIds" validate:"min=1"`

	// Compute or node, for whom rule applies
	// Required: true
	Topology string `url:"topology" json:"topology" validate:"computeTopology"`

	// The degree of 'strictness' of this rule
	// Should be one of:
	//	- RECOMMENDED
	//	- REQUIRED
	// Required: true
	Policy string `url:"policy" json:"policy" validate:"computePolicy"`

	// The comparison mode is 'value', recorded by the specified 'key'
	// Should be one of:
	//	- EQ
	//	- EN
	//	- ANY
	// Required: true
	Mode string `url:"mode" json:"mode" validate:"computeMode"`

	// Key that are taken into account when analyzing this rule will be identified
	// Required: true
	Key string `url:"key" json:"key" validate:"required"`

	// Value that must match the key to be taken into account when analyzing this rule
	// Required: false
	// Not required on purpose: despite required tag on platform, empty string is allowed
	Value string `url:"value" json:"value"`
}

AntiAffinityRuleRemoveRequest struct to remove anti affinity rule

type AntiAffinityRulesClearRequest

type AntiAffinityRulesClearRequest struct {
	// IDs of the compute instances
	// Required: true
	ComputeIDs []uint64 `url:"computeIds" json:"computeIds" validate:"min=1"`
}

AntiAffinityRulesClearRequest struct to clear anti affinity rules

type AttachGPURequest

type AttachGPURequest struct {
	// Identifier compute
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// Identifier vGPU
	// Required: true
	VGPUID uint64 `url:"vgpuId" json:"vgpuId" validate:"required"`
}

AttachGPURequest struct to attach GPU for compute

type AttachPCIDeviceRequest

type AttachPCIDeviceRequest struct {
	// Identifier compute
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// PCI device ID
	// Required: true
	DeviceID uint64 `url:"deviceId" json:"deviceId" validate:"required"`
}

AttachPCIDeviceRequest struct to attach PCI device

type AuditsRequest

type AuditsRequest struct {
	// ID of the compute
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`
}

AuditsRequest struct to get audit records

type BootDiskSetRequest added in v1.8.0

type BootDiskSetRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// ID of the disk to set as boot
	// Required: true
	DiskID uint64 `url:"diskId" json:"diskId" validate:"required"`
}

BootDiskSetRequest struct to set boot disk for compute

type BootOrderGetRequest

type BootOrderGetRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`
}

BootOrderGetRequest struct to get boot order

type BootOrderSetRequest

type BootOrderSetRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// List of boot devices
	// Should be one of:
	//	- cdrom
	//	- network
	//	- hd
	// Required: true
	Order []string `url:"order" json:"order" validate:"min=1,computeOrder"`
}

BootOrderSetRequest struct to set boot order

type CDEjectRequest

type CDEjectRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`
}

CDEjectRequest struct to eject CD image

type CDInsertRequest

type CDInsertRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// ID of CD-ROM image
	// Required: true
	CDROMID uint64 `url:"cdromId" json:"cdromId" validate:"required"`
}

CDInsertRequest struct to insert new CD image

type ChangeIPRequest added in v1.9.0

type ChangeIPRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// Network type
	// 'EXTNET' for connect to external network directly
	// 'VINS' for connect to ViNS
	// Required: true
	NetType string `url:"netType" json:"netType" validate:"computeNetType"`

	// Network ID for connect to
	// For EXTNET - external network ID
	// For VINS - VINS ID
	// Required: true
	NetID uint64 `url:"netId" json:"netId" validate:"required"`

	// IP address to which we will change the existing one, it must be from the same subnet
	// Required: true
	IPAddr string `url:"ipAddr" json:"ipAddr" validate:"required"`
}

ChangeIPRequest struct to change IP for network

type ChangeLinkStateRequest added in v1.4.0

type ChangeLinkStateRequest struct {
	// Compute ID
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// Interface name or MAC address
	// Required: true
	Interface string `url:"interface" json:"interface" validate:"required"`

	// Interface state
	// Must be either "on" or "off"
	// Required: true
	State string `url:"state" json:"state" validate:"required,interfaceState"`
}

ChangeLinkStateRequest struct for changing link state

type CloneRequest

type CloneRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// Name of the clone
	// Required: true
	Name string `url:"name" json:"name" validate:"required"`

	// Timestamp of the parent's snapshot to create clone from
	// Required: false
	SnapshotTimestamp uint64 `url:"snapshotTimestamp" json:"snapshotTimestamp"`

	// Name of the parent's snapshot to create clone from
	// Required: false
	SnapshotName string `url:"snapshotName" json:"snapshotName"`

	// true ignore that the compute is running
	// Default: false
	// Required: false
	Force bool `url:"force" json:"force"`
}

CloneRequest struct to clone compute instance

type Compute

type Compute struct {
	// contains filtered or unexported fields
}

Structure for creating request to compute

func New

func New(client interfaces.Caller) *Compute

Builder for compute endpoints

func (Compute) AffinityGroupCheckStart

func (c Compute) AffinityGroupCheckStart(ctx context.Context, req AffinityGroupCheckStartRequest) (string, error)

AffinityGroupCheckStart check all computes with current affinity label can start

func (Compute) AffinityLabelRemove

func (c Compute) AffinityLabelRemove(ctx context.Context, req AffinityLabelRemoveRequest) (bool, error)

AffinityLabelRemove clear affinity label for compute

func (Compute) AffinityLabelSet

func (c Compute) AffinityLabelSet(ctx context.Context, req AffinityLabelSetRequest) (bool, error)

AffinityLabelSet sets affinity label for compute

func (Compute) AffinityRelations

AffinityRelations gets dict of computes divided by affinity and anti affinity rules

func (Compute) AffinityRuleAdd

func (c Compute) AffinityRuleAdd(ctx context.Context, req AffinityRuleAddRequest) (bool, error)

AffinityRuleAdd adds affinity rule

func (Compute) AffinityRuleRemove

func (c Compute) AffinityRuleRemove(ctx context.Context, req AffinityRuleRemoveRequest) (bool, error)

AffinityRuleRemove remove affinity rule

func (Compute) AffinityRulesClear

func (c Compute) AffinityRulesClear(ctx context.Context, req AffinityRulesClearRequest) (bool, error)

AffinityRulesClear clears affinity rules

func (Compute) AntiAffinityRuleAdd

func (c Compute) AntiAffinityRuleAdd(ctx context.Context, req AntiAffinityRuleAddRequest) (bool, error)

AntiAffinityRuleAdd adds anti affinity rule

func (Compute) AntiAffinityRuleRemove

func (c Compute) AntiAffinityRuleRemove(ctx context.Context, req AntiAffinityRuleRemoveRequest) (bool, error)

AntiAffinityRuleRemove removes anti affinity rule

func (Compute) AntiAffinityRulesClear

func (c Compute) AntiAffinityRulesClear(ctx context.Context, req AntiAffinityRulesClearRequest) (bool, error)

AntiAffinityRulesClear clear anti affinity rules

func (Compute) AttachGPU

func (c Compute) AttachGPU(ctx context.Context, req AttachGPURequest) (uint64, error)

AttachGPU attaches GPU for compute, returns vGPU ID on success

func (Compute) AttachPCIDevice

func (c Compute) AttachPCIDevice(ctx context.Context, req AttachPCIDeviceRequest) (bool, error)

AttachPCIDevice attaches PCI device

func (Compute) Audits

Audits gets audit records for the specified compute object

func (Compute) BootDiskSet added in v1.8.0

func (c Compute) BootDiskSet(ctx context.Context, req BootDiskSetRequest) (bool, error)

BootDiskSet sets boot disk for compute

func (Compute) BootOrderGet

func (c Compute) BootOrderGet(ctx context.Context, req BootOrderGetRequest) ([]string, error)

BootOrderGet gets actual compute boot order information

func (Compute) BootOrderSet

func (c Compute) BootOrderSet(ctx context.Context, req BootOrderSetRequest) ([]string, error)

BootOrderSet sets compute boot order

func (Compute) CDEject

func (c Compute) CDEject(ctx context.Context, req CDEjectRequest) (bool, error)

CDEject ejects CD image to compute's CD-ROM

func (Compute) CDInsert

func (c Compute) CDInsert(ctx context.Context, req CDInsertRequest) (bool, error)

CDInsert inserts new CD image to compute's CD-ROM

func (Compute) ChangeIP added in v1.9.0

func (c Compute) ChangeIP(ctx context.Context, req ChangeIPRequest) (bool, error)

ChangeIP change reserved IP for compute instance

func (Compute) ChangeLinkState added in v1.4.0

func (c Compute) ChangeLinkState(ctx context.Context, req ChangeLinkStateRequest) (bool, error)

ChangeLinkState changes the status link virtual of compute

func (Compute) Clone

func (c Compute) Clone(ctx context.Context, req CloneRequest) (uint64, error)

Clone clones compute instance

func (Compute) ComputeCISet

func (c Compute) ComputeCISet(ctx context.Context, req ComputeCISetRequest) (bool, error)

ComputeCISet sets compute CI ID for compute

func (Compute) ComputeCIUnset

func (c Compute) ComputeCIUnset(ctx context.Context, req ComputeCIUnsetRequest) (bool, error)

ComputeCIUnset unsets compute CI ID from compute

func (Compute) CreateTemplate

func (c Compute) CreateTemplate(ctx context.Context, req CreateTemplateRequest) (uint64, error)

CreateTemplate create template from compute instance

func (Compute) CreateTemplateAsync

func (c Compute) CreateTemplateAsync(ctx context.Context, req CreateTemplateRequest) (string, error)

CreateTemplateAsync create template from compute instance

func (Compute) CreateTemplateFromBlank added in v1.8.0

func (c Compute) CreateTemplateFromBlank(ctx context.Context, req CreateTemplateFromBlankRequest) (uint64, error)

CreateTemplateFromBlank creates template from boot disk of current compute in sync mode. It returns id of created compute and error.

func (Compute) CreateTemplateFromBlankAsync added in v1.8.0

func (c Compute) CreateTemplateFromBlankAsync(ctx context.Context, req CreateTemplateFromBlankRequest) (string, error)

CreateTemplateFromBlankAsync creates template from boot disk of current compute in async mode. It returns guid of task and error.

func (Compute) Delete

func (c Compute) Delete(ctx context.Context, req DeleteRequest) (bool, error)

Delete deletes compute

func (Compute) DeleteCustomFields added in v1.7.2

func (c Compute) DeleteCustomFields(ctx context.Context, req DeleteCustomFieldsRequest) (bool, error)

DeleteCustomFields deletes computes custom fields

func (Compute) DetachGPU

func (c Compute) DetachGPU(ctx context.Context, req DetachGPURequest) (bool, error)

DetachGPU detaches VGPU for compute. If param VGPU ID is equivalent -1, then detach all VGPU for compute

func (Compute) DetachPciDevice

func (c Compute) DetachPciDevice(ctx context.Context, req DetachPCIDeviceRequest) (bool, error)

DetachPciDevice detaches PCI device

func (Compute) Disable

func (c Compute) Disable(ctx context.Context, req DisableRequest) (bool, error)

Disable disables compute

func (Compute) DiskAdd

func (c Compute) DiskAdd(ctx context.Context, req DiskAddRequest) (uint64, error)

DiskAdd creates new disk and attach to compute

func (Compute) DiskAttach

func (c Compute) DiskAttach(ctx context.Context, req DiskAttachRequest) (bool, error)

DiskAttach attach disk to compute

func (Compute) DiskDel

func (c Compute) DiskDel(ctx context.Context, req DiskDelRequest) (bool, error)

DiskDel deletes disk and detaches it from compute

func (Compute) DiskDetach

func (c Compute) DiskDetach(ctx context.Context, req DiskDetachRequest) (bool, error)

DiskDetach detaches disk from compute

func (Compute) DiskMigrate added in v1.8.0

func (c Compute) DiskMigrate(ctx context.Context, req DiskMigrateRequest) (bool, error)

DiskMigrate - migrate compute's disk to target disk. Source disk will be detached, target disk will be attached to the same PCI slot. (WARNING) Current realisation is limited. No actual data migration will be performed. Use this API if target disk already connected to compute and you only need to save changes for next reboot (mode: 1).

func (Compute) DiskQOS

func (c Compute) DiskQOS(ctx context.Context, req DiskQOSRequest) (bool, error)

DiskQOS changes QOS of the disk

func (Compute) DiskResize

func (c Compute) DiskResize(ctx context.Context, req DiskResizeRequest) (bool, error)

DiskResize changes disk size

func (Compute) DiskSwitchToReplication added in v1.8.0

func (c Compute) DiskSwitchToReplication(ctx context.Context, req DiskSwitchToReplicationRequest) (bool, error)

DiskSwitchToReplication switches disk to it's replication

func (Compute) Enable

func (c Compute) Enable(ctx context.Context, req EnableRequest) (bool, error)

Enable enables compute

func (Compute) Get

func (c Compute) Get(ctx context.Context, req GetRequest) (*RecordCompute, error)

Get gets information about compute as a RecordCompute struct

func (Compute) GetAudits

func (c Compute) GetAudits(ctx context.Context, req GetAuditsRequest) (ListAudits, error)

GetAudits gets compute audits

func (Compute) GetConsoleURL

func (c Compute) GetConsoleURL(ctx context.Context, req GetConsoleURLRequest) (string, error)

GetConsoleURL gets computes console URL

func (Compute) GetCustomFields added in v1.8.0

func (c Compute) GetCustomFields(ctx context.Context, req GetCustomFieldsRequest) (interface{}, error)

GetCustomFields gets Compute's customFields

func (Compute) GetLog

func (c Compute) GetLog(ctx context.Context, req GetLogRequest) (string, error)

GetLog gets compute's log file by path

func (Compute) GetRaw added in v1.6.6

func (c Compute) GetRaw(ctx context.Context, req GetRequest) ([]byte, error)

GetRaw gets information about compute as an array of bytes

func (Compute) List

func (c Compute) List(ctx context.Context, req ListRequest) (*ListComputes, error)

List gets list of the available computes as a ListComputes struct. Filtering based on status is possible

func (Compute) ListDeleted

func (c Compute) ListDeleted(ctx context.Context, req ListDeletedRequest) (*ListComputes, error)

ListDeleted gets list all deleted computes

func (Compute) ListPCIDevice

func (c Compute) ListPCIDevice(ctx context.Context, req ListPCIDeviceRequest) (*ListPCIDevices, error)

ListPCIDevice gets list of PCI device

func (Compute) ListRaw added in v1.6.6

func (c Compute) ListRaw(ctx context.Context, req ListRequest) ([]byte, error)

ListRaw gets list of the available computes as an array of bytes

func (Compute) ListVGPU added in v1.5.0

func (c Compute) ListVGPU(ctx context.Context, req ListVGPURequest) (*ListVGPUs, error)

ListVGPU gets list of GPU for compute

func (Compute) MassDelete

func (c Compute) MassDelete(ctx context.Context, req MassDeleteRequest) (bool, error)

MassDelete starts jobs to delete several computes

func (Compute) MassReboot

func (c Compute) MassReboot(ctx context.Context, req MassRebootRequest) (bool, error)

MassReboot starts jobs to reboot several computes

func (Compute) MassRepairBootFS

func (c Compute) MassRepairBootFS(ctx context.Context, req MassRepairBootFSRequest) (bool, error)

MassRepairBootFS repairs boot disk filesystem on several computes

func (Compute) MassStart

func (c Compute) MassStart(ctx context.Context, req MassStartRequest) (bool, error)

MassStart starts jobs to start several computes

func (Compute) MassStop

func (c Compute) MassStop(ctx context.Context, req MassStopRequest) (bool, error)

MassStop starts jobs to stop several computes

func (Compute) Migrate

func (c Compute) Migrate(ctx context.Context, req MigrateRequest) (bool, error)

Migrate migrates compute to another stack

func (Compute) MigrateStorage

func (c Compute) MigrateStorage(ctx context.Context, req MigrateStorageRequest) (string, error)

MigrateStorage gets complex compute migration Compute will be migrated to specified stack, and compute disks will be migrated to specified SEP to specified pool. This action can take up to 84 hours

func (Compute) MigrateStorageAbort

func (c Compute) MigrateStorageAbort(ctx context.Context, req MigrateStorageAbortRequest) (string, error)

MigrateStorageAbort aborts complex compute migration job

func (Compute) MigrateStorageCleanUp

func (c Compute) MigrateStorageCleanUp(ctx context.Context, req MigrateStorageCleanUpRequest) (string, error)

MigrateStorageCleanUp cleanup resources after finished (success of failed) complex compute migration. If the migration was successful, then old disks will be removed, else new (target) disks will be removed. Do it wisely!

func (Compute) MigrateStorageInfo

func (c Compute) MigrateStorageInfo(ctx context.Context, req MigrateStorageInfoRequest) (string, error)

MigrateStorageInfo gets info about last (include ongoing) storage migration

func (Compute) NetAttach

func (c Compute) NetAttach(ctx context.Context, req NetAttachRequest) (*RecordNetAttach, error)

NetAttach attaches network to compute and gets info about network

func (Compute) NetDetach

func (c Compute) NetDetach(ctx context.Context, req NetDetachRequest) (bool, error)

NetDetach detaches network from compute

func (Compute) NetQOS

func (c Compute) NetQOS(ctx context.Context, req NetQOSRequest) (bool, error)

NetQOS updates compute interfaces QOS

func (Compute) PFWAdd

func (c Compute) PFWAdd(ctx context.Context, req PFWAddRequest) (uint64, error)

PFWAdd adds port forward rule

func (Compute) PFWDel

func (c Compute) PFWDel(ctx context.Context, req PFWDelRequest) (bool, error)

PFWDel deletes port forward rule

func (Compute) PFWList

func (c Compute) PFWList(ctx context.Context, req PFWListRequest) (*ListPFW, error)

PFWList gets compute port forwards list

func (Compute) Pause

func (c Compute) Pause(ctx context.Context, req PauseRequest) (bool, error)

Pause pause compute

func (Compute) PinToStack

func (c Compute) PinToStack(ctx context.Context, req PinToStackRequest) (uint64, error)

PinToStack pins compute to current stack

func (Compute) PowerCycle

func (c Compute) PowerCycle(ctx context.Context, req PowerCycleRequest) (bool, error)

PowerCycle makes force stop and start compute

func (Compute) RaiseDown

func (c Compute) RaiseDown(ctx context.Context) (bool, error)

RaiseDown starting all computes in "DOWN" tech status

func (Compute) Reboot

func (c Compute) Reboot(ctx context.Context, req RebootRequest) (bool, error)

Reboot reboots compute

func (Compute) Redeploy

func (c Compute) Redeploy(ctx context.Context, req RedeployRequest) (bool, error)

Redeploy redeploys compute

func (Compute) Registration

func (c Compute) Registration(ctx context.Context, req RegistrationRequest) (bool, error)

Registration sets compute registered in RT

func (Compute) RepairBootFS

func (c Compute) RepairBootFS(ctx context.Context, req RepairBootFSRequest) (bool, error)

RepairBootFS repairs compute boot disk filesystem

func (Compute) Reset

func (c Compute) Reset(ctx context.Context, req ResetRequest) (bool, error)

Reset resets compute

func (Compute) Resize

func (c Compute) Resize(ctx context.Context, req ResizeRequest) (bool, error)

Resize resizes compute instance

func (Compute) Restore

func (c Compute) Restore(ctx context.Context, req RestoreRequest) (bool, error)

Restore restores compute from recycle bin

func (Compute) Resume

func (c Compute) Resume(ctx context.Context, req ResumeRequest) (bool, error)

Resume resumes Compute from paused state

func (Compute) SetCustomFields added in v1.6.0

func (c Compute) SetCustomFields(ctx context.Context, req SetCustomFieldsRequest) (bool, error)

SetCustomFields sets customFields values for the Compute

func (Compute) SetNetConfig added in v1.9.0

func (c Compute) SetNetConfig(ctx context.Context, req SetNetConfigRequest) (bool, error)

Configure libvirt virtio interface parameters

func (Compute) SnapshotCreate

func (c Compute) SnapshotCreate(ctx context.Context, req SnapshotCreateRequest) (string, error)

SnapshotCreate creates compute snapshot

func (Compute) SnapshotDelete

func (c Compute) SnapshotDelete(ctx context.Context, req SnapshotDeleteRequest) (string, error)

SnapshotDelete deletes specified compute snapshot

func (Compute) SnapshotDeleteAsync added in v1.9.0

func (c Compute) SnapshotDeleteAsync(ctx context.Context, req SnapshotDeleteRequest) (string, error)

SnapshotDeleteAsync deletes specified compute snapshot with AsyncMode

func (Compute) SnapshotEvictDisk

func (c Compute) SnapshotEvictDisk(ctx context.Context, req SnapshotEvictDiskRequest) (bool, error)

SnapshotEvictDisk evicts specified disk from all snapshots of a compute instance

func (Compute) SnapshotList

func (c Compute) SnapshotList(ctx context.Context, req SnapshotListRequest) (*ListSnapShot, error)

SnapshotList gets list of compute snapshots

func (Compute) SnapshotRollback

func (c Compute) SnapshotRollback(ctx context.Context, req SnapshotRollbackRequest) (bool, error)

SnapshotRollback rollbacks specified compute snapshot

func (Compute) SnapshotUsage

func (c Compute) SnapshotUsage(ctx context.Context, req SnapshotUsageRequest) (ListSnapshotUsage, error)

SnapshotUsage gets compute snapshot real size on storage. Always returns list of json objects, and first json object contains summary about all related snapshots.

func (Compute) Start

func (c Compute) Start(ctx context.Context, req StartRequest) (bool, error)

Start starts compute

func (Compute) Stop

func (c Compute) Stop(ctx context.Context, req StopRequest) (bool, error)

Stop stops compute

func (Compute) TagAdd

func (c Compute) TagAdd(ctx context.Context, req TagAddRequest) (bool, error)

TagAdd adds tag to compute tags dict

func (Compute) TagRemove

func (c Compute) TagRemove(ctx context.Context, req TagRemoveRequest) (bool, error)

TagRemove removes tag from compute tags dict

func (Compute) UnpinFromStack

func (c Compute) UnpinFromStack(ctx context.Context, req UnpinFromStackRequest) (bool, error)

UnpinFromStack unpins compute from current stack

func (Compute) Update

func (c Compute) Update(ctx context.Context, req UpdateRequest) (bool, error)

Update updates some properties of the compute

func (Compute) UserGrant

func (c Compute) UserGrant(ctx context.Context, req UserGrantRequest) (bool, error)

UserGrant grants user access to the compute

func (Compute) UserList

func (c Compute) UserList(ctx context.Context, req UserListRequest) (*ListUsers, error)

UserList gets users list for compute

func (Compute) UserRevoke

func (c Compute) UserRevoke(ctx context.Context, req UserRevokeRequest) (bool, error)

UserRevoke revokes user access to the compute

func (Compute) UserUpdate

func (c Compute) UserUpdate(ctx context.Context, req UserUpdateRequest) (bool, error)

UserUpdate updates user access to the compute

func (Compute) Validate

func (c Compute) Validate(ctx context.Context, req MoveToRGRequest) (bool, error)

MoveToRG moves compute instance to new resource group

type ComputeCISetRequest

type ComputeCISetRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// ID of the Compute CI
	// Required: true
	ComputeCIID uint64 `url:"computeciId" json:"computeciId" validate:"required"`
}

ComputeCISetRequest struct to set compute CI

type ComputeCIUnsetRequest

type ComputeCIUnsetRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`
}

ComputeCIUnsetRequest struct to unset compute CI

type CreateTemplateFromBlankRequest added in v1.8.0

type CreateTemplateFromBlankRequest struct {
	// ID of the compute to create template from
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// Name of the rescue disk
	// Required: true
	Name string `url:"name" json:"name" validate:"required"`

	// Boot type of image BIOS or UEFI
	// Required: true
	BootType string `url:"boottype" json:"boottype" validate:"imageBootType"`

	// Image type linux, windows or other
	// Required: true
	ImageType string `url:"imagetype" json:"imagetype" validate:"imageType"`

	// Username for the image
	// Required: false
	Username string `url:"username,omitempty" json:"username,omitempty"`

	// Password for the image
	// Required: false
	Password string `url:"password,omitempty" json:"password,omitempty"`

	// Account ID to make the image exclusive
	// Required: false
	AccountID uint64 `url:"accountId,omitempty" json:"accountId,omitempty"`

	// SEP ID
	// Required: false
	SepID uint64 `url:"sepId,omitempty" json:"sepId,omitempty"`

	// Pool for image create
	// Required: false
	PoolName string `url:"poolName,omitempty" json:"poolName,omitempty"`

	// Does this machine supports hot resize
	// Default: false
	// Required: false
	HotResize bool `url:"hotresize" json:"hotresize"`
}

CreateTemplateFromBlankRequest struct to create template from boot disk of current compute

type CreateTemplateRequest

type CreateTemplateRequest struct {
	// ID of the compute to create template from
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// Name to assign to the template being created
	// Required: true
	Name string `url:"name" json:"name" validate:"required"`
}

CreateTemplateRequest struct to create template

type DeleteCustomFieldsRequest added in v1.7.2

type DeleteCustomFieldsRequest struct {
	// ID of the compute
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`
}

DeleteCustomFieldsRequest struct to delete compute's custom fields

type DeleteRequest

type DeleteRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// Delete permanently
	// Required: false
	Permanently bool `url:"permanently,omitempty" json:"permanently,omitempty"`

	// Set True if you want to detach data disks (if any) from the compute before its deletion
	// Required: false
	DetachDisks bool `url:"detachDisks,omitempty" json:"detachDisks,omitempty"`
}

DeleteRequest struct to delete compute

type DetachGPURequest

type DetachGPURequest struct {
	// Identifier compute
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// Identifier virtual GPU
	// Required: false
	VGPUID int64 `url:"vgpuId,omitempty" json:"vgpuId,omitempty"`
}

DetachGPURequest struct to detach VGPU for compute

type DetachPCIDeviceRequest

type DetachPCIDeviceRequest struct {
	// Identifier compute
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// PCI device ID
	// Required: true
	DeviceID uint64 `url:"deviceId" json:"deviceId" validate:"required"`
}

DetachPCIDeviceRequest struct to detach PCI device

type DisableRequest

type DisableRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`
}

DisableRequest struct to disable compute

type DiskAddRequest

type DiskAddRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// Name for disk
	// Required: true
	DiskName string `url:"diskName" json:"diskName" validate:"required"`

	// Disk size in GB
	// Required: true
	Size uint64 `url:"size" json:"size" validate:"required"`

	// Storage endpoint provider ID
	// By default the same with boot disk
	// Required: false
	SepID uint64 `url:"sepId,omitempty" json:"sepId,omitempty"`

	// Type of the disk
	// Should be one of:
	//	- D
	//	- B
	// Required: false
	DiskType string `url:"diskType,omitempty" json:"diskType,omitempty" validate:"omitempty,computeDiskType"`

	// Pool name
	// By default will be chosen automatically
	// Required: false
	Pool string `url:"pool,omitempty" json:"pool,omitempty"`

	// Optional description
	// Required: false
	Description string `url:"desc,omitempty" json:"desc,omitempty"`

	// Specify image id for create disk from template
	// Required: false
	ImageID uint64 `url:"imageId,omitempty" json:"imageId,omitempty"`
}

DiskAddRequest struct to create and attach disk to compute

type DiskAttachRequest

type DiskAttachRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// ID of the disk to attach
	// Required: true
	DiskID uint64 `url:"diskId" json:"diskId" validate:"required"`

	// Type of the disk B;D
	// Required: false
	DiskType string `url:"diskType,omitempty" json:"diskType,omitempty"`
}

DiskAttachRequest struct to attach disk to compute

type DiskDelRequest

type DiskDelRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// ID of disk instance
	// Required: true
	DiskID uint64 `url:"diskId" json:"diskId" validate:"required"`

	// False if disk is to be deleted to recycle bin
	// Required: true
	Permanently bool `url:"permanently" json:"permanently"`
}

DiskDelRequest struct to detach and delete disk from compute

type DiskDetachRequest

type DiskDetachRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// ID of the disk to detach
	// Required: true
	DiskID uint64 `url:"diskId" json:"diskId" validate:"required"`
}

DiskDetachRequest struct to detach disk from compute

type DiskMigrateRequest added in v1.8.0

type DiskMigrateRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// ID source disk
	// Required: true
	DiskID uint64 `url:"diskId" json:"diskId" validate:"required"`

	// ID target disk
	// Required: true
	TargetDiskID uint64 `url:"targetDiskId" json:"targetDiskId" validate:"required"`

	// Migration mode. 1 - Data migration and domain update were already completed by third-party software.
	// Use this if target disk already connected to compute and you only need to save changes for next reboot.
	// Required: false
	Mode int64 `url:"mode,omitempty" json:"mode,omitempty"`
}

DiskMigrateRequest struct to migrate compute's disk to target disk

type DiskQOSRequest

type DiskQOSRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// ID of the disk to apply limits
	// Required: true
	DiskID uint64 `url:"diskId" json:"diskId" validate:"required"`

	// Limit IO for a certain disk total and read/write options are not allowed to be combined
	// Required: true
	Limits string `url:"limits" json:"limits" validate:"required"`
}

DiskQOSRequest struct to change QOS of the disk

type DiskResizeRequest

type DiskResizeRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// ID of the disk to resize
	// Required: true
	DiskID uint64 `url:"diskId" json:"diskId" validate:"required"`

	// New disk size
	// Required: true
	Size uint64 `url:"size" json:"size" validate:"required"`
}

DiskResizeRequest struct to change disk size

type DiskSwitchToReplicationRequest added in v1.8.0

type DiskSwitchToReplicationRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// ID of the disk to switch
	// Required: true
	DiskID uint64 `url:"diskId" json:"diskId" validate:"required"`

	// Delete replication relationship
	// Required: false
	StopReplication bool `url:"stopReplication" json:"stopReplication"`
}

DiskSwitchToReplicationRequest struct to switch disk to it's replication

type EnableRequest

type EnableRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`
}

EnableRequest struct to enable compute

type GetAuditsRequest

type GetAuditsRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`
}

GetAuditsRequest struct to get compute audits

type GetConsoleURLRequest

type GetConsoleURLRequest struct {
	// ID of compute instance to get console for
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`
}

GetConsoleURLRequest struct to get console URL

type GetCustomFieldsRequest added in v1.8.0

type GetCustomFieldsRequest struct {
	// Compute ID
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`
}

GetCustomFieldsRequest struct to get Compute's customFields

type GetLogRequest

type GetLogRequest struct {
	// ID of compute instance to get log for
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// Path to log file
	// Required: true
	Path string `url:"path" json:"path" validate:"required"`
}

GetLogRequest struct to get compute logs

type GetRequest

type GetRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`
}

GetRequest to get information about compute

type IOTune

type IOTune struct {
	// ReadBytesSec
	ReadBytesSec uint64 `json:"read_bytes_sec"`

	// ReadBytesSecMax
	ReadBytesSecMax uint64 `json:"read_bytes_sec_max"`

	// ReadIOPSSec
	ReadIOPSSec uint64 `json:"read_iops_sec"`

	// ReadIOPSSecMax
	ReadIOPSSecMax uint64 `json:"read_iops_sec_max"`

	// SizeIOPSSec
	SizeIOPSSec uint64 `json:"size_iops_sec"`

	// TotalBytesSec
	TotalBytesSec uint64 `json:"total_bytes_sec"`

	// TotalBytesSecMax
	TotalBytesSecMax uint64 `json:"total_bytes_sec_max"`

	// TotalIOPSSec
	TotalIOPSSec uint64 `json:"total_iops_sec"`

	// TotalIOPSSecMax
	TotalIOPSSecMax uint64 `json:"total_iops_sec_max"`

	// WriteBytesSec
	WriteBytesSec uint64 `json:"write_bytes_sec"`

	// WriteBytesSecMax
	WriteBytesSecMax uint64 `json:"write_bytes_sec_max"`

	// WriteIOPSSec
	WriteIOPSSec uint64 `json:"write_iops_sec"`

	// WriteIOPSSecMax
	WriteIOPSSecMax uint64 `json:"write_iops_sec_max"`
}

Main information about IO tune

type InfoCompute

type InfoCompute struct {
	// Account ID
	AccountID uint64 `json:"accountId"`

	// Account name
	AccountName string `json:"accountName"`

	// Access Control List
	ACL []interface{} `json:"acl"`

	// Affinity label
	AffinityLabel string `json:"affinityLabel"`

	// Affinity rules
	AffinityRules ListRules `json:"affinityRules"`

	// Affinity weight
	AffinityWeight uint64 `json:"affinityWeight"`

	// Anti affinity rules
	AntiAffinityRules ListRules `json:"antiAffinityRules"`

	// Auto start when node restarted
	AutoStart bool `json:"autoStart"`

	// Architecture
	Arch string `json:"arch"`

	// Boot order
	BootOrder []string `json:"bootOrder"`

	// Boot disk size
	BootDiskSize uint64 `json:"bootdiskSize"`

	// CD Image Id
	CdImageId uint64 `json:"cdImageId"`

	// Chipset
	Chipset string `json:"chipset"`

	// Clone reference
	CloneReference uint64 `json:"cloneReference"`

	// List clone IDs
	Clones []uint64 `json:"clones"`

	// Compute CI ID
	ComputeCIID uint64 `json:"computeciId"`

	// CPU Pin
	CPUPin bool `json:"cpupin"`

	// Number of CPU
	CPUs uint64 `json:"cpus"`

	// Created by
	CreatedBy string `json:"createdBy"`

	// Created time
	CreatedTime uint64 `json:"createdTime"`

	// Custom fields
	CustomFields map[string]interface{} `json:"customFields"`

	// Deleted by
	DeletedBy string `json:"deletedBy"`

	// Deleted time
	DeletedTime uint64 `json:"deletedTime"`

	// Description
	Description string `json:"desc"`

	// Devices
	Devices interface{} `json:"devices"`

	// Driver
	Driver string `json:"driver"`

	// Grid ID
	GID uint64 `json:"gid"`

	// GUID
	GUID uint64 `json:"guid"`

	// HPBacked
	HPBacked bool `json:"hpBacked"`

	// ID
	ID uint64 `json:"id"`

	// Image ID
	ImageID uint64 `json:"imageId"`

	// List interfaces
	Interfaces ListInterfaces `json:"interfaces"`

	// Lock status
	LockStatus string `json:"lockStatus"`

	// Manager ID
	ManagerID uint64 `json:"managerId"`

	// Manager type
	ManagerType string `json:"managerType"`

	// Migration job
	MigrationJob uint64 `json:"migrationjob"`

	// Milestones
	Milestones uint64 `json:"milestones"`

	// Name
	Name string `json:"name"`

	// Need reboot
	NeedReboot bool `json:"needReboot"`

	// Numa Affinity
	NumaAffinity string `json:"numaAffinity"`

	//NumaNodeId
	NumaNodeId int64 `json:"numaNodeId"`

	// List OS users
	OSUsers ListOSUsers `json:"osUsers"`

	// Pinned
	Pinned bool `json:"pinned"`

	// PreferredCPU
	PreferredCPU []int64 `json:"preferredCpu"`

	// Number of RAM
	RAM uint64 `json:"ram"`

	// Reference ID
	ReferenceID string `json:"referenceId"`

	// Registered
	Registered bool `json:"registered"`

	// Resource name
	ResName string `json:"resName"`

	// Reserved Node Cpus
	ReservedNodeCpus []uint64 `json:"reservedNodeCpus"`

	// Resource group ID
	RGID uint64 `json:"rgId"`

	// Resource group name
	RGName string `json:"rgName"`

	// SnapSets
	SnapSets ListSnapshots `json:"snapSets"`

	// Stack ID
	StackID uint64 `json:"stackId"`

	// Stack name
	StackName string `json:"stackName"`

	// Stateless SEP ID
	StatelessSEPID int64 `json:"statelessSepId"`

	// Stateless SEP Type
	StatelessSEPType string `json:"statelessSepType"`

	// Status
	Status string `json:"status"`

	// Tags
	Tags map[string]interface{} `json:"tags"`

	// Tech status
	TechStatus string `json:"techStatus"`

	// Total disk size
	TotalDiskSize uint64 `json:"totalDisksSize"`

	// Updated by
	UpdatedBy string `json:"updatedBy"`

	// Updated time
	UpdatedTime uint64 `json:"updatedTime"`

	// User managed
	UserManaged bool `json:"userManaged"`

	// Userdata
	Userdata interface{} `json:"userdata"`

	// List VGPU IDs
	VGPUs []uint64 `json:"vgpus"`

	// VINS connected
	VINSConnected uint64 `json:"vinsConnected"`

	// Virtual image ID
	VirtualImageID uint64 `json:"virtualImageId"`
}

Information about compute

type InfoDisk

type InfoDisk struct {
	// Bus number
	BusNumber uint64 `json:"bus_number"`

	// ID
	ID uint64 `json:"id"`

	// PCISlot
	PCISlot int64 `json:"pciSlot"`
}

Information Disk

type ItemACL

type ItemACL struct {
	// Explicit
	Explicit bool `json:"explicit"`

	// GUID
	GUID string `json:"guid"`

	// Right
	Right string `json:"right"`

	// Status
	Status string `json:"status"`

	// Type
	Type string `json:"type"`

	// User group ID
	UserGroupID string `json:"userGroupId"`
}

ACL information

type ItemAudit

type ItemAudit struct {
	// Epoch
	Epoch float64 `json:"epoch"`

	// Message
	Message string `json:"message"`
}

Short information about audit

type ItemCompute

type ItemCompute struct {
	// List of disk IDs
	Disks ListInfoDisks `json:"disks"`

	// Main information about compute
	InfoCompute

	// Total disk size
	TotalDiskSize uint64 `json:"totalDisksSize"`

	// VINS connected
	VINSConnected uint64 `json:"vinsConnected"`
}

Main information about compute for list

func (ItemCompute) Serialize

func (ic ItemCompute) Serialize(params ...string) (serialization.Serialized, error)

Serialize returns JSON-serialized []byte. Used as a wrapper over json.Marshal and json.MarshalIndent functions.

In order to serialize with indent make sure to follow these guidelines:

  • First argument -> prefix
  • Second argument -> indent

type ItemComputeACL

type ItemComputeACL struct {
	// Explicit
	Explicit string `json:"explicit"`

	// GUID
	GUID string `json:"guid"`

	// Right
	Right string `json:"right"`

	// Status
	Status string `json:"status"`

	// Type
	Type string `json:"type"`

	// User group ID
	UserGroupID string `json:"userGroupId"`
}

ACL compute information

type ItemDetailedAudit

type ItemDetailedAudit struct {
	// Call
	Call string `json:"call"`

	// Response time
	ResponseTime float64 `json:"responsetime"`

	// Status code
	StatusCode uint64 `json:"statuscode"`

	// Timestamp
	Timestamp float64 `json:"timestamp"`

	// User
	User string `json:"user"`
}

Detailed information about audit

type ItemDisk

type ItemDisk struct {
	// CKey
	CKey string `json:"_ckey"`

	// Meta
	Meta []interface{} `json:"_meta"`

	// Account ID
	AccountID uint64 `json:"accountId"`

	// Access Control List
	ACL ItemACL `json:"acl"`

	// Boot partition
	BootPartition uint64 `json:"bootPartition"`

	// Bus number
	BusNumber uint64 `json:"bus_number"`

	// Created time
	CreatedTime uint64 `json:"createdTime"`

	// Deleted time
	DeletedTime uint64 `json:"deletedTime"`

	// Description
	Description string `json:"desc"`

	// Destruction time
	DestructionTime uint64 `json:"destructionTime"`

	// Disk path
	DiskPath string `json:"diskPath"`

	// Grid ID
	GID uint64 `json:"gid"`

	// GUID
	GUID uint64 `json:"guid"`

	// ID
	ID uint64 `json:"id"`

	// Image ID
	ImageID uint64 `json:"imageId"`

	// List image IDs
	Images []uint64 `json:"images"`

	// IOTune
	IOTune IOTune `json:"iotune"`

	// IQN
	IQN string `json:"iqn"`

	// Login
	Login string `json:"login"`

	// Milestones
	Milestones uint64 `json:"milestones"`

	// Name
	Name string `json:"name"`

	// Order
	Order uint64 `json:"order"`

	// Params
	Params string `json:"params"`

	// Parent ID
	ParentID uint64 `json:"parentId"`

	// Password
	Password string `json:"passwd"`

	// PCI slot
	PCISlot int64 `json:"pciSlot"`

	// Pool
	Pool string `json:"pool"`

	// Present to
	PresentTo []uint64 `json:"presentTo"`

	// Purge attempts
	PurgeAttempts uint64 `json:"purgeAttempts"`

	// Purge time
	PurgeTime uint64 `json:"purgeTime"`

	// Reality device number
	RealityDeviceNumber uint64 `json:"realityDeviceNumber"`

	// Replication
	Replication ItemReplication `json:"replication"`

	// Reference ID
	ReferenceID string `json:"referenceId"`

	// Resource ID
	ResID string `json:"resId"`

	// Resource name
	ResName string `json:"resName"`

	// Role
	Role string `json:"role"`

	// SEP ID
	SEPID uint64 `json:"sepId"`

	// Shareable
	Shareable bool `json:"shareable"`

	// Size max
	SizeMax uint64 `json:"sizeMax"`

	// Size used
	SizeUsed float64 `json:"sizeUsed"`

	// List detailed snapshots
	Snapshots ListDetailedSnapshots `json:"snapshots"`

	// Status
	Status string `json:"status"`

	// Tech status
	TechStatus string `json:"techStatus"`

	// Type
	Type string `json:"type"`

	// Updated by
	UpdatedBy uint64 `json:"updatedBy,omitempty"`

	// Virtual machine ID
	VMID uint64 `json:"vmid"`
}

Main information about disk

type ItemInterface

type ItemInterface struct {
	// Bus number
	BusNumber uint64 `json:"bus_number"`

	// Connection ID
	ConnID uint64 `json:"connId"`

	// Connection type
	ConnType string `json:"connType"`

	// Default GW
	DefGW string `json:"defGw"`

	// Enabled
	Enabled bool `json:"enabled"`

	// FLIPGroup ID
	FLIPGroupID uint64 `json:"flipgroupId"`

	// GUID
	GUID string `json:"guid"`

	// IP address
	IPAddress string `json:"ipAddress"`

	// Listen SSH or not
	ListenSSH bool `json:"listenSsh"`

	// Maximum transmission unit
	MTU uint64 `json:"mtu"`

	// Libvirt Settings
	LibvirtSettings LibvirtSettings `json:"libvirtSettings"`

	// MAC
	MAC string `json:"mac"`

	// Name
	Name string `json:"name"`

	// Network ID
	NetID uint64 `json:"netId"`

	// Network mask
	NetMask uint64 `json:"netMask"`

	// Network type
	NetType string `json:"netType"`

	// NodeID
	NodeID int64 `json:"nodeId"`

	// PCI slot
	PCISlot int64 `json:"pciSlot"`

	// QOS
	QOS QOS `json:"qos"`

	// Target
	Target string `json:"target"`

	// Type
	Type string `json:"type"`

	// List VNF IDs
	VNFs []uint64 `json:"vnfs"`
}

Main information about interface

type ItemOSUser

type ItemOSUser struct {
	// GUID
	GUID string `json:"guid"`

	// Login
	Login string `json:"login"`

	// Password
	Password string `json:"password"`

	// Public key
	PubKey string `json:"pubkey"`
}

Main information about OS user

type ItemPCIDevice

type ItemPCIDevice struct {
	// CKey
	CKey string `json:"_ckey"`

	// Meta
	Meta []interface{} `json:"_meta"`

	// Compute ID
	ComputeID uint64 `json:"computeId"`

	// Description
	Description string `json:"description"`

	// GUID
	GUID uint64 `json:"guid"`

	// HwPath
	HwPath string `json:"hwPath"`

	// ID
	ID uint64 `json:"id"`

	// Name
	Name string `json:"name"`

	// Resource group ID
	RGID uint64 `json:"rgId"`

	// Stack ID
	StackID uint64 `json:"stackId"`

	// Status
	Status string `json:"status"`

	// System name
	SystemName string `json:"systemName"`
}

Main information about PCI device

type ItemPFW

type ItemPFW struct {
	// ID
	ID uint64 `json:"id"`

	// Local IP
	LocalIP string `json:"localIp"`

	// Local port
	LocalPort uint64 `json:"localPort"`

	// Protocol
	Protocol string `json:"protocol"`

	// Public port end
	PublicPortEnd uint64 `json:"publicPortEnd"`

	// Public port start
	PublicPortStart uint64 `json:"publicPortStart"`

	// Virtuel machine ID
	VMID uint64 `json:"vmId"`
}

Main information about port forward

type ItemReplication added in v1.8.1

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"`
}

type ItemRule

type ItemRule struct {
	// GUID
	GUID string `json:"guid"`

	// Key
	Key string `json:"key"`

	// Mode
	Mode string `json:"mode"`

	// Policy
	Policy string `json:"policy"`

	// Topology
	Topology string `json:"topology"`

	// Value
	Value string `json:"value"`
}

Main information about rule

type ItemSnapshot

type ItemSnapshot struct {
	// List of disk IDs
	Disks []uint64 `json:"disks"`

	// GUID
	GUID string `json:"guid"`

	// Label
	Label string `json:"label"`

	// Timestamp
	Timestamp uint64 `json:"timestamp"`
}

Main information about snapshot

type ItemSnapshotDetailed

type ItemSnapshotDetailed struct {
	// GUID
	GUID string `json:"guid"`

	// Label
	Label string `json:"label"`

	// Resource ID
	ResID string `json:"resId"`

	// SnapSetGUID
	SnapSetGUID string `json:"snapSetGuid"`

	// SnapSetTime
	SnapSetTime uint64 `json:"snapSetTime"`

	// TimeStamp
	TimeStamp uint64 `json:"timestamp"`
}

Detailed information about snapshot

type ItemSnapshotUsage

type ItemSnapshotUsage struct {
	// Count
	Count uint64 `json:"count,omitempty"`

	// Stored
	Stored float64 `json:"stored"`

	// Label
	Label string `json:"label,omitempty"`

	// Timestamp
	Timestamp uint64 `json:"timestamp,omitempty"`
}

Main information about snapshot usage

type ItemVGPU added in v1.8.0

type ItemVGPU struct {
	// Account ID
	AccountID uint64 `json:"accountId"`

	// Created Time
	CreatedTime uint64 `json:"createdTime"`

	// Deleted Time
	DeletedTime uint64 `json:"deletedTime"`

	// GID
	GID uint64 `json:"gid"`

	// GUID
	GUID uint64 `json:"guid"`

	// ID
	ID uint64 `json:"id"`

	// Last Claimed By
	LastClaimedBy uint64 `json:"lastClaimedBy"`

	// Last Update Time
	LastUpdateTime uint64 `json:"lastUpdateTime"`

	// Mode
	Mode string `json:"mode"`

	// PCI Slot
	PCISlot uint64 `json:"pciSlot"`

	// PGPUID
	PGPUID uint64 `json:"pgpuid"`

	// Profile ID
	ProfileID uint64 `json:"profileId"`

	// RAM
	RAM uint64 `json:"ram"`

	// Reference ID
	ReferenceID string `json:"referenceId"`

	// RG ID
	RGID uint64 `json:"rgId"`

	// Status
	Status string `json:"status"`

	// Type
	Type string `json:"type"`

	// VM ID
	VMID uint64 `json:"vmid"`
}

Main information about vgpu device

type LibvirtSettings added in v1.9.0

type LibvirtSettings struct {
	// TX mode
	TXMode string `json:"txmode"`

	// IO event
	IOEventFD string `json:"ioeventfd"`

	// Event ID
	EventIDx string `json:"event_idx"`

	// Number of queues
	Queues uint64 `json:"queues"`

	// RX queue size
	RXQueueSize uint64 `json:"rx_queue_size"`

	// TX queue size
	TXQueueSize uint64 `json:"tx_queue_size"`

	// GUID
	GUID string `json:"guid"`
}

Information about libvirt settings

type ListACL

type ListACL []ItemACL

List ACL

type ListAudits

type ListAudits []ItemAudit

List audits

type ListComputes

type ListComputes struct {
	// Data
	Data []ItemCompute `json:"data"`

	// EntryCount
	EntryCount uint64 `json:"entryCount"`
}

List computes

func (ListComputes) FilterByDiskID

func (lc ListComputes) FilterByDiskID(diskID uint64) ListComputes

FilterByDiskID return ListComputes with specified DiskID.

func (ListComputes) FilterByID

func (lc ListComputes) FilterByID(id uint64) ListComputes

FilterByID returns ListComputes with specified ID.

func (ListComputes) FilterByK8SID added in v1.3.0

func (lc ListComputes) FilterByK8SID(ctx context.Context, k8sID uint64, decortClient interfaces.Caller) (*ListComputes, error)

FilterByK8SID returns master and worker nodes (ListComputes) inside specified K8S cluster.

func (ListComputes) FilterByK8SMasters added in v1.3.0

func (lc ListComputes) FilterByK8SMasters() ListComputes

K8SMasters is used to filter master nodes. Best used after FilterByK8SID function.

func (ListComputes) FilterByK8SWorkers added in v1.3.0

func (lc ListComputes) FilterByK8SWorkers() ListComputes

K8SMasters is used to filter worker nodes. Best used after FilterByK8SID function.

func (ListComputes) FilterByLBID added in v1.3.0

func (lc ListComputes) FilterByLBID(ctx context.Context, lbID uint64, decortClient interfaces.Caller) (*ListComputes, error)

FilterByLBID is used to filter ListComputes used by specified Load Balancer.

func (ListComputes) FilterByName

func (lc ListComputes) FilterByName(name string) ListComputes

FilterByName returns ListComputes with specified Name.

func (ListComputes) FilterByStatus

func (lc ListComputes) FilterByStatus(status string) ListComputes

FilterByStatus returns ListComputes with specified Status.

func (ListComputes) FilterByTechStatus

func (lc ListComputes) FilterByTechStatus(techStatus string) ListComputes

FilterByTechStatus returns ListComputes with specified TechStatus.

func (ListComputes) FilterFunc

func (lc ListComputes) FilterFunc(predicate func(ItemCompute) bool) ListComputes

FilterFunc allows filtering ListComputes based on a user-specified predicate.

func (ListComputes) FindOne

func (lc ListComputes) FindOne() ItemCompute

FindOne returns first found ItemCompute If none was found, returns an empty struct.

func (ListComputes) IDs added in v1.6.8

func (lc ListComputes) IDs() []uint64

IDs gets array of ComputeIDs from ListComputes struct

func (ListComputes) Serialize

func (lc ListComputes) Serialize(params ...string) (serialization.Serialized, error)

Serialize returns JSON-serialized []byte. Used as a wrapper over json.Marshal and json.MarshalIndent functions.

In order to serialize with indent make sure to follow these guidelines:

  • First argument -> prefix
  • Second argument -> indent

func (ListComputes) SortByCPU

func (lc ListComputes) SortByCPU(inverse bool) ListComputes

SortByCPU sorts ListComputes by the CPU core amount in ascending order.

If inverse param is set to true, the order is reversed.

func (ListComputes) SortByCreatedTime

func (lc ListComputes) SortByCreatedTime(inverse bool) ListComputes

SortByCreatedTime sorts ListComputes by the CreatedTime field in ascending order.

If inverse param is set to true, the order is reversed.

func (ListComputes) SortByDeletedTime

func (lc ListComputes) SortByDeletedTime(inverse bool) ListComputes

SortByDeletedTime sorts ListComputes by the DeletedTime field in ascending order.

If inverse param is set to true, the order is reversed.

func (ListComputes) SortByRAM

func (lc ListComputes) SortByRAM(inverse bool) ListComputes

SortByRAM sorts ListComputes by the RAM amount in ascending order.

If inverse param is set to true, the order is reversed.

func (ListComputes) SortByUpdatedTime

func (lc ListComputes) SortByUpdatedTime(inverse bool) ListComputes

SortByUpdatedTime sorts ListComputes by the UpdatedTime field in ascending order.

If inverse param is set to true, the order is reversed.

type ListDeletedRequest

type ListDeletedRequest struct {
	// Find by ID
	// Required: false
	ByID uint64 `url:"by_id,omitempty" json:"by_id,omitempty"`

	// Find by name
	// Required: false
	Name string `url:"name,omitempty" json:"name,omitempty"`

	// Find by account ID
	// Required: false
	AccountID uint64 `url:"accountId,omitempty" json:"accountId,omitempty"`

	// Find by resource group name
	// Required: false
	RGName string `url:"rgName,omitempty" json:"rgName,omitempty"`

	// Find by resource group ID
	// Required: false
	RGID uint64 `url:"rgId,omitempty" json:"rgId,omitempty"`

	// Find by tech status
	// Required: false
	TechStatus string `url:"techStatus,omitempty" json:"techStatus,omitempty"`

	// Find by IP address
	// Required: false
	IPAddress string `url:"ipAddress,omitempty" json:"ipAddress,omitempty"`

	// Find by external network name
	// Required: false
	ExtNetName string `url:"extNetName,omitempty" json:"extNetName,omitempty"`

	// Find by external network ID
	// Required: false
	ExtNetID uint64 `url:"extNetId,omitempty" json:"extNetId,omitempty"`

	// Sort by one of supported fields, format +|-(field)
	// Required: false
	SortBy string `url:"sortBy,omitempty" json:"sortBy,omitempty" validate:"omitempty,sortBy"`

	// Page number
	// Required: false
	Page uint64 `url:"page,omitempty" json:"page,omitempty"`

	// Page size
	// Required: false
	Size uint64 `url:"size,omitempty" json:"size,omitempty"`
}

ListDeletedRequest struct to get deleted computes list

type ListDetailedAudits

type ListDetailedAudits []ItemDetailedAudit

List of detailed audit

type ListDetailedSnapshots

type ListDetailedSnapshots []ItemSnapshotDetailed

List detailed snapshots

type ListDisks

type ListDisks []ItemDisk

List disks

func (ListDisks) IDs added in v1.6.8

func (ld ListDisks) IDs() []uint64

IDs gets array of DiskIDs from ListDisks struct

type ListInfoDisks added in v1.6.8

type ListInfoDisks []InfoDisk

Information about of disk IDs

func (ListInfoDisks) IDs added in v1.6.8

func (lid ListInfoDisks) IDs() []uint64

IDs gets array of DiskIDs from ListInfoDisks struct

type ListInterfaces

type ListInterfaces []ItemInterface

List interfaces

type ListOSUsers

type ListOSUsers []ItemOSUser

List OS users

type ListPCIDeviceRequest

type ListPCIDeviceRequest struct {
	// Identifier compute
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// Find by resource group ID
	// Required: false
	RGID uint64 `url:"rgId,omitempty" json:"rgId,omitempty"`

	// Find by device id
	// Required: false
	DevID uint64 `url:"devId,omitempty" json:"devId,omitempty"`

	// Find by name
	// Required: false
	Name string `url:"name,omitempty" json:"name,omitempty"`

	// Find by status
	// Required: false
	Status string `url:"status,omitempty" json:"status,omitempty"`

	// Sort by one of supported fields, format +|-(field)
	// Required: false
	SortBy string `url:"sortBy,omitempty" json:"sortBy,omitempty" validate:"omitempty,sortBy"`

	// Page number
	// Required: false
	Page uint64 `url:"page,omitempty" json:"page,omitempty"`

	// Page size
	// Required: false
	Size uint64 `url:"size,omitempty" json:"size,omitempty"`
}

ListPCIDeviceRequest struct to get list of PCI devices

type ListPCIDevices

type ListPCIDevices struct {
	// Data
	Data []ItemPCIDevice `json:"data"`

	// Entry count
	EntryCount uint64 `json:"entryCount"`
}

List PCI devices

func (ListPCIDevices) IDs added in v1.6.8

func (lpd ListPCIDevices) IDs() []uint64

IDs gets array of PCIDeviceIDs from ListPCIDevices struct

type ListPFW

type ListPFW struct {
	// Data
	Data []ItemPFW `json:"data"`

	// Entry count
	EntryCount uint64 `json:"entryCount"`
}

List port forwards

func (ListPFW) IDs added in v1.6.8

func (lp ListPFW) IDs() []uint64

IDs gets array of PFWsIDs from ListPFW struct

type ListRequest

type ListRequest struct {
	// Find by ID
	// Required: false
	ByID uint64 `url:"by_id,omitempty" json:"by_id,omitempty"`

	// Find by name
	// Required: false
	Name string `url:"name,omitempty" json:"name,omitempty"`

	// Find by account ID
	// Required: false
	AccountID uint64 `url:"accountId,omitempty" json:"accountId,omitempty"`

	// Find by resource group name
	// Required: false
	RGName string `url:"rgName,omitempty" json:"rgName,omitempty"`

	// Find by resource group ID
	// Required: false
	RGID uint64 `url:"rgId,omitempty" json:"rgId,omitempty"`

	// Find by tech status
	// Required: false
	TechStatus string `url:"techStatus,omitempty" json:"techStatus,omitempty"`

	// Find by status
	// Required: false
	Status string `url:"status,omitempty" json:"status,omitempty"`

	// Find by IP address
	// Required: false
	IPAddress string `url:"ipAddress,omitempty" json:"ipAddress,omitempty"`

	// Find by stack ID
	// Required: false
	StackID uint64 `url:"stackId,omitempty" json:"stackId,omitempty"`

	// Find by image ID
	// Required: false
	ImageID uint64 `url:"imageId,omitempty" json:"imageId,omitempty"`

	// Find by CD image ID
	// Required: false
	CDImageID uint64 `url:"cdImageId,omitempty" json:"cdImageId,omitempty"`

	// Find by external network name
	// Required: false
	ExtNetName string `url:"extNetName,omitempty" json:"extNetName,omitempty"`

	// Find by external network ID
	// Required: false
	ExtNetID uint64 `url:"extNetId,omitempty" json:"extNetId,omitempty"`

	// Include deleted computes
	// Required: false
	IncludeDeleted bool `url:"includedeleted,omitempty" json:"includedeleted,omitempty"`

	// Sort by one of supported fields, format +|-(field)
	// Required: false
	SortBy string `url:"sortBy,omitempty" json:"sortBy,omitempty" validate:"omitempty,sortBy"`

	// Page number
	// Required: false
	Page uint64 `url:"page,omitempty" json:"page,omitempty"`

	// Page size
	// Required: false
	Size uint64 `url:"size,omitempty" json:"size,omitempty"`
}

ListRequest struct to get list of available computes

type ListRules

type ListRules []ItemRule

List rules

type ListSnapShot added in v1.7.2

type ListSnapShot struct {
	// Data
	Data []ItemSnapshot `json:"data"`

	// Entry count
	EntryCount uint64 `json:"entryCount"`
}

List of snapshots

type ListSnapshotUsage

type ListSnapshotUsage []ItemSnapshotUsage

List of snapshot usage

type ListSnapshots

type ListSnapshots []ItemSnapshot

List of snapshots

type ListUsers added in v1.7.2

type ListUsers struct {
	// Data
	Data RecordACL `json:"data"`

	// Entry count
	EntryCount uint64 `json:"entryCount"`
}

type ListVGPURequest added in v1.5.0

type ListVGPURequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// Find by GPU id
	// Required: false
	GPUID uint64 `url:"gpuId,omitempty" json:"gpuId,omitempty"`

	// Find by type
	// Required: false
	Type string `url:"type,omitempty" json:"type,omitempty"`

	// Find by status
	// Required: false
	Status string `url:"status,omitempty" json:"status,omitempty"`

	// Sort by one of supported fields, format +|-(field)
	// Required: false
	SortBy string `url:"sortBy,omitempty" json:"sortBy,omitempty" validate:"omitempty,sortBy"`

	// Page number
	// Required: false
	Page uint64 `url:"page,omitempty" json:"page,omitempty"`

	// Page size
	// Required: false
	Size uint64 `url:"size,omitempty" json:"size,omitempty"`

	// Include deleted computes. If using field 'status', then includedeleted will be ignored
	// Required: false
	IncludeDeleted bool `url:"includedeleted,omitempty" json:"includedeleted,omitempty"`
}

ListVGPURequest struct to get list of GPU for compute

type ListVGPUs added in v1.5.0

type ListVGPUs struct {
	// Data
	Data []ItemVGPU `json:"data"`

	// Entry count
	EntryCount uint64 `json:"entryCount"`
}

List VGPUs

type MassDeleteRequest

type MassDeleteRequest struct {
	// IDs of compute instances to delete
	// Required: true
	ComputeIDs []uint64 `url:"computeIds" json:"computeIds" validate:"min=1"`

	// Delete computes permanently
	// Required: false
	Permanently bool `url:"permanently,omitempty" json:"permanently,omitempty"`
}

MassDeleteRequest struct to delete several computes

type MassRebootRequest

type MassRebootRequest struct {
	// IDs of compute instances to reboot
	// Required: true
	ComputeIDs []uint64 `url:"computeIds" json:"computeIds" validate:"min=1"`
}

MassRebootRequest struct to reboot several computes

type MassRepairBootFSRequest

type MassRepairBootFSRequest struct {
	// IDs of compute instances which boot file systems will be repaired
	// Required: true
	ComputeIDs []uint64 `url:"computeIds" json:"computeIds" validate:"min=1"`
}

MassRepairBootFSRequest struct to repair boot disk filesystem on several computes

type MassStartRequest

type MassStartRequest struct {
	// IDs of compute instances to start
	// Required: true
	ComputeIDs []uint64 `url:"computeIds" json:"computeIds" validate:"min=1"`
}

MassStartRequest struct to start several computes

type MassStopRequest

type MassStopRequest struct {
	// IDs of compute instances to stop
	// Required: true
	ComputeIDs []uint64 `url:"computeIds" json:"computeIds" validate:"min=1"`

	// Force stop compute
	// Required: false
	Force bool `url:"force,omitempty" json:"force,omitempty"`
}

MassStopRequest struct to stop several computes

type MigrateRequest

type MigrateRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// Particular Stack ID to migrate this compute to
	// Required: false
	TargetStackID uint64 `url:"targetStackId,omitempty" json:"targetStackId,omitempty"`

	// If live migration fails, destroy compute
	// on source node and recreate on the target
	// Required: false
	Force bool `url:"force,omitempty" json:"force,omitempty"`
}

MigrateRequest struct to migrate compute

type MigrateStorageAbortRequest

type MigrateStorageAbortRequest struct {
	// ID of the compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// Status check
	// Default: false
	// Required: false
	StatusCheck bool `url:"statusCheck" json:"statusCheck"`
}

MigrateStorageAbortRequest struct to abort migration

type MigrateStorageCleanUpRequest

type MigrateStorageCleanUpRequest struct {
	// ID of the compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`
}

MigrateStorageCleanUpRequest struct to cleanup resources after finished migration

type MigrateStorageInfoRequest

type MigrateStorageInfoRequest struct {
	// ID of the compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`
}

MigrateStorageInfoRequest struct to get info about migration

type MigrateStorageRequest

type MigrateStorageRequest struct {
	// ID of the compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// SEP ID to migrate disks
	// Required: true
	SEPID uint64 `url:"sepId" json:"sepId" validate:"required"`

	// SEP pool name to migrate disks
	// Required: true
	PoolName string `url:"poolName" json:"poolName" validate:"required"`

	// Target stack ID
	// Required: true
	StackID uint64 `url:"stackId" json:"stackId" validate:"required"`

	// Async API call
	// Required: true
	Sync bool `url:"sync" json:"sync" validate:"required"`
}

MigrateStorageRequest struct for migration

type MoveToRGRequest

type MoveToRGRequest struct {
	// ID of the compute instance to move
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// ID of the target resource group
	// Required: true
	RGID uint64 `url:"rgId" json:"rgId" validate:"required"`

	// New name for the compute upon successful move,
	// if name change required.
	// Pass empty string if no name change necessary
	// Required: false
	Name string `url:"name,omitempty" json:"name,omitempty"`

	// Should the compute be restarted upon successful move
	// Required: false
	Autostart bool `url:"autostart,omitempty" json:"autostart,omitempty"`

	// By default moving compute in a running state is not allowed.
	// Set this flag to True to force stop running compute instance prior to move.
	// Required: false
	ForceStop bool `url:"forceStop,omitempty" json:"forceStop,omitempty"`
}

MoveToRGRequest struct to move compute to new resource group

type NetAttachRequest

type NetAttachRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// Network type
	// 'EXTNET' for connect to external network directly
	// 'VINS' for connect to ViNS
	// 'VFNIC' for connect to vfpool
	// 'DPDK' for connect to DPDK
	// Required: true
	NetType string `url:"netType" json:"netType" validate:"computex86NetType"`

	// Network ID for connect to
	// For EXTNET - external network ID
	// For VINS - VINS ID
	// Required: true
	NetID uint64 `url:"netId" json:"netId" validate:"required"`

	// Directly required IP address for new network interface
	// Required: true
	IPAddr string `url:"ipAddr,omitempty" json:"ipAddr,omitempty"`

	// Used only for DPDK type, must be 1-9216
	// Required: false
	MTU uint64 `url:"mtu,omitempty" json:"mtu,omitempty" validate:"omitempty,mtu"`
}

NetAttachRequest struct to attach network

type NetDetachRequest

type NetDetachRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// IP of the network interface
	// Required: false
	IPAddr string `url:"ipAddr,omitempty" json:"ipAddr,omitempty"`

	// MAC of the network interface
	// Required: false
	MAC string `url:"mac,omitempty" json:"mac,omitempty"`
}

NetDetachRequest struct to detach network from compute

type NetQOSRequest

type NetQOSRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// Network ID
	// Required: true
	NetID uint64 `url:"netId" json:"netId" validate:"required"`

	// Network type
	// Should be one of:
	//	- VINS
	//	- EXTNET
	// Required: true
	NetType string `url:"netType" json:"netType" validate:"computeNetType"`

	// Internal traffic, kbit
	// Required: false
	IngressRate uint64 `url:"ingress_rate,omitempty" json:"ingress_rate,omitempty"`

	// Internal traffic burst, kbit
	// Required: false
	IngressBurst uint64 `url:"ingress_burst,omitempty" json:"ingress_burst,omitempty"`

	// External traffic rate, kbit
	// Required: false
	EgressRate uint64 `url:"egress_rate,omitempty" json:"egress_rate,omitempty"`
}

NetQOSRequest struct for update QOS

type PFWAddRequest

type PFWAddRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// External start port number for the rule
	// Required: true
	PublicPortStart uint64 `url:"publicPortStart" json:"publicPortStart" validate:"required"`

	// End port number (inclusive) for the ranged rule
	// Default value: -1
	// Required: false
	PublicPortEnd int64 `url:"publicPortEnd,omitempty" json:"publicPortEnd,omitempty"`

	// Internal base port number
	// Required: false
	LocalBasePort uint64 `url:"localBasePort,omitempty" json:"localBasePort,omitempty"`

	// Network protocol
	// Should be one of:
	//	- tcp
	//	- udp
	// Required: true
	Proto string `url:"proto" json:"proto" validate:"proto"`
}

PFWAddRequest struct to add port forward rule

type PFWDelRequest

type PFWDelRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// ID of the rule to delete. If specified, all other arguments will be ignored
	// Required: false
	RuleID uint64 `url:"ruleId,omitempty" json:"ruleId,omitempty"`

	// External start port number for the rule
	// Required: false
	PublicPortStart uint64 `url:"publicPortStart,omitempty" json:"publicPortStart,omitempty"`

	// End port number (inclusive) for the ranged rule
	// Required: false
	PublicPortEnd uint64 `url:"publicPortEnd,omitempty" json:"publicPortEnd,omitempty"`

	// Internal base port number
	// Required: false
	LocalBasePort uint64 `url:"localBasePort,omitempty" json:"localBasePort,omitempty"`

	// Network protocol
	// Should be one of:
	//	- tcp
	//	- udp
	// Required: false
	Proto string `url:"proto,omitempty" json:"proto,omitempty" validate:"omitempty,proto"`
}

PFWDelRequest struct to delete port forward rule

type PFWListRequest

type PFWListRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`
}

PFWListRequest struct to get list of port forwards

type PauseRequest

type PauseRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`
}

PauseRequest struct to pause compute

type PinToStackRequest

type PinToStackRequest struct {
	// ID of the compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// Stack ID to pin to
	// Required: false
	TargetStackID uint64 `url:"targetStackId" json:"targetStackId"`

	// Try to migrate or not if compute in running states
	// Required: false
	Force bool `url:"force" json:"force"`

	// Auto start when node restarted
	// Required: false
	// Default: false
	AutoStart bool `url:"autoStart" json:"autoStart"`
}

PinToStackRequest struct to pin compute to stack

type PowerCycleRequest

type PowerCycleRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`
}

PowerCycleRequest struct to force stop and start compute

type QOS

type QOS struct {
	// ERate
	ERate uint64 `json:"eRate"`

	// GUID
	GUID string `json:"guid"`

	// InBurst
	InBurst uint64 `json:"inBurst"`

	// InRate
	InRate uint64 `json:"inRate"`
}

QOS

type RebootRequest

type RebootRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`
}

RebootRequest struct to reboot compute

type RecordACL

type RecordACL struct {
	// Account ACL list
	AccountACL ListACL `json:"accountACL"`

	// Compute ACL list
	ComputeACL []ItemComputeACL `json:"computeACL"`

	// Resource group ACL list
	RGACL ListACL `json:"rgACL"`
}

Access Control List

type RecordAffinityRelations

type RecordAffinityRelations struct {
	// Other node
	OtherNode []interface{} `json:"otherNode"`

	// Other node indirect
	OtherNodeIndirect []interface{} `json:"otherNodeIndirect"`

	// Other node indirect soft
	OtherNodeIndirectSoft []interface{} `json:"otherNodeIndirectSoft"`

	// Other node soft
	OtherNodeSoft []interface{} `json:"otherNodeSoft"`

	// Same node
	SameNode []interface{} `json:"sameNode"`

	// Same node soft
	SameNodeSoft []interface{} `json:"sameNodeSoft"`
}

Main information about affinity relations

type RecordCompute

type RecordCompute struct {
	// Account ID
	AccountID uint64 `json:"accountId"`

	// Account name
	AccountName string `json:"accountName"`

	// Access Control List
	ACL []interface{} `json:"acl"`

	// Affinity label
	AffinityLabel string `json:"affinityLabel"`

	// Affinity rules
	AffinityRules ListRules `json:"affinityRules"`

	// Affinity weight
	AffinityWeight uint64 `json:"affinityWeight"`

	// Anti affinity rules
	AntiAffinityRules ListRules `json:"antiAffinityRules"`

	// Auto start when node restarted
	AutoStart bool `json:"autoStart"`

	// Architecture
	Arch string `json:"arch"`

	// Boot order
	BootOrder []string `json:"bootOrder"`

	// Boot disk size
	BootDiskSize uint64 `json:"bootdiskSize"`

	// CD Image Id
	CdImageId uint64 `json:"cdImageId"`

	// Chipset
	Chipset string `json:"chipset"`

	// Clone reference
	CloneReference uint64 `json:"cloneReference"`

	// List clone IDs
	Clones []uint64 `json:"clones"`

	// Compute CI ID
	ComputeCIID uint64 `json:"computeciId"`

	// CPU Pin
	CPUPin bool `json:"cpupin"`

	// Number of CPU
	CPUs uint64 `json:"cpus"`

	// Created by
	CreatedBy string `json:"createdBy"`

	// Created time
	CreatedTime uint64 `json:"createdTime"`

	// Custom fields
	CustomFields map[string]interface{} `json:"customFields"`

	// Deleted by
	DeletedBy string `json:"deletedBy"`

	// Deleted time
	DeletedTime uint64 `json:"deletedTime"`

	// Description
	Description string `json:"desc"`

	// Devices
	Devices interface{} `json:"devices"`

	// List disks
	Disks ListDisks `json:"disks"`

	// Driver
	Driver string `json:"driver"`

	// Grid ID
	GID uint64 `json:"gid"`

	// GUID
	GUID uint64 `json:"guid"`

	// HPBacked
	HPBacked bool `json:"hpBacked"`

	// ID
	ID uint64 `json:"id"`

	// Image ID
	ImageID uint64 `json:"imageId"`

	// ImageName
	ImageName string `json:"imageName"`

	// List interfaces
	Interfaces ListInterfaces `json:"interfaces"`

	// Lock status
	LockStatus string `json:"lockStatus"`

	// Manager ID
	ManagerID uint64 `json:"managerId"`

	// Manager type
	ManagerType string `json:"managerType"`

	// Migration job
	MigrationJob uint64 `json:"migrationjob"`

	// Milestones
	Milestones uint64 `json:"milestones"`

	// Name
	Name string `json:"name"`

	// Node ID
	NodeID uint64 `json:"nodeId"`

	// Natable VINS ID
	NatableVINSID uint64 `json:"natableVinsId"`

	// Natable VINS IP
	NatableVINSIP string `json:"natableVinsIp"`

	// Natable VINS Name
	NatableVINSName string `json:"natableVinsName"`

	// Natable VINS network
	NatableVINSNetwork string `json:"natableVinsNetwork"`

	// Natable VINS network name
	NatableVINSNetworkName string `json:"natableVinsNetworkName"`

	// Need reboot
	NeedReboot bool `json:"needReboot"`

	// NumaAffinity
	NumaAffinity string `json:"numaAffinity"`

	//NumaNodeId
	NumaNodeId int64 `json:"numaNodeId"`

	// List OS users
	OSUsers ListOSUsers `json:"osUsers"`

	// Pinned
	Pinned bool `json:"pinned"`

	// PreferredCPU
	PreferredCPU []int64 `json:"preferredCpu"`

	// Number of RAM
	RAM uint64 `json:"ram"`

	// Reference ID
	ReferenceID string `json:"referenceId"`

	// Registered
	Registered bool `json:"registered"`

	// Resource name
	ResName string `json:"resName"`

	// Reserved Node Cpus
	ReservedNodeCpus []uint64 `json:"reservedNodeCpus"`

	// Resource group ID
	RGID uint64 `json:"rgId"`

	// Resource group name
	RGName string `json:"rgName"`

	// SnapSets
	SnapSets ListSnapshots `json:"snapSets"`

	// Stack ID
	StackID uint64 `json:"stackId"`

	// Stack name
	StackName string `json:"stackName"`

	// Stateless SEP ID
	StatelessSEPID int64 `json:"statelessSepId"`

	// Stateless SEP Type
	StatelessSEPType string `json:"statelessSepType"`

	// Status
	Status string `json:"status"`

	// Tags
	Tags map[string]interface{} `json:"tags"`

	// Tech status
	TechStatus string `json:"techStatus"`

	// Total disk size
	TotalDiskSize uint64 `json:"totalDisksSize"`

	// Updated by
	UpdatedBy string `json:"updatedBy"`

	// Updated time
	UpdatedTime uint64 `json:"updatedTime"`

	// User managed
	UserManaged bool `json:"userManaged"`

	// Userdata
	Userdata interface{} `json:"userdata"`

	// List VGPU IDs
	VGPUs []uint64 `json:"vgpus"`

	// Virtual image ID
	VirtualImageID uint64 `json:"virtualImageId"`

	// VirtualImageName
	VirtualImageName string `json:"virtualImageName"`

	// VNC password
	VNCPassword string `json:"vncPasswd"`
}

Detailed information about compute

type RecordNetAttach

type RecordNetAttach struct {
	// Connection ID
	ConnID uint64 `json:"connId"`

	// Connection type
	ConnType string `json:"connType"`

	// Default GW
	DefGW string `json:"defGw"`

	// Enabled
	Enabled bool `json:"enabled"`

	// FLIPGroup ID
	FLIPGroupID uint64 `json:"flipgroupId"`

	// GUID
	GUID string `json:"guid"`

	// IP address
	IPAddress string `json:"ipAddress"`

	// Listen SSH
	ListenSSH bool `json:"listenSsh"`

	// MAC
	MAC string `json:"mac"`

	// Name
	Name string `json:"name"`

	// Network ID
	NetID uint64 `json:"netId"`

	// Network mask
	NetMask uint64 `json:"netMask"`

	// Network type
	NetType string `json:"netType"`

	// PCI slot
	PCISlot int64 `json:"pciSlot"`

	// QOS
	QOS QOS `json:"qos"`

	// Target
	Target string `json:"target"`

	// Type
	Type string `json:"type"`

	// List VNF IDs
	VNFs []uint64 `json:"vnfs"`
}

Main information about attached network

type RedeployRequest

type RedeployRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// ID of the new OS image, if image change is required
	// Required: false
	ImageID uint64 `url:"imageId,omitempty" json:"imageId,omitempty"`

	// New size for the boot disk in GB, if boot disk size change is required
	// Required: false
	DiskSize uint64 `url:"diskSize,omitempty" json:"diskSize,omitempty"`

	// How to handle data disks connected to this compute instance
	// Should be one of:
	//	- KEEP
	//	- DETACH
	//	- DESTROY
	// Required: false
	DataDisks string `url:"dataDisks,omitempty" json:"dataDisks,omitempty" validate:"omitempty,computeDataDisks"`

	// Should the compute be restarted upon successful redeploy
	// Required: false
	AutoStart bool `url:"autoStart,omitempty" json:"autoStart,omitempty"`

	// Set this flag to True to force stop running compute instance and redeploy next
	// Required: false
	ForceStop bool `url:"forceStop,omitempty" json:"forceStop,omitempty"`
}

RedeployRequest struct for redeploy

type RegistrationRequest

type RegistrationRequest struct {
	// ID of the Compute
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// Unique compute registration key
	// Required: true
	RegistrationKey string `url:"registrationKey" json:"registrationKey" validate:"required"`
}

RegistrationRequest struct to set compute registered in RT

type RepairBootFSRequest

type RepairBootFSRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`
}

RepairBootFSRequest struct to repair filesystem

type ResetRequest

type ResetRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`
}

ResetRequest struct to reset compute

type ResizeRequest

type ResizeRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// New CPU count.
	// Pass 0 if no change to CPU count is required
	// Required: false
	CPU uint64 `url:"cpu,omitempty" json:"cpu,omitempty"`

	// New RAM volume in MB.
	// Pass 0 if no change to RAM volume is required
	// Required: false
	RAM uint64 `url:"ram,omitempty" json:"ram,omitempty"`

	// Force compute resize
	// Required: false
	Force bool `url:"force,omitempty" json:"force,omitempty"`

	// Recommended isolated CPUs. Field is ignored if compute.cpupin=False or compute.pinned=False
	// Required: false
	PreferredCPU []int64 `url:"preferredCpu,omitempty" json:"preferredCpu,omitempty" validate:"omitempty,preferredCPU"`
}

ResizeRequest struct to resize compute

func (ResizeRequest) GetRAM added in v1.8.0

func (r ResizeRequest) GetRAM() map[string]uint64

GetRAM returns RAM field values

type RestoreRequest

type RestoreRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`
}

RestoreRequest struct to restore compute

type ResumeRequest

type ResumeRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`
}

ResumeRequest struct to resume compute

type SetCustomFieldsRequest added in v1.6.0

type SetCustomFieldsRequest struct {
	// ID of the compute
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// Custom fields for Compute. Must be dict.
	// Required: true
	CustomFields string `url:"customFields" json:"customFields" validate:"required"`
}

SetCustomFieldsRequest struct for setting customFields values for the Compute

type SetNetConfigRequest added in v1.9.0

type SetNetConfigRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// Interface MAC-address
	// Required: true
	MAC string `url:"mac" json:"mac" validate:"required"`

	// TXMode, must be 'iothread', 'timer' or 'selected by hypervisor'
	// Required: false
	TXMode string `url:"txmode,omitempty" json:"txmode,omitempty" validate:"omitempty,interfaceTXModel"`

	// IOEventFD, must be 'on', 'off' or 'selected by hypervisor'
	// Required: false
	IOEventFD string `url:"ioeventfd,omitempty" json:"ioeventfd,omitempty" validate:"omitempty,interfaceIOEventFD"`

	// EventIDx, must be 'on', 'off' or 'selected by hypervisor'
	// Required: false
	EventIDx string `url:"event_idx,omitempty" json:"event_idx,omitempty" validate:"omitempty,interfaceEventIDx"`

	// Number of queues
	// Required: false
	Queues uint64 `url:"queues,omitempty" json:"queues,omitempty"`

	// RX queue size
	// Required: false
	RXQueueSize uint64 `url:"rx_queue_size,omitempty" json:"rx_queue_size,omitempty"`

	// TX queue size
	// Required: false
	TXQueueSize uint64 `url:"tx_queue_size,omitempty" json:"tx_queue_size,omitempty"`
}

SetNetConfigRequest struct to Configure libvirt virtio interface parameters

type SnapshotCreateRequest

type SnapshotCreateRequest struct {
	// ID of the compute instance to create snapshot for
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// Text label for snapshot.
	// Must be unique among this compute snapshots
	// Required: true
	Label string `url:"label" json:"label" validate:"required"`
}

SnapshotCreateRequest struct to create snapshot

type SnapshotDeleteRequest

type SnapshotDeleteRequest struct {
	// ID of the compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// Text label of snapshot to delete
	// Required: true
	Label string `url:"label" json:"label" validate:"required"`
}

SnapshotDeleteRequest struct to delete snapshot

type SnapshotEvictDiskRequest

type SnapshotEvictDiskRequest struct {
	// ID of the compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// ID of the disk instance
	// Required: true
	DiskID uint64 `url:"diskId" json:"diskId" validate:"required"`
}

SnapshotEvictDiskRequest struct to evict specified disk

type SnapshotListRequest

type SnapshotListRequest struct {
	// ID of the compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`
}

SnapshotListRequest struct to get list of snapshots

type SnapshotRollbackRequest

type SnapshotRollbackRequest struct {
	// ID of the compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// Text label of snapshot to rollback
	// Required: true
	Label string `url:"label" json:"label" validate:"required"`
}

SnapshotRollbackRequest struct for rollback

type SnapshotUsageRequest

type SnapshotUsageRequest struct {
	// ID of the compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// Specify to show usage exact for this snapshot.
	// Leave empty for get usage for all compute snapshots
	// Required: false
	Label string `url:"label,omitempty" json:"label,omitempty"`
}

SnapshotUsageRequest struct tto get compute snapshot real size on storage

type StartRequest

type StartRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// ID of CD-ROM live image to boot
	// Required: false
	AltBootID uint64 `url:"altBootId,omitempty" json:"altBootId,omitempty"`

	// ID of stack to start compute
	// Required: false
	StackID uint64 `url:"stackId,omitempty" json:"stackId,omitempty"`
}

StartRequest struct to start compute

type StopRequest

type StopRequest struct {
	// ID of compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// Force stop compute
	// Required: false
	Force bool `url:"force,omitempty" json:"force,omitempty"`

	// whether to depresent compute disks from node or not
	// Default: true
	// Required: false
	Depresent bool `url:"depresent" json:"depresent"`
}

StopRequest struct to stop compute

type TagAddRequest

type TagAddRequest struct {
	// IDs of the compute instances
	// Required: true
	ComputeIDs []uint64 `url:"computeIds" json:"computeIds" validate:"min=1"`

	// Tag key
	// Required: true
	Key string `url:"key" json:"key" validate:"required"`

	// Tag value
	// Required: true
	Value string `url:"value" json:"value" validate:"required"`
}

TagAddRequest struct to add tag to compute

type TagRemoveRequest

type TagRemoveRequest struct {
	// IDs of the compute instances
	// Required: true
	ComputeIDs []uint64 `url:"computeIds" json:"computeIds" validate:"min=1"`

	// Tag key
	// Required: true
	Key string `url:"key" json:"key" validate:"required"`
}

TagRemoveRequest struct to remove tag from compute

type UnpinFromStackRequest

type UnpinFromStackRequest struct {
	// ID of the compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`
}

UnpinFromStackRequest struct to unpin from stack

type UpdateRequest

type UpdateRequest struct {
	// ID of the compute
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// New name
	// Required: false
	Name string `url:"name,omitempty" json:"name,omitempty"`

	// 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"`

	// Type of the emulated system, Q35 or i440fx
	// Required: false
	Chipset string `url:"chipset,omitempty" json:"chipset,omitempty" validate:"omitempty,chipset"`

	// 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"`

	// Auto start when node restarted
	// Required: false
	// Default: false
	AutoStart bool `url:"autoStart" json:"autoStart"`

	// Recommended isolated CPUs. Field is ignored if compute.cpupin=False or compute.pinned=False
	// Required: false
	PreferredCPU []int64 `url:"preferredCpu,omitempty" json:"preferredCpu,omitempty" validate:"omitempty,preferredCPU"`
}

UpdateRequest struct to update compute

type UserGrantRequest

type UserGrantRequest struct {
	// ID of the compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// Name of the user to add
	// Required: true
	Username string `url:"userName" json:"userName" validate:"required"`

	// Access type
	// Should be one of:
	//	- 'R' for Read only
	//	- 'RCX' for Write
	//	- 'ARCXDU' for Admin
	// Required: true
	AccessType string `url:"accesstype" json:"accesstype" validate:"accessType"`
}

UserGrantRequest struct to grant access to compute

type UserListRequest

type UserListRequest struct {
	// ID of the compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`
}

UserListRequest struct to get list of users for compute

type UserRevokeRequest

type UserRevokeRequest struct {
	// ID of the compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// Name of the user to remove
	// Required: true
	Username string `url:"userName" json:"userName" validate:"required"`
}

UserRevokeRequest struct to revoke user access

type UserUpdateRequest

type UserUpdateRequest struct {
	// ID of the compute instance
	// Required: true
	ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`

	// Name of the user to update
	// Required: true
	Username string `url:"userName" json:"userName" validate:"required"`

	// Access type
	// Should be one of:
	//	- 'R' for Read only
	//	- 'RCX' for Write
	//	- 'ARCXDU' for Admin
	// Required: true
	AccessType string `url:"accesstype" json:"accesstype" validate:"accessType"`
}

UserUpdateRequest struct to update user access

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL