direct-io.hg

view docs/xen-api/xenapi-datamodel.tex @ 12751:4234c17f3c48

Clarify that memory values are in bytes.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
author Ewan Mellor <ewan@xensource.com>
date Wed Dec 06 15:38:29 2006 +0000 (2006-12-06)
parents d3a3e57fcf8b
children c04feabe66ff
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 long-running 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 console} & A console \\
38 {\tt user} & A user of the system \\
39 {\tt debug} & A basic class for testing \\
40 \hline
41 \end{tabular}\end{center}
42 \section{Relationships Between Classes}
43 Fields that are bound together are shown in the following table:
44 \begin{center}\begin{tabular}{|ll|l|}
45 \hline
46 {\em object.field} & {\em object.field} & {\em relationship} \\
48 \hline
49 VDI.VBDs & VBD.VDI & many-to-one\\
50 VDI.parent & VDI.children & one-to-many\\
51 VBD.VM & VM.VBDs & one-to-many\\
52 VIF.VM & VM.VIFs & one-to-many\\
53 VIF.network & network.VIFs & one-to-many\\
54 PIF.host & host.PIFs & one-to-many\\
55 PIF.network & network.PIFs & one-to-many\\
56 SR.VDIs & VDI.SR & many-to-one\\
57 VTPM.VM & VM.VTPMs & one-to-many\\
58 console.VM & VM.consoles & one-to-many\\
59 host.resident\_VMs & VM.resident\_on & many-to-one\\
60 host.host\_CPUs & host\_cpu.host & many-to-one\\
61 \hline
62 \end{tabular}\end{center}
64 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
65 relationships:
67 \begin{center}\resizebox{0.8\textwidth}{!}{
68 \includegraphics{xenapi-datamodel-graph}
69 }\end{center}
70 \
71 \subsection{List of bound fields}
72 \section{Types}
73 \subsection{Primitives}
74 The following primitive types are used to specify methods and fields in the API Reference:
76 \begin{center}\begin{tabular}{|ll|}
77 \hline
78 Type & Description \\
79 \hline
80 String & text strings \\
81 Int & 64-bit integers \\
82 Float & IEEE double-precision floating-point numbers \\
83 Bool & boolean \\
84 DateTime & date and timestamp \\
85 Ref (object name) & reference to an object of class name \\
86 \hline
87 \end{tabular}\end{center}
88 \subsection{Higher order types}
89 The following type constructors are used:
91 \begin{center}\begin{tabular}{|ll|}
92 \hline
93 Type & Description \\
94 \hline
95 List (t) & an arbitrary-length list of elements of type t \\
96 Map (a $\rightarrow$ b) & a table mapping values of type a to values of type b \\
97 \hline
98 \end{tabular}\end{center}
99 \subsection{Enumeration types}
100 The following enumeration types are used:
102 \begin{longtable}{|ll|}
103 \hline
104 {\tt enum console\_protocol} & \\
105 \hline
106 \hspace{0.5cm}{\tt vt100} & VT100 terminal \\
107 \hspace{0.5cm}{\tt rfb} & Remote FrameBuffer protocol (as used in VNC) \\
108 \hspace{0.5cm}{\tt rdp} & Remote Desktop Protocol \\
109 \hline
110 \end{longtable}
112 \vspace{1cm}
113 \begin{longtable}{|ll|}
114 \hline
115 {\tt enum vdi\_type} & \\
116 \hline
117 \hspace{0.5cm}{\tt system} & a disk that may be replaced on upgrade \\
118 \hspace{0.5cm}{\tt user} & a disk that is always preserved on upgrade \\
119 \hspace{0.5cm}{\tt ephemeral} & a disk that may be reformatted on upgrade \\
120 \hline
121 \end{longtable}
123 \vspace{1cm}
124 \begin{longtable}{|ll|}
125 \hline
126 {\tt enum vm\_power\_state} & \\
127 \hline
128 \hspace{0.5cm}{\tt Halted} & Halted \\
129 \hspace{0.5cm}{\tt Paused} & Paused \\
130 \hspace{0.5cm}{\tt Running} & Running \\
131 \hspace{0.5cm}{\tt Suspended} & Suspended \\
132 \hspace{0.5cm}{\tt ShuttingDown} & Shutting Down \\
133 \hspace{0.5cm}{\tt Unknown} & Some other unknown state \\
134 \hline
135 \end{longtable}
137 \vspace{1cm}
138 \begin{longtable}{|ll|}
139 \hline
140 {\tt enum task\_status\_type} & \\
141 \hline
142 \hspace{0.5cm}{\tt pending} & task is in progress \\
143 \hspace{0.5cm}{\tt success} & task was completed successfully \\
144 \hspace{0.5cm}{\tt failure} & task has failed \\
145 \hline
146 \end{longtable}
148 \vspace{1cm}
149 \begin{longtable}{|ll|}
150 \hline
151 {\tt enum cpu\_feature} & \\
152 \hline
153 \hspace{0.5cm}{\tt FPU} & Onboard FPU \\
154 \hspace{0.5cm}{\tt VME} & Virtual Mode Extensions \\
155 \hspace{0.5cm}{\tt DE} & Debugging Extensions \\
156 \hspace{0.5cm}{\tt PSE} & Page Size Extensions \\
157 \hspace{0.5cm}{\tt TSC} & Time Stamp Counter \\
158 \hspace{0.5cm}{\tt MSR} & Model-Specific Registers, RDMSR, WRMSR \\
159 \hspace{0.5cm}{\tt PAE} & Physical Address Extensions \\
160 \hspace{0.5cm}{\tt MCE} & Machine Check Architecture \\
161 \hspace{0.5cm}{\tt CX8} & CMPXCHG8 instruction \\
162 \hspace{0.5cm}{\tt APIC} & Onboard APIC \\
163 \hspace{0.5cm}{\tt SEP} & SYSENTER/SYSEXIT \\
164 \hspace{0.5cm}{\tt MTRR} & Memory Type Range Registers \\
165 \hspace{0.5cm}{\tt PGE} & Page Global Enable \\
166 \hspace{0.5cm}{\tt MCA} & Machine Check Architecture \\
167 \hspace{0.5cm}{\tt CMOV} & CMOV instruction (FCMOVCC and FCOMI too if FPU present) \\
168 \hspace{0.5cm}{\tt PAT} & Page Attribute Table \\
169 \hspace{0.5cm}{\tt PSE36} & 36-bit PSEs \\
170 \hspace{0.5cm}{\tt PN} & Processor serial number \\
171 \hspace{0.5cm}{\tt CLFLSH} & Supports the CLFLUSH instruction \\
172 \hspace{0.5cm}{\tt DTES} & Debug Trace Store \\
173 \hspace{0.5cm}{\tt ACPI} & ACPI via MSR \\
174 \hspace{0.5cm}{\tt MMX} & Multimedia Extensions \\
175 \hspace{0.5cm}{\tt FXSR} & FXSAVE and FXRSTOR instructions (fast save and restore \\
176 \hspace{0.5cm}{\tt XMM} & Streaming SIMD Extensions \\
177 \hspace{0.5cm}{\tt XMM2} & Streaming SIMD Extensions-2 \\
178 \hspace{0.5cm}{\tt SELFSNOOP} & CPU self snoop \\
179 \hspace{0.5cm}{\tt HT} & Hyper-Threading \\
180 \hspace{0.5cm}{\tt ACC} & Automatic clock control \\
181 \hspace{0.5cm}{\tt IA64} & IA-64 processor \\
182 \hspace{0.5cm}{\tt SYSCALL} & SYSCALL/SYSRET \\
183 \hspace{0.5cm}{\tt MP} & MP Capable. \\
184 \hspace{0.5cm}{\tt NX} & Execute Disable \\
185 \hspace{0.5cm}{\tt MMXEXT} & AMD MMX extensions \\
186 \hspace{0.5cm}{\tt LM} & Long Mode (x86-64) \\
187 \hspace{0.5cm}{\tt 3DNOWEXT} & AMD 3DNow! extensions \\
188 \hspace{0.5cm}{\tt 3DNOW} & 3DNow! \\
189 \hspace{0.5cm}{\tt RECOVERY} & CPU in recovery mode \\
190 \hspace{0.5cm}{\tt LONGRUN} & Longrun power control \\
191 \hspace{0.5cm}{\tt LRTI} & LongRun table interface \\
192 \hspace{0.5cm}{\tt CXMMX} & Cyrix MMX extensions \\
193 \hspace{0.5cm}{\tt K6\_MTRR} & AMD K6 nonstandard MTRRs \\
194 \hspace{0.5cm}{\tt CYRIX\_ARR} & Cyrix ARRs (= MTRRs) \\
195 \hspace{0.5cm}{\tt CENTAUR\_MCR} & Centaur MCRs (= MTRRs) \\
196 \hspace{0.5cm}{\tt K8} & Opteron, Athlon64 \\
197 \hspace{0.5cm}{\tt K7} & Athlon \\
198 \hspace{0.5cm}{\tt P3} & P3 \\
199 \hspace{0.5cm}{\tt P4} & P4 \\
200 \hspace{0.5cm}{\tt CONSTANT\_TSC} & TSC ticks at a constant rate \\
201 \hspace{0.5cm}{\tt FXSAVE\_LEAK} & FXSAVE leaks FOP/FIP/FOP \\
202 \hspace{0.5cm}{\tt XMM3} & Streaming SIMD Extensions-3 \\
203 \hspace{0.5cm}{\tt MWAIT} & Monitor/Mwait support \\
204 \hspace{0.5cm}{\tt DSCPL} & CPL Qualified Debug Store \\
205 \hspace{0.5cm}{\tt EST} & Enhanced SpeedStep \\
206 \hspace{0.5cm}{\tt TM2} & Thermal Monitor 2 \\
207 \hspace{0.5cm}{\tt CID} & Context ID \\
208 \hspace{0.5cm}{\tt CX16} & CMPXCHG16B \\
209 \hspace{0.5cm}{\tt XTPR} & Send Task Priority Messages \\
210 \hspace{0.5cm}{\tt XSTORE} & on-CPU RNG present (xstore insn) \\
211 \hspace{0.5cm}{\tt XSTORE\_EN} & on-CPU RNG enabled \\
212 \hspace{0.5cm}{\tt XCRYPT} & on-CPU crypto (xcrypt insn) \\
213 \hspace{0.5cm}{\tt XCRYPT\_EN} & on-CPU crypto enabled \\
214 \hspace{0.5cm}{\tt LAHF\_LM} & LAHF/SAHF in long mode \\
215 \hspace{0.5cm}{\tt CMP\_LEGACY} & If yes HyperThreading not valid \\
216 \hspace{0.5cm}{\tt VMX} & VMX instruction set \\
217 \hline
218 \end{longtable}
220 \vspace{1cm}
221 \begin{longtable}{|ll|}
222 \hline
223 {\tt enum on\_normal\_exit} & \\
224 \hline
225 \hspace{0.5cm}{\tt destroy} & destroy the VM state \\
226 \hspace{0.5cm}{\tt restart} & restart the VM \\
227 \hline
228 \end{longtable}
230 \vspace{1cm}
231 \begin{longtable}{|ll|}
232 \hline
233 {\tt enum on\_crash\_behaviour} & \\
234 \hline
235 \hspace{0.5cm}{\tt destroy} & destroy the VM state \\
236 \hspace{0.5cm}{\tt coredump\_and\_destroy} & record a coredump and then destroy the VM state \\
237 \hspace{0.5cm}{\tt restart} & restart the VM \\
238 \hspace{0.5cm}{\tt coredump\_and\_restart} & record a coredump and then restart the VM \\
239 \hspace{0.5cm}{\tt preserve} & leave the crashed VM as-is \\
240 \hspace{0.5cm}{\tt rename\_restart} & rename the crashed VM and start a new copy \\
241 \hline
242 \end{longtable}
244 \vspace{1cm}
245 \begin{longtable}{|ll|}
246 \hline
247 {\tt enum boot\_type} & \\
248 \hline
249 \hspace{0.5cm}{\tt bios} & boot an HVM guest using an emulated BIOS \\
250 \hspace{0.5cm}{\tt grub} & boot from inside the machine using grub \\
251 \hspace{0.5cm}{\tt kernel\_external} & boot from an external kernel \\
252 \hspace{0.5cm}{\tt kernel\_internal} & boot from a kernel inside the guest filesystem \\
253 \hline
254 \end{longtable}
256 \vspace{1cm}
257 \begin{longtable}{|ll|}
258 \hline
259 {\tt enum vbd\_mode} & \\
260 \hline
261 \hspace{0.5cm}{\tt RO} & disk is mounted read-only \\
262 \hspace{0.5cm}{\tt RW} & disk is mounted read-write \\
263 \hline
264 \end{longtable}
266 \vspace{1cm}
267 \begin{longtable}{|ll|}
268 \hline
269 {\tt enum driver\_type} & \\
270 \hline
271 \hspace{0.5cm}{\tt ioemu} & use hardware emulation \\
272 \hspace{0.5cm}{\tt paravirtualised} & use paravirtualised driver \\
273 \hline
274 \end{longtable}
276 \vspace{1cm}
278 \newpage
279 \section{Class: session}
280 \subsection{Fields for class: session}
281 \begin{longtable}{|lllp{0.38\textwidth}|}
282 \hline
283 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf session} \\
284 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A session}} \\
285 \hline
286 Quals & Field & Type & Description \\
287 \hline
288 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
289 $\mathit{RO}_\mathit{ins}$ & {\tt this\_host} & host ref & Currently connected host \\
290 $\mathit{RO}_\mathit{ins}$ & {\tt this\_user} & user ref & Currently connected user \\
291 \hline
292 \end{longtable}
293 \subsection{Additional RPCs associated with class: session}
294 \subsubsection{RPC name:~login\_with\_password}
296 {\bf Overview:}
297 Attempt to authenticate the user, returning a session\_id if successful
299 \noindent {\bf Signature:}
300 \begin{verbatim} (session ref) login_with_password (string uname, string pwd)\end{verbatim}
303 \noindent{\bf Arguments:}
306 \vspace{0.3cm}
307 \begin{tabular}{|c|c|p{7cm}|}
308 \hline
309 {\bf type} & {\bf name} & {\bf description} \\ \hline
310 {\tt string } & uname & Username for login. \\ \hline
312 {\tt string } & pwd & Password for login. \\ \hline
314 \end{tabular}
316 \vspace{0.3cm}
318 \noindent {\bf Return Type:}
319 {\tt
320 session ref
321 }
324 ID of newly created session
325 \vspace{0.3cm}
326 \vspace{0.3cm}
327 \vspace{0.3cm}
328 \subsubsection{RPC name:~logout}
330 {\bf Overview:}
331 Log out of a session
333 \noindent {\bf Signature:}
334 \begin{verbatim} void logout (session_id s)\end{verbatim}
337 \vspace{0.3cm}
339 \noindent {\bf Return Type:}
340 {\tt
341 void
342 }
346 \vspace{0.3cm}
347 \vspace{0.3cm}
348 \vspace{0.3cm}
349 \subsubsection{RPC name:~get\_uuid}
351 {\bf Overview:}
352 Get the uuid field of the given session.
354 \noindent {\bf Signature:}
355 \begin{verbatim} string get_uuid (session_id s, session ref self)\end{verbatim}
358 \noindent{\bf Arguments:}
361 \vspace{0.3cm}
362 \begin{tabular}{|c|c|p{7cm}|}
363 \hline
364 {\bf type} & {\bf name} & {\bf description} \\ \hline
365 {\tt session ref } & self & reference to the object \\ \hline
367 \end{tabular}
369 \vspace{0.3cm}
371 \noindent {\bf Return Type:}
372 {\tt
373 string
374 }
377 value of the field
378 \vspace{0.3cm}
379 \vspace{0.3cm}
380 \vspace{0.3cm}
381 \subsubsection{RPC name:~get\_this\_host}
383 {\bf Overview:}
384 Get the this\_host field of the given session.
386 \noindent {\bf Signature:}
387 \begin{verbatim} (host ref) get_this_host (session_id s, session ref self)\end{verbatim}
390 \noindent{\bf Arguments:}
393 \vspace{0.3cm}
394 \begin{tabular}{|c|c|p{7cm}|}
395 \hline
396 {\bf type} & {\bf name} & {\bf description} \\ \hline
397 {\tt session ref } & self & reference to the object \\ \hline
399 \end{tabular}
401 \vspace{0.3cm}
403 \noindent {\bf Return Type:}
404 {\tt
405 host ref
406 }
409 value of the field
410 \vspace{0.3cm}
411 \vspace{0.3cm}
412 \vspace{0.3cm}
413 \subsubsection{RPC name:~get\_this\_user}
415 {\bf Overview:}
416 Get the this\_user field of the given session.
418 \noindent {\bf Signature:}
419 \begin{verbatim} (user ref) get_this_user (session_id s, session ref self)\end{verbatim}
422 \noindent{\bf Arguments:}
425 \vspace{0.3cm}
426 \begin{tabular}{|c|c|p{7cm}|}
427 \hline
428 {\bf type} & {\bf name} & {\bf description} \\ \hline
429 {\tt session ref } & self & reference to the object \\ \hline
431 \end{tabular}
433 \vspace{0.3cm}
435 \noindent {\bf Return Type:}
436 {\tt
437 user ref
438 }
441 value of the field
442 \vspace{0.3cm}
443 \vspace{0.3cm}
444 \vspace{0.3cm}
445 \subsubsection{RPC name:~create}
447 {\bf Overview:}
448 Create a new session instance, and return its handle.
450 \noindent {\bf Signature:}
451 \begin{verbatim} (session ref) create (session_id s, session record args)\end{verbatim}
454 \noindent{\bf Arguments:}
457 \vspace{0.3cm}
458 \begin{tabular}{|c|c|p{7cm}|}
459 \hline
460 {\bf type} & {\bf name} & {\bf description} \\ \hline
461 {\tt session record } & args & All constructor arguments \\ \hline
463 \end{tabular}
465 \vspace{0.3cm}
467 \noindent {\bf Return Type:}
468 {\tt
469 session ref
470 }
473 reference to the newly created object
474 \vspace{0.3cm}
475 \vspace{0.3cm}
476 \vspace{0.3cm}
477 \subsubsection{RPC name:~destroy}
479 {\bf Overview:}
480 Destroy the specified session instance.
482 \noindent {\bf Signature:}
483 \begin{verbatim} void destroy (session_id s, session ref self)\end{verbatim}
486 \noindent{\bf Arguments:}
489 \vspace{0.3cm}
490 \begin{tabular}{|c|c|p{7cm}|}
491 \hline
492 {\bf type} & {\bf name} & {\bf description} \\ \hline
493 {\tt session ref } & self & reference to the object \\ \hline
495 \end{tabular}
497 \vspace{0.3cm}
499 \noindent {\bf Return Type:}
500 {\tt
501 void
502 }
506 \vspace{0.3cm}
507 \vspace{0.3cm}
508 \vspace{0.3cm}
509 \subsubsection{RPC name:~get\_by\_uuid}
511 {\bf Overview:}
512 Get a reference to the session instance with the specified UUID.
514 \noindent {\bf Signature:}
515 \begin{verbatim} (session ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
518 \noindent{\bf Arguments:}
521 \vspace{0.3cm}
522 \begin{tabular}{|c|c|p{7cm}|}
523 \hline
524 {\bf type} & {\bf name} & {\bf description} \\ \hline
525 {\tt string } & uuid & UUID of object to return \\ \hline
527 \end{tabular}
529 \vspace{0.3cm}
531 \noindent {\bf Return Type:}
532 {\tt
533 session ref
534 }
537 reference to the object
538 \vspace{0.3cm}
539 \vspace{0.3cm}
540 \vspace{0.3cm}
541 \subsubsection{RPC name:~get\_record}
543 {\bf Overview:}
544 Get a record containing the current state of the given session.
546 \noindent {\bf Signature:}
547 \begin{verbatim} (session record) get_record (session_id s, session ref self)\end{verbatim}
550 \noindent{\bf Arguments:}
553 \vspace{0.3cm}
554 \begin{tabular}{|c|c|p{7cm}|}
555 \hline
556 {\bf type} & {\bf name} & {\bf description} \\ \hline
557 {\tt session ref } & self & reference to the object \\ \hline
559 \end{tabular}
561 \vspace{0.3cm}
563 \noindent {\bf Return Type:}
564 {\tt
565 session record
566 }
569 all fields from the object
570 \vspace{0.3cm}
571 \vspace{0.3cm}
572 \vspace{0.3cm}
574 \vspace{1cm}
575 \newpage
576 \section{Class: task}
577 \subsection{Fields for class: task}
578 \begin{longtable}{|lllp{0.38\textwidth}|}
579 \hline
580 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf task} \\
581 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A long-running asynchronous task}} \\
582 \hline
583 Quals & Field & Type & Description \\
584 \hline
585 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
586 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
587 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
588 $\mathit{RO}_\mathit{run}$ & {\tt status} & task\_status\_type & current status of the task \\
589 $\mathit{RO}_\mathit{run}$ & {\tt progress} & int & if the task is still pending, this field contains the estimated percentage complete (0-100). If task has completed (successfully or unsuccessfully) this should be 100. \\
590 $\mathit{RO}_\mathit{run}$ & {\tt eta} & datetime & if the task is still pending, this field contains the estimated completion time. If the task has finished (successfully or not) it contains the time the task finished. \\
591 $\mathit{RO}_\mathit{run}$ & {\tt type} & string & if the task has completed successfully, this field contains the type of the encoded result (i.e. name of the class whose reference is in the result field). Undefined otherwise. \\
592 $\mathit{RO}_\mathit{run}$ & {\tt result} & string & if the task has completed successfully, this field contains the result value (either Void or an object reference). Undefined otherwise. \\
593 $\mathit{RO}_\mathit{run}$ & {\tt error\_code} & int & if the task has failed, this field contains the error code. Undefined otherwise. \\
594 $\mathit{RO}_\mathit{run}$ & {\tt error\_info} & string Set & if the task has failed, this field contains the set of associated error strings. Undefined otherwise. \\
595 \hline
596 \end{longtable}
597 \subsection{Additional RPCs associated with class: task}
598 \subsubsection{RPC name:~get\_all}
600 {\bf Overview:}
601 Return a list of all the tasks known to the system
603 \noindent {\bf Signature:}
604 \begin{verbatim} ((task ref) Set) get_all (session_id s)\end{verbatim}
607 \vspace{0.3cm}
609 \noindent {\bf Return Type:}
610 {\tt
611 (task ref) Set
612 }
615 references to all objects
616 \vspace{0.3cm}
617 \vspace{0.3cm}
618 \vspace{0.3cm}
619 \subsubsection{RPC name:~get\_uuid}
621 {\bf Overview:}
622 Get the uuid field of the given task.
624 \noindent {\bf Signature:}
625 \begin{verbatim} string get_uuid (session_id s, task ref self)\end{verbatim}
628 \noindent{\bf Arguments:}
631 \vspace{0.3cm}
632 \begin{tabular}{|c|c|p{7cm}|}
633 \hline
634 {\bf type} & {\bf name} & {\bf description} \\ \hline
635 {\tt task ref } & self & reference to the object \\ \hline
637 \end{tabular}
639 \vspace{0.3cm}
641 \noindent {\bf Return Type:}
642 {\tt
643 string
644 }
647 value of the field
648 \vspace{0.3cm}
649 \vspace{0.3cm}
650 \vspace{0.3cm}
651 \subsubsection{RPC name:~get\_name\_label}
653 {\bf Overview:}
654 Get the name/label field of the given task.
656 \noindent {\bf Signature:}
657 \begin{verbatim} string get_name_label (session_id s, task ref self)\end{verbatim}
660 \noindent{\bf Arguments:}
663 \vspace{0.3cm}
664 \begin{tabular}{|c|c|p{7cm}|}
665 \hline
666 {\bf type} & {\bf name} & {\bf description} \\ \hline
667 {\tt task ref } & self & reference to the object \\ \hline
669 \end{tabular}
671 \vspace{0.3cm}
673 \noindent {\bf Return Type:}
674 {\tt
675 string
676 }
679 value of the field
680 \vspace{0.3cm}
681 \vspace{0.3cm}
682 \vspace{0.3cm}
683 \subsubsection{RPC name:~set\_name\_label}
685 {\bf Overview:}
686 Set the name/label field of the given task.
688 \noindent {\bf Signature:}
689 \begin{verbatim} void set_name_label (session_id s, task ref self, string value)\end{verbatim}
692 \noindent{\bf Arguments:}
695 \vspace{0.3cm}
696 \begin{tabular}{|c|c|p{7cm}|}
697 \hline
698 {\bf type} & {\bf name} & {\bf description} \\ \hline
699 {\tt task ref } & self & reference to the object \\ \hline
701 {\tt string } & value & New value to set \\ \hline
703 \end{tabular}
705 \vspace{0.3cm}
707 \noindent {\bf Return Type:}
708 {\tt
709 void
710 }
714 \vspace{0.3cm}
715 \vspace{0.3cm}
716 \vspace{0.3cm}
717 \subsubsection{RPC name:~get\_name\_description}
719 {\bf Overview:}
720 Get the name/description field of the given task.
722 \noindent {\bf Signature:}
723 \begin{verbatim} string get_name_description (session_id s, task ref self)\end{verbatim}
726 \noindent{\bf Arguments:}
729 \vspace{0.3cm}
730 \begin{tabular}{|c|c|p{7cm}|}
731 \hline
732 {\bf type} & {\bf name} & {\bf description} \\ \hline
733 {\tt task ref } & self & reference to the object \\ \hline
735 \end{tabular}
737 \vspace{0.3cm}
739 \noindent {\bf Return Type:}
740 {\tt
741 string
742 }
745 value of the field
746 \vspace{0.3cm}
747 \vspace{0.3cm}
748 \vspace{0.3cm}
749 \subsubsection{RPC name:~set\_name\_description}
751 {\bf Overview:}
752 Set the name/description field of the given task.
754 \noindent {\bf Signature:}
755 \begin{verbatim} void set_name_description (session_id s, task ref self, string value)\end{verbatim}
758 \noindent{\bf Arguments:}
761 \vspace{0.3cm}
762 \begin{tabular}{|c|c|p{7cm}|}
763 \hline
764 {\bf type} & {\bf name} & {\bf description} \\ \hline
765 {\tt task ref } & self & reference to the object \\ \hline
767 {\tt string } & value & New value to set \\ \hline
769 \end{tabular}
771 \vspace{0.3cm}
773 \noindent {\bf Return Type:}
774 {\tt
775 void
776 }
780 \vspace{0.3cm}
781 \vspace{0.3cm}
782 \vspace{0.3cm}
783 \subsubsection{RPC name:~get\_status}
785 {\bf Overview:}
786 Get the status field of the given task.
788 \noindent {\bf Signature:}
789 \begin{verbatim} (task_status_type) get_status (session_id s, task ref self)\end{verbatim}
792 \noindent{\bf Arguments:}
795 \vspace{0.3cm}
796 \begin{tabular}{|c|c|p{7cm}|}
797 \hline
798 {\bf type} & {\bf name} & {\bf description} \\ \hline
799 {\tt task ref } & self & reference to the object \\ \hline
801 \end{tabular}
803 \vspace{0.3cm}
805 \noindent {\bf Return Type:}
806 {\tt
807 task\_status\_type
808 }
811 value of the field
812 \vspace{0.3cm}
813 \vspace{0.3cm}
814 \vspace{0.3cm}
815 \subsubsection{RPC name:~get\_progress}
817 {\bf Overview:}
818 Get the progress field of the given task.
820 \noindent {\bf Signature:}
821 \begin{verbatim} int get_progress (session_id s, task ref self)\end{verbatim}
824 \noindent{\bf Arguments:}
827 \vspace{0.3cm}
828 \begin{tabular}{|c|c|p{7cm}|}
829 \hline
830 {\bf type} & {\bf name} & {\bf description} \\ \hline
831 {\tt task ref } & self & reference to the object \\ \hline
833 \end{tabular}
835 \vspace{0.3cm}
837 \noindent {\bf Return Type:}
838 {\tt
839 int
840 }
843 value of the field
844 \vspace{0.3cm}
845 \vspace{0.3cm}
846 \vspace{0.3cm}
847 \subsubsection{RPC name:~get\_eta}
849 {\bf Overview:}
850 Get the eta field of the given task.
852 \noindent {\bf Signature:}
853 \begin{verbatim} datetime get_eta (session_id s, task ref self)\end{verbatim}
856 \noindent{\bf Arguments:}
859 \vspace{0.3cm}
860 \begin{tabular}{|c|c|p{7cm}|}
861 \hline
862 {\bf type} & {\bf name} & {\bf description} \\ \hline
863 {\tt task ref } & self & reference to the object \\ \hline
865 \end{tabular}
867 \vspace{0.3cm}
869 \noindent {\bf Return Type:}
870 {\tt
871 datetime
872 }
875 value of the field
876 \vspace{0.3cm}
877 \vspace{0.3cm}
878 \vspace{0.3cm}
879 \subsubsection{RPC name:~get\_type}
881 {\bf Overview:}
882 Get the type field of the given task.
884 \noindent {\bf Signature:}
885 \begin{verbatim} string get_type (session_id s, task ref self)\end{verbatim}
888 \noindent{\bf Arguments:}
891 \vspace{0.3cm}
892 \begin{tabular}{|c|c|p{7cm}|}
893 \hline
894 {\bf type} & {\bf name} & {\bf description} \\ \hline
895 {\tt task ref } & self & reference to the object \\ \hline
897 \end{tabular}
899 \vspace{0.3cm}
901 \noindent {\bf Return Type:}
902 {\tt
903 string
904 }
907 value of the field
908 \vspace{0.3cm}
909 \vspace{0.3cm}
910 \vspace{0.3cm}
911 \subsubsection{RPC name:~get\_result}
913 {\bf Overview:}
914 Get the result field of the given task.
916 \noindent {\bf Signature:}
917 \begin{verbatim} string get_result (session_id s, task ref self)\end{verbatim}
920 \noindent{\bf Arguments:}
923 \vspace{0.3cm}
924 \begin{tabular}{|c|c|p{7cm}|}
925 \hline
926 {\bf type} & {\bf name} & {\bf description} \\ \hline
927 {\tt task ref } & self & reference to the object \\ \hline
929 \end{tabular}
931 \vspace{0.3cm}
933 \noindent {\bf Return Type:}
934 {\tt
935 string
936 }
939 value of the field
940 \vspace{0.3cm}
941 \vspace{0.3cm}
942 \vspace{0.3cm}
943 \subsubsection{RPC name:~get\_error\_code}
945 {\bf Overview:}
946 Get the error\_code field of the given task.
948 \noindent {\bf Signature:}
949 \begin{verbatim} int get_error_code (session_id s, task ref self)\end{verbatim}
952 \noindent{\bf Arguments:}
955 \vspace{0.3cm}
956 \begin{tabular}{|c|c|p{7cm}|}
957 \hline
958 {\bf type} & {\bf name} & {\bf description} \\ \hline
959 {\tt task ref } & self & reference to the object \\ \hline
961 \end{tabular}
963 \vspace{0.3cm}
965 \noindent {\bf Return Type:}
966 {\tt
967 int
968 }
971 value of the field
972 \vspace{0.3cm}
973 \vspace{0.3cm}
974 \vspace{0.3cm}
975 \subsubsection{RPC name:~get\_error\_info}
977 {\bf Overview:}
978 Get the error\_info field of the given task.
980 \noindent {\bf Signature:}
981 \begin{verbatim} (string Set) get_error_info (session_id s, task ref self)\end{verbatim}
984 \noindent{\bf Arguments:}
987 \vspace{0.3cm}
988 \begin{tabular}{|c|c|p{7cm}|}
989 \hline
990 {\bf type} & {\bf name} & {\bf description} \\ \hline
991 {\tt task ref } & self & reference to the object \\ \hline
993 \end{tabular}
995 \vspace{0.3cm}
997 \noindent {\bf Return Type:}
998 {\tt
999 string Set
1003 value of the field
1004 \vspace{0.3cm}
1005 \vspace{0.3cm}
1006 \vspace{0.3cm}
1007 \subsubsection{RPC name:~create}
1009 {\bf Overview:}
1010 Create a new task instance, and return its handle.
1012 \noindent {\bf Signature:}
1013 \begin{verbatim} (task ref) create (session_id s, task record args)\end{verbatim}
1016 \noindent{\bf Arguments:}
1019 \vspace{0.3cm}
1020 \begin{tabular}{|c|c|p{7cm}|}
1021 \hline
1022 {\bf type} & {\bf name} & {\bf description} \\ \hline
1023 {\tt task record } & args & All constructor arguments \\ \hline
1025 \end{tabular}
1027 \vspace{0.3cm}
1029 \noindent {\bf Return Type:}
1030 {\tt
1031 task ref
1035 reference to the newly created object
1036 \vspace{0.3cm}
1037 \vspace{0.3cm}
1038 \vspace{0.3cm}
1039 \subsubsection{RPC name:~destroy}
1041 {\bf Overview:}
1042 Destroy the specified task instance.
1044 \noindent {\bf Signature:}
1045 \begin{verbatim} void destroy (session_id s, task ref self)\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 task ref } & self & reference to the object \\ \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:~get\_by\_uuid}
1073 {\bf Overview:}
1074 Get a reference to the task instance with the specified UUID.
1076 \noindent {\bf Signature:}
1077 \begin{verbatim} (task ref) get_by_uuid (session_id s, string uuid)\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 string } & uuid & UUID of object to return \\ \hline
1089 \end{tabular}
1091 \vspace{0.3cm}
1093 \noindent {\bf Return Type:}
1094 {\tt
1095 task ref
1099 reference to the object
1100 \vspace{0.3cm}
1101 \vspace{0.3cm}
1102 \vspace{0.3cm}
1103 \subsubsection{RPC name:~get\_record}
1105 {\bf Overview:}
1106 Get a record containing the current state of the given task.
1108 \noindent {\bf Signature:}
1109 \begin{verbatim} (task record) get_record (session_id s, task ref self)\end{verbatim}
1112 \noindent{\bf Arguments:}
1115 \vspace{0.3cm}
1116 \begin{tabular}{|c|c|p{7cm}|}
1117 \hline
1118 {\bf type} & {\bf name} & {\bf description} \\ \hline
1119 {\tt task ref } & self & reference to the object \\ \hline
1121 \end{tabular}
1123 \vspace{0.3cm}
1125 \noindent {\bf Return Type:}
1126 {\tt
1127 task record
1131 all fields from the object
1132 \vspace{0.3cm}
1133 \vspace{0.3cm}
1134 \vspace{0.3cm}
1135 \subsubsection{RPC name:~get\_by\_name\_label}
1137 {\bf Overview:}
1138 Get all the task instances with the given label.
1140 \noindent {\bf Signature:}
1141 \begin{verbatim} ((task ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
1144 \noindent{\bf Arguments:}
1147 \vspace{0.3cm}
1148 \begin{tabular}{|c|c|p{7cm}|}
1149 \hline
1150 {\bf type} & {\bf name} & {\bf description} \\ \hline
1151 {\tt string } & label & label of object to return \\ \hline
1153 \end{tabular}
1155 \vspace{0.3cm}
1157 \noindent {\bf Return Type:}
1158 {\tt
1159 (task ref) Set
1163 references to objects with match names
1164 \vspace{0.3cm}
1165 \vspace{0.3cm}
1166 \vspace{0.3cm}
1168 \vspace{1cm}
1169 \newpage
1170 \section{Class: VM}
1171 \subsection{Fields for class: VM}
1172 \begin{longtable}{|lllp{0.38\textwidth}|}
1173 \hline
1174 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VM} \\
1175 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A virtual machine (or 'guest')}} \\
1176 \hline
1177 Quals & Field & Type & Description \\
1178 \hline
1179 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
1180 $\mathit{RO}_\mathit{run}$ & {\tt power\_state} & vm\_power\_state & Current power state of the machine \\
1181 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
1182 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
1183 $\mathit{RW}$ & {\tt user\_version} & int & a user version number for this machine \\
1184 $\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 \\
1185 $\mathit{RO}_\mathit{run}$ & {\tt resident\_on} & host ref & the host the VM is currently resident on \\
1186 $\mathit{RO}_\mathit{ins}$ & {\tt memory/static\_max} & int & Statically-set (i.e. absolute) maximum (bytes) \\
1187 $\mathit{RW}$ & {\tt memory/dynamic\_max} & int & Dynamic maximum (bytes) \\
1188 $\mathit{RO}_\mathit{run}$ & {\tt memory/actual} & int & Guest's actual usage (bytes) \\
1189 $\mathit{RW}$ & {\tt memory/dynamic\_min} & int & Dynamic minimum (bytes) \\
1190 $\mathit{RO}_\mathit{ins}$ & {\tt memory/static\_min} & int & Statically-set (i.e. absolute) mininum (bytes) \\
1191 $\mathit{RW}$ & {\tt VCPUs/policy} & string & the name of the VCPU scheduling policy to be applied \\
1192 $\mathit{RW}$ & {\tt VCPUs/params} & string & string-encoded parameters passed to selected VCPU policy \\
1193 $\mathit{RO}_\mathit{run}$ & {\tt VCPUs/number} & int & Current number of VCPUs \\
1194 $\mathit{RO}_\mathit{run}$ & {\tt VCPUs/utilisation} & (int $\rightarrow$ float) Map & Utilisation for all of guest's current VCPUs \\
1195 $\mathit{RO}_\mathit{ins}$ & {\tt VCPUs/features/required} & (cpu\_feature) Set & CPU features the guest demands the host supports \\
1196 $\mathit{RO}_\mathit{ins}$ & {\tt VCPUs/features/can\_use} & (cpu\_feature) Set & CPU features the guest can use if available \\
1197 $\mathit{RW}$ & {\tt VCPUs/features/force\_on} & (cpu\_feature) Set & CPU features to expose to the guest above the bare minimum \\
1198 $\mathit{RW}$ & {\tt VCPUs/features/force\_off} & (cpu\_feature) Set & CPU features to hide to the guest \\
1199 $\mathit{RW}$ & {\tt actions/after\_shutdown} & on\_normal\_exit & action to take after the guest has shutdown itself \\
1200 $\mathit{RW}$ & {\tt actions/after\_reboot} & on\_normal\_exit & action to take after the guest has rebooted itself \\
1201 $\mathit{RW}$ & {\tt actions/after\_suspend} & on\_normal\_exit & action to take after the guest has suspended itself \\
1202 $\mathit{RW}$ & {\tt actions/after\_crash} & on\_crash\_behaviour & action to take if the guest crashes \\
1203 $\mathit{RO}_\mathit{run}$ & {\tt consoles} & (console ref) Set & virtual console devices \\
1204 $\mathit{RO}_\mathit{run}$ & {\tt VIFs} & (VIF ref) Set & virtual network interfaces \\
1205 $\mathit{RO}_\mathit{run}$ & {\tt VBDs} & (VBD ref) Set & virtual block devices \\
1206 $\mathit{RO}_\mathit{run}$ & {\tt VTPMs} & (VTPM ref) Set & virtual TPMs \\
1207 $\mathit{RW}$ & {\tt bios/boot} & string & device to boot the guest from \\
1208 $\mathit{RW}$ & {\tt platform/std\_VGA} & bool & emulate standard VGA instead of cirrus logic \\
1209 $\mathit{RW}$ & {\tt platform/serial} & string & redirect serial port to pty \\
1210 $\mathit{RW}$ & {\tt platform/localtime} & bool & set RTC to local time \\
1211 $\mathit{RW}$ & {\tt platform/clock\_offset} & bool & timeshift applied to guest's clock \\
1212 $\mathit{RW}$ & {\tt platform/enable\_audio} & bool & emulate audio \\
1213 $\mathit{RW}$ & {\tt builder} & string & domain builder to use \\
1214 $\mathit{RW}$ & {\tt boot\_method} & boot\_type & select how this machine should boot \\
1215 $\mathit{RW}$ & {\tt kernel/kernel} & string & path to kernel e.g. /boot/vmlinuz \\
1216 $\mathit{RW}$ & {\tt kernel/initrd} & string & path to the initrd e.g. /boot/initrd.img \\
1217 $\mathit{RW}$ & {\tt kernel/args} & string & extra kernel command-line arguments \\
1218 $\mathit{RW}$ & {\tt grub/cmdline} & string & grub command-line \\
1219 $\mathit{RO}_\mathit{ins}$ & {\tt PCI\_bus} & string & PCI bus path for pass-through devices \\
1220 $\mathit{RO}_\mathit{run}$ & {\tt tools\_version} & (string $\rightarrow$ string) Map & versions of installed paravirtualised drivers \\
1221 $\mathit{RW}$ & {\tt otherConfig} & (string $\rightarrow$ string) Map & additional configuration \\
1222 \hline
1223 \end{longtable}
1224 \subsection{Additional RPCs associated with class: VM}
1225 \subsubsection{RPC name:~clone}
1227 {\bf Overview:}
1228 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.
1230 \noindent {\bf Signature:}
1231 \begin{verbatim} (VM ref) clone (session_id s, VM ref vm, string new_name)\end{verbatim}
1234 \noindent{\bf Arguments:}
1237 \vspace{0.3cm}
1238 \begin{tabular}{|c|c|p{7cm}|}
1239 \hline
1240 {\bf type} & {\bf name} & {\bf description} \\ \hline
1241 {\tt VM ref } & vm & The VM to be cloned \\ \hline
1243 {\tt string } & new\_name & The name of the cloned VM \\ \hline
1245 \end{tabular}
1247 \vspace{0.3cm}
1249 \noindent {\bf Return Type:}
1250 {\tt
1251 VM ref
1255 The ID of the newly created VM.
1256 \vspace{0.3cm}
1257 \vspace{0.3cm}
1258 \vspace{0.3cm}
1259 \subsubsection{RPC name:~start}
1261 {\bf Overview:}
1262 Start the specified VM. This function can only be called with the VM is in the Halted State.
1264 \noindent {\bf Signature:}
1265 \begin{verbatim} void start (session_id s, VM ref vm, bool start_paused)\end{verbatim}
1268 \noindent{\bf Arguments:}
1271 \vspace{0.3cm}
1272 \begin{tabular}{|c|c|p{7cm}|}
1273 \hline
1274 {\bf type} & {\bf name} & {\bf description} \\ \hline
1275 {\tt VM ref } & vm & The VM to start \\ \hline
1277 {\tt bool } & start\_paused & Instantiate VM in paused state if set to true. \\ \hline
1279 \end{tabular}
1281 \vspace{0.3cm}
1283 \noindent {\bf Return Type:}
1284 {\tt
1285 void
1290 \vspace{0.3cm}
1291 \vspace{0.3cm}
1292 \vspace{0.3cm}
1293 \subsubsection{RPC name:~pause}
1295 {\bf Overview:}
1296 Pause the specified VM. This can only be called when the specified VM is in the Running state.
1298 \noindent {\bf Signature:}
1299 \begin{verbatim} void pause (session_id s, VM ref vm)\end{verbatim}
1302 \noindent{\bf Arguments:}
1305 \vspace{0.3cm}
1306 \begin{tabular}{|c|c|p{7cm}|}
1307 \hline
1308 {\bf type} & {\bf name} & {\bf description} \\ \hline
1309 {\tt VM ref } & vm & The VM to pause \\ \hline
1311 \end{tabular}
1313 \vspace{0.3cm}
1315 \noindent {\bf Return Type:}
1316 {\tt
1317 void
1322 \vspace{0.3cm}
1323 \vspace{0.3cm}
1324 \vspace{0.3cm}
1325 \subsubsection{RPC name:~unpause}
1327 {\bf Overview:}
1328 Resume the specified VM. This can only be called when the specified VM is in the Paused state.
1330 \noindent {\bf Signature:}
1331 \begin{verbatim} void unpause (session_id s, VM ref vm)\end{verbatim}
1334 \noindent{\bf Arguments:}
1337 \vspace{0.3cm}
1338 \begin{tabular}{|c|c|p{7cm}|}
1339 \hline
1340 {\bf type} & {\bf name} & {\bf description} \\ \hline
1341 {\tt VM ref } & vm & The VM to pause \\ \hline
1343 \end{tabular}
1345 \vspace{0.3cm}
1347 \noindent {\bf Return Type:}
1348 {\tt
1349 void
1354 \vspace{0.3cm}
1355 \vspace{0.3cm}
1356 \vspace{0.3cm}
1357 \subsubsection{RPC name:~clean\_shutdown}
1359 {\bf Overview:}
1360 Attempt to cleanly shutdown the specified VM. (Note: this may not be supported---e.g. if a guest agent is not installed).
1362 Once shutdown has been completed perform poweroff action specified in guest configuration.
1364 \noindent {\bf Signature:}
1365 \begin{verbatim} void clean_shutdown (session_id s, VM ref vm)\end{verbatim}
1368 \noindent{\bf Arguments:}
1371 \vspace{0.3cm}
1372 \begin{tabular}{|c|c|p{7cm}|}
1373 \hline
1374 {\bf type} & {\bf name} & {\bf description} \\ \hline
1375 {\tt VM ref } & vm & The VM to shutdown \\ \hline
1377 \end{tabular}
1379 \vspace{0.3cm}
1381 \noindent {\bf Return Type:}
1382 {\tt
1383 void
1388 \vspace{0.3cm}
1389 \vspace{0.3cm}
1390 \vspace{0.3cm}
1391 \subsubsection{RPC name:~clean\_reboot}
1393 {\bf Overview:}
1394 Attempt to cleanly shutdown the specified VM (Note: this may not be supported---e.g. if a guest agent is not installed).
1396 Once shutdown has been completed perform reboot action specified in guest configuration.
1398 \noindent {\bf Signature:}
1399 \begin{verbatim} void clean_reboot (session_id s, VM ref vm)\end{verbatim}
1402 \noindent{\bf Arguments:}
1405 \vspace{0.3cm}
1406 \begin{tabular}{|c|c|p{7cm}|}
1407 \hline
1408 {\bf type} & {\bf name} & {\bf description} \\ \hline
1409 {\tt VM ref } & vm & The VM to shutdown \\ \hline
1411 \end{tabular}
1413 \vspace{0.3cm}
1415 \noindent {\bf Return Type:}
1416 {\tt
1417 void
1422 \vspace{0.3cm}
1423 \vspace{0.3cm}
1424 \vspace{0.3cm}
1425 \subsubsection{RPC name:~hard\_shutdown}
1427 {\bf Overview:}
1428 Stop executing the specified VM without attempting a clean shutdown. Then perform poweroff action specified in VM configuration.
1430 \noindent {\bf Signature:}
1431 \begin{verbatim} void hard_shutdown (session_id s, VM ref vm)\end{verbatim}
1434 \noindent{\bf Arguments:}
1437 \vspace{0.3cm}
1438 \begin{tabular}{|c|c|p{7cm}|}
1439 \hline
1440 {\bf type} & {\bf name} & {\bf description} \\ \hline
1441 {\tt VM ref } & vm & The VM to destroy \\ \hline
1443 \end{tabular}
1445 \vspace{0.3cm}
1447 \noindent {\bf Return Type:}
1448 {\tt
1449 void
1454 \vspace{0.3cm}
1455 \vspace{0.3cm}
1456 \vspace{0.3cm}
1457 \subsubsection{RPC name:~hard\_reboot}
1459 {\bf Overview:}
1460 Stop executing the specified VM without attempting a clean shutdown. Then perform reboot action specified in VM configuration
1462 \noindent {\bf Signature:}
1463 \begin{verbatim} void hard_reboot (session_id s, VM ref vm)\end{verbatim}
1466 \noindent{\bf Arguments:}
1469 \vspace{0.3cm}
1470 \begin{tabular}{|c|c|p{7cm}|}
1471 \hline
1472 {\bf type} & {\bf name} & {\bf description} \\ \hline
1473 {\tt VM ref } & vm & The VM to reboot \\ \hline
1475 \end{tabular}
1477 \vspace{0.3cm}
1479 \noindent {\bf Return Type:}
1480 {\tt
1481 void
1486 \vspace{0.3cm}
1487 \vspace{0.3cm}
1488 \vspace{0.3cm}
1489 \subsubsection{RPC name:~suspend}
1491 {\bf Overview:}
1492 Suspend the specified VM to disk.
1494 \noindent {\bf Signature:}
1495 \begin{verbatim} void suspend (session_id s, VM ref vm)\end{verbatim}
1498 \noindent{\bf Arguments:}
1501 \vspace{0.3cm}
1502 \begin{tabular}{|c|c|p{7cm}|}
1503 \hline
1504 {\bf type} & {\bf name} & {\bf description} \\ \hline
1505 {\tt VM ref } & vm & The VM to hibernate \\ \hline
1507 \end{tabular}
1509 \vspace{0.3cm}
1511 \noindent {\bf Return Type:}
1512 {\tt
1513 void
1518 \vspace{0.3cm}
1519 \vspace{0.3cm}
1520 \vspace{0.3cm}
1521 \subsubsection{RPC name:~resume}
1523 {\bf Overview:}
1524 Awaken the specified VM and resume it.
1526 \noindent {\bf Signature:}
1527 \begin{verbatim} void resume (session_id s, VM ref vm, bool start_paused)\end{verbatim}
1530 \noindent{\bf Arguments:}
1533 \vspace{0.3cm}
1534 \begin{tabular}{|c|c|p{7cm}|}
1535 \hline
1536 {\bf type} & {\bf name} & {\bf description} \\ \hline
1537 {\tt VM ref } & vm & The VM to unhibernate \\ \hline
1539 {\tt bool } & start\_paused & Unhibernate VM in paused state if set to true. \\ \hline
1541 \end{tabular}
1543 \vspace{0.3cm}
1545 \noindent {\bf Return Type:}
1546 {\tt
1547 void
1552 \vspace{0.3cm}
1553 \vspace{0.3cm}
1554 \vspace{0.3cm}
1555 \subsubsection{RPC name:~get\_all}
1557 {\bf Overview:}
1558 Return a list of all the VMs known to the system.
1560 \noindent {\bf Signature:}
1561 \begin{verbatim} ((VM ref) Set) get_all (session_id s)\end{verbatim}
1564 \vspace{0.3cm}
1566 \noindent {\bf Return Type:}
1567 {\tt
1568 (VM ref) Set
1572 A list of all the IDs of all the VMs
1573 \vspace{0.3cm}
1574 \vspace{0.3cm}
1575 \vspace{0.3cm}
1576 \subsubsection{RPC name:~get\_uuid}
1578 {\bf Overview:}
1579 Get the uuid field of the given VM.
1581 \noindent {\bf Signature:}
1582 \begin{verbatim} string get_uuid (session_id s, VM ref self)\end{verbatim}
1585 \noindent{\bf Arguments:}
1588 \vspace{0.3cm}
1589 \begin{tabular}{|c|c|p{7cm}|}
1590 \hline
1591 {\bf type} & {\bf name} & {\bf description} \\ \hline
1592 {\tt VM ref } & self & reference to the object \\ \hline
1594 \end{tabular}
1596 \vspace{0.3cm}
1598 \noindent {\bf Return Type:}
1599 {\tt
1600 string
1604 value of the field
1605 \vspace{0.3cm}
1606 \vspace{0.3cm}
1607 \vspace{0.3cm}
1608 \subsubsection{RPC name:~get\_power\_state}
1610 {\bf Overview:}
1611 Get the power\_state field of the given VM.
1613 \noindent {\bf Signature:}
1614 \begin{verbatim} (vm_power_state) get_power_state (session_id s, VM ref self)\end{verbatim}
1617 \noindent{\bf Arguments:}
1620 \vspace{0.3cm}
1621 \begin{tabular}{|c|c|p{7cm}|}
1622 \hline
1623 {\bf type} & {\bf name} & {\bf description} \\ \hline
1624 {\tt VM ref } & self & reference to the object \\ \hline
1626 \end{tabular}
1628 \vspace{0.3cm}
1630 \noindent {\bf Return Type:}
1631 {\tt
1632 vm\_power\_state
1636 value of the field
1637 \vspace{0.3cm}
1638 \vspace{0.3cm}
1639 \vspace{0.3cm}
1640 \subsubsection{RPC name:~get\_name\_label}
1642 {\bf Overview:}
1643 Get the name/label field of the given VM.
1645 \noindent {\bf Signature:}
1646 \begin{verbatim} string get_name_label (session_id s, VM ref self)\end{verbatim}
1649 \noindent{\bf Arguments:}
1652 \vspace{0.3cm}
1653 \begin{tabular}{|c|c|p{7cm}|}
1654 \hline
1655 {\bf type} & {\bf name} & {\bf description} \\ \hline
1656 {\tt VM ref } & self & reference to the object \\ \hline
1658 \end{tabular}
1660 \vspace{0.3cm}
1662 \noindent {\bf Return Type:}
1663 {\tt
1664 string
1668 value of the field
1669 \vspace{0.3cm}
1670 \vspace{0.3cm}
1671 \vspace{0.3cm}
1672 \subsubsection{RPC name:~set\_name\_label}
1674 {\bf Overview:}
1675 Set the name/label field of the given VM.
1677 \noindent {\bf Signature:}
1678 \begin{verbatim} void set_name_label (session_id s, VM ref self, string value)\end{verbatim}
1681 \noindent{\bf Arguments:}
1684 \vspace{0.3cm}
1685 \begin{tabular}{|c|c|p{7cm}|}
1686 \hline
1687 {\bf type} & {\bf name} & {\bf description} \\ \hline
1688 {\tt VM ref } & self & reference to the object \\ \hline
1690 {\tt string } & value & New value to set \\ \hline
1692 \end{tabular}
1694 \vspace{0.3cm}
1696 \noindent {\bf Return Type:}
1697 {\tt
1698 void
1703 \vspace{0.3cm}
1704 \vspace{0.3cm}
1705 \vspace{0.3cm}
1706 \subsubsection{RPC name:~get\_name\_description}
1708 {\bf Overview:}
1709 Get the name/description field of the given VM.
1711 \noindent {\bf Signature:}
1712 \begin{verbatim} string get_name_description (session_id s, VM ref self)\end{verbatim}
1715 \noindent{\bf Arguments:}
1718 \vspace{0.3cm}
1719 \begin{tabular}{|c|c|p{7cm}|}
1720 \hline
1721 {\bf type} & {\bf name} & {\bf description} \\ \hline
1722 {\tt VM ref } & self & reference to the object \\ \hline
1724 \end{tabular}
1726 \vspace{0.3cm}
1728 \noindent {\bf Return Type:}
1729 {\tt
1730 string
1734 value of the field
1735 \vspace{0.3cm}
1736 \vspace{0.3cm}
1737 \vspace{0.3cm}
1738 \subsubsection{RPC name:~set\_name\_description}
1740 {\bf Overview:}
1741 Set the name/description field of the given VM.
1743 \noindent {\bf Signature:}
1744 \begin{verbatim} void set_name_description (session_id s, VM ref self, string value)\end{verbatim}
1747 \noindent{\bf Arguments:}
1750 \vspace{0.3cm}
1751 \begin{tabular}{|c|c|p{7cm}|}
1752 \hline
1753 {\bf type} & {\bf name} & {\bf description} \\ \hline
1754 {\tt VM ref } & self & reference to the object \\ \hline
1756 {\tt string } & value & New value to set \\ \hline
1758 \end{tabular}
1760 \vspace{0.3cm}
1762 \noindent {\bf Return Type:}
1763 {\tt
1764 void
1769 \vspace{0.3cm}
1770 \vspace{0.3cm}
1771 \vspace{0.3cm}
1772 \subsubsection{RPC name:~get\_user\_version}
1774 {\bf Overview:}
1775 Get the user\_version field of the given VM.
1777 \noindent {\bf Signature:}
1778 \begin{verbatim} int get_user_version (session_id s, VM ref self)\end{verbatim}
1781 \noindent{\bf Arguments:}
1784 \vspace{0.3cm}
1785 \begin{tabular}{|c|c|p{7cm}|}
1786 \hline
1787 {\bf type} & {\bf name} & {\bf description} \\ \hline
1788 {\tt VM ref } & self & reference to the object \\ \hline
1790 \end{tabular}
1792 \vspace{0.3cm}
1794 \noindent {\bf Return Type:}
1795 {\tt
1796 int
1800 value of the field
1801 \vspace{0.3cm}
1802 \vspace{0.3cm}
1803 \vspace{0.3cm}
1804 \subsubsection{RPC name:~set\_user\_version}
1806 {\bf Overview:}
1807 Set the user\_version field of the given VM.
1809 \noindent {\bf Signature:}
1810 \begin{verbatim} void set_user_version (session_id s, VM ref self, int value)\end{verbatim}
1813 \noindent{\bf Arguments:}
1816 \vspace{0.3cm}
1817 \begin{tabular}{|c|c|p{7cm}|}
1818 \hline
1819 {\bf type} & {\bf name} & {\bf description} \\ \hline
1820 {\tt VM ref } & self & reference to the object \\ \hline
1822 {\tt int } & value & New value to set \\ \hline
1824 \end{tabular}
1826 \vspace{0.3cm}
1828 \noindent {\bf Return Type:}
1829 {\tt
1830 void
1835 \vspace{0.3cm}
1836 \vspace{0.3cm}
1837 \vspace{0.3cm}
1838 \subsubsection{RPC name:~get\_is\_a\_template}
1840 {\bf Overview:}
1841 Get the is\_a\_template field of the given VM.
1843 \noindent {\bf Signature:}
1844 \begin{verbatim} bool get_is_a_template (session_id s, VM ref self)\end{verbatim}
1847 \noindent{\bf Arguments:}
1850 \vspace{0.3cm}
1851 \begin{tabular}{|c|c|p{7cm}|}
1852 \hline
1853 {\bf type} & {\bf name} & {\bf description} \\ \hline
1854 {\tt VM ref } & self & reference to the object \\ \hline
1856 \end{tabular}
1858 \vspace{0.3cm}
1860 \noindent {\bf Return Type:}
1861 {\tt
1862 bool
1866 value of the field
1867 \vspace{0.3cm}
1868 \vspace{0.3cm}
1869 \vspace{0.3cm}
1870 \subsubsection{RPC name:~set\_is\_a\_template}
1872 {\bf Overview:}
1873 Set the is\_a\_template field of the given VM.
1875 \noindent {\bf Signature:}
1876 \begin{verbatim} void set_is_a_template (session_id s, VM ref self, bool value)\end{verbatim}
1879 \noindent{\bf Arguments:}
1882 \vspace{0.3cm}
1883 \begin{tabular}{|c|c|p{7cm}|}
1884 \hline
1885 {\bf type} & {\bf name} & {\bf description} \\ \hline
1886 {\tt VM ref } & self & reference to the object \\ \hline
1888 {\tt bool } & value & New value to set \\ \hline
1890 \end{tabular}
1892 \vspace{0.3cm}
1894 \noindent {\bf Return Type:}
1895 {\tt
1896 void
1901 \vspace{0.3cm}
1902 \vspace{0.3cm}
1903 \vspace{0.3cm}
1904 \subsubsection{RPC name:~get\_resident\_on}
1906 {\bf Overview:}
1907 Get the resident\_on field of the given VM.
1909 \noindent {\bf Signature:}
1910 \begin{verbatim} (host ref) get_resident_on (session_id s, VM ref self)\end{verbatim}
1913 \noindent{\bf Arguments:}
1916 \vspace{0.3cm}
1917 \begin{tabular}{|c|c|p{7cm}|}
1918 \hline
1919 {\bf type} & {\bf name} & {\bf description} \\ \hline
1920 {\tt VM ref } & self & reference to the object \\ \hline
1922 \end{tabular}
1924 \vspace{0.3cm}
1926 \noindent {\bf Return Type:}
1927 {\tt
1928 host ref
1932 value of the field
1933 \vspace{0.3cm}
1934 \vspace{0.3cm}
1935 \vspace{0.3cm}
1936 \subsubsection{RPC name:~get\_memory\_static\_max}
1938 {\bf Overview:}
1939 Get the memory/static\_max field of the given VM.
1941 \noindent {\bf Signature:}
1942 \begin{verbatim} int get_memory_static_max (session_id s, VM ref self)\end{verbatim}
1945 \noindent{\bf Arguments:}
1948 \vspace{0.3cm}
1949 \begin{tabular}{|c|c|p{7cm}|}
1950 \hline
1951 {\bf type} & {\bf name} & {\bf description} \\ \hline
1952 {\tt VM ref } & self & reference to the object \\ \hline
1954 \end{tabular}
1956 \vspace{0.3cm}
1958 \noindent {\bf Return Type:}
1959 {\tt
1960 int
1964 value of the field
1965 \vspace{0.3cm}
1966 \vspace{0.3cm}
1967 \vspace{0.3cm}
1968 \subsubsection{RPC name:~get\_memory\_dynamic\_max}
1970 {\bf Overview:}
1971 Get the memory/dynamic\_max field of the given VM.
1973 \noindent {\bf Signature:}
1974 \begin{verbatim} int get_memory_dynamic_max (session_id s, VM ref self)\end{verbatim}
1977 \noindent{\bf Arguments:}
1980 \vspace{0.3cm}
1981 \begin{tabular}{|c|c|p{7cm}|}
1982 \hline
1983 {\bf type} & {\bf name} & {\bf description} \\ \hline
1984 {\tt VM ref } & self & reference to the object \\ \hline
1986 \end{tabular}
1988 \vspace{0.3cm}
1990 \noindent {\bf Return Type:}
1991 {\tt
1992 int
1996 value of the field
1997 \vspace{0.3cm}
1998 \vspace{0.3cm}
1999 \vspace{0.3cm}
2000 \subsubsection{RPC name:~set\_memory\_dynamic\_max}
2002 {\bf Overview:}
2003 Set the memory/dynamic\_max field of the given VM.
2005 \noindent {\bf Signature:}
2006 \begin{verbatim} void set_memory_dynamic_max (session_id s, VM ref self, int value)\end{verbatim}
2009 \noindent{\bf Arguments:}
2012 \vspace{0.3cm}
2013 \begin{tabular}{|c|c|p{7cm}|}
2014 \hline
2015 {\bf type} & {\bf name} & {\bf description} \\ \hline
2016 {\tt VM ref } & self & reference to the object \\ \hline
2018 {\tt int } & value & New value to set \\ \hline
2020 \end{tabular}
2022 \vspace{0.3cm}
2024 \noindent {\bf Return Type:}
2025 {\tt
2026 void
2031 \vspace{0.3cm}
2032 \vspace{0.3cm}
2033 \vspace{0.3cm}
2034 \subsubsection{RPC name:~get\_memory\_actual}
2036 {\bf Overview:}
2037 Get the memory/actual field of the given VM.
2039 \noindent {\bf Signature:}
2040 \begin{verbatim} int get_memory_actual (session_id s, VM ref self)\end{verbatim}
2043 \noindent{\bf Arguments:}
2046 \vspace{0.3cm}
2047 \begin{tabular}{|c|c|p{7cm}|}
2048 \hline
2049 {\bf type} & {\bf name} & {\bf description} \\ \hline
2050 {\tt VM ref } & self & reference to the object \\ \hline
2052 \end{tabular}
2054 \vspace{0.3cm}
2056 \noindent {\bf Return Type:}
2057 {\tt
2058 int
2062 value of the field
2063 \vspace{0.3cm}
2064 \vspace{0.3cm}
2065 \vspace{0.3cm}
2066 \subsubsection{RPC name:~get\_memory\_dynamic\_min}
2068 {\bf Overview:}
2069 Get the memory/dynamic\_min field of the given VM.
2071 \noindent {\bf Signature:}
2072 \begin{verbatim} int get_memory_dynamic_min (session_id s, VM ref self)\end{verbatim}
2075 \noindent{\bf Arguments:}
2078 \vspace{0.3cm}
2079 \begin{tabular}{|c|c|p{7cm}|}
2080 \hline
2081 {\bf type} & {\bf name} & {\bf description} \\ \hline
2082 {\tt VM ref } & self & reference to the object \\ \hline
2084 \end{tabular}
2086 \vspace{0.3cm}
2088 \noindent {\bf Return Type:}
2089 {\tt
2090 int
2094 value of the field
2095 \vspace{0.3cm}
2096 \vspace{0.3cm}
2097 \vspace{0.3cm}
2098 \subsubsection{RPC name:~set\_memory\_dynamic\_min}
2100 {\bf Overview:}
2101 Set the memory/dynamic\_min field of the given VM.
2103 \noindent {\bf Signature:}
2104 \begin{verbatim} void set_memory_dynamic_min (session_id s, VM ref self, int value)\end{verbatim}
2107 \noindent{\bf Arguments:}
2110 \vspace{0.3cm}
2111 \begin{tabular}{|c|c|p{7cm}|}
2112 \hline
2113 {\bf type} & {\bf name} & {\bf description} \\ \hline
2114 {\tt VM ref } & self & reference to the object \\ \hline
2116 {\tt int } & value & New value to set \\ \hline
2118 \end{tabular}
2120 \vspace{0.3cm}
2122 \noindent {\bf Return Type:}
2123 {\tt
2124 void
2129 \vspace{0.3cm}
2130 \vspace{0.3cm}
2131 \vspace{0.3cm}
2132 \subsubsection{RPC name:~get\_memory\_static\_min}
2134 {\bf Overview:}
2135 Get the memory/static\_min field of the given VM.
2137 \noindent {\bf Signature:}
2138 \begin{verbatim} int get_memory_static_min (session_id s, VM ref self)\end{verbatim}
2141 \noindent{\bf Arguments:}
2144 \vspace{0.3cm}
2145 \begin{tabular}{|c|c|p{7cm}|}
2146 \hline
2147 {\bf type} & {\bf name} & {\bf description} \\ \hline
2148 {\tt VM ref } & self & reference to the object \\ \hline
2150 \end{tabular}
2152 \vspace{0.3cm}
2154 \noindent {\bf Return Type:}
2155 {\tt
2156 int
2160 value of the field
2161 \vspace{0.3cm}
2162 \vspace{0.3cm}
2163 \vspace{0.3cm}
2164 \subsubsection{RPC name:~get\_VCPUs\_policy}
2166 {\bf Overview:}
2167 Get the VCPUs/policy field of the given VM.
2169 \noindent {\bf Signature:}
2170 \begin{verbatim} string get_VCPUs_policy (session_id s, VM ref self)\end{verbatim}
2173 \noindent{\bf Arguments:}
2176 \vspace{0.3cm}
2177 \begin{tabular}{|c|c|p{7cm}|}
2178 \hline
2179 {\bf type} & {\bf name} & {\bf description} \\ \hline
2180 {\tt VM ref } & self & reference to the object \\ \hline
2182 \end{tabular}
2184 \vspace{0.3cm}
2186 \noindent {\bf Return Type:}
2187 {\tt
2188 string
2192 value of the field
2193 \vspace{0.3cm}
2194 \vspace{0.3cm}
2195 \vspace{0.3cm}
2196 \subsubsection{RPC name:~set\_VCPUs\_policy}
2198 {\bf Overview:}
2199 Set the VCPUs/policy field of the given VM.
2201 \noindent {\bf Signature:}
2202 \begin{verbatim} void set_VCPUs_policy (session_id s, VM ref self, string value)\end{verbatim}
2205 \noindent{\bf Arguments:}
2208 \vspace{0.3cm}
2209 \begin{tabular}{|c|c|p{7cm}|}
2210 \hline
2211 {\bf type} & {\bf name} & {\bf description} \\ \hline
2212 {\tt VM ref } & self & reference to the object \\ \hline
2214 {\tt string } & value & New value to set \\ \hline
2216 \end{tabular}
2218 \vspace{0.3cm}
2220 \noindent {\bf Return Type:}
2221 {\tt
2222 void
2227 \vspace{0.3cm}
2228 \vspace{0.3cm}
2229 \vspace{0.3cm}
2230 \subsubsection{RPC name:~get\_VCPUs\_params}
2232 {\bf Overview:}
2233 Get the VCPUs/params field of the given VM.
2235 \noindent {\bf Signature:}
2236 \begin{verbatim} string get_VCPUs_params (session_id s, VM ref self)\end{verbatim}
2239 \noindent{\bf Arguments:}
2242 \vspace{0.3cm}
2243 \begin{tabular}{|c|c|p{7cm}|}
2244 \hline
2245 {\bf type} & {\bf name} & {\bf description} \\ \hline
2246 {\tt VM ref } & self & reference to the object \\ \hline
2248 \end{tabular}
2250 \vspace{0.3cm}
2252 \noindent {\bf Return Type:}
2253 {\tt
2254 string
2258 value of the field
2259 \vspace{0.3cm}
2260 \vspace{0.3cm}
2261 \vspace{0.3cm}
2262 \subsubsection{RPC name:~set\_VCPUs\_params}
2264 {\bf Overview:}
2265 Set the VCPUs/params field of the given VM.
2267 \noindent {\bf Signature:}
2268 \begin{verbatim} void set_VCPUs_params (session_id s, VM ref self, string value)\end{verbatim}
2271 \noindent{\bf Arguments:}
2274 \vspace{0.3cm}
2275 \begin{tabular}{|c|c|p{7cm}|}
2276 \hline
2277 {\bf type} & {\bf name} & {\bf description} \\ \hline
2278 {\tt VM ref } & self & reference to the object \\ \hline
2280 {\tt string } & value & New value to set \\ \hline
2282 \end{tabular}
2284 \vspace{0.3cm}
2286 \noindent {\bf Return Type:}
2287 {\tt
2288 void
2293 \vspace{0.3cm}
2294 \vspace{0.3cm}
2295 \vspace{0.3cm}
2296 \subsubsection{RPC name:~get\_VCPUs\_number}
2298 {\bf Overview:}
2299 Get the VCPUs/number field of the given VM.
2301 \noindent {\bf Signature:}
2302 \begin{verbatim} int get_VCPUs_number (session_id s, VM ref self)\end{verbatim}
2305 \noindent{\bf Arguments:}
2308 \vspace{0.3cm}
2309 \begin{tabular}{|c|c|p{7cm}|}
2310 \hline
2311 {\bf type} & {\bf name} & {\bf description} \\ \hline
2312 {\tt VM ref } & self & reference to the object \\ \hline
2314 \end{tabular}
2316 \vspace{0.3cm}
2318 \noindent {\bf Return Type:}
2319 {\tt
2320 int
2324 value of the field
2325 \vspace{0.3cm}
2326 \vspace{0.3cm}
2327 \vspace{0.3cm}
2328 \subsubsection{RPC name:~get\_VCPUs\_utilisation}
2330 {\bf Overview:}
2331 Get the VCPUs/utilisation field of the given VM.
2333 \noindent {\bf Signature:}
2334 \begin{verbatim} ((int -> float) Map) get_VCPUs_utilisation (session_id s, VM ref self)\end{verbatim}
2337 \noindent{\bf Arguments:}
2340 \vspace{0.3cm}
2341 \begin{tabular}{|c|c|p{7cm}|}
2342 \hline
2343 {\bf type} & {\bf name} & {\bf description} \\ \hline
2344 {\tt VM ref } & self & reference to the object \\ \hline
2346 \end{tabular}
2348 \vspace{0.3cm}
2350 \noindent {\bf Return Type:}
2351 {\tt
2352 (int $\rightarrow$ float) Map
2356 value of the field
2357 \vspace{0.3cm}
2358 \vspace{0.3cm}
2359 \vspace{0.3cm}
2360 \subsubsection{RPC name:~get\_VCPUs\_features\_required}
2362 {\bf Overview:}
2363 Get the VCPUs/features/required field of the given VM.
2365 \noindent {\bf Signature:}
2366 \begin{verbatim} ((cpu_feature) Set) get_VCPUs_features_required (session_id s, VM ref self)\end{verbatim}
2369 \noindent{\bf Arguments:}
2372 \vspace{0.3cm}
2373 \begin{tabular}{|c|c|p{7cm}|}
2374 \hline
2375 {\bf type} & {\bf name} & {\bf description} \\ \hline
2376 {\tt VM ref } & self & reference to the object \\ \hline
2378 \end{tabular}
2380 \vspace{0.3cm}
2382 \noindent {\bf Return Type:}
2383 {\tt
2384 (cpu\_feature) Set
2388 value of the field
2389 \vspace{0.3cm}
2390 \vspace{0.3cm}
2391 \vspace{0.3cm}
2392 \subsubsection{RPC name:~get\_VCPUs\_features\_can\_use}
2394 {\bf Overview:}
2395 Get the VCPUs/features/can\_use field of the given VM.
2397 \noindent {\bf Signature:}
2398 \begin{verbatim} ((cpu_feature) Set) get_VCPUs_features_can_use (session_id s, VM ref self)\end{verbatim}
2401 \noindent{\bf Arguments:}
2404 \vspace{0.3cm}
2405 \begin{tabular}{|c|c|p{7cm}|}
2406 \hline
2407 {\bf type} & {\bf name} & {\bf description} \\ \hline
2408 {\tt VM ref } & self & reference to the object \\ \hline
2410 \end{tabular}
2412 \vspace{0.3cm}
2414 \noindent {\bf Return Type:}
2415 {\tt
2416 (cpu\_feature) Set
2420 value of the field
2421 \vspace{0.3cm}
2422 \vspace{0.3cm}
2423 \vspace{0.3cm}
2424 \subsubsection{RPC name:~get\_VCPUs\_features\_force\_on}
2426 {\bf Overview:}
2427 Get the VCPUs/features/force\_on field of the given VM.
2429 \noindent {\bf Signature:}
2430 \begin{verbatim} ((cpu_feature) Set) get_VCPUs_features_force_on (session_id s, VM ref self)\end{verbatim}
2433 \noindent{\bf Arguments:}
2436 \vspace{0.3cm}
2437 \begin{tabular}{|c|c|p{7cm}|}
2438 \hline
2439 {\bf type} & {\bf name} & {\bf description} \\ \hline
2440 {\tt VM ref } & self & reference to the object \\ \hline
2442 \end{tabular}
2444 \vspace{0.3cm}
2446 \noindent {\bf Return Type:}
2447 {\tt
2448 (cpu\_feature) Set
2452 value of the field
2453 \vspace{0.3cm}
2454 \vspace{0.3cm}
2455 \vspace{0.3cm}
2456 \subsubsection{RPC name:~add\_VCPUs\_features\_force\_on}
2458 {\bf Overview:}
2459 set add message derived from field VCPUs/features/force\_on of object VM
2461 \noindent {\bf Signature:}
2462 \begin{verbatim} void add_VCPUs_features_force_on (session_id s, VM ref self, cpu_feature value)\end{verbatim}
2465 \noindent{\bf Arguments:}
2468 \vspace{0.3cm}
2469 \begin{tabular}{|c|c|p{7cm}|}
2470 \hline
2471 {\bf type} & {\bf name} & {\bf description} \\ \hline
2472 {\tt VM ref } & self & reference to the object \\ \hline
2474 {\tt cpu\_feature } & value & New value to add \\ \hline
2476 \end{tabular}
2478 \vspace{0.3cm}
2480 \noindent {\bf Return Type:}
2481 {\tt
2482 void
2487 \vspace{0.3cm}
2488 \vspace{0.3cm}
2489 \vspace{0.3cm}
2490 \subsubsection{RPC name:~remove\_VCPUs\_features\_force\_on}
2492 {\bf Overview:}
2493 set remove message derived from field VCPUs/features/force\_on of object VM
2495 \noindent {\bf Signature:}
2496 \begin{verbatim} void remove_VCPUs_features_force_on (session_id s, VM ref self, cpu_feature value)\end{verbatim}
2499 \noindent{\bf Arguments:}
2502 \vspace{0.3cm}
2503 \begin{tabular}{|c|c|p{7cm}|}
2504 \hline
2505 {\bf type} & {\bf name} & {\bf description} \\ \hline
2506 {\tt VM ref } & self & reference to the object \\ \hline
2508 {\tt cpu\_feature } & value & Value to remove \\ \hline
2510 \end{tabular}
2512 \vspace{0.3cm}
2514 \noindent {\bf Return Type:}
2515 {\tt
2516 void
2521 \vspace{0.3cm}
2522 \vspace{0.3cm}
2523 \vspace{0.3cm}
2524 \subsubsection{RPC name:~get\_VCPUs\_features\_force\_off}
2526 {\bf Overview:}
2527 Get the VCPUs/features/force\_off field of the given VM.
2529 \noindent {\bf Signature:}
2530 \begin{verbatim} ((cpu_feature) Set) get_VCPUs_features_force_off (session_id s, VM ref self)\end{verbatim}
2533 \noindent{\bf Arguments:}
2536 \vspace{0.3cm}
2537 \begin{tabular}{|c|c|p{7cm}|}
2538 \hline
2539 {\bf type} & {\bf name} & {\bf description} \\ \hline
2540 {\tt VM ref } & self & reference to the object \\ \hline
2542 \end{tabular}
2544 \vspace{0.3cm}
2546 \noindent {\bf Return Type:}
2547 {\tt
2548 (cpu\_feature) Set
2552 value of the field
2553 \vspace{0.3cm}
2554 \vspace{0.3cm}
2555 \vspace{0.3cm}
2556 \subsubsection{RPC name:~add\_VCPUs\_features\_force\_off}
2558 {\bf Overview:}
2559 set add message derived from field VCPUs/features/force\_off of object VM
2561 \noindent {\bf Signature:}
2562 \begin{verbatim} void add_VCPUs_features_force_off (session_id s, VM ref self, cpu_feature value)\end{verbatim}
2565 \noindent{\bf Arguments:}
2568 \vspace{0.3cm}
2569 \begin{tabular}{|c|c|p{7cm}|}
2570 \hline
2571 {\bf type} & {\bf name} & {\bf description} \\ \hline
2572 {\tt VM ref } & self & reference to the object \\ \hline
2574 {\tt cpu\_feature } & value & New value to add \\ \hline
2576 \end{tabular}
2578 \vspace{0.3cm}
2580 \noindent {\bf Return Type:}
2581 {\tt
2582 void
2587 \vspace{0.3cm}
2588 \vspace{0.3cm}
2589 \vspace{0.3cm}
2590 \subsubsection{RPC name:~remove\_VCPUs\_features\_force\_off}
2592 {\bf Overview:}
2593 set remove message derived from field VCPUs/features/force\_off of object VM
2595 \noindent {\bf Signature:}
2596 \begin{verbatim} void remove_VCPUs_features_force_off (session_id s, VM ref self, cpu_feature value)\end{verbatim}
2599 \noindent{\bf Arguments:}
2602 \vspace{0.3cm}
2603 \begin{tabular}{|c|c|p{7cm}|}
2604 \hline
2605 {\bf type} & {\bf name} & {\bf description} \\ \hline
2606 {\tt VM ref } & self & reference to the object \\ \hline
2608 {\tt cpu\_feature } & value & Value to remove \\ \hline
2610 \end{tabular}
2612 \vspace{0.3cm}
2614 \noindent {\bf Return Type:}
2615 {\tt
2616 void
2621 \vspace{0.3cm}
2622 \vspace{0.3cm}
2623 \vspace{0.3cm}
2624 \subsubsection{RPC name:~get\_actions\_after\_shutdown}
2626 {\bf Overview:}
2627 Get the actions/after\_shutdown field of the given VM.
2629 \noindent {\bf Signature:}
2630 \begin{verbatim} (on_normal_exit) get_actions_after_shutdown (session_id s, VM ref self)\end{verbatim}
2633 \noindent{\bf Arguments:}
2636 \vspace{0.3cm}
2637 \begin{tabular}{|c|c|p{7cm}|}
2638 \hline
2639 {\bf type} & {\bf name} & {\bf description} \\ \hline
2640 {\tt VM ref } & self & reference to the object \\ \hline
2642 \end{tabular}
2644 \vspace{0.3cm}
2646 \noindent {\bf Return Type:}
2647 {\tt
2648 on\_normal\_exit
2652 value of the field
2653 \vspace{0.3cm}
2654 \vspace{0.3cm}
2655 \vspace{0.3cm}
2656 \subsubsection{RPC name:~set\_actions\_after\_shutdown}
2658 {\bf Overview:}
2659 Set the actions/after\_shutdown field of the given VM.
2661 \noindent {\bf Signature:}
2662 \begin{verbatim} void set_actions_after_shutdown (session_id s, VM ref self, on_normal_exit value)\end{verbatim}
2665 \noindent{\bf Arguments:}
2668 \vspace{0.3cm}
2669 \begin{tabular}{|c|c|p{7cm}|}
2670 \hline
2671 {\bf type} & {\bf name} & {\bf description} \\ \hline
2672 {\tt VM ref } & self & reference to the object \\ \hline
2674 {\tt on\_normal\_exit } & value & New value to set \\ \hline
2676 \end{tabular}
2678 \vspace{0.3cm}
2680 \noindent {\bf Return Type:}
2681 {\tt
2682 void
2687 \vspace{0.3cm}
2688 \vspace{0.3cm}
2689 \vspace{0.3cm}
2690 \subsubsection{RPC name:~get\_actions\_after\_reboot}
2692 {\bf Overview:}
2693 Get the actions/after\_reboot field of the given VM.
2695 \noindent {\bf Signature:}
2696 \begin{verbatim} (on_normal_exit) get_actions_after_reboot (session_id s, VM ref self)\end{verbatim}
2699 \noindent{\bf Arguments:}
2702 \vspace{0.3cm}
2703 \begin{tabular}{|c|c|p{7cm}|}
2704 \hline
2705 {\bf type} & {\bf name} & {\bf description} \\ \hline
2706 {\tt VM ref } & self & reference to the object \\ \hline
2708 \end{tabular}
2710 \vspace{0.3cm}
2712 \noindent {\bf Return Type:}
2713 {\tt
2714 on\_normal\_exit
2718 value of the field
2719 \vspace{0.3cm}
2720 \vspace{0.3cm}
2721 \vspace{0.3cm}
2722 \subsubsection{RPC name:~set\_actions\_after\_reboot}
2724 {\bf Overview:}
2725 Set the actions/after\_reboot field of the given VM.
2727 \noindent {\bf Signature:}
2728 \begin{verbatim} void set_actions_after_reboot (session_id s, VM ref self, on_normal_exit value)\end{verbatim}
2731 \noindent{\bf Arguments:}
2734 \vspace{0.3cm}
2735 \begin{tabular}{|c|c|p{7cm}|}
2736 \hline
2737 {\bf type} & {\bf name} & {\bf description} \\ \hline
2738 {\tt VM ref } & self & reference to the object \\ \hline
2740 {\tt on\_normal\_exit } & value & New value to set \\ \hline
2742 \end{tabular}
2744 \vspace{0.3cm}
2746 \noindent {\bf Return Type:}
2747 {\tt
2748 void
2753 \vspace{0.3cm}
2754 \vspace{0.3cm}
2755 \vspace{0.3cm}
2756 \subsubsection{RPC name:~get\_actions\_after\_suspend}
2758 {\bf Overview:}
2759 Get the actions/after\_suspend field of the given VM.
2761 \noindent {\bf Signature:}
2762 \begin{verbatim} (on_normal_exit) get_actions_after_suspend (session_id s, VM ref self)\end{verbatim}
2765 \noindent{\bf Arguments:}
2768 \vspace{0.3cm}
2769 \begin{tabular}{|c|c|p{7cm}|}
2770 \hline
2771 {\bf type} & {\bf name} & {\bf description} \\ \hline
2772 {\tt VM ref } & self & reference to the object \\ \hline
2774 \end{tabular}
2776 \vspace{0.3cm}
2778 \noindent {\bf Return Type:}
2779 {\tt
2780 on\_normal\_exit
2784 value of the field
2785 \vspace{0.3cm}
2786 \vspace{0.3cm}
2787 \vspace{0.3cm}
2788 \subsubsection{RPC name:~set\_actions\_after\_suspend}
2790 {\bf Overview:}
2791 Set the actions/after\_suspend field of the given VM.
2793 \noindent {\bf Signature:}
2794 \begin{verbatim} void set_actions_after_suspend (session_id s, VM ref self, on_normal_exit value)\end{verbatim}
2797 \noindent{\bf Arguments:}
2800 \vspace{0.3cm}
2801 \begin{tabular}{|c|c|p{7cm}|}
2802 \hline
2803 {\bf type} & {\bf name} & {\bf description} \\ \hline
2804 {\tt VM ref } & self & reference to the object \\ \hline
2806 {\tt on\_normal\_exit } & value & New value to set \\ \hline
2808 \end{tabular}
2810 \vspace{0.3cm}
2812 \noindent {\bf Return Type:}
2813 {\tt
2814 void
2819 \vspace{0.3cm}
2820 \vspace{0.3cm}
2821 \vspace{0.3cm}
2822 \subsubsection{RPC name:~get\_actions\_after\_crash}
2824 {\bf Overview:}
2825 Get the actions/after\_crash field of the given VM.
2827 \noindent {\bf Signature:}
2828 \begin{verbatim} (on_crash_behaviour) get_actions_after_crash (session_id s, VM ref self)\end{verbatim}
2831 \noindent{\bf Arguments:}
2834 \vspace{0.3cm}
2835 \begin{tabular}{|c|c|p{7cm}|}
2836 \hline
2837 {\bf type} & {\bf name} & {\bf description} \\ \hline
2838 {\tt VM ref } & self & reference to the object \\ \hline
2840 \end{tabular}
2842 \vspace{0.3cm}
2844 \noindent {\bf Return Type:}
2845 {\tt
2846 on\_crash\_behaviour
2850 value of the field
2851 \vspace{0.3cm}
2852 \vspace{0.3cm}
2853 \vspace{0.3cm}
2854 \subsubsection{RPC name:~set\_actions\_after\_crash}
2856 {\bf Overview:}
2857 Set the actions/after\_crash field of the given VM.
2859 \noindent {\bf Signature:}
2860 \begin{verbatim} void set_actions_after_crash (session_id s, VM ref self, on_crash_behaviour value)\end{verbatim}
2863 \noindent{\bf Arguments:}
2866 \vspace{0.3cm}
2867 \begin{tabular}{|c|c|p{7cm}|}
2868 \hline
2869 {\bf type} & {\bf name} & {\bf description} \\ \hline
2870 {\tt VM ref } & self & reference to the object \\ \hline
2872 {\tt on\_crash\_behaviour } & value & New value to set \\ \hline
2874 \end{tabular}
2876 \vspace{0.3cm}
2878 \noindent {\bf Return Type:}
2879 {\tt
2880 void
2885 \vspace{0.3cm}
2886 \vspace{0.3cm}
2887 \vspace{0.3cm}
2888 \subsubsection{RPC name:~get\_consoles}
2890 {\bf Overview:}
2891 Get the consoles field of the given VM.
2893 \noindent {\bf Signature:}
2894 \begin{verbatim} ((console ref) Set) get_consoles (session_id s, VM ref self)\end{verbatim}
2897 \noindent{\bf Arguments:}
2900 \vspace{0.3cm}
2901 \begin{tabular}{|c|c|p{7cm}|}
2902 \hline
2903 {\bf type} & {\bf name} & {\bf description} \\ \hline
2904 {\tt VM ref } & self & reference to the object \\ \hline
2906 \end{tabular}
2908 \vspace{0.3cm}
2910 \noindent {\bf Return Type:}
2911 {\tt
2912 (console ref) Set
2916 value of the field
2917 \vspace{0.3cm}
2918 \vspace{0.3cm}
2919 \vspace{0.3cm}
2920 \subsubsection{RPC name:~get\_VIFs}
2922 {\bf Overview:}
2923 Get the VIFs field of the given VM.
2925 \noindent {\bf Signature:}
2926 \begin{verbatim} ((VIF ref) Set) get_VIFs (session_id s, VM ref self)\end{verbatim}
2929 \noindent{\bf Arguments:}
2932 \vspace{0.3cm}
2933 \begin{tabular}{|c|c|p{7cm}|}
2934 \hline
2935 {\bf type} & {\bf name} & {\bf description} \\ \hline
2936 {\tt VM ref } & self & reference to the object \\ \hline
2938 \end{tabular}
2940 \vspace{0.3cm}
2942 \noindent {\bf Return Type:}
2943 {\tt
2944 (VIF ref) Set
2948 value of the field
2949 \vspace{0.3cm}
2950 \vspace{0.3cm}
2951 \vspace{0.3cm}
2952 \subsubsection{RPC name:~get\_VBDs}
2954 {\bf Overview:}
2955 Get the VBDs field of the given VM.
2957 \noindent {\bf Signature:}
2958 \begin{verbatim} ((VBD ref) Set) get_VBDs (session_id s, VM ref self)\end{verbatim}
2961 \noindent{\bf Arguments:}
2964 \vspace{0.3cm}
2965 \begin{tabular}{|c|c|p{7cm}|}
2966 \hline
2967 {\bf type} & {\bf name} & {\bf description} \\ \hline
2968 {\tt VM ref } & self & reference to the object \\ \hline
2970 \end{tabular}
2972 \vspace{0.3cm}
2974 \noindent {\bf Return Type:}
2975 {\tt
2976 (VBD ref) Set
2980 value of the field
2981 \vspace{0.3cm}
2982 \vspace{0.3cm}
2983 \vspace{0.3cm}
2984 \subsubsection{RPC name:~get\_VTPMs}
2986 {\bf Overview:}
2987 Get the VTPMs field of the given VM.
2989 \noindent {\bf Signature:}
2990 \begin{verbatim} ((VTPM ref) Set) get_VTPMs (session_id s, VM ref self)\end{verbatim}
2993 \noindent{\bf Arguments:}
2996 \vspace{0.3cm}
2997 \begin{tabular}{|c|c|p{7cm}|}
2998 \hline
2999 {\bf type} & {\bf name} & {\bf description} \\ \hline
3000 {\tt VM ref } & self & reference to the object \\ \hline
3002 \end{tabular}
3004 \vspace{0.3cm}
3006 \noindent {\bf Return Type:}
3007 {\tt
3008 (VTPM ref) Set
3012 value of the field
3013 \vspace{0.3cm}
3014 \vspace{0.3cm}
3015 \vspace{0.3cm}
3016 \subsubsection{RPC name:~get\_bios\_boot}
3018 {\bf Overview:}
3019 Get the bios/boot field of the given VM.
3021 \noindent {\bf Signature:}
3022 \begin{verbatim} string get_bios_boot (session_id s, VM ref self)\end{verbatim}
3025 \noindent{\bf Arguments:}
3028 \vspace{0.3cm}
3029 \begin{tabular}{|c|c|p{7cm}|}
3030 \hline
3031 {\bf type} & {\bf name} & {\bf description} \\ \hline
3032 {\tt VM ref } & self & reference to the object \\ \hline
3034 \end{tabular}
3036 \vspace{0.3cm}
3038 \noindent {\bf Return Type:}
3039 {\tt
3040 string
3044 value of the field
3045 \vspace{0.3cm}
3046 \vspace{0.3cm}
3047 \vspace{0.3cm}
3048 \subsubsection{RPC name:~set\_bios\_boot}
3050 {\bf Overview:}
3051 Set the bios/boot field of the given VM.
3053 \noindent {\bf Signature:}
3054 \begin{verbatim} void set_bios_boot (session_id s, VM ref self, string value)\end{verbatim}
3057 \noindent{\bf Arguments:}
3060 \vspace{0.3cm}
3061 \begin{tabular}{|c|c|p{7cm}|}
3062 \hline
3063 {\bf type} & {\bf name} & {\bf description} \\ \hline
3064 {\tt VM ref } & self & reference to the object \\ \hline
3066 {\tt string } & value & New value to set \\ \hline
3068 \end{tabular}
3070 \vspace{0.3cm}
3072 \noindent {\bf Return Type:}
3073 {\tt
3074 void
3079 \vspace{0.3cm}
3080 \vspace{0.3cm}
3081 \vspace{0.3cm}
3082 \subsubsection{RPC name:~get\_platform\_std\_VGA}
3084 {\bf Overview:}
3085 Get the platform/std\_VGA field of the given VM.
3087 \noindent {\bf Signature:}
3088 \begin{verbatim} bool get_platform_std_VGA (session_id s, VM ref self)\end{verbatim}
3091 \noindent{\bf Arguments:}
3094 \vspace{0.3cm}
3095 \begin{tabular}{|c|c|p{7cm}|}
3096 \hline
3097 {\bf type} & {\bf name} & {\bf description} \\ \hline
3098 {\tt VM ref } & self & reference to the object \\ \hline
3100 \end{tabular}
3102 \vspace{0.3cm}
3104 \noindent {\bf Return Type:}
3105 {\tt
3106 bool
3110 value of the field
3111 \vspace{0.3cm}
3112 \vspace{0.3cm}
3113 \vspace{0.3cm}
3114 \subsubsection{RPC name:~set\_platform\_std\_VGA}
3116 {\bf Overview:}
3117 Set the platform/std\_VGA field of the given VM.
3119 \noindent {\bf Signature:}
3120 \begin{verbatim} void set_platform_std_VGA (session_id s, VM ref self, bool value)\end{verbatim}
3123 \noindent{\bf Arguments:}
3126 \vspace{0.3cm}
3127 \begin{tabular}{|c|c|p{7cm}|}
3128 \hline
3129 {\bf type} & {\bf name} & {\bf description} \\ \hline
3130 {\tt VM ref } & self & reference to the object \\ \hline
3132 {\tt bool } & value & New value to set \\ \hline
3134 \end{tabular}
3136 \vspace{0.3cm}
3138 \noindent {\bf Return Type:}
3139 {\tt
3140 void
3145 \vspace{0.3cm}
3146 \vspace{0.3cm}
3147 \vspace{0.3cm}
3148 \subsubsection{RPC name:~get\_platform\_serial}
3150 {\bf Overview:}
3151 Get the platform/serial field of the given VM.
3153 \noindent {\bf Signature:}
3154 \begin{verbatim} string get_platform_serial (session_id s, VM ref self)\end{verbatim}
3157 \noindent{\bf Arguments:}
3160 \vspace{0.3cm}
3161 \begin{tabular}{|c|c|p{7cm}|}
3162 \hline
3163 {\bf type} & {\bf name} & {\bf description} \\ \hline
3164 {\tt VM ref } & self & reference to the object \\ \hline
3166 \end{tabular}
3168 \vspace{0.3cm}
3170 \noindent {\bf Return Type:}
3171 {\tt
3172 string
3176 value of the field
3177 \vspace{0.3cm}
3178 \vspace{0.3cm}
3179 \vspace{0.3cm}
3180 \subsubsection{RPC name:~set\_platform\_serial}
3182 {\bf Overview:}
3183 Set the platform/serial field of the given VM.
3185 \noindent {\bf Signature:}
3186 \begin{verbatim} void set_platform_serial (session_id s, VM ref self, string value)\end{verbatim}
3189 \noindent{\bf Arguments:}
3192 \vspace{0.3cm}
3193 \begin{tabular}{|c|c|p{7cm}|}
3194 \hline
3195 {\bf type} & {\bf name} & {\bf description} \\ \hline
3196 {\tt VM ref } & self & reference to the object \\ \hline
3198 {\tt string } & value & New value to set \\ \hline
3200 \end{tabular}
3202 \vspace{0.3cm}
3204 \noindent {\bf Return Type:}
3205 {\tt
3206 void
3211 \vspace{0.3cm}
3212 \vspace{0.3cm}
3213 \vspace{0.3cm}
3214 \subsubsection{RPC name:~get\_platform\_localtime}
3216 {\bf Overview:}
3217 Get the platform/localtime field of the given VM.
3219 \noindent {\bf Signature:}
3220 \begin{verbatim} bool get_platform_localtime (session_id s, VM ref self)\end{verbatim}
3223 \noindent{\bf Arguments:}
3226 \vspace{0.3cm}
3227 \begin{tabular}{|c|c|p{7cm}|}
3228 \hline
3229 {\bf type} & {\bf name} & {\bf description} \\ \hline
3230 {\tt VM ref } & self & reference to the object \\ \hline
3232 \end{tabular}
3234 \vspace{0.3cm}
3236 \noindent {\bf Return Type:}
3237 {\tt
3238 bool
3242 value of the field
3243 \vspace{0.3cm}
3244 \vspace{0.3cm}
3245 \vspace{0.3cm}
3246 \subsubsection{RPC name:~set\_platform\_localtime}
3248 {\bf Overview:}
3249 Set the platform/localtime field of the given VM.
3251 \noindent {\bf Signature:}
3252 \begin{verbatim} void set_platform_localtime (session_id s, VM ref self, bool value)\end{verbatim}
3255 \noindent{\bf Arguments:}
3258 \vspace{0.3cm}
3259 \begin{tabular}{|c|c|p{7cm}|}
3260 \hline
3261 {\bf type} & {\bf name} & {\bf description} \\ \hline
3262 {\tt VM ref } & self & reference to the object \\ \hline
3264 {\tt bool } & value & New value to set \\ \hline
3266 \end{tabular}
3268 \vspace{0.3cm}
3270 \noindent {\bf Return Type:}
3271 {\tt
3272 void
3277 \vspace{0.3cm}
3278 \vspace{0.3cm}
3279 \vspace{0.3cm}
3280 \subsubsection{RPC name:~get\_platform\_clock\_offset}
3282 {\bf Overview:}
3283 Get the platform/clock\_offset field of the given VM.
3285 \noindent {\bf Signature:}
3286 \begin{verbatim} bool get_platform_clock_offset (session_id s, VM ref self)\end{verbatim}
3289 \noindent{\bf Arguments:}
3292 \vspace{0.3cm}
3293 \begin{tabular}{|c|c|p{7cm}|}
3294 \hline
3295 {\bf type} & {\bf name} & {\bf description} \\ \hline
3296 {\tt VM ref } & self & reference to the object \\ \hline
3298 \end{tabular}
3300 \vspace{0.3cm}
3302 \noindent {\bf Return Type:}
3303 {\tt
3304 bool
3308 value of the field
3309 \vspace{0.3cm}
3310 \vspace{0.3cm}
3311 \vspace{0.3cm}
3312 \subsubsection{RPC name:~set\_platform\_clock\_offset}
3314 {\bf Overview:}
3315 Set the platform/clock\_offset field of the given VM.
3317 \noindent {\bf Signature:}
3318 \begin{verbatim} void set_platform_clock_offset (session_id s, VM ref self, bool value)\end{verbatim}
3321 \noindent{\bf Arguments:}
3324 \vspace{0.3cm}
3325 \begin{tabular}{|c|c|p{7cm}|}
3326 \hline
3327 {\bf type} & {\bf name} & {\bf description} \\ \hline
3328 {\tt VM ref } & self & reference to the object \\ \hline
3330 {\tt bool } & value & New value to set \\ \hline
3332 \end{tabular}
3334 \vspace{0.3cm}
3336 \noindent {\bf Return Type:}
3337 {\tt
3338 void
3343 \vspace{0.3cm}
3344 \vspace{0.3cm}
3345 \vspace{0.3cm}
3346 \subsubsection{RPC name:~get\_platform\_enable\_audio}
3348 {\bf Overview:}
3349 Get the platform/enable\_audio field of the given VM.
3351 \noindent {\bf Signature:}
3352 \begin{verbatim} bool get_platform_enable_audio (session_id s, VM ref self)\end{verbatim}
3355 \noindent{\bf Arguments:}
3358 \vspace{0.3cm}
3359 \begin{tabular}{|c|c|p{7cm}|}
3360 \hline
3361 {\bf type} & {\bf name} & {\bf description} \\ \hline
3362 {\tt VM ref } & self & reference to the object \\ \hline
3364 \end{tabular}
3366 \vspace{0.3cm}
3368 \noindent {\bf Return Type:}
3369 {\tt
3370 bool
3374 value of the field
3375 \vspace{0.3cm}
3376 \vspace{0.3cm}
3377 \vspace{0.3cm}
3378 \subsubsection{RPC name:~set\_platform\_enable\_audio}
3380 {\bf Overview:}
3381 Set the platform/enable\_audio field of the given VM.
3383 \noindent {\bf Signature:}
3384 \begin{verbatim} void set_platform_enable_audio (session_id s, VM ref self, bool value)\end{verbatim}
3387 \noindent{\bf Arguments:}
3390 \vspace{0.3cm}
3391 \begin{tabular}{|c|c|p{7cm}|}
3392 \hline
3393 {\bf type} & {\bf name} & {\bf description} \\ \hline
3394 {\tt VM ref } & self & reference to the object \\ \hline
3396 {\tt bool } & value & New value to set \\ \hline
3398 \end{tabular}
3400 \vspace{0.3cm}
3402 \noindent {\bf Return Type:}
3403 {\tt
3404 void
3409 \vspace{0.3cm}
3410 \vspace{0.3cm}
3411 \vspace{0.3cm}
3412 \subsubsection{RPC name:~get\_builder}
3414 {\bf Overview:}
3415 Get the builder field of the given VM.
3417 \noindent {\bf Signature:}
3418 \begin{verbatim} string get_builder (session_id s, VM ref self)\end{verbatim}
3421 \noindent{\bf Arguments:}
3424 \vspace{0.3cm}
3425 \begin{tabular}{|c|c|p{7cm}|}
3426 \hline
3427 {\bf type} & {\bf name} & {\bf description} \\ \hline
3428 {\tt VM ref } & self & reference to the object \\ \hline
3430 \end{tabular}
3432 \vspace{0.3cm}
3434 \noindent {\bf Return Type:}
3435 {\tt
3436 string
3440 value of the field
3441 \vspace{0.3cm}
3442 \vspace{0.3cm}
3443 \vspace{0.3cm}
3444 \subsubsection{RPC name:~set\_builder}
3446 {\bf Overview:}
3447 Set the builder field of the given VM.
3449 \noindent {\bf Signature:}
3450 \begin{verbatim} void set_builder (session_id s, VM ref self, string value)\end{verbatim}
3453 \noindent{\bf Arguments:}
3456 \vspace{0.3cm}
3457 \begin{tabular}{|c|c|p{7cm}|}
3458 \hline
3459 {\bf type} & {\bf name} & {\bf description} \\ \hline
3460 {\tt VM ref } & self & reference to the object \\ \hline
3462 {\tt string } & value & New value to set \\ \hline
3464 \end{tabular}
3466 \vspace{0.3cm}
3468 \noindent {\bf Return Type:}
3469 {\tt
3470 void
3475 \vspace{0.3cm}
3476 \vspace{0.3cm}
3477 \vspace{0.3cm}
3478 \subsubsection{RPC name:~get\_boot\_method}
3480 {\bf Overview:}
3481 Get the boot\_method field of the given VM.
3483 \noindent {\bf Signature:}
3484 \begin{verbatim} (boot_type) get_boot_method (session_id s, VM ref self)\end{verbatim}
3487 \noindent{\bf Arguments:}
3490 \vspace{0.3cm}
3491 \begin{tabular}{|c|c|p{7cm}|}
3492 \hline
3493 {\bf type} & {\bf name} & {\bf description} \\ \hline
3494 {\tt VM ref } & self & reference to the object \\ \hline
3496 \end{tabular}
3498 \vspace{0.3cm}
3500 \noindent {\bf Return Type:}
3501 {\tt
3502 boot\_type
3506 value of the field
3507 \vspace{0.3cm}
3508 \vspace{0.3cm}
3509 \vspace{0.3cm}
3510 \subsubsection{RPC name:~set\_boot\_method}
3512 {\bf Overview:}
3513 Set the boot\_method field of the given VM.
3515 \noindent {\bf Signature:}
3516 \begin{verbatim} void set_boot_method (session_id s, VM ref self, boot_type value)\end{verbatim}
3519 \noindent{\bf Arguments:}
3522 \vspace{0.3cm}
3523 \begin{tabular}{|c|c|p{7cm}|}
3524 \hline
3525 {\bf type} & {\bf name} & {\bf description} \\ \hline
3526 {\tt VM ref } & self & reference to the object \\ \hline
3528 {\tt boot\_type } & value & New value to set \\ \hline
3530 \end{tabular}
3532 \vspace{0.3cm}
3534 \noindent {\bf Return Type:}
3535 {\tt
3536 void
3541 \vspace{0.3cm}
3542 \vspace{0.3cm}
3543 \vspace{0.3cm}
3544 \subsubsection{RPC name:~get\_kernel\_kernel}
3546 {\bf Overview:}
3547 Get the kernel/kernel field of the given VM.
3549 \noindent {\bf Signature:}
3550 \begin{verbatim} string get_kernel_kernel (session_id s, VM ref self)\end{verbatim}
3553 \noindent{\bf Arguments:}
3556 \vspace{0.3cm}
3557 \begin{tabular}{|c|c|p{7cm}|}
3558 \hline
3559 {\bf type} & {\bf name} & {\bf description} \\ \hline
3560 {\tt VM ref } & self & reference to the object \\ \hline
3562 \end{tabular}
3564 \vspace{0.3cm}
3566 \noindent {\bf Return Type:}
3567 {\tt
3568 string
3572 value of the field
3573 \vspace{0.3cm}
3574 \vspace{0.3cm}
3575 \vspace{0.3cm}
3576 \subsubsection{RPC name:~set\_kernel\_kernel}
3578 {\bf Overview:}
3579 Set the kernel/kernel field of the given VM.
3581 \noindent {\bf Signature:}
3582 \begin{verbatim} void set_kernel_kernel (session_id s, VM ref self, string value)\end{verbatim}
3585 \noindent{\bf Arguments:}
3588 \vspace{0.3cm}
3589 \begin{tabular}{|c|c|p{7cm}|}
3590 \hline
3591 {\bf type} & {\bf name} & {\bf description} \\ \hline
3592 {\tt VM ref } & self & reference to the object \\ \hline
3594 {\tt string } & value & New value to set \\ \hline
3596 \end{tabular}
3598 \vspace{0.3cm}
3600 \noindent {\bf Return Type:}
3601 {\tt
3602 void
3607 \vspace{0.3cm}
3608 \vspace{0.3cm}
3609 \vspace{0.3cm}
3610 \subsubsection{RPC name:~get\_kernel\_initrd}
3612 {\bf Overview:}
3613 Get the kernel/initrd field of the given VM.
3615 \noindent {\bf Signature:}
3616 \begin{verbatim} string get_kernel_initrd (session_id s, VM ref self)\end{verbatim}
3619 \noindent{\bf Arguments:}
3622 \vspace{0.3cm}
3623 \begin{tabular}{|c|c|p{7cm}|}
3624 \hline
3625 {\bf type} & {\bf name} & {\bf description} \\ \hline
3626 {\tt VM ref } & self & reference to the object \\ \hline
3628 \end{tabular}
3630 \vspace{0.3cm}
3632 \noindent {\bf Return Type:}
3633 {\tt
3634 string
3638 value of the field
3639 \vspace{0.3cm}
3640 \vspace{0.3cm}
3641 \vspace{0.3cm}
3642 \subsubsection{RPC name:~set\_kernel\_initrd}
3644 {\bf Overview:}
3645 Set the kernel/initrd field of the given VM.
3647 \noindent {\bf Signature:}
3648 \begin{verbatim} void set_kernel_initrd (session_id s, VM ref self, string value)\end{verbatim}
3651 \noindent{\bf Arguments:}
3654 \vspace{0.3cm}
3655 \begin{tabular}{|c|c|p{7cm}|}
3656 \hline
3657 {\bf type} & {\bf name} & {\bf description} \\ \hline
3658 {\tt VM ref } & self & reference to the object \\ \hline
3660 {\tt string } & value & New value to set \\ \hline
3662 \end{tabular}
3664 \vspace{0.3cm}
3666 \noindent {\bf Return Type:}
3667 {\tt
3668 void
3673 \vspace{0.3cm}
3674 \vspace{0.3cm}
3675 \vspace{0.3cm}
3676 \subsubsection{RPC name:~get\_kernel\_args}
3678 {\bf Overview:}
3679 Get the kernel/args field of the given VM.
3681 \noindent {\bf Signature:}
3682 \begin{verbatim} string get_kernel_args (session_id s, VM ref self)\end{verbatim}
3685 \noindent{\bf Arguments:}
3688 \vspace{0.3cm}
3689 \begin{tabular}{|c|c|p{7cm}|}
3690 \hline
3691 {\bf type} & {\bf name} & {\bf description} \\ \hline
3692 {\tt VM ref } & self & reference to the object \\ \hline
3694 \end{tabular}
3696 \vspace{0.3cm}
3698 \noindent {\bf Return Type:}
3699 {\tt
3700 string
3704 value of the field
3705 \vspace{0.3cm}
3706 \vspace{0.3cm}
3707 \vspace{0.3cm}
3708 \subsubsection{RPC name:~set\_kernel\_args}
3710 {\bf Overview:}
3711 Set the kernel/args field of the given VM.
3713 \noindent {\bf Signature:}
3714 \begin{verbatim} void set_kernel_args (session_id s, VM ref self, string value)\end{verbatim}
3717 \noindent{\bf Arguments:}
3720 \vspace{0.3cm}
3721 \begin{tabular}{|c|c|p{7cm}|}
3722 \hline
3723 {\bf type} & {\bf name} & {\bf description} \\ \hline
3724 {\tt VM ref } & self & reference to the object \\ \hline
3726 {\tt string } & value & New value to set \\ \hline
3728 \end{tabular}
3730 \vspace{0.3cm}
3732 \noindent {\bf Return Type:}
3733 {\tt
3734 void
3739 \vspace{0.3cm}
3740 \vspace{0.3cm}
3741 \vspace{0.3cm}
3742 \subsubsection{RPC name:~get\_grub\_cmdline}
3744 {\bf Overview:}
3745 Get the grub/cmdline field of the given VM.
3747 \noindent {\bf Signature:}
3748 \begin{verbatim} string get_grub_cmdline (session_id s, VM ref self)\end{verbatim}
3751 \noindent{\bf Arguments:}
3754 \vspace{0.3cm}
3755 \begin{tabular}{|c|c|p{7cm}|}
3756 \hline
3757 {\bf type} & {\bf name} & {\bf description} \\ \hline
3758 {\tt VM ref } & self & reference to the object \\ \hline
3760 \end{tabular}
3762 \vspace{0.3cm}
3764 \noindent {\bf Return Type:}
3765 {\tt
3766 string
3770 value of the field
3771 \vspace{0.3cm}
3772 \vspace{0.3cm}
3773 \vspace{0.3cm}
3774 \subsubsection{RPC name:~set\_grub\_cmdline}
3776 {\bf Overview:}
3777 Set the grub/cmdline field of the given VM.
3779 \noindent {\bf Signature:}
3780 \begin{verbatim} void set_grub_cmdline (session_id s, VM ref self, string value)\end{verbatim}
3783 \noindent{\bf Arguments:}
3786 \vspace{0.3cm}
3787 \begin{tabular}{|c|c|p{7cm}|}
3788 \hline
3789 {\bf type} & {\bf name} & {\bf description} \\ \hline
3790 {\tt VM ref } & self & reference to the object \\ \hline
3792 {\tt string } & value & New value to set \\ \hline
3794 \end{tabular}
3796 \vspace{0.3cm}
3798 \noindent {\bf Return Type:}
3799 {\tt
3800 void
3805 \vspace{0.3cm}
3806 \vspace{0.3cm}
3807 \vspace{0.3cm}
3808 \subsubsection{RPC name:~get\_PCI\_bus}
3810 {\bf Overview:}
3811 Get the PCI\_bus field of the given VM.
3813 \noindent {\bf Signature:}
3814 \begin{verbatim} string get_PCI_bus (session_id s, VM ref self)\end{verbatim}
3817 \noindent{\bf Arguments:}
3820 \vspace{0.3cm}
3821 \begin{tabular}{|c|c|p{7cm}|}
3822 \hline
3823 {\bf type} & {\bf name} & {\bf description} \\ \hline
3824 {\tt VM ref } & self & reference to the object \\ \hline
3826 \end{tabular}
3828 \vspace{0.3cm}
3830 \noindent {\bf Return Type:}
3831 {\tt
3832 string
3836 value of the field
3837 \vspace{0.3cm}
3838 \vspace{0.3cm}
3839 \vspace{0.3cm}
3840 \subsubsection{RPC name:~get\_tools\_version}
3842 {\bf Overview:}
3843 Get the tools\_version field of the given VM.
3845 \noindent {\bf Signature:}
3846 \begin{verbatim} ((string -> string) Map) get_tools_version (session_id s, VM ref self)\end{verbatim}
3849 \noindent{\bf Arguments:}
3852 \vspace{0.3cm}
3853 \begin{tabular}{|c|c|p{7cm}|}
3854 \hline
3855 {\bf type} & {\bf name} & {\bf description} \\ \hline
3856 {\tt VM ref } & self & reference to the object \\ \hline
3858 \end{tabular}
3860 \vspace{0.3cm}
3862 \noindent {\bf Return Type:}
3863 {\tt
3864 (string $\rightarrow$ string) Map
3868 value of the field
3869 \vspace{0.3cm}
3870 \vspace{0.3cm}
3871 \vspace{0.3cm}
3872 \subsubsection{RPC name:~get\_otherConfig}
3874 {\bf Overview:}
3875 Get the otherConfig field of the given VM.
3877 \noindent {\bf Signature:}
3878 \begin{verbatim} ((string -> string) Map) get_otherConfig (session_id s, VM ref self)\end{verbatim}
3881 \noindent{\bf Arguments:}
3884 \vspace{0.3cm}
3885 \begin{tabular}{|c|c|p{7cm}|}
3886 \hline
3887 {\bf type} & {\bf name} & {\bf description} \\ \hline
3888 {\tt VM ref } & self & reference to the object \\ \hline
3890 \end{tabular}
3892 \vspace{0.3cm}
3894 \noindent {\bf Return Type:}
3895 {\tt
3896 (string $\rightarrow$ string) Map
3900 value of the field
3901 \vspace{0.3cm}
3902 \vspace{0.3cm}
3903 \vspace{0.3cm}
3904 \subsubsection{RPC name:~add\_to\_otherConfig}
3906 {\bf Overview:}
3907 map add message derived from field otherConfig of object VM
3909 \noindent {\bf Signature:}
3910 \begin{verbatim} void add_to_otherConfig (session_id s, VM ref self, string key, string value)\end{verbatim}
3913 \noindent{\bf Arguments:}
3916 \vspace{0.3cm}
3917 \begin{tabular}{|c|c|p{7cm}|}
3918 \hline
3919 {\bf type} & {\bf name} & {\bf description} \\ \hline
3920 {\tt VM ref } & self & reference to the object \\ \hline
3922 {\tt string } & key & Key to add \\ \hline
3924 {\tt string } & value & Value to add \\ \hline
3926 \end{tabular}
3928 \vspace{0.3cm}
3930 \noindent {\bf Return Type:}
3931 {\tt
3932 void
3937 \vspace{0.3cm}
3938 \vspace{0.3cm}
3939 \vspace{0.3cm}
3940 \subsubsection{RPC name:~remove\_from\_otherConfig}
3942 {\bf Overview:}
3943 map remove message derived from field otherConfig of object VM
3945 \noindent {\bf Signature:}
3946 \begin{verbatim} void remove_from_otherConfig (session_id s, VM ref self, string key)\end{verbatim}
3949 \noindent{\bf Arguments:}
3952 \vspace{0.3cm}
3953 \begin{tabular}{|c|c|p{7cm}|}
3954 \hline
3955 {\bf type} & {\bf name} & {\bf description} \\ \hline
3956 {\tt VM ref } & self & reference to the object \\ \hline
3958 {\tt string } & key & Key to remove \\ \hline
3960 \end{tabular}
3962 \vspace{0.3cm}
3964 \noindent {\bf Return Type:}
3965 {\tt
3966 void
3971 \vspace{0.3cm}
3972 \vspace{0.3cm}
3973 \vspace{0.3cm}
3974 \subsubsection{RPC name:~create}
3976 {\bf Overview:}
3977 Create a new VM instance, and return its handle.
3979 \noindent {\bf Signature:}
3980 \begin{verbatim} (VM ref) create (session_id s, VM record args)\end{verbatim}
3983 \noindent{\bf Arguments:}
3986 \vspace{0.3cm}
3987 \begin{tabular}{|c|c|p{7cm}|}
3988 \hline
3989 {\bf type} & {\bf name} & {\bf description} \\ \hline
3990 {\tt VM record } & args & All constructor arguments \\ \hline
3992 \end{tabular}
3994 \vspace{0.3cm}
3996 \noindent {\bf Return Type:}
3997 {\tt
3998 VM ref
4002 reference to the newly created object
4003 \vspace{0.3cm}
4004 \vspace{0.3cm}
4005 \vspace{0.3cm}
4006 \subsubsection{RPC name:~destroy}
4008 {\bf Overview:}
4009 Destroy the specified VM instance.
4011 \noindent {\bf Signature:}
4012 \begin{verbatim} void destroy (session_id s, VM ref self)\end{verbatim}
4015 \noindent{\bf Arguments:}
4018 \vspace{0.3cm}
4019 \begin{tabular}{|c|c|p{7cm}|}
4020 \hline
4021 {\bf type} & {\bf name} & {\bf description} \\ \hline
4022 {\tt VM ref } & self & reference to the object \\ \hline
4024 \end{tabular}
4026 \vspace{0.3cm}
4028 \noindent {\bf Return Type:}
4029 {\tt
4030 void
4035 \vspace{0.3cm}
4036 \vspace{0.3cm}
4037 \vspace{0.3cm}
4038 \subsubsection{RPC name:~get\_by\_uuid}
4040 {\bf Overview:}
4041 Get a reference to the VM instance with the specified UUID.
4043 \noindent {\bf Signature:}
4044 \begin{verbatim} (VM ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
4047 \noindent{\bf Arguments:}
4050 \vspace{0.3cm}
4051 \begin{tabular}{|c|c|p{7cm}|}
4052 \hline
4053 {\bf type} & {\bf name} & {\bf description} \\ \hline
4054 {\tt string } & uuid & UUID of object to return \\ \hline
4056 \end{tabular}
4058 \vspace{0.3cm}
4060 \noindent {\bf Return Type:}
4061 {\tt
4062 VM ref
4066 reference to the object
4067 \vspace{0.3cm}
4068 \vspace{0.3cm}
4069 \vspace{0.3cm}
4070 \subsubsection{RPC name:~get\_record}
4072 {\bf Overview:}
4073 Get a record containing the current state of the given VM.
4075 \noindent {\bf Signature:}
4076 \begin{verbatim} (VM record) get_record (session_id s, VM ref self)\end{verbatim}
4079 \noindent{\bf Arguments:}
4082 \vspace{0.3cm}
4083 \begin{tabular}{|c|c|p{7cm}|}
4084 \hline
4085 {\bf type} & {\bf name} & {\bf description} \\ \hline
4086 {\tt VM ref } & self & reference to the object \\ \hline
4088 \end{tabular}
4090 \vspace{0.3cm}
4092 \noindent {\bf Return Type:}
4093 {\tt
4094 VM record
4098 all fields from the object
4099 \vspace{0.3cm}
4100 \vspace{0.3cm}
4101 \vspace{0.3cm}
4102 \subsubsection{RPC name:~get\_by\_name\_label}
4104 {\bf Overview:}
4105 Get all the VM instances with the given label.
4107 \noindent {\bf Signature:}
4108 \begin{verbatim} ((VM ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
4111 \noindent{\bf Arguments:}
4114 \vspace{0.3cm}
4115 \begin{tabular}{|c|c|p{7cm}|}
4116 \hline
4117 {\bf type} & {\bf name} & {\bf description} \\ \hline
4118 {\tt string } & label & label of object to return \\ \hline
4120 \end{tabular}
4122 \vspace{0.3cm}
4124 \noindent {\bf Return Type:}
4125 {\tt
4126 (VM ref) Set
4130 references to objects with match names
4131 \vspace{0.3cm}
4132 \vspace{0.3cm}
4133 \vspace{0.3cm}
4135 \vspace{1cm}
4136 \newpage
4137 \section{Class: host}
4138 \subsection{Fields for class: host}
4139 \begin{longtable}{|lllp{0.38\textwidth}|}
4140 \hline
4141 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf host} \\
4142 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A physical host}} \\
4143 \hline
4144 Quals & Field & Type & Description \\
4145 \hline
4146 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
4147 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
4148 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
4149 $\mathit{RO}_\mathit{run}$ & {\tt software\_version} & (string $\rightarrow$ string) Map & version strings \\
4150 $\mathit{RO}_\mathit{run}$ & {\tt resident\_VMs} & (VM ref) Set & list of VMs currently resident on host \\
4151 $\mathit{RO}_\mathit{run}$ & {\tt PIFs} & (PIF ref) Set & physical network interfaces \\
4152 $\mathit{RO}_\mathit{run}$ & {\tt host\_CPUs} & (host\_cpu ref) Set & The physical CPUs on this host \\
4153 \hline
4154 \end{longtable}
4155 \subsection{Additional RPCs associated with class: host}
4156 \subsubsection{RPC name:~disable}
4158 {\bf Overview:}
4159 Puts the host into a state in which no new VMs can be started. Currently active VMs on the host continue to execute.
4161 \noindent {\bf Signature:}
4162 \begin{verbatim} void disable (session_id s, host ref host)\end{verbatim}
4165 \noindent{\bf Arguments:}
4168 \vspace{0.3cm}
4169 \begin{tabular}{|c|c|p{7cm}|}
4170 \hline
4171 {\bf type} & {\bf name} & {\bf description} \\ \hline
4172 {\tt host ref } & host & The Host to disable \\ \hline
4174 \end{tabular}
4176 \vspace{0.3cm}
4178 \noindent {\bf Return Type:}
4179 {\tt
4180 void
4185 \vspace{0.3cm}
4186 \vspace{0.3cm}
4187 \vspace{0.3cm}
4188 \subsubsection{RPC name:~enable}
4190 {\bf Overview:}
4191 Puts the host into a state in which new VMs can be started.
4193 \noindent {\bf Signature:}
4194 \begin{verbatim} void enable (session_id s, host ref host)\end{verbatim}
4197 \noindent{\bf Arguments:}
4200 \vspace{0.3cm}
4201 \begin{tabular}{|c|c|p{7cm}|}
4202 \hline
4203 {\bf type} & {\bf name} & {\bf description} \\ \hline
4204 {\tt host ref } & host & The Host to enable \\ \hline
4206 \end{tabular}
4208 \vspace{0.3cm}
4210 \noindent {\bf Return Type:}
4211 {\tt
4212 void
4217 \vspace{0.3cm}
4218 \vspace{0.3cm}
4219 \vspace{0.3cm}
4220 \subsubsection{RPC name:~shutdown}
4222 {\bf Overview:}
4223 Shutdown the host. (This function can only be called if there are no currently running VMs on the host and it is disabled.)
4225 \noindent {\bf Signature:}
4226 \begin{verbatim} void shutdown (session_id s, host ref host)\end{verbatim}
4229 \noindent{\bf Arguments:}
4232 \vspace{0.3cm}
4233 \begin{tabular}{|c|c|p{7cm}|}
4234 \hline
4235 {\bf type} & {\bf name} & {\bf description} \\ \hline
4236 {\tt host ref } & host & The Host to shutdown \\ \hline
4238 \end{tabular}
4240 \vspace{0.3cm}
4242 \noindent {\bf Return Type:}
4243 {\tt
4244 void
4249 \vspace{0.3cm}
4250 \vspace{0.3cm}
4251 \vspace{0.3cm}
4252 \subsubsection{RPC name:~reboot}
4254 {\bf Overview:}
4255 Reboot the host. (This function can only be called if there are no currently running VMs on the host and it is disabled.)
4257 \noindent {\bf Signature:}
4258 \begin{verbatim} void reboot (session_id s, host ref host)\end{verbatim}
4261 \noindent{\bf Arguments:}
4264 \vspace{0.3cm}
4265 \begin{tabular}{|c|c|p{7cm}|}
4266 \hline
4267 {\bf type} & {\bf name} & {\bf description} \\ \hline
4268 {\tt host ref } & host & The Host to reboot \\ \hline
4270 \end{tabular}
4272 \vspace{0.3cm}
4274 \noindent {\bf Return Type:}
4275 {\tt
4276 void
4281 \vspace{0.3cm}
4282 \vspace{0.3cm}
4283 \vspace{0.3cm}
4284 \subsubsection{RPC name:~get\_all}
4286 {\bf Overview:}
4287 Return a list of all the hosts known to the system
4289 \noindent {\bf Signature:}
4290 \begin{verbatim} ((host ref) Set) get_all (session_id s)\end{verbatim}
4293 \vspace{0.3cm}
4295 \noindent {\bf Return Type:}
4296 {\tt
4297 (host ref) Set
4301 A list of all the IDs of all the hosts
4302 \vspace{0.3cm}
4303 \vspace{0.3cm}
4304 \vspace{0.3cm}
4305 \subsubsection{RPC name:~get\_uuid}
4307 {\bf Overview:}
4308 Get the uuid field of the given host.
4310 \noindent {\bf Signature:}
4311 \begin{verbatim} string get_uuid (session_id s, host ref self)\end{verbatim}
4314 \noindent{\bf Arguments:}
4317 \vspace{0.3cm}
4318 \begin{tabular}{|c|c|p{7cm}|}
4319 \hline
4320 {\bf type} & {\bf name} & {\bf description} \\ \hline
4321 {\tt host ref } & self & reference to the object \\ \hline
4323 \end{tabular}
4325 \vspace{0.3cm}
4327 \noindent {\bf Return Type:}
4328 {\tt
4329 string
4333 value of the field
4334 \vspace{0.3cm}
4335 \vspace{0.3cm}
4336 \vspace{0.3cm}
4337 \subsubsection{RPC name:~get\_name\_label}
4339 {\bf Overview:}
4340 Get the name/label field of the given host.
4342 \noindent {\bf Signature:}
4343 \begin{verbatim} string get_name_label (session_id s, host ref self)\end{verbatim}
4346 \noindent{\bf Arguments:}
4349 \vspace{0.3cm}
4350 \begin{tabular}{|c|c|p{7cm}|}
4351 \hline
4352 {\bf type} & {\bf name} & {\bf description} \\ \hline
4353 {\tt host ref } & self & reference to the object \\ \hline
4355 \end{tabular}
4357 \vspace{0.3cm}
4359 \noindent {\bf Return Type:}
4360 {\tt
4361 string
4365 value of the field
4366 \vspace{0.3cm}
4367 \vspace{0.3cm}
4368 \vspace{0.3cm}
4369 \subsubsection{RPC name:~set\_name\_label}
4371 {\bf Overview:}
4372 Set the name/label field of the given host.
4374 \noindent {\bf Signature:}
4375 \begin{verbatim} void set_name_label (session_id s, host ref self, string value)\end{verbatim}
4378 \noindent{\bf Arguments:}
4381 \vspace{0.3cm}
4382 \begin{tabular}{|c|c|p{7cm}|}
4383 \hline
4384 {\bf type} & {\bf name} & {\bf description} \\ \hline
4385 {\tt host ref } & self & reference to the object \\ \hline
4387 {\tt string } & value & New value to set \\ \hline
4389 \end{tabular}
4391 \vspace{0.3cm}
4393 \noindent {\bf Return Type:}
4394 {\tt
4395 void
4400 \vspace{0.3cm}
4401 \vspace{0.3cm}
4402 \vspace{0.3cm}
4403 \subsubsection{RPC name:~get\_name\_description}
4405 {\bf Overview:}
4406 Get the name/description field of the given host.
4408 \noindent {\bf Signature:}
4409 \begin{verbatim} string get_name_description (session_id s, host ref self)\end{verbatim}
4412 \noindent{\bf Arguments:}
4415 \vspace{0.3cm}
4416 \begin{tabular}{|c|c|p{7cm}|}
4417 \hline
4418 {\bf type} & {\bf name} & {\bf description} \\ \hline
4419 {\tt host ref } & self & reference to the object \\ \hline
4421 \end{tabular}
4423 \vspace{0.3cm}
4425 \noindent {\bf Return Type:}
4426 {\tt
4427 string
4431 value of the field
4432 \vspace{0.3cm}
4433 \vspace{0.3cm}
4434 \vspace{0.3cm}
4435 \subsubsection{RPC name:~set\_name\_description}
4437 {\bf Overview:}
4438 Set the name/description field of the given host.
4440 \noindent {\bf Signature:}
4441 \begin{verbatim} void set_name_description (session_id s, host ref self, string value)\end{verbatim}
4444 \noindent{\bf Arguments:}
4447 \vspace{0.3cm}
4448 \begin{tabular}{|c|c|p{7cm}|}
4449 \hline
4450 {\bf type} & {\bf name} & {\bf description} \\ \hline
4451 {\tt host ref } & self & reference to the object \\ \hline
4453 {\tt string } & value & New value to set \\ \hline
4455 \end{tabular}
4457 \vspace{0.3cm}
4459 \noindent {\bf Return Type:}
4460 {\tt
4461 void
4466 \vspace{0.3cm}
4467 \vspace{0.3cm}
4468 \vspace{0.3cm}
4469 \subsubsection{RPC name:~get\_software\_version}
4471 {\bf Overview:}
4472 Get the software\_version field of the given host.
4474 \noindent {\bf Signature:}
4475 \begin{verbatim} ((string -> string) Map) get_software_version (session_id s, host ref self)\end{verbatim}
4478 \noindent{\bf Arguments:}
4481 \vspace{0.3cm}
4482 \begin{tabular}{|c|c|p{7cm}|}
4483 \hline
4484 {\bf type} & {\bf name} & {\bf description} \\ \hline
4485 {\tt host ref } & self & reference to the object \\ \hline
4487 \end{tabular}
4489 \vspace{0.3cm}
4491 \noindent {\bf Return Type:}
4492 {\tt
4493 (string $\rightarrow$ string) Map
4497 value of the field
4498 \vspace{0.3cm}
4499 \vspace{0.3cm}
4500 \vspace{0.3cm}
4501 \subsubsection{RPC name:~get\_resident\_VMs}
4503 {\bf Overview:}
4504 Get the resident\_VMs field of the given host.
4506 \noindent {\bf Signature:}
4507 \begin{verbatim} ((VM ref) Set) get_resident_VMs (session_id s, host ref self)\end{verbatim}
4510 \noindent{\bf Arguments:}
4513 \vspace{0.3cm}
4514 \begin{tabular}{|c|c|p{7cm}|}
4515 \hline
4516 {\bf type} & {\bf name} & {\bf description} \\ \hline
4517 {\tt host ref } & self & reference to the object \\ \hline
4519 \end{tabular}
4521 \vspace{0.3cm}
4523 \noindent {\bf Return Type:}
4524 {\tt
4525 (VM ref) Set
4529 value of the field
4530 \vspace{0.3cm}
4531 \vspace{0.3cm}
4532 \vspace{0.3cm}
4533 \subsubsection{RPC name:~get\_PIFs}
4535 {\bf Overview:}
4536 Get the PIFs field of the given host.
4538 \noindent {\bf Signature:}
4539 \begin{verbatim} ((PIF ref) Set) get_PIFs (session_id s, host ref self)\end{verbatim}
4542 \noindent{\bf Arguments:}
4545 \vspace{0.3cm}
4546 \begin{tabular}{|c|c|p{7cm}|}
4547 \hline
4548 {\bf type} & {\bf name} & {\bf description} \\ \hline
4549 {\tt host ref } & self & reference to the object \\ \hline
4551 \end{tabular}
4553 \vspace{0.3cm}
4555 \noindent {\bf Return Type:}
4556 {\tt
4557 (PIF ref) Set
4561 value of the field
4562 \vspace{0.3cm}
4563 \vspace{0.3cm}
4564 \vspace{0.3cm}
4565 \subsubsection{RPC name:~get\_host\_CPUs}
4567 {\bf Overview:}
4568 Get the host\_CPUs field of the given host.
4570 \noindent {\bf Signature:}
4571 \begin{verbatim} ((host_cpu ref) Set) get_host_CPUs (session_id s, host ref self)\end{verbatim}
4574 \noindent{\bf Arguments:}
4577 \vspace{0.3cm}
4578 \begin{tabular}{|c|c|p{7cm}|}
4579 \hline
4580 {\bf type} & {\bf name} & {\bf description} \\ \hline
4581 {\tt host ref } & self & reference to the object \\ \hline
4583 \end{tabular}
4585 \vspace{0.3cm}
4587 \noindent {\bf Return Type:}
4588 {\tt
4589 (host\_cpu ref) Set
4593 value of the field
4594 \vspace{0.3cm}
4595 \vspace{0.3cm}
4596 \vspace{0.3cm}
4597 \subsubsection{RPC name:~create}
4599 {\bf Overview:}
4600 Create a new host instance, and return its handle.
4602 \noindent {\bf Signature:}
4603 \begin{verbatim} (host ref) create (session_id s, host record args)\end{verbatim}
4606 \noindent{\bf Arguments:}
4609 \vspace{0.3cm}
4610 \begin{tabular}{|c|c|p{7cm}|}
4611 \hline
4612 {\bf type} & {\bf name} & {\bf description} \\ \hline
4613 {\tt host record } & args & All constructor arguments \\ \hline
4615 \end{tabular}
4617 \vspace{0.3cm}
4619 \noindent {\bf Return Type:}
4620 {\tt
4621 host ref
4625 reference to the newly created object
4626 \vspace{0.3cm}
4627 \vspace{0.3cm}
4628 \vspace{0.3cm}
4629 \subsubsection{RPC name:~destroy}
4631 {\bf Overview:}
4632 Destroy the specified host instance.
4634 \noindent {\bf Signature:}
4635 \begin{verbatim} void destroy (session_id s, host ref self)\end{verbatim}
4638 \noindent{\bf Arguments:}
4641 \vspace{0.3cm}
4642 \begin{tabular}{|c|c|p{7cm}|}
4643 \hline
4644 {\bf type} & {\bf name} & {\bf description} \\ \hline
4645 {\tt host ref } & self & reference to the object \\ \hline
4647 \end{tabular}
4649 \vspace{0.3cm}
4651 \noindent {\bf Return Type:}
4652 {\tt
4653 void
4658 \vspace{0.3cm}
4659 \vspace{0.3cm}
4660 \vspace{0.3cm}
4661 \subsubsection{RPC name:~get\_by\_uuid}
4663 {\bf Overview:}
4664 Get a reference to the host instance with the specified UUID.
4666 \noindent {\bf Signature:}
4667 \begin{verbatim} (host ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
4670 \noindent{\bf Arguments:}
4673 \vspace{0.3cm}
4674 \begin{tabular}{|c|c|p{7cm}|}
4675 \hline
4676 {\bf type} & {\bf name} & {\bf description} \\ \hline
4677 {\tt string } & uuid & UUID of object to return \\ \hline
4679 \end{tabular}
4681 \vspace{0.3cm}
4683 \noindent {\bf Return Type:}
4684 {\tt
4685 host ref
4689 reference to the object
4690 \vspace{0.3cm}
4691 \vspace{0.3cm}
4692 \vspace{0.3cm}
4693 \subsubsection{RPC name:~get\_record}
4695 {\bf Overview:}
4696 Get a record containing the current state of the given host.
4698 \noindent {\bf Signature:}
4699 \begin{verbatim} (host record) get_record (session_id s, host ref self)\end{verbatim}
4702 \noindent{\bf Arguments:}
4705 \vspace{0.3cm}
4706 \begin{tabular}{|c|c|p{7cm}|}
4707 \hline
4708 {\bf type} & {\bf name} & {\bf description} \\ \hline
4709 {\tt host ref } & self & reference to the object \\ \hline
4711 \end{tabular}
4713 \vspace{0.3cm}
4715 \noindent {\bf Return Type:}
4716 {\tt
4717 host record
4721 all fields from the object
4722 \vspace{0.3cm}
4723 \vspace{0.3cm}
4724 \vspace{0.3cm}
4725 \subsubsection{RPC name:~get\_by\_name\_label}
4727 {\bf Overview:}
4728 Get all the host instances with the given label.
4730 \noindent {\bf Signature:}
4731 \begin{verbatim} ((host ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
4734 \noindent{\bf Arguments:}
4737 \vspace{0.3cm}
4738 \begin{tabular}{|c|c|p{7cm}|}
4739 \hline
4740 {\bf type} & {\bf name} & {\bf description} \\ \hline
4741 {\tt string } & label & label of object to return \\ \hline
4743 \end{tabular}
4745 \vspace{0.3cm}
4747 \noindent {\bf Return Type:}
4748 {\tt
4749 (host ref) Set
4753 references to objects with match names
4754 \vspace{0.3cm}
4755 \vspace{0.3cm}
4756 \vspace{0.3cm}
4758 \vspace{1cm}
4759 \newpage
4760 \section{Class: host\_cpu}
4761 \subsection{Fields for class: host\_cpu}
4762 \begin{longtable}{|lllp{0.38\textwidth}|}
4763 \hline
4764 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf host\_cpu} \\
4765 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A physical CPU}} \\
4766 \hline
4767 Quals & Field & Type & Description \\
4768 \hline
4769 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
4770 $\mathit{RO}_\mathit{ins}$ & {\tt host} & host ref & the host the CPU is in \\
4771 $\mathit{RO}_\mathit{ins}$ & {\tt number} & int & the number of the physical CPU within the host \\
4772 $\mathit{RO}_\mathit{ins}$ & {\tt vendor} & string & the vendor of the physical CPU \\
4773 $\mathit{RO}_\mathit{ins}$ & {\tt speed} & int & the speed of the physical CPU \\
4774 $\mathit{RO}_\mathit{ins}$ & {\tt modelname} & string & the model name of the physical CPU \\
4775 $\mathit{RO}_\mathit{ins}$ & {\tt features} & (cpu\_feature) Set & the features supported by the CPU \\
4776 $\mathit{RO}_\mathit{run}$ & {\tt utilisation} & float & the current CPU utilisation \\
4777 \hline
4778 \end{longtable}
4779 \subsection{Additional RPCs associated with class: host\_cpu}
4780 \subsubsection{RPC name:~get\_uuid}
4782 {\bf Overview:}
4783 Get the uuid field of the given host\_cpu.
4785 \noindent {\bf Signature:}
4786 \begin{verbatim} string get_uuid (session_id s, host_cpu ref self)\end{verbatim}
4789 \noindent{\bf Arguments:}
4792 \vspace{0.3cm}
4793 \begin{tabular}{|c|c|p{7cm}|}
4794 \hline
4795 {\bf type} & {\bf name} & {\bf description} \\ \hline
4796 {\tt host\_cpu ref } & self & reference to the object \\ \hline
4798 \end{tabular}
4800 \vspace{0.3cm}
4802 \noindent {\bf Return Type:}
4803 {\tt
4804 string
4808 value of the field
4809 \vspace{0.3cm}
4810 \vspace{0.3cm}
4811 \vspace{0.3cm}
4812 \subsubsection{RPC name:~get\_host}
4814 {\bf Overview:}
4815 Get the host field of the given host\_cpu.
4817 \noindent {\bf Signature:}
4818 \begin{verbatim} (host ref) get_host (session_id s, host_cpu ref self)\end{verbatim}
4821 \noindent{\bf Arguments:}
4824 \vspace{0.3cm}
4825 \begin{tabular}{|c|c|p{7cm}|}
4826 \hline
4827 {\bf type} & {\bf name} & {\bf description} \\ \hline
4828 {\tt host\_cpu ref } & self & reference to the object \\ \hline
4830 \end{tabular}
4832 \vspace{0.3cm}
4834 \noindent {\bf Return Type:}
4835 {\tt
4836 host ref
4840 value of the field
4841 \vspace{0.3cm}
4842 \vspace{0.3cm}
4843 \vspace{0.3cm}
4844 \subsubsection{RPC name:~get\_number}
4846 {\bf Overview:}
4847 Get the number field of the given host\_cpu.
4849 \noindent {\bf Signature:}
4850 \begin{verbatim} int get_number (session_id s, host_cpu ref self)\end{verbatim}
4853 \noindent{\bf Arguments:}
4856 \vspace{0.3cm}
4857 \begin{tabular}{|c|c|p{7cm}|}
4858 \hline
4859 {\bf type} & {\bf name} & {\bf description} \\ \hline
4860 {\tt host\_cpu ref } & self & reference to the object \\ \hline
4862 \end{tabular}
4864 \vspace{0.3cm}
4866 \noindent {\bf Return Type:}
4867 {\tt
4868 int
4872 value of the field
4873 \vspace{0.3cm}
4874 \vspace{0.3cm}
4875 \vspace{0.3cm}
4876 \subsubsection{RPC name:~get\_vendor}
4878 {\bf Overview:}
4879 Get the vendor field of the given host\_cpu.
4881 \noindent {\bf Signature:}
4882 \begin{verbatim} string get_vendor (session_id s, host_cpu ref self)\end{verbatim}
4885 \noindent{\bf Arguments:}
4888 \vspace{0.3cm}
4889 \begin{tabular}{|c|c|p{7cm}|}
4890 \hline
4891 {\bf type} & {\bf name} & {\bf description} \\ \hline
4892 {\tt host\_cpu ref } & self & reference to the object \\ \hline
4894 \end{tabular}
4896 \vspace{0.3cm}
4898 \noindent {\bf Return Type:}
4899 {\tt
4900 string
4904 value of the field
4905 \vspace{0.3cm}
4906 \vspace{0.3cm}
4907 \vspace{0.3cm}
4908 \subsubsection{RPC name:~get\_speed}
4910 {\bf Overview:}
4911 Get the speed field of the given host\_cpu.
4913 \noindent {\bf Signature:}
4914 \begin{verbatim} int get_speed (session_id s, host_cpu ref self)\end{verbatim}
4917 \noindent{\bf Arguments:}
4920 \vspace{0.3cm}
4921 \begin{tabular}{|c|c|p{7cm}|}
4922 \hline
4923 {\bf type} & {\bf name} & {\bf description} \\ \hline
4924 {\tt host\_cpu ref } & self & reference to the object \\ \hline
4926 \end{tabular}
4928 \vspace{0.3cm}
4930 \noindent {\bf Return Type:}
4931 {\tt
4932 int
4936 value of the field
4937 \vspace{0.3cm}
4938 \vspace{0.3cm}
4939 \vspace{0.3cm}
4940 \subsubsection{RPC name:~get\_modelname}
4942 {\bf Overview:}
4943 Get the modelname field of the given host\_cpu.
4945 \noindent {\bf Signature:}
4946 \begin{verbatim} string get_modelname (session_id s, host_cpu ref self)\end{verbatim}
4949 \noindent{\bf Arguments:}
4952 \vspace{0.3cm}
4953 \begin{tabular}{|c|c|p{7cm}|}
4954 \hline
4955 {\bf type} & {\bf name} & {\bf description} \\ \hline
4956 {\tt host\_cpu ref } & self & reference to the object \\ \hline
4958 \end{tabular}
4960 \vspace{0.3cm}
4962 \noindent {\bf Return Type:}
4963 {\tt
4964 string
4968 value of the field
4969 \vspace{0.3cm}
4970 \vspace{0.3cm}
4971 \vspace{0.3cm}
4972 \subsubsection{RPC name:~get\_features}
4974 {\bf Overview:}
4975 Get the features field of the given host\_cpu.
4977 \noindent {\bf Signature:}
4978 \begin{verbatim} ((cpu_feature) Set) get_features (session_id s, host_cpu ref self)\end{verbatim}
4981 \noindent{\bf Arguments:}
4984 \vspace{0.3cm}
4985 \begin{tabular}{|c|c|p{7cm}|}
4986 \hline
4987 {\bf type} & {\bf name} & {\bf description} \\ \hline
4988 {\tt host\_cpu ref } & self & reference to the object \\ \hline
4990 \end{tabular}
4992 \vspace{0.3cm}
4994 \noindent {\bf Return Type:}
4995 {\tt
4996 (cpu\_feature) Set
5000 value of the field
5001 \vspace{0.3cm}
5002 \vspace{0.3cm}
5003 \vspace{0.3cm}
5004 \subsubsection{RPC name:~get\_utilisation}
5006 {\bf Overview:}
5007 Get the utilisation field of the given host\_cpu.
5009 \noindent {\bf Signature:}
5010 \begin{verbatim} float get_utilisation (session_id s, host_cpu ref self)\end{verbatim}
5013 \noindent{\bf Arguments:}
5016 \vspace{0.3cm}
5017 \begin{tabular}{|c|c|p{7cm}|}
5018 \hline
5019 {\bf type} & {\bf name} & {\bf description} \\ \hline
5020 {\tt host\_cpu ref } & self & reference to the object \\ \hline
5022 \end{tabular}
5024 \vspace{0.3cm}
5026 \noindent {\bf Return Type:}
5027 {\tt
5028 float
5032 value of the field
5033 \vspace{0.3cm}
5034 \vspace{0.3cm}
5035 \vspace{0.3cm}
5036 \subsubsection{RPC name:~create}
5038 {\bf Overview:}
5039 Create a new host\_cpu instance, and return its handle.
5041 \noindent {\bf Signature:}
5042 \begin{verbatim} (host_cpu ref) create (session_id s, host_cpu record args)\end{verbatim}
5045 \noindent{\bf Arguments:}
5048 \vspace{0.3cm}
5049 \begin{tabular}{|c|c|p{7cm}|}
5050 \hline
5051 {\bf type} & {\bf name} & {\bf description} \\ \hline
5052 {\tt host\_cpu record } & args & All constructor arguments \\ \hline
5054 \end{tabular}
5056 \vspace{0.3cm}
5058 \noindent {\bf Return Type:}
5059 {\tt
5060 host\_cpu ref
5064 reference to the newly created object
5065 \vspace{0.3cm}
5066 \vspace{0.3cm}
5067 \vspace{0.3cm}
5068 \subsubsection{RPC name:~destroy}
5070 {\bf Overview:}
5071 Destroy the specified host\_cpu instance.
5073 \noindent {\bf Signature:}
5074 \begin{verbatim} void destroy (session_id s, host_cpu ref self)\end{verbatim}
5077 \noindent{\bf Arguments:}
5080 \vspace{0.3cm}
5081 \begin{tabular}{|c|c|p{7cm}|}
5082 \hline
5083 {\bf type} & {\bf name} & {\bf description} \\ \hline
5084 {\tt host\_cpu ref } & self & reference to the object \\ \hline
5086 \end{tabular}
5088 \vspace{0.3cm}
5090 \noindent {\bf Return Type:}
5091 {\tt
5092 void
5097 \vspace{0.3cm}
5098 \vspace{0.3cm}
5099 \vspace{0.3cm}
5100 \subsubsection{RPC name:~get\_by\_uuid}
5102 {\bf Overview:}
5103 Get a reference to the host\_cpu instance with the specified UUID.
5105 \noindent {\bf Signature:}
5106 \begin{verbatim} (host_cpu ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
5109 \noindent{\bf Arguments:}
5112 \vspace{0.3cm}
5113 \begin{tabular}{|c|c|p{7cm}|}
5114 \hline
5115 {\bf type} & {\bf name} & {\bf description} \\ \hline
5116 {\tt string } & uuid & UUID of object to return \\ \hline
5118 \end{tabular}
5120 \vspace{0.3cm}
5122 \noindent {\bf Return Type:}
5123 {\tt
5124 host\_cpu ref
5128 reference to the object
5129 \vspace{0.3cm}
5130 \vspace{0.3cm}
5131 \vspace{0.3cm}
5132 \subsubsection{RPC name:~get\_record}
5134 {\bf Overview:}
5135 Get a record containing the current state of the given host\_cpu.
5137 \noindent {\bf Signature:}
5138 \begin{verbatim} (host_cpu record) get_record (session_id s, host_cpu ref self)\end{verbatim}
5141 \noindent{\bf Arguments:}
5144 \vspace{0.3cm}
5145 \begin{tabular}{|c|c|p{7cm}|}
5146 \hline
5147 {\bf type} & {\bf name} & {\bf description} \\ \hline
5148 {\tt host\_cpu ref } & self & reference to the object \\ \hline
5150 \end{tabular}
5152 \vspace{0.3cm}
5154 \noindent {\bf Return Type:}
5155 {\tt
5156 host\_cpu record
5160 all fields from the object
5161 \vspace{0.3cm}
5162 \vspace{0.3cm}
5163 \vspace{0.3cm}
5165 \vspace{1cm}
5166 \newpage
5167 \section{Class: network}
5168 \subsection{Fields for class: network}
5169 \begin{longtable}{|lllp{0.38\textwidth}|}
5170 \hline
5171 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf network} \\
5172 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A virtual network}} \\
5173 \hline
5174 Quals & Field & Type & Description \\
5175 \hline
5176 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
5177 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
5178 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
5179 $\mathit{RO}_\mathit{run}$ & {\tt VIFs} & (VIF ref) Set & list of connected vifs \\
5180 $\mathit{RO}_\mathit{run}$ & {\tt PIFs} & (PIF ref) Set & list of connected pifs \\
5181 $\mathit{RW}$ & {\tt default\_gateway} & string & default gateway IP address. Used for auto-configuring guests with fixed IP setting \\
5182 $\mathit{RW}$ & {\tt default\_netmask} & string & default netmask. Used for auto-configuring guests with fixed IP setting \\
5183 \hline
5184 \end{longtable}
5185 \subsection{Additional RPCs associated with class: network}
5186 \subsubsection{RPC name:~get\_all}
5188 {\bf Overview:}
5189 Return a list of all the networks known to the system
5191 \noindent {\bf Signature:}
5192 \begin{verbatim} ((network ref) Set) get_all (session_id s)\end{verbatim}
5195 \vspace{0.3cm}
5197 \noindent {\bf Return Type:}
5198 {\tt
5199 (network ref) Set
5203 A list of all the IDs of all the networks
5204 \vspace{0.3cm}
5205 \vspace{0.3cm}
5206 \vspace{0.3cm}
5207 \subsubsection{RPC name:~get\_uuid}
5209 {\bf Overview:}
5210 Get the uuid field of the given network.
5212 \noindent {\bf Signature:}
5213 \begin{verbatim} string get_uuid (session_id s, network ref self)\end{verbatim}
5216 \noindent{\bf Arguments:}
5219 \vspace{0.3cm}
5220 \begin{tabular}{|c|c|p{7cm}|}
5221 \hline
5222 {\bf type} & {\bf name} & {\bf description} \\ \hline
5223 {\tt network ref } & self & reference to the object \\ \hline
5225 \end{tabular}
5227 \vspace{0.3cm}
5229 \noindent {\bf Return Type:}
5230 {\tt
5231 string
5235 value of the field
5236 \vspace{0.3cm}
5237 \vspace{0.3cm}
5238 \vspace{0.3cm}
5239 \subsubsection{RPC name:~get\_name\_label}
5241 {\bf Overview:}
5242 Get the name/label field of the given network.
5244 \noindent {\bf Signature:}
5245 \begin{verbatim} string get_name_label (session_id s, network ref self)\end{verbatim}
5248 \noindent{\bf Arguments:}
5251 \vspace{0.3cm}
5252 \begin{tabular}{|c|c|p{7cm}|}
5253 \hline
5254 {\bf type} & {\bf name} & {\bf description} \\ \hline
5255 {\tt network ref } & self & reference to the object \\ \hline
5257 \end{tabular}
5259 \vspace{0.3cm}
5261 \noindent {\bf Return Type:}
5262 {\tt
5263 string
5267 value of the field
5268 \vspace{0.3cm}
5269 \vspace{0.3cm}
5270 \vspace{0.3cm}
5271 \subsubsection{RPC name:~set\_name\_label}
5273 {\bf Overview:}
5274 Set the name/label field of the given network.
5276 \noindent {\bf Signature:}
5277 \begin{verbatim} void set_name_label (session_id s, network ref self, string value)\end{verbatim}
5280 \noindent{\bf Arguments:}
5283 \vspace{0.3cm}
5284 \begin{tabular}{|c|c|p{7cm}|}
5285 \hline
5286 {\bf type} & {\bf name} & {\bf description} \\ \hline
5287 {\tt network ref } & self & reference to the object \\ \hline
5289 {\tt string } & value & New value to set \\ \hline
5291 \end{tabular}
5293 \vspace{0.3cm}
5295 \noindent {\bf Return Type:}
5296 {\tt
5297 void
5302 \vspace{0.3cm}
5303 \vspace{0.3cm}
5304 \vspace{0.3cm}
5305 \subsubsection{RPC name:~get\_name\_description}
5307 {\bf Overview:}
5308 Get the name/description field of the given network.
5310 \noindent {\bf Signature:}
5311 \begin{verbatim} string get_name_description (session_id s, network ref self)\end{verbatim}
5314 \noindent{\bf Arguments:}
5317 \vspace{0.3cm}
5318 \begin{tabular}{|c|c|p{7cm}|}
5319 \hline
5320 {\bf type} & {\bf name} & {\bf description} \\ \hline
5321 {\tt network ref } & self & reference to the object \\ \hline
5323 \end{tabular}
5325 \vspace{0.3cm}
5327 \noindent {\bf Return Type:}
5328 {\tt
5329 string
5333 value of the field
5334 \vspace{0.3cm}
5335 \vspace{0.3cm}
5336 \vspace{0.3cm}
5337 \subsubsection{RPC name:~set\_name\_description}
5339 {\bf Overview:}
5340 Set the name/description field of the given network.
5342 \noindent {\bf Signature:}
5343 \begin{verbatim} void set_name_description (session_id s, network ref self, string value)\end{verbatim}
5346 \noindent{\bf Arguments:}
5349 \vspace{0.3cm}
5350 \begin{tabular}{|c|c|p{7cm}|}
5351 \hline
5352 {\bf type} & {\bf name} & {\bf description} \\ \hline
5353 {\tt network ref } & self & reference to the object \\ \hline
5355 {\tt string } & value & New value to set \\ \hline
5357 \end{tabular}
5359 \vspace{0.3cm}
5361 \noindent {\bf Return Type:}
5362 {\tt
5363 void
5368 \vspace{0.3cm}
5369 \vspace{0.3cm}
5370 \vspace{0.3cm}
5371 \subsubsection{RPC name:~get\_VIFs}
5373 {\bf Overview:}
5374 Get the VIFs field of the given network.
5376 \noindent {\bf Signature:}
5377 \begin{verbatim} ((VIF ref) Set) get_VIFs (session_id s, network ref self)\end{verbatim}
5380 \noindent{\bf Arguments:}
5383 \vspace{0.3cm}
5384 \begin{tabular}{|c|c|p{7cm}|}
5385 \hline
5386 {\bf type} & {\bf name} & {\bf description} \\ \hline
5387 {\tt network ref } & self & reference to the object \\ \hline
5389 \end{tabular}
5391 \vspace{0.3cm}
5393 \noindent {\bf Return Type:}
5394 {\tt
5395 (VIF ref) Set
5399 value of the field
5400 \vspace{0.3cm}
5401 \vspace{0.3cm}
5402 \vspace{0.3cm}
5403 \subsubsection{RPC name:~get\_PIFs}
5405 {\bf Overview:}
5406 Get the PIFs field of the given network.
5408 \noindent {\bf Signature:}
5409 \begin{verbatim} ((PIF ref) Set) get_PIFs (session_id s, network ref self)\end{verbatim}
5412 \noindent{\bf Arguments:}
5415 \vspace{0.3cm}
5416 \begin{tabular}{|c|c|p{7cm}|}
5417 \hline
5418 {\bf type} & {\bf name} & {\bf description} \\ \hline
5419 {\tt network ref } & self & reference to the object \\ \hline
5421 \end{tabular}
5423 \vspace{0.3cm}
5425 \noindent {\bf Return Type:}
5426 {\tt
5427 (PIF ref) Set
5431 value of the field
5432 \vspace{0.3cm}
5433 \vspace{0.3cm}
5434 \vspace{0.3cm}
5435 \subsubsection{RPC name:~get\_default\_gateway}
5437 {\bf Overview:}
5438 Get the default\_gateway field of the given network.
5440 \noindent {\bf Signature:}
5441 \begin{verbatim} string get_default_gateway (session_id s, network ref self)\end{verbatim}
5444 \noindent{\bf Arguments:}
5447 \vspace{0.3cm}
5448 \begin{tabular}{|c|c|p{7cm}|}
5449 \hline
5450 {\bf type} & {\bf name} & {\bf description} \\ \hline
5451 {\tt network ref } & self & reference to the object \\ \hline
5453 \end{tabular}
5455 \vspace{0.3cm}
5457 \noindent {\bf Return Type:}
5458 {\tt
5459 string
5463 value of the field
5464 \vspace{0.3cm}
5465 \vspace{0.3cm}
5466 \vspace{0.3cm}
5467 \subsubsection{RPC name:~set\_default\_gateway}
5469 {\bf Overview:}
5470 Set the default\_gateway field of the given network.
5472 \noindent {\bf Signature:}
5473 \begin{verbatim} void set_default_gateway (session_id s, network ref self, string value)\end{verbatim}
5476 \noindent{\bf Arguments:}
5479 \vspace{0.3cm}
5480 \begin{tabular}{|c|c|p{7cm}|}
5481 \hline
5482 {\bf type} & {\bf name} & {\bf description} \\ \hline
5483 {\tt network ref } & self & reference to the object \\ \hline
5485 {\tt string } & value & New value to set \\ \hline
5487 \end{tabular}
5489 \vspace{0.3cm}
5491 \noindent {\bf Return Type:}
5492 {\tt
5493 void
5498 \vspace{0.3cm}
5499 \vspace{0.3cm}
5500 \vspace{0.3cm}
5501 \subsubsection{RPC name:~get\_default\_netmask}
5503 {\bf Overview:}
5504 Get the default\_netmask field of the given network.
5506 \noindent {\bf Signature:}
5507 \begin{verbatim} string get_default_netmask (session_id s, network ref self)\end{verbatim}
5510 \noindent{\bf Arguments:}
5513 \vspace{0.3cm}
5514 \begin{tabular}{|c|c|p{7cm}|}
5515 \hline
5516 {\bf type} & {\bf name} & {\bf description} \\ \hline
5517 {\tt network ref } & self & reference to the object \\ \hline
5519 \end{tabular}
5521 \vspace{0.3cm}
5523 \noindent {\bf Return Type:}
5524 {\tt
5525 string
5529 value of the field
5530 \vspace{0.3cm}
5531 \vspace{0.3cm}
5532 \vspace{0.3cm}
5533 \subsubsection{RPC name:~set\_default\_netmask}
5535 {\bf Overview:}
5536 Set the default\_netmask field of the given network.
5538 \noindent {\bf Signature:}
5539 \begin{verbatim} void set_default_netmask (session_id s, network ref self, string value)\end{verbatim}
5542 \noindent{\bf Arguments:}
5545 \vspace{0.3cm}
5546 \begin{tabular}{|c|c|p{7cm}|}
5547 \hline
5548 {\bf type} & {\bf name} & {\bf description} \\ \hline
5549 {\tt network ref } & self & reference to the object \\ \hline
5551 {\tt string } & value & New value to set \\ \hline
5553 \end{tabular}
5555 \vspace{0.3cm}
5557 \noindent {\bf Return Type:}
5558 {\tt
5559 void
5564 \vspace{0.3cm}
5565 \vspace{0.3cm}
5566 \vspace{0.3cm}
5567 \subsubsection{RPC name:~create}
5569 {\bf Overview:}
5570 Create a new network instance, and return its handle.
5572 \noindent {\bf Signature:}
5573 \begin{verbatim} (network ref) create (session_id s, network record args)\end{verbatim}
5576 \noindent{\bf Arguments:}
5579 \vspace{0.3cm}
5580 \begin{tabular}{|c|c|p{7cm}|}
5581 \hline
5582 {\bf type} & {\bf name} & {\bf description} \\ \hline
5583 {\tt network record } & args & All constructor arguments \\ \hline
5585 \end{tabular}
5587 \vspace{0.3cm}
5589 \noindent {\bf Return Type:}
5590 {\tt
5591 network ref
5595 reference to the newly created object
5596 \vspace{0.3cm}
5597 \vspace{0.3cm}
5598 \vspace{0.3cm}
5599 \subsubsection{RPC name:~destroy}
5601 {\bf Overview:}
5602 Destroy the specified network instance.
5604 \noindent {\bf Signature:}
5605 \begin{verbatim} void destroy (session_id s, network ref self)\end{verbatim}
5608 \noindent{\bf Arguments:}
5611 \vspace{0.3cm}
5612 \begin{tabular}{|c|c|p{7cm}|}
5613 \hline
5614 {\bf type} & {\bf name} & {\bf description} \\ \hline
5615 {\tt network ref } & self & reference to the object \\ \hline
5617 \end{tabular}
5619 \vspace{0.3cm}
5621 \noindent {\bf Return Type:}
5622 {\tt
5623 void
5628 \vspace{0.3cm}
5629 \vspace{0.3cm}
5630 \vspace{0.3cm}
5631 \subsubsection{RPC name:~get\_by\_uuid}
5633 {\bf Overview:}
5634 Get a reference to the network instance with the specified UUID.
5636 \noindent {\bf Signature:}
5637 \begin{verbatim} (network ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
5640 \noindent{\bf Arguments:}
5643 \vspace{0.3cm}
5644 \begin{tabular}{|c|c|p{7cm}|}
5645 \hline
5646 {\bf type} & {\bf name} & {\bf description} \\ \hline
5647 {\tt string } & uuid & UUID of object to return \\ \hline
5649 \end{tabular}
5651 \vspace{0.3cm}
5653 \noindent {\bf Return Type:}
5654 {\tt
5655 network ref
5659 reference to the object
5660 \vspace{0.3cm}
5661 \vspace{0.3cm}
5662 \vspace{0.3cm}
5663 \subsubsection{RPC name:~get\_record}
5665 {\bf Overview:}
5666 Get a record containing the current state of the given network.
5668 \noindent {\bf Signature:}
5669 \begin{verbatim} (network record) get_record (session_id s, network ref self)\end{verbatim}
5672 \noindent{\bf Arguments:}
5675 \vspace{0.3cm}
5676 \begin{tabular}{|c|c|p{7cm}|}
5677 \hline
5678 {\bf type} & {\bf name} & {\bf description} \\ \hline
5679 {\tt network ref } & self & reference to the object \\ \hline
5681 \end{tabular}
5683 \vspace{0.3cm}
5685 \noindent {\bf Return Type:}
5686 {\tt
5687 network record
5691 all fields from the object
5692 \vspace{0.3cm}
5693 \vspace{0.3cm}
5694 \vspace{0.3cm}
5695 \subsubsection{RPC name:~get\_by\_name\_label}
5697 {\bf Overview:}
5698 Get all the network instances with the given label.
5700 \noindent {\bf Signature:}
5701 \begin{verbatim} ((network ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
5704 \noindent{\bf Arguments:}
5707 \vspace{0.3cm}
5708 \begin{tabular}{|c|c|p{7cm}|}
5709 \hline
5710 {\bf type} & {\bf name} & {\bf description} \\ \hline
5711 {\tt string } & label & label of object to return \\ \hline
5713 \end{tabular}
5715 \vspace{0.3cm}
5717 \noindent {\bf Return Type:}
5718 {\tt
5719 (network ref) Set
5723 references to objects with match names
5724 \vspace{0.3cm}
5725 \vspace{0.3cm}
5726 \vspace{0.3cm}
5728 \vspace{1cm}
5729 \newpage
5730 \section{Class: VIF}
5731 \subsection{Fields for class: VIF}
5732 \begin{longtable}{|lllp{0.38\textwidth}|}
5733 \hline
5734 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VIF} \\
5735 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A virtual network interface}} \\
5736 \hline
5737 Quals & Field & Type & Description \\
5738 \hline
5739 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
5740 $\mathit{RW}$ & {\tt name} & string & human-readable name of the interface \\
5741 $\mathit{RW}$ & {\tt type} & driver\_type & interface type \\
5742 $\mathit{RW}$ & {\tt device} & string & name of network device as exposed to guest e.g. eth0 \\
5743 $\mathit{RW}$ & {\tt network} & network ref & virtual network to which this vif is connected \\
5744 $\mathit{RW}$ & {\tt VM} & VM ref & virtual machine to which this vif is connected \\
5745 $\mathit{RW}$ & {\tt MAC} & string & ethernet MAC address of virtual interface, as exposed to guest \\
5746 $\mathit{RW}$ & {\tt MTU} & int & MTU in octets \\
5747 $\mathit{RO}_\mathit{run}$ & {\tt io/read\_kbs} & float & Read bandwidth (KiB/s) \\
5748 $\mathit{RO}_\mathit{run}$ & {\tt io/write\_kbs} & float & Write bandwidth (KiB/s) \\
5749 \hline
5750 \end{longtable}
5751 \subsection{Additional RPCs associated with class: VIF}
5752 \subsubsection{RPC name:~get\_uuid}
5754 {\bf Overview:}
5755 Get the uuid field of the given VIF.
5757 \noindent {\bf Signature:}
5758 \begin{verbatim} string get_uuid (session_id s, VIF ref self)\end{verbatim}
5761 \noindent{\bf Arguments:}
5764 \vspace{0.3cm}
5765 \begin{tabular}{|c|c|p{7cm}|}
5766 \hline
5767 {\bf type} & {\bf name} & {\bf description} \\ \hline
5768 {\tt VIF ref } & self & reference to the object \\ \hline
5770 \end{tabular}
5772 \vspace{0.3cm}
5774 \noindent {\bf Return Type:}
5775 {\tt
5776 string
5780 value of the field
5781 \vspace{0.3cm}
5782 \vspace{0.3cm}
5783 \vspace{0.3cm}
5784 \subsubsection{RPC name:~get\_name}
5786 {\bf Overview:}
5787 Get the name field of the given VIF.
5789 \noindent {\bf Signature:}
5790 \begin{verbatim} string get_name (session_id s, VIF ref self)\end{verbatim}
5793 \noindent{\bf Arguments:}
5796 \vspace{0.3cm}
5797 \begin{tabular}{|c|c|p{7cm}|}
5798 \hline
5799 {\bf type} & {\bf name} & {\bf description} \\ \hline
5800 {\tt VIF ref } & self & reference to the object \\ \hline
5802 \end{tabular}
5804 \vspace{0.3cm}
5806 \noindent {\bf Return Type:}
5807 {\tt
5808 string
5812 value of the field
5813 \vspace{0.3cm}
5814 \vspace{0.3cm}
5815 \vspace{0.3cm}
5816 \subsubsection{RPC name:~set\_name}
5818 {\bf Overview:}
5819 Set the name field of the given VIF.
5821 \noindent {\bf Signature:}
5822 \begin{verbatim} void set_name (session_id s, VIF ref self, string value)\end{verbatim}
5825 \noindent{\bf Arguments:}
5828 \vspace{0.3cm}
5829 \begin{tabular}{|c|c|p{7cm}|}
5830 \hline
5831 {\bf type} & {\bf name} & {\bf description} \\ \hline
5832 {\tt VIF ref } & self & reference to the object \\ \hline
5834 {\tt string } & value & New value to set \\ \hline
5836 \end{tabular}
5838 \vspace{0.3cm}
5840 \noindent {\bf Return Type:}
5841 {\tt
5842 void
5847 \vspace{0.3cm}
5848 \vspace{0.3cm}
5849 \vspace{0.3cm}
5850 \subsubsection{RPC name:~get\_type}
5852 {\bf Overview:}
5853 Get the type field of the given VIF.
5855 \noindent {\bf Signature:}
5856 \begin{verbatim} (driver_type) get_type (session_id s, VIF ref self)\end{verbatim}
5859 \noindent{\bf Arguments:}
5862 \vspace{0.3cm}
5863 \begin{tabular}{|c|c|p{7cm}|}
5864 \hline
5865 {\bf type} & {\bf name} & {\bf description} \\ \hline
5866 {\tt VIF ref } & self & reference to the object \\ \hline
5868 \end{tabular}
5870 \vspace{0.3cm}
5872 \noindent {\bf Return Type:}
5873 {\tt
5874 driver\_type
5878 value of the field
5879 \vspace{0.3cm}
5880 \vspace{0.3cm}
5881 \vspace{0.3cm}
5882 \subsubsection{RPC name:~set\_type}
5884 {\bf Overview:}
5885 Set the type field of the given VIF.
5887 \noindent {\bf Signature:}
5888 \begin{verbatim} void set_type (session_id s, VIF ref self, driver_type value)\end{verbatim}
5891 \noindent{\bf Arguments:}
5894 \vspace{0.3cm}
5895 \begin{tabular}{|c|c|p{7cm}|}
5896 \hline
5897 {\bf type} & {\bf name} & {\bf description} \\ \hline
5898 {\tt VIF ref } & self & reference to the object \\ \hline
5900 {\tt driver\_type } & value & New value to set \\ \hline
5902 \end{tabular}
5904 \vspace{0.3cm}
5906 \noindent {\bf Return Type:}
5907 {\tt
5908 void
5913 \vspace{0.3cm}
5914 \vspace{0.3cm}
5915 \vspace{0.3cm}
5916 \subsubsection{RPC name:~get\_device}
5918 {\bf Overview:}
5919 Get the device field of the given VIF.
5921 \noindent {\bf Signature:}
5922 \begin{verbatim} string get_device (session_id s, VIF ref self)\end{verbatim}
5925 \noindent{\bf Arguments:}
5928 \vspace{0.3cm}
5929 \begin{tabular}{|c|c|p{7cm}|}
5930 \hline
5931 {\bf type} & {\bf name} & {\bf description} \\ \hline
5932 {\tt VIF ref } & self & reference to the object \\ \hline
5934 \end{tabular}
5936 \vspace{0.3cm}
5938 \noindent {\bf Return Type:}
5939 {\tt
5940 string
5944 value of the field
5945 \vspace{0.3cm}
5946 \vspace{0.3cm}
5947 \vspace{0.3cm}
5948 \subsubsection{RPC name:~set\_device}
5950 {\bf Overview:}
5951 Set the device field of the given VIF.
5953 \noindent {\bf Signature:}
5954 \begin{verbatim} void set_device (session_id s, VIF ref self, string value)\end{verbatim}
5957 \noindent{\bf Arguments:}
5960 \vspace{0.3cm}
5961 \begin{tabular}{|c|c|p{7cm}|}
5962 \hline
5963 {\bf type} & {\bf name} & {\bf description} \\ \hline
5964 {\tt VIF ref } & self & reference to the object \\ \hline
5966 {\tt string } & value & New value to set \\ \hline
5968 \end{tabular}
5970 \vspace{0.3cm}
5972 \noindent {\bf Return Type:}
5973 {\tt
5974 void
5979 \vspace{0.3cm}
5980 \vspace{0.3cm}
5981 \vspace{0.3cm}
5982 \subsubsection{RPC name:~get\_network}
5984 {\bf Overview:}
5985 Get the network field of the given VIF.
5987 \noindent {\bf Signature:}
5988 \begin{verbatim} (network ref) get_network (session_id s, VIF ref self)\end{verbatim}
5991 \noindent{\bf Arguments:}
5994 \vspace{0.3cm}
5995 \begin{tabular}{|c|c|p{7cm}|}
5996 \hline
5997 {\bf type} & {\bf name} & {\bf description} \\ \hline
5998 {\tt VIF ref } & self & reference to the object \\ \hline
6000 \end{tabular}
6002 \vspace{0.3cm}
6004 \noindent {\bf Return Type:}
6005 {\tt
6006 network ref
6010 value of the field
6011 \vspace{0.3cm}
6012 \vspace{0.3cm}
6013 \vspace{0.3cm}
6014 \subsubsection{RPC name:~set\_network}
6016 {\bf Overview:}
6017 Set the network field of the given VIF.
6019 \noindent {\bf Signature:}
6020 \begin{verbatim} void set_network (session_id s, VIF ref self, network ref value)\end{verbatim}
6023 \noindent{\bf Arguments:}
6026 \vspace{0.3cm}
6027 \begin{tabular}{|c|c|p{7cm}|}
6028 \hline
6029 {\bf type} & {\bf name} & {\bf description} \\ \hline
6030 {\tt VIF ref } & self & reference to the object \\ \hline
6032 {\tt network ref } & value & New value to set \\ \hline
6034 \end{tabular}
6036 \vspace{0.3cm}
6038 \noindent {\bf Return Type:}
6039 {\tt
6040 void
6045 \vspace{0.3cm}
6046 \vspace{0.3cm}
6047 \vspace{0.3cm}
6048 \subsubsection{RPC name:~get\_VM}
6050 {\bf Overview:}
6051 Get the VM field of the given VIF.
6053 \noindent {\bf Signature:}
6054 \begin{verbatim} (VM ref) get_VM (session_id s, VIF ref self)\end{verbatim}
6057 \noindent{\bf Arguments:}
6060 \vspace{0.3cm}
6061 \begin{tabular}{|c|c|p{7cm}|}
6062 \hline
6063 {\bf type} & {\bf name} & {\bf description} \\ \hline
6064 {\tt VIF ref } & self & reference to the object \\ \hline
6066 \end{tabular}
6068 \vspace{0.3cm}
6070 \noindent {\bf Return Type:}
6071 {\tt
6072 VM ref
6076 value of the field
6077 \vspace{0.3cm}
6078 \vspace{0.3cm}
6079 \vspace{0.3cm}
6080 \subsubsection{RPC name:~set\_VM}
6082 {\bf Overview:}
6083 Set the VM field of the given VIF.
6085 \noindent {\bf Signature:}
6086 \begin{verbatim} void set_VM (session_id s, VIF ref self, VM ref value)\end{verbatim}
6089 \noindent{\bf Arguments:}
6092 \vspace{0.3cm}
6093 \begin{tabular}{|c|c|p{7cm}|}
6094 \hline
6095 {\bf type} & {\bf name} & {\bf description} \\ \hline
6096 {\tt VIF ref } & self & reference to the object \\ \hline
6098 {\tt VM ref } & value & New value to set \\ \hline
6100 \end{tabular}
6102 \vspace{0.3cm}
6104 \noindent {\bf Return Type:}
6105 {\tt
6106 void
6111 \vspace{0.3cm}
6112 \vspace{0.3cm}
6113 \vspace{0.3cm}
6114 \subsubsection{RPC name:~get\_MAC}
6116 {\bf Overview:}
6117 Get the MAC field of the given VIF.
6119 \noindent {\bf Signature:}
6120 \begin{verbatim} string get_MAC (session_id s, VIF ref self)\end{verbatim}
6123 \noindent{\bf Arguments:}
6126 \vspace{0.3cm}
6127 \begin{tabular}{|c|c|p{7cm}|}
6128 \hline
6129 {\bf type} & {\bf name} & {\bf description} \\ \hline
6130 {\tt VIF ref } & self & reference to the object \\ \hline
6132 \end{tabular}
6134 \vspace{0.3cm}
6136 \noindent {\bf Return Type:}
6137 {\tt
6138 string
6142 value of the field
6143 \vspace{0.3cm}
6144 \vspace{0.3cm}
6145 \vspace{0.3cm}
6146 \subsubsection{RPC name:~set\_MAC}
6148 {\bf Overview:}
6149 Set the MAC field of the given VIF.
6151 \noindent {\bf Signature:}
6152 \begin{verbatim} void set_MAC (session_id s, VIF ref self, string value)\end{verbatim}
6155 \noindent{\bf Arguments:}
6158 \vspace{0.3cm}
6159 \begin{tabular}{|c|c|p{7cm}|}
6160 \hline
6161 {\bf type} & {\bf name} & {\bf description} \\ \hline
6162 {\tt VIF ref } & self & reference to the object \\ \hline
6164 {\tt string } & value & New value to set \\ \hline
6166 \end{tabular}
6168 \vspace{0.3cm}
6170 \noindent {\bf Return Type:}
6171 {\tt
6172 void
6177 \vspace{0.3cm}
6178 \vspace{0.3cm}
6179 \vspace{0.3cm}
6180 \subsubsection{RPC name:~get\_MTU}
6182 {\bf Overview:}
6183 Get the MTU field of the given VIF.
6185 \noindent {\bf Signature:}
6186 \begin{verbatim} int get_MTU (session_id s, VIF ref self)\end{verbatim}
6189 \noindent{\bf Arguments:}
6192 \vspace{0.3cm}
6193 \begin{tabular}{|c|c|p{7cm}|}
6194 \hline
6195 {\bf type} & {\bf name} & {\bf description} \\ \hline
6196 {\tt VIF ref } & self & reference to the object \\ \hline
6198 \end{tabular}
6200 \vspace{0.3cm}
6202 \noindent {\bf Return Type:}
6203 {\tt
6204 int
6208 value of the field
6209 \vspace{0.3cm}
6210 \vspace{0.3cm}
6211 \vspace{0.3cm}
6212 \subsubsection{RPC name:~set\_MTU}
6214 {\bf Overview:}
6215 Set the MTU field of the given VIF.
6217 \noindent {\bf Signature:}
6218 \begin{verbatim} void set_MTU (session_id s, VIF ref self, int value)\end{verbatim}
6221 \noindent{\bf Arguments:}
6224 \vspace{0.3cm}
6225 \begin{tabular}{|c|c|p{7cm}|}
6226 \hline
6227 {\bf type} & {\bf name} & {\bf description} \\ \hline
6228 {\tt VIF ref } & self & reference to the object \\ \hline
6230 {\tt int } & value & New value to set \\ \hline
6232 \end{tabular}
6234 \vspace{0.3cm}
6236 \noindent {\bf Return Type:}
6237 {\tt
6238 void
6243 \vspace{0.3cm}
6244 \vspace{0.3cm}
6245 \vspace{0.3cm}
6246 \subsubsection{RPC name:~get\_io\_read\_kbs}
6248 {\bf Overview:}
6249 Get the io/read\_kbs field of the given VIF.
6251 \noindent {\bf Signature:}
6252 \begin{verbatim} float get_io_read_kbs (session_id s, VIF ref self)\end{verbatim}
6255 \noindent{\bf Arguments:}
6258 \vspace{0.3cm}
6259 \begin{tabular}{|c|c|p{7cm}|}
6260 \hline
6261 {\bf type} & {\bf name} & {\bf description} \\ \hline
6262 {\tt VIF ref } & self & reference to the object \\ \hline
6264 \end{tabular}
6266 \vspace{0.3cm}
6268 \noindent {\bf Return Type:}
6269 {\tt
6270 float
6274 value of the field
6275 \vspace{0.3cm}
6276 \vspace{0.3cm}
6277 \vspace{0.3cm}
6278 \subsubsection{RPC name:~get\_io\_write\_kbs}
6280 {\bf Overview:}
6281 Get the io/write\_kbs field of the given VIF.
6283 \noindent {\bf Signature:}
6284 \begin{verbatim} float get_io_write_kbs (session_id s, VIF ref self)\end{verbatim}
6287 \noindent{\bf Arguments:}
6290 \vspace{0.3cm}
6291 \begin{tabular}{|c|c|p{7cm}|}
6292 \hline
6293 {\bf type} & {\bf name} & {\bf description} \\ \hline
6294 {\tt VIF ref } & self & reference to the object \\ \hline
6296 \end{tabular}
6298 \vspace{0.3cm}
6300 \noindent {\bf Return Type:}
6301 {\tt
6302 float
6306 value of the field
6307 \vspace{0.3cm}
6308 \vspace{0.3cm}
6309 \vspace{0.3cm}
6310 \subsubsection{RPC name:~create}
6312 {\bf Overview:}
6313 Create a new VIF instance, and return its handle.
6315 \noindent {\bf Signature:}
6316 \begin{verbatim} (VIF ref) create (session_id s, VIF record args)\end{verbatim}
6319 \noindent{\bf Arguments:}
6322 \vspace{0.3cm}
6323 \begin{tabular}{|c|c|p{7cm}|}
6324 \hline
6325 {\bf type} & {\bf name} & {\bf description} \\ \hline
6326 {\tt VIF record } & args & All constructor arguments \\ \hline
6328 \end{tabular}
6330 \vspace{0.3cm}
6332 \noindent {\bf Return Type:}
6333 {\tt
6334 VIF ref
6338 reference to the newly created object
6339 \vspace{0.3cm}
6340 \vspace{0.3cm}
6341 \vspace{0.3cm}
6342 \subsubsection{RPC name:~destroy}
6344 {\bf Overview:}
6345 Destroy the specified VIF instance.
6347 \noindent {\bf Signature:}
6348 \begin{verbatim} void destroy (session_id s, VIF ref self)\end{verbatim}
6351 \noindent{\bf Arguments:}
6354 \vspace{0.3cm}
6355 \begin{tabular}{|c|c|p{7cm}|}
6356 \hline
6357 {\bf type} & {\bf name} & {\bf description} \\ \hline
6358 {\tt VIF ref } & self & reference to the object \\ \hline
6360 \end{tabular}
6362 \vspace{0.3cm}
6364 \noindent {\bf Return Type:}
6365 {\tt
6366 void
6371 \vspace{0.3cm}
6372 \vspace{0.3cm}
6373 \vspace{0.3cm}
6374 \subsubsection{RPC name:~get\_by\_uuid}
6376 {\bf Overview:}
6377 Get a reference to the VIF instance with the specified UUID.
6379 \noindent {\bf Signature:}
6380 \begin{verbatim} (VIF ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
6383 \noindent{\bf Arguments:}
6386 \vspace{0.3cm}
6387 \begin{tabular}{|c|c|p{7cm}|}
6388 \hline
6389 {\bf type} & {\bf name} & {\bf description} \\ \hline
6390 {\tt string } & uuid & UUID of object to return \\ \hline
6392 \end{tabular}
6394 \vspace{0.3cm}
6396 \noindent {\bf Return Type:}
6397 {\tt
6398 VIF ref
6402 reference to the object
6403 \vspace{0.3cm}
6404 \vspace{0.3cm}
6405 \vspace{0.3cm}
6406 \subsubsection{RPC name:~get\_record}
6408 {\bf Overview:}
6409 Get a record containing the current state of the given VIF.
6411 \noindent {\bf Signature:}
6412 \begin{verbatim} (VIF record) get_record (session_id s, VIF 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 VIF ref } & self & reference to the object \\ \hline
6424 \end{tabular}
6426 \vspace{0.3cm}
6428 \noindent {\bf Return Type:}
6429 {\tt
6430 VIF record
6434 all fields from the object
6435 \vspace{0.3cm}
6436 \vspace{0.3cm}
6437 \vspace{0.3cm}
6439 \vspace{1cm}
6440 \newpage
6441 \section{Class: PIF}
6442 \subsection{Fields for class: PIF}
6443 \begin{longtable}{|lllp{0.38\textwidth}|}
6444 \hline
6445 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf PIF} \\
6446 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A physical network interface (note separate VLANs are represented as several PIFs)}} \\
6447 \hline
6448 Quals & Field & Type & Description \\
6449 \hline
6450 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
6451 $\mathit{RW}$ & {\tt name} & string & human-readable name of the interface \\
6452 $\mathit{RW}$ & {\tt network} & network ref & virtual network to which this pif is connected \\
6453 $\mathit{RW}$ & {\tt host} & host ref & physical machine to which this pif is connected \\
6454 $\mathit{RW}$ & {\tt MAC} & string & ethernet MAC address of physical interface \\
6455 $\mathit{RW}$ & {\tt MTU} & int & MTU in octets \\
6456 $\mathit{RW}$ & {\tt VLAN} & string & VLAN tag for all traffic passing through this interface \\
6457 $\mathit{RO}_\mathit{run}$ & {\tt io/read\_kbs} & float & Read bandwidth (KiB/s) \\
6458 $\mathit{RO}_\mathit{run}$ & {\tt io/write\_kbs} & float & Write bandwidth (KiB/s) \\
6459 \hline
6460 \end{longtable}
6461 \subsection{Additional RPCs associated with class: PIF}
6462 \subsubsection{RPC name:~get\_uuid}
6464 {\bf Overview:}
6465 Get the uuid field of the given PIF.
6467 \noindent {\bf Signature:}
6468 \begin{verbatim} string get_uuid (session_id s, PIF ref self)\end{verbatim}
6471 \noindent{\bf Arguments:}
6474 \vspace{0.3cm}
6475 \begin{tabular}{|c|c|p{7cm}|}
6476 \hline
6477 {\bf type} & {\bf name} & {\bf description} \\ \hline
6478 {\tt PIF ref } & self & reference to the object \\ \hline
6480 \end{tabular}
6482 \vspace{0.3cm}
6484 \noindent {\bf Return Type:}
6485 {\tt
6486 string
6490 value of the field
6491 \vspace{0.3cm}
6492 \vspace{0.3cm}
6493 \vspace{0.3cm}
6494 \subsubsection{RPC name:~get\_name}
6496 {\bf Overview:}
6497 Get the name field of the given PIF.
6499 \noindent {\bf Signature:}
6500 \begin{verbatim} string get_name (session_id s, PIF ref self)\end{verbatim}
6503 \noindent{\bf Arguments:}
6506 \vspace{0.3cm}
6507 \begin{tabular}{|c|c|p{7cm}|}
6508 \hline
6509 {\bf type} & {\bf name} & {\bf description} \\ \hline
6510 {\tt PIF ref } & self & reference to the object \\ \hline
6512 \end{tabular}
6514 \vspace{0.3cm}
6516 \noindent {\bf Return Type:}
6517 {\tt
6518 string
6522 value of the field
6523 \vspace{0.3cm}
6524 \vspace{0.3cm}
6525 \vspace{0.3cm}
6526 \subsubsection{RPC name:~set\_name}
6528 {\bf Overview:}
6529 Set the name field of the given PIF.
6531 \noindent {\bf Signature:}
6532 \begin{verbatim} void set_name (session_id s, PIF ref self, string value)\end{verbatim}
6535 \noindent{\bf Arguments:}
6538 \vspace{0.3cm}
6539 \begin{tabular}{|c|c|p{7cm}|}
6540 \hline
6541 {\bf type} & {\bf name} & {\bf description} \\ \hline
6542 {\tt PIF ref } & self & reference to the object \\ \hline
6544 {\tt string } & value & New value to set \\ \hline
6546 \end{tabular}
6548 \vspace{0.3cm}
6550 \noindent {\bf Return Type:}
6551 {\tt
6552 void
6557 \vspace{0.3cm}
6558 \vspace{0.3cm}
6559 \vspace{0.3cm}
6560 \subsubsection{RPC name:~get\_network}
6562 {\bf Overview:}
6563 Get the network field of the given PIF.
6565 \noindent {\bf Signature:}
6566 \begin{verbatim} (network ref) get_network (session_id s, PIF ref self)\end{verbatim}
6569 \noindent{\bf Arguments:}
6572 \vspace{0.3cm}
6573 \begin{tabular}{|c|c|p{7cm}|}
6574 \hline
6575 {\bf type} & {\bf name} & {\bf description} \\ \hline
6576 {\tt PIF ref } & self & reference to the object \\ \hline
6578 \end{tabular}
6580 \vspace{0.3cm}
6582 \noindent {\bf Return Type:}
6583 {\tt
6584 network ref
6588 value of the field
6589 \vspace{0.3cm}
6590 \vspace{0.3cm}
6591 \vspace{0.3cm}
6592 \subsubsection{RPC name:~set\_network}
6594 {\bf Overview:}
6595 Set the network field of the given PIF.
6597 \noindent {\bf Signature:}
6598 \begin{verbatim} void set_network (session_id s, PIF ref self, network ref value)\end{verbatim}
6601 \noindent{\bf Arguments:}
6604 \vspace{0.3cm}
6605 \begin{tabular}{|c|c|p{7cm}|}
6606 \hline
6607 {\bf type} & {\bf name} & {\bf description} \\ \hline
6608 {\tt PIF ref } & self & reference to the object \\ \hline
6610 {\tt network ref } & value & New value to set \\ \hline
6612 \end{tabular}
6614 \vspace{0.3cm}
6616 \noindent {\bf Return Type:}
6617 {\tt
6618 void
6623 \vspace{0.3cm}
6624 \vspace{0.3cm}
6625 \vspace{0.3cm}
6626 \subsubsection{RPC name:~get\_host}
6628 {\bf Overview:}
6629 Get the host field of the given PIF.
6631 \noindent {\bf Signature:}
6632 \begin{verbatim} (host ref) get_host (session_id s, PIF ref self)\end{verbatim}
6635 \noindent{\bf Arguments:}
6638 \vspace{0.3cm}
6639 \begin{tabular}{|c|c|p{7cm}|}
6640 \hline
6641 {\bf type} & {\bf name} & {\bf description} \\ \hline
6642 {\tt PIF ref } & self & reference to the object \\ \hline
6644 \end{tabular}
6646 \vspace{0.3cm}
6648 \noindent {\bf Return Type:}
6649 {\tt
6650 host ref
6654 value of the field
6655 \vspace{0.3cm}
6656 \vspace{0.3cm}
6657 \vspace{0.3cm}
6658 \subsubsection{RPC name:~set\_host}
6660 {\bf Overview:}
6661 Set the host field of the given PIF.
6663 \noindent {\bf Signature:}
6664 \begin{verbatim} void set_host (session_id s, PIF ref self, host ref value)\end{verbatim}
6667 \noindent{\bf Arguments:}
6670 \vspace{0.3cm}
6671 \begin{tabular}{|c|c|p{7cm}|}
6672 \hline
6673 {\bf type} & {\bf name} & {\bf description} \\ \hline
6674 {\tt PIF ref } & self & reference to the object \\ \hline
6676 {\tt host ref } & value & New value to set \\ \hline
6678 \end{tabular}
6680 \vspace{0.3cm}
6682 \noindent {\bf Return Type:}
6683 {\tt
6684 void
6689 \vspace{0.3cm}
6690 \vspace{0.3cm}
6691 \vspace{0.3cm}
6692 \subsubsection{RPC name:~get\_MAC}
6694 {\bf Overview:}
6695 Get the MAC field of the given PIF.
6697 \noindent {\bf Signature:}
6698 \begin{verbatim} string get_MAC (session_id s, PIF ref self)\end{verbatim}
6701 \noindent{\bf Arguments:}
6704 \vspace{0.3cm}
6705 \begin{tabular}{|c|c|p{7cm}|}
6706 \hline
6707 {\bf type} & {\bf name} & {\bf description} \\ \hline
6708 {\tt PIF ref } & self & reference to the object \\ \hline
6710 \end{tabular}
6712 \vspace{0.3cm}
6714 \noindent {\bf Return Type:}
6715 {\tt
6716 string
6720 value of the field
6721 \vspace{0.3cm}
6722 \vspace{0.3cm}
6723 \vspace{0.3cm}
6724 \subsubsection{RPC name:~set\_MAC}
6726 {\bf Overview:}
6727 Set the MAC field of the given PIF.
6729 \noindent {\bf Signature:}
6730 \begin{verbatim} void set_MAC (session_id s, PIF ref self, string value)\end{verbatim}
6733 \noindent{\bf Arguments:}
6736 \vspace{0.3cm}
6737 \begin{tabular}{|c|c|p{7cm}|}
6738 \hline
6739 {\bf type} & {\bf name} & {\bf description} \\ \hline
6740 {\tt PIF ref } & self & reference to the object \\ \hline
6742 {\tt string } & value & New value to set \\ \hline
6744 \end{tabular}
6746 \vspace{0.3cm}
6748 \noindent {\bf Return Type:}
6749 {\tt
6750 void
6755 \vspace{0.3cm}
6756 \vspace{0.3cm}
6757 \vspace{0.3cm}
6758 \subsubsection{RPC name:~get\_MTU}
6760 {\bf Overview:}
6761 Get the MTU field of the given PIF.
6763 \noindent {\bf Signature:}
6764 \begin{verbatim} int get_MTU (session_id s, PIF ref self)\end{verbatim}
6767 \noindent{\bf Arguments:}
6770 \vspace{0.3cm}
6771 \begin{tabular}{|c|c|p{7cm}|}
6772 \hline
6773 {\bf type} & {\bf name} & {\bf description} \\ \hline
6774 {\tt PIF ref } & self & reference to the object \\ \hline
6776 \end{tabular}
6778 \vspace{0.3cm}
6780 \noindent {\bf Return Type:}
6781 {\tt
6782 int
6786 value of the field
6787 \vspace{0.3cm}
6788 \vspace{0.3cm}
6789 \vspace{0.3cm}
6790 \subsubsection{RPC name:~set\_MTU}
6792 {\bf Overview:}
6793 Set the MTU field of the given PIF.
6795 \noindent {\bf Signature:}
6796 \begin{verbatim} void set_MTU (session_id s, PIF ref self, int value)\end{verbatim}
6799 \noindent{\bf Arguments:}
6802 \vspace{0.3cm}
6803 \begin{tabular}{|c|c|p{7cm}|}
6804 \hline
6805 {\bf type} & {\bf name} & {\bf description} \\ \hline
6806 {\tt PIF ref } & self & reference to the object \\ \hline
6808 {\tt int } & value & New value to set \\ \hline
6810 \end{tabular}
6812 \vspace{0.3cm}
6814 \noindent {\bf Return Type:}
6815 {\tt
6816 void
6821 \vspace{0.3cm}
6822 \vspace{0.3cm}
6823 \vspace{0.3cm}
6824 \subsubsection{RPC name:~get\_VLAN}
6826 {\bf Overview:}
6827 Get the VLAN field of the given PIF.
6829 \noindent {\bf Signature:}
6830 \begin{verbatim} string get_VLAN (session_id s, PIF ref self)\end{verbatim}
6833 \noindent{\bf Arguments:}
6836 \vspace{0.3cm}
6837 \begin{tabular}{|c|c|p{7cm}|}
6838 \hline
6839 {\bf type} & {\bf name} & {\bf description} \\ \hline
6840 {\tt PIF ref } & self & reference to the object \\ \hline
6842 \end{tabular}
6844 \vspace{0.3cm}
6846 \noindent {\bf Return Type:}
6847 {\tt
6848 string
6852 value of the field
6853 \vspace{0.3cm}
6854 \vspace{0.3cm}
6855 \vspace{0.3cm}
6856 \subsubsection{RPC name:~set\_VLAN}
6858 {\bf Overview:}
6859 Set the VLAN field of the given PIF.
6861 \noindent {\bf Signature:}
6862 \begin{verbatim} void set_VLAN (session_id s, PIF ref self, string value)\end{verbatim}
6865 \noindent{\bf Arguments:}
6868 \vspace{0.3cm}
6869 \begin{tabular}{|c|c|p{7cm}|}
6870 \hline
6871 {\bf type} & {\bf name} & {\bf description} \\ \hline
6872 {\tt PIF ref } & self & reference to the object \\ \hline
6874 {\tt string } & value & New value to set \\ \hline
6876 \end{tabular}
6878 \vspace{0.3cm}
6880 \noindent {\bf Return Type:}
6881 {\tt
6882 void
6887 \vspace{0.3cm}
6888 \vspace{0.3cm}
6889 \vspace{0.3cm}
6890 \subsubsection{RPC name:~get\_io\_read\_kbs}
6892 {\bf Overview:}
6893 Get the io/read\_kbs field of the given PIF.
6895 \noindent {\bf Signature:}
6896 \begin{verbatim} float get_io_read_kbs (session_id s, PIF ref self)\end{verbatim}
6899 \noindent{\bf Arguments:}
6902 \vspace{0.3cm}
6903 \begin{tabular}{|c|c|p{7cm}|}
6904 \hline
6905 {\bf type} & {\bf name} & {\bf description} \\ \hline
6906 {\tt PIF ref } & self & reference to the object \\ \hline
6908 \end{tabular}
6910 \vspace{0.3cm}
6912 \noindent {\bf Return Type:}
6913 {\tt
6914 float
6918 value of the field
6919 \vspace{0.3cm}
6920 \vspace{0.3cm}
6921 \vspace{0.3cm}
6922 \subsubsection{RPC name:~get\_io\_write\_kbs}
6924 {\bf Overview:}
6925 Get the io/write\_kbs field of the given PIF.
6927 \noindent {\bf Signature:}
6928 \begin{verbatim} float get_io_write_kbs (session_id s, PIF ref self)\end{verbatim}
6931 \noindent{\bf Arguments:}
6934 \vspace{0.3cm}
6935 \begin{tabular}{|c|c|p{7cm}|}
6936 \hline
6937 {\bf type} & {\bf name} & {\bf description} \\ \hline
6938 {\tt PIF ref } & self & reference to the object \\ \hline
6940 \end{tabular}
6942 \vspace{0.3cm}
6944 \noindent {\bf Return Type:}
6945 {\tt
6946 float
6950 value of the field
6951 \vspace{0.3cm}
6952 \vspace{0.3cm}
6953 \vspace{0.3cm}
6954 \subsubsection{RPC name:~create}
6956 {\bf Overview:}
6957 Create a new PIF instance, and return its handle.
6959 \noindent {\bf Signature:}
6960 \begin{verbatim} (PIF ref) create (session_id s, PIF record args)\end{verbatim}
6963 \noindent{\bf Arguments:}
6966 \vspace{0.3cm}
6967 \begin{tabular}{|c|c|p{7cm}|}
6968 \hline
6969 {\bf type} & {\bf name} & {\bf description} \\ \hline
6970 {\tt PIF record } & args & All constructor arguments \\ \hline
6972 \end{tabular}
6974 \vspace{0.3cm}
6976 \noindent {\bf Return Type:}
6977 {\tt
6978 PIF ref
6982 reference to the newly created object
6983 \vspace{0.3cm}
6984 \vspace{0.3cm}
6985 \vspace{0.3cm}
6986 \subsubsection{RPC name:~destroy}
6988 {\bf Overview:}
6989 Destroy the specified PIF instance.
6991 \noindent {\bf Signature:}
6992 \begin{verbatim} void destroy (session_id s, PIF ref self)\end{verbatim}
6995 \noindent{\bf Arguments:}
6998 \vspace{0.3cm}
6999 \begin{tabular}{|c|c|p{7cm}|}
7000 \hline
7001 {\bf type} & {\bf name} & {\bf description} \\ \hline
7002 {\tt PIF ref } & self & reference to the object \\ \hline
7004 \end{tabular}
7006 \vspace{0.3cm}
7008 \noindent {\bf Return Type:}
7009 {\tt
7010 void
7015 \vspace{0.3cm}
7016 \vspace{0.3cm}
7017 \vspace{0.3cm}
7018 \subsubsection{RPC name:~get\_by\_uuid}
7020 {\bf Overview:}
7021 Get a reference to the PIF instance with the specified UUID.
7023 \noindent {\bf Signature:}
7024 \begin{verbatim} (PIF ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
7027 \noindent{\bf Arguments:}
7030 \vspace{0.3cm}
7031 \begin{tabular}{|c|c|p{7cm}|}
7032 \hline
7033 {\bf type} & {\bf name} & {\bf description} \\ \hline
7034 {\tt string } & uuid & UUID of object to return \\ \hline
7036 \end{tabular}
7038 \vspace{0.3cm}
7040 \noindent {\bf Return Type:}
7041 {\tt
7042 PIF ref
7046 reference to the object
7047 \vspace{0.3cm}
7048 \vspace{0.3cm}
7049 \vspace{0.3cm}
7050 \subsubsection{RPC name:~get\_record}
7052 {\bf Overview:}
7053 Get a record containing the current state of the given PIF.
7055 \noindent {\bf Signature:}
7056 \begin{verbatim} (PIF record) get_record (session_id s, PIF ref self)\end{verbatim}
7059 \noindent{\bf Arguments:}
7062 \vspace{0.3cm}
7063 \begin{tabular}{|c|c|p{7cm}|}
7064 \hline
7065 {\bf type} & {\bf name} & {\bf description} \\ \hline
7066 {\tt PIF ref } & self & reference to the object \\ \hline
7068 \end{tabular}
7070 \vspace{0.3cm}
7072 \noindent {\bf Return Type:}
7073 {\tt
7074 PIF record
7078 all fields from the object
7079 \vspace{0.3cm}
7080 \vspace{0.3cm}
7081 \vspace{0.3cm}
7083 \vspace{1cm}
7084 \newpage
7085 \section{Class: SR}
7086 \subsection{Fields for class: SR}
7087 \begin{longtable}{|lllp{0.38\textwidth}|}
7088 \hline
7089 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf SR} \\
7090 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A storage repository}} \\
7091 \hline
7092 Quals & Field & Type & Description \\
7093 \hline
7094 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
7095 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
7096 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
7097 $\mathit{RO}_\mathit{run}$ & {\tt VDIs} & (VDI ref) Set & managed virtual disks \\
7098 $\mathit{RO}_\mathit{run}$ & {\tt virtual\_allocation} & int & sum of virtual\_sizes of all VDIs in this storage repository (in bytes) \\
7099 $\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 \\
7100 $\mathit{RO}_\mathit{ins}$ & {\tt physical\_size} & int & total physical size of the repository (in bytes) \\
7101 $\mathit{RO}_\mathit{ins}$ & {\tt type} & string & type of the storage repository \\
7102 $\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 \\
7103 \hline
7104 \end{longtable}
7105 \subsection{Additional RPCs associated with class: SR}
7106 \subsubsection{RPC name:~clone}
7108 {\bf Overview:}
7109 Take an exact copy of the Storage Repository;
7110 the cloned storage repository has the same type as its parent
7112 \noindent {\bf Signature:}
7113 \begin{verbatim} (SR ref) clone (session_id s, SR ref sr, string loc, string name)\end{verbatim}
7116 \noindent{\bf Arguments:}
7119 \vspace{0.3cm}
7120 \begin{tabular}{|c|c|p{7cm}|}
7121 \hline
7122 {\bf type} & {\bf name} & {\bf description} \\ \hline
7123 {\tt SR ref } & sr & The Storage Repository to clone \\ \hline
7125 {\tt string } & loc & The location string that defines where the new storage repository will be located \\ \hline
7127 {\tt string } & name & The name of the new storage repository \\ \hline
7129 \end{tabular}
7131 \vspace{0.3cm}
7133 \noindent {\bf Return Type:}
7134 {\tt
7135 SR ref
7139 The ID of the newly created Storage Repository.
7140 \vspace{0.3cm}
7141 \vspace{0.3cm}
7142 \vspace{0.3cm}
7143 \subsubsection{RPC name:~get\_all}
7145 {\bf Overview:}
7146 Return a list of all the Storage Repositories known to the system
7148 \noindent {\bf Signature:}
7149 \begin{verbatim} ((SR ref) Set) get_all (session_id s)\end{verbatim}
7152 \vspace{0.3cm}
7154 \noindent {\bf Return Type:}
7155 {\tt
7156 (SR ref) Set
7160 A list of all the IDs of all the Storage Repositories
7161 \vspace{0.3cm}
7162 \vspace{0.3cm}
7163 \vspace{0.3cm}
7164 \subsubsection{RPC name:~get\_uuid}
7166 {\bf Overview:}
7167 Get the uuid field of the given SR.
7169 \noindent {\bf Signature:}
7170 \begin{verbatim} string get_uuid (session_id s, SR ref self)\end{verbatim}
7173 \noindent{\bf Arguments:}
7176 \vspace{0.3cm}
7177 \begin{tabular}{|c|c|p{7cm}|}
7178 \hline
7179 {\bf type} & {\bf name} & {\bf description} \\ \hline
7180 {\tt SR ref } & self & reference to the object \\ \hline
7182 \end{tabular}
7184 \vspace{0.3cm}
7186 \noindent {\bf Return Type:}
7187 {\tt
7188 string
7192 value of the field
7193 \vspace{0.3cm}
7194 \vspace{0.3cm}
7195 \vspace{0.3cm}
7196 \subsubsection{RPC name:~get\_name\_label}
7198 {\bf Overview:}
7199 Get the name/label field of the given SR.
7201 \noindent {\bf Signature:}
7202 \begin{verbatim} string get_name_label (session_id s, SR ref self)\end{verbatim}
7205 \noindent{\bf Arguments:}
7208 \vspace{0.3cm}
7209 \begin{tabular}{|c|c|p{7cm}|}
7210 \hline
7211 {\bf type} & {\bf name} & {\bf description} \\ \hline
7212 {\tt SR ref } & self & reference to the object \\ \hline
7214 \end{tabular}
7216 \vspace{0.3cm}
7218 \noindent {\bf Return Type:}
7219 {\tt
7220 string
7224 value of the field
7225 \vspace{0.3cm}
7226 \vspace{0.3cm}
7227 \vspace{0.3cm}
7228 \subsubsection{RPC name:~set\_name\_label}
7230 {\bf Overview:}
7231 Set the name/label field of the given SR.
7233 \noindent {\bf Signature:}
7234 \begin{verbatim} void set_name_label (session_id s, SR ref self, string value)\end{verbatim}
7237 \noindent{\bf Arguments:}
7240 \vspace{0.3cm}
7241 \begin{tabular}{|c|c|p{7cm}|}
7242 \hline
7243 {\bf type} & {\bf name} & {\bf description} \\ \hline
7244 {\tt SR ref } & self & reference to the object \\ \hline
7246 {\tt string } & value & New value to set \\ \hline
7248 \end{tabular}
7250 \vspace{0.3cm}
7252 \noindent {\bf Return Type:}
7253 {\tt
7254 void
7259 \vspace{0.3cm}
7260 \vspace{0.3cm}
7261 \vspace{0.3cm}
7262 \subsubsection{RPC name:~get\_name\_description}
7264 {\bf Overview:}
7265 Get the name/description field of the given SR.
7267 \noindent {\bf Signature:}
7268 \begin{verbatim} string get_name_description (session_id s, SR ref self)\end{verbatim}
7271 \noindent{\bf Arguments:}
7274 \vspace{0.3cm}
7275 \begin{tabular}{|c|c|p{7cm}|}
7276 \hline
7277 {\bf type} & {\bf name} & {\bf description} \\ \hline
7278 {\tt SR ref } & self & reference to the object \\ \hline
7280 \end{tabular}
7282 \vspace{0.3cm}
7284 \noindent {\bf Return Type:}
7285 {\tt
7286 string
7290 value of the field
7291 \vspace{0.3cm}
7292 \vspace{0.3cm}
7293 \vspace{0.3cm}
7294 \subsubsection{RPC name:~set\_name\_description}
7296 {\bf Overview:}
7297 Set the name/description field of the given SR.
7299 \noindent {\bf Signature:}
7300 \begin{verbatim} void set_name_description (session_id s, SR ref self, string value)\end{verbatim}
7303 \noindent{\bf Arguments:}
7306 \vspace{0.3cm}
7307 \begin{tabular}{|c|c|p{7cm}|}
7308 \hline
7309 {\bf type} & {\bf name} & {\bf description} \\ \hline
7310 {\tt SR ref } & self & reference to the object \\ \hline
7312 {\tt string } & value & New value to set \\ \hline
7314 \end{tabular}
7316 \vspace{0.3cm}
7318 \noindent {\bf Return Type:}
7319 {\tt
7320 void
7325 \vspace{0.3cm}
7326 \vspace{0.3cm}
7327 \vspace{0.3cm}
7328 \subsubsection{RPC name:~get\_VDIs}
7330 {\bf Overview:}
7331 Get the VDIs field of the given SR.
7333 \noindent {\bf Signature:}
7334 \begin{verbatim} ((VDI ref) Set) get_VDIs (session_id s, SR ref self)\end{verbatim}
7337 \noindent{\bf Arguments:}
7340 \vspace{0.3cm}
7341 \begin{tabular}{|c|c|p{7cm}|}
7342 \hline
7343 {\bf type} & {\bf name} & {\bf description} \\ \hline
7344 {\tt SR ref } & self & reference to the object \\ \hline
7346 \end{tabular}
7348 \vspace{0.3cm}
7350 \noindent {\bf Return Type:}
7351 {\tt
7352 (VDI ref) Set
7356 value of the field
7357 \vspace{0.3cm}
7358 \vspace{0.3cm}
7359 \vspace{0.3cm}
7360 \subsubsection{RPC name:~get\_virtual\_allocation}
7362 {\bf Overview:}
7363 Get the virtual\_allocation field of the given SR.
7365 \noindent {\bf Signature:}
7366 \begin{verbatim} int get_virtual_allocation (session_id s, SR ref self)\end{verbatim}
7369 \noindent{\bf Arguments:}
7372 \vspace{0.3cm}
7373 \begin{tabular}{|c|c|p{7cm}|}
7374 \hline
7375 {\bf type} & {\bf name} & {\bf description} \\ \hline
7376 {\tt SR ref } & self & reference to the object \\ \hline
7378 \end{tabular}
7380 \vspace{0.3cm}
7382 \noindent {\bf Return Type:}
7383 {\tt
7384 int
7388 value of the field
7389 \vspace{0.3cm}
7390 \vspace{0.3cm}
7391 \vspace{0.3cm}
7392 \subsubsection{RPC name:~get\_physical\_utilisation}
7394 {\bf Overview:}
7395 Get the physical\_utilisation field of the given SR.
7397 \noindent {\bf Signature:}
7398 \begin{verbatim} int get_physical_utilisation (session_id s, SR ref self)\end{verbatim}
7401 \noindent{\bf Arguments:}
7404 \vspace{0.3cm}
7405 \begin{tabular}{|c|c|p{7cm}|}
7406 \hline
7407 {\bf type} & {\bf name} & {\bf description} \\ \hline
7408 {\tt SR ref } & self & reference to the object \\ \hline
7410 \end{tabular}
7412 \vspace{0.3cm}
7414 \noindent {\bf Return Type:}
7415 {\tt
7416 int
7420 value of the field
7421 \vspace{0.3cm}
7422 \vspace{0.3cm}
7423 \vspace{0.3cm}
7424 \subsubsection{RPC name:~get\_physical\_size}
7426 {\bf Overview:}
7427 Get the physical\_size field of the given SR.
7429 \noindent {\bf Signature:}
7430 \begin{verbatim} int get_physical_size (session_id s, SR ref self)\end{verbatim}
7433 \noindent{\bf Arguments:}
7436 \vspace{0.3cm}
7437 \begin{tabular}{|c|c|p{7cm}|}
7438 \hline
7439 {\bf type} & {\bf name} & {\bf description} \\ \hline
7440 {\tt SR ref } & self & reference to the object \\ \hline
7442 \end{tabular}
7444 \vspace{0.3cm}
7446 \noindent {\bf Return Type:}
7447 {\tt
7448 int
7452 value of the field
7453 \vspace{0.3cm}
7454 \vspace{0.3cm}
7455 \vspace{0.3cm}
7456 \subsubsection{RPC name:~get\_type}
7458 {\bf Overview:}
7459 Get the type field of the given SR.
7461 \noindent {\bf Signature:}
7462 \begin{verbatim} string get_type (session_id s, SR ref self)\end{verbatim}
7465 \noindent{\bf Arguments:}
7468 \vspace{0.3cm}
7469 \begin{tabular}{|c|c|p{7cm}|}
7470 \hline
7471 {\bf type} & {\bf name} & {\bf description} \\ \hline
7472 {\tt SR ref } & self & reference to the object \\ \hline
7474 \end{tabular}
7476 \vspace{0.3cm}
7478 \noindent {\bf Return Type:}
7479 {\tt
7480 string
7484 value of the field
7485 \vspace{0.3cm}
7486 \vspace{0.3cm}
7487 \vspace{0.3cm}
7488 \subsubsection{RPC name:~get\_location}
7490 {\bf Overview:}
7491 Get the location field of the given SR.
7493 \noindent {\bf Signature:}
7494 \begin{verbatim} string get_location (session_id s, SR 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 SR ref } & self & reference to the object \\ \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:~create}
7522 {\bf Overview:}
7523 Create a new SR instance, and return its handle.
7525 \noindent {\bf Signature:}
7526 \begin{verbatim} (SR ref) create (session_id s, SR record args)\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 SR record } & args & All constructor arguments \\ \hline
7538 \end{tabular}
7540 \vspace{0.3cm}
7542 \noindent {\bf Return Type:}
7543 {\tt
7544 SR ref
7548 reference to the newly created object
7549 \vspace{0.3cm}
7550 \vspace{0.3cm}
7551 \vspace{0.3cm}
7552 \subsubsection{RPC name:~destroy}
7554 {\bf Overview:}
7555 Destroy the specified SR instance.
7557 \noindent {\bf Signature:}
7558 \begin{verbatim} void destroy (session_id s, SR ref self)\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 SR ref } & self & reference to the object \\ \hline
7570 \end{tabular}
7572 \vspace{0.3cm}
7574 \noindent {\bf Return Type:}
7575 {\tt
7576 void
7581 \vspace{0.3cm}
7582 \vspace{0.3cm}
7583 \vspace{0.3cm}
7584 \subsubsection{RPC name:~get\_by\_uuid}
7586 {\bf Overview:}
7587 Get a reference to the SR instance with the specified UUID.
7589 \noindent {\bf Signature:}
7590 \begin{verbatim} (SR ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
7593 \noindent{\bf Arguments:}
7596 \vspace{0.3cm}
7597 \begin{tabular}{|c|c|p{7cm}|}
7598 \hline
7599 {\bf type} & {\bf name} & {\bf description} \\ \hline
7600 {\tt string } & uuid & UUID of object to return \\ \hline
7602 \end{tabular}
7604 \vspace{0.3cm}
7606 \noindent {\bf Return Type:}
7607 {\tt
7608 SR ref
7612 reference to the object
7613 \vspace{0.3cm}
7614 \vspace{0.3cm}
7615 \vspace{0.3cm}
7616 \subsubsection{RPC name:~get\_record}
7618 {\bf Overview:}
7619 Get a record containing the current state of the given SR.
7621 \noindent {\bf Signature:}
7622 \begin{verbatim} (SR record) get_record (session_id s, SR ref self)\end{verbatim}
7625 \noindent{\bf Arguments:}
7628 \vspace{0.3cm}
7629 \begin{tabular}{|c|c|p{7cm}|}
7630 \hline
7631 {\bf type} & {\bf name} & {\bf description} \\ \hline
7632 {\tt SR ref } & self & reference to the object \\ \hline
7634 \end{tabular}
7636 \vspace{0.3cm}
7638 \noindent {\bf Return Type:}
7639 {\tt
7640 SR record
7644 all fields from the object
7645 \vspace{0.3cm}
7646 \vspace{0.3cm}
7647 \vspace{0.3cm}
7648 \subsubsection{RPC name:~get\_by\_name\_label}
7650 {\bf Overview:}
7651 Get all the SR instances with the given label.
7653 \noindent {\bf Signature:}
7654 \begin{verbatim} ((SR ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
7657 \noindent{\bf Arguments:}
7660 \vspace{0.3cm}
7661 \begin{tabular}{|c|c|p{7cm}|}
7662 \hline
7663 {\bf type} & {\bf name} & {\bf description} \\ \hline
7664 {\tt string } & label & label of object to return \\ \hline
7666 \end{tabular}
7668 \vspace{0.3cm}
7670 \noindent {\bf Return Type:}
7671 {\tt
7672 (SR ref) Set
7676 references to objects with match names
7677 \vspace{0.3cm}
7678 \vspace{0.3cm}
7679 \vspace{0.3cm}
7681 \vspace{1cm}
7682 \newpage
7683 \section{Class: VDI}
7684 \subsection{Fields for class: VDI}
7685 \begin{longtable}{|lllp{0.38\textwidth}|}
7686 \hline
7687 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VDI} \\
7688 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A virtual disk image}} \\
7689 \hline
7690 Quals & Field & Type & Description \\
7691 \hline
7692 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
7693 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
7694 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
7695 $\mathit{RW}$ & {\tt SR} & SR ref & storage repository in which the VDI resides \\
7696 $\mathit{RO}_\mathit{run}$ & {\tt VBDs} & (VBD ref) Set & list of vbds that refer to this disk \\
7697 $\mathit{RW}$ & {\tt virtual\_size} & int & size of disk as presented to the guest (in multiples of sector\_size field) \\
7698 $\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) \\
7699 $\mathit{RO}_\mathit{ins}$ & {\tt sector\_size} & int & sector size of VDI (in bytes) \\
7700 $\mathit{RO}_\mathit{ins}$ & {\tt type} & vdi\_type & type of the VDI \\
7701 $\mathit{RO}_\mathit{ins}$ & {\tt parent} & VDI ref & parent disk (e.g. in the case of copy on write) \\
7702 $\mathit{RO}_\mathit{run}$ & {\tt children} & (VDI ref) Set & child disks (e.g. in the case of copy on write) \\
7703 $\mathit{RW}$ & {\tt sharable} & bool & true if this disk may be shared \\
7704 $\mathit{RW}$ & {\tt read\_only} & bool & true if this disk may ONLY be mounted read-only \\
7705 \hline
7706 \end{longtable}
7707 \subsection{Additional RPCs associated with class: VDI}
7708 \subsubsection{RPC name:~snapshot}
7710 {\bf Overview:}
7711 Take an exact copy of the VDI; the snapshot lives in the same Storage Repository as its parent.
7713 \noindent {\bf Signature:}
7714 \begin{verbatim} (VDI ref) snapshot (session_id s, VDI ref vdi)\end{verbatim}
7717 \noindent{\bf Arguments:}
7720 \vspace{0.3cm}
7721 \begin{tabular}{|c|c|p{7cm}|}
7722 \hline
7723 {\bf type} & {\bf name} & {\bf description} \\ \hline
7724 {\tt VDI ref } & vdi & The VDI to snapshot \\ \hline
7726 \end{tabular}
7728 \vspace{0.3cm}
7730 \noindent {\bf Return Type:}
7731 {\tt
7732 VDI ref
7736 The ID of the newly created VDI.
7737 \vspace{0.3cm}
7738 \vspace{0.3cm}
7739 \vspace{0.3cm}
7740 \subsubsection{RPC name:~resize}
7742 {\bf Overview:}
7743 Resize the vdi to the size.
7745 \noindent {\bf Signature:}
7746 \begin{verbatim} void resize (session_id s, VDI ref vdi, int size)\end{verbatim}
7749 \noindent{\bf Arguments:}
7752 \vspace{0.3cm}
7753 \begin{tabular}{|c|c|p{7cm}|}
7754 \hline
7755 {\bf type} & {\bf name} & {\bf description} \\ \hline
7756 {\tt VDI ref } & vdi & The VDI to resize \\ \hline
7758 {\tt int } & size & The new size of the VDI \\ \hline
7760 \end{tabular}
7762 \vspace{0.3cm}
7764 \noindent {\bf Return Type:}
7765 {\tt
7766 void
7771 \vspace{0.3cm}
7772 \vspace{0.3cm}
7773 \vspace{0.3cm}
7774 \subsubsection{RPC name:~get\_uuid}
7776 {\bf Overview:}
7777 Get the uuid field of the given VDI.
7779 \noindent {\bf Signature:}
7780 \begin{verbatim} string get_uuid (session_id s, VDI ref self)\end{verbatim}
7783 \noindent{\bf Arguments:}
7786 \vspace{0.3cm}
7787 \begin{tabular}{|c|c|p{7cm}|}
7788 \hline
7789 {\bf type} & {\bf name} & {\bf description} \\ \hline
7790 {\tt VDI ref } & self & reference to the object \\ \hline
7792 \end{tabular}
7794 \vspace{0.3cm}
7796 \noindent {\bf Return Type:}
7797 {\tt
7798 string
7802 value of the field
7803 \vspace{0.3cm}
7804 \vspace{0.3cm}
7805 \vspace{0.3cm}
7806 \subsubsection{RPC name:~get\_name\_label}
7808 {\bf Overview:}
7809 Get the name/label field of the given VDI.
7811 \noindent {\bf Signature:}
7812 \begin{verbatim} string get_name_label (session_id s, VDI ref self)\end{verbatim}
7815 \noindent{\bf Arguments:}
7818 \vspace{0.3cm}
7819 \begin{tabular}{|c|c|p{7cm}|}
7820 \hline
7821 {\bf type} & {\bf name} & {\bf description} \\ \hline
7822 {\tt VDI ref } & self & reference to the object \\ \hline
7824 \end{tabular}
7826 \vspace{0.3cm}
7828 \noindent {\bf Return Type:}
7829 {\tt
7830 string
7834 value of the field
7835 \vspace{0.3cm}
7836 \vspace{0.3cm}
7837 \vspace{0.3cm}
7838 \subsubsection{RPC name:~set\_name\_label}
7840 {\bf Overview:}
7841 Set the name/label field of the given VDI.
7843 \noindent {\bf Signature:}
7844 \begin{verbatim} void set_name_label (session_id s, VDI ref self, string value)\end{verbatim}
7847 \noindent{\bf Arguments:}
7850 \vspace{0.3cm}
7851 \begin{tabular}{|c|c|p{7cm}|}
7852 \hline
7853 {\bf type} & {\bf name} & {\bf description} \\ \hline
7854 {\tt VDI ref } & self & reference to the object \\ \hline
7856 {\tt string } & value & New value to set \\ \hline
7858 \end{tabular}
7860 \vspace{0.3cm}
7862 \noindent {\bf Return Type:}
7863 {\tt
7864 void
7869 \vspace{0.3cm}
7870 \vspace{0.3cm}
7871 \vspace{0.3cm}
7872 \subsubsection{RPC name:~get\_name\_description}
7874 {\bf Overview:}
7875 Get the name/description field of the given VDI.
7877 \noindent {\bf Signature:}
7878 \begin{verbatim} string get_name_description (session_id s, VDI ref self)\end{verbatim}
7881 \noindent{\bf Arguments:}
7884 \vspace{0.3cm}
7885 \begin{tabular}{|c|c|p{7cm}|}
7886 \hline
7887 {\bf type} & {\bf name} & {\bf description} \\ \hline
7888 {\tt VDI ref } & self & reference to the object \\ \hline
7890 \end{tabular}
7892 \vspace{0.3cm}
7894 \noindent {\bf Return Type:}
7895 {\tt
7896 string
7900 value of the field
7901 \vspace{0.3cm}
7902 \vspace{0.3cm}
7903 \vspace{0.3cm}
7904 \subsubsection{RPC name:~set\_name\_description}
7906 {\bf Overview:}
7907 Set the name/description field of the given VDI.
7909 \noindent {\bf Signature:}
7910 \begin{verbatim} void set_name_description (session_id s, VDI ref self, string value)\end{verbatim}
7913 \noindent{\bf Arguments:}
7916 \vspace{0.3cm}
7917 \begin{tabular}{|c|c|p{7cm}|}
7918 \hline
7919 {\bf type} & {\bf name} & {\bf description} \\ \hline
7920 {\tt VDI ref } & self & reference to the object \\ \hline
7922 {\tt string } & value & New value to set \\ \hline
7924 \end{tabular}
7926 \vspace{0.3cm}
7928 \noindent {\bf Return Type:}
7929 {\tt
7930 void
7935 \vspace{0.3cm}
7936 \vspace{0.3cm}
7937 \vspace{0.3cm}
7938 \subsubsection{RPC name:~get\_SR}
7940 {\bf Overview:}
7941 Get the SR field of the given VDI.
7943 \noindent {\bf Signature:}
7944 \begin{verbatim} (SR ref) get_SR (session_id s, VDI ref self)\end{verbatim}
7947 \noindent{\bf Arguments:}
7950 \vspace{0.3cm}
7951 \begin{tabular}{|c|c|p{7cm}|}
7952 \hline
7953 {\bf type} & {\bf name} & {\bf description} \\ \hline
7954 {\tt VDI ref } & self & reference to the object \\ \hline
7956 \end{tabular}
7958 \vspace{0.3cm}
7960 \noindent {\bf Return Type:}
7961 {\tt
7962 SR ref
7966 value of the field
7967 \vspace{0.3cm}
7968 \vspace{0.3cm}
7969 \vspace{0.3cm}
7970 \subsubsection{RPC name:~set\_SR}
7972 {\bf Overview:}
7973 Set the SR field of the given VDI.
7975 \noindent {\bf Signature:}
7976 \begin{verbatim} void set_SR (session_id s, VDI ref self, SR ref value)\end{verbatim}
7979 \noindent{\bf Arguments:}
7982 \vspace{0.3cm}
7983 \begin{tabular}{|c|c|p{7cm}|}
7984 \hline
7985 {\bf type} & {\bf name} & {\bf description} \\ \hline
7986 {\tt VDI ref } & self & reference to the object \\ \hline
7988 {\tt SR ref } & value & New value to set \\ \hline
7990 \end{tabular}
7992 \vspace{0.3cm}
7994 \noindent {\bf Return Type:}
7995 {\tt
7996 void
8001 \vspace{0.3cm}
8002 \vspace{0.3cm}
8003 \vspace{0.3cm}
8004 \subsubsection{RPC name:~get\_VBDs}
8006 {\bf Overview:}
8007 Get the VBDs field of the given VDI.
8009 \noindent {\bf Signature:}
8010 \begin{verbatim} ((VBD ref) Set) get_VBDs (session_id s, VDI ref self)\end{verbatim}
8013 \noindent{\bf Arguments:}
8016 \vspace{0.3cm}
8017 \begin{tabular}{|c|c|p{7cm}|}
8018 \hline
8019 {\bf type} & {\bf name} & {\bf description} \\ \hline
8020 {\tt VDI ref } & self & reference to the object \\ \hline
8022 \end{tabular}
8024 \vspace{0.3cm}
8026 \noindent {\bf Return Type:}
8027 {\tt
8028 (VBD ref) Set
8032 value of the field
8033 \vspace{0.3cm}
8034 \vspace{0.3cm}
8035 \vspace{0.3cm}
8036 \subsubsection{RPC name:~get\_virtual\_size}
8038 {\bf Overview:}
8039 Get the virtual\_size field of the given VDI.
8041 \noindent {\bf Signature:}
8042 \begin{verbatim} int get_virtual_size (session_id s, VDI ref self)\end{verbatim}
8045 \noindent{\bf Arguments:}
8048 \vspace{0.3cm}
8049 \begin{tabular}{|c|c|p{7cm}|}
8050 \hline
8051 {\bf type} & {\bf name} & {\bf description} \\ \hline
8052 {\tt VDI ref } & self & reference to the object \\ \hline
8054 \end{tabular}
8056 \vspace{0.3cm}
8058 \noindent {\bf Return Type:}
8059 {\tt
8060 int
8064 value of the field
8065 \vspace{0.3cm}
8066 \vspace{0.3cm}
8067 \vspace{0.3cm}
8068 \subsubsection{RPC name:~set\_virtual\_size}
8070 {\bf Overview:}
8071 Set the virtual\_size field of the given VDI.
8073 \noindent {\bf Signature:}
8074 \begin{verbatim} void set_virtual_size (session_id s, VDI ref self, int value)\end{verbatim}
8077 \noindent{\bf Arguments:}
8080 \vspace{0.3cm}
8081 \begin{tabular}{|c|c|p{7cm}|}
8082 \hline
8083 {\bf type} & {\bf name} & {\bf description} \\ \hline
8084 {\tt VDI ref } & self & reference to the object \\ \hline
8086 {\tt int } & value & New value to set \\ \hline
8088 \end{tabular}
8090 \vspace{0.3cm}
8092 \noindent {\bf Return Type:}
8093 {\tt
8094 void
8099 \vspace{0.3cm}
8100 \vspace{0.3cm}
8101 \vspace{0.3cm}
8102 \subsubsection{RPC name:~get\_physical\_utilisation}
8104 {\bf Overview:}
8105 Get the physical\_utilisation field of the given VDI.
8107 \noindent {\bf Signature:}
8108 \begin{verbatim} int get_physical_utilisation (session_id s, VDI ref self)\end{verbatim}
8111 \noindent{\bf Arguments:}
8114 \vspace{0.3cm}
8115 \begin{tabular}{|c|c|p{7cm}|}
8116 \hline
8117 {\bf type} & {\bf name} & {\bf description} \\ \hline
8118 {\tt VDI ref } & self & reference to the object \\ \hline
8120 \end{tabular}
8122 \vspace{0.3cm}
8124 \noindent {\bf Return Type:}
8125 {\tt
8126 int
8130 value of the field
8131 \vspace{0.3cm}
8132 \vspace{0.3cm}
8133 \vspace{0.3cm}
8134 \subsubsection{RPC name:~get\_sector\_size}
8136 {\bf Overview:}
8137 Get the sector\_size field of the given VDI.
8139 \noindent {\bf Signature:}
8140 \begin{verbatim} int get_sector_size (session_id s, VDI ref self)\end{verbatim}
8143 \noindent{\bf Arguments:}
8146 \vspace{0.3cm}
8147 \begin{tabular}{|c|c|p{7cm}|}
8148 \hline
8149 {\bf type} & {\bf name} & {\bf description} \\ \hline
8150 {\tt VDI ref } & self & reference to the object \\ \hline
8152 \end{tabular}
8154 \vspace{0.3cm}
8156 \noindent {\bf Return Type:}
8157 {\tt
8158 int
8162 value of the field
8163 \vspace{0.3cm}
8164 \vspace{0.3cm}
8165 \vspace{0.3cm}
8166 \subsubsection{RPC name:~get\_type}
8168 {\bf Overview:}
8169 Get the type field of the given VDI.
8171 \noindent {\bf Signature:}
8172 \begin{verbatim} (vdi_type) get_type (session_id s, VDI ref self)\end{verbatim}
8175 \noindent{\bf Arguments:}
8178 \vspace{0.3cm}
8179 \begin{tabular}{|c|c|p{7cm}|}
8180 \hline
8181 {\bf type} & {\bf name} & {\bf description} \\ \hline
8182 {\tt VDI ref } & self & reference to the object \\ \hline
8184 \end{tabular}
8186 \vspace{0.3cm}
8188 \noindent {\bf Return Type:}
8189 {\tt
8190 vdi\_type
8194 value of the field
8195 \vspace{0.3cm}
8196 \vspace{0.3cm}
8197 \vspace{0.3cm}
8198 \subsubsection{RPC name:~get\_parent}
8200 {\bf Overview:}
8201 Get the parent field of the given VDI.
8203 \noindent {\bf Signature:}
8204 \begin{verbatim} (VDI ref) get_parent (session_id s, VDI ref self)\end{verbatim}
8207 \noindent{\bf Arguments:}
8210 \vspace{0.3cm}
8211 \begin{tabular}{|c|c|p{7cm}|}
8212 \hline
8213 {\bf type} & {\bf name} & {\bf description} \\ \hline
8214 {\tt VDI ref } & self & reference to the object \\ \hline
8216 \end{tabular}
8218 \vspace{0.3cm}
8220 \noindent {\bf Return Type:}
8221 {\tt
8222 VDI ref
8226 value of the field
8227 \vspace{0.3cm}
8228 \vspace{0.3cm}
8229 \vspace{0.3cm}
8230 \subsubsection{RPC name:~get\_children}
8232 {\bf Overview:}
8233 Get the children field of the given VDI.
8235 \noindent {\bf Signature:}
8236 \begin{verbatim} ((VDI ref) Set) get_children (session_id s, VDI ref self)\end{verbatim}
8239 \noindent{\bf Arguments:}
8242 \vspace{0.3cm}
8243 \begin{tabular}{|c|c|p{7cm}|}
8244 \hline
8245 {\bf type} & {\bf name} & {\bf description} \\ \hline
8246 {\tt VDI ref } & self & reference to the object \\ \hline
8248 \end{tabular}
8250 \vspace{0.3cm}
8252 \noindent {\bf Return Type:}
8253 {\tt
8254 (VDI ref) Set
8258 value of the field
8259 \vspace{0.3cm}
8260 \vspace{0.3cm}
8261 \vspace{0.3cm}
8262 \subsubsection{RPC name:~get\_sharable}
8264 {\bf Overview:}
8265 Get the sharable field of the given VDI.
8267 \noindent {\bf Signature:}
8268 \begin{verbatim} bool get_sharable (session_id s, VDI ref self)\end{verbatim}
8271 \noindent{\bf Arguments:}
8274 \vspace{0.3cm}
8275 \begin{tabular}{|c|c|p{7cm}|}
8276 \hline
8277 {\bf type} & {\bf name} & {\bf description} \\ \hline
8278 {\tt VDI ref } & self & reference to the object \\ \hline
8280 \end{tabular}
8282 \vspace{0.3cm}
8284 \noindent {\bf Return Type:}
8285 {\tt
8286 bool
8290 value of the field
8291 \vspace{0.3cm}
8292 \vspace{0.3cm}
8293 \vspace{0.3cm}
8294 \subsubsection{RPC name:~set\_sharable}
8296 {\bf Overview:}
8297 Set the sharable field of the given VDI.
8299 \noindent {\bf Signature:}
8300 \begin{verbatim} void set_sharable (session_id s, VDI ref self, bool value)\end{verbatim}
8303 \noindent{\bf Arguments:}
8306 \vspace{0.3cm}
8307 \begin{tabular}{|c|c|p{7cm}|}
8308 \hline
8309 {\bf type} & {\bf name} & {\bf description} \\ \hline
8310 {\tt VDI ref } & self & reference to the object \\ \hline
8312 {\tt bool } & value & New value to set \\ \hline
8314 \end{tabular}
8316 \vspace{0.3cm}
8318 \noindent {\bf Return Type:}
8319 {\tt
8320 void
8325 \vspace{0.3cm}
8326 \vspace{0.3cm}
8327 \vspace{0.3cm}
8328 \subsubsection{RPC name:~get\_read\_only}
8330 {\bf Overview:}
8331 Get the read\_only field of the given VDI.
8333 \noindent {\bf Signature:}
8334 \begin{verbatim} bool get_read_only (session_id s, VDI ref self)\end{verbatim}
8337 \noindent{\bf Arguments:}
8340 \vspace{0.3cm}
8341 \begin{tabular}{|c|c|p{7cm}|}
8342 \hline
8343 {\bf type} & {\bf name} & {\bf description} \\ \hline
8344 {\tt VDI ref } & self & reference to the object \\ \hline
8346 \end{tabular}
8348 \vspace{0.3cm}
8350 \noindent {\bf Return Type:}
8351 {\tt
8352 bool
8356 value of the field
8357 \vspace{0.3cm}
8358 \vspace{0.3cm}
8359 \vspace{0.3cm}
8360 \subsubsection{RPC name:~set\_read\_only}
8362 {\bf Overview:}
8363 Set the read\_only field of the given VDI.
8365 \noindent {\bf Signature:}
8366 \begin{verbatim} void set_read_only (session_id s, VDI ref self, bool value)\end{verbatim}
8369 \noindent{\bf Arguments:}
8372 \vspace{0.3cm}
8373 \begin{tabular}{|c|c|p{7cm}|}
8374 \hline
8375 {\bf type} & {\bf name} & {\bf description} \\ \hline
8376 {\tt VDI ref } & self & reference to the object \\ \hline
8378 {\tt bool } & value & New value to set \\ \hline
8380 \end{tabular}
8382 \vspace{0.3cm}
8384 \noindent {\bf Return Type:}
8385 {\tt
8386 void
8391 \vspace{0.3cm}
8392 \vspace{0.3cm}
8393 \vspace{0.3cm}
8394 \subsubsection{RPC name:~create}
8396 {\bf Overview:}
8397 Create a new VDI instance, and return its handle.
8399 \noindent {\bf Signature:}
8400 \begin{verbatim} (VDI ref) create (session_id s, VDI record args)\end{verbatim}
8403 \noindent{\bf Arguments:}
8406 \vspace{0.3cm}
8407 \begin{tabular}{|c|c|p{7cm}|}
8408 \hline
8409 {\bf type} & {\bf name} & {\bf description} \\ \hline
8410 {\tt VDI record } & args & All constructor arguments \\ \hline
8412 \end{tabular}
8414 \vspace{0.3cm}
8416 \noindent {\bf Return Type:}
8417 {\tt
8418 VDI ref
8422 reference to the newly created object
8423 \vspace{0.3cm}
8424 \vspace{0.3cm}
8425 \vspace{0.3cm}
8426 \subsubsection{RPC name:~destroy}
8428 {\bf Overview:}
8429 Destroy the specified VDI instance.
8431 \noindent {\bf Signature:}
8432 \begin{verbatim} void destroy (session_id s, VDI ref self)\end{verbatim}
8435 \noindent{\bf Arguments:}
8438 \vspace{0.3cm}
8439 \begin{tabular}{|c|c|p{7cm}|}
8440 \hline
8441 {\bf type} & {\bf name} & {\bf description} \\ \hline
8442 {\tt VDI ref } & self & reference to the object \\ \hline
8444 \end{tabular}
8446 \vspace{0.3cm}
8448 \noindent {\bf Return Type:}
8449 {\tt
8450 void
8455 \vspace{0.3cm}
8456 \vspace{0.3cm}
8457 \vspace{0.3cm}
8458 \subsubsection{RPC name:~get\_by\_uuid}
8460 {\bf Overview:}
8461 Get a reference to the VDI instance with the specified UUID.
8463 \noindent {\bf Signature:}
8464 \begin{verbatim} (VDI ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
8467 \noindent{\bf Arguments:}
8470 \vspace{0.3cm}
8471 \begin{tabular}{|c|c|p{7cm}|}
8472 \hline
8473 {\bf type} & {\bf name} & {\bf description} \\ \hline
8474 {\tt string } & uuid & UUID of object to return \\ \hline
8476 \end{tabular}
8478 \vspace{0.3cm}
8480 \noindent {\bf Return Type:}
8481 {\tt
8482 VDI ref
8486 reference to the object
8487 \vspace{0.3cm}
8488 \vspace{0.3cm}
8489 \vspace{0.3cm}
8490 \subsubsection{RPC name:~get\_record}
8492 {\bf Overview:}
8493 Get a record containing the current state of the given VDI.
8495 \noindent {\bf Signature:}
8496 \begin{verbatim} (VDI record) get_record (session_id s, VDI ref self)\end{verbatim}
8499 \noindent{\bf Arguments:}
8502 \vspace{0.3cm}
8503 \begin{tabular}{|c|c|p{7cm}|}
8504 \hline
8505 {\bf type} & {\bf name} & {\bf description} \\ \hline
8506 {\tt VDI ref } & self & reference to the object \\ \hline
8508 \end{tabular}
8510 \vspace{0.3cm}
8512 \noindent {\bf Return Type:}
8513 {\tt
8514 VDI record
8518 all fields from the object
8519 \vspace{0.3cm}
8520 \vspace{0.3cm}
8521 \vspace{0.3cm}
8522 \subsubsection{RPC name:~get\_by\_name\_label}
8524 {\bf Overview:}
8525 Get all the VDI instances with the given label.
8527 \noindent {\bf Signature:}
8528 \begin{verbatim} ((VDI ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
8531 \noindent{\bf Arguments:}
8534 \vspace{0.3cm}
8535 \begin{tabular}{|c|c|p{7cm}|}
8536 \hline
8537 {\bf type} & {\bf name} & {\bf description} \\ \hline
8538 {\tt string } & label & label of object to return \\ \hline
8540 \end{tabular}
8542 \vspace{0.3cm}
8544 \noindent {\bf Return Type:}
8545 {\tt
8546 (VDI ref) Set
8550 references to objects with match names
8551 \vspace{0.3cm}
8552 \vspace{0.3cm}
8553 \vspace{0.3cm}
8555 \vspace{1cm}
8556 \newpage
8557 \section{Class: VBD}
8558 \subsection{Fields for class: VBD}
8559 \begin{longtable}{|lllp{0.38\textwidth}|}
8560 \hline
8561 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VBD} \\
8562 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A virtual block device}} \\
8563 \hline
8564 Quals & Field & Type & Description \\
8565 \hline
8566 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
8567 $\mathit{RW}$ & {\tt VM} & VM ref & the virtual machine \\
8568 $\mathit{RW}$ & {\tt VDI} & VDI ref & the virtual disk \\
8569 $\mathit{RW}$ & {\tt device} & string & device seen by the guest e.g. hda1 \\
8570 $\mathit{RW}$ & {\tt mode} & vbd\_mode & the mode the disk should be mounted with \\
8571 $\mathit{RW}$ & {\tt driver} & driver\_type & the style of driver \\
8572 $\mathit{RO}_\mathit{run}$ & {\tt io/read\_kbs} & float & Read bandwidth (KiB/s) \\
8573 $\mathit{RO}_\mathit{run}$ & {\tt io/write\_kbs} & float & Write bandwidth (KiB/s) \\
8574 \hline
8575 \end{longtable}
8576 \subsection{Additional RPCs associated with class: VBD}
8577 \subsubsection{RPC name:~media\_change}
8579 {\bf Overview:}
8580 Change the media in the device for CDROM-like devices only. For other devices, detach the VBD and attach a new one
8582 \noindent {\bf Signature:}
8583 \begin{verbatim} void media_change (session_id s, VBD ref vbd, VDI ref vdi)\end{verbatim}
8586 \noindent{\bf Arguments:}
8589 \vspace{0.3cm}
8590 \begin{tabular}{|c|c|p{7cm}|}
8591 \hline
8592 {\bf type} & {\bf name} & {\bf description} \\ \hline
8593 {\tt VBD ref } & vbd & The vbd representing the CDROM-like device \\ \hline
8595 {\tt VDI ref } & vdi & The new VDI to 'insert' \\ \hline
8597 \end{tabular}
8599 \vspace{0.3cm}
8601 \noindent {\bf Return Type:}
8602 {\tt
8603 void
8608 \vspace{0.3cm}
8609 \vspace{0.3cm}
8610 \vspace{0.3cm}
8611 \subsubsection{RPC name:~get\_uuid}
8613 {\bf Overview:}
8614 Get the uuid field of the given VBD.
8616 \noindent {\bf Signature:}
8617 \begin{verbatim} string get_uuid (session_id s, VBD ref self)\end{verbatim}
8620 \noindent{\bf Arguments:}
8623 \vspace{0.3cm}
8624 \begin{tabular}{|c|c|p{7cm}|}
8625 \hline
8626 {\bf type} & {\bf name} & {\bf description} \\ \hline
8627 {\tt VBD ref } & self & reference to the object \\ \hline
8629 \end{tabular}
8631 \vspace{0.3cm}
8633 \noindent {\bf Return Type:}
8634 {\tt
8635 string
8639 value of the field
8640 \vspace{0.3cm}
8641 \vspace{0.3cm}
8642 \vspace{0.3cm}
8643 \subsubsection{RPC name:~get\_VM}
8645 {\bf Overview:}
8646 Get the VM field of the given VBD.
8648 \noindent {\bf Signature:}
8649 \begin{verbatim} (VM ref) get_VM (session_id s, VBD ref self)\end{verbatim}
8652 \noindent{\bf Arguments:}
8655 \vspace{0.3cm}
8656 \begin{tabular}{|c|c|p{7cm}|}
8657 \hline
8658 {\bf type} & {\bf name} & {\bf description} \\ \hline
8659 {\tt VBD ref } & self & reference to the object \\ \hline
8661 \end{tabular}
8663 \vspace{0.3cm}
8665 \noindent {\bf Return Type:}
8666 {\tt
8667 VM ref
8671 value of the field
8672 \vspace{0.3cm}
8673 \vspace{0.3cm}
8674 \vspace{0.3cm}
8675 \subsubsection{RPC name:~set\_VM}
8677 {\bf Overview:}
8678 Set the VM field of the given VBD.
8680 \noindent {\bf Signature:}
8681 \begin{verbatim} void set_VM (session_id s, VBD ref self, VM ref value)\end{verbatim}
8684 \noindent{\bf Arguments:}
8687 \vspace{0.3cm}
8688 \begin{tabular}{|c|c|p{7cm}|}
8689 \hline
8690 {\bf type} & {\bf name} & {\bf description} \\ \hline
8691 {\tt VBD ref } & self & reference to the object \\ \hline
8693 {\tt VM ref } & value & New value to set \\ \hline
8695 \end{tabular}
8697 \vspace{0.3cm}
8699 \noindent {\bf Return Type:}
8700 {\tt
8701 void
8706 \vspace{0.3cm}
8707 \vspace{0.3cm}
8708 \vspace{0.3cm}
8709 \subsubsection{RPC name:~get\_VDI}
8711 {\bf Overview:}
8712 Get the VDI field of the given VBD.
8714 \noindent {\bf Signature:}
8715 \begin{verbatim} (VDI ref) get_VDI (session_id s, VBD ref self)\end{verbatim}
8718 \noindent{\bf Arguments:}
8721 \vspace{0.3cm}
8722 \begin{tabular}{|c|c|p{7cm}|}
8723 \hline
8724 {\bf type} & {\bf name} & {\bf description} \\ \hline
8725 {\tt VBD ref } & self & reference to the object \\ \hline
8727 \end{tabular}
8729 \vspace{0.3cm}
8731 \noindent {\bf Return Type:}
8732 {\tt
8733 VDI ref
8737 value of the field
8738 \vspace{0.3cm}
8739 \vspace{0.3cm}
8740 \vspace{0.3cm}
8741 \subsubsection{RPC name:~set\_VDI}
8743 {\bf Overview:}
8744 Set the VDI field of the given VBD.
8746 \noindent {\bf Signature:}
8747 \begin{verbatim} void set_VDI (session_id s, VBD ref self, VDI ref value)\end{verbatim}
8750 \noindent{\bf Arguments:}
8753 \vspace{0.3cm}
8754 \begin{tabular}{|c|c|p{7cm}|}
8755 \hline
8756 {\bf type} & {\bf name} & {\bf description} \\ \hline
8757 {\tt VBD ref } & self & reference to the object \\ \hline
8759 {\tt VDI ref } & value & New value to set \\ \hline
8761 \end{tabular}
8763 \vspace{0.3cm}
8765 \noindent {\bf Return Type:}
8766 {\tt
8767 void
8772 \vspace{0.3cm}
8773 \vspace{0.3cm}
8774 \vspace{0.3cm}
8775 \subsubsection{RPC name:~get\_device}
8777 {\bf Overview:}
8778 Get the device field of the given VBD.
8780 \noindent {\bf Signature:}
8781 \begin{verbatim} string get_device (session_id s, VBD ref self)\end{verbatim}
8784 \noindent{\bf Arguments:}
8787 \vspace{0.3cm}
8788 \begin{tabular}{|c|c|p{7cm}|}
8789 \hline
8790 {\bf type} & {\bf name} & {\bf description} \\ \hline
8791 {\tt VBD ref } & self & reference to the object \\ \hline
8793 \end{tabular}
8795 \vspace{0.3cm}
8797 \noindent {\bf Return Type:}
8798 {\tt
8799 string
8803 value of the field
8804 \vspace{0.3cm}
8805 \vspace{0.3cm}
8806 \vspace{0.3cm}
8807 \subsubsection{RPC name:~set\_device}
8809 {\bf Overview:}
8810 Set the device field of the given VBD.
8812 \noindent {\bf Signature:}
8813 \begin{verbatim} void set_device (session_id s, VBD ref self, string value)\end{verbatim}
8816 \noindent{\bf Arguments:}
8819 \vspace{0.3cm}
8820 \begin{tabular}{|c|c|p{7cm}|}
8821 \hline
8822 {\bf type} & {\bf name} & {\bf description} \\ \hline
8823 {\tt VBD ref } & self & reference to the object \\ \hline
8825 {\tt string } & value & New value to set \\ \hline
8827 \end{tabular}
8829 \vspace{0.3cm}
8831 \noindent {\bf Return Type:}
8832 {\tt
8833 void
8838 \vspace{0.3cm}
8839 \vspace{0.3cm}
8840 \vspace{0.3cm}
8841 \subsubsection{RPC name:~get\_mode}
8843 {\bf Overview:}
8844 Get the mode field of the given VBD.
8846 \noindent {\bf Signature:}
8847 \begin{verbatim} (vbd_mode) get_mode (session_id s, VBD ref self)\end{verbatim}
8850 \noindent{\bf Arguments:}
8853 \vspace{0.3cm}
8854 \begin{tabular}{|c|c|p{7cm}|}
8855 \hline
8856 {\bf type} & {\bf name} & {\bf description} \\ \hline
8857 {\tt VBD ref } & self & reference to the object \\ \hline
8859 \end{tabular}
8861 \vspace{0.3cm}
8863 \noindent {\bf Return Type:}
8864 {\tt
8865 vbd\_mode
8869 value of the field
8870 \vspace{0.3cm}
8871 \vspace{0.3cm}
8872 \vspace{0.3cm}
8873 \subsubsection{RPC name:~set\_mode}
8875 {\bf Overview:}
8876 Set the mode field of the given VBD.
8878 \noindent {\bf Signature:}
8879 \begin{verbatim} void set_mode (session_id s, VBD ref self, vbd_mode value)\end{verbatim}
8882 \noindent{\bf Arguments:}
8885 \vspace{0.3cm}
8886 \begin{tabular}{|c|c|p{7cm}|}
8887 \hline
8888 {\bf type} & {\bf name} & {\bf description} \\ \hline
8889 {\tt VBD ref } & self & reference to the object \\ \hline
8891 {\tt vbd\_mode } & value & New value to set \\ \hline
8893 \end{tabular}
8895 \vspace{0.3cm}
8897 \noindent {\bf Return Type:}
8898 {\tt
8899 void
8904 \vspace{0.3cm}
8905 \vspace{0.3cm}
8906 \vspace{0.3cm}
8907 \subsubsection{RPC name:~get\_driver}
8909 {\bf Overview:}
8910 Get the driver field of the given VBD.
8912 \noindent {\bf Signature:}
8913 \begin{verbatim} (driver_type) get_driver (session_id s, VBD ref self)\end{verbatim}
8916 \noindent{\bf Arguments:}
8919 \vspace{0.3cm}
8920 \begin{tabular}{|c|c|p{7cm}|}
8921 \hline
8922 {\bf type} & {\bf name} & {\bf description} \\ \hline
8923 {\tt VBD ref } & self & reference to the object \\ \hline
8925 \end{tabular}
8927 \vspace{0.3cm}
8929 \noindent {\bf Return Type:}
8930 {\tt
8931 driver\_type
8935 value of the field
8936 \vspace{0.3cm}
8937 \vspace{0.3cm}
8938 \vspace{0.3cm}
8939 \subsubsection{RPC name:~set\_driver}
8941 {\bf Overview:}
8942 Set the driver field of the given VBD.
8944 \noindent {\bf Signature:}
8945 \begin{verbatim} void set_driver (session_id s, VBD ref self, driver_type value)\end{verbatim}
8948 \noindent{\bf Arguments:}
8951 \vspace{0.3cm}
8952 \begin{tabular}{|c|c|p{7cm}|}
8953 \hline
8954 {\bf type} & {\bf name} & {\bf description} \\ \hline
8955 {\tt VBD ref } & self & reference to the object \\ \hline
8957 {\tt driver\_type } & value & New value to set \\ \hline
8959 \end{tabular}
8961 \vspace{0.3cm}
8963 \noindent {\bf Return Type:}
8964 {\tt
8965 void
8970 \vspace{0.3cm}
8971 \vspace{0.3cm}
8972 \vspace{0.3cm}
8973 \subsubsection{RPC name:~get\_io\_read\_kbs}
8975 {\bf Overview:}
8976 Get the io/read\_kbs field of the given VBD.
8978 \noindent {\bf Signature:}
8979 \begin{verbatim} float get_io_read_kbs (session_id s, VBD ref self)\end{verbatim}
8982 \noindent{\bf Arguments:}
8985 \vspace{0.3cm}
8986 \begin{tabular}{|c|c|p{7cm}|}
8987 \hline
8988 {\bf type} & {\bf name} & {\bf description} \\ \hline
8989 {\tt VBD ref } & self & reference to the object \\ \hline
8991 \end{tabular}
8993 \vspace{0.3cm}
8995 \noindent {\bf Return Type:}
8996 {\tt
8997 float
9001 value of the field
9002 \vspace{0.3cm}
9003 \vspace{0.3cm}
9004 \vspace{0.3cm}
9005 \subsubsection{RPC name:~get\_io\_write\_kbs}
9007 {\bf Overview:}
9008 Get the io/write\_kbs field of the given VBD.
9010 \noindent {\bf Signature:}
9011 \begin{verbatim} float get_io_write_kbs (session_id s, VBD ref self)\end{verbatim}
9014 \noindent{\bf Arguments:}
9017 \vspace{0.3cm}
9018 \begin{tabular}{|c|c|p{7cm}|}
9019 \hline
9020 {\bf type} & {\bf name} & {\bf description} \\ \hline
9021 {\tt VBD ref } & self & reference to the object \\ \hline
9023 \end{tabular}
9025 \vspace{0.3cm}
9027 \noindent {\bf Return Type:}
9028 {\tt
9029 float
9033 value of the field
9034 \vspace{0.3cm}
9035 \vspace{0.3cm}
9036 \vspace{0.3cm}
9037 \subsubsection{RPC name:~create}
9039 {\bf Overview:}
9040 Create a new VBD instance, and return its handle.
9042 \noindent {\bf Signature:}
9043 \begin{verbatim} (VBD ref) create (session_id s, VBD record args)\end{verbatim}
9046 \noindent{\bf Arguments:}
9049 \vspace{0.3cm}
9050 \begin{tabular}{|c|c|p{7cm}|}
9051 \hline
9052 {\bf type} & {\bf name} & {\bf description} \\ \hline
9053 {\tt VBD record } & args & All constructor arguments \\ \hline
9055 \end{tabular}
9057 \vspace{0.3cm}
9059 \noindent {\bf Return Type:}
9060 {\tt
9061 VBD ref
9065 reference to the newly created object
9066 \vspace{0.3cm}
9067 \vspace{0.3cm}
9068 \vspace{0.3cm}
9069 \subsubsection{RPC name:~destroy}
9071 {\bf Overview:}
9072 Destroy the specified VBD instance.
9074 \noindent {\bf Signature:}
9075 \begin{verbatim} void destroy (session_id s, VBD ref self)\end{verbatim}
9078 \noindent{\bf Arguments:}
9081 \vspace{0.3cm}
9082 \begin{tabular}{|c|c|p{7cm}|}
9083 \hline
9084 {\bf type} & {\bf name} & {\bf description} \\ \hline
9085 {\tt VBD ref } & self & reference to the object \\ \hline
9087 \end{tabular}
9089 \vspace{0.3cm}
9091 \noindent {\bf Return Type:}
9092 {\tt
9093 void
9098 \vspace{0.3cm}
9099 \vspace{0.3cm}
9100 \vspace{0.3cm}
9101 \subsubsection{RPC name:~get\_by\_uuid}
9103 {\bf Overview:}
9104 Get a reference to the VBD instance with the specified UUID.
9106 \noindent {\bf Signature:}
9107 \begin{verbatim} (VBD ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
9110 \noindent{\bf Arguments:}
9113 \vspace{0.3cm}
9114 \begin{tabular}{|c|c|p{7cm}|}
9115 \hline
9116 {\bf type} & {\bf name} & {\bf description} \\ \hline
9117 {\tt string } & uuid & UUID of object to return \\ \hline
9119 \end{tabular}
9121 \vspace{0.3cm}
9123 \noindent {\bf Return Type:}
9124 {\tt
9125 VBD ref
9129 reference to the object
9130 \vspace{0.3cm}
9131 \vspace{0.3cm}
9132 \vspace{0.3cm}
9133 \subsubsection{RPC name:~get\_record}
9135 {\bf Overview:}
9136 Get a record containing the current state of the given VBD.
9138 \noindent {\bf Signature:}
9139 \begin{verbatim} (VBD record) get_record (session_id s, VBD ref self)\end{verbatim}
9142 \noindent{\bf Arguments:}
9145 \vspace{0.3cm}
9146 \begin{tabular}{|c|c|p{7cm}|}
9147 \hline
9148 {\bf type} & {\bf name} & {\bf description} \\ \hline
9149 {\tt VBD ref } & self & reference to the object \\ \hline
9151 \end{tabular}
9153 \vspace{0.3cm}
9155 \noindent {\bf Return Type:}
9156 {\tt
9157 VBD record
9161 all fields from the object
9162 \vspace{0.3cm}
9163 \vspace{0.3cm}
9164 \vspace{0.3cm}
9166 \vspace{1cm}
9167 \newpage
9168 \section{Class: VTPM}
9169 \subsection{Fields for class: VTPM}
9170 \begin{longtable}{|lllp{0.38\textwidth}|}
9171 \hline
9172 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VTPM} \\
9173 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A virtual TPM device}} \\
9174 \hline
9175 Quals & Field & Type & Description \\
9176 \hline
9177 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
9178 $\mathit{RO}_\mathit{ins}$ & {\tt VM} & VM ref & the virtual machine \\
9179 $\mathit{RO}_\mathit{ins}$ & {\tt backend} & VM ref & the domain where the backend is located \\
9180 $\mathit{RO}_\mathit{ins}$ & {\tt driver} & driver\_type & the style of driver \\
9181 $\mathit{RO}_\mathit{ins}$ & {\tt instance} & int & the instance number the virtual TPM represents \\
9182 \hline
9183 \end{longtable}
9184 \subsection{Additional RPCs associated with class: VTPM}
9185 \subsubsection{RPC name:~get\_uuid}
9187 {\bf Overview:}
9188 Get the uuid field of the given VTPM.
9190 \noindent {\bf Signature:}
9191 \begin{verbatim} string get_uuid (session_id s, VTPM ref self)\end{verbatim}
9194 \noindent{\bf Arguments:}
9197 \vspace{0.3cm}
9198 \begin{tabular}{|c|c|p{7cm}|}
9199 \hline
9200 {\bf type} & {\bf name} & {\bf description} \\ \hline
9201 {\tt VTPM ref } & self & reference to the object \\ \hline
9203 \end{tabular}
9205 \vspace{0.3cm}
9207 \noindent {\bf Return Type:}
9208 {\tt
9209 string
9213 value of the field
9214 \vspace{0.3cm}
9215 \vspace{0.3cm}
9216 \vspace{0.3cm}
9217 \subsubsection{RPC name:~get\_VM}
9219 {\bf Overview:}
9220 Get the VM field of the given VTPM.
9222 \noindent {\bf Signature:}
9223 \begin{verbatim} (VM ref) get_VM (session_id s, VTPM ref self)\end{verbatim}
9226 \noindent{\bf Arguments:}
9229 \vspace{0.3cm}
9230 \begin{tabular}{|c|c|p{7cm}|}
9231 \hline
9232 {\bf type} & {\bf name} & {\bf description} \\ \hline
9233 {\tt VTPM ref } & self & reference to the object \\ \hline
9235 \end{tabular}
9237 \vspace{0.3cm}
9239 \noindent {\bf Return Type:}
9240 {\tt
9241 VM ref
9245 value of the field
9246 \vspace{0.3cm}
9247 \vspace{0.3cm}
9248 \vspace{0.3cm}
9249 \subsubsection{RPC name:~get\_backend}
9251 {\bf Overview:}
9252 Get the backend field of the given VTPM.
9254 \noindent {\bf Signature:}
9255 \begin{verbatim} (VM ref) get_backend (session_id s, VTPM ref self)\end{verbatim}
9258 \noindent{\bf Arguments:}
9261 \vspace{0.3cm}
9262 \begin{tabular}{|c|c|p{7cm}|}
9263 \hline
9264 {\bf type} & {\bf name} & {\bf description} \\ \hline
9265 {\tt VTPM ref } & self & reference to the object \\ \hline
9267 \end{tabular}
9269 \vspace{0.3cm}
9271 \noindent {\bf Return Type:}
9272 {\tt
9273 VM ref
9277 value of the field
9278 \vspace{0.3cm}
9279 \vspace{0.3cm}
9280 \vspace{0.3cm}
9281 \subsubsection{RPC name:~get\_driver}
9283 {\bf Overview:}
9284 Get the driver field of the given VTPM.
9286 \noindent {\bf Signature:}
9287 \begin{verbatim} (driver_type) get_driver (session_id s, VTPM ref self)\end{verbatim}
9290 \noindent{\bf Arguments:}
9293 \vspace{0.3cm}
9294 \begin{tabular}{|c|c|p{7cm}|}
9295 \hline
9296 {\bf type} & {\bf name} & {\bf description} \\ \hline
9297 {\tt VTPM ref } & self & reference to the object \\ \hline
9299 \end{tabular}
9301 \vspace{0.3cm}
9303 \noindent {\bf Return Type:}
9304 {\tt
9305 driver\_type
9309 value of the field
9310 \vspace{0.3cm}
9311 \vspace{0.3cm}
9312 \vspace{0.3cm}
9313 \subsubsection{RPC name:~get\_instance}
9315 {\bf Overview:}
9316 Get the instance field of the given VTPM.
9318 \noindent {\bf Signature:}
9319 \begin{verbatim} int get_instance (session_id s, VTPM ref self)\end{verbatim}
9322 \noindent{\bf Arguments:}
9325 \vspace{0.3cm}
9326 \begin{tabular}{|c|c|p{7cm}|}
9327 \hline
9328 {\bf type} & {\bf name} & {\bf description} \\ \hline
9329 {\tt VTPM ref } & self & reference to the object \\ \hline
9331 \end{tabular}
9333 \vspace{0.3cm}
9335 \noindent {\bf Return Type:}
9336 {\tt
9337 int
9341 value of the field
9342 \vspace{0.3cm}
9343 \vspace{0.3cm}
9344 \vspace{0.3cm}
9345 \subsubsection{RPC name:~create}
9347 {\bf Overview:}
9348 Create a new VTPM instance, and return its handle.
9350 \noindent {\bf Signature:}
9351 \begin{verbatim} (VTPM ref) create (session_id s, VTPM record args)\end{verbatim}
9354 \noindent{\bf Arguments:}
9357 \vspace{0.3cm}
9358 \begin{tabular}{|c|c|p{7cm}|}
9359 \hline
9360 {\bf type} & {\bf name} & {\bf description} \\ \hline
9361 {\tt VTPM record } & args & All constructor arguments \\ \hline
9363 \end{tabular}
9365 \vspace{0.3cm}
9367 \noindent {\bf Return Type:}
9368 {\tt
9369 VTPM ref
9373 reference to the newly created object
9374 \vspace{0.3cm}
9375 \vspace{0.3cm}
9376 \vspace{0.3cm}
9377 \subsubsection{RPC name:~destroy}
9379 {\bf Overview:}
9380 Destroy the specified VTPM instance.
9382 \noindent {\bf Signature:}
9383 \begin{verbatim} void destroy (session_id s, VTPM ref self)\end{verbatim}
9386 \noindent{\bf Arguments:}
9389 \vspace{0.3cm}
9390 \begin{tabular}{|c|c|p{7cm}|}
9391 \hline
9392 {\bf type} & {\bf name} & {\bf description} \\ \hline
9393 {\tt VTPM ref } & self & reference to the object \\ \hline
9395 \end{tabular}
9397 \vspace{0.3cm}
9399 \noindent {\bf Return Type:}
9400 {\tt
9401 void
9406 \vspace{0.3cm}
9407 \vspace{0.3cm}
9408 \vspace{0.3cm}
9409 \subsubsection{RPC name:~get\_by\_uuid}
9411 {\bf Overview:}
9412 Get a reference to the VTPM instance with the specified UUID.
9414 \noindent {\bf Signature:}
9415 \begin{verbatim} (VTPM ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
9418 \noindent{\bf Arguments:}
9421 \vspace{0.3cm}
9422 \begin{tabular}{|c|c|p{7cm}|}
9423 \hline
9424 {\bf type} & {\bf name} & {\bf description} \\ \hline
9425 {\tt string } & uuid & UUID of object to return \\ \hline
9427 \end{tabular}
9429 \vspace{0.3cm}
9431 \noindent {\bf Return Type:}
9432 {\tt
9433 VTPM ref
9437 reference to the object
9438 \vspace{0.3cm}
9439 \vspace{0.3cm}
9440 \vspace{0.3cm}
9441 \subsubsection{RPC name:~get\_record}
9443 {\bf Overview:}
9444 Get a record containing the current state of the given VTPM.
9446 \noindent {\bf Signature:}
9447 \begin{verbatim} (VTPM record) get_record (session_id s, VTPM ref self)\end{verbatim}
9450 \noindent{\bf Arguments:}
9453 \vspace{0.3cm}
9454 \begin{tabular}{|c|c|p{7cm}|}
9455 \hline
9456 {\bf type} & {\bf name} & {\bf description} \\ \hline
9457 {\tt VTPM ref } & self & reference to the object \\ \hline
9459 \end{tabular}
9461 \vspace{0.3cm}
9463 \noindent {\bf Return Type:}
9464 {\tt
9465 VTPM record
9469 all fields from the object
9470 \vspace{0.3cm}
9471 \vspace{0.3cm}
9472 \vspace{0.3cm}
9474 \vspace{1cm}
9475 \newpage
9476 \section{Class: console}
9477 \subsection{Fields for class: console}
9478 \begin{longtable}{|lllp{0.38\textwidth}|}
9479 \hline
9480 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf console} \\
9481 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A console}} \\
9482 \hline
9483 Quals & Field & Type & Description \\
9484 \hline
9485 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
9486 $\mathit{RO}_\mathit{run}$ & {\tt protocol} & console\_protocol & the protocol used by this console \\
9487 $\mathit{RO}_\mathit{run}$ & {\tt uri} & string & URI for the console service \\
9488 $\mathit{RO}_\mathit{run}$ & {\tt VM} & VM ref & VM to which this console is attached \\
9489 \hline
9490 \end{longtable}
9491 \subsection{Additional RPCs associated with class: console}
9492 \subsubsection{RPC name:~get\_record}
9494 {\bf Overview:}
9495 Get the current state of the given console.
9497 \noindent {\bf Signature:}
9498 \begin{verbatim} (console record) get_record (session_id s, console ref self)\end{verbatim}
9501 \noindent{\bf Arguments:}
9504 \vspace{0.3cm}
9505 \begin{tabular}{|c|c|p{7cm}|}
9506 \hline
9507 {\bf type} & {\bf name} & {\bf description} \\ \hline
9508 {\tt console ref } & self & reference to the object \\ \hline
9510 \end{tabular}
9512 \vspace{0.3cm}
9514 \noindent {\bf Return Type:}
9515 {\tt
9516 console record
9520 all fields from the object
9521 \vspace{0.3cm}
9522 \vspace{0.3cm}
9523 \vspace{0.3cm}
9524 \subsubsection{RPC name:~get\_by\_uuid}
9526 {\bf Overview:}
9527 Get a reference to the object with the specified UUID.
9529 \noindent {\bf Signature:}
9530 \begin{verbatim} (console ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
9533 \noindent{\bf Arguments:}
9536 \vspace{0.3cm}
9537 \begin{tabular}{|c|c|p{7cm}|}
9538 \hline
9539 {\bf type} & {\bf name} & {\bf description} \\ \hline
9540 {\tt string } & uuid & UUID of object to return \\ \hline
9542 \end{tabular}
9544 \vspace{0.3cm}
9546 \noindent {\bf Return Type:}
9547 {\tt
9548 console ref
9552 reference to the object
9553 \vspace{0.3cm}
9554 \vspace{0.3cm}
9555 \vspace{0.3cm}
9556 \subsubsection{RPC name:~create}
9558 {\bf Overview:}
9559 Create a new console instance, and return its handle.
9561 \noindent {\bf Signature:}
9562 \begin{verbatim} (console ref) create (session_id s, console record args)\end{verbatim}
9565 \noindent{\bf Arguments:}
9568 \vspace{0.3cm}
9569 \begin{tabular}{|c|c|p{7cm}|}
9570 \hline
9571 {\bf type} & {\bf name} & {\bf description} \\ \hline
9572 {\tt console record } & args & All constructor arguments \\ \hline
9574 \end{tabular}
9576 \vspace{0.3cm}
9578 \noindent {\bf Return Type:}
9579 {\tt
9580 console ref
9584 reference to the newly created object
9585 \vspace{0.3cm}
9586 \vspace{0.3cm}
9587 \vspace{0.3cm}
9588 \subsubsection{RPC name:~destroy}
9590 {\bf Overview:}
9591 Destroy the specified console instance.
9593 \noindent {\bf Signature:}
9594 \begin{verbatim} void destroy (session_id s, console ref self)\end{verbatim}
9597 \noindent{\bf Arguments:}
9600 \vspace{0.3cm}
9601 \begin{tabular}{|c|c|p{7cm}|}
9602 \hline
9603 {\bf type} & {\bf name} & {\bf description} \\ \hline
9604 {\tt console ref } & self & reference to the object \\ \hline
9606 \end{tabular}
9608 \vspace{0.3cm}
9610 \noindent {\bf Return Type:}
9611 {\tt
9612 void
9617 \vspace{0.3cm}
9618 \vspace{0.3cm}
9619 \vspace{0.3cm}
9620 \subsubsection{RPC name:~get\_uuid}
9622 {\bf Overview:}
9623 Get the uuid field of the given console.
9625 \noindent {\bf Signature:}
9626 \begin{verbatim} string get_uuid (session_id s, console ref self)\end{verbatim}
9629 \noindent{\bf Arguments:}
9632 \vspace{0.3cm}
9633 \begin{tabular}{|c|c|p{7cm}|}
9634 \hline
9635 {\bf type} & {\bf name} & {\bf description} \\ \hline
9636 {\tt console ref } & self & reference to the object \\ \hline
9638 \end{tabular}
9640 \vspace{0.3cm}
9642 \noindent {\bf Return Type:}
9643 {\tt
9644 string
9648 value of the field
9649 \vspace{0.3cm}
9650 \vspace{0.3cm}
9651 \vspace{0.3cm}
9652 \subsubsection{RPC name:~get\_protocol}
9654 {\bf Overview:}
9655 Get the protocol field of the given console.
9657 \noindent {\bf Signature:}
9658 \begin{verbatim} (console_protocol) get_protocol (session_id s, console ref self)\end{verbatim}
9661 \noindent{\bf Arguments:}
9664 \vspace{0.3cm}
9665 \begin{tabular}{|c|c|p{7cm}|}
9666 \hline
9667 {\bf type} & {\bf name} & {\bf description} \\ \hline
9668 {\tt console ref } & self & reference to the object \\ \hline
9670 \end{tabular}
9672 \vspace{0.3cm}
9674 \noindent {\bf Return Type:}
9675 {\tt
9676 console\_protocol
9680 value of the field
9681 \vspace{0.3cm}
9682 \vspace{0.3cm}
9683 \vspace{0.3cm}
9684 \subsubsection{RPC name:~get\_uri}
9686 {\bf Overview:}
9687 Get the uri field of the given console.
9689 \noindent {\bf Signature:}
9690 \begin{verbatim} string get_uri (session_id s, console ref self)\end{verbatim}
9693 \noindent{\bf Arguments:}
9696 \vspace{0.3cm}
9697 \begin{tabular}{|c|c|p{7cm}|}
9698 \hline
9699 {\bf type} & {\bf name} & {\bf description} \\ \hline
9700 {\tt console ref } & self & reference to the object \\ \hline
9702 \end{tabular}
9704 \vspace{0.3cm}
9706 \noindent {\bf Return Type:}
9707 {\tt
9708 string
9712 value of the field
9713 \vspace{0.3cm}
9714 \vspace{0.3cm}
9715 \vspace{0.3cm}
9716 \subsubsection{RPC name:~get\_VM}
9718 {\bf Overview:}
9719 Get the VM field of the given console.
9721 \noindent {\bf Signature:}
9722 \begin{verbatim} (VM ref) get_VM (session_id s, console ref self)\end{verbatim}
9725 \noindent{\bf Arguments:}
9728 \vspace{0.3cm}
9729 \begin{tabular}{|c|c|p{7cm}|}
9730 \hline
9731 {\bf type} & {\bf name} & {\bf description} \\ \hline
9732 {\tt console ref } & self & reference to the object \\ \hline
9734 \end{tabular}
9736 \vspace{0.3cm}
9738 \noindent {\bf Return Type:}
9739 {\tt
9740 VM ref
9744 value of the field
9745 \vspace{0.3cm}
9746 \vspace{0.3cm}
9747 \vspace{0.3cm}
9749 \vspace{1cm}
9750 \newpage
9751 \section{Class: user}
9752 \subsection{Fields for class: user}
9753 \begin{longtable}{|lllp{0.38\textwidth}|}
9754 \hline
9755 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf user} \\
9756 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A user of the system}} \\
9757 \hline
9758 Quals & Field & Type & Description \\
9759 \hline
9760 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
9761 $\mathit{RO}_\mathit{ins}$ & {\tt short\_name} & string & short name (e.g. userid) \\
9762 $\mathit{RW}$ & {\tt fullname} & string & full name \\
9763 \hline
9764 \end{longtable}
9765 \subsection{Additional RPCs associated with class: user}
9766 \subsubsection{RPC name:~get\_uuid}
9768 {\bf Overview:}
9769 Get the uuid field of the given user.
9771 \noindent {\bf Signature:}
9772 \begin{verbatim} string get_uuid (session_id s, user ref self)\end{verbatim}
9775 \noindent{\bf Arguments:}
9778 \vspace{0.3cm}
9779 \begin{tabular}{|c|c|p{7cm}|}
9780 \hline
9781 {\bf type} & {\bf name} & {\bf description} \\ \hline
9782 {\tt user ref } & self & reference to the object \\ \hline
9784 \end{tabular}
9786 \vspace{0.3cm}
9788 \noindent {\bf Return Type:}
9789 {\tt
9790 string
9794 value of the field
9795 \vspace{0.3cm}
9796 \vspace{0.3cm}
9797 \vspace{0.3cm}
9798 \subsubsection{RPC name:~get\_short\_name}
9800 {\bf Overview:}
9801 Get the short\_name field of the given user.
9803 \noindent {\bf Signature:}
9804 \begin{verbatim} string get_short_name (session_id s, user ref self)\end{verbatim}
9807 \noindent{\bf Arguments:}
9810 \vspace{0.3cm}
9811 \begin{tabular}{|c|c|p{7cm}|}
9812 \hline
9813 {\bf type} & {\bf name} & {\bf description} \\ \hline
9814 {\tt user ref } & self & reference to the object \\ \hline
9816 \end{tabular}
9818 \vspace{0.3cm}
9820 \noindent {\bf Return Type:}
9821 {\tt
9822 string
9826 value of the field
9827 \vspace{0.3cm}
9828 \vspace{0.3cm}
9829 \vspace{0.3cm}
9830 \subsubsection{RPC name:~get\_fullname}
9832 {\bf Overview:}
9833 Get the fullname field of the given user.
9835 \noindent {\bf Signature:}
9836 \begin{verbatim} string get_fullname (session_id s, user ref self)\end{verbatim}
9839 \noindent{\bf Arguments:}
9842 \vspace{0.3cm}
9843 \begin{tabular}{|c|c|p{7cm}|}
9844 \hline
9845 {\bf type} & {\bf name} & {\bf description} \\ \hline
9846 {\tt user ref } & self & reference to the object \\ \hline
9848 \end{tabular}
9850 \vspace{0.3cm}
9852 \noindent {\bf Return Type:}
9853 {\tt
9854 string
9858 value of the field
9859 \vspace{0.3cm}
9860 \vspace{0.3cm}
9861 \vspace{0.3cm}
9862 \subsubsection{RPC name:~set\_fullname}
9864 {\bf Overview:}
9865 Set the fullname field of the given user.
9867 \noindent {\bf Signature:}
9868 \begin{verbatim} void set_fullname (session_id s, user ref self, string value)\end{verbatim}
9871 \noindent{\bf Arguments:}
9874 \vspace{0.3cm}
9875 \begin{tabular}{|c|c|p{7cm}|}
9876 \hline
9877 {\bf type} & {\bf name} & {\bf description} \\ \hline
9878 {\tt user ref } & self & reference to the object \\ \hline
9880 {\tt string } & value & New value to set \\ \hline
9882 \end{tabular}
9884 \vspace{0.3cm}
9886 \noindent {\bf Return Type:}
9887 {\tt
9888 void
9893 \vspace{0.3cm}
9894 \vspace{0.3cm}
9895 \vspace{0.3cm}
9896 \subsubsection{RPC name:~create}
9898 {\bf Overview:}
9899 Create a new user instance, and return its handle.
9901 \noindent {\bf Signature:}
9902 \begin{verbatim} (user ref) create (session_id s, user record args)\end{verbatim}
9905 \noindent{\bf Arguments:}
9908 \vspace{0.3cm}
9909 \begin{tabular}{|c|c|p{7cm}|}
9910 \hline
9911 {\bf type} & {\bf name} & {\bf description} \\ \hline
9912 {\tt user record } & args & All constructor arguments \\ \hline
9914 \end{tabular}
9916 \vspace{0.3cm}
9918 \noindent {\bf Return Type:}
9919 {\tt
9920 user ref
9924 reference to the newly created object
9925 \vspace{0.3cm}
9926 \vspace{0.3cm}
9927 \vspace{0.3cm}
9928 \subsubsection{RPC name:~destroy}
9930 {\bf Overview:}
9931 Destroy the specified user instance.
9933 \noindent {\bf Signature:}
9934 \begin{verbatim} void destroy (session_id s, user ref self)\end{verbatim}
9937 \noindent{\bf Arguments:}
9940 \vspace{0.3cm}
9941 \begin{tabular}{|c|c|p{7cm}|}
9942 \hline
9943 {\bf type} & {\bf name} & {\bf description} \\ \hline
9944 {\tt user ref } & self & reference to the object \\ \hline
9946 \end{tabular}
9948 \vspace{0.3cm}
9950 \noindent {\bf Return Type:}
9951 {\tt
9952 void
9957 \vspace{0.3cm}
9958 \vspace{0.3cm}
9959 \vspace{0.3cm}
9960 \subsubsection{RPC name:~get\_by\_uuid}
9962 {\bf Overview:}
9963 Get a reference to the user instance with the specified UUID.
9965 \noindent {\bf Signature:}
9966 \begin{verbatim} (user ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
9969 \noindent{\bf Arguments:}
9972 \vspace{0.3cm}
9973 \begin{tabular}{|c|c|p{7cm}|}
9974 \hline
9975 {\bf type} & {\bf name} & {\bf description} \\ \hline
9976 {\tt string } & uuid & UUID of object to return \\ \hline
9978 \end{tabular}
9980 \vspace{0.3cm}
9982 \noindent {\bf Return Type:}
9983 {\tt
9984 user ref
9988 reference to the object
9989 \vspace{0.3cm}
9990 \vspace{0.3cm}
9991 \vspace{0.3cm}
9992 \subsubsection{RPC name:~get\_record}
9994 {\bf Overview:}
9995 Get a record containing the current state of the given user.
9997 \noindent {\bf Signature:}
9998 \begin{verbatim} (user record) get_record (session_id s, user ref self)\end{verbatim}
10001 \noindent{\bf Arguments:}
10004 \vspace{0.3cm}
10005 \begin{tabular}{|c|c|p{7cm}|}
10006 \hline
10007 {\bf type} & {\bf name} & {\bf description} \\ \hline
10008 {\tt user ref } & self & reference to the object \\ \hline
10010 \end{tabular}
10012 \vspace{0.3cm}
10014 \noindent {\bf Return Type:}
10015 {\tt
10016 user record
10020 all fields from the object
10021 \vspace{0.3cm}
10022 \vspace{0.3cm}
10023 \vspace{0.3cm}
10025 \vspace{1cm}
10026 \newpage
10027 \section{Class: debug}
10028 \subsection{Fields for class: debug}
10029 {\bf Class debug has no fields.}
10030 \subsection{Additional RPCs associated with class: debug}
10031 \subsubsection{RPC name:~get\_all}
10033 {\bf Overview:}
10034 Return a list of all the debug records known to the system
10036 \noindent {\bf Signature:}
10037 \begin{verbatim} ((debug ref) Set) get_all (session_id s)\end{verbatim}
10040 \vspace{0.3cm}
10042 \noindent {\bf Return Type:}
10043 {\tt
10044 (debug ref) Set
10048 A list of all the IDs of all the debug records
10049 \vspace{0.3cm}
10050 \vspace{0.3cm}
10051 \vspace{0.3cm}
10052 \subsubsection{RPC name:~return\_failure}
10054 {\bf Overview:}
10055 Return an API 'successful' failure
10057 \noindent {\bf Signature:}
10058 \begin{verbatim} void return_failure (session_id s)\end{verbatim}
10061 \vspace{0.3cm}
10063 \noindent {\bf Return Type:}
10064 {\tt
10065 void
10070 \vspace{0.3cm}
10071 \vspace{0.3cm}
10072 \vspace{0.3cm}
10073 \subsubsection{RPC name:~create}
10075 {\bf Overview:}
10076 Create a new debug instance, and return its handle.
10078 \noindent {\bf Signature:}
10079 \begin{verbatim} (debug ref) create (session_id s, debug record args)\end{verbatim}
10082 \noindent{\bf Arguments:}
10085 \vspace{0.3cm}
10086 \begin{tabular}{|c|c|p{7cm}|}
10087 \hline
10088 {\bf type} & {\bf name} & {\bf description} \\ \hline
10089 {\tt debug record } & args & All constructor arguments \\ \hline
10091 \end{tabular}
10093 \vspace{0.3cm}
10095 \noindent {\bf Return Type:}
10096 {\tt
10097 debug ref
10101 reference to the newly created object
10102 \vspace{0.3cm}
10103 \vspace{0.3cm}
10104 \vspace{0.3cm}
10105 \subsubsection{RPC name:~destroy}
10107 {\bf Overview:}
10108 Destroy the specified debug instance.
10110 \noindent {\bf Signature:}
10111 \begin{verbatim} void destroy (session_id s, debug ref self)\end{verbatim}
10114 \noindent{\bf Arguments:}
10117 \vspace{0.3cm}
10118 \begin{tabular}{|c|c|p{7cm}|}
10119 \hline
10120 {\bf type} & {\bf name} & {\bf description} \\ \hline
10121 {\tt debug ref } & self & reference to the object \\ \hline
10123 \end{tabular}
10125 \vspace{0.3cm}
10127 \noindent {\bf Return Type:}
10128 {\tt
10129 void
10134 \vspace{0.3cm}
10135 \vspace{0.3cm}
10136 \vspace{0.3cm}
10137 \subsubsection{RPC name:~get\_by\_uuid}
10139 {\bf Overview:}
10140 Get a reference to the debug instance with the specified UUID.
10142 \noindent {\bf Signature:}
10143 \begin{verbatim} (debug ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
10146 \noindent{\bf Arguments:}
10149 \vspace{0.3cm}
10150 \begin{tabular}{|c|c|p{7cm}|}
10151 \hline
10152 {\bf type} & {\bf name} & {\bf description} \\ \hline
10153 {\tt string } & uuid & UUID of object to return \\ \hline
10155 \end{tabular}
10157 \vspace{0.3cm}
10159 \noindent {\bf Return Type:}
10160 {\tt
10161 debug ref
10165 reference to the object
10166 \vspace{0.3cm}
10167 \vspace{0.3cm}
10168 \vspace{0.3cm}
10169 \subsubsection{RPC name:~get\_record}
10171 {\bf Overview:}
10172 Get a record containing the current state of the given debug.
10174 \noindent {\bf Signature:}
10175 \begin{verbatim} (debug record) get_record (session_id s, debug ref self)\end{verbatim}
10178 \noindent{\bf Arguments:}
10181 \vspace{0.3cm}
10182 \begin{tabular}{|c|c|p{7cm}|}
10183 \hline
10184 {\bf type} & {\bf name} & {\bf description} \\ \hline
10185 {\tt debug ref } & self & reference to the object \\ \hline
10187 \end{tabular}
10189 \vspace{0.3cm}
10191 \noindent {\bf Return Type:}
10192 {\tt
10193 debug record
10197 all fields from the object
10198 \vspace{0.3cm}
10199 \vspace{0.3cm}
10200 \vspace{0.3cm}
10202 \vspace{1cm}
10203 \section{DTD}
10204 General notes:
10205 \begin{itemize}
10206 \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)''
10207 \item Values of enumeration types are represented as strings (e.g. ``PAE'', ``3DNow!'')
10208 \item Object References are represented as UUIDs, written in string form
10209 \end{itemize}