Develop for XenServer

Class: GPU_group

A group of compatible GPUs across the resource pool

Fields for class: GPU_group

Field Type Qualifier Description
allocation_algorithm allocation_algorithm RW Current allocation of vGPUs to pGPUs for this group
enabled_VGPU_types VGPU_type ref set RO/runtime vGPU types supported on at least one of the pGPUs in this group
GPU_types string set RO/runtime List of GPU types (vendor+device ID) that can be in this group
name_description string RW a notes field containing human-readable description
name_label string RW a human-readable name
other_config (string -> string) map RW Additional configuration
PGPUs PGPU ref set RO/runtime List of pGPUs in the group
supported_VGPU_types VGPU_type ref set RO/runtime vGPU types supported on at least one of the pGPUs in this group
uuid string RO/runtime Unique identifier/object reference
VGPUs VGPU ref set RO/runtime List of vGPUs using the group

RPCs associated with class: GPU_group

RPC name: add_to_other_config

Overview:

Add the given key-value pair to the other_config field of the given GPU_group.

Signature:

void add_to_other_config (session ref session_ref, GPU_group ref self, string key, string value)
<!--NeedCopy-->

Arguments:

Type Name Description
session ref session_ref Reference to a valid session
GPU_group ref self reference to the object
string key Key to add
string value Value to add

Minimum Role: pool-operator

Return Type: void

RPC name: create

Overview:

Signature:

GPU_group ref create (session ref session_ref, string name_label, string name_description, (string -> string) map other_config)
<!--NeedCopy-->

Arguments:

Type Name Description
session ref session_ref Reference to a valid session
string name_label  
string name_description  
(string -> string) map other_config  

Minimum Role: pool-operator

Return Type: GPU_group ref

The reference of the created GPU_group

RPC name: destroy

Overview:

Signature:

void destroy (session ref session_ref, GPU_group ref self)
<!--NeedCopy-->

Arguments:

Type Name Description
session ref session_ref Reference to a valid session
GPU_group ref self The GPU group to destroy

Minimum Role: pool-operator

Return Type: void

RPC name: get_all

Overview:

Return a list of all the GPU_groups known to the system.

Signature:

GPU_group ref set get_all (session ref session_ref)
<!--NeedCopy-->

Arguments:

Type Name Description
session ref session_ref Reference to a valid session

Minimum Role: read-only

Return Type: GPU_group ref set

references to all objects

RPC name: get_all_records

Overview:

Return a map of GPU_group references to GPU_group records for all GPU_groups known to the system.

Signature:

(GPU_group ref -> GPU_group record) map get_all_records (session ref session_ref)
<!--NeedCopy-->

Arguments:

Type Name Description
session ref session_ref Reference to a valid session

Minimum Role: read-only

Return Type: (GPU_group ref -> GPU_group record) map

records of all objects

RPC name: get_allocation_algorithm

Overview:

Get the allocation_algorithm field of the given GPU_group.

Signature:

allocation_algorithm get_allocation_algorithm (session ref session_ref, GPU_group ref self)
<!--NeedCopy-->

Arguments:

Type Name Description
session ref session_ref Reference to a valid session
GPU_group ref self reference to the object

Minimum Role: read-only

Return Type: allocation_algorithm

value of the field

RPC name: get_by_name_label

Overview:

Get all the GPU_group instances with the given label.

Signature:

GPU_group ref set get_by_name_label (session ref session_ref, string label)
<!--NeedCopy-->

Arguments:

Type Name Description
session ref session_ref Reference to a valid session
string label label of object to return

Minimum Role: read-only

Return Type: GPU_group ref set

references to objects with matching names

RPC name: get_by_uuid

Overview:

Get a reference to the GPU_group instance with the specified UUID.

Signature:

GPU_group ref get_by_uuid (session ref session_ref, string uuid)
<!--NeedCopy-->

Arguments:

Type Name Description
session ref session_ref Reference to a valid session
string uuid UUID of object to return

Minimum Role: read-only

Return Type: GPU_group ref

reference to the object

RPC name: get_enabled_VGPU_types

Overview:

Get the enabled_VGPU_types field of the given GPU_group.

Signature:

VGPU_type ref set get_enabled_VGPU_types (session ref session_ref, GPU_group ref self)
<!--NeedCopy-->

Arguments:

Type Name Description
session ref session_ref Reference to a valid session
GPU_group ref self reference to the object

Minimum Role: read-only

Return Type: VGPU_type ref set

value of the field

RPC name: get_GPU_types

Overview:

Get the GPU_types field of the given GPU_group.

Signature:

string set get_GPU_types (session ref session_ref, GPU_group ref self)
<!--NeedCopy-->

Arguments:

Type Name Description
session ref session_ref Reference to a valid session
GPU_group ref self reference to the object

Minimum Role: read-only

Return Type: string set

value of the field

RPC name: get_name_description

Overview:

Get the name/description field of the given GPU_group.

Signature:

string get_name_description (session ref session_ref, GPU_group ref self)
<!--NeedCopy-->

Arguments:

Type Name Description
session ref session_ref Reference to a valid session
GPU_group ref self reference to the object

Minimum Role: read-only

Return Type: string

value of the field

RPC name: get_name_label

Overview:

Get the name/label field of the given GPU_group.

Signature:

string get_name_label (session ref session_ref, GPU_group ref self)
<!--NeedCopy-->

Arguments:

Type Name Description
session ref session_ref Reference to a valid session
GPU_group ref self reference to the object

Minimum Role: read-only

Return Type: string

value of the field

RPC name: get_other_config

Overview:

Get the other_config field of the given GPU_group.

Signature:

(string -> string) map get_other_config (session ref session_ref, GPU_group ref self)
<!--NeedCopy-->

Arguments:

Type Name Description
session ref session_ref Reference to a valid session
GPU_group ref self reference to the object

Minimum Role: read-only

Return Type: (string -> string) map

value of the field

RPC name: get_PGPUs

Overview:

Get the PGPUs field of the given GPU_group.

Signature:

PGPU ref set get_PGPUs (session ref session_ref, GPU_group ref self)
<!--NeedCopy-->

Arguments:

Type Name Description
session ref session_ref Reference to a valid session
GPU_group ref self reference to the object

Minimum Role: read-only

Return Type: PGPU ref set

value of the field

RPC name: get_record

Overview:

Get a record containing the current state of the given GPU_group.

Signature:

GPU_group record get_record (session ref session_ref, GPU_group ref self)
<!--NeedCopy-->

Arguments:

Type Name Description
session ref session_ref Reference to a valid session
GPU_group ref self reference to the object

Minimum Role: read-only

Return Type: GPU_group record

all fields from the object

RPC name: get_remaining_capacity

Overview:

Signature:

int get_remaining_capacity (session ref session_ref, GPU_group ref self, VGPU_type ref vgpu_type)
<!--NeedCopy-->

Arguments:

Type Name Description
session ref session_ref Reference to a valid session
GPU_group ref self The GPU group to query
VGPU_type ref vgpu_type The VGPU_type for which the remaining capacity will be calculated

Minimum Role: read-only

Return Type: int

The number of VGPUs of the given type which can still be started on the PGPUs in the group

RPC name: get_supported_VGPU_types

Overview:

Get the supported_VGPU_types field of the given GPU_group.

Signature:

VGPU_type ref set get_supported_VGPU_types (session ref session_ref, GPU_group ref self)
<!--NeedCopy-->

Arguments:

Type Name Description
session ref session_ref Reference to a valid session
GPU_group ref self reference to the object

Minimum Role: read-only

Return Type: VGPU_type ref set

value of the field

RPC name: get_uuid

Overview:

Get the uuid field of the given GPU_group.

Signature:

string get_uuid (session ref session_ref, GPU_group ref self)
<!--NeedCopy-->

Arguments:

Type Name Description
session ref session_ref Reference to a valid session
GPU_group ref self reference to the object

Minimum Role: read-only

Return Type: string

value of the field

RPC name: get_VGPUs

Overview:

Get the VGPUs field of the given GPU_group.

Signature:

VGPU ref set get_VGPUs (session ref session_ref, GPU_group ref self)
<!--NeedCopy-->

Arguments:

Type Name Description
session ref session_ref Reference to a valid session
GPU_group ref self reference to the object

Minimum Role: read-only

Return Type: VGPU ref set

value of the field

RPC name: remove_from_other_config

Overview:

Remove the given key and its corresponding value from the other_config field of the given GPU_group. If the key is not in that Map, then do nothing.

Signature:

void remove_from_other_config (session ref session_ref, GPU_group ref self, string key)
<!--NeedCopy-->

Arguments:

Type Name Description
session ref session_ref Reference to a valid session
GPU_group ref self reference to the object
string key Key to remove

Minimum Role: pool-operator

Return Type: void

RPC name: set_allocation_algorithm

Overview:

Set the allocation_algorithm field of the given GPU_group.

Signature:

void set_allocation_algorithm (session ref session_ref, GPU_group ref self, allocation_algorithm value)
<!--NeedCopy-->

Arguments:

Type Name Description
session ref session_ref Reference to a valid session
GPU_group ref self reference to the object
allocation_algorithm value New value to set

Minimum Role: pool-operator

Return Type: void

RPC name: set_name_description

Overview:

Set the name/description field of the given GPU_group.

Signature:

void set_name_description (session ref session_ref, GPU_group ref self, string value)
<!--NeedCopy-->

Arguments:

Type Name Description
session ref session_ref Reference to a valid session
GPU_group ref self reference to the object
string value New value to set

Minimum Role: pool-operator

Return Type: void

RPC name: set_name_label

Overview:

Set the name/label field of the given GPU_group.

Signature:

void set_name_label (session ref session_ref, GPU_group ref self, string value)
<!--NeedCopy-->

Arguments:

Type Name Description
session ref session_ref Reference to a valid session
GPU_group ref self reference to the object
string value New value to set

Minimum Role: pool-operator

Return Type: void

RPC name: set_other_config

Overview:

Set the other_config field of the given GPU_group.

Signature:

void set_other_config (session ref session_ref, GPU_group ref self, (string -> string) map value)
<!--NeedCopy-->

Arguments:

Type Name Description
session ref session_ref Reference to a valid session
GPU_group ref self reference to the object
(string -> string) map value New value to set

Minimum Role: pool-operator

Return Type: void