ia64/xen-unstable

view docs/xen-api/xenapi-datamodel.tex @ 14301:9ea0c5f469c8

[IA64] PV steal time accounting

Signed-off-by: Atsushi SAKAI <sakaia@jp.fujitsu.com>
author awilliam@xenbuild2.aw
date Mon Mar 12 09:39:59 2007 -0600 (2007-03-12)
parents c2e7bacf0919
children dfaca81ededb
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 VM\_guest\_metrics} & The metrics reported by the guest (as opposed to inferred from outside) \\
30 {\tt host} & A physical host \\
31 {\tt host\_metrics} & The metrics associated with a host \\
32 {\tt host\_cpu} & A physical CPU \\
33 {\tt network} & A virtual network \\
34 {\tt VIF} & A virtual network interface \\
35 {\tt VIF\_metrics} & The metrics associated with a virtual network device \\
36 {\tt PIF} & A physical network interface (note separate VLANs are represented as several PIFs) \\
37 {\tt PIF\_metrics} & The metrics associated with a physical network interface \\
38 {\tt SR} & A storage repository \\
39 {\tt VDI} & A virtual disk image \\
40 {\tt VBD} & A virtual block device \\
41 {\tt VBD\_metrics} & The metrics associated with a virtual block device \\
42 {\tt PBD} & The physical block devices through which hosts access SRs \\
43 {\tt crashdump} & A VM crashdump \\
44 {\tt VTPM} & A virtual TPM device \\
45 {\tt console} & A console \\
46 {\tt user} & A user of the system \\
47 {\tt debug} & A basic class for testing \\
48 \hline
49 \end{tabular}\end{center}
50 \section{Relationships Between Classes}
51 Fields that are bound together are shown in the following table:
52 \begin{center}\begin{tabular}{|ll|l|}
53 \hline
54 {\em object.field} & {\em object.field} & {\em relationship} \\
56 \hline
57 host.PBDs & PBD.host & many-to-one\\
58 SR.PBDs & PBD.SR & many-to-one\\
59 VDI.VBDs & VBD.VDI & many-to-one\\
60 VDI.crash\_dumps & crashdump.VDI & many-to-one\\
61 VBD.VM & VM.VBDs & one-to-many\\
62 crashdump.VM & VM.crash\_dumps & one-to-many\\
63 VIF.VM & VM.VIFs & one-to-many\\
64 VIF.network & network.VIFs & one-to-many\\
65 PIF.host & host.PIFs & one-to-many\\
66 PIF.network & network.PIFs & one-to-many\\
67 SR.VDIs & VDI.SR & many-to-one\\
68 VTPM.VM & VM.VTPMs & one-to-many\\
69 console.VM & VM.consoles & one-to-many\\
70 host.resident\_VMs & VM.resident\_on & many-to-one\\
71 host.host\_CPUs & host\_cpu.host & many-to-one\\
72 \hline
73 \end{tabular}\end{center}
75 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
76 relationships:
78 \begin{center}\resizebox{0.8\textwidth}{!}{
79 \includegraphics{xenapi-datamodel-graph}
80 }\end{center}
81 \
82 \subsection{List of bound fields}
83 \section{Types}
84 \subsection{Primitives}
85 The following primitive types are used to specify methods and fields in the API Reference:
87 \begin{center}\begin{tabular}{|ll|}
88 \hline
89 Type & Description \\
90 \hline
91 String & text strings \\
92 Int & 64-bit integers \\
93 Float & IEEE double-precision floating-point numbers \\
94 Bool & boolean \\
95 DateTime & date and timestamp \\
96 Ref (object name) & reference to an object of class name \\
97 \hline
98 \end{tabular}\end{center}
99 \subsection{Higher order types}
100 The following type constructors are used:
102 \begin{center}\begin{tabular}{|ll|}
103 \hline
104 Type & Description \\
105 \hline
106 List (t) & an arbitrary-length list of elements of type t \\
107 Map (a $\rightarrow$ b) & a table mapping values of type a to values of type b \\
108 \hline
109 \end{tabular}\end{center}
110 \subsection{Enumeration types}
111 The following enumeration types are used:
113 \begin{longtable}{|ll|}
114 \hline
115 {\tt enum console\_protocol} & \\
116 \hline
117 \hspace{0.5cm}{\tt vt100} & VT100 terminal \\
118 \hspace{0.5cm}{\tt rfb} & Remote FrameBuffer protocol (as used in VNC) \\
119 \hspace{0.5cm}{\tt rdp} & Remote Desktop Protocol \\
120 \hline
121 \end{longtable}
123 \vspace{1cm}
124 \begin{longtable}{|ll|}
125 \hline
126 {\tt enum vdi\_type} & \\
127 \hline
128 \hspace{0.5cm}{\tt system} & a disk that may be replaced on upgrade \\
129 \hspace{0.5cm}{\tt user} & a disk that is always preserved on upgrade \\
130 \hspace{0.5cm}{\tt ephemeral} & a disk that may be reformatted on upgrade \\
131 \hspace{0.5cm}{\tt suspend} & a disk that stores a suspend image \\
132 \hspace{0.5cm}{\tt crashdump} & a disk that stores VM crashdump information \\
133 \hline
134 \end{longtable}
136 \vspace{1cm}
137 \begin{longtable}{|ll|}
138 \hline
139 {\tt enum vm\_power\_state} & \\
140 \hline
141 \hspace{0.5cm}{\tt Halted} & Halted \\
142 \hspace{0.5cm}{\tt Paused} & Paused \\
143 \hspace{0.5cm}{\tt Running} & Running \\
144 \hspace{0.5cm}{\tt Suspended} & Suspended \\
145 \hspace{0.5cm}{\tt Unknown} & Some other unknown state \\
146 \hline
147 \end{longtable}
149 \vspace{1cm}
150 \begin{longtable}{|ll|}
151 \hline
152 {\tt enum task\_allowed\_operations} & \\
153 \hline
154 \hspace{0.5cm}{\tt Cancel} & Cancel \\
155 \hline
156 \end{longtable}
158 \vspace{1cm}
159 \begin{longtable}{|ll|}
160 \hline
161 {\tt enum task\_status\_type} & \\
162 \hline
163 \hspace{0.5cm}{\tt pending} & task is in progress \\
164 \hspace{0.5cm}{\tt success} & task was completed successfully \\
165 \hspace{0.5cm}{\tt failure} & task has failed \\
166 \hspace{0.5cm}{\tt cancelling} & task is being cancelled \\
167 \hspace{0.5cm}{\tt cancelled} & task has been cancelled \\
168 \hline
169 \end{longtable}
171 \vspace{1cm}
172 \begin{longtable}{|ll|}
173 \hline
174 {\tt enum on\_normal\_exit} & \\
175 \hline
176 \hspace{0.5cm}{\tt destroy} & destroy the VM state \\
177 \hspace{0.5cm}{\tt restart} & restart the VM \\
178 \hline
179 \end{longtable}
181 \vspace{1cm}
182 \begin{longtable}{|ll|}
183 \hline
184 {\tt enum on\_crash\_behaviour} & \\
185 \hline
186 \hspace{0.5cm}{\tt destroy} & destroy the VM state \\
187 \hspace{0.5cm}{\tt coredump\_and\_destroy} & record a coredump and then destroy the VM state \\
188 \hspace{0.5cm}{\tt restart} & restart the VM \\
189 \hspace{0.5cm}{\tt coredump\_and\_restart} & record a coredump and then restart the VM \\
190 \hspace{0.5cm}{\tt preserve} & leave the crashed VM as-is \\
191 \hspace{0.5cm}{\tt rename\_restart} & rename the crashed VM and start a new copy \\
192 \hline
193 \end{longtable}
195 \vspace{1cm}
196 \begin{longtable}{|ll|}
197 \hline
198 {\tt enum vbd\_mode} & \\
199 \hline
200 \hspace{0.5cm}{\tt RO} & disk is mounted read-only \\
201 \hspace{0.5cm}{\tt RW} & disk is mounted read-write \\
202 \hline
203 \end{longtable}
205 \vspace{1cm}
206 \begin{longtable}{|ll|}
207 \hline
208 {\tt enum vbd\_type} & \\
209 \hline
210 \hspace{0.5cm}{\tt CD} & VBD will appear to guest as CD \\
211 \hspace{0.5cm}{\tt Disk} & VBD will appear to guest as disk \\
212 \hline
213 \end{longtable}
215 \vspace{1cm}
217 \newpage
218 \section{Class: session}
219 \subsection{Fields for class: session}
220 \begin{longtable}{|lllp{0.38\textwidth}|}
221 \hline
222 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf session} \\
223 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
224 session.}} \\
225 \hline
226 Quals & Field & Type & Description \\
227 \hline
228 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
229 $\mathit{RO}_\mathit{run}$ & {\tt this\_host} & host ref & Currently connected host \\
230 $\mathit{RO}_\mathit{run}$ & {\tt this\_user} & user ref & Currently connected user \\
231 $\mathit{RO}_\mathit{run}$ & {\tt last\_active} & int & Timestamp for last time session was active \\
232 \hline
233 \end{longtable}
234 \subsection{Additional RPCs associated with class: session}
235 \subsubsection{RPC name:~login\_with\_password}
237 {\bf Overview:}
238 Attempt to authenticate the user, returning a session\_id if successful.
240 \noindent {\bf Signature:}
241 \begin{verbatim} (session ref) login_with_password (string uname, string pwd)\end{verbatim}
244 \noindent{\bf Arguments:}
247 \vspace{0.3cm}
248 \begin{tabular}{|c|c|p{7cm}|}
249 \hline
250 {\bf type} & {\bf name} & {\bf description} \\ \hline
251 {\tt string } & uname & Username for login. \\ \hline
253 {\tt string } & pwd & Password for login. \\ \hline
255 \end{tabular}
257 \vspace{0.3cm}
259 \noindent {\bf Return Type:}
260 {\tt
261 session ref
262 }
265 ID of newly created session
266 \vspace{0.3cm}
267 \vspace{0.3cm}
268 \vspace{0.3cm}
269 \subsubsection{RPC name:~logout}
271 {\bf Overview:}
272 Log out of a session.
274 \noindent {\bf Signature:}
275 \begin{verbatim} void logout (session_id s)\end{verbatim}
278 \vspace{0.3cm}
280 \noindent {\bf Return Type:}
281 {\tt
282 void
283 }
287 \vspace{0.3cm}
288 \vspace{0.3cm}
289 \vspace{0.3cm}
290 \subsubsection{RPC name:~get\_uuid}
292 {\bf Overview:}
293 Get the uuid field of the given session.
295 \noindent {\bf Signature:}
296 \begin{verbatim} string get_uuid (session_id s, session ref self)\end{verbatim}
299 \noindent{\bf Arguments:}
302 \vspace{0.3cm}
303 \begin{tabular}{|c|c|p{7cm}|}
304 \hline
305 {\bf type} & {\bf name} & {\bf description} \\ \hline
306 {\tt session ref } & self & reference to the object \\ \hline
308 \end{tabular}
310 \vspace{0.3cm}
312 \noindent {\bf Return Type:}
313 {\tt
314 string
315 }
318 value of the field
319 \vspace{0.3cm}
320 \vspace{0.3cm}
321 \vspace{0.3cm}
322 \subsubsection{RPC name:~get\_this\_host}
324 {\bf Overview:}
325 Get the this\_host field of the given session.
327 \noindent {\bf Signature:}
328 \begin{verbatim} (host ref) get_this_host (session_id s, session ref self)\end{verbatim}
331 \noindent{\bf Arguments:}
334 \vspace{0.3cm}
335 \begin{tabular}{|c|c|p{7cm}|}
336 \hline
337 {\bf type} & {\bf name} & {\bf description} \\ \hline
338 {\tt session ref } & self & reference to the object \\ \hline
340 \end{tabular}
342 \vspace{0.3cm}
344 \noindent {\bf Return Type:}
345 {\tt
346 host ref
347 }
350 value of the field
351 \vspace{0.3cm}
352 \vspace{0.3cm}
353 \vspace{0.3cm}
354 \subsubsection{RPC name:~get\_this\_user}
356 {\bf Overview:}
357 Get the this\_user field of the given session.
359 \noindent {\bf Signature:}
360 \begin{verbatim} (user ref) get_this_user (session_id s, session ref self)\end{verbatim}
363 \noindent{\bf Arguments:}
366 \vspace{0.3cm}
367 \begin{tabular}{|c|c|p{7cm}|}
368 \hline
369 {\bf type} & {\bf name} & {\bf description} \\ \hline
370 {\tt session ref } & self & reference to the object \\ \hline
372 \end{tabular}
374 \vspace{0.3cm}
376 \noindent {\bf Return Type:}
377 {\tt
378 user ref
379 }
382 value of the field
383 \vspace{0.3cm}
384 \vspace{0.3cm}
385 \vspace{0.3cm}
386 \subsubsection{RPC name:~get\_last\_active}
388 {\bf Overview:}
389 Get the last\_active field of the given session.
391 \noindent {\bf Signature:}
392 \begin{verbatim} int get_last_active (session_id s, session ref self)\end{verbatim}
395 \noindent{\bf Arguments:}
398 \vspace{0.3cm}
399 \begin{tabular}{|c|c|p{7cm}|}
400 \hline
401 {\bf type} & {\bf name} & {\bf description} \\ \hline
402 {\tt session ref } & self & reference to the object \\ \hline
404 \end{tabular}
406 \vspace{0.3cm}
408 \noindent {\bf Return Type:}
409 {\tt
410 int
411 }
414 value of the field
415 \vspace{0.3cm}
416 \vspace{0.3cm}
417 \vspace{0.3cm}
418 \subsubsection{RPC name:~get\_by\_uuid}
420 {\bf Overview:}
421 Get a reference to the session instance with the specified UUID.
423 \noindent {\bf Signature:}
424 \begin{verbatim} (session ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
427 \noindent{\bf Arguments:}
430 \vspace{0.3cm}
431 \begin{tabular}{|c|c|p{7cm}|}
432 \hline
433 {\bf type} & {\bf name} & {\bf description} \\ \hline
434 {\tt string } & uuid & UUID of object to return \\ \hline
436 \end{tabular}
438 \vspace{0.3cm}
440 \noindent {\bf Return Type:}
441 {\tt
442 session ref
443 }
446 reference to the object
447 \vspace{0.3cm}
448 \vspace{0.3cm}
449 \vspace{0.3cm}
450 \subsubsection{RPC name:~get\_record}
452 {\bf Overview:}
453 Get a record containing the current state of the given session.
455 \noindent {\bf Signature:}
456 \begin{verbatim} (session record) get_record (session_id s, session ref self)\end{verbatim}
459 \noindent{\bf Arguments:}
462 \vspace{0.3cm}
463 \begin{tabular}{|c|c|p{7cm}|}
464 \hline
465 {\bf type} & {\bf name} & {\bf description} \\ \hline
466 {\tt session ref } & self & reference to the object \\ \hline
468 \end{tabular}
470 \vspace{0.3cm}
472 \noindent {\bf Return Type:}
473 {\tt
474 session record
475 }
478 all fields from the object
479 \vspace{0.3cm}
480 \vspace{0.3cm}
481 \vspace{0.3cm}
483 \vspace{1cm}
484 \newpage
485 \section{Class: task}
486 \subsection{Fields for class: task}
487 \begin{longtable}{|lllp{0.38\textwidth}|}
488 \hline
489 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf task} \\
490 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
491 long-running asynchronous task.}} \\
492 \hline
493 Quals & Field & Type & Description \\
494 \hline
495 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
496 $\mathit{RO}_\mathit{run}$ & {\tt name/label} & string & a human-readable name \\
497 $\mathit{RO}_\mathit{run}$ & {\tt name/description} & string & a notes field containg human-readable description \\
498 $\mathit{RO}_\mathit{run}$ & {\tt status} & task\_status\_type & current status of the task \\
499 $\mathit{RO}_\mathit{run}$ & {\tt session} & session ref & the session that created the task \\
500 $\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. \\
501 $\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. \\
502 $\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. \\
503 $\mathit{RO}_\mathit{run}$ & {\tt error\_code} & int & if the task has failed, this field contains the error code. Undefined otherwise. \\
504 $\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. \\
505 $\mathit{RO}_\mathit{run}$ & {\tt allowed\_operations} & (task\_allowed\_operations) Set & Operations allowed on this task \\
506 \hline
507 \end{longtable}
508 \subsection{Additional RPCs associated with class: task}
509 \subsubsection{RPC name:~cancel}
511 {\bf Overview:}
512 Cancel this task. If task.allowed\_operations does not contain Cancel,
513 then this will fail with OPERATION\_NOT\_ALLOWED. The task will show the
514 status 'cancelling', and you should continue to check its status until it
515 shows 'cancelled'. There is no guarantee as to the time within which this
516 task will be cancelled.
518 \noindent {\bf Signature:}
519 \begin{verbatim} void cancel (session_id s, task ref task)\end{verbatim}
522 \noindent{\bf Arguments:}
525 \vspace{0.3cm}
526 \begin{tabular}{|c|c|p{7cm}|}
527 \hline
528 {\bf type} & {\bf name} & {\bf description} \\ \hline
529 {\tt task ref } & task & The task \\ \hline
531 \end{tabular}
533 \vspace{0.3cm}
535 \noindent {\bf Return Type:}
536 {\tt
537 void
538 }
542 \vspace{0.3cm}
544 \noindent{\bf Possible Error Codes:} {\tt OPERATION\_NOT\_ALLOWED}
546 \vspace{0.6cm}
547 \subsubsection{RPC name:~get\_all}
549 {\bf Overview:}
550 Return a list of all the tasks known to the system.
552 \noindent {\bf Signature:}
553 \begin{verbatim} ((task ref) Set) get_all (session_id s)\end{verbatim}
556 \vspace{0.3cm}
558 \noindent {\bf Return Type:}
559 {\tt
560 (task ref) Set
561 }
564 references to all objects
565 \vspace{0.3cm}
566 \vspace{0.3cm}
567 \vspace{0.3cm}
568 \subsubsection{RPC name:~get\_uuid}
570 {\bf Overview:}
571 Get the uuid field of the given task.
573 \noindent {\bf Signature:}
574 \begin{verbatim} string get_uuid (session_id s, task ref self)\end{verbatim}
577 \noindent{\bf Arguments:}
580 \vspace{0.3cm}
581 \begin{tabular}{|c|c|p{7cm}|}
582 \hline
583 {\bf type} & {\bf name} & {\bf description} \\ \hline
584 {\tt task ref } & self & reference to the object \\ \hline
586 \end{tabular}
588 \vspace{0.3cm}
590 \noindent {\bf Return Type:}
591 {\tt
592 string
593 }
596 value of the field
597 \vspace{0.3cm}
598 \vspace{0.3cm}
599 \vspace{0.3cm}
600 \subsubsection{RPC name:~get\_name\_label}
602 {\bf Overview:}
603 Get the name/label field of the given task.
605 \noindent {\bf Signature:}
606 \begin{verbatim} string get_name_label (session_id s, task ref self)\end{verbatim}
609 \noindent{\bf Arguments:}
612 \vspace{0.3cm}
613 \begin{tabular}{|c|c|p{7cm}|}
614 \hline
615 {\bf type} & {\bf name} & {\bf description} \\ \hline
616 {\tt task ref } & self & reference to the object \\ \hline
618 \end{tabular}
620 \vspace{0.3cm}
622 \noindent {\bf Return Type:}
623 {\tt
624 string
625 }
628 value of the field
629 \vspace{0.3cm}
630 \vspace{0.3cm}
631 \vspace{0.3cm}
632 \subsubsection{RPC name:~get\_name\_description}
634 {\bf Overview:}
635 Get the name/description field of the given task.
637 \noindent {\bf Signature:}
638 \begin{verbatim} string get_name_description (session_id s, task ref self)\end{verbatim}
641 \noindent{\bf Arguments:}
644 \vspace{0.3cm}
645 \begin{tabular}{|c|c|p{7cm}|}
646 \hline
647 {\bf type} & {\bf name} & {\bf description} \\ \hline
648 {\tt task ref } & self & reference to the object \\ \hline
650 \end{tabular}
652 \vspace{0.3cm}
654 \noindent {\bf Return Type:}
655 {\tt
656 string
657 }
660 value of the field
661 \vspace{0.3cm}
662 \vspace{0.3cm}
663 \vspace{0.3cm}
664 \subsubsection{RPC name:~get\_status}
666 {\bf Overview:}
667 Get the status field of the given task.
669 \noindent {\bf Signature:}
670 \begin{verbatim} (task_status_type) get_status (session_id s, task ref self)\end{verbatim}
673 \noindent{\bf Arguments:}
676 \vspace{0.3cm}
677 \begin{tabular}{|c|c|p{7cm}|}
678 \hline
679 {\bf type} & {\bf name} & {\bf description} \\ \hline
680 {\tt task ref } & self & reference to the object \\ \hline
682 \end{tabular}
684 \vspace{0.3cm}
686 \noindent {\bf Return Type:}
687 {\tt
688 task\_status\_type
689 }
692 value of the field
693 \vspace{0.3cm}
694 \vspace{0.3cm}
695 \vspace{0.3cm}
696 \subsubsection{RPC name:~get\_session}
698 {\bf Overview:}
699 Get the session field of the given task.
701 \noindent {\bf Signature:}
702 \begin{verbatim} (session ref) get_session (session_id s, task ref self)\end{verbatim}
705 \noindent{\bf Arguments:}
708 \vspace{0.3cm}
709 \begin{tabular}{|c|c|p{7cm}|}
710 \hline
711 {\bf type} & {\bf name} & {\bf description} \\ \hline
712 {\tt task ref } & self & reference to the object \\ \hline
714 \end{tabular}
716 \vspace{0.3cm}
718 \noindent {\bf Return Type:}
719 {\tt
720 session ref
721 }
724 value of the field
725 \vspace{0.3cm}
726 \vspace{0.3cm}
727 \vspace{0.3cm}
728 \subsubsection{RPC name:~get\_progress}
730 {\bf Overview:}
731 Get the progress field of the given task.
733 \noindent {\bf Signature:}
734 \begin{verbatim} int get_progress (session_id s, task ref self)\end{verbatim}
737 \noindent{\bf Arguments:}
740 \vspace{0.3cm}
741 \begin{tabular}{|c|c|p{7cm}|}
742 \hline
743 {\bf type} & {\bf name} & {\bf description} \\ \hline
744 {\tt task ref } & self & reference to the object \\ \hline
746 \end{tabular}
748 \vspace{0.3cm}
750 \noindent {\bf Return Type:}
751 {\tt
752 int
753 }
756 value of the field
757 \vspace{0.3cm}
758 \vspace{0.3cm}
759 \vspace{0.3cm}
760 \subsubsection{RPC name:~get\_type}
762 {\bf Overview:}
763 Get the type field of the given task.
765 \noindent {\bf Signature:}
766 \begin{verbatim} string get_type (session_id s, task ref self)\end{verbatim}
769 \noindent{\bf Arguments:}
772 \vspace{0.3cm}
773 \begin{tabular}{|c|c|p{7cm}|}
774 \hline
775 {\bf type} & {\bf name} & {\bf description} \\ \hline
776 {\tt task ref } & self & reference to the object \\ \hline
778 \end{tabular}
780 \vspace{0.3cm}
782 \noindent {\bf Return Type:}
783 {\tt
784 string
785 }
788 value of the field
789 \vspace{0.3cm}
790 \vspace{0.3cm}
791 \vspace{0.3cm}
792 \subsubsection{RPC name:~get\_result}
794 {\bf Overview:}
795 Get the result field of the given task.
797 \noindent {\bf Signature:}
798 \begin{verbatim} string get_result (session_id s, task ref self)\end{verbatim}
801 \noindent{\bf Arguments:}
804 \vspace{0.3cm}
805 \begin{tabular}{|c|c|p{7cm}|}
806 \hline
807 {\bf type} & {\bf name} & {\bf description} \\ \hline
808 {\tt task ref } & self & reference to the object \\ \hline
810 \end{tabular}
812 \vspace{0.3cm}
814 \noindent {\bf Return Type:}
815 {\tt
816 string
817 }
820 value of the field
821 \vspace{0.3cm}
822 \vspace{0.3cm}
823 \vspace{0.3cm}
824 \subsubsection{RPC name:~get\_error\_code}
826 {\bf Overview:}
827 Get the error\_code field of the given task.
829 \noindent {\bf Signature:}
830 \begin{verbatim} int get_error_code (session_id s, task ref self)\end{verbatim}
833 \noindent{\bf Arguments:}
836 \vspace{0.3cm}
837 \begin{tabular}{|c|c|p{7cm}|}
838 \hline
839 {\bf type} & {\bf name} & {\bf description} \\ \hline
840 {\tt task ref } & self & reference to the object \\ \hline
842 \end{tabular}
844 \vspace{0.3cm}
846 \noindent {\bf Return Type:}
847 {\tt
848 int
849 }
852 value of the field
853 \vspace{0.3cm}
854 \vspace{0.3cm}
855 \vspace{0.3cm}
856 \subsubsection{RPC name:~get\_error\_info}
858 {\bf Overview:}
859 Get the error\_info field of the given task.
861 \noindent {\bf Signature:}
862 \begin{verbatim} (string Set) get_error_info (session_id s, task ref self)\end{verbatim}
865 \noindent{\bf Arguments:}
868 \vspace{0.3cm}
869 \begin{tabular}{|c|c|p{7cm}|}
870 \hline
871 {\bf type} & {\bf name} & {\bf description} \\ \hline
872 {\tt task ref } & self & reference to the object \\ \hline
874 \end{tabular}
876 \vspace{0.3cm}
878 \noindent {\bf Return Type:}
879 {\tt
880 string Set
881 }
884 value of the field
885 \vspace{0.3cm}
886 \vspace{0.3cm}
887 \vspace{0.3cm}
888 \subsubsection{RPC name:~get\_allowed\_operations}
890 {\bf Overview:}
891 Get the allowed\_operations field of the given task.
893 \noindent {\bf Signature:}
894 \begin{verbatim} ((task_allowed_operations) Set) get_allowed_operations (session_id s, task ref self)\end{verbatim}
897 \noindent{\bf Arguments:}
900 \vspace{0.3cm}
901 \begin{tabular}{|c|c|p{7cm}|}
902 \hline
903 {\bf type} & {\bf name} & {\bf description} \\ \hline
904 {\tt task ref } & self & reference to the object \\ \hline
906 \end{tabular}
908 \vspace{0.3cm}
910 \noindent {\bf Return Type:}
911 {\tt
912 (task\_allowed\_operations) Set
913 }
916 value of the field
917 \vspace{0.3cm}
918 \vspace{0.3cm}
919 \vspace{0.3cm}
920 \subsubsection{RPC name:~get\_by\_uuid}
922 {\bf Overview:}
923 Get a reference to the task instance with the specified UUID.
925 \noindent {\bf Signature:}
926 \begin{verbatim} (task ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
929 \noindent{\bf Arguments:}
932 \vspace{0.3cm}
933 \begin{tabular}{|c|c|p{7cm}|}
934 \hline
935 {\bf type} & {\bf name} & {\bf description} \\ \hline
936 {\tt string } & uuid & UUID of object to return \\ \hline
938 \end{tabular}
940 \vspace{0.3cm}
942 \noindent {\bf Return Type:}
943 {\tt
944 task ref
945 }
948 reference to the object
949 \vspace{0.3cm}
950 \vspace{0.3cm}
951 \vspace{0.3cm}
952 \subsubsection{RPC name:~get\_record}
954 {\bf Overview:}
955 Get a record containing the current state of the given task.
957 \noindent {\bf Signature:}
958 \begin{verbatim} (task record) get_record (session_id s, task ref self)\end{verbatim}
961 \noindent{\bf Arguments:}
964 \vspace{0.3cm}
965 \begin{tabular}{|c|c|p{7cm}|}
966 \hline
967 {\bf type} & {\bf name} & {\bf description} \\ \hline
968 {\tt task ref } & self & reference to the object \\ \hline
970 \end{tabular}
972 \vspace{0.3cm}
974 \noindent {\bf Return Type:}
975 {\tt
976 task record
977 }
980 all fields from the object
981 \vspace{0.3cm}
982 \vspace{0.3cm}
983 \vspace{0.3cm}
984 \subsubsection{RPC name:~get\_by\_name\_label}
986 {\bf Overview:}
987 Get all the task instances with the given label.
989 \noindent {\bf Signature:}
990 \begin{verbatim} ((task ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
993 \noindent{\bf Arguments:}
996 \vspace{0.3cm}
997 \begin{tabular}{|c|c|p{7cm}|}
998 \hline
999 {\bf type} & {\bf name} & {\bf description} \\ \hline
1000 {\tt string } & label & label of object to return \\ \hline
1002 \end{tabular}
1004 \vspace{0.3cm}
1006 \noindent {\bf Return Type:}
1007 {\tt
1008 (task ref) Set
1012 references to objects with match names
1013 \vspace{0.3cm}
1014 \vspace{0.3cm}
1015 \vspace{0.3cm}
1017 \vspace{1cm}
1018 \newpage
1019 \section{Class: VM}
1020 \subsection{Fields for class: VM}
1021 \begin{longtable}{|lllp{0.38\textwidth}|}
1022 \hline
1023 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VM} \\
1024 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
1025 virtual machine (or 'guest').
1027 VM booting is controlled by setting one of the two mutually exclusive
1028 groups: "PV", and "HVM". If HVM.boot\_policy is the empty string, then
1029 paravirtual domain building and booting will be used; otherwise the VM will
1030 be loaded as an HVM domain, and booted using an emulated BIOS.
1032 When paravirtual booting is in use, the PV/bootloader field indicates the
1033 bootloader to use. It may be "pygrub", in which case the platform's
1034 default installation of pygrub will be used, or a full path within the
1035 control domain to some other bootloader. The other fields, PV/kernel,
1036 PV/ramdisk, PV/args and PV/bootloader\_args will be passed to the
1037 bootloader unmodified, and interpretation of those fields is then specific
1038 to the bootloader itself, including the possibility that the bootloader
1039 will ignore some or all of those given values. Finally the paths of all
1040 bootable disks are added to the bootloader commandline (a disk is bootable
1041 if its VBD has the bootable flag set). There may be zero, one or many
1042 bootable disks; the bootloader decides which disk (if any) to boot from.
1044 If the bootloader is pygrub, then the menu.lst is parsed if present in the
1045 guest's filesystem, otherwise the specified kernel and ramdisk are used, or
1046 an autodetected kernel is used if nothing is specified and autodetection is
1047 possible. PV/args is appended to the kernel command line, no matter which
1048 mechanism is used for finding the kernel.
1050 If PV/bootloader is empty but PV/kernel is specified, then the kernel and
1051 ramdisk values will be treated as paths within the control domain. If both
1052 PV/bootloader and PV/kernel are empty, then the behaviour is as if
1053 PV/bootloader was specified as "pygrub".
1055 When using HVM booting, HVM/boot\_policy and HVM/boot\_params specify the
1056 boot handling. Only one policy is currently defined: "BIOS order". In
1057 this case, HVM/boot\_params should contain one key-value pair "order" = "N"
1058 where N is the string that will be passed to QEMU.}} \\
1059 \hline
1060 Quals & Field & Type & Description \\
1061 \hline
1062 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
1063 $\mathit{RO}_\mathit{run}$ & {\tt power\_state} & vm\_power\_state & Current power state of the machine \\
1064 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
1065 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
1066 $\mathit{RW}$ & {\tt user\_version} & int & a user version number for this machine \\
1067 $\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 \\
1068 $\mathit{RW}$ & {\tt auto\_power\_on} & bool & true if this VM should be started automatically after host boot \\
1069 $\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) \\
1070 $\mathit{RO}_\mathit{run}$ & {\tt resident\_on} & host ref & the host the VM is currently resident on \\
1071 $\mathit{RW}$ & {\tt memory/static\_max} & int & Statically-set (i.e. absolute) maximum (bytes) \\
1072 $\mathit{RW}$ & {\tt memory/dynamic\_max} & int & Dynamic maximum (bytes) \\
1073 $\mathit{RW}$ & {\tt memory/dynamic\_min} & int & Dynamic minimum (bytes) \\
1074 $\mathit{RW}$ & {\tt memory/static\_min} & int & Statically-set (i.e. absolute) mininum (bytes) \\
1075 $\mathit{RW}$ & {\tt VCPUs/policy} & string & the name of the VCPU scheduling policy to be applied \\
1076 $\mathit{RW}$ & {\tt VCPUs/params} & (string $\rightarrow$ string) Map & configuration parameters for the selected VCPU policy \\
1077 $\mathit{RW}$ & {\tt VCPUs/max} & int & Max number of VCPUs \\
1078 $\mathit{RW}$ & {\tt VCPUs/at\_startup} & int & Boot number of VCPUs \\
1079 $\mathit{RW}$ & {\tt actions/after\_shutdown} & on\_normal\_exit & action to take after the guest has shutdown itself \\
1080 $\mathit{RW}$ & {\tt actions/after\_reboot} & on\_normal\_exit & action to take after the guest has rebooted itself \\
1081 $\mathit{RW}$ & {\tt actions/after\_crash} & on\_crash\_behaviour & action to take if the guest crashes \\
1082 $\mathit{RO}_\mathit{run}$ & {\tt consoles} & (console ref) Set & virtual console devices \\
1083 $\mathit{RO}_\mathit{run}$ & {\tt VIFs} & (VIF ref) Set & virtual network interfaces \\
1084 $\mathit{RO}_\mathit{run}$ & {\tt VBDs} & (VBD ref) Set & virtual block devices \\
1085 $\mathit{RO}_\mathit{run}$ & {\tt crash\_dumps} & (crashdump ref) Set & crash dumps associated with this VM \\
1086 $\mathit{RO}_\mathit{run}$ & {\tt VTPMs} & (VTPM ref) Set & virtual TPMs \\
1087 $\mathit{RW}$ & {\tt PV/bootloader} & string & name of or path to bootloader \\
1088 $\mathit{RW}$ & {\tt PV/kernel} & string & path to the kernel \\
1089 $\mathit{RW}$ & {\tt PV/ramdisk} & string & path to the initrd \\
1090 $\mathit{RW}$ & {\tt PV/args} & string & kernel command-line arguments \\
1091 $\mathit{RW}$ & {\tt PV/bootloader\_args} & string & miscellaneous arguments for the bootloader \\
1092 $\mathit{RW}$ & {\tt HVM/boot\_policy} & string & HVM boot policy \\
1093 $\mathit{RW}$ & {\tt HVM/boot\_params} & (string $\rightarrow$ string) Map & HVM boot params \\
1094 $\mathit{RW}$ & {\tt platform/std\_VGA} & bool & emulate standard VGA instead of cirrus logic \\
1095 $\mathit{RW}$ & {\tt platform/serial} & string & redirect serial port to pty \\
1096 $\mathit{RW}$ & {\tt platform/localtime} & bool & set RTC to local time \\
1097 $\mathit{RW}$ & {\tt platform/clock\_offset} & bool & timeshift applied to guest's clock \\
1098 $\mathit{RW}$ & {\tt platform/enable\_audio} & bool & emulate audio \\
1099 $\mathit{RO}_\mathit{ins}$ & {\tt PCI\_bus} & string & PCI bus path for pass-through devices \\
1100 $\mathit{RW}$ & {\tt other\_config} & (string $\rightarrow$ string) Map & additional configuration \\
1101 $\mathit{RO}_\mathit{run}$ & {\tt domid} & int & domain ID (if available, -1 otherwise) \\
1102 $\mathit{RO}_\mathit{run}$ & {\tt is\_control\_domain} & bool & true if this is a control domain (domain 0 or a driver domain) \\
1103 $\mathit{RO}_\mathit{run}$ & {\tt metrics} & VM\_metrics ref & metrics associated with this VM. \\
1104 $\mathit{RO}_\mathit{run}$ & {\tt guest\_metrics} & VM\_guest\_metrics ref & metrics associated with the running guest \\
1105 \hline
1106 \end{longtable}
1107 \subsection{Additional RPCs associated with class: VM}
1108 \subsubsection{RPC name:~clone}
1110 {\bf Overview:}
1111 Clones the specified VM, making a new VM. Clone automatically exploits the
1112 capabilities of the underlying storage repository in which the VM's disk
1113 images are stored (e.g. Copy on Write). This function can only be called
1114 when the VM is in the Halted State.
1116 \noindent {\bf Signature:}
1117 \begin{verbatim} (VM ref) clone (session_id s, VM ref vm, string new_name)\end{verbatim}
1120 \noindent{\bf Arguments:}
1123 \vspace{0.3cm}
1124 \begin{tabular}{|c|c|p{7cm}|}
1125 \hline
1126 {\bf type} & {\bf name} & {\bf description} \\ \hline
1127 {\tt VM ref } & vm & The VM to be cloned \\ \hline
1129 {\tt string } & new\_name & The name of the cloned VM \\ \hline
1131 \end{tabular}
1133 \vspace{0.3cm}
1135 \noindent {\bf Return Type:}
1136 {\tt
1137 VM ref
1141 The ID of the newly created VM.
1142 \vspace{0.3cm}
1144 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1146 \vspace{0.6cm}
1147 \subsubsection{RPC name:~start}
1149 {\bf Overview:}
1150 Start the specified VM. This function can only be called with the VM is in
1151 the Halted State.
1153 \noindent {\bf Signature:}
1154 \begin{verbatim} void start (session_id s, VM ref vm, bool start_paused)\end{verbatim}
1157 \noindent{\bf Arguments:}
1160 \vspace{0.3cm}
1161 \begin{tabular}{|c|c|p{7cm}|}
1162 \hline
1163 {\bf type} & {\bf name} & {\bf description} \\ \hline
1164 {\tt VM ref } & vm & The VM to start \\ \hline
1166 {\tt bool } & start\_paused & Instantiate VM in paused state if set to true. \\ \hline
1168 \end{tabular}
1170 \vspace{0.3cm}
1172 \noindent {\bf Return Type:}
1173 {\tt
1174 void
1179 \vspace{0.3cm}
1181 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1183 \vspace{0.6cm}
1184 \subsubsection{RPC name:~pause}
1186 {\bf Overview:}
1187 Pause the specified VM. This can only be called when the specified VM is in
1188 the Running state.
1190 \noindent {\bf Signature:}
1191 \begin{verbatim} void pause (session_id s, VM ref vm)\end{verbatim}
1194 \noindent{\bf Arguments:}
1197 \vspace{0.3cm}
1198 \begin{tabular}{|c|c|p{7cm}|}
1199 \hline
1200 {\bf type} & {\bf name} & {\bf description} \\ \hline
1201 {\tt VM ref } & vm & The VM to pause \\ \hline
1203 \end{tabular}
1205 \vspace{0.3cm}
1207 \noindent {\bf Return Type:}
1208 {\tt
1209 void
1214 \vspace{0.3cm}
1216 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1218 \vspace{0.6cm}
1219 \subsubsection{RPC name:~unpause}
1221 {\bf Overview:}
1222 Resume the specified VM. This can only be called when the specified VM is
1223 in the Paused state.
1225 \noindent {\bf Signature:}
1226 \begin{verbatim} void unpause (session_id s, VM ref vm)\end{verbatim}
1229 \noindent{\bf Arguments:}
1232 \vspace{0.3cm}
1233 \begin{tabular}{|c|c|p{7cm}|}
1234 \hline
1235 {\bf type} & {\bf name} & {\bf description} \\ \hline
1236 {\tt VM ref } & vm & The VM to unpause \\ \hline
1238 \end{tabular}
1240 \vspace{0.3cm}
1242 \noindent {\bf Return Type:}
1243 {\tt
1244 void
1249 \vspace{0.3cm}
1251 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1253 \vspace{0.6cm}
1254 \subsubsection{RPC name:~clean\_shutdown}
1256 {\bf Overview:}
1257 Attempt to cleanly shutdown the specified VM. (Note: this may not be
1258 supported---e.g. if a guest agent is not installed).
1260 Once shutdown has been completed perform poweroff action specified in guest
1261 configuration.
1263 This can only be called when the specified VM is in the Running state.
1265 \noindent {\bf Signature:}
1266 \begin{verbatim} void clean_shutdown (session_id s, VM ref vm)\end{verbatim}
1269 \noindent{\bf Arguments:}
1272 \vspace{0.3cm}
1273 \begin{tabular}{|c|c|p{7cm}|}
1274 \hline
1275 {\bf type} & {\bf name} & {\bf description} \\ \hline
1276 {\tt VM ref } & vm & The VM to shutdown \\ \hline
1278 \end{tabular}
1280 \vspace{0.3cm}
1282 \noindent {\bf Return Type:}
1283 {\tt
1284 void
1289 \vspace{0.3cm}
1291 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1293 \vspace{0.6cm}
1294 \subsubsection{RPC name:~clean\_reboot}
1296 {\bf Overview:}
1297 Attempt to cleanly shutdown the specified VM (Note: this may not be
1298 supported---e.g. if a guest agent is not installed).
1300 Once shutdown has been completed perform reboot action specified in guest
1301 configuration.
1303 This can only be called when the specified VM is in the Running state.
1305 \noindent {\bf Signature:}
1306 \begin{verbatim} void clean_reboot (session_id s, VM ref vm)\end{verbatim}
1309 \noindent{\bf Arguments:}
1312 \vspace{0.3cm}
1313 \begin{tabular}{|c|c|p{7cm}|}
1314 \hline
1315 {\bf type} & {\bf name} & {\bf description} \\ \hline
1316 {\tt VM ref } & vm & The VM to shutdown \\ \hline
1318 \end{tabular}
1320 \vspace{0.3cm}
1322 \noindent {\bf Return Type:}
1323 {\tt
1324 void
1329 \vspace{0.3cm}
1331 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1333 \vspace{0.6cm}
1334 \subsubsection{RPC name:~hard\_shutdown}
1336 {\bf Overview:}
1337 Stop executing the specified VM without attempting a clean shutdown. Then
1338 perform poweroff action specified in VM configuration.
1340 \noindent {\bf Signature:}
1341 \begin{verbatim} void hard_shutdown (session_id s, VM ref vm)\end{verbatim}
1344 \noindent{\bf Arguments:}
1347 \vspace{0.3cm}
1348 \begin{tabular}{|c|c|p{7cm}|}
1349 \hline
1350 {\bf type} & {\bf name} & {\bf description} \\ \hline
1351 {\tt VM ref } & vm & The VM to destroy \\ \hline
1353 \end{tabular}
1355 \vspace{0.3cm}
1357 \noindent {\bf Return Type:}
1358 {\tt
1359 void
1364 \vspace{0.3cm}
1365 \vspace{0.3cm}
1366 \vspace{0.3cm}
1367 \subsubsection{RPC name:~hard\_reboot}
1369 {\bf Overview:}
1370 Stop executing the specified VM without attempting a clean shutdown. Then
1371 perform reboot action specified in VM configuration.
1373 \noindent {\bf Signature:}
1374 \begin{verbatim} void hard_reboot (session_id s, VM ref vm)\end{verbatim}
1377 \noindent{\bf Arguments:}
1380 \vspace{0.3cm}
1381 \begin{tabular}{|c|c|p{7cm}|}
1382 \hline
1383 {\bf type} & {\bf name} & {\bf description} \\ \hline
1384 {\tt VM ref } & vm & The VM to reboot \\ \hline
1386 \end{tabular}
1388 \vspace{0.3cm}
1390 \noindent {\bf Return Type:}
1391 {\tt
1392 void
1397 \vspace{0.3cm}
1398 \vspace{0.3cm}
1399 \vspace{0.3cm}
1400 \subsubsection{RPC name:~suspend}
1402 {\bf Overview:}
1403 Suspend the specified VM to disk. This can only be called when the
1404 specified VM is in the Running state.
1406 \noindent {\bf Signature:}
1407 \begin{verbatim} void suspend (session_id s, VM ref vm)\end{verbatim}
1410 \noindent{\bf Arguments:}
1413 \vspace{0.3cm}
1414 \begin{tabular}{|c|c|p{7cm}|}
1415 \hline
1416 {\bf type} & {\bf name} & {\bf description} \\ \hline
1417 {\tt VM ref } & vm & The VM to hibernate \\ \hline
1419 \end{tabular}
1421 \vspace{0.3cm}
1423 \noindent {\bf Return Type:}
1424 {\tt
1425 void
1430 \vspace{0.3cm}
1432 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1434 \vspace{0.6cm}
1435 \subsubsection{RPC name:~resume}
1437 {\bf Overview:}
1438 Awaken the specified VM and resume it. This can only be called when the
1439 specified VM is in the Suspended state.
1441 \noindent {\bf Signature:}
1442 \begin{verbatim} void resume (session_id s, VM ref vm, bool start_paused)\end{verbatim}
1445 \noindent{\bf Arguments:}
1448 \vspace{0.3cm}
1449 \begin{tabular}{|c|c|p{7cm}|}
1450 \hline
1451 {\bf type} & {\bf name} & {\bf description} \\ \hline
1452 {\tt VM ref } & vm & The VM to unhibernate \\ \hline
1454 {\tt bool } & start\_paused & Unhibernate VM in paused state if set to true. \\ \hline
1456 \end{tabular}
1458 \vspace{0.3cm}
1460 \noindent {\bf Return Type:}
1461 {\tt
1462 void
1467 \vspace{0.3cm}
1469 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1471 \vspace{0.6cm}
1472 \subsubsection{RPC name:~get\_all}
1474 {\bf Overview:}
1475 Return a list of all the VMs known to the system.
1477 \noindent {\bf Signature:}
1478 \begin{verbatim} ((VM ref) Set) get_all (session_id s)\end{verbatim}
1481 \vspace{0.3cm}
1483 \noindent {\bf Return Type:}
1484 {\tt
1485 (VM ref) Set
1489 A list of all the IDs of all the VMs
1490 \vspace{0.3cm}
1491 \vspace{0.3cm}
1492 \vspace{0.3cm}
1493 \subsubsection{RPC name:~get\_uuid}
1495 {\bf Overview:}
1496 Get the uuid field of the given VM.
1498 \noindent {\bf Signature:}
1499 \begin{verbatim} string get_uuid (session_id s, VM ref self)\end{verbatim}
1502 \noindent{\bf Arguments:}
1505 \vspace{0.3cm}
1506 \begin{tabular}{|c|c|p{7cm}|}
1507 \hline
1508 {\bf type} & {\bf name} & {\bf description} \\ \hline
1509 {\tt VM ref } & self & reference to the object \\ \hline
1511 \end{tabular}
1513 \vspace{0.3cm}
1515 \noindent {\bf Return Type:}
1516 {\tt
1517 string
1521 value of the field
1522 \vspace{0.3cm}
1523 \vspace{0.3cm}
1524 \vspace{0.3cm}
1525 \subsubsection{RPC name:~get\_power\_state}
1527 {\bf Overview:}
1528 Get the power\_state field of the given VM.
1530 \noindent {\bf Signature:}
1531 \begin{verbatim} (vm_power_state) get_power_state (session_id s, VM ref self)\end{verbatim}
1534 \noindent{\bf Arguments:}
1537 \vspace{0.3cm}
1538 \begin{tabular}{|c|c|p{7cm}|}
1539 \hline
1540 {\bf type} & {\bf name} & {\bf description} \\ \hline
1541 {\tt VM ref } & self & reference to the object \\ \hline
1543 \end{tabular}
1545 \vspace{0.3cm}
1547 \noindent {\bf Return Type:}
1548 {\tt
1549 vm\_power\_state
1553 value of the field
1554 \vspace{0.3cm}
1555 \vspace{0.3cm}
1556 \vspace{0.3cm}
1557 \subsubsection{RPC name:~get\_name\_label}
1559 {\bf Overview:}
1560 Get the name/label field of the given VM.
1562 \noindent {\bf Signature:}
1563 \begin{verbatim} string get_name_label (session_id s, VM ref self)\end{verbatim}
1566 \noindent{\bf Arguments:}
1569 \vspace{0.3cm}
1570 \begin{tabular}{|c|c|p{7cm}|}
1571 \hline
1572 {\bf type} & {\bf name} & {\bf description} \\ \hline
1573 {\tt VM ref } & self & reference to the object \\ \hline
1575 \end{tabular}
1577 \vspace{0.3cm}
1579 \noindent {\bf Return Type:}
1580 {\tt
1581 string
1585 value of the field
1586 \vspace{0.3cm}
1587 \vspace{0.3cm}
1588 \vspace{0.3cm}
1589 \subsubsection{RPC name:~set\_name\_label}
1591 {\bf Overview:}
1592 Set the name/label field of the given VM.
1594 \noindent {\bf Signature:}
1595 \begin{verbatim} void set_name_label (session_id s, VM ref self, string value)\end{verbatim}
1598 \noindent{\bf Arguments:}
1601 \vspace{0.3cm}
1602 \begin{tabular}{|c|c|p{7cm}|}
1603 \hline
1604 {\bf type} & {\bf name} & {\bf description} \\ \hline
1605 {\tt VM ref } & self & reference to the object \\ \hline
1607 {\tt string } & value & New value to set \\ \hline
1609 \end{tabular}
1611 \vspace{0.3cm}
1613 \noindent {\bf Return Type:}
1614 {\tt
1615 void
1620 \vspace{0.3cm}
1621 \vspace{0.3cm}
1622 \vspace{0.3cm}
1623 \subsubsection{RPC name:~get\_name\_description}
1625 {\bf Overview:}
1626 Get the name/description field of the given VM.
1628 \noindent {\bf Signature:}
1629 \begin{verbatim} string get_name_description (session_id s, VM ref self)\end{verbatim}
1632 \noindent{\bf Arguments:}
1635 \vspace{0.3cm}
1636 \begin{tabular}{|c|c|p{7cm}|}
1637 \hline
1638 {\bf type} & {\bf name} & {\bf description} \\ \hline
1639 {\tt VM ref } & self & reference to the object \\ \hline
1641 \end{tabular}
1643 \vspace{0.3cm}
1645 \noindent {\bf Return Type:}
1646 {\tt
1647 string
1651 value of the field
1652 \vspace{0.3cm}
1653 \vspace{0.3cm}
1654 \vspace{0.3cm}
1655 \subsubsection{RPC name:~set\_name\_description}
1657 {\bf Overview:}
1658 Set the name/description field of the given VM.
1660 \noindent {\bf Signature:}
1661 \begin{verbatim} void set_name_description (session_id s, VM ref self, string value)\end{verbatim}
1664 \noindent{\bf Arguments:}
1667 \vspace{0.3cm}
1668 \begin{tabular}{|c|c|p{7cm}|}
1669 \hline
1670 {\bf type} & {\bf name} & {\bf description} \\ \hline
1671 {\tt VM ref } & self & reference to the object \\ \hline
1673 {\tt string } & value & New value to set \\ \hline
1675 \end{tabular}
1677 \vspace{0.3cm}
1679 \noindent {\bf Return Type:}
1680 {\tt
1681 void
1686 \vspace{0.3cm}
1687 \vspace{0.3cm}
1688 \vspace{0.3cm}
1689 \subsubsection{RPC name:~get\_user\_version}
1691 {\bf Overview:}
1692 Get the user\_version field of the given VM.
1694 \noindent {\bf Signature:}
1695 \begin{verbatim} int get_user_version (session_id s, VM ref self)\end{verbatim}
1698 \noindent{\bf Arguments:}
1701 \vspace{0.3cm}
1702 \begin{tabular}{|c|c|p{7cm}|}
1703 \hline
1704 {\bf type} & {\bf name} & {\bf description} \\ \hline
1705 {\tt VM ref } & self & reference to the object \\ \hline
1707 \end{tabular}
1709 \vspace{0.3cm}
1711 \noindent {\bf Return Type:}
1712 {\tt
1713 int
1717 value of the field
1718 \vspace{0.3cm}
1719 \vspace{0.3cm}
1720 \vspace{0.3cm}
1721 \subsubsection{RPC name:~set\_user\_version}
1723 {\bf Overview:}
1724 Set the user\_version field of the given VM.
1726 \noindent {\bf Signature:}
1727 \begin{verbatim} void set_user_version (session_id s, VM ref self, int value)\end{verbatim}
1730 \noindent{\bf Arguments:}
1733 \vspace{0.3cm}
1734 \begin{tabular}{|c|c|p{7cm}|}
1735 \hline
1736 {\bf type} & {\bf name} & {\bf description} \\ \hline
1737 {\tt VM ref } & self & reference to the object \\ \hline
1739 {\tt int } & value & New value to set \\ \hline
1741 \end{tabular}
1743 \vspace{0.3cm}
1745 \noindent {\bf Return Type:}
1746 {\tt
1747 void
1752 \vspace{0.3cm}
1753 \vspace{0.3cm}
1754 \vspace{0.3cm}
1755 \subsubsection{RPC name:~get\_is\_a\_template}
1757 {\bf Overview:}
1758 Get the is\_a\_template field of the given VM.
1760 \noindent {\bf Signature:}
1761 \begin{verbatim} bool get_is_a_template (session_id s, VM ref self)\end{verbatim}
1764 \noindent{\bf Arguments:}
1767 \vspace{0.3cm}
1768 \begin{tabular}{|c|c|p{7cm}|}
1769 \hline
1770 {\bf type} & {\bf name} & {\bf description} \\ \hline
1771 {\tt VM ref } & self & reference to the object \\ \hline
1773 \end{tabular}
1775 \vspace{0.3cm}
1777 \noindent {\bf Return Type:}
1778 {\tt
1779 bool
1783 value of the field
1784 \vspace{0.3cm}
1785 \vspace{0.3cm}
1786 \vspace{0.3cm}
1787 \subsubsection{RPC name:~set\_is\_a\_template}
1789 {\bf Overview:}
1790 Set the is\_a\_template field of the given VM.
1792 \noindent {\bf Signature:}
1793 \begin{verbatim} void set_is_a_template (session_id s, VM ref self, bool value)\end{verbatim}
1796 \noindent{\bf Arguments:}
1799 \vspace{0.3cm}
1800 \begin{tabular}{|c|c|p{7cm}|}
1801 \hline
1802 {\bf type} & {\bf name} & {\bf description} \\ \hline
1803 {\tt VM ref } & self & reference to the object \\ \hline
1805 {\tt bool } & value & New value to set \\ \hline
1807 \end{tabular}
1809 \vspace{0.3cm}
1811 \noindent {\bf Return Type:}
1812 {\tt
1813 void
1818 \vspace{0.3cm}
1819 \vspace{0.3cm}
1820 \vspace{0.3cm}
1821 \subsubsection{RPC name:~get\_auto\_power\_on}
1823 {\bf Overview:}
1824 Get the auto\_power\_on field of the given VM.
1826 \noindent {\bf Signature:}
1827 \begin{verbatim} bool get_auto_power_on (session_id s, VM ref self)\end{verbatim}
1830 \noindent{\bf Arguments:}
1833 \vspace{0.3cm}
1834 \begin{tabular}{|c|c|p{7cm}|}
1835 \hline
1836 {\bf type} & {\bf name} & {\bf description} \\ \hline
1837 {\tt VM ref } & self & reference to the object \\ \hline
1839 \end{tabular}
1841 \vspace{0.3cm}
1843 \noindent {\bf Return Type:}
1844 {\tt
1845 bool
1849 value of the field
1850 \vspace{0.3cm}
1851 \vspace{0.3cm}
1852 \vspace{0.3cm}
1853 \subsubsection{RPC name:~set\_auto\_power\_on}
1855 {\bf Overview:}
1856 Set the auto\_power\_on field of the given VM.
1858 \noindent {\bf Signature:}
1859 \begin{verbatim} void set_auto_power_on (session_id s, VM ref self, bool value)\end{verbatim}
1862 \noindent{\bf Arguments:}
1865 \vspace{0.3cm}
1866 \begin{tabular}{|c|c|p{7cm}|}
1867 \hline
1868 {\bf type} & {\bf name} & {\bf description} \\ \hline
1869 {\tt VM ref } & self & reference to the object \\ \hline
1871 {\tt bool } & value & New value to set \\ \hline
1873 \end{tabular}
1875 \vspace{0.3cm}
1877 \noindent {\bf Return Type:}
1878 {\tt
1879 void
1884 \vspace{0.3cm}
1885 \vspace{0.3cm}
1886 \vspace{0.3cm}
1887 \subsubsection{RPC name:~get\_suspend\_VDI}
1889 {\bf Overview:}
1890 Get the suspend\_VDI field of the given VM.
1892 \noindent {\bf Signature:}
1893 \begin{verbatim} (VDI ref) get_suspend_VDI (session_id s, VM ref self)\end{verbatim}
1896 \noindent{\bf Arguments:}
1899 \vspace{0.3cm}
1900 \begin{tabular}{|c|c|p{7cm}|}
1901 \hline
1902 {\bf type} & {\bf name} & {\bf description} \\ \hline
1903 {\tt VM ref } & self & reference to the object \\ \hline
1905 \end{tabular}
1907 \vspace{0.3cm}
1909 \noindent {\bf Return Type:}
1910 {\tt
1911 VDI ref
1915 value of the field
1916 \vspace{0.3cm}
1917 \vspace{0.3cm}
1918 \vspace{0.3cm}
1919 \subsubsection{RPC name:~get\_resident\_on}
1921 {\bf Overview:}
1922 Get the resident\_on field of the given VM.
1924 \noindent {\bf Signature:}
1925 \begin{verbatim} (host ref) get_resident_on (session_id s, VM ref self)\end{verbatim}
1928 \noindent{\bf Arguments:}
1931 \vspace{0.3cm}
1932 \begin{tabular}{|c|c|p{7cm}|}
1933 \hline
1934 {\bf type} & {\bf name} & {\bf description} \\ \hline
1935 {\tt VM ref } & self & reference to the object \\ \hline
1937 \end{tabular}
1939 \vspace{0.3cm}
1941 \noindent {\bf Return Type:}
1942 {\tt
1943 host ref
1947 value of the field
1948 \vspace{0.3cm}
1949 \vspace{0.3cm}
1950 \vspace{0.3cm}
1951 \subsubsection{RPC name:~get\_memory\_static\_max}
1953 {\bf Overview:}
1954 Get the memory/static\_max field of the given VM.
1956 \noindent {\bf Signature:}
1957 \begin{verbatim} int get_memory_static_max (session_id s, VM ref self)\end{verbatim}
1960 \noindent{\bf Arguments:}
1963 \vspace{0.3cm}
1964 \begin{tabular}{|c|c|p{7cm}|}
1965 \hline
1966 {\bf type} & {\bf name} & {\bf description} \\ \hline
1967 {\tt VM ref } & self & reference to the object \\ \hline
1969 \end{tabular}
1971 \vspace{0.3cm}
1973 \noindent {\bf Return Type:}
1974 {\tt
1975 int
1979 value of the field
1980 \vspace{0.3cm}
1981 \vspace{0.3cm}
1982 \vspace{0.3cm}
1983 \subsubsection{RPC name:~set\_memory\_static\_max}
1985 {\bf Overview:}
1986 Set the memory/static\_max field of the given VM.
1988 \noindent {\bf Signature:}
1989 \begin{verbatim} void set_memory_static_max (session_id s, VM ref self, int value)\end{verbatim}
1992 \noindent{\bf Arguments:}
1995 \vspace{0.3cm}
1996 \begin{tabular}{|c|c|p{7cm}|}
1997 \hline
1998 {\bf type} & {\bf name} & {\bf description} \\ \hline
1999 {\tt VM ref } & self & reference to the object \\ \hline
2001 {\tt int } & value & New value to set \\ \hline
2003 \end{tabular}
2005 \vspace{0.3cm}
2007 \noindent {\bf Return Type:}
2008 {\tt
2009 void
2014 \vspace{0.3cm}
2015 \vspace{0.3cm}
2016 \vspace{0.3cm}
2017 \subsubsection{RPC name:~get\_memory\_dynamic\_max}
2019 {\bf Overview:}
2020 Get the memory/dynamic\_max field of the given VM.
2022 \noindent {\bf Signature:}
2023 \begin{verbatim} int get_memory_dynamic_max (session_id s, VM ref self)\end{verbatim}
2026 \noindent{\bf Arguments:}
2029 \vspace{0.3cm}
2030 \begin{tabular}{|c|c|p{7cm}|}
2031 \hline
2032 {\bf type} & {\bf name} & {\bf description} \\ \hline
2033 {\tt VM ref } & self & reference to the object \\ \hline
2035 \end{tabular}
2037 \vspace{0.3cm}
2039 \noindent {\bf Return Type:}
2040 {\tt
2041 int
2045 value of the field
2046 \vspace{0.3cm}
2047 \vspace{0.3cm}
2048 \vspace{0.3cm}
2049 \subsubsection{RPC name:~set\_memory\_dynamic\_max}
2051 {\bf Overview:}
2052 Set the memory/dynamic\_max field of the given VM.
2054 \noindent {\bf Signature:}
2055 \begin{verbatim} void set_memory_dynamic_max (session_id s, VM ref self, int value)\end{verbatim}
2058 \noindent{\bf Arguments:}
2061 \vspace{0.3cm}
2062 \begin{tabular}{|c|c|p{7cm}|}
2063 \hline
2064 {\bf type} & {\bf name} & {\bf description} \\ \hline
2065 {\tt VM ref } & self & reference to the object \\ \hline
2067 {\tt int } & value & New value to set \\ \hline
2069 \end{tabular}
2071 \vspace{0.3cm}
2073 \noindent {\bf Return Type:}
2074 {\tt
2075 void
2080 \vspace{0.3cm}
2081 \vspace{0.3cm}
2082 \vspace{0.3cm}
2083 \subsubsection{RPC name:~get\_memory\_dynamic\_min}
2085 {\bf Overview:}
2086 Get the memory/dynamic\_min field of the given VM.
2088 \noindent {\bf Signature:}
2089 \begin{verbatim} int get_memory_dynamic_min (session_id s, VM ref self)\end{verbatim}
2092 \noindent{\bf Arguments:}
2095 \vspace{0.3cm}
2096 \begin{tabular}{|c|c|p{7cm}|}
2097 \hline
2098 {\bf type} & {\bf name} & {\bf description} \\ \hline
2099 {\tt VM ref } & self & reference to the object \\ \hline
2101 \end{tabular}
2103 \vspace{0.3cm}
2105 \noindent {\bf Return Type:}
2106 {\tt
2107 int
2111 value of the field
2112 \vspace{0.3cm}
2113 \vspace{0.3cm}
2114 \vspace{0.3cm}
2115 \subsubsection{RPC name:~set\_memory\_dynamic\_min}
2117 {\bf Overview:}
2118 Set the memory/dynamic\_min field of the given VM.
2120 \noindent {\bf Signature:}
2121 \begin{verbatim} void set_memory_dynamic_min (session_id s, VM ref self, int value)\end{verbatim}
2124 \noindent{\bf Arguments:}
2127 \vspace{0.3cm}
2128 \begin{tabular}{|c|c|p{7cm}|}
2129 \hline
2130 {\bf type} & {\bf name} & {\bf description} \\ \hline
2131 {\tt VM ref } & self & reference to the object \\ \hline
2133 {\tt int } & value & New value to set \\ \hline
2135 \end{tabular}
2137 \vspace{0.3cm}
2139 \noindent {\bf Return Type:}
2140 {\tt
2141 void
2146 \vspace{0.3cm}
2147 \vspace{0.3cm}
2148 \vspace{0.3cm}
2149 \subsubsection{RPC name:~get\_memory\_static\_min}
2151 {\bf Overview:}
2152 Get the memory/static\_min field of the given VM.
2154 \noindent {\bf Signature:}
2155 \begin{verbatim} int get_memory_static_min (session_id s, VM ref self)\end{verbatim}
2158 \noindent{\bf Arguments:}
2161 \vspace{0.3cm}
2162 \begin{tabular}{|c|c|p{7cm}|}
2163 \hline
2164 {\bf type} & {\bf name} & {\bf description} \\ \hline
2165 {\tt VM ref } & self & reference to the object \\ \hline
2167 \end{tabular}
2169 \vspace{0.3cm}
2171 \noindent {\bf Return Type:}
2172 {\tt
2173 int
2177 value of the field
2178 \vspace{0.3cm}
2179 \vspace{0.3cm}
2180 \vspace{0.3cm}
2181 \subsubsection{RPC name:~set\_memory\_static\_min}
2183 {\bf Overview:}
2184 Set the memory/static\_min field of the given VM.
2186 \noindent {\bf Signature:}
2187 \begin{verbatim} void set_memory_static_min (session_id s, VM ref self, int value)\end{verbatim}
2190 \noindent{\bf Arguments:}
2193 \vspace{0.3cm}
2194 \begin{tabular}{|c|c|p{7cm}|}
2195 \hline
2196 {\bf type} & {\bf name} & {\bf description} \\ \hline
2197 {\tt VM ref } & self & reference to the object \\ \hline
2199 {\tt int } & value & New value to set \\ \hline
2201 \end{tabular}
2203 \vspace{0.3cm}
2205 \noindent {\bf Return Type:}
2206 {\tt
2207 void
2212 \vspace{0.3cm}
2213 \vspace{0.3cm}
2214 \vspace{0.3cm}
2215 \subsubsection{RPC name:~get\_VCPUs\_policy}
2217 {\bf Overview:}
2218 Get the VCPUs/policy field of the given VM.
2220 \noindent {\bf Signature:}
2221 \begin{verbatim} string get_VCPUs_policy (session_id s, VM ref self)\end{verbatim}
2224 \noindent{\bf Arguments:}
2227 \vspace{0.3cm}
2228 \begin{tabular}{|c|c|p{7cm}|}
2229 \hline
2230 {\bf type} & {\bf name} & {\bf description} \\ \hline
2231 {\tt VM ref } & self & reference to the object \\ \hline
2233 \end{tabular}
2235 \vspace{0.3cm}
2237 \noindent {\bf Return Type:}
2238 {\tt
2239 string
2243 value of the field
2244 \vspace{0.3cm}
2245 \vspace{0.3cm}
2246 \vspace{0.3cm}
2247 \subsubsection{RPC name:~set\_VCPUs\_policy}
2249 {\bf Overview:}
2250 Set the VCPUs/policy field of the given VM.
2252 \noindent {\bf Signature:}
2253 \begin{verbatim} void set_VCPUs_policy (session_id s, VM ref self, string value)\end{verbatim}
2256 \noindent{\bf Arguments:}
2259 \vspace{0.3cm}
2260 \begin{tabular}{|c|c|p{7cm}|}
2261 \hline
2262 {\bf type} & {\bf name} & {\bf description} \\ \hline
2263 {\tt VM ref } & self & reference to the object \\ \hline
2265 {\tt string } & value & New value to set \\ \hline
2267 \end{tabular}
2269 \vspace{0.3cm}
2271 \noindent {\bf Return Type:}
2272 {\tt
2273 void
2278 \vspace{0.3cm}
2279 \vspace{0.3cm}
2280 \vspace{0.3cm}
2281 \subsubsection{RPC name:~get\_VCPUs\_params}
2283 {\bf Overview:}
2284 Get the VCPUs/params field of the given VM.
2286 \noindent {\bf Signature:}
2287 \begin{verbatim} ((string -> string) Map) get_VCPUs_params (session_id s, VM ref self)\end{verbatim}
2290 \noindent{\bf Arguments:}
2293 \vspace{0.3cm}
2294 \begin{tabular}{|c|c|p{7cm}|}
2295 \hline
2296 {\bf type} & {\bf name} & {\bf description} \\ \hline
2297 {\tt VM ref } & self & reference to the object \\ \hline
2299 \end{tabular}
2301 \vspace{0.3cm}
2303 \noindent {\bf Return Type:}
2304 {\tt
2305 (string $\rightarrow$ string) Map
2309 value of the field
2310 \vspace{0.3cm}
2311 \vspace{0.3cm}
2312 \vspace{0.3cm}
2313 \subsubsection{RPC name:~set\_VCPUs\_params}
2315 {\bf Overview:}
2316 Set the VCPUs/params field of the given VM.
2318 \noindent {\bf Signature:}
2319 \begin{verbatim} void set_VCPUs_params (session_id s, VM ref self, (string -> string) Map value)\end{verbatim}
2322 \noindent{\bf Arguments:}
2325 \vspace{0.3cm}
2326 \begin{tabular}{|c|c|p{7cm}|}
2327 \hline
2328 {\bf type} & {\bf name} & {\bf description} \\ \hline
2329 {\tt VM ref } & self & reference to the object \\ \hline
2331 {\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline
2333 \end{tabular}
2335 \vspace{0.3cm}
2337 \noindent {\bf Return Type:}
2338 {\tt
2339 void
2344 \vspace{0.3cm}
2345 \vspace{0.3cm}
2346 \vspace{0.3cm}
2347 \subsubsection{RPC name:~add\_to\_VCPUs\_params}
2349 {\bf Overview:}
2350 Add the given key-value pair to the VCPUs/params field of the given VM.
2352 \noindent {\bf Signature:}
2353 \begin{verbatim} void add_to_VCPUs_params (session_id s, VM ref self, string key, string value)\end{verbatim}
2356 \noindent{\bf Arguments:}
2359 \vspace{0.3cm}
2360 \begin{tabular}{|c|c|p{7cm}|}
2361 \hline
2362 {\bf type} & {\bf name} & {\bf description} \\ \hline
2363 {\tt VM ref } & self & reference to the object \\ \hline
2365 {\tt string } & key & Key to add \\ \hline
2367 {\tt string } & value & Value to add \\ \hline
2369 \end{tabular}
2371 \vspace{0.3cm}
2373 \noindent {\bf Return Type:}
2374 {\tt
2375 void
2380 \vspace{0.3cm}
2381 \vspace{0.3cm}
2382 \vspace{0.3cm}
2383 \subsubsection{RPC name:~remove\_from\_VCPUs\_params}
2385 {\bf Overview:}
2386 Remove the given key and its corresponding value from the VCPUs/params
2387 field of the given VM. If the key is not in that Map, then do nothing.
2389 \noindent {\bf Signature:}
2390 \begin{verbatim} void remove_from_VCPUs_params (session_id s, VM ref self, string key)\end{verbatim}
2393 \noindent{\bf Arguments:}
2396 \vspace{0.3cm}
2397 \begin{tabular}{|c|c|p{7cm}|}
2398 \hline
2399 {\bf type} & {\bf name} & {\bf description} \\ \hline
2400 {\tt VM ref } & self & reference to the object \\ \hline
2402 {\tt string } & key & Key to remove \\ \hline
2404 \end{tabular}
2406 \vspace{0.3cm}
2408 \noindent {\bf Return Type:}
2409 {\tt
2410 void
2415 \vspace{0.3cm}
2416 \vspace{0.3cm}
2417 \vspace{0.3cm}
2418 \subsubsection{RPC name:~get\_VCPUs\_max}
2420 {\bf Overview:}
2421 Get the VCPUs/max field of the given VM.
2423 \noindent {\bf Signature:}
2424 \begin{verbatim} int get_VCPUs_max (session_id s, VM ref self)\end{verbatim}
2427 \noindent{\bf Arguments:}
2430 \vspace{0.3cm}
2431 \begin{tabular}{|c|c|p{7cm}|}
2432 \hline
2433 {\bf type} & {\bf name} & {\bf description} \\ \hline
2434 {\tt VM ref } & self & reference to the object \\ \hline
2436 \end{tabular}
2438 \vspace{0.3cm}
2440 \noindent {\bf Return Type:}
2441 {\tt
2442 int
2446 value of the field
2447 \vspace{0.3cm}
2448 \vspace{0.3cm}
2449 \vspace{0.3cm}
2450 \subsubsection{RPC name:~set\_VCPUs\_max}
2452 {\bf Overview:}
2453 Set the VCPUs/max field of the given VM.
2455 \noindent {\bf Signature:}
2456 \begin{verbatim} void set_VCPUs_max (session_id s, VM ref self, int value)\end{verbatim}
2459 \noindent{\bf Arguments:}
2462 \vspace{0.3cm}
2463 \begin{tabular}{|c|c|p{7cm}|}
2464 \hline
2465 {\bf type} & {\bf name} & {\bf description} \\ \hline
2466 {\tt VM ref } & self & reference to the object \\ \hline
2468 {\tt int } & value & New value to set \\ \hline
2470 \end{tabular}
2472 \vspace{0.3cm}
2474 \noindent {\bf Return Type:}
2475 {\tt
2476 void
2481 \vspace{0.3cm}
2482 \vspace{0.3cm}
2483 \vspace{0.3cm}
2484 \subsubsection{RPC name:~get\_VCPUs\_at\_startup}
2486 {\bf Overview:}
2487 Get the VCPUs/at\_startup field of the given VM.
2489 \noindent {\bf Signature:}
2490 \begin{verbatim} int get_VCPUs_at_startup (session_id s, VM ref self)\end{verbatim}
2493 \noindent{\bf Arguments:}
2496 \vspace{0.3cm}
2497 \begin{tabular}{|c|c|p{7cm}|}
2498 \hline
2499 {\bf type} & {\bf name} & {\bf description} \\ \hline
2500 {\tt VM ref } & self & reference to the object \\ \hline
2502 \end{tabular}
2504 \vspace{0.3cm}
2506 \noindent {\bf Return Type:}
2507 {\tt
2508 int
2512 value of the field
2513 \vspace{0.3cm}
2514 \vspace{0.3cm}
2515 \vspace{0.3cm}
2516 \subsubsection{RPC name:~set\_VCPUs\_at\_startup}
2518 {\bf Overview:}
2519 Set the VCPUs/at\_startup field of the given VM.
2521 \noindent {\bf Signature:}
2522 \begin{verbatim} void set_VCPUs_at_startup (session_id s, VM ref self, int value)\end{verbatim}
2525 \noindent{\bf Arguments:}
2528 \vspace{0.3cm}
2529 \begin{tabular}{|c|c|p{7cm}|}
2530 \hline
2531 {\bf type} & {\bf name} & {\bf description} \\ \hline
2532 {\tt VM ref } & self & reference to the object \\ \hline
2534 {\tt int } & value & New value to set \\ \hline
2536 \end{tabular}
2538 \vspace{0.3cm}
2540 \noindent {\bf Return Type:}
2541 {\tt
2542 void
2547 \vspace{0.3cm}
2548 \vspace{0.3cm}
2549 \vspace{0.3cm}
2550 \subsubsection{RPC name:~get\_actions\_after\_shutdown}
2552 {\bf Overview:}
2553 Get the actions/after\_shutdown field of the given VM.
2555 \noindent {\bf Signature:}
2556 \begin{verbatim} (on_normal_exit) get_actions_after_shutdown (session_id s, VM ref self)\end{verbatim}
2559 \noindent{\bf Arguments:}
2562 \vspace{0.3cm}
2563 \begin{tabular}{|c|c|p{7cm}|}
2564 \hline
2565 {\bf type} & {\bf name} & {\bf description} \\ \hline
2566 {\tt VM ref } & self & reference to the object \\ \hline
2568 \end{tabular}
2570 \vspace{0.3cm}
2572 \noindent {\bf Return Type:}
2573 {\tt
2574 on\_normal\_exit
2578 value of the field
2579 \vspace{0.3cm}
2580 \vspace{0.3cm}
2581 \vspace{0.3cm}
2582 \subsubsection{RPC name:~set\_actions\_after\_shutdown}
2584 {\bf Overview:}
2585 Set the actions/after\_shutdown field of the given VM.
2587 \noindent {\bf Signature:}
2588 \begin{verbatim} void set_actions_after_shutdown (session_id s, VM ref self, on_normal_exit value)\end{verbatim}
2591 \noindent{\bf Arguments:}
2594 \vspace{0.3cm}
2595 \begin{tabular}{|c|c|p{7cm}|}
2596 \hline
2597 {\bf type} & {\bf name} & {\bf description} \\ \hline
2598 {\tt VM ref } & self & reference to the object \\ \hline
2600 {\tt on\_normal\_exit } & value & New value to set \\ \hline
2602 \end{tabular}
2604 \vspace{0.3cm}
2606 \noindent {\bf Return Type:}
2607 {\tt
2608 void
2613 \vspace{0.3cm}
2614 \vspace{0.3cm}
2615 \vspace{0.3cm}
2616 \subsubsection{RPC name:~get\_actions\_after\_reboot}
2618 {\bf Overview:}
2619 Get the actions/after\_reboot field of the given VM.
2621 \noindent {\bf Signature:}
2622 \begin{verbatim} (on_normal_exit) get_actions_after_reboot (session_id s, VM ref self)\end{verbatim}
2625 \noindent{\bf Arguments:}
2628 \vspace{0.3cm}
2629 \begin{tabular}{|c|c|p{7cm}|}
2630 \hline
2631 {\bf type} & {\bf name} & {\bf description} \\ \hline
2632 {\tt VM ref } & self & reference to the object \\ \hline
2634 \end{tabular}
2636 \vspace{0.3cm}
2638 \noindent {\bf Return Type:}
2639 {\tt
2640 on\_normal\_exit
2644 value of the field
2645 \vspace{0.3cm}
2646 \vspace{0.3cm}
2647 \vspace{0.3cm}
2648 \subsubsection{RPC name:~set\_actions\_after\_reboot}
2650 {\bf Overview:}
2651 Set the actions/after\_reboot field of the given VM.
2653 \noindent {\bf Signature:}
2654 \begin{verbatim} void set_actions_after_reboot (session_id s, VM ref self, on_normal_exit value)\end{verbatim}
2657 \noindent{\bf Arguments:}
2660 \vspace{0.3cm}
2661 \begin{tabular}{|c|c|p{7cm}|}
2662 \hline
2663 {\bf type} & {\bf name} & {\bf description} \\ \hline
2664 {\tt VM ref } & self & reference to the object \\ \hline
2666 {\tt on\_normal\_exit } & value & New value to set \\ \hline
2668 \end{tabular}
2670 \vspace{0.3cm}
2672 \noindent {\bf Return Type:}
2673 {\tt
2674 void
2679 \vspace{0.3cm}
2680 \vspace{0.3cm}
2681 \vspace{0.3cm}
2682 \subsubsection{RPC name:~get\_actions\_after\_crash}
2684 {\bf Overview:}
2685 Get the actions/after\_crash field of the given VM.
2687 \noindent {\bf Signature:}
2688 \begin{verbatim} (on_crash_behaviour) get_actions_after_crash (session_id s, VM ref self)\end{verbatim}
2691 \noindent{\bf Arguments:}
2694 \vspace{0.3cm}
2695 \begin{tabular}{|c|c|p{7cm}|}
2696 \hline
2697 {\bf type} & {\bf name} & {\bf description} \\ \hline
2698 {\tt VM ref } & self & reference to the object \\ \hline
2700 \end{tabular}
2702 \vspace{0.3cm}
2704 \noindent {\bf Return Type:}
2705 {\tt
2706 on\_crash\_behaviour
2710 value of the field
2711 \vspace{0.3cm}
2712 \vspace{0.3cm}
2713 \vspace{0.3cm}
2714 \subsubsection{RPC name:~set\_actions\_after\_crash}
2716 {\bf Overview:}
2717 Set the actions/after\_crash field of the given VM.
2719 \noindent {\bf Signature:}
2720 \begin{verbatim} void set_actions_after_crash (session_id s, VM ref self, on_crash_behaviour value)\end{verbatim}
2723 \noindent{\bf Arguments:}
2726 \vspace{0.3cm}
2727 \begin{tabular}{|c|c|p{7cm}|}
2728 \hline
2729 {\bf type} & {\bf name} & {\bf description} \\ \hline
2730 {\tt VM ref } & self & reference to the object \\ \hline
2732 {\tt on\_crash\_behaviour } & value & New value to set \\ \hline
2734 \end{tabular}
2736 \vspace{0.3cm}
2738 \noindent {\bf Return Type:}
2739 {\tt
2740 void
2745 \vspace{0.3cm}
2746 \vspace{0.3cm}
2747 \vspace{0.3cm}
2748 \subsubsection{RPC name:~get\_consoles}
2750 {\bf Overview:}
2751 Get the consoles field of the given VM.
2753 \noindent {\bf Signature:}
2754 \begin{verbatim} ((console ref) Set) get_consoles (session_id s, VM ref self)\end{verbatim}
2757 \noindent{\bf Arguments:}
2760 \vspace{0.3cm}
2761 \begin{tabular}{|c|c|p{7cm}|}
2762 \hline
2763 {\bf type} & {\bf name} & {\bf description} \\ \hline
2764 {\tt VM ref } & self & reference to the object \\ \hline
2766 \end{tabular}
2768 \vspace{0.3cm}
2770 \noindent {\bf Return Type:}
2771 {\tt
2772 (console ref) Set
2776 value of the field
2777 \vspace{0.3cm}
2778 \vspace{0.3cm}
2779 \vspace{0.3cm}
2780 \subsubsection{RPC name:~get\_VIFs}
2782 {\bf Overview:}
2783 Get the VIFs field of the given VM.
2785 \noindent {\bf Signature:}
2786 \begin{verbatim} ((VIF ref) Set) get_VIFs (session_id s, VM ref self)\end{verbatim}
2789 \noindent{\bf Arguments:}
2792 \vspace{0.3cm}
2793 \begin{tabular}{|c|c|p{7cm}|}
2794 \hline
2795 {\bf type} & {\bf name} & {\bf description} \\ \hline
2796 {\tt VM ref } & self & reference to the object \\ \hline
2798 \end{tabular}
2800 \vspace{0.3cm}
2802 \noindent {\bf Return Type:}
2803 {\tt
2804 (VIF ref) Set
2808 value of the field
2809 \vspace{0.3cm}
2810 \vspace{0.3cm}
2811 \vspace{0.3cm}
2812 \subsubsection{RPC name:~get\_VBDs}
2814 {\bf Overview:}
2815 Get the VBDs field of the given VM.
2817 \noindent {\bf Signature:}
2818 \begin{verbatim} ((VBD ref) Set) get_VBDs (session_id s, VM ref self)\end{verbatim}
2821 \noindent{\bf Arguments:}
2824 \vspace{0.3cm}
2825 \begin{tabular}{|c|c|p{7cm}|}
2826 \hline
2827 {\bf type} & {\bf name} & {\bf description} \\ \hline
2828 {\tt VM ref } & self & reference to the object \\ \hline
2830 \end{tabular}
2832 \vspace{0.3cm}
2834 \noindent {\bf Return Type:}
2835 {\tt
2836 (VBD ref) Set
2840 value of the field
2841 \vspace{0.3cm}
2842 \vspace{0.3cm}
2843 \vspace{0.3cm}
2844 \subsubsection{RPC name:~get\_crash\_dumps}
2846 {\bf Overview:}
2847 Get the crash\_dumps field of the given VM.
2849 \noindent {\bf Signature:}
2850 \begin{verbatim} ((crashdump ref) Set) get_crash_dumps (session_id s, VM ref self)\end{verbatim}
2853 \noindent{\bf Arguments:}
2856 \vspace{0.3cm}
2857 \begin{tabular}{|c|c|p{7cm}|}
2858 \hline
2859 {\bf type} & {\bf name} & {\bf description} \\ \hline
2860 {\tt VM ref } & self & reference to the object \\ \hline
2862 \end{tabular}
2864 \vspace{0.3cm}
2866 \noindent {\bf Return Type:}
2867 {\tt
2868 (crashdump ref) Set
2872 value of the field
2873 \vspace{0.3cm}
2874 \vspace{0.3cm}
2875 \vspace{0.3cm}
2876 \subsubsection{RPC name:~get\_VTPMs}
2878 {\bf Overview:}
2879 Get the VTPMs field of the given VM.
2881 \noindent {\bf Signature:}
2882 \begin{verbatim} ((VTPM ref) Set) get_VTPMs (session_id s, VM ref self)\end{verbatim}
2885 \noindent{\bf Arguments:}
2888 \vspace{0.3cm}
2889 \begin{tabular}{|c|c|p{7cm}|}
2890 \hline
2891 {\bf type} & {\bf name} & {\bf description} \\ \hline
2892 {\tt VM ref } & self & reference to the object \\ \hline
2894 \end{tabular}
2896 \vspace{0.3cm}
2898 \noindent {\bf Return Type:}
2899 {\tt
2900 (VTPM ref) Set
2904 value of the field
2905 \vspace{0.3cm}
2906 \vspace{0.3cm}
2907 \vspace{0.3cm}
2908 \subsubsection{RPC name:~get\_PV\_bootloader}
2910 {\bf Overview:}
2911 Get the PV/bootloader field of the given VM.
2913 \noindent {\bf Signature:}
2914 \begin{verbatim} string get_PV_bootloader (session_id s, VM ref self)\end{verbatim}
2917 \noindent{\bf Arguments:}
2920 \vspace{0.3cm}
2921 \begin{tabular}{|c|c|p{7cm}|}
2922 \hline
2923 {\bf type} & {\bf name} & {\bf description} \\ \hline
2924 {\tt VM ref } & self & reference to the object \\ \hline
2926 \end{tabular}
2928 \vspace{0.3cm}
2930 \noindent {\bf Return Type:}
2931 {\tt
2932 string
2936 value of the field
2937 \vspace{0.3cm}
2938 \vspace{0.3cm}
2939 \vspace{0.3cm}
2940 \subsubsection{RPC name:~set\_PV\_bootloader}
2942 {\bf Overview:}
2943 Set the PV/bootloader field of the given VM.
2945 \noindent {\bf Signature:}
2946 \begin{verbatim} void set_PV_bootloader (session_id s, VM ref self, string value)\end{verbatim}
2949 \noindent{\bf Arguments:}
2952 \vspace{0.3cm}
2953 \begin{tabular}{|c|c|p{7cm}|}
2954 \hline
2955 {\bf type} & {\bf name} & {\bf description} \\ \hline
2956 {\tt VM ref } & self & reference to the object \\ \hline
2958 {\tt string } & value & New value to set \\ \hline
2960 \end{tabular}
2962 \vspace{0.3cm}
2964 \noindent {\bf Return Type:}
2965 {\tt
2966 void
2971 \vspace{0.3cm}
2972 \vspace{0.3cm}
2973 \vspace{0.3cm}
2974 \subsubsection{RPC name:~get\_PV\_kernel}
2976 {\bf Overview:}
2977 Get the PV/kernel field of the given VM.
2979 \noindent {\bf Signature:}
2980 \begin{verbatim} string get_PV_kernel (session_id s, VM ref self)\end{verbatim}
2983 \noindent{\bf Arguments:}
2986 \vspace{0.3cm}
2987 \begin{tabular}{|c|c|p{7cm}|}
2988 \hline
2989 {\bf type} & {\bf name} & {\bf description} \\ \hline
2990 {\tt VM ref } & self & reference to the object \\ \hline
2992 \end{tabular}
2994 \vspace{0.3cm}
2996 \noindent {\bf Return Type:}
2997 {\tt
2998 string
3002 value of the field
3003 \vspace{0.3cm}
3004 \vspace{0.3cm}
3005 \vspace{0.3cm}
3006 \subsubsection{RPC name:~set\_PV\_kernel}
3008 {\bf Overview:}
3009 Set the PV/kernel field of the given VM.
3011 \noindent {\bf Signature:}
3012 \begin{verbatim} void set_PV_kernel (session_id s, VM ref self, string value)\end{verbatim}
3015 \noindent{\bf Arguments:}
3018 \vspace{0.3cm}
3019 \begin{tabular}{|c|c|p{7cm}|}
3020 \hline
3021 {\bf type} & {\bf name} & {\bf description} \\ \hline
3022 {\tt VM ref } & self & reference to the object \\ \hline
3024 {\tt string } & value & New value to set \\ \hline
3026 \end{tabular}
3028 \vspace{0.3cm}
3030 \noindent {\bf Return Type:}
3031 {\tt
3032 void
3037 \vspace{0.3cm}
3038 \vspace{0.3cm}
3039 \vspace{0.3cm}
3040 \subsubsection{RPC name:~get\_PV\_ramdisk}
3042 {\bf Overview:}
3043 Get the PV/ramdisk field of the given VM.
3045 \noindent {\bf Signature:}
3046 \begin{verbatim} string get_PV_ramdisk (session_id s, VM ref self)\end{verbatim}
3049 \noindent{\bf Arguments:}
3052 \vspace{0.3cm}
3053 \begin{tabular}{|c|c|p{7cm}|}
3054 \hline
3055 {\bf type} & {\bf name} & {\bf description} \\ \hline
3056 {\tt VM ref } & self & reference to the object \\ \hline
3058 \end{tabular}
3060 \vspace{0.3cm}
3062 \noindent {\bf Return Type:}
3063 {\tt
3064 string
3068 value of the field
3069 \vspace{0.3cm}
3070 \vspace{0.3cm}
3071 \vspace{0.3cm}
3072 \subsubsection{RPC name:~set\_PV\_ramdisk}
3074 {\bf Overview:}
3075 Set the PV/ramdisk field of the given VM.
3077 \noindent {\bf Signature:}
3078 \begin{verbatim} void set_PV_ramdisk (session_id s, VM ref self, string value)\end{verbatim}
3081 \noindent{\bf Arguments:}
3084 \vspace{0.3cm}
3085 \begin{tabular}{|c|c|p{7cm}|}
3086 \hline
3087 {\bf type} & {\bf name} & {\bf description} \\ \hline
3088 {\tt VM ref } & self & reference to the object \\ \hline
3090 {\tt string } & value & New value to set \\ \hline
3092 \end{tabular}
3094 \vspace{0.3cm}
3096 \noindent {\bf Return Type:}
3097 {\tt
3098 void
3103 \vspace{0.3cm}
3104 \vspace{0.3cm}
3105 \vspace{0.3cm}
3106 \subsubsection{RPC name:~get\_PV\_args}
3108 {\bf Overview:}
3109 Get the PV/args field of the given VM.
3111 \noindent {\bf Signature:}
3112 \begin{verbatim} string get_PV_args (session_id s, VM ref self)\end{verbatim}
3115 \noindent{\bf Arguments:}
3118 \vspace{0.3cm}
3119 \begin{tabular}{|c|c|p{7cm}|}
3120 \hline
3121 {\bf type} & {\bf name} & {\bf description} \\ \hline
3122 {\tt VM ref } & self & reference to the object \\ \hline
3124 \end{tabular}
3126 \vspace{0.3cm}
3128 \noindent {\bf Return Type:}
3129 {\tt
3130 string
3134 value of the field
3135 \vspace{0.3cm}
3136 \vspace{0.3cm}
3137 \vspace{0.3cm}
3138 \subsubsection{RPC name:~set\_PV\_args}
3140 {\bf Overview:}
3141 Set the PV/args field of the given VM.
3143 \noindent {\bf Signature:}
3144 \begin{verbatim} void set_PV_args (session_id s, VM ref self, string value)\end{verbatim}
3147 \noindent{\bf Arguments:}
3150 \vspace{0.3cm}
3151 \begin{tabular}{|c|c|p{7cm}|}
3152 \hline
3153 {\bf type} & {\bf name} & {\bf description} \\ \hline
3154 {\tt VM ref } & self & reference to the object \\ \hline
3156 {\tt string } & value & New value to set \\ \hline
3158 \end{tabular}
3160 \vspace{0.3cm}
3162 \noindent {\bf Return Type:}
3163 {\tt
3164 void
3169 \vspace{0.3cm}
3170 \vspace{0.3cm}
3171 \vspace{0.3cm}
3172 \subsubsection{RPC name:~get\_PV\_bootloader\_args}
3174 {\bf Overview:}
3175 Get the PV/bootloader\_args field of the given VM.
3177 \noindent {\bf Signature:}
3178 \begin{verbatim} string get_PV_bootloader_args (session_id s, VM ref self)\end{verbatim}
3181 \noindent{\bf Arguments:}
3184 \vspace{0.3cm}
3185 \begin{tabular}{|c|c|p{7cm}|}
3186 \hline
3187 {\bf type} & {\bf name} & {\bf description} \\ \hline
3188 {\tt VM ref } & self & reference to the object \\ \hline
3190 \end{tabular}
3192 \vspace{0.3cm}
3194 \noindent {\bf Return Type:}
3195 {\tt
3196 string
3200 value of the field
3201 \vspace{0.3cm}
3202 \vspace{0.3cm}
3203 \vspace{0.3cm}
3204 \subsubsection{RPC name:~set\_PV\_bootloader\_args}
3206 {\bf Overview:}
3207 Set the PV/bootloader\_args field of the given VM.
3209 \noindent {\bf Signature:}
3210 \begin{verbatim} void set_PV_bootloader_args (session_id s, VM ref self, string value)\end{verbatim}
3213 \noindent{\bf Arguments:}
3216 \vspace{0.3cm}
3217 \begin{tabular}{|c|c|p{7cm}|}
3218 \hline
3219 {\bf type} & {\bf name} & {\bf description} \\ \hline
3220 {\tt VM ref } & self & reference to the object \\ \hline
3222 {\tt string } & value & New value to set \\ \hline
3224 \end{tabular}
3226 \vspace{0.3cm}
3228 \noindent {\bf Return Type:}
3229 {\tt
3230 void
3235 \vspace{0.3cm}
3236 \vspace{0.3cm}
3237 \vspace{0.3cm}
3238 \subsubsection{RPC name:~get\_HVM\_boot\_policy}
3240 {\bf Overview:}
3241 Get the HVM/boot\_policy field of the given VM.
3243 \noindent {\bf Signature:}
3244 \begin{verbatim} string get_HVM_boot_policy (session_id s, VM ref self)\end{verbatim}
3247 \noindent{\bf Arguments:}
3250 \vspace{0.3cm}
3251 \begin{tabular}{|c|c|p{7cm}|}
3252 \hline
3253 {\bf type} & {\bf name} & {\bf description} \\ \hline
3254 {\tt VM ref } & self & reference to the object \\ \hline
3256 \end{tabular}
3258 \vspace{0.3cm}
3260 \noindent {\bf Return Type:}
3261 {\tt
3262 string
3266 value of the field
3267 \vspace{0.3cm}
3268 \vspace{0.3cm}
3269 \vspace{0.3cm}
3270 \subsubsection{RPC name:~set\_HVM\_boot\_policy}
3272 {\bf Overview:}
3273 Set the HVM/boot\_policy field of the given VM.
3275 \noindent {\bf Signature:}
3276 \begin{verbatim} void set_HVM_boot_policy (session_id s, VM ref self, string value)\end{verbatim}
3279 \noindent{\bf Arguments:}
3282 \vspace{0.3cm}
3283 \begin{tabular}{|c|c|p{7cm}|}
3284 \hline
3285 {\bf type} & {\bf name} & {\bf description} \\ \hline
3286 {\tt VM ref } & self & reference to the object \\ \hline
3288 {\tt string } & value & New value to set \\ \hline
3290 \end{tabular}
3292 \vspace{0.3cm}
3294 \noindent {\bf Return Type:}
3295 {\tt
3296 void
3301 \vspace{0.3cm}
3302 \vspace{0.3cm}
3303 \vspace{0.3cm}
3304 \subsubsection{RPC name:~get\_HVM\_boot\_params}
3306 {\bf Overview:}
3307 Get the HVM/boot\_params field of the given VM.
3309 \noindent {\bf Signature:}
3310 \begin{verbatim} ((string -> string) Map) get_HVM_boot_params (session_id s, VM ref self)\end{verbatim}
3313 \noindent{\bf Arguments:}
3316 \vspace{0.3cm}
3317 \begin{tabular}{|c|c|p{7cm}|}
3318 \hline
3319 {\bf type} & {\bf name} & {\bf description} \\ \hline
3320 {\tt VM ref } & self & reference to the object \\ \hline
3322 \end{tabular}
3324 \vspace{0.3cm}
3326 \noindent {\bf Return Type:}
3327 {\tt
3328 (string $\rightarrow$ string) Map
3332 value of the field
3333 \vspace{0.3cm}
3334 \vspace{0.3cm}
3335 \vspace{0.3cm}
3336 \subsubsection{RPC name:~set\_HVM\_boot\_params}
3338 {\bf Overview:}
3339 Set the HVM/boot\_params field of the given VM.
3341 \noindent {\bf Signature:}
3342 \begin{verbatim} void set_HVM_boot_params (session_id s, VM ref self, (string -> string) Map value)\end{verbatim}
3345 \noindent{\bf Arguments:}
3348 \vspace{0.3cm}
3349 \begin{tabular}{|c|c|p{7cm}|}
3350 \hline
3351 {\bf type} & {\bf name} & {\bf description} \\ \hline
3352 {\tt VM ref } & self & reference to the object \\ \hline
3354 {\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline
3356 \end{tabular}
3358 \vspace{0.3cm}
3360 \noindent {\bf Return Type:}
3361 {\tt
3362 void
3367 \vspace{0.3cm}
3368 \vspace{0.3cm}
3369 \vspace{0.3cm}
3370 \subsubsection{RPC name:~add\_to\_HVM\_boot\_params}
3372 {\bf Overview:}
3373 Add the given key-value pair to the HVM/boot\_params field of the given VM.
3375 \noindent {\bf Signature:}
3376 \begin{verbatim} void add_to_HVM_boot_params (session_id s, VM ref self, string key, string value)\end{verbatim}
3379 \noindent{\bf Arguments:}
3382 \vspace{0.3cm}
3383 \begin{tabular}{|c|c|p{7cm}|}
3384 \hline
3385 {\bf type} & {\bf name} & {\bf description} \\ \hline
3386 {\tt VM ref } & self & reference to the object \\ \hline
3388 {\tt string } & key & Key to add \\ \hline
3390 {\tt string } & value & Value to add \\ \hline
3392 \end{tabular}
3394 \vspace{0.3cm}
3396 \noindent {\bf Return Type:}
3397 {\tt
3398 void
3403 \vspace{0.3cm}
3404 \vspace{0.3cm}
3405 \vspace{0.3cm}
3406 \subsubsection{RPC name:~remove\_from\_HVM\_boot\_params}
3408 {\bf Overview:}
3409 Remove the given key and its corresponding value from the HVM/boot\_params
3410 field of the given VM. If the key is not in that Map, then do nothing.
3412 \noindent {\bf Signature:}
3413 \begin{verbatim} void remove_from_HVM_boot_params (session_id s, VM ref self, string key)\end{verbatim}
3416 \noindent{\bf Arguments:}
3419 \vspace{0.3cm}
3420 \begin{tabular}{|c|c|p{7cm}|}
3421 \hline
3422 {\bf type} & {\bf name} & {\bf description} \\ \hline
3423 {\tt VM ref } & self & reference to the object \\ \hline
3425 {\tt string } & key & Key to remove \\ \hline
3427 \end{tabular}
3429 \vspace{0.3cm}
3431 \noindent {\bf Return Type:}
3432 {\tt
3433 void
3438 \vspace{0.3cm}
3439 \vspace{0.3cm}
3440 \vspace{0.3cm}
3441 \subsubsection{RPC name:~get\_platform\_std\_VGA}
3443 {\bf Overview:}
3444 Get the platform/std\_VGA field of the given VM.
3446 \noindent {\bf Signature:}
3447 \begin{verbatim} bool get_platform_std_VGA (session_id s, VM ref self)\end{verbatim}
3450 \noindent{\bf Arguments:}
3453 \vspace{0.3cm}
3454 \begin{tabular}{|c|c|p{7cm}|}
3455 \hline
3456 {\bf type} & {\bf name} & {\bf description} \\ \hline
3457 {\tt VM ref } & self & reference to the object \\ \hline
3459 \end{tabular}
3461 \vspace{0.3cm}
3463 \noindent {\bf Return Type:}
3464 {\tt
3465 bool
3469 value of the field
3470 \vspace{0.3cm}
3471 \vspace{0.3cm}
3472 \vspace{0.3cm}
3473 \subsubsection{RPC name:~set\_platform\_std\_VGA}
3475 {\bf Overview:}
3476 Set the platform/std\_VGA field of the given VM.
3478 \noindent {\bf Signature:}
3479 \begin{verbatim} void set_platform_std_VGA (session_id s, VM ref self, bool value)\end{verbatim}
3482 \noindent{\bf Arguments:}
3485 \vspace{0.3cm}
3486 \begin{tabular}{|c|c|p{7cm}|}
3487 \hline
3488 {\bf type} & {\bf name} & {\bf description} \\ \hline
3489 {\tt VM ref } & self & reference to the object \\ \hline
3491 {\tt bool } & value & New value to set \\ \hline
3493 \end{tabular}
3495 \vspace{0.3cm}
3497 \noindent {\bf Return Type:}
3498 {\tt
3499 void
3504 \vspace{0.3cm}
3505 \vspace{0.3cm}
3506 \vspace{0.3cm}
3507 \subsubsection{RPC name:~get\_platform\_serial}
3509 {\bf Overview:}
3510 Get the platform/serial field of the given VM.
3512 \noindent {\bf Signature:}
3513 \begin{verbatim} string get_platform_serial (session_id s, VM ref self)\end{verbatim}
3516 \noindent{\bf Arguments:}
3519 \vspace{0.3cm}
3520 \begin{tabular}{|c|c|p{7cm}|}
3521 \hline
3522 {\bf type} & {\bf name} & {\bf description} \\ \hline
3523 {\tt VM ref } & self & reference to the object \\ \hline
3525 \end{tabular}
3527 \vspace{0.3cm}
3529 \noindent {\bf Return Type:}
3530 {\tt
3531 string
3535 value of the field
3536 \vspace{0.3cm}
3537 \vspace{0.3cm}
3538 \vspace{0.3cm}
3539 \subsubsection{RPC name:~set\_platform\_serial}
3541 {\bf Overview:}
3542 Set the platform/serial field of the given VM.
3544 \noindent {\bf Signature:}
3545 \begin{verbatim} void set_platform_serial (session_id s, VM ref self, string value)\end{verbatim}
3548 \noindent{\bf Arguments:}
3551 \vspace{0.3cm}
3552 \begin{tabular}{|c|c|p{7cm}|}
3553 \hline
3554 {\bf type} & {\bf name} & {\bf description} \\ \hline
3555 {\tt VM ref } & self & reference to the object \\ \hline
3557 {\tt string } & value & New value to set \\ \hline
3559 \end{tabular}
3561 \vspace{0.3cm}
3563 \noindent {\bf Return Type:}
3564 {\tt
3565 void
3570 \vspace{0.3cm}
3571 \vspace{0.3cm}
3572 \vspace{0.3cm}
3573 \subsubsection{RPC name:~get\_platform\_localtime}
3575 {\bf Overview:}
3576 Get the platform/localtime field of the given VM.
3578 \noindent {\bf Signature:}
3579 \begin{verbatim} bool get_platform_localtime (session_id s, VM ref self)\end{verbatim}
3582 \noindent{\bf Arguments:}
3585 \vspace{0.3cm}
3586 \begin{tabular}{|c|c|p{7cm}|}
3587 \hline
3588 {\bf type} & {\bf name} & {\bf description} \\ \hline
3589 {\tt VM ref } & self & reference to the object \\ \hline
3591 \end{tabular}
3593 \vspace{0.3cm}
3595 \noindent {\bf Return Type:}
3596 {\tt
3597 bool
3601 value of the field
3602 \vspace{0.3cm}
3603 \vspace{0.3cm}
3604 \vspace{0.3cm}
3605 \subsubsection{RPC name:~set\_platform\_localtime}
3607 {\bf Overview:}
3608 Set the platform/localtime field of the given VM.
3610 \noindent {\bf Signature:}
3611 \begin{verbatim} void set_platform_localtime (session_id s, VM ref self, bool value)\end{verbatim}
3614 \noindent{\bf Arguments:}
3617 \vspace{0.3cm}
3618 \begin{tabular}{|c|c|p{7cm}|}
3619 \hline
3620 {\bf type} & {\bf name} & {\bf description} \\ \hline
3621 {\tt VM ref } & self & reference to the object \\ \hline
3623 {\tt bool } & value & New value to set \\ \hline
3625 \end{tabular}
3627 \vspace{0.3cm}
3629 \noindent {\bf Return Type:}
3630 {\tt
3631 void
3636 \vspace{0.3cm}
3637 \vspace{0.3cm}
3638 \vspace{0.3cm}
3639 \subsubsection{RPC name:~get\_platform\_clock\_offset}
3641 {\bf Overview:}
3642 Get the platform/clock\_offset field of the given VM.
3644 \noindent {\bf Signature:}
3645 \begin{verbatim} bool get_platform_clock_offset (session_id s, VM ref self)\end{verbatim}
3648 \noindent{\bf Arguments:}
3651 \vspace{0.3cm}
3652 \begin{tabular}{|c|c|p{7cm}|}
3653 \hline
3654 {\bf type} & {\bf name} & {\bf description} \\ \hline
3655 {\tt VM ref } & self & reference to the object \\ \hline
3657 \end{tabular}
3659 \vspace{0.3cm}
3661 \noindent {\bf Return Type:}
3662 {\tt
3663 bool
3667 value of the field
3668 \vspace{0.3cm}
3669 \vspace{0.3cm}
3670 \vspace{0.3cm}
3671 \subsubsection{RPC name:~set\_platform\_clock\_offset}
3673 {\bf Overview:}
3674 Set the platform/clock\_offset field of the given VM.
3676 \noindent {\bf Signature:}
3677 \begin{verbatim} void set_platform_clock_offset (session_id s, VM ref self, bool value)\end{verbatim}
3680 \noindent{\bf Arguments:}
3683 \vspace{0.3cm}
3684 \begin{tabular}{|c|c|p{7cm}|}
3685 \hline
3686 {\bf type} & {\bf name} & {\bf description} \\ \hline
3687 {\tt VM ref } & self & reference to the object \\ \hline
3689 {\tt bool } & value & New value to set \\ \hline
3691 \end{tabular}
3693 \vspace{0.3cm}
3695 \noindent {\bf Return Type:}
3696 {\tt
3697 void
3702 \vspace{0.3cm}
3703 \vspace{0.3cm}
3704 \vspace{0.3cm}
3705 \subsubsection{RPC name:~get\_platform\_enable\_audio}
3707 {\bf Overview:}
3708 Get the platform/enable\_audio field of the given VM.
3710 \noindent {\bf Signature:}
3711 \begin{verbatim} bool get_platform_enable_audio (session_id s, VM ref self)\end{verbatim}
3714 \noindent{\bf Arguments:}
3717 \vspace{0.3cm}
3718 \begin{tabular}{|c|c|p{7cm}|}
3719 \hline
3720 {\bf type} & {\bf name} & {\bf description} \\ \hline
3721 {\tt VM ref } & self & reference to the object \\ \hline
3723 \end{tabular}
3725 \vspace{0.3cm}
3727 \noindent {\bf Return Type:}
3728 {\tt
3729 bool
3733 value of the field
3734 \vspace{0.3cm}
3735 \vspace{0.3cm}
3736 \vspace{0.3cm}
3737 \subsubsection{RPC name:~set\_platform\_enable\_audio}
3739 {\bf Overview:}
3740 Set the platform/enable\_audio field of the given VM.
3742 \noindent {\bf Signature:}
3743 \begin{verbatim} void set_platform_enable_audio (session_id s, VM ref self, bool value)\end{verbatim}
3746 \noindent{\bf Arguments:}
3749 \vspace{0.3cm}
3750 \begin{tabular}{|c|c|p{7cm}|}
3751 \hline
3752 {\bf type} & {\bf name} & {\bf description} \\ \hline
3753 {\tt VM ref } & self & reference to the object \\ \hline
3755 {\tt bool } & value & New value to set \\ \hline
3757 \end{tabular}
3759 \vspace{0.3cm}
3761 \noindent {\bf Return Type:}
3762 {\tt
3763 void
3768 \vspace{0.3cm}
3769 \vspace{0.3cm}
3770 \vspace{0.3cm}
3771 \subsubsection{RPC name:~get\_PCI\_bus}
3773 {\bf Overview:}
3774 Get the PCI\_bus field of the given VM.
3776 \noindent {\bf Signature:}
3777 \begin{verbatim} string get_PCI_bus (session_id s, VM ref self)\end{verbatim}
3780 \noindent{\bf Arguments:}
3783 \vspace{0.3cm}
3784 \begin{tabular}{|c|c|p{7cm}|}
3785 \hline
3786 {\bf type} & {\bf name} & {\bf description} \\ \hline
3787 {\tt VM ref } & self & reference to the object \\ \hline
3789 \end{tabular}
3791 \vspace{0.3cm}
3793 \noindent {\bf Return Type:}
3794 {\tt
3795 string
3799 value of the field
3800 \vspace{0.3cm}
3801 \vspace{0.3cm}
3802 \vspace{0.3cm}
3803 \subsubsection{RPC name:~get\_other\_config}
3805 {\bf Overview:}
3806 Get the other\_config field of the given VM.
3808 \noindent {\bf Signature:}
3809 \begin{verbatim} ((string -> string) Map) get_other_config (session_id s, VM ref self)\end{verbatim}
3812 \noindent{\bf Arguments:}
3815 \vspace{0.3cm}
3816 \begin{tabular}{|c|c|p{7cm}|}
3817 \hline
3818 {\bf type} & {\bf name} & {\bf description} \\ \hline
3819 {\tt VM ref } & self & reference to the object \\ \hline
3821 \end{tabular}
3823 \vspace{0.3cm}
3825 \noindent {\bf Return Type:}
3826 {\tt
3827 (string $\rightarrow$ string) Map
3831 value of the field
3832 \vspace{0.3cm}
3833 \vspace{0.3cm}
3834 \vspace{0.3cm}
3835 \subsubsection{RPC name:~set\_other\_config}
3837 {\bf Overview:}
3838 Set the other\_config field of the given VM.
3840 \noindent {\bf Signature:}
3841 \begin{verbatim} void set_other_config (session_id s, VM ref self, (string -> string) Map value)\end{verbatim}
3844 \noindent{\bf Arguments:}
3847 \vspace{0.3cm}
3848 \begin{tabular}{|c|c|p{7cm}|}
3849 \hline
3850 {\bf type} & {\bf name} & {\bf description} \\ \hline
3851 {\tt VM ref } & self & reference to the object \\ \hline
3853 {\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline
3855 \end{tabular}
3857 \vspace{0.3cm}
3859 \noindent {\bf Return Type:}
3860 {\tt
3861 void
3866 \vspace{0.3cm}
3867 \vspace{0.3cm}
3868 \vspace{0.3cm}
3869 \subsubsection{RPC name:~add\_to\_other\_config}
3871 {\bf Overview:}
3872 Add the given key-value pair to the other\_config field of the given VM.
3874 \noindent {\bf Signature:}
3875 \begin{verbatim} void add_to_other_config (session_id s, VM ref self, string key, string value)\end{verbatim}
3878 \noindent{\bf Arguments:}
3881 \vspace{0.3cm}
3882 \begin{tabular}{|c|c|p{7cm}|}
3883 \hline
3884 {\bf type} & {\bf name} & {\bf description} \\ \hline
3885 {\tt VM ref } & self & reference to the object \\ \hline
3887 {\tt string } & key & Key to add \\ \hline
3889 {\tt string } & value & Value to add \\ \hline
3891 \end{tabular}
3893 \vspace{0.3cm}
3895 \noindent {\bf Return Type:}
3896 {\tt
3897 void
3902 \vspace{0.3cm}
3903 \vspace{0.3cm}
3904 \vspace{0.3cm}
3905 \subsubsection{RPC name:~remove\_from\_other\_config}
3907 {\bf Overview:}
3908 Remove the given key and its corresponding value from the other\_config
3909 field of the given VM. If the key is not in that Map, then do nothing.
3911 \noindent {\bf Signature:}
3912 \begin{verbatim} void remove_from_other_config (session_id s, VM ref self, string key)\end{verbatim}
3915 \noindent{\bf Arguments:}
3918 \vspace{0.3cm}
3919 \begin{tabular}{|c|c|p{7cm}|}
3920 \hline
3921 {\bf type} & {\bf name} & {\bf description} \\ \hline
3922 {\tt VM ref } & self & reference to the object \\ \hline
3924 {\tt string } & key & Key to remove \\ \hline
3926 \end{tabular}
3928 \vspace{0.3cm}
3930 \noindent {\bf Return Type:}
3931 {\tt
3932 void
3937 \vspace{0.3cm}
3938 \vspace{0.3cm}
3939 \vspace{0.3cm}
3940 \subsubsection{RPC name:~get\_domid}
3942 {\bf Overview:}
3943 Get the domid field of the given VM.
3945 \noindent {\bf Signature:}
3946 \begin{verbatim} int get_domid (session_id s, VM ref self)\end{verbatim}
3949 \noindent{\bf Arguments:}
3952 \vspace{0.3cm}
3953 \begin{tabular}{|c|c|p{7cm}|}
3954 \hline
3955 {\bf type} & {\bf name} & {\bf description} \\ \hline
3956 {\tt VM ref } & self & reference to the object \\ \hline
3958 \end{tabular}
3960 \vspace{0.3cm}
3962 \noindent {\bf Return Type:}
3963 {\tt
3964 int
3968 value of the field
3969 \vspace{0.3cm}
3970 \vspace{0.3cm}
3971 \vspace{0.3cm}
3972 \subsubsection{RPC name:~get\_is\_control\_domain}
3974 {\bf Overview:}
3975 Get the is\_control\_domain field of the given VM.
3977 \noindent {\bf Signature:}
3978 \begin{verbatim} bool get_is_control_domain (session_id s, VM ref self)\end{verbatim}
3981 \noindent{\bf Arguments:}
3984 \vspace{0.3cm}
3985 \begin{tabular}{|c|c|p{7cm}|}
3986 \hline
3987 {\bf type} & {\bf name} & {\bf description} \\ \hline
3988 {\tt VM ref } & self & reference to the object \\ \hline
3990 \end{tabular}
3992 \vspace{0.3cm}
3994 \noindent {\bf Return Type:}
3995 {\tt
3996 bool
4000 value of the field
4001 \vspace{0.3cm}
4002 \vspace{0.3cm}
4003 \vspace{0.3cm}
4004 \subsubsection{RPC name:~get\_metrics}
4006 {\bf Overview:}
4007 Get the metrics field of the given VM.
4009 \noindent {\bf Signature:}
4010 \begin{verbatim} (VM_metrics ref) get_metrics (session_id s, VM ref self)\end{verbatim}
4013 \noindent{\bf Arguments:}
4016 \vspace{0.3cm}
4017 \begin{tabular}{|c|c|p{7cm}|}
4018 \hline
4019 {\bf type} & {\bf name} & {\bf description} \\ \hline
4020 {\tt VM ref } & self & reference to the object \\ \hline
4022 \end{tabular}
4024 \vspace{0.3cm}
4026 \noindent {\bf Return Type:}
4027 {\tt
4028 VM\_metrics ref
4032 value of the field
4033 \vspace{0.3cm}
4034 \vspace{0.3cm}
4035 \vspace{0.3cm}
4036 \subsubsection{RPC name:~get\_guest\_metrics}
4038 {\bf Overview:}
4039 Get the guest\_metrics field of the given VM.
4041 \noindent {\bf Signature:}
4042 \begin{verbatim} (VM_guest_metrics ref) get_guest_metrics (session_id s, VM ref self)\end{verbatim}
4045 \noindent{\bf Arguments:}
4048 \vspace{0.3cm}
4049 \begin{tabular}{|c|c|p{7cm}|}
4050 \hline
4051 {\bf type} & {\bf name} & {\bf description} \\ \hline
4052 {\tt VM ref } & self & reference to the object \\ \hline
4054 \end{tabular}
4056 \vspace{0.3cm}
4058 \noindent {\bf Return Type:}
4059 {\tt
4060 VM\_guest\_metrics ref
4064 value of the field
4065 \vspace{0.3cm}
4066 \vspace{0.3cm}
4067 \vspace{0.3cm}
4068 \subsubsection{RPC name:~create}
4070 {\bf Overview:}
4071 Create a new VM instance, and return its handle.
4073 \noindent {\bf Signature:}
4074 \begin{verbatim} (VM ref) create (session_id s, VM record args)\end{verbatim}
4077 \noindent{\bf Arguments:}
4080 \vspace{0.3cm}
4081 \begin{tabular}{|c|c|p{7cm}|}
4082 \hline
4083 {\bf type} & {\bf name} & {\bf description} \\ \hline
4084 {\tt VM record } & args & All constructor arguments \\ \hline
4086 \end{tabular}
4088 \vspace{0.3cm}
4090 \noindent {\bf Return Type:}
4091 {\tt
4092 VM ref
4096 reference to the newly created object
4097 \vspace{0.3cm}
4098 \vspace{0.3cm}
4099 \vspace{0.3cm}
4100 \subsubsection{RPC name:~destroy}
4102 {\bf Overview:}
4103 Destroy the specified VM. The VM is completely removed from the system.
4104 This function can only be called when the VM is in the Halted State.
4106 \noindent {\bf Signature:}
4107 \begin{verbatim} void destroy (session_id s, VM ref self)\end{verbatim}
4110 \noindent{\bf Arguments:}
4113 \vspace{0.3cm}
4114 \begin{tabular}{|c|c|p{7cm}|}
4115 \hline
4116 {\bf type} & {\bf name} & {\bf description} \\ \hline
4117 {\tt VM ref } & self & reference to the object \\ \hline
4119 \end{tabular}
4121 \vspace{0.3cm}
4123 \noindent {\bf Return Type:}
4124 {\tt
4125 void
4130 \vspace{0.3cm}
4131 \vspace{0.3cm}
4132 \vspace{0.3cm}
4133 \subsubsection{RPC name:~get\_by\_uuid}
4135 {\bf Overview:}
4136 Get a reference to the VM instance with the specified UUID.
4138 \noindent {\bf Signature:}
4139 \begin{verbatim} (VM ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
4142 \noindent{\bf Arguments:}
4145 \vspace{0.3cm}
4146 \begin{tabular}{|c|c|p{7cm}|}
4147 \hline
4148 {\bf type} & {\bf name} & {\bf description} \\ \hline
4149 {\tt string } & uuid & UUID of object to return \\ \hline
4151 \end{tabular}
4153 \vspace{0.3cm}
4155 \noindent {\bf Return Type:}
4156 {\tt
4157 VM ref
4161 reference to the object
4162 \vspace{0.3cm}
4163 \vspace{0.3cm}
4164 \vspace{0.3cm}
4165 \subsubsection{RPC name:~get\_record}
4167 {\bf Overview:}
4168 Get a record containing the current state of the given VM.
4170 \noindent {\bf Signature:}
4171 \begin{verbatim} (VM record) get_record (session_id s, VM ref self)\end{verbatim}
4174 \noindent{\bf Arguments:}
4177 \vspace{0.3cm}
4178 \begin{tabular}{|c|c|p{7cm}|}
4179 \hline
4180 {\bf type} & {\bf name} & {\bf description} \\ \hline
4181 {\tt VM ref } & self & reference to the object \\ \hline
4183 \end{tabular}
4185 \vspace{0.3cm}
4187 \noindent {\bf Return Type:}
4188 {\tt
4189 VM record
4193 all fields from the object
4194 \vspace{0.3cm}
4195 \vspace{0.3cm}
4196 \vspace{0.3cm}
4197 \subsubsection{RPC name:~get\_by\_name\_label}
4199 {\bf Overview:}
4200 Get all the VM instances with the given label.
4202 \noindent {\bf Signature:}
4203 \begin{verbatim} ((VM ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
4206 \noindent{\bf Arguments:}
4209 \vspace{0.3cm}
4210 \begin{tabular}{|c|c|p{7cm}|}
4211 \hline
4212 {\bf type} & {\bf name} & {\bf description} \\ \hline
4213 {\tt string } & label & label of object to return \\ \hline
4215 \end{tabular}
4217 \vspace{0.3cm}
4219 \noindent {\bf Return Type:}
4220 {\tt
4221 (VM ref) Set
4225 references to objects with match names
4226 \vspace{0.3cm}
4227 \vspace{0.3cm}
4228 \vspace{0.3cm}
4230 \vspace{1cm}
4231 \newpage
4232 \section{Class: VM\_metrics}
4233 \subsection{Fields for class: VM\_metrics}
4234 \begin{longtable}{|lllp{0.38\textwidth}|}
4235 \hline
4236 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VM\_metrics} \\
4237 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em
4238 The metrics associated with a VM.}} \\
4239 \hline
4240 Quals & Field & Type & Description \\
4241 \hline
4242 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
4243 $\mathit{RO}_\mathit{run}$ & {\tt memory/actual} & int & Guest's actual memory (bytes) \\
4244 $\mathit{RO}_\mathit{run}$ & {\tt VCPUs/number} & int & Current number of VCPUs \\
4245 $\mathit{RO}_\mathit{run}$ & {\tt VCPUs/utilisation} & (int $\rightarrow$ float) Map & Utilisation for all of guest's current VCPUs \\
4246 \hline
4247 \end{longtable}
4248 \subsection{Additional RPCs associated with class: VM\_metrics}
4249 \subsubsection{RPC name:~get\_all}
4251 {\bf Overview:}
4252 Return a list of all the VM\_metrics instances known to the system.
4254 \noindent {\bf Signature:}
4255 \begin{verbatim} ((VM_metrics ref) Set) get_all (session_id s)\end{verbatim}
4258 \vspace{0.3cm}
4260 \noindent {\bf Return Type:}
4261 {\tt
4262 (VM\_metrics ref) Set
4266 references to all objects
4267 \vspace{0.3cm}
4268 \vspace{0.3cm}
4269 \vspace{0.3cm}
4270 \subsubsection{RPC name:~get\_uuid}
4272 {\bf Overview:}
4273 Get the uuid field of the given VM\_metrics.
4275 \noindent {\bf Signature:}
4276 \begin{verbatim} string get_uuid (session_id s, VM_metrics ref self)\end{verbatim}
4279 \noindent{\bf Arguments:}
4282 \vspace{0.3cm}
4283 \begin{tabular}{|c|c|p{7cm}|}
4284 \hline
4285 {\bf type} & {\bf name} & {\bf description} \\ \hline
4286 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
4288 \end{tabular}
4290 \vspace{0.3cm}
4292 \noindent {\bf Return Type:}
4293 {\tt
4294 string
4298 value of the field
4299 \vspace{0.3cm}
4300 \vspace{0.3cm}
4301 \vspace{0.3cm}
4302 \subsubsection{RPC name:~get\_memory\_actual}
4304 {\bf Overview:}
4305 Get the memory/actual field of the given VM\_metrics.
4307 \noindent {\bf Signature:}
4308 \begin{verbatim} int get_memory_actual (session_id s, VM_metrics ref self)\end{verbatim}
4311 \noindent{\bf Arguments:}
4314 \vspace{0.3cm}
4315 \begin{tabular}{|c|c|p{7cm}|}
4316 \hline
4317 {\bf type} & {\bf name} & {\bf description} \\ \hline
4318 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
4320 \end{tabular}
4322 \vspace{0.3cm}
4324 \noindent {\bf Return Type:}
4325 {\tt
4326 int
4330 value of the field
4331 \vspace{0.3cm}
4332 \vspace{0.3cm}
4333 \vspace{0.3cm}
4334 \subsubsection{RPC name:~get\_VCPUs\_number}
4336 {\bf Overview:}
4337 Get the VCPUs/number field of the given VM\_metrics.
4339 \noindent {\bf Signature:}
4340 \begin{verbatim} int get_VCPUs_number (session_id s, VM_metrics ref self)\end{verbatim}
4343 \noindent{\bf Arguments:}
4346 \vspace{0.3cm}
4347 \begin{tabular}{|c|c|p{7cm}|}
4348 \hline
4349 {\bf type} & {\bf name} & {\bf description} \\ \hline
4350 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
4352 \end{tabular}
4354 \vspace{0.3cm}
4356 \noindent {\bf Return Type:}
4357 {\tt
4358 int
4362 value of the field
4363 \vspace{0.3cm}
4364 \vspace{0.3cm}
4365 \vspace{0.3cm}
4366 \subsubsection{RPC name:~get\_VCPUs\_utilisation}
4368 {\bf Overview:}
4369 Get the VCPUs/utilisation field of the given VM\_metrics.
4371 \noindent {\bf Signature:}
4372 \begin{verbatim} ((int -> float) Map) get_VCPUs_utilisation (session_id s, VM_metrics ref self)\end{verbatim}
4375 \noindent{\bf Arguments:}
4378 \vspace{0.3cm}
4379 \begin{tabular}{|c|c|p{7cm}|}
4380 \hline
4381 {\bf type} & {\bf name} & {\bf description} \\ \hline
4382 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
4384 \end{tabular}
4386 \vspace{0.3cm}
4388 \noindent {\bf Return Type:}
4389 {\tt
4390 (int $\rightarrow$ float) Map
4394 value of the field
4395 \vspace{0.3cm}
4396 \vspace{0.3cm}
4397 \vspace{0.3cm}
4398 \subsubsection{RPC name:~get\_by\_uuid}
4400 {\bf Overview:}
4401 Get a reference to the VM\_metrics instance with the specified UUID.
4403 \noindent {\bf Signature:}
4404 \begin{verbatim} (VM_metrics ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
4407 \noindent{\bf Arguments:}
4410 \vspace{0.3cm}
4411 \begin{tabular}{|c|c|p{7cm}|}
4412 \hline
4413 {\bf type} & {\bf name} & {\bf description} \\ \hline
4414 {\tt string } & uuid & UUID of object to return \\ \hline
4416 \end{tabular}
4418 \vspace{0.3cm}
4420 \noindent {\bf Return Type:}
4421 {\tt
4422 VM\_metrics ref
4426 reference to the object
4427 \vspace{0.3cm}
4428 \vspace{0.3cm}
4429 \vspace{0.3cm}
4430 \subsubsection{RPC name:~get\_record}
4432 {\bf Overview:}
4433 Get a record containing the current state of the given VM\_metrics.
4435 \noindent {\bf Signature:}
4436 \begin{verbatim} (VM_metrics record) get_record (session_id s, VM_metrics ref self)\end{verbatim}
4439 \noindent{\bf Arguments:}
4442 \vspace{0.3cm}
4443 \begin{tabular}{|c|c|p{7cm}|}
4444 \hline
4445 {\bf type} & {\bf name} & {\bf description} \\ \hline
4446 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
4448 \end{tabular}
4450 \vspace{0.3cm}
4452 \noindent {\bf Return Type:}
4453 {\tt
4454 VM\_metrics record
4458 all fields from the object
4459 \vspace{0.3cm}
4460 \vspace{0.3cm}
4461 \vspace{0.3cm}
4463 \vspace{1cm}
4464 \newpage
4465 \section{Class: VM\_guest\_metrics}
4466 \subsection{Fields for class: VM\_guest\_metrics}
4467 \begin{longtable}{|lllp{0.38\textwidth}|}
4468 \hline
4469 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VM\_guest\_metrics} \\
4470 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em
4471 The metrics reported by the guest (as opposed to inferred from outside).}} \\
4472 \hline
4473 Quals & Field & Type & Description \\
4474 \hline
4475 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
4476 $\mathit{RO}_\mathit{run}$ & {\tt os\_version} & (string $\rightarrow$ string) Map & version of the OS \\
4477 $\mathit{RO}_\mathit{run}$ & {\tt PV\_drivers\_version} & (string $\rightarrow$ string) Map & version of the PV drivers \\
4478 $\mathit{RO}_\mathit{run}$ & {\tt memory} & (string $\rightarrow$ string) Map & free/used/total memory \\
4479 $\mathit{RO}_\mathit{run}$ & {\tt disks} & (string $\rightarrow$ string) Map & disk configuration/free space \\
4480 $\mathit{RO}_\mathit{run}$ & {\tt networks} & (string $\rightarrow$ string) Map & network configuration \\
4481 $\mathit{RO}_\mathit{run}$ & {\tt other} & (string $\rightarrow$ string) Map & anything else \\
4482 \hline
4483 \end{longtable}
4484 \subsection{Additional RPCs associated with class: VM\_guest\_metrics}
4485 \subsubsection{RPC name:~get\_all}
4487 {\bf Overview:}
4488 Return a list of all the VM\_guest\_metrics instances known to the system.
4490 \noindent {\bf Signature:}
4491 \begin{verbatim} ((VM_guest_metrics ref) Set) get_all (session_id s)\end{verbatim}
4494 \vspace{0.3cm}
4496 \noindent {\bf Return Type:}
4497 {\tt
4498 (VM\_guest\_metrics ref) Set
4502 references to all objects
4503 \vspace{0.3cm}
4504 \vspace{0.3cm}
4505 \vspace{0.3cm}
4506 \subsubsection{RPC name:~get\_uuid}
4508 {\bf Overview:}
4509 Get the uuid field of the given VM\_guest\_metrics.
4511 \noindent {\bf Signature:}
4512 \begin{verbatim} string get_uuid (session_id s, VM_guest_metrics ref self)\end{verbatim}
4515 \noindent{\bf Arguments:}
4518 \vspace{0.3cm}
4519 \begin{tabular}{|c|c|p{7cm}|}
4520 \hline
4521 {\bf type} & {\bf name} & {\bf description} \\ \hline
4522 {\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline
4524 \end{tabular}
4526 \vspace{0.3cm}
4528 \noindent {\bf Return Type:}
4529 {\tt
4530 string
4534 value of the field
4535 \vspace{0.3cm}
4536 \vspace{0.3cm}
4537 \vspace{0.3cm}
4538 \subsubsection{RPC name:~get\_os\_version}
4540 {\bf Overview:}
4541 Get the os\_version field of the given VM\_guest\_metrics.
4543 \noindent {\bf Signature:}
4544 \begin{verbatim} ((string -> string) Map) get_os_version (session_id s, VM_guest_metrics ref self)\end{verbatim}
4547 \noindent{\bf Arguments:}
4550 \vspace{0.3cm}
4551 \begin{tabular}{|c|c|p{7cm}|}
4552 \hline
4553 {\bf type} & {\bf name} & {\bf description} \\ \hline
4554 {\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline
4556 \end{tabular}
4558 \vspace{0.3cm}
4560 \noindent {\bf Return Type:}
4561 {\tt
4562 (string $\rightarrow$ string) Map
4566 value of the field
4567 \vspace{0.3cm}
4568 \vspace{0.3cm}
4569 \vspace{0.3cm}
4570 \subsubsection{RPC name:~get\_PV\_drivers\_version}
4572 {\bf Overview:}
4573 Get the PV\_drivers\_version field of the given VM\_guest\_metrics.
4575 \noindent {\bf Signature:}
4576 \begin{verbatim} ((string -> string) Map) get_PV_drivers_version (session_id s, VM_guest_metrics ref self)\end{verbatim}
4579 \noindent{\bf Arguments:}
4582 \vspace{0.3cm}
4583 \begin{tabular}{|c|c|p{7cm}|}
4584 \hline
4585 {\bf type} & {\bf name} & {\bf description} \\ \hline
4586 {\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline
4588 \end{tabular}
4590 \vspace{0.3cm}
4592 \noindent {\bf Return Type:}
4593 {\tt
4594 (string $\rightarrow$ string) Map
4598 value of the field
4599 \vspace{0.3cm}
4600 \vspace{0.3cm}
4601 \vspace{0.3cm}
4602 \subsubsection{RPC name:~get\_memory}
4604 {\bf Overview:}
4605 Get the memory field of the given VM\_guest\_metrics.
4607 \noindent {\bf Signature:}
4608 \begin{verbatim} ((string -> string) Map) get_memory (session_id s, VM_guest_metrics ref self)\end{verbatim}
4611 \noindent{\bf Arguments:}
4614 \vspace{0.3cm}
4615 \begin{tabular}{|c|c|p{7cm}|}
4616 \hline
4617 {\bf type} & {\bf name} & {\bf description} \\ \hline
4618 {\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline
4620 \end{tabular}
4622 \vspace{0.3cm}
4624 \noindent {\bf Return Type:}
4625 {\tt
4626 (string $\rightarrow$ string) Map
4630 value of the field
4631 \vspace{0.3cm}
4632 \vspace{0.3cm}
4633 \vspace{0.3cm}
4634 \subsubsection{RPC name:~get\_disks}
4636 {\bf Overview:}
4637 Get the disks field of the given VM\_guest\_metrics.
4639 \noindent {\bf Signature:}
4640 \begin{verbatim} ((string -> string) Map) get_disks (session_id s, VM_guest_metrics ref self)\end{verbatim}
4643 \noindent{\bf Arguments:}
4646 \vspace{0.3cm}
4647 \begin{tabular}{|c|c|p{7cm}|}
4648 \hline
4649 {\bf type} & {\bf name} & {\bf description} \\ \hline
4650 {\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline
4652 \end{tabular}
4654 \vspace{0.3cm}
4656 \noindent {\bf Return Type:}
4657 {\tt
4658 (string $\rightarrow$ string) Map
4662 value of the field
4663 \vspace{0.3cm}
4664 \vspace{0.3cm}
4665 \vspace{0.3cm}
4666 \subsubsection{RPC name:~get\_networks}
4668 {\bf Overview:}
4669 Get the networks field of the given VM\_guest\_metrics.
4671 \noindent {\bf Signature:}
4672 \begin{verbatim} ((string -> string) Map) get_networks (session_id s, VM_guest_metrics ref self)\end{verbatim}
4675 \noindent{\bf Arguments:}
4678 \vspace{0.3cm}
4679 \begin{tabular}{|c|c|p{7cm}|}
4680 \hline
4681 {\bf type} & {\bf name} & {\bf description} \\ \hline
4682 {\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline
4684 \end{tabular}
4686 \vspace{0.3cm}
4688 \noindent {\bf Return Type:}
4689 {\tt
4690 (string $\rightarrow$ string) Map
4694 value of the field
4695 \vspace{0.3cm}
4696 \vspace{0.3cm}
4697 \vspace{0.3cm}
4698 \subsubsection{RPC name:~get\_other}
4700 {\bf Overview:}
4701 Get the other field of the given VM\_guest\_metrics.
4703 \noindent {\bf Signature:}
4704 \begin{verbatim} ((string -> string) Map) get_other (session_id s, VM_guest_metrics ref self)\end{verbatim}
4707 \noindent{\bf Arguments:}
4710 \vspace{0.3cm}
4711 \begin{tabular}{|c|c|p{7cm}|}
4712 \hline
4713 {\bf type} & {\bf name} & {\bf description} \\ \hline
4714 {\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline
4716 \end{tabular}
4718 \vspace{0.3cm}
4720 \noindent {\bf Return Type:}
4721 {\tt
4722 (string $\rightarrow$ string) Map
4726 value of the field
4727 \vspace{0.3cm}
4728 \vspace{0.3cm}
4729 \vspace{0.3cm}
4730 \subsubsection{RPC name:~get\_by\_uuid}
4732 {\bf Overview:}
4733 Get a reference to the VM\_guest\_metrics instance with the specified UUID.
4735 \noindent {\bf Signature:}
4736 \begin{verbatim} (VM_guest_metrics ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
4739 \noindent{\bf Arguments:}
4742 \vspace{0.3cm}
4743 \begin{tabular}{|c|c|p{7cm}|}
4744 \hline
4745 {\bf type} & {\bf name} & {\bf description} \\ \hline
4746 {\tt string } & uuid & UUID of object to return \\ \hline
4748 \end{tabular}
4750 \vspace{0.3cm}
4752 \noindent {\bf Return Type:}
4753 {\tt
4754 VM\_guest\_metrics ref
4758 reference to the object
4759 \vspace{0.3cm}
4760 \vspace{0.3cm}
4761 \vspace{0.3cm}
4762 \subsubsection{RPC name:~get\_record}
4764 {\bf Overview:}
4765 Get a record containing the current state of the given VM\_guest\_metrics.
4767 \noindent {\bf Signature:}
4768 \begin{verbatim} (VM_guest_metrics record) get_record (session_id s, VM_guest_metrics ref self)\end{verbatim}
4771 \noindent{\bf Arguments:}
4774 \vspace{0.3cm}
4775 \begin{tabular}{|c|c|p{7cm}|}
4776 \hline
4777 {\bf type} & {\bf name} & {\bf description} \\ \hline
4778 {\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline
4780 \end{tabular}
4782 \vspace{0.3cm}
4784 \noindent {\bf Return Type:}
4785 {\tt
4786 VM\_guest\_metrics record
4790 all fields from the object
4791 \vspace{0.3cm}
4792 \vspace{0.3cm}
4793 \vspace{0.3cm}
4795 \vspace{1cm}
4796 \newpage
4797 \section{Class: host}
4798 \subsection{Fields for class: host}
4799 \begin{longtable}{|lllp{0.38\textwidth}|}
4800 \hline
4801 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf host} \\
4802 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
4803 physical host.}} \\
4804 \hline
4805 Quals & Field & Type & Description \\
4806 \hline
4807 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
4808 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
4809 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
4810 $\mathit{RO}_\mathit{run}$ & {\tt API\_version/major} & int & major version number \\
4811 $\mathit{RO}_\mathit{run}$ & {\tt API\_version/minor} & int & minor version number \\
4812 $\mathit{RO}_\mathit{run}$ & {\tt API\_version/vendor} & string & identification of vendor \\
4813 $\mathit{RO}_\mathit{run}$ & {\tt API\_version/vendor\_implementation} & (string $\rightarrow$ string) Map & details of vendor implementation \\
4814 $\mathit{RO}_\mathit{run}$ & {\tt software\_version} & (string $\rightarrow$ string) Map & version strings \\
4815 $\mathit{RW}$ & {\tt other\_config} & (string $\rightarrow$ string) Map & additional configuration \\
4816 $\mathit{RO}_\mathit{run}$ & {\tt capabilities} & string Set & Xen capabilities \\
4817 $\mathit{RO}_\mathit{run}$ & {\tt supported\_bootloaders} & string Set & a list of the bootloaders installed on the machine \\
4818 $\mathit{RO}_\mathit{run}$ & {\tt resident\_VMs} & (VM ref) Set & list of VMs currently resident on host \\
4819 $\mathit{RW}$ & {\tt logging} & (string $\rightarrow$ string) Map & logging configuration \\
4820 $\mathit{RO}_\mathit{run}$ & {\tt PIFs} & (PIF ref) Set & physical network interfaces \\
4821 $\mathit{RW}$ & {\tt suspend\_image\_sr} & SR ref & The SR in which VDIs for suspend images are created \\
4822 $\mathit{RW}$ & {\tt crash\_dump\_sr} & SR ref & The SR in which VDIs for crash dumps are created \\
4823 $\mathit{RO}_\mathit{run}$ & {\tt PBDs} & (PBD ref) Set & physical blockdevices \\
4824 $\mathit{RO}_\mathit{run}$ & {\tt host\_CPUs} & (host\_cpu ref) Set & The physical CPUs on this host \\
4825 $\mathit{RO}_\mathit{ins}$ & {\tt metrics} & host\_metrics ref & metrics associated with this host. \\
4826 \hline
4827 \end{longtable}
4828 \subsection{Additional RPCs associated with class: host}
4829 \subsubsection{RPC name:~disable}
4831 {\bf Overview:}
4832 Puts the host into a state in which no new VMs can be started. Currently
4833 active VMs on the host continue to execute.
4835 \noindent {\bf Signature:}
4836 \begin{verbatim} void disable (session_id s, host ref host)\end{verbatim}
4839 \noindent{\bf Arguments:}
4842 \vspace{0.3cm}
4843 \begin{tabular}{|c|c|p{7cm}|}
4844 \hline
4845 {\bf type} & {\bf name} & {\bf description} \\ \hline
4846 {\tt host ref } & host & The Host to disable \\ \hline
4848 \end{tabular}
4850 \vspace{0.3cm}
4852 \noindent {\bf Return Type:}
4853 {\tt
4854 void
4859 \vspace{0.3cm}
4860 \vspace{0.3cm}
4861 \vspace{0.3cm}
4862 \subsubsection{RPC name:~enable}
4864 {\bf Overview:}
4865 Puts the host into a state in which new VMs can be started.
4867 \noindent {\bf Signature:}
4868 \begin{verbatim} void enable (session_id s, host ref host)\end{verbatim}
4871 \noindent{\bf Arguments:}
4874 \vspace{0.3cm}
4875 \begin{tabular}{|c|c|p{7cm}|}
4876 \hline
4877 {\bf type} & {\bf name} & {\bf description} \\ \hline
4878 {\tt host ref } & host & The Host to enable \\ \hline
4880 \end{tabular}
4882 \vspace{0.3cm}
4884 \noindent {\bf Return Type:}
4885 {\tt
4886 void
4891 \vspace{0.3cm}
4892 \vspace{0.3cm}
4893 \vspace{0.3cm}
4894 \subsubsection{RPC name:~shutdown}
4896 {\bf Overview:}
4897 Shutdown the host. (This function can only be called if there are no
4898 currently running VMs on the host and it is disabled.).
4900 \noindent {\bf Signature:}
4901 \begin{verbatim} void shutdown (session_id s, host ref host)\end{verbatim}
4904 \noindent{\bf Arguments:}
4907 \vspace{0.3cm}
4908 \begin{tabular}{|c|c|p{7cm}|}
4909 \hline
4910 {\bf type} & {\bf name} & {\bf description} \\ \hline
4911 {\tt host ref } & host & The Host to shutdown \\ \hline
4913 \end{tabular}
4915 \vspace{0.3cm}
4917 \noindent {\bf Return Type:}
4918 {\tt
4919 void
4924 \vspace{0.3cm}
4925 \vspace{0.3cm}
4926 \vspace{0.3cm}
4927 \subsubsection{RPC name:~reboot}
4929 {\bf Overview:}
4930 Reboot the host. (This function can only be called if there are no
4931 currently running VMs on the host and it is disabled.).
4933 \noindent {\bf Signature:}
4934 \begin{verbatim} void reboot (session_id s, host ref host)\end{verbatim}
4937 \noindent{\bf Arguments:}
4940 \vspace{0.3cm}
4941 \begin{tabular}{|c|c|p{7cm}|}
4942 \hline
4943 {\bf type} & {\bf name} & {\bf description} \\ \hline
4944 {\tt host ref } & host & The Host to reboot \\ \hline
4946 \end{tabular}
4948 \vspace{0.3cm}
4950 \noindent {\bf Return Type:}
4951 {\tt
4952 void
4957 \vspace{0.3cm}
4958 \vspace{0.3cm}
4959 \vspace{0.3cm}
4960 \subsubsection{RPC name:~dmesg}
4962 {\bf Overview:}
4963 Get the host xen dmesg.
4965 \noindent {\bf Signature:}
4966 \begin{verbatim} string dmesg (session_id s, host ref host)\end{verbatim}
4969 \noindent{\bf Arguments:}
4972 \vspace{0.3cm}
4973 \begin{tabular}{|c|c|p{7cm}|}
4974 \hline
4975 {\bf type} & {\bf name} & {\bf description} \\ \hline
4976 {\tt host ref } & host & The Host to query \\ \hline
4978 \end{tabular}
4980 \vspace{0.3cm}
4982 \noindent {\bf Return Type:}
4983 {\tt
4984 string
4988 dmesg string
4989 \vspace{0.3cm}
4990 \vspace{0.3cm}
4991 \vspace{0.3cm}
4992 \subsubsection{RPC name:~get\_all}
4994 {\bf Overview:}
4995 Return a list of all the hosts known to the system.
4997 \noindent {\bf Signature:}
4998 \begin{verbatim} ((host ref) Set) get_all (session_id s)\end{verbatim}
5001 \vspace{0.3cm}
5003 \noindent {\bf Return Type:}
5004 {\tt
5005 (host ref) Set
5009 A list of all the IDs of all the hosts
5010 \vspace{0.3cm}
5011 \vspace{0.3cm}
5012 \vspace{0.3cm}
5013 \subsubsection{RPC name:~get\_uuid}
5015 {\bf Overview:}
5016 Get the uuid field of the given host.
5018 \noindent {\bf Signature:}
5019 \begin{verbatim} string get_uuid (session_id s, host ref self)\end{verbatim}
5022 \noindent{\bf Arguments:}
5025 \vspace{0.3cm}
5026 \begin{tabular}{|c|c|p{7cm}|}
5027 \hline
5028 {\bf type} & {\bf name} & {\bf description} \\ \hline
5029 {\tt host ref } & self & reference to the object \\ \hline
5031 \end{tabular}
5033 \vspace{0.3cm}
5035 \noindent {\bf Return Type:}
5036 {\tt
5037 string
5041 value of the field
5042 \vspace{0.3cm}
5043 \vspace{0.3cm}
5044 \vspace{0.3cm}
5045 \subsubsection{RPC name:~get\_name\_label}
5047 {\bf Overview:}
5048 Get the name/label field of the given host.
5050 \noindent {\bf Signature:}
5051 \begin{verbatim} string get_name_label (session_id s, host ref self)\end{verbatim}
5054 \noindent{\bf Arguments:}
5057 \vspace{0.3cm}
5058 \begin{tabular}{|c|c|p{7cm}|}
5059 \hline
5060 {\bf type} & {\bf name} & {\bf description} \\ \hline
5061 {\tt host ref } & self & reference to the object \\ \hline
5063 \end{tabular}
5065 \vspace{0.3cm}
5067 \noindent {\bf Return Type:}
5068 {\tt
5069 string
5073 value of the field
5074 \vspace{0.3cm}
5075 \vspace{0.3cm}
5076 \vspace{0.3cm}
5077 \subsubsection{RPC name:~set\_name\_label}
5079 {\bf Overview:}
5080 Set the name/label field of the given host.
5082 \noindent {\bf Signature:}
5083 \begin{verbatim} void set_name_label (session_id s, host ref self, string value)\end{verbatim}
5086 \noindent{\bf Arguments:}
5089 \vspace{0.3cm}
5090 \begin{tabular}{|c|c|p{7cm}|}
5091 \hline
5092 {\bf type} & {\bf name} & {\bf description} \\ \hline
5093 {\tt host ref } & self & reference to the object \\ \hline
5095 {\tt string } & value & New value to set \\ \hline
5097 \end{tabular}
5099 \vspace{0.3cm}
5101 \noindent {\bf Return Type:}
5102 {\tt
5103 void
5108 \vspace{0.3cm}
5109 \vspace{0.3cm}
5110 \vspace{0.3cm}
5111 \subsubsection{RPC name:~get\_name\_description}
5113 {\bf Overview:}
5114 Get the name/description field of the given host.
5116 \noindent {\bf Signature:}
5117 \begin{verbatim} string get_name_description (session_id s, host ref self)\end{verbatim}
5120 \noindent{\bf Arguments:}
5123 \vspace{0.3cm}
5124 \begin{tabular}{|c|c|p{7cm}|}
5125 \hline
5126 {\bf type} & {\bf name} & {\bf description} \\ \hline
5127 {\tt host ref } & self & reference to the object \\ \hline
5129 \end{tabular}
5131 \vspace{0.3cm}
5133 \noindent {\bf Return Type:}
5134 {\tt
5135 string
5139 value of the field
5140 \vspace{0.3cm}
5141 \vspace{0.3cm}
5142 \vspace{0.3cm}
5143 \subsubsection{RPC name:~set\_name\_description}
5145 {\bf Overview:}
5146 Set the name/description field of the given host.
5148 \noindent {\bf Signature:}
5149 \begin{verbatim} void set_name_description (session_id s, host ref self, string value)\end{verbatim}
5152 \noindent{\bf Arguments:}
5155 \vspace{0.3cm}
5156 \begin{tabular}{|c|c|p{7cm}|}
5157 \hline
5158 {\bf type} & {\bf name} & {\bf description} \\ \hline
5159 {\tt host ref } & self & reference to the object \\ \hline
5161 {\tt string } & value & New value to set \\ \hline
5163 \end{tabular}
5165 \vspace{0.3cm}
5167 \noindent {\bf Return Type:}
5168 {\tt
5169 void
5174 \vspace{0.3cm}
5175 \vspace{0.3cm}
5176 \vspace{0.3cm}
5177 \subsubsection{RPC name:~get\_API\_version\_major}
5179 {\bf Overview:}
5180 Get the API\_version/major field of the given host.
5182 \noindent {\bf Signature:}
5183 \begin{verbatim} int get_API_version_major (session_id s, host ref self)\end{verbatim}
5186 \noindent{\bf Arguments:}
5189 \vspace{0.3cm}
5190 \begin{tabular}{|c|c|p{7cm}|}
5191 \hline
5192 {\bf type} & {\bf name} & {\bf description} \\ \hline
5193 {\tt host ref } & self & reference to the object \\ \hline
5195 \end{tabular}
5197 \vspace{0.3cm}
5199 \noindent {\bf Return Type:}
5200 {\tt
5201 int
5205 value of the field
5206 \vspace{0.3cm}
5207 \vspace{0.3cm}
5208 \vspace{0.3cm}
5209 \subsubsection{RPC name:~get\_API\_version\_minor}
5211 {\bf Overview:}
5212 Get the API\_version/minor field of the given host.
5214 \noindent {\bf Signature:}
5215 \begin{verbatim} int get_API_version_minor (session_id s, host ref self)\end{verbatim}
5218 \noindent{\bf Arguments:}
5221 \vspace{0.3cm}
5222 \begin{tabular}{|c|c|p{7cm}|}
5223 \hline
5224 {\bf type} & {\bf name} & {\bf description} \\ \hline
5225 {\tt host ref } & self & reference to the object \\ \hline
5227 \end{tabular}
5229 \vspace{0.3cm}
5231 \noindent {\bf Return Type:}
5232 {\tt
5233 int
5237 value of the field
5238 \vspace{0.3cm}
5239 \vspace{0.3cm}
5240 \vspace{0.3cm}
5241 \subsubsection{RPC name:~get\_API\_version\_vendor}
5243 {\bf Overview:}
5244 Get the API\_version/vendor field of the given host.
5246 \noindent {\bf Signature:}
5247 \begin{verbatim} string get_API_version_vendor (session_id s, host ref self)\end{verbatim}
5250 \noindent{\bf Arguments:}
5253 \vspace{0.3cm}
5254 \begin{tabular}{|c|c|p{7cm}|}
5255 \hline
5256 {\bf type} & {\bf name} & {\bf description} \\ \hline
5257 {\tt host ref } & self & reference to the object \\ \hline
5259 \end{tabular}
5261 \vspace{0.3cm}
5263 \noindent {\bf Return Type:}
5264 {\tt
5265 string
5269 value of the field
5270 \vspace{0.3cm}
5271 \vspace{0.3cm}
5272 \vspace{0.3cm}
5273 \subsubsection{RPC name:~get\_API\_version\_vendor\_implementation}
5275 {\bf Overview:}
5276 Get the API\_version/vendor\_implementation field of the given host.
5278 \noindent {\bf Signature:}
5279 \begin{verbatim} ((string -> string) Map) get_API_version_vendor_implementation (session_id s, host ref self)\end{verbatim}
5282 \noindent{\bf Arguments:}
5285 \vspace{0.3cm}
5286 \begin{tabular}{|c|c|p{7cm}|}
5287 \hline
5288 {\bf type} & {\bf name} & {\bf description} \\ \hline
5289 {\tt host ref } & self & reference to the object \\ \hline
5291 \end{tabular}
5293 \vspace{0.3cm}
5295 \noindent {\bf Return Type:}
5296 {\tt
5297 (string $\rightarrow$ string) Map
5301 value of the field
5302 \vspace{0.3cm}
5303 \vspace{0.3cm}
5304 \vspace{0.3cm}
5305 \subsubsection{RPC name:~get\_software\_version}
5307 {\bf Overview:}
5308 Get the software\_version field of the given host.
5310 \noindent {\bf Signature:}
5311 \begin{verbatim} ((string -> string) Map) get_software_version (session_id s, host ref self)\end{verbatim}
5314 \noindent{\bf Arguments:}
5317 \vspace{0.3cm}
5318 \begin{tabular}{|c|c|p{7cm}|}
5319 \hline
5320 {\bf type} & {\bf name} & {\bf description} \\ \hline
5321 {\tt host ref } & self & reference to the object \\ \hline
5323 \end{tabular}
5325 \vspace{0.3cm}
5327 \noindent {\bf Return Type:}
5328 {\tt
5329 (string $\rightarrow$ string) Map
5333 value of the field
5334 \vspace{0.3cm}
5335 \vspace{0.3cm}
5336 \vspace{0.3cm}
5337 \subsubsection{RPC name:~get\_other\_config}
5339 {\bf Overview:}
5340 Get the other\_config field of the given host.
5342 \noindent {\bf Signature:}
5343 \begin{verbatim} ((string -> string) Map) get_other_config (session_id s, host ref self)\end{verbatim}
5346 \noindent{\bf Arguments:}
5349 \vspace{0.3cm}
5350 \begin{tabular}{|c|c|p{7cm}|}
5351 \hline
5352 {\bf type} & {\bf name} & {\bf description} \\ \hline
5353 {\tt host ref } & self & reference to the object \\ \hline
5355 \end{tabular}
5357 \vspace{0.3cm}
5359 \noindent {\bf Return Type:}
5360 {\tt
5361 (string $\rightarrow$ string) Map
5365 value of the field
5366 \vspace{0.3cm}
5367 \vspace{0.3cm}
5368 \vspace{0.3cm}
5369 \subsubsection{RPC name:~set\_other\_config}
5371 {\bf Overview:}
5372 Set the other\_config field of the given host.
5374 \noindent {\bf Signature:}
5375 \begin{verbatim} void set_other_config (session_id s, host ref self, (string -> string) Map value)\end{verbatim}
5378 \noindent{\bf Arguments:}
5381 \vspace{0.3cm}
5382 \begin{tabular}{|c|c|p{7cm}|}
5383 \hline
5384 {\bf type} & {\bf name} & {\bf description} \\ \hline
5385 {\tt host ref } & self & reference to the object \\ \hline
5387 {\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline
5389 \end{tabular}
5391 \vspace{0.3cm}
5393 \noindent {\bf Return Type:}
5394 {\tt
5395 void
5400 \vspace{0.3cm}
5401 \vspace{0.3cm}
5402 \vspace{0.3cm}
5403 \subsubsection{RPC name:~add\_to\_other\_config}
5405 {\bf Overview:}
5406 Add the given key-value pair to the other\_config field of the given host.
5408 \noindent {\bf Signature:}
5409 \begin{verbatim} void add_to_other_config (session_id s, host ref self, string key, string value)\end{verbatim}
5412 \noindent{\bf Arguments:}
5415 \vspace{0.3cm}
5416 \begin{tabular}{|c|c|p{7cm}|}
5417 \hline
5418 {\bf type} & {\bf name} & {\bf description} \\ \hline
5419 {\tt host ref } & self & reference to the object \\ \hline
5421 {\tt string } & key & Key to add \\ \hline
5423 {\tt string } & value & Value to add \\ \hline
5425 \end{tabular}
5427 \vspace{0.3cm}
5429 \noindent {\bf Return Type:}
5430 {\tt
5431 void
5436 \vspace{0.3cm}
5437 \vspace{0.3cm}
5438 \vspace{0.3cm}
5439 \subsubsection{RPC name:~remove\_from\_other\_config}
5441 {\bf Overview:}
5442 Remove the given key and its corresponding value from the other\_config
5443 field of the given host. If the key is not in that Map, then do nothing.
5445 \noindent {\bf Signature:}
5446 \begin{verbatim} void remove_from_other_config (session_id s, host ref self, string key)\end{verbatim}
5449 \noindent{\bf Arguments:}
5452 \vspace{0.3cm}
5453 \begin{tabular}{|c|c|p{7cm}|}
5454 \hline
5455 {\bf type} & {\bf name} & {\bf description} \\ \hline
5456 {\tt host ref } & self & reference to the object \\ \hline
5458 {\tt string } & key & Key to remove \\ \hline
5460 \end{tabular}
5462 \vspace{0.3cm}
5464 \noindent {\bf Return Type:}
5465 {\tt
5466 void
5471 \vspace{0.3cm}
5472 \vspace{0.3cm}
5473 \vspace{0.3cm}
5474 \subsubsection{RPC name:~get\_capabilities}
5476 {\bf Overview:}
5477 Get the capabilities field of the given host.
5479 \noindent {\bf Signature:}
5480 \begin{verbatim} (string Set) get_capabilities (session_id s, host ref self)\end{verbatim}
5483 \noindent{\bf Arguments:}
5486 \vspace{0.3cm}
5487 \begin{tabular}{|c|c|p{7cm}|}
5488 \hline
5489 {\bf type} & {\bf name} & {\bf description} \\ \hline
5490 {\tt host ref } & self & reference to the object \\ \hline
5492 \end{tabular}
5494 \vspace{0.3cm}
5496 \noindent {\bf Return Type:}
5497 {\tt
5498 string Set
5502 value of the field
5503 \vspace{0.3cm}
5504 \vspace{0.3cm}
5505 \vspace{0.3cm}
5506 \subsubsection{RPC name:~get\_supported\_bootloaders}
5508 {\bf Overview:}
5509 Get the supported\_bootloaders field of the given host.
5511 \noindent {\bf Signature:}
5512 \begin{verbatim} (string Set) get_supported_bootloaders (session_id s, host ref self)\end{verbatim}
5515 \noindent{\bf Arguments:}
5518 \vspace{0.3cm}
5519 \begin{tabular}{|c|c|p{7cm}|}
5520 \hline
5521 {\bf type} & {\bf name} & {\bf description} \\ \hline
5522 {\tt host ref } & self & reference to the object \\ \hline
5524 \end{tabular}
5526 \vspace{0.3cm}
5528 \noindent {\bf Return Type:}
5529 {\tt
5530 string Set
5534 value of the field
5535 \vspace{0.3cm}
5536 \vspace{0.3cm}
5537 \vspace{0.3cm}
5538 \subsubsection{RPC name:~get\_resident\_VMs}
5540 {\bf Overview:}
5541 Get the resident\_VMs field of the given host.
5543 \noindent {\bf Signature:}
5544 \begin{verbatim} ((VM ref) Set) get_resident_VMs (session_id s, host ref self)\end{verbatim}
5547 \noindent{\bf Arguments:}
5550 \vspace{0.3cm}
5551 \begin{tabular}{|c|c|p{7cm}|}
5552 \hline
5553 {\bf type} & {\bf name} & {\bf description} \\ \hline
5554 {\tt host ref } & self & reference to the object \\ \hline
5556 \end{tabular}
5558 \vspace{0.3cm}
5560 \noindent {\bf Return Type:}
5561 {\tt
5562 (VM ref) Set
5566 value of the field
5567 \vspace{0.3cm}
5568 \vspace{0.3cm}
5569 \vspace{0.3cm}
5570 \subsubsection{RPC name:~get\_logging}
5572 {\bf Overview:}
5573 Get the logging field of the given host.
5575 \noindent {\bf Signature:}
5576 \begin{verbatim} ((string -> string) Map) get_logging (session_id s, host ref self)\end{verbatim}
5579 \noindent{\bf Arguments:}
5582 \vspace{0.3cm}
5583 \begin{tabular}{|c|c|p{7cm}|}
5584 \hline
5585 {\bf type} & {\bf name} & {\bf description} \\ \hline
5586 {\tt host ref } & self & reference to the object \\ \hline
5588 \end{tabular}
5590 \vspace{0.3cm}
5592 \noindent {\bf Return Type:}
5593 {\tt
5594 (string $\rightarrow$ string) Map
5598 value of the field
5599 \vspace{0.3cm}
5600 \vspace{0.3cm}
5601 \vspace{0.3cm}
5602 \subsubsection{RPC name:~set\_logging}
5604 {\bf Overview:}
5605 Set the logging field of the given host.
5607 \noindent {\bf Signature:}
5608 \begin{verbatim} void set_logging (session_id s, host ref self, (string -> string) Map value)\end{verbatim}
5611 \noindent{\bf Arguments:}
5614 \vspace{0.3cm}
5615 \begin{tabular}{|c|c|p{7cm}|}
5616 \hline
5617 {\bf type} & {\bf name} & {\bf description} \\ \hline
5618 {\tt host ref } & self & reference to the object \\ \hline
5620 {\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline
5622 \end{tabular}
5624 \vspace{0.3cm}
5626 \noindent {\bf Return Type:}
5627 {\tt
5628 void
5633 \vspace{0.3cm}
5634 \vspace{0.3cm}
5635 \vspace{0.3cm}
5636 \subsubsection{RPC name:~add\_to\_logging}
5638 {\bf Overview:}
5639 Add the given key-value pair to the logging field of the given host.
5641 \noindent {\bf Signature:}
5642 \begin{verbatim} void add_to_logging (session_id s, host ref self, string key, string value)\end{verbatim}
5645 \noindent{\bf Arguments:}
5648 \vspace{0.3cm}
5649 \begin{tabular}{|c|c|p{7cm}|}
5650 \hline
5651 {\bf type} & {\bf name} & {\bf description} \\ \hline
5652 {\tt host ref } & self & reference to the object \\ \hline
5654 {\tt string } & key & Key to add \\ \hline
5656 {\tt string } & value & Value to add \\ \hline
5658 \end{tabular}
5660 \vspace{0.3cm}
5662 \noindent {\bf Return Type:}
5663 {\tt
5664 void
5669 \vspace{0.3cm}
5670 \vspace{0.3cm}
5671 \vspace{0.3cm}
5672 \subsubsection{RPC name:~remove\_from\_logging}
5674 {\bf Overview:}
5675 Remove the given key and its corresponding value from the logging field of
5676 the given host. If the key is not in that Map, then do nothing.
5678 \noindent {\bf Signature:}
5679 \begin{verbatim} void remove_from_logging (session_id s, host ref self, string key)\end{verbatim}
5682 \noindent{\bf Arguments:}
5685 \vspace{0.3cm}
5686 \begin{tabular}{|c|c|p{7cm}|}
5687 \hline
5688 {\bf type} & {\bf name} & {\bf description} \\ \hline
5689 {\tt host ref } & self & reference to the object \\ \hline
5691 {\tt string } & key & Key to remove \\ \hline
5693 \end{tabular}
5695 \vspace{0.3cm}
5697 \noindent {\bf Return Type:}
5698 {\tt
5699 void
5704 \vspace{0.3cm}
5705 \vspace{0.3cm}
5706 \vspace{0.3cm}
5707 \subsubsection{RPC name:~get\_PIFs}
5709 {\bf Overview:}
5710 Get the PIFs field of the given host.
5712 \noindent {\bf Signature:}
5713 \begin{verbatim} ((PIF ref) Set) get_PIFs (session_id s, host ref self)\end{verbatim}
5716 \noindent{\bf Arguments:}
5719 \vspace{0.3cm}
5720 \begin{tabular}{|c|c|p{7cm}|}
5721 \hline
5722 {\bf type} & {\bf name} & {\bf description} \\ \hline
5723 {\tt host ref } & self & reference to the object \\ \hline
5725 \end{tabular}
5727 \vspace{0.3cm}
5729 \noindent {\bf Return Type:}
5730 {\tt
5731 (PIF ref) Set
5735 value of the field
5736 \vspace{0.3cm}
5737 \vspace{0.3cm}
5738 \vspace{0.3cm}
5739 \subsubsection{RPC name:~get\_suspend\_image\_sr}
5741 {\bf Overview:}
5742 Get the suspend\_image\_sr field of the given host.
5744 \noindent {\bf Signature:}
5745 \begin{verbatim} (SR ref) get_suspend_image_sr (session_id s, host ref self)\end{verbatim}
5748 \noindent{\bf Arguments:}
5751 \vspace{0.3cm}
5752 \begin{tabular}{|c|c|p{7cm}|}
5753 \hline
5754 {\bf type} & {\bf name} & {\bf description} \\ \hline
5755 {\tt host ref } & self & reference to the object \\ \hline
5757 \end{tabular}
5759 \vspace{0.3cm}
5761 \noindent {\bf Return Type:}
5762 {\tt
5763 SR ref
5767 value of the field
5768 \vspace{0.3cm}
5769 \vspace{0.3cm}
5770 \vspace{0.3cm}
5771 \subsubsection{RPC name:~set\_suspend\_image\_sr}
5773 {\bf Overview:}
5774 Set the suspend\_image\_sr field of the given host.
5776 \noindent {\bf Signature:}
5777 \begin{verbatim} void set_suspend_image_sr (session_id s, host ref self, SR ref value)\end{verbatim}
5780 \noindent{\bf Arguments:}
5783 \vspace{0.3cm}
5784 \begin{tabular}{|c|c|p{7cm}|}
5785 \hline
5786 {\bf type} & {\bf name} & {\bf description} \\ \hline
5787 {\tt host ref } & self & reference to the object \\ \hline
5789 {\tt SR ref } & value & New value to set \\ \hline
5791 \end{tabular}
5793 \vspace{0.3cm}
5795 \noindent {\bf Return Type:}
5796 {\tt
5797 void
5802 \vspace{0.3cm}
5803 \vspace{0.3cm}
5804 \vspace{0.3cm}
5805 \subsubsection{RPC name:~get\_crash\_dump\_sr}
5807 {\bf Overview:}
5808 Get the crash\_dump\_sr field of the given host.
5810 \noindent {\bf Signature:}
5811 \begin{verbatim} (SR ref) get_crash_dump_sr (session_id s, host ref self)\end{verbatim}
5814 \noindent{\bf Arguments:}
5817 \vspace{0.3cm}
5818 \begin{tabular}{|c|c|p{7cm}|}
5819 \hline
5820 {\bf type} & {\bf name} & {\bf description} \\ \hline
5821 {\tt host ref } & self & reference to the object \\ \hline
5823 \end{tabular}
5825 \vspace{0.3cm}
5827 \noindent {\bf Return Type:}
5828 {\tt
5829 SR ref
5833 value of the field
5834 \vspace{0.3cm}
5835 \vspace{0.3cm}
5836 \vspace{0.3cm}
5837 \subsubsection{RPC name:~set\_crash\_dump\_sr}
5839 {\bf Overview:}
5840 Set the crash\_dump\_sr field of the given host.
5842 \noindent {\bf Signature:}
5843 \begin{verbatim} void set_crash_dump_sr (session_id s, host ref self, SR ref value)\end{verbatim}
5846 \noindent{\bf Arguments:}
5849 \vspace{0.3cm}
5850 \begin{tabular}{|c|c|p{7cm}|}
5851 \hline
5852 {\bf type} & {\bf name} & {\bf description} \\ \hline
5853 {\tt host ref } & self & reference to the object \\ \hline
5855 {\tt SR ref } & value & New value to set \\ \hline
5857 \end{tabular}
5859 \vspace{0.3cm}
5861 \noindent {\bf Return Type:}
5862 {\tt
5863 void
5868 \vspace{0.3cm}
5869 \vspace{0.3cm}
5870 \vspace{0.3cm}
5871 \subsubsection{RPC name:~get\_PBDs}
5873 {\bf Overview:}
5874 Get the PBDs field of the given host.
5876 \noindent {\bf Signature:}
5877 \begin{verbatim} ((PBD ref) Set) get_PBDs (session_id s, host ref self)\end{verbatim}
5880 \noindent{\bf Arguments:}
5883 \vspace{0.3cm}
5884 \begin{tabular}{|c|c|p{7cm}|}
5885 \hline
5886 {\bf type} & {\bf name} & {\bf description} \\ \hline
5887 {\tt host ref } & self & reference to the object \\ \hline
5889 \end{tabular}
5891 \vspace{0.3cm}
5893 \noindent {\bf Return Type:}
5894 {\tt
5895 (PBD ref) Set
5899 value of the field
5900 \vspace{0.3cm}
5901 \vspace{0.3cm}
5902 \vspace{0.3cm}
5903 \subsubsection{RPC name:~get\_host\_CPUs}
5905 {\bf Overview:}
5906 Get the host\_CPUs field of the given host.
5908 \noindent {\bf Signature:}
5909 \begin{verbatim} ((host_cpu ref) Set) get_host_CPUs (session_id s, host ref self)\end{verbatim}
5912 \noindent{\bf Arguments:}
5915 \vspace{0.3cm}
5916 \begin{tabular}{|c|c|p{7cm}|}
5917 \hline
5918 {\bf type} & {\bf name} & {\bf description} \\ \hline
5919 {\tt host ref } & self & reference to the object \\ \hline
5921 \end{tabular}
5923 \vspace{0.3cm}
5925 \noindent {\bf Return Type:}
5926 {\tt
5927 (host\_cpu ref) Set
5931 value of the field
5932 \vspace{0.3cm}
5933 \vspace{0.3cm}
5934 \vspace{0.3cm}
5935 \subsubsection{RPC name:~get\_metrics}
5937 {\bf Overview:}
5938 Get the metrics field of the given host.
5940 \noindent {\bf Signature:}
5941 \begin{verbatim} (host_metrics ref) get_metrics (session_id s, host ref self)\end{verbatim}
5944 \noindent{\bf Arguments:}
5947 \vspace{0.3cm}
5948 \begin{tabular}{|c|c|p{7cm}|}
5949 \hline
5950 {\bf type} & {\bf name} & {\bf description} \\ \hline
5951 {\tt host ref } & self & reference to the object \\ \hline
5953 \end{tabular}
5955 \vspace{0.3cm}
5957 \noindent {\bf Return Type:}
5958 {\tt
5959 host\_metrics ref
5963 value of the field
5964 \vspace{0.3cm}
5965 \vspace{0.3cm}
5966 \vspace{0.3cm}
5967 \subsubsection{RPC name:~get\_by\_uuid}
5969 {\bf Overview:}
5970 Get a reference to the host instance with the specified UUID.
5972 \noindent {\bf Signature:}
5973 \begin{verbatim} (host ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
5976 \noindent{\bf Arguments:}
5979 \vspace{0.3cm}
5980 \begin{tabular}{|c|c|p{7cm}|}
5981 \hline
5982 {\bf type} & {\bf name} & {\bf description} \\ \hline
5983 {\tt string } & uuid & UUID of object to return \\ \hline
5985 \end{tabular}
5987 \vspace{0.3cm}
5989 \noindent {\bf Return Type:}
5990 {\tt
5991 host ref
5995 reference to the object
5996 \vspace{0.3cm}
5997 \vspace{0.3cm}
5998 \vspace{0.3cm}
5999 \subsubsection{RPC name:~get\_record}
6001 {\bf Overview:}
6002 Get a record containing the current state of the given host.
6004 \noindent {\bf Signature:}
6005 \begin{verbatim} (host record) get_record (session_id s, host ref self)\end{verbatim}
6008 \noindent{\bf Arguments:}
6011 \vspace{0.3cm}
6012 \begin{tabular}{|c|c|p{7cm}|}
6013 \hline
6014 {\bf type} & {\bf name} & {\bf description} \\ \hline
6015 {\tt host ref } & self & reference to the object \\ \hline
6017 \end{tabular}
6019 \vspace{0.3cm}
6021 \noindent {\bf Return Type:}
6022 {\tt
6023 host record
6027 all fields from the object
6028 \vspace{0.3cm}
6029 \vspace{0.3cm}
6030 \vspace{0.3cm}
6031 \subsubsection{RPC name:~get\_by\_name\_label}
6033 {\bf Overview:}
6034 Get all the host instances with the given label.
6036 \noindent {\bf Signature:}
6037 \begin{verbatim} ((host ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
6040 \noindent{\bf Arguments:}
6043 \vspace{0.3cm}
6044 \begin{tabular}{|c|c|p{7cm}|}
6045 \hline
6046 {\bf type} & {\bf name} & {\bf description} \\ \hline
6047 {\tt string } & label & label of object to return \\ \hline
6049 \end{tabular}
6051 \vspace{0.3cm}
6053 \noindent {\bf Return Type:}
6054 {\tt
6055 (host ref) Set
6059 references to objects with match names
6060 \vspace{0.3cm}
6061 \vspace{0.3cm}
6062 \vspace{0.3cm}
6064 \vspace{1cm}
6065 \newpage
6066 \section{Class: host\_metrics}
6067 \subsection{Fields for class: host\_metrics}
6068 \begin{longtable}{|lllp{0.38\textwidth}|}
6069 \hline
6070 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf host\_metrics} \\
6071 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em
6072 The metrics associated with a host.}} \\
6073 \hline
6074 Quals & Field & Type & Description \\
6075 \hline
6076 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
6077 $\mathit{RO}_\mathit{run}$ & {\tt memory/total} & int & Host's total memory (bytes) \\
6078 $\mathit{RO}_\mathit{run}$ & {\tt memory/free} & int & Host's free memory (bytes) \\
6079 \hline
6080 \end{longtable}
6081 \subsection{Additional RPCs associated with class: host\_metrics}
6082 \subsubsection{RPC name:~get\_all}
6084 {\bf Overview:}
6085 Return a list of all the host\_metrics instances known to the system.
6087 \noindent {\bf Signature:}
6088 \begin{verbatim} ((host_metrics ref) Set) get_all (session_id s)\end{verbatim}
6091 \vspace{0.3cm}
6093 \noindent {\bf Return Type:}
6094 {\tt
6095 (host\_metrics ref) Set
6099 references to all objects
6100 \vspace{0.3cm}
6101 \vspace{0.3cm}
6102 \vspace{0.3cm}
6103 \subsubsection{RPC name:~get\_uuid}
6105 {\bf Overview:}
6106 Get the uuid field of the given host\_metrics.
6108 \noindent {\bf Signature:}
6109 \begin{verbatim} string get_uuid (session_id s, host_metrics ref self)\end{verbatim}
6112 \noindent{\bf Arguments:}
6115 \vspace{0.3cm}
6116 \begin{tabular}{|c|c|p{7cm}|}
6117 \hline
6118 {\bf type} & {\bf name} & {\bf description} \\ \hline
6119 {\tt host\_metrics ref } & self & reference to the object \\ \hline
6121 \end{tabular}
6123 \vspace{0.3cm}
6125 \noindent {\bf Return Type:}
6126 {\tt
6127 string
6131 value of the field
6132 \vspace{0.3cm}
6133 \vspace{0.3cm}
6134 \vspace{0.3cm}
6135 \subsubsection{RPC name:~get\_memory\_total}
6137 {\bf Overview:}
6138 Get the memory/total field of the given host\_metrics.
6140 \noindent {\bf Signature:}
6141 \begin{verbatim} int get_memory_total (session_id s, host_metrics ref self)\end{verbatim}
6144 \noindent{\bf Arguments:}
6147 \vspace{0.3cm}
6148 \begin{tabular}{|c|c|p{7cm}|}
6149 \hline
6150 {\bf type} & {\bf name} & {\bf description} \\ \hline
6151 {\tt host\_metrics ref } & self & reference to the object \\ \hline
6153 \end{tabular}
6155 \vspace{0.3cm}
6157 \noindent {\bf Return Type:}
6158 {\tt
6159 int
6163 value of the field
6164 \vspace{0.3cm}
6165 \vspace{0.3cm}
6166 \vspace{0.3cm}
6167 \subsubsection{RPC name:~get\_memory\_free}
6169 {\bf Overview:}
6170 Get the memory/free field of the given host\_metrics.
6172 \noindent {\bf Signature:}
6173 \begin{verbatim} int get_memory_free (session_id s, host_metrics ref self)\end{verbatim}
6176 \noindent{\bf Arguments:}
6179 \vspace{0.3cm}
6180 \begin{tabular}{|c|c|p{7cm}|}
6181 \hline
6182 {\bf type} & {\bf name} & {\bf description} \\ \hline
6183 {\tt host\_metrics ref } & self & reference to the object \\ \hline
6185 \end{tabular}
6187 \vspace{0.3cm}
6189 \noindent {\bf Return Type:}
6190 {\tt
6191 int
6195 value of the field
6196 \vspace{0.3cm}
6197 \vspace{0.3cm}
6198 \vspace{0.3cm}
6199 \subsubsection{RPC name:~get\_by\_uuid}
6201 {\bf Overview:}
6202 Get a reference to the host\_metrics instance with the specified UUID.
6204 \noindent {\bf Signature:}
6205 \begin{verbatim} (host_metrics ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
6208 \noindent{\bf Arguments:}
6211 \vspace{0.3cm}
6212 \begin{tabular}{|c|c|p{7cm}|}
6213 \hline
6214 {\bf type} & {\bf name} & {\bf description} \\ \hline
6215 {\tt string } & uuid & UUID of object to return \\ \hline
6217 \end{tabular}
6219 \vspace{0.3cm}
6221 \noindent {\bf Return Type:}
6222 {\tt
6223 host\_metrics ref
6227 reference to the object
6228 \vspace{0.3cm}
6229 \vspace{0.3cm}
6230 \vspace{0.3cm}
6231 \subsubsection{RPC name:~get\_record}
6233 {\bf Overview:}
6234 Get a record containing the current state of the given host\_metrics.
6236 \noindent {\bf Signature:}
6237 \begin{verbatim} (host_metrics record) get_record (session_id s, host_metrics ref self)\end{verbatim}
6240 \noindent{\bf Arguments:}
6243 \vspace{0.3cm}
6244 \begin{tabular}{|c|c|p{7cm}|}
6245 \hline
6246 {\bf type} & {\bf name} & {\bf description} \\ \hline
6247 {\tt host\_metrics ref } & self & reference to the object \\ \hline
6249 \end{tabular}
6251 \vspace{0.3cm}
6253 \noindent {\bf Return Type:}
6254 {\tt
6255 host\_metrics record
6259 all fields from the object
6260 \vspace{0.3cm}
6261 \vspace{0.3cm}
6262 \vspace{0.3cm}
6264 \vspace{1cm}
6265 \newpage
6266 \section{Class: host\_cpu}
6267 \subsection{Fields for class: host\_cpu}
6268 \begin{longtable}{|lllp{0.38\textwidth}|}
6269 \hline
6270 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf host\_cpu} \\
6271 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A physical CPU}} \\
6272 \hline
6273 Quals & Field & Type & Description \\
6274 \hline
6275 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
6276 $\mathit{RO}_\mathit{run}$ & {\tt host} & host ref & the host the CPU is in \\
6277 $\mathit{RO}_\mathit{run}$ & {\tt number} & int & the number of the physical CPU within the host \\
6278 $\mathit{RO}_\mathit{run}$ & {\tt vendor} & string & the vendor of the physical CPU \\
6279 $\mathit{RO}_\mathit{run}$ & {\tt speed} & int & the speed of the physical CPU \\
6280 $\mathit{RO}_\mathit{run}$ & {\tt modelname} & string & the model name of the physical CPU \\
6281 $\mathit{RO}_\mathit{run}$ & {\tt stepping} & string & the stepping of the physical CPU \\
6282 $\mathit{RO}_\mathit{run}$ & {\tt flags} & string & the flags of the physical CPU \\
6283 $\mathit{RO}_\mathit{run}$ & {\tt utilisation} & float & the current CPU utilisation \\
6284 \hline
6285 \end{longtable}
6286 \subsection{Additional RPCs associated with class: host\_cpu}
6287 \subsubsection{RPC name:~get\_all}
6289 {\bf Overview:}
6290 Return a list of all the host\_cpus known to the system.
6292 \noindent {\bf Signature:}
6293 \begin{verbatim} ((host_cpu ref) Set) get_all (session_id s)\end{verbatim}
6296 \vspace{0.3cm}
6298 \noindent {\bf Return Type:}
6299 {\tt
6300 (host\_cpu ref) Set
6304 references to all objects
6305 \vspace{0.3cm}
6306 \vspace{0.3cm}
6307 \vspace{0.3cm}
6308 \subsubsection{RPC name:~get\_uuid}
6310 {\bf Overview:}
6311 Get the uuid field of the given host\_cpu.
6313 \noindent {\bf Signature:}
6314 \begin{verbatim} string get_uuid (session_id s, host_cpu ref self)\end{verbatim}
6317 \noindent{\bf Arguments:}
6320 \vspace{0.3cm}
6321 \begin{tabular}{|c|c|p{7cm}|}
6322 \hline
6323 {\bf type} & {\bf name} & {\bf description} \\ \hline
6324 {\tt host\_cpu ref } & self & reference to the object \\ \hline
6326 \end{tabular}
6328 \vspace{0.3cm}
6330 \noindent {\bf Return Type:}
6331 {\tt
6332 string
6336 value of the field
6337 \vspace{0.3cm}
6338 \vspace{0.3cm}
6339 \vspace{0.3cm}
6340 \subsubsection{RPC name:~get\_host}
6342 {\bf Overview:}
6343 Get the host field of the given host\_cpu.
6345 \noindent {\bf Signature:}
6346 \begin{verbatim} (host ref) get_host (session_id s, host_cpu ref self)\end{verbatim}
6349 \noindent{\bf Arguments:}
6352 \vspace{0.3cm}
6353 \begin{tabular}{|c|c|p{7cm}|}
6354 \hline
6355 {\bf type} & {\bf name} & {\bf description} \\ \hline
6356 {\tt host\_cpu ref } & self & reference to the object \\ \hline
6358 \end{tabular}
6360 \vspace{0.3cm}
6362 \noindent {\bf Return Type:}
6363 {\tt
6364 host ref
6368 value of the field
6369 \vspace{0.3cm}
6370 \vspace{0.3cm}
6371 \vspace{0.3cm}
6372 \subsubsection{RPC name:~get\_number}
6374 {\bf Overview:}
6375 Get the number field of the given host\_cpu.
6377 \noindent {\bf Signature:}
6378 \begin{verbatim} int get_number (session_id s, host_cpu ref self)\end{verbatim}
6381 \noindent{\bf Arguments:}
6384 \vspace{0.3cm}
6385 \begin{tabular}{|c|c|p{7cm}|}
6386 \hline
6387 {\bf type} & {\bf name} & {\bf description} \\ \hline
6388 {\tt host\_cpu ref } & self & reference to the object \\ \hline
6390 \end{tabular}
6392 \vspace{0.3cm}
6394 \noindent {\bf Return Type:}
6395 {\tt
6396 int
6400 value of the field
6401 \vspace{0.3cm}
6402 \vspace{0.3cm}
6403 \vspace{0.3cm}
6404 \subsubsection{RPC name:~get\_vendor}
6406 {\bf Overview:}
6407 Get the vendor field of the given host\_cpu.
6409 \noindent {\bf Signature:}
6410 \begin{verbatim} string get_vendor (session_id s, host_cpu ref self)\end{verbatim}
6413 \noindent{\bf Arguments:}
6416 \vspace{0.3cm}
6417 \begin{tabular}{|c|c|p{7cm}|}
6418 \hline
6419 {\bf type} & {\bf name} & {\bf description} \\ \hline
6420 {\tt host\_cpu ref } & self & reference to the object \\ \hline
6422 \end{tabular}
6424 \vspace{0.3cm}
6426 \noindent {\bf Return Type:}
6427 {\tt
6428 string
6432 value of the field
6433 \vspace{0.3cm}
6434 \vspace{0.3cm}
6435 \vspace{0.3cm}
6436 \subsubsection{RPC name:~get\_speed}
6438 {\bf Overview:}
6439 Get the speed field of the given host\_cpu.
6441 \noindent {\bf Signature:}
6442 \begin{verbatim} int get_speed (session_id s, host_cpu ref self)\end{verbatim}
6445 \noindent{\bf Arguments:}
6448 \vspace{0.3cm}
6449 \begin{tabular}{|c|c|p{7cm}|}
6450 \hline
6451 {\bf type} & {\bf name} & {\bf description} \\ \hline
6452 {\tt host\_cpu ref } & self & reference to the object \\ \hline
6454 \end{tabular}
6456 \vspace{0.3cm}
6458 \noindent {\bf Return Type:}
6459 {\tt
6460 int
6464 value of the field
6465 \vspace{0.3cm}
6466 \vspace{0.3cm}
6467 \vspace{0.3cm}
6468 \subsubsection{RPC name:~get\_modelname}
6470 {\bf Overview:}
6471 Get the modelname field of the given host\_cpu.
6473 \noindent {\bf Signature:}
6474 \begin{verbatim} string get_modelname (session_id s, host_cpu ref self)\end{verbatim}
6477 \noindent{\bf Arguments:}
6480 \vspace{0.3cm}
6481 \begin{tabular}{|c|c|p{7cm}|}
6482 \hline
6483 {\bf type} & {\bf name} & {\bf description} \\ \hline
6484 {\tt host\_cpu ref } & self & reference to the object \\ \hline
6486 \end{tabular}
6488 \vspace{0.3cm}
6490 \noindent {\bf Return Type:}
6491 {\tt
6492 string
6496 value of the field
6497 \vspace{0.3cm}
6498 \vspace{0.3cm}
6499 \vspace{0.3cm}
6500 \subsubsection{RPC name:~get\_stepping}
6502 {\bf Overview:}
6503 Get the stepping field of the given host\_cpu.
6505 \noindent {\bf Signature:}
6506 \begin{verbatim} string get_stepping (session_id s, host_cpu ref self)\end{verbatim}
6509 \noindent{\bf Arguments:}
6512 \vspace{0.3cm}
6513 \begin{tabular}{|c|c|p{7cm}|}
6514 \hline
6515 {\bf type} & {\bf name} & {\bf description} \\ \hline
6516 {\tt host\_cpu ref } & self & reference to the object \\ \hline
6518 \end{tabular}
6520 \vspace{0.3cm}
6522 \noindent {\bf Return Type:}
6523 {\tt
6524 string
6528 value of the field
6529 \vspace{0.3cm}
6530 \vspace{0.3cm}
6531 \vspace{0.3cm}
6532 \subsubsection{RPC name:~get\_flags}
6534 {\bf Overview:}
6535 Get the flags field of the given host\_cpu.
6537 \noindent {\bf Signature:}
6538 \begin{verbatim} string get_flags (session_id s, host_cpu ref self)\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 host\_cpu ref } & self & reference to the object \\ \hline
6550 \end{tabular}
6552 \vspace{0.3cm}
6554 \noindent {\bf Return Type:}
6555 {\tt
6556 string
6560 value of the field
6561 \vspace{0.3cm}
6562 \vspace{0.3cm}
6563 \vspace{0.3cm}
6564 \subsubsection{RPC name:~get\_utilisation}
6566 {\bf Overview:}
6567 Get the utilisation field of the given host\_cpu.
6569 \noindent {\bf Signature:}
6570 \begin{verbatim} float get_utilisation (session_id s, host_cpu 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 host\_cpu ref } & self & reference to the object \\ \hline
6582 \end{tabular}
6584 \vspace{0.3cm}
6586 \noindent {\bf Return Type:}
6587 {\tt
6588 float
6592 value of the field
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 host\_cpu instance with the specified UUID.
6601 \noindent {\bf Signature:}
6602 \begin{verbatim} (host_cpu 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 host\_cpu 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 host\_cpu.
6633 \noindent {\bf Signature:}
6634 \begin{verbatim} (host_cpu record) get_record (session_id s, host_cpu 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 host\_cpu ref } & self & reference to the object \\ \hline
6646 \end{tabular}
6648 \vspace{0.3cm}
6650 \noindent {\bf Return Type:}
6651 {\tt
6652 host\_cpu record
6656 all fields from the object
6657 \vspace{0.3cm}
6658 \vspace{0.3cm}
6659 \vspace{0.3cm}
6661 \vspace{1cm}
6662 \newpage
6663 \section{Class: network}
6664 \subsection{Fields for class: network}
6665 \begin{longtable}{|lllp{0.38\textwidth}|}
6666 \hline
6667 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf network} \\
6668 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
6669 virtual network.}} \\
6670 \hline
6671 Quals & Field & Type & Description \\
6672 \hline
6673 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
6674 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
6675 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
6676 $\mathit{RO}_\mathit{run}$ & {\tt VIFs} & (VIF ref) Set & list of connected vifs \\
6677 $\mathit{RO}_\mathit{run}$ & {\tt PIFs} & (PIF ref) Set & list of connected pifs \\
6678 \hline
6679 \end{longtable}
6680 \subsection{Additional RPCs associated with class: network}
6681 \subsubsection{RPC name:~get\_all}
6683 {\bf Overview:}
6684 Return a list of all the networks known to the system
6686 \noindent {\bf Signature:}
6687 \begin{verbatim} ((network ref) Set) get_all (session_id s)\end{verbatim}
6690 \vspace{0.3cm}
6692 \noindent {\bf Return Type:}
6693 {\tt
6694 (network ref) Set
6698 A list of all the IDs of all the networks
6699 \vspace{0.3cm}
6700 \vspace{0.3cm}
6701 \vspace{0.3cm}
6702 \subsubsection{RPC name:~get\_uuid}
6704 {\bf Overview:}
6705 Get the uuid field of the given network.
6707 \noindent {\bf Signature:}
6708 \begin{verbatim} string get_uuid (session_id s, network ref self)\end{verbatim}
6711 \noindent{\bf Arguments:}
6714 \vspace{0.3cm}
6715 \begin{tabular}{|c|c|p{7cm}|}
6716 \hline
6717 {\bf type} & {\bf name} & {\bf description} \\ \hline
6718 {\tt network ref } & self & reference to the object \\ \hline
6720 \end{tabular}
6722 \vspace{0.3cm}
6724 \noindent {\bf Return Type:}
6725 {\tt
6726 string
6730 value of the field
6731 \vspace{0.3cm}
6732 \vspace{0.3cm}
6733 \vspace{0.3cm}
6734 \subsubsection{RPC name:~get\_name\_label}
6736 {\bf Overview:}
6737 Get the name/label field of the given network.
6739 \noindent {\bf Signature:}
6740 \begin{verbatim} string get_name_label (session_id s, network ref self)\end{verbatim}
6743 \noindent{\bf Arguments:}
6746 \vspace{0.3cm}
6747 \begin{tabular}{|c|c|p{7cm}|}
6748 \hline
6749 {\bf type} & {\bf name} & {\bf description} \\ \hline
6750 {\tt network ref } & self & reference to the object \\ \hline
6752 \end{tabular}
6754 \vspace{0.3cm}
6756 \noindent {\bf Return Type:}
6757 {\tt
6758 string
6762 value of the field
6763 \vspace{0.3cm}
6764 \vspace{0.3cm}
6765 \vspace{0.3cm}
6766 \subsubsection{RPC name:~set\_name\_label}
6768 {\bf Overview:}
6769 Set the name/label field of the given network.
6771 \noindent {\bf Signature:}
6772 \begin{verbatim} void set_name_label (session_id s, network ref self, string value)\end{verbatim}
6775 \noindent{\bf Arguments:}
6778 \vspace{0.3cm}
6779 \begin{tabular}{|c|c|p{7cm}|}
6780 \hline
6781 {\bf type} & {\bf name} & {\bf description} \\ \hline
6782 {\tt network ref } & self & reference to the object \\ \hline
6784 {\tt string } & value & New value to set \\ \hline
6786 \end{tabular}
6788 \vspace{0.3cm}
6790 \noindent {\bf Return Type:}
6791 {\tt
6792 void
6797 \vspace{0.3cm}
6798 \vspace{0.3cm}
6799 \vspace{0.3cm}
6800 \subsubsection{RPC name:~get\_name\_description}
6802 {\bf Overview:}
6803 Get the name/description field of the given network.
6805 \noindent {\bf Signature:}
6806 \begin{verbatim} string get_name_description (session_id s, network ref self)\end{verbatim}
6809 \noindent{\bf Arguments:}
6812 \vspace{0.3cm}
6813 \begin{tabular}{|c|c|p{7cm}|}
6814 \hline
6815 {\bf type} & {\bf name} & {\bf description} \\ \hline
6816 {\tt network ref } & self & reference to the object \\ \hline
6818 \end{tabular}
6820 \vspace{0.3cm}
6822 \noindent {\bf Return Type:}
6823 {\tt
6824 string
6828 value of the field
6829 \vspace{0.3cm}
6830 \vspace{0.3cm}
6831 \vspace{0.3cm}
6832 \subsubsection{RPC name:~set\_name\_description}
6834 {\bf Overview:}
6835 Set the name/description field of the given network.
6837 \noindent {\bf Signature:}
6838 \begin{verbatim} void set_name_description (session_id s, network ref self, string value)\end{verbatim}
6841 \noindent{\bf Arguments:}
6844 \vspace{0.3cm}
6845 \begin{tabular}{|c|c|p{7cm}|}
6846 \hline
6847 {\bf type} & {\bf name} & {\bf description} \\ \hline
6848 {\tt network ref } & self & reference to the object \\ \hline
6850 {\tt string } & value & New value to set \\ \hline
6852 \end{tabular}
6854 \vspace{0.3cm}
6856 \noindent {\bf Return Type:}
6857 {\tt
6858 void
6863 \vspace{0.3cm}
6864 \vspace{0.3cm}
6865 \vspace{0.3cm}
6866 \subsubsection{RPC name:~get\_VIFs}
6868 {\bf Overview:}
6869 Get the VIFs field of the given network.
6871 \noindent {\bf Signature:}
6872 \begin{verbatim} ((VIF ref) Set) get_VIFs (session_id s, network ref self)\end{verbatim}
6875 \noindent{\bf Arguments:}
6878 \vspace{0.3cm}
6879 \begin{tabular}{|c|c|p{7cm}|}
6880 \hline
6881 {\bf type} & {\bf name} & {\bf description} \\ \hline
6882 {\tt network ref } & self & reference to the object \\ \hline
6884 \end{tabular}
6886 \vspace{0.3cm}
6888 \noindent {\bf Return Type:}
6889 {\tt
6890 (VIF ref) Set
6894 value of the field
6895 \vspace{0.3cm}
6896 \vspace{0.3cm}
6897 \vspace{0.3cm}
6898 \subsubsection{RPC name:~get\_PIFs}
6900 {\bf Overview:}
6901 Get the PIFs field of the given network.
6903 \noindent {\bf Signature:}
6904 \begin{verbatim} ((PIF ref) Set) get_PIFs (session_id s, network ref self)\end{verbatim}
6907 \noindent{\bf Arguments:}
6910 \vspace{0.3cm}
6911 \begin{tabular}{|c|c|p{7cm}|}
6912 \hline
6913 {\bf type} & {\bf name} & {\bf description} \\ \hline
6914 {\tt network ref } & self & reference to the object \\ \hline
6916 \end{tabular}
6918 \vspace{0.3cm}
6920 \noindent {\bf Return Type:}
6921 {\tt
6922 (PIF ref) Set
6926 value of the field
6927 \vspace{0.3cm}
6928 \vspace{0.3cm}
6929 \vspace{0.3cm}
6930 \subsubsection{RPC name:~create}
6932 {\bf Overview:}
6933 Create a new network instance, and return its handle.
6935 \noindent {\bf Signature:}
6936 \begin{verbatim} (network ref) create (session_id s, network record args)\end{verbatim}
6939 \noindent{\bf Arguments:}
6942 \vspace{0.3cm}
6943 \begin{tabular}{|c|c|p{7cm}|}
6944 \hline
6945 {\bf type} & {\bf name} & {\bf description} \\ \hline
6946 {\tt network record } & args & All constructor arguments \\ \hline
6948 \end{tabular}
6950 \vspace{0.3cm}
6952 \noindent {\bf Return Type:}
6953 {\tt
6954 network ref
6958 reference to the newly created object
6959 \vspace{0.3cm}
6960 \vspace{0.3cm}
6961 \vspace{0.3cm}
6962 \subsubsection{RPC name:~destroy}
6964 {\bf Overview:}
6965 Destroy the specified network instance.
6967 \noindent {\bf Signature:}
6968 \begin{verbatim} void destroy (session_id s, network ref self)\end{verbatim}
6971 \noindent{\bf Arguments:}
6974 \vspace{0.3cm}
6975 \begin{tabular}{|c|c|p{7cm}|}
6976 \hline
6977 {\bf type} & {\bf name} & {\bf description} \\ \hline
6978 {\tt network ref } & self & reference to the object \\ \hline
6980 \end{tabular}
6982 \vspace{0.3cm}
6984 \noindent {\bf Return Type:}
6985 {\tt
6986 void
6991 \vspace{0.3cm}
6992 \vspace{0.3cm}
6993 \vspace{0.3cm}
6994 \subsubsection{RPC name:~get\_by\_uuid}
6996 {\bf Overview:}
6997 Get a reference to the network instance with the specified UUID.
6999 \noindent {\bf Signature:}
7000 \begin{verbatim} (network ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
7003 \noindent{\bf Arguments:}
7006 \vspace{0.3cm}
7007 \begin{tabular}{|c|c|p{7cm}|}
7008 \hline
7009 {\bf type} & {\bf name} & {\bf description} \\ \hline
7010 {\tt string } & uuid & UUID of object to return \\ \hline
7012 \end{tabular}
7014 \vspace{0.3cm}
7016 \noindent {\bf Return Type:}
7017 {\tt
7018 network ref
7022 reference to the object
7023 \vspace{0.3cm}
7024 \vspace{0.3cm}
7025 \vspace{0.3cm}
7026 \subsubsection{RPC name:~get\_record}
7028 {\bf Overview:}
7029 Get a record containing the current state of the given network.
7031 \noindent {\bf Signature:}
7032 \begin{verbatim} (network record) get_record (session_id s, network ref self)\end{verbatim}
7035 \noindent{\bf Arguments:}
7038 \vspace{0.3cm}
7039 \begin{tabular}{|c|c|p{7cm}|}
7040 \hline
7041 {\bf type} & {\bf name} & {\bf description} \\ \hline
7042 {\tt network ref } & self & reference to the object \\ \hline
7044 \end{tabular}
7046 \vspace{0.3cm}
7048 \noindent {\bf Return Type:}
7049 {\tt
7050 network record
7054 all fields from the object
7055 \vspace{0.3cm}
7056 \vspace{0.3cm}
7057 \vspace{0.3cm}
7058 \subsubsection{RPC name:~get\_by\_name\_label}
7060 {\bf Overview:}
7061 Get all the network instances with the given label.
7063 \noindent {\bf Signature:}
7064 \begin{verbatim} ((network ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
7067 \noindent{\bf Arguments:}
7070 \vspace{0.3cm}
7071 \begin{tabular}{|c|c|p{7cm}|}
7072 \hline
7073 {\bf type} & {\bf name} & {\bf description} \\ \hline
7074 {\tt string } & label & label of object to return \\ \hline
7076 \end{tabular}
7078 \vspace{0.3cm}
7080 \noindent {\bf Return Type:}
7081 {\tt
7082 (network ref) Set
7086 references to objects with match names
7087 \vspace{0.3cm}
7088 \vspace{0.3cm}
7089 \vspace{0.3cm}
7091 \vspace{1cm}
7092 \newpage
7093 \section{Class: VIF}
7094 \subsection{Fields for class: VIF}
7095 \begin{longtable}{|lllp{0.38\textwidth}|}
7096 \hline
7097 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VIF} \\
7098 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
7099 virtual network interface.}} \\
7100 \hline
7101 Quals & Field & Type & Description \\
7102 \hline
7103 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
7104 $\mathit{RW}$ & {\tt device} & string & name of network device as exposed to guest e.g. eth0 \\
7105 $\mathit{RO}_\mathit{ins}$ & {\tt network} & network ref & virtual network to which this vif is connected \\
7106 $\mathit{RO}_\mathit{ins}$ & {\tt VM} & VM ref & virtual machine to which this vif is connected \\
7107 $\mathit{RW}$ & {\tt MAC} & string & ethernet MAC address of virtual interface, as exposed to guest \\
7108 $\mathit{RW}$ & {\tt MTU} & int & MTU in octets \\
7109 $\mathit{RO}_\mathit{run}$ & {\tt currently\_attached} & bool & is the device currently attached (erased on reboot) \\
7110 $\mathit{RO}_\mathit{run}$ & {\tt status\_code} & int & error/success code associated with last attach-operation (erased on reboot) \\
7111 $\mathit{RO}_\mathit{run}$ & {\tt status\_detail} & string & error/success information associated with last attach-operation status (erased on reboot) \\
7112 $\mathit{RW}$ & {\tt qos/algorithm\_type} & string & QoS algorithm to use \\
7113 $\mathit{RW}$ & {\tt qos/algorithm\_params} & (string $\rightarrow$ string) Map & parameters for chosen QoS algorithm \\
7114 $\mathit{RO}_\mathit{run}$ & {\tt qos/supported\_algorithms} & string Set & supported QoS algorithms for this VIF \\
7115 $\mathit{RO}_\mathit{run}$ & {\tt metrics} & VIF\_metrics ref & metrics associated with this VIF. \\
7116 \hline
7117 \end{longtable}
7118 \subsection{Additional RPCs associated with class: VIF}
7119 \subsubsection{RPC name:~get\_all}
7121 {\bf Overview:}
7122 Return a list of all the VIFs known to the system.
7124 \noindent {\bf Signature:}
7125 \begin{verbatim} ((VIF ref) Set) get_all (session_id s)\end{verbatim}
7128 \vspace{0.3cm}
7130 \noindent {\bf Return Type:}
7131 {\tt
7132 (VIF ref) Set
7136 references to all objects
7137 \vspace{0.3cm}
7138 \vspace{0.3cm}
7139 \vspace{0.3cm}
7140 \subsubsection{RPC name:~get\_uuid}
7142 {\bf Overview:}
7143 Get the uuid field of the given VIF.
7145 \noindent {\bf Signature:}
7146 \begin{verbatim} string get_uuid (session_id s, VIF ref self)\end{verbatim}
7149 \noindent{\bf Arguments:}
7152 \vspace{0.3cm}
7153 \begin{tabular}{|c|c|p{7cm}|}
7154 \hline
7155 {\bf type} & {\bf name} & {\bf description} \\ \hline
7156 {\tt VIF ref } & self & reference to the object \\ \hline
7158 \end{tabular}
7160 \vspace{0.3cm}
7162 \noindent {\bf Return Type:}
7163 {\tt
7164 string
7168 value of the field
7169 \vspace{0.3cm}
7170 \vspace{0.3cm}
7171 \vspace{0.3cm}
7172 \subsubsection{RPC name:~get\_device}
7174 {\bf Overview:}
7175 Get the device field of the given VIF.
7177 \noindent {\bf Signature:}
7178 \begin{verbatim} string get_device (session_id s, VIF ref self)\end{verbatim}
7181 \noindent{\bf Arguments:}
7184 \vspace{0.3cm}
7185 \begin{tabular}{|c|c|p{7cm}|}
7186 \hline
7187 {\bf type} & {\bf name} & {\bf description} \\ \hline
7188 {\tt VIF ref } & self & reference to the object \\ \hline
7190 \end{tabular}
7192 \vspace{0.3cm}
7194 \noindent {\bf Return Type:}
7195 {\tt
7196 string
7200 value of the field
7201 \vspace{0.3cm}
7202 \vspace{0.3cm}
7203 \vspace{0.3cm}
7204 \subsubsection{RPC name:~set\_device}
7206 {\bf Overview:}
7207 Set the device field of the given VIF.
7209 \noindent {\bf Signature:}
7210 \begin{verbatim} void set_device (session_id s, VIF ref self, string value)\end{verbatim}
7213 \noindent{\bf Arguments:}
7216 \vspace{0.3cm}
7217 \begin{tabular}{|c|c|p{7cm}|}
7218 \hline
7219 {\bf type} & {\bf name} & {\bf description} \\ \hline
7220 {\tt VIF ref } & self & reference to the object \\ \hline
7222 {\tt string } & value & New value to set \\ \hline
7224 \end{tabular}
7226 \vspace{0.3cm}
7228 \noindent {\bf Return Type:}
7229 {\tt
7230 void
7235 \vspace{0.3cm}
7236 \vspace{0.3cm}
7237 \vspace{0.3cm}
7238 \subsubsection{RPC name:~get\_network}
7240 {\bf Overview:}
7241 Get the network field of the given VIF.
7243 \noindent {\bf Signature:}
7244 \begin{verbatim} (network ref) get_network (session_id s, VIF ref self)\end{verbatim}
7247 \noindent{\bf Arguments:}
7250 \vspace{0.3cm}
7251 \begin{tabular}{|c|c|p{7cm}|}
7252 \hline
7253 {\bf type} & {\bf name} & {\bf description} \\ \hline
7254 {\tt VIF ref } & self & reference to the object \\ \hline
7256 \end{tabular}
7258 \vspace{0.3cm}
7260 \noindent {\bf Return Type:}
7261 {\tt
7262 network ref
7266 value of the field
7267 \vspace{0.3cm}
7268 \vspace{0.3cm}
7269 \vspace{0.3cm}
7270 \subsubsection{RPC name:~get\_VM}
7272 {\bf Overview:}
7273 Get the VM field of the given VIF.
7275 \noindent {\bf Signature:}
7276 \begin{verbatim} (VM ref) get_VM (session_id s, VIF ref self)\end{verbatim}
7279 \noindent{\bf Arguments:}
7282 \vspace{0.3cm}
7283 \begin{tabular}{|c|c|p{7cm}|}
7284 \hline
7285 {\bf type} & {\bf name} & {\bf description} \\ \hline
7286 {\tt VIF ref } & self & reference to the object \\ \hline
7288 \end{tabular}
7290 \vspace{0.3cm}
7292 \noindent {\bf Return Type:}
7293 {\tt
7294 VM ref
7298 value of the field
7299 \vspace{0.3cm}
7300 \vspace{0.3cm}
7301 \vspace{0.3cm}
7302 \subsubsection{RPC name:~get\_MAC}
7304 {\bf Overview:}
7305 Get the MAC field of the given VIF.
7307 \noindent {\bf Signature:}
7308 \begin{verbatim} string get_MAC (session_id s, VIF 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 VIF 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:~set\_MAC}
7336 {\bf Overview:}
7337 Set the MAC field of the given VIF.
7339 \noindent {\bf Signature:}
7340 \begin{verbatim} void set_MAC (session_id s, VIF ref self, string value)\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 VIF ref } & self & reference to the object \\ \hline
7352 {\tt string } & value & New value to set \\ \hline
7354 \end{tabular}
7356 \vspace{0.3cm}
7358 \noindent {\bf Return Type:}
7359 {\tt
7360 void
7365 \vspace{0.3cm}
7366 \vspace{0.3cm}
7367 \vspace{0.3cm}
7368 \subsubsection{RPC name:~get\_MTU}
7370 {\bf Overview:}
7371 Get the MTU field of the given VIF.
7373 \noindent {\bf Signature:}
7374 \begin{verbatim} int get_MTU (session_id s, VIF ref self)\end{verbatim}
7377 \noindent{\bf Arguments:}
7380 \vspace{0.3cm}
7381 \begin{tabular}{|c|c|p{7cm}|}
7382 \hline
7383 {\bf type} & {\bf name} & {\bf description} \\ \hline
7384 {\tt VIF ref } & self & reference to the object \\ \hline
7386 \end{tabular}
7388 \vspace{0.3cm}
7390 \noindent {\bf Return Type:}
7391 {\tt
7392 int
7396 value of the field
7397 \vspace{0.3cm}
7398 \vspace{0.3cm}
7399 \vspace{0.3cm}
7400 \subsubsection{RPC name:~set\_MTU}
7402 {\bf Overview:}
7403 Set the MTU field of the given VIF.
7405 \noindent {\bf Signature:}
7406 \begin{verbatim} void set_MTU (session_id s, VIF ref self, int value)\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 VIF ref } & self & reference to the object \\ \hline
7418 {\tt int } & value & New value to set \\ \hline
7420 \end{tabular}
7422 \vspace{0.3cm}
7424 \noindent {\bf Return Type:}
7425 {\tt
7426 void
7431 \vspace{0.3cm}
7432 \vspace{0.3cm}
7433 \vspace{0.3cm}
7434 \subsubsection{RPC name:~get\_currently\_attached}
7436 {\bf Overview:}
7437 Get the currently\_attached field of the given VIF.
7439 \noindent {\bf Signature:}
7440 \begin{verbatim} bool get_currently_attached (session_id s, VIF ref self)\end{verbatim}
7443 \noindent{\bf Arguments:}
7446 \vspace{0.3cm}
7447 \begin{tabular}{|c|c|p{7cm}|}
7448 \hline
7449 {\bf type} & {\bf name} & {\bf description} \\ \hline
7450 {\tt VIF ref } & self & reference to the object \\ \hline
7452 \end{tabular}
7454 \vspace{0.3cm}
7456 \noindent {\bf Return Type:}
7457 {\tt
7458 bool
7462 value of the field
7463 \vspace{0.3cm}
7464 \vspace{0.3cm}
7465 \vspace{0.3cm}
7466 \subsubsection{RPC name:~get\_status\_code}
7468 {\bf Overview:}
7469 Get the status\_code field of the given VIF.
7471 \noindent {\bf Signature:}
7472 \begin{verbatim} int get_status_code (session_id s, VIF ref self)\end{verbatim}
7475 \noindent{\bf Arguments:}
7478 \vspace{0.3cm}
7479 \begin{tabular}{|c|c|p{7cm}|}
7480 \hline
7481 {\bf type} & {\bf name} & {\bf description} \\ \hline
7482 {\tt VIF ref } & self & reference to the object \\ \hline
7484 \end{tabular}
7486 \vspace{0.3cm}
7488 \noindent {\bf Return Type:}
7489 {\tt
7490 int
7494 value of the field
7495 \vspace{0.3cm}
7496 \vspace{0.3cm}
7497 \vspace{0.3cm}
7498 \subsubsection{RPC name:~get\_status\_detail}
7500 {\bf Overview:}
7501 Get the status\_detail field of the given VIF.
7503 \noindent {\bf Signature:}
7504 \begin{verbatim} string get_status_detail (session_id s, VIF ref self)\end{verbatim}
7507 \noindent{\bf Arguments:}
7510 \vspace{0.3cm}
7511 \begin{tabular}{|c|c|p{7cm}|}
7512 \hline
7513 {\bf type} & {\bf name} & {\bf description} \\ \hline
7514 {\tt VIF ref } & self & reference to the object \\ \hline
7516 \end{tabular}
7518 \vspace{0.3cm}
7520 \noindent {\bf Return Type:}
7521 {\tt
7522 string
7526 value of the field
7527 \vspace{0.3cm}
7528 \vspace{0.3cm}
7529 \vspace{0.3cm}
7530 \subsubsection{RPC name:~get\_qos\_algorithm\_type}
7532 {\bf Overview:}
7533 Get the qos/algorithm\_type field of the given VIF.
7535 \noindent {\bf Signature:}
7536 \begin{verbatim} string get_qos_algorithm_type (session_id s, VIF 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 VIF ref } & self & reference to the object \\ \hline
7548 \end{tabular}
7550 \vspace{0.3cm}
7552 \noindent {\bf Return Type:}
7553 {\tt
7554 string
7558 value of the field
7559 \vspace{0.3cm}
7560 \vspace{0.3cm}
7561 \vspace{0.3cm}
7562 \subsubsection{RPC name:~set\_qos\_algorithm\_type}
7564 {\bf Overview:}
7565 Set the qos/algorithm\_type field of the given VIF.
7567 \noindent {\bf Signature:}
7568 \begin{verbatim} void set_qos_algorithm_type (session_id s, VIF ref self, string 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 VIF ref } & self & reference to the object \\ \hline
7580 {\tt string } & 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\_qos\_algorithm\_params}
7598 {\bf Overview:}
7599 Get the qos/algorithm\_params field of the given VIF.
7601 \noindent {\bf Signature:}
7602 \begin{verbatim} ((string -> string) Map) get_qos_algorithm_params (session_id s, VIF 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 VIF ref } & self & reference to the object \\ \hline
7614 \end{tabular}
7616 \vspace{0.3cm}
7618 \noindent {\bf Return Type:}
7619 {\tt
7620 (string $\rightarrow$ string) Map
7624 value of the field
7625 \vspace{0.3cm}
7626 \vspace{0.3cm}
7627 \vspace{0.3cm}
7628 \subsubsection{RPC name:~set\_qos\_algorithm\_params}
7630 {\bf Overview:}
7631 Set the qos/algorithm\_params field of the given VIF.
7633 \noindent {\bf Signature:}
7634 \begin{verbatim} void set_qos_algorithm_params (session_id s, VIF ref self, (string -> string) Map 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 VIF ref } & self & reference to the object \\ \hline
7646 {\tt (string $\rightarrow$ string) Map } & 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:~add\_to\_qos\_algorithm\_params}
7664 {\bf Overview:}
7665 Add the given key-value pair to the qos/algorithm\_params field of the
7666 given VIF.
7668 \noindent {\bf Signature:}
7669 \begin{verbatim} void add_to_qos_algorithm_params (session_id s, VIF ref self, string key, string value)\end{verbatim}
7672 \noindent{\bf Arguments:}
7675 \vspace{0.3cm}
7676 \begin{tabular}{|c|c|p{7cm}|}
7677 \hline
7678 {\bf type} & {\bf name} & {\bf description} \\ \hline
7679 {\tt VIF ref } & self & reference to the object \\ \hline
7681 {\tt string } & key & Key to add \\ \hline
7683 {\tt string } & value & Value to add \\ \hline
7685 \end{tabular}
7687 \vspace{0.3cm}
7689 \noindent {\bf Return Type:}
7690 {\tt
7691 void
7696 \vspace{0.3cm}
7697 \vspace{0.3cm}
7698 \vspace{0.3cm}
7699 \subsubsection{RPC name:~remove\_from\_qos\_algorithm\_params}
7701 {\bf Overview:}
7702 Remove the given key and its corresponding value from the
7703 qos/algorithm\_params field of the given VIF. If the key is not in that
7704 Map, then do nothing.
7706 \noindent {\bf Signature:}
7707 \begin{verbatim} void remove_from_qos_algorithm_params (session_id s, VIF ref self, string key)\end{verbatim}
7710 \noindent{\bf Arguments:}
7713 \vspace{0.3cm}
7714 \begin{tabular}{|c|c|p{7cm}|}
7715 \hline
7716 {\bf type} & {\bf name} & {\bf description} \\ \hline
7717 {\tt VIF ref } & self & reference to the object \\ \hline
7719 {\tt string } & key & Key to remove \\ \hline
7721 \end{tabular}
7723 \vspace{0.3cm}
7725 \noindent {\bf Return Type:}
7726 {\tt
7727 void
7732 \vspace{0.3cm}
7733 \vspace{0.3cm}
7734 \vspace{0.3cm}
7735 \subsubsection{RPC name:~get\_qos\_supported\_algorithms}
7737 {\bf Overview:}
7738 Get the qos/supported\_algorithms field of the given VIF.
7740 \noindent {\bf Signature:}
7741 \begin{verbatim} (string Set) get_qos_supported_algorithms (session_id s, VIF ref self)\end{verbatim}
7744 \noindent{\bf Arguments:}
7747 \vspace{0.3cm}
7748 \begin{tabular}{|c|c|p{7cm}|}
7749 \hline
7750 {\bf type} & {\bf name} & {\bf description} \\ \hline
7751 {\tt VIF ref } & self & reference to the object \\ \hline
7753 \end{tabular}
7755 \vspace{0.3cm}
7757 \noindent {\bf Return Type:}
7758 {\tt
7759 string Set
7763 value of the field
7764 \vspace{0.3cm}
7765 \vspace{0.3cm}
7766 \vspace{0.3cm}
7767 \subsubsection{RPC name:~get\_metrics}
7769 {\bf Overview:}
7770 Get the metrics field of the given VIF.
7772 \noindent {\bf Signature:}
7773 \begin{verbatim} (VIF_metrics ref) get_metrics (session_id s, VIF ref self)\end{verbatim}
7776 \noindent{\bf Arguments:}
7779 \vspace{0.3cm}
7780 \begin{tabular}{|c|c|p{7cm}|}
7781 \hline
7782 {\bf type} & {\bf name} & {\bf description} \\ \hline
7783 {\tt VIF ref } & self & reference to the object \\ \hline
7785 \end{tabular}
7787 \vspace{0.3cm}
7789 \noindent {\bf Return Type:}
7790 {\tt
7791 VIF\_metrics ref
7795 value of the field
7796 \vspace{0.3cm}
7797 \vspace{0.3cm}
7798 \vspace{0.3cm}
7799 \subsubsection{RPC name:~create}
7801 {\bf Overview:}
7802 Create a new VIF instance, and return its handle.
7804 \noindent {\bf Signature:}
7805 \begin{verbatim} (VIF ref) create (session_id s, VIF record args)\end{verbatim}
7808 \noindent{\bf Arguments:}
7811 \vspace{0.3cm}
7812 \begin{tabular}{|c|c|p{7cm}|}
7813 \hline
7814 {\bf type} & {\bf name} & {\bf description} \\ \hline
7815 {\tt VIF record } & args & All constructor arguments \\ \hline
7817 \end{tabular}
7819 \vspace{0.3cm}
7821 \noindent {\bf Return Type:}
7822 {\tt
7823 VIF ref
7827 reference to the newly created object
7828 \vspace{0.3cm}
7829 \vspace{0.3cm}
7830 \vspace{0.3cm}
7831 \subsubsection{RPC name:~destroy}
7833 {\bf Overview:}
7834 Destroy the specified VIF instance.
7836 \noindent {\bf Signature:}
7837 \begin{verbatim} void destroy (session_id s, VIF ref self)\end{verbatim}
7840 \noindent{\bf Arguments:}
7843 \vspace{0.3cm}
7844 \begin{tabular}{|c|c|p{7cm}|}
7845 \hline
7846 {\bf type} & {\bf name} & {\bf description} \\ \hline
7847 {\tt VIF ref } & self & reference to the object \\ \hline
7849 \end{tabular}
7851 \vspace{0.3cm}
7853 \noindent {\bf Return Type:}
7854 {\tt
7855 void
7860 \vspace{0.3cm}
7861 \vspace{0.3cm}
7862 \vspace{0.3cm}
7863 \subsubsection{RPC name:~get\_by\_uuid}
7865 {\bf Overview:}
7866 Get a reference to the VIF instance with the specified UUID.
7868 \noindent {\bf Signature:}
7869 \begin{verbatim} (VIF ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
7872 \noindent{\bf Arguments:}
7875 \vspace{0.3cm}
7876 \begin{tabular}{|c|c|p{7cm}|}
7877 \hline
7878 {\bf type} & {\bf name} & {\bf description} \\ \hline
7879 {\tt string } & uuid & UUID of object to return \\ \hline
7881 \end{tabular}
7883 \vspace{0.3cm}
7885 \noindent {\bf Return Type:}
7886 {\tt
7887 VIF ref
7891 reference to the object
7892 \vspace{0.3cm}
7893 \vspace{0.3cm}
7894 \vspace{0.3cm}
7895 \subsubsection{RPC name:~get\_record}
7897 {\bf Overview:}
7898 Get a record containing the current state of the given VIF.
7900 \noindent {\bf Signature:}
7901 \begin{verbatim} (VIF record) get_record (session_id s, VIF ref self)\end{verbatim}
7904 \noindent{\bf Arguments:}
7907 \vspace{0.3cm}
7908 \begin{tabular}{|c|c|p{7cm}|}
7909 \hline
7910 {\bf type} & {\bf name} & {\bf description} \\ \hline
7911 {\tt VIF ref } & self & reference to the object \\ \hline
7913 \end{tabular}
7915 \vspace{0.3cm}
7917 \noindent {\bf Return Type:}
7918 {\tt
7919 VIF record
7923 all fields from the object
7924 \vspace{0.3cm}
7925 \vspace{0.3cm}
7926 \vspace{0.3cm}
7928 \vspace{1cm}
7929 \newpage
7930 \section{Class: VIF\_metrics}
7931 \subsection{Fields for class: VIF\_metrics}
7932 \begin{longtable}{|lllp{0.38\textwidth}|}
7933 \hline
7934 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VIF\_metrics} \\
7935 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em
7936 The metrics associated with a virtual network device.}} \\
7937 \hline
7938 Quals & Field & Type & Description \\
7939 \hline
7940 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
7941 $\mathit{RO}_\mathit{run}$ & {\tt io/read\_kbs} & float & Read bandwidth (KiB/s) \\
7942 $\mathit{RO}_\mathit{run}$ & {\tt io/write\_kbs} & float & Write bandwidth (KiB/s) \\
7943 \hline
7944 \end{longtable}
7945 \subsection{Additional RPCs associated with class: VIF\_metrics}
7946 \subsubsection{RPC name:~get\_all}
7948 {\bf Overview:}
7949 Return a list of all the VIF\_metrics instances known to the system.
7951 \noindent {\bf Signature:}
7952 \begin{verbatim} ((VIF_metrics ref) Set) get_all (session_id s)\end{verbatim}
7955 \vspace{0.3cm}
7957 \noindent {\bf Return Type:}
7958 {\tt
7959 (VIF\_metrics ref) Set
7963 references to all objects
7964 \vspace{0.3cm}
7965 \vspace{0.3cm}
7966 \vspace{0.3cm}
7967 \subsubsection{RPC name:~get\_uuid}
7969 {\bf Overview:}
7970 Get the uuid field of the given VIF\_metrics.
7972 \noindent {\bf Signature:}
7973 \begin{verbatim} string get_uuid (session_id s, VIF_metrics ref self)\end{verbatim}
7976 \noindent{\bf Arguments:}
7979 \vspace{0.3cm}
7980 \begin{tabular}{|c|c|p{7cm}|}
7981 \hline
7982 {\bf type} & {\bf name} & {\bf description} \\ \hline
7983 {\tt VIF\_metrics ref } & self & reference to the object \\ \hline
7985 \end{tabular}
7987 \vspace{0.3cm}
7989 \noindent {\bf Return Type:}
7990 {\tt
7991 string
7995 value of the field
7996 \vspace{0.3cm}
7997 \vspace{0.3cm}
7998 \vspace{0.3cm}
7999 \subsubsection{RPC name:~get\_io\_read\_kbs}
8001 {\bf Overview:}
8002 Get the io/read\_kbs field of the given VIF\_metrics.
8004 \noindent {\bf Signature:}
8005 \begin{verbatim} float get_io_read_kbs (session_id s, VIF_metrics ref self)\end{verbatim}
8008 \noindent{\bf Arguments:}
8011 \vspace{0.3cm}
8012 \begin{tabular}{|c|c|p{7cm}|}
8013 \hline
8014 {\bf type} & {\bf name} & {\bf description} \\ \hline
8015 {\tt VIF\_metrics ref } & self & reference to the object \\ \hline
8017 \end{tabular}
8019 \vspace{0.3cm}
8021 \noindent {\bf Return Type:}
8022 {\tt
8023 float
8027 value of the field
8028 \vspace{0.3cm}
8029 \vspace{0.3cm}
8030 \vspace{0.3cm}
8031 \subsubsection{RPC name:~get\_io\_write\_kbs}
8033 {\bf Overview:}
8034 Get the io/write\_kbs field of the given VIF\_metrics.
8036 \noindent {\bf Signature:}
8037 \begin{verbatim} float get_io_write_kbs (session_id s, VIF_metrics ref self)\end{verbatim}
8040 \noindent{\bf Arguments:}
8043 \vspace{0.3cm}
8044 \begin{tabular}{|c|c|p{7cm}|}
8045 \hline
8046 {\bf type} & {\bf name} & {\bf description} \\ \hline
8047 {\tt VIF\_metrics ref } & self & reference to the object \\ \hline
8049 \end{tabular}
8051 \vspace{0.3cm}
8053 \noindent {\bf Return Type:}
8054 {\tt
8055 float
8059 value of the field
8060 \vspace{0.3cm}
8061 \vspace{0.3cm}
8062 \vspace{0.3cm}
8063 \subsubsection{RPC name:~get\_by\_uuid}
8065 {\bf Overview:}
8066 Get a reference to the VIF\_metrics instance with the specified UUID.
8068 \noindent {\bf Signature:}
8069 \begin{verbatim} (VIF_metrics ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
8072 \noindent{\bf Arguments:}
8075 \vspace{0.3cm}
8076 \begin{tabular}{|c|c|p{7cm}|}
8077 \hline
8078 {\bf type} & {\bf name} & {\bf description} \\ \hline
8079 {\tt string } & uuid & UUID of object to return \\ \hline
8081 \end{tabular}
8083 \vspace{0.3cm}
8085 \noindent {\bf Return Type:}
8086 {\tt
8087 VIF\_metrics ref
8091 reference to the object
8092 \vspace{0.3cm}
8093 \vspace{0.3cm}
8094 \vspace{0.3cm}
8095 \subsubsection{RPC name:~get\_record}
8097 {\bf Overview:}
8098 Get a record containing the current state of the given VIF\_metrics.
8100 \noindent {\bf Signature:}
8101 \begin{verbatim} (VIF_metrics record) get_record (session_id s, VIF_metrics ref self)\end{verbatim}
8104 \noindent{\bf Arguments:}
8107 \vspace{0.3cm}
8108 \begin{tabular}{|c|c|p{7cm}|}
8109 \hline
8110 {\bf type} & {\bf name} & {\bf description} \\ \hline
8111 {\tt VIF\_metrics ref } & self & reference to the object \\ \hline
8113 \end{tabular}
8115 \vspace{0.3cm}
8117 \noindent {\bf Return Type:}
8118 {\tt
8119 VIF\_metrics record
8123 all fields from the object
8124 \vspace{0.3cm}
8125 \vspace{0.3cm}
8126 \vspace{0.3cm}
8128 \vspace{1cm}
8129 \newpage
8130 \section{Class: PIF}
8131 \subsection{Fields for class: PIF}
8132 \begin{longtable}{|lllp{0.38\textwidth}|}
8133 \hline
8134 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf PIF} \\
8135 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
8136 physical network interface (note separate VLANs are represented as several
8137 PIFs).}} \\
8138 \hline
8139 Quals & Field & Type & Description \\
8140 \hline
8141 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
8142 $\mathit{RW}$ & {\tt device} & string & machine-readable name of the interface (e.g. eth0) \\
8143 $\mathit{RO}_\mathit{ins}$ & {\tt network} & network ref & virtual network to which this pif is connected \\
8144 $\mathit{RO}_\mathit{ins}$ & {\tt host} & host ref & physical machine to which this pif is connected \\
8145 $\mathit{RW}$ & {\tt MAC} & string & ethernet MAC address of physical interface \\
8146 $\mathit{RW}$ & {\tt MTU} & int & MTU in octets \\
8147 $\mathit{RW}$ & {\tt VLAN} & int & VLAN tag for all traffic passing through this interface \\
8148 $\mathit{RO}_\mathit{ins}$ & {\tt metrics} & PIF\_metrics ref & metrics associated with this PIF. \\
8149 \hline
8150 \end{longtable}
8151 \subsection{Additional RPCs associated with class: PIF}
8152 \subsubsection{RPC name:~create\_VLAN}
8154 {\bf Overview:}
8155 Create a VLAN interface from an existing physical interface.
8157 \noindent {\bf Signature:}
8158 \begin{verbatim} (PIF ref) create_VLAN (session_id s, string device, network ref network, host ref host, int VLAN)\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 string } & device & physical interface on which to crate the VLAN interface \\ \hline
8170 {\tt network ref } & network & network to which this interface should be connected \\ \hline
8172 {\tt host ref } & host & physical machine to which this PIF is connected \\ \hline
8174 {\tt int } & VLAN & VLAN tag for the new interface \\ \hline
8176 \end{tabular}
8178 \vspace{0.3cm}
8180 \noindent {\bf Return Type:}
8181 {\tt
8182 PIF ref
8186 The reference of the created PIF object
8187 \vspace{0.3cm}
8189 \noindent{\bf Possible Error Codes:} {\tt VLAN\_TAG\_INVALID}
8191 \vspace{0.6cm}
8192 \subsubsection{RPC name:~destroy}
8194 {\bf Overview:}
8195 Destroy the interface (provided it is a synthetic interface like a VLAN;
8196 fail if it is a physical interface).
8198 \noindent {\bf Signature:}
8199 \begin{verbatim} void destroy (session_id s, PIF ref self)\end{verbatim}
8202 \noindent{\bf Arguments:}
8205 \vspace{0.3cm}
8206 \begin{tabular}{|c|c|p{7cm}|}
8207 \hline
8208 {\bf type} & {\bf name} & {\bf description} \\ \hline
8209 {\tt PIF ref } & self & the PIF object to destroy \\ \hline
8211 \end{tabular}
8213 \vspace{0.3cm}
8215 \noindent {\bf Return Type:}
8216 {\tt
8217 void
8222 \vspace{0.3cm}
8224 \noindent{\bf Possible Error Codes:} {\tt PIF\_IS\_PHYSICAL}
8226 \vspace{0.6cm}
8227 \subsubsection{RPC name:~get\_all}
8229 {\bf Overview:}
8230 Return a list of all the PIFs known to the system.
8232 \noindent {\bf Signature:}
8233 \begin{verbatim} ((PIF ref) Set) get_all (session_id s)\end{verbatim}
8236 \vspace{0.3cm}
8238 \noindent {\bf Return Type:}
8239 {\tt
8240 (PIF ref) Set
8244 references to all objects
8245 \vspace{0.3cm}
8246 \vspace{0.3cm}
8247 \vspace{0.3cm}
8248 \subsubsection{RPC name:~get\_uuid}
8250 {\bf Overview:}
8251 Get the uuid field of the given PIF.
8253 \noindent {\bf Signature:}
8254 \begin{verbatim} string get_uuid (session_id s, PIF ref self)\end{verbatim}
8257 \noindent{\bf Arguments:}
8260 \vspace{0.3cm}
8261 \begin{tabular}{|c|c|p{7cm}|}
8262 \hline
8263 {\bf type} & {\bf name} & {\bf description} \\ \hline
8264 {\tt PIF ref } & self & reference to the object \\ \hline
8266 \end{tabular}
8268 \vspace{0.3cm}
8270 \noindent {\bf Return Type:}
8271 {\tt
8272 string
8276 value of the field
8277 \vspace{0.3cm}
8278 \vspace{0.3cm}
8279 \vspace{0.3cm}
8280 \subsubsection{RPC name:~get\_device}
8282 {\bf Overview:}
8283 Get the device field of the given PIF.
8285 \noindent {\bf Signature:}
8286 \begin{verbatim} string get_device (session_id s, PIF ref self)\end{verbatim}
8289 \noindent{\bf Arguments:}
8292 \vspace{0.3cm}
8293 \begin{tabular}{|c|c|p{7cm}|}
8294 \hline
8295 {\bf type} & {\bf name} & {\bf description} \\ \hline
8296 {\tt PIF ref } & self & reference to the object \\ \hline
8298 \end{tabular}
8300 \vspace{0.3cm}
8302 \noindent {\bf Return Type:}
8303 {\tt
8304 string
8308 value of the field
8309 \vspace{0.3cm}
8310 \vspace{0.3cm}
8311 \vspace{0.3cm}
8312 \subsubsection{RPC name:~set\_device}
8314 {\bf Overview:}
8315 Set the device field of the given PIF.
8317 \noindent {\bf Signature:}
8318 \begin{verbatim} void set_device (session_id s, PIF ref self, string value)\end{verbatim}
8321 \noindent{\bf Arguments:}
8324 \vspace{0.3cm}
8325 \begin{tabular}{|c|c|p{7cm}|}
8326 \hline
8327 {\bf type} & {\bf name} & {\bf description} \\ \hline
8328 {\tt PIF ref } & self & reference to the object \\ \hline
8330 {\tt string } & value & New value to set \\ \hline
8332 \end{tabular}
8334 \vspace{0.3cm}
8336 \noindent {\bf Return Type:}
8337 {\tt
8338 void
8343 \vspace{0.3cm}
8344 \vspace{0.3cm}
8345 \vspace{0.3cm}
8346 \subsubsection{RPC name:~get\_network}
8348 {\bf Overview:}
8349 Get the network field of the given PIF.
8351 \noindent {\bf Signature:}
8352 \begin{verbatim} (network ref) get_network (session_id s, PIF 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 PIF ref } & self & reference to the object \\ \hline
8364 \end{tabular}
8366 \vspace{0.3cm}
8368 \noindent {\bf Return Type:}
8369 {\tt
8370 network ref
8374 value of the field
8375 \vspace{0.3cm}
8376 \vspace{0.3cm}
8377 \vspace{0.3cm}
8378 \subsubsection{RPC name:~get\_host}
8380 {\bf Overview:}
8381 Get the host field of the given PIF.
8383 \noindent {\bf Signature:}
8384 \begin{verbatim} (host ref) get_host (session_id s, PIF 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 PIF ref } & self & reference to the object \\ \hline
8396 \end{tabular}
8398 \vspace{0.3cm}
8400 \noindent {\bf Return Type:}
8401 {\tt
8402 host ref
8406 value of the field
8407 \vspace{0.3cm}
8408 \vspace{0.3cm}
8409 \vspace{0.3cm}
8410 \subsubsection{RPC name:~get\_MAC}
8412 {\bf Overview:}
8413 Get the MAC field of the given PIF.
8415 \noindent {\bf Signature:}
8416 \begin{verbatim} string get_MAC (session_id s, PIF 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 PIF 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:~set\_MAC}
8444 {\bf Overview:}
8445 Set the MAC field of the given PIF.
8447 \noindent {\bf Signature:}
8448 \begin{verbatim} void set_MAC (session_id s, PIF ref self, string value)\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 PIF ref } & self & reference to the object \\ \hline
8460 {\tt string } & value & New value to set \\ \hline
8462 \end{tabular}
8464 \vspace{0.3cm}
8466 \noindent {\bf Return Type:}
8467 {\tt
8468 void
8473 \vspace{0.3cm}
8474 \vspace{0.3cm}
8475 \vspace{0.3cm}
8476 \subsubsection{RPC name:~get\_MTU}
8478 {\bf Overview:}
8479 Get the MTU field of the given PIF.
8481 \noindent {\bf Signature:}
8482 \begin{verbatim} int get_MTU (session_id s, PIF ref self)\end{verbatim}
8485 \noindent{\bf Arguments:}
8488 \vspace{0.3cm}
8489 \begin{tabular}{|c|c|p{7cm}|}
8490 \hline
8491 {\bf type} & {\bf name} & {\bf description} \\ \hline
8492 {\tt PIF ref } & self & reference to the object \\ \hline
8494 \end{tabular}
8496 \vspace{0.3cm}
8498 \noindent {\bf Return Type:}
8499 {\tt
8500 int
8504 value of the field
8505 \vspace{0.3cm}
8506 \vspace{0.3cm}
8507 \vspace{0.3cm}
8508 \subsubsection{RPC name:~set\_MTU}
8510 {\bf Overview:}
8511 Set the MTU field of the given PIF.
8513 \noindent {\bf Signature:}
8514 \begin{verbatim} void set_MTU (session_id s, PIF ref self, int value)\end{verbatim}
8517 \noindent{\bf Arguments:}
8520 \vspace{0.3cm}
8521 \begin{tabular}{|c|c|p{7cm}|}
8522 \hline
8523 {\bf type} & {\bf name} & {\bf description} \\ \hline
8524 {\tt PIF ref } & self & reference to the object \\ \hline
8526 {\tt int } & value & New value to set \\ \hline
8528 \end{tabular}
8530 \vspace{0.3cm}
8532 \noindent {\bf Return Type:}
8533 {\tt
8534 void
8539 \vspace{0.3cm}
8540 \vspace{0.3cm}
8541 \vspace{0.3cm}
8542 \subsubsection{RPC name:~get\_VLAN}
8544 {\bf Overview:}
8545 Get the VLAN field of the given PIF.
8547 \noindent {\bf Signature:}
8548 \begin{verbatim} int get_VLAN (session_id s, PIF ref self)\end{verbatim}
8551 \noindent{\bf Arguments:}
8554 \vspace{0.3cm}
8555 \begin{tabular}{|c|c|p{7cm}|}
8556 \hline
8557 {\bf type} & {\bf name} & {\bf description} \\ \hline
8558 {\tt PIF ref } & self & reference to the object \\ \hline
8560 \end{tabular}
8562 \vspace{0.3cm}
8564 \noindent {\bf Return Type:}
8565 {\tt
8566 int
8570 value of the field
8571 \vspace{0.3cm}
8572 \vspace{0.3cm}
8573 \vspace{0.3cm}
8574 \subsubsection{RPC name:~set\_VLAN}
8576 {\bf Overview:}
8577 Set the VLAN field of the given PIF.
8579 \noindent {\bf Signature:}
8580 \begin{verbatim} void set_VLAN (session_id s, PIF ref self, int value)\end{verbatim}
8583 \noindent{\bf Arguments:}
8586 \vspace{0.3cm}
8587 \begin{tabular}{|c|c|p{7cm}|}
8588 \hline
8589 {\bf type} & {\bf name} & {\bf description} \\ \hline
8590 {\tt PIF ref } & self & reference to the object \\ \hline
8592 {\tt int } & value & New value to set \\ \hline
8594 \end{tabular}
8596 \vspace{0.3cm}
8598 \noindent {\bf Return Type:}
8599 {\tt
8600 void
8605 \vspace{0.3cm}
8606 \vspace{0.3cm}
8607 \vspace{0.3cm}
8608 \subsubsection{RPC name:~get\_metrics}
8610 {\bf Overview:}
8611 Get the metrics field of the given PIF.
8613 \noindent {\bf Signature:}
8614 \begin{verbatim} (PIF_metrics ref) get_metrics (session_id s, PIF ref self)\end{verbatim}
8617 \noindent{\bf Arguments:}
8620 \vspace{0.3cm}
8621 \begin{tabular}{|c|c|p{7cm}|}
8622 \hline
8623 {\bf type} & {\bf name} & {\bf description} \\ \hline
8624 {\tt PIF ref } & self & reference to the object \\ \hline
8626 \end{tabular}
8628 \vspace{0.3cm}
8630 \noindent {\bf Return Type:}
8631 {\tt
8632 PIF\_metrics ref
8636 value of the field
8637 \vspace{0.3cm}
8638 \vspace{0.3cm}
8639 \vspace{0.3cm}
8640 \subsubsection{RPC name:~get\_by\_uuid}
8642 {\bf Overview:}
8643 Get a reference to the PIF instance with the specified UUID.
8645 \noindent {\bf Signature:}
8646 \begin{verbatim} (PIF ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
8649 \noindent{\bf Arguments:}
8652 \vspace{0.3cm}
8653 \begin{tabular}{|c|c|p{7cm}|}
8654 \hline
8655 {\bf type} & {\bf name} & {\bf description} \\ \hline
8656 {\tt string } & uuid & UUID of object to return \\ \hline
8658 \end{tabular}
8660 \vspace{0.3cm}
8662 \noindent {\bf Return Type:}
8663 {\tt
8664 PIF ref
8668 reference to the object
8669 \vspace{0.3cm}
8670 \vspace{0.3cm}
8671 \vspace{0.3cm}
8672 \subsubsection{RPC name:~get\_record}
8674 {\bf Overview:}
8675 Get a record containing the current state of the given PIF.
8677 \noindent {\bf Signature:}
8678 \begin{verbatim} (PIF record) get_record (session_id s, PIF ref self)\end{verbatim}
8681 \noindent{\bf Arguments:}
8684 \vspace{0.3cm}
8685 \begin{tabular}{|c|c|p{7cm}|}
8686 \hline
8687 {\bf type} & {\bf name} & {\bf description} \\ \hline
8688 {\tt PIF ref } & self & reference to the object \\ \hline
8690 \end{tabular}
8692 \vspace{0.3cm}
8694 \noindent {\bf Return Type:}
8695 {\tt
8696 PIF record
8700 all fields from the object
8701 \vspace{0.3cm}
8702 \vspace{0.3cm}
8703 \vspace{0.3cm}
8705 \vspace{1cm}
8706 \newpage
8707 \section{Class: PIF\_metrics}
8708 \subsection{Fields for class: PIF\_metrics}
8709 \begin{longtable}{|lllp{0.38\textwidth}|}
8710 \hline
8711 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf PIF\_metrics} \\
8712 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em
8713 The metrics associated with a physical network interface.}} \\
8714 \hline
8715 Quals & Field & Type & Description \\
8716 \hline
8717 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
8718 $\mathit{RO}_\mathit{run}$ & {\tt io/read\_kbs} & float & Read bandwidth (KiB/s) \\
8719 $\mathit{RO}_\mathit{run}$ & {\tt io/write\_kbs} & float & Write bandwidth (KiB/s) \\
8720 \hline
8721 \end{longtable}
8722 \subsection{Additional RPCs associated with class: PIF\_metrics}
8723 \subsubsection{RPC name:~get\_all}
8725 {\bf Overview:}
8726 Return a list of all the PIF\_metrics instances known to the system.
8728 \noindent {\bf Signature:}
8729 \begin{verbatim} ((PIF_metrics ref) Set) get_all (session_id s)\end{verbatim}
8732 \vspace{0.3cm}
8734 \noindent {\bf Return Type:}
8735 {\tt
8736 (PIF\_metrics ref) Set
8740 references to all objects
8741 \vspace{0.3cm}
8742 \vspace{0.3cm}
8743 \vspace{0.3cm}
8744 \subsubsection{RPC name:~get\_uuid}
8746 {\bf Overview:}
8747 Get the uuid field of the given PIF\_metrics.
8749 \noindent {\bf Signature:}
8750 \begin{verbatim} string get_uuid (session_id s, PIF_metrics ref self)\end{verbatim}
8753 \noindent{\bf Arguments:}
8756 \vspace{0.3cm}
8757 \begin{tabular}{|c|c|p{7cm}|}
8758 \hline
8759 {\bf type} & {\bf name} & {\bf description} \\ \hline
8760 {\tt PIF\_metrics ref } & self & reference to the object \\ \hline
8762 \end{tabular}
8764 \vspace{0.3cm}
8766 \noindent {\bf Return Type:}
8767 {\tt
8768 string
8772 value of the field
8773 \vspace{0.3cm}
8774 \vspace{0.3cm}
8775 \vspace{0.3cm}
8776 \subsubsection{RPC name:~get\_io\_read\_kbs}
8778 {\bf Overview:}
8779 Get the io/read\_kbs field of the given PIF\_metrics.
8781 \noindent {\bf Signature:}
8782 \begin{verbatim} float get_io_read_kbs (session_id s, PIF_metrics ref self)\end{verbatim}
8785 \noindent{\bf Arguments:}
8788 \vspace{0.3cm}
8789 \begin{tabular}{|c|c|p{7cm}|}
8790 \hline
8791 {\bf type} & {\bf name} & {\bf description} \\ \hline
8792 {\tt PIF\_metrics ref } & self & reference to the object \\ \hline
8794 \end{tabular}
8796 \vspace{0.3cm}
8798 \noindent {\bf Return Type:}
8799 {\tt
8800 float
8804 value of the field
8805 \vspace{0.3cm}
8806 \vspace{0.3cm}
8807 \vspace{0.3cm}
8808 \subsubsection{RPC name:~get\_io\_write\_kbs}
8810 {\bf Overview:}
8811 Get the io/write\_kbs field of the given PIF\_metrics.
8813 \noindent {\bf Signature:}
8814 \begin{verbatim} float get_io_write_kbs (session_id s, PIF_metrics ref self)\end{verbatim}
8817 \noindent{\bf Arguments:}
8820 \vspace{0.3cm}
8821 \begin{tabular}{|c|c|p{7cm}|}
8822 \hline
8823 {\bf type} & {\bf name} & {\bf description} \\ \hline
8824 {\tt PIF\_metrics ref } & self & reference to the object \\ \hline
8826 \end{tabular}
8828 \vspace{0.3cm}
8830 \noindent {\bf Return Type:}
8831 {\tt
8832 float
8836 value of the field
8837 \vspace{0.3cm}
8838 \vspace{0.3cm}
8839 \vspace{0.3cm}
8840 \subsubsection{RPC name:~get\_by\_uuid}
8842 {\bf Overview:}
8843 Get a reference to the PIF\_metrics instance with the specified UUID.
8845 \noindent {\bf Signature:}
8846 \begin{verbatim} (PIF_metrics ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
8849 \noindent{\bf Arguments:}
8852 \vspace{0.3cm}
8853 \begin{tabular}{|c|c|p{7cm}|}
8854 \hline
8855 {\bf type} & {\bf name} & {\bf description} \\ \hline
8856 {\tt string } & uuid & UUID of object to return \\ \hline
8858 \end{tabular}
8860 \vspace{0.3cm}
8862 \noindent {\bf Return Type:}
8863 {\tt
8864 PIF\_metrics ref
8868 reference to the object
8869 \vspace{0.3cm}
8870 \vspace{0.3cm}
8871 \vspace{0.3cm}
8872 \subsubsection{RPC name:~get\_record}
8874 {\bf Overview:}
8875 Get a record containing the current state of the given PIF\_metrics.
8877 \noindent {\bf Signature:}
8878 \begin{verbatim} (PIF_metrics record) get_record (session_id s, PIF_metrics ref self)\end{verbatim}
8881 \noindent{\bf Arguments:}
8884 \vspace{0.3cm}
8885 \begin{tabular}{|c|c|p{7cm}|}
8886 \hline
8887 {\bf type} & {\bf name} & {\bf description} \\ \hline
8888 {\tt PIF\_metrics ref } & self & reference to the object \\ \hline
8890 \end{tabular}
8892 \vspace{0.3cm}
8894 \noindent {\bf Return Type:}
8895 {\tt
8896 PIF\_metrics record
8900 all fields from the object
8901 \vspace{0.3cm}
8902 \vspace{0.3cm}
8903 \vspace{0.3cm}
8905 \vspace{1cm}
8906 \newpage
8907 \section{Class: SR}
8908 \subsection{Fields for class: SR}
8909 \begin{longtable}{|lllp{0.38\textwidth}|}
8910 \hline
8911 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf SR} \\
8912 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
8913 storage repository.}} \\
8914 \hline
8915 Quals & Field & Type & Description \\
8916 \hline
8917 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
8918 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
8919 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
8920 $\mathit{RO}_\mathit{run}$ & {\tt VDIs} & (VDI ref) Set & managed virtual disks \\
8921 $\mathit{RO}_\mathit{run}$ & {\tt PBDs} & (PBD ref) Set & physical blockdevices \\
8922 $\mathit{RO}_\mathit{run}$ & {\tt virtual\_allocation} & int & sum of virtual\_sizes of all VDIs in this storage repository (in bytes) \\
8923 $\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 \\
8924 $\mathit{RO}_\mathit{ins}$ & {\tt physical\_size} & int & total physical size of the repository (in bytes) \\
8925 $\mathit{RO}_\mathit{ins}$ & {\tt type} & string & type of the storage repository \\
8926 $\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 \\
8927 \hline
8928 \end{longtable}
8929 \subsection{Additional RPCs associated with class: SR}
8930 \subsubsection{RPC name:~clone}
8932 {\bf Overview:}
8933 Take an exact copy of the Storage Repository;
8934 the cloned storage repository has the same type as its parent
8936 \noindent {\bf Signature:}
8937 \begin{verbatim} (SR ref) clone (session_id s, SR ref sr, string loc, string name)\end{verbatim}
8940 \noindent{\bf Arguments:}
8943 \vspace{0.3cm}
8944 \begin{tabular}{|c|c|p{7cm}|}
8945 \hline
8946 {\bf type} & {\bf name} & {\bf description} \\ \hline
8947 {\tt SR ref } & sr & The Storage Repository to clone \\ \hline
8949 {\tt string } & loc & The location string that defines where the new storage repository will be located \\ \hline
8951 {\tt string } & name & The name of the new storage repository \\ \hline
8953 \end{tabular}
8955 \vspace{0.3cm}
8957 \noindent {\bf Return Type:}
8958 {\tt
8959 SR ref
8963 The ID of the newly created Storage Repository.
8964 \vspace{0.3cm}
8965 \vspace{0.3cm}
8966 \vspace{0.3cm}
8967 \subsubsection{RPC name:~get\_all}
8969 {\bf Overview:}
8970 Return a list of all the Storage Repositories known to the system
8972 \noindent {\bf Signature:}
8973 \begin{verbatim} ((SR ref) Set) get_all (session_id s)\end{verbatim}
8976 \vspace{0.3cm}
8978 \noindent {\bf Return Type:}
8979 {\tt
8980 (SR ref) Set
8984 A list of all the IDs of all the Storage Repositories
8985 \vspace{0.3cm}
8986 \vspace{0.3cm}
8987 \vspace{0.3cm}
8988 \subsubsection{RPC name:~get\_uuid}
8990 {\bf Overview:}
8991 Get the uuid field of the given SR.
8993 \noindent {\bf Signature:}
8994 \begin{verbatim} string get_uuid (session_id s, SR ref self)\end{verbatim}
8997 \noindent{\bf Arguments:}
9000 \vspace{0.3cm}
9001 \begin{tabular}{|c|c|p{7cm}|}
9002 \hline
9003 {\bf type} & {\bf name} & {\bf description} \\ \hline
9004 {\tt SR ref } & self & reference to the object \\ \hline
9006 \end{tabular}
9008 \vspace{0.3cm}
9010 \noindent {\bf Return Type:}
9011 {\tt
9012 string
9016 value of the field
9017 \vspace{0.3cm}
9018 \vspace{0.3cm}
9019 \vspace{0.3cm}
9020 \subsubsection{RPC name:~get\_name\_label}
9022 {\bf Overview:}
9023 Get the name/label field of the given SR.
9025 \noindent {\bf Signature:}
9026 \begin{verbatim} string get_name_label (session_id s, SR ref self)\end{verbatim}
9029 \noindent{\bf Arguments:}
9032 \vspace{0.3cm}
9033 \begin{tabular}{|c|c|p{7cm}|}
9034 \hline
9035 {\bf type} & {\bf name} & {\bf description} \\ \hline
9036 {\tt SR ref } & self & reference to the object \\ \hline
9038 \end{tabular}
9040 \vspace{0.3cm}
9042 \noindent {\bf Return Type:}
9043 {\tt
9044 string
9048 value of the field
9049 \vspace{0.3cm}
9050 \vspace{0.3cm}
9051 \vspace{0.3cm}
9052 \subsubsection{RPC name:~set\_name\_label}
9054 {\bf Overview:}
9055 Set the name/label field of the given SR.
9057 \noindent {\bf Signature:}
9058 \begin{verbatim} void set_name_label (session_id s, SR ref self, string value)\end{verbatim}
9061 \noindent{\bf Arguments:}
9064 \vspace{0.3cm}
9065 \begin{tabular}{|c|c|p{7cm}|}
9066 \hline
9067 {\bf type} & {\bf name} & {\bf description} \\ \hline
9068 {\tt SR ref } & self & reference to the object \\ \hline
9070 {\tt string } & value & New value to set \\ \hline
9072 \end{tabular}
9074 \vspace{0.3cm}
9076 \noindent {\bf Return Type:}
9077 {\tt
9078 void
9083 \vspace{0.3cm}
9084 \vspace{0.3cm}
9085 \vspace{0.3cm}
9086 \subsubsection{RPC name:~get\_name\_description}
9088 {\bf Overview:}
9089 Get the name/description field of the given SR.
9091 \noindent {\bf Signature:}
9092 \begin{verbatim} string get_name_description (session_id s, SR ref self)\end{verbatim}
9095 \noindent{\bf Arguments:}
9098 \vspace{0.3cm}
9099 \begin{tabular}{|c|c|p{7cm}|}
9100 \hline
9101 {\bf type} & {\bf name} & {\bf description} \\ \hline
9102 {\tt SR ref } & self & reference to the object \\ \hline
9104 \end{tabular}
9106 \vspace{0.3cm}
9108 \noindent {\bf Return Type:}
9109 {\tt
9110 string
9114 value of the field
9115 \vspace{0.3cm}
9116 \vspace{0.3cm}
9117 \vspace{0.3cm}
9118 \subsubsection{RPC name:~set\_name\_description}
9120 {\bf Overview:}
9121 Set the name/description field of the given SR.
9123 \noindent {\bf Signature:}
9124 \begin{verbatim} void set_name_description (session_id s, SR ref self, string value)\end{verbatim}
9127 \noindent{\bf Arguments:}
9130 \vspace{0.3cm}
9131 \begin{tabular}{|c|c|p{7cm}|}
9132 \hline
9133 {\bf type} & {\bf name} & {\bf description} \\ \hline
9134 {\tt SR ref } & self & reference to the object \\ \hline
9136 {\tt string } & value & New value to set \\ \hline
9138 \end{tabular}
9140 \vspace{0.3cm}
9142 \noindent {\bf Return Type:}
9143 {\tt
9144 void
9149 \vspace{0.3cm}
9150 \vspace{0.3cm}
9151 \vspace{0.3cm}
9152 \subsubsection{RPC name:~get\_VDIs}
9154 {\bf Overview:}
9155 Get the VDIs field of the given SR.
9157 \noindent {\bf Signature:}
9158 \begin{verbatim} ((VDI ref) Set) get_VDIs (session_id s, SR ref self)\end{verbatim}
9161 \noindent{\bf Arguments:}
9164 \vspace{0.3cm}
9165 \begin{tabular}{|c|c|p{7cm}|}
9166 \hline
9167 {\bf type} & {\bf name} & {\bf description} \\ \hline
9168 {\tt SR ref } & self & reference to the object \\ \hline
9170 \end{tabular}
9172 \vspace{0.3cm}
9174 \noindent {\bf Return Type:}
9175 {\tt
9176 (VDI ref) Set
9180 value of the field
9181 \vspace{0.3cm}
9182 \vspace{0.3cm}
9183 \vspace{0.3cm}
9184 \subsubsection{RPC name:~get\_PBDs}
9186 {\bf Overview:}
9187 Get the PBDs field of the given SR.
9189 \noindent {\bf Signature:}
9190 \begin{verbatim} ((PBD ref) Set) get_PBDs (session_id s, SR ref self)\end{verbatim}
9193 \noindent{\bf Arguments:}
9196 \vspace{0.3cm}
9197 \begin{tabular}{|c|c|p{7cm}|}
9198 \hline
9199 {\bf type} & {\bf name} & {\bf description} \\ \hline
9200 {\tt SR ref } & self & reference to the object \\ \hline
9202 \end{tabular}
9204 \vspace{0.3cm}
9206 \noindent {\bf Return Type:}
9207 {\tt
9208 (PBD ref) Set
9212 value of the field
9213 \vspace{0.3cm}
9214 \vspace{0.3cm}
9215 \vspace{0.3cm}
9216 \subsubsection{RPC name:~get\_virtual\_allocation}
9218 {\bf Overview:}
9219 Get the virtual\_allocation field of the given SR.
9221 \noindent {\bf Signature:}
9222 \begin{verbatim} int get_virtual_allocation (session_id s, SR ref self)\end{verbatim}
9225 \noindent{\bf Arguments:}
9228 \vspace{0.3cm}
9229 \begin{tabular}{|c|c|p{7cm}|}
9230 \hline
9231 {\bf type} & {\bf name} & {\bf description} \\ \hline
9232 {\tt SR ref } & self & reference to the object \\ \hline
9234 \end{tabular}
9236 \vspace{0.3cm}
9238 \noindent {\bf Return Type:}
9239 {\tt
9240 int
9244 value of the field
9245 \vspace{0.3cm}
9246 \vspace{0.3cm}
9247 \vspace{0.3cm}
9248 \subsubsection{RPC name:~get\_physical\_utilisation}
9250 {\bf Overview:}
9251 Get the physical\_utilisation field of the given SR.
9253 \noindent {\bf Signature:}
9254 \begin{verbatim} int get_physical_utilisation (session_id s, SR ref self)\end{verbatim}
9257 \noindent{\bf Arguments:}
9260 \vspace{0.3cm}
9261 \begin{tabular}{|c|c|p{7cm}|}
9262 \hline
9263 {\bf type} & {\bf name} & {\bf description} \\ \hline
9264 {\tt SR ref } & self & reference to the object \\ \hline
9266 \end{tabular}
9268 \vspace{0.3cm}
9270 \noindent {\bf Return Type:}
9271 {\tt
9272 int
9276 value of the field
9277 \vspace{0.3cm}
9278 \vspace{0.3cm}
9279 \vspace{0.3cm}
9280 \subsubsection{RPC name:~get\_physical\_size}
9282 {\bf Overview:}
9283 Get the physical\_size field of the given SR.
9285 \noindent {\bf Signature:}
9286 \begin{verbatim} int get_physical_size (session_id s, SR ref self)\end{verbatim}
9289 \noindent{\bf Arguments:}
9292 \vspace{0.3cm}
9293 \begin{tabular}{|c|c|p{7cm}|}
9294 \hline
9295 {\bf type} & {\bf name} & {\bf description} \\ \hline
9296 {\tt SR ref } & self & reference to the object \\ \hline
9298 \end{tabular}
9300 \vspace{0.3cm}
9302 \noindent {\bf Return Type:}
9303 {\tt
9304 int
9308 value of the field
9309 \vspace{0.3cm}
9310 \vspace{0.3cm}
9311 \vspace{0.3cm}
9312 \subsubsection{RPC name:~get\_type}
9314 {\bf Overview:}
9315 Get the type field of the given SR.
9317 \noindent {\bf Signature:}
9318 \begin{verbatim} string get_type (session_id s, SR ref self)\end{verbatim}
9321 \noindent{\bf Arguments:}
9324 \vspace{0.3cm}
9325 \begin{tabular}{|c|c|p{7cm}|}
9326 \hline
9327 {\bf type} & {\bf name} & {\bf description} \\ \hline
9328 {\tt SR ref } & self & reference to the object \\ \hline
9330 \end{tabular}
9332 \vspace{0.3cm}
9334 \noindent {\bf Return Type:}
9335 {\tt
9336 string
9340 value of the field
9341 \vspace{0.3cm}
9342 \vspace{0.3cm}
9343 \vspace{0.3cm}
9344 \subsubsection{RPC name:~get\_location}
9346 {\bf Overview:}
9347 Get the location field of the given SR.
9349 \noindent {\bf Signature:}
9350 \begin{verbatim} string get_location (session_id s, SR ref self)\end{verbatim}
9353 \noindent{\bf Arguments:}
9356 \vspace{0.3cm}
9357 \begin{tabular}{|c|c|p{7cm}|}
9358 \hline
9359 {\bf type} & {\bf name} & {\bf description} \\ \hline
9360 {\tt SR ref } & self & reference to the object \\ \hline
9362 \end{tabular}
9364 \vspace{0.3cm}
9366 \noindent {\bf Return Type:}
9367 {\tt
9368 string
9372 value of the field
9373 \vspace{0.3cm}
9374 \vspace{0.3cm}
9375 \vspace{0.3cm}
9376 \subsubsection{RPC name:~create}
9378 {\bf Overview:}
9379 Create a new SR instance, and return its handle.
9381 \noindent {\bf Signature:}
9382 \begin{verbatim} (SR ref) create (session_id s, SR record args)\end{verbatim}
9385 \noindent{\bf Arguments:}
9388 \vspace{0.3cm}
9389 \begin{tabular}{|c|c|p{7cm}|}
9390 \hline
9391 {\bf type} & {\bf name} & {\bf description} \\ \hline
9392 {\tt SR record } & args & All constructor arguments \\ \hline
9394 \end{tabular}
9396 \vspace{0.3cm}
9398 \noindent {\bf Return Type:}
9399 {\tt
9400 SR ref
9404 reference to the newly created object
9405 \vspace{0.3cm}
9406 \vspace{0.3cm}
9407 \vspace{0.3cm}
9408 \subsubsection{RPC name:~destroy}
9410 {\bf Overview:}
9411 Destroy the specified SR instance.
9413 \noindent {\bf Signature:}
9414 \begin{verbatim} void destroy (session_id s, SR ref self)\end{verbatim}
9417 \noindent{\bf Arguments:}
9420 \vspace{0.3cm}
9421 \begin{tabular}{|c|c|p{7cm}|}
9422 \hline
9423 {\bf type} & {\bf name} & {\bf description} \\ \hline
9424 {\tt SR ref } & self & reference to the object \\ \hline
9426 \end{tabular}
9428 \vspace{0.3cm}
9430 \noindent {\bf Return Type:}
9431 {\tt
9432 void
9437 \vspace{0.3cm}
9438 \vspace{0.3cm}
9439 \vspace{0.3cm}
9440 \subsubsection{RPC name:~get\_by\_uuid}
9442 {\bf Overview:}
9443 Get a reference to the SR instance with the specified UUID.
9445 \noindent {\bf Signature:}
9446 \begin{verbatim} (SR ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
9449 \noindent{\bf Arguments:}
9452 \vspace{0.3cm}
9453 \begin{tabular}{|c|c|p{7cm}|}
9454 \hline
9455 {\bf type} & {\bf name} & {\bf description} \\ \hline
9456 {\tt string } & uuid & UUID of object to return \\ \hline
9458 \end{tabular}
9460 \vspace{0.3cm}
9462 \noindent {\bf Return Type:}
9463 {\tt
9464 SR ref
9468 reference to the object
9469 \vspace{0.3cm}
9470 \vspace{0.3cm}
9471 \vspace{0.3cm}
9472 \subsubsection{RPC name:~get\_record}
9474 {\bf Overview:}
9475 Get a record containing the current state of the given SR.
9477 \noindent {\bf Signature:}
9478 \begin{verbatim} (SR record) get_record (session_id s, SR ref self)\end{verbatim}
9481 \noindent{\bf Arguments:}
9484 \vspace{0.3cm}
9485 \begin{tabular}{|c|c|p{7cm}|}
9486 \hline
9487 {\bf type} & {\bf name} & {\bf description} \\ \hline
9488 {\tt SR ref } & self & reference to the object \\ \hline
9490 \end{tabular}
9492 \vspace{0.3cm}
9494 \noindent {\bf Return Type:}
9495 {\tt
9496 SR record
9500 all fields from the object
9501 \vspace{0.3cm}
9502 \vspace{0.3cm}
9503 \vspace{0.3cm}
9504 \subsubsection{RPC name:~get\_by\_name\_label}
9506 {\bf Overview:}
9507 Get all the SR instances with the given label.
9509 \noindent {\bf Signature:}
9510 \begin{verbatim} ((SR ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
9513 \noindent{\bf Arguments:}
9516 \vspace{0.3cm}
9517 \begin{tabular}{|c|c|p{7cm}|}
9518 \hline
9519 {\bf type} & {\bf name} & {\bf description} \\ \hline
9520 {\tt string } & label & label of object to return \\ \hline
9522 \end{tabular}
9524 \vspace{0.3cm}
9526 \noindent {\bf Return Type:}
9527 {\tt
9528 (SR ref) Set
9532 references to objects with match names
9533 \vspace{0.3cm}
9534 \vspace{0.3cm}
9535 \vspace{0.3cm}
9537 \vspace{1cm}
9538 \newpage
9539 \section{Class: VDI}
9540 \subsection{Fields for class: VDI}
9541 \begin{longtable}{|lllp{0.38\textwidth}|}
9542 \hline
9543 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VDI} \\
9544 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
9545 virtual disk image.}} \\
9546 \hline
9547 Quals & Field & Type & Description \\
9548 \hline
9549 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
9550 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
9551 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
9552 $\mathit{RW}$ & {\tt SR} & SR ref & storage repository in which the VDI resides \\
9553 $\mathit{RO}_\mathit{run}$ & {\tt VBDs} & (VBD ref) Set & list of vbds that refer to this disk \\
9554 $\mathit{RO}_\mathit{run}$ & {\tt crash\_dumps} & (crashdump ref) Set & list of crash dumps that refer to this disk \\
9555 $\mathit{RW}$ & {\tt virtual\_size} & int & size of disk as presented to the guest (in bytes). Note that, depending on storage backend type, requested size may not be respected exactly \\
9556 $\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) \\
9557 $\mathit{RO}_\mathit{ins}$ & {\tt sector\_size} & int & sector size of VDI (in bytes) \\
9558 $\mathit{RO}_\mathit{ins}$ & {\tt type} & vdi\_type & type of the VDI \\
9559 $\mathit{RW}$ & {\tt sharable} & bool & true if this disk may be shared \\
9560 $\mathit{RW}$ & {\tt read\_only} & bool & true if this disk may ONLY be mounted read-only \\
9561 \hline
9562 \end{longtable}
9563 \subsection{Additional RPCs associated with class: VDI}
9564 \subsubsection{RPC name:~snapshot}
9566 {\bf Overview:}
9567 Take an exact copy of the VDI; the snapshot lives in the same Storage
9568 Repository as its parent.
9570 \noindent {\bf Signature:}
9571 \begin{verbatim} (VDI ref) snapshot (session_id s, VDI ref vdi)\end{verbatim}
9574 \noindent{\bf Arguments:}
9577 \vspace{0.3cm}
9578 \begin{tabular}{|c|c|p{7cm}|}
9579 \hline
9580 {\bf type} & {\bf name} & {\bf description} \\ \hline
9581 {\tt VDI ref } & vdi & The VDI to snapshot \\ \hline
9583 \end{tabular}
9585 \vspace{0.3cm}
9587 \noindent {\bf Return Type:}
9588 {\tt
9589 VDI ref
9593 The ID of the newly created VDI.
9594 \vspace{0.3cm}
9595 \vspace{0.3cm}
9596 \vspace{0.3cm}
9597 \subsubsection{RPC name:~resize}
9599 {\bf Overview:}
9600 Resize the vdi to the size.
9602 \noindent {\bf Signature:}
9603 \begin{verbatim} void resize (session_id s, VDI ref vdi, int size)\end{verbatim}
9606 \noindent{\bf Arguments:}
9609 \vspace{0.3cm}
9610 \begin{tabular}{|c|c|p{7cm}|}
9611 \hline
9612 {\bf type} & {\bf name} & {\bf description} \\ \hline
9613 {\tt VDI ref } & vdi & The VDI to resize \\ \hline
9615 {\tt int } & size & The new size of the VDI \\ \hline
9617 \end{tabular}
9619 \vspace{0.3cm}
9621 \noindent {\bf Return Type:}
9622 {\tt
9623 void
9628 \vspace{0.3cm}
9629 \vspace{0.3cm}
9630 \vspace{0.3cm}
9631 \subsubsection{RPC name:~get\_all}
9633 {\bf Overview:}
9634 Return a list of all the VDIs known to the system.
9636 \noindent {\bf Signature:}
9637 \begin{verbatim} ((VDI ref) Set) get_all (session_id s)\end{verbatim}
9640 \vspace{0.3cm}
9642 \noindent {\bf Return Type:}
9643 {\tt
9644 (VDI ref) Set
9648 references to all objects
9649 \vspace{0.3cm}
9650 \vspace{0.3cm}
9651 \vspace{0.3cm}
9652 \subsubsection{RPC name:~get\_uuid}
9654 {\bf Overview:}
9655 Get the uuid field of the given VDI.
9657 \noindent {\bf Signature:}
9658 \begin{verbatim} string get_uuid (session_id s, VDI ref self)\end{verbatim}
9661 \noindent{\bf Arguments:}
9664 \vspace{0.3cm}
9665 \begin{tabular}{|c|c|p{7cm}|}
9666 \hline
9667 {\bf type} & {\bf name} & {\bf description} \\ \hline
9668 {\tt VDI ref } & self & reference to the object \\ \hline
9670 \end{tabular}
9672 \vspace{0.3cm}
9674 \noindent {\bf Return Type:}
9675 {\tt
9676 string
9680 value of the field
9681 \vspace{0.3cm}
9682 \vspace{0.3cm}
9683 \vspace{0.3cm}
9684 \subsubsection{RPC name:~get\_name\_label}
9686 {\bf Overview:}
9687 Get the name/label field of the given VDI.
9689 \noindent {\bf Signature:}
9690 \begin{verbatim} string get_name_label (session_id s, VDI ref self)\end{verbatim}
9693 \noindent{\bf Arguments:}
9696 \vspace{0.3cm}
9697 \begin{tabular}{|c|c|p{7cm}|}
9698 \hline
9699 {\bf type} & {\bf name} & {\bf description} \\ \hline
9700 {\tt VDI ref } & self & reference to the object \\ \hline
9702 \end{tabular}
9704 \vspace{0.3cm}
9706 \noindent {\bf Return Type:}
9707 {\tt
9708 string
9712 value of the field
9713 \vspace{0.3cm}
9714 \vspace{0.3cm}
9715 \vspace{0.3cm}
9716 \subsubsection{RPC name:~set\_name\_label}
9718 {\bf Overview:}
9719 Set the name/label field of the given VDI.
9721 \noindent {\bf Signature:}
9722 \begin{verbatim} void set_name_label (session_id s, VDI ref self, string value)\end{verbatim}
9725 \noindent{\bf Arguments:}
9728 \vspace{0.3cm}
9729 \begin{tabular}{|c|c|p{7cm}|}
9730 \hline
9731 {\bf type} & {\bf name} & {\bf description} \\ \hline
9732 {\tt VDI ref } & self & reference to the object \\ \hline
9734 {\tt string } & value & New value to set \\ \hline
9736 \end{tabular}
9738 \vspace{0.3cm}
9740 \noindent {\bf Return Type:}
9741 {\tt
9742 void
9747 \vspace{0.3cm}
9748 \vspace{0.3cm}
9749 \vspace{0.3cm}
9750 \subsubsection{RPC name:~get\_name\_description}
9752 {\bf Overview:}
9753 Get the name/description field of the given VDI.
9755 \noindent {\bf Signature:}
9756 \begin{verbatim} string get_name_description (session_id s, VDI ref self)\end{verbatim}
9759 \noindent{\bf Arguments:}
9762 \vspace{0.3cm}
9763 \begin{tabular}{|c|c|p{7cm}|}
9764 \hline
9765 {\bf type} & {\bf name} & {\bf description} \\ \hline
9766 {\tt VDI ref } & self & reference to the object \\ \hline
9768 \end{tabular}
9770 \vspace{0.3cm}
9772 \noindent {\bf Return Type:}
9773 {\tt
9774 string
9778 value of the field
9779 \vspace{0.3cm}
9780 \vspace{0.3cm}
9781 \vspace{0.3cm}
9782 \subsubsection{RPC name:~set\_name\_description}
9784 {\bf Overview:}
9785 Set the name/description field of the given VDI.
9787 \noindent {\bf Signature:}
9788 \begin{verbatim} void set_name_description (session_id s, VDI ref self, string value)\end{verbatim}
9791 \noindent{\bf Arguments:}
9794 \vspace{0.3cm}
9795 \begin{tabular}{|c|c|p{7cm}|}
9796 \hline
9797 {\bf type} & {\bf name} & {\bf description} \\ \hline
9798 {\tt VDI ref } & self & reference to the object \\ \hline
9800 {\tt string } & value & New value to set \\ \hline
9802 \end{tabular}
9804 \vspace{0.3cm}
9806 \noindent {\bf Return Type:}
9807 {\tt
9808 void
9813 \vspace{0.3cm}
9814 \vspace{0.3cm}
9815 \vspace{0.3cm}
9816 \subsubsection{RPC name:~get\_SR}
9818 {\bf Overview:}
9819 Get the SR field of the given VDI.
9821 \noindent {\bf Signature:}
9822 \begin{verbatim} (SR ref) get_SR (session_id s, VDI ref self)\end{verbatim}
9825 \noindent{\bf Arguments:}
9828 \vspace{0.3cm}
9829 \begin{tabular}{|c|c|p{7cm}|}
9830 \hline
9831 {\bf type} & {\bf name} & {\bf description} \\ \hline
9832 {\tt VDI ref } & self & reference to the object \\ \hline
9834 \end{tabular}
9836 \vspace{0.3cm}
9838 \noindent {\bf Return Type:}
9839 {\tt
9840 SR ref
9844 value of the field
9845 \vspace{0.3cm}
9846 \vspace{0.3cm}
9847 \vspace{0.3cm}
9848 \subsubsection{RPC name:~set\_SR}
9850 {\bf Overview:}
9851 Set the SR field of the given VDI.
9853 \noindent {\bf Signature:}
9854 \begin{verbatim} void set_SR (session_id s, VDI ref self, SR ref value)\end{verbatim}
9857 \noindent{\bf Arguments:}
9860 \vspace{0.3cm}
9861 \begin{tabular}{|c|c|p{7cm}|}
9862 \hline
9863 {\bf type} & {\bf name} & {\bf description} \\ \hline
9864 {\tt VDI ref } & self & reference to the object \\ \hline
9866 {\tt SR ref } & value & New value to set \\ \hline
9868 \end{tabular}
9870 \vspace{0.3cm}
9872 \noindent {\bf Return Type:}
9873 {\tt
9874 void
9879 \vspace{0.3cm}
9880 \vspace{0.3cm}
9881 \vspace{0.3cm}
9882 \subsubsection{RPC name:~get\_VBDs}
9884 {\bf Overview:}
9885 Get the VBDs field of the given VDI.
9887 \noindent {\bf Signature:}
9888 \begin{verbatim} ((VBD ref) Set) get_VBDs (session_id s, VDI ref self)\end{verbatim}
9891 \noindent{\bf Arguments:}
9894 \vspace{0.3cm}
9895 \begin{tabular}{|c|c|p{7cm}|}
9896 \hline
9897 {\bf type} & {\bf name} & {\bf description} \\ \hline
9898 {\tt VDI ref } & self & reference to the object \\ \hline
9900 \end{tabular}
9902 \vspace{0.3cm}
9904 \noindent {\bf Return Type:}
9905 {\tt
9906 (VBD ref) Set
9910 value of the field
9911 \vspace{0.3cm}
9912 \vspace{0.3cm}
9913 \vspace{0.3cm}
9914 \subsubsection{RPC name:~get\_crash\_dumps}
9916 {\bf Overview:}
9917 Get the crash\_dumps field of the given VDI.
9919 \noindent {\bf Signature:}
9920 \begin{verbatim} ((crashdump ref) Set) get_crash_dumps (session_id s, VDI ref self)\end{verbatim}
9923 \noindent{\bf Arguments:}
9926 \vspace{0.3cm}
9927 \begin{tabular}{|c|c|p{7cm}|}
9928 \hline
9929 {\bf type} & {\bf name} & {\bf description} \\ \hline
9930 {\tt VDI ref } & self & reference to the object \\ \hline
9932 \end{tabular}
9934 \vspace{0.3cm}
9936 \noindent {\bf Return Type:}
9937 {\tt
9938 (crashdump ref) Set
9942 value of the field
9943 \vspace{0.3cm}
9944 \vspace{0.3cm}
9945 \vspace{0.3cm}
9946 \subsubsection{RPC name:~get\_virtual\_size}
9948 {\bf Overview:}
9949 Get the virtual\_size field of the given VDI.
9951 \noindent {\bf Signature:}
9952 \begin{verbatim} int get_virtual_size (session_id s, VDI ref self)\end{verbatim}
9955 \noindent{\bf Arguments:}
9958 \vspace{0.3cm}
9959 \begin{tabular}{|c|c|p{7cm}|}
9960 \hline
9961 {\bf type} & {\bf name} & {\bf description} \\ \hline
9962 {\tt VDI ref } & self & reference to the object \\ \hline
9964 \end{tabular}
9966 \vspace{0.3cm}
9968 \noindent {\bf Return Type:}
9969 {\tt
9970 int
9974 value of the field
9975 \vspace{0.3cm}
9976 \vspace{0.3cm}
9977 \vspace{0.3cm}
9978 \subsubsection{RPC name:~set\_virtual\_size}
9980 {\bf Overview:}
9981 Set the virtual\_size field of the given VDI.
9983 \noindent {\bf Signature:}
9984 \begin{verbatim} void set_virtual_size (session_id s, VDI ref self, int value)\end{verbatim}
9987 \noindent{\bf Arguments:}
9990 \vspace{0.3cm}
9991 \begin{tabular}{|c|c|p{7cm}|}
9992 \hline
9993 {\bf type} & {\bf name} & {\bf description} \\ \hline
9994 {\tt VDI ref } & self & reference to the object \\ \hline
9996 {\tt int } & value & New value to set \\ \hline
9998 \end{tabular}
10000 \vspace{0.3cm}
10002 \noindent {\bf Return Type:}
10003 {\tt
10004 void
10009 \vspace{0.3cm}
10010 \vspace{0.3cm}
10011 \vspace{0.3cm}
10012 \subsubsection{RPC name:~get\_physical\_utilisation}
10014 {\bf Overview:}
10015 Get the physical\_utilisation field of the given VDI.
10017 \noindent {\bf Signature:}
10018 \begin{verbatim} int get_physical_utilisation (session_id s, VDI ref self)\end{verbatim}
10021 \noindent{\bf Arguments:}
10024 \vspace{0.3cm}
10025 \begin{tabular}{|c|c|p{7cm}|}
10026 \hline
10027 {\bf type} & {\bf name} & {\bf description} \\ \hline
10028 {\tt VDI ref } & self & reference to the object \\ \hline
10030 \end{tabular}
10032 \vspace{0.3cm}
10034 \noindent {\bf Return Type:}
10035 {\tt
10036 int
10040 value of the field
10041 \vspace{0.3cm}
10042 \vspace{0.3cm}
10043 \vspace{0.3cm}
10044 \subsubsection{RPC name:~get\_sector\_size}
10046 {\bf Overview:}
10047 Get the sector\_size field of the given VDI.
10049 \noindent {\bf Signature:}
10050 \begin{verbatim} int get_sector_size (session_id s, VDI ref self)\end{verbatim}
10053 \noindent{\bf Arguments:}
10056 \vspace{0.3cm}
10057 \begin{tabular}{|c|c|p{7cm}|}
10058 \hline
10059 {\bf type} & {\bf name} & {\bf description} \\ \hline
10060 {\tt VDI ref } & self & reference to the object \\ \hline
10062 \end{tabular}
10064 \vspace{0.3cm}
10066 \noindent {\bf Return Type:}
10067 {\tt
10068 int
10072 value of the field
10073 \vspace{0.3cm}
10074 \vspace{0.3cm}
10075 \vspace{0.3cm}
10076 \subsubsection{RPC name:~get\_type}
10078 {\bf Overview:}
10079 Get the type field of the given VDI.
10081 \noindent {\bf Signature:}
10082 \begin{verbatim} (vdi_type) get_type (session_id s, VDI ref self)\end{verbatim}
10085 \noindent{\bf Arguments:}
10088 \vspace{0.3cm}
10089 \begin{tabular}{|c|c|p{7cm}|}
10090 \hline
10091 {\bf type} & {\bf name} & {\bf description} \\ \hline
10092 {\tt VDI ref } & self & reference to the object \\ \hline
10094 \end{tabular}
10096 \vspace{0.3cm}
10098 \noindent {\bf Return Type:}
10099 {\tt
10100 vdi\_type
10104 value of the field
10105 \vspace{0.3cm}
10106 \vspace{0.3cm}
10107 \vspace{0.3cm}
10108 \subsubsection{RPC name:~get\_sharable}
10110 {\bf Overview:}
10111 Get the sharable field of the given VDI.
10113 \noindent {\bf Signature:}
10114 \begin{verbatim} bool get_sharable (session_id s, VDI ref self)\end{verbatim}
10117 \noindent{\bf Arguments:}
10120 \vspace{0.3cm}
10121 \begin{tabular}{|c|c|p{7cm}|}
10122 \hline
10123 {\bf type} & {\bf name} & {\bf description} \\ \hline
10124 {\tt VDI ref } & self & reference to the object \\ \hline
10126 \end{tabular}
10128 \vspace{0.3cm}
10130 \noindent {\bf Return Type:}
10131 {\tt
10132 bool
10136 value of the field
10137 \vspace{0.3cm}
10138 \vspace{0.3cm}
10139 \vspace{0.3cm}
10140 \subsubsection{RPC name:~set\_sharable}
10142 {\bf Overview:}
10143 Set the sharable field of the given VDI.
10145 \noindent {\bf Signature:}
10146 \begin{verbatim} void set_sharable (session_id s, VDI ref self, bool value)\end{verbatim}
10149 \noindent{\bf Arguments:}
10152 \vspace{0.3cm}
10153 \begin{tabular}{|c|c|p{7cm}|}
10154 \hline
10155 {\bf type} & {\bf name} & {\bf description} \\ \hline
10156 {\tt VDI ref } & self & reference to the object \\ \hline
10158 {\tt bool } & value & New value to set \\ \hline
10160 \end{tabular}
10162 \vspace{0.3cm}
10164 \noindent {\bf Return Type:}
10165 {\tt
10166 void
10171 \vspace{0.3cm}
10172 \vspace{0.3cm}
10173 \vspace{0.3cm}
10174 \subsubsection{RPC name:~get\_read\_only}
10176 {\bf Overview:}
10177 Get the read\_only field of the given VDI.
10179 \noindent {\bf Signature:}
10180 \begin{verbatim} bool get_read_only (session_id s, VDI 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 VDI ref } & self & reference to the object \\ \hline
10192 \end{tabular}
10194 \vspace{0.3cm}
10196 \noindent {\bf Return Type:}
10197 {\tt
10198 bool
10202 value of the field
10203 \vspace{0.3cm}
10204 \vspace{0.3cm}
10205 \vspace{0.3cm}
10206 \subsubsection{RPC name:~set\_read\_only}
10208 {\bf Overview:}
10209 Set the read\_only field of the given VDI.
10211 \noindent {\bf Signature:}
10212 \begin{verbatim} void set_read_only (session_id s, VDI ref self, bool value)\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 VDI ref } & self & reference to the object \\ \hline
10224 {\tt bool } & value & New value to set \\ \hline
10226 \end{tabular}
10228 \vspace{0.3cm}
10230 \noindent {\bf Return Type:}
10231 {\tt
10232 void
10237 \vspace{0.3cm}
10238 \vspace{0.3cm}
10239 \vspace{0.3cm}
10240 \subsubsection{RPC name:~create}
10242 {\bf Overview:}
10243 Create a new VDI instance, and return its handle.
10245 \noindent {\bf Signature:}
10246 \begin{verbatim} (VDI ref) create (session_id s, VDI record args)\end{verbatim}
10249 \noindent{\bf Arguments:}
10252 \vspace{0.3cm}
10253 \begin{tabular}{|c|c|p{7cm}|}
10254 \hline
10255 {\bf type} & {\bf name} & {\bf description} \\ \hline
10256 {\tt VDI record } & args & All constructor arguments \\ \hline
10258 \end{tabular}
10260 \vspace{0.3cm}
10262 \noindent {\bf Return Type:}
10263 {\tt
10264 VDI ref
10268 reference to the newly created object
10269 \vspace{0.3cm}
10270 \vspace{0.3cm}
10271 \vspace{0.3cm}
10272 \subsubsection{RPC name:~destroy}
10274 {\bf Overview:}
10275 Destroy the specified VDI instance.
10277 \noindent {\bf Signature:}
10278 \begin{verbatim} void destroy (session_id s, VDI ref self)\end{verbatim}
10281 \noindent{\bf Arguments:}
10284 \vspace{0.3cm}
10285 \begin{tabular}{|c|c|p{7cm}|}
10286 \hline
10287 {\bf type} & {\bf name} & {\bf description} \\ \hline
10288 {\tt VDI ref } & self & reference to the object \\ \hline
10290 \end{tabular}
10292 \vspace{0.3cm}
10294 \noindent {\bf Return Type:}
10295 {\tt
10296 void
10301 \vspace{0.3cm}
10302 \vspace{0.3cm}
10303 \vspace{0.3cm}
10304 \subsubsection{RPC name:~get\_by\_uuid}
10306 {\bf Overview:}
10307 Get a reference to the VDI instance with the specified UUID.
10309 \noindent {\bf Signature:}
10310 \begin{verbatim} (VDI ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
10313 \noindent{\bf Arguments:}
10316 \vspace{0.3cm}
10317 \begin{tabular}{|c|c|p{7cm}|}
10318 \hline
10319 {\bf type} & {\bf name} & {\bf description} \\ \hline
10320 {\tt string } & uuid & UUID of object to return \\ \hline
10322 \end{tabular}
10324 \vspace{0.3cm}
10326 \noindent {\bf Return Type:}
10327 {\tt
10328 VDI ref
10332 reference to the object
10333 \vspace{0.3cm}
10334 \vspace{0.3cm}
10335 \vspace{0.3cm}
10336 \subsubsection{RPC name:~get\_record}
10338 {\bf Overview:}
10339 Get a record containing the current state of the given VDI.
10341 \noindent {\bf Signature:}
10342 \begin{verbatim} (VDI record) get_record (session_id s, VDI ref self)\end{verbatim}
10345 \noindent{\bf Arguments:}
10348 \vspace{0.3cm}
10349 \begin{tabular}{|c|c|p{7cm}|}
10350 \hline
10351 {\bf type} & {\bf name} & {\bf description} \\ \hline
10352 {\tt VDI ref } & self & reference to the object \\ \hline
10354 \end{tabular}
10356 \vspace{0.3cm}
10358 \noindent {\bf Return Type:}
10359 {\tt
10360 VDI record
10364 all fields from the object
10365 \vspace{0.3cm}
10366 \vspace{0.3cm}
10367 \vspace{0.3cm}
10368 \subsubsection{RPC name:~get\_by\_name\_label}
10370 {\bf Overview:}
10371 Get all the VDI instances with the given label.
10373 \noindent {\bf Signature:}
10374 \begin{verbatim} ((VDI ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
10377 \noindent{\bf Arguments:}
10380 \vspace{0.3cm}
10381 \begin{tabular}{|c|c|p{7cm}|}
10382 \hline
10383 {\bf type} & {\bf name} & {\bf description} \\ \hline
10384 {\tt string } & label & label of object to return \\ \hline
10386 \end{tabular}
10388 \vspace{0.3cm}
10390 \noindent {\bf Return Type:}
10391 {\tt
10392 (VDI ref) Set
10396 references to objects with match names
10397 \vspace{0.3cm}
10398 \vspace{0.3cm}
10399 \vspace{0.3cm}
10401 \vspace{1cm}
10402 \newpage
10403 \section{Class: VBD}
10404 \subsection{Fields for class: VBD}
10405 \begin{longtable}{|lllp{0.38\textwidth}|}
10406 \hline
10407 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VBD} \\
10408 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
10409 virtual block device.}} \\
10410 \hline
10411 Quals & Field & Type & Description \\
10412 \hline
10413 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
10414 $\mathit{RO}_\mathit{ins}$ & {\tt VM} & VM ref & the virtual machine \\
10415 $\mathit{RO}_\mathit{ins}$ & {\tt VDI} & VDI ref & the virtual disk \\
10416 $\mathit{RW}$ & {\tt device} & string & device seen by the guest e.g. hda1 \\
10417 $\mathit{RW}$ & {\tt bootable} & bool & true if this VBD is bootable \\
10418 $\mathit{RW}$ & {\tt mode} & vbd\_mode & the mode the VBD should be mounted with \\
10419 $\mathit{RW}$ & {\tt type} & vbd\_type & how the VBD will appear to the guest (e.g. disk or CD) \\
10420 $\mathit{RO}_\mathit{run}$ & {\tt currently\_attached} & bool & is the device currently attached (erased on reboot) \\
10421 $\mathit{RO}_\mathit{run}$ & {\tt status\_code} & int & error/success code associated with last attach-operation (erased on reboot) \\
10422 $\mathit{RO}_\mathit{run}$ & {\tt status\_detail} & string & error/success information associated with last attach-operation status (erased on reboot) \\
10423 $\mathit{RW}$ & {\tt qos/algorithm\_type} & string & QoS algorithm to use \\
10424 $\mathit{RW}$ & {\tt qos/algorithm\_params} & (string $\rightarrow$ string) Map & parameters for chosen QoS algorithm \\
10425 $\mathit{RO}_\mathit{run}$ & {\tt qos/supported\_algorithms} & string Set & supported QoS algorithms for this VBD \\
10426 $\mathit{RO}_\mathit{run}$ & {\tt metrics} & VBD\_metrics ref & metrics associated with this VBD \\
10427 \hline
10428 \end{longtable}
10429 \subsection{Additional RPCs associated with class: VBD}
10430 \subsubsection{RPC name:~media\_change}
10432 {\bf Overview:}
10433 Change the media in the device for CDROM-like devices only. For other
10434 devices, detach the VBD and attach a new one.
10436 \noindent {\bf Signature:}
10437 \begin{verbatim} void media_change (session_id s, VBD ref vbd, VDI ref vdi)\end{verbatim}
10440 \noindent{\bf Arguments:}
10443 \vspace{0.3cm}
10444 \begin{tabular}{|c|c|p{7cm}|}
10445 \hline
10446 {\bf type} & {\bf name} & {\bf description} \\ \hline
10447 {\tt VBD ref } & vbd & The vbd representing the CDROM-like device \\ \hline
10449 {\tt VDI ref } & vdi & The new VDI to 'insert' \\ \hline
10451 \end{tabular}
10453 \vspace{0.3cm}
10455 \noindent {\bf Return Type:}
10456 {\tt
10457 void
10462 \vspace{0.3cm}
10463 \vspace{0.3cm}
10464 \vspace{0.3cm}
10465 \subsubsection{RPC name:~get\_all}
10467 {\bf Overview:}
10468 Return a list of all the VBDs known to the system.
10470 \noindent {\bf Signature:}
10471 \begin{verbatim} ((VBD ref) Set) get_all (session_id s)\end{verbatim}
10474 \vspace{0.3cm}
10476 \noindent {\bf Return Type:}
10477 {\tt
10478 (VBD ref) Set
10482 references to all objects
10483 \vspace{0.3cm}
10484 \vspace{0.3cm}
10485 \vspace{0.3cm}
10486 \subsubsection{RPC name:~get\_uuid}
10488 {\bf Overview:}
10489 Get the uuid field of the given VBD.
10491 \noindent {\bf Signature:}
10492 \begin{verbatim} string get_uuid (session_id s, VBD ref self)\end{verbatim}
10495 \noindent{\bf Arguments:}
10498 \vspace{0.3cm}
10499 \begin{tabular}{|c|c|p{7cm}|}
10500 \hline
10501 {\bf type} & {\bf name} & {\bf description} \\ \hline
10502 {\tt VBD ref } & self & reference to the object \\ \hline
10504 \end{tabular}
10506 \vspace{0.3cm}
10508 \noindent {\bf Return Type:}
10509 {\tt
10510 string
10514 value of the field
10515 \vspace{0.3cm}
10516 \vspace{0.3cm}
10517 \vspace{0.3cm}
10518 \subsubsection{RPC name:~get\_VM}
10520 {\bf Overview:}
10521 Get the VM field of the given VBD.
10523 \noindent {\bf Signature:}
10524 \begin{verbatim} (VM ref) get_VM (session_id s, VBD ref self)\end{verbatim}
10527 \noindent{\bf Arguments:}
10530 \vspace{0.3cm}
10531 \begin{tabular}{|c|c|p{7cm}|}
10532 \hline
10533 {\bf type} & {\bf name} & {\bf description} \\ \hline
10534 {\tt VBD ref } & self & reference to the object \\ \hline
10536 \end{tabular}
10538 \vspace{0.3cm}
10540 \noindent {\bf Return Type:}
10541 {\tt
10542 VM ref
10546 value of the field
10547 \vspace{0.3cm}
10548 \vspace{0.3cm}
10549 \vspace{0.3cm}
10550 \subsubsection{RPC name:~get\_VDI}
10552 {\bf Overview:}
10553 Get the VDI field of the given VBD.
10555 \noindent {\bf Signature:}
10556 \begin{verbatim} (VDI ref) get_VDI (session_id s, VBD ref self)\end{verbatim}
10559 \noindent{\bf Arguments:}
10562 \vspace{0.3cm}
10563 \begin{tabular}{|c|c|p{7cm}|}
10564 \hline
10565 {\bf type} & {\bf name} & {\bf description} \\ \hline
10566 {\tt VBD ref } & self & reference to the object \\ \hline
10568 \end{tabular}
10570 \vspace{0.3cm}
10572 \noindent {\bf Return Type:}
10573 {\tt
10574 VDI ref
10578 value of the field
10579 \vspace{0.3cm}
10580 \vspace{0.3cm}
10581 \vspace{0.3cm}
10582 \subsubsection{RPC name:~get\_device}
10584 {\bf Overview:}
10585 Get the device field of the given VBD.
10587 \noindent {\bf Signature:}
10588 \begin{verbatim} string get_device (session_id s, VBD ref self)\end{verbatim}
10591 \noindent{\bf Arguments:}
10594 \vspace{0.3cm}
10595 \begin{tabular}{|c|c|p{7cm}|}
10596 \hline
10597 {\bf type} & {\bf name} & {\bf description} \\ \hline
10598 {\tt VBD ref } & self & reference to the object \\ \hline
10600 \end{tabular}
10602 \vspace{0.3cm}
10604 \noindent {\bf Return Type:}
10605 {\tt
10606 string
10610 value of the field
10611 \vspace{0.3cm}
10612 \vspace{0.3cm}
10613 \vspace{0.3cm}
10614 \subsubsection{RPC name:~set\_device}
10616 {\bf Overview:}
10617 Set the device field of the given VBD.
10619 \noindent {\bf Signature:}
10620 \begin{verbatim} void set_device (session_id s, VBD ref self, string value)\end{verbatim}
10623 \noindent{\bf Arguments:}
10626 \vspace{0.3cm}
10627 \begin{tabular}{|c|c|p{7cm}|}
10628 \hline
10629 {\bf type} & {\bf name} & {\bf description} \\ \hline
10630 {\tt VBD ref } & self & reference to the object \\ \hline
10632 {\tt string } & value & New value to set \\ \hline
10634 \end{tabular}
10636 \vspace{0.3cm}
10638 \noindent {\bf Return Type:}
10639 {\tt
10640 void
10645 \vspace{0.3cm}
10646 \vspace{0.3cm}
10647 \vspace{0.3cm}
10648 \subsubsection{RPC name:~get\_bootable}
10650 {\bf Overview:}
10651 Get the bootable field of the given VBD.
10653 \noindent {\bf Signature:}
10654 \begin{verbatim} bool get_bootable (session_id s, VBD ref self)\end{verbatim}
10657 \noindent{\bf Arguments:}
10660 \vspace{0.3cm}
10661 \begin{tabular}{|c|c|p{7cm}|}
10662 \hline
10663 {\bf type} & {\bf name} & {\bf description} \\ \hline
10664 {\tt VBD ref } & self & reference to the object \\ \hline
10666 \end{tabular}
10668 \vspace{0.3cm}
10670 \noindent {\bf Return Type:}
10671 {\tt
10672 bool
10676 value of the field
10677 \vspace{0.3cm}
10678 \vspace{0.3cm}
10679 \vspace{0.3cm}
10680 \subsubsection{RPC name:~set\_bootable}
10682 {\bf Overview:}
10683 Set the bootable field of the given VBD.
10685 \noindent {\bf Signature:}
10686 \begin{verbatim} void set_bootable (session_id s, VBD ref self, bool value)\end{verbatim}
10689 \noindent{\bf Arguments:}
10692 \vspace{0.3cm}
10693 \begin{tabular}{|c|c|p{7cm}|}
10694 \hline
10695 {\bf type} & {\bf name} & {\bf description} \\ \hline
10696 {\tt VBD ref } & self & reference to the object \\ \hline
10698 {\tt bool } & value & New value to set \\ \hline
10700 \end{tabular}
10702 \vspace{0.3cm}
10704 \noindent {\bf Return Type:}
10705 {\tt
10706 void
10711 \vspace{0.3cm}
10712 \vspace{0.3cm}
10713 \vspace{0.3cm}
10714 \subsubsection{RPC name:~get\_mode}
10716 {\bf Overview:}
10717 Get the mode field of the given VBD.
10719 \noindent {\bf Signature:}
10720 \begin{verbatim} (vbd_mode) get_mode (session_id s, VBD ref self)\end{verbatim}
10723 \noindent{\bf Arguments:}
10726 \vspace{0.3cm}
10727 \begin{tabular}{|c|c|p{7cm}|}
10728 \hline
10729 {\bf type} & {\bf name} & {\bf description} \\ \hline
10730 {\tt VBD ref } & self & reference to the object \\ \hline
10732 \end{tabular}
10734 \vspace{0.3cm}
10736 \noindent {\bf Return Type:}
10737 {\tt
10738 vbd\_mode
10742 value of the field
10743 \vspace{0.3cm}
10744 \vspace{0.3cm}
10745 \vspace{0.3cm}
10746 \subsubsection{RPC name:~set\_mode}
10748 {\bf Overview:}
10749 Set the mode field of the given VBD.
10751 \noindent {\bf Signature:}
10752 \begin{verbatim} void set_mode (session_id s, VBD ref self, vbd_mode value)\end{verbatim}
10755 \noindent{\bf Arguments:}
10758 \vspace{0.3cm}
10759 \begin{tabular}{|c|c|p{7cm}|}
10760 \hline
10761 {\bf type} & {\bf name} & {\bf description} \\ \hline
10762 {\tt VBD ref } & self & reference to the object \\ \hline
10764 {\tt vbd\_mode } & value & New value to set \\ \hline
10766 \end{tabular}
10768 \vspace{0.3cm}
10770 \noindent {\bf Return Type:}
10771 {\tt
10772 void
10777 \vspace{0.3cm}
10778 \vspace{0.3cm}
10779 \vspace{0.3cm}
10780 \subsubsection{RPC name:~get\_type}
10782 {\bf Overview:}
10783 Get the type field of the given VBD.
10785 \noindent {\bf Signature:}
10786 \begin{verbatim} (vbd_type) get_type (session_id s, VBD ref self)\end{verbatim}
10789 \noindent{\bf Arguments:}
10792 \vspace{0.3cm}
10793 \begin{tabular}{|c|c|p{7cm}|}
10794 \hline
10795 {\bf type} & {\bf name} & {\bf description} \\ \hline
10796 {\tt VBD ref } & self & reference to the object \\ \hline
10798 \end{tabular}
10800 \vspace{0.3cm}
10802 \noindent {\bf Return Type:}
10803 {\tt
10804 vbd\_type
10808 value of the field
10809 \vspace{0.3cm}
10810 \vspace{0.3cm}
10811 \vspace{0.3cm}
10812 \subsubsection{RPC name:~set\_type}
10814 {\bf Overview:}
10815 Set the type field of the given VBD.
10817 \noindent {\bf Signature:}
10818 \begin{verbatim} void set_type (session_id s, VBD ref self, vbd_type value)\end{verbatim}
10821 \noindent{\bf Arguments:}
10824 \vspace{0.3cm}
10825 \begin{tabular}{|c|c|p{7cm}|}
10826 \hline
10827 {\bf type} & {\bf name} & {\bf description} \\ \hline
10828 {\tt VBD ref } & self & reference to the object \\ \hline
10830 {\tt vbd\_type } & value & New value to set \\ \hline
10832 \end{tabular}
10834 \vspace{0.3cm}
10836 \noindent {\bf Return Type:}
10837 {\tt
10838 void
10843 \vspace{0.3cm}
10844 \vspace{0.3cm}
10845 \vspace{0.3cm}
10846 \subsubsection{RPC name:~get\_currently\_attached}
10848 {\bf Overview:}
10849 Get the currently\_attached field of the given VBD.
10851 \noindent {\bf Signature:}
10852 \begin{verbatim} bool get_currently_attached (session_id s, VBD ref self)\end{verbatim}
10855 \noindent{\bf Arguments:}
10858 \vspace{0.3cm}
10859 \begin{tabular}{|c|c|p{7cm}|}
10860 \hline
10861 {\bf type} & {\bf name} & {\bf description} \\ \hline
10862 {\tt VBD ref } & self & reference to the object \\ \hline
10864 \end{tabular}
10866 \vspace{0.3cm}
10868 \noindent {\bf Return Type:}
10869 {\tt
10870 bool
10874 value of the field
10875 \vspace{0.3cm}
10876 \vspace{0.3cm}
10877 \vspace{0.3cm}
10878 \subsubsection{RPC name:~get\_status\_code}
10880 {\bf Overview:}
10881 Get the status\_code field of the given VBD.
10883 \noindent {\bf Signature:}
10884 \begin{verbatim} int get_status_code (session_id s, VBD ref self)\end{verbatim}
10887 \noindent{\bf Arguments:}
10890 \vspace{0.3cm}
10891 \begin{tabular}{|c|c|p{7cm}|}
10892 \hline
10893 {\bf type} & {\bf name} & {\bf description} \\ \hline
10894 {\tt VBD ref } & self & reference to the object \\ \hline
10896 \end{tabular}
10898 \vspace{0.3cm}
10900 \noindent {\bf Return Type:}
10901 {\tt
10902 int
10906 value of the field
10907 \vspace{0.3cm}
10908 \vspace{0.3cm}
10909 \vspace{0.3cm}
10910 \subsubsection{RPC name:~get\_status\_detail}
10912 {\bf Overview:}
10913 Get the status\_detail field of the given VBD.
10915 \noindent {\bf Signature:}
10916 \begin{verbatim} string get_status_detail (session_id s, VBD ref self)\end{verbatim}
10919 \noindent{\bf Arguments:}
10922 \vspace{0.3cm}
10923 \begin{tabular}{|c|c|p{7cm}|}
10924 \hline
10925 {\bf type} & {\bf name} & {\bf description} \\ \hline
10926 {\tt VBD ref } & self & reference to the object \\ \hline
10928 \end{tabular}
10930 \vspace{0.3cm}
10932 \noindent {\bf Return Type:}
10933 {\tt
10934 string
10938 value of the field
10939 \vspace{0.3cm}
10940 \vspace{0.3cm}
10941 \vspace{0.3cm}
10942 \subsubsection{RPC name:~get\_qos\_algorithm\_type}
10944 {\bf Overview:}
10945 Get the qos/algorithm\_type field of the given VBD.
10947 \noindent {\bf Signature:}
10948 \begin{verbatim} string get_qos_algorithm_type (session_id s, VBD ref self)\end{verbatim}
10951 \noindent{\bf Arguments:}
10954 \vspace{0.3cm}
10955 \begin{tabular}{|c|c|p{7cm}|}
10956 \hline
10957 {\bf type} & {\bf name} & {\bf description} \\ \hline
10958 {\tt VBD ref } & self & reference to the object \\ \hline
10960 \end{tabular}
10962 \vspace{0.3cm}
10964 \noindent {\bf Return Type:}
10965 {\tt
10966 string
10970 value of the field
10971 \vspace{0.3cm}
10972 \vspace{0.3cm}
10973 \vspace{0.3cm}
10974 \subsubsection{RPC name:~set\_qos\_algorithm\_type}
10976 {\bf Overview:}
10977 Set the qos/algorithm\_type field of the given VBD.
10979 \noindent {\bf Signature:}
10980 \begin{verbatim} void set_qos_algorithm_type (session_id s, VBD ref self, string value)\end{verbatim}
10983 \noindent{\bf Arguments:}
10986 \vspace{0.3cm}
10987 \begin{tabular}{|c|c|p{7cm}|}
10988 \hline
10989 {\bf type} & {\bf name} & {\bf description} \\ \hline
10990 {\tt VBD ref } & self & reference to the object \\ \hline
10992 {\tt string } & value & New value to set \\ \hline
10994 \end{tabular}
10996 \vspace{0.3cm}
10998 \noindent {\bf Return Type:}
10999 {\tt
11000 void
11005 \vspace{0.3cm}
11006 \vspace{0.3cm}
11007 \vspace{0.3cm}
11008 \subsubsection{RPC name:~get\_qos\_algorithm\_params}
11010 {\bf Overview:}
11011 Get the qos/algorithm\_params field of the given VBD.
11013 \noindent {\bf Signature:}
11014 \begin{verbatim} ((string -> string) Map) get_qos_algorithm_params (session_id s, VBD ref self)\end{verbatim}
11017 \noindent{\bf Arguments:}
11020 \vspace{0.3cm}
11021 \begin{tabular}{|c|c|p{7cm}|}
11022 \hline
11023 {\bf type} & {\bf name} & {\bf description} \\ \hline
11024 {\tt VBD ref } & self & reference to the object \\ \hline
11026 \end{tabular}
11028 \vspace{0.3cm}
11030 \noindent {\bf Return Type:}
11031 {\tt
11032 (string $\rightarrow$ string) Map