direct-io.hg

view docs/xen-api/xenapi-datamodel.tex @ 14342:e5d7b878118f

Added an VM_HVM_REQUIRED error code, and use it on VM.start.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
author Ewan Mellor <ewan@xensource.com>
date Sat Mar 10 23:22:00 2007 +0000 (2007-03-10)
parents 0affe03ee985
children e4e1435e4c63
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{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{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').}} \\
1026 \hline
1027 Quals & Field & Type & Description \\
1028 \hline
1029 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
1030 $\mathit{RO}_\mathit{run}$ & {\tt power\_state} & vm\_power\_state & Current power state of the machine \\
1031 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
1032 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
1033 $\mathit{RW}$ & {\tt user\_version} & int & a user version number for this machine \\
1034 $\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 \\
1035 $\mathit{RW}$ & {\tt auto\_power\_on} & bool & true if this VM should be started automatically after host boot \\
1036 $\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) \\
1037 $\mathit{RO}_\mathit{run}$ & {\tt resident\_on} & host ref & the host the VM is currently resident on \\
1038 $\mathit{RW}$ & {\tt memory/static\_max} & int & Statically-set (i.e. absolute) maximum (bytes) \\
1039 $\mathit{RW}$ & {\tt memory/dynamic\_max} & int & Dynamic maximum (bytes) \\
1040 $\mathit{RW}$ & {\tt memory/dynamic\_min} & int & Dynamic minimum (bytes) \\
1041 $\mathit{RW}$ & {\tt memory/static\_min} & int & Statically-set (i.e. absolute) mininum (bytes) \\
1042 $\mathit{RW}$ & {\tt VCPUs/policy} & string & the name of the VCPU scheduling policy to be applied \\
1043 $\mathit{RW}$ & {\tt VCPUs/params} & (string $\rightarrow$ string) Map & configuration parameters for the selected VCPU policy \\
1044 $\mathit{RW}$ & {\tt VCPUs/max} & int & Max number of VCPUs \\
1045 $\mathit{RW}$ & {\tt VCPUs/at\_startup} & int & Boot number of VCPUs \\
1046 $\mathit{RW}$ & {\tt actions/after\_shutdown} & on\_normal\_exit & action to take after the guest has shutdown itself \\
1047 $\mathit{RW}$ & {\tt actions/after\_reboot} & on\_normal\_exit & action to take after the guest has rebooted itself \\
1048 $\mathit{RW}$ & {\tt actions/after\_crash} & on\_crash\_behaviour & action to take if the guest crashes \\
1049 $\mathit{RO}_\mathit{run}$ & {\tt consoles} & (console ref) Set & virtual console devices \\
1050 $\mathit{RO}_\mathit{run}$ & {\tt VIFs} & (VIF ref) Set & virtual network interfaces \\
1051 $\mathit{RO}_\mathit{run}$ & {\tt VBDs} & (VBD ref) Set & virtual block devices \\
1052 $\mathit{RO}_\mathit{run}$ & {\tt crash\_dumps} & (crashdump ref) Set & crash dumps associated with this VM \\
1053 $\mathit{RO}_\mathit{run}$ & {\tt VTPMs} & (VTPM ref) Set & virtual TPMs \\
1054 $\mathit{RW}$ & {\tt PV/bootloader} & string & name of or path to bootloader \\
1055 $\mathit{RW}$ & {\tt PV/kernel} & string & path to the kernel \\
1056 $\mathit{RW}$ & {\tt PV/ramdisk} & string & path to the initrd \\
1057 $\mathit{RW}$ & {\tt PV/args} & string & kernel command-line arguments \\
1058 $\mathit{RW}$ & {\tt PV/bootloader\_args} & string & miscellaneous arguments for the bootloader \\
1059 $\mathit{RW}$ & {\tt HVM/boot\_policy} & string & HVM boot policy \\
1060 $\mathit{RW}$ & {\tt HVM/boot\_params} & (string $\rightarrow$ string) Map & HVM boot params \\
1061 $\mathit{RW}$ & {\tt platform} & (string $\rightarrow$ string) Map & platform-specific configuration \\
1062 $\mathit{RW}$ & {\tt PCI\_bus} & string & PCI bus path for pass-through devices \\
1063 $\mathit{RW}$ & {\tt other\_config} & (string $\rightarrow$ string) Map & additional configuration \\
1064 $\mathit{RO}_\mathit{run}$ & {\tt domid} & int & domain ID (if available, -1 otherwise) \\
1065 $\mathit{RO}_\mathit{run}$ & {\tt is\_control\_domain} & bool & true if this is a control domain (domain 0 or a driver domain) \\
1066 $\mathit{RO}_\mathit{run}$ & {\tt metrics} & VM\_metrics ref & metrics associated with this VM. \\
1067 $\mathit{RO}_\mathit{run}$ & {\tt guest\_metrics} & VM\_guest\_metrics ref & metrics associated with the running guest \\
1068 \hline
1069 \end{longtable}
1070 \subsection{RPCs associated with class: VM}
1071 \subsubsection{RPC name:~clone}
1073 {\bf Overview:}
1074 Clones the specified VM, making a new VM. Clone automatically exploits the
1075 capabilities of the underlying storage repository in which the VM's disk
1076 images are stored (e.g. Copy on Write). This function can only be called
1077 when the VM is in the Halted State.
1079 \noindent {\bf Signature:}
1080 \begin{verbatim} (VM ref) clone (session_id s, VM ref vm, string new_name)\end{verbatim}
1083 \noindent{\bf Arguments:}
1086 \vspace{0.3cm}
1087 \begin{tabular}{|c|c|p{7cm}|}
1088 \hline
1089 {\bf type} & {\bf name} & {\bf description} \\ \hline
1090 {\tt VM ref } & vm & The VM to be cloned \\ \hline
1092 {\tt string } & new\_name & The name of the cloned VM \\ \hline
1094 \end{tabular}
1096 \vspace{0.3cm}
1098 \noindent {\bf Return Type:}
1099 {\tt
1100 VM ref
1104 The ID of the newly created VM.
1105 \vspace{0.3cm}
1107 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1109 \vspace{0.6cm}
1110 \subsubsection{RPC name:~start}
1112 {\bf Overview:}
1113 Start the specified VM. This function can only be called with the VM is in
1114 the Halted State.
1116 \noindent {\bf Signature:}
1117 \begin{verbatim} void start (session_id s, VM ref vm, bool start_paused)\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 start \\ \hline
1129 {\tt bool } & start\_paused & Instantiate VM in paused state if set to true. \\ \hline
1131 \end{tabular}
1133 \vspace{0.3cm}
1135 \noindent {\bf Return Type:}
1136 {\tt
1137 void
1142 \vspace{0.3cm}
1144 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}, {\tt
1145 VM\_HVM\_REQUIRED}
1147 \vspace{0.6cm}
1148 \subsubsection{RPC name:~pause}
1150 {\bf Overview:}
1151 Pause the specified VM. This can only be called when the specified VM is in
1152 the Running state.
1154 \noindent {\bf Signature:}
1155 \begin{verbatim} void pause (session_id s, VM ref vm)\end{verbatim}
1158 \noindent{\bf Arguments:}
1161 \vspace{0.3cm}
1162 \begin{tabular}{|c|c|p{7cm}|}
1163 \hline
1164 {\bf type} & {\bf name} & {\bf description} \\ \hline
1165 {\tt VM ref } & vm & The VM to pause \\ \hline
1167 \end{tabular}
1169 \vspace{0.3cm}
1171 \noindent {\bf Return Type:}
1172 {\tt
1173 void
1178 \vspace{0.3cm}
1180 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1182 \vspace{0.6cm}
1183 \subsubsection{RPC name:~unpause}
1185 {\bf Overview:}
1186 Resume the specified VM. This can only be called when the specified VM is
1187 in the Paused state.
1189 \noindent {\bf Signature:}
1190 \begin{verbatim} void unpause (session_id s, VM ref vm)\end{verbatim}
1193 \noindent{\bf Arguments:}
1196 \vspace{0.3cm}
1197 \begin{tabular}{|c|c|p{7cm}|}
1198 \hline
1199 {\bf type} & {\bf name} & {\bf description} \\ \hline
1200 {\tt VM ref } & vm & The VM to unpause \\ \hline
1202 \end{tabular}
1204 \vspace{0.3cm}
1206 \noindent {\bf Return Type:}
1207 {\tt
1208 void
1213 \vspace{0.3cm}
1215 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1217 \vspace{0.6cm}
1218 \subsubsection{RPC name:~clean\_shutdown}
1220 {\bf Overview:}
1221 Attempt to cleanly shutdown the specified VM. (Note: this may not be
1222 supported---e.g. if a guest agent is not installed).
1224 Once shutdown has been completed perform poweroff action specified in guest
1225 configuration.
1227 This can only be called when the specified VM is in the Running state.
1229 \noindent {\bf Signature:}
1230 \begin{verbatim} void clean_shutdown (session_id s, VM ref vm)\end{verbatim}
1233 \noindent{\bf Arguments:}
1236 \vspace{0.3cm}
1237 \begin{tabular}{|c|c|p{7cm}|}
1238 \hline
1239 {\bf type} & {\bf name} & {\bf description} \\ \hline
1240 {\tt VM ref } & vm & The VM to shutdown \\ \hline
1242 \end{tabular}
1244 \vspace{0.3cm}
1246 \noindent {\bf Return Type:}
1247 {\tt
1248 void
1253 \vspace{0.3cm}
1255 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1257 \vspace{0.6cm}
1258 \subsubsection{RPC name:~clean\_reboot}
1260 {\bf Overview:}
1261 Attempt to cleanly shutdown the specified VM (Note: this may not be
1262 supported---e.g. if a guest agent is not installed).
1264 Once shutdown has been completed perform reboot action specified in guest
1265 configuration.
1267 This can only be called when the specified VM is in the Running state.
1269 \noindent {\bf Signature:}
1270 \begin{verbatim} void clean_reboot (session_id s, VM ref vm)\end{verbatim}
1273 \noindent{\bf Arguments:}
1276 \vspace{0.3cm}
1277 \begin{tabular}{|c|c|p{7cm}|}
1278 \hline
1279 {\bf type} & {\bf name} & {\bf description} \\ \hline
1280 {\tt VM ref } & vm & The VM to shutdown \\ \hline
1282 \end{tabular}
1284 \vspace{0.3cm}
1286 \noindent {\bf Return Type:}
1287 {\tt
1288 void
1293 \vspace{0.3cm}
1295 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1297 \vspace{0.6cm}
1298 \subsubsection{RPC name:~hard\_shutdown}
1300 {\bf Overview:}
1301 Stop executing the specified VM without attempting a clean shutdown. Then
1302 perform poweroff action specified in VM configuration.
1304 \noindent {\bf Signature:}
1305 \begin{verbatim} void hard_shutdown (session_id s, VM ref vm)\end{verbatim}
1308 \noindent{\bf Arguments:}
1311 \vspace{0.3cm}
1312 \begin{tabular}{|c|c|p{7cm}|}
1313 \hline
1314 {\bf type} & {\bf name} & {\bf description} \\ \hline
1315 {\tt VM ref } & vm & The VM to destroy \\ \hline
1317 \end{tabular}
1319 \vspace{0.3cm}
1321 \noindent {\bf Return Type:}
1322 {\tt
1323 void
1328 \vspace{0.3cm}
1330 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1332 \vspace{0.6cm}
1333 \subsubsection{RPC name:~hard\_reboot}
1335 {\bf Overview:}
1336 Stop executing the specified VM without attempting a clean shutdown. Then
1337 perform reboot action specified in VM configuration.
1339 \noindent {\bf Signature:}
1340 \begin{verbatim} void hard_reboot (session_id s, VM ref vm)\end{verbatim}
1343 \noindent{\bf Arguments:}
1346 \vspace{0.3cm}
1347 \begin{tabular}{|c|c|p{7cm}|}
1348 \hline
1349 {\bf type} & {\bf name} & {\bf description} \\ \hline
1350 {\tt VM ref } & vm & The VM to reboot \\ \hline
1352 \end{tabular}
1354 \vspace{0.3cm}
1356 \noindent {\bf Return Type:}
1357 {\tt
1358 void
1363 \vspace{0.3cm}
1364 \vspace{0.3cm}
1365 \vspace{0.3cm}
1366 \subsubsection{RPC name:~suspend}
1368 {\bf Overview:}
1369 Suspend the specified VM to disk. This can only be called when the
1370 specified VM is in the Running state.
1372 \noindent {\bf Signature:}
1373 \begin{verbatim} void suspend (session_id s, VM ref vm)\end{verbatim}
1376 \noindent{\bf Arguments:}
1379 \vspace{0.3cm}
1380 \begin{tabular}{|c|c|p{7cm}|}
1381 \hline
1382 {\bf type} & {\bf name} & {\bf description} \\ \hline
1383 {\tt VM ref } & vm & The VM to hibernate \\ \hline
1385 \end{tabular}
1387 \vspace{0.3cm}
1389 \noindent {\bf Return Type:}
1390 {\tt
1391 void
1396 \vspace{0.3cm}
1398 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1400 \vspace{0.6cm}
1401 \subsubsection{RPC name:~resume}
1403 {\bf Overview:}
1404 Awaken the specified VM and resume it. This can only be called when the
1405 specified VM is in the Suspended state.
1407 \noindent {\bf Signature:}
1408 \begin{verbatim} void resume (session_id s, VM ref vm, bool start_paused)\end{verbatim}
1411 \noindent{\bf Arguments:}
1414 \vspace{0.3cm}
1415 \begin{tabular}{|c|c|p{7cm}|}
1416 \hline
1417 {\bf type} & {\bf name} & {\bf description} \\ \hline
1418 {\tt VM ref } & vm & The VM to unhibernate \\ \hline
1420 {\tt bool } & start\_paused & Unhibernate VM in paused state if set to true. \\ \hline
1422 \end{tabular}
1424 \vspace{0.3cm}
1426 \noindent {\bf Return Type:}
1427 {\tt
1428 void
1433 \vspace{0.3cm}
1435 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1437 \vspace{0.6cm}
1438 \subsubsection{RPC name:~get\_all}
1440 {\bf Overview:}
1441 Return a list of all the VMs known to the system.
1443 \noindent {\bf Signature:}
1444 \begin{verbatim} ((VM ref) Set) get_all (session_id s)\end{verbatim}
1447 \vspace{0.3cm}
1449 \noindent {\bf Return Type:}
1450 {\tt
1451 (VM ref) Set
1455 A list of all the IDs of all the VMs
1456 \vspace{0.3cm}
1457 \vspace{0.3cm}
1458 \vspace{0.3cm}
1459 \subsubsection{RPC name:~get\_uuid}
1461 {\bf Overview:}
1462 Get the uuid field of the given VM.
1464 \noindent {\bf Signature:}
1465 \begin{verbatim} string get_uuid (session_id s, VM ref self)\end{verbatim}
1468 \noindent{\bf Arguments:}
1471 \vspace{0.3cm}
1472 \begin{tabular}{|c|c|p{7cm}|}
1473 \hline
1474 {\bf type} & {\bf name} & {\bf description} \\ \hline
1475 {\tt VM ref } & self & reference to the object \\ \hline
1477 \end{tabular}
1479 \vspace{0.3cm}
1481 \noindent {\bf Return Type:}
1482 {\tt
1483 string
1487 value of the field
1488 \vspace{0.3cm}
1489 \vspace{0.3cm}
1490 \vspace{0.3cm}
1491 \subsubsection{RPC name:~get\_power\_state}
1493 {\bf Overview:}
1494 Get the power\_state field of the given VM.
1496 \noindent {\bf Signature:}
1497 \begin{verbatim} (vm_power_state) get_power_state (session_id s, VM ref self)\end{verbatim}
1500 \noindent{\bf Arguments:}
1503 \vspace{0.3cm}
1504 \begin{tabular}{|c|c|p{7cm}|}
1505 \hline
1506 {\bf type} & {\bf name} & {\bf description} \\ \hline
1507 {\tt VM ref } & self & reference to the object \\ \hline
1509 \end{tabular}
1511 \vspace{0.3cm}
1513 \noindent {\bf Return Type:}
1514 {\tt
1515 vm\_power\_state
1519 value of the field
1520 \vspace{0.3cm}
1521 \vspace{0.3cm}
1522 \vspace{0.3cm}
1523 \subsubsection{RPC name:~get\_name\_label}
1525 {\bf Overview:}
1526 Get the name/label field of the given VM.
1528 \noindent {\bf Signature:}
1529 \begin{verbatim} string get_name_label (session_id s, VM ref self)\end{verbatim}
1532 \noindent{\bf Arguments:}
1535 \vspace{0.3cm}
1536 \begin{tabular}{|c|c|p{7cm}|}
1537 \hline
1538 {\bf type} & {\bf name} & {\bf description} \\ \hline
1539 {\tt VM ref } & self & reference to the object \\ \hline
1541 \end{tabular}
1543 \vspace{0.3cm}
1545 \noindent {\bf Return Type:}
1546 {\tt
1547 string
1551 value of the field
1552 \vspace{0.3cm}
1553 \vspace{0.3cm}
1554 \vspace{0.3cm}
1555 \subsubsection{RPC name:~set\_name\_label}
1557 {\bf Overview:}
1558 Set the name/label field of the given VM.
1560 \noindent {\bf Signature:}
1561 \begin{verbatim} void set_name_label (session_id s, VM ref self, string value)\end{verbatim}
1564 \noindent{\bf Arguments:}
1567 \vspace{0.3cm}
1568 \begin{tabular}{|c|c|p{7cm}|}
1569 \hline
1570 {\bf type} & {\bf name} & {\bf description} \\ \hline
1571 {\tt VM ref } & self & reference to the object \\ \hline
1573 {\tt string } & value & New value to set \\ \hline
1575 \end{tabular}
1577 \vspace{0.3cm}
1579 \noindent {\bf Return Type:}
1580 {\tt
1581 void
1586 \vspace{0.3cm}
1587 \vspace{0.3cm}
1588 \vspace{0.3cm}
1589 \subsubsection{RPC name:~get\_name\_description}
1591 {\bf Overview:}
1592 Get the name/description field of the given VM.
1594 \noindent {\bf Signature:}
1595 \begin{verbatim} string get_name_description (session_id s, VM ref self)\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 \end{tabular}
1609 \vspace{0.3cm}
1611 \noindent {\bf Return Type:}
1612 {\tt
1613 string
1617 value of the field
1618 \vspace{0.3cm}
1619 \vspace{0.3cm}
1620 \vspace{0.3cm}
1621 \subsubsection{RPC name:~set\_name\_description}
1623 {\bf Overview:}
1624 Set the name/description field of the given VM.
1626 \noindent {\bf Signature:}
1627 \begin{verbatim} void set_name_description (session_id s, VM ref self, string value)\end{verbatim}
1630 \noindent{\bf Arguments:}
1633 \vspace{0.3cm}
1634 \begin{tabular}{|c|c|p{7cm}|}
1635 \hline
1636 {\bf type} & {\bf name} & {\bf description} \\ \hline
1637 {\tt VM ref } & self & reference to the object \\ \hline
1639 {\tt string } & value & New value to set \\ \hline
1641 \end{tabular}
1643 \vspace{0.3cm}
1645 \noindent {\bf Return Type:}
1646 {\tt
1647 void
1652 \vspace{0.3cm}
1653 \vspace{0.3cm}
1654 \vspace{0.3cm}
1655 \subsubsection{RPC name:~get\_user\_version}
1657 {\bf Overview:}
1658 Get the user\_version field of the given VM.
1660 \noindent {\bf Signature:}
1661 \begin{verbatim} int get_user_version (session_id s, VM ref self)\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 \end{tabular}
1675 \vspace{0.3cm}
1677 \noindent {\bf Return Type:}
1678 {\tt
1679 int
1683 value of the field
1684 \vspace{0.3cm}
1685 \vspace{0.3cm}
1686 \vspace{0.3cm}
1687 \subsubsection{RPC name:~set\_user\_version}
1689 {\bf Overview:}
1690 Set the user\_version field of the given VM.
1692 \noindent {\bf Signature:}
1693 \begin{verbatim} void set_user_version (session_id s, VM ref self, int value)\end{verbatim}
1696 \noindent{\bf Arguments:}
1699 \vspace{0.3cm}
1700 \begin{tabular}{|c|c|p{7cm}|}
1701 \hline
1702 {\bf type} & {\bf name} & {\bf description} \\ \hline
1703 {\tt VM ref } & self & reference to the object \\ \hline
1705 {\tt int } & value & New value to set \\ \hline
1707 \end{tabular}
1709 \vspace{0.3cm}
1711 \noindent {\bf Return Type:}
1712 {\tt
1713 void
1718 \vspace{0.3cm}
1719 \vspace{0.3cm}
1720 \vspace{0.3cm}
1721 \subsubsection{RPC name:~get\_is\_a\_template}
1723 {\bf Overview:}
1724 Get the is\_a\_template field of the given VM.
1726 \noindent {\bf Signature:}
1727 \begin{verbatim} bool get_is_a_template (session_id s, VM ref self)\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 \end{tabular}
1741 \vspace{0.3cm}
1743 \noindent {\bf Return Type:}
1744 {\tt
1745 bool
1749 value of the field
1750 \vspace{0.3cm}
1751 \vspace{0.3cm}
1752 \vspace{0.3cm}
1753 \subsubsection{RPC name:~set\_is\_a\_template}
1755 {\bf Overview:}
1756 Set the is\_a\_template field of the given VM.
1758 \noindent {\bf Signature:}
1759 \begin{verbatim} void set_is_a_template (session_id s, VM ref self, bool value)\end{verbatim}
1762 \noindent{\bf Arguments:}
1765 \vspace{0.3cm}
1766 \begin{tabular}{|c|c|p{7cm}|}
1767 \hline
1768 {\bf type} & {\bf name} & {\bf description} \\ \hline
1769 {\tt VM ref } & self & reference to the object \\ \hline
1771 {\tt bool } & value & New value to set \\ \hline
1773 \end{tabular}
1775 \vspace{0.3cm}
1777 \noindent {\bf Return Type:}
1778 {\tt
1779 void
1784 \vspace{0.3cm}
1785 \vspace{0.3cm}
1786 \vspace{0.3cm}
1787 \subsubsection{RPC name:~get\_auto\_power\_on}
1789 {\bf Overview:}
1790 Get the auto\_power\_on field of the given VM.
1792 \noindent {\bf Signature:}
1793 \begin{verbatim} bool get_auto_power_on (session_id s, VM ref self)\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 \end{tabular}
1807 \vspace{0.3cm}
1809 \noindent {\bf Return Type:}
1810 {\tt
1811 bool
1815 value of the field
1816 \vspace{0.3cm}
1817 \vspace{0.3cm}
1818 \vspace{0.3cm}
1819 \subsubsection{RPC name:~set\_auto\_power\_on}
1821 {\bf Overview:}
1822 Set the auto\_power\_on field of the given VM.
1824 \noindent {\bf Signature:}
1825 \begin{verbatim} void set_auto_power_on (session_id s, VM ref self, bool value)\end{verbatim}
1828 \noindent{\bf Arguments:}
1831 \vspace{0.3cm}
1832 \begin{tabular}{|c|c|p{7cm}|}
1833 \hline
1834 {\bf type} & {\bf name} & {\bf description} \\ \hline
1835 {\tt VM ref } & self & reference to the object \\ \hline
1837 {\tt bool } & value & New value to set \\ \hline
1839 \end{tabular}
1841 \vspace{0.3cm}
1843 \noindent {\bf Return Type:}
1844 {\tt
1845 void
1850 \vspace{0.3cm}
1851 \vspace{0.3cm}
1852 \vspace{0.3cm}
1853 \subsubsection{RPC name:~get\_suspend\_VDI}
1855 {\bf Overview:}
1856 Get the suspend\_VDI field of the given VM.
1858 \noindent {\bf Signature:}
1859 \begin{verbatim} (VDI ref) get_suspend_VDI (session_id s, VM ref self)\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 \end{tabular}
1873 \vspace{0.3cm}
1875 \noindent {\bf Return Type:}
1876 {\tt
1877 VDI ref
1881 value of the field
1882 \vspace{0.3cm}
1883 \vspace{0.3cm}
1884 \vspace{0.3cm}
1885 \subsubsection{RPC name:~get\_resident\_on}
1887 {\bf Overview:}
1888 Get the resident\_on field of the given VM.
1890 \noindent {\bf Signature:}
1891 \begin{verbatim} (host ref) get_resident_on (session_id s, VM ref self)\end{verbatim}
1894 \noindent{\bf Arguments:}
1897 \vspace{0.3cm}
1898 \begin{tabular}{|c|c|p{7cm}|}
1899 \hline
1900 {\bf type} & {\bf name} & {\bf description} \\ \hline
1901 {\tt VM ref } & self & reference to the object \\ \hline
1903 \end{tabular}
1905 \vspace{0.3cm}
1907 \noindent {\bf Return Type:}
1908 {\tt
1909 host ref
1913 value of the field
1914 \vspace{0.3cm}
1915 \vspace{0.3cm}
1916 \vspace{0.3cm}
1917 \subsubsection{RPC name:~get\_memory\_static\_max}
1919 {\bf Overview:}
1920 Get the memory/static\_max field of the given VM.
1922 \noindent {\bf Signature:}
1923 \begin{verbatim} int get_memory_static_max (session_id s, VM ref self)\end{verbatim}
1926 \noindent{\bf Arguments:}
1929 \vspace{0.3cm}
1930 \begin{tabular}{|c|c|p{7cm}|}
1931 \hline
1932 {\bf type} & {\bf name} & {\bf description} \\ \hline
1933 {\tt VM ref } & self & reference to the object \\ \hline
1935 \end{tabular}
1937 \vspace{0.3cm}
1939 \noindent {\bf Return Type:}
1940 {\tt
1941 int
1945 value of the field
1946 \vspace{0.3cm}
1947 \vspace{0.3cm}
1948 \vspace{0.3cm}
1949 \subsubsection{RPC name:~set\_memory\_static\_max}
1951 {\bf Overview:}
1952 Set the memory/static\_max field of the given VM.
1954 \noindent {\bf Signature:}
1955 \begin{verbatim} void set_memory_static_max (session_id s, VM ref self, int value)\end{verbatim}
1958 \noindent{\bf Arguments:}
1961 \vspace{0.3cm}
1962 \begin{tabular}{|c|c|p{7cm}|}
1963 \hline
1964 {\bf type} & {\bf name} & {\bf description} \\ \hline
1965 {\tt VM ref } & self & reference to the object \\ \hline
1967 {\tt int } & value & New value to set \\ \hline
1969 \end{tabular}
1971 \vspace{0.3cm}
1973 \noindent {\bf Return Type:}
1974 {\tt
1975 void
1980 \vspace{0.3cm}
1981 \vspace{0.3cm}
1982 \vspace{0.3cm}
1983 \subsubsection{RPC name:~get\_memory\_dynamic\_max}
1985 {\bf Overview:}
1986 Get the memory/dynamic\_max field of the given VM.
1988 \noindent {\bf Signature:}
1989 \begin{verbatim} int get_memory_dynamic_max (session_id s, VM ref self)\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 \end{tabular}
2003 \vspace{0.3cm}
2005 \noindent {\bf Return Type:}
2006 {\tt
2007 int
2011 value of the field
2012 \vspace{0.3cm}
2013 \vspace{0.3cm}
2014 \vspace{0.3cm}
2015 \subsubsection{RPC name:~set\_memory\_dynamic\_max}
2017 {\bf Overview:}
2018 Set the memory/dynamic\_max field of the given VM.
2020 \noindent {\bf Signature:}
2021 \begin{verbatim} void set_memory_dynamic_max (session_id s, VM ref self, int value)\end{verbatim}
2024 \noindent{\bf Arguments:}
2027 \vspace{0.3cm}
2028 \begin{tabular}{|c|c|p{7cm}|}
2029 \hline
2030 {\bf type} & {\bf name} & {\bf description} \\ \hline
2031 {\tt VM ref } & self & reference to the object \\ \hline
2033 {\tt int } & value & New value to set \\ \hline
2035 \end{tabular}
2037 \vspace{0.3cm}
2039 \noindent {\bf Return Type:}
2040 {\tt
2041 void
2046 \vspace{0.3cm}
2047 \vspace{0.3cm}
2048 \vspace{0.3cm}
2049 \subsubsection{RPC name:~get\_memory\_dynamic\_min}
2051 {\bf Overview:}
2052 Get the memory/dynamic\_min field of the given VM.
2054 \noindent {\bf Signature:}
2055 \begin{verbatim} int get_memory_dynamic_min (session_id s, VM ref self)\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 \end{tabular}
2069 \vspace{0.3cm}
2071 \noindent {\bf Return Type:}
2072 {\tt
2073 int
2077 value of the field
2078 \vspace{0.3cm}
2079 \vspace{0.3cm}
2080 \vspace{0.3cm}
2081 \subsubsection{RPC name:~set\_memory\_dynamic\_min}
2083 {\bf Overview:}
2084 Set the memory/dynamic\_min field of the given VM.
2086 \noindent {\bf Signature:}
2087 \begin{verbatim} void set_memory_dynamic_min (session_id s, VM ref self, int value)\end{verbatim}
2090 \noindent{\bf Arguments:}
2093 \vspace{0.3cm}
2094 \begin{tabular}{|c|c|p{7cm}|}
2095 \hline
2096 {\bf type} & {\bf name} & {\bf description} \\ \hline
2097 {\tt VM ref } & self & reference to the object \\ \hline
2099 {\tt int } & value & New value to set \\ \hline
2101 \end{tabular}
2103 \vspace{0.3cm}
2105 \noindent {\bf Return Type:}
2106 {\tt
2107 void
2112 \vspace{0.3cm}
2113 \vspace{0.3cm}
2114 \vspace{0.3cm}
2115 \subsubsection{RPC name:~get\_memory\_static\_min}
2117 {\bf Overview:}
2118 Get the memory/static\_min field of the given VM.
2120 \noindent {\bf Signature:}
2121 \begin{verbatim} int get_memory_static_min (session_id s, VM ref self)\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 \end{tabular}
2135 \vspace{0.3cm}
2137 \noindent {\bf Return Type:}
2138 {\tt
2139 int
2143 value of the field
2144 \vspace{0.3cm}
2145 \vspace{0.3cm}
2146 \vspace{0.3cm}
2147 \subsubsection{RPC name:~set\_memory\_static\_min}
2149 {\bf Overview:}
2150 Set the memory/static\_min field of the given VM.
2152 \noindent {\bf Signature:}
2153 \begin{verbatim} void set_memory_static_min (session_id s, VM ref self, int value)\end{verbatim}
2156 \noindent{\bf Arguments:}
2159 \vspace{0.3cm}
2160 \begin{tabular}{|c|c|p{7cm}|}
2161 \hline
2162 {\bf type} & {\bf name} & {\bf description} \\ \hline
2163 {\tt VM ref } & self & reference to the object \\ \hline
2165 {\tt int } & value & New value to set \\ \hline
2167 \end{tabular}
2169 \vspace{0.3cm}
2171 \noindent {\bf Return Type:}
2172 {\tt
2173 void
2178 \vspace{0.3cm}
2179 \vspace{0.3cm}
2180 \vspace{0.3cm}
2181 \subsubsection{RPC name:~get\_VCPUs\_policy}
2183 {\bf Overview:}
2184 Get the VCPUs/policy field of the given VM.
2186 \noindent {\bf Signature:}
2187 \begin{verbatim} string get_VCPUs_policy (session_id s, VM ref self)\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 \end{tabular}
2201 \vspace{0.3cm}
2203 \noindent {\bf Return Type:}
2204 {\tt
2205 string
2209 value of the field
2210 \vspace{0.3cm}
2211 \vspace{0.3cm}
2212 \vspace{0.3cm}
2213 \subsubsection{RPC name:~set\_VCPUs\_policy}
2215 {\bf Overview:}
2216 Set the VCPUs/policy field of the given VM.
2218 \noindent {\bf Signature:}
2219 \begin{verbatim} void set_VCPUs_policy (session_id s, VM ref self, string value)\end{verbatim}
2222 \noindent{\bf Arguments:}
2225 \vspace{0.3cm}
2226 \begin{tabular}{|c|c|p{7cm}|}
2227 \hline
2228 {\bf type} & {\bf name} & {\bf description} \\ \hline
2229 {\tt VM ref } & self & reference to the object \\ \hline
2231 {\tt string } & value & New value to set \\ \hline
2233 \end{tabular}
2235 \vspace{0.3cm}
2237 \noindent {\bf Return Type:}
2238 {\tt
2239 void
2244 \vspace{0.3cm}
2245 \vspace{0.3cm}
2246 \vspace{0.3cm}
2247 \subsubsection{RPC name:~get\_VCPUs\_params}
2249 {\bf Overview:}
2250 Get the VCPUs/params field of the given VM.
2252 \noindent {\bf Signature:}
2253 \begin{verbatim} ((string -> string) Map) get_VCPUs_params (session_id s, VM ref self)\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 \end{tabular}
2267 \vspace{0.3cm}
2269 \noindent {\bf Return Type:}
2270 {\tt
2271 (string $\rightarrow$ string) Map
2275 value of the field
2276 \vspace{0.3cm}
2277 \vspace{0.3cm}
2278 \vspace{0.3cm}
2279 \subsubsection{RPC name:~set\_VCPUs\_params}
2281 {\bf Overview:}
2282 Set the VCPUs/params field of the given VM.
2284 \noindent {\bf Signature:}
2285 \begin{verbatim} void set_VCPUs_params (session_id s, VM ref self, (string -> string) Map value)\end{verbatim}
2288 \noindent{\bf Arguments:}
2291 \vspace{0.3cm}
2292 \begin{tabular}{|c|c|p{7cm}|}
2293 \hline
2294 {\bf type} & {\bf name} & {\bf description} \\ \hline
2295 {\tt VM ref } & self & reference to the object \\ \hline
2297 {\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline
2299 \end{tabular}
2301 \vspace{0.3cm}
2303 \noindent {\bf Return Type:}
2304 {\tt
2305 void
2310 \vspace{0.3cm}
2311 \vspace{0.3cm}
2312 \vspace{0.3cm}
2313 \subsubsection{RPC name:~add\_to\_VCPUs\_params}
2315 {\bf Overview:}
2316 Add the given key-value pair to the VCPUs/params field of the given VM.
2318 \noindent {\bf Signature:}
2319 \begin{verbatim} void add_to_VCPUs_params (session_id s, VM ref self, string key, string 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 } & key & Key to add \\ \hline
2333 {\tt string } & value & Value to add \\ \hline
2335 \end{tabular}
2337 \vspace{0.3cm}
2339 \noindent {\bf Return Type:}
2340 {\tt
2341 void
2346 \vspace{0.3cm}
2347 \vspace{0.3cm}
2348 \vspace{0.3cm}
2349 \subsubsection{RPC name:~remove\_from\_VCPUs\_params}
2351 {\bf Overview:}
2352 Remove the given key and its corresponding value from the VCPUs/params
2353 field of the given VM. If the key is not in that Map, then do nothing.
2355 \noindent {\bf Signature:}
2356 \begin{verbatim} void remove_from_VCPUs_params (session_id s, VM ref self, string key)\end{verbatim}
2359 \noindent{\bf Arguments:}
2362 \vspace{0.3cm}
2363 \begin{tabular}{|c|c|p{7cm}|}
2364 \hline
2365 {\bf type} & {\bf name} & {\bf description} \\ \hline
2366 {\tt VM ref } & self & reference to the object \\ \hline
2368 {\tt string } & key & Key to remove \\ \hline
2370 \end{tabular}
2372 \vspace{0.3cm}
2374 \noindent {\bf Return Type:}
2375 {\tt
2376 void
2381 \vspace{0.3cm}
2382 \vspace{0.3cm}
2383 \vspace{0.3cm}
2384 \subsubsection{RPC name:~get\_VCPUs\_max}
2386 {\bf Overview:}
2387 Get the VCPUs/max field of the given VM.
2389 \noindent {\bf Signature:}
2390 \begin{verbatim} int get_VCPUs_max (session_id s, VM ref self)\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 \end{tabular}
2404 \vspace{0.3cm}
2406 \noindent {\bf Return Type:}
2407 {\tt
2408 int
2412 value of the field
2413 \vspace{0.3cm}
2414 \vspace{0.3cm}
2415 \vspace{0.3cm}
2416 \subsubsection{RPC name:~set\_VCPUs\_max}
2418 {\bf Overview:}
2419 Set the VCPUs/max field of the given VM.
2421 \noindent {\bf Signature:}
2422 \begin{verbatim} void set_VCPUs_max (session_id s, VM ref self, int value)\end{verbatim}
2425 \noindent{\bf Arguments:}
2428 \vspace{0.3cm}
2429 \begin{tabular}{|c|c|p{7cm}|}
2430 \hline
2431 {\bf type} & {\bf name} & {\bf description} \\ \hline
2432 {\tt VM ref } & self & reference to the object \\ \hline
2434 {\tt int } & value & New value to set \\ \hline
2436 \end{tabular}
2438 \vspace{0.3cm}
2440 \noindent {\bf Return Type:}
2441 {\tt
2442 void
2447 \vspace{0.3cm}
2448 \vspace{0.3cm}
2449 \vspace{0.3cm}
2450 \subsubsection{RPC name:~get\_VCPUs\_at\_startup}
2452 {\bf Overview:}
2453 Get the VCPUs/at\_startup field of the given VM.
2455 \noindent {\bf Signature:}
2456 \begin{verbatim} int get_VCPUs_at_startup (session_id s, VM ref self)\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 \end{tabular}
2470 \vspace{0.3cm}
2472 \noindent {\bf Return Type:}
2473 {\tt
2474 int
2478 value of the field
2479 \vspace{0.3cm}
2480 \vspace{0.3cm}
2481 \vspace{0.3cm}
2482 \subsubsection{RPC name:~set\_VCPUs\_at\_startup}
2484 {\bf Overview:}
2485 Set the VCPUs/at\_startup field of the given VM.
2487 \noindent {\bf Signature:}
2488 \begin{verbatim} void set_VCPUs_at_startup (session_id s, VM ref self, int value)\end{verbatim}
2491 \noindent{\bf Arguments:}
2494 \vspace{0.3cm}
2495 \begin{tabular}{|c|c|p{7cm}|}
2496 \hline
2497 {\bf type} & {\bf name} & {\bf description} \\ \hline
2498 {\tt VM ref } & self & reference to the object \\ \hline
2500 {\tt int } & value & New value to set \\ \hline
2502 \end{tabular}
2504 \vspace{0.3cm}
2506 \noindent {\bf Return Type:}
2507 {\tt
2508 void
2513 \vspace{0.3cm}
2514 \vspace{0.3cm}
2515 \vspace{0.3cm}
2516 \subsubsection{RPC name:~get\_actions\_after\_shutdown}
2518 {\bf Overview:}
2519 Get the actions/after\_shutdown field of the given VM.
2521 \noindent {\bf Signature:}
2522 \begin{verbatim} (on_normal_exit) get_actions_after_shutdown (session_id s, VM ref self)\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 \end{tabular}
2536 \vspace{0.3cm}
2538 \noindent {\bf Return Type:}
2539 {\tt
2540 on\_normal\_exit
2544 value of the field
2545 \vspace{0.3cm}
2546 \vspace{0.3cm}
2547 \vspace{0.3cm}
2548 \subsubsection{RPC name:~set\_actions\_after\_shutdown}
2550 {\bf Overview:}
2551 Set the actions/after\_shutdown field of the given VM.
2553 \noindent {\bf Signature:}
2554 \begin{verbatim} void set_actions_after_shutdown (session_id s, VM ref self, on_normal_exit value)\end{verbatim}
2557 \noindent{\bf Arguments:}
2560 \vspace{0.3cm}
2561 \begin{tabular}{|c|c|p{7cm}|}
2562 \hline
2563 {\bf type} & {\bf name} & {\bf description} \\ \hline
2564 {\tt VM ref } & self & reference to the object \\ \hline
2566 {\tt on\_normal\_exit } & value & New value to set \\ \hline
2568 \end{tabular}
2570 \vspace{0.3cm}
2572 \noindent {\bf Return Type:}
2573 {\tt
2574 void
2579 \vspace{0.3cm}
2580 \vspace{0.3cm}
2581 \vspace{0.3cm}
2582 \subsubsection{RPC name:~get\_actions\_after\_reboot}
2584 {\bf Overview:}
2585 Get the actions/after\_reboot field of the given VM.
2587 \noindent {\bf Signature:}
2588 \begin{verbatim} (on_normal_exit) get_actions_after_reboot (session_id s, VM ref self)\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 \end{tabular}
2602 \vspace{0.3cm}
2604 \noindent {\bf Return Type:}
2605 {\tt
2606 on\_normal\_exit
2610 value of the field
2611 \vspace{0.3cm}
2612 \vspace{0.3cm}
2613 \vspace{0.3cm}
2614 \subsubsection{RPC name:~set\_actions\_after\_reboot}
2616 {\bf Overview:}
2617 Set the actions/after\_reboot field of the given VM.
2619 \noindent {\bf Signature:}
2620 \begin{verbatim} void set_actions_after_reboot (session_id s, VM ref self, on_normal_exit value)\end{verbatim}
2623 \noindent{\bf Arguments:}
2626 \vspace{0.3cm}
2627 \begin{tabular}{|c|c|p{7cm}|}
2628 \hline
2629 {\bf type} & {\bf name} & {\bf description} \\ \hline
2630 {\tt VM ref } & self & reference to the object \\ \hline
2632 {\tt on\_normal\_exit } & value & New value to set \\ \hline
2634 \end{tabular}
2636 \vspace{0.3cm}
2638 \noindent {\bf Return Type:}
2639 {\tt
2640 void
2645 \vspace{0.3cm}
2646 \vspace{0.3cm}
2647 \vspace{0.3cm}
2648 \subsubsection{RPC name:~get\_actions\_after\_crash}
2650 {\bf Overview:}
2651 Get the actions/after\_crash field of the given VM.
2653 \noindent {\bf Signature:}
2654 \begin{verbatim} (on_crash_behaviour) get_actions_after_crash (session_id s, VM ref self)\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 \end{tabular}
2668 \vspace{0.3cm}
2670 \noindent {\bf Return Type:}
2671 {\tt
2672 on\_crash\_behaviour
2676 value of the field
2677 \vspace{0.3cm}
2678 \vspace{0.3cm}
2679 \vspace{0.3cm}
2680 \subsubsection{RPC name:~set\_actions\_after\_crash}
2682 {\bf Overview:}
2683 Set the actions/after\_crash field of the given VM.
2685 \noindent {\bf Signature:}
2686 \begin{verbatim} void set_actions_after_crash (session_id s, VM ref self, on_crash_behaviour value)\end{verbatim}
2689 \noindent{\bf Arguments:}
2692 \vspace{0.3cm}
2693 \begin{tabular}{|c|c|p{7cm}|}
2694 \hline
2695 {\bf type} & {\bf name} & {\bf description} \\ \hline
2696 {\tt VM ref } & self & reference to the object \\ \hline
2698 {\tt on\_crash\_behaviour } & value & New value to set \\ \hline
2700 \end{tabular}
2702 \vspace{0.3cm}
2704 \noindent {\bf Return Type:}
2705 {\tt
2706 void
2711 \vspace{0.3cm}
2712 \vspace{0.3cm}
2713 \vspace{0.3cm}
2714 \subsubsection{RPC name:~get\_consoles}
2716 {\bf Overview:}
2717 Get the consoles field of the given VM.
2719 \noindent {\bf Signature:}
2720 \begin{verbatim} ((console ref) Set) get_consoles (session_id s, VM ref self)\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 \end{tabular}
2734 \vspace{0.3cm}
2736 \noindent {\bf Return Type:}
2737 {\tt
2738 (console ref) Set
2742 value of the field
2743 \vspace{0.3cm}
2744 \vspace{0.3cm}
2745 \vspace{0.3cm}
2746 \subsubsection{RPC name:~get\_VIFs}
2748 {\bf Overview:}
2749 Get the VIFs field of the given VM.
2751 \noindent {\bf Signature:}
2752 \begin{verbatim} ((VIF ref) Set) get_VIFs (session_id s, VM ref self)\end{verbatim}
2755 \noindent{\bf Arguments:}
2758 \vspace{0.3cm}
2759 \begin{tabular}{|c|c|p{7cm}|}
2760 \hline
2761 {\bf type} & {\bf name} & {\bf description} \\ \hline
2762 {\tt VM ref } & self & reference to the object \\ \hline
2764 \end{tabular}
2766 \vspace{0.3cm}
2768 \noindent {\bf Return Type:}
2769 {\tt
2770 (VIF ref) Set
2774 value of the field
2775 \vspace{0.3cm}
2776 \vspace{0.3cm}
2777 \vspace{0.3cm}
2778 \subsubsection{RPC name:~get\_VBDs}
2780 {\bf Overview:}
2781 Get the VBDs field of the given VM.
2783 \noindent {\bf Signature:}
2784 \begin{verbatim} ((VBD ref) Set) get_VBDs (session_id s, VM ref self)\end{verbatim}
2787 \noindent{\bf Arguments:}
2790 \vspace{0.3cm}
2791 \begin{tabular}{|c|c|p{7cm}|}
2792 \hline
2793 {\bf type} & {\bf name} & {\bf description} \\ \hline
2794 {\tt VM ref } & self & reference to the object \\ \hline
2796 \end{tabular}
2798 \vspace{0.3cm}
2800 \noindent {\bf Return Type:}
2801 {\tt
2802 (VBD ref) Set
2806 value of the field
2807 \vspace{0.3cm}
2808 \vspace{0.3cm}
2809 \vspace{0.3cm}
2810 \subsubsection{RPC name:~get\_crash\_dumps}
2812 {\bf Overview:}
2813 Get the crash\_dumps field of the given VM.
2815 \noindent {\bf Signature:}
2816 \begin{verbatim} ((crashdump ref) Set) get_crash_dumps (session_id s, VM ref self)\end{verbatim}
2819 \noindent{\bf Arguments:}
2822 \vspace{0.3cm}
2823 \begin{tabular}{|c|c|p{7cm}|}
2824 \hline
2825 {\bf type} & {\bf name} & {\bf description} \\ \hline
2826 {\tt VM ref } & self & reference to the object \\ \hline
2828 \end{tabular}
2830 \vspace{0.3cm}
2832 \noindent {\bf Return Type:}
2833 {\tt
2834 (crashdump ref) Set
2838 value of the field
2839 \vspace{0.3cm}
2840 \vspace{0.3cm}
2841 \vspace{0.3cm}
2842 \subsubsection{RPC name:~get\_VTPMs}
2844 {\bf Overview:}
2845 Get the VTPMs field of the given VM.
2847 \noindent {\bf Signature:}
2848 \begin{verbatim} ((VTPM ref) Set) get_VTPMs (session_id s, VM ref self)\end{verbatim}
2851 \noindent{\bf Arguments:}
2854 \vspace{0.3cm}
2855 \begin{tabular}{|c|c|p{7cm}|}
2856 \hline
2857 {\bf type} & {\bf name} & {\bf description} \\ \hline
2858 {\tt VM ref } & self & reference to the object \\ \hline
2860 \end{tabular}
2862 \vspace{0.3cm}
2864 \noindent {\bf Return Type:}
2865 {\tt
2866 (VTPM ref) Set
2870 value of the field
2871 \vspace{0.3cm}
2872 \vspace{0.3cm}
2873 \vspace{0.3cm}
2874 \subsubsection{RPC name:~get\_PV\_bootloader}
2876 {\bf Overview:}
2877 Get the PV/bootloader field of the given VM.
2879 \noindent {\bf Signature:}
2880 \begin{verbatim} string get_PV_bootloader (session_id s, VM ref self)\end{verbatim}
2883 \noindent{\bf Arguments:}
2886 \vspace{0.3cm}
2887 \begin{tabular}{|c|c|p{7cm}|}
2888 \hline
2889 {\bf type} & {\bf name} & {\bf description} \\ \hline
2890 {\tt VM ref } & self & reference to the object \\ \hline
2892 \end{tabular}
2894 \vspace{0.3cm}
2896 \noindent {\bf Return Type:}
2897 {\tt
2898 string
2902 value of the field
2903 \vspace{0.3cm}
2904 \vspace{0.3cm}
2905 \vspace{0.3cm}
2906 \subsubsection{RPC name:~set\_PV\_bootloader}
2908 {\bf Overview:}
2909 Set the PV/bootloader field of the given VM.
2911 \noindent {\bf Signature:}
2912 \begin{verbatim} void set_PV_bootloader (session_id s, VM ref self, string value)\end{verbatim}
2915 \noindent{\bf Arguments:}
2918 \vspace{0.3cm}
2919 \begin{tabular}{|c|c|p{7cm}|}
2920 \hline
2921 {\bf type} & {\bf name} & {\bf description} \\ \hline
2922 {\tt VM ref } & self & reference to the object \\ \hline
2924 {\tt string } & value & New value to set \\ \hline
2926 \end{tabular}
2928 \vspace{0.3cm}
2930 \noindent {\bf Return Type:}
2931 {\tt
2932 void
2937 \vspace{0.3cm}
2938 \vspace{0.3cm}
2939 \vspace{0.3cm}
2940 \subsubsection{RPC name:~get\_PV\_kernel}
2942 {\bf Overview:}
2943 Get the PV/kernel field of the given VM.
2945 \noindent {\bf Signature:}
2946 \begin{verbatim} string get_PV_kernel (session_id s, VM ref self)\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 \end{tabular}
2960 \vspace{0.3cm}
2962 \noindent {\bf Return Type:}
2963 {\tt
2964 string
2968 value of the field
2969 \vspace{0.3cm}
2970 \vspace{0.3cm}
2971 \vspace{0.3cm}
2972 \subsubsection{RPC name:~set\_PV\_kernel}
2974 {\bf Overview:}
2975 Set the PV/kernel field of the given VM.
2977 \noindent {\bf Signature:}
2978 \begin{verbatim} void set_PV_kernel (session_id s, VM ref self, string value)\end{verbatim}
2981 \noindent{\bf Arguments:}
2984 \vspace{0.3cm}
2985 \begin{tabular}{|c|c|p{7cm}|}
2986 \hline
2987 {\bf type} & {\bf name} & {\bf description} \\ \hline
2988 {\tt VM ref } & self & reference to the object \\ \hline
2990 {\tt string } & value & New value to set \\ \hline
2992 \end{tabular}
2994 \vspace{0.3cm}
2996 \noindent {\bf Return Type:}
2997 {\tt
2998 void
3003 \vspace{0.3cm}
3004 \vspace{0.3cm}
3005 \vspace{0.3cm}
3006 \subsubsection{RPC name:~get\_PV\_ramdisk}
3008 {\bf Overview:}
3009 Get the PV/ramdisk field of the given VM.
3011 \noindent {\bf Signature:}
3012 \begin{verbatim} string get_PV_ramdisk (session_id s, VM ref self)\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 \end{tabular}
3026 \vspace{0.3cm}
3028 \noindent {\bf Return Type:}
3029 {\tt
3030 string
3034 value of the field
3035 \vspace{0.3cm}
3036 \vspace{0.3cm}
3037 \vspace{0.3cm}
3038 \subsubsection{RPC name:~set\_PV\_ramdisk}
3040 {\bf Overview:}
3041 Set the PV/ramdisk field of the given VM.
3043 \noindent {\bf Signature:}
3044 \begin{verbatim} void set_PV_ramdisk (session_id s, VM ref self, string value)\end{verbatim}
3047 \noindent{\bf Arguments:}
3050 \vspace{0.3cm}
3051 \begin{tabular}{|c|c|p{7cm}|}
3052 \hline
3053 {\bf type} & {\bf name} & {\bf description} \\ \hline
3054 {\tt VM ref } & self & reference to the object \\ \hline
3056 {\tt string } & value & New value to set \\ \hline
3058 \end{tabular}
3060 \vspace{0.3cm}
3062 \noindent {\bf Return Type:}
3063 {\tt
3064 void
3069 \vspace{0.3cm}
3070 \vspace{0.3cm}
3071 \vspace{0.3cm}
3072 \subsubsection{RPC name:~get\_PV\_args}
3074 {\bf Overview:}
3075 Get the PV/args field of the given VM.
3077 \noindent {\bf Signature:}
3078 \begin{verbatim} string get_PV_args (session_id s, VM ref self)\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 \end{tabular}
3092 \vspace{0.3cm}
3094 \noindent {\bf Return Type:}
3095 {\tt
3096 string
3100 value of the field
3101 \vspace{0.3cm}
3102 \vspace{0.3cm}
3103 \vspace{0.3cm}
3104 \subsubsection{RPC name:~set\_PV\_args}
3106 {\bf Overview:}
3107 Set the PV/args field of the given VM.
3109 \noindent {\bf Signature:}
3110 \begin{verbatim} void set_PV_args (session_id s, VM ref self, string value)\end{verbatim}
3113 \noindent{\bf Arguments:}
3116 \vspace{0.3cm}
3117 \begin{tabular}{|c|c|p{7cm}|}
3118 \hline
3119 {\bf type} & {\bf name} & {\bf description} \\ \hline
3120 {\tt VM ref } & self & reference to the object \\ \hline
3122 {\tt string } & value & New value to set \\ \hline
3124 \end{tabular}
3126 \vspace{0.3cm}
3128 \noindent {\bf Return Type:}
3129 {\tt
3130 void
3135 \vspace{0.3cm}
3136 \vspace{0.3cm}
3137 \vspace{0.3cm}
3138 \subsubsection{RPC name:~get\_PV\_bootloader\_args}
3140 {\bf Overview:}
3141 Get the PV/bootloader\_args field of the given VM.
3143 \noindent {\bf Signature:}
3144 \begin{verbatim} string get_PV_bootloader_args (session_id s, VM ref self)\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 \end{tabular}
3158 \vspace{0.3cm}
3160 \noindent {\bf Return Type:}
3161 {\tt
3162 string
3166 value of the field
3167 \vspace{0.3cm}
3168 \vspace{0.3cm}
3169 \vspace{0.3cm}
3170 \subsubsection{RPC name:~set\_PV\_bootloader\_args}
3172 {\bf Overview:}
3173 Set the PV/bootloader\_args field of the given VM.
3175 \noindent {\bf Signature:}
3176 \begin{verbatim} void set_PV_bootloader_args (session_id s, VM ref self, string value)\end{verbatim}
3179 \noindent{\bf Arguments:}
3182 \vspace{0.3cm}
3183 \begin{tabular}{|c|c|p{7cm}|}
3184 \hline
3185 {\bf type} & {\bf name} & {\bf description} \\ \hline
3186 {\tt VM ref } & self & reference to the object \\ \hline
3188 {\tt string } & value & New value to set \\ \hline
3190 \end{tabular}
3192 \vspace{0.3cm}
3194 \noindent {\bf Return Type:}
3195 {\tt
3196 void
3201 \vspace{0.3cm}
3202 \vspace{0.3cm}
3203 \vspace{0.3cm}
3204 \subsubsection{RPC name:~get\_HVM\_boot\_policy}
3206 {\bf Overview:}
3207 Get the HVM/boot\_policy field of the given VM.
3209 \noindent {\bf Signature:}
3210 \begin{verbatim} string get_HVM_boot_policy (session_id s, VM ref self)\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 \end{tabular}
3224 \vspace{0.3cm}
3226 \noindent {\bf Return Type:}
3227 {\tt
3228 string
3232 value of the field
3233 \vspace{0.3cm}
3234 \vspace{0.3cm}
3235 \vspace{0.3cm}
3236 \subsubsection{RPC name:~set\_HVM\_boot\_policy}
3238 {\bf Overview:}
3239 Set the HVM/boot\_policy field of the given VM.
3241 \noindent {\bf Signature:}
3242 \begin{verbatim} void set_HVM_boot_policy (session_id s, VM ref self, string value)\end{verbatim}
3245 \noindent{\bf Arguments:}
3248 \vspace{0.3cm}
3249 \begin{tabular}{|c|c|p{7cm}|}
3250 \hline
3251 {\bf type} & {\bf name} & {\bf description} \\ \hline
3252 {\tt VM ref } & self & reference to the object \\ \hline
3254 {\tt string } & value & New value to set \\ \hline
3256 \end{tabular}
3258 \vspace{0.3cm}
3260 \noindent {\bf Return Type:}
3261 {\tt
3262 void
3267 \vspace{0.3cm}
3268 \vspace{0.3cm}
3269 \vspace{0.3cm}
3270 \subsubsection{RPC name:~get\_HVM\_boot\_params}
3272 {\bf Overview:}
3273 Get the HVM/boot\_params field of the given VM.
3275 \noindent {\bf Signature:}
3276 \begin{verbatim} ((string -> string) Map) get_HVM_boot_params (session_id s, VM ref self)\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 \end{tabular}
3290 \vspace{0.3cm}
3292 \noindent {\bf Return Type:}
3293 {\tt
3294 (string $\rightarrow$ string) Map
3298 value of the field
3299 \vspace{0.3cm}
3300 \vspace{0.3cm}
3301 \vspace{0.3cm}
3302 \subsubsection{RPC name:~set\_HVM\_boot\_params}
3304 {\bf Overview:}
3305 Set the HVM/boot\_params field of the given VM.
3307 \noindent {\bf Signature:}
3308 \begin{verbatim} void set_HVM_boot_params (session_id s, VM ref self, (string -> string) Map value)\end{verbatim}
3311 \noindent{\bf Arguments:}
3314 \vspace{0.3cm}
3315 \begin{tabular}{|c|c|p{7cm}|}
3316 \hline
3317 {\bf type} & {\bf name} & {\bf description} \\ \hline
3318 {\tt VM ref } & self & reference to the object \\ \hline
3320 {\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline
3322 \end{tabular}
3324 \vspace{0.3cm}
3326 \noindent {\bf Return Type:}
3327 {\tt
3328 void
3333 \vspace{0.3cm}
3334 \vspace{0.3cm}
3335 \vspace{0.3cm}
3336 \subsubsection{RPC name:~add\_to\_HVM\_boot\_params}
3338 {\bf Overview:}
3339 Add the given key-value pair to the HVM/boot\_params field of the given VM.
3341 \noindent {\bf Signature:}
3342 \begin{verbatim} void add_to_HVM_boot_params (session_id s, VM ref self, string key, string 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 } & key & Key to add \\ \hline
3356 {\tt string } & value & Value to add \\ \hline
3358 \end{tabular}
3360 \vspace{0.3cm}
3362 \noindent {\bf Return Type:}
3363 {\tt
3364 void
3369 \vspace{0.3cm}
3370 \vspace{0.3cm}
3371 \vspace{0.3cm}
3372 \subsubsection{RPC name:~remove\_from\_HVM\_boot\_params}
3374 {\bf Overview:}
3375 Remove the given key and its corresponding value from the HVM/boot\_params
3376 field of the given VM. If the key is not in that Map, then do nothing.
3378 \noindent {\bf Signature:}
3379 \begin{verbatim} void remove_from_HVM_boot_params (session_id s, VM ref self, string key)\end{verbatim}
3382 \noindent{\bf Arguments:}
3385 \vspace{0.3cm}
3386 \begin{tabular}{|c|c|p{7cm}|}
3387 \hline
3388 {\bf type} & {\bf name} & {\bf description} \\ \hline
3389 {\tt VM ref } & self & reference to the object \\ \hline
3391 {\tt string } & key & Key to remove \\ \hline
3393 \end{tabular}
3395 \vspace{0.3cm}
3397 \noindent {\bf Return Type:}
3398 {\tt
3399 void
3404 \vspace{0.3cm}
3405 \vspace{0.3cm}
3406 \vspace{0.3cm}
3407 \subsubsection{RPC name:~get\_platform}
3409 {\bf Overview:}
3410 Get the platform field of the given VM.
3412 \noindent {\bf Signature:}
3413 \begin{verbatim} ((string -> string) Map) get_platform (session_id s, VM ref self)\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 \end{tabular}
3427 \vspace{0.3cm}
3429 \noindent {\bf Return Type:}
3430 {\tt
3431 (string $\rightarrow$ string) Map
3435 value of the field
3436 \vspace{0.3cm}
3437 \vspace{0.3cm}
3438 \vspace{0.3cm}
3439 \subsubsection{RPC name:~set\_platform}
3441 {\bf Overview:}
3442 Set the platform field of the given VM.
3444 \noindent {\bf Signature:}
3445 \begin{verbatim} void set_platform (session_id s, VM ref self, (string -> string) Map value)\end{verbatim}
3448 \noindent{\bf Arguments:}
3451 \vspace{0.3cm}
3452 \begin{tabular}{|c|c|p{7cm}|}
3453 \hline
3454 {\bf type} & {\bf name} & {\bf description} \\ \hline
3455 {\tt VM ref } & self & reference to the object \\ \hline
3457 {\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline
3459 \end{tabular}
3461 \vspace{0.3cm}
3463 \noindent {\bf Return Type:}
3464 {\tt
3465 void
3470 \vspace{0.3cm}
3471 \vspace{0.3cm}
3472 \vspace{0.3cm}
3473 \subsubsection{RPC name:~add\_to\_platform}
3475 {\bf Overview:}
3476 Add the given key-value pair to the platform field of the given VM.
3478 \noindent {\bf Signature:}
3479 \begin{verbatim} void add_to_platform (session_id s, VM ref self, string key, string 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 string } & key & Key to add \\ \hline
3493 {\tt string } & value & Value to add \\ \hline
3495 \end{tabular}
3497 \vspace{0.3cm}
3499 \noindent {\bf Return Type:}
3500 {\tt
3501 void
3506 \vspace{0.3cm}
3507 \vspace{0.3cm}
3508 \vspace{0.3cm}
3509 \subsubsection{RPC name:~remove\_from\_platform}
3511 {\bf Overview:}
3512 Remove the given key and its corresponding value from the platform field of
3513 the given VM. If the key is not in that Map, then do nothing.
3515 \noindent {\bf Signature:}
3516 \begin{verbatim} void remove_from_platform (session_id s, VM ref self, string key)\end{verbatim}
3519 \noindent{\bf Arguments:}
3522 \vspace{0.3cm}
3523 \begin{tabular}{|c|c|p{7cm}|}
3524 \hline
3525 {\bf type} & {\bf name} & {\bf description} \\ \hline
3526 {\tt VM ref } & self & reference to the object \\ \hline
3528 {\tt string } & key & Key to remove \\ \hline
3530 \end{tabular}
3532 \vspace{0.3cm}
3534 \noindent {\bf Return Type:}
3535 {\tt
3536 void
3541 \vspace{0.3cm}
3542 \vspace{0.3cm}
3543 \vspace{0.3cm}
3544 \subsubsection{RPC name:~get\_PCI\_bus}
3546 {\bf Overview:}
3547 Get the PCI\_bus field of the given VM.
3549 \noindent {\bf Signature:}
3550 \begin{verbatim} string get_PCI_bus (session_id s, VM ref self)\end{verbatim}
3553 \noindent{\bf Arguments:}
3556 \vspace{0.3cm}
3557 \begin{tabular}{|c|c|p{7cm}|}
3558 \hline
3559 {\bf type} & {\bf name} & {\bf description} \\ \hline
3560 {\tt VM ref } & self & reference to the object \\ \hline
3562 \end{tabular}
3564 \vspace{0.3cm}
3566 \noindent {\bf Return Type:}
3567 {\tt
3568 string
3572 value of the field
3573 \vspace{0.3cm}
3574 \vspace{0.3cm}
3575 \vspace{0.3cm}
3576 \subsubsection{RPC name:~set\_PCI\_bus}
3578 {\bf Overview:}
3579 Set the PCI\_bus field of the given VM.
3581 \noindent {\bf Signature:}
3582 \begin{verbatim} void set_PCI_bus (session_id s, VM ref self, string value)\end{verbatim}
3585 \noindent{\bf Arguments:}
3588 \vspace{0.3cm}
3589 \begin{tabular}{|c|c|p{7cm}|}
3590 \hline
3591 {\bf type} & {\bf name} & {\bf description} \\ \hline
3592 {\tt VM ref } & self & reference to the object \\ \hline
3594 {\tt string } & value & New value to set \\ \hline
3596 \end{tabular}
3598 \vspace{0.3cm}
3600 \noindent {\bf Return Type:}
3601 {\tt
3602 void
3607 \vspace{0.3cm}
3608 \vspace{0.3cm}
3609 \vspace{0.3cm}
3610 \subsubsection{RPC name:~get\_other\_config}
3612 {\bf Overview:}
3613 Get the other\_config field of the given VM.
3615 \noindent {\bf Signature:}
3616 \begin{verbatim} ((string -> string) Map) get_other_config (session_id s, VM ref self)\end{verbatim}
3619 \noindent{\bf Arguments:}
3622 \vspace{0.3cm}
3623 \begin{tabular}{|c|c|p{7cm}|}
3624 \hline
3625 {\bf type} & {\bf name} & {\bf description} \\ \hline
3626 {\tt VM ref } & self & reference to the object \\ \hline
3628 \end{tabular}
3630 \vspace{0.3cm}
3632 \noindent {\bf Return Type:}
3633 {\tt
3634 (string $\rightarrow$ string) Map
3638 value of the field
3639 \vspace{0.3cm}
3640 \vspace{0.3cm}
3641 \vspace{0.3cm}
3642 \subsubsection{RPC name:~set\_other\_config}
3644 {\bf Overview:}
3645 Set the other\_config field of the given VM.
3647 \noindent {\bf Signature:}
3648 \begin{verbatim} void set_other_config (session_id s, VM ref self, (string -> string) Map value)\end{verbatim}
3651 \noindent{\bf Arguments:}
3654 \vspace{0.3cm}
3655 \begin{tabular}{|c|c|p{7cm}|}
3656 \hline
3657 {\bf type} & {\bf name} & {\bf description} \\ \hline
3658 {\tt VM ref } & self & reference to the object \\ \hline
3660 {\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline
3662 \end{tabular}
3664 \vspace{0.3cm}
3666 \noindent {\bf Return Type:}
3667 {\tt
3668 void
3673 \vspace{0.3cm}
3674 \vspace{0.3cm}
3675 \vspace{0.3cm}
3676 \subsubsection{RPC name:~add\_to\_other\_config}
3678 {\bf Overview:}
3679 Add the given key-value pair to the other\_config field of the given VM.
3681 \noindent {\bf Signature:}
3682 \begin{verbatim} void add_to_other_config (session_id s, VM ref self, string key, string value)\end{verbatim}
3685 \noindent{\bf Arguments:}
3688 \vspace{0.3cm}
3689 \begin{tabular}{|c|c|p{7cm}|}
3690 \hline
3691 {\bf type} & {\bf name} & {\bf description} \\ \hline
3692 {\tt VM ref } & self & reference to the object \\ \hline
3694 {\tt string } & key & Key to add \\ \hline
3696 {\tt string } & value & Value to add \\ \hline
3698 \end{tabular}
3700 \vspace{0.3cm}
3702 \noindent {\bf Return Type:}
3703 {\tt
3704 void
3709 \vspace{0.3cm}
3710 \vspace{0.3cm}
3711 \vspace{0.3cm}
3712 \subsubsection{RPC name:~remove\_from\_other\_config}
3714 {\bf Overview:}
3715 Remove the given key and its corresponding value from the other\_config
3716 field of the given VM. If the key is not in that Map, then do nothing.
3718 \noindent {\bf Signature:}
3719 \begin{verbatim} void remove_from_other_config (session_id s, VM ref self, string key)\end{verbatim}
3722 \noindent{\bf Arguments:}
3725 \vspace{0.3cm}
3726 \begin{tabular}{|c|c|p{7cm}|}
3727 \hline
3728 {\bf type} & {\bf name} & {\bf description} \\ \hline
3729 {\tt VM ref } & self & reference to the object \\ \hline
3731 {\tt string } & key & Key to remove \\ \hline
3733 \end{tabular}
3735 \vspace{0.3cm}
3737 \noindent {\bf Return Type:}
3738 {\tt
3739 void
3744 \vspace{0.3cm}
3745 \vspace{0.3cm}
3746 \vspace{0.3cm}
3747 \subsubsection{RPC name:~get\_domid}
3749 {\bf Overview:}
3750 Get the domid field of the given VM.
3752 \noindent {\bf Signature:}
3753 \begin{verbatim} int get_domid (session_id s, VM ref self)\end{verbatim}
3756 \noindent{\bf Arguments:}
3759 \vspace{0.3cm}
3760 \begin{tabular}{|c|c|p{7cm}|}
3761 \hline
3762 {\bf type} & {\bf name} & {\bf description} \\ \hline
3763 {\tt VM ref } & self & reference to the object \\ \hline
3765 \end{tabular}
3767 \vspace{0.3cm}
3769 \noindent {\bf Return Type:}
3770 {\tt
3771 int
3775 value of the field
3776 \vspace{0.3cm}
3777 \vspace{0.3cm}
3778 \vspace{0.3cm}
3779 \subsubsection{RPC name:~get\_is\_control\_domain}
3781 {\bf Overview:}
3782 Get the is\_control\_domain field of the given VM.
3784 \noindent {\bf Signature:}
3785 \begin{verbatim} bool get_is_control_domain (session_id s, VM ref self)\end{verbatim}
3788 \noindent{\bf Arguments:}
3791 \vspace{0.3cm}
3792 \begin{tabular}{|c|c|p{7cm}|}
3793 \hline
3794 {\bf type} & {\bf name} & {\bf description} \\ \hline
3795 {\tt VM ref } & self & reference to the object \\ \hline
3797 \end{tabular}
3799 \vspace{0.3cm}
3801 \noindent {\bf Return Type:}
3802 {\tt
3803 bool
3807 value of the field
3808 \vspace{0.3cm}
3809 \vspace{0.3cm}
3810 \vspace{0.3cm}
3811 \subsubsection{RPC name:~get\_metrics}
3813 {\bf Overview:}
3814 Get the metrics field of the given VM.
3816 \noindent {\bf Signature:}
3817 \begin{verbatim} (VM_metrics ref) get_metrics (session_id s, VM ref self)\end{verbatim}
3820 \noindent{\bf Arguments:}
3823 \vspace{0.3cm}
3824 \begin{tabular}{|c|c|p{7cm}|}
3825 \hline
3826 {\bf type} & {\bf name} & {\bf description} \\ \hline
3827 {\tt VM ref } & self & reference to the object \\ \hline
3829 \end{tabular}
3831 \vspace{0.3cm}
3833 \noindent {\bf Return Type:}
3834 {\tt
3835 VM\_metrics ref
3839 value of the field
3840 \vspace{0.3cm}
3841 \vspace{0.3cm}
3842 \vspace{0.3cm}
3843 \subsubsection{RPC name:~get\_guest\_metrics}
3845 {\bf Overview:}
3846 Get the guest\_metrics field of the given VM.
3848 \noindent {\bf Signature:}
3849 \begin{verbatim} (VM_guest_metrics ref) get_guest_metrics (session_id s, VM ref self)\end{verbatim}
3852 \noindent{\bf Arguments:}
3855 \vspace{0.3cm}
3856 \begin{tabular}{|c|c|p{7cm}|}
3857 \hline
3858 {\bf type} & {\bf name} & {\bf description} \\ \hline
3859 {\tt VM ref } & self & reference to the object \\ \hline
3861 \end{tabular}
3863 \vspace{0.3cm}
3865 \noindent {\bf Return Type:}
3866 {\tt
3867 VM\_guest\_metrics ref
3871 value of the field
3872 \vspace{0.3cm}
3873 \vspace{0.3cm}
3874 \vspace{0.3cm}
3875 \subsubsection{RPC name:~create}
3877 {\bf Overview:}
3878 Create a new VM instance, and return its handle.
3880 \noindent {\bf Signature:}
3881 \begin{verbatim} (VM ref) create (session_id s, VM record args)\end{verbatim}
3884 \noindent{\bf Arguments:}
3887 \vspace{0.3cm}
3888 \begin{tabular}{|c|c|p{7cm}|}
3889 \hline
3890 {\bf type} & {\bf name} & {\bf description} \\ \hline
3891 {\tt VM record } & args & All constructor arguments \\ \hline
3893 \end{tabular}
3895 \vspace{0.3cm}
3897 \noindent {\bf Return Type:}
3898 {\tt
3899 VM ref
3903 reference to the newly created object
3904 \vspace{0.3cm}
3905 \vspace{0.3cm}
3906 \vspace{0.3cm}
3907 \subsubsection{RPC name:~destroy}
3909 {\bf Overview:}
3910 Destroy the specified VM. The VM is completely removed from the system.
3911 This function can only be called when the VM is in the Halted State.
3913 \noindent {\bf Signature:}
3914 \begin{verbatim} void destroy (session_id s, VM ref self)\end{verbatim}
3917 \noindent{\bf Arguments:}
3920 \vspace{0.3cm}
3921 \begin{tabular}{|c|c|p{7cm}|}
3922 \hline
3923 {\bf type} & {\bf name} & {\bf description} \\ \hline
3924 {\tt VM ref } & self & reference to the object \\ \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\_by\_uuid}
3942 {\bf Overview:}
3943 Get a reference to the VM instance with the specified UUID.
3945 \noindent {\bf Signature:}
3946 \begin{verbatim} (VM ref) get_by_uuid (session_id s, string uuid)\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 string } & uuid & UUID of object to return \\ \hline
3958 \end{tabular}
3960 \vspace{0.3cm}
3962 \noindent {\bf Return Type:}
3963 {\tt
3964 VM ref
3968 reference to the object
3969 \vspace{0.3cm}
3970 \vspace{0.3cm}
3971 \vspace{0.3cm}
3972 \subsubsection{RPC name:~get\_record}
3974 {\bf Overview:}
3975 Get a record containing the current state of the given VM.
3977 \noindent {\bf Signature:}
3978 \begin{verbatim} (VM record) get_record (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 VM record
4000 all fields from the object
4001 \vspace{0.3cm}
4002 \vspace{0.3cm}
4003 \vspace{0.3cm}
4004 \subsubsection{RPC name:~get\_by\_name\_label}
4006 {\bf Overview:}
4007 Get all the VM instances with the given label.
4009 \noindent {\bf Signature:}
4010 \begin{verbatim} ((VM ref) Set) get_by_name_label (session_id s, string label)\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 string } & label & label of object to return \\ \hline
4022 \end{tabular}
4024 \vspace{0.3cm}
4026 \noindent {\bf Return Type:}
4027 {\tt
4028 (VM ref) Set
4032 references to objects with match names
4033 \vspace{0.3cm}
4034 \vspace{0.3cm}
4035 \vspace{0.3cm}
4037 \vspace{1cm}
4038 \newpage
4039 \section{Class: VM\_metrics}
4040 \subsection{Fields for class: VM\_metrics}
4041 \begin{longtable}{|lllp{0.38\textwidth}|}
4042 \hline
4043 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VM\_metrics} \\
4044 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em
4045 The metrics associated with a VM.}} \\
4046 \hline
4047 Quals & Field & Type & Description \\
4048 \hline
4049 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
4050 $\mathit{RO}_\mathit{run}$ & {\tt memory/actual} & int & Guest's actual memory (bytes) \\
4051 $\mathit{RO}_\mathit{run}$ & {\tt VCPUs/number} & int & Current number of VCPUs \\
4052 $\mathit{RO}_\mathit{run}$ & {\tt VCPUs/utilisation} & (int $\rightarrow$ float) Map & Utilisation for all of guest's current VCPUs \\
4053 \hline
4054 \end{longtable}
4055 \subsection{RPCs associated with class: VM\_metrics}
4056 \subsubsection{RPC name:~get\_all}
4058 {\bf Overview:}
4059 Return a list of all the VM\_metrics instances known to the system.
4061 \noindent {\bf Signature:}
4062 \begin{verbatim} ((VM_metrics ref) Set) get_all (session_id s)\end{verbatim}
4065 \vspace{0.3cm}
4067 \noindent {\bf Return Type:}
4068 {\tt
4069 (VM\_metrics ref) Set
4073 references to all objects
4074 \vspace{0.3cm}
4075 \vspace{0.3cm}
4076 \vspace{0.3cm}
4077 \subsubsection{RPC name:~get\_uuid}
4079 {\bf Overview:}
4080 Get the uuid field of the given VM\_metrics.
4082 \noindent {\bf Signature:}
4083 \begin{verbatim} string get_uuid (session_id s, VM_metrics ref self)\end{verbatim}
4086 \noindent{\bf Arguments:}
4089 \vspace{0.3cm}
4090 \begin{tabular}{|c|c|p{7cm}|}
4091 \hline
4092 {\bf type} & {\bf name} & {\bf description} \\ \hline
4093 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
4095 \end{tabular}
4097 \vspace{0.3cm}
4099 \noindent {\bf Return Type:}
4100 {\tt
4101 string
4105 value of the field
4106 \vspace{0.3cm}
4107 \vspace{0.3cm}
4108 \vspace{0.3cm}
4109 \subsubsection{RPC name:~get\_memory\_actual}
4111 {\bf Overview:}
4112 Get the memory/actual field of the given VM\_metrics.
4114 \noindent {\bf Signature:}
4115 \begin{verbatim} int get_memory_actual (session_id s, VM_metrics ref self)\end{verbatim}
4118 \noindent{\bf Arguments:}
4121 \vspace{0.3cm}
4122 \begin{tabular}{|c|c|p{7cm}|}
4123 \hline
4124 {\bf type} & {\bf name} & {\bf description} \\ \hline
4125 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
4127 \end{tabular}
4129 \vspace{0.3cm}
4131 \noindent {\bf Return Type:}
4132 {\tt
4133 int
4137 value of the field
4138 \vspace{0.3cm}
4139 \vspace{0.3cm}
4140 \vspace{0.3cm}
4141 \subsubsection{RPC name:~get\_VCPUs\_number}
4143 {\bf Overview:}
4144 Get the VCPUs/number field of the given VM\_metrics.
4146 \noindent {\bf Signature:}
4147 \begin{verbatim} int get_VCPUs_number (session_id s, VM_metrics ref self)\end{verbatim}
4150 \noindent{\bf Arguments:}
4153 \vspace{0.3cm}
4154 \begin{tabular}{|c|c|p{7cm}|}
4155 \hline
4156 {\bf type} & {\bf name} & {\bf description} \\ \hline
4157 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
4159 \end{tabular}
4161 \vspace{0.3cm}
4163 \noindent {\bf Return Type:}
4164 {\tt
4165 int
4169 value of the field
4170 \vspace{0.3cm}
4171 \vspace{0.3cm}
4172 \vspace{0.3cm}
4173 \subsubsection{RPC name:~get\_VCPUs\_utilisation}
4175 {\bf Overview:}
4176 Get the VCPUs/utilisation field of the given VM\_metrics.
4178 \noindent {\bf Signature:}
4179 \begin{verbatim} ((int -> float) Map) get_VCPUs_utilisation (session_id s, VM_metrics ref self)\end{verbatim}
4182 \noindent{\bf Arguments:}
4185 \vspace{0.3cm}
4186 \begin{tabular}{|c|c|p{7cm}|}
4187 \hline
4188 {\bf type} & {\bf name} & {\bf description} \\ \hline
4189 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
4191 \end{tabular}
4193 \vspace{0.3cm}
4195 \noindent {\bf Return Type:}
4196 {\tt
4197 (int $\rightarrow$ float) Map
4201 value of the field
4202 \vspace{0.3cm}
4203 \vspace{0.3cm}
4204 \vspace{0.3cm}
4205 \subsubsection{RPC name:~get\_by\_uuid}
4207 {\bf Overview:}
4208 Get a reference to the VM\_metrics instance with the specified UUID.
4210 \noindent {\bf Signature:}
4211 \begin{verbatim} (VM_metrics ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
4214 \noindent{\bf Arguments:}
4217 \vspace{0.3cm}
4218 \begin{tabular}{|c|c|p{7cm}|}
4219 \hline
4220 {\bf type} & {\bf name} & {\bf description} \\ \hline
4221 {\tt string } & uuid & UUID of object to return \\ \hline
4223 \end{tabular}
4225 \vspace{0.3cm}
4227 \noindent {\bf Return Type:}
4228 {\tt
4229 VM\_metrics ref
4233 reference to the object
4234 \vspace{0.3cm}
4235 \vspace{0.3cm}
4236 \vspace{0.3cm}
4237 \subsubsection{RPC name:~get\_record}
4239 {\bf Overview:}
4240 Get a record containing the current state of the given VM\_metrics.
4242 \noindent {\bf Signature:}
4243 \begin{verbatim} (VM_metrics record) get_record (session_id s, VM_metrics ref self)\end{verbatim}
4246 \noindent{\bf Arguments:}
4249 \vspace{0.3cm}
4250 \begin{tabular}{|c|c|p{7cm}|}
4251 \hline
4252 {\bf type} & {\bf name} & {\bf description} \\ \hline
4253 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
4255 \end{tabular}
4257 \vspace{0.3cm}
4259 \noindent {\bf Return Type:}
4260 {\tt
4261 VM\_metrics record
4265 all fields from the object
4266 \vspace{0.3cm}
4267 \vspace{0.3cm}
4268 \vspace{0.3cm}
4270 \vspace{1cm}
4271 \newpage
4272 \section{Class: VM\_guest\_metrics}
4273 \subsection{Fields for class: VM\_guest\_metrics}
4274 \begin{longtable}{|lllp{0.38\textwidth}|}
4275 \hline
4276 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VM\_guest\_metrics} \\
4277 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em
4278 The metrics reported by the guest (as opposed to inferred from outside).}} \\
4279 \hline
4280 Quals & Field & Type & Description \\
4281 \hline
4282 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
4283 $\mathit{RO}_\mathit{run}$ & {\tt os\_version} & (string $\rightarrow$ string) Map & version of the OS \\
4284 $\mathit{RO}_\mathit{run}$ & {\tt PV\_drivers\_version} & (string $\rightarrow$ string) Map & version of the PV drivers \\
4285 $\mathit{RO}_\mathit{run}$ & {\tt memory} & (string $\rightarrow$ string) Map & free/used/total memory \\
4286 $\mathit{RO}_\mathit{run}$ & {\tt disks} & (string $\rightarrow$ string) Map & disk configuration/free space \\
4287 $\mathit{RO}_\mathit{run}$ & {\tt networks} & (string $\rightarrow$ string) Map & network configuration \\
4288 $\mathit{RO}_\mathit{run}$ & {\tt other} & (string $\rightarrow$ string) Map & anything else \\
4289 \hline
4290 \end{longtable}
4291 \subsection{RPCs associated with class: VM\_guest\_metrics}
4292 \subsubsection{RPC name:~get\_all}
4294 {\bf Overview:}
4295 Return a list of all the VM\_guest\_metrics instances known to the system.
4297 \noindent {\bf Signature:}
4298 \begin{verbatim} ((VM_guest_metrics ref) Set) get_all (session_id s)\end{verbatim}
4301 \vspace{0.3cm}
4303 \noindent {\bf Return Type:}
4304 {\tt
4305 (VM\_guest\_metrics ref) Set
4309 references to all objects
4310 \vspace{0.3cm}
4311 \vspace{0.3cm}
4312 \vspace{0.3cm}
4313 \subsubsection{RPC name:~get\_uuid}
4315 {\bf Overview:}
4316 Get the uuid field of the given VM\_guest\_metrics.
4318 \noindent {\bf Signature:}
4319 \begin{verbatim} string get_uuid (session_id s, VM_guest_metrics ref self)\end{verbatim}
4322 \noindent{\bf Arguments:}
4325 \vspace{0.3cm}
4326 \begin{tabular}{|c|c|p{7cm}|}
4327 \hline
4328 {\bf type} & {\bf name} & {\bf description} \\ \hline
4329 {\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline
4331 \end{tabular}
4333 \vspace{0.3cm}
4335 \noindent {\bf Return Type:}
4336 {\tt
4337 string
4341 value of the field
4342 \vspace{0.3cm}
4343 \vspace{0.3cm}
4344 \vspace{0.3cm}
4345 \subsubsection{RPC name:~get\_os\_version}
4347 {\bf Overview:}
4348 Get the os\_version field of the given VM\_guest\_metrics.
4350 \noindent {\bf Signature:}
4351 \begin{verbatim} ((string -> string) Map) get_os_version (session_id s, VM_guest_metrics ref self)\end{verbatim}
4354 \noindent{\bf Arguments:}
4357 \vspace{0.3cm}
4358 \begin{tabular}{|c|c|p{7cm}|}
4359 \hline
4360 {\bf type} & {\bf name} & {\bf description} \\ \hline
4361 {\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline
4363 \end{tabular}
4365 \vspace{0.3cm}
4367 \noindent {\bf Return Type:}
4368 {\tt
4369 (string $\rightarrow$ string) Map
4373 value of the field
4374 \vspace{0.3cm}
4375 \vspace{0.3cm}
4376 \vspace{0.3cm}
4377 \subsubsection{RPC name:~get\_PV\_drivers\_version}
4379 {\bf Overview:}
4380 Get the PV\_drivers\_version field of the given VM\_guest\_metrics.
4382 \noindent {\bf Signature:}
4383 \begin{verbatim} ((string -> string) Map) get_PV_drivers_version (session_id s, VM_guest_metrics ref self)\end{verbatim}
4386 \noindent{\bf Arguments:}
4389 \vspace{0.3cm}
4390 \begin{tabular}{|c|c|p{7cm}|}
4391 \hline
4392 {\bf type} & {\bf name} & {\bf description} \\ \hline
4393 {\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline
4395 \end{tabular}
4397 \vspace{0.3cm}
4399 \noindent {\bf Return Type:}
4400 {\tt
4401 (string $\rightarrow$ string) Map
4405 value of the field
4406 \vspace{0.3cm}
4407 \vspace{0.3cm}
4408 \vspace{0.3cm}
4409 \subsubsection{RPC name:~get\_memory}
4411 {\bf Overview:}
4412 Get the memory field of the given VM\_guest\_metrics.
4414 \noindent {\bf Signature:}
4415 \begin{verbatim} ((string -> string) Map) get_memory (session_id s, VM_guest_metrics ref self)\end{verbatim}
4418 \noindent{\bf Arguments:}
4421 \vspace{0.3cm}
4422 \begin{tabular}{|c|c|p{7cm}|}
4423 \hline
4424 {\bf type} & {\bf name} & {\bf description} \\ \hline
4425 {\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline
4427 \end{tabular}
4429 \vspace{0.3cm}
4431 \noindent {\bf Return Type:}
4432 {\tt
4433 (string $\rightarrow$ string) Map
4437 value of the field
4438 \vspace{0.3cm}
4439 \vspace{0.3cm}
4440 \vspace{0.3cm}
4441 \subsubsection{RPC name:~get\_disks}
4443 {\bf Overview:}
4444 Get the disks field of the given VM\_guest\_metrics.
4446 \noindent {\bf Signature:}
4447 \begin{verbatim} ((string -> string) Map) get_disks (session_id s, VM_guest_metrics ref self)\end{verbatim}
4450 \noindent{\bf Arguments:}
4453 \vspace{0.3cm}
4454 \begin{tabular}{|c|c|p{7cm}|}
4455 \hline
4456 {\bf type} & {\bf name} & {\bf description} \\ \hline
4457 {\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline
4459 \end{tabular}
4461 \vspace{0.3cm}
4463 \noindent {\bf Return Type:}
4464 {\tt
4465 (string $\rightarrow$ string) Map
4469 value of the field
4470 \vspace{0.3cm}
4471 \vspace{0.3cm}
4472 \vspace{0.3cm}
4473 \subsubsection{RPC name:~get\_networks}
4475 {\bf Overview:}
4476 Get the networks field of the given VM\_guest\_metrics.
4478 \noindent {\bf Signature:}
4479 \begin{verbatim} ((string -> string) Map) get_networks (session_id s, VM_guest_metrics ref self)\end{verbatim}
4482 \noindent{\bf Arguments:}
4485 \vspace{0.3cm}
4486 \begin{tabular}{|c|c|p{7cm}|}
4487 \hline
4488 {\bf type} & {\bf name} & {\bf description} \\ \hline
4489 {\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline
4491 \end{tabular}
4493 \vspace{0.3cm}
4495 \noindent {\bf Return Type:}
4496 {\tt
4497 (string $\rightarrow$ string) Map
4501 value of the field
4502 \vspace{0.3cm}
4503 \vspace{0.3cm}
4504 \vspace{0.3cm}
4505 \subsubsection{RPC name:~get\_other}
4507 {\bf Overview:}
4508 Get the other field of the given VM\_guest\_metrics.
4510 \noindent {\bf Signature:}
4511 \begin{verbatim} ((string -> string) Map) get_other (session_id s, VM_guest_metrics ref self)\end{verbatim}
4514 \noindent{\bf Arguments:}
4517 \vspace{0.3cm}
4518 \begin{tabular}{|c|c|p{7cm}|}
4519 \hline
4520 {\bf type} & {\bf name} & {\bf description} \\ \hline
4521 {\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline
4523 \end{tabular}
4525 \vspace{0.3cm}
4527 \noindent {\bf Return Type:}
4528 {\tt
4529 (string $\rightarrow$ string) Map
4533 value of the field
4534 \vspace{0.3cm}
4535 \vspace{0.3cm}
4536 \vspace{0.3cm}
4537 \subsubsection{RPC name:~get\_by\_uuid}
4539 {\bf Overview:}
4540 Get a reference to the VM\_guest\_metrics instance with the specified UUID.
4542 \noindent {\bf Signature:}
4543 \begin{verbatim} (VM_guest_metrics ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
4546 \noindent{\bf Arguments:}
4549 \vspace{0.3cm}
4550 \begin{tabular}{|c|c|p{7cm}|}
4551 \hline
4552 {\bf type} & {\bf name} & {\bf description} \\ \hline
4553 {\tt string } & uuid & UUID of object to return \\ \hline
4555 \end{tabular}
4557 \vspace{0.3cm}
4559 \noindent {\bf Return Type:}
4560 {\tt
4561 VM\_guest\_metrics ref
4565 reference to the object
4566 \vspace{0.3cm}
4567 \vspace{0.3cm}
4568 \vspace{0.3cm}
4569 \subsubsection{RPC name:~get\_record}
4571 {\bf Overview:}
4572 Get a record containing the current state of the given VM\_guest\_metrics.
4574 \noindent {\bf Signature:}
4575 \begin{verbatim} (VM_guest_metrics record) get_record (session_id s, VM_guest_metrics ref self)\end{verbatim}
4578 \noindent{\bf Arguments:}
4581 \vspace{0.3cm}
4582 \begin{tabular}{|c|c|p{7cm}|}
4583 \hline
4584 {\bf type} & {\bf name} & {\bf description} \\ \hline
4585 {\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline
4587 \end{tabular}
4589 \vspace{0.3cm}
4591 \noindent {\bf Return Type:}
4592 {\tt
4593 VM\_guest\_metrics record
4597 all fields from the object
4598 \vspace{0.3cm}
4599 \vspace{0.3cm}
4600 \vspace{0.3cm}
4602 \vspace{1cm}
4603 \newpage
4604 \section{Class: host}
4605 \subsection{Fields for class: host}
4606 \begin{longtable}{|lllp{0.38\textwidth}|}
4607 \hline
4608 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf host} \\
4609 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
4610 physical host.}} \\
4611 \hline
4612 Quals & Field & Type & Description \\
4613 \hline
4614 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
4615 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
4616 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
4617 $\mathit{RO}_\mathit{run}$ & {\tt API\_version/major} & int & major version number \\
4618 $\mathit{RO}_\mathit{run}$ & {\tt API\_version/minor} & int & minor version number \\
4619 $\mathit{RO}_\mathit{run}$ & {\tt API\_version/vendor} & string & identification of vendor \\
4620 $\mathit{RO}_\mathit{run}$ & {\tt API\_version/vendor\_implementation} & (string $\rightarrow$ string) Map & details of vendor implementation \\
4621 $\mathit{RO}_\mathit{run}$ & {\tt software\_version} & (string $\rightarrow$ string) Map & version strings \\
4622 $\mathit{RW}$ & {\tt other\_config} & (string $\rightarrow$ string) Map & additional configuration \\
4623 $\mathit{RO}_\mathit{run}$ & {\tt capabilities} & string Set & Xen capabilities \\
4624 $\mathit{RO}_\mathit{run}$ & {\tt supported\_bootloaders} & string Set & a list of the bootloaders installed on the machine \\
4625 $\mathit{RO}_\mathit{run}$ & {\tt resident\_VMs} & (VM ref) Set & list of VMs currently resident on host \\
4626 $\mathit{RW}$ & {\tt logging} & (string $\rightarrow$ string) Map & logging configuration \\
4627 $\mathit{RO}_\mathit{run}$ & {\tt PIFs} & (PIF ref) Set & physical network interfaces \\
4628 $\mathit{RW}$ & {\tt suspend\_image\_sr} & SR ref & The SR in which VDIs for suspend images are created \\
4629 $\mathit{RW}$ & {\tt crash\_dump\_sr} & SR ref & The SR in which VDIs for crash dumps are created \\
4630 $\mathit{RO}_\mathit{run}$ & {\tt PBDs} & (PBD ref) Set & physical blockdevices \\
4631 $\mathit{RO}_\mathit{run}$ & {\tt host\_CPUs} & (host\_cpu ref) Set & The physical CPUs on this host \\
4632 $\mathit{RO}_\mathit{ins}$ & {\tt metrics} & host\_metrics ref & metrics associated with this host. \\
4633 \hline
4634 \end{longtable}
4635 \subsection{RPCs associated with class: host}
4636 \subsubsection{RPC name:~disable}
4638 {\bf Overview:}
4639 Puts the host into a state in which no new VMs can be started. Currently
4640 active VMs on the host continue to execute.
4642 \noindent {\bf Signature:}
4643 \begin{verbatim} void disable (session_id s, host ref host)\end{verbatim}
4646 \noindent{\bf Arguments:}
4649 \vspace{0.3cm}
4650 \begin{tabular}{|c|c|p{7cm}|}
4651 \hline
4652 {\bf type} & {\bf name} & {\bf description} \\ \hline
4653 {\tt host ref } & host & The Host to disable \\ \hline
4655 \end{tabular}
4657 \vspace{0.3cm}
4659 \noindent {\bf Return Type:}
4660 {\tt
4661 void
4666 \vspace{0.3cm}
4667 \vspace{0.3cm}
4668 \vspace{0.3cm}
4669 \subsubsection{RPC name:~enable}
4671 {\bf Overview:}
4672 Puts the host into a state in which new VMs can be started.
4674 \noindent {\bf Signature:}
4675 \begin{verbatim} void enable (session_id s, host ref host)\end{verbatim}
4678 \noindent{\bf Arguments:}
4681 \vspace{0.3cm}
4682 \begin{tabular}{|c|c|p{7cm}|}
4683 \hline
4684 {\bf type} & {\bf name} & {\bf description} \\ \hline
4685 {\tt host ref } & host & The Host to enable \\ \hline
4687 \end{tabular}
4689 \vspace{0.3cm}
4691 \noindent {\bf Return Type:}
4692 {\tt
4693 void
4698 \vspace{0.3cm}
4699 \vspace{0.3cm}
4700 \vspace{0.3cm}
4701 \subsubsection{RPC name:~shutdown}
4703 {\bf Overview:}
4704 Shutdown the host. (This function can only be called if there are no
4705 currently running VMs on the host and it is disabled.).
4707 \noindent {\bf Signature:}
4708 \begin{verbatim} void shutdown (session_id s, host ref host)\end{verbatim}
4711 \noindent{\bf Arguments:}
4714 \vspace{0.3cm}
4715 \begin{tabular}{|c|c|p{7cm}|}
4716 \hline
4717 {\bf type} & {\bf name} & {\bf description} \\ \hline
4718 {\tt host ref } & host & The Host to shutdown \\ \hline
4720 \end{tabular}
4722 \vspace{0.3cm}
4724 \noindent {\bf Return Type:}
4725 {\tt
4726 void
4731 \vspace{0.3cm}
4732 \vspace{0.3cm}
4733 \vspace{0.3cm}
4734 \subsubsection{RPC name:~reboot}
4736 {\bf Overview:}
4737 Reboot the host. (This function can only be called if there are no
4738 currently running VMs on the host and it is disabled.).
4740 \noindent {\bf Signature:}
4741 \begin{verbatim} void reboot (session_id s, host ref host)\end{verbatim}
4744 \noindent{\bf Arguments:}
4747 \vspace{0.3cm}
4748 \begin{tabular}{|c|c|p{7cm}|}
4749 \hline
4750 {\bf type} & {\bf name} & {\bf description} \\ \hline
4751 {\tt host ref } & host & The Host to reboot \\ \hline
4753 \end{tabular}
4755 \vspace{0.3cm}
4757 \noindent {\bf Return Type:}
4758 {\tt
4759 void
4764 \vspace{0.3cm}
4765 \vspace{0.3cm}
4766 \vspace{0.3cm}
4767 \subsubsection{RPC name:~dmesg}
4769 {\bf Overview:}
4770 Get the host xen dmesg.
4772 \noindent {\bf Signature:}
4773 \begin{verbatim} string dmesg (session_id s, host ref host)\end{verbatim}
4776 \noindent{\bf Arguments:}
4779 \vspace{0.3cm}
4780 \begin{tabular}{|c|c|p{7cm}|}
4781 \hline
4782 {\bf type} & {\bf name} & {\bf description} \\ \hline
4783 {\tt host ref } & host & The Host to query \\ \hline
4785 \end{tabular}
4787 \vspace{0.3cm}
4789 \noindent {\bf Return Type:}
4790 {\tt
4791 string
4795 dmesg string
4796 \vspace{0.3cm}
4797 \vspace{0.3cm}
4798 \vspace{0.3cm}
4799 \subsubsection{RPC name:~get\_all}
4801 {\bf Overview:}
4802 Return a list of all the hosts known to the system.
4804 \noindent {\bf Signature:}
4805 \begin{verbatim} ((host ref) Set) get_all (session_id s)\end{verbatim}
4808 \vspace{0.3cm}
4810 \noindent {\bf Return Type:}
4811 {\tt
4812 (host ref) Set
4816 A list of all the IDs of all the hosts
4817 \vspace{0.3cm}
4818 \vspace{0.3cm}
4819 \vspace{0.3cm}
4820 \subsubsection{RPC name:~get\_uuid}
4822 {\bf Overview:}
4823 Get the uuid field of the given host.
4825 \noindent {\bf Signature:}
4826 \begin{verbatim} string get_uuid (session_id s, host ref self)\end{verbatim}
4829 \noindent{\bf Arguments:}
4832 \vspace{0.3cm}
4833 \begin{tabular}{|c|c|p{7cm}|}
4834 \hline
4835 {\bf type} & {\bf name} & {\bf description} \\ \hline
4836 {\tt host ref } & self & reference to the object \\ \hline
4838 \end{tabular}
4840 \vspace{0.3cm}
4842 \noindent {\bf Return Type:}
4843 {\tt
4844 string
4848 value of the field
4849 \vspace{0.3cm}
4850 \vspace{0.3cm}
4851 \vspace{0.3cm}
4852 \subsubsection{RPC name:~get\_name\_label}
4854 {\bf Overview:}
4855 Get the name/label field of the given host.
4857 \noindent {\bf Signature:}
4858 \begin{verbatim} string get_name_label (session_id s, host ref self)\end{verbatim}
4861 \noindent{\bf Arguments:}
4864 \vspace{0.3cm}
4865 \begin{tabular}{|c|c|p{7cm}|}
4866 \hline
4867 {\bf type} & {\bf name} & {\bf description} \\ \hline
4868 {\tt host ref } & self & reference to the object \\ \hline
4870 \end{tabular}
4872 \vspace{0.3cm}
4874 \noindent {\bf Return Type:}
4875 {\tt
4876 string
4880 value of the field
4881 \vspace{0.3cm}
4882 \vspace{0.3cm}
4883 \vspace{0.3cm}
4884 \subsubsection{RPC name:~set\_name\_label}
4886 {\bf Overview:}
4887 Set the name/label field of the given host.
4889 \noindent {\bf Signature:}
4890 \begin{verbatim} void set_name_label (session_id s, host ref self, string value)\end{verbatim}
4893 \noindent{\bf Arguments:}
4896 \vspace{0.3cm}
4897 \begin{tabular}{|c|c|p{7cm}|}
4898 \hline
4899 {\bf type} & {\bf name} & {\bf description} \\ \hline
4900 {\tt host ref } & self & reference to the object \\ \hline
4902 {\tt string } & value & New value to set \\ \hline
4904 \end{tabular}
4906 \vspace{0.3cm}
4908 \noindent {\bf Return Type:}
4909 {\tt
4910 void
4915 \vspace{0.3cm}
4916 \vspace{0.3cm}
4917 \vspace{0.3cm}
4918 \subsubsection{RPC name:~get\_name\_description}
4920 {\bf Overview:}
4921 Get the name/description field of the given host.
4923 \noindent {\bf Signature:}
4924 \begin{verbatim} string get_name_description (session_id s, host ref self)\end{verbatim}
4927 \noindent{\bf Arguments:}
4930 \vspace{0.3cm}
4931 \begin{tabular}{|c|c|p{7cm}|}
4932 \hline
4933 {\bf type} & {\bf name} & {\bf description} \\ \hline
4934 {\tt host ref } & self & reference to the object \\ \hline
4936 \end{tabular}
4938 \vspace{0.3cm}
4940 \noindent {\bf Return Type:}
4941 {\tt
4942 string
4946 value of the field
4947 \vspace{0.3cm}
4948 \vspace{0.3cm}
4949 \vspace{0.3cm}
4950 \subsubsection{RPC name:~set\_name\_description}
4952 {\bf Overview:}
4953 Set the name/description field of the given host.
4955 \noindent {\bf Signature:}
4956 \begin{verbatim} void set_name_description (session_id s, host ref self, string value)\end{verbatim}
4959 \noindent{\bf Arguments:}
4962 \vspace{0.3cm}
4963 \begin{tabular}{|c|c|p{7cm}|}
4964 \hline
4965 {\bf type} & {\bf name} & {\bf description} \\ \hline
4966 {\tt host ref } & self & reference to the object \\ \hline
4968 {\tt string } & value & New value to set \\ \hline
4970 \end{tabular}
4972 \vspace{0.3cm}
4974 \noindent {\bf Return Type:}
4975 {\tt
4976 void
4981 \vspace{0.3cm}
4982 \vspace{0.3cm}
4983 \vspace{0.3cm}
4984 \subsubsection{RPC name:~get\_API\_version\_major}
4986 {\bf Overview:}
4987 Get the API\_version/major field of the given host.
4989 \noindent {\bf Signature:}
4990 \begin{verbatim} int get_API_version_major (session_id s, host ref self)\end{verbatim}
4993 \noindent{\bf Arguments:}
4996 \vspace{0.3cm}
4997 \begin{tabular}{|c|c|p{7cm}|}
4998 \hline
4999 {\bf type} & {\bf name} & {\bf description} \\ \hline
5000 {\tt host ref } & self & reference to the object \\ \hline
5002 \end{tabular}
5004 \vspace{0.3cm}
5006 \noindent {\bf Return Type:}
5007 {\tt
5008 int
5012 value of the field
5013 \vspace{0.3cm}
5014 \vspace{0.3cm}
5015 \vspace{0.3cm}
5016 \subsubsection{RPC name:~get\_API\_version\_minor}
5018 {\bf Overview:}
5019 Get the API\_version/minor field of the given host.
5021 \noindent {\bf Signature:}
5022 \begin{verbatim} int get_API_version_minor (session_id s, host ref self)\end{verbatim}
5025 \noindent{\bf Arguments:}
5028 \vspace{0.3cm}
5029 \begin{tabular}{|c|c|p{7cm}|}
5030 \hline
5031 {\bf type} & {\bf name} & {\bf description} \\ \hline
5032 {\tt host ref } & self & reference to the object \\ \hline
5034 \end{tabular}
5036 \vspace{0.3cm}
5038 \noindent {\bf Return Type:}
5039 {\tt
5040 int
5044 value of the field
5045 \vspace{0.3cm}
5046 \vspace{0.3cm}
5047 \vspace{0.3cm}
5048 \subsubsection{RPC name:~get\_API\_version\_vendor}
5050 {\bf Overview:}
5051 Get the API\_version/vendor field of the given host.
5053 \noindent {\bf Signature:}
5054 \begin{verbatim} string get_API_version_vendor (session_id s, host ref self)\end{verbatim}
5057 \noindent{\bf Arguments:}
5060 \vspace{0.3cm}
5061 \begin{tabular}{|c|c|p{7cm}|}
5062 \hline
5063 {\bf type} & {\bf name} & {\bf description} \\ \hline
5064 {\tt host ref } & self & reference to the object \\ \hline
5066 \end{tabular}
5068 \vspace{0.3cm}
5070 \noindent {\bf Return Type:}
5071 {\tt
5072 string
5076 value of the field
5077 \vspace{0.3cm}
5078 \vspace{0.3cm}
5079 \vspace{0.3cm}
5080 \subsubsection{RPC name:~get\_API\_version\_vendor\_implementation}
5082 {\bf Overview:}
5083 Get the API\_version/vendor\_implementation field of the given host.
5085 \noindent {\bf Signature:}
5086 \begin{verbatim} ((string -> string) Map) get_API_version_vendor_implementation (session_id s, host ref self)\end{verbatim}
5089 \noindent{\bf Arguments:}
5092 \vspace{0.3cm}
5093 \begin{tabular}{|c|c|p{7cm}|}
5094 \hline
5095 {\bf type} & {\bf name} & {\bf description} \\ \hline
5096 {\tt host ref } & self & reference to the object \\ \hline
5098 \end{tabular}
5100 \vspace{0.3cm}
5102 \noindent {\bf Return Type:}
5103 {\tt
5104 (string $\rightarrow$ string) Map
5108 value of the field
5109 \vspace{0.3cm}
5110 \vspace{0.3cm}
5111 \vspace{0.3cm}
5112 \subsubsection{RPC name:~get\_software\_version}
5114 {\bf Overview:}
5115 Get the software\_version field of the given host.
5117 \noindent {\bf Signature:}
5118 \begin{verbatim} ((string -> string) Map) get_software_version (session_id s, host ref self)\end{verbatim}
5121 \noindent{\bf Arguments:}
5124 \vspace{0.3cm}
5125 \begin{tabular}{|c|c|p{7cm}|}
5126 \hline
5127 {\bf type} & {\bf name} & {\bf description} \\ \hline
5128 {\tt host ref } & self & reference to the object \\ \hline
5130 \end{tabular}
5132 \vspace{0.3cm}
5134 \noindent {\bf Return Type:}
5135 {\tt
5136 (string $\rightarrow$ string) Map
5140 value of the field
5141 \vspace{0.3cm}
5142 \vspace{0.3cm}
5143 \vspace{0.3cm}
5144 \subsubsection{RPC name:~get\_other\_config}
5146 {\bf Overview:}
5147 Get the other\_config field of the given host.
5149 \noindent {\bf Signature:}
5150 \begin{verbatim} ((string -> string) Map) get_other_config (session_id s, host ref self)\end{verbatim}
5153 \noindent{\bf Arguments:}
5156 \vspace{0.3cm}
5157 \begin{tabular}{|c|c|p{7cm}|}
5158 \hline
5159 {\bf type} & {\bf name} & {\bf description} \\ \hline
5160 {\tt host ref } & self & reference to the object \\ \hline
5162 \end{tabular}
5164 \vspace{0.3cm}
5166 \noindent {\bf Return Type:}
5167 {\tt
5168 (string $\rightarrow$ string) Map
5172 value of the field
5173 \vspace{0.3cm}
5174 \vspace{0.3cm}
5175 \vspace{0.3cm}
5176 \subsubsection{RPC name:~set\_other\_config}
5178 {\bf Overview:}
5179 Set the other\_config field of the given host.
5181 \noindent {\bf Signature:}
5182 \begin{verbatim} void set_other_config (session_id s, host ref self, (string -> string) Map value)\end{verbatim}
5185 \noindent{\bf Arguments:}
5188 \vspace{0.3cm}
5189 \begin{tabular}{|c|c|p{7cm}|}
5190 \hline
5191 {\bf type} & {\bf name} & {\bf description} \\ \hline
5192 {\tt host ref } & self & reference to the object \\ \hline
5194 {\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline
5196 \end{tabular}
5198 \vspace{0.3cm}
5200 \noindent {\bf Return Type:}
5201 {\tt
5202 void
5207 \vspace{0.3cm}
5208 \vspace{0.3cm}
5209 \vspace{0.3cm}
5210 \subsubsection{RPC name:~add\_to\_other\_config}
5212 {\bf Overview:}
5213 Add the given key-value pair to the other\_config field of the given host.
5215 \noindent {\bf Signature:}
5216 \begin{verbatim} void add_to_other_config (session_id s, host ref self, string key, string value)\end{verbatim}
5219 \noindent{\bf Arguments:}
5222 \vspace{0.3cm}
5223 \begin{tabular}{|c|c|p{7cm}|}
5224 \hline
5225 {\bf type} & {\bf name} & {\bf description} \\ \hline
5226 {\tt host ref } & self & reference to the object \\ \hline
5228 {\tt string } & key & Key to add \\ \hline
5230 {\tt string } & value & Value to add \\ \hline
5232 \end{tabular}
5234 \vspace{0.3cm}
5236 \noindent {\bf Return Type:}
5237 {\tt
5238 void
5243 \vspace{0.3cm}
5244 \vspace{0.3cm}
5245 \vspace{0.3cm}
5246 \subsubsection{RPC name:~remove\_from\_other\_config}
5248 {\bf Overview:}
5249 Remove the given key and its corresponding value from the other\_config
5250 field of the given host. If the key is not in that Map, then do nothing.
5252 \noindent {\bf Signature:}
5253 \begin{verbatim} void remove_from_other_config (session_id s, host ref self, string key)\end{verbatim}
5256 \noindent{\bf Arguments:}
5259 \vspace{0.3cm}
5260 \begin{tabular}{|c|c|p{7cm}|}
5261 \hline
5262 {\bf type} & {\bf name} & {\bf description} \\ \hline
5263 {\tt host ref } & self & reference to the object \\ \hline
5265 {\tt string } & key & Key to remove \\ \hline
5267 \end{tabular}
5269 \vspace{0.3cm}
5271 \noindent {\bf Return Type:}
5272 {\tt
5273 void
5278 \vspace{0.3cm}
5279 \vspace{0.3cm}
5280 \vspace{0.3cm}
5281 \subsubsection{RPC name:~get\_capabilities}
5283 {\bf Overview:}
5284 Get the capabilities field of the given host.
5286 \noindent {\bf Signature:}
5287 \begin{verbatim} (string Set) get_capabilities (session_id s, host ref self)\end{verbatim}
5290 \noindent{\bf Arguments:}
5293 \vspace{0.3cm}
5294 \begin{tabular}{|c|c|p{7cm}|}
5295 \hline
5296 {\bf type} & {\bf name} & {\bf description} \\ \hline
5297 {\tt host ref } & self & reference to the object \\ \hline
5299 \end{tabular}
5301 \vspace{0.3cm}
5303 \noindent {\bf Return Type:}
5304 {\tt
5305 string Set
5309 value of the field
5310 \vspace{0.3cm}
5311 \vspace{0.3cm}
5312 \vspace{0.3cm}
5313 \subsubsection{RPC name:~get\_supported\_bootloaders}
5315 {\bf Overview:}
5316 Get the supported\_bootloaders field of the given host.
5318 \noindent {\bf Signature:}
5319 \begin{verbatim} (string Set) get_supported_bootloaders (session_id s, host ref self)\end{verbatim}
5322 \noindent{\bf Arguments:}
5325 \vspace{0.3cm}
5326 \begin{tabular}{|c|c|p{7cm}|}
5327 \hline
5328 {\bf type} & {\bf name} & {\bf description} \\ \hline
5329 {\tt host ref } & self & reference to the object \\ \hline
5331 \end{tabular}
5333 \vspace{0.3cm}
5335 \noindent {\bf Return Type:}
5336 {\tt
5337 string Set
5341 value of the field
5342 \vspace{0.3cm}
5343 \vspace{0.3cm}
5344 \vspace{0.3cm}
5345 \subsubsection{RPC name:~get\_resident\_VMs}
5347 {\bf Overview:}
5348 Get the resident\_VMs field of the given host.
5350 \noindent {\bf Signature:}
5351 \begin{verbatim} ((VM ref) Set) get_resident_VMs (session_id s, host ref self)\end{verbatim}
5354 \noindent{\bf Arguments:}
5357 \vspace{0.3cm}
5358 \begin{tabular}{|c|c|p{7cm}|}
5359 \hline
5360 {\bf type} & {\bf name} & {\bf description} \\ \hline
5361 {\tt host ref } & self & reference to the object \\ \hline
5363 \end{tabular}
5365 \vspace{0.3cm}
5367 \noindent {\bf Return Type:}
5368 {\tt
5369 (VM ref) Set
5373 value of the field
5374 \vspace{0.3cm}
5375 \vspace{0.3cm}
5376 \vspace{0.3cm}
5377 \subsubsection{RPC name:~get\_logging}
5379 {\bf Overview:}
5380 Get the logging field of the given host.
5382 \noindent {\bf Signature:}
5383 \begin{verbatim} ((string -> string) Map) get_logging (session_id s, host ref self)\end{verbatim}
5386 \noindent{\bf Arguments:}
5389 \vspace{0.3cm}
5390 \begin{tabular}{|c|c|p{7cm}|}
5391 \hline
5392 {\bf type} & {\bf name} & {\bf description} \\ \hline
5393 {\tt host ref } & self & reference to the object \\ \hline
5395 \end{tabular}
5397 \vspace{0.3cm}
5399 \noindent {\bf Return Type:}
5400 {\tt
5401 (string $\rightarrow$ string) Map
5405 value of the field
5406 \vspace{0.3cm}
5407 \vspace{0.3cm}
5408 \vspace{0.3cm}
5409 \subsubsection{RPC name:~set\_logging}
5411 {\bf Overview:}
5412 Set the logging field of the given host.
5414 \noindent {\bf Signature:}
5415 \begin{verbatim} void set_logging (session_id s, host ref self, (string -> string) Map value)\end{verbatim}
5418 \noindent{\bf Arguments:}
5421 \vspace{0.3cm}
5422 \begin{tabular}{|c|c|p{7cm}|}
5423 \hline
5424 {\bf type} & {\bf name} & {\bf description} \\ \hline
5425 {\tt host ref } & self & reference to the object \\ \hline
5427 {\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline
5429 \end{tabular}
5431 \vspace{0.3cm}
5433 \noindent {\bf Return Type:}
5434 {\tt
5435 void
5440 \vspace{0.3cm}
5441 \vspace{0.3cm}
5442 \vspace{0.3cm}
5443 \subsubsection{RPC name:~add\_to\_logging}
5445 {\bf Overview:}
5446 Add the given key-value pair to the logging field of the given host.
5448 \noindent {\bf Signature:}
5449 \begin{verbatim} void add_to_logging (session_id s, host ref self, string key, string value)\end{verbatim}
5452 \noindent{\bf Arguments:}
5455 \vspace{0.3cm}
5456 \begin{tabular}{|c|c|p{7cm}|}
5457 \hline
5458 {\bf type} & {\bf name} & {\bf description} \\ \hline
5459 {\tt host ref } & self & reference to the object \\ \hline
5461 {\tt string } & key & Key to add \\ \hline
5463 {\tt string } & value & Value to add \\ \hline
5465 \end{tabular}
5467 \vspace{0.3cm}
5469 \noindent {\bf Return Type:}
5470 {\tt
5471 void
5476 \vspace{0.3cm}
5477 \vspace{0.3cm}
5478 \vspace{0.3cm}
5479 \subsubsection{RPC name:~remove\_from\_logging}
5481 {\bf Overview:}
5482 Remove the given key and its corresponding value from the logging field of
5483 the given host. If the key is not in that Map, then do nothing.
5485 \noindent {\bf Signature:}
5486 \begin{verbatim} void remove_from_logging (session_id s, host ref self, string key)\end{verbatim}
5489 \noindent{\bf Arguments:}
5492 \vspace{0.3cm}
5493 \begin{tabular}{|c|c|p{7cm}|}
5494 \hline
5495 {\bf type} & {\bf name} & {\bf description} \\ \hline
5496 {\tt host ref } & self & reference to the object \\ \hline
5498 {\tt string } & key & Key to remove \\ \hline
5500 \end{tabular}
5502 \vspace{0.3cm}
5504 \noindent {\bf Return Type:}
5505 {\tt
5506 void
5511 \vspace{0.3cm}
5512 \vspace{0.3cm}
5513 \vspace{0.3cm}
5514 \subsubsection{RPC name:~get\_PIFs}
5516 {\bf Overview:}
5517 Get the PIFs field of the given host.
5519 \noindent {\bf Signature:}
5520 \begin{verbatim} ((PIF ref) Set) get_PIFs (session_id s, host ref self)\end{verbatim}
5523 \noindent{\bf Arguments:}
5526 \vspace{0.3cm}
5527 \begin{tabular}{|c|c|p{7cm}|}
5528 \hline
5529 {\bf type} & {\bf name} & {\bf description} \\ \hline
5530 {\tt host ref } & self & reference to the object \\ \hline
5532 \end{tabular}
5534 \vspace{0.3cm}
5536 \noindent {\bf Return Type:}
5537 {\tt
5538 (PIF ref) Set
5542 value of the field
5543 \vspace{0.3cm}
5544 \vspace{0.3cm}
5545 \vspace{0.3cm}
5546 \subsubsection{RPC name:~get\_suspend\_image\_sr}
5548 {\bf Overview:}
5549 Get the suspend\_image\_sr field of the given host.
5551 \noindent {\bf Signature:}
5552 \begin{verbatim} (SR ref) get_suspend_image_sr (session_id s, host ref self)\end{verbatim}
5555 \noindent{\bf Arguments:}
5558 \vspace{0.3cm}
5559 \begin{tabular}{|c|c|p{7cm}|}
5560 \hline
5561 {\bf type} & {\bf name} & {\bf description} \\ \hline
5562 {\tt host ref } & self & reference to the object \\ \hline
5564 \end{tabular}
5566 \vspace{0.3cm}
5568 \noindent {\bf Return Type:}
5569 {\tt
5570 SR ref
5574 value of the field
5575 \vspace{0.3cm}
5576 \vspace{0.3cm}
5577 \vspace{0.3cm}
5578 \subsubsection{RPC name:~set\_suspend\_image\_sr}
5580 {\bf Overview:}
5581 Set the suspend\_image\_sr field of the given host.
5583 \noindent {\bf Signature:}
5584 \begin{verbatim} void set_suspend_image_sr (session_id s, host ref self, SR ref value)\end{verbatim}
5587 \noindent{\bf Arguments:}
5590 \vspace{0.3cm}
5591 \begin{tabular}{|c|c|p{7cm}|}
5592 \hline
5593 {\bf type} & {\bf name} & {\bf description} \\ \hline
5594 {\tt host ref } & self & reference to the object \\ \hline
5596 {\tt SR ref } & value & New value to set \\ \hline
5598 \end{tabular}
5600 \vspace{0.3cm}
5602 \noindent {\bf Return Type:}
5603 {\tt
5604 void
5609 \vspace{0.3cm}
5610 \vspace{0.3cm}
5611 \vspace{0.3cm}
5612 \subsubsection{RPC name:~get\_crash\_dump\_sr}
5614 {\bf Overview:}
5615 Get the crash\_dump\_sr field of the given host.
5617 \noindent {\bf Signature:}
5618 \begin{verbatim} (SR ref) get_crash_dump_sr (session_id s, host ref self)\end{verbatim}
5621 \noindent{\bf Arguments:}
5624 \vspace{0.3cm}
5625 \begin{tabular}{|c|c|p{7cm}|}
5626 \hline
5627 {\bf type} & {\bf name} & {\bf description} \\ \hline
5628 {\tt host ref } & self & reference to the object \\ \hline
5630 \end{tabular}
5632 \vspace{0.3cm}
5634 \noindent {\bf Return Type:}
5635 {\tt
5636 SR ref
5640 value of the field
5641 \vspace{0.3cm}
5642 \vspace{0.3cm}
5643 \vspace{0.3cm}
5644 \subsubsection{RPC name:~set\_crash\_dump\_sr}
5646 {\bf Overview:}
5647 Set the crash\_dump\_sr field of the given host.
5649 \noindent {\bf Signature:}
5650 \begin{verbatim} void set_crash_dump_sr (session_id s, host ref self, SR ref value)\end{verbatim}
5653 \noindent{\bf Arguments:}
5656 \vspace{0.3cm}
5657 \begin{tabular}{|c|c|p{7cm}|}
5658 \hline
5659 {\bf type} & {\bf name} & {\bf description} \\ \hline
5660 {\tt host ref } & self & reference to the object \\ \hline
5662 {\tt SR ref } & value & New value to set \\ \hline
5664 \end{tabular}
5666 \vspace{0.3cm}
5668 \noindent {\bf Return Type:}
5669 {\tt
5670 void
5675 \vspace{0.3cm}
5676 \vspace{0.3cm}
5677 \vspace{0.3cm}
5678 \subsubsection{RPC name:~get\_PBDs}
5680 {\bf Overview:}
5681 Get the PBDs field of the given host.
5683 \noindent {\bf Signature:}
5684 \begin{verbatim} ((PBD ref) Set) get_PBDs (session_id s, host ref self)\end{verbatim}
5687 \noindent{\bf Arguments:}
5690 \vspace{0.3cm}
5691 \begin{tabular}{|c|c|p{7cm}|}
5692 \hline
5693 {\bf type} & {\bf name} & {\bf description} \\ \hline
5694 {\tt host ref } & self & reference to the object \\ \hline
5696 \end{tabular}
5698 \vspace{0.3cm}
5700 \noindent {\bf Return Type:}
5701 {\tt
5702 (PBD ref) Set
5706 value of the field
5707 \vspace{0.3cm}
5708 \vspace{0.3cm}
5709 \vspace{0.3cm}
5710 \subsubsection{RPC name:~get\_host\_CPUs}
5712 {\bf Overview:}
5713 Get the host\_CPUs field of the given host.
5715 \noindent {\bf Signature:}
5716 \begin{verbatim} ((host_cpu ref) Set) get_host_CPUs (session_id s, host ref self)\end{verbatim}
5719 \noindent{\bf Arguments:}
5722 \vspace{0.3cm}
5723 \begin{tabular}{|c|c|p{7cm}|}
5724 \hline
5725 {\bf type} & {\bf name} & {\bf description} \\ \hline
5726 {\tt host ref } & self & reference to the object \\ \hline
5728 \end{tabular}
5730 \vspace{0.3cm}
5732 \noindent {\bf Return Type:}
5733 {\tt
5734 (host\_cpu ref) Set
5738 value of the field
5739 \vspace{0.3cm}
5740 \vspace{0.3cm}
5741 \vspace{0.3cm}
5742 \subsubsection{RPC name:~get\_metrics}
5744 {\bf Overview:}
5745 Get the metrics field of the given host.
5747 \noindent {\bf Signature:}
5748 \begin{verbatim} (host_metrics ref) get_metrics (session_id s, host ref self)\end{verbatim}
5751 \noindent{\bf Arguments:}
5754 \vspace{0.3cm}
5755 \begin{tabular}{|c|c|p{7cm}|}
5756 \hline
5757 {\bf type} & {\bf name} & {\bf description} \\ \hline
5758 {\tt host ref } & self & reference to the object \\ \hline
5760 \end{tabular}
5762 \vspace{0.3cm}
5764 \noindent {\bf Return Type:}
5765 {\tt
5766 host\_metrics ref
5770 value of the field
5771 \vspace{0.3cm}
5772 \vspace{0.3cm}
5773 \vspace{0.3cm}
5774 \subsubsection{RPC name:~get\_by\_uuid}
5776 {\bf Overview:}
5777 Get a reference to the host instance with the specified UUID.
5779 \noindent {\bf Signature:}
5780 \begin{verbatim} (host ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
5783 \noindent{\bf Arguments:}
5786 \vspace{0.3cm}
5787 \begin{tabular}{|c|c|p{7cm}|}
5788 \hline
5789 {\bf type} & {\bf name} & {\bf description} \\ \hline
5790 {\tt string } & uuid & UUID of object to return \\ \hline
5792 \end{tabular}
5794 \vspace{0.3cm}
5796 \noindent {\bf Return Type:}
5797 {\tt
5798 host ref
5802 reference to the object
5803 \vspace{0.3cm}
5804 \vspace{0.3cm}
5805 \vspace{0.3cm}
5806 \subsubsection{RPC name:~get\_record}
5808 {\bf Overview:}
5809 Get a record containing the current state of the given host.
5811 \noindent {\bf Signature:}
5812 \begin{verbatim} (host record) get_record (session_id s, host ref self)\end{verbatim}
5815 \noindent{\bf Arguments:}
5818 \vspace{0.3cm}
5819 \begin{tabular}{|c|c|p{7cm}|}
5820 \hline
5821 {\bf type} & {\bf name} & {\bf description} \\ \hline
5822 {\tt host ref } & self & reference to the object \\ \hline
5824 \end{tabular}
5826 \vspace{0.3cm}
5828 \noindent {\bf Return Type:}
5829 {\tt
5830 host record
5834 all fields from the object
5835 \vspace{0.3cm}
5836 \vspace{0.3cm}
5837 \vspace{0.3cm}
5838 \subsubsection{RPC name:~get\_by\_name\_label}
5840 {\bf Overview:}
5841 Get all the host instances with the given label.
5843 \noindent {\bf Signature:}
5844 \begin{verbatim} ((host ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
5847 \noindent{\bf Arguments:}
5850 \vspace{0.3cm}
5851 \begin{tabular}{|c|c|p{7cm}|}
5852 \hline
5853 {\bf type} & {\bf name} & {\bf description} \\ \hline
5854 {\tt string } & label & label of object to return \\ \hline
5856 \end{tabular}
5858 \vspace{0.3cm}
5860 \noindent {\bf Return Type:}
5861 {\tt
5862 (host ref) Set
5866 references to objects with match names
5867 \vspace{0.3cm}
5868 \vspace{0.3cm}
5869 \vspace{0.3cm}
5871 \vspace{1cm}
5872 \newpage
5873 \section{Class: host\_metrics}
5874 \subsection{Fields for class: host\_metrics}
5875 \begin{longtable}{|lllp{0.38\textwidth}|}
5876 \hline
5877 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf host\_metrics} \\
5878 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em
5879 The metrics associated with a host.}} \\
5880 \hline
5881 Quals & Field & Type & Description \\
5882 \hline
5883 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
5884 $\mathit{RO}_\mathit{run}$ & {\tt memory/total} & int & Host's total memory (bytes) \\
5885 $\mathit{RO}_\mathit{run}$ & {\tt memory/free} & int & Host's free memory (bytes) \\
5886 \hline
5887 \end{longtable}
5888 \subsection{RPCs associated with class: host\_metrics}
5889 \subsubsection{RPC name:~get\_all}
5891 {\bf Overview:}
5892 Return a list of all the host\_metrics instances known to the system.
5894 \noindent {\bf Signature:}
5895 \begin{verbatim} ((host_metrics ref) Set) get_all (session_id s)\end{verbatim}
5898 \vspace{0.3cm}
5900 \noindent {\bf Return Type:}
5901 {\tt
5902 (host\_metrics ref) Set
5906 references to all objects
5907 \vspace{0.3cm}
5908 \vspace{0.3cm}
5909 \vspace{0.3cm}
5910 \subsubsection{RPC name:~get\_uuid}
5912 {\bf Overview:}
5913 Get the uuid field of the given host\_metrics.
5915 \noindent {\bf Signature:}
5916 \begin{verbatim} string get_uuid (session_id s, host_metrics ref self)\end{verbatim}
5919 \noindent{\bf Arguments:}
5922 \vspace{0.3cm}
5923 \begin{tabular}{|c|c|p{7cm}|}
5924 \hline
5925 {\bf type} & {\bf name} & {\bf description} \\ \hline
5926 {\tt host\_metrics ref } & self & reference to the object \\ \hline
5928 \end{tabular}
5930 \vspace{0.3cm}
5932 \noindent {\bf Return Type:}
5933 {\tt
5934 string
5938 value of the field
5939 \vspace{0.3cm}
5940 \vspace{0.3cm}
5941 \vspace{0.3cm}
5942 \subsubsection{RPC name:~get\_memory\_total}
5944 {\bf Overview:}
5945 Get the memory/total field of the given host\_metrics.
5947 \noindent {\bf Signature:}
5948 \begin{verbatim} int get_memory_total (session_id s, host_metrics ref self)\end{verbatim}
5951 \noindent{\bf Arguments:}
5954 \vspace{0.3cm}
5955 \begin{tabular}{|c|c|p{7cm}|}
5956 \hline
5957 {\bf type} & {\bf name} & {\bf description} \\ \hline
5958 {\tt host\_metrics ref } & self & reference to the object \\ \hline
5960 \end{tabular}
5962 \vspace{0.3cm}
5964 \noindent {\bf Return Type:}
5965 {\tt
5966 int
5970 value of the field
5971 \vspace{0.3cm}
5972 \vspace{0.3cm}
5973 \vspace{0.3cm}
5974 \subsubsection{RPC name:~get\_memory\_free}
5976 {\bf Overview:}
5977 Get the memory/free field of the given host\_metrics.
5979 \noindent {\bf Signature:}
5980 \begin{verbatim} int get_memory_free (session_id s, host_metrics ref self)\end{verbatim}
5983 \noindent{\bf Arguments:}
5986 \vspace{0.3cm}
5987 \begin{tabular}{|c|c|p{7cm}|}
5988 \hline
5989 {\bf type} & {\bf name} & {\bf description} \\ \hline
5990 {\tt host\_metrics ref } & self & reference to the object \\ \hline
5992 \end{tabular}
5994 \vspace{0.3cm}
5996 \noindent {\bf Return Type:}
5997 {\tt
5998 int
6002 value of the field
6003 \vspace{0.3cm}
6004 \vspace{0.3cm}
6005 \vspace{0.3cm}
6006 \subsubsection{RPC name:~get\_by\_uuid}
6008 {\bf Overview:}
6009 Get a reference to the host\_metrics instance with the specified UUID.
6011 \noindent {\bf Signature:}
6012 \begin{verbatim} (host_metrics ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
6015 \noindent{\bf Arguments:}
6018 \vspace{0.3cm}
6019 \begin{tabular}{|c|c|p{7cm}|}
6020 \hline
6021 {\bf type} & {\bf name} & {\bf description} \\ \hline
6022 {\tt string } & uuid & UUID of object to return \\ \hline
6024 \end{tabular}
6026 \vspace{0.3cm}
6028 \noindent {\bf Return Type:}
6029 {\tt
6030 host\_metrics ref
6034 reference to the object
6035 \vspace{0.3cm}
6036 \vspace{0.3cm}
6037 \vspace{0.3cm}
6038 \subsubsection{RPC name:~get\_record}
6040 {\bf Overview:}
6041 Get a record containing the current state of the given host\_metrics.
6043 \noindent {\bf Signature:}
6044 \begin{verbatim} (host_metrics record) get_record (session_id s, host_metrics ref self)\end{verbatim}
6047 \noindent{\bf Arguments:}
6050 \vspace{0.3cm}
6051 \begin{tabular}{|c|c|p{7cm}|}
6052 \hline
6053 {\bf type} & {\bf name} & {\bf description} \\ \hline
6054 {\tt host\_metrics ref } & self & reference to the object \\ \hline
6056 \end{tabular}
6058 \vspace{0.3cm}
6060 \noindent {\bf Return Type:}
6061 {\tt
6062 host\_metrics record
6066 all fields from the object
6067 \vspace{0.3cm}
6068 \vspace{0.3cm}
6069 \vspace{0.3cm}
6071 \vspace{1cm}
6072 \newpage
6073 \section{Class: host\_cpu}
6074 \subsection{Fields for class: host\_cpu}
6075 \begin{longtable}{|lllp{0.38\textwidth}|}
6076 \hline
6077 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf host\_cpu} \\
6078 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A physical CPU}} \\
6079 \hline
6080 Quals & Field & Type & Description \\
6081 \hline
6082 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
6083 $\mathit{RO}_\mathit{run}$ & {\tt host} & host ref & the host the CPU is in \\
6084 $\mathit{RO}_\mathit{run}$ & {\tt number} & int & the number of the physical CPU within the host \\
6085 $\mathit{RO}_\mathit{run}$ & {\tt vendor} & string & the vendor of the physical CPU \\
6086 $\mathit{RO}_\mathit{run}$ & {\tt speed} & int & the speed of the physical CPU \\
6087 $\mathit{RO}_\mathit{run}$ & {\tt modelname} & string & the model name of the physical CPU \\
6088 $\mathit{RO}_\mathit{run}$ & {\tt stepping} & string & the stepping of the physical CPU \\
6089 $\mathit{RO}_\mathit{run}$ & {\tt flags} & string & the flags of the physical CPU \\
6090 $\mathit{RO}_\mathit{run}$ & {\tt utilisation} & float & the current CPU utilisation \\
6091 \hline
6092 \end{longtable}
6093 \subsection{RPCs associated with class: host\_cpu}
6094 \subsubsection{RPC name:~get\_all}
6096 {\bf Overview:}
6097 Return a list of all the host\_cpus known to the system.
6099 \noindent {\bf Signature:}
6100 \begin{verbatim} ((host_cpu ref) Set) get_all (session_id s)\end{verbatim}
6103 \vspace{0.3cm}
6105 \noindent {\bf Return Type:}
6106 {\tt
6107 (host\_cpu ref) Set
6111 references to all objects
6112 \vspace{0.3cm}
6113 \vspace{0.3cm}
6114 \vspace{0.3cm}
6115 \subsubsection{RPC name:~get\_uuid}
6117 {\bf Overview:}
6118 Get the uuid field of the given host\_cpu.
6120 \noindent {\bf Signature:}
6121 \begin{verbatim} string get_uuid (session_id s, host_cpu ref self)\end{verbatim}
6124 \noindent{\bf Arguments:}
6127 \vspace{0.3cm}
6128 \begin{tabular}{|c|c|p{7cm}|}
6129 \hline
6130 {\bf type} & {\bf name} & {\bf description} \\ \hline
6131 {\tt host\_cpu ref } & self & reference to the object \\ \hline
6133 \end{tabular}
6135 \vspace{0.3cm}
6137 \noindent {\bf Return Type:}
6138 {\tt
6139 string
6143 value of the field
6144 \vspace{0.3cm}
6145 \vspace{0.3cm}
6146 \vspace{0.3cm}
6147 \subsubsection{RPC name:~get\_host}
6149 {\bf Overview:}
6150 Get the host field of the given host\_cpu.
6152 \noindent {\bf Signature:}
6153 \begin{verbatim} (host ref) get_host (session_id s, host_cpu ref self)\end{verbatim}
6156 \noindent{\bf Arguments:}
6159 \vspace{0.3cm}
6160 \begin{tabular}{|c|c|p{7cm}|}
6161 \hline
6162 {\bf type} & {\bf name} & {\bf description} \\ \hline
6163 {\tt host\_cpu ref } & self & reference to the object \\ \hline
6165 \end{tabular}
6167 \vspace{0.3cm}
6169 \noindent {\bf Return Type:}
6170 {\tt
6171 host ref
6175 value of the field
6176 \vspace{0.3cm}
6177 \vspace{0.3cm}
6178 \vspace{0.3cm}
6179 \subsubsection{RPC name:~get\_number}
6181 {\bf Overview:}
6182 Get the number field of the given host\_cpu.
6184 \noindent {\bf Signature:}
6185 \begin{verbatim} int get_number (session_id s, host_cpu ref self)\end{verbatim}
6188 \noindent{\bf Arguments:}
6191 \vspace{0.3cm}
6192 \begin{tabular}{|c|c|p{7cm}|}
6193 \hline
6194 {\bf type} & {\bf name} & {\bf description} \\ \hline
6195 {\tt host\_cpu ref } & self & reference to the object \\ \hline
6197 \end{tabular}
6199 \vspace{0.3cm}
6201 \noindent {\bf Return Type:}
6202 {\tt
6203 int
6207 value of the field
6208 \vspace{0.3cm}
6209 \vspace{0.3cm}
6210 \vspace{0.3cm}
6211 \subsubsection{RPC name:~get\_vendor}
6213 {\bf Overview:}
6214 Get the vendor field of the given host\_cpu.
6216 \noindent {\bf Signature:}
6217 \begin{verbatim} string get_vendor (session_id s, host_cpu ref self)\end{verbatim}
6220 \noindent{\bf Arguments:}
6223 \vspace{0.3cm}
6224 \begin{tabular}{|c|c|p{7cm}|}
6225 \hline
6226 {\bf type} & {\bf name} & {\bf description} \\ \hline
6227 {\tt host\_cpu ref } & self & reference to the object \\ \hline
6229 \end{tabular}
6231 \vspace{0.3cm}
6233 \noindent {\bf Return Type:}
6234 {\tt
6235 string
6239 value of the field
6240 \vspace{0.3cm}
6241 \vspace{0.3cm}
6242 \vspace{0.3cm}
6243 \subsubsection{RPC name:~get\_speed}
6245 {\bf Overview:}
6246 Get the speed field of the given host\_cpu.
6248 \noindent {\bf Signature:}
6249 \begin{verbatim} int get_speed (session_id s, host_cpu ref self)\end{verbatim}
6252 \noindent{\bf Arguments:}
6255 \vspace{0.3cm}
6256 \begin{tabular}{|c|c|p{7cm}|}
6257 \hline
6258 {\bf type} & {\bf name} & {\bf description} \\ \hline
6259 {\tt host\_cpu ref } & self & reference to the object \\ \hline
6261 \end{tabular}
6263 \vspace{0.3cm}
6265 \noindent {\bf Return Type:}
6266 {\tt
6267 int
6271 value of the field
6272 \vspace{0.3cm}
6273 \vspace{0.3cm}
6274 \vspace{0.3cm}
6275 \subsubsection{RPC name:~get\_modelname}
6277 {\bf Overview:}
6278 Get the modelname field of the given host\_cpu.
6280 \noindent {\bf Signature:}
6281 \begin{verbatim} string get_modelname (session_id s, host_cpu ref self)\end{verbatim}
6284 \noindent{\bf Arguments:}
6287 \vspace{0.3cm}
6288 \begin{tabular}{|c|c|p{7cm}|}
6289 \hline
6290 {\bf type} & {\bf name} & {\bf description} \\ \hline
6291 {\tt host\_cpu ref } & self & reference to the object \\ \hline
6293 \end{tabular}
6295 \vspace{0.3cm}
6297 \noindent {\bf Return Type:}
6298 {\tt
6299 string
6303 value of the field
6304 \vspace{0.3cm}
6305 \vspace{0.3cm}
6306 \vspace{0.3cm}
6307 \subsubsection{RPC name:~get\_stepping}
6309 {\bf Overview:}
6310 Get the stepping field of the given host\_cpu.
6312 \noindent {\bf Signature:}
6313 \begin{verbatim} string get_stepping (session_id s, host_cpu ref self)\end{verbatim}
6316 \noindent{\bf Arguments:}
6319 \vspace{0.3cm}
6320 \begin{tabular}{|c|c|p{7cm}|}
6321 \hline
6322 {\bf type} & {\bf name} & {\bf description} \\ \hline
6323 {\tt host\_cpu ref } & self & reference to the object \\ \hline
6325 \end{tabular}
6327 \vspace{0.3cm}
6329 \noindent {\bf Return Type:}
6330 {\tt
6331 string
6335 value of the field
6336 \vspace{0.3cm}
6337 \vspace{0.3cm}
6338 \vspace{0.3cm}
6339 \subsubsection{RPC name:~get\_flags}
6341 {\bf Overview:}
6342 Get the flags field of the given host\_cpu.
6344 \noindent {\bf Signature:}
6345 \begin{verbatim} string get_flags (session_id s, host_cpu ref self)\end{verbatim}
6348 \noindent{\bf Arguments:}
6351 \vspace{0.3cm}
6352 \begin{tabular}{|c|c|p{7cm}|}
6353 \hline
6354 {\bf type} & {\bf name} & {\bf description} \\ \hline
6355 {\tt host\_cpu ref } & self & reference to the object \\ \hline
6357 \end{tabular}
6359 \vspace{0.3cm}
6361 \noindent {\bf Return Type:}
6362 {\tt
6363 string
6367 value of the field
6368 \vspace{0.3cm}
6369 \vspace{0.3cm}
6370 \vspace{0.3cm}
6371 \subsubsection{RPC name:~get\_utilisation}
6373 {\bf Overview:}
6374 Get the utilisation field of the given host\_cpu.
6376 \noindent {\bf Signature:}
6377 \begin{verbatim} float get_utilisation (session_id s, host_cpu ref self)\end{verbatim}
6380 \noindent{\bf Arguments:}
6383 \vspace{0.3cm}
6384 \begin{tabular}{|c|c|p{7cm}|}
6385 \hline
6386 {\bf type} & {\bf name} & {\bf description} \\ \hline
6387 {\tt host\_cpu ref } & self & reference to the object \\ \hline
6389 \end{tabular}
6391 \vspace{0.3cm}
6393 \noindent {\bf Return Type:}
6394 {\tt
6395 float
6399 value of the field
6400 \vspace{0.3cm}
6401 \vspace{0.3cm}
6402 \vspace{0.3cm}
6403 \subsubsection{RPC name:~get\_by\_uuid}
6405 {\bf Overview:}
6406 Get a reference to the host\_cpu instance with the specified UUID.
6408 \noindent {\bf Signature:}
6409 \begin{verbatim} (host_cpu ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
6412 \noindent{\bf Arguments:}
6415 \vspace{0.3cm}
6416 \begin{tabular}{|c|c|p{7cm}|}
6417 \hline
6418 {\bf type} & {\bf name} & {\bf description} \\ \hline
6419 {\tt string } & uuid & UUID of object to return \\ \hline
6421 \end{tabular}
6423 \vspace{0.3cm}
6425 \noindent {\bf Return Type:}
6426 {\tt
6427 host\_cpu ref
6431 reference to the object
6432 \vspace{0.3cm}
6433 \vspace{0.3cm}
6434 \vspace{0.3cm}
6435 \subsubsection{RPC name:~get\_record}
6437 {\bf Overview:}
6438 Get a record containing the current state of the given host\_cpu.
6440 \noindent {\bf Signature:}
6441 \begin{verbatim} (host_cpu record) get_record (session_id s, host_cpu ref self)\end{verbatim}
6444 \noindent{\bf Arguments:}
6447 \vspace{0.3cm}
6448 \begin{tabular}{|c|c|p{7cm}|}
6449 \hline
6450 {\bf type} & {\bf name} & {\bf description} \\ \hline
6451 {\tt host\_cpu ref } & self & reference to the object \\ \hline
6453 \end{tabular}
6455 \vspace{0.3cm}
6457 \noindent {\bf Return Type:}
6458 {\tt
6459 host\_cpu record
6463 all fields from the object
6464 \vspace{0.3cm}
6465 \vspace{0.3cm}
6466 \vspace{0.3cm}
6468 \vspace{1cm}
6469 \newpage
6470 \section{Class: network}
6471 \subsection{Fields for class: network}
6472 \begin{longtable}{|lllp{0.38\textwidth}|}
6473 \hline
6474 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf network} \\
6475 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
6476 virtual network.}} \\
6477 \hline
6478 Quals & Field & Type & Description \\
6479 \hline
6480 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
6481 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
6482 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
6483 $\mathit{RO}_\mathit{run}$ & {\tt VIFs} & (VIF ref) Set & list of connected vifs \\
6484 $\mathit{RO}_\mathit{run}$ & {\tt PIFs} & (PIF ref) Set & list of connected pifs \\
6485 \hline
6486 \end{longtable}
6487 \subsection{RPCs associated with class: network}
6488 \subsubsection{RPC name:~get\_all}
6490 {\bf Overview:}
6491 Return a list of all the networks known to the system
6493 \noindent {\bf Signature:}
6494 \begin{verbatim} ((network ref) Set) get_all (session_id s)\end{verbatim}
6497 \vspace{0.3cm}
6499 \noindent {\bf Return Type:}
6500 {\tt
6501 (network ref) Set
6505 A list of all the IDs of all the networks
6506 \vspace{0.3cm}
6507 \vspace{0.3cm}
6508 \vspace{0.3cm}
6509 \subsubsection{RPC name:~get\_uuid}
6511 {\bf Overview:}
6512 Get the uuid field of the given network.
6514 \noindent {\bf Signature:}
6515 \begin{verbatim} string get_uuid (session_id s, network ref self)\end{verbatim}
6518 \noindent{\bf Arguments:}
6521 \vspace{0.3cm}
6522 \begin{tabular}{|c|c|p{7cm}|}
6523 \hline
6524 {\bf type} & {\bf name} & {\bf description} \\ \hline
6525 {\tt network ref } & self & reference to the object \\ \hline
6527 \end{tabular}
6529 \vspace{0.3cm}
6531 \noindent {\bf Return Type:}
6532 {\tt
6533 string
6537 value of the field
6538 \vspace{0.3cm}
6539 \vspace{0.3cm}
6540 \vspace{0.3cm}
6541 \subsubsection{RPC name:~get\_name\_label}
6543 {\bf Overview:}
6544 Get the name/label field of the given network.
6546 \noindent {\bf Signature:}
6547 \begin{verbatim} string get_name_label (session_id s, network ref self)\end{verbatim}
6550 \noindent{\bf Arguments:}
6553 \vspace{0.3cm}
6554 \begin{tabular}{|c|c|p{7cm}|}
6555 \hline
6556 {\bf type} & {\bf name} & {\bf description} \\ \hline
6557 {\tt network ref } & self & reference to the object \\ \hline
6559 \end{tabular}
6561 \vspace{0.3cm}
6563 \noindent {\bf Return Type:}
6564 {\tt
6565 string
6569 value of the field
6570 \vspace{0.3cm}
6571 \vspace{0.3cm}
6572 \vspace{0.3cm}
6573 \subsubsection{RPC name:~set\_name\_label}
6575 {\bf Overview:}
6576 Set the name/label field of the given network.
6578 \noindent {\bf Signature:}
6579 \begin{verbatim} void set_name_label (session_id s, network ref self, string value)\end{verbatim}
6582 \noindent{\bf Arguments:}
6585 \vspace{0.3cm}
6586 \begin{tabular}{|c|c|p{7cm}|}
6587 \hline
6588 {\bf type} & {\bf name} & {\bf description} \\ \hline
6589 {\tt network ref } & self & reference to the object \\ \hline
6591 {\tt string } & value & New value to set \\ \hline
6593 \end{tabular}
6595 \vspace{0.3cm}
6597 \noindent {\bf Return Type:}
6598 {\tt
6599 void
6604 \vspace{0.3cm}
6605 \vspace{0.3cm}
6606 \vspace{0.3cm}
6607 \subsubsection{RPC name:~get\_name\_description}
6609 {\bf Overview:}
6610 Get the name/description field of the given network.
6612 \noindent {\bf Signature:}
6613 \begin{verbatim} string get_name_description (session_id s, network ref self)\end{verbatim}
6616 \noindent{\bf Arguments:}
6619 \vspace{0.3cm}
6620 \begin{tabular}{|c|c|p{7cm}|}
6621 \hline
6622 {\bf type} & {\bf name} & {\bf description} \\ \hline
6623 {\tt network ref } & self & reference to the object \\ \hline
6625 \end{tabular}
6627 \vspace{0.3cm}
6629 \noindent {\bf Return Type:}
6630 {\tt
6631 string
6635 value of the field
6636 \vspace{0.3cm}
6637 \vspace{0.3cm}
6638 \vspace{0.3cm}
6639 \subsubsection{RPC name:~set\_name\_description}
6641 {\bf Overview:}
6642 Set the name/description field of the given network.
6644 \noindent {\bf Signature:}
6645 \begin{verbatim} void set_name_description (session_id s, network ref self, string value)\end{verbatim}
6648 \noindent{\bf Arguments:}
6651 \vspace{0.3cm}
6652 \begin{tabular}{|c|c|p{7cm}|}
6653 \hline
6654 {\bf type} & {\bf name} & {\bf description} \\ \hline
6655 {\tt network ref } & self & reference to the object \\ \hline
6657 {\tt string } & value & New value to set \\ \hline
6659 \end{tabular}
6661 \vspace{0.3cm}
6663 \noindent {\bf Return Type:}
6664 {\tt
6665 void
6670 \vspace{0.3cm}
6671 \vspace{0.3cm}
6672 \vspace{0.3cm}
6673 \subsubsection{RPC name:~get\_VIFs}
6675 {\bf Overview:}
6676 Get the VIFs field of the given network.
6678 \noindent {\bf Signature:}
6679 \begin{verbatim} ((VIF ref) Set) get_VIFs (session_id s, network ref self)\end{verbatim}
6682 \noindent{\bf Arguments:}
6685 \vspace{0.3cm}
6686 \begin{tabular}{|c|c|p{7cm}|}
6687 \hline
6688 {\bf type} & {\bf name} & {\bf description} \\ \hline
6689 {\tt network ref } & self & reference to the object \\ \hline
6691 \end{tabular}
6693 \vspace{0.3cm}
6695 \noindent {\bf Return Type:}
6696 {\tt
6697 (VIF ref) Set
6701 value of the field
6702 \vspace{0.3cm}
6703 \vspace{0.3cm}
6704 \vspace{0.3cm}
6705 \subsubsection{RPC name:~get\_PIFs}
6707 {\bf Overview:}
6708 Get the PIFs field of the given network.
6710 \noindent {\bf Signature:}
6711 \begin{verbatim} ((PIF ref) Set) get_PIFs (session_id s, network ref self)\end{verbatim}
6714 \noindent{\bf Arguments:}
6717 \vspace{0.3cm}
6718 \begin{tabular}{|c|c|p{7cm}|}
6719 \hline
6720 {\bf type} & {\bf name} & {\bf description} \\ \hline
6721 {\tt network ref } & self & reference to the object \\ \hline
6723 \end{tabular}
6725 \vspace{0.3cm}
6727 \noindent {\bf Return Type:}
6728 {\tt
6729 (PIF ref) Set
6733 value of the field
6734 \vspace{0.3cm}
6735 \vspace{0.3cm}
6736 \vspace{0.3cm}
6737 \subsubsection{RPC name:~create}
6739 {\bf Overview:}
6740 Create a new network instance, and return its handle.
6742 \noindent {\bf Signature:}
6743 \begin{verbatim} (network ref) create (session_id s, network record args)\end{verbatim}
6746 \noindent{\bf Arguments:}
6749 \vspace{0.3cm}
6750 \begin{tabular}{|c|c|p{7cm}|}
6751 \hline
6752 {\bf type} & {\bf name} & {\bf description} \\ \hline
6753 {\tt network record } & args & All constructor arguments \\ \hline
6755 \end{tabular}
6757 \vspace{0.3cm}
6759 \noindent {\bf Return Type:}
6760 {\tt
6761 network ref
6765 reference to the newly created object
6766 \vspace{0.3cm}
6767 \vspace{0.3cm}
6768 \vspace{0.3cm}
6769 \subsubsection{RPC name:~destroy}
6771 {\bf Overview:}
6772 Destroy the specified network instance.
6774 \noindent {\bf Signature:}
6775 \begin{verbatim} void destroy (session_id s, network ref self)\end{verbatim}
6778 \noindent{\bf Arguments:}
6781 \vspace{0.3cm}
6782 \begin{tabular}{|c|c|p{7cm}|}
6783 \hline
6784 {\bf type} & {\bf name} & {\bf description} \\ \hline
6785 {\tt network ref } & self & reference to the object \\ \hline
6787 \end{tabular}
6789 \vspace{0.3cm}
6791 \noindent {\bf Return Type:}
6792 {\tt
6793 void
6798 \vspace{0.3cm}
6799 \vspace{0.3cm}
6800 \vspace{0.3cm}
6801 \subsubsection{RPC name:~get\_by\_uuid}
6803 {\bf Overview:}
6804 Get a reference to the network instance with the specified UUID.
6806 \noindent {\bf Signature:}
6807 \begin{verbatim} (network ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
6810 \noindent{\bf Arguments:}
6813 \vspace{0.3cm}
6814 \begin{tabular}{|c|c|p{7cm}|}
6815 \hline
6816 {\bf type} & {\bf name} & {\bf description} \\ \hline
6817 {\tt string } & uuid & UUID of object to return \\ \hline
6819 \end{tabular}
6821 \vspace{0.3cm}
6823 \noindent {\bf Return Type:}
6824 {\tt
6825 network ref
6829 reference to the object
6830 \vspace{0.3cm}
6831 \vspace{0.3cm}
6832 \vspace{0.3cm}
6833 \subsubsection{RPC name:~get\_record}
6835 {\bf Overview:}
6836 Get a record containing the current state of the given network.
6838 \noindent {\bf Signature:}
6839 \begin{verbatim} (network record) get_record (session_id s, network ref self)\end{verbatim}
6842 \noindent{\bf Arguments:}
6845 \vspace{0.3cm}
6846 \begin{tabular}{|c|c|p{7cm}|}
6847 \hline
6848 {\bf type} & {\bf name} & {\bf description} \\ \hline
6849 {\tt network ref } & self & reference to the object \\ \hline
6851 \end{tabular}
6853 \vspace{0.3cm}
6855 \noindent {\bf Return Type:}
6856 {\tt
6857 network record
6861 all fields from the object
6862 \vspace{0.3cm}
6863 \vspace{0.3cm}
6864 \vspace{0.3cm}
6865 \subsubsection{RPC name:~get\_by\_name\_label}
6867 {\bf Overview:}
6868 Get all the network instances with the given label.
6870 \noindent {\bf Signature:}
6871 \begin{verbatim} ((network ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
6874 \noindent{\bf Arguments:}
6877 \vspace{0.3cm}
6878 \begin{tabular}{|c|c|p{7cm}|}
6879 \hline
6880 {\bf type} & {\bf name} & {\bf description} \\ \hline
6881 {\tt string } & label & label of object to return \\ \hline
6883 \end{tabular}
6885 \vspace{0.3cm}
6887 \noindent {\bf Return Type:}
6888 {\tt
6889 (network ref) Set
6893 references to objects with match names
6894 \vspace{0.3cm}
6895 \vspace{0.3cm}
6896 \vspace{0.3cm}
6898 \vspace{1cm}
6899 \newpage
6900 \section{Class: VIF}
6901 \subsection{Fields for class: VIF}
6902 \begin{longtable}{|lllp{0.38\textwidth}|}
6903 \hline
6904 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VIF} \\
6905 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
6906 virtual network interface.}} \\
6907 \hline
6908 Quals & Field & Type & Description \\
6909 \hline
6910 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
6911 $\mathit{RW}$ & {\tt device} & string & name of network device as exposed to guest e.g. eth0 \\
6912 $\mathit{RO}_\mathit{ins}$ & {\tt network} & network ref & virtual network to which this vif is connected \\
6913 $\mathit{RO}_\mathit{ins}$ & {\tt VM} & VM ref & virtual machine to which this vif is connected \\
6914 $\mathit{RW}$ & {\tt MAC} & string & ethernet MAC address of virtual interface, as exposed to guest \\
6915 $\mathit{RW}$ & {\tt MTU} & int & MTU in octets \\
6916 $\mathit{RO}_\mathit{run}$ & {\tt currently\_attached} & bool & is the device currently attached (erased on reboot) \\
6917 $\mathit{RO}_\mathit{run}$ & {\tt status\_code} & int & error/success code associated with last attach-operation (erased on reboot) \\
6918 $\mathit{RO}_\mathit{run}$ & {\tt status\_detail} & string & error/success information associated with last attach-operation status (erased on reboot) \\
6919 $\mathit{RW}$ & {\tt qos/algorithm\_type} & string & QoS algorithm to use \\
6920 $\mathit{RW}$ & {\tt qos/algorithm\_params} & (string $\rightarrow$ string) Map & parameters for chosen QoS algorithm \\
6921 $\mathit{RO}_\mathit{run}$ & {\tt qos/supported\_algorithms} & string Set & supported QoS algorithms for this VIF \\
6922 $\mathit{RO}_\mathit{run}$ & {\tt metrics} & VIF\_metrics ref & metrics associated with this VIF. \\
6923 \hline
6924 \end{longtable}
6925 \subsection{RPCs associated with class: VIF}
6926 \subsubsection{RPC name:~plug}
6928 {\bf Overview:}
6929 Hotplug the specified VIF, dynamically attaching it to the running VM.
6931 \noindent {\bf Signature:}
6932 \begin{verbatim} void plug (session_id s, VIF ref self)\end{verbatim}
6935 \noindent{\bf Arguments:}
6938 \vspace{0.3cm}
6939 \begin{tabular}{|c|c|p{7cm}|}
6940 \hline
6941 {\bf type} & {\bf name} & {\bf description} \\ \hline
6942 {\tt VIF ref } & self & The VIF to hotplug \\ \hline
6944 \end{tabular}
6946 \vspace{0.3cm}
6948 \noindent {\bf Return Type:}
6949 {\tt
6950 void
6955 \vspace{0.3cm}
6956 \vspace{0.3cm}
6957 \vspace{0.3cm}
6958 \subsubsection{RPC name:~unplug}
6960 {\bf Overview:}
6961 Hot-unplug the specified VIF, dynamically unattaching it from the running
6962 VM.
6964 \noindent {\bf Signature:}
6965 \begin{verbatim} void unplug (session_id s, VIF ref self)\end{verbatim}
6968 \noindent{\bf Arguments:}
6971 \vspace{0.3cm}
6972 \begin{tabular}{|c|c|p{7cm}|}
6973 \hline
6974 {\bf type} & {\bf name} & {\bf description} \\ \hline
6975 {\tt VIF ref } & self & The VIF to hot-unplug \\ \hline
6977 \end{tabular}
6979 \vspace{0.3cm}
6981 \noindent {\bf Return Type:}
6982 {\tt
6983 void
6988 \vspace{0.3cm}
6989 \vspace{0.3cm}
6990 \vspace{0.3cm}
6991 \subsubsection{RPC name:~get\_all}
6993 {\bf Overview:}
6994 Return a list of all the VIFs known to the system.
6996 \noindent {\bf Signature:}
6997 \begin{verbatim} ((VIF ref) Set) get_all (session_id s)\end{verbatim}
7000 \vspace{0.3cm}
7002 \noindent {\bf Return Type:}
7003 {\tt
7004 (VIF ref) Set
7008 references to all objects
7009 \vspace{0.3cm}
7010 \vspace{0.3cm}
7011 \vspace{0.3cm}
7012 \subsubsection{RPC name:~get\_uuid}
7014 {\bf Overview:}
7015 Get the uuid field of the given VIF.
7017 \noindent {\bf Signature:}
7018 \begin{verbatim} string get_uuid (session_id s, VIF ref self)\end{verbatim}
7021 \noindent{\bf Arguments:}
7024 \vspace{0.3cm}
7025 \begin{tabular}{|c|c|p{7cm}|}
7026 \hline
7027 {\bf type} & {\bf name} & {\bf description} \\ \hline
7028 {\tt VIF ref } & self & reference to the object \\ \hline
7030 \end{tabular}
7032 \vspace{0.3cm}
7034 \noindent {\bf Return Type:}
7035 {\tt
7036 string
7040 value of the field
7041 \vspace{0.3cm}
7042 \vspace{0.3cm}
7043 \vspace{0.3cm}
7044 \subsubsection{RPC name:~get\_device}
7046 {\bf Overview:}
7047 Get the device field of the given VIF.
7049 \noindent {\bf Signature:}
7050 \begin{verbatim} string get_device (session_id s, VIF ref self)\end{verbatim}
7053 \noindent{\bf Arguments:}
7056 \vspace{0.3cm}
7057 \begin{tabular}{|c|c|p{7cm}|}
7058 \hline
7059 {\bf type} & {\bf name} & {\bf description} \\ \hline
7060 {\tt VIF ref } & self & reference to the object \\ \hline
7062 \end{tabular}
7064 \vspace{0.3cm}
7066 \noindent {\bf Return Type:}
7067 {\tt
7068 string
7072 value of the field
7073 \vspace{0.3cm}
7074 \vspace{0.3cm}
7075 \vspace{0.3cm}
7076 \subsubsection{RPC name:~set\_device}
7078 {\bf Overview:}
7079 Set the device field of the given VIF.
7081 \noindent {\bf Signature:}
7082 \begin{verbatim} void set_device (session_id s, VIF ref self, string value)\end{verbatim}
7085 \noindent{\bf Arguments:}
7088 \vspace{0.3cm}
7089 \begin{tabular}{|c|c|p{7cm}|}
7090 \hline
7091 {\bf type} & {\bf name} & {\bf description} \\ \hline
7092 {\tt VIF ref } & self & reference to the object \\ \hline
7094 {\tt string } & value & New value to set \\ \hline
7096 \end{tabular}
7098 \vspace{0.3cm}
7100 \noindent {\bf Return Type:}
7101 {\tt
7102 void
7107 \vspace{0.3cm}
7108 \vspace{0.3cm}
7109 \vspace{0.3cm}
7110 \subsubsection{RPC name:~get\_network}
7112 {\bf Overview:}
7113 Get the network field of the given VIF.
7115 \noindent {\bf Signature:}
7116 \begin{verbatim} (network ref) get_network (session_id s, VIF ref self)\end{verbatim}
7119 \noindent{\bf Arguments:}
7122 \vspace{0.3cm}
7123 \begin{tabular}{|c|c|p{7cm}|}
7124 \hline
7125 {\bf type} & {\bf name} & {\bf description} \\ \hline
7126 {\tt VIF ref } & self & reference to the object \\ \hline
7128 \end{tabular}
7130 \vspace{0.3cm}
7132 \noindent {\bf Return Type:}
7133 {\tt
7134 network ref
7138 value of the field
7139 \vspace{0.3cm}
7140 \vspace{0.3cm}
7141 \vspace{0.3cm}
7142 \subsubsection{RPC name:~get\_VM}
7144 {\bf Overview:}
7145 Get the VM field of the given VIF.
7147 \noindent {\bf Signature:}
7148 \begin{verbatim} (VM ref) get_VM (session_id s, VIF ref self)\end{verbatim}
7151 \noindent{\bf Arguments:}
7154 \vspace{0.3cm}
7155 \begin{tabular}{|c|c|p{7cm}|}
7156 \hline
7157 {\bf type} & {\bf name} & {\bf description} \\ \hline
7158 {\tt VIF ref } & self & reference to the object \\ \hline
7160 \end{tabular}
7162 \vspace{0.3cm}
7164 \noindent {\bf Return Type:}
7165 {\tt
7166 VM ref
7170 value of the field
7171 \vspace{0.3cm}
7172 \vspace{0.3cm}
7173 \vspace{0.3cm}
7174 \subsubsection{RPC name:~get\_MAC}
7176 {\bf Overview:}
7177 Get the MAC field of the given VIF.
7179 \noindent {\bf Signature:}
7180 \begin{verbatim} string get_MAC (session_id s, VIF ref self)\end{verbatim}
7183 \noindent{\bf Arguments:}
7186 \vspace{0.3cm}
7187 \begin{tabular}{|c|c|p{7cm}|}
7188 \hline
7189 {\bf type} & {\bf name} & {\bf description} \\ \hline
7190 {\tt VIF ref } & self & reference to the object \\ \hline
7192 \end{tabular}
7194 \vspace{0.3cm}
7196 \noindent {\bf Return Type:}
7197 {\tt
7198 string
7202 value of the field
7203 \vspace{0.3cm}
7204 \vspace{0.3cm}
7205 \vspace{0.3cm}
7206 \subsubsection{RPC name:~set\_MAC}
7208 {\bf Overview:}
7209 Set the MAC field of the given VIF.
7211 \noindent {\bf Signature:}
7212 \begin{verbatim} void set_MAC (session_id s, VIF ref self, string value)\end{verbatim}
7215 \noindent{\bf Arguments:}
7218 \vspace{0.3cm}
7219 \begin{tabular}{|c|c|p{7cm}|}
7220 \hline
7221 {\bf type} & {\bf name} & {\bf description} \\ \hline
7222 {\tt VIF ref } & self & reference to the object \\ \hline
7224 {\tt string } & value & New value to set \\ \hline
7226 \end{tabular}
7228 \vspace{0.3cm}
7230 \noindent {\bf Return Type:}
7231 {\tt
7232 void
7237 \vspace{0.3cm}
7238 \vspace{0.3cm}
7239 \vspace{0.3cm}
7240 \subsubsection{RPC name:~get\_MTU}
7242 {\bf Overview:}
7243 Get the MTU field of the given VIF.
7245 \noindent {\bf Signature:}
7246 \begin{verbatim} int get_MTU (session_id s, VIF ref self)\end{verbatim}
7249 \noindent{\bf Arguments:}
7252 \vspace{0.3cm}
7253 \begin{tabular}{|c|c|p{7cm}|}
7254 \hline
7255 {\bf type} & {\bf name} & {\bf description} \\ \hline
7256 {\tt VIF ref } & self & reference to the object \\ \hline
7258 \end{tabular}
7260 \vspace{0.3cm}
7262 \noindent {\bf Return Type:}
7263 {\tt
7264 int
7268 value of the field
7269 \vspace{0.3cm}
7270 \vspace{0.3cm}
7271 \vspace{0.3cm}
7272 \subsubsection{RPC name:~set\_MTU}
7274 {\bf Overview:}
7275 Set the MTU field of the given VIF.
7277 \noindent {\bf Signature:}
7278 \begin{verbatim} void set_MTU (session_id s, VIF ref self, int value)\end{verbatim}
7281 \noindent{\bf Arguments:}
7284 \vspace{0.3cm}
7285 \begin{tabular}{|c|c|p{7cm}|}
7286 \hline
7287 {\bf type} & {\bf name} & {\bf description} \\ \hline
7288 {\tt VIF ref } & self & reference to the object \\ \hline
7290 {\tt int } & value & New value to set \\ \hline
7292 \end{tabular}
7294 \vspace{0.3cm}
7296 \noindent {\bf Return Type:}
7297 {\tt
7298 void
7303 \vspace{0.3cm}
7304 \vspace{0.3cm}
7305 \vspace{0.3cm}
7306 \subsubsection{RPC name:~get\_currently\_attached}
7308 {\bf Overview:}
7309 Get the currently\_attached field of the given VIF.
7311 \noindent {\bf Signature:}
7312 \begin{verbatim} bool get_currently_attached (session_id s, VIF ref self)\end{verbatim}
7315 \noindent{\bf Arguments:}
7318 \vspace{0.3cm}
7319 \begin{tabular}{|c|c|p{7cm}|}
7320 \hline
7321 {\bf type} & {\bf name} & {\bf description} \\ \hline
7322 {\tt VIF ref } & self & reference to the object \\ \hline
7324 \end{tabular}
7326 \vspace{0.3cm}
7328 \noindent {\bf Return Type:}
7329 {\tt
7330 bool
7334 value of the field
7335 \vspace{0.3cm}
7336 \vspace{0.3cm}
7337 \vspace{0.3cm}
7338 \subsubsection{RPC name:~get\_status\_code}
7340 {\bf Overview:}
7341 Get the status\_code field of the given VIF.
7343 \noindent {\bf Signature:}
7344 \begin{verbatim} int get_status_code (session_id s, VIF ref self)\end{verbatim}
7347 \noindent{\bf Arguments:}
7350 \vspace{0.3cm}
7351 \begin{tabular}{|c|c|p{7cm}|}
7352 \hline
7353 {\bf type} & {\bf name} & {\bf description} \\ \hline
7354 {\tt VIF ref } & self & reference to the object \\ \hline
7356 \end{tabular}
7358 \vspace{0.3cm}
7360 \noindent {\bf Return Type:}
7361 {\tt
7362 int
7366 value of the field
7367 \vspace{0.3cm}
7368 \vspace{0.3cm}
7369 \vspace{0.3cm}
7370 \subsubsection{RPC name:~get\_status\_detail}
7372 {\bf Overview:}
7373 Get the status\_detail field of the given VIF.
7375 \noindent {\bf Signature:}
7376 \begin{verbatim} string get_status_detail (session_id s, VIF ref self)\end{verbatim}
7379 \noindent{\bf Arguments:}
7382 \vspace{0.3cm}
7383 \begin{tabular}{|c|c|p{7cm}|}
7384 \hline
7385 {\bf type} & {\bf name} & {\bf description} \\ \hline
7386 {\tt VIF ref } & self & reference to the object \\ \hline
7388 \end{tabular}
7390 \vspace{0.3cm}
7392 \noindent {\bf Return Type:}
7393 {\tt
7394 string
7398 value of the field
7399 \vspace{0.3cm}
7400 \vspace{0.3cm}
7401 \vspace{0.3cm}
7402 \subsubsection{RPC name:~get\_qos\_algorithm\_type}
7404 {\bf Overview:}
7405 Get the qos/algorithm\_type field of the given VIF.
7407 \noindent {\bf Signature:}
7408 \begin{verbatim} string get_qos_algorithm_type (session_id s, VIF ref self)\end{verbatim}
7411 \noindent{\bf Arguments:}
7414 \vspace{0.3cm}
7415 \begin{tabular}{|c|c|p{7cm}|}
7416 \hline
7417 {\bf type} & {\bf name} & {\bf description} \\ \hline
7418 {\tt VIF ref } & self & reference to the object \\ \hline
7420 \end{tabular}
7422 \vspace{0.3cm}
7424 \noindent {\bf Return Type:}
7425 {\tt
7426 string
7430 value of the field
7431 \vspace{0.3cm}
7432 \vspace{0.3cm}
7433 \vspace{0.3cm}
7434 \subsubsection{RPC name:~set\_qos\_algorithm\_type}
7436 {\bf Overview:}
7437 Set the qos/algorithm\_type field of the given VIF.
7439 \noindent {\bf Signature:}
7440 \begin{verbatim} void set_qos_algorithm_type (session_id s, VIF ref self, string value)\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 {\tt string } & value & New value to set \\ \hline
7454 \end{tabular}
7456 \vspace{0.3cm}
7458 \noindent {\bf Return Type:}
7459 {\tt
7460 void
7465 \vspace{0.3cm}
7466 \vspace{0.3cm}
7467 \vspace{0.3cm}
7468 \subsubsection{RPC name:~get\_qos\_algorithm\_params}
7470 {\bf Overview:}
7471 Get the qos/algorithm\_params field of the given VIF.
7473 \noindent {\bf Signature:}
7474 \begin{verbatim} ((string -> string) Map) get_qos_algorithm_params (session_id s, VIF ref self)\end{verbatim}
7477 \noindent{\bf Arguments:}
7480 \vspace{0.3cm}
7481 \begin{tabular}{|c|c|p{7cm}|}
7482 \hline
7483 {\bf type} & {\bf name} & {\bf description} \\ \hline
7484 {\tt VIF ref } & self & reference to the object \\ \hline
7486 \end{tabular}
7488 \vspace{0.3cm}
7490 \noindent {\bf Return Type:}
7491 {\tt
7492 (string $\rightarrow$ string) Map
7496 value of the field
7497 \vspace{0.3cm}
7498 \vspace{0.3cm}
7499 \vspace{0.3cm}
7500 \subsubsection{RPC name:~set\_qos\_algorithm\_params}
7502 {\bf Overview:}
7503 Set the qos/algorithm\_params field of the given VIF.
7505 \noindent {\bf Signature:}
7506 \begin{verbatim} void set_qos_algorithm_params (session_id s, VIF ref self, (string -> string) Map value)\end{verbatim}
7509 \noindent{\bf Arguments:}
7512 \vspace{0.3cm}
7513 \begin{tabular}{|c|c|p{7cm}|}
7514 \hline
7515 {\bf type} & {\bf name} & {\bf description} \\ \hline
7516 {\tt VIF ref } & self & reference to the object \\ \hline
7518 {\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline
7520 \end{tabular}
7522 \vspace{0.3cm}
7524 \noindent {\bf Return Type:}
7525 {\tt
7526 void
7531 \vspace{0.3cm}
7532 \vspace{0.3cm}
7533 \vspace{0.3cm}
7534 \subsubsection{RPC name:~add\_to\_qos\_algorithm\_params}
7536 {\bf Overview:}
7537 Add the given key-value pair to the qos/algorithm\_params field of the
7538 given VIF.
7540 \noindent {\bf Signature:}
7541 \begin{verbatim} void add_to_qos_algorithm_params (session_id s, VIF ref self, string key, string value)\end{verbatim}
7544 \noindent{\bf Arguments:}
7547 \vspace{0.3cm}
7548 \begin{tabular}{|c|c|p{7cm}|}
7549 \hline
7550 {\bf type} & {\bf name} & {\bf description} \\ \hline
7551 {\tt VIF ref } & self & reference to the object \\ \hline
7553 {\tt string } & key & Key to add \\ \hline
7555 {\tt string } & value & Value to add \\ \hline
7557 \end{tabular}
7559 \vspace{0.3cm}
7561 \noindent {\bf Return Type:}
7562 {\tt
7563 void
7568 \vspace{0.3cm}
7569 \vspace{0.3cm}
7570 \vspace{0.3cm}
7571 \subsubsection{RPC name:~remove\_from\_qos\_algorithm\_params}
7573 {\bf Overview:}
7574 Remove the given key and its corresponding value from the
7575 qos/algorithm\_params field of the given VIF. If the key is not in that
7576 Map, then do nothing.
7578 \noindent {\bf Signature:}
7579 \begin{verbatim} void remove_from_qos_algorithm_params (session_id s, VIF ref self, string key)\end{verbatim}
7582 \noindent{\bf Arguments:}
7585 \vspace{0.3cm}
7586 \begin{tabular}{|c|c|p{7cm}|}
7587 \hline
7588 {\bf type} & {\bf name} & {\bf description} \\ \hline
7589 {\tt VIF ref } & self & reference to the object \\ \hline
7591 {\tt string } & key & Key to remove \\ \hline
7593 \end{tabular}
7595 \vspace{0.3cm}
7597 \noindent {\bf Return Type:}
7598 {\tt
7599 void
7604 \vspace{0.3cm}
7605 \vspace{0.3cm}
7606 \vspace{0.3cm}
7607 \subsubsection{RPC name:~get\_qos\_supported\_algorithms}
7609 {\bf Overview:}
7610 Get the qos/supported\_algorithms field of the given VIF.
7612 \noindent {\bf Signature:}
7613 \begin{verbatim} (string Set) get_qos_supported_algorithms (session_id s, VIF ref self)\end{verbatim}
7616 \noindent{\bf Arguments:}
7619 \vspace{0.3cm}
7620 \begin{tabular}{|c|c|p{7cm}|}
7621 \hline
7622 {\bf type} & {\bf name} & {\bf description} \\ \hline
7623 {\tt VIF ref } & self & reference to the object \\ \hline
7625 \end{tabular}
7627 \vspace{0.3cm}
7629 \noindent {\bf Return Type:}
7630 {\tt
7631 string Set
7635 value of the field
7636 \vspace{0.3cm}
7637 \vspace{0.3cm}
7638 \vspace{0.3cm}
7639 \subsubsection{RPC name:~get\_metrics}
7641 {\bf Overview:}
7642 Get the metrics field of the given VIF.
7644 \noindent {\bf Signature:}
7645 \begin{verbatim} (VIF_metrics ref) get_metrics (session_id s, VIF ref self)\end{verbatim}
7648 \noindent{\bf Arguments:}
7651 \vspace{0.3cm}
7652 \begin{tabular}{|c|c|p{7cm}|}
7653 \hline
7654 {\bf type} & {\bf name} & {\bf description} \\ \hline
7655 {\tt VIF ref } & self & reference to the object \\ \hline
7657 \end{tabular}
7659 \vspace{0.3cm}
7661 \noindent {\bf Return Type:}
7662 {\tt
7663 VIF\_metrics ref
7667 value of the field
7668 \vspace{0.3cm}
7669 \vspace{0.3cm}
7670 \vspace{0.3cm}
7671 \subsubsection{RPC name:~create}
7673 {\bf Overview:}
7674 Create a new VIF instance, and return its handle.
7676 \noindent {\bf Signature:}
7677 \begin{verbatim} (VIF ref) create (session_id s, VIF record args)\end{verbatim}
7680 \noindent{\bf Arguments:}
7683 \vspace{0.3cm}
7684 \begin{tabular}{|c|c|p{7cm}|}
7685 \hline
7686 {\bf type} & {\bf name} & {\bf description} \\ \hline
7687 {\tt VIF record } & args & All constructor arguments \\ \hline
7689 \end{tabular}
7691 \vspace{0.3cm}
7693 \noindent {\bf Return Type:}
7694 {\tt
7695 VIF ref
7699 reference to the newly created object
7700 \vspace{0.3cm}
7701 \vspace{0.3cm}
7702 \vspace{0.3cm}
7703 \subsubsection{RPC name:~destroy}
7705 {\bf Overview:}
7706 Destroy the specified VIF instance.
7708 \noindent {\bf Signature:}
7709 \begin{verbatim} void destroy (session_id s, VIF ref self)\end{verbatim}
7712 \noindent{\bf Arguments:}
7715 \vspace{0.3cm}
7716 \begin{tabular}{|c|c|p{7cm}|}
7717 \hline
7718 {\bf type} & {\bf name} & {\bf description} \\ \hline
7719 {\tt VIF ref } & self & reference to the object \\ \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\_by\_uuid}
7737 {\bf Overview:}
7738 Get a reference to the VIF instance with the specified UUID.
7740 \noindent {\bf Signature:}
7741 \begin{verbatim} (VIF ref) get_by_uuid (session_id s, string uuid)\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 string } & uuid & UUID of object to return \\ \hline
7753 \end{tabular}
7755 \vspace{0.3cm}
7757 \noindent {\bf Return Type:}
7758 {\tt
7759 VIF ref
7763 reference to the object
7764 \vspace{0.3cm}
7765 \vspace{0.3cm}
7766 \vspace{0.3cm}
7767 \subsubsection{RPC name:~get\_record}
7769 {\bf Overview:}
7770 Get a record containing the current state of the given VIF.
7772 \noindent {\bf Signature:}
7773 \begin{verbatim} (VIF record) get_record (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 record
7795 all fields from the object
7796 \vspace{0.3cm}
7797 \vspace{0.3cm}
7798 \vspace{0.3cm}
7800 \vspace{1cm}
7801 \newpage
7802 \section{Class: VIF\_metrics}
7803 \subsection{Fields for class: VIF\_metrics}
7804 \begin{longtable}{|lllp{0.38\textwidth}|}
7805 \hline
7806 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VIF\_metrics} \\
7807 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em
7808 The metrics associated with a virtual network device.}} \\
7809 \hline
7810 Quals & Field & Type & Description \\
7811 \hline
7812 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
7813 $\mathit{RO}_\mathit{run}$ & {\tt io/read\_kbs} & float & Read bandwidth (KiB/s) \\
7814 $\mathit{RO}_\mathit{run}$ & {\tt io/write\_kbs} & float & Write bandwidth (KiB/s) \\
7815 \hline
7816 \end{longtable}
7817 \subsection{RPCs associated with class: VIF\_metrics}
7818 \subsubsection{RPC name:~get\_all}
7820 {\bf Overview:}
7821 Return a list of all the VIF\_metrics instances known to the system.
7823 \noindent {\bf Signature:}
7824 \begin{verbatim} ((VIF_metrics ref) Set) get_all (session_id s)\end{verbatim}
7827 \vspace{0.3cm}
7829 \noindent {\bf Return Type:}
7830 {\tt
7831 (VIF\_metrics ref) Set
7835 references to all objects
7836 \vspace{0.3cm}
7837 \vspace{0.3cm}
7838 \vspace{0.3cm}
7839 \subsubsection{RPC name:~get\_uuid}
7841 {\bf Overview:}
7842 Get the uuid field of the given VIF\_metrics.
7844 \noindent {\bf Signature:}
7845 \begin{verbatim} string get_uuid (session_id s, VIF_metrics ref self)\end{verbatim}
7848 \noindent{\bf Arguments:}
7851 \vspace{0.3cm}
7852 \begin{tabular}{|c|c|p{7cm}|}
7853 \hline
7854 {\bf type} & {\bf name} & {\bf description} \\ \hline
7855 {\tt VIF\_metrics ref } & self & reference to the object \\ \hline
7857 \end{tabular}
7859 \vspace{0.3cm}
7861 \noindent {\bf Return Type:}
7862 {\tt
7863 string
7867 value of the field
7868 \vspace{0.3cm}
7869 \vspace{0.3cm}
7870 \vspace{0.3cm}
7871 \subsubsection{RPC name:~get\_io\_read\_kbs}
7873 {\bf Overview:}
7874 Get the io/read\_kbs field of the given VIF\_metrics.
7876 \noindent {\bf Signature:}
7877 \begin{verbatim} float get_io_read_kbs (session_id s, VIF_metrics ref self)\end{verbatim}
7880 \noindent{\bf Arguments:}
7883 \vspace{0.3cm}
7884 \begin{tabular}{|c|c|p{7cm}|}
7885 \hline
7886 {\bf type} & {\bf name} & {\bf description} \\ \hline
7887 {\tt VIF\_metrics ref } & self & reference to the object \\ \hline
7889 \end{tabular}
7891 \vspace{0.3cm}
7893 \noindent {\bf Return Type:}
7894 {\tt
7895 float
7899 value of the field
7900 \vspace{0.3cm}
7901 \vspace{0.3cm}
7902 \vspace{0.3cm}
7903 \subsubsection{RPC name:~get\_io\_write\_kbs}
7905 {\bf Overview:}
7906 Get the io/write\_kbs field of the given VIF\_metrics.
7908 \noindent {\bf Signature:}
7909 \begin{verbatim} float get_io_write_kbs (session_id s, VIF_metrics ref self)\end{verbatim}
7912 \noindent{\bf Arguments:}
7915 \vspace{0.3cm}
7916 \begin{tabular}{|c|c|p{7cm}|}
7917 \hline
7918 {\bf type} & {\bf name} & {\bf description} \\ \hline
7919 {\tt VIF\_metrics ref } & self & reference to the object \\ \hline
7921 \end{tabular}
7923 \vspace{0.3cm}
7925 \noindent {\bf Return Type:}
7926 {\tt
7927 float
7931 value of the field
7932 \vspace{0.3cm}
7933 \vspace{0.3cm}
7934 \vspace{0.3cm}
7935 \subsubsection{RPC name:~get\_by\_uuid}
7937 {\bf Overview:}
7938 Get a reference to the VIF\_metrics instance with the specified UUID.
7940 \noindent {\bf Signature:}
7941 \begin{verbatim} (VIF_metrics ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
7944 \noindent{\bf Arguments:}
7947 \vspace{0.3cm}
7948 \begin{tabular}{|c|c|p{7cm}|}
7949 \hline
7950 {\bf type} & {\bf name} & {\bf description} \\ \hline
7951 {\tt string } & uuid & UUID of object to return \\ \hline
7953 \end{tabular}
7955 \vspace{0.3cm}
7957 \noindent {\bf Return Type:}
7958 {\tt
7959 VIF\_metrics ref
7963 reference to the object
7964 \vspace{0.3cm}
7965 \vspace{0.3cm}
7966 \vspace{0.3cm}
7967 \subsubsection{RPC name:~get\_record}
7969 {\bf Overview:}
7970 Get a record containing the current state of the given VIF\_metrics.
7972 \noindent {\bf Signature:}
7973 \begin{verbatim} (VIF_metrics record) get_record (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 VIF\_metrics record
7995 all fields from the object
7996 \vspace{0.3cm}
7997 \vspace{0.3cm}
7998 \vspace{0.3cm}
8000 \vspace{1cm}
8001 \newpage
8002 \section{Class: PIF}
8003 \subsection{Fields for class: PIF}
8004 \begin{longtable}{|lllp{0.38\textwidth}|}
8005 \hline
8006 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf PIF} \\
8007 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
8008 physical network interface (note separate VLANs are represented as several
8009 PIFs).}} \\
8010 \hline
8011 Quals & Field & Type & Description \\
8012 \hline
8013 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
8014 $\mathit{RW}$ & {\tt device} & string & machine-readable name of the interface (e.g. eth0) \\
8015 $\mathit{RO}_\mathit{ins}$ & {\tt network} & network ref & virtual network to which this pif is connected \\
8016 $\mathit{RO}_\mathit{ins}$ & {\tt host} & host ref & physical machine to which this pif is connected \\
8017 $\mathit{RW}$ & {\tt MAC} & string & ethernet MAC address of physical interface \\
8018 $\mathit{RW}$ & {\tt MTU} & int & MTU in octets \\
8019 $\mathit{RW}$ & {\tt VLAN} & int & VLAN tag for all traffic passing through this interface \\
8020 $\mathit{RO}_\mathit{ins}$ & {\tt metrics} & PIF\_metrics ref & metrics associated with this PIF. \\
8021 \hline
8022 \end{longtable}
8023 \subsection{RPCs associated with class: PIF}
8024 \subsubsection{RPC name:~create\_VLAN}
8026 {\bf Overview:}
8027 Create a VLAN interface from an existing physical interface.
8029 \noindent {\bf Signature:}
8030 \begin{verbatim} (PIF ref) create_VLAN (session_id s, string device, network ref network, host ref host, int VLAN)\end{verbatim}
8033 \noindent{\bf Arguments:}
8036 \vspace{0.3cm}
8037 \begin{tabular}{|c|c|p{7cm}|}
8038 \hline
8039 {\bf type} & {\bf name} & {\bf description} \\ \hline
8040 {\tt string } & device & physical interface on which to crate the VLAN interface \\ \hline
8042 {\tt network ref } & network & network to which this interface should be connected \\ \hline
8044 {\tt host ref } & host & physical machine to which this PIF is connected \\ \hline
8046 {\tt int } & VLAN & VLAN tag for the new interface \\ \hline
8048 \end{tabular}
8050 \vspace{0.3cm}
8052 \noindent {\bf Return Type:}
8053 {\tt
8054 PIF ref
8058 The reference of the created PIF object
8059 \vspace{0.3cm}
8061 \noindent{\bf Possible Error Codes:} {\tt VLAN\_TAG\_INVALID}
8063 \vspace{0.6cm}
8064 \subsubsection{RPC name:~destroy}
8066 {\bf Overview:}
8067 Destroy the interface (provided it is a synthetic interface like a VLAN;
8068 fail if it is a physical interface).
8070 \noindent {\bf Signature:}
8071 \begin{verbatim} void destroy (session_id s, PIF ref self)\end{verbatim}
8074 \noindent{\bf Arguments:}
8077 \vspace{0.3cm}
8078 \begin{tabular}{|c|c|p{7cm}|}
8079 \hline
8080 {\bf type} & {\bf name} & {\bf description} \\ \hline
8081 {\tt PIF ref } & self & the PIF object to destroy \\ \hline
8083 \end{tabular}
8085 \vspace{0.3cm}
8087 \noindent {\bf Return Type:}
8088 {\tt
8089 void
8094 \vspace{0.3cm}
8096 \noindent{\bf Possible Error Codes:} {\tt PIF\_IS\_PHYSICAL}
8098 \vspace{0.6cm}
8099 \subsubsection{RPC name:~get\_all}
8101 {\bf Overview:}
8102 Return a list of all the PIFs known to the system.
8104 \noindent {\bf Signature:}
8105 \begin{verbatim} ((PIF ref) Set) get_all (session_id s)\end{verbatim}
8108 \vspace{0.3cm}
8110 \noindent {\bf Return Type:}
8111 {\tt
8112 (PIF ref) Set
8116 references to all objects
8117 \vspace{0.3cm}
8118 \vspace{0.3cm}
8119 \vspace{0.3cm}
8120 \subsubsection{RPC name:~get\_uuid}
8122 {\bf Overview:}
8123 Get the uuid field of the given PIF.
8125 \noindent {\bf Signature:}
8126 \begin{verbatim} string get_uuid (session_id s, PIF ref self)\end{verbatim}
8129 \noindent{\bf Arguments:}
8132 \vspace{0.3cm}
8133 \begin{tabular}{|c|c|p{7cm}|}
8134 \hline
8135 {\bf type} & {\bf name} & {\bf description} \\ \hline
8136 {\tt PIF ref } & self & reference to the object \\ \hline
8138 \end{tabular}
8140 \vspace{0.3cm}
8142 \noindent {\bf Return Type:}
8143 {\tt
8144 string
8148 value of the field
8149 \vspace{0.3cm}
8150 \vspace{0.3cm}
8151 \vspace{0.3cm}
8152 \subsubsection{RPC name:~get\_device}
8154 {\bf Overview:}
8155 Get the device field of the given PIF.
8157 \noindent {\bf Signature:}
8158 \begin{verbatim} string get_device (session_id s, PIF ref self)\end{verbatim}
8161 \noindent{\bf Arguments:}
8164 \vspace{0.3cm}
8165 \begin{tabular}{|c|c|p{7cm}|}
8166 \hline
8167 {\bf type} & {\bf name} & {\bf description} \\ \hline
8168 {\tt PIF ref } & self & reference to the object \\ \hline
8170 \end{tabular}
8172 \vspace{0.3cm}
8174 \noindent {\bf Return Type:}
8175 {\tt
8176 string
8180 value of the field
8181 \vspace{0.3cm}
8182 \vspace{0.3cm}
8183 \vspace{0.3cm}
8184 \subsubsection{RPC name:~set\_device}
8186 {\bf Overview:}
8187 Set the device field of the given PIF.
8189 \noindent {\bf Signature:}
8190 \begin{verbatim} void set_device (session_id s, PIF ref self, string value)\end{verbatim}
8193 \noindent{\bf Arguments:}
8196 \vspace{0.3cm}
8197 \begin{tabular}{|c|c|p{7cm}|}
8198 \hline
8199 {\bf type} & {\bf name} & {\bf description} \\ \hline
8200 {\tt PIF ref } & self & reference to the object \\ \hline
8202 {\tt string } & value & New value to set \\ \hline
8204 \end{tabular}
8206 \vspace{0.3cm}
8208 \noindent {\bf Return Type:}
8209 {\tt
8210 void
8215 \vspace{0.3cm}
8216 \vspace{0.3cm}
8217 \vspace{0.3cm}
8218 \subsubsection{RPC name:~get\_network}
8220 {\bf Overview:}
8221 Get the network field of the given PIF.
8223 \noindent {\bf Signature:}
8224 \begin{verbatim} (network ref) get_network (session_id s, PIF ref self)\end{verbatim}
8227 \noindent{\bf Arguments:}
8230 \vspace{0.3cm}
8231 \begin{tabular}{|c|c|p{7cm}|}
8232 \hline
8233 {\bf type} & {\bf name} & {\bf description} \\ \hline
8234 {\tt PIF ref } & self & reference to the object \\ \hline
8236 \end{tabular}
8238 \vspace{0.3cm}
8240 \noindent {\bf Return Type:}
8241 {\tt
8242 network ref
8246 value of the field
8247 \vspace{0.3cm}
8248 \vspace{0.3cm}
8249 \vspace{0.3cm}
8250 \subsubsection{RPC name:~get\_host}
8252 {\bf Overview:}
8253 Get the host field of the given PIF.
8255 \noindent {\bf Signature:}
8256 \begin{verbatim} (host ref) get_host (session_id s, PIF ref self)\end{verbatim}
8259 \noindent{\bf Arguments:}
8262 \vspace{0.3cm}
8263 \begin{tabular}{|c|c|p{7cm}|}
8264 \hline
8265 {\bf type} & {\bf name} & {\bf description} \\ \hline
8266 {\tt PIF ref } & self & reference to the object \\ \hline
8268 \end{tabular}
8270 \vspace{0.3cm}
8272 \noindent {\bf Return Type:}
8273 {\tt
8274 host ref
8278 value of the field
8279 \vspace{0.3cm}
8280 \vspace{0.3cm}
8281 \vspace{0.3cm}
8282 \subsubsection{RPC name:~get\_MAC}
8284 {\bf Overview:}
8285 Get the MAC field of the given PIF.
8287 \noindent {\bf Signature:}
8288 \begin{verbatim} string get_MAC (session_id s, PIF ref self)\end{verbatim}
8291 \noindent{\bf Arguments:}
8294 \vspace{0.3cm}
8295 \begin{tabular}{|c|c|p{7cm}|}
8296 \hline
8297 {\bf type} & {\bf name} & {\bf description} \\ \hline
8298 {\tt PIF ref } & self & reference to the object \\ \hline
8300 \end{tabular}
8302 \vspace{0.3cm}
8304 \noindent {\bf Return Type:}
8305 {\tt
8306 string
8310 value of the field
8311 \vspace{0.3cm}
8312 \vspace{0.3cm}
8313 \vspace{0.3cm}
8314 \subsubsection{RPC name:~set\_MAC}
8316 {\bf Overview:}
8317 Set the MAC field of the given PIF.
8319 \noindent {\bf Signature:}
8320 \begin{verbatim} void set_MAC (session_id s, PIF ref self, string value)\end{verbatim}
8323 \noindent{\bf Arguments:}
8326 \vspace{0.3cm}
8327 \begin{tabular}{|c|c|p{7cm}|}
8328 \hline
8329 {\bf type} & {\bf name} & {\bf description} \\ \hline
8330 {\tt PIF ref } & self & reference to the object \\ \hline
8332 {\tt string } & value & New value to set \\ \hline
8334 \end{tabular}
8336 \vspace{0.3cm}
8338 \noindent {\bf Return Type:}
8339 {\tt
8340 void
8345 \vspace{0.3cm}
8346 \vspace{0.3cm}
8347 \vspace{0.3cm}
8348 \subsubsection{RPC name:~get\_MTU}
8350 {\bf Overview:}
8351 Get the MTU field of the given PIF.
8353 \noindent {\bf Signature:}
8354 \begin{verbatim} int get_MTU (session_id s, PIF ref self)\end{verbatim}
8357 \noindent{\bf Arguments:}
8360 \vspace{0.3cm}
8361 \begin{tabular}{|c|c|p{7cm}|}
8362 \hline
8363 {\bf type} & {\bf name} & {\bf description} \\ \hline
8364 {\tt PIF ref } & self & reference to the object \\ \hline
8366 \end{tabular}
8368 \vspace{0.3cm}
8370 \noindent {\bf Return Type:}
8371 {\tt
8372 int
8376 value of the field
8377 \vspace{0.3cm}
8378 \vspace{0.3cm}
8379 \vspace{0.3cm}
8380 \subsubsection{RPC name:~set\_MTU}
8382 {\bf Overview:}
8383 Set the MTU field of the given PIF.
8385 \noindent {\bf Signature:}
8386 \begin{verbatim} void set_MTU (session_id s, PIF ref self, int value)\end{verbatim}
8389 \noindent{\bf Arguments:}
8392 \vspace{0.3cm}
8393 \begin{tabular}{|c|c|p{7cm}|}
8394 \hline
8395 {\bf type} & {\bf name} & {\bf description} \\ \hline
8396 {\tt PIF ref } & self & reference to the object \\ \hline
8398 {\tt int } & value & New value to set \\ \hline
8400 \end{tabular}
8402 \vspace{0.3cm}
8404 \noindent {\bf Return Type:}
8405 {\tt
8406 void
8411 \vspace{0.3cm}
8412 \vspace{0.3cm}
8413 \vspace{0.3cm}
8414 \subsubsection{RPC name:~get\_VLAN}
8416 {\bf Overview:}
8417 Get the VLAN field of the given PIF.
8419 \noindent {\bf Signature:}
8420 \begin{verbatim} int get_VLAN (session_id s, PIF ref self)\end{verbatim}
8423 \noindent{\bf Arguments:}
8426 \vspace{0.3cm}
8427 \begin{tabular}{|c|c|p{7cm}|}
8428 \hline
8429 {\bf type} & {\bf name} & {\bf description} \\ \hline
8430 {\tt PIF ref } & self & reference to the object \\ \hline
8432 \end{tabular}
8434 \vspace{0.3cm}
8436 \noindent {\bf Return Type:}
8437 {\tt
8438 int
8442 value of the field
8443 \vspace{0.3cm}
8444 \vspace{0.3cm}
8445 \vspace{0.3cm}
8446 \subsubsection{RPC name:~set\_VLAN}
8448 {\bf Overview:}
8449 Set the VLAN field of the given PIF.
8451 \noindent {\bf Signature:}
8452 \begin{verbatim} void set_VLAN (session_id s, PIF ref self, int value)\end{verbatim}
8455 \noindent{\bf Arguments:}
8458 \vspace{0.3cm}
8459 \begin{tabular}{|c|c|p{7cm}|}
8460 \hline
8461 {\bf type} & {\bf name} & {\bf description} \\ \hline
8462 {\tt PIF ref } & self & reference to the object \\ \hline
8464 {\tt int } & value & New value to set \\ \hline
8466 \end{tabular}
8468 \vspace{0.3cm}
8470 \noindent {\bf Return Type:}
8471 {\tt
8472 void
8477 \vspace{0.3cm}
8478 \vspace{0.3cm}
8479 \vspace{0.3cm}
8480 \subsubsection{RPC name:~get\_metrics}
8482 {\bf Overview:}
8483 Get the metrics field of the given PIF.
8485 \noindent {\bf Signature:}
8486 \begin{verbatim} (PIF_metrics ref) get_metrics (session_id s, PIF ref self)\end{verbatim}
8489 \noindent{\bf Arguments:}
8492 \vspace{0.3cm}
8493 \begin{tabular}{|c|c|p{7cm}|}
8494 \hline
8495 {\bf type} & {\bf name} & {\bf description} \\ \hline
8496 {\tt PIF ref } & self & reference to the object \\ \hline
8498 \end{tabular}
8500 \vspace{0.3cm}
8502 \noindent {\bf Return Type:}
8503 {\tt
8504 PIF\_metrics ref
8508 value of the field
8509 \vspace{0.3cm}
8510 \vspace{0.3cm}
8511 \vspace{0.3cm}
8512 \subsubsection{RPC name:~get\_by\_uuid}
8514 {\bf Overview:}
8515 Get a reference to the PIF instance with the specified UUID.
8517 \noindent {\bf Signature:}
8518 \begin{verbatim} (PIF ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
8521 \noindent{\bf Arguments:}
8524 \vspace{0.3cm}
8525 \begin{tabular}{|c|c|p{7cm}|}
8526 \hline
8527 {\bf type} & {\bf name} & {\bf description} \\ \hline
8528 {\tt string } & uuid & UUID of object to return \\ \hline
8530 \end{tabular}
8532 \vspace{0.3cm}
8534 \noindent {\bf Return Type:}
8535 {\tt
8536 PIF ref
8540 reference to the object
8541 \vspace{0.3cm}
8542 \vspace{0.3cm}
8543 \vspace{0.3cm}
8544 \subsubsection{RPC name:~get\_record}
8546 {\bf Overview:}
8547 Get a record containing the current state of the given PIF.
8549 \noindent {\bf Signature:}
8550 \begin{verbatim} (PIF record) get_record (session_id s, PIF ref self)\end{verbatim}
8553 \noindent{\bf Arguments:}
8556 \vspace{0.3cm}
8557 \begin{tabular}{|c|c|p{7cm}|}
8558 \hline
8559 {\bf type} & {\bf name} & {\bf description} \\ \hline
8560 {\tt PIF ref } & self & reference to the object \\ \hline
8562 \end{tabular}
8564 \vspace{0.3cm}
8566 \noindent {\bf Return Type:}
8567 {\tt
8568 PIF record
8572 all fields from the object
8573 \vspace{0.3cm}
8574 \vspace{0.3cm}
8575 \vspace{0.3cm}
8577 \vspace{1cm}
8578 \newpage
8579 \section{Class: PIF\_metrics}
8580 \subsection{Fields for class: PIF\_metrics}
8581 \begin{longtable}{|lllp{0.38\textwidth}|}
8582 \hline
8583 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf PIF\_metrics} \\
8584 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em
8585 The metrics associated with a physical network interface.}} \\
8586 \hline
8587 Quals & Field & Type & Description \\
8588 \hline
8589 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
8590 $\mathit{RO}_\mathit{run}$ & {\tt io/read\_kbs} & float & Read bandwidth (KiB/s) \\
8591 $\mathit{RO}_\mathit{run}$ & {\tt io/write\_kbs} & float & Write bandwidth (KiB/s) \\
8592 \hline
8593 \end{longtable}
8594 \subsection{RPCs associated with class: PIF\_metrics}
8595 \subsubsection{RPC name:~get\_all}
8597 {\bf Overview:}
8598 Return a list of all the PIF\_metrics instances known to the system.
8600 \noindent {\bf Signature:}
8601 \begin{verbatim} ((PIF_metrics ref) Set) get_all (session_id s)\end{verbatim}
8604 \vspace{0.3cm}
8606 \noindent {\bf Return Type:}
8607 {\tt
8608 (PIF\_metrics ref) Set
8612 references to all objects
8613 \vspace{0.3cm}
8614 \vspace{0.3cm}
8615 \vspace{0.3cm}
8616 \subsubsection{RPC name:~get\_uuid}
8618 {\bf Overview:}
8619 Get the uuid field of the given PIF\_metrics.
8621 \noindent {\bf Signature:}
8622 \begin{verbatim} string get_uuid (session_id s, PIF_metrics ref self)\end{verbatim}
8625 \noindent{\bf Arguments:}
8628 \vspace{0.3cm}
8629 \begin{tabular}{|c|c|p{7cm}|}
8630 \hline
8631 {\bf type} & {\bf name} & {\bf description} \\ \hline
8632 {\tt PIF\_metrics ref } & self & reference to the object \\ \hline
8634 \end{tabular}
8636 \vspace{0.3cm}
8638 \noindent {\bf Return Type:}
8639 {\tt
8640 string
8644 value of the field
8645 \vspace{0.3cm}
8646 \vspace{0.3cm}
8647 \vspace{0.3cm}
8648 \subsubsection{RPC name:~get\_io\_read\_kbs}
8650 {\bf Overview:}
8651 Get the io/read\_kbs field of the given PIF\_metrics.
8653 \noindent {\bf Signature:}
8654 \begin{verbatim} float get_io_read_kbs (session_id s, PIF_metrics ref self)\end{verbatim}
8657 \noindent{\bf Arguments:}
8660 \vspace{0.3cm}
8661 \begin{tabular}{|c|c|p{7cm}|}
8662 \hline
8663 {\bf type} & {\bf name} & {\bf description} \\ \hline
8664 {\tt PIF\_metrics ref } & self & reference to the object \\ \hline
8666 \end{tabular}
8668 \vspace{0.3cm}
8670 \noindent {\bf Return Type:}
8671 {\tt
8672 float
8676 value of the field
8677 \vspace{0.3cm}
8678 \vspace{0.3cm}
8679 \vspace{0.3cm}
8680 \subsubsection{RPC name:~get\_io\_write\_kbs}
8682 {\bf Overview:}
8683 Get the io/write\_kbs field of the given PIF\_metrics.
8685 \noindent {\bf Signature:}
8686 \begin{verbatim} float get_io_write_kbs (session_id s, PIF_metrics ref self)\end{verbatim}
8689 \noindent{\bf Arguments:}
8692 \vspace{0.3cm}
8693 \begin{tabular}{|c|c|p{7cm}|}
8694 \hline
8695 {\bf type} & {\bf name} & {\bf description} \\ \hline
8696 {\tt PIF\_metrics ref } & self & reference to the object \\ \hline
8698 \end{tabular}
8700 \vspace{0.3cm}
8702 \noindent {\bf Return Type:}
8703 {\tt
8704 float
8708 value of the field
8709 \vspace{0.3cm}
8710 \vspace{0.3cm}
8711 \vspace{0.3cm}
8712 \subsubsection{RPC name:~get\_by\_uuid}
8714 {\bf Overview:}
8715 Get a reference to the PIF\_metrics instance with the specified UUID.
8717 \noindent {\bf Signature:}
8718 \begin{verbatim} (PIF_metrics ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
8721 \noindent{\bf Arguments:}
8724 \vspace{0.3cm}
8725 \begin{tabular}{|c|c|p{7cm}|}
8726 \hline
8727 {\bf type} & {\bf name} & {\bf description} \\ \hline
8728 {\tt string } & uuid & UUID of object to return \\ \hline
8730 \end{tabular}
8732 \vspace{0.3cm}
8734 \noindent {\bf Return Type:}
8735 {\tt
8736 PIF\_metrics ref
8740 reference to the object
8741 \vspace{0.3cm}
8742 \vspace{0.3cm}
8743 \vspace{0.3cm}
8744 \subsubsection{RPC name:~get\_record}
8746 {\bf Overview:}
8747 Get a record containing the current state of the given PIF\_metrics.
8749 \noindent {\bf Signature:}
8750 \begin{verbatim} (PIF_metrics record) get_record (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 PIF\_metrics record
8772 all fields from the object
8773 \vspace{0.3cm}
8774 \vspace{0.3cm}
8775 \vspace{0.3cm}
8777 \vspace{1cm}
8778 \newpage
8779 \section{Class: SR}
8780 \subsection{Fields for class: SR}
8781 \begin{longtable}{|lllp{0.38\textwidth}|}
8782 \hline
8783 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf SR} \\
8784 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
8785 storage repository.}} \\
8786 \hline
8787 Quals & Field & Type & Description \\
8788 \hline
8789 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
8790 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
8791 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
8792 $\mathit{RO}_\mathit{run}$ & {\tt VDIs} & (VDI ref) Set & managed virtual disks \\
8793 $\mathit{RO}_\mathit{run}$ & {\tt PBDs} & (PBD ref) Set & physical blockdevices \\
8794 $\mathit{RO}_\mathit{run}$ & {\tt virtual\_allocation} & int & sum of virtual\_sizes of all VDIs in this storage repository (in bytes) \\
8795 $\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 \\
8796 $\mathit{RO}_\mathit{ins}$ & {\tt physical\_size} & int & total physical size of the repository (in bytes) \\
8797 $\mathit{RO}_\mathit{ins}$ & {\tt type} & string & type of the storage repository \\
8798 $\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 \\
8799 \hline
8800 \end{longtable}
8801 \subsection{RPCs associated with class: SR}
8802 \subsubsection{RPC name:~clone}
8804 {\bf Overview:}
8805 Take an exact copy of the Storage Repository;
8806 the cloned storage repository has the same type as its parent
8808 \noindent {\bf Signature:}
8809 \begin{verbatim} (SR ref) clone (session_id s, SR ref sr, string loc, string name)\end{verbatim}
8812 \noindent{\bf Arguments:}
8815 \vspace{0.3cm}
8816 \begin{tabular}{|c|c|p{7cm}|}
8817 \hline
8818 {\bf type} & {\bf name} & {\bf description} \\ \hline
8819 {\tt SR ref } & sr & The Storage Repository to clone \\ \hline
8821 {\tt string } & loc & The location string that defines where the new storage repository will be located \\ \hline
8823 {\tt string } & name & The name of the new storage repository \\ \hline
8825 \end{tabular}
8827 \vspace{0.3cm}
8829 \noindent {\bf Return Type:}
8830 {\tt
8831 SR ref
8835 The ID of the newly created Storage Repository.
8836 \vspace{0.3cm}
8837 \vspace{0.3cm}
8838 \vspace{0.3cm}
8839 \subsubsection{RPC name:~get\_all}
8841 {\bf Overview:}
8842 Return a list of all the Storage Repositories known to the system
8844 \noindent {\bf Signature:}
8845 \begin{verbatim} ((SR ref) Set) get_all (session_id s)\end{verbatim}
8848 \vspace{0.3cm}
8850 \noindent {\bf Return Type:}
8851 {\tt
8852 (SR ref) Set
8856 A list of all the IDs of all the Storage Repositories
8857 \vspace{0.3cm}
8858 \vspace{0.3cm}
8859 \vspace{0.3cm}
8860 \subsubsection{RPC name:~get\_uuid}
8862 {\bf Overview:}
8863 Get the uuid field of the given SR.
8865 \noindent {\bf Signature:}
8866 \begin{verbatim} string get_uuid (session_id s, SR ref self)\end{verbatim}
8869 \noindent{\bf Arguments:}
8872 \vspace{0.3cm}
8873 \begin{tabular}{|c|c|p{7cm}|}
8874 \hline
8875 {\bf type} & {\bf name} & {\bf description} \\ \hline
8876 {\tt SR ref } & self & reference to the object \\ \hline
8878 \end{tabular}
8880 \vspace{0.3cm}
8882 \noindent {\bf Return Type:}
8883 {\tt
8884 string
8888 value of the field
8889 \vspace{0.3cm}
8890 \vspace{0.3cm}
8891 \vspace{0.3cm}
8892 \subsubsection{RPC name:~get\_name\_label}
8894 {\bf Overview:}
8895 Get the name/label field of the given SR.
8897 \noindent {\bf Signature:}
8898 \begin{verbatim} string get_name_label (session_id s, SR ref self)\end{verbatim}
8901 \noindent{\bf Arguments:}
8904 \vspace{0.3cm}
8905 \begin{tabular}{|c|c|p{7cm}|}
8906 \hline
8907 {\bf type} & {\bf name} & {\bf description} \\ \hline
8908 {\tt SR ref } & self & reference to the object \\ \hline
8910 \end{tabular}
8912 \vspace{0.3cm}
8914 \noindent {\bf Return Type:}
8915 {\tt
8916 string
8920 value of the field
8921 \vspace{0.3cm}
8922 \vspace{0.3cm}
8923 \vspace{0.3cm}
8924 \subsubsection{RPC name:~set\_name\_label}
8926 {\bf Overview:}
8927 Set the name/label field of the given SR.
8929 \noindent {\bf Signature:}
8930 \begin{verbatim} void set_name_label (session_id s, SR ref self, string value)\end{verbatim}
8933 \noindent{\bf Arguments:}
8936 \vspace{0.3cm}
8937 \begin{tabular}{|c|c|p{7cm}|}
8938 \hline
8939 {\bf type} & {\bf name} & {\bf description} \\ \hline
8940 {\tt SR ref } & self & reference to the object \\ \hline
8942 {\tt string } & value & New value to set \\ \hline
8944 \end{tabular}
8946 \vspace{0.3cm}
8948 \noindent {\bf Return Type:}
8949 {\tt
8950 void
8955 \vspace{0.3cm}
8956 \vspace{0.3cm}
8957 \vspace{0.3cm}
8958 \subsubsection{RPC name:~get\_name\_description}
8960 {\bf Overview:}
8961 Get the name/description field of the given SR.
8963 \noindent {\bf Signature:}
8964 \begin{verbatim} string get_name_description (session_id s, SR ref self)\end{verbatim}
8967 \noindent{\bf Arguments:}
8970 \vspace{0.3cm}
8971 \begin{tabular}{|c|c|p{7cm}|}
8972 \hline
8973 {\bf type} & {\bf name} & {\bf description} \\ \hline
8974 {\tt SR ref } & self & reference to the object \\ \hline
8976 \end{tabular}
8978 \vspace{0.3cm}
8980 \noindent {\bf Return Type:}
8981 {\tt
8982 string
8986 value of the field
8987 \vspace{0.3cm}
8988 \vspace{0.3cm}
8989 \vspace{0.3cm}
8990 \subsubsection{RPC name:~set\_name\_description}
8992 {\bf Overview:}
8993 Set the name/description field of the given SR.
8995 \noindent {\bf Signature:}
8996 \begin{verbatim} void set_name_description (session_id s, SR ref self, string value)\end{verbatim}
8999 \noindent{\bf Arguments:}
9002 \vspace{0.3cm}
9003 \begin{tabular}{|c|c|p{7cm}|}
9004 \hline
9005 {\bf type} & {\bf name} & {\bf description} \\ \hline
9006 {\tt SR ref } & self & reference to the object \\ \hline
9008 {\tt string } & value & New value to set \\ \hline
9010 \end{tabular}
9012 \vspace{0.3cm}
9014 \noindent {\bf Return Type:}
9015 {\tt
9016 void
9021 \vspace{0.3cm}
9022 \vspace{0.3cm}
9023 \vspace{0.3cm}
9024 \subsubsection{RPC name:~get\_VDIs}
9026 {\bf Overview:}
9027 Get the VDIs field of the given SR.
9029 \noindent {\bf Signature:}
9030 \begin{verbatim} ((VDI ref) Set) get_VDIs (session_id s, SR ref self)\end{verbatim}
9033 \noindent{\bf Arguments:}
9036 \vspace{0.3cm}
9037 \begin{tabular}{|c|c|p{7cm}|}
9038 \hline
9039 {\bf type} & {\bf name} & {\bf description} \\ \hline
9040 {\tt SR ref } & self & reference to the object \\ \hline
9042 \end{tabular}
9044 \vspace{0.3cm}
9046 \noindent {\bf Return Type:}
9047 {\tt
9048 (VDI ref) Set
9052 value of the field
9053 \vspace{0.3cm}
9054 \vspace{0.3cm}
9055 \vspace{0.3cm}
9056 \subsubsection{RPC name:~get\_PBDs}
9058 {\bf Overview:}
9059 Get the PBDs field of the given SR.
9061 \noindent {\bf Signature:}
9062 \begin{verbatim} ((PBD ref) Set) get_PBDs (session_id s, SR ref self)\end{verbatim}
9065 \noindent{\bf Arguments:}
9068 \vspace{0.3cm}
9069 \begin{tabular}{|c|c|p{7cm}|}
9070 \hline
9071 {\bf type} & {\bf name} & {\bf description} \\ \hline
9072 {\tt SR ref } & self & reference to the object \\ \hline
9074 \end{tabular}
9076 \vspace{0.3cm}
9078 \noindent {\bf Return Type:}
9079 {\tt
9080 (PBD ref) Set
9084 value of the field
9085 \vspace{0.3cm}
9086 \vspace{0.3cm}
9087 \vspace{0.3cm}
9088 \subsubsection{RPC name:~get\_virtual\_allocation}
9090 {\bf Overview:}
9091 Get the virtual\_allocation field of the given SR.
9093 \noindent {\bf Signature:}
9094 \begin{verbatim} int get_virtual_allocation (session_id s, SR ref self)\end{verbatim}
9097 \noindent{\bf Arguments:}
9100 \vspace{0.3cm}
9101 \begin{tabular}{|c|c|p{7cm}|}
9102 \hline
9103 {\bf type} & {\bf name} & {\bf description} \\ \hline
9104 {\tt SR ref } & self & reference to the object \\ \hline
9106 \end{tabular}
9108 \vspace{0.3cm}
9110 \noindent {\bf Return Type:}
9111 {\tt
9112 int
9116 value of the field
9117 \vspace{0.3cm}
9118 \vspace{0.3cm}
9119 \vspace{0.3cm}
9120 \subsubsection{RPC name:~get\_physical\_utilisation}
9122 {\bf Overview:}
9123 Get the physical\_utilisation field of the given SR.
9125 \noindent {\bf Signature:}
9126 \begin{verbatim} int get_physical_utilisation (session_id s, SR ref self)\end{verbatim}
9129 \noindent{\bf Arguments:}
9132 \vspace{0.3cm}
9133 \begin{tabular}{|c|c|p{7cm}|}
9134 \hline
9135 {\bf type} & {\bf name} & {\bf description} \\ \hline
9136 {\tt SR ref } & self & reference to the object \\ \hline
9138 \end{tabular}
9140 \vspace{0.3cm}
9142 \noindent {\bf Return Type:}
9143 {\tt
9144 int
9148 value of the field
9149 \vspace{0.3cm}
9150 \vspace{0.3cm}
9151 \vspace{0.3cm}
9152 \subsubsection{RPC name:~get\_physical\_size}
9154 {\bf Overview:}
9155 Get the physical\_size field of the given SR.
9157 \noindent {\bf Signature:}
9158 \begin{verbatim} int get_physical_size (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 int
9180 value of the field
9181 \vspace{0.3cm}
9182 \vspace{0.3cm}
9183 \vspace{0.3cm}
9184 \subsubsection{RPC name:~get\_type}
9186 {\bf Overview:}
9187 Get the type field of the given SR.
9189 \noindent {\bf Signature:}
9190 \begin{verbatim} string get_type (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 string
9212 value of the field
9213 \vspace{0.3cm}
9214 \vspace{0.3cm}
9215 \vspace{0.3cm}
9216 \subsubsection{RPC name:~get\_location}
9218 {\bf Overview:}
9219 Get the location field of the given SR.
9221 \noindent {\bf Signature:}
9222 \begin{verbatim} string get_location (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 string
9244 value of the field
9245 \vspace{0.3cm}
9246 \vspace{0.3cm}
9247 \vspace{0.3cm}
9248 \subsubsection{RPC name:~create}
9250 {\bf Overview:}
9251 Create a new SR instance, and return its handle.
9253 \noindent {\bf Signature:}
9254 \begin{verbatim} (SR ref) create (session_id s, SR record args)\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 record } & args & All constructor arguments \\ \hline
9266 \end{tabular}
9268 \vspace{0.3cm}
9270 \noindent {\bf Return Type:}
9271 {\tt
9272 SR ref
9276 reference to the newly created object
9277 \vspace{0.3cm}
9278 \vspace{0.3cm}
9279 \vspace{0.3cm}
9280 \subsubsection{RPC name:~destroy}
9282 {\bf Overview:}
9283 Destroy the specified SR instance.
9285 \noindent {\bf Signature:}
9286 \begin{verbatim} void destroy (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 void
9309 \vspace{0.3cm}
9310 \vspace{0.3cm}
9311 \vspace{0.3cm}
9312 \subsubsection{RPC name:~get\_by\_uuid}
9314 {\bf Overview:}
9315 Get a reference to the SR instance with the specified UUID.
9317 \noindent {\bf Signature:}
9318 \begin{verbatim} (SR ref) get_by_uuid (session_id s, string uuid)\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 string } & uuid & UUID of object to return \\ \hline
9330 \end{tabular}
9332 \vspace{0.3cm}
9334 \noindent {\bf Return Type:}
9335 {\tt
9336 SR ref
9340 reference to the object
9341 \vspace{0.3cm}
9342 \vspace{0.3cm}
9343 \vspace{0.3cm}
9344 \subsubsection{RPC name:~get\_record}
9346 {\bf Overview:}
9347 Get a record containing the current state of the given SR.
9349 \noindent {\bf Signature:}
9350 \begin{verbatim} (SR record) get_record (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 SR record
9372 all fields from the object
9373 \vspace{0.3cm}
9374 \vspace{0.3cm}
9375 \vspace{0.3cm}
9376 \subsubsection{RPC name:~get\_by\_name\_label}
9378 {\bf Overview:}
9379 Get all the SR instances with the given label.
9381 \noindent {\bf Signature:}
9382 \begin{verbatim} ((SR ref) Set) get_by_name_label (session_id s, string label)\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 string } & label & label of object to return \\ \hline
9394 \end{tabular}
9396 \vspace{0.3cm}
9398 \noindent {\bf Return Type:}
9399 {\tt
9400 (SR ref) Set
9404 references to objects with match names
9405 \vspace{0.3cm}
9406 \vspace{0.3cm}
9407 \vspace{0.3cm}
9409 \vspace{1cm}
9410 \newpage
9411 \section{Class: VDI}
9412 \subsection{Fields for class: VDI}
9413 \begin{longtable}{|lllp{0.38\textwidth}|}
9414 \hline
9415 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VDI} \\
9416 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
9417 virtual disk image.}} \\
9418 \hline
9419 Quals & Field & Type & Description \\
9420 \hline
9421 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
9422 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
9423 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
9424 $\mathit{RO}_\mathit{ins}$ & {\tt SR} & SR ref & storage repository in which the VDI resides \\
9425 $\mathit{RO}_\mathit{run}$ & {\tt VBDs} & (VBD ref) Set & list of vbds that refer to this disk \\
9426 $\mathit{RO}_\mathit{run}$ & {\tt crash\_dumps} & (crashdump ref) Set & list of crash dumps that refer to this disk \\
9427 $\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 \\
9428 $\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) \\
9429 $\mathit{RO}_\mathit{ins}$ & {\tt sector\_size} & int & sector size of VDI (in bytes) \\
9430 $\mathit{RO}_\mathit{ins}$ & {\tt type} & vdi\_type & type of the VDI \\
9431 $\mathit{RW}$ & {\tt sharable} & bool & true if this disk may be shared \\
9432 $\mathit{RW}$ & {\tt read\_only} & bool & true if this disk may ONLY be mounted read-only \\
9433 \hline
9434 \end{longtable}
9435 \subsection{RPCs associated with class: VDI}
9436 \subsubsection{RPC name:~snapshot}
9438 {\bf Overview:}
9439 Take an exact copy of the VDI; the snapshot lives in the same Storage
9440 Repository as its parent.
9442 \noindent {\bf Signature:}
9443 \begin{verbatim} (VDI ref) snapshot (session_id s, VDI ref vdi)\end{verbatim}
9446 \noindent{\bf Arguments:}
9449 \vspace{0.3cm}
9450 \begin{tabular}{|c|c|p{7cm}|}
9451 \hline
9452 {\bf type} & {\bf name} & {\bf description} \\ \hline
9453 {\tt VDI ref } & vdi & The VDI to snapshot \\ \hline
9455 \end{tabular}
9457 \vspace{0.3cm}
9459 \noindent {\bf Return Type:}
9460 {\tt
9461 VDI ref
9465 The ID of the newly created VDI.
9466 \vspace{0.3cm}
9467 \vspace{0.3cm}
9468 \vspace{0.3cm}
9469 \subsubsection{RPC name:~resize}
9471 {\bf Overview:}
9472 Resize the vdi to the size.
9474 \noindent {\bf Signature:}
9475 \begin{verbatim} void resize (session_id s, VDI ref vdi, int size)\end{verbatim}
9478 \noindent{\bf Arguments:}
9481 \vspace{0.3cm}
9482 \begin{tabular}{|c|c|p{7cm}|}
9483 \hline
9484 {\bf type} & {\bf name} & {\bf description} \\ \hline
9485 {\tt VDI ref } & vdi & The VDI to resize \\ \hline
9487 {\tt int } & size & The new size of the VDI \\ \hline
9489 \end{tabular}
9491 \vspace{0.3cm}
9493 \noindent {\bf Return Type:}
9494 {\tt
9495 void
9500 \vspace{0.3cm}
9501 \vspace{0.3cm}
9502 \vspace{0.3cm}
9503 \subsubsection{RPC name:~get\_all}
9505 {\bf Overview:}
9506 Return a list of all the VDIs known to the system.
9508 \noindent {\bf Signature:}
9509 \begin{verbatim} ((VDI ref) Set) get_all (session_id s)\end{verbatim}
9512 \vspace{0.3cm}
9514 \noindent {\bf Return Type:}
9515 {\tt
9516 (VDI ref) Set
9520 references to all objects
9521 \vspace{0.3cm}
9522 \vspace{0.3cm}
9523 \vspace{0.3cm}
9524 \subsubsection{RPC name:~get\_uuid}
9526 {\bf Overview:}
9527 Get the uuid field of the given VDI.
9529 \noindent {\bf Signature:}
9530 \begin{verbatim} string get_uuid (session_id s, VDI ref self)\end{verbatim}
9533 \noindent{\bf Arguments:}
9536 \vspace{0.3cm}
9537 \begin{tabular}{|c|c|p{7cm}|}
9538 \hline
9539 {\bf type} & {\bf name} & {\bf description} \\ \hline
9540 {\tt VDI ref } & self & reference to the object \\ \hline
9542 \end{tabular}
9544 \vspace{0.3cm}
9546 \noindent {\bf Return Type:}
9547 {\tt
9548 string
9552 value of the field
9553 \vspace{0.3cm}
9554 \vspace{0.3cm}
9555 \vspace{0.3cm}
9556 \subsubsection{RPC name:~get\_name\_label}
9558 {\bf Overview:}
9559 Get the name/label field of the given VDI.
9561 \noindent {\bf Signature:}
9562 \begin{verbatim} string get_name_label (session_id s, VDI ref self)\end{verbatim}
9565 \noindent{\bf Arguments:}
9568 \vspace{0.3cm}
9569 \begin{tabular}{|c|c|p{7cm}|}
9570 \hline
9571 {\bf type} & {\bf name} & {\bf description} \\ \hline
9572 {\tt VDI ref } & self & reference to the object \\ \hline
9574 \end{tabular}
9576 \vspace{0.3cm}
9578 \noindent {\bf Return Type:}
9579 {\tt
9580 string
9584 value of the field
9585 \vspace{0.3cm}
9586 \vspace{0.3cm}
9587 \vspace{0.3cm}
9588 \subsubsection{RPC name:~set\_name\_label}
9590 {\bf Overview:}
9591 Set the name/label field of the given VDI.
9593 \noindent {\bf Signature:}
9594 \begin{verbatim} void set_name_label (session_id s, VDI ref self, string value)\end{verbatim}
9597 \noindent{\bf Arguments:}
9600 \vspace{0.3cm}
9601 \begin{tabular}{|c|c|p{7cm}|}
9602 \hline
9603 {\bf type} & {\bf name} & {\bf description} \\ \hline
9604 {\tt VDI ref } & self & reference to the object \\ \hline
9606 {\tt string } & value & New value to set \\ \hline
9608 \end{tabular}
9610 \vspace{0.3cm}
9612 \noindent {\bf Return Type:}
9613 {\tt
9614 void
9619 \vspace{0.3cm}
9620 \vspace{0.3cm}
9621 \vspace{0.3cm}
9622 \subsubsection{RPC name:~get\_name\_description}
9624 {\bf Overview:}
9625 Get the name/description field of the given VDI.
9627 \noindent {\bf Signature:}
9628 \begin{verbatim} string get_name_description (session_id s, VDI ref self)\end{verbatim}
9631 \noindent{\bf Arguments:}
9634 \vspace{0.3cm}
9635 \begin{tabular}{|c|c|p{7cm}|}
9636 \hline
9637 {\bf type} & {\bf name} & {\bf description} \\ \hline
9638 {\tt VDI ref } & self & reference to the object \\ \hline
9640 \end{tabular}
9642 \vspace{0.3cm}
9644 \noindent {\bf Return Type:}
9645 {\tt
9646 string
9650 value of the field
9651 \vspace{0.3cm}
9652 \vspace{0.3cm}
9653 \vspace{0.3cm}
9654 \subsubsection{RPC name:~set\_name\_description}
9656 {\bf Overview:}
9657 Set the name/description field of the given VDI.
9659 \noindent {\bf Signature:}
9660 \begin{verbatim} void set_name_description (session_id s, VDI ref self, string value)\end{verbatim}
9663 \noindent{\bf Arguments:}
9666 \vspace{0.3cm}
9667 \begin{tabular}{|c|c|p{7cm}|}
9668 \hline
9669 {\bf type} & {\bf name} & {\bf description} \\ \hline
9670 {\tt VDI ref } & self & reference to the object \\ \hline
9672 {\tt string } & value & New value to set \\ \hline
9674 \end{tabular}
9676 \vspace{0.3cm}
9678 \noindent {\bf Return Type:}
9679 {\tt
9680 void
9685 \vspace{0.3cm}
9686 \vspace{0.3cm}
9687 \vspace{0.3cm}
9688 \subsubsection{RPC name:~get\_SR}
9690 {\bf Overview:}
9691 Get the SR field of the given VDI.
9693 \noindent {\bf Signature:}
9694 \begin{verbatim} (SR ref) get_SR (session_id s, VDI ref self)\end{verbatim}
9697 \noindent{\bf Arguments:}
9700 \vspace{0.3cm}
9701 \begin{tabular}{|c|c|p{7cm}|}
9702 \hline
9703 {\bf type} & {\bf name} & {\bf description} \\ \hline
9704 {\tt VDI ref } & self & reference to the object \\ \hline
9706 \end{tabular}
9708 \vspace{0.3cm}
9710 \noindent {\bf Return Type:}
9711 {\tt
9712 SR ref
9716 value of the field
9717 \vspace{0.3cm}
9718 \vspace{0.3cm}
9719 \vspace{0.3cm}
9720 \subsubsection{RPC name:~get\_VBDs}
9722 {\bf Overview:}
9723 Get the VBDs field of the given VDI.
9725 \noindent {\bf Signature:}
9726 \begin{verbatim} ((VBD ref) Set) get_VBDs (session_id s, VDI ref self)\end{verbatim}
9729 \noindent{\bf Arguments:}
9732 \vspace{0.3cm}
9733 \begin{tabular}{|c|c|p{7cm}|}
9734 \hline
9735 {\bf type} & {\bf name} & {\bf description} \\ \hline
9736 {\tt VDI ref } & self & reference to the object \\ \hline
9738 \end{tabular}
9740 \vspace{0.3cm}
9742 \noindent {\bf Return Type:}
9743 {\tt
9744 (VBD ref) Set
9748 value of the field
9749 \vspace{0.3cm}
9750 \vspace{0.3cm}
9751 \vspace{0.3cm}
9752 \subsubsection{RPC name:~get\_crash\_dumps}
9754 {\bf Overview:}
9755 Get the crash\_dumps field of the given VDI.
9757 \noindent {\bf Signature:}
9758 \begin{verbatim} ((crashdump ref) Set) get_crash_dumps (session_id s, VDI ref self)\end{verbatim}
9761 \noindent{\bf Arguments:}
9764 \vspace{0.3cm}
9765 \begin{tabular}{|c|c|p{7cm}|}
9766 \hline
9767 {\bf type} & {\bf name} & {\bf description} \\ \hline
9768 {\tt VDI ref } & self & reference to the object \\ \hline
9770 \end{tabular}
9772 \vspace{0.3cm}
9774 \noindent {\bf Return Type:}
9775 {\tt
9776 (crashdump ref) Set
9780 value of the field
9781 \vspace{0.3cm}
9782 \vspace{0.3cm}
9783 \vspace{0.3cm}
9784 \subsubsection{RPC name:~get\_virtual\_size}
9786 {\bf Overview:}
9787 Get the virtual\_size field of the given VDI.
9789 \noindent {\bf Signature:}
9790 \begin{verbatim} int get_virtual_size (session_id s, VDI ref self)\end{verbatim}
9793 \noindent{\bf Arguments:}
9796 \vspace{0.3cm}
9797 \begin{tabular}{|c|c|p{7cm}|}
9798 \hline
9799 {\bf type} & {\bf name} & {\bf description} \\ \hline
9800 {\tt VDI ref } & self & reference to the object \\ \hline
9802 \end{tabular}
9804 \vspace{0.3cm}
9806 \noindent {\bf Return Type:}
9807 {\tt
9808 int
9812 value of the field
9813 \vspace{0.3cm}
9814 \vspace{0.3cm}
9815 \vspace{0.3cm}
9816 \subsubsection{RPC name:~set\_virtual\_size}
9818 {\bf Overview:}
9819 Set the virtual\_size field of the given VDI.
9821 \noindent {\bf Signature:}
9822 \begin{verbatim} void set_virtual_size (session_id s, VDI ref self, int value)\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 {\tt int } & value & New value to set \\ \hline
9836 \end{tabular}
9838 \vspace{0.3cm}
9840 \noindent {\bf Return Type:}
9841 {\tt
9842 void
9847 \vspace{0.3cm}
9848 \vspace{0.3cm}
9849 \vspace{0.3cm}
9850 \subsubsection{RPC name:~get\_physical\_utilisation}
9852 {\bf Overview:}
9853 Get the physical\_utilisation field of the given VDI.
9855 \noindent {\bf Signature:}
9856 \begin{verbatim} int get_physical_utilisation (session_id s, VDI ref self)\end{verbatim}
9859 \noindent{\bf Arguments:}
9862 \vspace{0.3cm}
9863 \begin{tabular}{|c|c|p{7cm}|}
9864 \hline
9865 {\bf type} & {\bf name} & {\bf description} \\ \hline
9866 {\tt VDI ref } & self & reference to the object \\ \hline
9868 \end{tabular}
9870 \vspace{0.3cm}
9872 \noindent {\bf Return Type:}
9873 {\tt
9874 int
9878 value of the field
9879 \vspace{0.3cm}
9880 \vspace{0.3cm}
9881 \vspace{0.3cm}
9882 \subsubsection{RPC name:~get\_sector\_size}
9884 {\bf Overview:}
9885 Get the sector\_size field of the given VDI.
9887 \noindent {\bf Signature:}
9888 \begin{verbatim} int get_sector_size (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 int
9910 value of the field
9911 \vspace{0.3cm}
9912 \vspace{0.3cm}
9913 \vspace{0.3cm}
9914 \subsubsection{RPC name:~get\_type}
9916 {\bf Overview:}
9917 Get the type field of the given VDI.
9919 \noindent {\bf Signature:}
9920 \begin{verbatim} (vdi_type) get_type (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 vdi\_type
9942 value of the field
9943 \vspace{0.3cm}
9944 \vspace{0.3cm}
9945 \vspace{0.3cm}
9946 \subsubsection{RPC name:~get\_sharable}
9948 {\bf Overview:}
9949 Get the sharable field of the given VDI.
9951 \noindent {\bf Signature:}
9952 \begin{verbatim} bool get_sharable (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 bool
9974 value of the field
9975 \vspace{0.3cm}
9976 \vspace{0.3cm}
9977 \vspace{0.3cm}
9978 \subsubsection{RPC name:~set\_sharable}
9980 {\bf Overview:}
9981 Set the sharable field of the given VDI.
9983 \noindent {\bf Signature:}
9984 \begin{verbatim} void set_sharable (session_id s, VDI ref self, bool 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 bool } & 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\_read\_only}
10014 {\bf Overview:}
10015 Get the read\_only field of the given VDI.
10017 \noindent {\bf Signature:}
10018 \begin{verbatim} bool get_read_only (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 bool
10040 value of the field
10041 \vspace{0.3cm}
10042 \vspace{0.3cm}
10043 \vspace{0.3cm}
10044 \subsubsection{RPC name:~set\_read\_only}
10046 {\bf Overview:}
10047 Set the read\_only field of the given VDI.
10049 \noindent {\bf Signature:}
10050 \begin{verbatim} void set_read_only (session_id s, VDI ref self, bool value)\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 {\tt bool } & value & New value to set \\ \hline
10064 \end{tabular}
10066 \vspace{0.3cm}
10068 \noindent {\bf Return Type:}
10069 {\tt
10070 void
10075 \vspace{0.3cm}
10076 \vspace{0.3cm}
10077 \vspace{0.3cm}
10078 \subsubsection{RPC name:~create}
10080 {\bf Overview:}
10081 Create a new VDI instance, and return its handle.
10083 \noindent {\bf Signature:}
10084 \begin{verbatim} (VDI ref) create (session_id s, VDI record args)\end{verbatim}
10087 \noindent{\bf Arguments:}
10090 \vspace{0.3cm}
10091 \begin{tabular}{|c|c|p{7cm}|}
10092 \hline
10093 {\bf type} & {\bf name} & {\bf description} \\ \hline
10094 {\tt VDI record } & args & All constructor arguments \\ \hline
10096 \end{tabular}
10098 \vspace{0.3cm}
10100 \noindent {\bf Return Type:}
10101 {\tt
10102 VDI ref
10106 reference to the newly created object
10107 \vspace{0.3cm}
10108 \vspace{0.3cm}
10109 \vspace{0.3cm}
10110 \subsubsection{RPC name:~destroy}
10112 {\bf Overview:}
10113 Destroy the specified VDI instance.
10115 \noindent {\bf Signature:}
10116 \begin{verbatim} void destroy (session_id s, VDI ref self)\end{verbatim}
10119 \noindent{\bf Arguments:}
10122 \vspace{0.3cm}
10123 \begin{tabular}{|c|c|p{7cm}|}
10124 \hline
10125 {\bf type} & {\bf name} & {\bf description} \\ \hline
10126 {\tt VDI ref } & self & reference to the object \\ \hline
10128 \end{tabular}
10130 \vspace{0.3cm}
10132 \noindent {\bf Return Type:}
10133 {\tt
10134 void
10139 \vspace{0.3cm}
10140 \vspace{0.3cm}
10141 \vspace{0.3cm}
10142 \subsubsection{RPC name:~get\_by\_uuid}
10144 {\bf Overview:}
10145 Get a reference to the VDI instance with the specified UUID.
10147 \noindent {\bf Signature:}
10148 \begin{verbatim} (VDI ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
10151 \noindent{\bf Arguments:}
10154 \vspace{0.3cm}
10155 \begin{tabular}{|c|c|p{7cm}|}
10156 \hline
10157 {\bf type} & {\bf name} & {\bf description} \\ \hline
10158 {\tt string } & uuid & UUID of object to return \\ \hline
10160 \end{tabular}
10162 \vspace{0.3cm}
10164 \noindent {\bf Return Type:}
10165 {\tt
10166 VDI ref
10170 reference to the object
10171 \vspace{0.3cm}
10172 \vspace{0.3cm}
10173 \vspace{0.3cm}
10174 \subsubsection{RPC name:~get\_record}
10176 {\bf Overview:}
10177 Get a record containing the current state of the given VDI.
10179 \noindent {\bf Signature:}
10180 \begin{verbatim} (VDI record) get_record (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 VDI record
10202 all fields from the object
10203 \vspace{0.3cm}
10204 \vspace{0.3cm}
10205 \vspace{0.3cm}
10206 \subsubsection{RPC name:~get\_by\_name\_label}
10208 {\bf Overview:}
10209 Get all the VDI instances with the given label.
10211 \noindent {\bf Signature:}
10212 \begin{verbatim} ((VDI ref) Set) get_by_name_label (session_id s, string label)\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 string } & label & label of object to return \\ \hline
10224 \end{tabular}
10226 \vspace{0.3cm}
10228 \noindent {\bf Return Type:}
10229 {\tt
10230 (VDI ref) Set
10234 references to objects with match names
10235 \vspace{0.3cm}
10236 \vspace{0.3cm}
10237 \vspace{0.3cm}
10239 \vspace{1cm}
10240 \newpage
10241 \section{Class: VBD}
10242 \subsection{Fields for class: VBD}
10243 \begin{longtable}{|lllp{0.38\textwidth}|}
10244 \hline
10245 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VBD} \\
10246 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
10247 virtual block device.}} \\
10248 \hline
10249 Quals & Field & Type & Description \\
10250 \hline
10251 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
10252 $\mathit{RO}_\mathit{ins}$ & {\tt VM} & VM ref & the virtual machine \\
10253 $\mathit{RO}_\mathit{ins}$ & {\tt VDI} & VDI ref & the virtual disk \\
10254 $\mathit{RW}$ & {\tt device} & string & device seen by the guest e.g. hda1 \\
10255 $\mathit{RW}$ & {\tt bootable} & bool & true if this VBD is bootable \\
10256 $\mathit{RW}$ & {\tt mode} & vbd\_mode & the mode the VBD should be mounted with \\
10257 $\mathit{RW}$ & {\tt type} & vbd\_type & how the VBD will appear to the guest (e.g. disk or CD) \\
10258 $\mathit{RO}_\mathit{run}$ & {\tt currently\_attached} & bool & is the device currently attached (erased on reboot) \\
10259 $\mathit{RO}_\mathit{run}$ & {\tt status\_code} & int & error/success code associated with last attach-operation (erased on reboot) \\
10260 $\mathit{RO}_\mathit{run}$ & {\tt status\_detail} & string & error/success information associated with last attach-operation status (erased on reboot) \\
10261 $\mathit{RW}$ & {\tt qos/algorithm\_type} & string & QoS algorithm to use \\
10262 $\mathit{RW}$ & {\tt qos/algorithm\_params} & (string $\rightarrow$ string) Map & parameters for chosen QoS algorithm \\
10263 $\mathit{RO}_\mathit{run}$ & {\tt qos/supported\_algorithms} & string Set & supported QoS algorithms for this VBD \\
10264 $\mathit{RO}_\mathit{run}$ & {\tt metrics} & VBD\_metrics ref & metrics associated with this VBD \\
10265 \hline
10266 \end{longtable}
10267 \subsection{RPCs associated with class: VBD}
10268 \subsubsection{RPC name:~media\_change}
10270 {\bf Overview:}
10271 Change the media in the device for CDROM-like devices only. For other
10272 devices, detach the VBD and attach a new one.
10274 \noindent {\bf Signature:}
10275 \begin{verbatim} void media_change (session_id s, VBD ref vbd, VDI ref vdi)\end{verbatim}
10278 \noindent{\bf Arguments:}
10281 \vspace{0.3cm}
10282 \begin{tabular}{|c|c|p{7cm}|}
10283 \hline
10284 {\bf type} & {\bf name} & {\bf description} \\ \hline
10285 {\tt VBD ref } & vbd & The vbd representing the CDROM-like device \\ \hline
10287 {\tt VDI ref } & vdi & The new VDI to 'insert' \\ \hline
10289 \end{tabular}
10291 \vspace{0.3cm}
10293 \noindent {\bf Return Type:}
10294 {\tt
10295 void
10300 \vspace{0.3cm}
10301 \vspace{0.3cm}
10302 \vspace{0.3cm}
10303 \subsubsection{RPC name:~plug}
10305 {\bf Overview:}
10306 Hotplug the specified VBD, dynamically attaching it to the running VM.
10308 \noindent {\bf Signature:}
10309 \begin{verbatim} void plug (session_id s, VBD ref self)\end{verbatim}
10312 \noindent{\bf Arguments:}
10315 \vspace{0.3cm}
10316 \begin{tabular}{|c|c|p{7cm}|}
10317 \hline
10318 {\bf type} & {\bf name} & {\bf description} \\ \hline
10319 {\tt VBD ref } & self & The VBD to hotplug \\ \hline
10321 \end{tabular}
10323 \vspace{0.3cm}
10325 \noindent {\bf Return Type:}
10326 {\tt
10327 void
10332 \vspace{0.3cm}
10333 \vspace{0.3cm}
10334 \vspace{0.3cm}
10335 \subsubsection{RPC name:~unplug}
10337 {\bf Overview:}
10338 Hot-unplug the specified VBD, dynamically unattaching it from the running
10339 VM.
10341 \noindent {\bf Signature:}
10342 \begin{verbatim} void unplug (session_id s, VBD 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 VBD ref } & self & The VBD to hot-unplug \\ \hline
10354 \end{tabular}
10356 \vspace{0.3cm}
10358 \noindent {\bf Return Type:}
10359 {\tt
10360 void
10365 \vspace{0.3cm}
10366 \vspace{0.3cm}
10367 \vspace{0.3cm}
10368 \subsubsection{RPC name:~get\_all}
10370 {\bf Overview:}
10371 Return a list of all the VBDs known to the system.
10373 \noindent {\bf Signature:}
10374 \begin{verbatim} ((VBD ref) Set) get_all (session_id s)\end{verbatim}
10377 \vspace{0.3cm}
10379 \noindent {\bf Return Type:}
10380 {\tt
10381 (VBD ref) Set
10385 references to all objects
10386 \vspace{0.3cm}
10387 \vspace{0.3cm}
10388 \vspace{0.3cm}
10389 \subsubsection{RPC name:~get\_uuid}
10391 {\bf Overview:}
10392 Get the uuid field of the given VBD.
10394 \noindent {\bf Signature:}
10395 \begin{verbatim} string get_uuid (session_id s, VBD ref self)\end{verbatim}
10398 \noindent{\bf Arguments:}
10401 \vspace{0.3cm}
10402 \begin{tabular}{|c|c|p{7cm}|}
10403 \hline
10404 {\bf type} & {\bf name} & {\bf description} \\ \hline
10405 {\tt VBD ref } & self & reference to the object \\ \hline
10407 \end{tabular}
10409 \vspace{0.3cm}
10411 \noindent {\bf Return Type:}
10412 {\tt
10413 string
10417 value of the field
10418 \vspace{0.3cm}
10419 \vspace{0.3cm}
10420 \vspace{0.3cm}
10421 \subsubsection{RPC name:~get\_VM}
10423 {\bf Overview:}
10424 Get the VM field of the given VBD.
10426 \noindent {\bf Signature:}
10427 \begin{verbatim} (VM ref) get_VM (session_id s, VBD ref self)\end{verbatim}
10430 \noindent{\bf Arguments:}
10433 \vspace{0.3cm}
10434 \begin{tabular}{|c|c|p{7cm}|}
10435 \hline
10436 {\bf type} & {\bf name} & {\bf description} \\ \hline
10437 {\tt VBD ref } & self & reference to the object \\ \hline
10439 \end{tabular}
10441 \vspace{0.3cm}
10443 \noindent {\bf Return Type:}
10444 {\tt
10445 VM ref
10449 value of the field
10450 \vspace{0.3cm}
10451 \vspace{0.3cm}
10452 \vspace{0.3cm}
10453 \subsubsection{RPC name:~get\_VDI}
10455 {\bf Overview:}
10456 Get the VDI field of the given VBD.
10458 \noindent {\bf Signature:}
10459 \begin{verbatim} (VDI ref) get_VDI (session_id s, VBD ref self)\end{verbatim}
10462 \noindent{\bf Arguments:}
10465 \vspace{0.3cm}
10466 \begin{tabular}{|c|c|p{7cm}|}
10467 \hline
10468 {\bf type} & {\bf name} & {\bf description} \\ \hline
10469 {\tt VBD ref } & self & reference to the object \\ \hline
10471 \end{tabular}
10473 \vspace{0.3cm}
10475 \noindent {\bf Return Type:}
10476 {\tt
10477 VDI ref
10481 value of the field
10482 \vspace{0.3cm}
10483 \vspace{0.3cm}
10484 \vspace{0.3cm}
10485 \subsubsection{RPC name:~get\_device}
10487 {\bf Overview:}
10488 Get the device field of the given VBD.
10490 \noindent {\bf Signature:}
10491 \begin{verbatim} string get_device (session_id s, VBD ref self)\end{verbatim}
10494 \noindent{\bf Arguments:}
10497 \vspace{0.3cm}
10498 \begin{tabular}{|c|c|p{7cm}|}
10499 \hline
10500 {\bf type} & {\bf name} & {\bf description} \\ \hline
10501 {\tt VBD ref } & self & reference to the object \\ \hline
10503 \end{tabular}
10505 \vspace{0.3cm}
10507 \noindent {\bf Return Type:}
10508 {\tt
10509 string
10513 value of the field
10514 \vspace{0.3cm}
10515 \vspace{0.3cm}
10516 \vspace{0.3cm}
10517 \subsubsection{RPC name:~set\_device}
10519 {\bf Overview:}
10520 Set the device field of the given VBD.
10522 \noindent {\bf Signature:}
10523 \begin{verbatim} void set_device (session_id s, VBD ref self, string value)\end{verbatim}
10526 \noindent{\bf Arguments:}
10529 \vspace{0.3cm}
10530 \begin{tabular}{|c|c|p{7cm}|}
10531 \hline
10532 {\bf type} & {\bf name} & {\bf description} \\ \hline
10533 {\tt VBD ref } & self & reference to the object \\ \hline
10535 {\tt string } & value & New value to set \\ \hline
10537 \end{tabular}
10539 \vspace{0.3cm}
10541 \noindent {\bf Return Type:}
10542 {\tt
10543 void
10548 \vspace{0.3cm}
10549 \vspace{0.3cm}
10550 \vspace{0.3cm}
10551 \subsubsection{RPC name:~get\_bootable}
10553 {\bf Overview:}
10554 Get the bootable field of the given VBD.
10556 \noindent {\bf Signature:}
10557 \begin{verbatim} bool get_bootable (session_id s, VBD ref self)\end{verbatim}
10560 \noindent{\bf Arguments:}
10563 \vspace{0.3cm}
10564 \begin{tabular}{|c|c|p{7cm}|}
10565 \hline
10566 {\bf type} & {\bf name} & {\bf description} \\ \hline
10567 {\tt VBD ref } & self & reference to the object \\ \hline
10569 \end{tabular}
10571 \vspace{0.3cm}
10573 \noindent {\bf Return Type:}
10574 {\tt
10575 bool
10579 value of the field
10580 \vspace{0.3cm}
10581 \vspace{0.3cm}
10582 \vspace{0.3cm}
10583 \subsubsection{RPC name:~set\_bootable}
10585 {\bf Overview:}
10586 Set the bootable field of the given VBD.
10588 \noindent {\bf Signature:}
10589 \begin{verbatim} void set_bootable (session_id s, VBD ref self, bool value)\end{verbatim}
10592 \noindent{\bf Arguments:}
10595 \vspace{0.3cm}
10596 \begin{tabular}{|c|c|p{7cm}|}
10597 \hline
10598 {\bf type} & {\bf name} & {\bf description} \\ \hline
10599 {\tt VBD ref } & self & reference to the object \\ \hline
10601 {\tt bool } & value & New value to set \\ \hline
10603 \end{tabular}
10605 \vspace{0.3cm}
10607 \noindent {\bf Return Type:}
10608 {\tt
10609 void
10614 \vspace{0.3cm}
10615 \vspace{0.3cm}
10616 \vspace{0.3cm}
10617 \subsubsection{RPC name:~get\_mode}
10619 {\bf Overview:}
10620 Get the mode field of the given VBD.
10622 \noindent {\bf Signature:}
10623 \begin{verbatim} (vbd_mode) get_mode (session_id s, VBD ref self)\end{verbatim}
10626 \noindent{\bf Arguments:}
10629 \vspace{0.3cm}
10630 \begin{tabular}{|c|c|p{7cm}|}
10631 \hline
10632 {\bf type} & {\bf name} & {\bf description} \\ \hline
10633 {\tt VBD ref } & self & reference to the object \\ \hline
10635 \end{tabular}
10637 \vspace{0.3cm}
10639 \noindent {\bf Return Type:}
10640 {\tt
10641 vbd\_mode
10645 value of the field
10646 \vspace{0.3cm}
10647 \vspace{0.3cm}
10648 \vspace{0.3cm}
10649 \subsubsection{RPC name:~set\_mode}
10651 {\bf Overview:}
10652 Set the mode field of the given VBD.
10654 \noindent {\bf Signature:}
10655 \begin{verbatim} void set_mode (session_id s, VBD ref self, vbd_mode value)\end{verbatim}
10658 \noindent{\bf Arguments:}
10661 \vspace{0.3cm}
10662 \begin{tabular}{|c|c|p{7cm}|}
10663 \hline
10664 {\bf type} & {\bf name} & {\bf description} \\ \hline
10665 {\tt VBD ref } & self & reference to the object \\ \hline
10667 {\tt vbd\_mode } & value & New value to set \\ \hline
10669 \end{tabular}
10671 \vspace{0.3cm}
10673 \noindent {\bf Return Type:}
10674 {\tt
10675 void
10680 \vspace{0.3cm}
10681 \vspace{0.3cm}
10682 \vspace{0.3cm}
10683 \subsubsection{RPC name:~get\_type}
10685 {\bf Overview:}
10686 Get the type field of the given VBD.
10688 \noindent {\bf Signature:}
10689 \begin{verbatim} (vbd_type) get_type (session_id s, VBD ref self)\end{verbatim}
10692 \noindent{\bf Arguments:}
10695 \vspace{0.3cm}
10696 \begin{tabular}{|c|c|p{7cm}|}
10697 \hline
10698 {\bf type} & {\bf name} & {\bf description} \\ \hline
10699 {\tt VBD ref } & self & reference to the object \\ \hline
10701 \end{tabular}
10703 \vspace{0.3cm}
10705 \noindent {\bf Return Type:}
10706 {\tt
10707 vbd\_type
10711 value of the field
10712 \vspace{0.3cm}
10713 \vspace{0.3cm}
10714 \vspace{0.3cm}
10715 \subsubsection{RPC name:~set\_type}
10717 {\bf Overview:}
10718 Set the type field of the given VBD.
10720 \noindent {\bf Signature:}
10721 \begin{verbatim} void set_type (session_id s, VBD ref self, vbd_type value)\end{verbatim}
10724 \noindent{\bf Arguments:}
10727 \vspace{0.3cm}
10728 \begin{tabular}{|c|c|p{7cm}|}
10729 \hline
10730 {\bf type} & {\bf name} & {\bf description} \\ \hline
10731 {\tt VBD ref } & self & reference to the object \\ \hline
10733 {\tt vbd\_type } & value & New value to set \\ \hline
10735 \end{tabular}
10737 \vspace{0.3cm}
10739 \noindent {\bf Return Type:}
10740 {\tt
10741 void
10746 \vspace{0.3cm}
10747 \vspace{0.3cm}
10748 \vspace{0.3cm}
10749 \subsubsection{RPC name:~get\_currently\_attached}
10751 {\bf Overview:}
10752 Get the currently\_attached field of the given VBD.
10754 \noindent {\bf Signature:}
10755 \begin{verbatim} bool get_currently_attached (session_id s, VBD ref self)\end{verbatim}
10758 \noindent{\bf Arguments:}
10761 \vspace{0.3cm}
10762 \begin{tabular}{|c|c|p{7cm}|}
10763 \hline
10764 {\bf type} & {\bf name} & {\bf description} \\ \hline
10765 {\tt VBD ref } & self & reference to the object \\ \hline
10767 \end{tabular}
10769 \vspace{0.3cm}
10771 \noindent {\bf Return Type:}
10772 {\tt
10773 bool
10777 value of the field
10778 \vspace{0.3cm}
10779 \vspace{0.3cm}
10780 \vspace{0.3cm}
10781 \subsubsection{RPC name:~get\_status\_code}
10783 {\bf Overview:}
10784 Get the status\_code field of the given VBD.
10786 \noindent {\bf Signature:}
10787 \begin{verbatim} int get_status_code (session_id s, VBD ref self)\end{verbatim}
10790 \noindent{\bf Arguments:}
10793 \vspace{0.3cm}
10794 \begin{tabular}{|c|c|p{7cm}|}
10795 \hline
10796 {\bf type} & {\bf name} & {\bf description} \\ \hline
10797 {\tt VBD ref } & self & reference to the object \\ \hline
10799 \end{tabular}
10801 \vspace{0.3cm}
10803 \noindent {\bf Return Type:}
10804 {\tt
10805 int
10809 value of the field
10810 \vspace{0.3cm}
10811 \vspace{0.3cm}
10812 \vspace{0.3cm}
10813 \subsubsection{RPC name:~get\_status\_detail}
10815 {\bf Overview:}
10816 Get the status\_detail field of the given VBD.
10818 \noindent {\bf Signature:}
10819 \begin{verbatim} string get_status_detail (session_id s, VBD ref self)\end{verbatim}
10822 \noindent{\bf Arguments:}
10825 \vspace{0.3cm}
10826 \begin{tabular}{|c|c|p{7cm}|}
10827 \hline
10828 {\bf type} & {\bf name} & {\bf description} \\ \hline
10829 {\tt VBD ref } & self & reference to the object \\ \hline
10831 \end{tabular}
10833 \vspace{0.3cm}
10835 \noindent {\bf Return Type:}
10836 {\tt
10837 string
10841 value of the field
10842 \vspace{0.3cm}
10843 \vspace{0.3cm}
10844 \vspace{0.3cm}
10845 \subsubsection{RPC name:~get\_qos\_algorithm\_type}
10847 {\bf Overview:}
10848 Get the qos/algorithm\_type field of the given VBD.
10850 \noindent {\bf Signature:}
10851 \begin{verbatim} string get_qos_algorithm_type (session_id s, VBD ref self)\end{verbatim}
10854 \noindent{\bf Arguments:}
10857 \vspace{0.3cm}
10858 \begin{tabular}{|c|c|p{7cm}|}
10859 \hline
10860 {\bf type} & {\bf name} & {\bf description} \\ \hline
10861 {\tt VBD ref } & self & reference to the object \\ \hline
10863 \end{tabular}
10865 \vspace{0.3cm}
10867 \noindent {\bf Return Type:}
10868 {\tt
10869 string
10873 value of the field
10874 \vspace{0.3cm}
10875 \vspace{0.3cm}
10876 \vspace{0.3cm}
10877 \subsubsection{RPC name:~set\_qos\_algorithm\_type}
10879 {\bf Overview:}
10880 Set the qos/algorithm\_type field of the given VBD.
10882 \noindent {\bf Signature:}
10883 \begin{verbatim} void set_qos_algorithm_type (session_id s, VBD ref self, string value)\end{verbatim}
10886 \noindent{\bf Arguments:}
10889 \vspace{0.3cm}
10890 \begin{tabular}{|c|c|p{7cm}|}
10891 \hline
10892 {\bf type} & {\bf name} & {\bf description} \\ \hline
10893 {\tt VBD ref } & self & reference to the object \\ \hline
10895 {\tt string } & value & New value to set \\ \hline
10897 \end{tabular}
10899 \vspace{0.3cm}
10901 \noindent {\bf Return Type:}
10902 {\tt
10903 void
10908 \vspace{0.3cm}
10909 \vspace{0.3cm}
10910 \vspace{0.3cm}
10911 \subsubsection{RPC name:~get\_qos\_algorithm\_params}
10913 {\bf Overview:}
10914 Get the qos/algorithm\_params field of the given VBD.
10916 \noindent {\bf Signature:}
10917 \begin{verbatim} ((string -> string) Map) get_qos_algorithm_params (session_id s, VBD ref self)\end{verbatim}
10920 \noindent{\bf Arguments:}
10923 \vspace{0.3cm}
10924 \begin{tabular}{|c|c|p{7cm}|}
10925 \hline
10926 {\bf type} & {\bf name} & {\bf description} \\ \hline
10927 {\tt VBD ref } & self & reference to the object \\ \hline
10929 \end{tabular}
10931 \vspace{0.3cm}
10933 \noindent {\bf Return Type:}
10934 {\tt
10935 (string $\rightarrow$ string) Map
10939 value of the field
10940 \vspace{0.3cm}
10941 \vspace{0.3cm}
10942 \vspace{0.3cm}
10943 \subsubsection{RPC name:~set\_qos\_algorithm\_params}
10945 {\bf Overview:}
10946 Set the qos/algorithm\_params field of the given VBD.
10948 \noindent {\bf Signature:}
10949 \begin{verbatim} void set_qos_algorithm_params (session_id s, VBD ref self, (string -> string) Map value)\end{verbatim}
10952 \noindent{\bf Arguments:}
10955 \vspace{0.3cm}
10956 \begin{tabular}{|c|c|p{7cm}|}
10957 \hline
10958 {\bf type} & {\bf name} & {\bf description} \\ \hline
10959 {\tt VBD ref } & self & reference to the object \\ \hline
10961 {\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline
10963 \end{tabular}
10965 \vspace{0.3cm}
10967 \noindent {\bf Return Type:}
10968 {\tt
10969 void
10974 \vspace{0.3cm}
10975 \vspace{0.3cm}
10976 \vspace{0.3cm}
10977 \subsubsection{RPC name:~add\_to\_qos\_algorithm\_params}
10979 {\bf Overview:}
10980 Add the given key-value pair to the qos/algorithm\_params field of the
10981 given VBD.
10983 \noindent {\bf Signature:}
10984 \begin{verbatim} void add_to_qos_algorithm_params (session_id s, VBD ref self, string key, string value)\end{verbatim}
10987 \noindent{\bf Arguments:}
10990 \vspace{0.3cm}
10991 \begin{tabular}{|c|c|p{7cm}|}
10992 \hline
10993 {\bf type} & {\bf name} & {\bf description} \\ \hline
10994 {\tt VBD ref } & self & reference to the object \\ \hline
10996 {\tt string } & key & Key to add \\ \hline
10998 {\tt string } & value & Value to add \\ \hline
11000 \end{tabular}
11002 \vspace{0.3cm}
11004 \noindent {\bf Return Type:}
11005 {\tt
11006 void
11011 \vspace{0.3cm}
11012 \vspace{0.3cm}
11013 \vspace{0.3cm}
11014 \subsubsection{RPC name:~remove\_from\_qos\_algorithm\_params}
11016 {\bf Overview:}
11017 Remove the given key and its corresponding value from the
11018 qos/algorithm\_params field of the given VBD. If the key is not in that
11019 Map, then do nothing.
11021 \noindent {\bf Signature:}
11022 \begin{verbatim} void remove_from_qos_algorithm_params (session_id s, VBD ref self, string key)\end{verbatim}
11025 \noindent{\bf Arguments:}
11028 \vspace{0.3cm}
11029 \begin{tabular}{|c|c|p{7cm}|}
11030 \hline
11031 {\bf type} & {\bf name} & {\bf description} \\ \hline
11032 {\tt VBD ref } & self & reference to the object \\ \hline
11034 {\tt string } & key & Key to remove \\ \hline
11036 \end{tabular}
11038 \vspace{0.3cm}
11040 \noindent {\bf Return Type:}
11041 {\tt
11042 void
11047 \vspace{0.3cm}
11048 \vspace{0.3cm}
11049 \vspace{0.3cm}
11050 \subsubsection{RPC name:~get\_qos\_supported\_algorithms}