Develop for XenServer

Class: VUSB

Describes the vusb device

Fields for class: VUSB

Field Type Qualifier Description
allowed_operations vusb_operations set RO/runtime list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client.
current_operations (string -> vusb_operations) map RO/runtime links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task.
currently_attached bool RO/runtime is the device currently attached
other_config (string -> string) map RW Additional configuration
USB_group USB_group ref RO/runtime USB group used by the VUSB
uuid string RO/runtime Unique identifier/object reference
VM VM ref RO/runtime VM that owns the VUSB

RPCs associated with class: VUSB

RPC name: add_to_other_config

Overview:

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

Signature:

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

Arguments:

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

Minimum Role: pool-admin

Return Type: void

RPC name: create

Overview:

Create a new VUSB record in the database only

Signature:

VUSB ref create (session ref session_ref, VM ref VM, USB_group ref USB_group, (string -> string) map other_config)
<!--NeedCopy-->

Arguments:

Type Name Description
session ref session_ref Reference to a valid session
VM ref VM The VM
USB_group ref USB_group  
(string -> string) map other_config  

Minimum Role: pool-admin

Return Type: VUSB ref

The ref of the newly created VUSB record.

RPC name: destroy

Overview:

Removes a VUSB record from the database

Signature:

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

Arguments:

Type Name Description
session ref session_ref Reference to a valid session
VUSB ref self The VUSB to destroy about

Minimum Role: pool-admin

Return Type: void

RPC name: get_all

Overview:

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

Signature:

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

references to all objects

RPC name: get_all_records

Overview:

Return a map of VUSB references to VUSB records for all VUSBs known to the system.

Signature:

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

records of all objects

RPC name: get_allowed_operations

Overview:

Get the allowed_operations field of the given VUSB.

Signature:

vusb_operations set get_allowed_operations (session ref session_ref, VUSB ref self)
<!--NeedCopy-->

Arguments:

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

Minimum Role: read-only

Return Type: vusb_operations set

value of the field

RPC name: get_by_uuid

Overview:

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

Signature:

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

reference to the object

RPC name: get_current_operations

Overview:

Get the current_operations field of the given VUSB.

Signature:

(string -> vusb_operations) map get_current_operations (session ref session_ref, VUSB ref self)
<!--NeedCopy-->

Arguments:

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

Minimum Role: read-only

Return Type: (string -> vusb_operations) map

value of the field

RPC name: get_currently_attached

Overview:

Get the currently_attached field of the given VUSB.

Signature:

bool get_currently_attached (session ref session_ref, VUSB ref self)
<!--NeedCopy-->

Arguments:

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

Signature:

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

Arguments:

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

Minimum Role: read-only

Return Type: (string -> string) map

value of the field

RPC name: get_record

Overview:

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

Signature:

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

Arguments:

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

Minimum Role: read-only

Return Type: VUSB record

all fields from the object

RPC name: get_USB_group

Overview:

Get the USB_group field of the given VUSB.

Signature:

USB_group ref get_USB_group (session ref session_ref, VUSB ref self)
<!--NeedCopy-->

Arguments:

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

Minimum Role: read-only

Return Type: USB_group ref

value of the field

RPC name: get_uuid

Overview:

Get the uuid field of the given VUSB.

Signature:

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

Arguments:

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

Minimum Role: read-only

Return Type: string

value of the field

RPC name: get_VM

Overview:

Get the VM field of the given VUSB.

Signature:

VM ref get_VM (session ref session_ref, VUSB ref self)
<!--NeedCopy-->

Arguments:

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

Minimum Role: read-only

Return Type: VM ref

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 VUSB. If the key is not in that Map, then do nothing.

Signature:

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

Arguments:

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

Minimum Role: pool-admin

Return Type: void

RPC name: set_other_config

Overview:

Set the other_config field of the given VUSB.

Signature:

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

Arguments:

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

Minimum Role: pool-admin

Return Type: void

RPC name: unplug

Overview:

Unplug the vusb device from the vm.

Signature:

void unplug (session ref session_ref, VUSB ref self)
<!--NeedCopy-->

Arguments:

Type Name Description
session ref session_ref Reference to a valid session
VUSB ref self vusb deivce

Minimum Role: pool-admin

Return Type: void