ia64/xen-unstable

view docs/xen-api/xenapi-datamodel.tex @ 12327:eea9247ad5a0

[XENOPROF] Oprofile user level samples for passive domains are being lost.
The number of of lost samples is most significant when dom0 is idle.

From: joserenato.santos@hp.com
Signed-off-by: Keir Fraser <keir@xensource.com>
author kfraser@localhost.localdomain
date Thu Nov 09 11:47:42 2006 +0000 (2006-11-09)
parents 9a6d5e7b636f
children 5e9812e53300
line source
1 %
2 % Copyright (c) 2006 XenSource, Inc.
3 %
4 % Permission is granted to copy, distribute and/or modify this document under
5 % the terms of the GNU Free Documentation License, Version 1.2 or any later
6 % version published by the Free Software Foundation; with no Invariant
7 % Sections, no Front-Cover Texts and no Back-Cover Texts. A copy of the
8 % license is included in the section entitled
9 % "GNU Free Documentation License" or the file fdl.tex.
10 %
11 % Authors: Ewan Mellor, Richard Sharp, Dave Scott, Jon Harrop.
12 %
14 \chapter{API Reference}
15 \label{api-reference}
18 \section{Classes}
19 The following classes are defined:
21 \begin{center}\begin{tabular}{|lp{10cm}|}
22 \hline
23 Name & Description \\
24 \hline
25 {\tt session} & A session \\
26 {\tt task} & A longrunning asynchronous task \\
27 {\tt VM} & A virtual machine (or 'guest') \\
28 {\tt host} & A physical host \\
29 {\tt host\_cpu} & A physical CPU \\
30 {\tt network} & A virtual network \\
31 {\tt VIF} & A virtual network interface \\
32 {\tt PIF} & A physical network interface (note separate VLANs are represented as several PIFs) \\
33 {\tt SR} & A storage repository \\
34 {\tt VDI} & A virtual disk image \\
35 {\tt VBD} & A virtual block device \\
36 {\tt VTPM} & A virtual TPM device \\
37 {\tt user} & A user of the system \\
38 {\tt debug} & A basic class for testing \\
39 \hline
40 \end{tabular}\end{center}
41 \section{Relationships Between Classes}
42 Fields that are bound together are shown in the following table:
43 \begin{center}\begin{tabular}{|ll|l|}
44 \hline
45 {\em object.field} & {\em object.field} & {\em relationship} \\
47 \hline
48 VDI.VBDs & VBD.VDI & many-to-one\\
49 VDI.parent & VDI.children & one-to-many\\
50 VBD.VM & VM.VBDs & one-to-many\\
51 VIF.VM & VM.VIFs & one-to-many\\
52 VIF.network & network.VIFs & one-to-many\\
53 PIF.host & host.PIFs & one-to-many\\
54 PIF.network & network.PIFs & one-to-many\\
55 SR.VDIs & VDI.SR & many-to-one\\
56 VTPM.VM & VM.VTPMs & one-to-many\\
57 host.resident\_VMs & VM.resident\_on & many-to-one\\
58 host.host\_CPUs & host\_cpu.host & many-to-one\\
59 \hline
60 \end{tabular}\end{center}
62 The following represents bound fields (as specified above) diagramatically, using crows-foot notation to specify one-to-one, one-to-many or many-to-many
63 relationships:
65 \begin{center}\resizebox{0.8\textwidth}{!}{
66 \includegraphics{xenapi-datamodel-graph}
67 }\end{center}
68 \
69 \subsection{List of bound fields}
70 \section{Types}
71 \subsection{Primitives}
72 The following primitive types are used to specify methods and fields in the API Reference:
74 \begin{center}\begin{tabular}{|ll|}
75 \hline
76 Type & Description \\
77 \hline
78 String & text strings \\
79 Int & 64-bit integers \\
80 Float & IEEE double-precision floating-point numbers \\
81 Bool & boolean \\
82 DateTime & date and timestamp \\
83 Ref (object name) & reference to an object of class name \\
84 \hline
85 \end{tabular}\end{center}
86 \subsection{Higher order types}
87 The following type constructors are used:
89 \begin{center}\begin{tabular}{|ll|}
90 \hline
91 Type & Description \\
92 \hline
93 List (t) & an arbitrary-length list of elements of type t \\
94 Map (a $\rightarrow$ b) & a table mapping values of type a to values of type b \\
95 \hline
96 \end{tabular}\end{center}
97 \subsection{Enumeration types}
98 The following enumeration types are used:
100 \begin{longtable}{|ll|}
101 \hline
102 {\tt enum vdi\_type} & \\
103 \hline
104 \hspace{0.5cm}{\tt system} & a disk that may be replaced on upgrade \\
105 \hspace{0.5cm}{\tt user} & a disk that is always preserved on upgrade \\
106 \hspace{0.5cm}{\tt ephemeral} & a disk that may be reformatted on upgrade \\
107 \hline
108 \end{longtable}
110 \vspace{1cm}
111 \begin{longtable}{|ll|}
112 \hline
113 {\tt enum vm\_power\_state} & \\
114 \hline
115 \hspace{0.5cm}{\tt Halted} & Halted \\
116 \hspace{0.5cm}{\tt Paused} & Paused \\
117 \hspace{0.5cm}{\tt Running} & Running \\
118 \hspace{0.5cm}{\tt Suspended} & Suspended \\
119 \hspace{0.5cm}{\tt ShuttingDown} & Shutting Down \\
120 \hspace{0.5cm}{\tt Unknown} & Some other unknown state \\
121 \hline
122 \end{longtable}
124 \vspace{1cm}
125 \begin{longtable}{|ll|}
126 \hline
127 {\tt enum cpu\_feature} & \\
128 \hline
129 \hspace{0.5cm}{\tt FPU} & Onboard FPU \\
130 \hspace{0.5cm}{\tt VME} & Virtual Mode Extensions \\
131 \hspace{0.5cm}{\tt DE} & Debugging Extensions \\
132 \hspace{0.5cm}{\tt PSE} & Page Size Extensions \\
133 \hspace{0.5cm}{\tt TSC} & Time Stamp Counter \\
134 \hspace{0.5cm}{\tt MSR} & Model-Specific Registers, RDMSR, WRMSR \\
135 \hspace{0.5cm}{\tt PAE} & Physical Address Extensions \\
136 \hspace{0.5cm}{\tt MCE} & Machine Check Architecture \\
137 \hspace{0.5cm}{\tt CX8} & CMPXCHG8 instruction \\
138 \hspace{0.5cm}{\tt APIC} & Onboard APIC \\
139 \hspace{0.5cm}{\tt SEP} & SYSENTER/SYSEXIT \\
140 \hspace{0.5cm}{\tt MTRR} & Memory Type Range Registers \\
141 \hspace{0.5cm}{\tt PGE} & Page Global Enable \\
142 \hspace{0.5cm}{\tt MCA} & Machine Check Architecture \\
143 \hspace{0.5cm}{\tt CMOV} & CMOV instruction (FCMOVCC and FCOMI too if FPU present) \\
144 \hspace{0.5cm}{\tt PAT} & Page Attribute Table \\
145 \hspace{0.5cm}{\tt PSE36} & 36-bit PSEs \\
146 \hspace{0.5cm}{\tt PN} & Processor serial number \\
147 \hspace{0.5cm}{\tt CLFLSH} & Supports the CLFLUSH instruction \\
148 \hspace{0.5cm}{\tt DTES} & Debug Trace Store \\
149 \hspace{0.5cm}{\tt ACPI} & ACPI via MSR \\
150 \hspace{0.5cm}{\tt MMX} & Multimedia Extensions \\
151 \hspace{0.5cm}{\tt FXSR} & FXSAVE and FXRSTOR instructions (fast save and restore \\
152 \hspace{0.5cm}{\tt XMM} & Streaming SIMD Extensions \\
153 \hspace{0.5cm}{\tt XMM2} & Streaming SIMD Extensions-2 \\
154 \hspace{0.5cm}{\tt SELFSNOOP} & CPU self snoop \\
155 \hspace{0.5cm}{\tt HT} & Hyper-Threading \\
156 \hspace{0.5cm}{\tt ACC} & Automatic clock control \\
157 \hspace{0.5cm}{\tt IA64} & IA-64 processor \\
158 \hspace{0.5cm}{\tt SYSCALL} & SYSCALL/SYSRET \\
159 \hspace{0.5cm}{\tt MP} & MP Capable. \\
160 \hspace{0.5cm}{\tt NX} & Execute Disable \\
161 \hspace{0.5cm}{\tt MMXEXT} & AMD MMX extensions \\
162 \hspace{0.5cm}{\tt LM} & Long Mode (x86-64) \\
163 \hspace{0.5cm}{\tt 3DNOWEXT} & AMD 3DNow! extensions \\
164 \hspace{0.5cm}{\tt 3DNOW} & 3DNow! \\
165 \hspace{0.5cm}{\tt RECOVERY} & CPU in recovery mode \\
166 \hspace{0.5cm}{\tt LONGRUN} & Longrun power control \\
167 \hspace{0.5cm}{\tt LRTI} & LongRun table interface \\
168 \hspace{0.5cm}{\tt CXMMX} & Cyrix MMX extensions \\
169 \hspace{0.5cm}{\tt K6\_MTRR} & AMD K6 nonstandard MTRRs \\
170 \hspace{0.5cm}{\tt CYRIX\_ARR} & Cyrix ARRs (= MTRRs) \\
171 \hspace{0.5cm}{\tt CENTAUR\_MCR} & Centaur MCRs (= MTRRs) \\
172 \hspace{0.5cm}{\tt K8} & Opteron, Athlon64 \\
173 \hspace{0.5cm}{\tt K7} & Athlon \\
174 \hspace{0.5cm}{\tt P3} & P3 \\
175 \hspace{0.5cm}{\tt P4} & P4 \\
176 \hspace{0.5cm}{\tt CONSTANT\_TSC} & TSC ticks at a constant rate \\
177 \hspace{0.5cm}{\tt FXSAVE\_LEAK} & FXSAVE leaks FOP/FIP/FOP \\
178 \hspace{0.5cm}{\tt XMM3} & Streaming SIMD Extensions-3 \\
179 \hspace{0.5cm}{\tt MWAIT} & Monitor/Mwait support \\
180 \hspace{0.5cm}{\tt DSCPL} & CPL Qualified Debug Store \\
181 \hspace{0.5cm}{\tt EST} & Enhanced SpeedStep \\
182 \hspace{0.5cm}{\tt TM2} & Thermal Monitor 2 \\
183 \hspace{0.5cm}{\tt CID} & Context ID \\
184 \hspace{0.5cm}{\tt CX16} & CMPXCHG16B \\
185 \hspace{0.5cm}{\tt XTPR} & Send Task Priority Messages \\
186 \hspace{0.5cm}{\tt XSTORE} & on-CPU RNG present (xstore insn) \\
187 \hspace{0.5cm}{\tt XSTORE\_EN} & on-CPU RNG enabled \\
188 \hspace{0.5cm}{\tt XCRYPT} & on-CPU crypto (xcrypt insn) \\
189 \hspace{0.5cm}{\tt XCRYPT\_EN} & on-CPU crypto enabled \\
190 \hspace{0.5cm}{\tt LAHF\_LM} & LAHF/SAHF in long mode \\
191 \hspace{0.5cm}{\tt CMP\_LEGACY} & If yes HyperThreading not valid \\
192 \hspace{0.5cm}{\tt VMX} & VMX instruction set \\
193 \hline
194 \end{longtable}
196 \vspace{1cm}
197 \begin{longtable}{|ll|}
198 \hline
199 {\tt enum on\_normal\_exit} & \\
200 \hline
201 \hspace{0.5cm}{\tt destroy} & destroy the VM state \\
202 \hspace{0.5cm}{\tt restart} & restart the VM \\
203 \hline
204 \end{longtable}
206 \vspace{1cm}
207 \begin{longtable}{|ll|}
208 \hline
209 {\tt enum on\_crash\_behaviour} & \\
210 \hline
211 \hspace{0.5cm}{\tt destroy} & destroy the VM state \\
212 \hspace{0.5cm}{\tt coredump\_and\_destroy} & record a coredump and then destroy the VM state \\
213 \hspace{0.5cm}{\tt restart} & restart the VM \\
214 \hspace{0.5cm}{\tt coredump\_and\_restart} & record a coredump and then restart the VM \\
215 \hspace{0.5cm}{\tt preserve} & leave the crashed VM as-is \\
216 \hspace{0.5cm}{\tt rename\_restart} & rename the crashed VM and start a new copy \\
217 \hline
218 \end{longtable}
220 \vspace{1cm}
221 \begin{longtable}{|ll|}
222 \hline
223 {\tt enum boot\_type} & \\
224 \hline
225 \hspace{0.5cm}{\tt bios} & boot an HVM guest using an emulated BIOS \\
226 \hspace{0.5cm}{\tt grub} & boot from inside the machine using grub \\
227 \hspace{0.5cm}{\tt kernel\_external} & boot from an external kernel \\
228 \hspace{0.5cm}{\tt kernel\_internal} & boot from a kernel inside the guest filesystem \\
229 \hline
230 \end{longtable}
232 \vspace{1cm}
233 \begin{longtable}{|ll|}
234 \hline
235 {\tt enum vbd\_mode} & \\
236 \hline
237 \hspace{0.5cm}{\tt RO} & disk is mounted read-only \\
238 \hspace{0.5cm}{\tt RW} & disk is mounted read-write \\
239 \hline
240 \end{longtable}
242 \vspace{1cm}
243 \begin{longtable}{|ll|}
244 \hline
245 {\tt enum driver\_type} & \\
246 \hline
247 \hspace{0.5cm}{\tt ioemu} & use hardware emulation \\
248 \hspace{0.5cm}{\tt paravirtualised} & use paravirtualised driver \\
249 \hline
250 \end{longtable}
252 \vspace{1cm}
254 \newpage
255 \section{Class: session}
256 \subsection{Fields for class: session}
257 \begin{longtable}{|lllp{0.38\textwidth}|}
258 \hline
259 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf session} \\
260 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A session}} \\
261 \hline
262 Quals & Field & Type & Description \\
263 \hline
264 $\mathit{RO}_\mathit{ins}$ & {\tt this\_host} & host ref & Currently connected host \\
265 $\mathit{RO}_\mathit{ins}$ & {\tt this\_user} & user ref & Currently connected user \\
266 \hline
267 \end{longtable}
268 \subsection{Additional RPCs associated with class: session}
269 \subsubsection{RPC name:~login\_with\_password}
271 {\bf Overview:}
272 Attempt to authenticate the user, returning a session\_id if successful
274 \noindent {\bf Signature:}
275 \begin{verbatim} (session ref) login_with_password (string uname, string pwd)\end{verbatim}
278 \noindent{\bf Arguments:}
281 \vspace{0.3cm}
282 \begin{tabular}{|c|c|p{7cm}|}
283 \hline
284 {\bf type} & {\bf name} & {\bf description} \\ \hline
285 {\tt string } & uname & Username for login. \\ \hline
287 {\tt string } & pwd & Password for login. \\ \hline
289 \end{tabular}
291 \vspace{0.3cm}
293 \noindent {\bf Return Type:}
294 {\tt
295 session ref
296 }
299 ID of newly created session
300 \vspace{0.3cm}
301 \vspace{0.3cm}
302 \vspace{0.3cm}
303 \subsubsection{RPC name:~logout}
305 {\bf Overview:}
306 Log out of a session
308 \noindent {\bf Signature:}
309 \begin{verbatim} void logout (session_id s)\end{verbatim}
312 \vspace{0.3cm}
314 \noindent {\bf Return Type:}
315 {\tt
316 void
317 }
321 \vspace{0.3cm}
322 \vspace{0.3cm}
323 \vspace{0.3cm}
324 \subsubsection{RPC name:~get\_this\_host}
326 {\bf Overview:}
327 get accessor message derived from field this\_host of object session
329 \noindent {\bf Signature:}
330 \begin{verbatim} (host ref) get_this_host (session_id s, session ref self)\end{verbatim}
333 \noindent{\bf Arguments:}
336 \vspace{0.3cm}
337 \begin{tabular}{|c|c|p{7cm}|}
338 \hline
339 {\bf type} & {\bf name} & {\bf description} \\ \hline
340 {\tt session ref } & self & object instance \\ \hline
342 \end{tabular}
344 \vspace{0.3cm}
346 \noindent {\bf Return Type:}
347 {\tt
348 host ref
349 }
352 value of the field
353 \vspace{0.3cm}
354 \vspace{0.3cm}
355 \vspace{0.3cm}
356 \subsubsection{RPC name:~get\_this\_user}
358 {\bf Overview:}
359 get accessor message derived from field this\_user of object session
361 \noindent {\bf Signature:}
362 \begin{verbatim} (user ref) get_this_user (session_id s, session ref self)\end{verbatim}
365 \noindent{\bf Arguments:}
368 \vspace{0.3cm}
369 \begin{tabular}{|c|c|p{7cm}|}
370 \hline
371 {\bf type} & {\bf name} & {\bf description} \\ \hline
372 {\tt session ref } & self & object instance \\ \hline
374 \end{tabular}
376 \vspace{0.3cm}
378 \noindent {\bf Return Type:}
379 {\tt
380 user ref
381 }
384 value of the field
385 \vspace{0.3cm}
386 \vspace{0.3cm}
387 \vspace{0.3cm}
388 \subsubsection{RPC name:~create}
390 {\bf Overview:}
391 constructor for class session
393 \noindent {\bf Signature:}
394 \begin{verbatim} (session ref) create (session_id s, session record args)\end{verbatim}
397 \noindent{\bf Arguments:}
400 \vspace{0.3cm}
401 \begin{tabular}{|c|c|p{7cm}|}
402 \hline
403 {\bf type} & {\bf name} & {\bf description} \\ \hline
404 {\tt session record } & args & All constructor arguments \\ \hline
406 \end{tabular}
408 \vspace{0.3cm}
410 \noindent {\bf Return Type:}
411 {\tt
412 session ref
413 }
416 reference to the newly created object
417 \vspace{0.3cm}
418 \vspace{0.3cm}
419 \vspace{0.3cm}
420 \subsubsection{RPC name:~destroy}
422 {\bf Overview:}
423 destructor for class session
425 \noindent {\bf Signature:}
426 \begin{verbatim} void destroy (session_id s, session ref self)\end{verbatim}
429 \noindent{\bf Arguments:}
432 \vspace{0.3cm}
433 \begin{tabular}{|c|c|p{7cm}|}
434 \hline
435 {\bf type} & {\bf name} & {\bf description} \\ \hline
436 {\tt session ref } & self & object instance \\ \hline
438 \end{tabular}
440 \vspace{0.3cm}
442 \noindent {\bf Return Type:}
443 {\tt
444 void
445 }
449 \vspace{0.3cm}
450 \vspace{0.3cm}
451 \vspace{0.3cm}
452 \subsubsection{RPC name:~get\_by\_uuid}
454 {\bf Overview:}
455 returns the session instance with a particular uuid
457 \noindent {\bf Signature:}
458 \begin{verbatim} (session ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
461 \noindent{\bf Arguments:}
464 \vspace{0.3cm}
465 \begin{tabular}{|c|c|p{7cm}|}
466 \hline
467 {\bf type} & {\bf name} & {\bf description} \\ \hline
468 {\tt string } & uuid & UUID of object to return \\ \hline
470 \end{tabular}
472 \vspace{0.3cm}
474 \noindent {\bf Return Type:}
475 {\tt
476 session ref
477 }
480 reference to the object
481 \vspace{0.3cm}
482 \vspace{0.3cm}
483 \vspace{0.3cm}
484 \subsubsection{RPC name:~get\_record}
486 {\bf Overview:}
487 returns a record containing the state of an instance of class session
489 \noindent {\bf Signature:}
490 \begin{verbatim} (session record) get_record (session_id s, session ref self)\end{verbatim}
493 \noindent{\bf Arguments:}
496 \vspace{0.3cm}
497 \begin{tabular}{|c|c|p{7cm}|}
498 \hline
499 {\bf type} & {\bf name} & {\bf description} \\ \hline
500 {\tt session ref } & self & reference to the object \\ \hline
502 \end{tabular}
504 \vspace{0.3cm}
506 \noindent {\bf Return Type:}
507 {\tt
508 session record
509 }
512 all fields from the object
513 \vspace{0.3cm}
514 \vspace{0.3cm}
515 \vspace{0.3cm}
517 \vspace{1cm}
518 \newpage
519 \section{Class: task}
520 \subsection{Fields for class: task}
521 \begin{longtable}{|lllp{0.38\textwidth}|}
522 \hline
523 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf task} \\
524 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A longrunning asynchronous task}} \\
525 \hline
526 Quals & Field & Type & Description \\
527 \hline
528 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
529 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
530 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
531 \hline
532 \end{longtable}
533 \subsection{Additional RPCs associated with class: task}
534 \subsubsection{RPC name:~get\_status}
536 {\bf Overview:}
537 Poll a running asynchronous RPC invocation and query its status
539 \noindent {\bf Signature:}
540 \begin{verbatim} (uuid ref) get_status (session_id s, task ref task)\end{verbatim}
543 \noindent{\bf Arguments:}
546 \vspace{0.3cm}
547 \begin{tabular}{|c|c|p{7cm}|}
548 \hline
549 {\bf type} & {\bf name} & {\bf description} \\ \hline
550 {\tt task ref } & task & The ID of the RPC call to poll \\ \hline
552 \end{tabular}
554 \vspace{0.3cm}
556 \noindent {\bf Return Type:}
557 {\tt
558 uuid ref
559 }
562 String describing status of specified asynchronous RPC invocation, including estimated completion time
563 \vspace{0.3cm}
564 \vspace{0.3cm}
565 \vspace{0.3cm}
566 \subsubsection{RPC name:~get\_all\_tasks}
568 {\bf Overview:}
569 List all asynchronous RPC calls currently executing
571 \noindent {\bf Signature:}
572 \begin{verbatim} ((task ref) Set) get_all_tasks (session_id s)\end{verbatim}
575 \vspace{0.3cm}
577 \noindent {\bf Return Type:}
578 {\tt
579 (task ref) Set
580 }
583 A list of tasks currently executing. Note that
584 tasks are associated with users rather than sessions. Thus, if you logout and
585 login again with a different session but the same user, this function will still
586 return the user's running tasks.
587 \vspace{0.3cm}
588 \vspace{0.3cm}
589 \vspace{0.3cm}
590 \subsubsection{RPC name:~get\_uuid}
592 {\bf Overview:}
593 get accessor message derived from field uuid of object task
595 \noindent {\bf Signature:}
596 \begin{verbatim} string get_uuid (session_id s, task ref self)\end{verbatim}
599 \noindent{\bf Arguments:}
602 \vspace{0.3cm}
603 \begin{tabular}{|c|c|p{7cm}|}
604 \hline
605 {\bf type} & {\bf name} & {\bf description} \\ \hline
606 {\tt task ref } & self & object instance \\ \hline
608 \end{tabular}
610 \vspace{0.3cm}
612 \noindent {\bf Return Type:}
613 {\tt
614 string
615 }
618 value of the field
619 \vspace{0.3cm}
620 \vspace{0.3cm}
621 \vspace{0.3cm}
622 \subsubsection{RPC name:~get\_name\_label}
624 {\bf Overview:}
625 get accessor message derived from field name/label of object task
627 \noindent {\bf Signature:}
628 \begin{verbatim} string get_name_label (session_id s, task ref self)\end{verbatim}
631 \noindent{\bf Arguments:}
634 \vspace{0.3cm}
635 \begin{tabular}{|c|c|p{7cm}|}
636 \hline
637 {\bf type} & {\bf name} & {\bf description} \\ \hline
638 {\tt task ref } & self & object instance \\ \hline
640 \end{tabular}
642 \vspace{0.3cm}
644 \noindent {\bf Return Type:}
645 {\tt
646 string
647 }
650 value of the field
651 \vspace{0.3cm}
652 \vspace{0.3cm}
653 \vspace{0.3cm}
654 \subsubsection{RPC name:~set\_name\_label}
656 {\bf Overview:}
657 set accessor message derived from field name/label of object task
659 \noindent {\bf Signature:}
660 \begin{verbatim} void set_name_label (session_id s, task ref self, string value)\end{verbatim}
663 \noindent{\bf Arguments:}
666 \vspace{0.3cm}
667 \begin{tabular}{|c|c|p{7cm}|}
668 \hline
669 {\bf type} & {\bf name} & {\bf description} \\ \hline
670 {\tt task ref } & self & object instance \\ \hline
672 {\tt string } & value & New value to set \\ \hline
674 \end{tabular}
676 \vspace{0.3cm}
678 \noindent {\bf Return Type:}
679 {\tt
680 void
681 }
685 \vspace{0.3cm}
686 \vspace{0.3cm}
687 \vspace{0.3cm}
688 \subsubsection{RPC name:~get\_name\_description}
690 {\bf Overview:}
691 get accessor message derived from field name/description of object task
693 \noindent {\bf Signature:}
694 \begin{verbatim} string get_name_description (session_id s, task ref self)\end{verbatim}
697 \noindent{\bf Arguments:}
700 \vspace{0.3cm}
701 \begin{tabular}{|c|c|p{7cm}|}
702 \hline
703 {\bf type} & {\bf name} & {\bf description} \\ \hline
704 {\tt task ref } & self & object instance \\ \hline
706 \end{tabular}
708 \vspace{0.3cm}
710 \noindent {\bf Return Type:}
711 {\tt
712 string
713 }
716 value of the field
717 \vspace{0.3cm}
718 \vspace{0.3cm}
719 \vspace{0.3cm}
720 \subsubsection{RPC name:~set\_name\_description}
722 {\bf Overview:}
723 set accessor message derived from field name/description of object task
725 \noindent {\bf Signature:}
726 \begin{verbatim} void set_name_description (session_id s, task ref self, string value)\end{verbatim}
729 \noindent{\bf Arguments:}
732 \vspace{0.3cm}
733 \begin{tabular}{|c|c|p{7cm}|}
734 \hline
735 {\bf type} & {\bf name} & {\bf description} \\ \hline
736 {\tt task ref } & self & object instance \\ \hline
738 {\tt string } & value & New value to set \\ \hline
740 \end{tabular}
742 \vspace{0.3cm}
744 \noindent {\bf Return Type:}
745 {\tt
746 void
747 }
751 \vspace{0.3cm}
752 \vspace{0.3cm}
753 \vspace{0.3cm}
754 \subsubsection{RPC name:~create}
756 {\bf Overview:}
757 constructor for class task
759 \noindent {\bf Signature:}
760 \begin{verbatim} (task ref) create (session_id s, task record args)\end{verbatim}
763 \noindent{\bf Arguments:}
766 \vspace{0.3cm}
767 \begin{tabular}{|c|c|p{7cm}|}
768 \hline
769 {\bf type} & {\bf name} & {\bf description} \\ \hline
770 {\tt task record } & args & All constructor arguments \\ \hline
772 \end{tabular}
774 \vspace{0.3cm}
776 \noindent {\bf Return Type:}
777 {\tt
778 task ref
779 }
782 reference to the newly created object
783 \vspace{0.3cm}
784 \vspace{0.3cm}
785 \vspace{0.3cm}
786 \subsubsection{RPC name:~destroy}
788 {\bf Overview:}
789 destructor for class task
791 \noindent {\bf Signature:}
792 \begin{verbatim} void destroy (session_id s, task ref self)\end{verbatim}
795 \noindent{\bf Arguments:}
798 \vspace{0.3cm}
799 \begin{tabular}{|c|c|p{7cm}|}
800 \hline
801 {\bf type} & {\bf name} & {\bf description} \\ \hline
802 {\tt task ref } & self & object instance \\ \hline
804 \end{tabular}
806 \vspace{0.3cm}
808 \noindent {\bf Return Type:}
809 {\tt
810 void
811 }
815 \vspace{0.3cm}
816 \vspace{0.3cm}
817 \vspace{0.3cm}
818 \subsubsection{RPC name:~get\_by\_uuid}
820 {\bf Overview:}
821 returns the task instance with a particular uuid
823 \noindent {\bf Signature:}
824 \begin{verbatim} (task ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
827 \noindent{\bf Arguments:}
830 \vspace{0.3cm}
831 \begin{tabular}{|c|c|p{7cm}|}
832 \hline
833 {\bf type} & {\bf name} & {\bf description} \\ \hline
834 {\tt string } & uuid & UUID of object to return \\ \hline
836 \end{tabular}
838 \vspace{0.3cm}
840 \noindent {\bf Return Type:}
841 {\tt
842 task ref
843 }
846 reference to the object
847 \vspace{0.3cm}
848 \vspace{0.3cm}
849 \vspace{0.3cm}
850 \subsubsection{RPC name:~get\_record}
852 {\bf Overview:}
853 returns a record containing the state of an instance of class task
855 \noindent {\bf Signature:}
856 \begin{verbatim} (task record) get_record (session_id s, task ref self)\end{verbatim}
859 \noindent{\bf Arguments:}
862 \vspace{0.3cm}
863 \begin{tabular}{|c|c|p{7cm}|}
864 \hline
865 {\bf type} & {\bf name} & {\bf description} \\ \hline
866 {\tt task ref } & self & reference to the object \\ \hline
868 \end{tabular}
870 \vspace{0.3cm}
872 \noindent {\bf Return Type:}
873 {\tt
874 task record
875 }
878 all fields from the object
879 \vspace{0.3cm}
880 \vspace{0.3cm}
881 \vspace{0.3cm}
882 \subsubsection{RPC name:~get\_by\_name\_label}
884 {\bf Overview:}
885 returns the task instance with a particular name label
887 \noindent {\bf Signature:}
888 \begin{verbatim} ((task ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
891 \noindent{\bf Arguments:}
894 \vspace{0.3cm}
895 \begin{tabular}{|c|c|p{7cm}|}
896 \hline
897 {\bf type} & {\bf name} & {\bf description} \\ \hline
898 {\tt string } & label & label of object to return \\ \hline
900 \end{tabular}
902 \vspace{0.3cm}
904 \noindent {\bf Return Type:}
905 {\tt
906 (task ref) Set
907 }
910 references to objects with match names
911 \vspace{0.3cm}
912 \vspace{0.3cm}
913 \vspace{0.3cm}
915 \vspace{1cm}
916 \newpage
917 \section{Class: VM}
918 \subsection{Fields for class: VM}
919 \begin{longtable}{|lllp{0.38\textwidth}|}
920 \hline
921 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VM} \\
922 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A virtual machine (or 'guest')}} \\
923 \hline
924 Quals & Field & Type & Description \\
925 \hline
926 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
927 $\mathit{RO}_\mathit{run}$ & {\tt power\_state} & vm\_power\_state & Current power state of the machine \\
928 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
929 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
930 $\mathit{RW}$ & {\tt user\_version} & int & a user version number for this machine \\
931 $\mathit{RW}$ & {\tt is\_a\_template} & bool & true if this is a template. Template VMs can never be started, they are used only for cloning other VMs \\
932 $\mathit{RO}_\mathit{run}$ & {\tt resident\_on} & host ref & the host the VM is currently resident on \\
933 $\mathit{RO}_\mathit{ins}$ & {\tt memory/static\_max} & int & Statically-set (i.e. absolute) maximum \\
934 $\mathit{RW}$ & {\tt memory/dynamic\_max} & int & Dynamic maximum \\
935 $\mathit{RO}_\mathit{run}$ & {\tt memory/actual} & int & Guest's actual usage \\
936 $\mathit{RW}$ & {\tt memory/dynamic\_min} & int & Dynamic minimum \\
937 $\mathit{RO}_\mathit{ins}$ & {\tt memory/static\_min} & int & Statically-set (i.e. absolute) mininum \\
938 $\mathit{RW}$ & {\tt VCPUs/policy} & string & the name of the VCPU scheduling policy to be applied \\
939 $\mathit{RW}$ & {\tt VCPUs/params} & string & string-encoded parameters passed to selected VCPU policy \\
940 $\mathit{RO}_\mathit{run}$ & {\tt VCPUs/number} & int & Current number of VCPUs \\
941 $\mathit{RO}_\mathit{run}$ & {\tt VCPUs/utilisation} & (int $\rightarrow$ float) Map & Utilisation for all of guest's current VCPUs \\
942 $\mathit{RO}_\mathit{ins}$ & {\tt VCPUs/features/required} & (cpu\_feature) Set & CPU features the guest demands the host supports \\
943 $\mathit{RO}_\mathit{ins}$ & {\tt VCPUs/features/can\_use} & (cpu\_feature) Set & CPU features the guest can use if available \\
944 $\mathit{RW}$ & {\tt VCPUs/features/force\_on} & (cpu\_feature) Set & CPU features to expose to the guest above the bare minimum \\
945 $\mathit{RW}$ & {\tt VCPUs/features/force\_off} & (cpu\_feature) Set & CPU features to hide to the guest \\
946 $\mathit{RW}$ & {\tt actions/after\_shutdown} & on\_normal\_exit & action to take after the guest has shutdown itself \\
947 $\mathit{RW}$ & {\tt actions/after\_reboot} & on\_normal\_exit & action to take after the guest has rebooted itself \\
948 $\mathit{RW}$ & {\tt actions/after\_suspend} & on\_normal\_exit & action to take after the guest has suspended itself \\
949 $\mathit{RW}$ & {\tt actions/after\_crash} & on\_crash\_behaviour & action to take if the guest crashes \\
950 $\mathit{RO}_\mathit{run}$ & {\tt VIFs} & (VIF ref) Set & virtual network interfaces \\
951 $\mathit{RO}_\mathit{run}$ & {\tt VBDs} & (VBD ref) Set & virtual block devices \\
952 $\mathit{RO}_\mathit{run}$ & {\tt VTPMs} & (VTPM ref) Set & virtual TPMs \\
953 $\mathit{RW}$ & {\tt bios/boot} & string & device to boot the guest from \\
954 $\mathit{RW}$ & {\tt platform/std\_VGA} & bool & emulate standard VGA instead of cirrus logic \\
955 $\mathit{RW}$ & {\tt platform/serial} & string & redirect serial port to pty \\
956 $\mathit{RW}$ & {\tt platform/localtime} & bool & set RTC to local time \\
957 $\mathit{RW}$ & {\tt platform/clock\_offset} & bool & timeshift applied to guest's clock \\
958 $\mathit{RW}$ & {\tt platform/enable\_audio} & bool & emulate audio \\
959 $\mathit{RW}$ & {\tt builder} & string & domain builder to use \\
960 $\mathit{RW}$ & {\tt boot\_method} & boot\_type & select how this machine should boot \\
961 $\mathit{RW}$ & {\tt kernel/kernel} & string & path to kernel e.g. /boot/vmlinuz \\
962 $\mathit{RW}$ & {\tt kernel/initrd} & string & path to the initrd e.g. /boot/initrd.img \\
963 $\mathit{RW}$ & {\tt kernel/args} & string & extra kernel command-line arguments \\
964 $\mathit{RW}$ & {\tt grub/cmdline} & string & grub command-line \\
965 $\mathit{RO}_\mathit{ins}$ & {\tt PCI\_bus} & string & PCI bus path for pass-through devices \\
966 $\mathit{RO}_\mathit{run}$ & {\tt tools\_version} & (string $\rightarrow$ string) Map & versions of installed paravirtualised drivers \\
967 $\mathit{RW}$ & {\tt otherConfig} & (string $\rightarrow$ string) Map & additional configuration \\
968 \hline
969 \end{longtable}
970 \subsection{Additional RPCs associated with class: VM}
971 \subsubsection{RPC name:~clone}
973 {\bf Overview:}
974 Clones the specified VM, making a new VM. Clone automatically exploits the capabilities of the underlying storage repository in which the VM's disk images are stored (e.g. Copy on Write). This function can only be called when the VM is in the Halted State.
976 \noindent {\bf Signature:}
977 \begin{verbatim} (VM ref) clone (session_id s, VM ref vm, string new_name)\end{verbatim}
980 \noindent{\bf Arguments:}
983 \vspace{0.3cm}
984 \begin{tabular}{|c|c|p{7cm}|}
985 \hline
986 {\bf type} & {\bf name} & {\bf description} \\ \hline
987 {\tt VM ref } & vm & The VM to be cloned \\ \hline
989 {\tt string } & new\_name & The name of the cloned VM \\ \hline
991 \end{tabular}
993 \vspace{0.3cm}
995 \noindent {\bf Return Type:}
996 {\tt
997 VM ref
998 }
1001 The ID of the newly created VM.
1002 \vspace{0.3cm}
1003 \vspace{0.3cm}
1004 \vspace{0.3cm}
1005 \subsubsection{RPC name:~start}
1007 {\bf Overview:}
1008 Start the specified VM. This function can only be called with the VM is in the Halted State.
1010 \noindent {\bf Signature:}
1011 \begin{verbatim} void start (session_id s, VM ref vm, bool start_paused)\end{verbatim}
1014 \noindent{\bf Arguments:}
1017 \vspace{0.3cm}
1018 \begin{tabular}{|c|c|p{7cm}|}
1019 \hline
1020 {\bf type} & {\bf name} & {\bf description} \\ \hline
1021 {\tt VM ref } & vm & The VM to start \\ \hline
1023 {\tt bool } & start\_paused & Instantiate VM in paused state if set to true. \\ \hline
1025 \end{tabular}
1027 \vspace{0.3cm}
1029 \noindent {\bf Return Type:}
1030 {\tt
1031 void
1036 \vspace{0.3cm}
1037 \vspace{0.3cm}
1038 \vspace{0.3cm}
1039 \subsubsection{RPC name:~pause}
1041 {\bf Overview:}
1042 Pause the specified VM. This can only be called when the specified VM is in the Running state.
1044 \noindent {\bf Signature:}
1045 \begin{verbatim} void pause (session_id s, VM ref vm)\end{verbatim}
1048 \noindent{\bf Arguments:}
1051 \vspace{0.3cm}
1052 \begin{tabular}{|c|c|p{7cm}|}
1053 \hline
1054 {\bf type} & {\bf name} & {\bf description} \\ \hline
1055 {\tt VM ref } & vm & The VM to pause \\ \hline
1057 \end{tabular}
1059 \vspace{0.3cm}
1061 \noindent {\bf Return Type:}
1062 {\tt
1063 void
1068 \vspace{0.3cm}
1069 \vspace{0.3cm}
1070 \vspace{0.3cm}
1071 \subsubsection{RPC name:~unpause}
1073 {\bf Overview:}
1074 Resume the specified VM. This can only be called when the specified VM is in the Paused state.
1076 \noindent {\bf Signature:}
1077 \begin{verbatim} void unpause (session_id s, VM ref vm)\end{verbatim}
1080 \noindent{\bf Arguments:}
1083 \vspace{0.3cm}
1084 \begin{tabular}{|c|c|p{7cm}|}
1085 \hline
1086 {\bf type} & {\bf name} & {\bf description} \\ \hline
1087 {\tt VM ref } & vm & The VM to pause \\ \hline
1089 \end{tabular}
1091 \vspace{0.3cm}
1093 \noindent {\bf Return Type:}
1094 {\tt
1095 void
1100 \vspace{0.3cm}
1101 \vspace{0.3cm}
1102 \vspace{0.3cm}
1103 \subsubsection{RPC name:~clean\_shutdown}
1105 {\bf Overview:}
1106 Attempt to cleanly shutdown the specified VM. (Note: this may not be supported---e.g. if a guest agent is not installed).
1108 Once shutdown has been completed perform poweroff action specified in guest configuration.
1110 \noindent {\bf Signature:}
1111 \begin{verbatim} void clean_shutdown (session_id s, VM ref vm)\end{verbatim}
1114 \noindent{\bf Arguments:}
1117 \vspace{0.3cm}
1118 \begin{tabular}{|c|c|p{7cm}|}
1119 \hline
1120 {\bf type} & {\bf name} & {\bf description} \\ \hline
1121 {\tt VM ref } & vm & The VM to shutdown \\ \hline
1123 \end{tabular}
1125 \vspace{0.3cm}
1127 \noindent {\bf Return Type:}
1128 {\tt
1129 void
1134 \vspace{0.3cm}
1135 \vspace{0.3cm}
1136 \vspace{0.3cm}
1137 \subsubsection{RPC name:~clean\_reboot}
1139 {\bf Overview:}
1140 Attempt to cleanly shutdown the specified VM (Note: this may not be supported---e.g. if a guest agent is not installed).
1142 Once shutdown has been completed perform reboot action specified in guest configuration.
1144 \noindent {\bf Signature:}
1145 \begin{verbatim} void clean_reboot (session_id s, VM ref vm)\end{verbatim}
1148 \noindent{\bf Arguments:}
1151 \vspace{0.3cm}
1152 \begin{tabular}{|c|c|p{7cm}|}
1153 \hline
1154 {\bf type} & {\bf name} & {\bf description} \\ \hline
1155 {\tt VM ref } & vm & The VM to shutdown \\ \hline
1157 \end{tabular}
1159 \vspace{0.3cm}
1161 \noindent {\bf Return Type:}
1162 {\tt
1163 void
1168 \vspace{0.3cm}
1169 \vspace{0.3cm}
1170 \vspace{0.3cm}
1171 \subsubsection{RPC name:~hard\_shutdown}
1173 {\bf Overview:}
1174 Stop executing the specified VM without attempting a clean shutdown. Then perform poweroff action specified in VM configuration.
1176 \noindent {\bf Signature:}
1177 \begin{verbatim} void hard_shutdown (session_id s, VM ref vm)\end{verbatim}
1180 \noindent{\bf Arguments:}
1183 \vspace{0.3cm}
1184 \begin{tabular}{|c|c|p{7cm}|}
1185 \hline
1186 {\bf type} & {\bf name} & {\bf description} \\ \hline
1187 {\tt VM ref } & vm & The VM to destroy \\ \hline
1189 \end{tabular}
1191 \vspace{0.3cm}
1193 \noindent {\bf Return Type:}
1194 {\tt
1195 void
1200 \vspace{0.3cm}
1201 \vspace{0.3cm}
1202 \vspace{0.3cm}
1203 \subsubsection{RPC name:~hard\_reboot}
1205 {\bf Overview:}
1206 Stop executing the specified VM without attempting a clean shutdown. Then perform reboot action specified in VM configuration
1208 \noindent {\bf Signature:}
1209 \begin{verbatim} void hard_reboot (session_id s, VM ref vm)\end{verbatim}
1212 \noindent{\bf Arguments:}
1215 \vspace{0.3cm}
1216 \begin{tabular}{|c|c|p{7cm}|}
1217 \hline
1218 {\bf type} & {\bf name} & {\bf description} \\ \hline
1219 {\tt VM ref } & vm & The VM to reboot \\ \hline
1221 \end{tabular}
1223 \vspace{0.3cm}
1225 \noindent {\bf Return Type:}
1226 {\tt
1227 void
1232 \vspace{0.3cm}
1233 \vspace{0.3cm}
1234 \vspace{0.3cm}
1235 \subsubsection{RPC name:~suspend}
1237 {\bf Overview:}
1238 Suspend the specified VM to disk.
1240 \noindent {\bf Signature:}
1241 \begin{verbatim} void suspend (session_id s, VM ref vm)\end{verbatim}
1244 \noindent{\bf Arguments:}
1247 \vspace{0.3cm}
1248 \begin{tabular}{|c|c|p{7cm}|}
1249 \hline
1250 {\bf type} & {\bf name} & {\bf description} \\ \hline
1251 {\tt VM ref } & vm & The VM to hibernate \\ \hline
1253 \end{tabular}
1255 \vspace{0.3cm}
1257 \noindent {\bf Return Type:}
1258 {\tt
1259 void
1264 \vspace{0.3cm}
1265 \vspace{0.3cm}
1266 \vspace{0.3cm}
1267 \subsubsection{RPC name:~resume}
1269 {\bf Overview:}
1270 Awaken the specified VM and resume it.
1272 \noindent {\bf Signature:}
1273 \begin{verbatim} void resume (session_id s, VM ref vm, bool start_paused)\end{verbatim}
1276 \noindent{\bf Arguments:}
1279 \vspace{0.3cm}
1280 \begin{tabular}{|c|c|p{7cm}|}
1281 \hline
1282 {\bf type} & {\bf name} & {\bf description} \\ \hline
1283 {\tt VM ref } & vm & The VM to unhibernate \\ \hline
1285 {\tt bool } & start\_paused & Unhibernate VM in paused state if set to true. \\ \hline
1287 \end{tabular}
1289 \vspace{0.3cm}
1291 \noindent {\bf Return Type:}
1292 {\tt
1293 void
1298 \vspace{0.3cm}
1299 \vspace{0.3cm}
1300 \vspace{0.3cm}
1301 \subsubsection{RPC name:~get\_all}
1303 {\bf Overview:}
1304 Return a list of all the VMs known to the system.
1306 \noindent {\bf Signature:}
1307 \begin{verbatim} ((VM ref) Set) get_all (session_id s)\end{verbatim}
1310 \vspace{0.3cm}
1312 \noindent {\bf Return Type:}
1313 {\tt
1314 (VM ref) Set
1318 A list of all the IDs of all the VMs
1319 \vspace{0.3cm}
1320 \vspace{0.3cm}
1321 \vspace{0.3cm}
1322 \subsubsection{RPC name:~get\_uuid}
1324 {\bf Overview:}
1325 get accessor message derived from field uuid of object VM
1327 \noindent {\bf Signature:}
1328 \begin{verbatim} string get_uuid (session_id s, VM ref self)\end{verbatim}
1331 \noindent{\bf Arguments:}
1334 \vspace{0.3cm}
1335 \begin{tabular}{|c|c|p{7cm}|}
1336 \hline
1337 {\bf type} & {\bf name} & {\bf description} \\ \hline
1338 {\tt VM ref } & self & object instance \\ \hline
1340 \end{tabular}
1342 \vspace{0.3cm}
1344 \noindent {\bf Return Type:}
1345 {\tt
1346 string
1350 value of the field
1351 \vspace{0.3cm}
1352 \vspace{0.3cm}
1353 \vspace{0.3cm}
1354 \subsubsection{RPC name:~get\_power\_state}
1356 {\bf Overview:}
1357 get accessor message derived from field power\_state of object VM
1359 \noindent {\bf Signature:}
1360 \begin{verbatim} (vm_power_state) get_power_state (session_id s, VM ref self)\end{verbatim}
1363 \noindent{\bf Arguments:}
1366 \vspace{0.3cm}
1367 \begin{tabular}{|c|c|p{7cm}|}
1368 \hline
1369 {\bf type} & {\bf name} & {\bf description} \\ \hline
1370 {\tt VM ref } & self & object instance \\ \hline
1372 \end{tabular}
1374 \vspace{0.3cm}
1376 \noindent {\bf Return Type:}
1377 {\tt
1378 vm\_power\_state
1382 value of the field
1383 \vspace{0.3cm}
1384 \vspace{0.3cm}
1385 \vspace{0.3cm}
1386 \subsubsection{RPC name:~get\_name\_label}
1388 {\bf Overview:}
1389 get accessor message derived from field name/label of object VM
1391 \noindent {\bf Signature:}
1392 \begin{verbatim} string get_name_label (session_id s, VM ref self)\end{verbatim}
1395 \noindent{\bf Arguments:}
1398 \vspace{0.3cm}
1399 \begin{tabular}{|c|c|p{7cm}|}
1400 \hline
1401 {\bf type} & {\bf name} & {\bf description} \\ \hline
1402 {\tt VM ref } & self & object instance \\ \hline
1404 \end{tabular}
1406 \vspace{0.3cm}
1408 \noindent {\bf Return Type:}
1409 {\tt
1410 string
1414 value of the field
1415 \vspace{0.3cm}
1416 \vspace{0.3cm}
1417 \vspace{0.3cm}
1418 \subsubsection{RPC name:~set\_name\_label}
1420 {\bf Overview:}
1421 set accessor message derived from field name/label of object VM
1423 \noindent {\bf Signature:}
1424 \begin{verbatim} void set_name_label (session_id s, VM ref self, string value)\end{verbatim}
1427 \noindent{\bf Arguments:}
1430 \vspace{0.3cm}
1431 \begin{tabular}{|c|c|p{7cm}|}
1432 \hline
1433 {\bf type} & {\bf name} & {\bf description} \\ \hline
1434 {\tt VM ref } & self & object instance \\ \hline
1436 {\tt string } & value & New value to set \\ \hline
1438 \end{tabular}
1440 \vspace{0.3cm}
1442 \noindent {\bf Return Type:}
1443 {\tt
1444 void
1449 \vspace{0.3cm}
1450 \vspace{0.3cm}
1451 \vspace{0.3cm}
1452 \subsubsection{RPC name:~get\_name\_description}
1454 {\bf Overview:}
1455 get accessor message derived from field name/description of object VM
1457 \noindent {\bf Signature:}
1458 \begin{verbatim} string get_name_description (session_id s, VM ref self)\end{verbatim}
1461 \noindent{\bf Arguments:}
1464 \vspace{0.3cm}
1465 \begin{tabular}{|c|c|p{7cm}|}
1466 \hline
1467 {\bf type} & {\bf name} & {\bf description} \\ \hline
1468 {\tt VM ref } & self & object instance \\ \hline
1470 \end{tabular}
1472 \vspace{0.3cm}
1474 \noindent {\bf Return Type:}
1475 {\tt
1476 string
1480 value of the field
1481 \vspace{0.3cm}
1482 \vspace{0.3cm}
1483 \vspace{0.3cm}
1484 \subsubsection{RPC name:~set\_name\_description}
1486 {\bf Overview:}
1487 set accessor message derived from field name/description of object VM
1489 \noindent {\bf Signature:}
1490 \begin{verbatim} void set_name_description (session_id s, VM ref self, string value)\end{verbatim}
1493 \noindent{\bf Arguments:}
1496 \vspace{0.3cm}
1497 \begin{tabular}{|c|c|p{7cm}|}
1498 \hline
1499 {\bf type} & {\bf name} & {\bf description} \\ \hline
1500 {\tt VM ref } & self & object instance \\ \hline
1502 {\tt string } & value & New value to set \\ \hline
1504 \end{tabular}
1506 \vspace{0.3cm}
1508 \noindent {\bf Return Type:}
1509 {\tt
1510 void
1515 \vspace{0.3cm}
1516 \vspace{0.3cm}
1517 \vspace{0.3cm}
1518 \subsubsection{RPC name:~get\_user\_version}
1520 {\bf Overview:}
1521 get accessor message derived from field user\_version of object VM
1523 \noindent {\bf Signature:}
1524 \begin{verbatim} int get_user_version (session_id s, VM ref self)\end{verbatim}
1527 \noindent{\bf Arguments:}
1530 \vspace{0.3cm}
1531 \begin{tabular}{|c|c|p{7cm}|}
1532 \hline
1533 {\bf type} & {\bf name} & {\bf description} \\ \hline
1534 {\tt VM ref } & self & object instance \\ \hline
1536 \end{tabular}
1538 \vspace{0.3cm}
1540 \noindent {\bf Return Type:}
1541 {\tt
1542 int
1546 value of the field
1547 \vspace{0.3cm}
1548 \vspace{0.3cm}
1549 \vspace{0.3cm}
1550 \subsubsection{RPC name:~set\_user\_version}
1552 {\bf Overview:}
1553 set accessor message derived from field user\_version of object VM
1555 \noindent {\bf Signature:}
1556 \begin{verbatim} void set_user_version (session_id s, VM ref self, int value)\end{verbatim}
1559 \noindent{\bf Arguments:}
1562 \vspace{0.3cm}
1563 \begin{tabular}{|c|c|p{7cm}|}
1564 \hline
1565 {\bf type} & {\bf name} & {\bf description} \\ \hline
1566 {\tt VM ref } & self & object instance \\ \hline
1568 {\tt int } & value & New value to set \\ \hline
1570 \end{tabular}
1572 \vspace{0.3cm}
1574 \noindent {\bf Return Type:}
1575 {\tt
1576 void
1581 \vspace{0.3cm}
1582 \vspace{0.3cm}
1583 \vspace{0.3cm}
1584 \subsubsection{RPC name:~get\_is\_a\_template}
1586 {\bf Overview:}
1587 get accessor message derived from field is\_a\_template of object VM
1589 \noindent {\bf Signature:}
1590 \begin{verbatim} bool get_is_a_template (session_id s, VM ref self)\end{verbatim}
1593 \noindent{\bf Arguments:}
1596 \vspace{0.3cm}
1597 \begin{tabular}{|c|c|p{7cm}|}
1598 \hline
1599 {\bf type} & {\bf name} & {\bf description} \\ \hline
1600 {\tt VM ref } & self & object instance \\ \hline
1602 \end{tabular}
1604 \vspace{0.3cm}
1606 \noindent {\bf Return Type:}
1607 {\tt
1608 bool
1612 value of the field
1613 \vspace{0.3cm}
1614 \vspace{0.3cm}
1615 \vspace{0.3cm}
1616 \subsubsection{RPC name:~set\_is\_a\_template}
1618 {\bf Overview:}
1619 set accessor message derived from field is\_a\_template of object VM
1621 \noindent {\bf Signature:}
1622 \begin{verbatim} void set_is_a_template (session_id s, VM ref self, bool value)\end{verbatim}
1625 \noindent{\bf Arguments:}
1628 \vspace{0.3cm}
1629 \begin{tabular}{|c|c|p{7cm}|}
1630 \hline
1631 {\bf type} & {\bf name} & {\bf description} \\ \hline
1632 {\tt VM ref } & self & object instance \\ \hline
1634 {\tt bool } & value & New value to set \\ \hline
1636 \end{tabular}
1638 \vspace{0.3cm}
1640 \noindent {\bf Return Type:}
1641 {\tt
1642 void
1647 \vspace{0.3cm}
1648 \vspace{0.3cm}
1649 \vspace{0.3cm}
1650 \subsubsection{RPC name:~get\_resident\_on}
1652 {\bf Overview:}
1653 get accessor message derived from field resident\_on of object VM
1655 \noindent {\bf Signature:}
1656 \begin{verbatim} (host ref) get_resident_on (session_id s, VM ref self)\end{verbatim}
1659 \noindent{\bf Arguments:}
1662 \vspace{0.3cm}
1663 \begin{tabular}{|c|c|p{7cm}|}
1664 \hline
1665 {\bf type} & {\bf name} & {\bf description} \\ \hline
1666 {\tt VM ref } & self & object instance \\ \hline
1668 \end{tabular}
1670 \vspace{0.3cm}
1672 \noindent {\bf Return Type:}
1673 {\tt
1674 host ref
1678 value of the field
1679 \vspace{0.3cm}
1680 \vspace{0.3cm}
1681 \vspace{0.3cm}
1682 \subsubsection{RPC name:~get\_memory\_static\_max}
1684 {\bf Overview:}
1685 get accessor message derived from field memory/static\_max of object VM
1687 \noindent {\bf Signature:}
1688 \begin{verbatim} int get_memory_static_max (session_id s, VM ref self)\end{verbatim}
1691 \noindent{\bf Arguments:}
1694 \vspace{0.3cm}
1695 \begin{tabular}{|c|c|p{7cm}|}
1696 \hline
1697 {\bf type} & {\bf name} & {\bf description} \\ \hline
1698 {\tt VM ref } & self & object instance \\ \hline
1700 \end{tabular}
1702 \vspace{0.3cm}
1704 \noindent {\bf Return Type:}
1705 {\tt
1706 int
1710 value of the field
1711 \vspace{0.3cm}
1712 \vspace{0.3cm}
1713 \vspace{0.3cm}
1714 \subsubsection{RPC name:~get\_memory\_dynamic\_max}
1716 {\bf Overview:}
1717 get accessor message derived from field memory/dynamic\_max of object VM
1719 \noindent {\bf Signature:}
1720 \begin{verbatim} int get_memory_dynamic_max (session_id s, VM ref self)\end{verbatim}
1723 \noindent{\bf Arguments:}
1726 \vspace{0.3cm}
1727 \begin{tabular}{|c|c|p{7cm}|}
1728 \hline
1729 {\bf type} & {\bf name} & {\bf description} \\ \hline
1730 {\tt VM ref } & self & object instance \\ \hline
1732 \end{tabular}
1734 \vspace{0.3cm}
1736 \noindent {\bf Return Type:}
1737 {\tt
1738 int
1742 value of the field
1743 \vspace{0.3cm}
1744 \vspace{0.3cm}
1745 \vspace{0.3cm}
1746 \subsubsection{RPC name:~set\_memory\_dynamic\_max}
1748 {\bf Overview:}
1749 set accessor message derived from field memory/dynamic\_max of object VM
1751 \noindent {\bf Signature:}
1752 \begin{verbatim} void set_memory_dynamic_max (session_id s, VM ref self, int value)\end{verbatim}
1755 \noindent{\bf Arguments:}
1758 \vspace{0.3cm}
1759 \begin{tabular}{|c|c|p{7cm}|}
1760 \hline
1761 {\bf type} & {\bf name} & {\bf description} \\ \hline
1762 {\tt VM ref } & self & object instance \\ \hline
1764 {\tt int } & value & New value to set \\ \hline
1766 \end{tabular}
1768 \vspace{0.3cm}
1770 \noindent {\bf Return Type:}
1771 {\tt
1772 void
1777 \vspace{0.3cm}
1778 \vspace{0.3cm}
1779 \vspace{0.3cm}
1780 \subsubsection{RPC name:~get\_memory\_actual}
1782 {\bf Overview:}
1783 get accessor message derived from field memory/actual of object VM
1785 \noindent {\bf Signature:}
1786 \begin{verbatim} int get_memory_actual (session_id s, VM ref self)\end{verbatim}
1789 \noindent{\bf Arguments:}
1792 \vspace{0.3cm}
1793 \begin{tabular}{|c|c|p{7cm}|}
1794 \hline
1795 {\bf type} & {\bf name} & {\bf description} \\ \hline
1796 {\tt VM ref } & self & object instance \\ \hline
1798 \end{tabular}
1800 \vspace{0.3cm}
1802 \noindent {\bf Return Type:}
1803 {\tt
1804 int
1808 value of the field
1809 \vspace{0.3cm}
1810 \vspace{0.3cm}
1811 \vspace{0.3cm}
1812 \subsubsection{RPC name:~get\_memory\_dynamic\_min}
1814 {\bf Overview:}
1815 get accessor message derived from field memory/dynamic\_min of object VM
1817 \noindent {\bf Signature:}
1818 \begin{verbatim} int get_memory_dynamic_min (session_id s, VM ref self)\end{verbatim}
1821 \noindent{\bf Arguments:}
1824 \vspace{0.3cm}
1825 \begin{tabular}{|c|c|p{7cm}|}
1826 \hline
1827 {\bf type} & {\bf name} & {\bf description} \\ \hline
1828 {\tt VM ref } & self & object instance \\ \hline
1830 \end{tabular}
1832 \vspace{0.3cm}
1834 \noindent {\bf Return Type:}
1835 {\tt
1836 int
1840 value of the field
1841 \vspace{0.3cm}
1842 \vspace{0.3cm}
1843 \vspace{0.3cm}
1844 \subsubsection{RPC name:~set\_memory\_dynamic\_min}
1846 {\bf Overview:}
1847 set accessor message derived from field memory/dynamic\_min of object VM
1849 \noindent {\bf Signature:}
1850 \begin{verbatim} void set_memory_dynamic_min (session_id s, VM ref self, int value)\end{verbatim}
1853 \noindent{\bf Arguments:}
1856 \vspace{0.3cm}
1857 \begin{tabular}{|c|c|p{7cm}|}
1858 \hline
1859 {\bf type} & {\bf name} & {\bf description} \\ \hline
1860 {\tt VM ref } & self & object instance \\ \hline
1862 {\tt int } & value & New value to set \\ \hline
1864 \end{tabular}
1866 \vspace{0.3cm}
1868 \noindent {\bf Return Type:}
1869 {\tt
1870 void
1875 \vspace{0.3cm}
1876 \vspace{0.3cm}
1877 \vspace{0.3cm}
1878 \subsubsection{RPC name:~get\_memory\_static\_min}
1880 {\bf Overview:}
1881 get accessor message derived from field memory/static\_min of object VM
1883 \noindent {\bf Signature:}
1884 \begin{verbatim} int get_memory_static_min (session_id s, VM ref self)\end{verbatim}
1887 \noindent{\bf Arguments:}
1890 \vspace{0.3cm}
1891 \begin{tabular}{|c|c|p{7cm}|}
1892 \hline
1893 {\bf type} & {\bf name} & {\bf description} \\ \hline
1894 {\tt VM ref } & self & object instance \\ \hline
1896 \end{tabular}
1898 \vspace{0.3cm}
1900 \noindent {\bf Return Type:}
1901 {\tt
1902 int
1906 value of the field
1907 \vspace{0.3cm}
1908 \vspace{0.3cm}
1909 \vspace{0.3cm}
1910 \subsubsection{RPC name:~get\_VCPUs\_policy}
1912 {\bf Overview:}
1913 get accessor message derived from field VCPUs/policy of object VM
1915 \noindent {\bf Signature:}
1916 \begin{verbatim} string get_VCPUs_policy (session_id s, VM ref self)\end{verbatim}
1919 \noindent{\bf Arguments:}
1922 \vspace{0.3cm}
1923 \begin{tabular}{|c|c|p{7cm}|}
1924 \hline
1925 {\bf type} & {\bf name} & {\bf description} \\ \hline
1926 {\tt VM ref } & self & object instance \\ \hline
1928 \end{tabular}
1930 \vspace{0.3cm}
1932 \noindent {\bf Return Type:}
1933 {\tt
1934 string
1938 value of the field
1939 \vspace{0.3cm}
1940 \vspace{0.3cm}
1941 \vspace{0.3cm}
1942 \subsubsection{RPC name:~set\_VCPUs\_policy}
1944 {\bf Overview:}
1945 set accessor message derived from field VCPUs/policy of object VM
1947 \noindent {\bf Signature:}
1948 \begin{verbatim} void set_VCPUs_policy (session_id s, VM ref self, string value)\end{verbatim}
1951 \noindent{\bf Arguments:}
1954 \vspace{0.3cm}
1955 \begin{tabular}{|c|c|p{7cm}|}
1956 \hline
1957 {\bf type} & {\bf name} & {\bf description} \\ \hline
1958 {\tt VM ref } & self & object instance \\ \hline
1960 {\tt string } & value & New value to set \\ \hline
1962 \end{tabular}
1964 \vspace{0.3cm}
1966 \noindent {\bf Return Type:}
1967 {\tt
1968 void
1973 \vspace{0.3cm}
1974 \vspace{0.3cm}
1975 \vspace{0.3cm}
1976 \subsubsection{RPC name:~get\_VCPUs\_params}
1978 {\bf Overview:}
1979 get accessor message derived from field VCPUs/params of object VM
1981 \noindent {\bf Signature:}
1982 \begin{verbatim} string get_VCPUs_params (session_id s, VM ref self)\end{verbatim}
1985 \noindent{\bf Arguments:}
1988 \vspace{0.3cm}
1989 \begin{tabular}{|c|c|p{7cm}|}
1990 \hline
1991 {\bf type} & {\bf name} & {\bf description} \\ \hline
1992 {\tt VM ref } & self & object instance \\ \hline
1994 \end{tabular}
1996 \vspace{0.3cm}
1998 \noindent {\bf Return Type:}
1999 {\tt
2000 string
2004 value of the field
2005 \vspace{0.3cm}
2006 \vspace{0.3cm}
2007 \vspace{0.3cm}
2008 \subsubsection{RPC name:~set\_VCPUs\_params}
2010 {\bf Overview:}
2011 set accessor message derived from field VCPUs/params of object VM
2013 \noindent {\bf Signature:}
2014 \begin{verbatim} void set_VCPUs_params (session_id s, VM ref self, string value)\end{verbatim}
2017 \noindent{\bf Arguments:}
2020 \vspace{0.3cm}
2021 \begin{tabular}{|c|c|p{7cm}|}
2022 \hline
2023 {\bf type} & {\bf name} & {\bf description} \\ \hline
2024 {\tt VM ref } & self & object instance \\ \hline
2026 {\tt string } & value & New value to set \\ \hline
2028 \end{tabular}
2030 \vspace{0.3cm}
2032 \noindent {\bf Return Type:}
2033 {\tt
2034 void
2039 \vspace{0.3cm}
2040 \vspace{0.3cm}
2041 \vspace{0.3cm}
2042 \subsubsection{RPC name:~get\_VCPUs\_number}
2044 {\bf Overview:}
2045 get accessor message derived from field VCPUs/number of object VM
2047 \noindent {\bf Signature:}
2048 \begin{verbatim} int get_VCPUs_number (session_id s, VM ref self)\end{verbatim}
2051 \noindent{\bf Arguments:}
2054 \vspace{0.3cm}
2055 \begin{tabular}{|c|c|p{7cm}|}
2056 \hline
2057 {\bf type} & {\bf name} & {\bf description} \\ \hline
2058 {\tt VM ref } & self & object instance \\ \hline
2060 \end{tabular}
2062 \vspace{0.3cm}
2064 \noindent {\bf Return Type:}
2065 {\tt
2066 int
2070 value of the field
2071 \vspace{0.3cm}
2072 \vspace{0.3cm}
2073 \vspace{0.3cm}
2074 \subsubsection{RPC name:~get\_VCPUs\_utilisation}
2076 {\bf Overview:}
2077 get accessor message derived from field VCPUs/utilisation of object VM
2079 \noindent {\bf Signature:}
2080 \begin{verbatim} ((int -> float) Map) get_VCPUs_utilisation (session_id s, VM ref self)\end{verbatim}
2083 \noindent{\bf Arguments:}
2086 \vspace{0.3cm}
2087 \begin{tabular}{|c|c|p{7cm}|}
2088 \hline
2089 {\bf type} & {\bf name} & {\bf description} \\ \hline
2090 {\tt VM ref } & self & object instance \\ \hline
2092 \end{tabular}
2094 \vspace{0.3cm}
2096 \noindent {\bf Return Type:}
2097 {\tt
2098 (int $\rightarrow$ float) Map
2102 value of the field
2103 \vspace{0.3cm}
2104 \vspace{0.3cm}
2105 \vspace{0.3cm}
2106 \subsubsection{RPC name:~get\_VCPUs\_features\_required}
2108 {\bf Overview:}
2109 get accessor message derived from field VCPUs/features/required of object VM
2111 \noindent {\bf Signature:}
2112 \begin{verbatim} ((cpu_feature) Set) get_VCPUs_features_required (session_id s, VM ref self)\end{verbatim}
2115 \noindent{\bf Arguments:}
2118 \vspace{0.3cm}
2119 \begin{tabular}{|c|c|p{7cm}|}
2120 \hline
2121 {\bf type} & {\bf name} & {\bf description} \\ \hline
2122 {\tt VM ref } & self & object instance \\ \hline
2124 \end{tabular}
2126 \vspace{0.3cm}
2128 \noindent {\bf Return Type:}
2129 {\tt
2130 (cpu\_feature) Set
2134 value of the field
2135 \vspace{0.3cm}
2136 \vspace{0.3cm}
2137 \vspace{0.3cm}
2138 \subsubsection{RPC name:~get\_VCPUs\_features\_can\_use}
2140 {\bf Overview:}
2141 get accessor message derived from field VCPUs/features/can\_use of object VM
2143 \noindent {\bf Signature:}
2144 \begin{verbatim} ((cpu_feature) Set) get_VCPUs_features_can_use (session_id s, VM ref self)\end{verbatim}
2147 \noindent{\bf Arguments:}
2150 \vspace{0.3cm}
2151 \begin{tabular}{|c|c|p{7cm}|}
2152 \hline
2153 {\bf type} & {\bf name} & {\bf description} \\ \hline
2154 {\tt VM ref } & self & object instance \\ \hline
2156 \end{tabular}
2158 \vspace{0.3cm}
2160 \noindent {\bf Return Type:}
2161 {\tt
2162 (cpu\_feature) Set
2166 value of the field
2167 \vspace{0.3cm}
2168 \vspace{0.3cm}
2169 \vspace{0.3cm}
2170 \subsubsection{RPC name:~get\_VCPUs\_features\_force\_on}
2172 {\bf Overview:}
2173 get accessor message derived from field VCPUs/features/force\_on of object VM
2175 \noindent {\bf Signature:}
2176 \begin{verbatim} ((cpu_feature) Set) get_VCPUs_features_force_on (session_id s, VM ref self)\end{verbatim}
2179 \noindent{\bf Arguments:}
2182 \vspace{0.3cm}
2183 \begin{tabular}{|c|c|p{7cm}|}
2184 \hline
2185 {\bf type} & {\bf name} & {\bf description} \\ \hline
2186 {\tt VM ref } & self & object instance \\ \hline
2188 \end{tabular}
2190 \vspace{0.3cm}
2192 \noindent {\bf Return Type:}
2193 {\tt
2194 (cpu\_feature) Set
2198 value of the field
2199 \vspace{0.3cm}
2200 \vspace{0.3cm}
2201 \vspace{0.3cm}
2202 \subsubsection{RPC name:~add\_VCPUs\_features\_force\_on}
2204 {\bf Overview:}
2205 set add message derived from field VCPUs/features/force\_on of object VM
2207 \noindent {\bf Signature:}
2208 \begin{verbatim} void add_VCPUs_features_force_on (session_id s, VM ref self, cpu_feature value)\end{verbatim}
2211 \noindent{\bf Arguments:}
2214 \vspace{0.3cm}
2215 \begin{tabular}{|c|c|p{7cm}|}
2216 \hline
2217 {\bf type} & {\bf name} & {\bf description} \\ \hline
2218 {\tt VM ref } & self & object instance \\ \hline
2220 {\tt cpu\_feature } & value & New value to add \\ \hline
2222 \end{tabular}
2224 \vspace{0.3cm}
2226 \noindent {\bf Return Type:}
2227 {\tt
2228 void
2233 \vspace{0.3cm}
2234 \vspace{0.3cm}
2235 \vspace{0.3cm}
2236 \subsubsection{RPC name:~remove\_VCPUs\_features\_force\_on}
2238 {\bf Overview:}
2239 set remove message derived from field VCPUs/features/force\_on of object VM
2241 \noindent {\bf Signature:}
2242 \begin{verbatim} void remove_VCPUs_features_force_on (session_id s, VM ref self, cpu_feature value)\end{verbatim}
2245 \noindent{\bf Arguments:}
2248 \vspace{0.3cm}
2249 \begin{tabular}{|c|c|p{7cm}|}
2250 \hline
2251 {\bf type} & {\bf name} & {\bf description} \\ \hline
2252 {\tt VM ref } & self & object instance \\ \hline
2254 {\tt cpu\_feature } & value & Value to remove \\ \hline
2256 \end{tabular}
2258 \vspace{0.3cm}
2260 \noindent {\bf Return Type:}
2261 {\tt
2262 void
2267 \vspace{0.3cm}
2268 \vspace{0.3cm}
2269 \vspace{0.3cm}
2270 \subsubsection{RPC name:~get\_VCPUs\_features\_force\_off}
2272 {\bf Overview:}
2273 get accessor message derived from field VCPUs/features/force\_off of object VM
2275 \noindent {\bf Signature:}
2276 \begin{verbatim} ((cpu_feature) Set) get_VCPUs_features_force_off (session_id s, VM ref self)\end{verbatim}
2279 \noindent{\bf Arguments:}
2282 \vspace{0.3cm}
2283 \begin{tabular}{|c|c|p{7cm}|}
2284 \hline
2285 {\bf type} & {\bf name} & {\bf description} \\ \hline
2286 {\tt VM ref } & self & object instance \\ \hline
2288 \end{tabular}
2290 \vspace{0.3cm}
2292 \noindent {\bf Return Type:}
2293 {\tt
2294 (cpu\_feature) Set
2298 value of the field
2299 \vspace{0.3cm}
2300 \vspace{0.3cm}
2301 \vspace{0.3cm}
2302 \subsubsection{RPC name:~add\_VCPUs\_features\_force\_off}
2304 {\bf Overview:}
2305 set add message derived from field VCPUs/features/force\_off of object VM
2307 \noindent {\bf Signature:}
2308 \begin{verbatim} void add_VCPUs_features_force_off (session_id s, VM ref self, cpu_feature value)\end{verbatim}
2311 \noindent{\bf Arguments:}
2314 \vspace{0.3cm}
2315 \begin{tabular}{|c|c|p{7cm}|}
2316 \hline
2317 {\bf type} & {\bf name} & {\bf description} \\ \hline
2318 {\tt VM ref } & self & object instance \\ \hline
2320 {\tt cpu\_feature } & value & New value to add \\ \hline
2322 \end{tabular}
2324 \vspace{0.3cm}
2326 \noindent {\bf Return Type:}
2327 {\tt
2328 void
2333 \vspace{0.3cm}
2334 \vspace{0.3cm}
2335 \vspace{0.3cm}
2336 \subsubsection{RPC name:~remove\_VCPUs\_features\_force\_off}
2338 {\bf Overview:}
2339 set remove message derived from field VCPUs/features/force\_off of object VM
2341 \noindent {\bf Signature:}
2342 \begin{verbatim} void remove_VCPUs_features_force_off (session_id s, VM ref self, cpu_feature value)\end{verbatim}
2345 \noindent{\bf Arguments:}
2348 \vspace{0.3cm}
2349 \begin{tabular}{|c|c|p{7cm}|}
2350 \hline
2351 {\bf type} & {\bf name} & {\bf description} \\ \hline
2352 {\tt VM ref } & self & object instance \\ \hline
2354 {\tt cpu\_feature } & value & Value to remove \\ \hline
2356 \end{tabular}
2358 \vspace{0.3cm}
2360 \noindent {\bf Return Type:}
2361 {\tt
2362 void
2367 \vspace{0.3cm}
2368 \vspace{0.3cm}
2369 \vspace{0.3cm}
2370 \subsubsection{RPC name:~get\_actions\_after\_shutdown}
2372 {\bf Overview:}
2373 get accessor message derived from field actions/after\_shutdown of object VM
2375 \noindent {\bf Signature:}
2376 \begin{verbatim} (on_normal_exit) get_actions_after_shutdown (session_id s, VM ref self)\end{verbatim}
2379 \noindent{\bf Arguments:}
2382 \vspace{0.3cm}
2383 \begin{tabular}{|c|c|p{7cm}|}
2384 \hline
2385 {\bf type} & {\bf name} & {\bf description} \\ \hline
2386 {\tt VM ref } & self & object instance \\ \hline
2388 \end{tabular}
2390 \vspace{0.3cm}
2392 \noindent {\bf Return Type:}
2393 {\tt
2394 on\_normal\_exit
2398 value of the field
2399 \vspace{0.3cm}
2400 \vspace{0.3cm}
2401 \vspace{0.3cm}
2402 \subsubsection{RPC name:~set\_actions\_after\_shutdown}
2404 {\bf Overview:}
2405 set accessor message derived from field actions/after\_shutdown of object VM
2407 \noindent {\bf Signature:}
2408 \begin{verbatim} void set_actions_after_shutdown (session_id s, VM ref self, on_normal_exit value)\end{verbatim}
2411 \noindent{\bf Arguments:}
2414 \vspace{0.3cm}
2415 \begin{tabular}{|c|c|p{7cm}|}
2416 \hline
2417 {\bf type} & {\bf name} & {\bf description} \\ \hline
2418 {\tt VM ref } & self & object instance \\ \hline
2420 {\tt on\_normal\_exit } & value & New value to set \\ \hline
2422 \end{tabular}
2424 \vspace{0.3cm}
2426 \noindent {\bf Return Type:}
2427 {\tt
2428 void
2433 \vspace{0.3cm}
2434 \vspace{0.3cm}
2435 \vspace{0.3cm}
2436 \subsubsection{RPC name:~get\_actions\_after\_reboot}
2438 {\bf Overview:}
2439 get accessor message derived from field actions/after\_reboot of object VM
2441 \noindent {\bf Signature:}
2442 \begin{verbatim} (on_normal_exit) get_actions_after_reboot (session_id s, VM ref self)\end{verbatim}
2445 \noindent{\bf Arguments:}
2448 \vspace{0.3cm}
2449 \begin{tabular}{|c|c|p{7cm}|}
2450 \hline
2451 {\bf type} & {\bf name} & {\bf description} \\ \hline
2452 {\tt VM ref } & self & object instance \\ \hline
2454 \end{tabular}
2456 \vspace{0.3cm}
2458 \noindent {\bf Return Type:}
2459 {\tt
2460 on\_normal\_exit
2464 value of the field
2465 \vspace{0.3cm}
2466 \vspace{0.3cm}
2467 \vspace{0.3cm}
2468 \subsubsection{RPC name:~set\_actions\_after\_reboot}
2470 {\bf Overview:}
2471 set accessor message derived from field actions/after\_reboot of object VM
2473 \noindent {\bf Signature:}
2474 \begin{verbatim} void set_actions_after_reboot (session_id s, VM ref self, on_normal_exit value)\end{verbatim}
2477 \noindent{\bf Arguments:}
2480 \vspace{0.3cm}
2481 \begin{tabular}{|c|c|p{7cm}|}
2482 \hline
2483 {\bf type} & {\bf name} & {\bf description} \\ \hline
2484 {\tt VM ref } & self & object instance \\ \hline
2486 {\tt on\_normal\_exit } & value & New value to set \\ \hline
2488 \end{tabular}
2490 \vspace{0.3cm}
2492 \noindent {\bf Return Type:}
2493 {\tt
2494 void
2499 \vspace{0.3cm}
2500 \vspace{0.3cm}
2501 \vspace{0.3cm}
2502 \subsubsection{RPC name:~get\_actions\_after\_suspend}
2504 {\bf Overview:}
2505 get accessor message derived from field actions/after\_suspend of object VM
2507 \noindent {\bf Signature:}
2508 \begin{verbatim} (on_normal_exit) get_actions_after_suspend (session_id s, VM ref self)\end{verbatim}
2511 \noindent{\bf Arguments:}
2514 \vspace{0.3cm}
2515 \begin{tabular}{|c|c|p{7cm}|}
2516 \hline
2517 {\bf type} & {\bf name} & {\bf description} \\ \hline
2518 {\tt VM ref } & self & object instance \\ \hline
2520 \end{tabular}
2522 \vspace{0.3cm}
2524 \noindent {\bf Return Type:}
2525 {\tt
2526 on\_normal\_exit
2530 value of the field
2531 \vspace{0.3cm}
2532 \vspace{0.3cm}
2533 \vspace{0.3cm}
2534 \subsubsection{RPC name:~set\_actions\_after\_suspend}
2536 {\bf Overview:}
2537 set accessor message derived from field actions/after\_suspend of object VM
2539 \noindent {\bf Signature:}
2540 \begin{verbatim} void set_actions_after_suspend (session_id s, VM ref self, on_normal_exit value)\end{verbatim}
2543 \noindent{\bf Arguments:}
2546 \vspace{0.3cm}
2547 \begin{tabular}{|c|c|p{7cm}|}
2548 \hline
2549 {\bf type} & {\bf name} & {\bf description} \\ \hline
2550 {\tt VM ref } & self & object instance \\ \hline
2552 {\tt on\_normal\_exit } & value & New value to set \\ \hline
2554 \end{tabular}
2556 \vspace{0.3cm}
2558 \noindent {\bf Return Type:}
2559 {\tt
2560 void
2565 \vspace{0.3cm}
2566 \vspace{0.3cm}
2567 \vspace{0.3cm}
2568 \subsubsection{RPC name:~get\_actions\_after\_crash}
2570 {\bf Overview:}
2571 get accessor message derived from field actions/after\_crash of object VM
2573 \noindent {\bf Signature:}
2574 \begin{verbatim} (on_crash_behaviour) get_actions_after_crash (session_id s, VM ref self)\end{verbatim}
2577 \noindent{\bf Arguments:}
2580 \vspace{0.3cm}
2581 \begin{tabular}{|c|c|p{7cm}|}
2582 \hline
2583 {\bf type} & {\bf name} & {\bf description} \\ \hline
2584 {\tt VM ref } & self & object instance \\ \hline
2586 \end{tabular}
2588 \vspace{0.3cm}
2590 \noindent {\bf Return Type:}
2591 {\tt
2592 on\_crash\_behaviour
2596 value of the field
2597 \vspace{0.3cm}
2598 \vspace{0.3cm}
2599 \vspace{0.3cm}
2600 \subsubsection{RPC name:~set\_actions\_after\_crash}
2602 {\bf Overview:}
2603 set accessor message derived from field actions/after\_crash of object VM
2605 \noindent {\bf Signature:}
2606 \begin{verbatim} void set_actions_after_crash (session_id s, VM ref self, on_crash_behaviour value)\end{verbatim}
2609 \noindent{\bf Arguments:}
2612 \vspace{0.3cm}
2613 \begin{tabular}{|c|c|p{7cm}|}
2614 \hline
2615 {\bf type} & {\bf name} & {\bf description} \\ \hline
2616 {\tt VM ref } & self & object instance \\ \hline
2618 {\tt on\_crash\_behaviour } & value & New value to set \\ \hline
2620 \end{tabular}
2622 \vspace{0.3cm}
2624 \noindent {\bf Return Type:}
2625 {\tt
2626 void
2631 \vspace{0.3cm}
2632 \vspace{0.3cm}
2633 \vspace{0.3cm}
2634 \subsubsection{RPC name:~get\_VIFs}
2636 {\bf Overview:}
2637 get accessor message derived from field VIFs of object VM
2639 \noindent {\bf Signature:}
2640 \begin{verbatim} ((VIF ref) Set) get_VIFs (session_id s, VM ref self)\end{verbatim}
2643 \noindent{\bf Arguments:}
2646 \vspace{0.3cm}
2647 \begin{tabular}{|c|c|p{7cm}|}
2648 \hline
2649 {\bf type} & {\bf name} & {\bf description} \\ \hline
2650 {\tt VM ref } & self & object instance \\ \hline
2652 \end{tabular}
2654 \vspace{0.3cm}
2656 \noindent {\bf Return Type:}
2657 {\tt
2658 (VIF ref) Set
2662 value of the field
2663 \vspace{0.3cm}
2664 \vspace{0.3cm}
2665 \vspace{0.3cm}
2666 \subsubsection{RPC name:~get\_VBDs}
2668 {\bf Overview:}
2669 get accessor message derived from field VBDs of object VM
2671 \noindent {\bf Signature:}
2672 \begin{verbatim} ((VBD ref) Set) get_VBDs (session_id s, VM ref self)\end{verbatim}
2675 \noindent{\bf Arguments:}
2678 \vspace{0.3cm}
2679 \begin{tabular}{|c|c|p{7cm}|}
2680 \hline
2681 {\bf type} & {\bf name} & {\bf description} \\ \hline
2682 {\tt VM ref } & self & object instance \\ \hline
2684 \end{tabular}
2686 \vspace{0.3cm}
2688 \noindent {\bf Return Type:}
2689 {\tt
2690 (VBD ref) Set
2694 value of the field
2695 \vspace{0.3cm}
2696 \vspace{0.3cm}
2697 \vspace{0.3cm}
2698 \subsubsection{RPC name:~get\_VTPMs}
2700 {\bf Overview:}
2701 get accessor message derived from field VTPMs of object VM
2703 \noindent {\bf Signature:}
2704 \begin{verbatim} ((VTPM ref) Set) get_VTPMs (session_id s, VM ref self)\end{verbatim}
2707 \noindent{\bf Arguments:}
2710 \vspace{0.3cm}
2711 \begin{tabular}{|c|c|p{7cm}|}
2712 \hline
2713 {\bf type} & {\bf name} & {\bf description} \\ \hline
2714 {\tt VM ref } & self & object instance \\ \hline
2716 \end{tabular}
2718 \vspace{0.3cm}
2720 \noindent {\bf Return Type:}
2721 {\tt
2722 (VTPM ref) Set
2726 value of the field
2727 \vspace{0.3cm}
2728 \vspace{0.3cm}
2729 \vspace{0.3cm}
2730 \subsubsection{RPC name:~get\_bios\_boot}
2732 {\bf Overview:}
2733 get accessor message derived from field bios/boot of object VM
2735 \noindent {\bf Signature:}
2736 \begin{verbatim} string get_bios_boot (session_id s, VM ref self)\end{verbatim}
2739 \noindent{\bf Arguments:}
2742 \vspace{0.3cm}
2743 \begin{tabular}{|c|c|p{7cm}|}
2744 \hline
2745 {\bf type} & {\bf name} & {\bf description} \\ \hline
2746 {\tt VM ref } & self & object instance \\ \hline
2748 \end{tabular}
2750 \vspace{0.3cm}
2752 \noindent {\bf Return Type:}
2753 {\tt
2754 string
2758 value of the field
2759 \vspace{0.3cm}
2760 \vspace{0.3cm}
2761 \vspace{0.3cm}
2762 \subsubsection{RPC name:~set\_bios\_boot}
2764 {\bf Overview:}
2765 set accessor message derived from field bios/boot of object VM
2767 \noindent {\bf Signature:}
2768 \begin{verbatim} void set_bios_boot (session_id s, VM ref self, string value)\end{verbatim}
2771 \noindent{\bf Arguments:}
2774 \vspace{0.3cm}
2775 \begin{tabular}{|c|c|p{7cm}|}
2776 \hline
2777 {\bf type} & {\bf name} & {\bf description} \\ \hline
2778 {\tt VM ref } & self & object instance \\ \hline
2780 {\tt string } & value & New value to set \\ \hline
2782 \end{tabular}
2784 \vspace{0.3cm}
2786 \noindent {\bf Return Type:}
2787 {\tt
2788 void
2793 \vspace{0.3cm}
2794 \vspace{0.3cm}
2795 \vspace{0.3cm}
2796 \subsubsection{RPC name:~get\_platform\_std\_VGA}
2798 {\bf Overview:}
2799 get accessor message derived from field platform/std\_VGA of object VM
2801 \noindent {\bf Signature:}
2802 \begin{verbatim} bool get_platform_std_VGA (session_id s, VM ref self)\end{verbatim}
2805 \noindent{\bf Arguments:}
2808 \vspace{0.3cm}
2809 \begin{tabular}{|c|c|p{7cm}|}
2810 \hline
2811 {\bf type} & {\bf name} & {\bf description} \\ \hline
2812 {\tt VM ref } & self & object instance \\ \hline
2814 \end{tabular}
2816 \vspace{0.3cm}
2818 \noindent {\bf Return Type:}
2819 {\tt
2820 bool
2824 value of the field
2825 \vspace{0.3cm}
2826 \vspace{0.3cm}
2827 \vspace{0.3cm}
2828 \subsubsection{RPC name:~set\_platform\_std\_VGA}
2830 {\bf Overview:}
2831 set accessor message derived from field platform/std\_VGA of object VM
2833 \noindent {\bf Signature:}
2834 \begin{verbatim} void set_platform_std_VGA (session_id s, VM ref self, bool value)\end{verbatim}
2837 \noindent{\bf Arguments:}
2840 \vspace{0.3cm}
2841 \begin{tabular}{|c|c|p{7cm}|}
2842 \hline
2843 {\bf type} & {\bf name} & {\bf description} \\ \hline
2844 {\tt VM ref } & self & object instance \\ \hline
2846 {\tt bool } & value & New value to set \\ \hline
2848 \end{tabular}
2850 \vspace{0.3cm}
2852 \noindent {\bf Return Type:}
2853 {\tt
2854 void
2859 \vspace{0.3cm}
2860 \vspace{0.3cm}
2861 \vspace{0.3cm}
2862 \subsubsection{RPC name:~get\_platform\_serial}
2864 {\bf Overview:}
2865 get accessor message derived from field platform/serial of object VM
2867 \noindent {\bf Signature:}
2868 \begin{verbatim} string get_platform_serial (session_id s, VM ref self)\end{verbatim}
2871 \noindent{\bf Arguments:}
2874 \vspace{0.3cm}
2875 \begin{tabular}{|c|c|p{7cm}|}
2876 \hline
2877 {\bf type} & {\bf name} & {\bf description} \\ \hline
2878 {\tt VM ref } & self & object instance \\ \hline
2880 \end{tabular}
2882 \vspace{0.3cm}
2884 \noindent {\bf Return Type:}
2885 {\tt
2886 string
2890 value of the field
2891 \vspace{0.3cm}
2892 \vspace{0.3cm}
2893 \vspace{0.3cm}
2894 \subsubsection{RPC name:~set\_platform\_serial}
2896 {\bf Overview:}
2897 set accessor message derived from field platform/serial of object VM
2899 \noindent {\bf Signature:}
2900 \begin{verbatim} void set_platform_serial (session_id s, VM ref self, string value)\end{verbatim}
2903 \noindent{\bf Arguments:}
2906 \vspace{0.3cm}
2907 \begin{tabular}{|c|c|p{7cm}|}
2908 \hline
2909 {\bf type} & {\bf name} & {\bf description} \\ \hline
2910 {\tt VM ref } & self & object instance \\ \hline
2912 {\tt string } & value & New value to set \\ \hline
2914 \end{tabular}
2916 \vspace{0.3cm}
2918 \noindent {\bf Return Type:}
2919 {\tt
2920 void
2925 \vspace{0.3cm}
2926 \vspace{0.3cm}
2927 \vspace{0.3cm}
2928 \subsubsection{RPC name:~get\_platform\_localtime}
2930 {\bf Overview:}
2931 get accessor message derived from field platform/localtime of object VM
2933 \noindent {\bf Signature:}
2934 \begin{verbatim} bool get_platform_localtime (session_id s, VM ref self)\end{verbatim}
2937 \noindent{\bf Arguments:}
2940 \vspace{0.3cm}
2941 \begin{tabular}{|c|c|p{7cm}|}
2942 \hline
2943 {\bf type} & {\bf name} & {\bf description} \\ \hline
2944 {\tt VM ref } & self & object instance \\ \hline
2946 \end{tabular}
2948 \vspace{0.3cm}
2950 \noindent {\bf Return Type:}
2951 {\tt
2952 bool
2956 value of the field
2957 \vspace{0.3cm}
2958 \vspace{0.3cm}
2959 \vspace{0.3cm}
2960 \subsubsection{RPC name:~set\_platform\_localtime}
2962 {\bf Overview:}
2963 set accessor message derived from field platform/localtime of object VM
2965 \noindent {\bf Signature:}
2966 \begin{verbatim} void set_platform_localtime (session_id s, VM ref self, bool value)\end{verbatim}
2969 \noindent{\bf Arguments:}
2972 \vspace{0.3cm}
2973 \begin{tabular}{|c|c|p{7cm}|}
2974 \hline
2975 {\bf type} & {\bf name} & {\bf description} \\ \hline
2976 {\tt VM ref } & self & object instance \\ \hline
2978 {\tt bool } & value & New value to set \\ \hline
2980 \end{tabular}
2982 \vspace{0.3cm}
2984 \noindent {\bf Return Type:}
2985 {\tt
2986 void
2991 \vspace{0.3cm}
2992 \vspace{0.3cm}
2993 \vspace{0.3cm}
2994 \subsubsection{RPC name:~get\_platform\_clock\_offset}
2996 {\bf Overview:}
2997 get accessor message derived from field platform/clock\_offset of object VM
2999 \noindent {\bf Signature:}
3000 \begin{verbatim} bool get_platform_clock_offset (session_id s, VM ref self)\end{verbatim}
3003 \noindent{\bf Arguments:}
3006 \vspace{0.3cm}
3007 \begin{tabular}{|c|c|p{7cm}|}
3008 \hline
3009 {\bf type} & {\bf name} & {\bf description} \\ \hline
3010 {\tt VM ref } & self & object instance \\ \hline
3012 \end{tabular}
3014 \vspace{0.3cm}
3016 \noindent {\bf Return Type:}
3017 {\tt
3018 bool
3022 value of the field
3023 \vspace{0.3cm}
3024 \vspace{0.3cm}
3025 \vspace{0.3cm}
3026 \subsubsection{RPC name:~set\_platform\_clock\_offset}
3028 {\bf Overview:}
3029 set accessor message derived from field platform/clock\_offset of object VM
3031 \noindent {\bf Signature:}
3032 \begin{verbatim} void set_platform_clock_offset (session_id s, VM ref self, bool value)\end{verbatim}
3035 \noindent{\bf Arguments:}
3038 \vspace{0.3cm}
3039 \begin{tabular}{|c|c|p{7cm}|}
3040 \hline
3041 {\bf type} & {\bf name} & {\bf description} \\ \hline
3042 {\tt VM ref } & self & object instance \\ \hline
3044 {\tt bool } & value & New value to set \\ \hline
3046 \end{tabular}
3048 \vspace{0.3cm}
3050 \noindent {\bf Return Type:}
3051 {\tt
3052 void
3057 \vspace{0.3cm}
3058 \vspace{0.3cm}
3059 \vspace{0.3cm}
3060 \subsubsection{RPC name:~get\_platform\_enable\_audio}
3062 {\bf Overview:}
3063 get accessor message derived from field platform/enable\_audio of object VM
3065 \noindent {\bf Signature:}
3066 \begin{verbatim} bool get_platform_enable_audio (session_id s, VM ref self)\end{verbatim}
3069 \noindent{\bf Arguments:}
3072 \vspace{0.3cm}
3073 \begin{tabular}{|c|c|p{7cm}|}
3074 \hline
3075 {\bf type} & {\bf name} & {\bf description} \\ \hline
3076 {\tt VM ref } & self & object instance \\ \hline
3078 \end{tabular}
3080 \vspace{0.3cm}
3082 \noindent {\bf Return Type:}
3083 {\tt
3084 bool
3088 value of the field
3089 \vspace{0.3cm}
3090 \vspace{0.3cm}
3091 \vspace{0.3cm}
3092 \subsubsection{RPC name:~set\_platform\_enable\_audio}
3094 {\bf Overview:}
3095 set accessor message derived from field platform/enable\_audio of object VM
3097 \noindent {\bf Signature:}
3098 \begin{verbatim} void set_platform_enable_audio (session_id s, VM ref self, bool value)\end{verbatim}
3101 \noindent{\bf Arguments:}
3104 \vspace{0.3cm}
3105 \begin{tabular}{|c|c|p{7cm}|}
3106 \hline
3107 {\bf type} & {\bf name} & {\bf description} \\ \hline
3108 {\tt VM ref } & self & object instance \\ \hline
3110 {\tt bool } & value & New value to set \\ \hline
3112 \end{tabular}
3114 \vspace{0.3cm}
3116 \noindent {\bf Return Type:}
3117 {\tt
3118 void
3123 \vspace{0.3cm}
3124 \vspace{0.3cm}
3125 \vspace{0.3cm}
3126 \subsubsection{RPC name:~get\_builder}
3128 {\bf Overview:}
3129 get accessor message derived from field builder of object VM
3131 \noindent {\bf Signature:}
3132 \begin{verbatim} string get_builder (session_id s, VM ref self)\end{verbatim}
3135 \noindent{\bf Arguments:}
3138 \vspace{0.3cm}
3139 \begin{tabular}{|c|c|p{7cm}|}
3140 \hline
3141 {\bf type} & {\bf name} & {\bf description} \\ \hline
3142 {\tt VM ref } & self & object instance \\ \hline
3144 \end{tabular}
3146 \vspace{0.3cm}
3148 \noindent {\bf Return Type:}
3149 {\tt
3150 string
3154 value of the field
3155 \vspace{0.3cm}
3156 \vspace{0.3cm}
3157 \vspace{0.3cm}
3158 \subsubsection{RPC name:~set\_builder}
3160 {\bf Overview:}
3161 set accessor message derived from field builder of object VM
3163 \noindent {\bf Signature:}
3164 \begin{verbatim} void set_builder (session_id s, VM ref self, string value)\end{verbatim}
3167 \noindent{\bf Arguments:}
3170 \vspace{0.3cm}
3171 \begin{tabular}{|c|c|p{7cm}|}
3172 \hline
3173 {\bf type} & {\bf name} & {\bf description} \\ \hline
3174 {\tt VM ref } & self & object instance \\ \hline
3176 {\tt string } & value & New value to set \\ \hline
3178 \end{tabular}
3180 \vspace{0.3cm}
3182 \noindent {\bf Return Type:}
3183 {\tt
3184 void
3189 \vspace{0.3cm}
3190 \vspace{0.3cm}
3191 \vspace{0.3cm}
3192 \subsubsection{RPC name:~get\_boot\_method}
3194 {\bf Overview:}
3195 get accessor message derived from field boot\_method of object VM
3197 \noindent {\bf Signature:}
3198 \begin{verbatim} (boot_type) get_boot_method (session_id s, VM ref self)\end{verbatim}
3201 \noindent{\bf Arguments:}
3204 \vspace{0.3cm}
3205 \begin{tabular}{|c|c|p{7cm}|}
3206 \hline
3207 {\bf type} & {\bf name} & {\bf description} \\ \hline
3208 {\tt VM ref } & self & object instance \\ \hline
3210 \end{tabular}
3212 \vspace{0.3cm}
3214 \noindent {\bf Return Type:}
3215 {\tt
3216 boot\_type
3220 value of the field
3221 \vspace{0.3cm}
3222 \vspace{0.3cm}
3223 \vspace{0.3cm}
3224 \subsubsection{RPC name:~set\_boot\_method}
3226 {\bf Overview:}
3227 set accessor message derived from field boot\_method of object VM
3229 \noindent {\bf Signature:}
3230 \begin{verbatim} void set_boot_method (session_id s, VM ref self, boot_type value)\end{verbatim}
3233 \noindent{\bf Arguments:}
3236 \vspace{0.3cm}
3237 \begin{tabular}{|c|c|p{7cm}|}
3238 \hline
3239 {\bf type} & {\bf name} & {\bf description} \\ \hline
3240 {\tt VM ref } & self & object instance \\ \hline
3242 {\tt boot\_type } & value & New value to set \\ \hline
3244 \end{tabular}
3246 \vspace{0.3cm}
3248 \noindent {\bf Return Type:}
3249 {\tt
3250 void
3255 \vspace{0.3cm}
3256 \vspace{0.3cm}
3257 \vspace{0.3cm}
3258 \subsubsection{RPC name:~get\_kernel\_kernel}
3260 {\bf Overview:}
3261 get accessor message derived from field kernel/kernel of object VM
3263 \noindent {\bf Signature:}
3264 \begin{verbatim} string get_kernel_kernel (session_id s, VM ref self)\end{verbatim}
3267 \noindent{\bf Arguments:}
3270 \vspace{0.3cm}
3271 \begin{tabular}{|c|c|p{7cm}|}
3272 \hline
3273 {\bf type} & {\bf name} & {\bf description} \\ \hline
3274 {\tt VM ref } & self & object instance \\ \hline
3276 \end{tabular}
3278 \vspace{0.3cm}
3280 \noindent {\bf Return Type:}
3281 {\tt
3282 string
3286 value of the field
3287 \vspace{0.3cm}
3288 \vspace{0.3cm}
3289 \vspace{0.3cm}
3290 \subsubsection{RPC name:~set\_kernel\_kernel}
3292 {\bf Overview:}
3293 set accessor message derived from field kernel/kernel of object VM
3295 \noindent {\bf Signature:}
3296 \begin{verbatim} void set_kernel_kernel (session_id s, VM ref self, string value)\end{verbatim}
3299 \noindent{\bf Arguments:}
3302 \vspace{0.3cm}
3303 \begin{tabular}{|c|c|p{7cm}|}
3304 \hline
3305 {\bf type} & {\bf name} & {\bf description} \\ \hline
3306 {\tt VM ref } & self & object instance \\ \hline
3308 {\tt string } & value & New value to set \\ \hline
3310 \end{tabular}
3312 \vspace{0.3cm}
3314 \noindent {\bf Return Type:}
3315 {\tt
3316 void
3321 \vspace{0.3cm}
3322 \vspace{0.3cm}
3323 \vspace{0.3cm}
3324 \subsubsection{RPC name:~get\_kernel\_initrd}
3326 {\bf Overview:}
3327 get accessor message derived from field kernel/initrd of object VM
3329 \noindent {\bf Signature:}
3330 \begin{verbatim} string get_kernel_initrd (session_id s, VM ref self)\end{verbatim}
3333 \noindent{\bf Arguments:}
3336 \vspace{0.3cm}
3337 \begin{tabular}{|c|c|p{7cm}|}
3338 \hline
3339 {\bf type} & {\bf name} & {\bf description} \\ \hline
3340 {\tt VM ref } & self & object instance \\ \hline
3342 \end{tabular}
3344 \vspace{0.3cm}
3346 \noindent {\bf Return Type:}
3347 {\tt
3348 string
3352 value of the field
3353 \vspace{0.3cm}
3354 \vspace{0.3cm}
3355 \vspace{0.3cm}
3356 \subsubsection{RPC name:~set\_kernel\_initrd}
3358 {\bf Overview:}
3359 set accessor message derived from field kernel/initrd of object VM
3361 \noindent {\bf Signature:}
3362 \begin{verbatim} void set_kernel_initrd (session_id s, VM ref self, string value)\end{verbatim}
3365 \noindent{\bf Arguments:}
3368 \vspace{0.3cm}
3369 \begin{tabular}{|c|c|p{7cm}|}
3370 \hline
3371 {\bf type} & {\bf name} & {\bf description} \\ \hline
3372 {\tt VM ref } & self & object instance \\ \hline
3374 {\tt string } & value & New value to set \\ \hline
3376 \end{tabular}
3378 \vspace{0.3cm}
3380 \noindent {\bf Return Type:}
3381 {\tt
3382 void
3387 \vspace{0.3cm}
3388 \vspace{0.3cm}
3389 \vspace{0.3cm}
3390 \subsubsection{RPC name:~get\_kernel\_args}
3392 {\bf Overview:}
3393 get accessor message derived from field kernel/args of object VM
3395 \noindent {\bf Signature:}
3396 \begin{verbatim} string get_kernel_args (session_id s, VM ref self)\end{verbatim}
3399 \noindent{\bf Arguments:}
3402 \vspace{0.3cm}
3403 \begin{tabular}{|c|c|p{7cm}|}
3404 \hline
3405 {\bf type} & {\bf name} & {\bf description} \\ \hline
3406 {\tt VM ref } & self & object instance \\ \hline
3408 \end{tabular}
3410 \vspace{0.3cm}
3412 \noindent {\bf Return Type:}
3413 {\tt
3414 string
3418 value of the field
3419 \vspace{0.3cm}
3420 \vspace{0.3cm}
3421 \vspace{0.3cm}
3422 \subsubsection{RPC name:~set\_kernel\_args}
3424 {\bf Overview:}
3425 set accessor message derived from field kernel/args of object VM
3427 \noindent {\bf Signature:}
3428 \begin{verbatim} void set_kernel_args (session_id s, VM ref self, string value)\end{verbatim}
3431 \noindent{\bf Arguments:}
3434 \vspace{0.3cm}
3435 \begin{tabular}{|c|c|p{7cm}|}
3436 \hline
3437 {\bf type} & {\bf name} & {\bf description} \\ \hline
3438 {\tt VM ref } & self & object instance \\ \hline
3440 {\tt string } & value & New value to set \\ \hline
3442 \end{tabular}
3444 \vspace{0.3cm}
3446 \noindent {\bf Return Type:}
3447 {\tt
3448 void
3453 \vspace{0.3cm}
3454 \vspace{0.3cm}
3455 \vspace{0.3cm}
3456 \subsubsection{RPC name:~get\_grub\_cmdline}
3458 {\bf Overview:}
3459 get accessor message derived from field grub/cmdline of object VM
3461 \noindent {\bf Signature:}
3462 \begin{verbatim} string get_grub_cmdline (session_id s, VM ref self)\end{verbatim}
3465 \noindent{\bf Arguments:}
3468 \vspace{0.3cm}
3469 \begin{tabular}{|c|c|p{7cm}|}
3470 \hline
3471 {\bf type} & {\bf name} & {\bf description} \\ \hline
3472 {\tt VM ref } & self & object instance \\ \hline
3474 \end{tabular}
3476 \vspace{0.3cm}
3478 \noindent {\bf Return Type:}
3479 {\tt
3480 string
3484 value of the field
3485 \vspace{0.3cm}
3486 \vspace{0.3cm}
3487 \vspace{0.3cm}
3488 \subsubsection{RPC name:~set\_grub\_cmdline}
3490 {\bf Overview:}
3491 set accessor message derived from field grub/cmdline of object VM
3493 \noindent {\bf Signature:}
3494 \begin{verbatim} void set_grub_cmdline (session_id s, VM ref self, string value)\end{verbatim}
3497 \noindent{\bf Arguments:}
3500 \vspace{0.3cm}
3501 \begin{tabular}{|c|c|p{7cm}|}
3502 \hline
3503 {\bf type} & {\bf name} & {\bf description} \\ \hline
3504 {\tt VM ref } & self & object instance \\ \hline
3506 {\tt string } & value & New value to set \\ \hline
3508 \end{tabular}
3510 \vspace{0.3cm}
3512 \noindent {\bf Return Type:}
3513 {\tt
3514 void
3519 \vspace{0.3cm}
3520 \vspace{0.3cm}
3521 \vspace{0.3cm}
3522 \subsubsection{RPC name:~get\_PCI\_bus}
3524 {\bf Overview:}
3525 get accessor message derived from field PCI\_bus of object VM
3527 \noindent {\bf Signature:}
3528 \begin{verbatim} string get_PCI_bus (session_id s, VM ref self)\end{verbatim}
3531 \noindent{\bf Arguments:}
3534 \vspace{0.3cm}
3535 \begin{tabular}{|c|c|p{7cm}|}
3536 \hline
3537 {\bf type} & {\bf name} & {\bf description} \\ \hline
3538 {\tt VM ref } & self & object instance \\ \hline
3540 \end{tabular}
3542 \vspace{0.3cm}
3544 \noindent {\bf Return Type:}
3545 {\tt
3546 string
3550 value of the field
3551 \vspace{0.3cm}
3552 \vspace{0.3cm}
3553 \vspace{0.3cm}
3554 \subsubsection{RPC name:~get\_tools\_version}
3556 {\bf Overview:}
3557 get accessor message derived from field tools\_version of object VM
3559 \noindent {\bf Signature:}
3560 \begin{verbatim} ((string -> string) Map) get_tools_version (session_id s, VM ref self)\end{verbatim}
3563 \noindent{\bf Arguments:}
3566 \vspace{0.3cm}
3567 \begin{tabular}{|c|c|p{7cm}|}
3568 \hline
3569 {\bf type} & {\bf name} & {\bf description} \\ \hline
3570 {\tt VM ref } & self & object instance \\ \hline
3572 \end{tabular}
3574 \vspace{0.3cm}
3576 \noindent {\bf Return Type:}
3577 {\tt
3578 (string $\rightarrow$ string) Map
3582 value of the field
3583 \vspace{0.3cm}
3584 \vspace{0.3cm}
3585 \vspace{0.3cm}
3586 \subsubsection{RPC name:~get\_otherConfig}
3588 {\bf Overview:}
3589 get accessor message derived from field otherConfig of object VM
3591 \noindent {\bf Signature:}
3592 \begin{verbatim} ((string -> string) Map) get_otherConfig (session_id s, VM ref self)\end{verbatim}
3595 \noindent{\bf Arguments:}
3598 \vspace{0.3cm}
3599 \begin{tabular}{|c|c|p{7cm}|}
3600 \hline
3601 {\bf type} & {\bf name} & {\bf description} \\ \hline
3602 {\tt VM ref } & self & object instance \\ \hline
3604 \end{tabular}
3606 \vspace{0.3cm}
3608 \noindent {\bf Return Type:}
3609 {\tt
3610 (string $\rightarrow$ string) Map
3614 value of the field
3615 \vspace{0.3cm}
3616 \vspace{0.3cm}
3617 \vspace{0.3cm}
3618 \subsubsection{RPC name:~add\_to\_otherConfig}
3620 {\bf Overview:}
3621 map add message derived from field otherConfig of object VM
3623 \noindent {\bf Signature:}
3624 \begin{verbatim} void add_to_otherConfig (session_id s, VM ref self, string key, string value)\end{verbatim}
3627 \noindent{\bf Arguments:}
3630 \vspace{0.3cm}
3631 \begin{tabular}{|c|c|p{7cm}|}
3632 \hline
3633 {\bf type} & {\bf name} & {\bf description} \\ \hline
3634 {\tt VM ref } & self & object instance \\ \hline
3636 {\tt string } & key & Key to add \\ \hline
3638 {\tt string } & value & Value to add \\ \hline
3640 \end{tabular}
3642 \vspace{0.3cm}
3644 \noindent {\bf Return Type:}
3645 {\tt
3646 void
3651 \vspace{0.3cm}
3652 \vspace{0.3cm}
3653 \vspace{0.3cm}
3654 \subsubsection{RPC name:~remove\_from\_otherConfig}
3656 {\bf Overview:}
3657 map remove message derived from field otherConfig of object VM
3659 \noindent {\bf Signature:}
3660 \begin{verbatim} void remove_from_otherConfig (session_id s, VM ref self, string key)\end{verbatim}
3663 \noindent{\bf Arguments:}
3666 \vspace{0.3cm}
3667 \begin{tabular}{|c|c|p{7cm}|}
3668 \hline
3669 {\bf type} & {\bf name} & {\bf description} \\ \hline
3670 {\tt VM ref } & self & object instance \\ \hline
3672 {\tt string } & key & Key to remove \\ \hline
3674 \end{tabular}
3676 \vspace{0.3cm}
3678 \noindent {\bf Return Type:}
3679 {\tt
3680 void
3685 \vspace{0.3cm}
3686 \vspace{0.3cm}
3687 \vspace{0.3cm}
3688 \subsubsection{RPC name:~create}
3690 {\bf Overview:}
3691 constructor for class VM
3693 \noindent {\bf Signature:}
3694 \begin{verbatim} (VM ref) create (session_id s, VM record args)\end{verbatim}
3697 \noindent{\bf Arguments:}
3700 \vspace{0.3cm}
3701 \begin{tabular}{|c|c|p{7cm}|}
3702 \hline
3703 {\bf type} & {\bf name} & {\bf description} \\ \hline
3704 {\tt VM record } & args & All constructor arguments \\ \hline
3706 \end{tabular}
3708 \vspace{0.3cm}
3710 \noindent {\bf Return Type:}
3711 {\tt
3712 VM ref
3716 reference to the newly created object
3717 \vspace{0.3cm}
3718 \vspace{0.3cm}
3719 \vspace{0.3cm}
3720 \subsubsection{RPC name:~destroy}
3722 {\bf Overview:}
3723 destructor for class VM
3725 \noindent {\bf Signature:}
3726 \begin{verbatim} void destroy (session_id s, VM ref self)\end{verbatim}
3729 \noindent{\bf Arguments:}
3732 \vspace{0.3cm}
3733 \begin{tabular}{|c|c|p{7cm}|}
3734 \hline
3735 {\bf type} & {\bf name} & {\bf description} \\ \hline
3736 {\tt VM ref } & self & object instance \\ \hline
3738 \end{tabular}
3740 \vspace{0.3cm}
3742 \noindent {\bf Return Type:}
3743 {\tt
3744 void
3749 \vspace{0.3cm}
3750 \vspace{0.3cm}
3751 \vspace{0.3cm}
3752 \subsubsection{RPC name:~get\_by\_uuid}
3754 {\bf Overview:}
3755 returns the VM instance with a particular uuid
3757 \noindent {\bf Signature:}
3758 \begin{verbatim} (VM ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
3761 \noindent{\bf Arguments:}
3764 \vspace{0.3cm}
3765 \begin{tabular}{|c|c|p{7cm}|}
3766 \hline
3767 {\bf type} & {\bf name} & {\bf description} \\ \hline
3768 {\tt string } & uuid & UUID of object to return \\ \hline
3770 \end{tabular}
3772 \vspace{0.3cm}
3774 \noindent {\bf Return Type:}
3775 {\tt
3776 VM ref
3780 reference to the object
3781 \vspace{0.3cm}
3782 \vspace{0.3cm}
3783 \vspace{0.3cm}
3784 \subsubsection{RPC name:~get\_record}
3786 {\bf Overview:}
3787 returns a record containing the state of an instance of class VM
3789 \noindent {\bf Signature:}
3790 \begin{verbatim} (VM record) get_record (session_id s, VM ref self)\end{verbatim}
3793 \noindent{\bf Arguments:}
3796 \vspace{0.3cm}
3797 \begin{tabular}{|c|c|p{7cm}|}
3798 \hline
3799 {\bf type} & {\bf name} & {\bf description} \\ \hline
3800 {\tt VM ref } & self & reference to the object \\ \hline
3802 \end{tabular}
3804 \vspace{0.3cm}
3806 \noindent {\bf Return Type:}
3807 {\tt
3808 VM record
3812 all fields from the object
3813 \vspace{0.3cm}
3814 \vspace{0.3cm}
3815 \vspace{0.3cm}
3816 \subsubsection{RPC name:~get\_by\_name\_label}
3818 {\bf Overview:}
3819 returns the VM instance with a particular name label
3821 \noindent {\bf Signature:}
3822 \begin{verbatim} ((VM ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
3825 \noindent{\bf Arguments:}
3828 \vspace{0.3cm}
3829 \begin{tabular}{|c|c|p{7cm}|}
3830 \hline
3831 {\bf type} & {\bf name} & {\bf description} \\ \hline
3832 {\tt string } & label & label of object to return \\ \hline
3834 \end{tabular}
3836 \vspace{0.3cm}
3838 \noindent {\bf Return Type:}
3839 {\tt
3840 (VM ref) Set
3844 references to objects with match names
3845 \vspace{0.3cm}
3846 \vspace{0.3cm}
3847 \vspace{0.3cm}
3849 \vspace{1cm}
3850 \newpage
3851 \section{Class: host}
3852 \subsection{Fields for class: host}
3853 \begin{longtable}{|lllp{0.38\textwidth}|}
3854 \hline
3855 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf host} \\
3856 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A physical host}} \\
3857 \hline
3858 Quals & Field & Type & Description \\
3859 \hline
3860 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
3861 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
3862 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
3863 $\mathit{RO}_\mathit{run}$ & {\tt software\_version} & (string $\rightarrow$ string) Map & version strings \\
3864 $\mathit{RO}_\mathit{run}$ & {\tt resident\_VMs} & (VM ref) Set & list of VMs currently resident on host \\
3865 $\mathit{RO}_\mathit{run}$ & {\tt PIFs} & (PIF ref) Set & physical network interfaces \\
3866 $\mathit{RO}_\mathit{run}$ & {\tt host\_CPUs} & (host\_cpu ref) Set & The physical CPUs on this host \\
3867 \hline
3868 \end{longtable}
3869 \subsection{Additional RPCs associated with class: host}
3870 \subsubsection{RPC name:~disable}
3872 {\bf Overview:}
3873 Puts the host into a state in which no new VMs can be started. Currently active VMs on the host continue to execute.
3875 \noindent {\bf Signature:}
3876 \begin{verbatim} void disable (session_id s, host ref host)\end{verbatim}
3879 \noindent{\bf Arguments:}
3882 \vspace{0.3cm}
3883 \begin{tabular}{|c|c|p{7cm}|}
3884 \hline
3885 {\bf type} & {\bf name} & {\bf description} \\ \hline
3886 {\tt host ref } & host & The Host to disable \\ \hline
3888 \end{tabular}
3890 \vspace{0.3cm}
3892 \noindent {\bf Return Type:}
3893 {\tt
3894 void
3899 \vspace{0.3cm}
3900 \vspace{0.3cm}
3901 \vspace{0.3cm}
3902 \subsubsection{RPC name:~enable}
3904 {\bf Overview:}
3905 Puts the host into a state in which new VMs can be started.
3907 \noindent {\bf Signature:}
3908 \begin{verbatim} void enable (session_id s, host ref host)\end{verbatim}
3911 \noindent{\bf Arguments:}
3914 \vspace{0.3cm}
3915 \begin{tabular}{|c|c|p{7cm}|}
3916 \hline
3917 {\bf type} & {\bf name} & {\bf description} \\ \hline
3918 {\tt host ref } & host & The Host to enable \\ \hline
3920 \end{tabular}
3922 \vspace{0.3cm}
3924 \noindent {\bf Return Type:}
3925 {\tt
3926 void
3931 \vspace{0.3cm}
3932 \vspace{0.3cm}
3933 \vspace{0.3cm}
3934 \subsubsection{RPC name:~shutdown}
3936 {\bf Overview:}
3937 Shutdown the host. (This function can only be called if there are no currently running VMs on the host and it is disabled.)
3939 \noindent {\bf Signature:}
3940 \begin{verbatim} void shutdown (session_id s, host ref host)\end{verbatim}
3943 \noindent{\bf Arguments:}
3946 \vspace{0.3cm}
3947 \begin{tabular}{|c|c|p{7cm}|}
3948 \hline
3949 {\bf type} & {\bf name} & {\bf description} \\ \hline
3950 {\tt host ref } & host & The Host to shutdown \\ \hline
3952 \end{tabular}
3954 \vspace{0.3cm}
3956 \noindent {\bf Return Type:}
3957 {\tt
3958 void
3963 \vspace{0.3cm}
3964 \vspace{0.3cm}
3965 \vspace{0.3cm}
3966 \subsubsection{RPC name:~reboot}
3968 {\bf Overview:}
3969 Reboot the host. (This function can only be called if there are no currently running VMs on the host and it is disabled.)
3971 \noindent {\bf Signature:}
3972 \begin{verbatim} void reboot (session_id s, host ref host)\end{verbatim}
3975 \noindent{\bf Arguments:}
3978 \vspace{0.3cm}
3979 \begin{tabular}{|c|c|p{7cm}|}
3980 \hline
3981 {\bf type} & {\bf name} & {\bf description} \\ \hline
3982 {\tt host ref } & host & The Host to reboot \\ \hline
3984 \end{tabular}
3986 \vspace{0.3cm}
3988 \noindent {\bf Return Type:}
3989 {\tt
3990 void
3995 \vspace{0.3cm}
3996 \vspace{0.3cm}
3997 \vspace{0.3cm}
3998 \subsubsection{RPC name:~get\_all}
4000 {\bf Overview:}
4001 Return a list of all the hosts known to the system
4003 \noindent {\bf Signature:}
4004 \begin{verbatim} ((host ref) Set) get_all (session_id s)\end{verbatim}
4007 \vspace{0.3cm}
4009 \noindent {\bf Return Type:}
4010 {\tt
4011 (host ref) Set
4015 A list of all the IDs of all the hosts
4016 \vspace{0.3cm}
4017 \vspace{0.3cm}
4018 \vspace{0.3cm}
4019 \subsubsection{RPC name:~get\_uuid}
4021 {\bf Overview:}
4022 get accessor message derived from field uuid of object host
4024 \noindent {\bf Signature:}
4025 \begin{verbatim} string get_uuid (session_id s, host ref self)\end{verbatim}
4028 \noindent{\bf Arguments:}
4031 \vspace{0.3cm}
4032 \begin{tabular}{|c|c|p{7cm}|}
4033 \hline
4034 {\bf type} & {\bf name} & {\bf description} \\ \hline
4035 {\tt host ref } & self & object instance \\ \hline
4037 \end{tabular}
4039 \vspace{0.3cm}
4041 \noindent {\bf Return Type:}
4042 {\tt
4043 string
4047 value of the field
4048 \vspace{0.3cm}
4049 \vspace{0.3cm}
4050 \vspace{0.3cm}
4051 \subsubsection{RPC name:~get\_name\_label}
4053 {\bf Overview:}
4054 get accessor message derived from field name/label of object host
4056 \noindent {\bf Signature:}
4057 \begin{verbatim} string get_name_label (session_id s, host ref self)\end{verbatim}
4060 \noindent{\bf Arguments:}
4063 \vspace{0.3cm}
4064 \begin{tabular}{|c|c|p{7cm}|}
4065 \hline
4066 {\bf type} & {\bf name} & {\bf description} \\ \hline
4067 {\tt host ref } & self & object instance \\ \hline
4069 \end{tabular}
4071 \vspace{0.3cm}
4073 \noindent {\bf Return Type:}
4074 {\tt
4075 string
4079 value of the field
4080 \vspace{0.3cm}
4081 \vspace{0.3cm}
4082 \vspace{0.3cm}
4083 \subsubsection{RPC name:~set\_name\_label}
4085 {\bf Overview:}
4086 set accessor message derived from field name/label of object host
4088 \noindent {\bf Signature:}
4089 \begin{verbatim} void set_name_label (session_id s, host ref self, string value)\end{verbatim}
4092 \noindent{\bf Arguments:}
4095 \vspace{0.3cm}
4096 \begin{tabular}{|c|c|p{7cm}|}
4097 \hline
4098 {\bf type} & {\bf name} & {\bf description} \\ \hline
4099 {\tt host ref } & self & object instance \\ \hline
4101 {\tt string } & value & New value to set \\ \hline
4103 \end{tabular}
4105 \vspace{0.3cm}
4107 \noindent {\bf Return Type:}
4108 {\tt
4109 void
4114 \vspace{0.3cm}
4115 \vspace{0.3cm}
4116 \vspace{0.3cm}
4117 \subsubsection{RPC name:~get\_name\_description}
4119 {\bf Overview:}
4120 get accessor message derived from field name/description of object host
4122 \noindent {\bf Signature:}
4123 \begin{verbatim} string get_name_description (session_id s, host ref self)\end{verbatim}
4126 \noindent{\bf Arguments:}
4129 \vspace{0.3cm}
4130 \begin{tabular}{|c|c|p{7cm}|}
4131 \hline
4132 {\bf type} & {\bf name} & {\bf description} \\ \hline
4133 {\tt host ref } & self & object instance \\ \hline
4135 \end{tabular}
4137 \vspace{0.3cm}
4139 \noindent {\bf Return Type:}
4140 {\tt
4141 string
4145 value of the field
4146 \vspace{0.3cm}
4147 \vspace{0.3cm}
4148 \vspace{0.3cm}
4149 \subsubsection{RPC name:~set\_name\_description}
4151 {\bf Overview:}
4152 set accessor message derived from field name/description of object host
4154 \noindent {\bf Signature:}
4155 \begin{verbatim} void set_name_description (session_id s, host ref self, string value)\end{verbatim}
4158 \noindent{\bf Arguments:}
4161 \vspace{0.3cm}
4162 \begin{tabular}{|c|c|p{7cm}|}
4163 \hline
4164 {\bf type} & {\bf name} & {\bf description} \\ \hline
4165 {\tt host ref } & self & object instance \\ \hline
4167 {\tt string } & value & New value to set \\ \hline
4169 \end{tabular}
4171 \vspace{0.3cm}
4173 \noindent {\bf Return Type:}
4174 {\tt
4175 void
4180 \vspace{0.3cm}
4181 \vspace{0.3cm}
4182 \vspace{0.3cm}
4183 \subsubsection{RPC name:~get\_software\_version}
4185 {\bf Overview:}
4186 get accessor message derived from field software\_version of object host
4188 \noindent {\bf Signature:}
4189 \begin{verbatim} ((string -> string) Map) get_software_version (session_id s, host ref self)\end{verbatim}
4192 \noindent{\bf Arguments:}
4195 \vspace{0.3cm}
4196 \begin{tabular}{|c|c|p{7cm}|}
4197 \hline
4198 {\bf type} & {\bf name} & {\bf description} \\ \hline
4199 {\tt host ref } & self & object instance \\ \hline
4201 \end{tabular}
4203 \vspace{0.3cm}
4205 \noindent {\bf Return Type:}
4206 {\tt
4207 (string $\rightarrow$ string) Map
4211 value of the field
4212 \vspace{0.3cm}
4213 \vspace{0.3cm}
4214 \vspace{0.3cm}
4215 \subsubsection{RPC name:~get\_resident\_VMs}
4217 {\bf Overview:}
4218 get accessor message derived from field resident\_VMs of object host
4220 \noindent {\bf Signature:}
4221 \begin{verbatim} ((VM ref) Set) get_resident_VMs (session_id s, host ref self)\end{verbatim}
4224 \noindent{\bf Arguments:}
4227 \vspace{0.3cm}
4228 \begin{tabular}{|c|c|p{7cm}|}
4229 \hline
4230 {\bf type} & {\bf name} & {\bf description} \\ \hline
4231 {\tt host ref } & self & object instance \\ \hline
4233 \end{tabular}
4235 \vspace{0.3cm}
4237 \noindent {\bf Return Type:}
4238 {\tt
4239 (VM ref) Set
4243 value of the field
4244 \vspace{0.3cm}
4245 \vspace{0.3cm}
4246 \vspace{0.3cm}
4247 \subsubsection{RPC name:~get\_PIFs}
4249 {\bf Overview:}
4250 get accessor message derived from field PIFs of object host
4252 \noindent {\bf Signature:}
4253 \begin{verbatim} ((PIF ref) Set) get_PIFs (session_id s, host ref self)\end{verbatim}
4256 \noindent{\bf Arguments:}
4259 \vspace{0.3cm}
4260 \begin{tabular}{|c|c|p{7cm}|}
4261 \hline
4262 {\bf type} & {\bf name} & {\bf description} \\ \hline
4263 {\tt host ref } & self & object instance \\ \hline
4265 \end{tabular}
4267 \vspace{0.3cm}
4269 \noindent {\bf Return Type:}
4270 {\tt
4271 (PIF ref) Set
4275 value of the field
4276 \vspace{0.3cm}
4277 \vspace{0.3cm}
4278 \vspace{0.3cm}
4279 \subsubsection{RPC name:~get\_host\_CPUs}
4281 {\bf Overview:}
4282 get accessor message derived from field host\_CPUs of object host
4284 \noindent {\bf Signature:}
4285 \begin{verbatim} ((host_cpu ref) Set) get_host_CPUs (session_id s, host ref self)\end{verbatim}
4288 \noindent{\bf Arguments:}
4291 \vspace{0.3cm}
4292 \begin{tabular}{|c|c|p{7cm}|}
4293 \hline
4294 {\bf type} & {\bf name} & {\bf description} \\ \hline
4295 {\tt host ref } & self & object instance \\ \hline
4297 \end{tabular}
4299 \vspace{0.3cm}
4301 \noindent {\bf Return Type:}
4302 {\tt
4303 (host\_cpu ref) Set
4307 value of the field
4308 \vspace{0.3cm}
4309 \vspace{0.3cm}
4310 \vspace{0.3cm}
4311 \subsubsection{RPC name:~create}
4313 {\bf Overview:}
4314 constructor for class host
4316 \noindent {\bf Signature:}
4317 \begin{verbatim} (host ref) create (session_id s, host record args)\end{verbatim}
4320 \noindent{\bf Arguments:}
4323 \vspace{0.3cm}
4324 \begin{tabular}{|c|c|p{7cm}|}
4325 \hline
4326 {\bf type} & {\bf name} & {\bf description} \\ \hline
4327 {\tt host record } & args & All constructor arguments \\ \hline
4329 \end{tabular}
4331 \vspace{0.3cm}
4333 \noindent {\bf Return Type:}
4334 {\tt
4335 host ref
4339 reference to the newly created object
4340 \vspace{0.3cm}
4341 \vspace{0.3cm}
4342 \vspace{0.3cm}
4343 \subsubsection{RPC name:~destroy}
4345 {\bf Overview:}
4346 destructor for class host
4348 \noindent {\bf Signature:}
4349 \begin{verbatim} void destroy (session_id s, host ref self)\end{verbatim}
4352 \noindent{\bf Arguments:}
4355 \vspace{0.3cm}
4356 \begin{tabular}{|c|c|p{7cm}|}
4357 \hline
4358 {\bf type} & {\bf name} & {\bf description} \\ \hline
4359 {\tt host ref } & self & object instance \\ \hline
4361 \end{tabular}
4363 \vspace{0.3cm}
4365 \noindent {\bf Return Type:}
4366 {\tt
4367 void
4372 \vspace{0.3cm}
4373 \vspace{0.3cm}
4374 \vspace{0.3cm}
4375 \subsubsection{RPC name:~get\_by\_uuid}
4377 {\bf Overview:}
4378 returns the host instance with a particular uuid
4380 \noindent {\bf Signature:}
4381 \begin{verbatim} (host ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
4384 \noindent{\bf Arguments:}
4387 \vspace{0.3cm}
4388 \begin{tabular}{|c|c|p{7cm}|}
4389 \hline
4390 {\bf type} & {\bf name} & {\bf description} \\ \hline
4391 {\tt string } & uuid & UUID of object to return \\ \hline
4393 \end{tabular}
4395 \vspace{0.3cm}
4397 \noindent {\bf Return Type:}
4398 {\tt
4399 host ref
4403 reference to the object
4404 \vspace{0.3cm}
4405 \vspace{0.3cm}
4406 \vspace{0.3cm}
4407 \subsubsection{RPC name:~get\_record}
4409 {\bf Overview:}
4410 returns a record containing the state of an instance of class host
4412 \noindent {\bf Signature:}
4413 \begin{verbatim} (host record) get_record (session_id s, host ref self)\end{verbatim}
4416 \noindent{\bf Arguments:}
4419 \vspace{0.3cm}
4420 \begin{tabular}{|c|c|p{7cm}|}
4421 \hline
4422 {\bf type} & {\bf name} & {\bf description} \\ \hline
4423 {\tt host ref } & self & reference to the object \\ \hline
4425 \end{tabular}
4427 \vspace{0.3cm}
4429 \noindent {\bf Return Type:}
4430 {\tt
4431 host record
4435 all fields from the object
4436 \vspace{0.3cm}
4437 \vspace{0.3cm}
4438 \vspace{0.3cm}
4439 \subsubsection{RPC name:~get\_by\_name\_label}
4441 {\bf Overview:}
4442 returns the host instance with a particular name label
4444 \noindent {\bf Signature:}
4445 \begin{verbatim} ((host ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
4448 \noindent{\bf Arguments:}
4451 \vspace{0.3cm}
4452 \begin{tabular}{|c|c|p{7cm}|}
4453 \hline
4454 {\bf type} & {\bf name} & {\bf description} \\ \hline
4455 {\tt string } & label & label of object to return \\ \hline
4457 \end{tabular}
4459 \vspace{0.3cm}
4461 \noindent {\bf Return Type:}
4462 {\tt
4463 (host ref) Set
4467 references to objects with match names
4468 \vspace{0.3cm}
4469 \vspace{0.3cm}
4470 \vspace{0.3cm}
4472 \vspace{1cm}
4473 \newpage
4474 \section{Class: host\_cpu}
4475 \subsection{Fields for class: host\_cpu}
4476 \begin{longtable}{|lllp{0.38\textwidth}|}
4477 \hline
4478 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf host\_cpu} \\
4479 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A physical CPU}} \\
4480 \hline
4481 Quals & Field & Type & Description \\
4482 \hline
4483 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
4484 $\mathit{RO}_\mathit{ins}$ & {\tt host} & host ref & the host the CPU is in \\
4485 $\mathit{RO}_\mathit{ins}$ & {\tt number} & int & the number of the physical CPU within the host \\
4486 $\mathit{RO}_\mathit{ins}$ & {\tt vendor} & string & the vendor of the physical CPU \\
4487 $\mathit{RO}_\mathit{ins}$ & {\tt speed} & int & the speed of the physical CPU \\
4488 $\mathit{RO}_\mathit{ins}$ & {\tt modelname} & string & the model name of the physical CPU \\
4489 $\mathit{RO}_\mathit{ins}$ & {\tt features} & (cpu\_feature) Set & the features supported by the CPU \\
4490 $\mathit{RO}_\mathit{run}$ & {\tt utilisation} & float & the current CPU utilisation \\
4491 \hline
4492 \end{longtable}
4493 \subsection{Additional RPCs associated with class: host\_cpu}
4494 \subsubsection{RPC name:~get\_uuid}
4496 {\bf Overview:}
4497 get accessor message derived from field uuid of object host\_cpu
4499 \noindent {\bf Signature:}
4500 \begin{verbatim} string get_uuid (session_id s, host_cpu ref self)\end{verbatim}
4503 \noindent{\bf Arguments:}
4506 \vspace{0.3cm}
4507 \begin{tabular}{|c|c|p{7cm}|}
4508 \hline
4509 {\bf type} & {\bf name} & {\bf description} \\ \hline
4510 {\tt host\_cpu ref } & self & object instance \\ \hline
4512 \end{tabular}
4514 \vspace{0.3cm}
4516 \noindent {\bf Return Type:}
4517 {\tt
4518 string
4522 value of the field
4523 \vspace{0.3cm}
4524 \vspace{0.3cm}
4525 \vspace{0.3cm}
4526 \subsubsection{RPC name:~get\_host}
4528 {\bf Overview:}
4529 get accessor message derived from field host of object host\_cpu
4531 \noindent {\bf Signature:}
4532 \begin{verbatim} (host ref) get_host (session_id s, host_cpu ref self)\end{verbatim}
4535 \noindent{\bf Arguments:}
4538 \vspace{0.3cm}
4539 \begin{tabular}{|c|c|p{7cm}|}
4540 \hline
4541 {\bf type} & {\bf name} & {\bf description} \\ \hline
4542 {\tt host\_cpu ref } & self & object instance \\ \hline
4544 \end{tabular}
4546 \vspace{0.3cm}
4548 \noindent {\bf Return Type:}
4549 {\tt
4550 host ref
4554 value of the field
4555 \vspace{0.3cm}
4556 \vspace{0.3cm}
4557 \vspace{0.3cm}
4558 \subsubsection{RPC name:~get\_number}
4560 {\bf Overview:}
4561 get accessor message derived from field number of object host\_cpu
4563 \noindent {\bf Signature:}
4564 \begin{verbatim} int get_number (session_id s, host_cpu ref self)\end{verbatim}
4567 \noindent{\bf Arguments:}
4570 \vspace{0.3cm}
4571 \begin{tabular}{|c|c|p{7cm}|}
4572 \hline
4573 {\bf type} & {\bf name} & {\bf description} \\ \hline
4574 {\tt host\_cpu ref } & self & object instance \\ \hline
4576 \end{tabular}
4578 \vspace{0.3cm}
4580 \noindent {\bf Return Type:}
4581 {\tt
4582 int
4586 value of the field
4587 \vspace{0.3cm}
4588 \vspace{0.3cm}
4589 \vspace{0.3cm}
4590 \subsubsection{RPC name:~get\_vendor}
4592 {\bf Overview:}
4593 get accessor message derived from field vendor of object host\_cpu
4595 \noindent {\bf Signature:}
4596 \begin{verbatim} string get_vendor (session_id s, host_cpu ref self)\end{verbatim}
4599 \noindent{\bf Arguments:}
4602 \vspace{0.3cm}
4603 \begin{tabular}{|c|c|p{7cm}|}
4604 \hline
4605 {\bf type} & {\bf name} & {\bf description} \\ \hline
4606 {\tt host\_cpu ref } & self & object instance \\ \hline
4608 \end{tabular}
4610 \vspace{0.3cm}
4612 \noindent {\bf Return Type:}
4613 {\tt
4614 string
4618 value of the field
4619 \vspace{0.3cm}
4620 \vspace{0.3cm}
4621 \vspace{0.3cm}
4622 \subsubsection{RPC name:~get\_speed}
4624 {\bf Overview:}
4625 get accessor message derived from field speed of object host\_cpu
4627 \noindent {\bf Signature:}
4628 \begin{verbatim} int get_speed (session_id s, host_cpu ref self)\end{verbatim}
4631 \noindent{\bf Arguments:}
4634 \vspace{0.3cm}
4635 \begin{tabular}{|c|c|p{7cm}|}
4636 \hline
4637 {\bf type} & {\bf name} & {\bf description} \\ \hline
4638 {\tt host\_cpu ref } & self & object instance \\ \hline
4640 \end{tabular}
4642 \vspace{0.3cm}
4644 \noindent {\bf Return Type:}
4645 {\tt
4646 int
4650 value of the field
4651 \vspace{0.3cm}
4652 \vspace{0.3cm}
4653 \vspace{0.3cm}
4654 \subsubsection{RPC name:~get\_modelname}
4656 {\bf Overview:}
4657 get accessor message derived from field modelname of object host\_cpu
4659 \noindent {\bf Signature:}
4660 \begin{verbatim} string get_modelname (session_id s, host_cpu ref self)\end{verbatim}
4663 \noindent{\bf Arguments:}
4666 \vspace{0.3cm}
4667 \begin{tabular}{|c|c|p{7cm}|}
4668 \hline
4669 {\bf type} & {\bf name} & {\bf description} \\ \hline
4670 {\tt host\_cpu ref } & self & object instance \\ \hline
4672 \end{tabular}
4674 \vspace{0.3cm}
4676 \noindent {\bf Return Type:}
4677 {\tt
4678 string
4682 value of the field
4683 \vspace{0.3cm}
4684 \vspace{0.3cm}
4685 \vspace{0.3cm}
4686 \subsubsection{RPC name:~get\_features}
4688 {\bf Overview:}
4689 get accessor message derived from field features of object host\_cpu
4691 \noindent {\bf Signature:}
4692 \begin{verbatim} ((cpu_feature) Set) get_features (session_id s, host_cpu ref self)\end{verbatim}
4695 \noindent{\bf Arguments:}
4698 \vspace{0.3cm}
4699 \begin{tabular}{|c|c|p{7cm}|}
4700 \hline
4701 {\bf type} & {\bf name} & {\bf description} \\ \hline
4702 {\tt host\_cpu ref } & self & object instance \\ \hline
4704 \end{tabular}
4706 \vspace{0.3cm}
4708 \noindent {\bf Return Type:}
4709 {\tt
4710 (cpu\_feature) Set
4714 value of the field
4715 \vspace{0.3cm}
4716 \vspace{0.3cm}
4717 \vspace{0.3cm}
4718 \subsubsection{RPC name:~get\_utilisation}
4720 {\bf Overview:}
4721 get accessor message derived from field utilisation of object host\_cpu
4723 \noindent {\bf Signature:}
4724 \begin{verbatim} float get_utilisation (session_id s, host_cpu ref self)\end{verbatim}
4727 \noindent{\bf Arguments:}
4730 \vspace{0.3cm}
4731 \begin{tabular}{|c|c|p{7cm}|}
4732 \hline
4733 {\bf type} & {\bf name} & {\bf description} \\ \hline
4734 {\tt host\_cpu ref } & self & object instance \\ \hline
4736 \end{tabular}
4738 \vspace{0.3cm}
4740 \noindent {\bf Return Type:}
4741 {\tt
4742 float
4746 value of the field
4747 \vspace{0.3cm}
4748 \vspace{0.3cm}
4749 \vspace{0.3cm}
4750 \subsubsection{RPC name:~create}
4752 {\bf Overview:}
4753 constructor for class host\_cpu
4755 \noindent {\bf Signature:}
4756 \begin{verbatim} (host_cpu ref) create (session_id s, host_cpu record args)\end{verbatim}
4759 \noindent{\bf Arguments:}
4762 \vspace{0.3cm}
4763 \begin{tabular}{|c|c|p{7cm}|}
4764 \hline
4765 {\bf type} & {\bf name} & {\bf description} \\ \hline
4766 {\tt host\_cpu record } & args & All constructor arguments \\ \hline
4768 \end{tabular}
4770 \vspace{0.3cm}
4772 \noindent {\bf Return Type:}
4773 {\tt
4774 host\_cpu ref
4778 reference to the newly created object
4779 \vspace{0.3cm}
4780 \vspace{0.3cm}
4781 \vspace{0.3cm}
4782 \subsubsection{RPC name:~destroy}
4784 {\bf Overview:}
4785 destructor for class host\_cpu
4787 \noindent {\bf Signature:}
4788 \begin{verbatim} void destroy (session_id s, host_cpu ref self)\end{verbatim}
4791 \noindent{\bf Arguments:}
4794 \vspace{0.3cm}
4795 \begin{tabular}{|c|c|p{7cm}|}
4796 \hline
4797 {\bf type} & {\bf name} & {\bf description} \\ \hline
4798 {\tt host\_cpu ref } & self & object instance \\ \hline
4800 \end{tabular}
4802 \vspace{0.3cm}
4804 \noindent {\bf Return Type:}
4805 {\tt
4806 void
4811 \vspace{0.3cm}
4812 \vspace{0.3cm}
4813 \vspace{0.3cm}
4814 \subsubsection{RPC name:~get\_by\_uuid}
4816 {\bf Overview:}
4817 returns the host\_cpu instance with a particular uuid
4819 \noindent {\bf Signature:}
4820 \begin{verbatim} (host_cpu ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
4823 \noindent{\bf Arguments:}
4826 \vspace{0.3cm}
4827 \begin{tabular}{|c|c|p{7cm}|}
4828 \hline
4829 {\bf type} & {\bf name} & {\bf description} \\ \hline
4830 {\tt string } & uuid & UUID of object to return \\ \hline
4832 \end{tabular}
4834 \vspace{0.3cm}
4836 \noindent {\bf Return Type:}
4837 {\tt
4838 host\_cpu ref
4842 reference to the object
4843 \vspace{0.3cm}
4844 \vspace{0.3cm}
4845 \vspace{0.3cm}
4846 \subsubsection{RPC name:~get\_record}
4848 {\bf Overview:}
4849 returns a record containing the state of an instance of class host\_cpu
4851 \noindent {\bf Signature:}
4852 \begin{verbatim} (host_cpu record) get_record (session_id s, host_cpu ref self)\end{verbatim}
4855 \noindent{\bf Arguments:}
4858 \vspace{0.3cm}
4859 \begin{tabular}{|c|c|p{7cm}|}
4860 \hline
4861 {\bf type} & {\bf name} & {\bf description} \\ \hline
4862 {\tt host\_cpu ref } & self & reference to the object \\ \hline
4864 \end{tabular}
4866 \vspace{0.3cm}
4868 \noindent {\bf Return Type:}
4869 {\tt
4870 host\_cpu record
4874 all fields from the object
4875 \vspace{0.3cm}
4876 \vspace{0.3cm}
4877 \vspace{0.3cm}
4879 \vspace{1cm}
4880 \newpage
4881 \section{Class: network}
4882 \subsection{Fields for class: network}
4883 \begin{longtable}{|lllp{0.38\textwidth}|}
4884 \hline
4885 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf network} \\
4886 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A virtual network}} \\
4887 \hline
4888 Quals & Field & Type & Description \\
4889 \hline
4890 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
4891 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
4892 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
4893 $\mathit{RO}_\mathit{run}$ & {\tt VIFs} & (VIF ref) Set & list of connected vifs \\
4894 $\mathit{RO}_\mathit{run}$ & {\tt PIFs} & (PIF ref) Set & list of connected pifs \\
4895 $\mathit{RW}$ & {\tt default\_gateway} & string & default gateway IP address. Used for auto-configuring guests with fixed IP setting \\
4896 $\mathit{RW}$ & {\tt default\_netmask} & string & default netmask. Used for auto-configuring guests with fixed IP setting \\
4897 \hline
4898 \end{longtable}
4899 \subsection{Additional RPCs associated with class: network}
4900 \subsubsection{RPC name:~get\_all}
4902 {\bf Overview:}
4903 Return a list of all the networks known to the system
4905 \noindent {\bf Signature:}
4906 \begin{verbatim} ((network ref) Set) get_all (session_id s)\end{verbatim}
4909 \vspace{0.3cm}
4911 \noindent {\bf Return Type:}
4912 {\tt
4913 (network ref) Set
4917 A list of all the IDs of all the networks
4918 \vspace{0.3cm}
4919 \vspace{0.3cm}
4920 \vspace{0.3cm}
4921 \subsubsection{RPC name:~get\_uuid}
4923 {\bf Overview:}
4924 get accessor message derived from field uuid of object network
4926 \noindent {\bf Signature:}
4927 \begin{verbatim} string get_uuid (session_id s, network ref self)\end{verbatim}
4930 \noindent{\bf Arguments:}
4933 \vspace{0.3cm}
4934 \begin{tabular}{|c|c|p{7cm}|}
4935 \hline
4936 {\bf type} & {\bf name} & {\bf description} \\ \hline
4937 {\tt network ref } & self & object instance \\ \hline
4939 \end{tabular}
4941 \vspace{0.3cm}
4943 \noindent {\bf Return Type:}
4944 {\tt
4945 string
4949 value of the field
4950 \vspace{0.3cm}
4951 \vspace{0.3cm}
4952 \vspace{0.3cm}
4953 \subsubsection{RPC name:~get\_name\_label}
4955 {\bf Overview:}
4956 get accessor message derived from field name/label of object network
4958 \noindent {\bf Signature:}
4959 \begin{verbatim} string get_name_label (session_id s, network ref self)\end{verbatim}
4962 \noindent{\bf Arguments:}
4965 \vspace{0.3cm}
4966 \begin{tabular}{|c|c|p{7cm}|}
4967 \hline
4968 {\bf type} & {\bf name} & {\bf description} \\ \hline
4969 {\tt network ref } & self & object instance \\ \hline
4971 \end{tabular}
4973 \vspace{0.3cm}
4975 \noindent {\bf Return Type:}
4976 {\tt
4977 string
4981 value of the field
4982 \vspace{0.3cm}
4983 \vspace{0.3cm}
4984 \vspace{0.3cm}
4985 \subsubsection{RPC name:~set\_name\_label}
4987 {\bf Overview:}
4988 set accessor message derived from field name/label of object network
4990 \noindent {\bf Signature:}
4991 \begin{verbatim} void set_name_label (session_id s, network ref self, string value)\end{verbatim}
4994 \noindent{\bf Arguments:}
4997 \vspace{0.3cm}
4998 \begin{tabular}{|c|c|p{7cm}|}
4999 \hline
5000 {\bf type} & {\bf name} & {\bf description} \\ \hline
5001 {\tt network ref } & self & object instance \\ \hline
5003 {\tt string } & value & New value to set \\ \hline
5005 \end{tabular}
5007 \vspace{0.3cm}
5009 \noindent {\bf Return Type:}
5010 {\tt
5011 void
5016 \vspace{0.3cm}
5017 \vspace{0.3cm}
5018 \vspace{0.3cm}
5019 \subsubsection{RPC name:~get\_name\_description}
5021 {\bf Overview:}
5022 get accessor message derived from field name/description of object network
5024 \noindent {\bf Signature:}
5025 \begin{verbatim} string get_name_description (session_id s, network ref self)\end{verbatim}
5028 \noindent{\bf Arguments:}
5031 \vspace{0.3cm}
5032 \begin{tabular}{|c|c|p{7cm}|}
5033 \hline
5034 {\bf type} & {\bf name} & {\bf description} \\ \hline
5035 {\tt network ref } & self & object instance \\ \hline
5037 \end{tabular}
5039 \vspace{0.3cm}
5041 \noindent {\bf Return Type:}
5042 {\tt
5043 string
5047 value of the field
5048 \vspace{0.3cm}
5049 \vspace{0.3cm}
5050 \vspace{0.3cm}
5051 \subsubsection{RPC name:~set\_name\_description}
5053 {\bf Overview:}
5054 set accessor message derived from field name/description of object network
5056 \noindent {\bf Signature:}
5057 \begin{verbatim} void set_name_description (session_id s, network ref self, string value)\end{verbatim}
5060 \noindent{\bf Arguments:}
5063 \vspace{0.3cm}
5064 \begin{tabular}{|c|c|p{7cm}|}
5065 \hline
5066 {\bf type} & {\bf name} & {\bf description} \\ \hline
5067 {\tt network ref } & self & object instance \\ \hline
5069 {\tt string } & value & New value to set \\ \hline
5071 \end{tabular}
5073 \vspace{0.3cm}
5075 \noindent {\bf Return Type:}
5076 {\tt
5077 void
5082 \vspace{0.3cm}
5083 \vspace{0.3cm}
5084 \vspace{0.3cm}
5085 \subsubsection{RPC name:~get\_VIFs}
5087 {\bf Overview:}
5088 get accessor message derived from field VIFs of object network
5090 \noindent {\bf Signature:}
5091 \begin{verbatim} ((VIF ref) Set) get_VIFs (session_id s, network ref self)\end{verbatim}
5094 \noindent{\bf Arguments:}
5097 \vspace{0.3cm}
5098 \begin{tabular}{|c|c|p{7cm}|}
5099 \hline
5100 {\bf type} & {\bf name} & {\bf description} \\ \hline
5101 {\tt network ref } & self & object instance \\ \hline
5103 \end{tabular}
5105 \vspace{0.3cm}
5107 \noindent {\bf Return Type:}
5108 {\tt
5109 (VIF ref) Set
5113 value of the field
5114 \vspace{0.3cm}
5115 \vspace{0.3cm}
5116 \vspace{0.3cm}
5117 \subsubsection{RPC name:~get\_PIFs}
5119 {\bf Overview:}
5120 get accessor message derived from field PIFs of object network
5122 \noindent {\bf Signature:}
5123 \begin{verbatim} ((PIF ref) Set) get_PIFs (session_id s, network ref self)\end{verbatim}
5126 \noindent{\bf Arguments:}
5129 \vspace{0.3cm}
5130 \begin{tabular}{|c|c|p{7cm}|}
5131 \hline
5132 {\bf type} & {\bf name} & {\bf description} \\ \hline
5133 {\tt network ref } & self & object instance \\ \hline
5135 \end{tabular}
5137 \vspace{0.3cm}
5139 \noindent {\bf Return Type:}
5140 {\tt
5141 (PIF ref) Set
5145 value of the field
5146 \vspace{0.3cm}
5147 \vspace{0.3cm}
5148 \vspace{0.3cm}
5149 \subsubsection{RPC name:~get\_default\_gateway}
5151 {\bf Overview:}
5152 get accessor message derived from field default\_gateway of object network
5154 \noindent {\bf Signature:}
5155 \begin{verbatim} string get_default_gateway (session_id s, network ref self)\end{verbatim}
5158 \noindent{\bf Arguments:}
5161 \vspace{0.3cm}
5162 \begin{tabular}{|c|c|p{7cm}|}
5163 \hline
5164 {\bf type} & {\bf name} & {\bf description} \\ \hline
5165 {\tt network ref } & self & object instance \\ \hline
5167 \end{tabular}
5169 \vspace{0.3cm}
5171 \noindent {\bf Return Type:}
5172 {\tt
5173 string
5177 value of the field
5178 \vspace{0.3cm}
5179 \vspace{0.3cm}
5180 \vspace{0.3cm}
5181 \subsubsection{RPC name:~set\_default\_gateway}
5183 {\bf Overview:}
5184 set accessor message derived from field default\_gateway of object network
5186 \noindent {\bf Signature:}
5187 \begin{verbatim} void set_default_gateway (session_id s, network ref self, string value)\end{verbatim}
5190 \noindent{\bf Arguments:}
5193 \vspace{0.3cm}
5194 \begin{tabular}{|c|c|p{7cm}|}
5195 \hline
5196 {\bf type} & {\bf name} & {\bf description} \\ \hline
5197 {\tt network ref } & self & object instance \\ \hline
5199 {\tt string } & value & New value to set \\ \hline
5201 \end{tabular}
5203 \vspace{0.3cm}
5205 \noindent {\bf Return Type:}
5206 {\tt
5207 void
5212 \vspace{0.3cm}
5213 \vspace{0.3cm}
5214 \vspace{0.3cm}
5215 \subsubsection{RPC name:~get\_default\_netmask}
5217 {\bf Overview:}
5218 get accessor message derived from field default\_netmask of object network
5220 \noindent {\bf Signature:}
5221 \begin{verbatim} string get_default_netmask (session_id s, network ref self)\end{verbatim}
5224 \noindent{\bf Arguments:}
5227 \vspace{0.3cm}
5228 \begin{tabular}{|c|c|p{7cm}|}
5229 \hline
5230 {\bf type} & {\bf name} & {\bf description} \\ \hline
5231 {\tt network ref } & self & object instance \\ \hline
5233 \end{tabular}
5235 \vspace{0.3cm}
5237 \noindent {\bf Return Type:}
5238 {\tt
5239 string
5243 value of the field
5244 \vspace{0.3cm}
5245 \vspace{0.3cm}
5246 \vspace{0.3cm}
5247 \subsubsection{RPC name:~set\_default\_netmask}
5249 {\bf Overview:}
5250 set accessor message derived from field default\_netmask of object network
5252 \noindent {\bf Signature:}
5253 \begin{verbatim} void set_default_netmask (session_id s, network ref self, string value)\end{verbatim}
5256 \noindent{\bf Arguments:}
5259 \vspace{0.3cm}
5260 \begin{tabular}{|c|c|p{7cm}|}
5261 \hline
5262 {\bf type} & {\bf name} & {\bf description} \\ \hline
5263 {\tt network ref } & self & object instance \\ \hline
5265 {\tt string } & value & New value to set \\ \hline
5267 \end{tabular}
5269 \vspace{0.3cm}
5271 \noindent {\bf Return Type:}
5272 {\tt
5273 void
5278 \vspace{0.3cm}
5279 \vspace{0.3cm}
5280 \vspace{0.3cm}
5281 \subsubsection{RPC name:~create}
5283 {\bf Overview:}
5284 constructor for class network
5286 \noindent {\bf Signature:}
5287 \begin{verbatim} (network ref) create (session_id s, network record args)\end{verbatim}
5290 \noindent{\bf Arguments:}
5293 \vspace{0.3cm}
5294 \begin{tabular}{|c|c|p{7cm}|}
5295 \hline
5296 {\bf type} & {\bf name} & {\bf description} \\ \hline
5297 {\tt network record } & args & All constructor arguments \\ \hline
5299 \end{tabular}
5301 \vspace{0.3cm}
5303 \noindent {\bf Return Type:}
5304 {\tt
5305 network ref
5309 reference to the newly created object
5310 \vspace{0.3cm}
5311 \vspace{0.3cm}
5312 \vspace{0.3cm}
5313 \subsubsection{RPC name:~destroy}
5315 {\bf Overview:}
5316 destructor for class network
5318 \noindent {\bf Signature:}
5319 \begin{verbatim} void destroy (session_id s, network ref self)\end{verbatim}
5322 \noindent{\bf Arguments:}
5325 \vspace{0.3cm}
5326 \begin{tabular}{|c|c|p{7cm}|}
5327 \hline
5328 {\bf type} & {\bf name} & {\bf description} \\ \hline
5329 {\tt network ref } & self & object instance \\ \hline
5331 \end{tabular}
5333 \vspace{0.3cm}
5335 \noindent {\bf Return Type:}
5336 {\tt
5337 void
5342 \vspace{0.3cm}
5343 \vspace{0.3cm}
5344 \vspace{0.3cm}
5345 \subsubsection{RPC name:~get\_by\_uuid}
5347 {\bf Overview:}
5348 returns the network instance with a particular uuid
5350 \noindent {\bf Signature:}
5351 \begin{verbatim} (network ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
5354 \noindent{\bf Arguments:}
5357 \vspace{0.3cm}
5358 \begin{tabular}{|c|c|p{7cm}|}
5359 \hline
5360 {\bf type} & {\bf name} & {\bf description} \\ \hline
5361 {\tt string } & uuid & UUID of object to return \\ \hline
5363 \end{tabular}
5365 \vspace{0.3cm}
5367 \noindent {\bf Return Type:}
5368 {\tt
5369 network ref
5373 reference to the object
5374 \vspace{0.3cm}
5375 \vspace{0.3cm}
5376 \vspace{0.3cm}
5377 \subsubsection{RPC name:~get\_record}
5379 {\bf Overview:}
5380 returns a record containing the state of an instance of class network
5382 \noindent {\bf Signature:}
5383 \begin{verbatim} (network record) get_record (session_id s, network ref self)\end{verbatim}
5386 \noindent{\bf Arguments:}
5389 \vspace{0.3cm}
5390 \begin{tabular}{|c|c|p{7cm}|}
5391 \hline
5392 {\bf type} & {\bf name} & {\bf description} \\ \hline
5393 {\tt network ref } & self & reference to the object \\ \hline
5395 \end{tabular}
5397 \vspace{0.3cm}
5399 \noindent {\bf Return Type:}
5400 {\tt
5401 network record
5405 all fields from the object
5406 \vspace{0.3cm}
5407 \vspace{0.3cm}
5408 \vspace{0.3cm}
5409 \subsubsection{RPC name:~get\_by\_name\_label}
5411 {\bf Overview:}
5412 returns the network instance with a particular name label
5414 \noindent {\bf Signature:}
5415 \begin{verbatim} ((network ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
5418 \noindent{\bf Arguments:}
5421 \vspace{0.3cm}
5422 \begin{tabular}{|c|c|p{7cm}|}
5423 \hline
5424 {\bf type} & {\bf name} & {\bf description} \\ \hline
5425 {\tt string } & label & label of object to return \\ \hline
5427 \end{tabular}
5429 \vspace{0.3cm}
5431 \noindent {\bf Return Type:}
5432 {\tt
5433 (network ref) Set
5437 references to objects with match names
5438 \vspace{0.3cm}
5439 \vspace{0.3cm}
5440 \vspace{0.3cm}
5442 \vspace{1cm}
5443 \newpage
5444 \section{Class: VIF}
5445 \subsection{Fields for class: VIF}
5446 \begin{longtable}{|lllp{0.38\textwidth}|}
5447 \hline
5448 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VIF} \\
5449 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A virtual network interface}} \\
5450 \hline
5451 Quals & Field & Type & Description \\
5452 \hline
5453 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
5454 $\mathit{RW}$ & {\tt name} & string & human-readable name of the interface \\
5455 $\mathit{RW}$ & {\tt type} & driver\_type & interface type \\
5456 $\mathit{RW}$ & {\tt device} & string & name of network device as exposed to guest e.g. eth0 \\
5457 $\mathit{RW}$ & {\tt network} & network ref & virtual network to which this vif is connected \\
5458 $\mathit{RW}$ & {\tt VM} & VM ref & virtual machine to which this vif is connected \\
5459 $\mathit{RW}$ & {\tt MAC} & string & ethernet MAC address of virtual interface, as exposed to guest \\
5460 $\mathit{RW}$ & {\tt MTU} & int & MTU in octets \\
5461 $\mathit{RO}_\mathit{run}$ & {\tt io/read\_kbs} & float & Read bandwidth (KiB/s) \\
5462 $\mathit{RO}_\mathit{run}$ & {\tt io/write\_kbs} & float & Write bandwidth (KiB/s) \\
5463 \hline
5464 \end{longtable}
5465 \subsection{Additional RPCs associated with class: VIF}
5466 \subsubsection{RPC name:~get\_uuid}
5468 {\bf Overview:}
5469 get accessor message derived from field uuid of object VIF
5471 \noindent {\bf Signature:}
5472 \begin{verbatim} string get_uuid (session_id s, VIF ref self)\end{verbatim}
5475 \noindent{\bf Arguments:}
5478 \vspace{0.3cm}
5479 \begin{tabular}{|c|c|p{7cm}|}
5480 \hline
5481 {\bf type} & {\bf name} & {\bf description} \\ \hline
5482 {\tt VIF ref } & self & object instance \\ \hline
5484 \end{tabular}
5486 \vspace{0.3cm}
5488 \noindent {\bf Return Type:}
5489 {\tt
5490 string
5494 value of the field
5495 \vspace{0.3cm}
5496 \vspace{0.3cm}
5497 \vspace{0.3cm}
5498 \subsubsection{RPC name:~get\_name}
5500 {\bf Overview:}
5501 get accessor message derived from field name of object VIF
5503 \noindent {\bf Signature:}
5504 \begin{verbatim} string get_name (session_id s, VIF ref self)\end{verbatim}
5507 \noindent{\bf Arguments:}
5510 \vspace{0.3cm}
5511 \begin{tabular}{|c|c|p{7cm}|}
5512 \hline
5513 {\bf type} & {\bf name} & {\bf description} \\ \hline
5514 {\tt VIF ref } & self & object instance \\ \hline
5516 \end{tabular}
5518 \vspace{0.3cm}
5520 \noindent {\bf Return Type:}
5521 {\tt
5522 string
5526 value of the field
5527 \vspace{0.3cm}
5528 \vspace{0.3cm}
5529 \vspace{0.3cm}
5530 \subsubsection{RPC name:~set\_name}
5532 {\bf Overview:}
5533 set accessor message derived from field name of object VIF
5535 \noindent {\bf Signature:}
5536 \begin{verbatim} void set_name (session_id s, VIF ref self, string value)\end{verbatim}
5539 \noindent{\bf Arguments:}
5542 \vspace{0.3cm}
5543 \begin{tabular}{|c|c|p{7cm}|}
5544 \hline
5545 {\bf type} & {\bf name} & {\bf description} \\ \hline
5546 {\tt VIF ref } & self & object instance \\ \hline
5548 {\tt string } & value & New value to set \\ \hline
5550 \end{tabular}
5552 \vspace{0.3cm}
5554 \noindent {\bf Return Type:}
5555 {\tt
5556 void
5561 \vspace{0.3cm}
5562 \vspace{0.3cm}
5563 \vspace{0.3cm}
5564 \subsubsection{RPC name:~get\_type}
5566 {\bf Overview:}
5567 get accessor message derived from field type of object VIF
5569 \noindent {\bf Signature:}
5570 \begin{verbatim} (driver_type) get_type (session_id s, VIF ref self)\end{verbatim}
5573 \noindent{\bf Arguments:}
5576 \vspace{0.3cm}
5577 \begin{tabular}{|c|c|p{7cm}|}
5578 \hline
5579 {\bf type} & {\bf name} & {\bf description} \\ \hline
5580 {\tt VIF ref } & self & object instance \\ \hline
5582 \end{tabular}
5584 \vspace{0.3cm}
5586 \noindent {\bf Return Type:}
5587 {\tt
5588 driver\_type
5592 value of the field
5593 \vspace{0.3cm}
5594 \vspace{0.3cm}
5595 \vspace{0.3cm}
5596 \subsubsection{RPC name:~set\_type}
5598 {\bf Overview:}
5599 set accessor message derived from field type of object VIF
5601 \noindent {\bf Signature:}
5602 \begin{verbatim} void set_type (session_id s, VIF ref self, driver_type value)\end{verbatim}
5605 \noindent{\bf Arguments:}
5608 \vspace{0.3cm}
5609 \begin{tabular}{|c|c|p{7cm}|}
5610 \hline
5611 {\bf type} & {\bf name} & {\bf description} \\ \hline
5612 {\tt VIF ref } & self & object instance \\ \hline
5614 {\tt driver\_type } & value & New value to set \\ \hline
5616 \end{tabular}
5618 \vspace{0.3cm}
5620 \noindent {\bf Return Type:}
5621 {\tt
5622 void
5627 \vspace{0.3cm}
5628 \vspace{0.3cm}
5629 \vspace{0.3cm}
5630 \subsubsection{RPC name:~get\_device}
5632 {\bf Overview:}
5633 get accessor message derived from field device of object VIF
5635 \noindent {\bf Signature:}
5636 \begin{verbatim} string get_device (session_id s, VIF ref self)\end{verbatim}
5639 \noindent{\bf Arguments:}
5642 \vspace{0.3cm}
5643 \begin{tabular}{|c|c|p{7cm}|}
5644 \hline
5645 {\bf type} & {\bf name} & {\bf description} \\ \hline
5646 {\tt VIF ref } & self & object instance \\ \hline
5648 \end{tabular}
5650 \vspace{0.3cm}
5652 \noindent {\bf Return Type:}
5653 {\tt
5654 string
5658 value of the field
5659 \vspace{0.3cm}
5660 \vspace{0.3cm}
5661 \vspace{0.3cm}
5662 \subsubsection{RPC name:~set\_device}
5664 {\bf Overview:}
5665 set accessor message derived from field device of object VIF
5667 \noindent {\bf Signature:}
5668 \begin{verbatim} void set_device (session_id s, VIF ref self, string value)\end{verbatim}
5671 \noindent{\bf Arguments:}
5674 \vspace{0.3cm}
5675 \begin{tabular}{|c|c|p{7cm}|}
5676 \hline
5677 {\bf type} & {\bf name} & {\bf description} \\ \hline
5678 {\tt VIF ref } & self & object instance \\ \hline
5680 {\tt string } & value & New value to set \\ \hline
5682 \end{tabular}
5684 \vspace{0.3cm}
5686 \noindent {\bf Return Type:}
5687 {\tt
5688 void
5693 \vspace{0.3cm}
5694 \vspace{0.3cm}
5695 \vspace{0.3cm}
5696 \subsubsection{RPC name:~get\_network}
5698 {\bf Overview:}
5699 get accessor message derived from field network of object VIF
5701 \noindent {\bf Signature:}
5702 \begin{verbatim} (network ref) get_network (session_id s, VIF ref self)\end{verbatim}
5705 \noindent{\bf Arguments:}
5708 \vspace{0.3cm}
5709 \begin{tabular}{|c|c|p{7cm}|}
5710 \hline
5711 {\bf type} & {\bf name} & {\bf description} \\ \hline
5712 {\tt VIF ref } & self & object instance \\ \hline
5714 \end{tabular}
5716 \vspace{0.3cm}
5718 \noindent {\bf Return Type:}
5719 {\tt
5720 network ref
5724 value of the field
5725 \vspace{0.3cm}
5726 \vspace{0.3cm}
5727 \vspace{0.3cm}
5728 \subsubsection{RPC name:~set\_network}
5730 {\bf Overview:}
5731 set accessor message derived from field network of object VIF
5733 \noindent {\bf Signature:}
5734 \begin{verbatim} void set_network (session_id s, VIF ref self, network ref value)\end{verbatim}
5737 \noindent{\bf Arguments:}
5740 \vspace{0.3cm}
5741 \begin{tabular}{|c|c|p{7cm}|}
5742 \hline
5743 {\bf type} & {\bf name} & {\bf description} \\ \hline
5744 {\tt VIF ref } & self & object instance \\ \hline
5746 {\tt network ref } & value & New value to set \\ \hline
5748 \end{tabular}
5750 \vspace{0.3cm}
5752 \noindent {\bf Return Type:}
5753 {\tt
5754 void
5759 \vspace{0.3cm}
5760 \vspace{0.3cm}
5761 \vspace{0.3cm}
5762 \subsubsection{RPC name:~get\_VM}
5764 {\bf Overview:}
5765 get accessor message derived from field VM of object VIF
5767 \noindent {\bf Signature:}
5768 \begin{verbatim} (VM ref) get_VM (session_id s, VIF ref self)\end{verbatim}
5771 \noindent{\bf Arguments:}
5774 \vspace{0.3cm}
5775 \begin{tabular}{|c|c|p{7cm}|}
5776 \hline
5777 {\bf type} & {\bf name} & {\bf description} \\ \hline
5778 {\tt VIF ref } & self & object instance \\ \hline
5780 \end{tabular}
5782 \vspace{0.3cm}
5784 \noindent {\bf Return Type:}
5785 {\tt
5786 VM ref
5790 value of the field
5791 \vspace{0.3cm}
5792 \vspace{0.3cm}
5793 \vspace{0.3cm}
5794 \subsubsection{RPC name:~set\_VM}
5796 {\bf Overview:}
5797 set accessor message derived from field VM of object VIF
5799 \noindent {\bf Signature:}
5800 \begin{verbatim} void set_VM (session_id s, VIF ref self, VM ref value)\end{verbatim}
5803 \noindent{\bf Arguments:}
5806 \vspace{0.3cm}
5807 \begin{tabular}{|c|c|p{7cm}|}
5808 \hline
5809 {\bf type} & {\bf name} & {\bf description} \\ \hline
5810 {\tt VIF ref } & self & object instance \\ \hline
5812 {\tt VM ref } & value & New value to set \\ \hline
5814 \end{tabular}
5816 \vspace{0.3cm}
5818 \noindent {\bf Return Type:}
5819 {\tt
5820 void
5825 \vspace{0.3cm}
5826 \vspace{0.3cm}
5827 \vspace{0.3cm}
5828 \subsubsection{RPC name:~get\_MAC}
5830 {\bf Overview:}
5831 get accessor message derived from field MAC of object VIF
5833 \noindent {\bf Signature:}
5834 \begin{verbatim} string get_MAC (session_id s, VIF ref self)\end{verbatim}
5837 \noindent{\bf Arguments:}
5840 \vspace{0.3cm}
5841 \begin{tabular}{|c|c|p{7cm}|}
5842 \hline
5843 {\bf type} & {\bf name} & {\bf description} \\ \hline
5844 {\tt VIF ref } & self & object instance \\ \hline
5846 \end{tabular}
5848 \vspace{0.3cm}
5850 \noindent {\bf Return Type:}
5851 {\tt
5852 string
5856 value of the field
5857 \vspace{0.3cm}
5858 \vspace{0.3cm}
5859 \vspace{0.3cm}
5860 \subsubsection{RPC name:~set\_MAC}
5862 {\bf Overview:}
5863 set accessor message derived from field MAC of object VIF
5865 \noindent {\bf Signature:}
5866 \begin{verbatim} void set_MAC (session_id s, VIF ref self, string value)\end{verbatim}
5869 \noindent{\bf Arguments:}
5872 \vspace{0.3cm}
5873 \begin{tabular}{|c|c|p{7cm}|}
5874 \hline
5875 {\bf type} & {\bf name} & {\bf description} \\ \hline
5876 {\tt VIF ref } & self & object instance \\ \hline
5878 {\tt string } & value & New value to set \\ \hline
5880 \end{tabular}
5882 \vspace{0.3cm}
5884 \noindent {\bf Return Type:}
5885 {\tt
5886 void
5891 \vspace{0.3cm}
5892 \vspace{0.3cm}
5893 \vspace{0.3cm}
5894 \subsubsection{RPC name:~get\_MTU}
5896 {\bf Overview:}
5897 get accessor message derived from field MTU of object VIF
5899 \noindent {\bf Signature:}
5900 \begin{verbatim} int get_MTU (session_id s, VIF ref self)\end{verbatim}
5903 \noindent{\bf Arguments:}
5906 \vspace{0.3cm}
5907 \begin{tabular}{|c|c|p{7cm}|}
5908 \hline
5909 {\bf type} & {\bf name} & {\bf description} \\ \hline
5910 {\tt VIF ref } & self & object instance \\ \hline
5912 \end{tabular}
5914 \vspace{0.3cm}
5916 \noindent {\bf Return Type:}
5917 {\tt
5918 int
5922 value of the field
5923 \vspace{0.3cm}
5924 \vspace{0.3cm}
5925 \vspace{0.3cm}
5926 \subsubsection{RPC name:~set\_MTU}
5928 {\bf Overview:}
5929 set accessor message derived from field MTU of object VIF
5931 \noindent {\bf Signature:}
5932 \begin{verbatim} void set_MTU (session_id s, VIF ref self, int value)\end{verbatim}
5935 \noindent{\bf Arguments:}
5938 \vspace{0.3cm}
5939 \begin{tabular}{|c|c|p{7cm}|}
5940 \hline
5941 {\bf type} & {\bf name} & {\bf description} \\ \hline
5942 {\tt VIF ref } & self & object instance \\ \hline
5944 {\tt int } & value & New value to set \\ \hline
5946 \end{tabular}
5948 \vspace{0.3cm}
5950 \noindent {\bf Return Type:}
5951 {\tt
5952 void
5957 \vspace{0.3cm}
5958 \vspace{0.3cm}
5959 \vspace{0.3cm}
5960 \subsubsection{RPC name:~get\_io\_read\_kbs}
5962 {\bf Overview:}
5963 get accessor message derived from field io/read\_kbs of object VIF
5965 \noindent {\bf Signature:}
5966 \begin{verbatim} float get_io_read_kbs (session_id s, VIF ref self)\end{verbatim}
5969 \noindent{\bf Arguments:}
5972 \vspace{0.3cm}
5973 \begin{tabular}{|c|c|p{7cm}|}
5974 \hline
5975 {\bf type} & {\bf name} & {\bf description} \\ \hline
5976 {\tt VIF ref } & self & object instance \\ \hline
5978 \end{tabular}
5980 \vspace{0.3cm}
5982 \noindent {\bf Return Type:}
5983 {\tt
5984 float
5988 value of the field
5989 \vspace{0.3cm}
5990 \vspace{0.3cm}
5991 \vspace{0.3cm}
5992 \subsubsection{RPC name:~get\_io\_write\_kbs}
5994 {\bf Overview:}
5995 get accessor message derived from field io/write\_kbs of object VIF
5997 \noindent {\bf Signature:}
5998 \begin{verbatim} float get_io_write_kbs (session_id s, VIF ref self)\end{verbatim}
6001 \noindent{\bf Arguments:}
6004 \vspace{0.3cm}
6005 \begin{tabular}{|c|c|p{7cm}|}
6006 \hline
6007 {\bf type} & {\bf name} & {\bf description} \\ \hline
6008 {\tt VIF ref } & self & object instance \\ \hline
6010 \end{tabular}
6012 \vspace{0.3cm}
6014 \noindent {\bf Return Type:}
6015 {\tt
6016 float
6020 value of the field
6021 \vspace{0.3cm}
6022 \vspace{0.3cm}
6023 \vspace{0.3cm}
6024 \subsubsection{RPC name:~create}
6026 {\bf Overview:}
6027 constructor for class VIF
6029 \noindent {\bf Signature:}
6030 \begin{verbatim} (VIF ref) create (session_id s, VIF record args)\end{verbatim}
6033 \noindent{\bf Arguments:}
6036 \vspace{0.3cm}
6037 \begin{tabular}{|c|c|p{7cm}|}
6038 \hline
6039 {\bf type} & {\bf name} & {\bf description} \\ \hline
6040 {\tt VIF record } & args & All constructor arguments \\ \hline
6042 \end{tabular}
6044 \vspace{0.3cm}
6046 \noindent {\bf Return Type:}
6047 {\tt
6048 VIF ref
6052 reference to the newly created object
6053 \vspace{0.3cm}
6054 \vspace{0.3cm}
6055 \vspace{0.3cm}
6056 \subsubsection{RPC name:~destroy}
6058 {\bf Overview:}
6059 destructor for class VIF
6061 \noindent {\bf Signature:}
6062 \begin{verbatim} void destroy (session_id s, VIF ref self)\end{verbatim}
6065 \noindent{\bf Arguments:}
6068 \vspace{0.3cm}
6069 \begin{tabular}{|c|c|p{7cm}|}
6070 \hline
6071 {\bf type} & {\bf name} & {\bf description} \\ \hline
6072 {\tt VIF ref } & self & object instance \\ \hline
6074 \end{tabular}
6076 \vspace{0.3cm}
6078 \noindent {\bf Return Type:}
6079 {\tt
6080 void
6085 \vspace{0.3cm}
6086 \vspace{0.3cm}
6087 \vspace{0.3cm}
6088 \subsubsection{RPC name:~get\_by\_uuid}
6090 {\bf Overview:}
6091 returns the VIF instance with a particular uuid
6093 \noindent {\bf Signature:}
6094 \begin{verbatim} (VIF ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
6097 \noindent{\bf Arguments:}
6100 \vspace{0.3cm}
6101 \begin{tabular}{|c|c|p{7cm}|}
6102 \hline
6103 {\bf type} & {\bf name} & {\bf description} \\ \hline
6104 {\tt string } & uuid & UUID of object to return \\ \hline
6106 \end{tabular}
6108 \vspace{0.3cm}
6110 \noindent {\bf Return Type:}
6111 {\tt
6112 VIF ref
6116 reference to the object
6117 \vspace{0.3cm}
6118 \vspace{0.3cm}
6119 \vspace{0.3cm}
6120 \subsubsection{RPC name:~get\_record}
6122 {\bf Overview:}
6123 returns a record containing the state of an instance of class VIF
6125 \noindent {\bf Signature:}
6126 \begin{verbatim} (VIF record) get_record (session_id s, VIF ref self)\end{verbatim}
6129 \noindent{\bf Arguments:}
6132 \vspace{0.3cm}
6133 \begin{tabular}{|c|c|p{7cm}|}
6134 \hline
6135 {\bf type} & {\bf name} & {\bf description} \\ \hline
6136 {\tt VIF ref } & self & reference to the object \\ \hline
6138 \end{tabular}
6140 \vspace{0.3cm}
6142 \noindent {\bf Return Type:}
6143 {\tt
6144 VIF record
6148 all fields from the object
6149 \vspace{0.3cm}
6150 \vspace{0.3cm}
6151 \vspace{0.3cm}
6153 \vspace{1cm}
6154 \newpage
6155 \section{Class: PIF}
6156 \subsection{Fields for class: PIF}
6157 \begin{longtable}{|lllp{0.38\textwidth}|}
6158 \hline
6159 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf PIF} \\
6160 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A physical network interface (note separate VLANs are represented as several PIFs)}} \\
6161 \hline
6162 Quals & Field & Type & Description \\
6163 \hline
6164 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
6165 $\mathit{RW}$ & {\tt name} & string & human-readable name of the interface \\
6166 $\mathit{RW}$ & {\tt network} & network ref & virtual network to which this pif is connected \\
6167 $\mathit{RW}$ & {\tt host} & host ref & physical machine to which this pif is connected \\
6168 $\mathit{RW}$ & {\tt MAC} & string & ethernet MAC address of physical interface \\
6169 $\mathit{RW}$ & {\tt MTU} & int & MTU in octets \\
6170 $\mathit{RW}$ & {\tt VLAN} & string & VLAN tag for all traffic passing through this interface \\
6171 $\mathit{RO}_\mathit{run}$ & {\tt io/read\_kbs} & float & Read bandwidth (KiB/s) \\
6172 $\mathit{RO}_\mathit{run}$ & {\tt io/write\_kbs} & float & Write bandwidth (KiB/s) \\
6173 \hline
6174 \end{longtable}
6175 \subsection{Additional RPCs associated with class: PIF}
6176 \subsubsection{RPC name:~get\_uuid}
6178 {\bf Overview:}
6179 get accessor message derived from field uuid of object PIF
6181 \noindent {\bf Signature:}
6182 \begin{verbatim} string get_uuid (session_id s, PIF ref self)\end{verbatim}
6185 \noindent{\bf Arguments:}
6188 \vspace{0.3cm}
6189 \begin{tabular}{|c|c|p{7cm}|}
6190 \hline
6191 {\bf type} & {\bf name} & {\bf description} \\ \hline
6192 {\tt PIF ref } & self & object instance \\ \hline
6194 \end{tabular}
6196 \vspace{0.3cm}
6198 \noindent {\bf Return Type:}
6199 {\tt
6200 string
6204 value of the field
6205 \vspace{0.3cm}
6206 \vspace{0.3cm}
6207 \vspace{0.3cm}
6208 \subsubsection{RPC name:~get\_name}
6210 {\bf Overview:}
6211 get accessor message derived from field name of object PIF
6213 \noindent {\bf Signature:}
6214 \begin{verbatim} string get_name (session_id s, PIF ref self)\end{verbatim}
6217 \noindent{\bf Arguments:}
6220 \vspace{0.3cm}
6221 \begin{tabular}{|c|c|p{7cm}|}
6222 \hline
6223 {\bf type} & {\bf name} & {\bf description} \\ \hline
6224 {\tt PIF ref } & self & object instance \\ \hline
6226 \end{tabular}
6228 \vspace{0.3cm}
6230 \noindent {\bf Return Type:}
6231 {\tt
6232 string
6236 value of the field
6237 \vspace{0.3cm}
6238 \vspace{0.3cm}
6239 \vspace{0.3cm}
6240 \subsubsection{RPC name:~set\_name}
6242 {\bf Overview:}
6243 set accessor message derived from field name of object PIF
6245 \noindent {\bf Signature:}
6246 \begin{verbatim} void set_name (session_id s, PIF ref self, string value)\end{verbatim}
6249 \noindent{\bf Arguments:}
6252 \vspace{0.3cm}
6253 \begin{tabular}{|c|c|p{7cm}|}
6254 \hline
6255 {\bf type} & {\bf name} & {\bf description} \\ \hline
6256 {\tt PIF ref } & self & object instance \\ \hline
6258 {\tt string } & value & New value to set \\ \hline
6260 \end{tabular}
6262 \vspace{0.3cm}
6264 \noindent {\bf Return Type:}
6265 {\tt
6266 void
6271 \vspace{0.3cm}
6272 \vspace{0.3cm}
6273 \vspace{0.3cm}
6274 \subsubsection{RPC name:~get\_network}
6276 {\bf Overview:}
6277 get accessor message derived from field network of object PIF
6279 \noindent {\bf Signature:}
6280 \begin{verbatim} (network ref) get_network (session_id s, PIF ref self)\end{verbatim}
6283 \noindent{\bf Arguments:}
6286 \vspace{0.3cm}
6287 \begin{tabular}{|c|c|p{7cm}|}
6288 \hline
6289 {\bf type} & {\bf name} & {\bf description} \\ \hline
6290 {\tt PIF ref } & self & object instance \\ \hline
6292 \end{tabular}
6294 \vspace{0.3cm}
6296 \noindent {\bf Return Type:}
6297 {\tt
6298 network ref
6302 value of the field
6303 \vspace{0.3cm}
6304 \vspace{0.3cm}
6305 \vspace{0.3cm}
6306 \subsubsection{RPC name:~set\_network}
6308 {\bf Overview:}
6309 set accessor message derived from field network of object PIF
6311 \noindent {\bf Signature:}
6312 \begin{verbatim} void set_network (session_id s, PIF ref self, network ref value)\end{verbatim}
6315 \noindent{\bf Arguments:}
6318 \vspace{0.3cm}
6319 \begin{tabular}{|c|c|p{7cm}|}
6320 \hline
6321 {\bf type} & {\bf name} & {\bf description} \\ \hline
6322 {\tt PIF ref } & self & object instance \\ \hline
6324 {\tt network ref } & value & New value to set \\ \hline
6326 \end{tabular}
6328 \vspace{0.3cm}
6330 \noindent {\bf Return Type:}
6331 {\tt
6332 void
6337 \vspace{0.3cm}
6338 \vspace{0.3cm}
6339 \vspace{0.3cm}
6340 \subsubsection{RPC name:~get\_host}
6342 {\bf Overview:}
6343 get accessor message derived from field host of object PIF
6345 \noindent {\bf Signature:}
6346 \begin{verbatim} (host ref) get_host (session_id s, PIF ref self)\end{verbatim}
6349 \noindent{\bf Arguments:}
6352 \vspace{0.3cm}
6353 \begin{tabular}{|c|c|p{7cm}|}
6354 \hline
6355 {\bf type} & {\bf name} & {\bf description} \\ \hline
6356 {\tt PIF ref } & self & object instance \\ \hline
6358 \end{tabular}
6360 \vspace{0.3cm}
6362 \noindent {\bf Return Type:}
6363 {\tt
6364 host ref
6368 value of the field
6369 \vspace{0.3cm}
6370 \vspace{0.3cm}
6371 \vspace{0.3cm}
6372 \subsubsection{RPC name:~set\_host}
6374 {\bf Overview:}
6375 set accessor message derived from field host of object PIF
6377 \noindent {\bf Signature:}
6378 \begin{verbatim} void set_host (session_id s, PIF ref self, host ref value)\end{verbatim}
6381 \noindent{\bf Arguments:}
6384 \vspace{0.3cm}
6385 \begin{tabular}{|c|c|p{7cm}|}
6386 \hline
6387 {\bf type} & {\bf name} & {\bf description} \\ \hline
6388 {\tt PIF ref } & self & object instance \\ \hline
6390 {\tt host ref } & value & New value to set \\ \hline
6392 \end{tabular}
6394 \vspace{0.3cm}
6396 \noindent {\bf Return Type:}
6397 {\tt
6398 void
6403 \vspace{0.3cm}
6404 \vspace{0.3cm}
6405 \vspace{0.3cm}
6406 \subsubsection{RPC name:~get\_MAC}
6408 {\bf Overview:}
6409 get accessor message derived from field MAC of object PIF
6411 \noindent {\bf Signature:}
6412 \begin{verbatim} string get_MAC (session_id s, PIF ref self)\end{verbatim}
6415 \noindent{\bf Arguments:}
6418 \vspace{0.3cm}
6419 \begin{tabular}{|c|c|p{7cm}|}
6420 \hline
6421 {\bf type} & {\bf name} & {\bf description} \\ \hline
6422 {\tt PIF ref } & self & object instance \\ \hline
6424 \end{tabular}
6426 \vspace{0.3cm}
6428 \noindent {\bf Return Type:}
6429 {\tt
6430 string
6434 value of the field
6435 \vspace{0.3cm}
6436 \vspace{0.3cm}
6437 \vspace{0.3cm}
6438 \subsubsection{RPC name:~set\_MAC}
6440 {\bf Overview:}
6441 set accessor message derived from field MAC of object PIF
6443 \noindent {\bf Signature:}
6444 \begin{verbatim} void set_MAC (session_id s, PIF ref self, string value)\end{verbatim}
6447 \noindent{\bf Arguments:}
6450 \vspace{0.3cm}
6451 \begin{tabular}{|c|c|p{7cm}|}
6452 \hline
6453 {\bf type} & {\bf name} & {\bf description} \\ \hline
6454 {\tt PIF ref } & self & object instance \\ \hline
6456 {\tt string } & value & New value to set \\ \hline
6458 \end{tabular}
6460 \vspace{0.3cm}
6462 \noindent {\bf Return Type:}
6463 {\tt
6464 void
6469 \vspace{0.3cm}
6470 \vspace{0.3cm}
6471 \vspace{0.3cm}
6472 \subsubsection{RPC name:~get\_MTU}
6474 {\bf Overview:}
6475 get accessor message derived from field MTU of object PIF
6477 \noindent {\bf Signature:}
6478 \begin{verbatim} int get_MTU (session_id s, PIF ref self)\end{verbatim}
6481 \noindent{\bf Arguments:}
6484 \vspace{0.3cm}
6485 \begin{tabular}{|c|c|p{7cm}|}
6486 \hline
6487 {\bf type} & {\bf name} & {\bf description} \\ \hline
6488 {\tt PIF ref } & self & object instance \\ \hline
6490 \end{tabular}
6492 \vspace{0.3cm}
6494 \noindent {\bf Return Type:}
6495 {\tt
6496 int
6500 value of the field
6501 \vspace{0.3cm}
6502 \vspace{0.3cm}
6503 \vspace{0.3cm}
6504 \subsubsection{RPC name:~set\_MTU}
6506 {\bf Overview:}
6507 set accessor message derived from field MTU of object PIF
6509 \noindent {\bf Signature:}
6510 \begin{verbatim} void set_MTU (session_id s, PIF ref self, int value)\end{verbatim}
6513 \noindent{\bf Arguments:}
6516 \vspace{0.3cm}
6517 \begin{tabular}{|c|c|p{7cm}|}
6518 \hline
6519 {\bf type} & {\bf name} & {\bf description} \\ \hline
6520 {\tt PIF ref } & self & object instance \\ \hline
6522 {\tt int } & value & New value to set \\ \hline
6524 \end{tabular}
6526 \vspace{0.3cm}
6528 \noindent {\bf Return Type:}
6529 {\tt
6530 void
6535 \vspace{0.3cm}
6536 \vspace{0.3cm}
6537 \vspace{0.3cm}
6538 \subsubsection{RPC name:~get\_VLAN}
6540 {\bf Overview:}
6541 get accessor message derived from field VLAN of object PIF
6543 \noindent {\bf Signature:}
6544 \begin{verbatim} string get_VLAN (session_id s, PIF ref self)\end{verbatim}
6547 \noindent{\bf Arguments:}
6550 \vspace{0.3cm}
6551 \begin{tabular}{|c|c|p{7cm}|}
6552 \hline
6553 {\bf type} & {\bf name} & {\bf description} \\ \hline
6554 {\tt PIF ref } & self & object instance \\ \hline
6556 \end{tabular}
6558 \vspace{0.3cm}
6560 \noindent {\bf Return Type:}
6561 {\tt
6562 string
6566 value of the field
6567 \vspace{0.3cm}
6568 \vspace{0.3cm}
6569 \vspace{0.3cm}
6570 \subsubsection{RPC name:~set\_VLAN}
6572 {\bf Overview:}
6573 set accessor message derived from field VLAN of object PIF
6575 \noindent {\bf Signature:}
6576 \begin{verbatim} void set_VLAN (session_id s, PIF ref self, string value)\end{verbatim}
6579 \noindent{\bf Arguments:}
6582 \vspace{0.3cm}
6583 \begin{tabular}{|c|c|p{7cm}|}
6584 \hline
6585 {\bf type} & {\bf name} & {\bf description} \\ \hline
6586 {\tt PIF ref } & self & object instance \\ \hline
6588 {\tt string } & value & New value to set \\ \hline
6590 \end{tabular}
6592 \vspace{0.3cm}
6594 \noindent {\bf Return Type:}
6595 {\tt
6596 void
6601 \vspace{0.3cm}
6602 \vspace{0.3cm}
6603 \vspace{0.3cm}
6604 \subsubsection{RPC name:~get\_io\_read\_kbs}
6606 {\bf Overview:}
6607 get accessor message derived from field io/read\_kbs of object PIF
6609 \noindent {\bf Signature:}
6610 \begin{verbatim} float get_io_read_kbs (session_id s, PIF ref self)\end{verbatim}
6613 \noindent{\bf Arguments:}
6616 \vspace{0.3cm}
6617 \begin{tabular}{|c|c|p{7cm}|}
6618 \hline
6619 {\bf type} & {\bf name} & {\bf description} \\ \hline
6620 {\tt PIF ref } & self & object instance \\ \hline
6622 \end{tabular}
6624 \vspace{0.3cm}
6626 \noindent {\bf Return Type:}
6627 {\tt
6628 float
6632 value of the field
6633 \vspace{0.3cm}
6634 \vspace{0.3cm}
6635 \vspace{0.3cm}
6636 \subsubsection{RPC name:~get\_io\_write\_kbs}
6638 {\bf Overview:}
6639 get accessor message derived from field io/write\_kbs of object PIF
6641 \noindent {\bf Signature:}
6642 \begin{verbatim} float get_io_write_kbs (session_id s, PIF ref self)\end{verbatim}
6645 \noindent{\bf Arguments:}
6648 \vspace{0.3cm}
6649 \begin{tabular}{|c|c|p{7cm}|}
6650 \hline
6651 {\bf type} & {\bf name} & {\bf description} \\ \hline
6652 {\tt PIF ref } & self & object instance \\ \hline
6654 \end{tabular}
6656 \vspace{0.3cm}
6658 \noindent {\bf Return Type:}
6659 {\tt
6660 float
6664 value of the field
6665 \vspace{0.3cm}
6666 \vspace{0.3cm}
6667 \vspace{0.3cm}
6668 \subsubsection{RPC name:~create}
6670 {\bf Overview:}
6671 constructor for class PIF
6673 \noindent {\bf Signature:}
6674 \begin{verbatim} (PIF ref) create (session_id s, PIF record args)\end{verbatim}
6677 \noindent{\bf Arguments:}
6680 \vspace{0.3cm}
6681 \begin{tabular}{|c|c|p{7cm}|}
6682 \hline
6683 {\bf type} & {\bf name} & {\bf description} \\ \hline
6684 {\tt PIF record } & args & All constructor arguments \\ \hline
6686 \end{tabular}
6688 \vspace{0.3cm}
6690 \noindent {\bf Return Type:}
6691 {\tt
6692 PIF ref
6696 reference to the newly created object
6697 \vspace{0.3cm}
6698 \vspace{0.3cm}
6699 \vspace{0.3cm}
6700 \subsubsection{RPC name:~destroy}
6702 {\bf Overview:}
6703 destructor for class PIF
6705 \noindent {\bf Signature:}
6706 \begin{verbatim} void destroy (session_id s, PIF ref self)\end{verbatim}
6709 \noindent{\bf Arguments:}
6712 \vspace{0.3cm}
6713 \begin{tabular}{|c|c|p{7cm}|}
6714 \hline
6715 {\bf type} & {\bf name} & {\bf description} \\ \hline
6716 {\tt PIF ref } & self & object instance \\ \hline
6718 \end{tabular}
6720 \vspace{0.3cm}
6722 \noindent {\bf Return Type:}
6723 {\tt
6724 void
6729 \vspace{0.3cm}
6730 \vspace{0.3cm}
6731 \vspace{0.3cm}
6732 \subsubsection{RPC name:~get\_by\_uuid}
6734 {\bf Overview:}
6735 returns the PIF instance with a particular uuid
6737 \noindent {\bf Signature:}
6738 \begin{verbatim} (PIF ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
6741 \noindent{\bf Arguments:}
6744 \vspace{0.3cm}
6745 \begin{tabular}{|c|c|p{7cm}|}
6746 \hline
6747 {\bf type} & {\bf name} & {\bf description} \\ \hline
6748 {\tt string } & uuid & UUID of object to return \\ \hline
6750 \end{tabular}
6752 \vspace{0.3cm}
6754 \noindent {\bf Return Type:}
6755 {\tt
6756 PIF ref
6760 reference to the object
6761 \vspace{0.3cm}
6762 \vspace{0.3cm}
6763 \vspace{0.3cm}
6764 \subsubsection{RPC name:~get\_record}
6766 {\bf Overview:}
6767 returns a record containing the state of an instance of class PIF
6769 \noindent {\bf Signature:}
6770 \begin{verbatim} (PIF record) get_record (session_id s, PIF ref self)\end{verbatim}
6773 \noindent{\bf Arguments:}
6776 \vspace{0.3cm}
6777 \begin{tabular}{|c|c|p{7cm}|}
6778 \hline
6779 {\bf type} & {\bf name} & {\bf description} \\ \hline
6780 {\tt PIF ref } & self & reference to the object \\ \hline
6782 \end{tabular}
6784 \vspace{0.3cm}
6786 \noindent {\bf Return Type:}
6787 {\tt
6788 PIF record
6792 all fields from the object
6793 \vspace{0.3cm}
6794 \vspace{0.3cm}
6795 \vspace{0.3cm}
6797 \vspace{1cm}
6798 \newpage
6799 \section{Class: SR}
6800 \subsection{Fields for class: SR}
6801 \begin{longtable}{|lllp{0.38\textwidth}|}
6802 \hline
6803 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf SR} \\
6804 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A storage repository}} \\
6805 \hline
6806 Quals & Field & Type & Description \\
6807 \hline
6808 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
6809 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
6810 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
6811 $\mathit{RO}_\mathit{run}$ & {\tt VDIs} & (VDI ref) Set & managed virtual disks \\
6812 $\mathit{RO}_\mathit{run}$ & {\tt virtual\_allocation} & int & sum of virtual\_sizes of all VDIs in this storage repository (in bytes) \\
6813 $\mathit{RO}_\mathit{run}$ & {\tt physical\_utilisation} & int & physical space currently utilised on this storage repository (in bytes). Note that for sparse disk formats, physical\_utilisation may be less than virtual\_allocation \\
6814 $\mathit{RO}_\mathit{ins}$ & {\tt physical\_size} & int & total physical size of the repository (in bytes) \\
6815 $\mathit{RO}_\mathit{ins}$ & {\tt type} & string & type of the storage repository \\
6816 $\mathit{RO}_\mathit{ins}$ & {\tt location} & string & a string that uniquely determines the location of the storage repository; the format of this string depends on the repository's type \\
6817 \hline
6818 \end{longtable}
6819 \subsection{Additional RPCs associated with class: SR}
6820 \subsubsection{RPC name:~clone}
6822 {\bf Overview:}
6823 Take an exact copy of the Storage Repository;
6824 the cloned storage repository has the same type as its parent
6826 \noindent {\bf Signature:}
6827 \begin{verbatim} (SR ref) clone (session_id s, SR ref sr, string loc, string name)\end{verbatim}
6830 \noindent{\bf Arguments:}
6833 \vspace{0.3cm}
6834 \begin{tabular}{|c|c|p{7cm}|}
6835 \hline
6836 {\bf type} & {\bf name} & {\bf description} \\ \hline
6837 {\tt SR ref } & sr & The Storage Repository to clone \\ \hline
6839 {\tt string } & loc & The location string that defines where the new storage repository will be located \\ \hline
6841 {\tt string } & name & The name of the new storage repository \\ \hline
6843 \end{tabular}
6845 \vspace{0.3cm}
6847 \noindent {\bf Return Type:}
6848 {\tt
6849 SR ref
6853 The ID of the newly created Storage Repository.
6854 \vspace{0.3cm}
6855 \vspace{0.3cm}
6856 \vspace{0.3cm}
6857 \subsubsection{RPC name:~get\_all}
6859 {\bf Overview:}
6860 Return a list of all the Storage Repositories known to the system
6862 \noindent {\bf Signature:}
6863 \begin{verbatim} ((SR ref) Set) get_all (session_id s)\end{verbatim}
6866 \vspace{0.3cm}
6868 \noindent {\bf Return Type:}
6869 {\tt
6870 (SR ref) Set
6874 A list of all the IDs of all the Storage Repositories
6875 \vspace{0.3cm}
6876 \vspace{0.3cm}
6877 \vspace{0.3cm}
6878 \subsubsection{RPC name:~get\_uuid}
6880 {\bf Overview:}
6881 get accessor message derived from field uuid of object SR
6883 \noindent {\bf Signature:}
6884 \begin{verbatim} string get_uuid (session_id s, SR ref self)\end{verbatim}
6887 \noindent{\bf Arguments:}
6890 \vspace{0.3cm}
6891 \begin{tabular}{|c|c|p{7cm}|}
6892 \hline
6893 {\bf type} & {\bf name} & {\bf description} \\ \hline
6894 {\tt SR ref } & self & object instance \\ \hline
6896 \end{tabular}
6898 \vspace{0.3cm}
6900 \noindent {\bf Return Type:}
6901 {\tt
6902 string
6906 value of the field
6907 \vspace{0.3cm}
6908 \vspace{0.3cm}
6909 \vspace{0.3cm}
6910 \subsubsection{RPC name:~get\_name\_label}
6912 {\bf Overview:}
6913 get accessor message derived from field name/label of object SR
6915 \noindent {\bf Signature:}
6916 \begin{verbatim} string get_name_label (session_id s, SR ref self)\end{verbatim}
6919 \noindent{\bf Arguments:}
6922 \vspace{0.3cm}
6923 \begin{tabular}{|c|c|p{7cm}|}
6924 \hline
6925 {\bf type} & {\bf name} & {\bf description} \\ \hline
6926 {\tt SR ref } & self & object instance \\ \hline
6928 \end{tabular}
6930 \vspace{0.3cm}
6932 \noindent {\bf Return Type:}
6933 {\tt
6934 string
6938 value of the field
6939 \vspace{0.3cm}
6940 \vspace{0.3cm}
6941 \vspace{0.3cm}
6942 \subsubsection{RPC name:~set\_name\_label}
6944 {\bf Overview:}
6945 set accessor message derived from field name/label of object SR
6947 \noindent {\bf Signature:}
6948 \begin{verbatim} void set_name_label (session_id s, SR ref self, string value)\end{verbatim}
6951 \noindent{\bf Arguments:}
6954 \vspace{0.3cm}
6955 \begin{tabular}{|c|c|p{7cm}|}
6956 \hline
6957 {\bf type} & {\bf name} & {\bf description} \\ \hline
6958 {\tt SR ref } & self & object instance \\ \hline
6960 {\tt string } & value & New value to set \\ \hline
6962 \end{tabular}
6964 \vspace{0.3cm}
6966 \noindent {\bf Return Type:}
6967 {\tt
6968 void
6973 \vspace{0.3cm}
6974 \vspace{0.3cm}
6975 \vspace{0.3cm}
6976 \subsubsection{RPC name:~get\_name\_description}
6978 {\bf Overview:}
6979 get accessor message derived from field name/description of object SR
6981 \noindent {\bf Signature:}
6982 \begin{verbatim} string get_name_description (session_id s, SR ref self)\end{verbatim}
6985 \noindent{\bf Arguments:}
6988 \vspace{0.3cm}
6989 \begin{tabular}{|c|c|p{7cm}|}
6990 \hline
6991 {\bf type} & {\bf name} & {\bf description} \\ \hline
6992 {\tt SR ref } & self & object instance \\ \hline
6994 \end{tabular}
6996 \vspace{0.3cm}
6998 \noindent {\bf Return Type:}
6999 {\tt
7000 string
7004 value of the field
7005 \vspace{0.3cm}
7006 \vspace{0.3cm}
7007 \vspace{0.3cm}
7008 \subsubsection{RPC name:~set\_name\_description}
7010 {\bf Overview:}
7011 set accessor message derived from field name/description of object SR
7013 \noindent {\bf Signature:}
7014 \begin{verbatim} void set_name_description (session_id s, SR ref self, string value)\end{verbatim}
7017 \noindent{\bf Arguments:}
7020 \vspace{0.3cm}
7021 \begin{tabular}{|c|c|p{7cm}|}
7022 \hline
7023 {\bf type} & {\bf name} & {\bf description} \\ \hline
7024 {\tt SR ref } & self & object instance \\ \hline
7026 {\tt string } & value & New value to set \\ \hline
7028 \end{tabular}
7030 \vspace{0.3cm}
7032 \noindent {\bf Return Type:}
7033 {\tt
7034 void
7039 \vspace{0.3cm}
7040 \vspace{0.3cm}
7041 \vspace{0.3cm}
7042 \subsubsection{RPC name:~get\_VDIs}
7044 {\bf Overview:}
7045 get accessor message derived from field VDIs of object SR
7047 \noindent {\bf Signature:}
7048 \begin{verbatim} ((VDI ref) Set) get_VDIs (session_id s, SR ref self)\end{verbatim}
7051 \noindent{\bf Arguments:}
7054 \vspace{0.3cm}
7055 \begin{tabular}{|c|c|p{7cm}|}
7056 \hline
7057 {\bf type} & {\bf name} & {\bf description} \\ \hline
7058 {\tt SR ref } & self & object instance \\ \hline
7060 \end{tabular}
7062 \vspace{0.3cm}
7064 \noindent {\bf Return Type:}
7065 {\tt
7066 (VDI ref) Set
7070 value of the field
7071 \vspace{0.3cm}
7072 \vspace{0.3cm}
7073 \vspace{0.3cm}
7074 \subsubsection{RPC name:~get\_virtual\_allocation}
7076 {\bf Overview:}
7077 get accessor message derived from field virtual\_allocation of object SR
7079 \noindent {\bf Signature:}
7080 \begin{verbatim} int get_virtual_allocation (session_id s, SR ref self)\end{verbatim}
7083 \noindent{\bf Arguments:}
7086 \vspace{0.3cm}
7087 \begin{tabular}{|c|c|p{7cm}|}
7088 \hline
7089 {\bf type} & {\bf name} & {\bf description} \\ \hline
7090 {\tt SR ref } & self & object instance \\ \hline
7092 \end{tabular}
7094 \vspace{0.3cm}
7096 \noindent {\bf Return Type:}
7097 {\tt
7098 int
7102 value of the field
7103 \vspace{0.3cm}
7104 \vspace{0.3cm}
7105 \vspace{0.3cm}
7106 \subsubsection{RPC name:~get\_physical\_utilisation}
7108 {\bf Overview:}
7109 get accessor message derived from field physical\_utilisation of object SR
7111 \noindent {\bf Signature:}
7112 \begin{verbatim} int get_physical_utilisation (session_id s, SR ref self)\end{verbatim}
7115 \noindent{\bf Arguments:}
7118 \vspace{0.3cm}
7119 \begin{tabular}{|c|c|p{7cm}|}
7120 \hline
7121 {\bf type} & {\bf name} & {\bf description} \\ \hline
7122 {\tt SR ref } & self & object instance \\ \hline
7124 \end{tabular}
7126 \vspace{0.3cm}
7128 \noindent {\bf Return Type:}
7129 {\tt
7130 int
7134 value of the field
7135 \vspace{0.3cm}
7136 \vspace{0.3cm}
7137 \vspace{0.3cm}
7138 \subsubsection{RPC name:~get\_physical\_size}
7140 {\bf Overview:}
7141 get accessor message derived from field physical\_size of object SR
7143 \noindent {\bf Signature:}
7144 \begin{verbatim} int get_physical_size (session_id s, SR ref self)\end{verbatim}
7147 \noindent{\bf Arguments:}
7150 \vspace{0.3cm}
7151 \begin{tabular}{|c|c|p{7cm}|}
7152 \hline
7153 {\bf type} & {\bf name} & {\bf description} \\ \hline
7154 {\tt SR ref } & self & object instance \\ \hline
7156 \end{tabular}
7158 \vspace{0.3cm}
7160 \noindent {\bf Return Type:}
7161 {\tt
7162 int
7166 value of the field
7167 \vspace{0.3cm}
7168 \vspace{0.3cm}
7169 \vspace{0.3cm}
7170 \subsubsection{RPC name:~get\_type}
7172 {\bf Overview:}
7173 get accessor message derived from field type of object SR
7175 \noindent {\bf Signature:}
7176 \begin{verbatim} string get_type (session_id s, SR ref self)\end{verbatim}
7179 \noindent{\bf Arguments:}
7182 \vspace{0.3cm}
7183 \begin{tabular}{|c|c|p{7cm}|}
7184 \hline
7185 {\bf type} & {\bf name} & {\bf description} \\ \hline
7186 {\tt SR ref } & self & object instance \\ \hline
7188 \end{tabular}
7190 \vspace{0.3cm}
7192 \noindent {\bf Return Type:}
7193 {\tt
7194 string
7198 value of the field
7199 \vspace{0.3cm}
7200 \vspace{0.3cm}
7201 \vspace{0.3cm}
7202 \subsubsection{RPC name:~get\_location}
7204 {\bf Overview:}
7205 get accessor message derived from field location of object SR
7207 \noindent {\bf Signature:}
7208 \begin{verbatim} string get_location (session_id s, SR ref self)\end{verbatim}
7211 \noindent{\bf Arguments:}
7214 \vspace{0.3cm}
7215 \begin{tabular}{|c|c|p{7cm}|}
7216 \hline
7217 {\bf type} & {\bf name} & {\bf description} \\ \hline
7218 {\tt SR ref } & self & object instance \\ \hline
7220 \end{tabular}
7222 \vspace{0.3cm}
7224 \noindent {\bf Return Type:}
7225 {\tt
7226 string
7230 value of the field
7231 \vspace{0.3cm}
7232 \vspace{0.3cm}
7233 \vspace{0.3cm}
7234 \subsubsection{RPC name:~create}
7236 {\bf Overview:}
7237 constructor for class SR
7239 \noindent {\bf Signature:}
7240 \begin{verbatim} (SR ref) create (session_id s, SR record args)\end{verbatim}
7243 \noindent{\bf Arguments:}
7246 \vspace{0.3cm}
7247 \begin{tabular}{|c|c|p{7cm}|}
7248 \hline
7249 {\bf type} & {\bf name} & {\bf description} \\ \hline
7250 {\tt SR record } & args & All constructor arguments \\ \hline
7252 \end{tabular}
7254 \vspace{0.3cm}
7256 \noindent {\bf Return Type:}
7257 {\tt
7258 SR ref
7262 reference to the newly created object
7263 \vspace{0.3cm}
7264 \vspace{0.3cm}
7265 \vspace{0.3cm}
7266 \subsubsection{RPC name:~destroy}
7268 {\bf Overview:}
7269 destructor for class SR
7271 \noindent {\bf Signature:}
7272 \begin{verbatim} void destroy (session_id s, SR ref self)\end{verbatim}
7275 \noindent{\bf Arguments:}
7278 \vspace{0.3cm}
7279 \begin{tabular}{|c|c|p{7cm}|}
7280 \hline
7281 {\bf type} & {\bf name} & {\bf description} \\ \hline
7282 {\tt SR ref } & self & object instance \\ \hline
7284 \end{tabular}
7286 \vspace{0.3cm}
7288 \noindent {\bf Return Type:}
7289 {\tt
7290 void
7295 \vspace{0.3cm}
7296 \vspace{0.3cm}
7297 \vspace{0.3cm}
7298 \subsubsection{RPC name:~get\_by\_uuid}
7300 {\bf Overview:}
7301 returns the SR instance with a particular uuid
7303 \noindent {\bf Signature:}
7304 \begin{verbatim} (SR ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
7307 \noindent{\bf Arguments:}
7310 \vspace{0.3cm}
7311 \begin{tabular}{|c|c|p{7cm}|}
7312 \hline
7313 {\bf type} & {\bf name} & {\bf description} \\ \hline
7314 {\tt string } & uuid & UUID of object to return \\ \hline
7316 \end{tabular}
7318 \vspace{0.3cm}
7320 \noindent {\bf Return Type:}
7321 {\tt
7322 SR ref
7326 reference to the object
7327 \vspace{0.3cm}
7328 \vspace{0.3cm}
7329 \vspace{0.3cm}
7330 \subsubsection{RPC name:~get\_record}
7332 {\bf Overview:}
7333 returns a record containing the state of an instance of class SR
7335 \noindent {\bf Signature:}
7336 \begin{verbatim} (SR record) get_record (session_id s, SR ref self)\end{verbatim}
7339 \noindent{\bf Arguments:}
7342 \vspace{0.3cm}
7343 \begin{tabular}{|c|c|p{7cm}|}
7344 \hline
7345 {\bf type} & {\bf name} & {\bf description} \\ \hline
7346 {\tt SR ref } & self & reference to the object \\ \hline
7348 \end{tabular}
7350 \vspace{0.3cm}
7352 \noindent {\bf Return Type:}
7353 {\tt
7354 SR record
7358 all fields from the object
7359 \vspace{0.3cm}
7360 \vspace{0.3cm}
7361 \vspace{0.3cm}
7362 \subsubsection{RPC name:~get\_by\_name\_label}
7364 {\bf Overview:}
7365 returns the SR instance with a particular name label
7367 \noindent {\bf Signature:}
7368 \begin{verbatim} ((SR ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
7371 \noindent{\bf Arguments:}
7374 \vspace{0.3cm}
7375 \begin{tabular}{|c|c|p{7cm}|}
7376 \hline
7377 {\bf type} & {\bf name} & {\bf description} \\ \hline
7378 {\tt string } & label & label of object to return \\ \hline
7380 \end{tabular}
7382 \vspace{0.3cm}
7384 \noindent {\bf Return Type:}
7385 {\tt
7386 (SR ref) Set
7390 references to objects with match names
7391 \vspace{0.3cm}
7392 \vspace{0.3cm}
7393 \vspace{0.3cm}
7395 \vspace{1cm}
7396 \newpage
7397 \section{Class: VDI}
7398 \subsection{Fields for class: VDI}
7399 \begin{longtable}{|lllp{0.38\textwidth}|}
7400 \hline
7401 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VDI} \\
7402 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A virtual disk image}} \\
7403 \hline
7404 Quals & Field & Type & Description \\
7405 \hline
7406 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
7407 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
7408 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
7409 $\mathit{RW}$ & {\tt SR} & SR ref & storage repository in which the VDI resides \\
7410 $\mathit{RO}_\mathit{run}$ & {\tt VBDs} & (VBD ref) Set & list of vbds that refer to this disk \\
7411 $\mathit{RW}$ & {\tt virtual\_size} & int & size of disk as presented to the guest (in multiples of sector\_size field) \\
7412 $\mathit{RO}_\mathit{run}$ & {\tt physical\_utilisation} & int & amount of physical space that the disk image is currently taking up on the storage repository (in bytes) \\
7413 $\mathit{RO}_\mathit{ins}$ & {\tt sector\_size} & int & sector size of VDI (in bytes) \\
7414 $\mathit{RO}_\mathit{ins}$ & {\tt type} & vdi\_type & type of the VDI \\
7415 $\mathit{RO}_\mathit{ins}$ & {\tt parent} & VDI ref & parent disk (e.g. in the case of copy on write) \\
7416 $\mathit{RO}_\mathit{run}$ & {\tt children} & (VDI ref) Set & child disks (e.g. in the case of copy on write) \\
7417 $\mathit{RW}$ & {\tt sharable} & bool & true if this disk may be shared \\
7418 $\mathit{RW}$ & {\tt read\_only} & bool & true if this disk may ONLY be mounted read-only \\
7419 \hline
7420 \end{longtable}
7421 \subsection{Additional RPCs associated with class: VDI}
7422 \subsubsection{RPC name:~snapshot}
7424 {\bf Overview:}
7425 Take an exact copy of the VDI; the snapshot lives in the same Storage Repository as its parent.
7427 \noindent {\bf Signature:}
7428 \begin{verbatim} (VDI ref) snapshot (session_id s, VDI ref vdi)\end{verbatim}
7431 \noindent{\bf Arguments:}
7434 \vspace{0.3cm}
7435 \begin{tabular}{|c|c|p{7cm}|}
7436 \hline
7437 {\bf type} & {\bf name} & {\bf description} \\ \hline
7438 {\tt VDI ref } & vdi & The VDI to snapshot \\ \hline
7440 \end{tabular}
7442 \vspace{0.3cm}
7444 \noindent {\bf Return Type:}
7445 {\tt
7446 VDI ref
7450 The ID of the newly created VDI.
7451 \vspace{0.3cm}
7452 \vspace{0.3cm}
7453 \vspace{0.3cm}
7454 \subsubsection{RPC name:~resize}
7456 {\bf Overview:}
7457 Resize the vdi to the size.
7459 \noindent {\bf Signature:}
7460 \begin{verbatim} void resize (session_id s, VDI ref vdi, int size)\end{verbatim}
7463 \noindent{\bf Arguments:}
7466 \vspace{0.3cm}
7467 \begin{tabular}{|c|c|p{7cm}|}
7468 \hline
7469 {\bf type} & {\bf name} & {\bf description} \\ \hline
7470 {\tt VDI ref } & vdi & The VDI to resize \\ \hline
7472 {\tt int } & size & The new size of the VDI \\ \hline
7474 \end{tabular}
7476 \vspace{0.3cm}
7478 \noindent {\bf Return Type:}
7479 {\tt
7480 void
7485 \vspace{0.3cm}
7486 \vspace{0.3cm}
7487 \vspace{0.3cm}
7488 \subsubsection{RPC name:~get\_uuid}
7490 {\bf Overview:}
7491 get accessor message derived from field uuid of object VDI
7493 \noindent {\bf Signature:}
7494 \begin{verbatim} string get_uuid (session_id s, VDI ref self)\end{verbatim}
7497 \noindent{\bf Arguments:}
7500 \vspace{0.3cm}
7501 \begin{tabular}{|c|c|p{7cm}|}
7502 \hline
7503 {\bf type} & {\bf name} & {\bf description} \\ \hline
7504 {\tt VDI ref } & self & object instance \\ \hline
7506 \end{tabular}
7508 \vspace{0.3cm}
7510 \noindent {\bf Return Type:}
7511 {\tt
7512 string
7516 value of the field
7517 \vspace{0.3cm}
7518 \vspace{0.3cm}
7519 \vspace{0.3cm}
7520 \subsubsection{RPC name:~get\_name\_label}
7522 {\bf Overview:}
7523 get accessor message derived from field name/label of object VDI
7525 \noindent {\bf Signature:}
7526 \begin{verbatim} string get_name_label (session_id s, VDI ref self)\end{verbatim}
7529 \noindent{\bf Arguments:}
7532 \vspace{0.3cm}
7533 \begin{tabular}{|c|c|p{7cm}|}
7534 \hline
7535 {\bf type} & {\bf name} & {\bf description} \\ \hline
7536 {\tt VDI ref } & self & object instance \\ \hline
7538 \end{tabular}
7540 \vspace{0.3cm}
7542 \noindent {\bf Return Type:}
7543 {\tt
7544 string
7548 value of the field
7549 \vspace{0.3cm}
7550 \vspace{0.3cm}
7551 \vspace{0.3cm}
7552 \subsubsection{RPC name:~set\_name\_label}
7554 {\bf Overview:}
7555 set accessor message derived from field name/label of object VDI
7557 \noindent {\bf Signature:}
7558 \begin{verbatim} void set_name_label (session_id s, VDI ref self, string value)\end{verbatim}
7561 \noindent{\bf Arguments:}
7564 \vspace{0.3cm}
7565 \begin{tabular}{|c|c|p{7cm}|}
7566 \hline
7567 {\bf type} & {\bf name} & {\bf description} \\ \hline
7568 {\tt VDI ref } & self & object instance \\ \hline
7570 {\tt string } & value & New value to set \\ \hline
7572 \end{tabular}
7574 \vspace{0.3cm}
7576 \noindent {\bf Return Type:}
7577 {\tt
7578 void
7583 \vspace{0.3cm}
7584 \vspace{0.3cm}
7585 \vspace{0.3cm}
7586 \subsubsection{RPC name:~get\_name\_description}
7588 {\bf Overview:}
7589 get accessor message derived from field name/description of object VDI
7591 \noindent {\bf Signature:}
7592 \begin{verbatim} string get_name_description (session_id s, VDI ref self)\end{verbatim}
7595 \noindent{\bf Arguments:}
7598 \vspace{0.3cm}
7599 \begin{tabular}{|c|c|p{7cm}|}
7600 \hline
7601 {\bf type} & {\bf name} & {\bf description} \\ \hline
7602 {\tt VDI ref } & self & object instance \\ \hline
7604 \end{tabular}
7606 \vspace{0.3cm}
7608 \noindent {\bf Return Type:}
7609 {\tt
7610 string
7614 value of the field
7615 \vspace{0.3cm}
7616 \vspace{0.3cm}
7617 \vspace{0.3cm}
7618 \subsubsection{RPC name:~set\_name\_description}
7620 {\bf Overview:}
7621 set accessor message derived from field name/description of object VDI
7623 \noindent {\bf Signature:}
7624 \begin{verbatim} void set_name_description (session_id s, VDI ref self, string value)\end{verbatim}
7627 \noindent{\bf Arguments:}
7630 \vspace{0.3cm}
7631 \begin{tabular}{|c|c|p{7cm}|}
7632 \hline
7633 {\bf type} & {\bf name} & {\bf description} \\ \hline
7634 {\tt VDI ref } & self & object instance \\ \hline
7636 {\tt string } & value & New value to set \\ \hline
7638 \end{tabular}
7640 \vspace{0.3cm}
7642 \noindent {\bf Return Type:}
7643 {\tt
7644 void
7649 \vspace{0.3cm}
7650 \vspace{0.3cm}
7651 \vspace{0.3cm}
7652 \subsubsection{RPC name:~get\_SR}
7654 {\bf Overview:}
7655 get accessor message derived from field SR of object VDI
7657 \noindent {\bf Signature:}
7658 \begin{verbatim} (SR ref) get_SR (session_id s, VDI ref self)\end{verbatim}
7661 \noindent{\bf Arguments:}
7664 \vspace{0.3cm}
7665 \begin{tabular}{|c|c|p{7cm}|}
7666 \hline
7667 {\bf type} & {\bf name} & {\bf description} \\ \hline
7668 {\tt VDI ref } & self & object instance \\ \hline
7670 \end{tabular}
7672 \vspace{0.3cm}
7674 \noindent {\bf Return Type:}
7675 {\tt
7676 SR ref
7680 value of the field
7681 \vspace{0.3cm}
7682 \vspace{0.3cm}
7683 \vspace{0.3cm}
7684 \subsubsection{RPC name:~set\_SR}
7686 {\bf Overview:}
7687 set accessor message derived from field SR of object VDI
7689 \noindent {\bf Signature:}
7690 \begin{verbatim} void set_SR (session_id s, VDI ref self, SR ref value)\end{verbatim}
7693 \noindent{\bf Arguments:}
7696 \vspace{0.3cm}
7697 \begin{tabular}{|c|c|p{7cm}|}
7698 \hline
7699 {\bf type} & {\bf name} & {\bf description} \\ \hline
7700 {\tt VDI ref } & self & object instance \\ \hline
7702 {\tt SR ref } & value & New value to set \\ \hline
7704 \end{tabular}
7706 \vspace{0.3cm}
7708 \noindent {\bf Return Type:}
7709 {\tt
7710 void
7715 \vspace{0.3cm}
7716 \vspace{0.3cm}
7717 \vspace{0.3cm}
7718 \subsubsection{RPC name:~get\_VBDs}
7720 {\bf Overview:}
7721 get accessor message derived from field VBDs of object VDI
7723 \noindent {\bf Signature:}
7724 \begin{verbatim} ((VBD ref) Set) get_VBDs (session_id s, VDI ref self)\end{verbatim}
7727 \noindent{\bf Arguments:}
7730 \vspace{0.3cm}
7731 \begin{tabular}{|c|c|p{7cm}|}
7732 \hline
7733 {\bf type} & {\bf name} & {\bf description} \\ \hline
7734 {\tt VDI ref } & self & object instance \\ \hline
7736 \end{tabular}
7738 \vspace{0.3cm}
7740 \noindent {\bf Return Type:}
7741 {\tt
7742 (VBD ref) Set
7746 value of the field
7747 \vspace{0.3cm}
7748 \vspace{0.3cm}
7749 \vspace{0.3cm}
7750 \subsubsection{RPC name:~get\_virtual\_size}
7752 {\bf Overview:}
7753 get accessor message derived from field virtual\_size of object VDI
7755 \noindent {\bf Signature:}
7756 \begin{verbatim} int get_virtual_size (session_id s, VDI ref self)\end{verbatim}
7759 \noindent{\bf Arguments:}
7762 \vspace{0.3cm}
7763 \begin{tabular}{|c|c|p{7cm}|}
7764 \hline
7765 {\bf type} & {\bf name} & {\bf description} \\ \hline
7766 {\tt VDI ref } & self & object instance \\ \hline
7768 \end{tabular}
7770 \vspace{0.3cm}
7772 \noindent {\bf Return Type:}
7773 {\tt
7774 int
7778 value of the field
7779 \vspace{0.3cm}
7780 \vspace{0.3cm}
7781 \vspace{0.3cm}
7782 \subsubsection{RPC name:~set\_virtual\_size}
7784 {\bf Overview:}
7785 set accessor message derived from field virtual\_size of object VDI
7787 \noindent {\bf Signature:}
7788 \begin{verbatim} void set_virtual_size (session_id s, VDI ref self, int value)\end{verbatim}
7791 \noindent{\bf Arguments:}
7794 \vspace{0.3cm}
7795 \begin{tabular}{|c|c|p{7cm}|}
7796 \hline
7797 {\bf type} & {\bf name} & {\bf description} \\ \hline
7798 {\tt VDI ref } & self & object instance \\ \hline
7800 {\tt int } & value & New value to set \\ \hline
7802 \end{tabular}
7804 \vspace{0.3cm}
7806 \noindent {\bf Return Type:}
7807 {\tt
7808 void
7813 \vspace{0.3cm}
7814 \vspace{0.3cm}
7815 \vspace{0.3cm}
7816 \subsubsection{RPC name:~get\_physical\_utilisation}
7818 {\bf Overview:}
7819 get accessor message derived from field physical\_utilisation of object VDI
7821 \noindent {\bf Signature:}
7822 \begin{verbatim} int get_physical_utilisation (session_id s, VDI ref self)\end{verbatim}
7825 \noindent{\bf Arguments:}
7828 \vspace{0.3cm}
7829 \begin{tabular}{|c|c|p{7cm}|}
7830 \hline
7831 {\bf type} & {\bf name} & {\bf description} \\ \hline
7832 {\tt VDI ref } & self & object instance \\ \hline
7834 \end{tabular}
7836 \vspace{0.3cm}
7838 \noindent {\bf Return Type:}
7839 {\tt
7840 int
7844 value of the field
7845 \vspace{0.3cm}
7846 \vspace{0.3cm}
7847 \vspace{0.3cm}
7848 \subsubsection{RPC name:~get\_sector\_size}
7850 {\bf Overview:}
7851 get accessor message derived from field sector\_size of object VDI
7853 \noindent {\bf Signature:}
7854 \begin{verbatim} int get_sector_size (session_id s, VDI ref self)\end{verbatim}
7857 \noindent{\bf Arguments:}
7860 \vspace{0.3cm}
7861 \begin{tabular}{|c|c|p{7cm}|}
7862 \hline
7863 {\bf type} & {\bf name} & {\bf description} \\ \hline
7864 {\tt VDI ref } & self & object instance \\ \hline
7866 \end{tabular}
7868 \vspace{0.3cm}
7870 \noindent {\bf Return Type:}
7871 {\tt
7872 int
7876 value of the field
7877 \vspace{0.3cm}
7878 \vspace{0.3cm}
7879 \vspace{0.3cm}
7880 \subsubsection{RPC name:~get\_type}
7882 {\bf Overview:}
7883 get accessor message derived from field type of object VDI
7885 \noindent {\bf Signature:}
7886 \begin{verbatim} (vdi_type) get_type (session_id s, VDI ref self)\end{verbatim}
7889 \noindent{\bf Arguments:}
7892 \vspace{0.3cm}
7893 \begin{tabular}{|c|c|p{7cm}|}
7894 \hline
7895 {\bf type} & {\bf name} & {\bf description} \\ \hline
7896 {\tt VDI ref } & self & object instance \\ \hline
7898 \end{tabular}
7900 \vspace{0.3cm}
7902 \noindent {\bf Return Type:}
7903 {\tt
7904 vdi\_type
7908 value of the field
7909 \vspace{0.3cm}
7910 \vspace{0.3cm}
7911 \vspace{0.3cm}
7912 \subsubsection{RPC name:~get\_parent}
7914 {\bf Overview:}
7915 get accessor message derived from field parent of object VDI
7917 \noindent {\bf Signature:}
7918 \begin{verbatim} (VDI ref) get_parent (session_id s, VDI ref self)\end{verbatim}
7921 \noindent{\bf Arguments:}
7924 \vspace{0.3cm}
7925 \begin{tabular}{|c|c|p{7cm}|}
7926 \hline
7927 {\bf type} & {\bf name} & {\bf description} \\ \hline
7928 {\tt VDI ref } & self & object instance \\ \hline
7930 \end{tabular}
7932 \vspace{0.3cm}
7934 \noindent {\bf Return Type:}
7935 {\tt
7936 VDI ref
7940 value of the field
7941 \vspace{0.3cm}
7942 \vspace{0.3cm}
7943 \vspace{0.3cm}
7944 \subsubsection{RPC name:~get\_children}
7946 {\bf Overview:}
7947 get accessor message derived from field children of object VDI
7949 \noindent {\bf Signature:}
7950 \begin{verbatim} ((VDI ref) Set) get_children (session_id s, VDI ref self)\end{verbatim}
7953 \noindent{\bf Arguments:}
7956 \vspace{0.3cm}
7957 \begin{tabular}{|c|c|p{7cm}|}
7958 \hline
7959 {\bf type} & {\bf name} & {\bf description} \\ \hline
7960 {\tt VDI ref } & self & object instance \\ \hline
7962 \end{tabular}
7964 \vspace{0.3cm}
7966 \noindent {\bf Return Type:}
7967 {\tt
7968 (VDI ref) Set
7972 value of the field
7973 \vspace{0.3cm}
7974 \vspace{0.3cm}
7975 \vspace{0.3cm}
7976 \subsubsection{RPC name:~get\_sharable}
7978 {\bf Overview:}
7979 get accessor message derived from field sharable of object VDI
7981 \noindent {\bf Signature:}
7982 \begin{verbatim} bool get_sharable (session_id s, VDI ref self)\end{verbatim}
7985 \noindent{\bf Arguments:}
7988 \vspace{0.3cm}
7989 \begin{tabular}{|c|c|p{7cm}|}
7990 \hline
7991 {\bf type} & {\bf name} & {\bf description} \\ \hline
7992 {\tt VDI ref } & self & object instance \\ \hline
7994 \end{tabular}
7996 \vspace{0.3cm}
7998 \noindent {\bf Return Type:}
7999 {\tt
8000 bool
8004 value of the field
8005 \vspace{0.3cm}
8006 \vspace{0.3cm}
8007 \vspace{0.3cm}
8008 \subsubsection{RPC name:~set\_sharable}
8010 {\bf Overview:}
8011 set accessor message derived from field sharable of object VDI
8013 \noindent {\bf Signature:}
8014 \begin{verbatim} void set_sharable (session_id s, VDI ref self, bool value)\end{verbatim}
8017 \noindent{\bf Arguments:}
8020 \vspace{0.3cm}
8021 \begin{tabular}{|c|c|p{7cm}|}
8022 \hline
8023 {\bf type} & {\bf name} & {\bf description} \\ \hline
8024 {\tt VDI ref } & self & object instance \\ \hline
8026 {\tt bool } & value & New value to set \\ \hline
8028 \end{tabular}
8030 \vspace{0.3cm}
8032 \noindent {\bf Return Type:}
8033 {\tt
8034 void
8039 \vspace{0.3cm}
8040 \vspace{0.3cm}
8041 \vspace{0.3cm}
8042 \subsubsection{RPC name:~get\_read\_only}
8044 {\bf Overview:}
8045 get accessor message derived from field read\_only of object VDI
8047 \noindent {\bf Signature:}
8048 \begin{verbatim} bool get_read_only (session_id s, VDI ref self)\end{verbatim}
8051 \noindent{\bf Arguments:}
8054 \vspace{0.3cm}
8055 \begin{tabular}{|c|c|p{7cm}|}
8056 \hline
8057 {\bf type} & {\bf name} & {\bf description} \\ \hline
8058 {\tt VDI ref } & self & object instance \\ \hline
8060 \end{tabular}
8062 \vspace{0.3cm}
8064 \noindent {\bf Return Type:}
8065 {\tt
8066 bool
8070 value of the field
8071 \vspace{0.3cm}
8072 \vspace{0.3cm}
8073 \vspace{0.3cm}
8074 \subsubsection{RPC name:~set\_read\_only}
8076 {\bf Overview:}
8077 set accessor message derived from field read\_only of object VDI
8079 \noindent {\bf Signature:}
8080 \begin{verbatim} void set_read_only (session_id s, VDI ref self, bool value)\end{verbatim}
8083 \noindent{\bf Arguments:}
8086 \vspace{0.3cm}
8087 \begin{tabular}{|c|c|p{7cm}|}
8088 \hline
8089 {\bf type} & {\bf name} & {\bf description} \\ \hline
8090 {\tt VDI ref } & self & object instance \\ \hline
8092 {\tt bool } & value & New value to set \\ \hline
8094 \end{tabular}
8096 \vspace{0.3cm}
8098 \noindent {\bf Return Type:}
8099 {\tt
8100 void
8105 \vspace{0.3cm}
8106 \vspace{0.3cm}
8107 \vspace{0.3cm}
8108 \subsubsection{RPC name:~create}
8110 {\bf Overview:}
8111 constructor for class VDI
8113 \noindent {\bf Signature:}
8114 \begin{verbatim} (VDI ref) create (session_id s, VDI record args)\end{verbatim}
8117 \noindent{\bf Arguments:}
8120 \vspace{0.3cm}
8121 \begin{tabular}{|c|c|p{7cm}|}
8122 \hline
8123 {\bf type} & {\bf name} & {\bf description} \\ \hline
8124 {\tt VDI record } & args & All constructor arguments \\ \hline
8126 \end{tabular}
8128 \vspace{0.3cm}
8130 \noindent {\bf Return Type:}
8131 {\tt
8132 VDI ref
8136 reference to the newly created object
8137 \vspace{0.3cm}
8138 \vspace{0.3cm}
8139 \vspace{0.3cm}
8140 \subsubsection{RPC name:~destroy}
8142 {\bf Overview:}
8143 destructor for class VDI
8145 \noindent {\bf Signature:}
8146 \begin{verbatim} void destroy (session_id s, VDI ref self)\end{verbatim}
8149 \noindent{\bf Arguments:}
8152 \vspace{0.3cm}
8153 \begin{tabular}{|c|c|p{7cm}|}
8154 \hline
8155 {\bf type} & {\bf name} & {\bf description} \\ \hline
8156 {\tt VDI ref } & self & object instance \\ \hline
8158 \end{tabular}
8160 \vspace{0.3cm}
8162 \noindent {\bf Return Type:}
8163 {\tt
8164 void
8169 \vspace{0.3cm}
8170 \vspace{0.3cm}
8171 \vspace{0.3cm}
8172 \subsubsection{RPC name:~get\_by\_uuid}
8174 {\bf Overview:}
8175 returns the VDI instance with a particular uuid
8177 \noindent {\bf Signature:}
8178 \begin{verbatim} (VDI ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
8181 \noindent{\bf Arguments:}
8184 \vspace{0.3cm}
8185 \begin{tabular}{|c|c|p{7cm}|}
8186 \hline
8187 {\bf type} & {\bf name} & {\bf description} \\ \hline
8188 {\tt string } & uuid & UUID of object to return \\ \hline
8190 \end{tabular}
8192 \vspace{0.3cm}
8194 \noindent {\bf Return Type:}
8195 {\tt
8196 VDI ref
8200 reference to the object
8201 \vspace{0.3cm}
8202 \vspace{0.3cm}
8203 \vspace{0.3cm}
8204 \subsubsection{RPC name:~get\_record}
8206 {\bf Overview:}
8207 returns a record containing the state of an instance of class VDI
8209 \noindent {\bf Signature:}
8210 \begin{verbatim} (VDI record) get_record (session_id s, VDI ref self)\end{verbatim}
8213 \noindent{\bf Arguments:}
8216 \vspace{0.3cm}
8217 \begin{tabular}{|c|c|p{7cm}|}
8218 \hline
8219 {\bf type} & {\bf name} & {\bf description} \\ \hline
8220 {\tt VDI ref } & self & reference to the object \\ \hline
8222 \end{tabular}
8224 \vspace{0.3cm}
8226 \noindent {\bf Return Type:}
8227 {\tt
8228 VDI record
8232 all fields from the object
8233 \vspace{0.3cm}
8234 \vspace{0.3cm}
8235 \vspace{0.3cm}
8236 \subsubsection{RPC name:~get\_by\_name\_label}
8238 {\bf Overview:}
8239 returns the VDI instance with a particular name label
8241 \noindent {\bf Signature:}
8242 \begin{verbatim} ((VDI ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
8245 \noindent{\bf Arguments:}
8248 \vspace{0.3cm}
8249 \begin{tabular}{|c|c|p{7cm}|}
8250 \hline
8251 {\bf type} & {\bf name} & {\bf description} \\ \hline
8252 {\tt string } & label & label of object to return \\ \hline
8254 \end{tabular}
8256 \vspace{0.3cm}
8258 \noindent {\bf Return Type:}
8259 {\tt
8260 (VDI ref) Set
8264 references to objects with match names
8265 \vspace{0.3cm}
8266 \vspace{0.3cm}
8267 \vspace{0.3cm}
8269 \vspace{1cm}
8270 \newpage
8271 \section{Class: VBD}
8272 \subsection{Fields for class: VBD}
8273 \begin{longtable}{|lllp{0.38\textwidth}|}
8274 \hline
8275 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VBD} \\
8276 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A virtual block device}} \\
8277 \hline
8278 Quals & Field & Type & Description \\
8279 \hline
8280 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
8281 $\mathit{RW}$ & {\tt VM} & VM ref & the virtual machine \\
8282 $\mathit{RW}$ & {\tt VDI} & VDI ref & the virtual disk \\
8283 $\mathit{RW}$ & {\tt device} & string & device seen by the guest e.g. hda1 \\
8284 $\mathit{RW}$ & {\tt mode} & vbd\_mode & the mode the disk should be mounted with \\
8285 $\mathit{RW}$ & {\tt driver} & driver\_type & the style of driver \\
8286 $\mathit{RO}_\mathit{run}$ & {\tt io/read\_kbs} & float & Read bandwidth (KiB/s) \\
8287 $\mathit{RO}_\mathit{run}$ & {\tt io/write\_kbs} & float & Write bandwidth (KiB/s) \\
8288 \hline
8289 \end{longtable}
8290 \subsection{Additional RPCs associated with class: VBD}
8291 \subsubsection{RPC name:~media\_change}
8293 {\bf Overview:}
8294 Change the media in the device for CDROM-like devices only. For other devices, detach the VBD and attach a new one
8296 \noindent {\bf Signature:}
8297 \begin{verbatim} void media_change (session_id s, VBD ref vbd, VDI ref vdi)\end{verbatim}
8300 \noindent{\bf Arguments:}
8303 \vspace{0.3cm}
8304 \begin{tabular}{|c|c|p{7cm}|}
8305 \hline
8306 {\bf type} & {\bf name} & {\bf description} \\ \hline
8307 {\tt VBD ref } & vbd & The vbd representing the CDROM-like device \\ \hline
8309 {\tt VDI ref } & vdi & The new VDI to 'insert' \\ \hline
8311 \end{tabular}
8313 \vspace{0.3cm}
8315 \noindent {\bf Return Type:}
8316 {\tt
8317 void
8322 \vspace{0.3cm}
8323 \vspace{0.3cm}
8324 \vspace{0.3cm}
8325 \subsubsection{RPC name:~get\_uuid}
8327 {\bf Overview:}
8328 get accessor message derived from field uuid of object VBD
8330 \noindent {\bf Signature:}
8331 \begin{verbatim} string get_uuid (session_id s, VBD ref self)\end{verbatim}
8334 \noindent{\bf Arguments:}
8337 \vspace{0.3cm}
8338 \begin{tabular}{|c|c|p{7cm}|}
8339 \hline
8340 {\bf type} & {\bf name} & {\bf description} \\ \hline
8341 {\tt VBD ref } & self & object instance \\ \hline
8343 \end{tabular}
8345 \vspace{0.3cm}
8347 \noindent {\bf Return Type:}
8348 {\tt
8349 string
8353 value of the field
8354 \vspace{0.3cm}
8355 \vspace{0.3cm}
8356 \vspace{0.3cm}
8357 \subsubsection{RPC name:~get\_VM}
8359 {\bf Overview:}
8360 get accessor message derived from field VM of object VBD
8362 \noindent {\bf Signature:}
8363 \begin{verbatim} (VM ref) get_VM (session_id s, VBD ref self)\end{verbatim}
8366 \noindent{\bf Arguments:}
8369 \vspace{0.3cm}
8370 \begin{tabular}{|c|c|p{7cm}|}
8371 \hline
8372 {\bf type} & {\bf name} & {\bf description} \\ \hline
8373 {\tt VBD ref } & self & object instance \\ \hline
8375 \end{tabular}
8377 \vspace{0.3cm}
8379 \noindent {\bf Return Type:}
8380 {\tt
8381 VM ref
8385 value of the field
8386 \vspace{0.3cm}
8387 \vspace{0.3cm}
8388 \vspace{0.3cm}
8389 \subsubsection{RPC name:~set\_VM}
8391 {\bf Overview:}
8392 set accessor message derived from field VM of object VBD
8394 \noindent {\bf Signature:}
8395 \begin{verbatim} void set_VM (session_id s, VBD ref self, VM ref value)\end{verbatim}
8398 \noindent{\bf Arguments:}
8401 \vspace{0.3cm}
8402 \begin{tabular}{|c|c|p{7cm}|}
8403 \hline
8404 {\bf type} & {\bf name} & {\bf description} \\ \hline
8405 {\tt VBD ref } & self & object instance \\ \hline
8407 {\tt VM ref } & value & New value to set \\ \hline
8409 \end{tabular}
8411 \vspace{0.3cm}
8413 \noindent {\bf Return Type:}
8414 {\tt
8415 void
8420 \vspace{0.3cm}
8421 \vspace{0.3cm}
8422 \vspace{0.3cm}
8423 \subsubsection{RPC name:~get\_VDI}
8425 {\bf Overview:}
8426 get accessor message derived from field VDI of object VBD
8428 \noindent {\bf Signature:}
8429 \begin{verbatim} (VDI ref) get_VDI (session_id s, VBD ref self)\end{verbatim}
8432 \noindent{\bf Arguments:}
8435 \vspace{0.3cm}
8436 \begin{tabular}{|c|c|p{7cm}|}
8437 \hline
8438 {\bf type} & {\bf name} & {\bf description} \\ \hline
8439 {\tt VBD ref } & self & object instance \\ \hline
8441 \end{tabular}
8443 \vspace{0.3cm}
8445 \noindent {\bf Return Type:}
8446 {\tt
8447 VDI ref
8451 value of the field
8452 \vspace{0.3cm}
8453 \vspace{0.3cm}
8454 \vspace{0.3cm}
8455 \subsubsection{RPC name:~set\_VDI}
8457 {\bf Overview:}
8458 set accessor message derived from field VDI of object VBD
8460 \noindent {\bf Signature:}
8461 \begin{verbatim} void set_VDI (session_id s, VBD ref self, VDI ref value)\end{verbatim}
8464 \noindent{\bf Arguments:}
8467 \vspace{0.3cm}
8468 \begin{tabular}{|c|c|p{7cm}|}
8469 \hline
8470 {\bf type} & {\bf name} & {\bf description} \\ \hline
8471 {\tt VBD ref } & self & object instance \\ \hline
8473 {\tt VDI ref } & value & New value to set \\ \hline
8475 \end{tabular}
8477 \vspace{0.3cm}
8479 \noindent {\bf Return Type:}
8480 {\tt
8481 void
8486 \vspace{0.3cm}
8487 \vspace{0.3cm}
8488 \vspace{0.3cm}
8489 \subsubsection{RPC name:~get\_device}
8491 {\bf Overview:}
8492 get accessor message derived from field device of object VBD
8494 \noindent {\bf Signature:}
8495 \begin{verbatim} string get_device (session_id s, VBD ref self)\end{verbatim}
8498 \noindent{\bf Arguments:}
8501 \vspace{0.3cm}
8502 \begin{tabular}{|c|c|p{7cm}|}
8503 \hline
8504 {\bf type} & {\bf name} & {\bf description} \\ \hline
8505 {\tt VBD ref } & self & object instance \\ \hline
8507 \end{tabular}
8509 \vspace{0.3cm}
8511 \noindent {\bf Return Type:}
8512 {\tt
8513 string
8517 value of the field
8518 \vspace{0.3cm}
8519 \vspace{0.3cm}
8520 \vspace{0.3cm}
8521 \subsubsection{RPC name:~set\_device}
8523 {\bf Overview:}
8524 set accessor message derived from field device of object VBD
8526 \noindent {\bf Signature:}
8527 \begin{verbatim} void set_device (session_id s, VBD ref self, string value)\end{verbatim}
8530 \noindent{\bf Arguments:}
8533 \vspace{0.3cm}
8534 \begin{tabular}{|c|c|p{7cm}|}
8535 \hline
8536 {\bf type} & {\bf name} & {\bf description} \\ \hline
8537 {\tt VBD ref } & self & object instance \\ \hline
8539 {\tt string } & value & New value to set \\ \hline
8541 \end{tabular}
8543 \vspace{0.3cm}
8545 \noindent {\bf Return Type:}
8546 {\tt
8547 void
8552 \vspace{0.3cm}
8553 \vspace{0.3cm}
8554 \vspace{0.3cm}
8555 \subsubsection{RPC name:~get\_mode}
8557 {\bf Overview:}
8558 get accessor message derived from field mode of object VBD
8560 \noindent {\bf Signature:}
8561 \begin{verbatim} (vbd_mode) get_mode (session_id s, VBD ref self)\end{verbatim}
8564 \noindent{\bf Arguments:}
8567 \vspace{0.3cm}
8568 \begin{tabular}{|c|c|p{7cm}|}
8569 \hline
8570 {\bf type} & {\bf name} & {\bf description} \\ \hline
8571 {\tt VBD ref } & self & object instance \\ \hline
8573 \end{tabular}
8575 \vspace{0.3cm}
8577 \noindent {\bf Return Type:}
8578 {\tt
8579 vbd\_mode
8583 value of the field
8584 \vspace{0.3cm}
8585 \vspace{0.3cm}
8586 \vspace{0.3cm}
8587 \subsubsection{RPC name:~set\_mode}
8589 {\bf Overview:}
8590 set accessor message derived from field mode of object VBD
8592 \noindent {\bf Signature:}
8593 \begin{verbatim} void set_mode (session_id s, VBD ref self, vbd_mode value)\end{verbatim}
8596 \noindent{\bf Arguments:}
8599 \vspace{0.3cm}
8600 \begin{tabular}{|c|c|p{7cm}|}
8601 \hline
8602 {\bf type} & {\bf name} & {\bf description} \\ \hline
8603 {\tt VBD ref } & self & object instance \\ \hline
8605 {\tt vbd\_mode } & value & New value to set \\ \hline
8607 \end{tabular}
8609 \vspace{0.3cm}
8611 \noindent {\bf Return Type:}
8612 {\tt
8613 void
8618 \vspace{0.3cm}
8619 \vspace{0.3cm}
8620 \vspace{0.3cm}
8621 \subsubsection{RPC name:~get\_driver}
8623 {\bf Overview:}
8624 get accessor message derived from field driver of object VBD
8626 \noindent {\bf Signature:}
8627 \begin{verbatim} (driver_type) get_driver (session_id s, VBD ref self)\end{verbatim}
8630 \noindent{\bf Arguments:}
8633 \vspace{0.3cm}
8634 \begin{tabular}{|c|c|p{7cm}|}
8635 \hline
8636 {\bf type} & {\bf name} & {\bf description} \\ \hline
8637 {\tt VBD ref } & self & object instance \\ \hline
8639 \end{tabular}
8641 \vspace{0.3cm}
8643 \noindent {\bf Return Type:}
8644 {\tt
8645 driver\_type
8649 value of the field
8650 \vspace{0.3cm}
8651 \vspace{0.3cm}
8652 \vspace{0.3cm}
8653 \subsubsection{RPC name:~set\_driver}
8655 {\bf Overview:}
8656 set accessor message derived from field driver of object VBD
8658 \noindent {\bf Signature:}
8659 \begin{verbatim} void set_driver (session_id s, VBD ref self, driver_type value)\end{verbatim}
8662 \noindent{\bf Arguments:}
8665 \vspace{0.3cm}
8666 \begin{tabular}{|c|c|p{7cm}|}
8667 \hline
8668 {\bf type} & {\bf name} & {\bf description} \\ \hline
8669 {\tt VBD ref } & self & object instance \\ \hline
8671 {\tt driver\_type } & value & New value to set \\ \hline
8673 \end{tabular}
8675 \vspace{0.3cm}
8677 \noindent {\bf Return Type:}
8678 {\tt
8679 void
8684 \vspace{0.3cm}
8685 \vspace{0.3cm}
8686 \vspace{0.3cm}
8687 \subsubsection{RPC name:~get\_io\_read\_kbs}
8689 {\bf Overview:}
8690 get accessor message derived from field io/read\_kbs of object VBD
8692 \noindent {\bf Signature:}
8693 \begin{verbatim} float get_io_read_kbs (session_id s, VBD ref self)\end{verbatim}
8696 \noindent{\bf Arguments:}
8699 \vspace{0.3cm}
8700 \begin{tabular}{|c|c|p{7cm}|}
8701 \hline
8702 {\bf type} & {\bf name} & {\bf description} \\ \hline
8703 {\tt VBD ref } & self & object instance \\ \hline
8705 \end{tabular}
8707 \vspace{0.3cm}
8709 \noindent {\bf Return Type:}
8710 {\tt
8711 float
8715 value of the field
8716 \vspace{0.3cm}
8717 \vspace{0.3cm}
8718 \vspace{0.3cm}
8719 \subsubsection{RPC name:~get\_io\_write\_kbs}
8721 {\bf Overview:}
8722 get accessor message derived from field io/write\_kbs of object VBD
8724 \noindent {\bf Signature:}
8725 \begin{verbatim} float get_io_write_kbs (session_id s, VBD ref self)\end{verbatim}
8728 \noindent{\bf Arguments:}
8731 \vspace{0.3cm}
8732 \begin{tabular}{|c|c|p{7cm}|}
8733 \hline
8734 {\bf type} & {\bf name} & {\bf description} \\ \hline
8735 {\tt VBD ref } & self & object instance \\ \hline
8737 \end{tabular}
8739 \vspace{0.3cm}
8741 \noindent {\bf Return Type:}
8742 {\tt
8743 float
8747 value of the field
8748 \vspace{0.3cm}
8749 \vspace{0.3cm}
8750 \vspace{0.3cm}
8751 \subsubsection{RPC name:~create}
8753 {\bf Overview:}
8754 constructor for class VBD
8756 \noindent {\bf Signature:}
8757 \begin{verbatim} (VBD ref) create (session_id s, VBD record args)\end{verbatim}
8760 \noindent{\bf Arguments:}
8763 \vspace{0.3cm}
8764 \begin{tabular}{|c|c|p{7cm}|}
8765 \hline
8766 {\bf type} & {\bf name} & {\bf description} \\ \hline
8767 {\tt VBD record } & args & All constructor arguments \\ \hline
8769 \end{tabular}
8771 \vspace{0.3cm}
8773 \noindent {\bf Return Type:}
8774 {\tt
8775 VBD ref
8779 reference to the newly created object
8780 \vspace{0.3cm}
8781 \vspace{0.3cm}
8782 \vspace{0.3cm}
8783 \subsubsection{RPC name:~destroy}
8785 {\bf Overview:}
8786 destructor for class VBD
8788 \noindent {\bf Signature:}
8789 \begin{verbatim} void destroy (session_id s, VBD ref self)\end{verbatim}
8792 \noindent{\bf Arguments:}
8795 \vspace{0.3cm}
8796 \begin{tabular}{|c|c|p{7cm}|}
8797 \hline
8798 {\bf type} & {\bf name} & {\bf description} \\ \hline
8799 {\tt VBD ref } & self & object instance \\ \hline
8801 \end{tabular}
8803 \vspace{0.3cm}
8805 \noindent {\bf Return Type:}
8806 {\tt
8807 void
8812 \vspace{0.3cm}
8813 \vspace{0.3cm}
8814 \vspace{0.3cm}
8815 \subsubsection{RPC name:~get\_by\_uuid}
8817 {\bf Overview:}
8818 returns the VBD instance with a particular uuid
8820 \noindent {\bf Signature:}
8821 \begin{verbatim} (VBD ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
8824 \noindent{\bf Arguments:}
8827 \vspace{0.3cm}
8828 \begin{tabular}{|c|c|p{7cm}|}
8829 \hline
8830 {\bf type} & {\bf name} & {\bf description} \\ \hline
8831 {\tt string } & uuid & UUID of object to return \\ \hline
8833 \end{tabular}
8835 \vspace{0.3cm}
8837 \noindent {\bf Return Type:}
8838 {\tt
8839 VBD ref
8843 reference to the object
8844 \vspace{0.3cm}
8845 \vspace{0.3cm}
8846 \vspace{0.3cm}
8847 \subsubsection{RPC name:~get\_record}
8849 {\bf Overview:}
8850 returns a record containing the state of an instance of class VBD
8852 \noindent {\bf Signature:}
8853 \begin{verbatim} (VBD record) get_record (session_id s, VBD ref self)\end{verbatim}
8856 \noindent{\bf Arguments:}
8859 \vspace{0.3cm}
8860 \begin{tabular}{|c|c|p{7cm}|}
8861 \hline
8862 {\bf type} & {\bf name} & {\bf description} \\ \hline
8863 {\tt VBD ref } & self & reference to the object \\ \hline
8865 \end{tabular}
8867 \vspace{0.3cm}
8869 \noindent {\bf Return Type:}
8870 {\tt
8871 VBD record
8875 all fields from the object
8876 \vspace{0.3cm}
8877 \vspace{0.3cm}
8878 \vspace{0.3cm}
8880 \vspace{1cm}
8881 \newpage
8882 \section{Class: VTPM}
8883 \subsection{Fields for class: VTPM}
8884 \begin{longtable}{|lllp{0.38\textwidth}|}
8885 \hline
8886 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VTPM} \\
8887 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A virtual TPM device}} \\
8888 \hline
8889 Quals & Field & Type & Description \\
8890 \hline
8891 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
8892 $\mathit{RO}_\mathit{ins}$ & {\tt VM} & VM ref & the virtual machine \\
8893 $\mathit{RO}_\mathit{ins}$ & {\tt backend} & VM ref & the domain where the backend is located \\
8894 $\mathit{RO}_\mathit{ins}$ & {\tt driver} & driver\_type & the style of driver \\
8895 $\mathit{RO}_\mathit{ins}$ & {\tt instance} & int & the instance number the virtual TPM represents \\
8896 \hline
8897 \end{longtable}
8898 \subsection{Additional RPCs associated with class: VTPM}
8899 \subsubsection{RPC name:~get\_uuid}
8901 {\bf Overview:}
8902 get accessor message derived from field uuid of object VTPM
8904 \noindent {\bf Signature:}
8905 \begin{verbatim} string get_uuid (session_id s, VTPM ref self)\end{verbatim}
8908 \noindent{\bf Arguments:}
8911 \vspace{0.3cm}
8912 \begin{tabular}{|c|c|p{7cm}|}
8913 \hline
8914 {\bf type} & {\bf name} & {\bf description} \\ \hline
8915 {\tt VTPM ref } & self & object instance \\ \hline
8917 \end{tabular}
8919 \vspace{0.3cm}
8921 \noindent {\bf Return Type:}
8922 {\tt
8923 string
8927 value of the field
8928 \vspace{0.3cm}
8929 \vspace{0.3cm}
8930 \vspace{0.3cm}
8931 \subsubsection{RPC name:~get\_VM}
8933 {\bf Overview:}
8934 get accessor message derived from field VM of object VTPM
8936 \noindent {\bf Signature:}
8937 \begin{verbatim} (VM ref) get_VM (session_id s, VTPM ref self)\end{verbatim}
8940 \noindent{\bf Arguments:}
8943 \vspace{0.3cm}
8944 \begin{tabular}{|c|c|p{7cm}|}
8945 \hline
8946 {\bf type} & {\bf name} & {\bf description} \\ \hline
8947 {\tt VTPM ref } & self & object instance \\ \hline
8949 \end{tabular}
8951 \vspace{0.3cm}
8953 \noindent {\bf Return Type:}
8954 {\tt
8955 VM ref
8959 value of the field
8960 \vspace{0.3cm}
8961 \vspace{0.3cm}
8962 \vspace{0.3cm}
8963 \subsubsection{RPC name:~get\_backend}
8965 {\bf Overview:}
8966 get accessor message derived from field backend of object VTPM
8968 \noindent {\bf Signature:}
8969 \begin{verbatim} (VM ref) get_backend (session_id s, VTPM ref self)\end{verbatim}
8972 \noindent{\bf Arguments:}
8975 \vspace{0.3cm}
8976 \begin{tabular}{|c|c|p{7cm}|}
8977 \hline
8978 {\bf type} & {\bf name} & {\bf description} \\ \hline
8979 {\tt VTPM ref } & self & object instance \\ \hline
8981 \end{tabular}
8983 \vspace{0.3cm}
8985 \noindent {\bf Return Type:}
8986 {\tt
8987 VM ref
8991 value of the field
8992 \vspace{0.3cm}
8993 \vspace{0.3cm}
8994 \vspace{0.3cm}
8995 \subsubsection{RPC name:~get\_driver}
8997 {\bf Overview:}
8998 get accessor message derived from field driver of object VTPM
9000 \noindent {\bf Signature:}
9001 \begin{verbatim} (driver_type) get_driver (session_id s, VTPM ref self)\end{verbatim}
9004 \noindent{\bf Arguments:}
9007 \vspace{0.3cm}
9008 \begin{tabular}{|c|c|p{7cm}|}
9009 \hline
9010 {\bf type} & {\bf name} & {\bf description} \\ \hline
9011 {\tt VTPM ref } & self & object instance \\ \hline
9013 \end{tabular}
9015 \vspace{0.3cm}
9017 \noindent {\bf Return Type:}
9018 {\tt
9019 driver\_type
9023 value of the field
9024 \vspace{0.3cm}
9025 \vspace{0.3cm}
9026 \vspace{0.3cm}
9027 \subsubsection{RPC name:~get\_instance}
9029 {\bf Overview:}
9030 get accessor message derived from field instance of object VTPM
9032 \noindent {\bf Signature:}
9033 \begin{verbatim} int get_instance (session_id s, VTPM ref self)\end{verbatim}
9036 \noindent{\bf Arguments:}
9039 \vspace{0.3cm}
9040 \begin{tabular}{|c|c|p{7cm}|}
9041 \hline
9042 {\bf type} & {\bf name} & {\bf description} \\ \hline
9043 {\tt VTPM ref } & self & object instance \\ \hline
9045 \end{tabular}
9047 \vspace{0.3cm}
9049 \noindent {\bf Return Type:}
9050 {\tt
9051 int
9055 value of the field
9056 \vspace{0.3cm}
9057 \vspace{0.3cm}
9058 \vspace{0.3cm}
9059 \subsubsection{RPC name:~create}
9061 {\bf Overview:}
9062 constructor for class VTPM
9064 \noindent {\bf Signature:}
9065 \begin{verbatim} (VTPM ref) create (session_id s, VTPM record args)\end{verbatim}
9068 \noindent{\bf Arguments:}
9071 \vspace{0.3cm}
9072 \begin{tabular}{|c|c|p{7cm}|}
9073 \hline
9074 {\bf type} & {\bf name} & {\bf description} \\ \hline
9075 {\tt VTPM record } & args & All constructor arguments \\ \hline
9077 \end{tabular}
9079 \vspace{0.3cm}
9081 \noindent {\bf Return Type:}
9082 {\tt
9083 VTPM ref
9087 reference to the newly created object
9088 \vspace{0.3cm}
9089 \vspace{0.3cm}
9090 \vspace{0.3cm}
9091 \subsubsection{RPC name:~destroy}
9093 {\bf Overview:}
9094 destructor for class VTPM
9096 \noindent {\bf Signature:}
9097 \begin{verbatim} void destroy (session_id s, VTPM ref self)\end{verbatim}
9100 \noindent{\bf Arguments:}
9103 \vspace{0.3cm}
9104 \begin{tabular}{|c|c|p{7cm}|}
9105 \hline
9106 {\bf type} & {\bf name} & {\bf description} \\ \hline
9107 {\tt VTPM ref } & self & object instance \\ \hline
9109 \end{tabular}
9111 \vspace{0.3cm}
9113 \noindent {\bf Return Type:}
9114 {\tt
9115 void
9120 \vspace{0.3cm}
9121 \vspace{0.3cm}
9122 \vspace{0.3cm}
9123 \subsubsection{RPC name:~get\_by\_uuid}
9125 {\bf Overview:}
9126 returns the VTPM instance with a particular uuid
9128 \noindent {\bf Signature:}
9129 \begin{verbatim} (VTPM ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
9132 \noindent{\bf Arguments:}
9135 \vspace{0.3cm}
9136 \begin{tabular}{|c|c|p{7cm}|}
9137 \hline
9138 {\bf type} & {\bf name} & {\bf description} \\ \hline
9139 {\tt string } & uuid & UUID of object to return \\ \hline
9141 \end{tabular}
9143 \vspace{0.3cm}
9145 \noindent {\bf Return Type:}
9146 {\tt
9147 VTPM ref
9151 reference to the object
9152 \vspace{0.3cm}
9153 \vspace{0.3cm}
9154 \vspace{0.3cm}
9155 \subsubsection{RPC name:~get\_record}
9157 {\bf Overview:}
9158 returns a record containing the state of an instance of class VTPM
9160 \noindent {\bf Signature:}
9161 \begin{verbatim} (VTPM record) get_record (session_id s, VTPM ref self)\end{verbatim}
9164 \noindent{\bf Arguments:}
9167 \vspace{0.3cm}
9168 \begin{tabular}{|c|c|p{7cm}|}
9169 \hline
9170 {\bf type} & {\bf name} & {\bf description} \\ \hline
9171 {\tt VTPM ref } & self & reference to the object \\ \hline
9173 \end{tabular}
9175 \vspace{0.3cm}
9177 \noindent {\bf Return Type:}
9178 {\tt
9179 VTPM record
9183 all fields from the object
9184 \vspace{0.3cm}
9185 \vspace{0.3cm}
9186 \vspace{0.3cm}
9188 \vspace{1cm}
9189 \newpage
9190 \section{Class: user}
9191 \subsection{Fields for class: user}
9192 \begin{longtable}{|lllp{0.38\textwidth}|}
9193 \hline
9194 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf user} \\
9195 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A user of the system}} \\
9196 \hline
9197 Quals & Field & Type & Description \\
9198 \hline
9199 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
9200 $\mathit{RO}_\mathit{ins}$ & {\tt short\_name} & string & short name (e.g. userid) \\
9201 $\mathit{RW}$ & {\tt fullname} & string & full name \\
9202 \hline
9203 \end{longtable}
9204 \subsection{Additional RPCs associated with class: user}
9205 \subsubsection{RPC name:~get\_uuid}
9207 {\bf Overview:}
9208 get accessor message derived from field uuid of object user
9210 \noindent {\bf Signature:}
9211 \begin{verbatim} string get_uuid (session_id s, user ref self)\end{verbatim}
9214 \noindent{\bf Arguments:}
9217 \vspace{0.3cm}
9218 \begin{tabular}{|c|c|p{7cm}|}
9219 \hline
9220 {\bf type} & {\bf name} & {\bf description} \\ \hline
9221 {\tt user ref } & self & object instance \\ \hline
9223 \end{tabular}
9225 \vspace{0.3cm}
9227 \noindent {\bf Return Type:}
9228 {\tt
9229 string
9233 value of the field
9234 \vspace{0.3cm}
9235 \vspace{0.3cm}
9236 \vspace{0.3cm}
9237 \subsubsection{RPC name:~get\_short\_name}
9239 {\bf Overview:}
9240 get accessor message derived from field short\_name of object user
9242 \noindent {\bf Signature:}
9243 \begin{verbatim} string get_short_name (session_id s, user ref self)\end{verbatim}
9246 \noindent{\bf Arguments:}
9249 \vspace{0.3cm}
9250 \begin{tabular}{|c|c|p{7cm}|}
9251 \hline
9252 {\bf type} & {\bf name} & {\bf description} \\ \hline
9253 {\tt user ref } & self & object instance \\ \hline
9255 \end{tabular}
9257 \vspace{0.3cm}
9259 \noindent {\bf Return Type:}
9260 {\tt
9261 string
9265 value of the field
9266 \vspace{0.3cm}
9267 \vspace{0.3cm}
9268 \vspace{0.3cm}
9269 \subsubsection{RPC name:~get\_fullname}
9271 {\bf Overview:}
9272 get accessor message derived from field fullname of object user
9274 \noindent {\bf Signature:}
9275 \begin{verbatim} string get_fullname (session_id s, user ref self)\end{verbatim}
9278 \noindent{\bf Arguments:}
9281 \vspace{0.3cm}
9282 \begin{tabular}{|c|c|p{7cm}|}
9283 \hline
9284 {\bf type} & {\bf name} & {\bf description} \\ \hline
9285 {\tt user ref } & self & object instance \\ \hline
9287 \end{tabular}
9289 \vspace{0.3cm}
9291 \noindent {\bf Return Type:}
9292 {\tt
9293 string
9297 value of the field
9298 \vspace{0.3cm}
9299 \vspace{0.3cm}
9300 \vspace{0.3cm}
9301 \subsubsection{RPC name:~set\_fullname}
9303 {\bf Overview:}
9304 set accessor message derived from field fullname of object user
9306 \noindent {\bf Signature:}
9307 \begin{verbatim} void set_fullname (session_id s, user ref self, string value)\end{verbatim}
9310 \noindent{\bf Arguments:}
9313 \vspace{0.3cm}
9314 \begin{tabular}{|c|c|p{7cm}|}
9315 \hline
9316 {\bf type} & {\bf name} & {\bf description} \\ \hline
9317 {\tt user ref } & self & object instance \\ \hline
9319 {\tt string } & value & New value to set \\ \hline
9321 \end{tabular}
9323 \vspace{0.3cm}
9325 \noindent {\bf Return Type:}
9326 {\tt
9327 void
9332 \vspace{0.3cm}
9333 \vspace{0.3cm}
9334 \vspace{0.3cm}
9335 \subsubsection{RPC name:~create}
9337 {\bf Overview:}
9338 constructor for class user
9340 \noindent {\bf Signature:}
9341 \begin{verbatim} (user ref) create (session_id s, user record args)\end{verbatim}
9344 \noindent{\bf Arguments:}
9347 \vspace{0.3cm}
9348 \begin{tabular}{|c|c|p{7cm}|}
9349 \hline
9350 {\bf type} & {\bf name} & {\bf description} \\ \hline
9351 {\tt user record } & args & All constructor arguments \\ \hline
9353 \end{tabular}
9355 \vspace{0.3cm}
9357 \noindent {\bf Return Type:}
9358 {\tt
9359 user ref
9363 reference to the newly created object
9364 \vspace{0.3cm}
9365 \vspace{0.3cm}
9366 \vspace{0.3cm}
9367 \subsubsection{RPC name:~destroy}
9369 {\bf Overview:}
9370 destructor for class user
9372 \noindent {\bf Signature:}
9373 \begin{verbatim} void destroy (session_id s, user ref self)\end{verbatim}
9376 \noindent{\bf Arguments:}
9379 \vspace{0.3cm}
9380 \begin{tabular}{|c|c|p{7cm}|}
9381 \hline
9382 {\bf type} & {\bf name} & {\bf description} \\ \hline
9383 {\tt user ref } & self & object instance \\ \hline
9385 \end{tabular}
9387 \vspace{0.3cm}
9389 \noindent {\bf Return Type:}
9390 {\tt
9391 void
9396 \vspace{0.3cm}
9397 \vspace{0.3cm}
9398 \vspace{0.3cm}
9399 \subsubsection{RPC name:~get\_by\_uuid}
9401 {\bf Overview:}
9402 returns the user instance with a particular uuid
9404 \noindent {\bf Signature:}
9405 \begin{verbatim} (user ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
9408 \noindent{\bf Arguments:}
9411 \vspace{0.3cm}
9412 \begin{tabular}{|c|c|p{7cm}|}
9413 \hline
9414 {\bf type} & {\bf name} & {\bf description} \\ \hline
9415 {\tt string } & uuid & UUID of object to return \\ \hline
9417 \end{tabular}
9419 \vspace{0.3cm}
9421 \noindent {\bf Return Type:}
9422 {\tt
9423 user ref
9427 reference to the object
9428 \vspace{0.3cm}
9429 \vspace{0.3cm}
9430 \vspace{0.3cm}
9431 \subsubsection{RPC name:~get\_record}
9433 {\bf Overview:}
9434 returns a record containing the state of an instance of class user
9436 \noindent {\bf Signature:}
9437 \begin{verbatim} (user record) get_record (session_id s, user ref self)\end{verbatim}
9440 \noindent{\bf Arguments:}
9443 \vspace{0.3cm}
9444 \begin{tabular}{|c|c|p{7cm}|}
9445 \hline
9446 {\bf type} & {\bf name} & {\bf description} \\ \hline
9447 {\tt user ref } & self & reference to the object \\ \hline
9449 \end{tabular}
9451 \vspace{0.3cm}
9453 \noindent {\bf Return Type:}
9454 {\tt
9455 user record
9459 all fields from the object
9460 \vspace{0.3cm}
9461 \vspace{0.3cm}
9462 \vspace{0.3cm}
9464 \vspace{1cm}
9465 \newpage
9466 \section{Class: debug}
9467 \subsection{Fields for class: debug}
9468 {\bf Class debug has no fields.}
9469 \subsection{Additional RPCs associated with class: debug}
9470 \subsubsection{RPC name:~get\_all}
9472 {\bf Overview:}
9473 Return a list of all the debug records known to the system
9475 \noindent {\bf Signature:}
9476 \begin{verbatim} ((debug ref) Set) get_all (session_id s)\end{verbatim}
9479 \vspace{0.3cm}
9481 \noindent {\bf Return Type:}
9482 {\tt
9483 (debug ref) Set
9487 A list of all the IDs of all the debug records
9488 \vspace{0.3cm}
9489 \vspace{0.3cm}
9490 \vspace{0.3cm}
9491 \subsubsection{RPC name:~return\_failure}
9493 {\bf Overview:}
9494 Return an API 'successful' failure
9496 \noindent {\bf Signature:}
9497 \begin{verbatim} void return_failure (session_id s)\end{verbatim}
9500 \vspace{0.3cm}
9502 \noindent {\bf Return Type:}
9503 {\tt
9504 void
9509 \vspace{0.3cm}
9510 \vspace{0.3cm}
9511 \vspace{0.3cm}
9512 \subsubsection{RPC name:~create}
9514 {\bf Overview:}
9515 constructor for class debug
9517 \noindent {\bf Signature:}
9518 \begin{verbatim} (debug ref) create (session_id s, debug record args)\end{verbatim}
9521 \noindent{\bf Arguments:}
9524 \vspace{0.3cm}
9525 \begin{tabular}{|c|c|p{7cm}|}
9526 \hline
9527 {\bf type} & {\bf name} & {\bf description} \\ \hline
9528 {\tt debug record } & args & All constructor arguments \\ \hline
9530 \end{tabular}
9532 \vspace{0.3cm}
9534 \noindent {\bf Return Type:}
9535 {\tt
9536 debug ref
9540 reference to the newly created object
9541 \vspace{0.3cm}
9542 \vspace{0.3cm}
9543 \vspace{0.3cm}
9544 \subsubsection{RPC name:~destroy}
9546 {\bf Overview:}
9547 destructor for class debug
9549 \noindent {\bf Signature:}
9550 \begin{verbatim} void destroy (session_id s, debug ref self)\end{verbatim}
9553 \noindent{\bf Arguments:}
9556 \vspace{0.3cm}
9557 \begin{tabular}{|c|c|p{7cm}|}
9558 \hline
9559 {\bf type} & {\bf name} & {\bf description} \\ \hline
9560 {\tt debug ref } & self & object instance \\ \hline
9562 \end{tabular}
9564 \vspace{0.3cm}
9566 \noindent {\bf Return Type:}
9567 {\tt
9568 void
9573 \vspace{0.3cm}
9574 \vspace{0.3cm}
9575 \vspace{0.3cm}
9576 \subsubsection{RPC name:~get\_by\_uuid}
9578 {\bf Overview:}
9579 returns the debug instance with a particular uuid
9581 \noindent {\bf Signature:}
9582 \begin{verbatim} (debug ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
9585 \noindent{\bf Arguments:}
9588 \vspace{0.3cm}
9589 \begin{tabular}{|c|c|p{7cm}|}
9590 \hline
9591 {\bf type} & {\bf name} & {\bf description} \\ \hline
9592 {\tt string } & uuid & UUID of object to return \\ \hline
9594 \end{tabular}
9596 \vspace{0.3cm}
9598 \noindent {\bf Return Type:}
9599 {\tt
9600 debug ref
9604 reference to the object
9605 \vspace{0.3cm}
9606 \vspace{0.3cm}
9607 \vspace{0.3cm}
9608 \subsubsection{RPC name:~get\_record}
9610 {\bf Overview:}
9611 returns a record containing the state of an instance of class debug
9613 \noindent {\bf Signature:}
9614 \begin{verbatim} (debug record) get_record (session_id s, debug ref self)\end{verbatim}
9617 \noindent{\bf Arguments:}
9620 \vspace{0.3cm}
9621 \begin{tabular}{|c|c|p{7cm}|}
9622 \hline
9623 {\bf type} & {\bf name} & {\bf description} \\ \hline
9624 {\tt debug ref } & self & reference to the object \\ \hline
9626 \end{tabular}
9628 \vspace{0.3cm}
9630 \noindent {\bf Return Type:}
9631 {\tt
9632 debug record
9636 all fields from the object
9637 \vspace{0.3cm}
9638 \vspace{0.3cm}
9639 \vspace{0.3cm}
9641 \vspace{1cm}
9642 \section{DTD}
9643 General notes:
9644 \begin{itemize}
9645 \item Values of primitive types (int, bool, etc) and higher-order types (Sets, Maps) are encoded as simple strings, rather than being expanded into XML fragments. For example ``5'', ``true'', ``1, 2, 3, 4'', ``(1, 2), (2, 3), (3, 4)''
9646 \item Values of enumeration types are represented as strings (e.g. ``PAE'', ``3DNow!'')
9647 \item Object References are represented as UUIDs, written in string form
9648 \end{itemize}