ia64/xen-unstable

view docs/xen-api/xenapi-datamodel.tex @ 14043:be35eed950da

Rename Console.uri to location. Xend already uses the latter.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
author Ewan Mellor <ewan@xensource.com>
date Tue Feb 20 19:23:28 2007 +0000 (2007-02-20)
parents 8773b1a38c83
children 988b90c6b4f3
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 VM\_metrics} & The metrics associated with a VM \\
29 {\tt host} & A physical host \\
30 {\tt host\_metrics} & The metrics associated with a host \\
31 {\tt host\_cpu} & A physical CPU \\
32 {\tt network} & A virtual network \\
33 {\tt VIF} & A virtual network interface \\
34 {\tt PIF} & A physical network interface (note separate VLANs are represented as several PIFs) \\
35 {\tt PIF\_metrics} & The metrics associated with a physical network interface \\
36 {\tt SR} & A storage repository \\
37 {\tt VDI} & A virtual disk image \\
38 {\tt VBD} & A virtual block device \\
39 {\tt PBD} & The physical block devices through which hosts access SRs \\
40 {\tt crashdump} & A VM crashdump \\
41 {\tt VTPM} & A virtual TPM device \\
42 {\tt console} & A console \\
43 {\tt user} & A user of the system \\
44 {\tt debug} & A basic class for testing \\
45 \hline
46 \end{tabular}\end{center}
47 \section{Relationships Between Classes}
48 Fields that are bound together are shown in the following table:
49 \begin{center}\begin{tabular}{|ll|l|}
50 \hline
51 {\em object.field} & {\em object.field} & {\em relationship} \\
53 \hline
54 host.PBDs & PBD.host & many-to-one\\
55 SR.PBDs & PBD.SR & many-to-one\\
56 VDI.VBDs & VBD.VDI & many-to-one\\
57 VDI.crash\_dumps & crashdump.VDI & many-to-one\\
58 VBD.VM & VM.VBDs & one-to-many\\
59 crashdump.VM & VM.crash\_dumps & one-to-many\\
60 VIF.VM & VM.VIFs & one-to-many\\
61 VIF.network & network.VIFs & one-to-many\\
62 host.metrics & host\_metrics.host & one-to-one\\
63 PIF.metrics & PIF\_metrics.PIF & one-to-one\\
64 PIF.host & host.PIFs & one-to-many\\
65 PIF.network & network.PIFs & one-to-many\\
66 SR.VDIs & VDI.SR & many-to-one\\
67 VTPM.VM & VM.VTPMs & one-to-many\\
68 console.VM & VM.consoles & one-to-many\\
69 host.resident\_VMs & VM.resident\_on & many-to-one\\
70 host.host\_CPUs & host\_cpu.host & many-to-one\\
71 \hline
72 \end{tabular}\end{center}
74 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
75 relationships:
77 \begin{center}\resizebox{0.8\textwidth}{!}{
78 \includegraphics{xenapi-datamodel-graph}
79 }\end{center}
80 \
81 \subsection{List of bound fields}
82 \section{Types}
83 \subsection{Primitives}
84 The following primitive types are used to specify methods and fields in the API Reference:
86 \begin{center}\begin{tabular}{|ll|}
87 \hline
88 Type & Description \\
89 \hline
90 String & text strings \\
91 Int & 64-bit integers \\
92 Float & IEEE double-precision floating-point numbers \\
93 Bool & boolean \\
94 DateTime & date and timestamp \\
95 Ref (object name) & reference to an object of class name \\
96 \hline
97 \end{tabular}\end{center}
98 \subsection{Higher order types}
99 The following type constructors are used:
101 \begin{center}\begin{tabular}{|ll|}
102 \hline
103 Type & Description \\
104 \hline
105 List (t) & an arbitrary-length list of elements of type t \\
106 Map (a $\rightarrow$ b) & a table mapping values of type a to values of type b \\
107 \hline
108 \end{tabular}\end{center}
109 \subsection{Enumeration types}
110 The following enumeration types are used:
112 \begin{longtable}{|ll|}
113 \hline
114 {\tt enum console\_protocol} & \\
115 \hline
116 \hspace{0.5cm}{\tt vt100} & VT100 terminal \\
117 \hspace{0.5cm}{\tt rfb} & Remote FrameBuffer protocol (as used in VNC) \\
118 \hspace{0.5cm}{\tt rdp} & Remote Desktop Protocol \\
119 \hline
120 \end{longtable}
122 \vspace{1cm}
123 \begin{longtable}{|ll|}
124 \hline
125 {\tt enum vdi\_type} & \\
126 \hline
127 \hspace{0.5cm}{\tt system} & a disk that may be replaced on upgrade \\
128 \hspace{0.5cm}{\tt user} & a disk that is always preserved on upgrade \\
129 \hspace{0.5cm}{\tt ephemeral} & a disk that may be reformatted on upgrade \\
130 \hspace{0.5cm}{\tt suspend} & a disk that stores a suspend image \\
131 \hspace{0.5cm}{\tt crashdump} & a disk that stores VM crashdump information \\
132 \hline
133 \end{longtable}
135 \vspace{1cm}
136 \begin{longtable}{|ll|}
137 \hline
138 {\tt enum vm\_power\_state} & \\
139 \hline
140 \hspace{0.5cm}{\tt Halted} & Halted \\
141 \hspace{0.5cm}{\tt Paused} & Paused \\
142 \hspace{0.5cm}{\tt Running} & Running \\
143 \hspace{0.5cm}{\tt Suspended} & Suspended \\
144 \hspace{0.5cm}{\tt Unknown} & Some other unknown state \\
145 \hline
146 \end{longtable}
148 \vspace{1cm}
149 \begin{longtable}{|ll|}
150 \hline
151 {\tt enum task\_allowed\_operations} & \\
152 \hline
153 \hspace{0.5cm}{\tt Cancel} & Cancel \\
154 \hline
155 \end{longtable}
157 \vspace{1cm}
158 \begin{longtable}{|ll|}
159 \hline
160 {\tt enum task\_status\_type} & \\
161 \hline
162 \hspace{0.5cm}{\tt pending} & task is in progress \\
163 \hspace{0.5cm}{\tt success} & task was completed successfully \\
164 \hspace{0.5cm}{\tt failure} & task has failed \\
165 \hspace{0.5cm}{\tt cancelling} & task is being cancelled \\
166 \hspace{0.5cm}{\tt cancelled} & task has been cancelled \\
167 \hline
168 \end{longtable}
170 \vspace{1cm}
171 \begin{longtable}{|ll|}
172 \hline
173 {\tt enum on\_normal\_exit} & \\
174 \hline
175 \hspace{0.5cm}{\tt destroy} & destroy the VM state \\
176 \hspace{0.5cm}{\tt restart} & restart the VM \\
177 \hline
178 \end{longtable}
180 \vspace{1cm}
181 \begin{longtable}{|ll|}
182 \hline
183 {\tt enum on\_crash\_behaviour} & \\
184 \hline
185 \hspace{0.5cm}{\tt destroy} & destroy the VM state \\
186 \hspace{0.5cm}{\tt coredump\_and\_destroy} & record a coredump and then destroy the VM state \\
187 \hspace{0.5cm}{\tt restart} & restart the VM \\
188 \hspace{0.5cm}{\tt coredump\_and\_restart} & record a coredump and then restart the VM \\
189 \hspace{0.5cm}{\tt preserve} & leave the crashed VM as-is \\
190 \hspace{0.5cm}{\tt rename\_restart} & rename the crashed VM and start a new copy \\
191 \hline
192 \end{longtable}
194 \vspace{1cm}
195 \begin{longtable}{|ll|}
196 \hline
197 {\tt enum vbd\_mode} & \\
198 \hline
199 \hspace{0.5cm}{\tt RO} & disk is mounted read-only \\
200 \hspace{0.5cm}{\tt RW} & disk is mounted read-write \\
201 \hline
202 \end{longtable}
204 \vspace{1cm}
205 \begin{longtable}{|ll|}
206 \hline
207 {\tt enum vbd\_type} & \\
208 \hline
209 \hspace{0.5cm}{\tt CD} & VBD will appear to guest as CD \\
210 \hspace{0.5cm}{\tt Disk} & VBD will appear to guest as disk \\
211 \hline
212 \end{longtable}
214 \vspace{1cm}
216 \newpage
217 \section{Class: session}
218 \subsection{Fields for class: session}
219 \begin{longtable}{|lllp{0.38\textwidth}|}
220 \hline
221 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf session} \\
222 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
223 session.}} \\
224 \hline
225 Quals & Field & Type & Description \\
226 \hline
227 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
228 $\mathit{RO}_\mathit{run}$ & {\tt this\_host} & host ref & Currently connected host \\
229 $\mathit{RO}_\mathit{run}$ & {\tt this\_user} & user ref & Currently connected user \\
230 $\mathit{RO}_\mathit{run}$ & {\tt last\_active} & int & Timestamp for last time session was active \\
231 \hline
232 \end{longtable}
233 \subsection{Additional RPCs associated with class: session}
234 \subsubsection{RPC name:~login\_with\_password}
236 {\bf Overview:}
237 Attempt to authenticate the user, returning a session\_id if successful.
239 \noindent {\bf Signature:}
240 \begin{verbatim} (session ref) login_with_password (string uname, string pwd)\end{verbatim}
243 \noindent{\bf Arguments:}
246 \vspace{0.3cm}
247 \begin{tabular}{|c|c|p{7cm}|}
248 \hline
249 {\bf type} & {\bf name} & {\bf description} \\ \hline
250 {\tt string } & uname & Username for login. \\ \hline
252 {\tt string } & pwd & Password for login. \\ \hline
254 \end{tabular}
256 \vspace{0.3cm}
258 \noindent {\bf Return Type:}
259 {\tt
260 session ref
261 }
264 ID of newly created session
265 \vspace{0.3cm}
266 \vspace{0.3cm}
267 \vspace{0.3cm}
268 \subsubsection{RPC name:~logout}
270 {\bf Overview:}
271 Log out of a session.
273 \noindent {\bf Signature:}
274 \begin{verbatim} void logout (session_id s)\end{verbatim}
277 \vspace{0.3cm}
279 \noindent {\bf Return Type:}
280 {\tt
281 void
282 }
286 \vspace{0.3cm}
287 \vspace{0.3cm}
288 \vspace{0.3cm}
289 \subsubsection{RPC name:~get\_uuid}
291 {\bf Overview:}
292 Get the uuid field of the given session.
294 \noindent {\bf Signature:}
295 \begin{verbatim} string get_uuid (session_id s, session ref self)\end{verbatim}
298 \noindent{\bf Arguments:}
301 \vspace{0.3cm}
302 \begin{tabular}{|c|c|p{7cm}|}
303 \hline
304 {\bf type} & {\bf name} & {\bf description} \\ \hline
305 {\tt session ref } & self & reference to the object \\ \hline
307 \end{tabular}
309 \vspace{0.3cm}
311 \noindent {\bf Return Type:}
312 {\tt
313 string
314 }
317 value of the field
318 \vspace{0.3cm}
319 \vspace{0.3cm}
320 \vspace{0.3cm}
321 \subsubsection{RPC name:~get\_this\_host}
323 {\bf Overview:}
324 Get the this\_host field of the given session.
326 \noindent {\bf Signature:}
327 \begin{verbatim} (host ref) get_this_host (session_id s, session ref self)\end{verbatim}
330 \noindent{\bf Arguments:}
333 \vspace{0.3cm}
334 \begin{tabular}{|c|c|p{7cm}|}
335 \hline
336 {\bf type} & {\bf name} & {\bf description} \\ \hline
337 {\tt session ref } & self & reference to the object \\ \hline
339 \end{tabular}
341 \vspace{0.3cm}
343 \noindent {\bf Return Type:}
344 {\tt
345 host ref
346 }
349 value of the field
350 \vspace{0.3cm}
351 \vspace{0.3cm}
352 \vspace{0.3cm}
353 \subsubsection{RPC name:~get\_this\_user}
355 {\bf Overview:}
356 Get the this\_user field of the given session.
358 \noindent {\bf Signature:}
359 \begin{verbatim} (user ref) get_this_user (session_id s, session ref self)\end{verbatim}
362 \noindent{\bf Arguments:}
365 \vspace{0.3cm}
366 \begin{tabular}{|c|c|p{7cm}|}
367 \hline
368 {\bf type} & {\bf name} & {\bf description} \\ \hline
369 {\tt session ref } & self & reference to the object \\ \hline
371 \end{tabular}
373 \vspace{0.3cm}
375 \noindent {\bf Return Type:}
376 {\tt
377 user ref
378 }
381 value of the field
382 \vspace{0.3cm}
383 \vspace{0.3cm}
384 \vspace{0.3cm}
385 \subsubsection{RPC name:~get\_last\_active}
387 {\bf Overview:}
388 Get the last\_active field of the given session.
390 \noindent {\bf Signature:}
391 \begin{verbatim} int get_last_active (session_id s, session ref self)\end{verbatim}
394 \noindent{\bf Arguments:}
397 \vspace{0.3cm}
398 \begin{tabular}{|c|c|p{7cm}|}
399 \hline
400 {\bf type} & {\bf name} & {\bf description} \\ \hline
401 {\tt session ref } & self & reference to the object \\ \hline
403 \end{tabular}
405 \vspace{0.3cm}
407 \noindent {\bf Return Type:}
408 {\tt
409 int
410 }
413 value of the field
414 \vspace{0.3cm}
415 \vspace{0.3cm}
416 \vspace{0.3cm}
417 \subsubsection{RPC name:~get\_by\_uuid}
419 {\bf Overview:}
420 Get a reference to the session instance with the specified UUID.
422 \noindent {\bf Signature:}
423 \begin{verbatim} (session ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
426 \noindent{\bf Arguments:}
429 \vspace{0.3cm}
430 \begin{tabular}{|c|c|p{7cm}|}
431 \hline
432 {\bf type} & {\bf name} & {\bf description} \\ \hline
433 {\tt string } & uuid & UUID of object to return \\ \hline
435 \end{tabular}
437 \vspace{0.3cm}
439 \noindent {\bf Return Type:}
440 {\tt
441 session ref
442 }
445 reference to the object
446 \vspace{0.3cm}
447 \vspace{0.3cm}
448 \vspace{0.3cm}
449 \subsubsection{RPC name:~get\_record}
451 {\bf Overview:}
452 Get a record containing the current state of the given session.
454 \noindent {\bf Signature:}
455 \begin{verbatim} (session record) get_record (session_id s, session ref self)\end{verbatim}
458 \noindent{\bf Arguments:}
461 \vspace{0.3cm}
462 \begin{tabular}{|c|c|p{7cm}|}
463 \hline
464 {\bf type} & {\bf name} & {\bf description} \\ \hline
465 {\tt session ref } & self & reference to the object \\ \hline
467 \end{tabular}
469 \vspace{0.3cm}
471 \noindent {\bf Return Type:}
472 {\tt
473 session record
474 }
477 all fields from the object
478 \vspace{0.3cm}
479 \vspace{0.3cm}
480 \vspace{0.3cm}
482 \vspace{1cm}
483 \newpage
484 \section{Class: task}
485 \subsection{Fields for class: task}
486 \begin{longtable}{|lllp{0.38\textwidth}|}
487 \hline
488 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf task} \\
489 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
490 long-running asynchronous task.}} \\
491 \hline
492 Quals & Field & Type & Description \\
493 \hline
494 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
495 $\mathit{RO}_\mathit{run}$ & {\tt name/label} & string & a human-readable name \\
496 $\mathit{RO}_\mathit{run}$ & {\tt name/description} & string & a notes field containg human-readable description \\
497 $\mathit{RO}_\mathit{run}$ & {\tt status} & task\_status\_type & current status of the task \\
498 $\mathit{RO}_\mathit{run}$ & {\tt session} & session ref & the session that created the task \\
499 $\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. \\
500 $\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. \\
501 $\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. \\
502 $\mathit{RO}_\mathit{run}$ & {\tt error\_code} & int & if the task has failed, this field contains the error code. Undefined otherwise. \\
503 $\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. \\
504 $\mathit{RO}_\mathit{run}$ & {\tt allowed\_operations} & (task\_allowed\_operations) Set & Operations allowed on this task \\
505 \hline
506 \end{longtable}
507 \subsection{Additional RPCs associated with class: task}
508 \subsubsection{RPC name:~cancel}
510 {\bf Overview:}
511 Cancel this task. If task.allowed\_operations does not contain Cancel,
512 then this will fail with OPERATION\_NOT\_ALLOWED. The task will show the
513 status 'cancelling', and you should continue to check its status until it
514 shows 'cancelled'. There is no guarantee as to the time within which this
515 task will be cancelled.
517 \noindent {\bf Signature:}
518 \begin{verbatim} void cancel (session_id s, task ref task)\end{verbatim}
521 \noindent{\bf Arguments:}
524 \vspace{0.3cm}
525 \begin{tabular}{|c|c|p{7cm}|}
526 \hline
527 {\bf type} & {\bf name} & {\bf description} \\ \hline
528 {\tt task ref } & task & The task \\ \hline
530 \end{tabular}
532 \vspace{0.3cm}
534 \noindent {\bf Return Type:}
535 {\tt
536 void
537 }
541 \vspace{0.3cm}
543 \noindent{\bf Possible Error Codes:} {\tt OPERATION\_NOT\_ALLOWED}
545 \vspace{0.6cm}
546 \subsubsection{RPC name:~get\_all}
548 {\bf Overview:}
549 Return a list of all the tasks known to the system.
551 \noindent {\bf Signature:}
552 \begin{verbatim} ((task ref) Set) get_all (session_id s)\end{verbatim}
555 \vspace{0.3cm}
557 \noindent {\bf Return Type:}
558 {\tt
559 (task ref) Set
560 }
563 references to all objects
564 \vspace{0.3cm}
565 \vspace{0.3cm}
566 \vspace{0.3cm}
567 \subsubsection{RPC name:~get\_uuid}
569 {\bf Overview:}
570 Get the uuid field of the given task.
572 \noindent {\bf Signature:}
573 \begin{verbatim} string get_uuid (session_id s, task ref self)\end{verbatim}
576 \noindent{\bf Arguments:}
579 \vspace{0.3cm}
580 \begin{tabular}{|c|c|p{7cm}|}
581 \hline
582 {\bf type} & {\bf name} & {\bf description} \\ \hline
583 {\tt task ref } & self & reference to the object \\ \hline
585 \end{tabular}
587 \vspace{0.3cm}
589 \noindent {\bf Return Type:}
590 {\tt
591 string
592 }
595 value of the field
596 \vspace{0.3cm}
597 \vspace{0.3cm}
598 \vspace{0.3cm}
599 \subsubsection{RPC name:~get\_name\_label}
601 {\bf Overview:}
602 Get the name/label field of the given task.
604 \noindent {\bf Signature:}
605 \begin{verbatim} string get_name_label (session_id s, task ref self)\end{verbatim}
608 \noindent{\bf Arguments:}
611 \vspace{0.3cm}
612 \begin{tabular}{|c|c|p{7cm}|}
613 \hline
614 {\bf type} & {\bf name} & {\bf description} \\ \hline
615 {\tt task ref } & self & reference to the object \\ \hline
617 \end{tabular}
619 \vspace{0.3cm}
621 \noindent {\bf Return Type:}
622 {\tt
623 string
624 }
627 value of the field
628 \vspace{0.3cm}
629 \vspace{0.3cm}
630 \vspace{0.3cm}
631 \subsubsection{RPC name:~get\_name\_description}
633 {\bf Overview:}
634 Get the name/description field of the given task.
636 \noindent {\bf Signature:}
637 \begin{verbatim} string get_name_description (session_id s, task ref self)\end{verbatim}
640 \noindent{\bf Arguments:}
643 \vspace{0.3cm}
644 \begin{tabular}{|c|c|p{7cm}|}
645 \hline
646 {\bf type} & {\bf name} & {\bf description} \\ \hline
647 {\tt task ref } & self & reference to the object \\ \hline
649 \end{tabular}
651 \vspace{0.3cm}
653 \noindent {\bf Return Type:}
654 {\tt
655 string
656 }
659 value of the field
660 \vspace{0.3cm}
661 \vspace{0.3cm}
662 \vspace{0.3cm}
663 \subsubsection{RPC name:~get\_status}
665 {\bf Overview:}
666 Get the status field of the given task.
668 \noindent {\bf Signature:}
669 \begin{verbatim} (task_status_type) get_status (session_id s, task ref self)\end{verbatim}
672 \noindent{\bf Arguments:}
675 \vspace{0.3cm}
676 \begin{tabular}{|c|c|p{7cm}|}
677 \hline
678 {\bf type} & {\bf name} & {\bf description} \\ \hline
679 {\tt task ref } & self & reference to the object \\ \hline
681 \end{tabular}
683 \vspace{0.3cm}
685 \noindent {\bf Return Type:}
686 {\tt
687 task\_status\_type
688 }
691 value of the field
692 \vspace{0.3cm}
693 \vspace{0.3cm}
694 \vspace{0.3cm}
695 \subsubsection{RPC name:~get\_session}
697 {\bf Overview:}
698 Get the session field of the given task.
700 \noindent {\bf Signature:}
701 \begin{verbatim} (session ref) get_session (session_id s, task ref self)\end{verbatim}
704 \noindent{\bf Arguments:}
707 \vspace{0.3cm}
708 \begin{tabular}{|c|c|p{7cm}|}
709 \hline
710 {\bf type} & {\bf name} & {\bf description} \\ \hline
711 {\tt task ref } & self & reference to the object \\ \hline
713 \end{tabular}
715 \vspace{0.3cm}
717 \noindent {\bf Return Type:}
718 {\tt
719 session ref
720 }
723 value of the field
724 \vspace{0.3cm}
725 \vspace{0.3cm}
726 \vspace{0.3cm}
727 \subsubsection{RPC name:~get\_progress}
729 {\bf Overview:}
730 Get the progress field of the given task.
732 \noindent {\bf Signature:}
733 \begin{verbatim} int get_progress (session_id s, task ref self)\end{verbatim}
736 \noindent{\bf Arguments:}
739 \vspace{0.3cm}
740 \begin{tabular}{|c|c|p{7cm}|}
741 \hline
742 {\bf type} & {\bf name} & {\bf description} \\ \hline
743 {\tt task ref } & self & reference to the object \\ \hline
745 \end{tabular}
747 \vspace{0.3cm}
749 \noindent {\bf Return Type:}
750 {\tt
751 int
752 }
755 value of the field
756 \vspace{0.3cm}
757 \vspace{0.3cm}
758 \vspace{0.3cm}
759 \subsubsection{RPC name:~get\_type}
761 {\bf Overview:}
762 Get the type field of the given task.
764 \noindent {\bf Signature:}
765 \begin{verbatim} string get_type (session_id s, task ref self)\end{verbatim}
768 \noindent{\bf Arguments:}
771 \vspace{0.3cm}
772 \begin{tabular}{|c|c|p{7cm}|}
773 \hline
774 {\bf type} & {\bf name} & {\bf description} \\ \hline
775 {\tt task ref } & self & reference to the object \\ \hline
777 \end{tabular}
779 \vspace{0.3cm}
781 \noindent {\bf Return Type:}
782 {\tt
783 string
784 }
787 value of the field
788 \vspace{0.3cm}
789 \vspace{0.3cm}
790 \vspace{0.3cm}
791 \subsubsection{RPC name:~get\_result}
793 {\bf Overview:}
794 Get the result field of the given task.
796 \noindent {\bf Signature:}
797 \begin{verbatim} string get_result (session_id s, task ref self)\end{verbatim}
800 \noindent{\bf Arguments:}
803 \vspace{0.3cm}
804 \begin{tabular}{|c|c|p{7cm}|}
805 \hline
806 {\bf type} & {\bf name} & {\bf description} \\ \hline
807 {\tt task ref } & self & reference to the object \\ \hline
809 \end{tabular}
811 \vspace{0.3cm}
813 \noindent {\bf Return Type:}
814 {\tt
815 string
816 }
819 value of the field
820 \vspace{0.3cm}
821 \vspace{0.3cm}
822 \vspace{0.3cm}
823 \subsubsection{RPC name:~get\_error\_code}
825 {\bf Overview:}
826 Get the error\_code field of the given task.
828 \noindent {\bf Signature:}
829 \begin{verbatim} int get_error_code (session_id s, task ref self)\end{verbatim}
832 \noindent{\bf Arguments:}
835 \vspace{0.3cm}
836 \begin{tabular}{|c|c|p{7cm}|}
837 \hline
838 {\bf type} & {\bf name} & {\bf description} \\ \hline
839 {\tt task ref } & self & reference to the object \\ \hline
841 \end{tabular}
843 \vspace{0.3cm}
845 \noindent {\bf Return Type:}
846 {\tt
847 int
848 }
851 value of the field
852 \vspace{0.3cm}
853 \vspace{0.3cm}
854 \vspace{0.3cm}
855 \subsubsection{RPC name:~get\_error\_info}
857 {\bf Overview:}
858 Get the error\_info field of the given task.
860 \noindent {\bf Signature:}
861 \begin{verbatim} (string Set) get_error_info (session_id s, task ref self)\end{verbatim}
864 \noindent{\bf Arguments:}
867 \vspace{0.3cm}
868 \begin{tabular}{|c|c|p{7cm}|}
869 \hline
870 {\bf type} & {\bf name} & {\bf description} \\ \hline
871 {\tt task ref } & self & reference to the object \\ \hline
873 \end{tabular}
875 \vspace{0.3cm}
877 \noindent {\bf Return Type:}
878 {\tt
879 string Set
880 }
883 value of the field
884 \vspace{0.3cm}
885 \vspace{0.3cm}
886 \vspace{0.3cm}
887 \subsubsection{RPC name:~get\_allowed\_operations}
889 {\bf Overview:}
890 Get the allowed\_operations field of the given task.
892 \noindent {\bf Signature:}
893 \begin{verbatim} ((task_allowed_operations) Set) get_allowed_operations (session_id s, task ref self)\end{verbatim}
896 \noindent{\bf Arguments:}
899 \vspace{0.3cm}
900 \begin{tabular}{|c|c|p{7cm}|}
901 \hline
902 {\bf type} & {\bf name} & {\bf description} \\ \hline
903 {\tt task ref } & self & reference to the object \\ \hline
905 \end{tabular}
907 \vspace{0.3cm}
909 \noindent {\bf Return Type:}
910 {\tt
911 (task\_allowed\_operations) Set
912 }
915 value of the field
916 \vspace{0.3cm}
917 \vspace{0.3cm}
918 \vspace{0.3cm}
919 \subsubsection{RPC name:~get\_by\_uuid}
921 {\bf Overview:}
922 Get a reference to the task instance with the specified UUID.
924 \noindent {\bf Signature:}
925 \begin{verbatim} (task ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
928 \noindent{\bf Arguments:}
931 \vspace{0.3cm}
932 \begin{tabular}{|c|c|p{7cm}|}
933 \hline
934 {\bf type} & {\bf name} & {\bf description} \\ \hline
935 {\tt string } & uuid & UUID of object to return \\ \hline
937 \end{tabular}
939 \vspace{0.3cm}
941 \noindent {\bf Return Type:}
942 {\tt
943 task ref
944 }
947 reference to the object
948 \vspace{0.3cm}
949 \vspace{0.3cm}
950 \vspace{0.3cm}
951 \subsubsection{RPC name:~get\_record}
953 {\bf Overview:}
954 Get a record containing the current state of the given task.
956 \noindent {\bf Signature:}
957 \begin{verbatim} (task record) get_record (session_id s, task ref self)\end{verbatim}
960 \noindent{\bf Arguments:}
963 \vspace{0.3cm}
964 \begin{tabular}{|c|c|p{7cm}|}
965 \hline
966 {\bf type} & {\bf name} & {\bf description} \\ \hline
967 {\tt task ref } & self & reference to the object \\ \hline
969 \end{tabular}
971 \vspace{0.3cm}
973 \noindent {\bf Return Type:}
974 {\tt
975 task record
976 }
979 all fields from the object
980 \vspace{0.3cm}
981 \vspace{0.3cm}
982 \vspace{0.3cm}
983 \subsubsection{RPC name:~get\_by\_name\_label}
985 {\bf Overview:}
986 Get all the task instances with the given label.
988 \noindent {\bf Signature:}
989 \begin{verbatim} ((task ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
992 \noindent{\bf Arguments:}
995 \vspace{0.3cm}
996 \begin{tabular}{|c|c|p{7cm}|}
997 \hline
998 {\bf type} & {\bf name} & {\bf description} \\ \hline
999 {\tt string } & label & label of object to return \\ \hline
1001 \end{tabular}
1003 \vspace{0.3cm}
1005 \noindent {\bf Return Type:}
1006 {\tt
1007 (task ref) Set
1011 references to objects with match names
1012 \vspace{0.3cm}
1013 \vspace{0.3cm}
1014 \vspace{0.3cm}
1016 \vspace{1cm}
1017 \newpage
1018 \section{Class: VM}
1019 \subsection{Fields for class: VM}
1020 \begin{longtable}{|lllp{0.38\textwidth}|}
1021 \hline
1022 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VM} \\
1023 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
1024 virtual machine (or 'guest').
1026 VM booting is controlled by setting one of the two mutually exclusive
1027 groups: "PV", and "HVM". If HVM.boot\_policy is the empty string, then
1028 paravirtual domain building and booting will be used; otherwise the VM will
1029 be loaded as an HVM domain, and booted using an emulated BIOS.
1031 When paravirtual booting is in use, the PV/bootloader field indicates the
1032 bootloader to use. It may be "pygrub", in which case the platform's
1033 default installation of pygrub will be used, or a full path within the
1034 control domain to some other bootloader. The other fields, PV/kernel,
1035 PV/ramdisk, PV/args and PV/bootloader\_args will be passed to the
1036 bootloader unmodified, and interpretation of those fields is then specific
1037 to the bootloader itself, including the possibility that the bootloader
1038 will ignore some or all of those given values. Finally the paths of all
1039 bootable disks are added to the bootloader commandline (a disk is bootable
1040 if its VBD has the bootable flag set). There may be zero, one or many
1041 bootable disks; the bootloader decides which disk (if any) to boot from.
1043 If the bootloader is pygrub, then the menu.lst is parsed if present in the
1044 guest's filesystem, otherwise the specified kernel and ramdisk are used, or
1045 an autodetected kernel is used if nothing is specified and autodetection is
1046 possible. PV/args is appended to the kernel command line, no matter which
1047 mechanism is used for finding the kernel.
1049 If PV/bootloader is empty but PV/kernel is specified, then the kernel and
1050 ramdisk values will be treated as paths within the control domain. If both
1051 PV/bootloader and PV/kernel are empty, then the behaviour is as if
1052 PV/bootloader was specified as "pygrub".
1054 When using HVM booting, HVM/boot\_policy and HVM/boot\_params specify the
1055 boot handling. Only one policy is currently defined: "BIOS order". In
1056 this case, HVM/boot\_params should contain one key-value pair "order" = "N"
1057 where N is the string that will be passed to QEMU.}} \\
1058 \hline
1059 Quals & Field & Type & Description \\
1060 \hline
1061 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
1062 $\mathit{RO}_\mathit{run}$ & {\tt power\_state} & vm\_power\_state & Current power state of the machine \\
1063 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
1064 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
1065 $\mathit{RW}$ & {\tt user\_version} & int & a user version number for this machine \\
1066 $\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 \\
1067 $\mathit{RW}$ & {\tt auto\_power\_on} & bool & true if this VM should be started automatically after host boot \\
1068 $\mathit{RO}_\mathit{run}$ & {\tt suspend\_VDI} & VDI ref & The VDI that a suspend image is stored on. (Only has meaning if VM is currently suspended) \\
1069 $\mathit{RO}_\mathit{run}$ & {\tt resident\_on} & host ref & the host the VM is currently resident on \\
1070 $\mathit{RW}$ & {\tt memory/static\_max} & int & Statically-set (i.e. absolute) maximum (bytes) \\
1071 $\mathit{RW}$ & {\tt memory/dynamic\_max} & int & Dynamic maximum (bytes) \\
1072 $\mathit{RW}$ & {\tt memory/dynamic\_min} & int & Dynamic minimum (bytes) \\
1073 $\mathit{RW}$ & {\tt memory/static\_min} & int & Statically-set (i.e. absolute) mininum (bytes) \\
1074 $\mathit{RW}$ & {\tt VCPUs/policy} & string & the name of the VCPU scheduling policy to be applied \\
1075 $\mathit{RW}$ & {\tt VCPUs/params} & (string $\rightarrow$ string) Map & configuration parameters for the selected VCPU policy \\
1076 $\mathit{RW}$ & {\tt VCPUs/max} & int & Max number of VCPUs \\
1077 $\mathit{RW}$ & {\tt VCPUs/at\_startup} & int & Boot number of VCPUs \\
1078 $\mathit{RW}$ & {\tt actions/after\_shutdown} & on\_normal\_exit & action to take after the guest has shutdown itself \\
1079 $\mathit{RW}$ & {\tt actions/after\_reboot} & on\_normal\_exit & action to take after the guest has rebooted itself \\
1080 $\mathit{RW}$ & {\tt actions/after\_crash} & on\_crash\_behaviour & action to take if the guest crashes \\
1081 $\mathit{RO}_\mathit{run}$ & {\tt consoles} & (console ref) Set & virtual console devices \\
1082 $\mathit{RO}_\mathit{run}$ & {\tt VIFs} & (VIF ref) Set & virtual network interfaces \\
1083 $\mathit{RO}_\mathit{run}$ & {\tt VBDs} & (VBD ref) Set & virtual block devices \\
1084 $\mathit{RO}_\mathit{run}$ & {\tt crash\_dumps} & (crashdump ref) Set & crash dumps associated with this VM \\
1085 $\mathit{RO}_\mathit{run}$ & {\tt VTPMs} & (VTPM ref) Set & virtual TPMs \\
1086 $\mathit{RW}$ & {\tt PV/bootloader} & string & name of or path to bootloader \\
1087 $\mathit{RW}$ & {\tt PV/kernel} & string & path to the kernel \\
1088 $\mathit{RW}$ & {\tt PV/ramdisk} & string & path to the initrd \\
1089 $\mathit{RW}$ & {\tt PV/args} & string & kernel command-line arguments \\
1090 $\mathit{RW}$ & {\tt PV/bootloader\_args} & string & miscellaneous arguments for the bootloader \\
1091 $\mathit{RW}$ & {\tt HVM/boot\_policy} & string & HVM boot policy \\
1092 $\mathit{RW}$ & {\tt HVM/boot\_params} & (string $\rightarrow$ string) Map & HVM boot params \\
1093 $\mathit{RW}$ & {\tt platform/std\_VGA} & bool & emulate standard VGA instead of cirrus logic \\
1094 $\mathit{RW}$ & {\tt platform/serial} & string & redirect serial port to pty \\
1095 $\mathit{RW}$ & {\tt platform/localtime} & bool & set RTC to local time \\
1096 $\mathit{RW}$ & {\tt platform/clock\_offset} & bool & timeshift applied to guest's clock \\
1097 $\mathit{RW}$ & {\tt platform/enable\_audio} & bool & emulate audio \\
1098 $\mathit{RO}_\mathit{ins}$ & {\tt PCI\_bus} & string & PCI bus path for pass-through devices \\
1099 $\mathit{RO}_\mathit{run}$ & {\tt tools\_version} & (string $\rightarrow$ string) Map & versions of installed paravirtualised drivers \\
1100 $\mathit{RW}$ & {\tt other\_config} & (string $\rightarrow$ string) Map & additional configuration \\
1101 $\mathit{RO}_\mathit{run}$ & {\tt is\_control\_domain} & bool & true if this is a control domain (domain 0 or a driver domain) \\
1102 $\mathit{RO}_\mathit{run}$ & {\tt metrics} & VM\_metrics ref & metrics associated with this VM. \\
1103 \hline
1104 \end{longtable}
1105 \subsection{Additional RPCs associated with class: VM}
1106 \subsubsection{RPC name:~clone}
1108 {\bf Overview:}
1109 Clones the specified VM, making a new VM. Clone automatically exploits the
1110 capabilities of the underlying storage repository in which the VM's disk
1111 images are stored (e.g. Copy on Write). This function can only be called
1112 when the VM is in the Halted State.
1114 \noindent {\bf Signature:}
1115 \begin{verbatim} (VM ref) clone (session_id s, VM ref vm, string new_name)\end{verbatim}
1118 \noindent{\bf Arguments:}
1121 \vspace{0.3cm}
1122 \begin{tabular}{|c|c|p{7cm}|}
1123 \hline
1124 {\bf type} & {\bf name} & {\bf description} \\ \hline
1125 {\tt VM ref } & vm & The VM to be cloned \\ \hline
1127 {\tt string } & new\_name & The name of the cloned VM \\ \hline
1129 \end{tabular}
1131 \vspace{0.3cm}
1133 \noindent {\bf Return Type:}
1134 {\tt
1135 VM ref
1139 The ID of the newly created VM.
1140 \vspace{0.3cm}
1142 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1144 \vspace{0.6cm}
1145 \subsubsection{RPC name:~start}
1147 {\bf Overview:}
1148 Start the specified VM. This function can only be called with the VM is in
1149 the Halted State.
1151 \noindent {\bf Signature:}
1152 \begin{verbatim} void start (session_id s, VM ref vm, bool start_paused)\end{verbatim}
1155 \noindent{\bf Arguments:}
1158 \vspace{0.3cm}
1159 \begin{tabular}{|c|c|p{7cm}|}
1160 \hline
1161 {\bf type} & {\bf name} & {\bf description} \\ \hline
1162 {\tt VM ref } & vm & The VM to start \\ \hline
1164 {\tt bool } & start\_paused & Instantiate VM in paused state if set to true. \\ \hline
1166 \end{tabular}
1168 \vspace{0.3cm}
1170 \noindent {\bf Return Type:}
1171 {\tt
1172 void
1177 \vspace{0.3cm}
1179 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1181 \vspace{0.6cm}
1182 \subsubsection{RPC name:~pause}
1184 {\bf Overview:}
1185 Pause the specified VM. This can only be called when the specified VM is in
1186 the Running state.
1188 \noindent {\bf Signature:}
1189 \begin{verbatim} void pause (session_id s, VM ref vm)\end{verbatim}
1192 \noindent{\bf Arguments:}
1195 \vspace{0.3cm}
1196 \begin{tabular}{|c|c|p{7cm}|}
1197 \hline
1198 {\bf type} & {\bf name} & {\bf description} \\ \hline
1199 {\tt VM ref } & vm & The VM to pause \\ \hline
1201 \end{tabular}
1203 \vspace{0.3cm}
1205 \noindent {\bf Return Type:}
1206 {\tt
1207 void
1212 \vspace{0.3cm}
1214 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1216 \vspace{0.6cm}
1217 \subsubsection{RPC name:~unpause}
1219 {\bf Overview:}
1220 Resume the specified VM. This can only be called when the specified VM is
1221 in the Paused state.
1223 \noindent {\bf Signature:}
1224 \begin{verbatim} void unpause (session_id s, VM ref vm)\end{verbatim}
1227 \noindent{\bf Arguments:}
1230 \vspace{0.3cm}
1231 \begin{tabular}{|c|c|p{7cm}|}
1232 \hline
1233 {\bf type} & {\bf name} & {\bf description} \\ \hline
1234 {\tt VM ref } & vm & The VM to unpause \\ \hline
1236 \end{tabular}
1238 \vspace{0.3cm}
1240 \noindent {\bf Return Type:}
1241 {\tt
1242 void
1247 \vspace{0.3cm}
1249 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1251 \vspace{0.6cm}
1252 \subsubsection{RPC name:~clean\_shutdown}
1254 {\bf Overview:}
1255 Attempt to cleanly shutdown the specified VM. (Note: this may not be
1256 supported---e.g. if a guest agent is not installed).
1258 Once shutdown has been completed perform poweroff action specified in guest
1259 configuration.
1261 This can only be called when the specified VM is in the Running state.
1263 \noindent {\bf Signature:}
1264 \begin{verbatim} void clean_shutdown (session_id s, VM ref vm)\end{verbatim}
1267 \noindent{\bf Arguments:}
1270 \vspace{0.3cm}
1271 \begin{tabular}{|c|c|p{7cm}|}
1272 \hline
1273 {\bf type} & {\bf name} & {\bf description} \\ \hline
1274 {\tt VM ref } & vm & The VM to shutdown \\ \hline
1276 \end{tabular}
1278 \vspace{0.3cm}
1280 \noindent {\bf Return Type:}
1281 {\tt
1282 void
1287 \vspace{0.3cm}
1289 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1291 \vspace{0.6cm}
1292 \subsubsection{RPC name:~clean\_reboot}
1294 {\bf Overview:}
1295 Attempt to cleanly shutdown the specified VM (Note: this may not be
1296 supported---e.g. if a guest agent is not installed).
1298 Once shutdown has been completed perform reboot action specified in guest
1299 configuration.
1301 This can only be called when the specified VM is in the Running state.
1303 \noindent {\bf Signature:}
1304 \begin{verbatim} void clean_reboot (session_id s, VM ref vm)\end{verbatim}
1307 \noindent{\bf Arguments:}
1310 \vspace{0.3cm}
1311 \begin{tabular}{|c|c|p{7cm}|}
1312 \hline
1313 {\bf type} & {\bf name} & {\bf description} \\ \hline
1314 {\tt VM ref } & vm & The VM to shutdown \\ \hline
1316 \end{tabular}
1318 \vspace{0.3cm}
1320 \noindent {\bf Return Type:}
1321 {\tt
1322 void
1327 \vspace{0.3cm}
1329 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1331 \vspace{0.6cm}
1332 \subsubsection{RPC name:~hard\_shutdown}
1334 {\bf Overview:}
1335 Stop executing the specified VM without attempting a clean shutdown. Then
1336 perform poweroff action specified in VM configuration.
1338 \noindent {\bf Signature:}
1339 \begin{verbatim} void hard_shutdown (session_id s, VM ref vm)\end{verbatim}
1342 \noindent{\bf Arguments:}
1345 \vspace{0.3cm}
1346 \begin{tabular}{|c|c|p{7cm}|}
1347 \hline
1348 {\bf type} & {\bf name} & {\bf description} \\ \hline
1349 {\tt VM ref } & vm & The VM to destroy \\ \hline
1351 \end{tabular}
1353 \vspace{0.3cm}
1355 \noindent {\bf Return Type:}
1356 {\tt
1357 void
1362 \vspace{0.3cm}
1363 \vspace{0.3cm}
1364 \vspace{0.3cm}
1365 \subsubsection{RPC name:~hard\_reboot}
1367 {\bf Overview:}
1368 Stop executing the specified VM without attempting a clean shutdown. Then
1369 perform reboot action specified in VM configuration.
1371 \noindent {\bf Signature:}
1372 \begin{verbatim} void hard_reboot (session_id s, VM ref vm)\end{verbatim}
1375 \noindent{\bf Arguments:}
1378 \vspace{0.3cm}
1379 \begin{tabular}{|c|c|p{7cm}|}
1380 \hline
1381 {\bf type} & {\bf name} & {\bf description} \\ \hline
1382 {\tt VM ref } & vm & The VM to reboot \\ \hline
1384 \end{tabular}
1386 \vspace{0.3cm}
1388 \noindent {\bf Return Type:}
1389 {\tt
1390 void
1395 \vspace{0.3cm}
1396 \vspace{0.3cm}
1397 \vspace{0.3cm}
1398 \subsubsection{RPC name:~suspend}
1400 {\bf Overview:}
1401 Suspend the specified VM to disk. This can only be called when the
1402 specified VM is in the Running state.
1404 \noindent {\bf Signature:}
1405 \begin{verbatim} void suspend (session_id s, VM ref vm)\end{verbatim}
1408 \noindent{\bf Arguments:}
1411 \vspace{0.3cm}
1412 \begin{tabular}{|c|c|p{7cm}|}
1413 \hline
1414 {\bf type} & {\bf name} & {\bf description} \\ \hline
1415 {\tt VM ref } & vm & The VM to hibernate \\ \hline
1417 \end{tabular}
1419 \vspace{0.3cm}
1421 \noindent {\bf Return Type:}
1422 {\tt
1423 void
1428 \vspace{0.3cm}
1430 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1432 \vspace{0.6cm}
1433 \subsubsection{RPC name:~resume}
1435 {\bf Overview:}
1436 Awaken the specified VM and resume it. This can only be called when the
1437 specified VM is in the Suspended state.
1439 \noindent {\bf Signature:}
1440 \begin{verbatim} void resume (session_id s, VM ref vm, bool start_paused)\end{verbatim}
1443 \noindent{\bf Arguments:}
1446 \vspace{0.3cm}
1447 \begin{tabular}{|c|c|p{7cm}|}
1448 \hline
1449 {\bf type} & {\bf name} & {\bf description} \\ \hline
1450 {\tt VM ref } & vm & The VM to unhibernate \\ \hline
1452 {\tt bool } & start\_paused & Unhibernate VM in paused state if set to true. \\ \hline
1454 \end{tabular}
1456 \vspace{0.3cm}
1458 \noindent {\bf Return Type:}
1459 {\tt
1460 void
1465 \vspace{0.3cm}
1467 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1469 \vspace{0.6cm}
1470 \subsubsection{RPC name:~get\_all}
1472 {\bf Overview:}
1473 Return a list of all the VMs known to the system.
1475 \noindent {\bf Signature:}
1476 \begin{verbatim} ((VM ref) Set) get_all (session_id s)\end{verbatim}
1479 \vspace{0.3cm}
1481 \noindent {\bf Return Type:}
1482 {\tt
1483 (VM ref) Set
1487 A list of all the IDs of all the VMs
1488 \vspace{0.3cm}
1489 \vspace{0.3cm}
1490 \vspace{0.3cm}
1491 \subsubsection{RPC name:~get\_uuid}
1493 {\bf Overview:}
1494 Get the uuid field of the given VM.
1496 \noindent {\bf Signature:}
1497 \begin{verbatim} string get_uuid (session_id s, VM ref self)\end{verbatim}
1500 \noindent{\bf Arguments:}
1503 \vspace{0.3cm}
1504 \begin{tabular}{|c|c|p{7cm}|}
1505 \hline
1506 {\bf type} & {\bf name} & {\bf description} \\ \hline
1507 {\tt VM ref } & self & reference to the object \\ \hline
1509 \end{tabular}
1511 \vspace{0.3cm}
1513 \noindent {\bf Return Type:}
1514 {\tt
1515 string
1519 value of the field
1520 \vspace{0.3cm}
1521 \vspace{0.3cm}
1522 \vspace{0.3cm}
1523 \subsubsection{RPC name:~get\_power\_state}
1525 {\bf Overview:}
1526 Get the power\_state field of the given VM.
1528 \noindent {\bf Signature:}
1529 \begin{verbatim} (vm_power_state) get_power_state (session_id s, VM ref self)\end{verbatim}
1532 \noindent{\bf Arguments:}
1535 \vspace{0.3cm}
1536 \begin{tabular}{|c|c|p{7cm}|}
1537 \hline
1538 {\bf type} & {\bf name} & {\bf description} \\ \hline
1539 {\tt VM ref } & self & reference to the object \\ \hline
1541 \end{tabular}
1543 \vspace{0.3cm}
1545 \noindent {\bf Return Type:}
1546 {\tt
1547 vm\_power\_state
1551 value of the field
1552 \vspace{0.3cm}
1553 \vspace{0.3cm}
1554 \vspace{0.3cm}
1555 \subsubsection{RPC name:~get\_name\_label}
1557 {\bf Overview:}
1558 Get the name/label field of the given VM.
1560 \noindent {\bf Signature:}
1561 \begin{verbatim} string get_name_label (session_id s, VM ref self)\end{verbatim}
1564 \noindent{\bf Arguments:}
1567 \vspace{0.3cm}
1568 \begin{tabular}{|c|c|p{7cm}|}
1569 \hline
1570 {\bf type} & {\bf name} & {\bf description} \\ \hline
1571 {\tt VM ref } & self & reference to the object \\ \hline
1573 \end{tabular}
1575 \vspace{0.3cm}
1577 \noindent {\bf Return Type:}
1578 {\tt
1579 string
1583 value of the field
1584 \vspace{0.3cm}
1585 \vspace{0.3cm}
1586 \vspace{0.3cm}
1587 \subsubsection{RPC name:~set\_name\_label}
1589 {\bf Overview:}
1590 Set the name/label field of the given VM.
1592 \noindent {\bf Signature:}
1593 \begin{verbatim} void set_name_label (session_id s, VM ref self, string value)\end{verbatim}
1596 \noindent{\bf Arguments:}
1599 \vspace{0.3cm}
1600 \begin{tabular}{|c|c|p{7cm}|}
1601 \hline
1602 {\bf type} & {\bf name} & {\bf description} \\ \hline
1603 {\tt VM ref } & self & reference to the object \\ \hline
1605 {\tt string } & value & New value to set \\ \hline
1607 \end{tabular}
1609 \vspace{0.3cm}
1611 \noindent {\bf Return Type:}
1612 {\tt
1613 void
1618 \vspace{0.3cm}
1619 \vspace{0.3cm}
1620 \vspace{0.3cm}
1621 \subsubsection{RPC name:~get\_name\_description}
1623 {\bf Overview:}
1624 Get the name/description field of the given VM.
1626 \noindent {\bf Signature:}
1627 \begin{verbatim} string get_name_description (session_id s, VM ref self)\end{verbatim}
1630 \noindent{\bf Arguments:}
1633 \vspace{0.3cm}
1634 \begin{tabular}{|c|c|p{7cm}|}
1635 \hline
1636 {\bf type} & {\bf name} & {\bf description} \\ \hline
1637 {\tt VM ref } & self & reference to the object \\ \hline
1639 \end{tabular}
1641 \vspace{0.3cm}
1643 \noindent {\bf Return Type:}
1644 {\tt
1645 string
1649 value of the field
1650 \vspace{0.3cm}
1651 \vspace{0.3cm}
1652 \vspace{0.3cm}
1653 \subsubsection{RPC name:~set\_name\_description}
1655 {\bf Overview:}
1656 Set the name/description field of the given VM.
1658 \noindent {\bf Signature:}
1659 \begin{verbatim} void set_name_description (session_id s, VM ref self, string value)\end{verbatim}
1662 \noindent{\bf Arguments:}
1665 \vspace{0.3cm}
1666 \begin{tabular}{|c|c|p{7cm}|}
1667 \hline
1668 {\bf type} & {\bf name} & {\bf description} \\ \hline
1669 {\tt VM ref } & self & reference to the object \\ \hline
1671 {\tt string } & value & New value to set \\ \hline
1673 \end{tabular}
1675 \vspace{0.3cm}
1677 \noindent {\bf Return Type:}
1678 {\tt
1679 void
1684 \vspace{0.3cm}
1685 \vspace{0.3cm}
1686 \vspace{0.3cm}
1687 \subsubsection{RPC name:~get\_user\_version}
1689 {\bf Overview:}
1690 Get the user\_version field of the given VM.
1692 \noindent {\bf Signature:}
1693 \begin{verbatim} int get_user_version (session_id s, VM ref self)\end{verbatim}
1696 \noindent{\bf Arguments:}
1699 \vspace{0.3cm}
1700 \begin{tabular}{|c|c|p{7cm}|}
1701 \hline
1702 {\bf type} & {\bf name} & {\bf description} \\ \hline
1703 {\tt VM ref } & self & reference to the object \\ \hline
1705 \end{tabular}
1707 \vspace{0.3cm}
1709 \noindent {\bf Return Type:}
1710 {\tt
1711 int
1715 value of the field
1716 \vspace{0.3cm}
1717 \vspace{0.3cm}
1718 \vspace{0.3cm}
1719 \subsubsection{RPC name:~set\_user\_version}
1721 {\bf Overview:}
1722 Set the user\_version field of the given VM.
1724 \noindent {\bf Signature:}
1725 \begin{verbatim} void set_user_version (session_id s, VM ref self, int value)\end{verbatim}
1728 \noindent{\bf Arguments:}
1731 \vspace{0.3cm}
1732 \begin{tabular}{|c|c|p{7cm}|}
1733 \hline
1734 {\bf type} & {\bf name} & {\bf description} \\ \hline
1735 {\tt VM ref } & self & reference to the object \\ \hline
1737 {\tt int } & value & New value to set \\ \hline
1739 \end{tabular}
1741 \vspace{0.3cm}
1743 \noindent {\bf Return Type:}
1744 {\tt
1745 void
1750 \vspace{0.3cm}
1751 \vspace{0.3cm}
1752 \vspace{0.3cm}
1753 \subsubsection{RPC name:~get\_is\_a\_template}
1755 {\bf Overview:}
1756 Get the is\_a\_template field of the given VM.
1758 \noindent {\bf Signature:}
1759 \begin{verbatim} bool get_is_a_template (session_id s, VM ref self)\end{verbatim}
1762 \noindent{\bf Arguments:}
1765 \vspace{0.3cm}
1766 \begin{tabular}{|c|c|p{7cm}|}
1767 \hline
1768 {\bf type} & {\bf name} & {\bf description} \\ \hline
1769 {\tt VM ref } & self & reference to the object \\ \hline
1771 \end{tabular}
1773 \vspace{0.3cm}
1775 \noindent {\bf Return Type:}
1776 {\tt
1777 bool
1781 value of the field
1782 \vspace{0.3cm}
1783 \vspace{0.3cm}
1784 \vspace{0.3cm}
1785 \subsubsection{RPC name:~set\_is\_a\_template}
1787 {\bf Overview:}
1788 Set the is\_a\_template field of the given VM.
1790 \noindent {\bf Signature:}
1791 \begin{verbatim} void set_is_a_template (session_id s, VM ref self, bool value)\end{verbatim}
1794 \noindent{\bf Arguments:}
1797 \vspace{0.3cm}
1798 \begin{tabular}{|c|c|p{7cm}|}
1799 \hline
1800 {\bf type} & {\bf name} & {\bf description} \\ \hline
1801 {\tt VM ref } & self & reference to the object \\ \hline
1803 {\tt bool } & value & New value to set \\ \hline
1805 \end{tabular}
1807 \vspace{0.3cm}
1809 \noindent {\bf Return Type:}
1810 {\tt
1811 void
1816 \vspace{0.3cm}
1817 \vspace{0.3cm}
1818 \vspace{0.3cm}
1819 \subsubsection{RPC name:~get\_auto\_power\_on}
1821 {\bf Overview:}
1822 Get the auto\_power\_on field of the given VM.
1824 \noindent {\bf Signature:}
1825 \begin{verbatim} bool get_auto_power_on (session_id s, VM ref self)\end{verbatim}
1828 \noindent{\bf Arguments:}
1831 \vspace{0.3cm}
1832 \begin{tabular}{|c|c|p{7cm}|}
1833 \hline
1834 {\bf type} & {\bf name} & {\bf description} \\ \hline
1835 {\tt VM ref } & self & reference to the object \\ \hline
1837 \end{tabular}
1839 \vspace{0.3cm}
1841 \noindent {\bf Return Type:}
1842 {\tt
1843 bool
1847 value of the field
1848 \vspace{0.3cm}
1849 \vspace{0.3cm}
1850 \vspace{0.3cm}
1851 \subsubsection{RPC name:~set\_auto\_power\_on}
1853 {\bf Overview:}
1854 Set the auto\_power\_on field of the given VM.
1856 \noindent {\bf Signature:}
1857 \begin{verbatim} void set_auto_power_on (session_id s, VM ref self, bool value)\end{verbatim}
1860 \noindent{\bf Arguments:}
1863 \vspace{0.3cm}
1864 \begin{tabular}{|c|c|p{7cm}|}
1865 \hline
1866 {\bf type} & {\bf name} & {\bf description} \\ \hline
1867 {\tt VM ref } & self & reference to the object \\ \hline
1869 {\tt bool } & value & New value to set \\ \hline
1871 \end{tabular}
1873 \vspace{0.3cm}
1875 \noindent {\bf Return Type:}
1876 {\tt
1877 void
1882 \vspace{0.3cm}
1883 \vspace{0.3cm}
1884 \vspace{0.3cm}
1885 \subsubsection{RPC name:~get\_suspend\_VDI}
1887 {\bf Overview:}
1888 Get the suspend\_VDI field of the given VM.
1890 \noindent {\bf Signature:}
1891 \begin{verbatim} (VDI ref) get_suspend_VDI (session_id s, VM ref self)\end{verbatim}
1894 \noindent{\bf Arguments:}
1897 \vspace{0.3cm}
1898 \begin{tabular}{|c|c|p{7cm}|}
1899 \hline
1900 {\bf type} & {\bf name} & {\bf description} \\ \hline
1901 {\tt VM ref } & self & reference to the object \\ \hline
1903 \end{tabular}
1905 \vspace{0.3cm}
1907 \noindent {\bf Return Type:}
1908 {\tt
1909 VDI ref
1913 value of the field
1914 \vspace{0.3cm}
1915 \vspace{0.3cm}
1916 \vspace{0.3cm}
1917 \subsubsection{RPC name:~get\_resident\_on}
1919 {\bf Overview:}
1920 Get the resident\_on field of the given VM.
1922 \noindent {\bf Signature:}
1923 \begin{verbatim} (host ref) get_resident_on (session_id s, VM ref self)\end{verbatim}
1926 \noindent{\bf Arguments:}
1929 \vspace{0.3cm}
1930 \begin{tabular}{|c|c|p{7cm}|}
1931 \hline
1932 {\bf type} & {\bf name} & {\bf description} \\ \hline
1933 {\tt VM ref } & self & reference to the object \\ \hline
1935 \end{tabular}
1937 \vspace{0.3cm}
1939 \noindent {\bf Return Type:}
1940 {\tt
1941 host ref
1945 value of the field
1946 \vspace{0.3cm}
1947 \vspace{0.3cm}
1948 \vspace{0.3cm}
1949 \subsubsection{RPC name:~get\_memory\_static\_max}
1951 {\bf Overview:}
1952 Get the memory/static\_max field of the given VM.
1954 \noindent {\bf Signature:}
1955 \begin{verbatim} int get_memory_static_max (session_id s, VM ref self)\end{verbatim}
1958 \noindent{\bf Arguments:}
1961 \vspace{0.3cm}
1962 \begin{tabular}{|c|c|p{7cm}|}
1963 \hline
1964 {\bf type} & {\bf name} & {\bf description} \\ \hline
1965 {\tt VM ref } & self & reference to the object \\ \hline
1967 \end{tabular}
1969 \vspace{0.3cm}
1971 \noindent {\bf Return Type:}
1972 {\tt
1973 int
1977 value of the field
1978 \vspace{0.3cm}
1979 \vspace{0.3cm}
1980 \vspace{0.3cm}
1981 \subsubsection{RPC name:~set\_memory\_static\_max}
1983 {\bf Overview:}
1984 Set the memory/static\_max field of the given VM.
1986 \noindent {\bf Signature:}
1987 \begin{verbatim} void set_memory_static_max (session_id s, VM ref self, int value)\end{verbatim}
1990 \noindent{\bf Arguments:}
1993 \vspace{0.3cm}
1994 \begin{tabular}{|c|c|p{7cm}|}
1995 \hline
1996 {\bf type} & {\bf name} & {\bf description} \\ \hline
1997 {\tt VM ref } & self & reference to the object \\ \hline
1999 {\tt int } & value & New value to set \\ \hline
2001 \end{tabular}
2003 \vspace{0.3cm}
2005 \noindent {\bf Return Type:}
2006 {\tt
2007 void
2012 \vspace{0.3cm}
2013 \vspace{0.3cm}
2014 \vspace{0.3cm}
2015 \subsubsection{RPC name:~get\_memory\_dynamic\_max}
2017 {\bf Overview:}
2018 Get the memory/dynamic\_max field of the given VM.
2020 \noindent {\bf Signature:}
2021 \begin{verbatim} int get_memory_dynamic_max (session_id s, VM ref self)\end{verbatim}
2024 \noindent{\bf Arguments:}
2027 \vspace{0.3cm}
2028 \begin{tabular}{|c|c|p{7cm}|}
2029 \hline
2030 {\bf type} & {\bf name} & {\bf description} \\ \hline
2031 {\tt VM ref } & self & reference to the object \\ \hline
2033 \end{tabular}
2035 \vspace{0.3cm}
2037 \noindent {\bf Return Type:}
2038 {\tt
2039 int
2043 value of the field
2044 \vspace{0.3cm}
2045 \vspace{0.3cm}
2046 \vspace{0.3cm}
2047 \subsubsection{RPC name:~set\_memory\_dynamic\_max}
2049 {\bf Overview:}
2050 Set the memory/dynamic\_max field of the given VM.
2052 \noindent {\bf Signature:}
2053 \begin{verbatim} void set_memory_dynamic_max (session_id s, VM ref self, int value)\end{verbatim}
2056 \noindent{\bf Arguments:}
2059 \vspace{0.3cm}
2060 \begin{tabular}{|c|c|p{7cm}|}
2061 \hline
2062 {\bf type} & {\bf name} & {\bf description} \\ \hline
2063 {\tt VM ref } & self & reference to the object \\ \hline
2065 {\tt int } & value & New value to set \\ \hline
2067 \end{tabular}
2069 \vspace{0.3cm}
2071 \noindent {\bf Return Type:}
2072 {\tt
2073 void
2078 \vspace{0.3cm}
2079 \vspace{0.3cm}
2080 \vspace{0.3cm}
2081 \subsubsection{RPC name:~get\_memory\_dynamic\_min}
2083 {\bf Overview:}
2084 Get the memory/dynamic\_min field of the given VM.
2086 \noindent {\bf Signature:}
2087 \begin{verbatim} int get_memory_dynamic_min (session_id s, VM ref self)\end{verbatim}
2090 \noindent{\bf Arguments:}
2093 \vspace{0.3cm}
2094 \begin{tabular}{|c|c|p{7cm}|}
2095 \hline
2096 {\bf type} & {\bf name} & {\bf description} \\ \hline
2097 {\tt VM ref } & self & reference to the object \\ \hline
2099 \end{tabular}
2101 \vspace{0.3cm}
2103 \noindent {\bf Return Type:}
2104 {\tt
2105 int
2109 value of the field
2110 \vspace{0.3cm}
2111 \vspace{0.3cm}
2112 \vspace{0.3cm}
2113 \subsubsection{RPC name:~set\_memory\_dynamic\_min}
2115 {\bf Overview:}
2116 Set the memory/dynamic\_min field of the given VM.
2118 \noindent {\bf Signature:}
2119 \begin{verbatim} void set_memory_dynamic_min (session_id s, VM ref self, int value)\end{verbatim}
2122 \noindent{\bf Arguments:}
2125 \vspace{0.3cm}
2126 \begin{tabular}{|c|c|p{7cm}|}
2127 \hline
2128 {\bf type} & {\bf name} & {\bf description} \\ \hline
2129 {\tt VM ref } & self & reference to the object \\ \hline
2131 {\tt int } & value & New value to set \\ \hline
2133 \end{tabular}
2135 \vspace{0.3cm}
2137 \noindent {\bf Return Type:}
2138 {\tt
2139 void
2144 \vspace{0.3cm}
2145 \vspace{0.3cm}
2146 \vspace{0.3cm}
2147 \subsubsection{RPC name:~get\_memory\_static\_min}
2149 {\bf Overview:}
2150 Get the memory/static\_min field of the given VM.
2152 \noindent {\bf Signature:}
2153 \begin{verbatim} int get_memory_static_min (session_id s, VM ref self)\end{verbatim}
2156 \noindent{\bf Arguments:}
2159 \vspace{0.3cm}
2160 \begin{tabular}{|c|c|p{7cm}|}
2161 \hline
2162 {\bf type} & {\bf name} & {\bf description} \\ \hline
2163 {\tt VM ref } & self & reference to the object \\ \hline
2165 \end{tabular}
2167 \vspace{0.3cm}
2169 \noindent {\bf Return Type:}
2170 {\tt
2171 int
2175 value of the field
2176 \vspace{0.3cm}
2177 \vspace{0.3cm}
2178 \vspace{0.3cm}
2179 \subsubsection{RPC name:~set\_memory\_static\_min}
2181 {\bf Overview:}
2182 Set the memory/static\_min field of the given VM.
2184 \noindent {\bf Signature:}
2185 \begin{verbatim} void set_memory_static_min (session_id s, VM ref self, int value)\end{verbatim}
2188 \noindent{\bf Arguments:}
2191 \vspace{0.3cm}
2192 \begin{tabular}{|c|c|p{7cm}|}
2193 \hline
2194 {\bf type} & {\bf name} & {\bf description} \\ \hline
2195 {\tt VM ref } & self & reference to the object \\ \hline
2197 {\tt int } & value & New value to set \\ \hline
2199 \end{tabular}
2201 \vspace{0.3cm}
2203 \noindent {\bf Return Type:}
2204 {\tt
2205 void
2210 \vspace{0.3cm}
2211 \vspace{0.3cm}
2212 \vspace{0.3cm}
2213 \subsubsection{RPC name:~get\_VCPUs\_policy}
2215 {\bf Overview:}
2216 Get the VCPUs/policy field of the given VM.
2218 \noindent {\bf Signature:}
2219 \begin{verbatim} string get_VCPUs_policy (session_id s, VM ref self)\end{verbatim}
2222 \noindent{\bf Arguments:}
2225 \vspace{0.3cm}
2226 \begin{tabular}{|c|c|p{7cm}|}
2227 \hline
2228 {\bf type} & {\bf name} & {\bf description} \\ \hline
2229 {\tt VM ref } & self & reference to the object \\ \hline
2231 \end{tabular}
2233 \vspace{0.3cm}
2235 \noindent {\bf Return Type:}
2236 {\tt
2237 string
2241 value of the field
2242 \vspace{0.3cm}
2243 \vspace{0.3cm}
2244 \vspace{0.3cm}
2245 \subsubsection{RPC name:~set\_VCPUs\_policy}
2247 {\bf Overview:}
2248 Set the VCPUs/policy field of the given VM.
2250 \noindent {\bf Signature:}
2251 \begin{verbatim} void set_VCPUs_policy (session_id s, VM ref self, string value)\end{verbatim}
2254 \noindent{\bf Arguments:}
2257 \vspace{0.3cm}
2258 \begin{tabular}{|c|c|p{7cm}|}
2259 \hline
2260 {\bf type} & {\bf name} & {\bf description} \\ \hline
2261 {\tt VM ref } & self & reference to the object \\ \hline
2263 {\tt string } & value & New value to set \\ \hline
2265 \end{tabular}
2267 \vspace{0.3cm}
2269 \noindent {\bf Return Type:}
2270 {\tt
2271 void
2276 \vspace{0.3cm}
2277 \vspace{0.3cm}
2278 \vspace{0.3cm}
2279 \subsubsection{RPC name:~get\_VCPUs\_params}
2281 {\bf Overview:}
2282 Get the VCPUs/params field of the given VM.
2284 \noindent {\bf Signature:}
2285 \begin{verbatim} ((string -> string) Map) get_VCPUs_params (session_id s, VM ref self)\end{verbatim}
2288 \noindent{\bf Arguments:}
2291 \vspace{0.3cm}
2292 \begin{tabular}{|c|c|p{7cm}|}
2293 \hline
2294 {\bf type} & {\bf name} & {\bf description} \\ \hline
2295 {\tt VM ref } & self & reference to the object \\ \hline
2297 \end{tabular}
2299 \vspace{0.3cm}
2301 \noindent {\bf Return Type:}
2302 {\tt
2303 (string $\rightarrow$ string) Map
2307 value of the field
2308 \vspace{0.3cm}
2309 \vspace{0.3cm}
2310 \vspace{0.3cm}
2311 \subsubsection{RPC name:~set\_VCPUs\_params}
2313 {\bf Overview:}
2314 Set the VCPUs/params field of the given VM.
2316 \noindent {\bf Signature:}
2317 \begin{verbatim} void set_VCPUs_params (session_id s, VM ref self, (string -> string) Map value)\end{verbatim}
2320 \noindent{\bf Arguments:}
2323 \vspace{0.3cm}
2324 \begin{tabular}{|c|c|p{7cm}|}
2325 \hline
2326 {\bf type} & {\bf name} & {\bf description} \\ \hline
2327 {\tt VM ref } & self & reference to the object \\ \hline
2329 {\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline
2331 \end{tabular}
2333 \vspace{0.3cm}
2335 \noindent {\bf Return Type:}
2336 {\tt
2337 void
2342 \vspace{0.3cm}
2343 \vspace{0.3cm}
2344 \vspace{0.3cm}
2345 \subsubsection{RPC name:~add\_to\_VCPUs\_params}
2347 {\bf Overview:}
2348 Add the given key-value pair to the VCPUs/params field of the given VM.
2350 \noindent {\bf Signature:}
2351 \begin{verbatim} void add_to_VCPUs_params (session_id s, VM ref self, string key, string value)\end{verbatim}
2354 \noindent{\bf Arguments:}
2357 \vspace{0.3cm}
2358 \begin{tabular}{|c|c|p{7cm}|}
2359 \hline
2360 {\bf type} & {\bf name} & {\bf description} \\ \hline
2361 {\tt VM ref } & self & reference to the object \\ \hline
2363 {\tt string } & key & Key to add \\ \hline
2365 {\tt string } & value & Value to add \\ \hline
2367 \end{tabular}
2369 \vspace{0.3cm}
2371 \noindent {\bf Return Type:}
2372 {\tt
2373 void
2378 \vspace{0.3cm}
2379 \vspace{0.3cm}
2380 \vspace{0.3cm}
2381 \subsubsection{RPC name:~remove\_from\_VCPUs\_params}
2383 {\bf Overview:}
2384 Remove the given key and its corresponding value from the VCPUs/params
2385 field of the given VM. If the key is not in that Map, then do nothing.
2387 \noindent {\bf Signature:}
2388 \begin{verbatim} void remove_from_VCPUs_params (session_id s, VM ref self, string key)\end{verbatim}
2391 \noindent{\bf Arguments:}
2394 \vspace{0.3cm}
2395 \begin{tabular}{|c|c|p{7cm}|}
2396 \hline
2397 {\bf type} & {\bf name} & {\bf description} \\ \hline
2398 {\tt VM ref } & self & reference to the object \\ \hline
2400 {\tt string } & key & Key to remove \\ \hline
2402 \end{tabular}
2404 \vspace{0.3cm}
2406 \noindent {\bf Return Type:}
2407 {\tt
2408 void
2413 \vspace{0.3cm}
2414 \vspace{0.3cm}
2415 \vspace{0.3cm}
2416 \subsubsection{RPC name:~get\_VCPUs\_max}
2418 {\bf Overview:}
2419 Get the VCPUs/max field of the given VM.
2421 \noindent {\bf Signature:}
2422 \begin{verbatim} int get_VCPUs_max (session_id s, VM ref self)\end{verbatim}
2425 \noindent{\bf Arguments:}
2428 \vspace{0.3cm}
2429 \begin{tabular}{|c|c|p{7cm}|}
2430 \hline
2431 {\bf type} & {\bf name} & {\bf description} \\ \hline
2432 {\tt VM ref } & self & reference to the object \\ \hline
2434 \end{tabular}
2436 \vspace{0.3cm}
2438 \noindent {\bf Return Type:}
2439 {\tt
2440 int
2444 value of the field
2445 \vspace{0.3cm}
2446 \vspace{0.3cm}
2447 \vspace{0.3cm}
2448 \subsubsection{RPC name:~set\_VCPUs\_max}
2450 {\bf Overview:}
2451 Set the VCPUs/max field of the given VM.
2453 \noindent {\bf Signature:}
2454 \begin{verbatim} void set_VCPUs_max (session_id s, VM ref self, int value)\end{verbatim}
2457 \noindent{\bf Arguments:}
2460 \vspace{0.3cm}
2461 \begin{tabular}{|c|c|p{7cm}|}
2462 \hline
2463 {\bf type} & {\bf name} & {\bf description} \\ \hline
2464 {\tt VM ref } & self & reference to the object \\ \hline
2466 {\tt int } & value & New value to set \\ \hline
2468 \end{tabular}
2470 \vspace{0.3cm}
2472 \noindent {\bf Return Type:}
2473 {\tt
2474 void
2479 \vspace{0.3cm}
2480 \vspace{0.3cm}
2481 \vspace{0.3cm}
2482 \subsubsection{RPC name:~get\_VCPUs\_at\_startup}
2484 {\bf Overview:}
2485 Get the VCPUs/at\_startup field of the given VM.
2487 \noindent {\bf Signature:}
2488 \begin{verbatim} int get_VCPUs_at_startup (session_id s, VM ref self)\end{verbatim}
2491 \noindent{\bf Arguments:}
2494 \vspace{0.3cm}
2495 \begin{tabular}{|c|c|p{7cm}|}
2496 \hline
2497 {\bf type} & {\bf name} & {\bf description} \\ \hline
2498 {\tt VM ref } & self & reference to the object \\ \hline
2500 \end{tabular}
2502 \vspace{0.3cm}
2504 \noindent {\bf Return Type:}
2505 {\tt
2506 int
2510 value of the field
2511 \vspace{0.3cm}
2512 \vspace{0.3cm}
2513 \vspace{0.3cm}
2514 \subsubsection{RPC name:~set\_VCPUs\_at\_startup}
2516 {\bf Overview:}
2517 Set the VCPUs/at\_startup field of the given VM.
2519 \noindent {\bf Signature:}
2520 \begin{verbatim} void set_VCPUs_at_startup (session_id s, VM ref self, int value)\end{verbatim}
2523 \noindent{\bf Arguments:}
2526 \vspace{0.3cm}
2527 \begin{tabular}{|c|c|p{7cm}|}
2528 \hline
2529 {\bf type} & {\bf name} & {\bf description} \\ \hline
2530 {\tt VM ref } & self & reference to the object \\ \hline
2532 {\tt int } & value & New value to set \\ \hline
2534 \end{tabular}
2536 \vspace{0.3cm}
2538 \noindent {\bf Return Type:}
2539 {\tt
2540 void
2545 \vspace{0.3cm}
2546 \vspace{0.3cm}
2547 \vspace{0.3cm}
2548 \subsubsection{RPC name:~get\_actions\_after\_shutdown}
2550 {\bf Overview:}
2551 Get the actions/after\_shutdown field of the given VM.
2553 \noindent {\bf Signature:}
2554 \begin{verbatim} (on_normal_exit) get_actions_after_shutdown (session_id s, VM ref self)\end{verbatim}
2557 \noindent{\bf Arguments:}
2560 \vspace{0.3cm}
2561 \begin{tabular}{|c|c|p{7cm}|}
2562 \hline
2563 {\bf type} & {\bf name} & {\bf description} \\ \hline
2564 {\tt VM ref } & self & reference to the object \\ \hline
2566 \end{tabular}
2568 \vspace{0.3cm}
2570 \noindent {\bf Return Type:}
2571 {\tt
2572 on\_normal\_exit
2576 value of the field
2577 \vspace{0.3cm}
2578 \vspace{0.3cm}
2579 \vspace{0.3cm}
2580 \subsubsection{RPC name:~set\_actions\_after\_shutdown}
2582 {\bf Overview:}
2583 Set the actions/after\_shutdown field of the given VM.
2585 \noindent {\bf Signature:}
2586 \begin{verbatim} void set_actions_after_shutdown (session_id s, VM ref self, on_normal_exit value)\end{verbatim}
2589 \noindent{\bf Arguments:}
2592 \vspace{0.3cm}
2593 \begin{tabular}{|c|c|p{7cm}|}
2594 \hline
2595 {\bf type} & {\bf name} & {\bf description} \\ \hline
2596 {\tt VM ref } & self & reference to the object \\ \hline
2598 {\tt on\_normal\_exit } & value & New value to set \\ \hline
2600 \end{tabular}
2602 \vspace{0.3cm}
2604 \noindent {\bf Return Type:}
2605 {\tt
2606 void
2611 \vspace{0.3cm}
2612 \vspace{0.3cm}
2613 \vspace{0.3cm}
2614 \subsubsection{RPC name:~get\_actions\_after\_reboot}
2616 {\bf Overview:}
2617 Get the actions/after\_reboot field of the given VM.
2619 \noindent {\bf Signature:}
2620 \begin{verbatim} (on_normal_exit) get_actions_after_reboot (session_id s, VM ref self)\end{verbatim}
2623 \noindent{\bf Arguments:}
2626 \vspace{0.3cm}
2627 \begin{tabular}{|c|c|p{7cm}|}
2628 \hline
2629 {\bf type} & {\bf name} & {\bf description} \\ \hline
2630 {\tt VM ref } & self & reference to the object \\ \hline
2632 \end{tabular}
2634 \vspace{0.3cm}
2636 \noindent {\bf Return Type:}
2637 {\tt
2638 on\_normal\_exit
2642 value of the field
2643 \vspace{0.3cm}
2644 \vspace{0.3cm}
2645 \vspace{0.3cm}
2646 \subsubsection{RPC name:~set\_actions\_after\_reboot}
2648 {\bf Overview:}
2649 Set the actions/after\_reboot field of the given VM.
2651 \noindent {\bf Signature:}
2652 \begin{verbatim} void set_actions_after_reboot (session_id s, VM ref self, on_normal_exit value)\end{verbatim}
2655 \noindent{\bf Arguments:}
2658 \vspace{0.3cm}
2659 \begin{tabular}{|c|c|p{7cm}|}
2660 \hline
2661 {\bf type} & {\bf name} & {\bf description} \\ \hline
2662 {\tt VM ref } & self & reference to the object \\ \hline
2664 {\tt on\_normal\_exit } & value & New value to set \\ \hline
2666 \end{tabular}
2668 \vspace{0.3cm}
2670 \noindent {\bf Return Type:}
2671 {\tt
2672 void
2677 \vspace{0.3cm}
2678 \vspace{0.3cm}
2679 \vspace{0.3cm}
2680 \subsubsection{RPC name:~get\_actions\_after\_crash}
2682 {\bf Overview:}
2683 Get the actions/after\_crash field of the given VM.
2685 \noindent {\bf Signature:}
2686 \begin{verbatim} (on_crash_behaviour) get_actions_after_crash (session_id s, VM ref self)\end{verbatim}
2689 \noindent{\bf Arguments:}
2692 \vspace{0.3cm}
2693 \begin{tabular}{|c|c|p{7cm}|}
2694 \hline
2695 {\bf type} & {\bf name} & {\bf description} \\ \hline
2696 {\tt VM ref } & self & reference to the object \\ \hline
2698 \end{tabular}
2700 \vspace{0.3cm}
2702 \noindent {\bf Return Type:}
2703 {\tt
2704 on\_crash\_behaviour
2708 value of the field
2709 \vspace{0.3cm}
2710 \vspace{0.3cm}
2711 \vspace{0.3cm}
2712 \subsubsection{RPC name:~set\_actions\_after\_crash}
2714 {\bf Overview:}
2715 Set the actions/after\_crash field of the given VM.
2717 \noindent {\bf Signature:}
2718 \begin{verbatim} void set_actions_after_crash (session_id s, VM ref self, on_crash_behaviour value)\end{verbatim}
2721 \noindent{\bf Arguments:}
2724 \vspace{0.3cm}
2725 \begin{tabular}{|c|c|p{7cm}|}
2726 \hline
2727 {\bf type} & {\bf name} & {\bf description} \\ \hline
2728 {\tt VM ref } & self & reference to the object \\ \hline
2730 {\tt on\_crash\_behaviour } & value & New value to set \\ \hline
2732 \end{tabular}
2734 \vspace{0.3cm}
2736 \noindent {\bf Return Type:}
2737 {\tt
2738 void
2743 \vspace{0.3cm}
2744 \vspace{0.3cm}
2745 \vspace{0.3cm}
2746 \subsubsection{RPC name:~get\_consoles}
2748 {\bf Overview:}
2749 Get the consoles field of the given VM.
2751 \noindent {\bf Signature:}
2752 \begin{verbatim} ((console ref) Set) get_consoles (session_id s, VM ref self)\end{verbatim}
2755 \noindent{\bf Arguments:}
2758 \vspace{0.3cm}
2759 \begin{tabular}{|c|c|p{7cm}|}
2760 \hline
2761 {\bf type} & {\bf name} & {\bf description} \\ \hline
2762 {\tt VM ref } & self & reference to the object \\ \hline
2764 \end{tabular}
2766 \vspace{0.3cm}
2768 \noindent {\bf Return Type:}
2769 {\tt
2770 (console ref) Set
2774 value of the field
2775 \vspace{0.3cm}
2776 \vspace{0.3cm}
2777 \vspace{0.3cm}
2778 \subsubsection{RPC name:~get\_VIFs}
2780 {\bf Overview:}
2781 Get the VIFs field of the given VM.
2783 \noindent {\bf Signature:}
2784 \begin{verbatim} ((VIF ref) Set) get_VIFs (session_id s, VM ref self)\end{verbatim}
2787 \noindent{\bf Arguments:}
2790 \vspace{0.3cm}
2791 \begin{tabular}{|c|c|p{7cm}|}
2792 \hline
2793 {\bf type} & {\bf name} & {\bf description} \\ \hline
2794 {\tt VM ref } & self & reference to the object \\ \hline
2796 \end{tabular}
2798 \vspace{0.3cm}
2800 \noindent {\bf Return Type:}
2801 {\tt
2802 (VIF ref) Set
2806 value of the field
2807 \vspace{0.3cm}
2808 \vspace{0.3cm}
2809 \vspace{0.3cm}
2810 \subsubsection{RPC name:~get\_VBDs}
2812 {\bf Overview:}
2813 Get the VBDs field of the given VM.
2815 \noindent {\bf Signature:}
2816 \begin{verbatim} ((VBD ref) Set) get_VBDs (session_id s, VM ref self)\end{verbatim}
2819 \noindent{\bf Arguments:}
2822 \vspace{0.3cm}
2823 \begin{tabular}{|c|c|p{7cm}|}
2824 \hline
2825 {\bf type} & {\bf name} & {\bf description} \\ \hline
2826 {\tt VM ref } & self & reference to the object \\ \hline
2828 \end{tabular}
2830 \vspace{0.3cm}
2832 \noindent {\bf Return Type:}
2833 {\tt
2834 (VBD ref) Set
2838 value of the field
2839 \vspace{0.3cm}
2840 \vspace{0.3cm}
2841 \vspace{0.3cm}
2842 \subsubsection{RPC name:~get\_crash\_dumps}
2844 {\bf Overview:}
2845 Get the crash\_dumps field of the given VM.
2847 \noindent {\bf Signature:}
2848 \begin{verbatim} ((crashdump ref) Set) get_crash_dumps (session_id s, VM ref self)\end{verbatim}
2851 \noindent{\bf Arguments:}
2854 \vspace{0.3cm}
2855 \begin{tabular}{|c|c|p{7cm}|}
2856 \hline
2857 {\bf type} & {\bf name} & {\bf description} \\ \hline
2858 {\tt VM ref } & self & reference to the object \\ \hline
2860 \end{tabular}
2862 \vspace{0.3cm}
2864 \noindent {\bf Return Type:}
2865 {\tt
2866 (crashdump ref) Set
2870 value of the field
2871 \vspace{0.3cm}
2872 \vspace{0.3cm}
2873 \vspace{0.3cm}
2874 \subsubsection{RPC name:~get\_VTPMs}
2876 {\bf Overview:}
2877 Get the VTPMs field of the given VM.
2879 \noindent {\bf Signature:}
2880 \begin{verbatim} ((VTPM ref) Set) get_VTPMs (session_id s, VM ref self)\end{verbatim}
2883 \noindent{\bf Arguments:}
2886 \vspace{0.3cm}
2887 \begin{tabular}{|c|c|p{7cm}|}
2888 \hline
2889 {\bf type} & {\bf name} & {\bf description} \\ \hline
2890 {\tt VM ref } & self & reference to the object \\ \hline
2892 \end{tabular}
2894 \vspace{0.3cm}
2896 \noindent {\bf Return Type:}
2897 {\tt
2898 (VTPM ref) Set
2902 value of the field
2903 \vspace{0.3cm}
2904 \vspace{0.3cm}
2905 \vspace{0.3cm}
2906 \subsubsection{RPC name:~get\_PV\_bootloader}
2908 {\bf Overview:}
2909 Get the PV/bootloader field of the given VM.
2911 \noindent {\bf Signature:}
2912 \begin{verbatim} string get_PV_bootloader (session_id s, VM ref self)\end{verbatim}
2915 \noindent{\bf Arguments:}
2918 \vspace{0.3cm}
2919 \begin{tabular}{|c|c|p{7cm}|}
2920 \hline
2921 {\bf type} & {\bf name} & {\bf description} \\ \hline
2922 {\tt VM ref } & self & reference to the object \\ \hline
2924 \end{tabular}
2926 \vspace{0.3cm}
2928 \noindent {\bf Return Type:}
2929 {\tt
2930 string
2934 value of the field
2935 \vspace{0.3cm}
2936 \vspace{0.3cm}
2937 \vspace{0.3cm}
2938 \subsubsection{RPC name:~set\_PV\_bootloader}
2940 {\bf Overview:}
2941 Set the PV/bootloader field of the given VM.
2943 \noindent {\bf Signature:}
2944 \begin{verbatim} void set_PV_bootloader (session_id s, VM ref self, string value)\end{verbatim}
2947 \noindent{\bf Arguments:}
2950 \vspace{0.3cm}
2951 \begin{tabular}{|c|c|p{7cm}|}
2952 \hline
2953 {\bf type} & {\bf name} & {\bf description} \\ \hline
2954 {\tt VM ref } & self & reference to the object \\ \hline
2956 {\tt string } & value & New value to set \\ \hline
2958 \end{tabular}
2960 \vspace{0.3cm}
2962 \noindent {\bf Return Type:}
2963 {\tt
2964 void
2969 \vspace{0.3cm}
2970 \vspace{0.3cm}
2971 \vspace{0.3cm}
2972 \subsubsection{RPC name:~get\_PV\_kernel}
2974 {\bf Overview:}
2975 Get the PV/kernel field of the given VM.
2977 \noindent {\bf Signature:}
2978 \begin{verbatim} string get_PV_kernel (session_id s, VM ref self)\end{verbatim}
2981 \noindent{\bf Arguments:}
2984 \vspace{0.3cm}
2985 \begin{tabular}{|c|c|p{7cm}|}
2986 \hline
2987 {\bf type} & {\bf name} & {\bf description} \\ \hline
2988 {\tt VM ref } & self & reference to the object \\ \hline
2990 \end{tabular}
2992 \vspace{0.3cm}
2994 \noindent {\bf Return Type:}
2995 {\tt
2996 string
3000 value of the field
3001 \vspace{0.3cm}
3002 \vspace{0.3cm}
3003 \vspace{0.3cm}
3004 \subsubsection{RPC name:~set\_PV\_kernel}
3006 {\bf Overview:}
3007 Set the PV/kernel field of the given VM.
3009 \noindent {\bf Signature:}
3010 \begin{verbatim} void set_PV_kernel (session_id s, VM ref self, string value)\end{verbatim}
3013 \noindent{\bf Arguments:}
3016 \vspace{0.3cm}
3017 \begin{tabular}{|c|c|p{7cm}|}
3018 \hline
3019 {\bf type} & {\bf name} & {\bf description} \\ \hline
3020 {\tt VM ref } & self & reference to the object \\ \hline
3022 {\tt string } & value & New value to set \\ \hline
3024 \end{tabular}
3026 \vspace{0.3cm}
3028 \noindent {\bf Return Type:}
3029 {\tt
3030 void
3035 \vspace{0.3cm}
3036 \vspace{0.3cm}
3037 \vspace{0.3cm}
3038 \subsubsection{RPC name:~get\_PV\_ramdisk}
3040 {\bf Overview:}
3041 Get the PV/ramdisk field of the given VM.
3043 \noindent {\bf Signature:}
3044 \begin{verbatim} string get_PV_ramdisk (session_id s, VM ref self)\end{verbatim}
3047 \noindent{\bf Arguments:}
3050 \vspace{0.3cm}
3051 \begin{tabular}{|c|c|p{7cm}|}
3052 \hline
3053 {\bf type} & {\bf name} & {\bf description} \\ \hline
3054 {\tt VM ref } & self & reference to the object \\ \hline
3056 \end{tabular}
3058 \vspace{0.3cm}
3060 \noindent {\bf Return Type:}
3061 {\tt
3062 string
3066 value of the field
3067 \vspace{0.3cm}
3068 \vspace{0.3cm}
3069 \vspace{0.3cm}
3070 \subsubsection{RPC name:~set\_PV\_ramdisk}
3072 {\bf Overview:}
3073 Set the PV/ramdisk field of the given VM.
3075 \noindent {\bf Signature:}
3076 \begin{verbatim} void set_PV_ramdisk (session_id s, VM ref self, string value)\end{verbatim}
3079 \noindent{\bf Arguments:}
3082 \vspace{0.3cm}
3083 \begin{tabular}{|c|c|p{7cm}|}
3084 \hline
3085 {\bf type} & {\bf name} & {\bf description} \\ \hline
3086 {\tt VM ref } & self & reference to the object \\ \hline
3088 {\tt string } & value & New value to set \\ \hline
3090 \end{tabular}
3092 \vspace{0.3cm}
3094 \noindent {\bf Return Type:}
3095 {\tt
3096 void
3101 \vspace{0.3cm}
3102 \vspace{0.3cm}
3103 \vspace{0.3cm}
3104 \subsubsection{RPC name:~get\_PV\_args}
3106 {\bf Overview:}
3107 Get the PV/args field of the given VM.
3109 \noindent {\bf Signature:}
3110 \begin{verbatim} string get_PV_args (session_id s, VM ref self)\end{verbatim}
3113 \noindent{\bf Arguments:}
3116 \vspace{0.3cm}
3117 \begin{tabular}{|c|c|p{7cm}|}
3118 \hline
3119 {\bf type} & {\bf name} & {\bf description} \\ \hline
3120 {\tt VM ref } & self & reference to the object \\ \hline
3122 \end{tabular}
3124 \vspace{0.3cm}
3126 \noindent {\bf Return Type:}
3127 {\tt
3128 string
3132 value of the field
3133 \vspace{0.3cm}
3134 \vspace{0.3cm}
3135 \vspace{0.3cm}
3136 \subsubsection{RPC name:~set\_PV\_args}
3138 {\bf Overview:}
3139 Set the PV/args field of the given VM.
3141 \noindent {\bf Signature:}
3142 \begin{verbatim} void set_PV_args (session_id s, VM ref self, string value)\end{verbatim}
3145 \noindent{\bf Arguments:}
3148 \vspace{0.3cm}
3149 \begin{tabular}{|c|c|p{7cm}|}
3150 \hline
3151 {\bf type} & {\bf name} & {\bf description} \\ \hline
3152 {\tt VM ref } & self & reference to the object \\ \hline
3154 {\tt string } & value & New value to set \\ \hline
3156 \end{tabular}
3158 \vspace{0.3cm}
3160 \noindent {\bf Return Type:}
3161 {\tt
3162 void
3167 \vspace{0.3cm}
3168 \vspace{0.3cm}
3169 \vspace{0.3cm}
3170 \subsubsection{RPC name:~get\_PV\_bootloader\_args}
3172 {\bf Overview:}
3173 Get the PV/bootloader\_args field of the given VM.
3175 \noindent {\bf Signature:}
3176 \begin{verbatim} string get_PV_bootloader_args (session_id s, VM ref self)\end{verbatim}
3179 \noindent{\bf Arguments:}
3182 \vspace{0.3cm}
3183 \begin{tabular}{|c|c|p{7cm}|}
3184 \hline
3185 {\bf type} & {\bf name} & {\bf description} \\ \hline
3186 {\tt VM ref } & self & reference to the object \\ \hline
3188 \end{tabular}
3190 \vspace{0.3cm}
3192 \noindent {\bf Return Type:}
3193 {\tt
3194 string
3198 value of the field
3199 \vspace{0.3cm}
3200 \vspace{0.3cm}
3201 \vspace{0.3cm}
3202 \subsubsection{RPC name:~set\_PV\_bootloader\_args}
3204 {\bf Overview:}
3205 Set the PV/bootloader\_args field of the given VM.
3207 \noindent {\bf Signature:}
3208 \begin{verbatim} void set_PV_bootloader_args (session_id s, VM ref self, string value)\end{verbatim}
3211 \noindent{\bf Arguments:}
3214 \vspace{0.3cm}
3215 \begin{tabular}{|c|c|p{7cm}|}
3216 \hline
3217 {\bf type} & {\bf name} & {\bf description} \\ \hline
3218 {\tt VM ref } & self & reference to the object \\ \hline
3220 {\tt string } & value & New value to set \\ \hline
3222 \end{tabular}
3224 \vspace{0.3cm}
3226 \noindent {\bf Return Type:}
3227 {\tt
3228 void
3233 \vspace{0.3cm}
3234 \vspace{0.3cm}
3235 \vspace{0.3cm}
3236 \subsubsection{RPC name:~get\_HVM\_boot\_policy}
3238 {\bf Overview:}
3239 Get the HVM/boot\_policy field of the given VM.
3241 \noindent {\bf Signature:}
3242 \begin{verbatim} string get_HVM_boot_policy (session_id s, VM ref self)\end{verbatim}
3245 \noindent{\bf Arguments:}
3248 \vspace{0.3cm}
3249 \begin{tabular}{|c|c|p{7cm}|}
3250 \hline
3251 {\bf type} & {\bf name} & {\bf description} \\ \hline
3252 {\tt VM ref } & self & reference to the object \\ \hline
3254 \end{tabular}
3256 \vspace{0.3cm}
3258 \noindent {\bf Return Type:}
3259 {\tt
3260 string
3264 value of the field
3265 \vspace{0.3cm}
3266 \vspace{0.3cm}
3267 \vspace{0.3cm}
3268 \subsubsection{RPC name:~set\_HVM\_boot\_policy}
3270 {\bf Overview:}
3271 Set the HVM/boot\_policy field of the given VM.
3273 \noindent {\bf Signature:}
3274 \begin{verbatim} void set_HVM_boot_policy (session_id s, VM ref self, string value)\end{verbatim}
3277 \noindent{\bf Arguments:}
3280 \vspace{0.3cm}
3281 \begin{tabular}{|c|c|p{7cm}|}
3282 \hline
3283 {\bf type} & {\bf name} & {\bf description} \\ \hline
3284 {\tt VM ref } & self & reference to the object \\ \hline
3286 {\tt string } & value & New value to set \\ \hline
3288 \end{tabular}
3290 \vspace{0.3cm}
3292 \noindent {\bf Return Type:}
3293 {\tt
3294 void
3299 \vspace{0.3cm}
3300 \vspace{0.3cm}
3301 \vspace{0.3cm}
3302 \subsubsection{RPC name:~get\_HVM\_boot\_params}
3304 {\bf Overview:}
3305 Get the HVM/boot\_params field of the given VM.
3307 \noindent {\bf Signature:}
3308 \begin{verbatim} ((string -> string) Map) get_HVM_boot_params (session_id s, VM ref self)\end{verbatim}
3311 \noindent{\bf Arguments:}
3314 \vspace{0.3cm}
3315 \begin{tabular}{|c|c|p{7cm}|}
3316 \hline
3317 {\bf type} & {\bf name} & {\bf description} \\ \hline
3318 {\tt VM ref } & self & reference to the object \\ \hline
3320 \end{tabular}
3322 \vspace{0.3cm}
3324 \noindent {\bf Return Type:}
3325 {\tt
3326 (string $\rightarrow$ string) Map
3330 value of the field
3331 \vspace{0.3cm}
3332 \vspace{0.3cm}
3333 \vspace{0.3cm}
3334 \subsubsection{RPC name:~set\_HVM\_boot\_params}
3336 {\bf Overview:}
3337 Set the HVM/boot\_params field of the given VM.
3339 \noindent {\bf Signature:}
3340 \begin{verbatim} void set_HVM_boot_params (session_id s, VM ref self, (string -> string) Map value)\end{verbatim}
3343 \noindent{\bf Arguments:}
3346 \vspace{0.3cm}
3347 \begin{tabular}{|c|c|p{7cm}|}
3348 \hline
3349 {\bf type} & {\bf name} & {\bf description} \\ \hline
3350 {\tt VM ref } & self & reference to the object \\ \hline
3352 {\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline
3354 \end{tabular}
3356 \vspace{0.3cm}
3358 \noindent {\bf Return Type:}
3359 {\tt
3360 void
3365 \vspace{0.3cm}
3366 \vspace{0.3cm}
3367 \vspace{0.3cm}
3368 \subsubsection{RPC name:~add\_to\_HVM\_boot\_params}
3370 {\bf Overview:}
3371 Add the given key-value pair to the HVM/boot\_params field of the given VM.
3373 \noindent {\bf Signature:}
3374 \begin{verbatim} void add_to_HVM_boot_params (session_id s, VM ref self, string key, string value)\end{verbatim}
3377 \noindent{\bf Arguments:}
3380 \vspace{0.3cm}
3381 \begin{tabular}{|c|c|p{7cm}|}
3382 \hline
3383 {\bf type} & {\bf name} & {\bf description} \\ \hline
3384 {\tt VM ref } & self & reference to the object \\ \hline
3386 {\tt string } & key & Key to add \\ \hline
3388 {\tt string } & value & Value to add \\ \hline
3390 \end{tabular}
3392 \vspace{0.3cm}
3394 \noindent {\bf Return Type:}
3395 {\tt
3396 void
3401 \vspace{0.3cm}
3402 \vspace{0.3cm}
3403 \vspace{0.3cm}
3404 \subsubsection{RPC name:~remove\_from\_HVM\_boot\_params}
3406 {\bf Overview:}
3407 Remove the given key and its corresponding value from the HVM/boot\_params
3408 field of the given VM. If the key is not in that Map, then do nothing.
3410 \noindent {\bf Signature:}
3411 \begin{verbatim} void remove_from_HVM_boot_params (session_id s, VM ref self, string key)\end{verbatim}
3414 \noindent{\bf Arguments:}
3417 \vspace{0.3cm}
3418 \begin{tabular}{|c|c|p{7cm}|}
3419 \hline
3420 {\bf type} & {\bf name} & {\bf description} \\ \hline
3421 {\tt VM ref } & self & reference to the object \\ \hline
3423 {\tt string } & key & Key to remove \\ \hline
3425 \end{tabular}
3427 \vspace{0.3cm}
3429 \noindent {\bf Return Type:}
3430 {\tt
3431 void
3436 \vspace{0.3cm}
3437 \vspace{0.3cm}
3438 \vspace{0.3cm}
3439 \subsubsection{RPC name:~get\_platform\_std\_VGA}
3441 {\bf Overview:}
3442 Get the platform/std\_VGA field of the given VM.
3444 \noindent {\bf Signature:}
3445 \begin{verbatim} bool get_platform_std_VGA (session_id s, VM ref self)\end{verbatim}
3448 \noindent{\bf Arguments:}
3451 \vspace{0.3cm}
3452 \begin{tabular}{|c|c|p{7cm}|}
3453 \hline
3454 {\bf type} & {\bf name} & {\bf description} \\ \hline
3455 {\tt VM ref } & self & reference to the object \\ \hline
3457 \end{tabular}
3459 \vspace{0.3cm}
3461 \noindent {\bf Return Type:}
3462 {\tt
3463 bool
3467 value of the field
3468 \vspace{0.3cm}
3469 \vspace{0.3cm}
3470 \vspace{0.3cm}
3471 \subsubsection{RPC name:~set\_platform\_std\_VGA}
3473 {\bf Overview:}
3474 Set the platform/std\_VGA field of the given VM.
3476 \noindent {\bf Signature:}
3477 \begin{verbatim} void set_platform_std_VGA (session_id s, VM ref self, bool value)\end{verbatim}
3480 \noindent{\bf Arguments:}
3483 \vspace{0.3cm}
3484 \begin{tabular}{|c|c|p{7cm}|}
3485 \hline
3486 {\bf type} & {\bf name} & {\bf description} \\ \hline
3487 {\tt VM ref } & self & reference to the object \\ \hline
3489 {\tt bool } & value & New value to set \\ \hline
3491 \end{tabular}
3493 \vspace{0.3cm}
3495 \noindent {\bf Return Type:}
3496 {\tt
3497 void
3502 \vspace{0.3cm}
3503 \vspace{0.3cm}
3504 \vspace{0.3cm}
3505 \subsubsection{RPC name:~get\_platform\_serial}
3507 {\bf Overview:}
3508 Get the platform/serial field of the given VM.
3510 \noindent {\bf Signature:}
3511 \begin{verbatim} string get_platform_serial (session_id s, VM ref self)\end{verbatim}
3514 \noindent{\bf Arguments:}
3517 \vspace{0.3cm}
3518 \begin{tabular}{|c|c|p{7cm}|}
3519 \hline
3520 {\bf type} & {\bf name} & {\bf description} \\ \hline
3521 {\tt VM ref } & self & reference to the object \\ \hline
3523 \end{tabular}
3525 \vspace{0.3cm}
3527 \noindent {\bf Return Type:}
3528 {\tt
3529 string
3533 value of the field
3534 \vspace{0.3cm}
3535 \vspace{0.3cm}
3536 \vspace{0.3cm}
3537 \subsubsection{RPC name:~set\_platform\_serial}
3539 {\bf Overview:}
3540 Set the platform/serial field of the given VM.
3542 \noindent {\bf Signature:}
3543 \begin{verbatim} void set_platform_serial (session_id s, VM ref self, string value)\end{verbatim}
3546 \noindent{\bf Arguments:}
3549 \vspace{0.3cm}
3550 \begin{tabular}{|c|c|p{7cm}|}
3551 \hline
3552 {\bf type} & {\bf name} & {\bf description} \\ \hline
3553 {\tt VM ref } & self & reference to the object \\ \hline
3555 {\tt string } & value & New value to set \\ \hline
3557 \end{tabular}
3559 \vspace{0.3cm}
3561 \noindent {\bf Return Type:}
3562 {\tt
3563 void
3568 \vspace{0.3cm}
3569 \vspace{0.3cm}
3570 \vspace{0.3cm}
3571 \subsubsection{RPC name:~get\_platform\_localtime}
3573 {\bf Overview:}
3574 Get the platform/localtime field of the given VM.
3576 \noindent {\bf Signature:}
3577 \begin{verbatim} bool get_platform_localtime (session_id s, VM ref self)\end{verbatim}
3580 \noindent{\bf Arguments:}
3583 \vspace{0.3cm}
3584 \begin{tabular}{|c|c|p{7cm}|}
3585 \hline
3586 {\bf type} & {\bf name} & {\bf description} \\ \hline
3587 {\tt VM ref } & self & reference to the object \\ \hline
3589 \end{tabular}
3591 \vspace{0.3cm}
3593 \noindent {\bf Return Type:}
3594 {\tt
3595 bool
3599 value of the field
3600 \vspace{0.3cm}
3601 \vspace{0.3cm}
3602 \vspace{0.3cm}
3603 \subsubsection{RPC name:~set\_platform\_localtime}
3605 {\bf Overview:}
3606 Set the platform/localtime field of the given VM.
3608 \noindent {\bf Signature:}
3609 \begin{verbatim} void set_platform_localtime (session_id s, VM ref self, bool value)\end{verbatim}
3612 \noindent{\bf Arguments:}
3615 \vspace{0.3cm}
3616 \begin{tabular}{|c|c|p{7cm}|}
3617 \hline
3618 {\bf type} & {\bf name} & {\bf description} \\ \hline
3619 {\tt VM ref } & self & reference to the object \\ \hline
3621 {\tt bool } & value & New value to set \\ \hline
3623 \end{tabular}
3625 \vspace{0.3cm}
3627 \noindent {\bf Return Type:}
3628 {\tt
3629 void
3634 \vspace{0.3cm}
3635 \vspace{0.3cm}
3636 \vspace{0.3cm}
3637 \subsubsection{RPC name:~get\_platform\_clock\_offset}
3639 {\bf Overview:}
3640 Get the platform/clock\_offset field of the given VM.
3642 \noindent {\bf Signature:}
3643 \begin{verbatim} bool get_platform_clock_offset (session_id s, VM ref self)\end{verbatim}
3646 \noindent{\bf Arguments:}
3649 \vspace{0.3cm}
3650 \begin{tabular}{|c|c|p{7cm}|}
3651 \hline
3652 {\bf type} & {\bf name} & {\bf description} \\ \hline
3653 {\tt VM ref } & self & reference to the object \\ \hline
3655 \end{tabular}
3657 \vspace{0.3cm}
3659 \noindent {\bf Return Type:}
3660 {\tt
3661 bool
3665 value of the field
3666 \vspace{0.3cm}
3667 \vspace{0.3cm}
3668 \vspace{0.3cm}
3669 \subsubsection{RPC name:~set\_platform\_clock\_offset}
3671 {\bf Overview:}
3672 Set the platform/clock\_offset field of the given VM.
3674 \noindent {\bf Signature:}
3675 \begin{verbatim} void set_platform_clock_offset (session_id s, VM ref self, bool value)\end{verbatim}
3678 \noindent{\bf Arguments:}
3681 \vspace{0.3cm}
3682 \begin{tabular}{|c|c|p{7cm}|}
3683 \hline
3684 {\bf type} & {\bf name} & {\bf description} \\ \hline
3685 {\tt VM ref } & self & reference to the object \\ \hline
3687 {\tt bool } & value & New value to set \\ \hline
3689 \end{tabular}
3691 \vspace{0.3cm}
3693 \noindent {\bf Return Type:}
3694 {\tt
3695 void
3700 \vspace{0.3cm}
3701 \vspace{0.3cm}
3702 \vspace{0.3cm}
3703 \subsubsection{RPC name:~get\_platform\_enable\_audio}
3705 {\bf Overview:}
3706 Get the platform/enable\_audio field of the given VM.
3708 \noindent {\bf Signature:}
3709 \begin{verbatim} bool get_platform_enable_audio (session_id s, VM ref self)\end{verbatim}
3712 \noindent{\bf Arguments:}
3715 \vspace{0.3cm}
3716 \begin{tabular}{|c|c|p{7cm}|}
3717 \hline
3718 {\bf type} & {\bf name} & {\bf description} \\ \hline
3719 {\tt VM ref } & self & reference to the object \\ \hline
3721 \end{tabular}
3723 \vspace{0.3cm}
3725 \noindent {\bf Return Type:}
3726 {\tt
3727 bool
3731 value of the field
3732 \vspace{0.3cm}
3733 \vspace{0.3cm}
3734 \vspace{0.3cm}
3735 \subsubsection{RPC name:~set\_platform\_enable\_audio}
3737 {\bf Overview:}
3738 Set the platform/enable\_audio field of the given VM.
3740 \noindent {\bf Signature:}
3741 \begin{verbatim} void set_platform_enable_audio (session_id s, VM ref self, bool value)\end{verbatim}
3744 \noindent{\bf Arguments:}
3747 \vspace{0.3cm}
3748 \begin{tabular}{|c|c|p{7cm}|}
3749 \hline
3750 {\bf type} & {\bf name} & {\bf description} \\ \hline
3751 {\tt VM ref } & self & reference to the object \\ \hline
3753 {\tt bool } & value & New value to set \\ \hline
3755 \end{tabular}
3757 \vspace{0.3cm}
3759 \noindent {\bf Return Type:}
3760 {\tt
3761 void
3766 \vspace{0.3cm}
3767 \vspace{0.3cm}
3768 \vspace{0.3cm}
3769 \subsubsection{RPC name:~get\_PCI\_bus}
3771 {\bf Overview:}
3772 Get the PCI\_bus field of the given VM.
3774 \noindent {\bf Signature:}
3775 \begin{verbatim} string get_PCI_bus (session_id s, VM ref self)\end{verbatim}
3778 \noindent{\bf Arguments:}
3781 \vspace{0.3cm}
3782 \begin{tabular}{|c|c|p{7cm}|}
3783 \hline
3784 {\bf type} & {\bf name} & {\bf description} \\ \hline
3785 {\tt VM ref } & self & reference to the object \\ \hline
3787 \end{tabular}
3789 \vspace{0.3cm}
3791 \noindent {\bf Return Type:}
3792 {\tt
3793 string
3797 value of the field
3798 \vspace{0.3cm}
3799 \vspace{0.3cm}
3800 \vspace{0.3cm}
3801 \subsubsection{RPC name:~get\_tools\_version}
3803 {\bf Overview:}
3804 Get the tools\_version field of the given VM.
3806 \noindent {\bf Signature:}
3807 \begin{verbatim} ((string -> string) Map) get_tools_version (session_id s, VM ref self)\end{verbatim}
3810 \noindent{\bf Arguments:}
3813 \vspace{0.3cm}
3814 \begin{tabular}{|c|c|p{7cm}|}
3815 \hline
3816 {\bf type} & {\bf name} & {\bf description} \\ \hline
3817 {\tt VM ref } & self & reference to the object \\ \hline
3819 \end{tabular}
3821 \vspace{0.3cm}
3823 \noindent {\bf Return Type:}
3824 {\tt
3825 (string $\rightarrow$ string) Map
3829 value of the field
3830 \vspace{0.3cm}
3831 \vspace{0.3cm}
3832 \vspace{0.3cm}
3833 \subsubsection{RPC name:~get\_other\_config}
3835 {\bf Overview:}
3836 Get the other\_config field of the given VM.
3838 \noindent {\bf Signature:}
3839 \begin{verbatim} ((string -> string) Map) get_other_config (session_id s, VM ref self)\end{verbatim}
3842 \noindent{\bf Arguments:}
3845 \vspace{0.3cm}
3846 \begin{tabular}{|c|c|p{7cm}|}
3847 \hline
3848 {\bf type} & {\bf name} & {\bf description} \\ \hline
3849 {\tt VM ref } & self & reference to the object \\ \hline
3851 \end{tabular}
3853 \vspace{0.3cm}
3855 \noindent {\bf Return Type:}
3856 {\tt
3857 (string $\rightarrow$ string) Map
3861 value of the field
3862 \vspace{0.3cm}
3863 \vspace{0.3cm}
3864 \vspace{0.3cm}
3865 \subsubsection{RPC name:~set\_other\_config}
3867 {\bf Overview:}
3868 Set the other\_config field of the given VM.
3870 \noindent {\bf Signature:}
3871 \begin{verbatim} void set_other_config (session_id s, VM ref self, (string -> string) Map value)\end{verbatim}
3874 \noindent{\bf Arguments:}
3877 \vspace{0.3cm}
3878 \begin{tabular}{|c|c|p{7cm}|}
3879 \hline
3880 {\bf type} & {\bf name} & {\bf description} \\ \hline
3881 {\tt VM ref } & self & reference to the object \\ \hline
3883 {\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline
3885 \end{tabular}
3887 \vspace{0.3cm}
3889 \noindent {\bf Return Type:}
3890 {\tt
3891 void
3896 \vspace{0.3cm}
3897 \vspace{0.3cm}
3898 \vspace{0.3cm}
3899 \subsubsection{RPC name:~add\_to\_other\_config}
3901 {\bf Overview:}
3902 Add the given key-value pair to the other\_config field of the given VM.
3904 \noindent {\bf Signature:}
3905 \begin{verbatim} void add_to_other_config (session_id s, VM ref self, string key, string value)\end{verbatim}
3908 \noindent{\bf Arguments:}
3911 \vspace{0.3cm}
3912 \begin{tabular}{|c|c|p{7cm}|}
3913 \hline
3914 {\bf type} & {\bf name} & {\bf description} \\ \hline
3915 {\tt VM ref } & self & reference to the object \\ \hline
3917 {\tt string } & key & Key to add \\ \hline
3919 {\tt string } & value & Value to add \\ \hline
3921 \end{tabular}
3923 \vspace{0.3cm}
3925 \noindent {\bf Return Type:}
3926 {\tt
3927 void
3932 \vspace{0.3cm}
3933 \vspace{0.3cm}
3934 \vspace{0.3cm}
3935 \subsubsection{RPC name:~remove\_from\_other\_config}
3937 {\bf Overview:}
3938 Remove the given key and its corresponding value from the other\_config
3939 field of the given VM. If the key is not in that Map, then do nothing.
3941 \noindent {\bf Signature:}
3942 \begin{verbatim} void remove_from_other_config (session_id s, VM ref self, string key)\end{verbatim}
3945 \noindent{\bf Arguments:}
3948 \vspace{0.3cm}
3949 \begin{tabular}{|c|c|p{7cm}|}
3950 \hline
3951 {\bf type} & {\bf name} & {\bf description} \\ \hline
3952 {\tt VM ref } & self & reference to the object \\ \hline
3954 {\tt string } & key & Key to remove \\ \hline
3956 \end{tabular}
3958 \vspace{0.3cm}
3960 \noindent {\bf Return Type:}
3961 {\tt
3962 void
3967 \vspace{0.3cm}
3968 \vspace{0.3cm}
3969 \vspace{0.3cm}
3970 \subsubsection{RPC name:~get\_is\_control\_domain}
3972 {\bf Overview:}
3973 Get the is\_control\_domain field of the given VM.
3975 \noindent {\bf Signature:}
3976 \begin{verbatim} bool get_is_control_domain (session_id s, VM ref self)\end{verbatim}
3979 \noindent{\bf Arguments:}
3982 \vspace{0.3cm}
3983 \begin{tabular}{|c|c|p{7cm}|}
3984 \hline
3985 {\bf type} & {\bf name} & {\bf description} \\ \hline
3986 {\tt VM ref } & self & reference to the object \\ \hline
3988 \end{tabular}
3990 \vspace{0.3cm}
3992 \noindent {\bf Return Type:}
3993 {\tt
3994 bool
3998 value of the field
3999 \vspace{0.3cm}
4000 \vspace{0.3cm}
4001 \vspace{0.3cm}
4002 \subsubsection{RPC name:~get\_metrics}
4004 {\bf Overview:}
4005 Get the metrics field of the given VM.
4007 \noindent {\bf Signature:}
4008 \begin{verbatim} (VM_metrics ref) get_metrics (session_id s, VM ref self)\end{verbatim}
4011 \noindent{\bf Arguments:}
4014 \vspace{0.3cm}
4015 \begin{tabular}{|c|c|p{7cm}|}
4016 \hline
4017 {\bf type} & {\bf name} & {\bf description} \\ \hline
4018 {\tt VM ref } & self & reference to the object \\ \hline
4020 \end{tabular}
4022 \vspace{0.3cm}
4024 \noindent {\bf Return Type:}
4025 {\tt
4026 VM\_metrics ref
4030 value of the field
4031 \vspace{0.3cm}
4032 \vspace{0.3cm}
4033 \vspace{0.3cm}
4034 \subsubsection{RPC name:~create}
4036 {\bf Overview:}
4037 Create a new VM instance, and return its handle.
4039 \noindent {\bf Signature:}
4040 \begin{verbatim} (VM ref) create (session_id s, VM record args)\end{verbatim}
4043 \noindent{\bf Arguments:}
4046 \vspace{0.3cm}
4047 \begin{tabular}{|c|c|p{7cm}|}
4048 \hline
4049 {\bf type} & {\bf name} & {\bf description} \\ \hline
4050 {\tt VM record } & args & All constructor arguments \\ \hline
4052 \end{tabular}
4054 \vspace{0.3cm}
4056 \noindent {\bf Return Type:}
4057 {\tt
4058 VM ref
4062 reference to the newly created object
4063 \vspace{0.3cm}
4064 \vspace{0.3cm}
4065 \vspace{0.3cm}
4066 \subsubsection{RPC name:~destroy}
4068 {\bf Overview:}
4069 Destroy the specified VM. The VM is completely removed from the system.
4070 This function can only be called when the VM is in the Halted State.
4072 \noindent {\bf Signature:}
4073 \begin{verbatim} void destroy (session_id s, VM ref self)\end{verbatim}
4076 \noindent{\bf Arguments:}
4079 \vspace{0.3cm}
4080 \begin{tabular}{|c|c|p{7cm}|}
4081 \hline
4082 {\bf type} & {\bf name} & {\bf description} \\ \hline
4083 {\tt VM ref } & self & reference to the object \\ \hline
4085 \end{tabular}
4087 \vspace{0.3cm}
4089 \noindent {\bf Return Type:}
4090 {\tt
4091 void
4096 \vspace{0.3cm}
4097 \vspace{0.3cm}
4098 \vspace{0.3cm}
4099 \subsubsection{RPC name:~get\_by\_uuid}
4101 {\bf Overview:}
4102 Get a reference to the VM instance with the specified UUID.
4104 \noindent {\bf Signature:}
4105 \begin{verbatim} (VM ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
4108 \noindent{\bf Arguments:}
4111 \vspace{0.3cm}
4112 \begin{tabular}{|c|c|p{7cm}|}
4113 \hline
4114 {\bf type} & {\bf name} & {\bf description} \\ \hline
4115 {\tt string } & uuid & UUID of object to return \\ \hline
4117 \end{tabular}
4119 \vspace{0.3cm}
4121 \noindent {\bf Return Type:}
4122 {\tt
4123 VM ref
4127 reference to the object
4128 \vspace{0.3cm}
4129 \vspace{0.3cm}
4130 \vspace{0.3cm}
4131 \subsubsection{RPC name:~get\_record}
4133 {\bf Overview:}
4134 Get a record containing the current state of the given VM.
4136 \noindent {\bf Signature:}
4137 \begin{verbatim} (VM record) get_record (session_id s, VM ref self)\end{verbatim}
4140 \noindent{\bf Arguments:}
4143 \vspace{0.3cm}
4144 \begin{tabular}{|c|c|p{7cm}|}
4145 \hline
4146 {\bf type} & {\bf name} & {\bf description} \\ \hline
4147 {\tt VM ref } & self & reference to the object \\ \hline
4149 \end{tabular}
4151 \vspace{0.3cm}
4153 \noindent {\bf Return Type:}
4154 {\tt
4155 VM record
4159 all fields from the object
4160 \vspace{0.3cm}
4161 \vspace{0.3cm}
4162 \vspace{0.3cm}
4163 \subsubsection{RPC name:~get\_by\_name\_label}
4165 {\bf Overview:}
4166 Get all the VM instances with the given label.
4168 \noindent {\bf Signature:}
4169 \begin{verbatim} ((VM ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
4172 \noindent{\bf Arguments:}
4175 \vspace{0.3cm}
4176 \begin{tabular}{|c|c|p{7cm}|}
4177 \hline
4178 {\bf type} & {\bf name} & {\bf description} \\ \hline
4179 {\tt string } & label & label of object to return \\ \hline
4181 \end{tabular}
4183 \vspace{0.3cm}
4185 \noindent {\bf Return Type:}
4186 {\tt
4187 (VM ref) Set
4191 references to objects with match names
4192 \vspace{0.3cm}
4193 \vspace{0.3cm}
4194 \vspace{0.3cm}
4196 \vspace{1cm}
4197 \newpage
4198 \section{Class: VM\_metrics}
4199 \subsection{Fields for class: VM\_metrics}
4200 \begin{longtable}{|lllp{0.38\textwidth}|}
4201 \hline
4202 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VM\_metrics} \\
4203 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em
4204 The metrics associated with a VM.}} \\
4205 \hline
4206 Quals & Field & Type & Description \\
4207 \hline
4208 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
4209 $\mathit{RO}_\mathit{run}$ & {\tt memory/actual} & int & Guest's actual memory (bytes) \\
4210 $\mathit{RO}_\mathit{run}$ & {\tt VCPUs/number} & int & Current number of VCPUs \\
4211 $\mathit{RO}_\mathit{run}$ & {\tt VCPUs/utilisation} & (int $\rightarrow$ float) Map & Utilisation for all of guest's current VCPUs \\
4212 \hline
4213 \end{longtable}
4214 \subsection{Additional RPCs associated with class: VM\_metrics}
4215 \subsubsection{RPC name:~get\_uuid}
4217 {\bf Overview:}
4218 Get the uuid field of the given VM\_metrics.
4220 \noindent {\bf Signature:}
4221 \begin{verbatim} string get_uuid (session_id s, VM_metrics ref self)\end{verbatim}
4224 \noindent{\bf Arguments:}
4227 \vspace{0.3cm}
4228 \begin{tabular}{|c|c|p{7cm}|}
4229 \hline
4230 {\bf type} & {\bf name} & {\bf description} \\ \hline
4231 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
4233 \end{tabular}
4235 \vspace{0.3cm}
4237 \noindent {\bf Return Type:}
4238 {\tt
4239 string
4243 value of the field
4244 \vspace{0.3cm}
4245 \vspace{0.3cm}
4246 \vspace{0.3cm}
4247 \subsubsection{RPC name:~get\_memory\_actual}
4249 {\bf Overview:}
4250 Get the memory/actual field of the given VM\_metrics.
4252 \noindent {\bf Signature:}
4253 \begin{verbatim} int get_memory_actual (session_id s, VM_metrics ref self)\end{verbatim}
4256 \noindent{\bf Arguments:}
4259 \vspace{0.3cm}
4260 \begin{tabular}{|c|c|p{7cm}|}
4261 \hline
4262 {\bf type} & {\bf name} & {\bf description} \\ \hline
4263 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
4265 \end{tabular}
4267 \vspace{0.3cm}
4269 \noindent {\bf Return Type:}
4270 {\tt
4271 int
4275 value of the field
4276 \vspace{0.3cm}
4277 \vspace{0.3cm}
4278 \vspace{0.3cm}
4279 \subsubsection{RPC name:~get\_VCPUs\_number}
4281 {\bf Overview:}
4282 Get the VCPUs/number field of the given VM\_metrics.
4284 \noindent {\bf Signature:}
4285 \begin{verbatim} int get_VCPUs_number (session_id s, VM_metrics ref self)\end{verbatim}
4288 \noindent{\bf Arguments:}
4291 \vspace{0.3cm}
4292 \begin{tabular}{|c|c|p{7cm}|}
4293 \hline
4294 {\bf type} & {\bf name} & {\bf description} \\ \hline
4295 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
4297 \end{tabular}
4299 \vspace{0.3cm}
4301 \noindent {\bf Return Type:}
4302 {\tt
4303 int
4307 value of the field
4308 \vspace{0.3cm}
4309 \vspace{0.3cm}
4310 \vspace{0.3cm}
4311 \subsubsection{RPC name:~get\_VCPUs\_utilisation}
4313 {\bf Overview:}
4314 Get the VCPUs/utilisation field of the given VM\_metrics.
4316 \noindent {\bf Signature:}
4317 \begin{verbatim} ((int -> float) Map) get_VCPUs_utilisation (session_id s, VM_metrics ref self)\end{verbatim}
4320 \noindent{\bf Arguments:}
4323 \vspace{0.3cm}
4324 \begin{tabular}{|c|c|p{7cm}|}
4325 \hline
4326 {\bf type} & {\bf name} & {\bf description} \\ \hline
4327 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
4329 \end{tabular}
4331 \vspace{0.3cm}
4333 \noindent {\bf Return Type:}
4334 {\tt
4335 (int $\rightarrow$ float) Map
4339 value of the field
4340 \vspace{0.3cm}
4341 \vspace{0.3cm}
4342 \vspace{0.3cm}
4343 \subsubsection{RPC name:~get\_by\_uuid}
4345 {\bf Overview:}
4346 Get a reference to the VM\_metrics instance with the specified UUID.
4348 \noindent {\bf Signature:}
4349 \begin{verbatim} (VM_metrics ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
4352 \noindent{\bf Arguments:}
4355 \vspace{0.3cm}
4356 \begin{tabular}{|c|c|p{7cm}|}
4357 \hline
4358 {\bf type} & {\bf name} & {\bf description} \\ \hline
4359 {\tt string } & uuid & UUID of object to return \\ \hline
4361 \end{tabular}
4363 \vspace{0.3cm}
4365 \noindent {\bf Return Type:}
4366 {\tt
4367 VM\_metrics ref
4371 reference to the object
4372 \vspace{0.3cm}
4373 \vspace{0.3cm}
4374 \vspace{0.3cm}
4375 \subsubsection{RPC name:~get\_record}
4377 {\bf Overview:}
4378 Get a record containing the current state of the given VM\_metrics.
4380 \noindent {\bf Signature:}
4381 \begin{verbatim} (VM_metrics record) get_record (session_id s, VM_metrics ref self)\end{verbatim}
4384 \noindent{\bf Arguments:}
4387 \vspace{0.3cm}
4388 \begin{tabular}{|c|c|p{7cm}|}
4389 \hline
4390 {\bf type} & {\bf name} & {\bf description} \\ \hline
4391 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
4393 \end{tabular}
4395 \vspace{0.3cm}
4397 \noindent {\bf Return Type:}
4398 {\tt
4399 VM\_metrics record
4403 all fields from the object
4404 \vspace{0.3cm}
4405 \vspace{0.3cm}
4406 \vspace{0.3cm}
4408 \vspace{1cm}
4409 \newpage
4410 \section{Class: host}
4411 \subsection{Fields for class: host}
4412 \begin{longtable}{|lllp{0.38\textwidth}|}
4413 \hline
4414 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf host} \\
4415 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
4416 physical host.}} \\
4417 \hline
4418 Quals & Field & Type & Description \\
4419 \hline
4420 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
4421 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
4422 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
4423 $\mathit{RO}_\mathit{run}$ & {\tt software\_version} & (string $\rightarrow$ string) Map & version strings \\
4424 $\mathit{RW}$ & {\tt other\_config} & (string $\rightarrow$ string) Map & additional configuration \\
4425 $\mathit{RO}_\mathit{run}$ & {\tt resident\_VMs} & (VM ref) Set & list of VMs currently resident on host \\
4426 $\mathit{RW}$ & {\tt logging} & (string $\rightarrow$ string) Map & logging configuration \\
4427 $\mathit{RO}_\mathit{run}$ & {\tt PIFs} & (PIF ref) Set & physical network interfaces \\
4428 $\mathit{RW}$ & {\tt suspend\_image\_sr} & SR ref & The SR in which VDIs for suspend images are created \\
4429 $\mathit{RW}$ & {\tt crash\_dump\_sr} & SR ref & The SR in which VDIs for crash dumps are created \\
4430 $\mathit{RO}_\mathit{run}$ & {\tt PBDs} & (PBD ref) Set & physical blockdevices \\
4431 $\mathit{RO}_\mathit{run}$ & {\tt host\_CPUs} & (host\_cpu ref) Set & The physical CPUs on this host \\
4432 $\mathit{RO}_\mathit{ins}$ & {\tt metrics} & host\_metrics ref & metrics associated with this host. \\
4433 \hline
4434 \end{longtable}
4435 \subsection{Additional RPCs associated with class: host}
4436 \subsubsection{RPC name:~disable}
4438 {\bf Overview:}
4439 Puts the host into a state in which no new VMs can be started. Currently
4440 active VMs on the host continue to execute.
4442 \noindent {\bf Signature:}
4443 \begin{verbatim} void disable (session_id s, host ref host)\end{verbatim}
4446 \noindent{\bf Arguments:}
4449 \vspace{0.3cm}
4450 \begin{tabular}{|c|c|p{7cm}|}
4451 \hline
4452 {\bf type} & {\bf name} & {\bf description} \\ \hline
4453 {\tt host ref } & host & The Host to disable \\ \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:~enable}
4471 {\bf Overview:}
4472 Puts the host into a state in which new VMs can be started.
4474 \noindent {\bf Signature:}
4475 \begin{verbatim} void enable (session_id s, host ref host)\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 } & host & The Host to enable \\ \hline
4487 \end{tabular}
4489 \vspace{0.3cm}
4491 \noindent {\bf Return Type:}
4492 {\tt
4493 void
4498 \vspace{0.3cm}
4499 \vspace{0.3cm}
4500 \vspace{0.3cm}
4501 \subsubsection{RPC name:~shutdown}
4503 {\bf Overview:}
4504 Shutdown the host. (This function can only be called if there are no
4505 currently running VMs on the host and it is disabled.).
4507 \noindent {\bf Signature:}
4508 \begin{verbatim} void shutdown (session_id s, host ref host)\end{verbatim}
4511 \noindent{\bf Arguments:}
4514 \vspace{0.3cm}
4515 \begin{tabular}{|c|c|p{7cm}|}
4516 \hline
4517 {\bf type} & {\bf name} & {\bf description} \\ \hline
4518 {\tt host ref } & host & The Host to shutdown \\ \hline
4520 \end{tabular}
4522 \vspace{0.3cm}
4524 \noindent {\bf Return Type:}
4525 {\tt
4526 void
4531 \vspace{0.3cm}
4532 \vspace{0.3cm}
4533 \vspace{0.3cm}
4534 \subsubsection{RPC name:~reboot}
4536 {\bf Overview:}
4537 Reboot the host. (This function can only be called if there are no
4538 currently running VMs on the host and it is disabled.).
4540 \noindent {\bf Signature:}
4541 \begin{verbatim} void reboot (session_id s, host ref host)\end{verbatim}
4544 \noindent{\bf Arguments:}
4547 \vspace{0.3cm}
4548 \begin{tabular}{|c|c|p{7cm}|}
4549 \hline
4550 {\bf type} & {\bf name} & {\bf description} \\ \hline
4551 {\tt host ref } & host & The Host to reboot \\ \hline
4553 \end{tabular}
4555 \vspace{0.3cm}
4557 \noindent {\bf Return Type:}
4558 {\tt
4559 void
4564 \vspace{0.3cm}
4565 \vspace{0.3cm}
4566 \vspace{0.3cm}
4567 \subsubsection{RPC name:~dmesg}
4569 {\bf Overview:}
4570 Get the host xen dmesg.
4572 \noindent {\bf Signature:}
4573 \begin{verbatim} string dmesg (session_id s, host ref host)\end{verbatim}
4576 \noindent{\bf Arguments:}
4579 \vspace{0.3cm}
4580 \begin{tabular}{|c|c|p{7cm}|}
4581 \hline
4582 {\bf type} & {\bf name} & {\bf description} \\ \hline
4583 {\tt host ref } & host & The Host to query \\ \hline
4585 \end{tabular}
4587 \vspace{0.3cm}
4589 \noindent {\bf Return Type:}
4590 {\tt
4591 string
4595 dmesg string
4596 \vspace{0.3cm}
4597 \vspace{0.3cm}
4598 \vspace{0.3cm}
4599 \subsubsection{RPC name:~get\_all}
4601 {\bf Overview:}
4602 Return a list of all the hosts known to the system.
4604 \noindent {\bf Signature:}
4605 \begin{verbatim} ((host ref) Set) get_all (session_id s)\end{verbatim}
4608 \vspace{0.3cm}
4610 \noindent {\bf Return Type:}
4611 {\tt
4612 (host ref) Set
4616 A list of all the IDs of all the hosts
4617 \vspace{0.3cm}
4618 \vspace{0.3cm}
4619 \vspace{0.3cm}
4620 \subsubsection{RPC name:~get\_uuid}
4622 {\bf Overview:}
4623 Get the uuid field of the given host.
4625 \noindent {\bf Signature:}
4626 \begin{verbatim} string get_uuid (session_id s, host ref self)\end{verbatim}
4629 \noindent{\bf Arguments:}
4632 \vspace{0.3cm}
4633 \begin{tabular}{|c|c|p{7cm}|}
4634 \hline
4635 {\bf type} & {\bf name} & {\bf description} \\ \hline
4636 {\tt host ref } & self & reference to the object \\ \hline
4638 \end{tabular}
4640 \vspace{0.3cm}
4642 \noindent {\bf Return Type:}
4643 {\tt
4644 string
4648 value of the field
4649 \vspace{0.3cm}
4650 \vspace{0.3cm}
4651 \vspace{0.3cm}
4652 \subsubsection{RPC name:~get\_name\_label}
4654 {\bf Overview:}
4655 Get the name/label field of the given host.
4657 \noindent {\bf Signature:}
4658 \begin{verbatim} string get_name_label (session_id s, host ref self)\end{verbatim}
4661 \noindent{\bf Arguments:}
4664 \vspace{0.3cm}
4665 \begin{tabular}{|c|c|p{7cm}|}
4666 \hline
4667 {\bf type} & {\bf name} & {\bf description} \\ \hline
4668 {\tt host ref } & self & reference to the object \\ \hline
4670 \end{tabular}
4672 \vspace{0.3cm}
4674 \noindent {\bf Return Type:}
4675 {\tt
4676 string
4680 value of the field
4681 \vspace{0.3cm}
4682 \vspace{0.3cm}
4683 \vspace{0.3cm}
4684 \subsubsection{RPC name:~set\_name\_label}
4686 {\bf Overview:}
4687 Set the name/label field of the given host.
4689 \noindent {\bf Signature:}
4690 \begin{verbatim} void set_name_label (session_id s, host ref self, string value)\end{verbatim}
4693 \noindent{\bf Arguments:}
4696 \vspace{0.3cm}
4697 \begin{tabular}{|c|c|p{7cm}|}
4698 \hline
4699 {\bf type} & {\bf name} & {\bf description} \\ \hline
4700 {\tt host ref } & self & reference to the object \\ \hline
4702 {\tt string } & value & New value to set \\ \hline
4704 \end{tabular}
4706 \vspace{0.3cm}
4708 \noindent {\bf Return Type:}
4709 {\tt
4710 void
4715 \vspace{0.3cm}
4716 \vspace{0.3cm}
4717 \vspace{0.3cm}
4718 \subsubsection{RPC name:~get\_name\_description}
4720 {\bf Overview:}
4721 Get the name/description field of the given host.
4723 \noindent {\bf Signature:}
4724 \begin{verbatim} string get_name_description (session_id s, host ref self)\end{verbatim}
4727 \noindent{\bf Arguments:}
4730 \vspace{0.3cm}
4731 \begin{tabular}{|c|c|p{7cm}|}
4732 \hline
4733 {\bf type} & {\bf name} & {\bf description} \\ \hline
4734 {\tt host ref } & self & reference to the object \\ \hline
4736 \end{tabular}
4738 \vspace{0.3cm}
4740 \noindent {\bf Return Type:}
4741 {\tt
4742 string
4746 value of the field
4747 \vspace{0.3cm}
4748 \vspace{0.3cm}
4749 \vspace{0.3cm}
4750 \subsubsection{RPC name:~set\_name\_description}
4752 {\bf Overview:}
4753 Set the name/description field of the given host.
4755 \noindent {\bf Signature:}
4756 \begin{verbatim} void set_name_description (session_id s, host ref self, string value)\end{verbatim}
4759 \noindent{\bf Arguments:}
4762 \vspace{0.3cm}
4763 \begin{tabular}{|c|c|p{7cm}|}
4764 \hline
4765 {\bf type} & {\bf name} & {\bf description} \\ \hline
4766 {\tt host ref } & self & reference to the object \\ \hline
4768 {\tt string } & value & New value to set \\ \hline
4770 \end{tabular}
4772 \vspace{0.3cm}
4774 \noindent {\bf Return Type:}
4775 {\tt
4776 void
4781 \vspace{0.3cm}
4782 \vspace{0.3cm}
4783 \vspace{0.3cm}
4784 \subsubsection{RPC name:~get\_software\_version}
4786 {\bf Overview:}
4787 Get the software\_version field of the given host.
4789 \noindent {\bf Signature:}
4790 \begin{verbatim} ((string -> string) Map) get_software_version (session_id s, host ref self)\end{verbatim}
4793 \noindent{\bf Arguments:}
4796 \vspace{0.3cm}
4797 \begin{tabular}{|c|c|p{7cm}|}
4798 \hline
4799 {\bf type} & {\bf name} & {\bf description} \\ \hline
4800 {\tt host ref } & self & reference to the object \\ \hline
4802 \end{tabular}
4804 \vspace{0.3cm}
4806 \noindent {\bf Return Type:}
4807 {\tt
4808 (string $\rightarrow$ string) Map
4812 value of the field
4813 \vspace{0.3cm}
4814 \vspace{0.3cm}
4815 \vspace{0.3cm}
4816 \subsubsection{RPC name:~get\_other\_config}
4818 {\bf Overview:}
4819 Get the other\_config field of the given host.
4821 \noindent {\bf Signature:}
4822 \begin{verbatim} ((string -> string) Map) get_other_config (session_id s, host ref self)\end{verbatim}
4825 \noindent{\bf Arguments:}
4828 \vspace{0.3cm}
4829 \begin{tabular}{|c|c|p{7cm}|}
4830 \hline
4831 {\bf type} & {\bf name} & {\bf description} \\ \hline
4832 {\tt host ref } & self & reference to the object \\ \hline
4834 \end{tabular}
4836 \vspace{0.3cm}
4838 \noindent {\bf Return Type:}
4839 {\tt
4840 (string $\rightarrow$ string) Map
4844 value of the field
4845 \vspace{0.3cm}
4846 \vspace{0.3cm}
4847 \vspace{0.3cm}
4848 \subsubsection{RPC name:~set\_other\_config}
4850 {\bf Overview:}
4851 Set the other\_config field of the given host.
4853 \noindent {\bf Signature:}
4854 \begin{verbatim} void set_other_config (session_id s, host ref self, (string -> string) Map value)\end{verbatim}
4857 \noindent{\bf Arguments:}
4860 \vspace{0.3cm}
4861 \begin{tabular}{|c|c|p{7cm}|}
4862 \hline
4863 {\bf type} & {\bf name} & {\bf description} \\ \hline
4864 {\tt host ref } & self & reference to the object \\ \hline
4866 {\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline
4868 \end{tabular}
4870 \vspace{0.3cm}
4872 \noindent {\bf Return Type:}
4873 {\tt
4874 void
4879 \vspace{0.3cm}
4880 \vspace{0.3cm}
4881 \vspace{0.3cm}
4882 \subsubsection{RPC name:~add\_to\_other\_config}
4884 {\bf Overview:}
4885 Add the given key-value pair to the other\_config field of the given host.
4887 \noindent {\bf Signature:}
4888 \begin{verbatim} void add_to_other_config (session_id s, host ref self, string key, string value)\end{verbatim}
4891 \noindent{\bf Arguments:}
4894 \vspace{0.3cm}
4895 \begin{tabular}{|c|c|p{7cm}|}
4896 \hline
4897 {\bf type} & {\bf name} & {\bf description} \\ \hline
4898 {\tt host ref } & self & reference to the object \\ \hline
4900 {\tt string } & key & Key to add \\ \hline
4902 {\tt string } & value & Value to add \\ \hline
4904 \end{tabular}
4906 \vspace{0.3cm}
4908 \noindent {\bf Return Type:}
4909 {\tt
4910 void
4915 \vspace{0.3cm}
4916 \vspace{0.3cm}
4917 \vspace{0.3cm}
4918 \subsubsection{RPC name:~remove\_from\_other\_config}
4920 {\bf Overview:}
4921 Remove the given key and its corresponding value from the other\_config
4922 field of the given host. If the key is not in that Map, then do nothing.
4924 \noindent {\bf Signature:}
4925 \begin{verbatim} void remove_from_other_config (session_id s, host ref self, string key)\end{verbatim}
4928 \noindent{\bf Arguments:}
4931 \vspace{0.3cm}
4932 \begin{tabular}{|c|c|p{7cm}|}
4933 \hline
4934 {\bf type} & {\bf name} & {\bf description} \\ \hline
4935 {\tt host ref } & self & reference to the object \\ \hline
4937 {\tt string } & key & Key to remove \\ \hline
4939 \end{tabular}
4941 \vspace{0.3cm}
4943 \noindent {\bf Return Type:}
4944 {\tt
4945 void
4950 \vspace{0.3cm}
4951 \vspace{0.3cm}
4952 \vspace{0.3cm}
4953 \subsubsection{RPC name:~get\_resident\_VMs}
4955 {\bf Overview:}
4956 Get the resident\_VMs field of the given host.
4958 \noindent {\bf Signature:}
4959 \begin{verbatim} ((VM ref) Set) get_resident_VMs (session_id s, host ref self)\end{verbatim}
4962 \noindent{\bf Arguments:}
4965 \vspace{0.3cm}
4966 \begin{tabular}{|c|c|p{7cm}|}
4967 \hline
4968 {\bf type} & {\bf name} & {\bf description} \\ \hline
4969 {\tt host ref } & self & reference to the object \\ \hline
4971 \end{tabular}
4973 \vspace{0.3cm}
4975 \noindent {\bf Return Type:}
4976 {\tt
4977 (VM ref) Set
4981 value of the field
4982 \vspace{0.3cm}
4983 \vspace{0.3cm}
4984 \vspace{0.3cm}
4985 \subsubsection{RPC name:~get\_logging}
4987 {\bf Overview:}
4988 Get the logging field of the given host.
4990 \noindent {\bf Signature:}
4991 \begin{verbatim} ((string -> string) Map) get_logging (session_id s, host ref self)\end{verbatim}
4994 \noindent{\bf Arguments:}
4997 \vspace{0.3cm}
4998 \begin{tabular}{|c|c|p{7cm}|}
4999 \hline
5000 {\bf type} & {\bf name} & {\bf description} \\ \hline
5001 {\tt host ref } & self & reference to the object \\ \hline
5003 \end{tabular}
5005 \vspace{0.3cm}
5007 \noindent {\bf Return Type:}
5008 {\tt
5009 (string $\rightarrow$ string) Map
5013 value of the field
5014 \vspace{0.3cm}
5015 \vspace{0.3cm}
5016 \vspace{0.3cm}
5017 \subsubsection{RPC name:~set\_logging}
5019 {\bf Overview:}
5020 Set the logging field of the given host.
5022 \noindent {\bf Signature:}
5023 \begin{verbatim} void set_logging (session_id s, host ref self, (string -> string) Map value)\end{verbatim}
5026 \noindent{\bf Arguments:}
5029 \vspace{0.3cm}
5030 \begin{tabular}{|c|c|p{7cm}|}
5031 \hline
5032 {\bf type} & {\bf name} & {\bf description} \\ \hline
5033 {\tt host ref } & self & reference to the object \\ \hline
5035 {\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline
5037 \end{tabular}
5039 \vspace{0.3cm}
5041 \noindent {\bf Return Type:}
5042 {\tt
5043 void
5048 \vspace{0.3cm}
5049 \vspace{0.3cm}
5050 \vspace{0.3cm}
5051 \subsubsection{RPC name:~add\_to\_logging}
5053 {\bf Overview:}
5054 Add the given key-value pair to the logging field of the given host.
5056 \noindent {\bf Signature:}
5057 \begin{verbatim} void add_to_logging (session_id s, host ref self, string key, string value)\end{verbatim}
5060 \noindent{\bf Arguments:}
5063 \vspace{0.3cm}
5064 \begin{tabular}{|c|c|p{7cm}|}
5065 \hline
5066 {\bf type} & {\bf name} & {\bf description} \\ \hline
5067 {\tt host ref } & self & reference to the object \\ \hline
5069 {\tt string } & key & Key to add \\ \hline
5071 {\tt string } & value & Value to add \\ \hline
5073 \end{tabular}
5075 \vspace{0.3cm}
5077 \noindent {\bf Return Type:}
5078 {\tt
5079 void
5084 \vspace{0.3cm}
5085 \vspace{0.3cm}
5086 \vspace{0.3cm}
5087 \subsubsection{RPC name:~remove\_from\_logging}
5089 {\bf Overview:}
5090 Remove the given key and its corresponding value from the logging field of
5091 the given host. If the key is not in that Map, then do nothing.
5093 \noindent {\bf Signature:}
5094 \begin{verbatim} void remove_from_logging (session_id s, host ref self, string key)\end{verbatim}
5097 \noindent{\bf Arguments:}
5100 \vspace{0.3cm}
5101 \begin{tabular}{|c|c|p{7cm}|}
5102 \hline
5103 {\bf type} & {\bf name} & {\bf description} \\ \hline
5104 {\tt host ref } & self & reference to the object \\ \hline
5106 {\tt string } & key & Key to remove \\ \hline
5108 \end{tabular}
5110 \vspace{0.3cm}
5112 \noindent {\bf Return Type:}
5113 {\tt
5114 void
5119 \vspace{0.3cm}
5120 \vspace{0.3cm}
5121 \vspace{0.3cm}
5122 \subsubsection{RPC name:~get\_PIFs}
5124 {\bf Overview:}
5125 Get the PIFs field of the given host.
5127 \noindent {\bf Signature:}
5128 \begin{verbatim} ((PIF ref) Set) get_PIFs (session_id s, host ref self)\end{verbatim}
5131 \noindent{\bf Arguments:}
5134 \vspace{0.3cm}
5135 \begin{tabular}{|c|c|p{7cm}|}
5136 \hline
5137 {\bf type} & {\bf name} & {\bf description} \\ \hline
5138 {\tt host ref } & self & reference to the object \\ \hline
5140 \end{tabular}
5142 \vspace{0.3cm}
5144 \noindent {\bf Return Type:}
5145 {\tt
5146 (PIF ref) Set
5150 value of the field
5151 \vspace{0.3cm}
5152 \vspace{0.3cm}
5153 \vspace{0.3cm}
5154 \subsubsection{RPC name:~get\_suspend\_image\_sr}
5156 {\bf Overview:}
5157 Get the suspend\_image\_sr field of the given host.
5159 \noindent {\bf Signature:}
5160 \begin{verbatim} (SR ref) get_suspend_image_sr (session_id s, host ref self)\end{verbatim}
5163 \noindent{\bf Arguments:}
5166 \vspace{0.3cm}
5167 \begin{tabular}{|c|c|p{7cm}|}
5168 \hline
5169 {\bf type} & {\bf name} & {\bf description} \\ \hline
5170 {\tt host ref } & self & reference to the object \\ \hline
5172 \end{tabular}
5174 \vspace{0.3cm}
5176 \noindent {\bf Return Type:}
5177 {\tt
5178 SR ref
5182 value of the field
5183 \vspace{0.3cm}
5184 \vspace{0.3cm}
5185 \vspace{0.3cm}
5186 \subsubsection{RPC name:~set\_suspend\_image\_sr}
5188 {\bf Overview:}
5189 Set the suspend\_image\_sr field of the given host.
5191 \noindent {\bf Signature:}
5192 \begin{verbatim} void set_suspend_image_sr (session_id s, host ref self, SR ref value)\end{verbatim}
5195 \noindent{\bf Arguments:}
5198 \vspace{0.3cm}
5199 \begin{tabular}{|c|c|p{7cm}|}
5200 \hline
5201 {\bf type} & {\bf name} & {\bf description} \\ \hline
5202 {\tt host ref } & self & reference to the object \\ \hline
5204 {\tt SR ref } & value & New value to set \\ \hline
5206 \end{tabular}
5208 \vspace{0.3cm}
5210 \noindent {\bf Return Type:}
5211 {\tt
5212 void
5217 \vspace{0.3cm}
5218 \vspace{0.3cm}
5219 \vspace{0.3cm}
5220 \subsubsection{RPC name:~get\_crash\_dump\_sr}
5222 {\bf Overview:}
5223 Get the crash\_dump\_sr field of the given host.
5225 \noindent {\bf Signature:}
5226 \begin{verbatim} (SR ref) get_crash_dump_sr (session_id s, host ref self)\end{verbatim}
5229 \noindent{\bf Arguments:}
5232 \vspace{0.3cm}
5233 \begin{tabular}{|c|c|p{7cm}|}
5234 \hline
5235 {\bf type} & {\bf name} & {\bf description} \\ \hline
5236 {\tt host ref } & self & reference to the object \\ \hline
5238 \end{tabular}
5240 \vspace{0.3cm}
5242 \noindent {\bf Return Type:}
5243 {\tt
5244 SR ref
5248 value of the field
5249 \vspace{0.3cm}
5250 \vspace{0.3cm}
5251 \vspace{0.3cm}
5252 \subsubsection{RPC name:~set\_crash\_dump\_sr}
5254 {\bf Overview:}
5255 Set the crash\_dump\_sr field of the given host.
5257 \noindent {\bf Signature:}
5258 \begin{verbatim} void set_crash_dump_sr (session_id s, host ref self, SR ref value)\end{verbatim}
5261 \noindent{\bf Arguments:}
5264 \vspace{0.3cm}
5265 \begin{tabular}{|c|c|p{7cm}|}
5266 \hline
5267 {\bf type} & {\bf name} & {\bf description} \\ \hline
5268 {\tt host ref } & self & reference to the object \\ \hline
5270 {\tt SR ref } & value & New value to set \\ \hline
5272 \end{tabular}
5274 \vspace{0.3cm}
5276 \noindent {\bf Return Type:}
5277 {\tt
5278 void
5283 \vspace{0.3cm}
5284 \vspace{0.3cm}
5285 \vspace{0.3cm}
5286 \subsubsection{RPC name:~get\_PBDs}
5288 {\bf Overview:}
5289 Get the PBDs field of the given host.
5291 \noindent {\bf Signature:}
5292 \begin{verbatim} ((PBD ref) Set) get_PBDs (session_id s, host ref self)\end{verbatim}
5295 \noindent{\bf Arguments:}
5298 \vspace{0.3cm}
5299 \begin{tabular}{|c|c|p{7cm}|}
5300 \hline
5301 {\bf type} & {\bf name} & {\bf description} \\ \hline
5302 {\tt host ref } & self & reference to the object \\ \hline
5304 \end{tabular}
5306 \vspace{0.3cm}
5308 \noindent {\bf Return Type:}
5309 {\tt
5310 (PBD ref) Set
5314 value of the field
5315 \vspace{0.3cm}
5316 \vspace{0.3cm}
5317 \vspace{0.3cm}
5318 \subsubsection{RPC name:~get\_host\_CPUs}
5320 {\bf Overview:}
5321 Get the host\_CPUs field of the given host.
5323 \noindent {\bf Signature:}
5324 \begin{verbatim} ((host_cpu ref) Set) get_host_CPUs (session_id s, host ref self)\end{verbatim}
5327 \noindent{\bf Arguments:}
5330 \vspace{0.3cm}
5331 \begin{tabular}{|c|c|p{7cm}|}
5332 \hline
5333 {\bf type} & {\bf name} & {\bf description} \\ \hline
5334 {\tt host ref } & self & reference to the object \\ \hline
5336 \end{tabular}
5338 \vspace{0.3cm}
5340 \noindent {\bf Return Type:}
5341 {\tt
5342 (host\_cpu ref) Set
5346 value of the field
5347 \vspace{0.3cm}
5348 \vspace{0.3cm}
5349 \vspace{0.3cm}
5350 \subsubsection{RPC name:~get\_metrics}
5352 {\bf Overview:}
5353 Get the metrics field of the given host.
5355 \noindent {\bf Signature:}
5356 \begin{verbatim} (host_metrics ref) get_metrics (session_id s, host ref self)\end{verbatim}
5359 \noindent{\bf Arguments:}
5362 \vspace{0.3cm}
5363 \begin{tabular}{|c|c|p{7cm}|}
5364 \hline
5365 {\bf type} & {\bf name} & {\bf description} \\ \hline
5366 {\tt host ref } & self & reference to the object \\ \hline
5368 \end{tabular}
5370 \vspace{0.3cm}
5372 \noindent {\bf Return Type:}
5373 {\tt
5374 host\_metrics ref
5378 value of the field
5379 \vspace{0.3cm}
5380 \vspace{0.3cm}
5381 \vspace{0.3cm}
5382 \subsubsection{RPC name:~create}
5384 {\bf Overview:}
5385 Create a new host instance, and return its handle.
5387 \noindent {\bf Signature:}
5388 \begin{verbatim} (host ref) create (session_id s, host record args)\end{verbatim}
5391 \noindent{\bf Arguments:}
5394 \vspace{0.3cm}
5395 \begin{tabular}{|c|c|p{7cm}|}
5396 \hline
5397 {\bf type} & {\bf name} & {\bf description} \\ \hline
5398 {\tt host record } & args & All constructor arguments \\ \hline
5400 \end{tabular}
5402 \vspace{0.3cm}
5404 \noindent {\bf Return Type:}
5405 {\tt
5406 host ref
5410 reference to the newly created object
5411 \vspace{0.3cm}
5412 \vspace{0.3cm}
5413 \vspace{0.3cm}
5414 \subsubsection{RPC name:~destroy}
5416 {\bf Overview:}
5417 Destroy the specified host instance.
5419 \noindent {\bf Signature:}
5420 \begin{verbatim} void destroy (session_id s, host ref self)\end{verbatim}
5423 \noindent{\bf Arguments:}
5426 \vspace{0.3cm}
5427 \begin{tabular}{|c|c|p{7cm}|}
5428 \hline
5429 {\bf type} & {\bf name} & {\bf description} \\ \hline
5430 {\tt host ref } & self & reference to the object \\ \hline
5432 \end{tabular}
5434 \vspace{0.3cm}
5436 \noindent {\bf Return Type:}
5437 {\tt
5438 void
5443 \vspace{0.3cm}
5444 \vspace{0.3cm}
5445 \vspace{0.3cm}
5446 \subsubsection{RPC name:~get\_by\_uuid}
5448 {\bf Overview:}
5449 Get a reference to the host instance with the specified UUID.
5451 \noindent {\bf Signature:}
5452 \begin{verbatim} (host ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
5455 \noindent{\bf Arguments:}
5458 \vspace{0.3cm}
5459 \begin{tabular}{|c|c|p{7cm}|}
5460 \hline
5461 {\bf type} & {\bf name} & {\bf description} \\ \hline
5462 {\tt string } & uuid & UUID of object to return \\ \hline
5464 \end{tabular}
5466 \vspace{0.3cm}
5468 \noindent {\bf Return Type:}
5469 {\tt
5470 host ref
5474 reference to the object
5475 \vspace{0.3cm}
5476 \vspace{0.3cm}
5477 \vspace{0.3cm}
5478 \subsubsection{RPC name:~get\_record}
5480 {\bf Overview:}
5481 Get a record containing the current state of the given host.
5483 \noindent {\bf Signature:}
5484 \begin{verbatim} (host record) get_record (session_id s, host ref self)\end{verbatim}
5487 \noindent{\bf Arguments:}
5490 \vspace{0.3cm}
5491 \begin{tabular}{|c|c|p{7cm}|}
5492 \hline
5493 {\bf type} & {\bf name} & {\bf description} \\ \hline
5494 {\tt host ref } & self & reference to the object \\ \hline
5496 \end{tabular}
5498 \vspace{0.3cm}
5500 \noindent {\bf Return Type:}
5501 {\tt
5502 host record
5506 all fields from the object
5507 \vspace{0.3cm}
5508 \vspace{0.3cm}
5509 \vspace{0.3cm}
5510 \subsubsection{RPC name:~get\_by\_name\_label}
5512 {\bf Overview:}
5513 Get all the host instances with the given label.
5515 \noindent {\bf Signature:}
5516 \begin{verbatim} ((host ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
5519 \noindent{\bf Arguments:}
5522 \vspace{0.3cm}
5523 \begin{tabular}{|c|c|p{7cm}|}
5524 \hline
5525 {\bf type} & {\bf name} & {\bf description} \\ \hline
5526 {\tt string } & label & label of object to return \\ \hline
5528 \end{tabular}
5530 \vspace{0.3cm}
5532 \noindent {\bf Return Type:}
5533 {\tt
5534 (host ref) Set
5538 references to objects with match names
5539 \vspace{0.3cm}
5540 \vspace{0.3cm}
5541 \vspace{0.3cm}
5543 \vspace{1cm}
5544 \newpage
5545 \section{Class: host\_metrics}
5546 \subsection{Fields for class: host\_metrics}
5547 \begin{longtable}{|lllp{0.38\textwidth}|}
5548 \hline
5549 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf host\_metrics} \\
5550 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em
5551 The metrics associated with a host.}} \\
5552 \hline
5553 Quals & Field & Type & Description \\
5554 \hline
5555 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
5556 $\mathit{RO}_\mathit{ins}$ & {\tt host} & host ref & Host to which these metrics apply \\
5557 $\mathit{RO}_\mathit{run}$ & {\tt memory/total} & int & Host's total memory (bytes) \\
5558 $\mathit{RO}_\mathit{run}$ & {\tt memory/free} & int & Host's free memory (bytes) \\
5559 \hline
5560 \end{longtable}
5561 \subsection{Additional RPCs associated with class: host\_metrics}
5562 \subsubsection{RPC name:~get\_uuid}
5564 {\bf Overview:}
5565 Get the uuid field of the given host\_metrics.
5567 \noindent {\bf Signature:}
5568 \begin{verbatim} string get_uuid (session_id s, host_metrics ref self)\end{verbatim}
5571 \noindent{\bf Arguments:}
5574 \vspace{0.3cm}
5575 \begin{tabular}{|c|c|p{7cm}|}
5576 \hline
5577 {\bf type} & {\bf name} & {\bf description} \\ \hline
5578 {\tt host\_metrics ref } & self & reference to the object \\ \hline
5580 \end{tabular}
5582 \vspace{0.3cm}
5584 \noindent {\bf Return Type:}
5585 {\tt
5586 string
5590 value of the field
5591 \vspace{0.3cm}
5592 \vspace{0.3cm}
5593 \vspace{0.3cm}
5594 \subsubsection{RPC name:~get\_host}
5596 {\bf Overview:}
5597 Get the host field of the given host\_metrics.
5599 \noindent {\bf Signature:}
5600 \begin{verbatim} (host ref) get_host (session_id s, host_metrics ref self)\end{verbatim}
5603 \noindent{\bf Arguments:}
5606 \vspace{0.3cm}
5607 \begin{tabular}{|c|c|p{7cm}|}
5608 \hline
5609 {\bf type} & {\bf name} & {\bf description} \\ \hline
5610 {\tt host\_metrics ref } & self & reference to the object \\ \hline
5612 \end{tabular}
5614 \vspace{0.3cm}
5616 \noindent {\bf Return Type:}
5617 {\tt
5618 host ref
5622 value of the field
5623 \vspace{0.3cm}
5624 \vspace{0.3cm}
5625 \vspace{0.3cm}
5626 \subsubsection{RPC name:~get\_memory\_total}
5628 {\bf Overview:}
5629 Get the memory/total field of the given host\_metrics.
5631 \noindent {\bf Signature:}
5632 \begin{verbatim} int get_memory_total (session_id s, host_metrics ref self)\end{verbatim}
5635 \noindent{\bf Arguments:}
5638 \vspace{0.3cm}
5639 \begin{tabular}{|c|c|p{7cm}|}
5640 \hline
5641 {\bf type} & {\bf name} & {\bf description} \\ \hline
5642 {\tt host\_metrics ref } & self & reference to the object \\ \hline
5644 \end{tabular}
5646 \vspace{0.3cm}
5648 \noindent {\bf Return Type:}
5649 {\tt
5650 int
5654 value of the field
5655 \vspace{0.3cm}
5656 \vspace{0.3cm}
5657 \vspace{0.3cm}
5658 \subsubsection{RPC name:~get\_memory\_free}
5660 {\bf Overview:}
5661 Get the memory/free field of the given host\_metrics.
5663 \noindent {\bf Signature:}
5664 \begin{verbatim} int get_memory_free (session_id s, host_metrics ref self)\end{verbatim}
5667 \noindent{\bf Arguments:}
5670 \vspace{0.3cm}
5671 \begin{tabular}{|c|c|p{7cm}|}
5672 \hline
5673 {\bf type} & {\bf name} & {\bf description} \\ \hline
5674 {\tt host\_metrics ref } & self & reference to the object \\ \hline
5676 \end{tabular}
5678 \vspace{0.3cm}
5680 \noindent {\bf Return Type:}
5681 {\tt
5682 int
5686 value of the field
5687 \vspace{0.3cm}
5688 \vspace{0.3cm}
5689 \vspace{0.3cm}
5690 \subsubsection{RPC name:~get\_by\_uuid}
5692 {\bf Overview:}
5693 Get a reference to the host\_metrics instance with the specified UUID.
5695 \noindent {\bf Signature:}
5696 \begin{verbatim} (host_metrics ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
5699 \noindent{\bf Arguments:}
5702 \vspace{0.3cm}
5703 \begin{tabular}{|c|c|p{7cm}|}
5704 \hline
5705 {\bf type} & {\bf name} & {\bf description} \\ \hline
5706 {\tt string } & uuid & UUID of object to return \\ \hline
5708 \end{tabular}
5710 \vspace{0.3cm}
5712 \noindent {\bf Return Type:}
5713 {\tt
5714 host\_metrics ref
5718 reference to the object
5719 \vspace{0.3cm}
5720 \vspace{0.3cm}
5721 \vspace{0.3cm}
5722 \subsubsection{RPC name:~get\_record}
5724 {\bf Overview:}
5725 Get a record containing the current state of the given host\_metrics.
5727 \noindent {\bf Signature:}
5728 \begin{verbatim} (host_metrics record) get_record (session_id s, host_metrics ref self)\end{verbatim}
5731 \noindent{\bf Arguments:}
5734 \vspace{0.3cm}
5735 \begin{tabular}{|c|c|p{7cm}|}
5736 \hline
5737 {\bf type} & {\bf name} & {\bf description} \\ \hline
5738 {\tt host\_metrics ref } & self & reference to the object \\ \hline
5740 \end{tabular}
5742 \vspace{0.3cm}
5744 \noindent {\bf Return Type:}
5745 {\tt
5746 host\_metrics record
5750 all fields from the object
5751 \vspace{0.3cm}
5752 \vspace{0.3cm}
5753 \vspace{0.3cm}
5755 \vspace{1cm}
5756 \newpage
5757 \section{Class: host\_cpu}
5758 \subsection{Fields for class: host\_cpu}
5759 \begin{longtable}{|lllp{0.38\textwidth}|}
5760 \hline
5761 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf host\_cpu} \\
5762 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A physical CPU}} \\
5763 \hline
5764 Quals & Field & Type & Description \\
5765 \hline
5766 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
5767 $\mathit{RO}_\mathit{ins}$ & {\tt host} & host ref & the host the CPU is in \\
5768 $\mathit{RO}_\mathit{ins}$ & {\tt number} & int & the number of the physical CPU within the host \\
5769 $\mathit{RO}_\mathit{ins}$ & {\tt vendor} & string & the vendor of the physical CPU \\
5770 $\mathit{RO}_\mathit{ins}$ & {\tt speed} & int & the speed of the physical CPU \\
5771 $\mathit{RO}_\mathit{ins}$ & {\tt modelname} & string & the model name of the physical CPU \\
5772 $\mathit{RO}_\mathit{run}$ & {\tt utilisation} & float & the current CPU utilisation \\
5773 \hline
5774 \end{longtable}
5775 \subsection{Additional RPCs associated with class: host\_cpu}
5776 \subsubsection{RPC name:~get\_uuid}
5778 {\bf Overview:}
5779 Get the uuid field of the given host\_cpu.
5781 \noindent {\bf Signature:}
5782 \begin{verbatim} string get_uuid (session_id s, host_cpu ref self)\end{verbatim}
5785 \noindent{\bf Arguments:}
5788 \vspace{0.3cm}
5789 \begin{tabular}{|c|c|p{7cm}|}
5790 \hline
5791 {\bf type} & {\bf name} & {\bf description} \\ \hline
5792 {\tt host\_cpu ref } & self & reference to the object \\ \hline
5794 \end{tabular}
5796 \vspace{0.3cm}
5798 \noindent {\bf Return Type:}
5799 {\tt
5800 string
5804 value of the field
5805 \vspace{0.3cm}
5806 \vspace{0.3cm}
5807 \vspace{0.3cm}
5808 \subsubsection{RPC name:~get\_host}
5810 {\bf Overview:}
5811 Get the host field of the given host\_cpu.
5813 \noindent {\bf Signature:}
5814 \begin{verbatim} (host ref) get_host (session_id s, host_cpu ref self)\end{verbatim}
5817 \noindent{\bf Arguments:}
5820 \vspace{0.3cm}
5821 \begin{tabular}{|c|c|p{7cm}|}
5822 \hline
5823 {\bf type} & {\bf name} & {\bf description} \\ \hline
5824 {\tt host\_cpu ref } & self & reference to the object \\ \hline
5826 \end{tabular}
5828 \vspace{0.3cm}
5830 \noindent {\bf Return Type:}
5831 {\tt
5832 host ref
5836 value of the field
5837 \vspace{0.3cm}
5838 \vspace{0.3cm}
5839 \vspace{0.3cm}
5840 \subsubsection{RPC name:~get\_number}
5842 {\bf Overview:}
5843 Get the number field of the given host\_cpu.
5845 \noindent {\bf Signature:}
5846 \begin{verbatim} int get_number (session_id s, host_cpu ref self)\end{verbatim}
5849 \noindent{\bf Arguments:}
5852 \vspace{0.3cm}
5853 \begin{tabular}{|c|c|p{7cm}|}
5854 \hline
5855 {\bf type} & {\bf name} & {\bf description} \\ \hline
5856 {\tt host\_cpu ref } & self & reference to the object \\ \hline
5858 \end{tabular}
5860 \vspace{0.3cm}
5862 \noindent {\bf Return Type:}
5863 {\tt
5864 int
5868 value of the field
5869 \vspace{0.3cm}
5870 \vspace{0.3cm}
5871 \vspace{0.3cm}
5872 \subsubsection{RPC name:~get\_vendor}
5874 {\bf Overview:}
5875 Get the vendor field of the given host\_cpu.
5877 \noindent {\bf Signature:}
5878 \begin{verbatim} string get_vendor (session_id s, host_cpu ref self)\end{verbatim}
5881 \noindent{\bf Arguments:}
5884 \vspace{0.3cm}
5885 \begin{tabular}{|c|c|p{7cm}|}
5886 \hline
5887 {\bf type} & {\bf name} & {\bf description} \\ \hline
5888 {\tt host\_cpu ref } & self & reference to the object \\ \hline
5890 \end{tabular}
5892 \vspace{0.3cm}
5894 \noindent {\bf Return Type:}
5895 {\tt
5896 string
5900 value of the field
5901 \vspace{0.3cm}
5902 \vspace{0.3cm}
5903 \vspace{0.3cm}
5904 \subsubsection{RPC name:~get\_speed}
5906 {\bf Overview:}
5907 Get the speed field of the given host\_cpu.
5909 \noindent {\bf Signature:}
5910 \begin{verbatim} int get_speed (session_id s, host_cpu ref self)\end{verbatim}
5913 \noindent{\bf Arguments:}
5916 \vspace{0.3cm}
5917 \begin{tabular}{|c|c|p{7cm}|}
5918 \hline
5919 {\bf type} & {\bf name} & {\bf description} \\ \hline
5920 {\tt host\_cpu ref } & self & reference to the object \\ \hline
5922 \end{tabular}
5924 \vspace{0.3cm}
5926 \noindent {\bf Return Type:}
5927 {\tt
5928 int
5932 value of the field
5933 \vspace{0.3cm}
5934 \vspace{0.3cm}
5935 \vspace{0.3cm}
5936 \subsubsection{RPC name:~get\_modelname}
5938 {\bf Overview:}
5939 Get the modelname field of the given host\_cpu.
5941 \noindent {\bf Signature:}
5942 \begin{verbatim} string get_modelname (session_id s, host_cpu ref self)\end{verbatim}
5945 \noindent{\bf Arguments:}
5948 \vspace{0.3cm}
5949 \begin{tabular}{|c|c|p{7cm}|}
5950 \hline
5951 {\bf type} & {\bf name} & {\bf description} \\ \hline
5952 {\tt host\_cpu ref } & self & reference to the object \\ \hline
5954 \end{tabular}
5956 \vspace{0.3cm}
5958 \noindent {\bf Return Type:}
5959 {\tt
5960 string
5964 value of the field
5965 \vspace{0.3cm}
5966 \vspace{0.3cm}
5967 \vspace{0.3cm}
5968 \subsubsection{RPC name:~get\_utilisation}
5970 {\bf Overview:}
5971 Get the utilisation field of the given host\_cpu.
5973 \noindent {\bf Signature:}
5974 \begin{verbatim} float get_utilisation (session_id s, host_cpu ref self)\end{verbatim}
5977 \noindent{\bf Arguments:}
5980 \vspace{0.3cm}
5981 \begin{tabular}{|c|c|p{7cm}|}
5982 \hline
5983 {\bf type} & {\bf name} & {\bf description} \\ \hline
5984 {\tt host\_cpu ref } & self & reference to the object \\ \hline
5986 \end{tabular}
5988 \vspace{0.3cm}
5990 \noindent {\bf Return Type:}
5991 {\tt
5992 float
5996 value of the field
5997 \vspace{0.3cm}
5998 \vspace{0.3cm}
5999 \vspace{0.3cm}
6000 \subsubsection{RPC name:~create}
6002 {\bf Overview:}
6003 Create a new host\_cpu instance, and return its handle.
6005 \noindent {\bf Signature:}
6006 \begin{verbatim} (host_cpu ref) create (session_id s, host_cpu record args)\end{verbatim}
6009 \noindent{\bf Arguments:}
6012 \vspace{0.3cm}
6013 \begin{tabular}{|c|c|p{7cm}|}
6014 \hline
6015 {\bf type} & {\bf name} & {\bf description} \\ \hline
6016 {\tt host\_cpu record } & args & All constructor arguments \\ \hline
6018 \end{tabular}
6020 \vspace{0.3cm}
6022 \noindent {\bf Return Type:}
6023 {\tt
6024 host\_cpu ref
6028 reference to the newly created object
6029 \vspace{0.3cm}
6030 \vspace{0.3cm}
6031 \vspace{0.3cm}
6032 \subsubsection{RPC name:~destroy}
6034 {\bf Overview:}
6035 Destroy the specified host\_cpu instance.
6037 \noindent {\bf Signature:}
6038 \begin{verbatim} void destroy (session_id s, host_cpu ref self)\end{verbatim}
6041 \noindent{\bf Arguments:}
6044 \vspace{0.3cm}
6045 \begin{tabular}{|c|c|p{7cm}|}
6046 \hline
6047 {\bf type} & {\bf name} & {\bf description} \\ \hline
6048 {\tt host\_cpu ref } & self & reference to the object \\ \hline
6050 \end{tabular}
6052 \vspace{0.3cm}
6054 \noindent {\bf Return Type:}
6055 {\tt
6056 void
6061 \vspace{0.3cm}
6062 \vspace{0.3cm}
6063 \vspace{0.3cm}
6064 \subsubsection{RPC name:~get\_by\_uuid}
6066 {\bf Overview:}
6067 Get a reference to the host\_cpu instance with the specified UUID.
6069 \noindent {\bf Signature:}
6070 \begin{verbatim} (host_cpu ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
6073 \noindent{\bf Arguments:}
6076 \vspace{0.3cm}
6077 \begin{tabular}{|c|c|p{7cm}|}
6078 \hline
6079 {\bf type} & {\bf name} & {\bf description} \\ \hline
6080 {\tt string } & uuid & UUID of object to return \\ \hline
6082 \end{tabular}
6084 \vspace{0.3cm}
6086 \noindent {\bf Return Type:}
6087 {\tt
6088 host\_cpu ref
6092 reference to the object
6093 \vspace{0.3cm}
6094 \vspace{0.3cm}
6095 \vspace{0.3cm}
6096 \subsubsection{RPC name:~get\_record}
6098 {\bf Overview:}
6099 Get a record containing the current state of the given host\_cpu.
6101 \noindent {\bf Signature:}
6102 \begin{verbatim} (host_cpu record) get_record (session_id s, host_cpu ref self)\end{verbatim}
6105 \noindent{\bf Arguments:}
6108 \vspace{0.3cm}
6109 \begin{tabular}{|c|c|p{7cm}|}
6110 \hline
6111 {\bf type} & {\bf name} & {\bf description} \\ \hline
6112 {\tt host\_cpu ref } & self & reference to the object \\ \hline
6114 \end{tabular}
6116 \vspace{0.3cm}
6118 \noindent {\bf Return Type:}
6119 {\tt
6120 host\_cpu record
6124 all fields from the object
6125 \vspace{0.3cm}
6126 \vspace{0.3cm}
6127 \vspace{0.3cm}
6129 \vspace{1cm}
6130 \newpage
6131 \section{Class: network}
6132 \subsection{Fields for class: network}
6133 \begin{longtable}{|lllp{0.38\textwidth}|}
6134 \hline
6135 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf network} \\
6136 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
6137 virtual network.}} \\
6138 \hline
6139 Quals & Field & Type & Description \\
6140 \hline
6141 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
6142 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
6143 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
6144 $\mathit{RO}_\mathit{run}$ & {\tt VIFs} & (VIF ref) Set & list of connected vifs \\
6145 $\mathit{RO}_\mathit{run}$ & {\tt PIFs} & (PIF ref) Set & list of connected pifs \\
6146 $\mathit{RW}$ & {\tt default\_gateway} & string & default gateway IP address. Used for auto-configuring guests with fixed IP setting \\
6147 $\mathit{RW}$ & {\tt default\_netmask} & string & default netmask. Used for auto-configuring guests with fixed IP setting \\
6148 \hline
6149 \end{longtable}
6150 \subsection{Additional RPCs associated with class: network}
6151 \subsubsection{RPC name:~get\_all}
6153 {\bf Overview:}
6154 Return a list of all the networks known to the system
6156 \noindent {\bf Signature:}
6157 \begin{verbatim} ((network ref) Set) get_all (session_id s)\end{verbatim}
6160 \vspace{0.3cm}
6162 \noindent {\bf Return Type:}
6163 {\tt
6164 (network ref) Set
6168 A list of all the IDs of all the networks
6169 \vspace{0.3cm}
6170 \vspace{0.3cm}
6171 \vspace{0.3cm}
6172 \subsubsection{RPC name:~get\_uuid}
6174 {\bf Overview:}
6175 Get the uuid field of the given network.
6177 \noindent {\bf Signature:}
6178 \begin{verbatim} string get_uuid (session_id s, network ref self)\end{verbatim}
6181 \noindent{\bf Arguments:}
6184 \vspace{0.3cm}
6185 \begin{tabular}{|c|c|p{7cm}|}
6186 \hline
6187 {\bf type} & {\bf name} & {\bf description} \\ \hline
6188 {\tt network ref } & self & reference to the object \\ \hline
6190 \end{tabular}
6192 \vspace{0.3cm}
6194 \noindent {\bf Return Type:}
6195 {\tt
6196 string
6200 value of the field
6201 \vspace{0.3cm}
6202 \vspace{0.3cm}
6203 \vspace{0.3cm}
6204 \subsubsection{RPC name:~get\_name\_label}
6206 {\bf Overview:}
6207 Get the name/label field of the given network.
6209 \noindent {\bf Signature:}
6210 \begin{verbatim} string get_name_label (session_id s, network ref self)\end{verbatim}
6213 \noindent{\bf Arguments:}
6216 \vspace{0.3cm}
6217 \begin{tabular}{|c|c|p{7cm}|}
6218 \hline
6219 {\bf type} & {\bf name} & {\bf description} \\ \hline
6220 {\tt network ref } & self & reference to the object \\ \hline
6222 \end{tabular}
6224 \vspace{0.3cm}
6226 \noindent {\bf Return Type:}
6227 {\tt
6228 string
6232 value of the field
6233 \vspace{0.3cm}
6234 \vspace{0.3cm}
6235 \vspace{0.3cm}
6236 \subsubsection{RPC name:~set\_name\_label}
6238 {\bf Overview:}
6239 Set the name/label field of the given network.
6241 \noindent {\bf Signature:}
6242 \begin{verbatim} void set_name_label (session_id s, network ref self, string value)\end{verbatim}
6245 \noindent{\bf Arguments:}
6248 \vspace{0.3cm}
6249 \begin{tabular}{|c|c|p{7cm}|}
6250 \hline
6251 {\bf type} & {\bf name} & {\bf description} \\ \hline
6252 {\tt network ref } & self & reference to the object \\ \hline
6254 {\tt string } & value & New value to set \\ \hline
6256 \end{tabular}
6258 \vspace{0.3cm}
6260 \noindent {\bf Return Type:}
6261 {\tt
6262 void
6267 \vspace{0.3cm}
6268 \vspace{0.3cm}
6269 \vspace{0.3cm}
6270 \subsubsection{RPC name:~get\_name\_description}
6272 {\bf Overview:}
6273 Get the name/description field of the given network.
6275 \noindent {\bf Signature:}
6276 \begin{verbatim} string get_name_description (session_id s, network ref self)\end{verbatim}
6279 \noindent{\bf Arguments:}
6282 \vspace{0.3cm}
6283 \begin{tabular}{|c|c|p{7cm}|}
6284 \hline
6285 {\bf type} & {\bf name} & {\bf description} \\ \hline
6286 {\tt network ref } & self & reference to the object \\ \hline
6288 \end{tabular}
6290 \vspace{0.3cm}
6292 \noindent {\bf Return Type:}
6293 {\tt
6294 string
6298 value of the field
6299 \vspace{0.3cm}
6300 \vspace{0.3cm}
6301 \vspace{0.3cm}
6302 \subsubsection{RPC name:~set\_name\_description}
6304 {\bf Overview:}
6305 Set the name/description field of the given network.
6307 \noindent {\bf Signature:}
6308 \begin{verbatim} void set_name_description (session_id s, network ref self, string value)\end{verbatim}
6311 \noindent{\bf Arguments:}
6314 \vspace{0.3cm}
6315 \begin{tabular}{|c|c|p{7cm}|}
6316 \hline
6317 {\bf type} & {\bf name} & {\bf description} \\ \hline
6318 {\tt network ref } & self & reference to the object \\ \hline
6320 {\tt string } & value & New value to set \\ \hline
6322 \end{tabular}
6324 \vspace{0.3cm}
6326 \noindent {\bf Return Type:}
6327 {\tt
6328 void
6333 \vspace{0.3cm}
6334 \vspace{0.3cm}
6335 \vspace{0.3cm}
6336 \subsubsection{RPC name:~get\_VIFs}
6338 {\bf Overview:}
6339 Get the VIFs field of the given network.
6341 \noindent {\bf Signature:}
6342 \begin{verbatim} ((VIF ref) Set) get_VIFs (session_id s, network ref self)\end{verbatim}
6345 \noindent{\bf Arguments:}
6348 \vspace{0.3cm}
6349 \begin{tabular}{|c|c|p{7cm}|}
6350 \hline
6351 {\bf type} & {\bf name} & {\bf description} \\ \hline
6352 {\tt network ref } & self & reference to the object \\ \hline
6354 \end{tabular}
6356 \vspace{0.3cm}
6358 \noindent {\bf Return Type:}
6359 {\tt
6360 (VIF ref) Set
6364 value of the field
6365 \vspace{0.3cm}
6366 \vspace{0.3cm}
6367 \vspace{0.3cm}
6368 \subsubsection{RPC name:~get\_PIFs}
6370 {\bf Overview:}
6371 Get the PIFs field of the given network.
6373 \noindent {\bf Signature:}
6374 \begin{verbatim} ((PIF ref) Set) get_PIFs (session_id s, network ref self)\end{verbatim}
6377 \noindent{\bf Arguments:}
6380 \vspace{0.3cm}
6381 \begin{tabular}{|c|c|p{7cm}|}
6382 \hline
6383 {\bf type} & {\bf name} & {\bf description} \\ \hline
6384 {\tt network ref } & self & reference to the object \\ \hline
6386 \end{tabular}
6388 \vspace{0.3cm}
6390 \noindent {\bf Return Type:}
6391 {\tt
6392 (PIF ref) Set
6396 value of the field
6397 \vspace{0.3cm}
6398 \vspace{0.3cm}
6399 \vspace{0.3cm}
6400 \subsubsection{RPC name:~get\_default\_gateway}
6402 {\bf Overview:}
6403 Get the default\_gateway field of the given network.
6405 \noindent {\bf Signature:}
6406 \begin{verbatim} string get_default_gateway (session_id s, network ref self)\end{verbatim}
6409 \noindent{\bf Arguments:}
6412 \vspace{0.3cm}
6413 \begin{tabular}{|c|c|p{7cm}|}
6414 \hline
6415 {\bf type} & {\bf name} & {\bf description} \\ \hline
6416 {\tt network ref } & self & reference to the object \\ \hline
6418 \end{tabular}
6420 \vspace{0.3cm}
6422 \noindent {\bf Return Type:}
6423 {\tt
6424 string
6428 value of the field
6429 \vspace{0.3cm}
6430 \vspace{0.3cm}
6431 \vspace{0.3cm}
6432 \subsubsection{RPC name:~set\_default\_gateway}
6434 {\bf Overview:}
6435 Set the default\_gateway field of the given network.
6437 \noindent {\bf Signature:}
6438 \begin{verbatim} void set_default_gateway (session_id s, network ref self, string value)\end{verbatim}
6441 \noindent{\bf Arguments:}
6444 \vspace{0.3cm}
6445 \begin{tabular}{|c|c|p{7cm}|}
6446 \hline
6447 {\bf type} & {\bf name} & {\bf description} \\ \hline
6448 {\tt network ref } & self & reference to the object \\ \hline
6450 {\tt string } & value & New value to set \\ \hline
6452 \end{tabular}
6454 \vspace{0.3cm}
6456 \noindent {\bf Return Type:}
6457 {\tt
6458 void
6463 \vspace{0.3cm}
6464 \vspace{0.3cm}
6465 \vspace{0.3cm}
6466 \subsubsection{RPC name:~get\_default\_netmask}
6468 {\bf Overview:}
6469 Get the default\_netmask field of the given network.
6471 \noindent {\bf Signature:}
6472 \begin{verbatim} string get_default_netmask (session_id s, network ref self)\end{verbatim}
6475 \noindent{\bf Arguments:}
6478 \vspace{0.3cm}
6479 \begin{tabular}{|c|c|p{7cm}|}
6480 \hline
6481 {\bf type} & {\bf name} & {\bf description} \\ \hline
6482 {\tt network ref } & self & reference to the object \\ \hline
6484 \end{tabular}
6486 \vspace{0.3cm}
6488 \noindent {\bf Return Type:}
6489 {\tt
6490 string
6494 value of the field
6495 \vspace{0.3cm}
6496 \vspace{0.3cm}
6497 \vspace{0.3cm}
6498 \subsubsection{RPC name:~set\_default\_netmask}
6500 {\bf Overview:}
6501 Set the default\_netmask field of the given network.
6503 \noindent {\bf Signature:}
6504 \begin{verbatim} void set_default_netmask (session_id s, network ref self, string value)\end{verbatim}
6507 \noindent{\bf Arguments:}
6510 \vspace{0.3cm}
6511 \begin{tabular}{|c|c|p{7cm}|}
6512 \hline
6513 {\bf type} & {\bf name} & {\bf description} \\ \hline
6514 {\tt network ref } & self & reference to the object \\ \hline
6516 {\tt string } & value & New value to set \\ \hline
6518 \end{tabular}
6520 \vspace{0.3cm}
6522 \noindent {\bf Return Type:}
6523 {\tt
6524 void
6529 \vspace{0.3cm}
6530 \vspace{0.3cm}
6531 \vspace{0.3cm}
6532 \subsubsection{RPC name:~create}
6534 {\bf Overview:}
6535 Create a new network instance, and return its handle.
6537 \noindent {\bf Signature:}
6538 \begin{verbatim} (network ref) create (session_id s, network record args)\end{verbatim}
6541 \noindent{\bf Arguments:}
6544 \vspace{0.3cm}
6545 \begin{tabular}{|c|c|p{7cm}|}
6546 \hline
6547 {\bf type} & {\bf name} & {\bf description} \\ \hline
6548 {\tt network record } & args & All constructor arguments \\ \hline
6550 \end{tabular}
6552 \vspace{0.3cm}
6554 \noindent {\bf Return Type:}
6555 {\tt
6556 network ref
6560 reference to the newly created object
6561 \vspace{0.3cm}
6562 \vspace{0.3cm}
6563 \vspace{0.3cm}
6564 \subsubsection{RPC name:~destroy}
6566 {\bf Overview:}
6567 Destroy the specified network instance.
6569 \noindent {\bf Signature:}
6570 \begin{verbatim} void destroy (session_id s, network ref self)\end{verbatim}
6573 \noindent{\bf Arguments:}
6576 \vspace{0.3cm}
6577 \begin{tabular}{|c|c|p{7cm}|}
6578 \hline
6579 {\bf type} & {\bf name} & {\bf description} \\ \hline
6580 {\tt network ref } & self & reference to the object \\ \hline
6582 \end{tabular}
6584 \vspace{0.3cm}
6586 \noindent {\bf Return Type:}
6587 {\tt
6588 void
6593 \vspace{0.3cm}
6594 \vspace{0.3cm}
6595 \vspace{0.3cm}
6596 \subsubsection{RPC name:~get\_by\_uuid}
6598 {\bf Overview:}
6599 Get a reference to the network instance with the specified UUID.
6601 \noindent {\bf Signature:}
6602 \begin{verbatim} (network ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
6605 \noindent{\bf Arguments:}
6608 \vspace{0.3cm}
6609 \begin{tabular}{|c|c|p{7cm}|}
6610 \hline
6611 {\bf type} & {\bf name} & {\bf description} \\ \hline
6612 {\tt string } & uuid & UUID of object to return \\ \hline
6614 \end{tabular}
6616 \vspace{0.3cm}
6618 \noindent {\bf Return Type:}
6619 {\tt
6620 network ref
6624 reference to the object
6625 \vspace{0.3cm}
6626 \vspace{0.3cm}
6627 \vspace{0.3cm}
6628 \subsubsection{RPC name:~get\_record}
6630 {\bf Overview:}
6631 Get a record containing the current state of the given network.
6633 \noindent {\bf Signature:}
6634 \begin{verbatim} (network record) get_record (session_id s, network ref self)\end{verbatim}
6637 \noindent{\bf Arguments:}
6640 \vspace{0.3cm}
6641 \begin{tabular}{|c|c|p{7cm}|}
6642 \hline
6643 {\bf type} & {\bf name} & {\bf description} \\ \hline
6644 {\tt network ref } & self & reference to the object \\ \hline
6646 \end{tabular}
6648 \vspace{0.3cm}
6650 \noindent {\bf Return Type:}
6651 {\tt
6652 network record
6656 all fields from the object
6657 \vspace{0.3cm}
6658 \vspace{0.3cm}
6659 \vspace{0.3cm}
6660 \subsubsection{RPC name:~get\_by\_name\_label}
6662 {\bf Overview:}
6663 Get all the network instances with the given label.
6665 \noindent {\bf Signature:}
6666 \begin{verbatim} ((network ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
6669 \noindent{\bf Arguments:}
6672 \vspace{0.3cm}
6673 \begin{tabular}{|c|c|p{7cm}|}
6674 \hline
6675 {\bf type} & {\bf name} & {\bf description} \\ \hline
6676 {\tt string } & label & label of object to return \\ \hline
6678 \end{tabular}
6680 \vspace{0.3cm}
6682 \noindent {\bf Return Type:}
6683 {\tt
6684 (network ref) Set
6688 references to objects with match names
6689 \vspace{0.3cm}
6690 \vspace{0.3cm}
6691 \vspace{0.3cm}
6693 \vspace{1cm}
6694 \newpage
6695 \section{Class: VIF}
6696 \subsection{Fields for class: VIF}
6697 \begin{longtable}{|lllp{0.38\textwidth}|}
6698 \hline
6699 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VIF} \\
6700 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
6701 virtual network interface.}} \\
6702 \hline
6703 Quals & Field & Type & Description \\
6704 \hline
6705 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
6706 $\mathit{RW}$ & {\tt device} & string & name of network device as exposed to guest e.g. eth0 \\
6707 $\mathit{RO}_\mathit{ins}$ & {\tt network} & network ref & virtual network to which this vif is connected \\
6708 $\mathit{RO}_\mathit{ins}$ & {\tt VM} & VM ref & virtual machine to which this vif is connected \\
6709 $\mathit{RW}$ & {\tt MAC} & string & ethernet MAC address of virtual interface, as exposed to guest \\
6710 $\mathit{RW}$ & {\tt MTU} & int & MTU in octets \\
6711 $\mathit{RO}_\mathit{run}$ & {\tt io/read\_kbs} & float & Read bandwidth (KiB/s) \\
6712 $\mathit{RO}_\mathit{run}$ & {\tt io/write\_kbs} & float & Write bandwidth (KiB/s) \\
6713 \hline
6714 \end{longtable}
6715 \subsection{Additional RPCs associated with class: VIF}
6716 \subsubsection{RPC name:~get\_uuid}
6718 {\bf Overview:}
6719 Get the uuid field of the given VIF.
6721 \noindent {\bf Signature:}
6722 \begin{verbatim} string get_uuid (session_id s, VIF ref self)\end{verbatim}
6725 \noindent{\bf Arguments:}
6728 \vspace{0.3cm}
6729 \begin{tabular}{|c|c|p{7cm}|}
6730 \hline
6731 {\bf type} & {\bf name} & {\bf description} \\ \hline
6732 {\tt VIF ref } & self & reference to the object \\ \hline
6734 \end{tabular}
6736 \vspace{0.3cm}
6738 \noindent {\bf Return Type:}
6739 {\tt
6740 string
6744 value of the field
6745 \vspace{0.3cm}
6746 \vspace{0.3cm}
6747 \vspace{0.3cm}
6748 \subsubsection{RPC name:~get\_device}
6750 {\bf Overview:}
6751 Get the device field of the given VIF.
6753 \noindent {\bf Signature:}
6754 \begin{verbatim} string get_device (session_id s, VIF ref self)\end{verbatim}
6757 \noindent{\bf Arguments:}
6760 \vspace{0.3cm}
6761 \begin{tabular}{|c|c|p{7cm}|}
6762 \hline
6763 {\bf type} & {\bf name} & {\bf description} \\ \hline
6764 {\tt VIF ref } & self & reference to the object \\ \hline
6766 \end{tabular}
6768 \vspace{0.3cm}
6770 \noindent {\bf Return Type:}
6771 {\tt
6772 string
6776 value of the field
6777 \vspace{0.3cm}
6778 \vspace{0.3cm}
6779 \vspace{0.3cm}
6780 \subsubsection{RPC name:~set\_device}
6782 {\bf Overview:}
6783 Set the device field of the given VIF.
6785 \noindent {\bf Signature:}
6786 \begin{verbatim} void set_device (session_id s, VIF ref self, string value)\end{verbatim}
6789 \noindent{\bf Arguments:}
6792 \vspace{0.3cm}
6793 \begin{tabular}{|c|c|p{7cm}|}
6794 \hline
6795 {\bf type} & {\bf name} & {\bf description} \\ \hline
6796 {\tt VIF ref } & self & reference to the object \\ \hline
6798 {\tt string } & value & New value to set \\ \hline
6800 \end{tabular}
6802 \vspace{0.3cm}
6804 \noindent {\bf Return Type:}
6805 {\tt
6806 void
6811 \vspace{0.3cm}
6812 \vspace{0.3cm}
6813 \vspace{0.3cm}
6814 \subsubsection{RPC name:~get\_network}
6816 {\bf Overview:}
6817 Get the network field of the given VIF.
6819 \noindent {\bf Signature:}
6820 \begin{verbatim} (network ref) get_network (session_id s, VIF ref self)\end{verbatim}
6823 \noindent{\bf Arguments:}
6826 \vspace{0.3cm}
6827 \begin{tabular}{|c|c|p{7cm}|}
6828 \hline
6829 {\bf type} & {\bf name} & {\bf description} \\ \hline
6830 {\tt VIF ref } & self & reference to the object \\ \hline
6832 \end{tabular}
6834 \vspace{0.3cm}
6836 \noindent {\bf Return Type:}
6837 {\tt
6838 network ref
6842 value of the field
6843 \vspace{0.3cm}
6844 \vspace{0.3cm}
6845 \vspace{0.3cm}
6846 \subsubsection{RPC name:~get\_VM}
6848 {\bf Overview:}
6849 Get the VM field of the given VIF.
6851 \noindent {\bf Signature:}
6852 \begin{verbatim} (VM ref) get_VM (session_id s, VIF ref self)\end{verbatim}
6855 \noindent{\bf Arguments:}
6858 \vspace{0.3cm}
6859 \begin{tabular}{|c|c|p{7cm}|}
6860 \hline
6861 {\bf type} & {\bf name} & {\bf description} \\ \hline
6862 {\tt VIF ref } & self & reference to the object \\ \hline
6864 \end{tabular}
6866 \vspace{0.3cm}
6868 \noindent {\bf Return Type:}
6869 {\tt
6870 VM ref
6874 value of the field
6875 \vspace{0.3cm}
6876 \vspace{0.3cm}
6877 \vspace{0.3cm}
6878 \subsubsection{RPC name:~get\_MAC}
6880 {\bf Overview:}
6881 Get the MAC field of the given VIF.
6883 \noindent {\bf Signature:}
6884 \begin{verbatim} string get_MAC (session_id s, VIF ref self)\end{verbatim}
6887 \noindent{\bf Arguments:}
6890 \vspace{0.3cm}
6891 \begin{tabular}{|c|c|p{7cm}|}
6892 \hline
6893 {\bf type} & {\bf name} & {\bf description} \\ \hline
6894 {\tt VIF ref } & self & reference to the object \\ \hline
6896 \end{tabular}
6898 \vspace{0.3cm}
6900 \noindent {\bf Return Type:}
6901 {\tt
6902 string
6906 value of the field
6907 \vspace{0.3cm}
6908 \vspace{0.3cm}
6909 \vspace{0.3cm}
6910 \subsubsection{RPC name:~set\_MAC}
6912 {\bf Overview:}
6913 Set the MAC field of the given VIF.
6915 \noindent {\bf Signature:}
6916 \begin{verbatim} void set_MAC (session_id s, VIF ref self, string value)\end{verbatim}
6919 \noindent{\bf Arguments:}
6922 \vspace{0.3cm}
6923 \begin{tabular}{|c|c|p{7cm}|}
6924 \hline
6925 {\bf type} & {\bf name} & {\bf description} \\ \hline
6926 {\tt VIF ref } & self & reference to the object \\ \hline
6928 {\tt string } & value & New value to set \\ \hline
6930 \end{tabular}
6932 \vspace{0.3cm}
6934 \noindent {\bf Return Type:}
6935 {\tt
6936 void
6941 \vspace{0.3cm}
6942 \vspace{0.3cm}
6943 \vspace{0.3cm}
6944 \subsubsection{RPC name:~get\_MTU}
6946 {\bf Overview:}
6947 Get the MTU field of the given VIF.
6949 \noindent {\bf Signature:}
6950 \begin{verbatim} int get_MTU (session_id s, VIF ref self)\end{verbatim}
6953 \noindent{\bf Arguments:}
6956 \vspace{0.3cm}
6957 \begin{tabular}{|c|c|p{7cm}|}
6958 \hline
6959 {\bf type} & {\bf name} & {\bf description} \\ \hline
6960 {\tt VIF ref } & self & reference to the object \\ \hline
6962 \end{tabular}
6964 \vspace{0.3cm}
6966 \noindent {\bf Return Type:}
6967 {\tt
6968 int
6972 value of the field
6973 \vspace{0.3cm}
6974 \vspace{0.3cm}
6975 \vspace{0.3cm}
6976 \subsubsection{RPC name:~set\_MTU}
6978 {\bf Overview:}
6979 Set the MTU field of the given VIF.
6981 \noindent {\bf Signature:}
6982 \begin{verbatim} void set_MTU (session_id s, VIF ref self, int value)\end{verbatim}
6985 \noindent{\bf Arguments:}
6988 \vspace{0.3cm}
6989 \begin{tabular}{|c|c|p{7cm}|}
6990 \hline
6991 {\bf type} & {\bf name} & {\bf description} \\ \hline
6992 {\tt VIF ref } & self & reference to the object \\ \hline
6994 {\tt int } & value & New value to set \\ \hline
6996 \end{tabular}
6998 \vspace{0.3cm}
7000 \noindent {\bf Return Type:}
7001 {\tt
7002 void
7007 \vspace{0.3cm}
7008 \vspace{0.3cm}
7009 \vspace{0.3cm}
7010 \subsubsection{RPC name:~get\_io\_read\_kbs}
7012 {\bf Overview:}
7013 Get the io/read\_kbs field of the given VIF.
7015 \noindent {\bf Signature:}
7016 \begin{verbatim} float get_io_read_kbs (session_id s, VIF ref self)\end{verbatim}
7019 \noindent{\bf Arguments:}
7022 \vspace{0.3cm}
7023 \begin{tabular}{|c|c|p{7cm}|}
7024 \hline
7025 {\bf type} & {\bf name} & {\bf description} \\ \hline
7026 {\tt VIF ref } & self & reference to the object \\ \hline
7028 \end{tabular}
7030 \vspace{0.3cm}
7032 \noindent {\bf Return Type:}
7033 {\tt
7034 float
7038 value of the field
7039 \vspace{0.3cm}
7040 \vspace{0.3cm}
7041 \vspace{0.3cm}
7042 \subsubsection{RPC name:~get\_io\_write\_kbs}
7044 {\bf Overview:}
7045 Get the io/write\_kbs field of the given VIF.
7047 \noindent {\bf Signature:}
7048 \begin{verbatim} float get_io_write_kbs (session_id s, VIF ref self)\end{verbatim}
7051 \noindent{\bf Arguments:}
7054 \vspace{0.3cm}
7055 \begin{tabular}{|c|c|p{7cm}|}
7056 \hline
7057 {\bf type} & {\bf name} & {\bf description} \\ \hline
7058 {\tt VIF ref } & self & reference to the object \\ \hline
7060 \end{tabular}
7062 \vspace{0.3cm}
7064 \noindent {\bf Return Type:}
7065 {\tt
7066 float
7070 value of the field
7071 \vspace{0.3cm}
7072 \vspace{0.3cm}
7073 \vspace{0.3cm}
7074 \subsubsection{RPC name:~create}
7076 {\bf Overview:}
7077 Create a new VIF instance, and return its handle.
7079 \noindent {\bf Signature:}
7080 \begin{verbatim} (VIF ref) create (session_id s, VIF record args)\end{verbatim}
7083 \noindent{\bf Arguments:}
7086 \vspace{0.3cm}
7087 \begin{tabular}{|c|c|p{7cm}|}
7088 \hline
7089 {\bf type} & {\bf name} & {\bf description} \\ \hline
7090 {\tt VIF record } & args & All constructor arguments \\ \hline
7092 \end{tabular}
7094 \vspace{0.3cm}
7096 \noindent {\bf Return Type:}
7097 {\tt
7098 VIF ref
7102 reference to the newly created object
7103 \vspace{0.3cm}
7104 \vspace{0.3cm}
7105 \vspace{0.3cm}
7106 \subsubsection{RPC name:~destroy}
7108 {\bf Overview:}
7109 Destroy the specified VIF instance.
7111 \noindent {\bf Signature:}
7112 \begin{verbatim} void destroy (session_id s, VIF ref self)\end{verbatim}
7115 \noindent{\bf Arguments:}
7118 \vspace{0.3cm}
7119 \begin{tabular}{|c|c|p{7cm}|}
7120 \hline
7121 {\bf type} & {\bf name} & {\bf description} \\ \hline
7122 {\tt VIF ref } & self & reference to the object \\ \hline
7124 \end{tabular}
7126 \vspace{0.3cm}
7128 \noindent {\bf Return Type:}
7129 {\tt
7130 void
7135 \vspace{0.3cm}
7136 \vspace{0.3cm}
7137 \vspace{0.3cm}
7138 \subsubsection{RPC name:~get\_by\_uuid}
7140 {\bf Overview:}
7141 Get a reference to the VIF instance with the specified UUID.
7143 \noindent {\bf Signature:}
7144 \begin{verbatim} (VIF ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
7147 \noindent{\bf Arguments:}
7150 \vspace{0.3cm}
7151 \begin{tabular}{|c|c|p{7cm}|}
7152 \hline
7153 {\bf type} & {\bf name} & {\bf description} \\ \hline
7154 {\tt string } & uuid & UUID of object to return \\ \hline
7156 \end{tabular}
7158 \vspace{0.3cm}
7160 \noindent {\bf Return Type:}
7161 {\tt
7162 VIF ref
7166 reference to the object
7167 \vspace{0.3cm}
7168 \vspace{0.3cm}
7169 \vspace{0.3cm}
7170 \subsubsection{RPC name:~get\_record}
7172 {\bf Overview:}
7173 Get a record containing the current state of the given VIF.
7175 \noindent {\bf Signature:}
7176 \begin{verbatim} (VIF record) get_record (session_id s, VIF ref self)\end{verbatim}
7179 \noindent{\bf Arguments:}
7182 \vspace{0.3cm}
7183 \begin{tabular}{|c|c|p{7cm}|}
7184 \hline
7185 {\bf type} & {\bf name} & {\bf description} \\ \hline
7186 {\tt VIF ref } & self & reference to the object \\ \hline
7188 \end{tabular}
7190 \vspace{0.3cm}
7192 \noindent {\bf Return Type:}
7193 {\tt
7194 VIF record
7198 all fields from the object
7199 \vspace{0.3cm}
7200 \vspace{0.3cm}
7201 \vspace{0.3cm}
7203 \vspace{1cm}
7204 \newpage
7205 \section{Class: PIF}
7206 \subsection{Fields for class: PIF}
7207 \begin{longtable}{|lllp{0.38\textwidth}|}
7208 \hline
7209 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf PIF} \\
7210 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
7211 physical network interface (note separate VLANs are represented as several
7212 PIFs).}} \\
7213 \hline
7214 Quals & Field & Type & Description \\
7215 \hline
7216 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
7217 $\mathit{RW}$ & {\tt device} & string & machine-readable name of the interface (e.g. eth0) \\
7218 $\mathit{RO}_\mathit{ins}$ & {\tt network} & network ref & virtual network to which this pif is connected \\
7219 $\mathit{RO}_\mathit{ins}$ & {\tt host} & host ref & physical machine to which this pif is connected \\
7220 $\mathit{RW}$ & {\tt MAC} & string & ethernet MAC address of physical interface \\
7221 $\mathit{RW}$ & {\tt MTU} & int & MTU in octets \\
7222 $\mathit{RW}$ & {\tt VLAN} & int & VLAN tag for all traffic passing through this interface \\
7223 $\mathit{RO}_\mathit{ins}$ & {\tt metrics} & PIF\_metrics ref & metrics associated with this PIF. \\
7224 \hline
7225 \end{longtable}
7226 \subsection{Additional RPCs associated with class: PIF}
7227 \subsubsection{RPC name:~create\_VLAN}
7229 {\bf Overview:}
7230 Create a VLAN interface from an existing physical interface.
7232 \noindent {\bf Signature:}
7233 \begin{verbatim} (PIF ref) create_VLAN (session_id s, string device, network ref network, host ref host, int VLAN)\end{verbatim}
7236 \noindent{\bf Arguments:}
7239 \vspace{0.3cm}
7240 \begin{tabular}{|c|c|p{7cm}|}
7241 \hline
7242 {\bf type} & {\bf name} & {\bf description} \\ \hline
7243 {\tt string } & device & physical interface on which to crate the VLAN interface \\ \hline
7245 {\tt network ref } & network & network to which this interface should be connected \\ \hline
7247 {\tt host ref } & host & physical machine to which this PIF is connected \\ \hline
7249 {\tt int } & VLAN & VLAN tag for the new interface \\ \hline
7251 \end{tabular}
7253 \vspace{0.3cm}
7255 \noindent {\bf Return Type:}
7256 {\tt
7257 PIF ref
7261 The reference of the created PIF object
7262 \vspace{0.3cm}
7264 \noindent{\bf Possible Error Codes:} {\tt VLAN\_TAG\_INVALID}
7266 \vspace{0.6cm}
7267 \subsubsection{RPC name:~destroy}
7269 {\bf Overview:}
7270 Destroy the interface (provided it is a synthetic interface like a VLAN;
7271 fail if it is a physical interface).
7273 \noindent {\bf Signature:}
7274 \begin{verbatim} void destroy (session_id s, PIF ref self)\end{verbatim}
7277 \noindent{\bf Arguments:}
7280 \vspace{0.3cm}
7281 \begin{tabular}{|c|c|p{7cm}|}
7282 \hline
7283 {\bf type} & {\bf name} & {\bf description} \\ \hline
7284 {\tt PIF ref } & self & the PIF object to destroy \\ \hline
7286 \end{tabular}
7288 \vspace{0.3cm}
7290 \noindent {\bf Return Type:}
7291 {\tt
7292 void
7297 \vspace{0.3cm}
7299 \noindent{\bf Possible Error Codes:} {\tt PIF\_IS\_PHYSICAL}
7301 \vspace{0.6cm}
7302 \subsubsection{RPC name:~get\_uuid}
7304 {\bf Overview:}
7305 Get the uuid field of the given PIF.
7307 \noindent {\bf Signature:}
7308 \begin{verbatim} string get_uuid (session_id s, PIF ref self)\end{verbatim}
7311 \noindent{\bf Arguments:}
7314 \vspace{0.3cm}
7315 \begin{tabular}{|c|c|p{7cm}|}
7316 \hline
7317 {\bf type} & {\bf name} & {\bf description} \\ \hline
7318 {\tt PIF ref } & self & reference to the object \\ \hline
7320 \end{tabular}
7322 \vspace{0.3cm}
7324 \noindent {\bf Return Type:}
7325 {\tt
7326 string
7330 value of the field
7331 \vspace{0.3cm}
7332 \vspace{0.3cm}
7333 \vspace{0.3cm}
7334 \subsubsection{RPC name:~get\_device}
7336 {\bf Overview:}
7337 Get the device field of the given PIF.
7339 \noindent {\bf Signature:}
7340 \begin{verbatim} string get_device (session_id s, PIF ref self)\end{verbatim}
7343 \noindent{\bf Arguments:}
7346 \vspace{0.3cm}
7347 \begin{tabular}{|c|c|p{7cm}|}
7348 \hline
7349 {\bf type} & {\bf name} & {\bf description} \\ \hline
7350 {\tt PIF ref } & self & reference to the object \\ \hline
7352 \end{tabular}
7354 \vspace{0.3cm}
7356 \noindent {\bf Return Type:}
7357 {\tt
7358 string
7362 value of the field
7363 \vspace{0.3cm}
7364 \vspace{0.3cm}
7365 \vspace{0.3cm}
7366 \subsubsection{RPC name:~set\_device}
7368 {\bf Overview:}
7369 Set the device field of the given PIF.
7371 \noindent {\bf Signature:}
7372 \begin{verbatim} void set_device (session_id s, PIF ref self, string value)\end{verbatim}
7375 \noindent{\bf Arguments:}
7378 \vspace{0.3cm}
7379 \begin{tabular}{|c|c|p{7cm}|}
7380 \hline
7381 {\bf type} & {\bf name} & {\bf description} \\ \hline
7382 {\tt PIF ref } & self & reference to the object \\ \hline
7384 {\tt string } & value & New value to set \\ \hline
7386 \end{tabular}
7388 \vspace{0.3cm}
7390 \noindent {\bf Return Type:}
7391 {\tt
7392 void
7397 \vspace{0.3cm}
7398 \vspace{0.3cm}
7399 \vspace{0.3cm}
7400 \subsubsection{RPC name:~get\_network}
7402 {\bf Overview:}
7403 Get the network field of the given PIF.
7405 \noindent {\bf Signature:}
7406 \begin{verbatim} (network ref) get_network (session_id s, PIF ref self)\end{verbatim}
7409 \noindent{\bf Arguments:}
7412 \vspace{0.3cm}
7413 \begin{tabular}{|c|c|p{7cm}|}
7414 \hline
7415 {\bf type} & {\bf name} & {\bf description} \\ \hline
7416 {\tt PIF ref } & self & reference to the object \\ \hline
7418 \end{tabular}
7420 \vspace{0.3cm}
7422 \noindent {\bf Return Type:}
7423 {\tt
7424 network ref
7428 value of the field
7429 \vspace{0.3cm}
7430 \vspace{0.3cm}
7431 \vspace{0.3cm}
7432 \subsubsection{RPC name:~get\_host}
7434 {\bf Overview:}
7435 Get the host field of the given PIF.
7437 \noindent {\bf Signature:}
7438 \begin{verbatim} (host ref) get_host (session_id s, PIF ref self)\end{verbatim}
7441 \noindent{\bf Arguments:}
7444 \vspace{0.3cm}
7445 \begin{tabular}{|c|c|p{7cm}|}
7446 \hline
7447 {\bf type} & {\bf name} & {\bf description} \\ \hline
7448 {\tt PIF ref } & self & reference to the object \\ \hline
7450 \end{tabular}
7452 \vspace{0.3cm}
7454 \noindent {\bf Return Type:}
7455 {\tt
7456 host ref
7460 value of the field
7461 \vspace{0.3cm}
7462 \vspace{0.3cm}
7463 \vspace{0.3cm}
7464 \subsubsection{RPC name:~get\_MAC}
7466 {\bf Overview:}
7467 Get the MAC field of the given PIF.
7469 \noindent {\bf Signature:}
7470 \begin{verbatim} string get_MAC (session_id s, PIF ref self)\end{verbatim}
7473 \noindent{\bf Arguments:}
7476 \vspace{0.3cm}
7477 \begin{tabular}{|c|c|p{7cm}|}
7478 \hline
7479 {\bf type} & {\bf name} & {\bf description} \\ \hline
7480 {\tt PIF ref } & self & reference to the object \\ \hline
7482 \end{tabular}
7484 \vspace{0.3cm}
7486 \noindent {\bf Return Type:}
7487 {\tt
7488 string
7492 value of the field
7493 \vspace{0.3cm}
7494 \vspace{0.3cm}
7495 \vspace{0.3cm}
7496 \subsubsection{RPC name:~set\_MAC}
7498 {\bf Overview:}
7499 Set the MAC field of the given PIF.
7501 \noindent {\bf Signature:}
7502 \begin{verbatim} void set_MAC (session_id s, PIF ref self, string value)\end{verbatim}
7505 \noindent{\bf Arguments:}
7508 \vspace{0.3cm}
7509 \begin{tabular}{|c|c|p{7cm}|}
7510 \hline
7511 {\bf type} & {\bf name} & {\bf description} \\ \hline
7512 {\tt PIF ref } & self & reference to the object \\ \hline
7514 {\tt string } & value & New value to set \\ \hline
7516 \end{tabular}
7518 \vspace{0.3cm}
7520 \noindent {\bf Return Type:}
7521 {\tt
7522 void
7527 \vspace{0.3cm}
7528 \vspace{0.3cm}
7529 \vspace{0.3cm}
7530 \subsubsection{RPC name:~get\_MTU}
7532 {\bf Overview:}
7533 Get the MTU field of the given PIF.
7535 \noindent {\bf Signature:}
7536 \begin{verbatim} int get_MTU (session_id s, PIF ref self)\end{verbatim}
7539 \noindent{\bf Arguments:}
7542 \vspace{0.3cm}
7543 \begin{tabular}{|c|c|p{7cm}|}
7544 \hline
7545 {\bf type} & {\bf name} & {\bf description} \\ \hline
7546 {\tt PIF ref } & self & reference to the object \\ \hline
7548 \end{tabular}
7550 \vspace{0.3cm}
7552 \noindent {\bf Return Type:}
7553 {\tt
7554 int
7558 value of the field
7559 \vspace{0.3cm}
7560 \vspace{0.3cm}
7561 \vspace{0.3cm}
7562 \subsubsection{RPC name:~set\_MTU}
7564 {\bf Overview:}
7565 Set the MTU field of the given PIF.
7567 \noindent {\bf Signature:}
7568 \begin{verbatim} void set_MTU (session_id s, PIF ref self, int value)\end{verbatim}
7571 \noindent{\bf Arguments:}
7574 \vspace{0.3cm}
7575 \begin{tabular}{|c|c|p{7cm}|}
7576 \hline
7577 {\bf type} & {\bf name} & {\bf description} \\ \hline
7578 {\tt PIF ref } & self & reference to the object \\ \hline
7580 {\tt int } & value & New value to set \\ \hline
7582 \end{tabular}
7584 \vspace{0.3cm}
7586 \noindent {\bf Return Type:}
7587 {\tt
7588 void
7593 \vspace{0.3cm}
7594 \vspace{0.3cm}
7595 \vspace{0.3cm}
7596 \subsubsection{RPC name:~get\_VLAN}
7598 {\bf Overview:}
7599 Get the VLAN field of the given PIF.
7601 \noindent {\bf Signature:}
7602 \begin{verbatim} int get_VLAN (session_id s, PIF ref self)\end{verbatim}
7605 \noindent{\bf Arguments:}
7608 \vspace{0.3cm}
7609 \begin{tabular}{|c|c|p{7cm}|}
7610 \hline
7611 {\bf type} & {\bf name} & {\bf description} \\ \hline
7612 {\tt PIF ref } & self & reference to the object \\ \hline
7614 \end{tabular}
7616 \vspace{0.3cm}
7618 \noindent {\bf Return Type:}
7619 {\tt
7620 int
7624 value of the field
7625 \vspace{0.3cm}
7626 \vspace{0.3cm}
7627 \vspace{0.3cm}
7628 \subsubsection{RPC name:~set\_VLAN}
7630 {\bf Overview:}
7631 Set the VLAN field of the given PIF.
7633 \noindent {\bf Signature:}
7634 \begin{verbatim} void set_VLAN (session_id s, PIF ref self, int value)\end{verbatim}
7637 \noindent{\bf Arguments:}
7640 \vspace{0.3cm}
7641 \begin{tabular}{|c|c|p{7cm}|}
7642 \hline
7643 {\bf type} & {\bf name} & {\bf description} \\ \hline
7644 {\tt PIF ref } & self & reference to the object \\ \hline
7646 {\tt int } & value & New value to set \\ \hline
7648 \end{tabular}
7650 \vspace{0.3cm}
7652 \noindent {\bf Return Type:}
7653 {\tt
7654 void
7659 \vspace{0.3cm}
7660 \vspace{0.3cm}
7661 \vspace{0.3cm}
7662 \subsubsection{RPC name:~get\_metrics}
7664 {\bf Overview:}
7665 Get the metrics field of the given PIF.
7667 \noindent {\bf Signature:}
7668 \begin{verbatim} (PIF_metrics ref) get_metrics (session_id s, PIF ref self)\end{verbatim}
7671 \noindent{\bf Arguments:}
7674 \vspace{0.3cm}
7675 \begin{tabular}{|c|c|p{7cm}|}
7676 \hline
7677 {\bf type} & {\bf name} & {\bf description} \\ \hline
7678 {\tt PIF ref } & self & reference to the object \\ \hline
7680 \end{tabular}
7682 \vspace{0.3cm}
7684 \noindent {\bf Return Type:}
7685 {\tt
7686 PIF\_metrics ref
7690 value of the field
7691 \vspace{0.3cm}
7692 \vspace{0.3cm}
7693 \vspace{0.3cm}
7694 \subsubsection{RPC name:~get\_by\_uuid}
7696 {\bf Overview:}
7697 Get a reference to the PIF instance with the specified UUID.
7699 \noindent {\bf Signature:}
7700 \begin{verbatim} (PIF ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
7703 \noindent{\bf Arguments:}
7706 \vspace{0.3cm}
7707 \begin{tabular}{|c|c|p{7cm}|}
7708 \hline
7709 {\bf type} & {\bf name} & {\bf description} \\ \hline
7710 {\tt string } & uuid & UUID of object to return \\ \hline
7712 \end{tabular}
7714 \vspace{0.3cm}
7716 \noindent {\bf Return Type:}
7717 {\tt
7718 PIF ref
7722 reference to the object
7723 \vspace{0.3cm}
7724 \vspace{0.3cm}
7725 \vspace{0.3cm}
7726 \subsubsection{RPC name:~get\_record}
7728 {\bf Overview:}
7729 Get a record containing the current state of the given PIF.
7731 \noindent {\bf Signature:}
7732 \begin{verbatim} (PIF record) get_record (session_id s, PIF ref self)\end{verbatim}
7735 \noindent{\bf Arguments:}
7738 \vspace{0.3cm}
7739 \begin{tabular}{|c|c|p{7cm}|}
7740 \hline
7741 {\bf type} & {\bf name} & {\bf description} \\ \hline
7742 {\tt PIF ref } & self & reference to the object \\ \hline
7744 \end{tabular}
7746 \vspace{0.3cm}
7748 \noindent {\bf Return Type:}
7749 {\tt
7750 PIF record
7754 all fields from the object
7755 \vspace{0.3cm}
7756 \vspace{0.3cm}
7757 \vspace{0.3cm}
7759 \vspace{1cm}
7760 \newpage
7761 \section{Class: PIF\_metrics}
7762 \subsection{Fields for class: PIF\_metrics}
7763 \begin{longtable}{|lllp{0.38\textwidth}|}
7764 \hline
7765 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf PIF\_metrics} \\
7766 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em
7767 The metrics associated with a physical network interface.}} \\
7768 \hline
7769 Quals & Field & Type & Description \\
7770 \hline
7771 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
7772 $\mathit{RO}_\mathit{ins}$ & {\tt PIF} & PIF ref & PIF to which these metrics apply \\
7773 $\mathit{RO}_\mathit{run}$ & {\tt io/read\_kbs} & float & Read bandwidth (KiB/s) \\
7774 $\mathit{RO}_\mathit{run}$ & {\tt io/write\_kbs} & float & Write bandwidth (KiB/s) \\
7775 \hline
7776 \end{longtable}
7777 \subsection{Additional RPCs associated with class: PIF\_metrics}
7778 \subsubsection{RPC name:~get\_uuid}
7780 {\bf Overview:}
7781 Get the uuid field of the given PIF\_metrics.
7783 \noindent {\bf Signature:}
7784 \begin{verbatim} string get_uuid (session_id s, PIF_metrics ref self)\end{verbatim}
7787 \noindent{\bf Arguments:}
7790 \vspace{0.3cm}
7791 \begin{tabular}{|c|c|p{7cm}|}
7792 \hline
7793 {\bf type} & {\bf name} & {\bf description} \\ \hline
7794 {\tt PIF\_metrics ref } & self & reference to the object \\ \hline
7796 \end{tabular}
7798 \vspace{0.3cm}
7800 \noindent {\bf Return Type:}
7801 {\tt
7802 string
7806 value of the field
7807 \vspace{0.3cm}
7808 \vspace{0.3cm}
7809 \vspace{0.3cm}
7810 \subsubsection{RPC name:~get\_PIF}
7812 {\bf Overview:}
7813 Get the PIF field of the given PIF\_metrics.
7815 \noindent {\bf Signature:}
7816 \begin{verbatim} (PIF ref) get_PIF (session_id s, PIF_metrics ref self)\end{verbatim}
7819 \noindent{\bf Arguments:}
7822 \vspace{0.3cm}
7823 \begin{tabular}{|c|c|p{7cm}|}
7824 \hline
7825 {\bf type} & {\bf name} & {\bf description} \\ \hline
7826 {\tt PIF\_metrics ref } & self & reference to the object \\ \hline
7828 \end{tabular}
7830 \vspace{0.3cm}
7832 \noindent {\bf Return Type:}
7833 {\tt
7834 PIF ref
7838 value of the field
7839 \vspace{0.3cm}
7840 \vspace{0.3cm}
7841 \vspace{0.3cm}
7842 \subsubsection{RPC name:~get\_io\_read\_kbs}
7844 {\bf Overview:}
7845 Get the io/read\_kbs field of the given PIF\_metrics.
7847 \noindent {\bf Signature:}
7848 \begin{verbatim} float get_io_read_kbs (session_id s, PIF_metrics ref self)\end{verbatim}
7851 \noindent{\bf Arguments:}
7854 \vspace{0.3cm}
7855 \begin{tabular}{|c|c|p{7cm}|}
7856 \hline
7857 {\bf type} & {\bf name} & {\bf description} \\ \hline
7858 {\tt PIF\_metrics ref } & self & reference to the object \\ \hline
7860 \end{tabular}
7862 \vspace{0.3cm}
7864 \noindent {\bf Return Type:}
7865 {\tt
7866 float
7870 value of the field
7871 \vspace{0.3cm}
7872 \vspace{0.3cm}
7873 \vspace{0.3cm}
7874 \subsubsection{RPC name:~get\_io\_write\_kbs}
7876 {\bf Overview:}
7877 Get the io/write\_kbs field of the given PIF\_metrics.
7879 \noindent {\bf Signature:}
7880 \begin{verbatim} float get_io_write_kbs (session_id s, PIF_metrics ref self)\end{verbatim}
7883 \noindent{\bf Arguments:}
7886 \vspace{0.3cm}
7887 \begin{tabular}{|c|c|p{7cm}|}
7888 \hline
7889 {\bf type} & {\bf name} & {\bf description} \\ \hline
7890 {\tt PIF\_metrics ref } & self & reference to the object \\ \hline
7892 \end{tabular}
7894 \vspace{0.3cm}
7896 \noindent {\bf Return Type:}
7897 {\tt
7898 float
7902 value of the field
7903 \vspace{0.3cm}
7904 \vspace{0.3cm}
7905 \vspace{0.3cm}
7906 \subsubsection{RPC name:~get\_by\_uuid}
7908 {\bf Overview:}
7909 Get a reference to the PIF\_metrics instance with the specified UUID.
7911 \noindent {\bf Signature:}
7912 \begin{verbatim} (PIF_metrics ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
7915 \noindent{\bf Arguments:}
7918 \vspace{0.3cm}
7919 \begin{tabular}{|c|c|p{7cm}|}
7920 \hline
7921 {\bf type} & {\bf name} & {\bf description} \\ \hline
7922 {\tt string } & uuid & UUID of object to return \\ \hline
7924 \end{tabular}
7926 \vspace{0.3cm}
7928 \noindent {\bf Return Type:}
7929 {\tt
7930 PIF\_metrics ref
7934 reference to the object
7935 \vspace{0.3cm}
7936 \vspace{0.3cm}
7937 \vspace{0.3cm}
7938 \subsubsection{RPC name:~get\_record}
7940 {\bf Overview:}
7941 Get a record containing the current state of the given PIF\_metrics.
7943 \noindent {\bf Signature:}
7944 \begin{verbatim} (PIF_metrics record) get_record (session_id s, PIF_metrics 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 PIF\_metrics ref } & self & reference to the object \\ \hline
7956 \end{tabular}
7958 \vspace{0.3cm}
7960 \noindent {\bf Return Type:}
7961 {\tt
7962 PIF\_metrics record
7966 all fields from the object
7967 \vspace{0.3cm}
7968 \vspace{0.3cm}
7969 \vspace{0.3cm}
7971 \vspace{1cm}
7972 \newpage
7973 \section{Class: SR}
7974 \subsection{Fields for class: SR}
7975 \begin{longtable}{|lllp{0.38\textwidth}|}
7976 \hline
7977 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf SR} \\
7978 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
7979 storage repository.}} \\
7980 \hline
7981 Quals & Field & Type & Description \\
7982 \hline
7983 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
7984 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
7985 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
7986 $\mathit{RO}_\mathit{run}$ & {\tt VDIs} & (VDI ref) Set & managed virtual disks \\
7987 $\mathit{RO}_\mathit{run}$ & {\tt PBDs} & (PBD ref) Set & physical blockdevices \\
7988 $\mathit{RO}_\mathit{run}$ & {\tt virtual\_allocation} & int & sum of virtual\_sizes of all VDIs in this storage repository (in bytes) \\
7989 $\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 \\
7990 $\mathit{RO}_\mathit{ins}$ & {\tt physical\_size} & int & total physical size of the repository (in bytes) \\
7991 $\mathit{RO}_\mathit{ins}$ & {\tt type} & string & type of the storage repository \\
7992 $\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 \\
7993 \hline
7994 \end{longtable}
7995 \subsection{Additional RPCs associated with class: SR}
7996 \subsubsection{RPC name:~clone}
7998 {\bf Overview:}
7999 Take an exact copy of the Storage Repository;
8000 the cloned storage repository has the same type as its parent
8002 \noindent {\bf Signature:}
8003 \begin{verbatim} (SR ref) clone (session_id s, SR ref sr, string loc, string name)\end{verbatim}
8006 \noindent{\bf Arguments:}
8009 \vspace{0.3cm}
8010 \begin{tabular}{|c|c|p{7cm}|}
8011 \hline
8012 {\bf type} & {\bf name} & {\bf description} \\ \hline
8013 {\tt SR ref } & sr & The Storage Repository to clone \\ \hline
8015 {\tt string } & loc & The location string that defines where the new storage repository will be located \\ \hline
8017 {\tt string } & name & The name of the new storage repository \\ \hline
8019 \end{tabular}
8021 \vspace{0.3cm}
8023 \noindent {\bf Return Type:}
8024 {\tt
8025 SR ref
8029 The ID of the newly created Storage Repository.
8030 \vspace{0.3cm}
8031 \vspace{0.3cm}
8032 \vspace{0.3cm}
8033 \subsubsection{RPC name:~get\_all}
8035 {\bf Overview:}
8036 Return a list of all the Storage Repositories known to the system
8038 \noindent {\bf Signature:}
8039 \begin{verbatim} ((SR ref) Set) get_all (session_id s)\end{verbatim}
8042 \vspace{0.3cm}
8044 \noindent {\bf Return Type:}
8045 {\tt
8046 (SR ref) Set
8050 A list of all the IDs of all the Storage Repositories
8051 \vspace{0.3cm}
8052 \vspace{0.3cm}
8053 \vspace{0.3cm}
8054 \subsubsection{RPC name:~get\_uuid}
8056 {\bf Overview:}
8057 Get the uuid field of the given SR.
8059 \noindent {\bf Signature:}
8060 \begin{verbatim} string get_uuid (session_id s, SR ref self)\end{verbatim}
8063 \noindent{\bf Arguments:}
8066 \vspace{0.3cm}
8067 \begin{tabular}{|c|c|p{7cm}|}
8068 \hline
8069 {\bf type} & {\bf name} & {\bf description} \\ \hline
8070 {\tt SR ref } & self & reference to the object \\ \hline
8072 \end{tabular}
8074 \vspace{0.3cm}
8076 \noindent {\bf Return Type:}
8077 {\tt
8078 string
8082 value of the field
8083 \vspace{0.3cm}
8084 \vspace{0.3cm}
8085 \vspace{0.3cm}
8086 \subsubsection{RPC name:~get\_name\_label}
8088 {\bf Overview:}
8089 Get the name/label field of the given SR.
8091 \noindent {\bf Signature:}
8092 \begin{verbatim} string get_name_label (session_id s, SR ref self)\end{verbatim}
8095 \noindent{\bf Arguments:}
8098 \vspace{0.3cm}
8099 \begin{tabular}{|c|c|p{7cm}|}
8100 \hline
8101 {\bf type} & {\bf name} & {\bf description} \\ \hline
8102 {\tt SR ref } & self & reference to the object \\ \hline
8104 \end{tabular}
8106 \vspace{0.3cm}
8108 \noindent {\bf Return Type:}
8109 {\tt
8110 string
8114 value of the field
8115 \vspace{0.3cm}
8116 \vspace{0.3cm}
8117 \vspace{0.3cm}
8118 \subsubsection{RPC name:~set\_name\_label}
8120 {\bf Overview:}
8121 Set the name/label field of the given SR.
8123 \noindent {\bf Signature:}
8124 \begin{verbatim} void set_name_label (session_id s, SR ref self, string value)\end{verbatim}
8127 \noindent{\bf Arguments:}
8130 \vspace{0.3cm}
8131 \begin{tabular}{|c|c|p{7cm}|}
8132 \hline
8133 {\bf type} & {\bf name} & {\bf description} \\ \hline
8134 {\tt SR ref } & self & reference to the object \\ \hline
8136 {\tt string } & value & New value to set \\ \hline
8138 \end{tabular}
8140 \vspace{0.3cm}
8142 \noindent {\bf Return Type:}
8143 {\tt
8144 void
8149 \vspace{0.3cm}
8150 \vspace{0.3cm}
8151 \vspace{0.3cm}
8152 \subsubsection{RPC name:~get\_name\_description}
8154 {\bf Overview:}
8155 Get the name/description field of the given SR.
8157 \noindent {\bf Signature:}
8158 \begin{verbatim} string get_name_description (session_id s, SR ref self)\end{verbatim}
8161 \noindent{\bf Arguments:}
8164 \vspace{0.3cm}
8165 \begin{tabular}{|c|c|p{7cm}|}
8166 \hline
8167 {\bf type} & {\bf name} & {\bf description} \\ \hline
8168 {\tt SR ref } & self & reference to the object \\ \hline
8170 \end{tabular}
8172 \vspace{0.3cm}
8174 \noindent {\bf Return Type:}
8175 {\tt
8176 string
8180 value of the field
8181 \vspace{0.3cm}
8182 \vspace{0.3cm}
8183 \vspace{0.3cm}
8184 \subsubsection{RPC name:~set\_name\_description}
8186 {\bf Overview:}
8187 Set the name/description field of the given SR.
8189 \noindent {\bf Signature:}
8190 \begin{verbatim} void set_name_description (session_id s, SR ref self, string value)\end{verbatim}
8193 \noindent{\bf Arguments:}
8196 \vspace{0.3cm}
8197 \begin{tabular}{|c|c|p{7cm}|}
8198 \hline
8199 {\bf type} & {\bf name} & {\bf description} \\ \hline
8200 {\tt SR ref } & self & reference to the object \\ \hline
8202 {\tt string } & value & New value to set \\ \hline
8204 \end{tabular}
8206 \vspace{0.3cm}
8208 \noindent {\bf Return Type:}
8209 {\tt
8210 void
8215 \vspace{0.3cm}
8216 \vspace{0.3cm}
8217 \vspace{0.3cm}
8218 \subsubsection{RPC name:~get\_VDIs}
8220 {\bf Overview:}
8221 Get the VDIs field of the given SR.
8223 \noindent {\bf Signature:}
8224 \begin{verbatim} ((VDI ref) Set) get_VDIs (session_id s, SR ref self)\end{verbatim}
8227 \noindent{\bf Arguments:}
8230 \vspace{0.3cm}
8231 \begin{tabular}{|c|c|p{7cm}|}
8232 \hline
8233 {\bf type} & {\bf name} & {\bf description} \\ \hline
8234 {\tt SR ref } & self & reference to the object \\ \hline
8236 \end{tabular}
8238 \vspace{0.3cm}
8240 \noindent {\bf Return Type:}
8241 {\tt
8242 (VDI ref) Set
8246 value of the field
8247 \vspace{0.3cm}
8248 \vspace{0.3cm}
8249 \vspace{0.3cm}
8250 \subsubsection{RPC name:~get\_PBDs}
8252 {\bf Overview:}
8253 Get the PBDs field of the given SR.
8255 \noindent {\bf Signature:}
8256 \begin{verbatim} ((PBD ref) Set) get_PBDs (session_id s, SR ref self)\end{verbatim}
8259 \noindent{\bf Arguments:}
8262 \vspace{0.3cm}
8263 \begin{tabular}{|c|c|p{7cm}|}
8264 \hline
8265 {\bf type} & {\bf name} & {\bf description} \\ \hline
8266 {\tt SR ref } & self & reference to the object \\ \hline
8268 \end{tabular}
8270 \vspace{0.3cm}
8272 \noindent {\bf Return Type:}
8273 {\tt
8274 (PBD ref) Set
8278 value of the field
8279 \vspace{0.3cm}
8280 \vspace{0.3cm}
8281 \vspace{0.3cm}
8282 \subsubsection{RPC name:~get\_virtual\_allocation}
8284 {\bf Overview:}
8285 Get the virtual\_allocation field of the given SR.
8287 \noindent {\bf Signature:}
8288 \begin{verbatim} int get_virtual_allocation (session_id s, SR ref self)\end{verbatim}
8291 \noindent{\bf Arguments:}
8294 \vspace{0.3cm}
8295 \begin{tabular}{|c|c|p{7cm}|}
8296 \hline
8297 {\bf type} & {\bf name} & {\bf description} \\ \hline
8298 {\tt SR ref } & self & reference to the object \\ \hline
8300 \end{tabular}
8302 \vspace{0.3cm}
8304 \noindent {\bf Return Type:}
8305 {\tt
8306 int
8310 value of the field
8311 \vspace{0.3cm}
8312 \vspace{0.3cm}
8313 \vspace{0.3cm}
8314 \subsubsection{RPC name:~get\_physical\_utilisation}
8316 {\bf Overview:}
8317 Get the physical\_utilisation field of the given SR.
8319 \noindent {\bf Signature:}
8320 \begin{verbatim} int get_physical_utilisation (session_id s, SR ref self)\end{verbatim}
8323 \noindent{\bf Arguments:}
8326 \vspace{0.3cm}
8327 \begin{tabular}{|c|c|p{7cm}|}
8328 \hline
8329 {\bf type} & {\bf name} & {\bf description} \\ \hline
8330 {\tt SR ref } & self & reference to the object \\ \hline
8332 \end{tabular}
8334 \vspace{0.3cm}
8336 \noindent {\bf Return Type:}
8337 {\tt
8338 int
8342 value of the field
8343 \vspace{0.3cm}
8344 \vspace{0.3cm}
8345 \vspace{0.3cm}
8346 \subsubsection{RPC name:~get\_physical\_size}
8348 {\bf Overview:}
8349 Get the physical\_size field of the given SR.
8351 \noindent {\bf Signature:}
8352 \begin{verbatim} int get_physical_size (session_id s, SR ref self)\end{verbatim}
8355 \noindent{\bf Arguments:}
8358 \vspace{0.3cm}
8359 \begin{tabular}{|c|c|p{7cm}|}
8360 \hline
8361 {\bf type} & {\bf name} & {\bf description} \\ \hline
8362 {\tt SR ref } & self & reference to the object \\ \hline
8364 \end{tabular}
8366 \vspace{0.3cm}
8368 \noindent {\bf Return Type:}
8369 {\tt
8370 int
8374 value of the field
8375 \vspace{0.3cm}
8376 \vspace{0.3cm}
8377 \vspace{0.3cm}
8378 \subsubsection{RPC name:~get\_type}
8380 {\bf Overview:}
8381 Get the type field of the given SR.
8383 \noindent {\bf Signature:}
8384 \begin{verbatim} string get_type (session_id s, SR ref self)\end{verbatim}
8387 \noindent{\bf Arguments:}
8390 \vspace{0.3cm}
8391 \begin{tabular}{|c|c|p{7cm}|}
8392 \hline
8393 {\bf type} & {\bf name} & {\bf description} \\ \hline
8394 {\tt SR ref } & self & reference to the object \\ \hline
8396 \end{tabular}
8398 \vspace{0.3cm}
8400 \noindent {\bf Return Type:}
8401 {\tt
8402 string
8406 value of the field
8407 \vspace{0.3cm}
8408 \vspace{0.3cm}
8409 \vspace{0.3cm}
8410 \subsubsection{RPC name:~get\_location}
8412 {\bf Overview:}
8413 Get the location field of the given SR.
8415 \noindent {\bf Signature:}
8416 \begin{verbatim} string get_location (session_id s, SR ref self)\end{verbatim}
8419 \noindent{\bf Arguments:}
8422 \vspace{0.3cm}
8423 \begin{tabular}{|c|c|p{7cm}|}
8424 \hline
8425 {\bf type} & {\bf name} & {\bf description} \\ \hline
8426 {\tt SR ref } & self & reference to the object \\ \hline
8428 \end{tabular}
8430 \vspace{0.3cm}
8432 \noindent {\bf Return Type:}
8433 {\tt
8434 string
8438 value of the field
8439 \vspace{0.3cm}
8440 \vspace{0.3cm}
8441 \vspace{0.3cm}
8442 \subsubsection{RPC name:~create}
8444 {\bf Overview:}
8445 Create a new SR instance, and return its handle.
8447 \noindent {\bf Signature:}
8448 \begin{verbatim} (SR ref) create (session_id s, SR record args)\end{verbatim}
8451 \noindent{\bf Arguments:}
8454 \vspace{0.3cm}
8455 \begin{tabular}{|c|c|p{7cm}|}
8456 \hline
8457 {\bf type} & {\bf name} & {\bf description} \\ \hline
8458 {\tt SR record } & args & All constructor arguments \\ \hline
8460 \end{tabular}
8462 \vspace{0.3cm}
8464 \noindent {\bf Return Type:}
8465 {\tt
8466 SR ref
8470 reference to the newly created object
8471 \vspace{0.3cm}
8472 \vspace{0.3cm}
8473 \vspace{0.3cm}
8474 \subsubsection{RPC name:~destroy}
8476 {\bf Overview:}
8477 Destroy the specified SR instance.
8479 \noindent {\bf Signature:}
8480 \begin{verbatim} void destroy (session_id s, SR ref self)\end{verbatim}
8483 \noindent{\bf Arguments:}
8486 \vspace{0.3cm}
8487 \begin{tabular}{|c|c|p{7cm}|}
8488 \hline
8489 {\bf type} & {\bf name} & {\bf description} \\ \hline
8490 {\tt SR ref } & self & reference to the object \\ \hline
8492 \end{tabular}
8494 \vspace{0.3cm}
8496 \noindent {\bf Return Type:}
8497 {\tt
8498 void
8503 \vspace{0.3cm}
8504 \vspace{0.3cm}
8505 \vspace{0.3cm}
8506 \subsubsection{RPC name:~get\_by\_uuid}
8508 {\bf Overview:}
8509 Get a reference to the SR instance with the specified UUID.
8511 \noindent {\bf Signature:}
8512 \begin{verbatim} (SR ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
8515 \noindent{\bf Arguments:}
8518 \vspace{0.3cm}
8519 \begin{tabular}{|c|c|p{7cm}|}
8520 \hline
8521 {\bf type} & {\bf name} & {\bf description} \\ \hline
8522 {\tt string } & uuid & UUID of object to return \\ \hline
8524 \end{tabular}
8526 \vspace{0.3cm}
8528 \noindent {\bf Return Type:}
8529 {\tt
8530 SR ref
8534 reference to the object
8535 \vspace{0.3cm}
8536 \vspace{0.3cm}
8537 \vspace{0.3cm}
8538 \subsubsection{RPC name:~get\_record}
8540 {\bf Overview:}
8541 Get a record containing the current state of the given SR.
8543 \noindent {\bf Signature:}
8544 \begin{verbatim} (SR record) get_record (session_id s, SR ref self)\end{verbatim}
8547 \noindent{\bf Arguments:}
8550 \vspace{0.3cm}
8551 \begin{tabular}{|c|c|p{7cm}|}
8552 \hline
8553 {\bf type} & {\bf name} & {\bf description} \\ \hline
8554 {\tt SR ref } & self & reference to the object \\ \hline
8556 \end{tabular}
8558 \vspace{0.3cm}
8560 \noindent {\bf Return Type:}
8561 {\tt
8562 SR record
8566 all fields from the object
8567 \vspace{0.3cm}
8568 \vspace{0.3cm}
8569 \vspace{0.3cm}
8570 \subsubsection{RPC name:~get\_by\_name\_label}
8572 {\bf Overview:}
8573 Get all the SR instances with the given label.
8575 \noindent {\bf Signature:}
8576 \begin{verbatim} ((SR ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
8579 \noindent{\bf Arguments:}
8582 \vspace{0.3cm}
8583 \begin{tabular}{|c|c|p{7cm}|}
8584 \hline
8585 {\bf type} & {\bf name} & {\bf description} \\ \hline
8586 {\tt string } & label & label of object to return \\ \hline
8588 \end{tabular}
8590 \vspace{0.3cm}
8592 \noindent {\bf Return Type:}
8593 {\tt
8594 (SR ref) Set
8598 references to objects with match names
8599 \vspace{0.3cm}
8600 \vspace{0.3cm}
8601 \vspace{0.3cm}
8603 \vspace{1cm}
8604 \newpage
8605 \section{Class: VDI}
8606 \subsection{Fields for class: VDI}
8607 \begin{longtable}{|lllp{0.38\textwidth}|}
8608 \hline
8609 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VDI} \\
8610 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
8611 virtual disk image.}} \\
8612 \hline
8613 Quals & Field & Type & Description \\
8614 \hline
8615 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
8616 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
8617 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
8618 $\mathit{RW}$ & {\tt SR} & SR ref & storage repository in which the VDI resides \\
8619 $\mathit{RO}_\mathit{run}$ & {\tt VBDs} & (VBD ref) Set & list of vbds that refer to this disk \\
8620 $\mathit{RO}_\mathit{run}$ & {\tt crash\_dumps} & (crashdump ref) Set & list of crash dumps that refer to this disk \\
8621 $\mathit{RW}$ & {\tt virtual\_size} & int & size of disk as presented to the guest (in multiples of sector\_size field) \\
8622 $\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) \\
8623 $\mathit{RO}_\mathit{ins}$ & {\tt sector\_size} & int & sector size of VDI (in bytes) \\
8624 $\mathit{RO}_\mathit{ins}$ & {\tt type} & vdi\_type & type of the VDI \\
8625 $\mathit{RW}$ & {\tt sharable} & bool & true if this disk may be shared \\
8626 $\mathit{RW}$ & {\tt read\_only} & bool & true if this disk may ONLY be mounted read-only \\
8627 \hline
8628 \end{longtable}
8629 \subsection{Additional RPCs associated with class: VDI}
8630 \subsubsection{RPC name:~snapshot}
8632 {\bf Overview:}
8633 Take an exact copy of the VDI; the snapshot lives in the same Storage
8634 Repository as its parent.
8636 \noindent {\bf Signature:}
8637 \begin{verbatim} (VDI ref) snapshot (session_id s, VDI ref vdi)\end{verbatim}
8640 \noindent{\bf Arguments:}
8643 \vspace{0.3cm}
8644 \begin{tabular}{|c|c|p{7cm}|}
8645 \hline
8646 {\bf type} & {\bf name} & {\bf description} \\ \hline
8647 {\tt VDI ref } & vdi & The VDI to snapshot \\ \hline
8649 \end{tabular}
8651 \vspace{0.3cm}
8653 \noindent {\bf Return Type:}
8654 {\tt
8655 VDI ref
8659 The ID of the newly created VDI.
8660 \vspace{0.3cm}
8661 \vspace{0.3cm}
8662 \vspace{0.3cm}
8663 \subsubsection{RPC name:~resize}
8665 {\bf Overview:}
8666 Resize the vdi to the size.
8668 \noindent {\bf Signature:}
8669 \begin{verbatim} void resize (session_id s, VDI ref vdi, int size)\end{verbatim}
8672 \noindent{\bf Arguments:}
8675 \vspace{0.3cm}
8676 \begin{tabular}{|c|c|p{7cm}|}
8677 \hline
8678 {\bf type} & {\bf name} & {\bf description} \\ \hline
8679 {\tt VDI ref } & vdi & The VDI to resize \\ \hline
8681 {\tt int } & size & The new size of the VDI \\ \hline
8683 \end{tabular}
8685 \vspace{0.3cm}
8687 \noindent {\bf Return Type:}
8688 {\tt
8689 void
8694 \vspace{0.3cm}
8695 \vspace{0.3cm}
8696 \vspace{0.3cm}
8697 \subsubsection{RPC name:~get\_uuid}
8699 {\bf Overview:}
8700 Get the uuid field of the given VDI.
8702 \noindent {\bf Signature:}
8703 \begin{verbatim} string get_uuid (session_id s, VDI ref self)\end{verbatim}
8706 \noindent{\bf Arguments:}
8709 \vspace{0.3cm}
8710 \begin{tabular}{|c|c|p{7cm}|}
8711 \hline
8712 {\bf type} & {\bf name} & {\bf description} \\ \hline
8713 {\tt VDI ref } & self & reference to the object \\ \hline
8715 \end{tabular}
8717 \vspace{0.3cm}
8719 \noindent {\bf Return Type:}
8720 {\tt
8721 string
8725 value of the field
8726 \vspace{0.3cm}
8727 \vspace{0.3cm}
8728 \vspace{0.3cm}
8729 \subsubsection{RPC name:~get\_name\_label}
8731 {\bf Overview:}
8732 Get the name/label field of the given VDI.
8734 \noindent {\bf Signature:}
8735 \begin{verbatim} string get_name_label (session_id s, VDI ref self)\end{verbatim}
8738 \noindent{\bf Arguments:}
8741 \vspace{0.3cm}
8742 \begin{tabular}{|c|c|p{7cm}|}
8743 \hline
8744 {\bf type} & {\bf name} & {\bf description} \\ \hline
8745 {\tt VDI ref } & self & reference to the object \\ \hline
8747 \end{tabular}
8749 \vspace{0.3cm}
8751 \noindent {\bf Return Type:}
8752 {\tt
8753 string
8757 value of the field
8758 \vspace{0.3cm}
8759 \vspace{0.3cm}
8760 \vspace{0.3cm}
8761 \subsubsection{RPC name:~set\_name\_label}
8763 {\bf Overview:}
8764 Set the name/label field of the given VDI.
8766 \noindent {\bf Signature:}
8767 \begin{verbatim} void set_name_label (session_id s, VDI ref self, string value)\end{verbatim}
8770 \noindent{\bf Arguments:}
8773 \vspace{0.3cm}
8774 \begin{tabular}{|c|c|p{7cm}|}
8775 \hline
8776 {\bf type} & {\bf name} & {\bf description} \\ \hline
8777 {\tt VDI ref } & self & reference to the object \\ \hline
8779 {\tt string } & value & New value to set \\ \hline
8781 \end{tabular}
8783 \vspace{0.3cm}
8785 \noindent {\bf Return Type:}
8786 {\tt
8787 void
8792 \vspace{0.3cm}
8793 \vspace{0.3cm}
8794 \vspace{0.3cm}
8795 \subsubsection{RPC name:~get\_name\_description}
8797 {\bf Overview:}
8798 Get the name/description field of the given VDI.
8800 \noindent {\bf Signature:}
8801 \begin{verbatim} string get_name_description (session_id s, VDI ref self)\end{verbatim}
8804 \noindent{\bf Arguments:}
8807 \vspace{0.3cm}
8808 \begin{tabular}{|c|c|p{7cm}|}
8809 \hline
8810 {\bf type} & {\bf name} & {\bf description} \\ \hline
8811 {\tt VDI ref } & self & reference to the object \\ \hline
8813 \end{tabular}
8815 \vspace{0.3cm}
8817 \noindent {\bf Return Type:}
8818 {\tt
8819 string
8823 value of the field
8824 \vspace{0.3cm}
8825 \vspace{0.3cm}
8826 \vspace{0.3cm}
8827 \subsubsection{RPC name:~set\_name\_description}
8829 {\bf Overview:}
8830 Set the name/description field of the given VDI.
8832 \noindent {\bf Signature:}
8833 \begin{verbatim} void set_name_description (session_id s, VDI ref self, string value)\end{verbatim}
8836 \noindent{\bf Arguments:}
8839 \vspace{0.3cm}
8840 \begin{tabular}{|c|c|p{7cm}|}
8841 \hline
8842 {\bf type} & {\bf name} & {\bf description} \\ \hline
8843 {\tt VDI ref } & self & reference to the object \\ \hline
8845 {\tt string } & value & New value to set \\ \hline
8847 \end{tabular}
8849 \vspace{0.3cm}
8851 \noindent {\bf Return Type:}
8852 {\tt
8853 void
8858 \vspace{0.3cm}
8859 \vspace{0.3cm}
8860 \vspace{0.3cm}
8861 \subsubsection{RPC name:~get\_SR}
8863 {\bf Overview:}
8864 Get the SR field of the given VDI.
8866 \noindent {\bf Signature:}
8867 \begin{verbatim} (SR ref) get_SR (session_id s, VDI ref self)\end{verbatim}
8870 \noindent{\bf Arguments:}
8873 \vspace{0.3cm}
8874 \begin{tabular}{|c|c|p{7cm}|}
8875 \hline
8876 {\bf type} & {\bf name} & {\bf description} \\ \hline
8877 {\tt VDI ref } & self & reference to the object \\ \hline
8879 \end{tabular}
8881 \vspace{0.3cm}
8883 \noindent {\bf Return Type:}
8884 {\tt
8885 SR ref
8889 value of the field
8890 \vspace{0.3cm}
8891 \vspace{0.3cm}
8892 \vspace{0.3cm}
8893 \subsubsection{RPC name:~set\_SR}
8895 {\bf Overview:}
8896 Set the SR field of the given VDI.
8898 \noindent {\bf Signature:}
8899 \begin{verbatim} void set_SR (session_id s, VDI ref self, SR ref value)\end{verbatim}
8902 \noindent{\bf Arguments:}
8905 \vspace{0.3cm}
8906 \begin{tabular}{|c|c|p{7cm}|}
8907 \hline
8908 {\bf type} & {\bf name} & {\bf description} \\ \hline
8909 {\tt VDI ref } & self & reference to the object \\ \hline
8911 {\tt SR ref } & value & New value to set \\ \hline
8913 \end{tabular}
8915 \vspace{0.3cm}
8917 \noindent {\bf Return Type:}
8918 {\tt
8919 void
8924 \vspace{0.3cm}
8925 \vspace{0.3cm}
8926 \vspace{0.3cm}
8927 \subsubsection{RPC name:~get\_VBDs}
8929 {\bf Overview:}
8930 Get the VBDs field of the given VDI.
8932 \noindent {\bf Signature:}
8933 \begin{verbatim} ((VBD ref) Set) get_VBDs (session_id s, VDI ref self)\end{verbatim}
8936 \noindent{\bf Arguments:}
8939 \vspace{0.3cm}
8940 \begin{tabular}{|c|c|p{7cm}|}
8941 \hline
8942 {\bf type} & {\bf name} & {\bf description} \\ \hline
8943 {\tt VDI ref } & self & reference to the object \\ \hline
8945 \end{tabular}
8947 \vspace{0.3cm}
8949 \noindent {\bf Return Type:}
8950 {\tt
8951 (VBD ref) Set
8955 value of the field
8956 \vspace{0.3cm}
8957 \vspace{0.3cm}
8958 \vspace{0.3cm}
8959 \subsubsection{RPC name:~get\_crash\_dumps}
8961 {\bf Overview:}
8962 Get the crash\_dumps field of the given VDI.
8964 \noindent {\bf Signature:}
8965 \begin{verbatim} ((crashdump ref) Set) get_crash_dumps (session_id s, VDI ref self)\end{verbatim}
8968 \noindent{\bf Arguments:}
8971 \vspace{0.3cm}
8972 \begin{tabular}{|c|c|p{7cm}|}
8973 \hline
8974 {\bf type} & {\bf name} & {\bf description} \\ \hline
8975 {\tt VDI ref } & self & reference to the object \\ \hline
8977 \end{tabular}
8979 \vspace{0.3cm}
8981 \noindent {\bf Return Type:}
8982 {\tt
8983 (crashdump ref) Set
8987 value of the field
8988 \vspace{0.3cm}
8989 \vspace{0.3cm}
8990 \vspace{0.3cm}
8991 \subsubsection{RPC name:~get\_virtual\_size}
8993 {\bf Overview:}
8994 Get the virtual\_size field of the given VDI.
8996 \noindent {\bf Signature:}
8997 \begin{verbatim} int get_virtual_size (session_id s, VDI ref self)\end{verbatim}
9000 \noindent{\bf Arguments:}
9003 \vspace{0.3cm}
9004 \begin{tabular}{|c|c|p{7cm}|}
9005 \hline
9006 {\bf type} & {\bf name} & {\bf description} \\ \hline
9007 {\tt VDI ref } & self & reference to the object \\ \hline
9009 \end{tabular}
9011 \vspace{0.3cm}
9013 \noindent {\bf Return Type:}
9014 {\tt
9015 int
9019 value of the field
9020 \vspace{0.3cm}
9021 \vspace{0.3cm}
9022 \vspace{0.3cm}
9023 \subsubsection{RPC name:~set\_virtual\_size}
9025 {\bf Overview:}
9026 Set the virtual\_size field of the given VDI.
9028 \noindent {\bf Signature:}
9029 \begin{verbatim} void set_virtual_size (session_id s, VDI ref self, int value)\end{verbatim}
9032 \noindent{\bf Arguments:}
9035 \vspace{0.3cm}
9036 \begin{tabular}{|c|c|p{7cm}|}
9037 \hline
9038 {\bf type} & {\bf name} & {\bf description} \\ \hline
9039 {\tt VDI ref } & self & reference to the object \\ \hline
9041 {\tt int } & value & New value to set \\ \hline
9043 \end{tabular}
9045 \vspace{0.3cm}
9047 \noindent {\bf Return Type:}
9048 {\tt
9049 void
9054 \vspace{0.3cm}
9055 \vspace{0.3cm}
9056 \vspace{0.3cm}
9057 \subsubsection{RPC name:~get\_physical\_utilisation}
9059 {\bf Overview:}
9060 Get the physical\_utilisation field of the given VDI.
9062 \noindent {\bf Signature:}
9063 \begin{verbatim} int get_physical_utilisation (session_id s, VDI ref self)\end{verbatim}
9066 \noindent{\bf Arguments:}
9069 \vspace{0.3cm}
9070 \begin{tabular}{|c|c|p{7cm}|}
9071 \hline
9072 {\bf type} & {\bf name} & {\bf description} \\ \hline
9073 {\tt VDI ref } & self & reference to the object \\ \hline
9075 \end{tabular}
9077 \vspace{0.3cm}
9079 \noindent {\bf Return Type:}
9080 {\tt
9081 int
9085 value of the field
9086 \vspace{0.3cm}
9087 \vspace{0.3cm}
9088 \vspace{0.3cm}
9089 \subsubsection{RPC name:~get\_sector\_size}
9091 {\bf Overview:}
9092 Get the sector\_size field of the given VDI.
9094 \noindent {\bf Signature:}
9095 \begin{verbatim} int get_sector_size (session_id s, VDI ref self)\end{verbatim}
9098 \noindent{\bf Arguments:}
9101 \vspace{0.3cm}
9102 \begin{tabular}{|c|c|p{7cm}|}
9103 \hline
9104 {\bf type} & {\bf name} & {\bf description} \\ \hline
9105 {\tt VDI ref } & self & reference to the object \\ \hline
9107 \end{tabular}
9109 \vspace{0.3cm}
9111 \noindent {\bf Return Type:}
9112 {\tt
9113 int
9117 value of the field
9118 \vspace{0.3cm}
9119 \vspace{0.3cm}
9120 \vspace{0.3cm}
9121 \subsubsection{RPC name:~get\_type}
9123 {\bf Overview:}
9124 Get the type field of the given VDI.
9126 \noindent {\bf Signature:}
9127 \begin{verbatim} (vdi_type) get_type (session_id s, VDI ref self)\end{verbatim}
9130 \noindent{\bf Arguments:}
9133 \vspace{0.3cm}
9134 \begin{tabular}{|c|c|p{7cm}|}
9135 \hline
9136 {\bf type} & {\bf name} & {\bf description} \\ \hline
9137 {\tt VDI ref } & self & reference to the object \\ \hline
9139 \end{tabular}
9141 \vspace{0.3cm}
9143 \noindent {\bf Return Type:}
9144 {\tt
9145 vdi\_type
9149 value of the field
9150 \vspace{0.3cm}
9151 \vspace{0.3cm}
9152 \vspace{0.3cm}
9153 \subsubsection{RPC name:~get\_sharable}
9155 {\bf Overview:}
9156 Get the sharable field of the given VDI.
9158 \noindent {\bf Signature:}
9159 \begin{verbatim} bool get_sharable (session_id s, VDI ref self)\end{verbatim}
9162 \noindent{\bf Arguments:}
9165 \vspace{0.3cm}
9166 \begin{tabular}{|c|c|p{7cm}|}
9167 \hline
9168 {\bf type} & {\bf name} & {\bf description} \\ \hline
9169 {\tt VDI ref } & self & reference to the object \\ \hline
9171 \end{tabular}
9173 \vspace{0.3cm}
9175 \noindent {\bf Return Type:}
9176 {\tt
9177 bool
9181 value of the field
9182 \vspace{0.3cm}
9183 \vspace{0.3cm}
9184 \vspace{0.3cm}
9185 \subsubsection{RPC name:~set\_sharable}
9187 {\bf Overview:}
9188 Set the sharable field of the given VDI.
9190 \noindent {\bf Signature:}
9191 \begin{verbatim} void set_sharable (session_id s, VDI ref self, bool value)\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 VDI ref } & self & reference to the object \\ \hline
9203 {\tt bool } & value & New value to set \\ \hline
9205 \end{tabular}
9207 \vspace{0.3cm}
9209 \noindent {\bf Return Type:}
9210 {\tt
9211 void
9216 \vspace{0.3cm}
9217 \vspace{0.3cm}
9218 \vspace{0.3cm}
9219 \subsubsection{RPC name:~get\_read\_only}
9221 {\bf Overview:}
9222 Get the read\_only field of the given VDI.
9224 \noindent {\bf Signature:}
9225 \begin{verbatim} bool get_read_only (session_id s, VDI ref self)\end{verbatim}
9228 \noindent{\bf Arguments:}
9231 \vspace{0.3cm}
9232 \begin{tabular}{|c|c|p{7cm}|}
9233 \hline
9234 {\bf type} & {\bf name} & {\bf description} \\ \hline
9235 {\tt VDI ref } & self & reference to the object \\ \hline
9237 \end{tabular}
9239 \vspace{0.3cm}
9241 \noindent {\bf Return Type:}
9242 {\tt
9243 bool
9247 value of the field
9248 \vspace{0.3cm}
9249 \vspace{0.3cm}
9250 \vspace{0.3cm}
9251 \subsubsection{RPC name:~set\_read\_only}
9253 {\bf Overview:}
9254 Set the read\_only field of the given VDI.
9256 \noindent {\bf Signature:}
9257 \begin{verbatim} void set_read_only (session_id s, VDI ref self, bool value)\end{verbatim}
9260 \noindent{\bf Arguments:}
9263 \vspace{0.3cm}
9264 \begin{tabular}{|c|c|p{7cm}|}
9265 \hline
9266 {\bf type} & {\bf name} & {\bf description} \\ \hline
9267 {\tt VDI ref } & self & reference to the object \\ \hline
9269 {\tt bool } & value & New value to set \\ \hline
9271 \end{tabular}
9273 \vspace{0.3cm}
9275 \noindent {\bf Return Type:}
9276 {\tt
9277 void
9282 \vspace{0.3cm}
9283 \vspace{0.3cm}
9284 \vspace{0.3cm}
9285 \subsubsection{RPC name:~create}
9287 {\bf Overview:}
9288 Create a new VDI instance, and return its handle.
9290 \noindent {\bf Signature:}
9291 \begin{verbatim} (VDI ref) create (session_id s, VDI record args)\end{verbatim}
9294 \noindent{\bf Arguments:}
9297 \vspace{0.3cm}
9298 \begin{tabular}{|c|c|p{7cm}|}
9299 \hline
9300 {\bf type} & {\bf name} & {\bf description} \\ \hline
9301 {\tt VDI record } & args & All constructor arguments \\ \hline
9303 \end{tabular}
9305 \vspace{0.3cm}
9307 \noindent {\bf Return Type:}
9308 {\tt
9309 VDI ref
9313 reference to the newly created object
9314 \vspace{0.3cm}
9315 \vspace{0.3cm}
9316 \vspace{0.3cm}
9317 \subsubsection{RPC name:~destroy}
9319 {\bf Overview:}
9320 Destroy the specified VDI instance.
9322 \noindent {\bf Signature:}
9323 \begin{verbatim} void destroy (session_id s, VDI ref self)\end{verbatim}
9326 \noindent{\bf Arguments:}
9329 \vspace{0.3cm}
9330 \begin{tabular}{|c|c|p{7cm}|}
9331 \hline
9332 {\bf type} & {\bf name} & {\bf description} \\ \hline
9333 {\tt VDI ref } & self & reference to the object \\ \hline
9335 \end{tabular}
9337 \vspace{0.3cm}
9339 \noindent {\bf Return Type:}
9340 {\tt
9341 void
9346 \vspace{0.3cm}
9347 \vspace{0.3cm}
9348 \vspace{0.3cm}
9349 \subsubsection{RPC name:~get\_by\_uuid}
9351 {\bf Overview:}
9352 Get a reference to the VDI instance with the specified UUID.
9354 \noindent {\bf Signature:}
9355 \begin{verbatim} (VDI ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
9358 \noindent{\bf Arguments:}
9361 \vspace{0.3cm}
9362 \begin{tabular}{|c|c|p{7cm}|}
9363 \hline
9364 {\bf type} & {\bf name} & {\bf description} \\ \hline
9365 {\tt string } & uuid & UUID of object to return \\ \hline
9367 \end{tabular}
9369 \vspace{0.3cm}
9371 \noindent {\bf Return Type:}
9372 {\tt
9373 VDI ref
9377 reference to the object
9378 \vspace{0.3cm}
9379 \vspace{0.3cm}
9380 \vspace{0.3cm}
9381 \subsubsection{RPC name:~get\_record}
9383 {\bf Overview:}
9384 Get a record containing the current state of the given VDI.
9386 \noindent {\bf Signature:}
9387 \begin{verbatim} (VDI record) get_record (session_id s, VDI ref self)\end{verbatim}
9390 \noindent{\bf Arguments:}
9393 \vspace{0.3cm}
9394 \begin{tabular}{|c|c|p{7cm}|}
9395 \hline
9396 {\bf type} & {\bf name} & {\bf description} \\ \hline
9397 {\tt VDI ref } & self & reference to the object \\ \hline
9399 \end{tabular}
9401 \vspace{0.3cm}
9403 \noindent {\bf Return Type:}
9404 {\tt
9405 VDI record
9409 all fields from the object
9410 \vspace{0.3cm}
9411 \vspace{0.3cm}
9412 \vspace{0.3cm}
9413 \subsubsection{RPC name:~get\_by\_name\_label}
9415 {\bf Overview:}
9416 Get all the VDI instances with the given label.
9418 \noindent {\bf Signature:}
9419 \begin{verbatim} ((VDI ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
9422 \noindent{\bf Arguments:}
9425 \vspace{0.3cm}
9426 \begin{tabular}{|c|c|p{7cm}|}
9427 \hline
9428 {\bf type} & {\bf name} & {\bf description} \\ \hline
9429 {\tt string } & label & label of object to return \\ \hline
9431 \end{tabular}
9433 \vspace{0.3cm}
9435 \noindent {\bf Return Type:}
9436 {\tt
9437 (VDI ref) Set
9441 references to objects with match names
9442 \vspace{0.3cm}
9443 \vspace{0.3cm}
9444 \vspace{0.3cm}
9446 \vspace{1cm}
9447 \newpage
9448 \section{Class: VBD}
9449 \subsection{Fields for class: VBD}
9450 \begin{longtable}{|lllp{0.38\textwidth}|}
9451 \hline
9452 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VBD} \\
9453 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
9454 virtual block device.}} \\
9455 \hline
9456 Quals & Field & Type & Description \\
9457 \hline
9458 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
9459 $\mathit{RO}_\mathit{ins}$ & {\tt VM} & VM ref & the virtual machine \\
9460 $\mathit{RO}_\mathit{ins}$ & {\tt VDI} & VDI ref & the virtual disk \\
9461 $\mathit{RW}$ & {\tt device} & string & device seen by the guest e.g. hda1 \\
9462 $\mathit{RW}$ & {\tt bootable} & bool & true if this VBD is bootable \\
9463 $\mathit{RW}$ & {\tt mode} & vbd\_mode & the mode the VBD should be mounted with \\
9464 $\mathit{RW}$ & {\tt type} & vbd\_type & how the VBD will appear to the guest (e.g. disk or CD) \\
9465 $\mathit{RO}_\mathit{run}$ & {\tt io/read\_kbs} & float & Read bandwidth (KiB/s) \\
9466 $\mathit{RO}_\mathit{run}$ & {\tt io/write\_kbs} & float & Write bandwidth (KiB/s) \\
9467 \hline
9468 \end{longtable}
9469 \subsection{Additional RPCs associated with class: VBD}
9470 \subsubsection{RPC name:~media\_change}
9472 {\bf Overview:}
9473 Change the media in the device for CDROM-like devices only. For other
9474 devices, detach the VBD and attach a new one.
9476 \noindent {\bf Signature:}
9477 \begin{verbatim} void media_change (session_id s, VBD ref vbd, VDI ref vdi)\end{verbatim}
9480 \noindent{\bf Arguments:}
9483 \vspace{0.3cm}
9484 \begin{tabular}{|c|c|p{7cm}|}
9485 \hline
9486 {\bf type} & {\bf name} & {\bf description} \\ \hline
9487 {\tt VBD ref } & vbd & The vbd representing the CDROM-like device \\ \hline
9489 {\tt VDI ref } & vdi & The new VDI to 'insert' \\ \hline
9491 \end{tabular}
9493 \vspace{0.3cm}
9495 \noindent {\bf Return Type:}
9496 {\tt
9497 void
9502 \vspace{0.3cm}
9503 \vspace{0.3cm}
9504 \vspace{0.3cm}
9505 \subsubsection{RPC name:~get\_uuid}
9507 {\bf Overview:}
9508 Get the uuid field of the given VBD.
9510 \noindent {\bf Signature:}
9511 \begin{verbatim} string get_uuid (session_id s, VBD ref self)\end{verbatim}
9514 \noindent{\bf Arguments:}
9517 \vspace{0.3cm}
9518 \begin{tabular}{|c|c|p{7cm}|}
9519 \hline
9520 {\bf type} & {\bf name} & {\bf description} \\ \hline
9521 {\tt VBD ref } & self & reference to the object \\ \hline
9523 \end{tabular}
9525 \vspace{0.3cm}
9527 \noindent {\bf Return Type:}
9528 {\tt
9529 string
9533 value of the field
9534 \vspace{0.3cm}
9535 \vspace{0.3cm}
9536 \vspace{0.3cm}
9537 \subsubsection{RPC name:~get\_VM}
9539 {\bf Overview:}
9540 Get the VM field of the given VBD.
9542 \noindent {\bf Signature:}
9543 \begin{verbatim} (VM ref) get_VM (session_id s, VBD ref self)\end{verbatim}
9546 \noindent{\bf Arguments:}
9549 \vspace{0.3cm}
9550 \begin{tabular}{|c|c|p{7cm}|}
9551 \hline
9552 {\bf type} & {\bf name} & {\bf description} \\ \hline
9553 {\tt VBD ref } & self & reference to the object \\ \hline
9555 \end{tabular}
9557 \vspace{0.3cm}
9559 \noindent {\bf Return Type:}
9560 {\tt
9561 VM ref
9565 value of the field
9566 \vspace{0.3cm}
9567 \vspace{0.3cm}
9568 \vspace{0.3cm}
9569 \subsubsection{RPC name:~get\_VDI}
9571 {\bf Overview:}
9572 Get the VDI field of the given VBD.
9574 \noindent {\bf Signature:}
9575 \begin{verbatim} (VDI ref) get_VDI (session_id s, VBD ref self)\end{verbatim}
9578 \noindent{\bf Arguments:}
9581 \vspace{0.3cm}
9582 \begin{tabular}{|c|c|p{7cm}|}
9583 \hline
9584 {\bf type} & {\bf name} & {\bf description} \\ \hline
9585 {\tt VBD ref } & self & reference to the object \\ \hline
9587 \end{tabular}
9589 \vspace{0.3cm}
9591 \noindent {\bf Return Type:}
9592 {\tt
9593 VDI ref
9597 value of the field
9598 \vspace{0.3cm}
9599 \vspace{0.3cm}
9600 \vspace{0.3cm}
9601 \subsubsection{RPC name:~get\_device}
9603 {\bf Overview:}
9604 Get the device field of the given VBD.
9606 \noindent {\bf Signature:}
9607 \begin{verbatim} string get_device (session_id s, VBD ref self)\end{verbatim}
9610 \noindent{\bf Arguments:}
9613 \vspace{0.3cm}
9614 \begin{tabular}{|c|c|p{7cm}|}
9615 \hline
9616 {\bf type} & {\bf name} & {\bf description} \\ \hline
9617 {\tt VBD ref } & self & reference to the object \\ \hline
9619 \end{tabular}
9621 \vspace{0.3cm}
9623 \noindent {\bf Return Type:}
9624 {\tt
9625 string
9629 value of the field
9630 \vspace{0.3cm}
9631 \vspace{0.3cm}
9632 \vspace{0.3cm}
9633 \subsubsection{RPC name:~set\_device}
9635 {\bf Overview:}
9636 Set the device field of the given VBD.
9638 \noindent {\bf Signature:}
9639 \begin{verbatim} void set_device (session_id s, VBD ref self, string value)\end{verbatim}
9642 \noindent{\bf Arguments:}
9645 \vspace{0.3cm}
9646 \begin{tabular}{|c|c|p{7cm}|}
9647 \hline
9648 {\bf type} & {\bf name} & {\bf description} \\ \hline
9649 {\tt VBD ref } & self & reference to the object \\ \hline
9651 {\tt string } & value & New value to set \\ \hline
9653 \end{tabular}
9655 \vspace{0.3cm}
9657 \noindent {\bf Return Type:}
9658 {\tt
9659 void
9664 \vspace{0.3cm}
9665 \vspace{0.3cm}
9666 \vspace{0.3cm}
9667 \subsubsection{RPC name:~get\_bootable}
9669 {\bf Overview:}
9670 Get the bootable field of the given VBD.
9672 \noindent {\bf Signature:}
9673 \begin{verbatim} bool get_bootable (session_id s, VBD ref self)\end{verbatim}
9676 \noindent{\bf Arguments:}
9679 \vspace{0.3cm}
9680 \begin{tabular}{|c|c|p{7cm}|}
9681 \hline
9682 {\bf type} & {\bf name} & {\bf description} \\ \hline
9683 {\tt VBD ref } & self & reference to the object \\ \hline
9685 \end{tabular}
9687 \vspace{0.3cm}
9689 \noindent {\bf Return Type:}
9690 {\tt
9691 bool
9695 value of the field
9696 \vspace{0.3cm}
9697 \vspace{0.3cm}
9698 \vspace{0.3cm}
9699 \subsubsection{RPC name:~set\_bootable}
9701 {\bf Overview:}
9702 Set the bootable field of the given VBD.
9704 \noindent {\bf Signature:}
9705 \begin{verbatim} void set_bootable (session_id s, VBD ref self, bool value)\end{verbatim}
9708 \noindent{\bf Arguments:}
9711 \vspace{0.3cm}
9712 \begin{tabular}{|c|c|p{7cm}|}
9713 \hline
9714 {\bf type} & {\bf name} & {\bf description} \\ \hline
9715 {\tt VBD ref } & self & reference to the object \\ \hline
9717 {\tt bool } & value & New value to set \\ \hline
9719 \end{tabular}
9721 \vspace{0.3cm}
9723 \noindent {\bf Return Type:}
9724 {\tt
9725 void
9730 \vspace{0.3cm}
9731 \vspace{0.3cm}
9732 \vspace{0.3cm}
9733 \subsubsection{RPC name:~get\_mode}
9735 {\bf Overview:}
9736 Get the mode field of the given VBD.
9738 \noindent {\bf Signature:}
9739 \begin{verbatim} (vbd_mode) get_mode (session_id s, VBD ref self)\end{verbatim}
9742 \noindent{\bf Arguments:}
9745 \vspace{0.3cm}
9746 \begin{tabular}{|c|c|p{7cm}|}
9747 \hline
9748 {\bf type} & {\bf name} & {\bf description} \\ \hline
9749 {\tt VBD ref } & self & reference to the object \\ \hline
9751 \end{tabular}
9753 \vspace{0.3cm}
9755 \noindent {\bf Return Type:}
9756 {\tt
9757 vbd\_mode
9761 value of the field
9762 \vspace{0.3cm}
9763 \vspace{0.3cm}
9764 \vspace{0.3cm}
9765 \subsubsection{RPC name:~set\_mode}
9767 {\bf Overview:}
9768 Set the mode field of the given VBD.
9770 \noindent {\bf Signature:}
9771 \begin{verbatim} void set_mode (session_id s, VBD ref self, vbd_mode value)\end{verbatim}
9774 \noindent{\bf Arguments:}
9777 \vspace{0.3cm}
9778 \begin{tabular}{|c|c|p{7cm}|}
9779 \hline
9780 {\bf type} & {\bf name} & {\bf description} \\ \hline
9781 {\tt VBD ref } & self & reference to the object \\ \hline
9783 {\tt vbd\_mode } & value & New value to set \\ \hline
9785 \end{tabular}
9787 \vspace{0.3cm}
9789 \noindent {\bf Return Type:}
9790 {\tt
9791 void
9796 \vspace{0.3cm}
9797 \vspace{0.3cm}
9798 \vspace{0.3cm}
9799 \subsubsection{RPC name:~get\_type}
9801 {\bf Overview:}
9802 Get the type field of the given VBD.
9804 \noindent {\bf Signature:}
9805 \begin{verbatim} (vbd_type) get_type (session_id s, VBD ref self)\end{verbatim}
9808 \noindent{\bf Arguments:}
9811 \vspace{0.3cm}
9812 \begin{tabular}{|c|c|p{7cm}|}
9813 \hline
9814 {\bf type} & {\bf name} & {\bf description} \\ \hline
9815 {\tt VBD ref } & self & reference to the object \\ \hline
9817 \end{tabular}
9819 \vspace{0.3cm}
9821 \noindent {\bf Return Type:}
9822 {\tt
9823 vbd\_type
9827 value of the field
9828 \vspace{0.3cm}
9829 \vspace{0.3cm}
9830 \vspace{0.3cm}
9831 \subsubsection{RPC name:~set\_type}
9833 {\bf Overview:}
9834 Set the type field of the given VBD.
9836 \noindent {\bf Signature:}
9837 \begin{verbatim} void set_type (session_id s, VBD ref self, vbd_type value)\end{verbatim}
9840 \noindent{\bf Arguments:}
9843 \vspace{0.3cm}
9844 \begin{tabular}{|c|c|p{7cm}|}
9845 \hline
9846 {\bf type} & {\bf name} & {\bf description} \\ \hline
9847 {\tt VBD ref } & self & reference to the object \\ \hline
9849 {\tt vbd\_type } & value & New value to set \\ \hline
9851 \end{tabular}
9853 \vspace{0.3cm}
9855 \noindent {\bf Return Type:}
9856 {\tt
9857 void
9862 \vspace{0.3cm}
9863 \vspace{0.3cm}
9864 \vspace{0.3cm}
9865 \subsubsection{RPC name:~get\_io\_read\_kbs}
9867 {\bf Overview:}
9868 Get the io/read\_kbs field of the given VBD.
9870 \noindent {\bf Signature:}
9871 \begin{verbatim} float get_io_read_kbs (session_id s, VBD ref self)\end{verbatim}
9874 \noindent{\bf Arguments:}
9877 \vspace{0.3cm}
9878 \begin{tabular}{|c|c|p{7cm}|}
9879 \hline
9880 {\bf type} & {\bf name} & {\bf description} \\ \hline
9881 {\tt VBD ref } & self & reference to the object \\ \hline
9883 \end{tabular}
9885 \vspace{0.3cm}
9887 \noindent {\bf Return Type:}
9888 {\tt
9889 float
9893 value of the field
9894 \vspace{0.3cm}
9895 \vspace{0.3cm}
9896 \vspace{0.3cm}
9897 \subsubsection{RPC name:~get\_io\_write\_kbs}
9899 {\bf Overview:}
9900 Get the io/write\_kbs field of the given VBD.
9902 \noindent {\bf Signature:}
9903 \begin{verbatim} float get_io_write_kbs (session_id s, VBD ref self)\end{verbatim}
9906 \noindent{\bf Arguments:}
9909 \vspace{0.3cm}
9910 \begin{tabular}{|c|c|p{7cm}|}
9911 \hline
9912 {\bf type} & {\bf name} & {\bf description} \\ \hline
9913 {\tt VBD ref } & self & reference to the object \\ \hline
9915 \end{tabular}
9917 \vspace{0.3cm}
9919 \noindent {\bf Return Type:}
9920 {\tt
9921 float
9925 value of the field
9926 \vspace{0.3cm}
9927 \vspace{0.3cm}
9928 \vspace{0.3cm}
9929 \subsubsection{RPC name:~create}
9931 {\bf Overview:}
9932 Create a new VBD instance, and return its handle.
9934 \noindent {\bf Signature:}
9935 \begin{verbatim} (VBD ref) create (session_id s, VBD record args)\end{verbatim}
9938 \noindent{\bf Arguments:}
9941 \vspace{0.3cm}
9942 \begin{tabular}{|c|c|p{7cm}|}
9943 \hline
9944 {\bf type} & {\bf name} & {\bf description} \\ \hline
9945 {\tt VBD record } & args & All constructor arguments \\ \hline
9947 \end{tabular}
9949 \vspace{0.3cm}
9951 \noindent {\bf Return Type:}
9952 {\tt
9953 VBD ref
9957 reference to the newly created object
9958 \vspace{0.3cm}
9959 \vspace{0.3cm}
9960 \vspace{0.3cm}
9961 \subsubsection{RPC name:~destroy}
9963 {\bf Overview:}
9964 Destroy the specified VBD instance.
9966 \noindent {\bf Signature:}
9967 \begin{verbatim} void destroy (session_id s, VBD ref self)\end{verbatim}
9970 \noindent{\bf Arguments:}
9973 \vspace{0.3cm}
9974 \begin{tabular}{|c|c|p{7cm}|}
9975 \hline
9976 {\bf type} & {\bf name} & {\bf description} \\ \hline
9977 {\tt VBD ref } & self & reference to the object \\ \hline
9979 \end{tabular}
9981 \vspace{0.3cm}
9983 \noindent {\bf Return Type:}
9984 {\tt
9985 void
9990 \vspace{0.3cm}
9991 \vspace{0.3cm}
9992 \vspace{0.3cm}
9993 \subsubsection{RPC name:~get\_by\_uuid}
9995 {\bf Overview:}
9996 Get a reference to the VBD instance with the specified UUID.
9998 \noindent {\bf Signature:}
9999 \begin{verbatim} (VBD ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
10002 \noindent{\bf Arguments:}
10005 \vspace{0.3cm}
10006 \begin{tabular}{|c|c|p{7cm}|}
10007 \hline
10008 {\bf type} & {\bf name} & {\bf description} \\ \hline
10009 {\tt string } & uuid & UUID of object to return \\ \hline
10011 \end{tabular}
10013 \vspace{0.3cm}
10015 \noindent {\bf Return Type:}
10016 {\tt
10017 VBD ref
10021 reference to the object
10022 \vspace{0.3cm}
10023 \vspace{0.3cm}
10024 \vspace{0.3cm}
10025 \subsubsection{RPC name:~get\_record}
10027 {\bf Overview:}
10028 Get a record containing the current state of the given VBD.
10030 \noindent {\bf Signature:}
10031 \begin{verbatim} (VBD record) get_record (session_id s, VBD ref self)\end{verbatim}
10034 \noindent{\bf Arguments:}
10037 \vspace{0.3cm}
10038 \begin{tabular}{|c|c|p{7cm}|}
10039 \hline
10040 {\bf type} & {\bf name} & {\bf description} \\ \hline
10041 {\tt VBD ref } & self & reference to the object \\ \hline
10043 \end{tabular}
10045 \vspace{0.3cm}
10047 \noindent {\bf Return Type:}
10048 {\tt
10049 VBD record
10053 all fields from the object
10054 \vspace{0.3cm}
10055 \vspace{0.3cm}
10056 \vspace{0.3cm}
10058 \vspace{1cm}
10059 \newpage
10060 \section{Class: PBD}
10061 \subsection{Fields for class: PBD}
10062 \begin{longtable}{|lllp{0.38\textwidth}|}
10063 \hline
10064 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf PBD} \\
10065 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em
10066 The physical block devices through which hosts access SRs.}} \\
10067 \hline
10068 Quals & Field & Type & Description \\
10069 \hline
10070 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
10071 $\mathit{RO}_\mathit{ins}$ & {\tt host} & host ref & physical machine on which the pbd is available \\
10072 $\mathit{RO}_\mathit{ins}$ & {\tt SR} & SR ref & the storage repository that the pbd realises \\
10073 $\mathit{RO}_\mathit{ins}$ & {\tt device\_config} & (string $\rightarrow$ string) Map & a config string that is provided to the host's SR-backend-driver \\
10074 $\mathit{RO}_\mathit{run}$ & {\tt currently\_attached} & bool & is the SR currently attached on this host? \\
10075 \hline
10076 \end{longtable}
10077 \subsection{Additional RPCs associated with class: PBD}
10078 \subsubsection{RPC name:~get\_uuid}
10080 {\bf Overview:}
10081 Get the uuid field of the given PBD.
10083 \noindent {\bf Signature:}
10084 \begin{verbatim} string get_uuid (session_id s, PBD ref self)\end{verbatim}
10087 \noindent{\bf Arguments:}
10090 \vspace{0.3cm}
10091 \begin{tabular}{|c|c|p{7cm}|}
10092 \hline
10093 {\bf type} & {\bf name} & {\bf description} \\ \hline
10094 {\tt PBD ref } & self & reference to the object \\ \hline
10096 \end{tabular}
10098 \vspace{0.3cm}
10100 \noindent {\bf Return Type:}
10101 {\tt
10102 string
10106 value of the field
10107 \vspace{0.3cm}
10108 \vspace{0.3cm}
10109 \vspace{0.3cm}
10110 \subsubsection{RPC name:~get\_host}
10112 {\bf Overview:}
10113 Get the host field of the given PBD.
10115 \noindent {\bf Signature:}
10116 \begin{verbatim} (host ref) get_host (session_id s, PBD ref self)\end{verbatim}
10119 \noindent{\bf Arguments:}
10122 \vspace{0.3cm}
10123 \begin{tabular}{|c|c|p{7cm}|}
10124 \hline
10125 {\bf type} & {\bf name} & {\bf description} \\ \hline
10126 {\tt PBD ref } & self & reference to the object \\ \hline
10128 \end{tabular}
10130 \vspace{0.3cm}
10132 \noindent {\bf Return Type:}
10133 {\tt
10134 host ref
10138 value of the field
10139 \vspace{0.3cm}
10140 \vspace{0.3cm}
10141 \vspace{0.3cm}
10142 \subsubsection{RPC name:~get\_SR}
10144 {\bf Overview:}
10145 Get the SR field of the given PBD.
10147 \noindent {\bf Signature:}
10148 \begin{verbatim} (SR ref) get_SR (session_id s, PBD ref self)\end{verbatim}
10151 \noindent{\bf Arguments:}
10154 \vspace{0.3cm}
10155 \begin{tabular}{|c|c|p{7cm}|}
10156 \hline
10157 {\bf type} & {\bf name} & {\bf description} \\ \hline
10158 {\tt PBD ref } & self & reference to the object \\ \hline
10160 \end{tabular}
10162 \vspace{0.3cm}
10164 \noindent {\bf Return Type:}
10165 {\tt
10166 SR ref
10170 value of the field
10171 \vspace{0.3cm}
10172 \vspace{0.3cm}
10173 \vspace{0.3cm}
10174 \subsubsection{RPC name:~get\_device\_config}
10176 {\bf Overview:}
10177 Get the device\_config field of the given PBD.
10179 \noindent {\bf Signature:}
10180 \begin{verbatim} ((string -> string) Map) get_device_config (session_id s, PBD ref self)\end{verbatim}
10183 \noindent{\bf Arguments:}
10186 \vspace{0.3cm}
10187 \begin{tabular}{|c|c|p{7cm}|}
10188 \hline
10189 {\bf type} & {\bf name} & {\bf description} \\ \hline
10190 {\tt PBD ref } & self & reference to the object \\ \hline
10192 \end{tabular}
10194 \vspace{0.3cm}
10196 \noindent {\bf Return Type:}
10197 {\tt
10198 (string $\rightarrow$ string) Map
10202 value of the field
10203 \vspace{0.3cm}
10204 \vspace{0.3cm}
10205 \vspace{0.3cm}
10206 \subsubsection{RPC name:~get\_currently\_attached}
10208 {\bf Overview:}
10209 Get the currently\_attached field of the given PBD.
10211 \noindent {\bf Signature:}
10212 \begin{verbatim} bool get_currently_attached (session_id s, PBD ref self)\end{verbatim}
10215 \noindent{\bf Arguments:}
10218 \vspace{0.3cm}
10219 \begin{tabular}{|c|c|p{7cm}|}
10220 \hline
10221 {\bf type} & {\bf name} & {\bf description} \\ \hline
10222 {\tt PBD ref } & self & reference to the object \\ \hline
10224 \end{tabular}
10226 \vspace{0.3cm}
10228 \noindent {\bf Return Type:}
10229 {\tt
10230 bool
10234 value of the field
10235 \vspace{0.3cm}
10236 \vspace{0.3cm}
10237 \vspace{0.3cm}
10238 \subsubsection{RPC name:~create}
10240 {\bf Overview:}
10241 Create a new PBD instance, and return its handle.
10243 \noindent {\bf Signature:}
10244 \begin{verbatim} (PBD ref) create (session_id s, PBD record args)\end{verbatim}
10247 \noindent{\bf Arguments:}
10250 \vspace{0.3cm}
10251 \begin{tabular}{|c|c|p{7cm}|}
10252 \hline
10253 {\bf type} & {\bf name} & {\bf description} \\ \hline
10254 {\tt PBD record } & args & All constructor arguments \\ \hline
10256 \end{tabular}
10258 \vspace{0.3cm}
10260 \noindent {\bf Return Type:}
10261 {\tt
10262 PBD ref
10266 reference to the newly created object
10267 \vspace{0.3cm}
10268 \vspace{0.3cm}
10269 \vspace{0.3cm}
10270 \subsubsection{RPC name:~destroy}
10272 {\bf Overview:}
10273 Destroy the specified PBD instance.
10275 \noindent {\bf Signature:}
10276 \begin{verbatim} void destroy (session_id s, PBD ref self)\end{verbatim}
10279 \noindent{\bf Arguments:}
10282 \vspace{0.3cm}
10283 \begin{tabular}{|c|c|p{7cm}|}
10284 \hline
10285 {\bf type} & {\bf name} & {\bf description} \\ \hline
10286 {\tt PBD ref } & self & reference to the object \\ \hline
10288 \end{tabular}
10290 \vspace{0.3cm}
10292 \noindent {\bf Return Type:}
10293 {\tt
10294 void
10299 \vspace{0.3cm}
10300 \vspace{0.3cm}
10301 \vspace{0.3cm}
10302 \subsubsection{RPC name:~get\_by\_uuid}
10304 {\bf Overview:}
10305 Get a reference to the PBD instance with the specified UUID.
10307 \noindent {\bf Signature:}
10308 \begin{verbatim} (PBD ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
10311 \noindent{\bf Arguments:}
10314 \vspace{0.3cm}
10315 \begin{tabular}{|c|c|p{7cm}|}
10316 \hline
10317 {\bf type} & {\bf name} & {\bf description} \\ \hline
10318 {\tt string } & uuid & UUID of object to return \\ \hline
10320 \end{tabular}
10322 \vspace{0.3cm}
10324 \noindent {\bf Return Type:}
10325 {\tt
10326 PBD ref
10330 reference to the object
10331 \vspace{0.3cm}
10332 \vspace{0.3cm}
10333 \vspace{0.3cm}
10334 \subsubsection{RPC name:~get\_record}
10336 {\bf Overview:}
10337 Get a record containing the current state of the given PBD.
10339 \noindent {\bf Signature:}
10340 \begin{verbatim} (PBD record) get_record (session_id s, PBD ref self)\end{verbatim}
10343 \noindent{\bf Arguments:}
10346 \vspace{0.3cm}
10347 \begin{tabular}{|c|c|p{7cm}|}
10348 \hline
10349 {\bf type} & {\bf name} & {\bf description} \\ \hline
10350 {\tt PBD ref } & self & reference to the object \\ \hline
10352 \end{tabular}
10354 \vspace{0.3cm}
10356 \noindent {\bf Return Type:}
10357 {\tt
10358 PBD record
10362 all fields from the object
10363 \vspace{0.3cm}
10364 \vspace{0.3cm}
10365 \vspace{0.3cm}
10367 \vspace{1cm}
10368 \newpage
10369 \section{Class: crashdump}
10370 \subsection{Fields for class: crashdump}
10371 \begin{longtable}{|lllp{0.38\textwidth}|}
10372 \hline
10373 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf crashdump} \\
10374 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
10375 VM crashdump.}} \\
10376 \hline
10377 Quals & Field & Type & Description \\
10378 \hline
10379 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
10380 $\mathit{RO}_\mathit{ins}$ & {\tt VM} & VM ref & the virtual machine \\
10381 $\mathit{RO}_\mathit{ins}$ & {\tt VDI} & VDI ref & the virtual disk \\
10382 \hline
10383 \end{longtable}
10384 \subsection{Additional RPCs associated with class: crashdump}
10385 \subsubsection{RPC name:~get\_all}
10387 {\bf Overview:}
10388 Return a list of all the crashdumps known to the system.
10390 \noindent {\bf Signature:}
10391 \begin{verbatim} ((crashdump ref) Set) get_all (session_id s)\end{verbatim}
10394 \vspace{0.3cm}
10396 \noindent {\bf Return Type:}
10397 {\tt
10398 (crashdump ref) Set
10402 references to all objects
10403 \vspace{0.3cm}
10404 \vspace{0.3cm}
10405 \vspace{0.3cm}
10406 \subsubsection{RPC name:~get\_uuid}
10408 {\bf Overview:}
10409 Get the uuid field of the given crashdump.
10411 \noindent {\bf Signature:}
10412 \begin{verbatim} string get_uuid (session_id s, crashdump ref self)\end{verbatim}
10415 \noindent{\bf Arguments:}
10418 \vspace{0.3cm}
10419 \begin{tabular}{|c|c|p{7cm}|}
10420 \hline
10421 {\bf type} & {\bf name} & {\bf description} \\ \hline
10422 {\tt crashdump ref } & self & reference to the object \\ \hline
10424 \end{tabular}
10426 \vspace{0.3cm}
10428 \noindent {\bf Return Type:}
10429 {\tt
10430 string
10434 value of the field
10435 \vspace{0.3cm}
10436 \vspace{0.3cm}
10437 \vspace{0.3cm}
10438 \subsubsection{RPC name:~get\_VM}
10440 {\bf Overview:}
10441 Get the VM field of the given crashdump.
10443 \noindent {\bf Signature:}
10444 \begin{verbatim} (VM ref) get_VM (session_id s, crashdump ref self)\end{verbatim}
10447 \noindent{\bf Arguments:}
10450 \vspace{0.3cm}
10451 \begin{tabular}{|c|c|p{7cm}|}
10452 \hline
10453 {\bf type} & {\bf name} & {\bf description} \\ \hline
10454 {\tt crashdump ref } & self & reference to the object \\ \hline
10456 \end{tabular}
10458 \vspace{0.3cm}
10460 \noindent {\bf Return Type:}
10461 {\tt
10462 VM ref
10466 value of the field
10467 \vspace{0.3cm}
10468 \vspace{0.3cm}
10469 \vspace{0.3cm}
10470 \subsubsection{RPC name:~get\_VDI}
10472 {\bf Overview:}
10473 Get the VDI field of the given crashdump.
10475 \noindent {\bf Signature:}
10476 \begin{verbatim} (VDI ref) get_VDI (session_id s, crashdump ref self)\end{verbatim}
10479 \noindent{\bf Arguments:}
10482 \vspace{0.3cm}
10483 \begin{tabular}{|c|c|p{7cm}|}
10484 \hline
10485 {\bf type} & {\bf name} & {\bf description} \\ \hline
10486 {\tt crashdump ref } & self & reference to the object \\ \hline
10488 \end{tabular}
10490 \vspace{0.3cm}
10492 \noindent {\bf Return Type:}
10493 {\tt
10494 VDI ref
10498 value of the field
10499 \vspace{0.3cm}
10500 \vspace{0.3cm}
10501 \vspace{0.3cm}
10502 \subsubsection{RPC name:~create}
10504 {\bf Overview:}
10505 Create a new crashdump instance, and return its handle.
10507 \noindent {\bf Signature:}
10508 \begin{verbatim} (crashdump ref) create (session_id s, crashdump record args)\end{verbatim}
10511 \noindent{\bf Arguments:}
10514 \vspace{0.3cm}
10515 \begin{tabular}{|c|c|p{7cm}|}
10516 \hline
10517 {\bf type} & {\bf name} & {\bf description} \\ \hline
10518 {\tt crashdump record } & args & All constructor arguments \\ \hline
10520 \end{tabular}
10522 \vspace{0.3cm}
10524 \noindent {\bf Return Type:}
10525 {\tt
10526 crashdump ref
10530 reference to the newly created object
10531 \vspace{0.3cm}
10532 \vspace{0.3cm}
10533 \vspace{0.3cm}
10534 \subsubsection{RPC name:~destroy}
10536 {\bf Overview:}
10537 Destroy the specified crashdump instance.
10539 \noindent {\bf Signature:}
10540 \begin{verbatim} void destroy (session_id s, crashdump ref self)\end{verbatim}
10543 \noindent{\bf Arguments:}
10546 \vspace{0.3cm}
10547 \begin{tabular}{|c|c|p{7cm}|}
10548 \hline
10549 {\bf type} & {\bf name} & {\bf description} \\ \hline
10550 {\tt crashdump ref } & self & reference to the object \\ \hline
10552 \end{tabular}
10554 \vspace{0.3cm}
10556 \noindent {\bf Return Type:}
10557 {\tt
10558 void
10563 \vspace{0.3cm}
10564 \vspace{0.3cm}
10565 \vspace{0.3cm}
10566 \subsubsection{RPC name:~get\_by\_uuid}
10568 {\bf Overview:}
10569 Get a reference to the crashdump instance with the specified UUID.
10571 \noindent {\bf Signature:}
10572 \begin{verbatim} (crashdump ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
10575 \noindent{\bf Arguments:}
10578 \vspace{0.3cm}
10579 \begin{tabular}{|c|c|p{7cm}|}
10580 \hline
10581 {\bf type} & {\bf name} & {\bf description} \\ \hline
10582 {\tt string } & uuid & UUID of object to return \\ \hline
10584 \end{tabular}
10586 \vspace{0.3cm}
10588 \noindent {\bf Return Type:}
10589 {\tt
10590 crashdump ref
10594 reference to the object
10595 \vspace{0.3cm}
10596 \vspace{0.3cm}
10597 \vspace{0.3cm}
10598 \subsubsection{RPC name:~get\_record}
10600 {\bf Overview:}
10601 Get a record containing the current state of the given crashdump.
10603 \noindent {\bf Signature:}
10604 \begin{verbatim} (crashdump record) get_record (session_id s, crashdump ref self)\end{verbatim}
10607 \noindent{\bf Arguments:}
10610 \vspace{0.3cm}
10611 \begin{tabular}{|c|c|p{7cm}|}
10612 \hline
10613 {\bf type} & {\bf name} & {\bf description} \\ \hline
10614 {\tt crashdump ref } & self & reference to the object \\ \hline
10616 \end{tabular}
10618 \vspace{0.3cm}
10620 \noindent {\bf Return Type:}
10621 {\tt
10622 crashdump record
10626 all fields from the object
10627 \vspace{0.3cm}
10628 \vspace{0.3cm}
10629 \vspace{0.3cm}
10631 \vspace{1cm}
10632 \newpage
10633 \section{Class: VTPM}
10634 \subsection{Fields for class: VTPM}
10635 \begin{longtable}{|lllp{0.38\textwidth}|}
10636 \hline
10637 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VTPM} \\
10638 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
10639 virtual TPM device.}} \\
10640 \hline
10641 Quals & Field & Type & Description \\
10642 \hline
10643 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
10644 $\mathit{RO}_\mathit{ins}$ & {\tt VM} & VM ref & the virtual machine \\
10645 $\mathit{RO}_\mathit{ins}$ & {\tt backend} & VM ref & the domain where the backend is located \\
10646 \hline
10647 \end{longtable}
10648 \subsection{Additional RPCs associated with class: VTPM}
10649 \subsubsection{RPC name:~get\_uuid}
10651 {\bf Overview:}
10652 Get the uuid field of the given VTPM.
10654 \noindent {\bf Signature:}
10655 \begin{verbatim} string get_uuid (session_id s, VTPM ref self)\end{verbatim}
10658 \noindent{\bf Arguments:}
10661 \vspace{0.3cm}
10662 \begin{tabular}{|c|c|p{7cm}|}
10663 \hline
10664 {\bf type} & {\bf name} & {\bf description} \\ \hline
10665 {\tt VTPM ref } & self & reference to the object \\ \hline
10667 \end{tabular}
10669 \vspace{0.3cm}
10671 \noindent {\bf Return Type:}
10672 {\tt
10673 string
10677 value of the field
10678 \vspace{0.3cm}
10679 \vspace{0.3cm}
10680 \vspace{0.3cm}
10681 \subsubsection{RPC name:~get\_VM}
10683 {\bf Overview:}
10684 Get the VM field of the given VTPM.
10686 \noindent {\bf Signature:}
10687 \begin{verbatim} (VM ref) get_VM (session_id s, VTPM ref self)\end{verbatim}
10690 \noindent{\bf Arguments:}
10693 \vspace{0.3cm}
10694 \begin{tabular}{|c|c|p{7cm}|}
10695 \hline
10696 {\bf type} & {\bf name} & {\bf description} \\ \hline
10697 {\tt VTPM ref } & self & reference to the object \\ \hline
10699 \end{tabular}
10701 \vspace{0.3cm}
10703 \noindent {\bf Return Type:}
10704 {\tt
10705 VM ref
10709 value of the field
10710 \vspace{0.3cm}
10711 \vspace{0.3cm}
10712 \vspace{0.3cm}
10713 \subsubsection{RPC name:~get\_backend}
10715 {\bf Overview:}
10716 Get the backend field of the given VTPM.
10718 \noindent {\bf Signature:}
10719 \begin{verbatim} (VM ref) get_backend (session_id s, VTPM ref self)\end{verbatim}
10722 \noindent{\bf Arguments:}
10725 \vspace{0.3cm}
10726 \begin{tabular}{|c|c|p{7cm}|}
10727 \hline
10728 {\bf type} & {\bf name} & {\bf description} \\ \hline
10729 {\tt VTPM ref } & self & reference to the object \\ \hline
10731 \end{tabular}
10733 \vspace{0.3cm}
10735 \noindent {\bf Return Type:}
10736 {\tt
10737 VM ref
10741 value of the field
10742 \vspace{0.3cm}
10743 \vspace{0.3cm}
10744 \vspace{0.3cm}
10745 \subsubsection{RPC name:~create}
10747 {\bf Overview:}
10748 Create a new VTPM instance, and return its handle.
10750 \noindent {\bf Signature:}
10751 \begin{verbatim} (VTPM ref) create (session_id s, VTPM record args)\end{verbatim}
10754 \noindent{\bf Arguments:}
10757 \vspace{0.3cm}
10758 \begin{tabular}{|c|c|p{7cm}|}
10759 \hline
10760 {\bf type} & {\bf name} & {\bf description} \\ \hline
10761 {\tt VTPM record } & args & All constructor arguments \\ \hline
10763 \end{tabular}
10765 \vspace{0.3cm}
10767 \noindent {\bf Return Type:}
10768 {\tt
10769 VTPM ref
10773 reference to the newly created object
10774 \vspace{0.3cm}
10775 \vspace{0.3cm}
10776 \vspace{0.3cm}
10777 \subsubsection{RPC name:~destroy}
10779 {\bf Overview:}
10780 Destroy the specified VTPM instance.
10782 \noindent {\bf Signature:}
10783 \begin{verbatim} void destroy (session_id s, VTPM ref self)\end{verbatim}
10786 \noindent{\bf Arguments:}
10789 \vspace{0.3cm}
10790 \begin{tabular}{|c|c|p{7cm}|}
10791 \hline
10792 {\bf type} & {\bf name} & {\bf description} \\ \hline
10793 {\tt VTPM ref } & self & reference to the object \\ \hline
10795 \end{tabular}
10797 \vspace{0.3cm}
10799 \noindent {\bf Return Type:}
10800 {\tt
10801 void
10806 \vspace{0.3cm}
10807 \vspace{0.3cm}
10808 \vspace{0.3cm}
10809 \subsubsection{RPC name:~get\_by\_uuid}
10811 {\bf Overview:}
10812 Get a reference to the VTPM instance with the specified UUID.
10814 \noindent {\bf Signature:}
10815 \begin{verbatim} (VTPM ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
10818 \noindent{\bf Arguments:}
10821 \vspace{0.3cm}
10822 \begin{tabular}{|c|c|p{7cm}|}
10823 \hline
10824 {\bf type} & {\bf name} & {\bf description} \\ \hline
10825 {\tt string } & uuid & UUID of object to return \\ \hline
10827 \end{tabular}
10829 \vspace{0.3cm}
10831 \noindent {\bf Return Type:}
10832 {\tt
10833 VTPM ref
10837 reference to the object
10838 \vspace{0.3cm}
10839 \vspace{0.3cm}
10840 \vspace{0.3cm}
10841 \subsubsection{RPC name:~get\_record}
10843 {\bf Overview:}
10844 Get a record containing the current state of the given VTPM.
10846 \noindent {\bf Signature:}
10847 \begin{verbatim} (VTPM record) get_record (session_id s, VTPM ref self)\end{verbatim}
10850 \noindent{\bf Arguments:}
10853 \vspace{0.3cm}
10854 \begin{tabular}{|c|c|p{7cm}|}
10855 \hline
10856 {\bf type} & {\bf name} & {\bf description} \\ \hline
10857 {\tt VTPM ref } & self & reference to the object \\ \hline
10859 \end{tabular}
10861 \vspace{0.3cm}
10863 \noindent {\bf Return Type:}
10864 {\tt
10865 VTPM record
10869 all fields from the object
10870 \vspace{0.3cm}
10871 \vspace{0.3cm}
10872 \vspace{0.3cm}
10874 \vspace{1cm}
10875 \newpage
10876 \section{Class: console}
10877 \subsection{Fields for class: console}
10878 \begin{longtable}{|lllp{0.38\textwidth}|}
10879 \hline
10880 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf console} \\
10881 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
10882 console.}} \\
10883 \hline
10884 Quals & Field & Type & Description \\
10885 \hline
10886 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
10887 $\mathit{RO}_\mathit{run}$ & {\tt protocol} & console\_protocol & the protocol used by this console \\
10888 $\mathit{RO}_\mathit{run}$ & {\tt location} & string & URI for the console service \\
10889 $\mathit{RO}_\mathit{run}$ & {\tt VM} & VM ref & VM to which this console is attached \\
10890 \hline
10891 \end{longtable}
10892 \subsection{Additional RPCs associated with class: console}
10893 \subsubsection{RPC name:~get\_uuid}
10895 {\bf Overview:}
10896 Get the uuid field of the given console.
10898 \noindent {\bf Signature:}
10899 \begin{verbatim} string get_uuid (session_id s, console ref self)\end{verbatim}
10902 \noindent{\bf Arguments:}
10905 \vspace{0.3cm}
10906 \begin{tabular}{|c|c|p{7cm}|}
10907 \hline
10908 {\bf type} & {\bf name} & {\bf description} \\ \hline
10909 {\tt console ref } & self & reference to the object \\ \hline
10911 \end{tabular}
10913 \vspace{0.3cm}
10915 \noindent {\bf Return Type:}
10916 {\tt
10917 string
10921 value of the field
10922 \vspace{0.3cm}
10923 \vspace{0.3cm}
10924 \vspace{0.3cm}
10925 \subsubsection{RPC name:~get\_protocol}
10927 {\bf Overview:}
10928 Get the protocol field of the given console.
10930 \noindent {\bf Signature:}
10931 \begin{verbatim} (console_protocol) get_protocol (session_id s, console ref self)\end{verbatim}
10934 \noindent{\bf Arguments:}
10937 \vspace{0.3cm}
10938 \begin{tabular}{|c|c|p{7cm}|}
10939 \hline
10940 {\bf type} & {\bf name} & {\bf description} \\ \hline
10941 {\tt console ref } & self & reference to the object \\ \hline
10943 \end{tabular}
10945 \vspace{0.3cm}
10947 \noindent {\bf Return Type:}
10948 {\tt
10949 console\_protocol
10953 value of the field
10954 \vspace{0.3cm}
10955 \vspace{0.3cm}
10956 \vspace{0.3cm}
10957 \subsubsection{RPC name:~get\_location}
10959 {\bf Overview:}
10960 Get the location field of the given console.
10962 \noindent {\bf Signature:}
10963 \begin{verbatim} string get_location (session_id s, console ref self)\end{verbatim}
10966 \noindent{\bf Arguments:}
10969 \vspace{0.3cm}
10970 \begin{tabular}{|c|c|p{7cm}|}
10971 \hline
10972 {\bf type} & {\bf name} & {\bf description} \\ \hline
10973 {\tt console ref } & self & reference to the object \\ \hline
10975 \end{tabular}
10977 \vspace{0.3cm}
10979 \noindent {\bf Return Type:}
10980 {\tt
10981 string
10985 value of the field
10986 \vspace{0.3cm}
10987 \vspace{0.3cm}
10988 \vspace{0.3cm}
10989 \subsubsection{RPC name:~get\_VM}
10991 {\bf Overview:}
10992 Get the VM field of the given console.
10994 \noindent {\bf Signature:}
10995 \begin{verbatim} (VM ref) get_VM (session_id s, console ref self)\end{verbatim}
10998 \noindent{\bf Arguments:}
11001 \vspace{0.3cm}
11002 \begin{tabular}{|c|c|p{7cm}|}
11003 \hline
11004 {\bf type} & {\bf name} & {\bf description} \\ \hline
11005 {\tt console ref } & self & reference to the object \\ \hline
11007 \end{tabular}
11009 \vspace{0.3cm}
11011 \noindent {\bf Return Type:}
11012 {\tt
11013 VM ref
11017 value of the field
11018 \vspace{0.3cm}
11019 \vspace{0.3cm}
11020 \vspace{0.3cm}
11021 \subsubsection{RPC name:~create}
11023 {\bf Overview:}
11024 Create a new console instance, and return its handle.
11026 \noindent {\bf Signature:}
11027 \begin{verbatim} (console ref) create (session_id s, console record args)\end{verbatim}
11030 \noindent{\bf Arguments:}
11033 \vspace{0.3cm}
11034 \begin{tabular}{|c|c|p{7cm}|}
11035 \hline
11036 {\bf type} & {\bf name} & {\bf description} \\ \hline
11037 {\tt console record } & args & All constructor arguments \\ \hline
11039 \end{tabular}
11041 \vspace{0.3cm}
11043 \noindent {\bf Return Type:}
11044 {\tt
11045 console ref
11049 reference to the newly created object
11050 \vspace{0.3cm}
11051 \vspace{0.3cm}
11052 \vspace{0.3cm}
11053 \subsubsection{RPC name:~destroy}
11055 {\bf Overview:}
11056 Destroy the specified console instance.
11058 \noindent {\bf Signature:}
11059 \begin{verbatim} void destroy (session_id s, console ref self)\end{verbatim}