compute

package
v1.6.0-epsilon Latest Latest
Warning

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

Go to latest
Published: Sep 24, 2023 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"`
}

Request struct for 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"`
}

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

Request struct for 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"`

	// Affinity group label
	// Required: false
	AffinityLabel string `url:"affinityLabel,omitempty" json:"affinityLabel,omitempty"`
}

Request struct for 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: true
	Value string `url:"value" json:"value" validate:"required"`
}

Request struct for 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: true
	Value string `url:"value" json:"value" validate:"required"`
}

Request struct for remove affinity rule

type AffinityRulesClearRequest

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

Request struct for 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: true
	Value string `url:"value" json:"value" validate:"required"`
}

Request struct for 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: true
	Value string `url:"value" json:"value" validate:"required"`
}

Request struct for 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"`
}

Request struct for 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"`
}

Request struct for 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"`
}

Request struct for atttach PCI device

type AuditsRequest

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

Request struct for get audit records

type BootOrderGetRequest

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

Request struct for 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"`
}

Request struct for set boot order

type CDEjectRequest

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

	// Reason to eject
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request struct for 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"`

	// Reason to insert
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request struct for insert new CD image

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

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

	// Reason to clone
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request struct for 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 set 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 add 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 clear affinity rules

func (Compute) AntiAffinityRuleAdd

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

AntiAffinityRuleAdd add anti affinity rule

func (Compute) AntiAffinityRuleRemove

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

AntiAffinityRuleRemove remove 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 attach GPU for compute, returns vGPU ID on success

func (Compute) AttachPCIDevice

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

AttachPCIDevice attach PCI device

func (Compute) Audits

Audits gets audit records for the specified compute object

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 eject CD image to compute's CD-ROM

func (Compute) CDInsert

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

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

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) Delete

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

Delete deletes compute

func (Compute) DetachGPU

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

DetachGPU detach 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 detach 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 delete disk and detach from compute

func (Compute) DiskDetach

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

DiskDetach detach disk from compute

func (Compute) DiskQOS

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

DiskQOS change QOS of the disk

func (Compute) DiskResize

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

DiskResize change disk size

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

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) GetLog

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

GetLog gets compute's log file by path

func (Compute) List

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

List gets list of the available computes. 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 PCI device

func (Compute) ListVGPU added in v1.5.0

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

ListVGPU gets list 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 repair 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 abort 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 attach network to compute and gets info about network

func (Compute) NetDetach

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

NetDetach detach network to compute

func (Compute) NetQOS

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

NetQOS update compute interfaces QOS

func (Compute) PFWAdd

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

PFWAdd add port forward rule

func (Compute) PFWDel

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

PFWDel delete 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 pin 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 reboot compute

func (Compute) Redeploy

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

Redeploy redeploy 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 repair compute boot disk filesystem

func (Compute) Reset

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

Reset reset compute

func (Compute) Resize

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

Resize resize compute instance

func (Compute) Restore

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

Restore restore compute from recycle bin

func (Compute) Resume

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

Resume resume Compute from paused state

func (Compute) SnapshotCreate

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

SnapshotCreate create compute snapshot

func (Compute) SnapshotDelete

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

SnapshotDelete delete specified compute snapshot

func (Compute) SnapshotEvictDisk

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

SnapshotEvictDisk evict specified disk from all snapshots of a compute instance

func (Compute) SnapshotList

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

SnapshotList gets list compute snapshots

func (Compute) SnapshotRollback

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

SnapshotRollback rollback specified compute snapshot

func (Compute) SnapshotUsage

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

SnapshotUsage Get 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 add 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 unpin 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 grant user access to the compute

func (Compute) UserList

func (c Compute) UserList(ctx context.Context, req UserListRequest) (*RecordACL, 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"`
}

Request struct for set compute CI

type ComputeCIUnsetRequest

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

Request struct for unset compite CI

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

	// Reason for action
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request struct for create template

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

	// Reason for action
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request struct for 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"`
}

Request struct for 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"`
}

Request struct for detach PCI device

type DisableRequest

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

	// Reason for action
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request struct for 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"`
}

Request struct for 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"`

	// Reason for action
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request struct for 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"`

	// Reason for action
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request struct for 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"`

	// Reason for action
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request struct for detach disk from compute

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

	// Reason for action
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request struct for 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"`

	// Reason for action
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request struct for change disk size

type EnableRequest

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

	// Reason for action
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request struct for enable compute

type GetAuditsRequest

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

	// Reason to action
	// Required: true
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request struct for 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"`
}

Request struct for get console URL

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

Request struct for get compute logs

type GetRequest

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

	// Reason to action
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request for 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"`

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	// 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 uint64 `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 {
	// 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 audir

type ItemCompute

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

	// Main information about compute
	InfoCompute

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

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

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

	// 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 {
	// Connection ID
	ConnID uint64 `json:"connId"`

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

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

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

	// 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 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 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 ListACL

type ListACL []ItemACL

List ACL

type ListAudits

type ListAudits []ItemAudit

List audits

type ListComputes

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

	// Entru Count
	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) 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"`

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

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

Request struct for 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

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 type
	// Required: false
	Type string `url:"type,omitempty" json:"type,omitempty"`

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

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

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

Request struct for get list PCI devices

type ListPCIDevices

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

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

List PCI devices

type ListPFW

type ListPFW []ItemPFW

List port forwards

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

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

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

Request struct for get list available computes

type ListRules

type ListRules []ItemRule

List rules

type ListSnapshotUsage

type ListSnapshotUsage []ItemSnapshotUsage

List of snapshot usage

type ListSnapshots

type ListSnapshots []ItemSnapshot

List of snapshots

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

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

Request struct for get list GPU for compute

type ListVGPUs added in v1.5.0

type ListVGPUs struct {
	// Data
	Data []interface{} `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"`

	// Reason for action
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request struct for 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"`

	// Reason for action
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request struct for 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"`

	// Reason for action
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request struct for 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"`

	// Reason for action
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request struct for 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"`

	// Reason for action
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request struct for several stop 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"`

	// Reason for action
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request struct for migrate compute

type MigrateStorageAbortRequest

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

Request struct for abort migration

type MigrateStorageCleanUpRequest

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

Request struct for 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"`
}

Request struct for 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"`
}

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

Request struct for move compute 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
	// and '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"`

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

	// Reason for action
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request struct for 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"`

	// Reason for action
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request struct for detach networ to 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"`
}

Request 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: true
	LocalBasePort uint64 `url:"localBasePort" json:"localBasePort" validate:"required"`

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

	// Reason for action
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request struct for 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"`

	// Reason for action
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request struct for delete port forward rule

type PFWListRequest

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

	// Reason for action
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request struct for get list port forwards

type PauseRequest

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

	// Reason for action
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request struct for 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: true
	TargetStackID uint64 `url:"targetStackId" json:"targetStackId" validate:"required"`

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

Request struct for pin comptute to stack

type PowerCycleRequest

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

Request struct for 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"`

	// Reason for action
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request struct for 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 {
	// List disks
	Disks ListDisks `json:"disks"`

	// Main information about compute
	InfoCompute
}

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

	// Reason for action
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

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

Request struct for set compute registered in RT

type RepairBootFSRequest

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

	// Reason for action
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request struct for repair filesystem

type ResetRequest

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

	// Reason for action
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request struct for 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"`

	// Reason for action
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request struct for resize compute

type RestoreRequest

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

	// Reason for action
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request struct for restore compute

type ResumeRequest

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

	// Reason for action
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request struct for resume compute

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

Request struct for 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"`
}

Request struct for delete snapshot

type SnapshotEvictDiskRequest

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

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

Request struct for evict specified disk

type SnapshotListRequest

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

Request struct for get list 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"`
}

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

Request struct for 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"`

	// Reason for action
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request struct for 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"`

	// Reason for action
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request struct for 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"`
}

Request struct for 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"`
}

Request struct for remove tag from compute

type UnpinFromStackRequest

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

Request struct for 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"`

	// Reason for action
	// Required: false
	Reason string `url:"reason,omitempty" json:"reason,omitempty"`
}

Request struct for 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"`
}

Request struct for grant access to compute

type UserListRequest

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

Request struct for get list 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"`
}

Request struct for 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"`
}

Request struct for update user access

Jump to

Keyboard shortcuts

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