Develop for XenServer

Class: PGPU

A physical GPU (pGPU)

Fields for class: PGPU

Field Type Qualifier Description
compatibility_metadata (string -> string) map RO/runtime PGPU metadata to determine whether a VGPU can migrate between two PGPUs
dom0_access pci_dom0_access RO/runtime Deprecated. The accessibility of this device from dom0
enabled_VGPU_types VGPU_type ref set RO/runtime List of VGPU types which have been enabled for this PGPU
GPU_group GPU_group ref RO/constructor GPU group the pGPU is contained in
host host ref RO/runtime Host that owns the GPU
is_system_display_device bool RO/runtime Is this device the system display device
other_config (string -> string) map RW Additional configuration
PCI PCI ref RO/constructor Link to underlying PCI device
resident_VGPUs VGPU ref set RO/runtime List of VGPUs running on this PGPU
supported_VGPU_max_capacities (VGPU_type ref -> int) map RO/runtime A map relating each VGPU type supported on this GPU to the maximum number of VGPUs of that type which can run simultaneously on this GPU
supported_VGPU_types VGPU_type ref set RO/runtime List of VGPU types supported by the underlying hardware
uuid string RO/runtime Unique identifier/object reference

RPCs associated with class: PGPU

RPC name: add_enabled_VGPU_types

Overview:

Signature:

void add_enabled_VGPU_types (session ref session_ref, PGPU ref self, VGPU_type ref value)
<!--NeedCopy-->

Arguments:

Type Name Description
session ref session_ref Reference to a valid session
PGPU ref self The PGPU to which we are adding an enabled VGPU type
VGPU_type ref value The VGPU type to enable

Minimum Role: pool-operator

Return Type: void

RPC name: add_to_other_config

Overview:

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

Signature:

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

Arguments:

Type Name Description
session ref session_ref Reference to a valid session
PGPU 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: disable_dom0_access

This message is deprecated.

Overview:

Signature:

pci_dom0_access disable_dom0_access (session ref session_ref, PGPU ref self)
<!--NeedCopy-->

Arguments:

Type Name Description
session ref session_ref Reference to a valid session
PGPU ref self The PGPU to which dom0 will be denied access

Minimum Role: pool-operator

Return Type: pci_dom0_access

The accessibility of this PGPU from dom0

RPC name: enable_dom0_access

This message is deprecated.

Overview:

Signature:

pci_dom0_access enable_dom0_access (session ref session_ref, PGPU ref self)
<!--NeedCopy-->

Arguments:

Type Name Description
session ref session_ref Reference to a valid session
PGPU ref self The PGPU to which dom0 will be granted access

Minimum Role: pool-operator

Return Type: pci_dom0_access

The accessibility of this PGPU from dom0

RPC name: get_all

Overview:

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

Signature:

PGPU 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: PGPU ref set

references to all objects

RPC name: get_all_records

Overview:

Return a map of PGPU references to PGPU records for all PGPUs known to the system.

Signature:

(PGPU ref -> PGPU 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: (PGPU ref -> PGPU record) map

records of all objects

RPC name: get_by_uuid

Overview:

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

Signature:

PGPU 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: PGPU ref

reference to the object

RPC name: get_compatibility_metadata

Overview:

Get the compatibility_metadata field of the given PGPU.

Signature:

(string -> string) map get_compatibility_metadata (session ref session_ref, PGPU ref self)
<!--NeedCopy-->

Arguments:

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

Minimum Role: read-only

Return Type: (string -> string) map

value of the field

RPC name: get_dom0_access

This message is deprecated.

Overview:

Get the dom0_access field of the given PGPU.

Signature:

pci_dom0_access get_dom0_access (session ref session_ref, PGPU ref self)
<!--NeedCopy-->

Arguments:

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

Minimum Role: read-only

Return Type: pci_dom0_access

value of the field

RPC name: get_enabled_VGPU_types

Overview:

Get the enabled_VGPU_types field of the given PGPU.

Signature:

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

Arguments:

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

Minimum Role: read-only

Return Type: VGPU_type ref set

value of the field

RPC name: get_GPU_group

Overview:

Get the GPU_group field of the given PGPU.

Signature:

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

Arguments:

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

Minimum Role: read-only

Return Type: GPU_group ref

value of the field

RPC name: get_host

Overview:

Get the host field of the given PGPU.

Signature:

host ref get_host (session ref session_ref, PGPU ref self)
<!--NeedCopy-->

Arguments:

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

Minimum Role: read-only

Return Type: host ref

value of the field

RPC name: get_is_system_display_device

Overview:

Get the is_system_display_device field of the given PGPU.

Signature:

bool get_is_system_display_device (session ref session_ref, PGPU ref self)
<!--NeedCopy-->

Arguments:

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

Minimum Role: read-only

Return Type: bool

value of the field

RPC name: get_other_config

Overview:

Get the other_config field of the given PGPU.

Signature:

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

Arguments:

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

Minimum Role: read-only

Return Type: (string -> string) map

value of the field

RPC name: get_PCI

Overview:

Get the PCI field of the given PGPU.

Signature:

PCI ref get_PCI (session ref session_ref, PGPU ref self)
<!--NeedCopy-->

Arguments:

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

Minimum Role: read-only

Return Type: PCI ref

value of the field

RPC name: get_record

Overview:

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

Signature:

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

Arguments:

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

Minimum Role: read-only

Return Type: PGPU record

all fields from the object

RPC name: get_remaining_capacity

Overview:

Signature:

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

Arguments:

Type Name Description
session ref session_ref Reference to a valid session
PGPU ref self The PGPU to query
VGPU_type ref vgpu_type The VGPU type for which we want to find the number of VGPUs which can still be started on this PGPU

Minimum Role: read-only

Return Type: int

The number of VGPUs of the specified type which can still be started on this PGPU

RPC name: get_resident_VGPUs

Overview:

Get the resident_VGPUs field of the given PGPU.

Signature:

VGPU ref set get_resident_VGPUs (session ref session_ref, PGPU ref self)
<!--NeedCopy-->

Arguments:

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

Minimum Role: read-only

Return Type: VGPU ref set

value of the field

RPC name: get_supported_VGPU_max_capacities

Overview:

Get the supported_VGPU_max_capacities field of the given PGPU.

Signature:

(VGPU_type ref -> int) map get_supported_VGPU_max_capacities (session ref session_ref, PGPU ref self)
<!--NeedCopy-->

Arguments:

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

Minimum Role: read-only

Return Type: (VGPU_type ref -> int) map

value of the field

RPC name: get_supported_VGPU_types

Overview:

Get the supported_VGPU_types field of the given PGPU.

Signature:

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

Arguments:

Type Name Description
session ref session_ref Reference to a valid session
PGPU 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 PGPU.

Signature:

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

Arguments:

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

Minimum Role: read-only

Return Type: string

value of the field

RPC name: remove_enabled_VGPU_types

Overview:

Signature:

void remove_enabled_VGPU_types (session ref session_ref, PGPU ref self, VGPU_type ref value)
<!--NeedCopy-->

Arguments:

Type Name Description
session ref session_ref Reference to a valid session
PGPU ref self The PGPU from which we are removing an enabled VGPU type
VGPU_type ref value The VGPU type to disable

Minimum Role: pool-operator

Return Type: void

RPC name: remove_from_other_config

Overview:

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

Signature:

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

Arguments:

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

Minimum Role: pool-operator

Return Type: void

RPC name: set_enabled_VGPU_types

Overview:

Signature:

void set_enabled_VGPU_types (session ref session_ref, PGPU ref self, VGPU_type ref set value)
<!--NeedCopy-->

Arguments:

Type Name Description
session ref session_ref Reference to a valid session
PGPU ref self The PGPU on which we are enabling a set of VGPU types
VGPU_type ref set value The VGPU types to enable

Minimum Role: pool-operator

Return Type: void

RPC name: set_GPU_group

Overview:

Signature:

void set_GPU_group (session ref session_ref, PGPU ref self, GPU_group ref value)
<!--NeedCopy-->

Arguments:

Type Name Description
session ref session_ref Reference to a valid session
PGPU ref self The PGPU to move to a new group
GPU_group ref value The group to which the PGPU will be moved

Minimum Role: pool-operator

Return Type: void

RPC name: set_other_config

Overview:

Set the other_config field of the given PGPU.

Signature:

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

Arguments:

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

Minimum Role: pool-operator

Return Type: void