ia64/xen-unstable

view docs/xen-api/xenapi-datamodel.tex @ 16883:666573856c59

(Re)introduce notion of crashed VM power state.

The crashed power state is necessary to allow both core-dumping a
crashed but preserved VM and renaming/restarting a crashed VM.

Signed-off-by: Jim Fehlig <jfehlig@novell.com>
author Keir Fraser <keir.fraser@citrix.com>
date Fri Jan 25 13:28:25 2008 +0000 (2008-01-25)
parents 433f6a6a862a
children 76c4af29842f
line source
1 %
2 % Copyright (c) 2006-2007 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 event} & Asynchronous event registration and handling \\
28 {\tt VM} & A virtual machine (or 'guest') \\
29 {\tt VM\_metrics} & The metrics associated with a VM \\
30 {\tt VM\_guest\_metrics} & The metrics reported by the guest (as opposed to inferred from outside) \\
31 {\tt host} & A physical host \\
32 {\tt host\_metrics} & The metrics associated with a host \\
33 {\tt host\_cpu} & A physical CPU \\
34 {\tt network} & A virtual network \\
35 {\tt VIF} & A virtual network interface \\
36 {\tt VIF\_metrics} & The metrics associated with a virtual network device \\
37 {\tt PIF} & A physical network interface (note separate VLANs are represented as several PIFs) \\
38 {\tt PIF\_metrics} & The metrics associated with a physical network interface \\
39 {\tt SR} & A storage repository \\
40 {\tt VDI} & A virtual disk image \\
41 {\tt VBD} & A virtual block device \\
42 {\tt VBD\_metrics} & The metrics associated with a virtual block device \\
43 {\tt PBD} & The physical block devices through which hosts access SRs \\
44 {\tt crashdump} & A VM crashdump \\
45 {\tt VTPM} & A virtual TPM device \\
46 {\tt console} & A console \\
47 {\tt user} & A user of the system \\
48 {\tt debug} & A basic class for testing \\
49 {\tt XSPolicy} & A class for handling Xen Security Policies \\
50 {\tt ACMPolicy} & A class for handling ACM-type policies \\
51 \hline
52 \end{tabular}\end{center}
53 \section{Relationships Between Classes}
54 Fields that are bound together are shown in the following table:
55 \begin{center}\begin{tabular}{|ll|l|}
56 \hline
57 {\em object.field} & {\em object.field} & {\em relationship} \\
59 \hline
60 host.PBDs & PBD.host & many-to-one\\
61 SR.PBDs & PBD.SR & many-to-one\\
62 VDI.VBDs & VBD.VDI & many-to-one\\
63 VDI.crash\_dumps & crashdump.VDI & many-to-one\\
64 VBD.VM & VM.VBDs & one-to-many\\
65 crashdump.VM & VM.crash\_dumps & one-to-many\\
66 VIF.VM & VM.VIFs & one-to-many\\
67 VIF.network & network.VIFs & one-to-many\\
68 PIF.host & host.PIFs & one-to-many\\
69 PIF.network & network.PIFs & one-to-many\\
70 SR.VDIs & VDI.SR & many-to-one\\
71 VTPM.VM & VM.VTPMs & one-to-many\\
72 console.VM & VM.consoles & one-to-many\\
73 host.resident\_VMs & VM.resident\_on & many-to-one\\
74 host.host\_CPUs & host\_cpu.host & many-to-one\\
75 \hline
76 \end{tabular}\end{center}
78 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
79 relationships:
81 \begin{center}\resizebox{0.8\textwidth}{!}{
82 \includegraphics{xenapi-datamodel-graph}
83 }\end{center}
84 \
85 \subsection{List of bound fields}
86 \section{Types}
87 \subsection{Primitives}
88 The following primitive types are used to specify methods and fields in the API Reference:
90 \begin{center}\begin{tabular}{|ll|}
91 \hline
92 Type & Description \\
93 \hline
94 String & text strings \\
95 Int & 64-bit integers \\
96 Float & IEEE double-precision floating-point numbers \\
97 Bool & boolean \\
98 DateTime & date and timestamp \\
99 Ref (object name) & reference to an object of class name \\
100 \hline
101 \end{tabular}\end{center}
102 \subsection{Higher order types}
103 The following type constructors are used:
105 \begin{center}\begin{tabular}{|ll|}
106 \hline
107 Type & Description \\
108 \hline
109 List (t) & an arbitrary-length list of elements of type t \\
110 Map (a $\rightarrow$ b) & a table mapping values of type a to values of type b \\
111 \hline
112 \end{tabular}\end{center}
113 \subsection{Enumeration types}
114 The following enumeration types are used:
116 \begin{longtable}{|ll|}
117 \hline
118 {\tt enum event\_operation} & \\
119 \hline
120 \hspace{0.5cm}{\tt add} & An object has been created \\
121 \hspace{0.5cm}{\tt del} & An object has been deleted \\
122 \hspace{0.5cm}{\tt mod} & An object has been modified \\
123 \hline
124 \end{longtable}
126 \vspace{1cm}
127 \begin{longtable}{|ll|}
128 \hline
129 {\tt enum console\_protocol} & \\
130 \hline
131 \hspace{0.5cm}{\tt vt100} & VT100 terminal \\
132 \hspace{0.5cm}{\tt rfb} & Remote FrameBuffer protocol (as used in VNC) \\
133 \hspace{0.5cm}{\tt rdp} & Remote Desktop Protocol \\
134 \hline
135 \end{longtable}
137 \vspace{1cm}
138 \begin{longtable}{|ll|}
139 \hline
140 {\tt enum vdi\_type} & \\
141 \hline
142 \hspace{0.5cm}{\tt system} & a disk that may be replaced on upgrade \\
143 \hspace{0.5cm}{\tt user} & a disk that is always preserved on upgrade \\
144 \hspace{0.5cm}{\tt ephemeral} & a disk that may be reformatted on upgrade \\
145 \hspace{0.5cm}{\tt suspend} & a disk that stores a suspend image \\
146 \hspace{0.5cm}{\tt crashdump} & a disk that stores VM crashdump information \\
147 \hline
148 \end{longtable}
150 \vspace{1cm}
151 \begin{longtable}{|ll|}
152 \hline
153 {\tt enum vm\_power\_state} & \\
154 \hline
155 \hspace{0.5cm}{\tt Halted} & Halted \\
156 \hspace{0.5cm}{\tt Paused} & Paused \\
157 \hspace{0.5cm}{\tt Running} & Running \\
158 \hspace{0.5cm}{\tt Suspended} & Suspended \\
159 \hspace{0.5cm}{\tt Crashed} & Crashed \\
160 \hspace{0.5cm}{\tt Unknown} & Some other unknown state \\
161 \hline
162 \end{longtable}
164 \vspace{1cm}
165 \begin{longtable}{|ll|}
166 \hline
167 {\tt enum task\_allowed\_operations} & \\
168 \hline
169 \hspace{0.5cm}{\tt Cancel} & Cancel \\
170 \hline
171 \end{longtable}
173 \vspace{1cm}
174 \begin{longtable}{|ll|}
175 \hline
176 {\tt enum task\_status\_type} & \\
177 \hline
178 \hspace{0.5cm}{\tt pending} & task is in progress \\
179 \hspace{0.5cm}{\tt success} & task was completed successfully \\
180 \hspace{0.5cm}{\tt failure} & task has failed \\
181 \hspace{0.5cm}{\tt cancelling} & task is being cancelled \\
182 \hspace{0.5cm}{\tt cancelled} & task has been cancelled \\
183 \hline
184 \end{longtable}
186 \vspace{1cm}
187 \begin{longtable}{|ll|}
188 \hline
189 {\tt enum on\_normal\_exit} & \\
190 \hline
191 \hspace{0.5cm}{\tt destroy} & destroy the VM state \\
192 \hspace{0.5cm}{\tt restart} & restart the VM \\
193 \hline
194 \end{longtable}
196 \vspace{1cm}
197 \begin{longtable}{|ll|}
198 \hline
199 {\tt enum on\_crash\_behaviour} & \\
200 \hline
201 \hspace{0.5cm}{\tt destroy} & destroy the VM state \\
202 \hspace{0.5cm}{\tt coredump\_and\_destroy} & record a coredump and then destroy the VM state \\
203 \hspace{0.5cm}{\tt restart} & restart the VM \\
204 \hspace{0.5cm}{\tt coredump\_and\_restart} & record a coredump and then restart the VM \\
205 \hspace{0.5cm}{\tt preserve} & leave the crashed VM as-is \\
206 \hspace{0.5cm}{\tt rename\_restart} & rename the crashed VM and start a new copy \\
207 \hline
208 \end{longtable}
210 \vspace{1cm}
211 \begin{longtable}{|ll|}
212 \hline
213 {\tt enum vbd\_mode} & \\
214 \hline
215 \hspace{0.5cm}{\tt RO} & disk is mounted read-only \\
216 \hspace{0.5cm}{\tt RW} & disk is mounted read-write \\
217 \hline
218 \end{longtable}
220 \vspace{1cm}
221 \begin{longtable}{|ll|}
222 \hline
223 {\tt enum vbd\_type} & \\
224 \hline
225 \hspace{0.5cm}{\tt CD} & VBD will appear to guest as CD \\
226 \hspace{0.5cm}{\tt Disk} & VBD will appear to guest as disk \\
227 \hline
228 \end{longtable}
230 \vspace{1cm}
231 \newpage
233 \section{Error Handling}
234 When a low-level transport error occurs, or a request is malformed at the HTTP
235 or XML-RPC level, the server may send an XML-RPC Fault response, or the client
236 may simulate the same. The client must be prepared to handle these errors,
237 though they may be treated as fatal. On the wire, these are transmitted in a
238 form similar to this:
240 \begin{verbatim}
241 <methodResponse>
242 <fault>
243 <value>
244 <struct>
245 <member>
246 <name>faultCode</name>
247 <value><int>-1</int></value>
248 </member>
249 <member>
250 <name>faultString</name>
251 <value><string>Malformed request</string></value>
252 </member>
253 </struct>
254 </value>
255 </fault>
256 </methodResponse>
257 \end{verbatim}
259 All other failures are reported with a more structured error response, to
260 allow better automatic response to failures, proper internationalisation of
261 any error message, and easier debugging. On the wire, these are transmitted
262 like this:
264 \begin{verbatim}
265 <struct>
266 <member>
267 <name>Status</name>
268 <value>Failure</value>
269 </member>
270 <member>
271 <name>ErrorDescription</name>
272 <value>
273 <array>
274 <data>
275 <value>MAP_DUPLICATE_KEY</value>
276 <value>Customer</value>
277 <value>eSpeil Inc.</value>
278 <value>eSpeil Incorporated</value>
279 </data>
280 </array>
281 </value>
282 </member>
283 </struct>
284 \end{verbatim}
286 Note that {\tt ErrorDescription} value is an array of string values. The
287 first element of the array is an error code; the remainder of the array are
288 strings representing error parameters relating to that code. In this case,
289 the client has attempted to add the mapping {\tt Customer $\rightarrow$
290 eSpiel Incorporated} to a Map, but it already contains the mapping
291 {\tt Customer $\rightarrow$ eSpiel Inc.}, and so the request has failed.
293 The reference below lists each possible error returned by each method.
294 As well as the errors explicitly listed, any method may return low-level
295 errors as described above, or any of the following generic errors:
297 \begin{itemize}
298 \item HANDLE\_INVALID
299 \item INTERNAL\_ERROR
300 \item MAP\_DUPLICATE\_KEY
301 \item MESSAGE\_METHOD\_UNKNOWN
302 \item MESSAGE\_PARAMETER\_COUNT\_MISMATCH
303 \item OPERATION\_NOT\_ALLOWED
304 \item PERMISSION\_DENIED
305 \item SESSION\_INVALID
306 \end{itemize}
308 Each possible error code is documented in the following section.
310 \subsection{Error Codes}
312 \subsubsection{HANDLE\_INVALID}
314 You gave an invalid handle. The object may have recently been deleted.
315 The class parameter gives the type of reference given, and the handle
316 parameter echoes the bad value given.
318 \vspace{0.3cm}
319 {\bf Signature:}
320 \begin{verbatim}HANDLE_INVALID(class, handle)\end{verbatim}
321 \begin{center}\rule{10em}{0.1pt}\end{center}
323 \subsubsection{INTERNAL\_ERROR}
325 The server failed to handle your request, due to an internal error. The
326 given message may give details useful for debugging the problem.
328 \vspace{0.3cm}
329 {\bf Signature:}
330 \begin{verbatim}INTERNAL_ERROR(message)\end{verbatim}
331 \begin{center}\rule{10em}{0.1pt}\end{center}
333 \subsubsection{MAP\_DUPLICATE\_KEY}
335 You tried to add a key-value pair to a map, but that key is already there.
336 The key, current value, and the new value that you tried to set are all
337 echoed.
339 \vspace{0.3cm}
340 {\bf Signature:}
341 \begin{verbatim}MAP_DUPLICATE_KEY(key, current value, new value)\end{verbatim}
342 \begin{center}\rule{10em}{0.1pt}\end{center}
344 \subsubsection{MESSAGE\_METHOD\_UNKNOWN}
346 You tried to call a method that does not exist. The method name that you
347 used is echoed.
349 \vspace{0.3cm}
350 {\bf Signature:}
351 \begin{verbatim}MESSAGE_METHOD_UNKNOWN(method)\end{verbatim}
352 \begin{center}\rule{10em}{0.1pt}\end{center}
354 \subsubsection{MESSAGE\_PARAMETER\_COUNT\_MISMATCH}
356 You tried to call a method with the incorrect number of parameters. The
357 fully-qualified method name that you used, and the number of received and
358 expected parameters are returned.
360 \vspace{0.3cm}
361 {\bf Signature:}
362 \begin{verbatim}MESSAGE_PARAMETER_COUNT_MISMATCH(method, expected, received)\end{verbatim}
363 \begin{center}\rule{10em}{0.1pt}\end{center}
365 \subsubsection{NETWORK\_ALREADY\_CONNECTED}
367 You tried to create a PIF, but the network you tried to attach it to is
368 already attached to some other PIF, and so the creation failed.
370 \vspace{0.3cm}
371 {\bf Signature:}
372 \begin{verbatim}NETWORK_ALREADY_CONNECTED(network, connected PIF)\end{verbatim}
373 \begin{center}\rule{10em}{0.1pt}\end{center}
375 \subsubsection{OPERATION\_NOT\_ALLOWED}
377 You attempted an operation that was not allowed.
379 \vspace{0.3cm}
380 No parameters.
381 \begin{center}\rule{10em}{0.1pt}\end{center}
383 \subsubsection{PERMISSION\_DENIED}
385 You do not have the required permissions to perform the operation.
387 \vspace{0.3cm}
388 No parameters.
389 \begin{center}\rule{10em}{0.1pt}\end{center}
391 \subsubsection{PIF\_IS\_PHYSICAL}
393 You tried to destroy a PIF, but it represents an aspect of the physical
394 host configuration, and so cannot be destroyed. The parameter echoes the
395 PIF handle you gave.
397 \vspace{0.3cm}
398 {\bf Signature:}
399 \begin{verbatim}PIF_IS_PHYSICAL(PIF)\end{verbatim}
400 \begin{center}\rule{10em}{0.1pt}\end{center}
402 \subsubsection{SESSION\_AUTHENTICATION\_FAILED}
404 The credentials given by the user are incorrect, so access has been denied,
405 and you have not been issued a session handle.
407 \vspace{0.3cm}
408 No parameters.
409 \begin{center}\rule{10em}{0.1pt}\end{center}
411 \subsubsection{SESSION\_INVALID}
413 You gave an invalid session handle. It may have been invalidated by a
414 server restart, or timed out. You should get a new session handle, using
415 one of the session.login\_ calls. This error does not invalidate the
416 current connection. The handle parameter echoes the bad value given.
418 \vspace{0.3cm}
419 {\bf Signature:}
420 \begin{verbatim}SESSION_INVALID(handle)\end{verbatim}
421 \begin{center}\rule{10em}{0.1pt}\end{center}
423 \subsubsection{SESSION\_NOT\_REGISTERED}
425 This session is not registered to receive events. You must call
426 event.register before event.next. The session handle you are using is
427 echoed.
429 \vspace{0.3cm}
430 {\bf Signature:}
431 \begin{verbatim}SESSION_NOT_REGISTERED(handle)\end{verbatim}
432 \begin{center}\rule{10em}{0.1pt}\end{center}
434 \subsubsection{VALUE\_NOT\_SUPPORTED}
436 You attempted to set a value that is not supported by this implementation.
437 The fully-qualified field name and the value that you tried to set are
438 returned. Also returned is a developer-only diagnostic reason.
440 \vspace{0.3cm}
441 {\bf Signature:}
442 \begin{verbatim}VALUE_NOT_SUPPORTED(field, value, reason)\end{verbatim}
443 \begin{center}\rule{10em}{0.1pt}\end{center}
445 \subsubsection{VLAN\_TAG\_INVALID}
447 You tried to create a VLAN, but the tag you gave was invalid -- it mmust be
448 between 0 and 4095. The parameter echoes the VLAN tag you gave.
450 \vspace{0.3cm}
451 {\bf Signature:}
452 \begin{verbatim}VLAN_TAG_INVALID(VLAN)\end{verbatim}
453 \begin{center}\rule{10em}{0.1pt}\end{center}
455 \subsubsection{VM\_BAD\_POWER\_STATE}
457 You attempted an operation on a VM that was not in an appropriate power
458 state at the time; for example, you attempted to start a VM that was
459 already running. The parameters returned are the VM's handle, and the
460 expected and actual VM state at the time of the call.
462 \vspace{0.3cm}
463 {\bf Signature:}
464 \begin{verbatim}VM_BAD_POWER_STATE(vm, expected, actual)\end{verbatim}
465 \begin{center}\rule{10em}{0.1pt}\end{center}
467 \subsubsection{VM\_HVM\_REQUIRED}
469 HVM is required for this operation
471 \vspace{0.3cm}
472 {\bf Signature:}
473 \begin{verbatim}VM_HVM_REQUIRED(vm)\end{verbatim}
474 \begin{center}\rule{10em}{0.1pt}\end{center}
476 \subsubsection{SECURITY\_ERROR}
478 A security error occurred. The parameter provides the xen security
479 error code and a message describing the error.
481 \vspace{0.3cm}
482 {\bf Signature:}
483 \begin{verbatim}SECURITY_ERROR(xserr, message)\end{verbatim}
484 \begin{center}\rule{10em}{0.1pt}\end{center}
487 \newpage
488 \section{Class: session}
489 \subsection{Fields for class: session}
490 \begin{longtable}{|lllp{0.38\textwidth}|}
491 \hline
492 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf session} \\
493 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
494 session.}} \\
495 \hline
496 Quals & Field & Type & Description \\
497 \hline
498 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
499 $\mathit{RO}_\mathit{run}$ & {\tt this\_host} & host ref & Currently connected host \\
500 $\mathit{RO}_\mathit{run}$ & {\tt this\_user} & user ref & Currently connected user \\
501 $\mathit{RO}_\mathit{run}$ & {\tt last\_active} & int & Timestamp for last time session was active \\
502 \hline
503 \end{longtable}
504 \subsection{RPCs associated with class: session}
505 \subsubsection{RPC name:~login\_with\_password}
507 {\bf Overview:}
508 Attempt to authenticate the user, returning a session\_id if successful.
510 \noindent {\bf Signature:}
511 \begin{verbatim} (session ref) login_with_password (string uname, string pwd)\end{verbatim}
514 \noindent{\bf Arguments:}
517 \vspace{0.3cm}
518 \begin{tabular}{|c|c|p{7cm}|}
519 \hline
520 {\bf type} & {\bf name} & {\bf description} \\ \hline
521 {\tt string } & uname & Username for login. \\ \hline
523 {\tt string } & pwd & Password for login. \\ \hline
525 \end{tabular}
527 \vspace{0.3cm}
529 \noindent {\bf Return Type:}
530 {\tt
531 session ref
532 }
535 ID of newly created session
537 \vspace{0.3cm}
539 \noindent{\bf Possible Error Codes:} {\tt SESSION\_AUTHENTICATION\_FAILED}
541 \vspace{0.3cm}
542 \vspace{0.3cm}
543 \vspace{0.3cm}
544 \subsubsection{RPC name:~logout}
546 {\bf Overview:}
547 Log out of a session.
549 \noindent {\bf Signature:}
550 \begin{verbatim} void logout (session_id s)\end{verbatim}
553 \vspace{0.3cm}
555 \noindent {\bf Return Type:}
556 {\tt
557 void
558 }
562 \vspace{0.3cm}
563 \vspace{0.3cm}
564 \vspace{0.3cm}
565 \subsubsection{RPC name:~get\_uuid}
567 {\bf Overview:}
568 Get the uuid field of the given session.
570 \noindent {\bf Signature:}
571 \begin{verbatim} string get_uuid (session_id s, session ref self)\end{verbatim}
574 \noindent{\bf Arguments:}
577 \vspace{0.3cm}
578 \begin{tabular}{|c|c|p{7cm}|}
579 \hline
580 {\bf type} & {\bf name} & {\bf description} \\ \hline
581 {\tt session ref } & self & reference to the object \\ \hline
583 \end{tabular}
585 \vspace{0.3cm}
587 \noindent {\bf Return Type:}
588 {\tt
589 string
590 }
593 value of the field
594 \vspace{0.3cm}
595 \vspace{0.3cm}
596 \vspace{0.3cm}
597 \subsubsection{RPC name:~get\_this\_host}
599 {\bf Overview:}
600 Get the this\_host field of the given session.
602 \noindent {\bf Signature:}
603 \begin{verbatim} (host ref) get_this_host (session_id s, session ref self)\end{verbatim}
606 \noindent{\bf Arguments:}
609 \vspace{0.3cm}
610 \begin{tabular}{|c|c|p{7cm}|}
611 \hline
612 {\bf type} & {\bf name} & {\bf description} \\ \hline
613 {\tt session ref } & self & reference to the object \\ \hline
615 \end{tabular}
617 \vspace{0.3cm}
619 \noindent {\bf Return Type:}
620 {\tt
621 host ref
622 }
625 value of the field
626 \vspace{0.3cm}
627 \vspace{0.3cm}
628 \vspace{0.3cm}
629 \subsubsection{RPC name:~get\_this\_user}
631 {\bf Overview:}
632 Get the this\_user field of the given session.
634 \noindent {\bf Signature:}
635 \begin{verbatim} (user ref) get_this_user (session_id s, session ref self)\end{verbatim}
638 \noindent{\bf Arguments:}
641 \vspace{0.3cm}
642 \begin{tabular}{|c|c|p{7cm}|}
643 \hline
644 {\bf type} & {\bf name} & {\bf description} \\ \hline
645 {\tt session ref } & self & reference to the object \\ \hline
647 \end{tabular}
649 \vspace{0.3cm}
651 \noindent {\bf Return Type:}
652 {\tt
653 user ref
654 }
657 value of the field
658 \vspace{0.3cm}
659 \vspace{0.3cm}
660 \vspace{0.3cm}
661 \subsubsection{RPC name:~get\_last\_active}
663 {\bf Overview:}
664 Get the last\_active field of the given session.
666 \noindent {\bf Signature:}
667 \begin{verbatim} int get_last_active (session_id s, session ref self)\end{verbatim}
670 \noindent{\bf Arguments:}
673 \vspace{0.3cm}
674 \begin{tabular}{|c|c|p{7cm}|}
675 \hline
676 {\bf type} & {\bf name} & {\bf description} \\ \hline
677 {\tt session ref } & self & reference to the object \\ \hline
679 \end{tabular}
681 \vspace{0.3cm}
683 \noindent {\bf Return Type:}
684 {\tt
685 int
686 }
689 value of the field
690 \vspace{0.3cm}
691 \vspace{0.3cm}
692 \vspace{0.3cm}
693 \subsubsection{RPC name:~get\_by\_uuid}
695 {\bf Overview:}
696 Get a reference to the session instance with the specified UUID.
698 \noindent {\bf Signature:}
699 \begin{verbatim} (session ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
702 \noindent{\bf Arguments:}
705 \vspace{0.3cm}
706 \begin{tabular}{|c|c|p{7cm}|}
707 \hline
708 {\bf type} & {\bf name} & {\bf description} \\ \hline
709 {\tt string } & uuid & UUID of object to return \\ \hline
711 \end{tabular}
713 \vspace{0.3cm}
715 \noindent {\bf Return Type:}
716 {\tt
717 session ref
718 }
721 reference to the object
722 \vspace{0.3cm}
723 \vspace{0.3cm}
724 \vspace{0.3cm}
725 \subsubsection{RPC name:~get\_record}
727 {\bf Overview:}
728 Get a record containing the current state of the given session.
730 \noindent {\bf Signature:}
731 \begin{verbatim} (session record) get_record (session_id s, session ref self)\end{verbatim}
734 \noindent{\bf Arguments:}
737 \vspace{0.3cm}
738 \begin{tabular}{|c|c|p{7cm}|}
739 \hline
740 {\bf type} & {\bf name} & {\bf description} \\ \hline
741 {\tt session ref } & self & reference to the object \\ \hline
743 \end{tabular}
745 \vspace{0.3cm}
747 \noindent {\bf Return Type:}
748 {\tt
749 session record
750 }
753 all fields from the object
754 \vspace{0.3cm}
755 \vspace{0.3cm}
756 \vspace{0.3cm}
758 \vspace{1cm}
759 \newpage
760 \section{Class: task}
761 \subsection{Fields for class: task}
762 \begin{longtable}{|lllp{0.38\textwidth}|}
763 \hline
764 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf task} \\
765 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
766 long-running asynchronous task.}} \\
767 \hline
768 Quals & Field & Type & Description \\
769 \hline
770 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
771 $\mathit{RO}_\mathit{run}$ & {\tt name/label} & string & a human-readable name \\
772 $\mathit{RO}_\mathit{run}$ & {\tt name/description} & string & a notes field containg human-readable description \\
773 $\mathit{RO}_\mathit{run}$ & {\tt status} & task\_status\_type & current status of the task \\
774 $\mathit{RO}_\mathit{run}$ & {\tt session} & session ref & the session that created the task \\
775 $\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. \\
776 $\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. \\
777 $\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. \\
778 $\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. \\
779 $\mathit{RO}_\mathit{run}$ & {\tt allowed\_operations} & (task\_allowed\_operations) Set & Operations allowed on this task \\
780 \hline
781 \end{longtable}
782 \subsection{RPCs associated with class: task}
783 \subsubsection{RPC name:~cancel}
785 {\bf Overview:}
786 Cancel this task. If task.allowed\_operations does not contain Cancel,
787 then this will fail with OPERATION\_NOT\_ALLOWED. The task will show the
788 status 'cancelling', and you should continue to check its status until it
789 shows 'cancelled'. There is no guarantee as to the time within which this
790 task will be cancelled.
792 \noindent {\bf Signature:}
793 \begin{verbatim} void cancel (session_id s, task ref task)\end{verbatim}
796 \noindent{\bf Arguments:}
799 \vspace{0.3cm}
800 \begin{tabular}{|c|c|p{7cm}|}
801 \hline
802 {\bf type} & {\bf name} & {\bf description} \\ \hline
803 {\tt task ref } & task & The task \\ \hline
805 \end{tabular}
807 \vspace{0.3cm}
809 \noindent {\bf Return Type:}
810 {\tt
811 void
812 }
816 \vspace{0.3cm}
818 \noindent{\bf Possible Error Codes:} {\tt OPERATION\_NOT\_ALLOWED}
820 \vspace{0.6cm}
821 \subsubsection{RPC name:~get\_all}
823 {\bf Overview:}
824 Return a list of all the tasks known to the system.
826 \noindent {\bf Signature:}
827 \begin{verbatim} ((task ref) Set) get_all (session_id s)\end{verbatim}
830 \vspace{0.3cm}
832 \noindent {\bf Return Type:}
833 {\tt
834 (task ref) Set
835 }
838 references to all objects
839 \vspace{0.3cm}
840 \vspace{0.3cm}
841 \vspace{0.3cm}
842 \subsubsection{RPC name:~get\_uuid}
844 {\bf Overview:}
845 Get the uuid field of the given task.
847 \noindent {\bf Signature:}
848 \begin{verbatim} string get_uuid (session_id s, task ref self)\end{verbatim}
851 \noindent{\bf Arguments:}
854 \vspace{0.3cm}
855 \begin{tabular}{|c|c|p{7cm}|}
856 \hline
857 {\bf type} & {\bf name} & {\bf description} \\ \hline
858 {\tt task ref } & self & reference to the object \\ \hline
860 \end{tabular}
862 \vspace{0.3cm}
864 \noindent {\bf Return Type:}
865 {\tt
866 string
867 }
870 value of the field
871 \vspace{0.3cm}
872 \vspace{0.3cm}
873 \vspace{0.3cm}
874 \subsubsection{RPC name:~get\_name\_label}
876 {\bf Overview:}
877 Get the name/label field of the given task.
879 \noindent {\bf Signature:}
880 \begin{verbatim} string get_name_label (session_id s, task ref self)\end{verbatim}
883 \noindent{\bf Arguments:}
886 \vspace{0.3cm}
887 \begin{tabular}{|c|c|p{7cm}|}
888 \hline
889 {\bf type} & {\bf name} & {\bf description} \\ \hline
890 {\tt task ref } & self & reference to the object \\ \hline
892 \end{tabular}
894 \vspace{0.3cm}
896 \noindent {\bf Return Type:}
897 {\tt
898 string
899 }
902 value of the field
903 \vspace{0.3cm}
904 \vspace{0.3cm}
905 \vspace{0.3cm}
906 \subsubsection{RPC name:~get\_name\_description}
908 {\bf Overview:}
909 Get the name/description field of the given task.
911 \noindent {\bf Signature:}
912 \begin{verbatim} string get_name_description (session_id s, task ref self)\end{verbatim}
915 \noindent{\bf Arguments:}
918 \vspace{0.3cm}
919 \begin{tabular}{|c|c|p{7cm}|}
920 \hline
921 {\bf type} & {\bf name} & {\bf description} \\ \hline
922 {\tt task ref } & self & reference to the object \\ \hline
924 \end{tabular}
926 \vspace{0.3cm}
928 \noindent {\bf Return Type:}
929 {\tt
930 string
931 }
934 value of the field
935 \vspace{0.3cm}
936 \vspace{0.3cm}
937 \vspace{0.3cm}
938 \subsubsection{RPC name:~get\_status}
940 {\bf Overview:}
941 Get the status field of the given task.
943 \noindent {\bf Signature:}
944 \begin{verbatim} (task_status_type) get_status (session_id s, task ref self)\end{verbatim}
947 \noindent{\bf Arguments:}
950 \vspace{0.3cm}
951 \begin{tabular}{|c|c|p{7cm}|}
952 \hline
953 {\bf type} & {\bf name} & {\bf description} \\ \hline
954 {\tt task ref } & self & reference to the object \\ \hline
956 \end{tabular}
958 \vspace{0.3cm}
960 \noindent {\bf Return Type:}
961 {\tt
962 task\_status\_type
963 }
966 value of the field
967 \vspace{0.3cm}
968 \vspace{0.3cm}
969 \vspace{0.3cm}
970 \subsubsection{RPC name:~get\_session}
972 {\bf Overview:}
973 Get the session field of the given task.
975 \noindent {\bf Signature:}
976 \begin{verbatim} (session ref) get_session (session_id s, task ref self)\end{verbatim}
979 \noindent{\bf Arguments:}
982 \vspace{0.3cm}
983 \begin{tabular}{|c|c|p{7cm}|}
984 \hline
985 {\bf type} & {\bf name} & {\bf description} \\ \hline
986 {\tt task ref } & self & reference to the object \\ \hline
988 \end{tabular}
990 \vspace{0.3cm}
992 \noindent {\bf Return Type:}
993 {\tt
994 session ref
995 }
998 value of the field
999 \vspace{0.3cm}
1000 \vspace{0.3cm}
1001 \vspace{0.3cm}
1002 \subsubsection{RPC name:~get\_progress}
1004 {\bf Overview:}
1005 Get the progress field of the given task.
1007 \noindent {\bf Signature:}
1008 \begin{verbatim} int get_progress (session_id s, task ref self)\end{verbatim}
1011 \noindent{\bf Arguments:}
1014 \vspace{0.3cm}
1015 \begin{tabular}{|c|c|p{7cm}|}
1016 \hline
1017 {\bf type} & {\bf name} & {\bf description} \\ \hline
1018 {\tt task ref } & self & reference to the object \\ \hline
1020 \end{tabular}
1022 \vspace{0.3cm}
1024 \noindent {\bf Return Type:}
1025 {\tt
1026 int
1030 value of the field
1031 \vspace{0.3cm}
1032 \vspace{0.3cm}
1033 \vspace{0.3cm}
1034 \subsubsection{RPC name:~get\_type}
1036 {\bf Overview:}
1037 Get the type field of the given task.
1039 \noindent {\bf Signature:}
1040 \begin{verbatim} string get_type (session_id s, task ref self)\end{verbatim}
1043 \noindent{\bf Arguments:}
1046 \vspace{0.3cm}
1047 \begin{tabular}{|c|c|p{7cm}|}
1048 \hline
1049 {\bf type} & {\bf name} & {\bf description} \\ \hline
1050 {\tt task ref } & self & reference to the object \\ \hline
1052 \end{tabular}
1054 \vspace{0.3cm}
1056 \noindent {\bf Return Type:}
1057 {\tt
1058 string
1062 value of the field
1063 \vspace{0.3cm}
1064 \vspace{0.3cm}
1065 \vspace{0.3cm}
1066 \subsubsection{RPC name:~get\_result}
1068 {\bf Overview:}
1069 Get the result field of the given task.
1071 \noindent {\bf Signature:}
1072 \begin{verbatim} string get_result (session_id s, task ref self)\end{verbatim}
1075 \noindent{\bf Arguments:}
1078 \vspace{0.3cm}
1079 \begin{tabular}{|c|c|p{7cm}|}
1080 \hline
1081 {\bf type} & {\bf name} & {\bf description} \\ \hline
1082 {\tt task ref } & self & reference to the object \\ \hline
1084 \end{tabular}
1086 \vspace{0.3cm}
1088 \noindent {\bf Return Type:}
1089 {\tt
1090 string
1094 value of the field
1095 \vspace{0.3cm}
1096 \vspace{0.3cm}
1097 \vspace{0.3cm}
1098 \subsubsection{RPC name:~get\_error\_info}
1100 {\bf Overview:}
1101 Get the error\_info field of the given task.
1103 \noindent {\bf Signature:}
1104 \begin{verbatim} (string Set) get_error_info (session_id s, task ref self)\end{verbatim}
1107 \noindent{\bf Arguments:}
1110 \vspace{0.3cm}
1111 \begin{tabular}{|c|c|p{7cm}|}
1112 \hline
1113 {\bf type} & {\bf name} & {\bf description} \\ \hline
1114 {\tt task ref } & self & reference to the object \\ \hline
1116 \end{tabular}
1118 \vspace{0.3cm}
1120 \noindent {\bf Return Type:}
1121 {\tt
1122 string Set
1126 value of the field
1127 \vspace{0.3cm}
1128 \vspace{0.3cm}
1129 \vspace{0.3cm}
1130 \subsubsection{RPC name:~get\_allowed\_operations}
1132 {\bf Overview:}
1133 Get the allowed\_operations field of the given task.
1135 \noindent {\bf Signature:}
1136 \begin{verbatim} ((task_allowed_operations) Set) get_allowed_operations (session_id s, task ref self)\end{verbatim}
1139 \noindent{\bf Arguments:}
1142 \vspace{0.3cm}
1143 \begin{tabular}{|c|c|p{7cm}|}
1144 \hline
1145 {\bf type} & {\bf name} & {\bf description} \\ \hline
1146 {\tt task ref } & self & reference to the object \\ \hline
1148 \end{tabular}
1150 \vspace{0.3cm}
1152 \noindent {\bf Return Type:}
1153 {\tt
1154 (task\_allowed\_operations) Set
1158 value of the field
1159 \vspace{0.3cm}
1160 \vspace{0.3cm}
1161 \vspace{0.3cm}
1162 \subsubsection{RPC name:~get\_by\_uuid}
1164 {\bf Overview:}
1165 Get a reference to the task instance with the specified UUID.
1167 \noindent {\bf Signature:}
1168 \begin{verbatim} (task ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
1171 \noindent{\bf Arguments:}
1174 \vspace{0.3cm}
1175 \begin{tabular}{|c|c|p{7cm}|}
1176 \hline
1177 {\bf type} & {\bf name} & {\bf description} \\ \hline
1178 {\tt string } & uuid & UUID of object to return \\ \hline
1180 \end{tabular}
1182 \vspace{0.3cm}
1184 \noindent {\bf Return Type:}
1185 {\tt
1186 task ref
1190 reference to the object
1191 \vspace{0.3cm}
1192 \vspace{0.3cm}
1193 \vspace{0.3cm}
1194 \subsubsection{RPC name:~get\_record}
1196 {\bf Overview:}
1197 Get a record containing the current state of the given task.
1199 \noindent {\bf Signature:}
1200 \begin{verbatim} (task record) get_record (session_id s, task ref self)\end{verbatim}
1203 \noindent{\bf Arguments:}
1206 \vspace{0.3cm}
1207 \begin{tabular}{|c|c|p{7cm}|}
1208 \hline
1209 {\bf type} & {\bf name} & {\bf description} \\ \hline
1210 {\tt task ref } & self & reference to the object \\ \hline
1212 \end{tabular}
1214 \vspace{0.3cm}
1216 \noindent {\bf Return Type:}
1217 {\tt
1218 task record
1222 all fields from the object
1223 \vspace{0.3cm}
1224 \vspace{0.3cm}
1225 \vspace{0.3cm}
1226 \subsubsection{RPC name:~get\_by\_name\_label}
1228 {\bf Overview:}
1229 Get all the task instances with the given label.
1231 \noindent {\bf Signature:}
1232 \begin{verbatim} ((task ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
1235 \noindent{\bf Arguments:}
1238 \vspace{0.3cm}
1239 \begin{tabular}{|c|c|p{7cm}|}
1240 \hline
1241 {\bf type} & {\bf name} & {\bf description} \\ \hline
1242 {\tt string } & label & label of object to return \\ \hline
1244 \end{tabular}
1246 \vspace{0.3cm}
1248 \noindent {\bf Return Type:}
1249 {\tt
1250 (task ref) Set
1254 references to objects with match names
1255 \vspace{0.3cm}
1256 \vspace{0.3cm}
1257 \vspace{0.3cm}
1259 \vspace{1cm}
1260 \newpage
1261 \section{Class: event}
1262 \subsection{Fields for class: event}
1263 \begin{longtable}{|lllp{0.38\textwidth}|}
1264 \hline
1265 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf event} \\
1266 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em
1267 Asynchronous event registration and handling.}} \\
1268 \hline
1269 Quals & Field & Type & Description \\
1270 \hline
1271 $\mathit{RO}_\mathit{ins}$ & {\tt id} & int & An ID, monotonically increasing, and local to the current session \\
1272 $\mathit{RO}_\mathit{ins}$ & {\tt timestamp} & datetime & The time at which the event occurred \\
1273 $\mathit{RO}_\mathit{ins}$ & {\tt class} & string & The name of the class of the object that changed \\
1274 $\mathit{RO}_\mathit{ins}$ & {\tt operation} & event\_operation & The operation that was performed \\
1275 $\mathit{RO}_\mathit{ins}$ & {\tt ref} & string & A reference to the object that changed \\
1276 $\mathit{RO}_\mathit{ins}$ & {\tt obj\_uuid} & string & The uuid of the object that changed \\
1277 \hline
1278 \end{longtable}
1279 \subsection{RPCs associated with class: event}
1280 \subsubsection{RPC name:~register}
1282 {\bf Overview:}
1283 Registers this session with the event system. Specifying the empty list
1284 will register for all classes.
1286 \noindent {\bf Signature:}
1287 \begin{verbatim} void register (session_id s, string Set classes)\end{verbatim}
1290 \noindent{\bf Arguments:}
1293 \vspace{0.3cm}
1294 \begin{tabular}{|c|c|p{7cm}|}
1295 \hline
1296 {\bf type} & {\bf name} & {\bf description} \\ \hline
1297 {\tt string Set } & classes & register for events for the indicated classes \\ \hline
1299 \end{tabular}
1301 \vspace{0.3cm}
1303 \noindent {\bf Return Type:}
1304 {\tt
1305 void
1310 \vspace{0.3cm}
1311 \vspace{0.3cm}
1312 \vspace{0.3cm}
1313 \subsubsection{RPC name:~unregister}
1315 {\bf Overview:}
1316 Unregisters this session with the event system.
1318 \noindent {\bf Signature:}
1319 \begin{verbatim} void unregister (session_id s, string Set classes)\end{verbatim}
1322 \noindent{\bf Arguments:}
1325 \vspace{0.3cm}
1326 \begin{tabular}{|c|c|p{7cm}|}
1327 \hline
1328 {\bf type} & {\bf name} & {\bf description} \\ \hline
1329 {\tt string Set } & classes & remove this session's registration for the indicated classes \\ \hline
1331 \end{tabular}
1333 \vspace{0.3cm}
1335 \noindent {\bf Return Type:}
1336 {\tt
1337 void
1342 \vspace{0.3cm}
1343 \vspace{0.3cm}
1344 \vspace{0.3cm}
1345 \subsubsection{RPC name:~next}
1347 {\bf Overview:}
1348 Blocking call which returns a (possibly empty) batch of events.
1350 \noindent {\bf Signature:}
1351 \begin{verbatim} ((event record) Set) next (session_id s)\end{verbatim}
1354 \vspace{0.3cm}
1356 \noindent {\bf Return Type:}
1357 {\tt
1358 (event record) Set
1362 the batch of events
1363 \vspace{0.3cm}
1365 \noindent{\bf Possible Error Codes:} {\tt SESSION\_NOT\_REGISTERED}
1367 \vspace{0.6cm}
1369 \vspace{1cm}
1370 \newpage
1371 \section{Class: VM}
1372 \subsection{Fields for class: VM}
1373 \begin{longtable}{|lllp{0.38\textwidth}|}
1374 \hline
1375 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VM} \\
1376 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
1377 virtual machine (or 'guest').}} \\
1378 \hline
1379 Quals & Field & Type & Description \\
1380 \hline
1381 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
1382 $\mathit{RO}_\mathit{run}$ & {\tt power\_state} & vm\_power\_state & Current power state of the machine \\
1383 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
1384 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
1385 $\mathit{RW}$ & {\tt user\_version} & int & a user version number for this machine \\
1386 $\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 \\
1387 $\mathit{RW}$ & {\tt auto\_power\_on} & bool & true if this VM should be started automatically after host boot \\
1388 $\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) \\
1389 $\mathit{RO}_\mathit{run}$ & {\tt resident\_on} & host ref & the host the VM is currently resident on \\
1390 $\mathit{RW}$ & {\tt memory/static\_max} & int & Statically-set (i.e. absolute) maximum (bytes) \\
1391 $\mathit{RW}$ & {\tt memory/dynamic\_max} & int & Dynamic maximum (bytes) \\
1392 $\mathit{RW}$ & {\tt memory/dynamic\_min} & int & Dynamic minimum (bytes) \\
1393 $\mathit{RW}$ & {\tt memory/static\_min} & int & Statically-set (i.e. absolute) mininum (bytes) \\
1394 $\mathit{RW}$ & {\tt VCPUs/params} & (string $\rightarrow$ string) Map & configuration parameters for the selected VCPU policy \\
1395 $\mathit{RW}$ & {\tt VCPUs/max} & int & Max number of VCPUs \\
1396 $\mathit{RW}$ & {\tt VCPUs/at\_startup} & int & Boot number of VCPUs \\
1397 $\mathit{RW}$ & {\tt actions/after\_shutdown} & on\_normal\_exit & action to take after the guest has shutdown itself \\
1398 $\mathit{RW}$ & {\tt actions/after\_reboot} & on\_normal\_exit & action to take after the guest has rebooted itself \\
1399 $\mathit{RW}$ & {\tt actions/after\_crash} & on\_crash\_behaviour & action to take if the guest crashes \\
1400 $\mathit{RO}_\mathit{run}$ & {\tt consoles} & (console ref) Set & virtual console devices \\
1401 $\mathit{RO}_\mathit{run}$ & {\tt VIFs} & (VIF ref) Set & virtual network interfaces \\
1402 $\mathit{RO}_\mathit{run}$ & {\tt VBDs} & (VBD ref) Set & virtual block devices \\
1403 $\mathit{RO}_\mathit{run}$ & {\tt crash\_dumps} & (crashdump ref) Set & crash dumps associated with this VM \\
1404 $\mathit{RO}_\mathit{run}$ & {\tt VTPMs} & (VTPM ref) Set & virtual TPMs \\
1405 $\mathit{RW}$ & {\tt PV/bootloader} & string & name of or path to bootloader \\
1406 $\mathit{RW}$ & {\tt PV/kernel} & string & path to the kernel \\
1407 $\mathit{RW}$ & {\tt PV/ramdisk} & string & path to the initrd \\
1408 $\mathit{RW}$ & {\tt PV/args} & string & kernel command-line arguments \\
1409 $\mathit{RW}$ & {\tt PV/bootloader\_args} & string & miscellaneous arguments for the bootloader \\
1410 $\mathit{RW}$ & {\tt HVM/boot\_policy} & string & HVM boot policy \\
1411 $\mathit{RW}$ & {\tt HVM/boot\_params} & (string $\rightarrow$ string) Map & HVM boot params \\
1412 $\mathit{RW}$ & {\tt platform} & (string $\rightarrow$ string) Map & platform-specific configuration \\
1413 $\mathit{RW}$ & {\tt PCI\_bus} & string & PCI bus path for pass-through devices \\
1414 $\mathit{RW}$ & {\tt other\_config} & (string $\rightarrow$ string) Map & additional configuration \\
1415 $\mathit{RO}_\mathit{run}$ & {\tt domid} & int & domain ID (if available, -1 otherwise) \\
1416 $\mathit{RO}_\mathit{run}$ & {\tt is\_control\_domain} & bool & true if this is a control domain (domain 0 or a driver domain) \\
1417 $\mathit{RO}_\mathit{run}$ & {\tt metrics} & VM\_metrics ref & metrics associated with this VM \\
1418 $\mathit{RO}_\mathit{run}$ & {\tt guest\_metrics} & VM\_guest\_metrics ref & metrics associated with the running guest \\
1419 $\mathit{RO}_\mathit{run}$ & {\tt security/label} & string & the VM's security label \\
1420 \hline
1421 \end{longtable}
1422 \subsection{RPCs associated with class: VM}
1423 \subsubsection{RPC name:~clone}
1425 {\bf Overview:}
1426 Clones the specified VM, making a new VM. Clone automatically exploits the
1427 capabilities of the underlying storage repository in which the VM's disk
1428 images are stored (e.g. Copy on Write). This function can only be called
1429 when the VM is in the Halted State.
1431 \noindent {\bf Signature:}
1432 \begin{verbatim} (VM ref) clone (session_id s, VM ref vm, string new_name)\end{verbatim}
1435 \noindent{\bf Arguments:}
1438 \vspace{0.3cm}
1439 \begin{tabular}{|c|c|p{7cm}|}
1440 \hline
1441 {\bf type} & {\bf name} & {\bf description} \\ \hline
1442 {\tt VM ref } & vm & The VM to be cloned \\ \hline
1444 {\tt string } & new\_name & The name of the cloned VM \\ \hline
1446 \end{tabular}
1448 \vspace{0.3cm}
1450 \noindent {\bf Return Type:}
1451 {\tt
1452 VM ref
1456 The ID of the newly created VM.
1457 \vspace{0.3cm}
1459 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1461 \vspace{0.6cm}
1462 \subsubsection{RPC name:~start}
1464 {\bf Overview:}
1465 Start the specified VM. This function can only be called with the VM is in
1466 the Halted State.
1468 \noindent {\bf Signature:}
1469 \begin{verbatim} void start (session_id s, VM ref vm, bool start_paused)\end{verbatim}
1472 \noindent{\bf Arguments:}
1475 \vspace{0.3cm}
1476 \begin{tabular}{|c|c|p{7cm}|}
1477 \hline
1478 {\bf type} & {\bf name} & {\bf description} \\ \hline
1479 {\tt VM ref } & vm & The VM to start \\ \hline
1481 {\tt bool } & start\_paused & Instantiate VM in paused state if set to true. \\ \hline
1483 \end{tabular}
1485 \vspace{0.3cm}
1487 \noindent {\bf Return Type:}
1488 {\tt
1489 void
1494 \vspace{0.3cm}
1496 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}, {\tt
1497 VM\_HVM\_REQUIRED}
1499 \vspace{0.6cm}
1500 \subsubsection{RPC name:~pause}
1502 {\bf Overview:}
1503 Pause the specified VM. This can only be called when the specified VM is in
1504 the Running state.
1506 \noindent {\bf Signature:}
1507 \begin{verbatim} void pause (session_id s, VM ref vm)\end{verbatim}
1510 \noindent{\bf Arguments:}
1513 \vspace{0.3cm}
1514 \begin{tabular}{|c|c|p{7cm}|}
1515 \hline
1516 {\bf type} & {\bf name} & {\bf description} \\ \hline
1517 {\tt VM ref } & vm & The VM to pause \\ \hline
1519 \end{tabular}
1521 \vspace{0.3cm}
1523 \noindent {\bf Return Type:}
1524 {\tt
1525 void
1530 \vspace{0.3cm}
1532 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1534 \vspace{0.6cm}
1535 \subsubsection{RPC name:~unpause}
1537 {\bf Overview:}
1538 Resume the specified VM. This can only be called when the specified VM is
1539 in the Paused state.
1541 \noindent {\bf Signature:}
1542 \begin{verbatim} void unpause (session_id s, VM ref vm)\end{verbatim}
1545 \noindent{\bf Arguments:}
1548 \vspace{0.3cm}
1549 \begin{tabular}{|c|c|p{7cm}|}
1550 \hline
1551 {\bf type} & {\bf name} & {\bf description} \\ \hline
1552 {\tt VM ref } & vm & The VM to unpause \\ \hline
1554 \end{tabular}
1556 \vspace{0.3cm}
1558 \noindent {\bf Return Type:}
1559 {\tt
1560 void
1565 \vspace{0.3cm}
1567 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1569 \vspace{0.6cm}
1570 \subsubsection{RPC name:~clean\_shutdown}
1572 {\bf Overview:}
1573 Attempt to cleanly shutdown the specified VM. (Note: this may not be
1574 supported---e.g. if a guest agent is not installed).
1576 Once shutdown has been completed perform poweroff action specified in guest
1577 configuration.
1579 This can only be called when the specified VM is in the Running state.
1581 \noindent {\bf Signature:}
1582 \begin{verbatim} void clean_shutdown (session_id s, VM ref vm)\end{verbatim}
1585 \noindent{\bf Arguments:}
1588 \vspace{0.3cm}
1589 \begin{tabular}{|c|c|p{7cm}|}
1590 \hline
1591 {\bf type} & {\bf name} & {\bf description} \\ \hline
1592 {\tt VM ref } & vm & The VM to shutdown \\ \hline
1594 \end{tabular}
1596 \vspace{0.3cm}
1598 \noindent {\bf Return Type:}
1599 {\tt
1600 void
1605 \vspace{0.3cm}
1607 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1609 \vspace{0.6cm}
1610 \subsubsection{RPC name:~clean\_reboot}
1612 {\bf Overview:}
1613 Attempt to cleanly shutdown the specified VM (Note: this may not be
1614 supported---e.g. if a guest agent is not installed).
1616 Once shutdown has been completed perform reboot action specified in guest
1617 configuration.
1619 This can only be called when the specified VM is in the Running state.
1621 \noindent {\bf Signature:}
1622 \begin{verbatim} void clean_reboot (session_id s, VM ref vm)\end{verbatim}
1625 \noindent{\bf Arguments:}
1628 \vspace{0.3cm}
1629 \begin{tabular}{|c|c|p{7cm}|}
1630 \hline
1631 {\bf type} & {\bf name} & {\bf description} \\ \hline
1632 {\tt VM ref } & vm & The VM to shutdown \\ \hline
1634 \end{tabular}
1636 \vspace{0.3cm}
1638 \noindent {\bf Return Type:}
1639 {\tt
1640 void
1645 \vspace{0.3cm}
1647 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1649 \vspace{0.6cm}
1650 \subsubsection{RPC name:~hard\_shutdown}
1652 {\bf Overview:}
1653 Stop executing the specified VM without attempting a clean shutdown. Then
1654 perform poweroff action specified in VM configuration.
1656 \noindent {\bf Signature:}
1657 \begin{verbatim} void hard_shutdown (session_id s, VM ref vm)\end{verbatim}
1660 \noindent{\bf Arguments:}
1663 \vspace{0.3cm}
1664 \begin{tabular}{|c|c|p{7cm}|}
1665 \hline
1666 {\bf type} & {\bf name} & {\bf description} \\ \hline
1667 {\tt VM ref } & vm & The VM to destroy \\ \hline
1669 \end{tabular}
1671 \vspace{0.3cm}
1673 \noindent {\bf Return Type:}
1674 {\tt
1675 void
1680 \vspace{0.3cm}
1682 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1684 \vspace{0.6cm}
1685 \subsubsection{RPC name:~hard\_reboot}
1687 {\bf Overview:}
1688 Stop executing the specified VM without attempting a clean shutdown. Then
1689 perform reboot action specified in VM configuration.
1691 \noindent {\bf Signature:}
1692 \begin{verbatim} void hard_reboot (session_id s, VM ref vm)\end{verbatim}
1695 \noindent{\bf Arguments:}
1698 \vspace{0.3cm}
1699 \begin{tabular}{|c|c|p{7cm}|}
1700 \hline
1701 {\bf type} & {\bf name} & {\bf description} \\ \hline
1702 {\tt VM ref } & vm & The VM to reboot \\ \hline
1704 \end{tabular}
1706 \vspace{0.3cm}
1708 \noindent {\bf Return Type:}
1709 {\tt
1710 void
1715 \vspace{0.3cm}
1716 \vspace{0.3cm}
1717 \vspace{0.3cm}
1718 \subsubsection{RPC name:~suspend}
1720 {\bf Overview:}
1721 Suspend the specified VM to disk. This can only be called when the
1722 specified VM is in the Running state.
1724 \noindent {\bf Signature:}
1725 \begin{verbatim} void suspend (session_id s, VM ref vm)\end{verbatim}
1728 \noindent{\bf Arguments:}
1731 \vspace{0.3cm}
1732 \begin{tabular}{|c|c|p{7cm}|}
1733 \hline
1734 {\bf type} & {\bf name} & {\bf description} \\ \hline
1735 {\tt VM ref } & vm & The VM to suspend \\ \hline
1737 \end{tabular}
1739 \vspace{0.3cm}
1741 \noindent {\bf Return Type:}
1742 {\tt
1743 void
1748 \vspace{0.3cm}
1750 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1752 \vspace{0.6cm}
1753 \subsubsection{RPC name:~resume}
1755 {\bf Overview:}
1756 Awaken the specified VM and resume it. This can only be called when the
1757 specified VM is in the Suspended state.
1759 \noindent {\bf Signature:}
1760 \begin{verbatim} void resume (session_id s, VM ref vm, bool start_paused)\end{verbatim}
1763 \noindent{\bf Arguments:}
1766 \vspace{0.3cm}
1767 \begin{tabular}{|c|c|p{7cm}|}
1768 \hline
1769 {\bf type} & {\bf name} & {\bf description} \\ \hline
1770 {\tt VM ref } & vm & The VM to resume \\ \hline
1772 {\tt bool } & start\_paused & Resume VM in paused state if set to true. \\ \hline
1774 \end{tabular}
1776 \vspace{0.3cm}
1778 \noindent {\bf Return Type:}
1779 {\tt
1780 void
1785 \vspace{0.3cm}
1787 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1789 \vspace{0.6cm}
1790 \subsubsection{RPC name:~set\_VCPUs\_number\_live}
1792 {\bf Overview:}
1793 Set this VM's VCPUs/at\_startup value, and set the same value on the VM, if
1794 running.
1796 \noindent {\bf Signature:}
1797 \begin{verbatim} void set_VCPUs_number_live (session_id s, VM ref self, int nvcpu)\end{verbatim}
1800 \noindent{\bf Arguments:}
1803 \vspace{0.3cm}
1804 \begin{tabular}{|c|c|p{7cm}|}
1805 \hline
1806 {\bf type} & {\bf name} & {\bf description} \\ \hline
1807 {\tt VM ref } & self & The VM \\ \hline
1809 {\tt int } & nvcpu & The number of VCPUs \\ \hline
1811 \end{tabular}
1813 \vspace{0.3cm}
1815 \noindent {\bf Return Type:}
1816 {\tt
1817 void
1822 \vspace{0.3cm}
1823 \vspace{0.3cm}
1824 \vspace{0.3cm}
1825 \subsubsection{RPC name:~add\_to\_VCPUs\_params\_live}
1827 {\bf Overview:}
1828 Add the given key-value pair to VM.VCPUs\_params, and apply that value on
1829 the running VM.
1831 \noindent {\bf Signature:}
1832 \begin{verbatim} void add_to_VCPUs_params_live (session_id s, VM ref self, string key, string value)\end{verbatim}
1835 \noindent{\bf Arguments:}
1838 \vspace{0.3cm}
1839 \begin{tabular}{|c|c|p{7cm}|}
1840 \hline
1841 {\bf type} & {\bf name} & {\bf description} \\ \hline
1842 {\tt VM ref } & self & The VM \\ \hline
1844 {\tt string } & key & The key \\ \hline
1846 {\tt string } & value & The value \\ \hline
1848 \end{tabular}
1850 \vspace{0.3cm}
1852 \noindent {\bf Return Type:}
1853 {\tt
1854 void
1859 \vspace{0.3cm}
1860 \vspace{0.3cm}
1861 \vspace{0.3cm}
1862 \subsubsection{RPC name:~set\_memory\_dynamic\_max\_live}
1864 {\bf Overview:}
1865 Set memory\_dynamic\_max in database and on running VM.
1867 \noindent {\bf Signature:}
1868 \begin{verbatim} void set_memory_dynamic_max_live (session_id s, VM ref self, int max)\end{verbatim}
1871 \noindent{\bf Arguments:}
1874 \vspace{0.3cm}
1875 \begin{tabular}{|c|c|p{7cm}|}
1876 \hline
1877 {\bf type} & {\bf name} & {\bf description} \\ \hline
1878 {\tt VM ref } & self & The VM \\ \hline
1880 {\tt int } & max & The memory\_dynamic\_max value \\ \hline
1882 \end{tabular}
1884 \vspace{0.3cm}
1886 \noindent {\bf Return Type:}
1887 {\tt
1888 void
1893 \vspace{0.3cm}
1894 \vspace{0.3cm}
1895 \vspace{0.3cm}
1896 \subsubsection{RPC name:~set\_memory\_dynamic\_min\_live}
1898 {\bf Overview:}
1899 Set memory\_dynamic\_min in database and on running VM.
1901 \noindent {\bf Signature:}
1902 \begin{verbatim} void set_memory_dynamic_min_live (session_id s, VM ref self, int min)\end{verbatim}
1905 \noindent{\bf Arguments:}
1908 \vspace{0.3cm}
1909 \begin{tabular}{|c|c|p{7cm}|}
1910 \hline
1911 {\bf type} & {\bf name} & {\bf description} \\ \hline
1912 {\tt VM ref } & self & The VM \\ \hline
1914 {\tt int } & min & The memory\_dynamic\_min value \\ \hline
1916 \end{tabular}
1918 \vspace{0.3cm}
1920 \noindent {\bf Return Type:}
1921 {\tt
1922 void
1927 \vspace{0.3cm}
1928 \vspace{0.3cm}
1929 \vspace{0.3cm}
1930 \subsubsection{RPC name:~send\_sysrq}
1932 {\bf Overview:}
1933 Send the given key as a sysrq to this VM. The key is specified as a single
1934 character (a String of length 1). This can only be called when the
1935 specified VM is in the Running state.
1937 \noindent {\bf Signature:}
1938 \begin{verbatim} void send_sysrq (session_id s, VM ref vm, string key)\end{verbatim}
1941 \noindent{\bf Arguments:}
1944 \vspace{0.3cm}
1945 \begin{tabular}{|c|c|p{7cm}|}
1946 \hline
1947 {\bf type} & {\bf name} & {\bf description} \\ \hline
1948 {\tt VM ref } & vm & The VM \\ \hline
1950 {\tt string } & key & The key to send \\ \hline
1952 \end{tabular}
1954 \vspace{0.3cm}
1956 \noindent {\bf Return Type:}
1957 {\tt
1958 void
1963 \vspace{0.3cm}
1965 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1967 \vspace{0.6cm}
1968 \subsubsection{RPC name:~send\_trigger}
1970 {\bf Overview:}
1971 Send the named trigger to this VM. This can only be called when the
1972 specified VM is in the Running state.
1974 \noindent {\bf Signature:}
1975 \begin{verbatim} void send_trigger (session_id s, VM ref vm, string trigger)\end{verbatim}
1978 \noindent{\bf Arguments:}
1981 \vspace{0.3cm}
1982 \begin{tabular}{|c|c|p{7cm}|}
1983 \hline
1984 {\bf type} & {\bf name} & {\bf description} \\ \hline
1985 {\tt VM ref } & vm & The VM \\ \hline
1987 {\tt string } & trigger & The trigger to send \\ \hline
1989 \end{tabular}
1991 \vspace{0.3cm}
1993 \noindent {\bf Return Type:}
1994 {\tt
1995 void
2000 \vspace{0.3cm}
2002 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
2004 \vspace{0.6cm}
2005 \subsubsection{RPC name:~migrate}
2007 {\bf Overview:}
2008 Migrate the VM to another host. This can only be called when the specified
2009 VM is in the Running state.
2011 \noindent {\bf Signature:}
2012 \begin{verbatim} void migrate (session_id s, VM ref vm, string dest, bool live, (string -> string) Map options)\end{verbatim}
2015 \noindent{\bf Arguments:}
2018 \vspace{0.3cm}
2019 \begin{tabular}{|c|c|p{7cm}|}
2020 \hline
2021 {\bf type} & {\bf name} & {\bf description} \\ \hline
2022 {\tt VM ref } & vm & The VM \\ \hline
2024 {\tt string } & dest & The destination host \\ \hline
2026 {\tt bool } & live & Live migration \\ \hline
2028 {\tt (string $\rightarrow$ string) Map } & options & Other parameters \\ \hline
2030 \end{tabular}
2032 \vspace{0.3cm}
2034 \noindent {\bf Return Type:}
2035 {\tt
2036 void
2041 \vspace{0.3cm}
2043 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
2045 \vspace{0.6cm}
2046 \subsubsection{RPC name:~get\_all}
2048 {\bf Overview:}
2049 Return a list of all the VMs known to the system.
2051 \noindent {\bf Signature:}
2052 \begin{verbatim} ((VM ref) Set) get_all (session_id s)\end{verbatim}
2055 \vspace{0.3cm}
2057 \noindent {\bf Return Type:}
2058 {\tt
2059 (VM ref) Set
2063 A list of all the IDs of all the VMs
2064 \vspace{0.3cm}
2065 \vspace{0.3cm}
2066 \vspace{0.3cm}
2067 \subsubsection{RPC name:~get\_uuid}
2069 {\bf Overview:}
2070 Get the uuid field of the given VM.
2072 \noindent {\bf Signature:}
2073 \begin{verbatim} string get_uuid (session_id s, VM ref self)\end{verbatim}
2076 \noindent{\bf Arguments:}
2079 \vspace{0.3cm}
2080 \begin{tabular}{|c|c|p{7cm}|}
2081 \hline
2082 {\bf type} & {\bf name} & {\bf description} \\ \hline
2083 {\tt VM ref } & self & reference to the object \\ \hline
2085 \end{tabular}
2087 \vspace{0.3cm}
2089 \noindent {\bf Return Type:}
2090 {\tt
2091 string
2095 value of the field
2096 \vspace{0.3cm}
2097 \vspace{0.3cm}
2098 \vspace{0.3cm}
2099 \subsubsection{RPC name:~get\_power\_state}
2101 {\bf Overview:}
2102 Get the power\_state field of the given VM.
2104 \noindent {\bf Signature:}
2105 \begin{verbatim} (vm_power_state) get_power_state (session_id s, VM ref self)\end{verbatim}
2108 \noindent{\bf Arguments:}
2111 \vspace{0.3cm}
2112 \begin{tabular}{|c|c|p{7cm}|}
2113 \hline
2114 {\bf type} & {\bf name} & {\bf description} \\ \hline
2115 {\tt VM ref } & self & reference to the object \\ \hline
2117 \end{tabular}
2119 \vspace{0.3cm}
2121 \noindent {\bf Return Type:}
2122 {\tt
2123 vm\_power\_state
2127 value of the field
2128 \vspace{0.3cm}
2129 \vspace{0.3cm}
2130 \vspace{0.3cm}
2131 \subsubsection{RPC name:~get\_name\_label}
2133 {\bf Overview:}
2134 Get the name/label field of the given VM.
2136 \noindent {\bf Signature:}
2137 \begin{verbatim} string get_name_label (session_id s, VM ref self)\end{verbatim}
2140 \noindent{\bf Arguments:}
2143 \vspace{0.3cm}
2144 \begin{tabular}{|c|c|p{7cm}|}
2145 \hline
2146 {\bf type} & {\bf name} & {\bf description} \\ \hline
2147 {\tt VM ref } & self & reference to the object \\ \hline
2149 \end{tabular}
2151 \vspace{0.3cm}
2153 \noindent {\bf Return Type:}
2154 {\tt
2155 string
2159 value of the field
2160 \vspace{0.3cm}
2161 \vspace{0.3cm}
2162 \vspace{0.3cm}
2163 \subsubsection{RPC name:~set\_name\_label}
2165 {\bf Overview:}
2166 Set the name/label field of the given VM.
2168 \noindent {\bf Signature:}
2169 \begin{verbatim} void set_name_label (session_id s, VM ref self, string value)\end{verbatim}
2172 \noindent{\bf Arguments:}
2175 \vspace{0.3cm}
2176 \begin{tabular}{|c|c|p{7cm}|}
2177 \hline
2178 {\bf type} & {\bf name} & {\bf description} \\ \hline
2179 {\tt VM ref } & self & reference to the object \\ \hline
2181 {\tt string } & value & New value to set \\ \hline
2183 \end{tabular}
2185 \vspace{0.3cm}
2187 \noindent {\bf Return Type:}
2188 {\tt
2189 void
2194 \vspace{0.3cm}
2195 \vspace{0.3cm}
2196 \vspace{0.3cm}
2197 \subsubsection{RPC name:~get\_name\_description}
2199 {\bf Overview:}
2200 Get the name/description field of the given VM.
2202 \noindent {\bf Signature:}
2203 \begin{verbatim} string get_name_description (session_id s, VM ref self)\end{verbatim}
2206 \noindent{\bf Arguments:}
2209 \vspace{0.3cm}
2210 \begin{tabular}{|c|c|p{7cm}|}
2211 \hline
2212 {\bf type} & {\bf name} & {\bf description} \\ \hline
2213 {\tt VM ref } & self & reference to the object \\ \hline
2215 \end{tabular}
2217 \vspace{0.3cm}
2219 \noindent {\bf Return Type:}
2220 {\tt
2221 string
2225 value of the field
2226 \vspace{0.3cm}
2227 \vspace{0.3cm}
2228 \vspace{0.3cm}
2229 \subsubsection{RPC name:~set\_name\_description}
2231 {\bf Overview:}
2232 Set the name/description field of the given VM.
2234 \noindent {\bf Signature:}
2235 \begin{verbatim} void set_name_description (session_id s, VM ref self, string value)\end{verbatim}
2238 \noindent{\bf Arguments:}
2241 \vspace{0.3cm}
2242 \begin{tabular}{|c|c|p{7cm}|}
2243 \hline
2244 {\bf type} & {\bf name} & {\bf description} \\ \hline
2245 {\tt VM ref } & self & reference to the object \\ \hline
2247 {\tt string } & value & New value to set \\ \hline
2249 \end{tabular}
2251 \vspace{0.3cm}
2253 \noindent {\bf Return Type:}
2254 {\tt
2255 void
2260 \vspace{0.3cm}
2261 \vspace{0.3cm}
2262 \vspace{0.3cm}
2263 \subsubsection{RPC name:~get\_user\_version}
2265 {\bf Overview:}
2266 Get the user\_version field of the given VM.
2268 \noindent {\bf Signature:}
2269 \begin{verbatim} int get_user_version (session_id s, VM ref self)\end{verbatim}
2272 \noindent{\bf Arguments:}
2275 \vspace{0.3cm}
2276 \begin{tabular}{|c|c|p{7cm}|}
2277 \hline
2278 {\bf type} & {\bf name} & {\bf description} \\ \hline
2279 {\tt VM ref } & self & reference to the object \\ \hline
2281 \end{tabular}
2283 \vspace{0.3cm}
2285 \noindent {\bf Return Type:}
2286 {\tt
2287 int
2291 value of the field
2292 \vspace{0.3cm}
2293 \vspace{0.3cm}
2294 \vspace{0.3cm}
2295 \subsubsection{RPC name:~set\_user\_version}
2297 {\bf Overview:}
2298 Set the user\_version field of the given VM.
2300 \noindent {\bf Signature:}
2301 \begin{verbatim} void set_user_version (session_id s, VM ref self, int value)\end{verbatim}
2304 \noindent{\bf Arguments:}
2307 \vspace{0.3cm}
2308 \begin{tabular}{|c|c|p{7cm}|}
2309 \hline
2310 {\bf type} & {\bf name} & {\bf description} \\ \hline
2311 {\tt VM ref } & self & reference to the object \\ \hline
2313 {\tt int } & value & New value to set \\ \hline
2315 \end{tabular}
2317 \vspace{0.3cm}
2319 \noindent {\bf Return Type:}
2320 {\tt
2321 void
2326 \vspace{0.3cm}
2327 \vspace{0.3cm}
2328 \vspace{0.3cm}
2329 \subsubsection{RPC name:~get\_is\_a\_template}
2331 {\bf Overview:}
2332 Get the is\_a\_template field of the given VM.
2334 \noindent {\bf Signature:}
2335 \begin{verbatim} bool get_is_a_template (session_id s, VM ref self)\end{verbatim}
2338 \noindent{\bf Arguments:}
2341 \vspace{0.3cm}
2342 \begin{tabular}{|c|c|p{7cm}|}
2343 \hline
2344 {\bf type} & {\bf name} & {\bf description} \\ \hline
2345 {\tt VM ref } & self & reference to the object \\ \hline
2347 \end{tabular}
2349 \vspace{0.3cm}
2351 \noindent {\bf Return Type:}
2352 {\tt
2353 bool
2357 value of the field
2358 \vspace{0.3cm}
2359 \vspace{0.3cm}
2360 \vspace{0.3cm}
2361 \subsubsection{RPC name:~set\_is\_a\_template}
2363 {\bf Overview:}
2364 Set the is\_a\_template field of the given VM.
2366 \noindent {\bf Signature:}
2367 \begin{verbatim} void set_is_a_template (session_id s, VM ref self, bool value)\end{verbatim}
2370 \noindent{\bf Arguments:}
2373 \vspace{0.3cm}
2374 \begin{tabular}{|c|c|p{7cm}|}
2375 \hline
2376 {\bf type} & {\bf name} & {\bf description} \\ \hline
2377 {\tt VM ref } & self & reference to the object \\ \hline
2379 {\tt bool } & value & New value to set \\ \hline
2381 \end{tabular}
2383 \vspace{0.3cm}
2385 \noindent {\bf Return Type:}
2386 {\tt
2387 void
2392 \vspace{0.3cm}
2393 \vspace{0.3cm}
2394 \vspace{0.3cm}
2395 \subsubsection{RPC name:~get\_auto\_power\_on}
2397 {\bf Overview:}
2398 Get the auto\_power\_on field of the given VM.
2400 \noindent {\bf Signature:}
2401 \begin{verbatim} bool get_auto_power_on (session_id s, VM ref self)\end{verbatim}
2404 \noindent{\bf Arguments:}
2407 \vspace{0.3cm}
2408 \begin{tabular}{|c|c|p{7cm}|}
2409 \hline
2410 {\bf type} & {\bf name} & {\bf description} \\ \hline
2411 {\tt VM ref } & self & reference to the object \\ \hline
2413 \end{tabular}
2415 \vspace{0.3cm}
2417 \noindent {\bf Return Type:}
2418 {\tt
2419 bool
2423 value of the field
2424 \vspace{0.3cm}
2425 \vspace{0.3cm}
2426 \vspace{0.3cm}
2427 \subsubsection{RPC name:~set\_auto\_power\_on}
2429 {\bf Overview:}
2430 Set the auto\_power\_on field of the given VM.
2432 \noindent {\bf Signature:}
2433 \begin{verbatim} void set_auto_power_on (session_id s, VM ref self, bool value)\end{verbatim}
2436 \noindent{\bf Arguments:}
2439 \vspace{0.3cm}
2440 \begin{tabular}{|c|c|p{7cm}|}
2441 \hline
2442 {\bf type} & {\bf name} & {\bf description} \\ \hline
2443 {\tt VM ref } & self & reference to the object \\ \hline
2445 {\tt bool } & value & New value to set \\ \hline
2447 \end{tabular}
2449 \vspace{0.3cm}
2451 \noindent {\bf Return Type:}
2452 {\tt
2453 void
2458 \vspace{0.3cm}
2459 \vspace{0.3cm}
2460 \vspace{0.3cm}
2461 \subsubsection{RPC name:~get\_suspend\_VDI}
2463 {\bf Overview:}
2464 Get the suspend\_VDI field of the given VM.
2466 \noindent {\bf Signature:}
2467 \begin{verbatim} (VDI ref) get_suspend_VDI (session_id s, VM ref self)\end{verbatim}
2470 \noindent{\bf Arguments:}
2473 \vspace{0.3cm}
2474 \begin{tabular}{|c|c|p{7cm}|}
2475 \hline
2476 {\bf type} & {\bf name} & {\bf description} \\ \hline
2477 {\tt VM ref } & self & reference to the object \\ \hline
2479 \end{tabular}
2481 \vspace{0.3cm}
2483 \noindent {\bf Return Type:}
2484 {\tt
2485 VDI ref
2489 value of the field
2490 \vspace{0.3cm}
2491 \vspace{0.3cm}
2492 \vspace{0.3cm}
2493 \subsubsection{RPC name:~get\_resident\_on}
2495 {\bf Overview:}
2496 Get the resident\_on field of the given VM.
2498 \noindent {\bf Signature:}
2499 \begin{verbatim} (host ref) get_resident_on (session_id s, VM ref self)\end{verbatim}
2502 \noindent{\bf Arguments:}
2505 \vspace{0.3cm}
2506 \begin{tabular}{|c|c|p{7cm}|}
2507 \hline
2508 {\bf type} & {\bf name} & {\bf description} \\ \hline
2509 {\tt VM ref } & self & reference to the object \\ \hline
2511 \end{tabular}
2513 \vspace{0.3cm}
2515 \noindent {\bf Return Type:}
2516 {\tt
2517 host ref
2521 value of the field
2522 \vspace{0.3cm}
2523 \vspace{0.3cm}
2524 \vspace{0.3cm}
2525 \subsubsection{RPC name:~get\_memory\_static\_max}
2527 {\bf Overview:}
2528 Get the memory/static\_max field of the given VM.
2530 \noindent {\bf Signature:}
2531 \begin{verbatim} int get_memory_static_max (session_id s, VM ref self)\end{verbatim}
2534 \noindent{\bf Arguments:}
2537 \vspace{0.3cm}
2538 \begin{tabular}{|c|c|p{7cm}|}
2539 \hline
2540 {\bf type} & {\bf name} & {\bf description} \\ \hline
2541 {\tt VM ref } & self & reference to the object \\ \hline
2543 \end{tabular}
2545 \vspace{0.3cm}
2547 \noindent {\bf Return Type:}
2548 {\tt
2549 int
2553 value of the field
2554 \vspace{0.3cm}
2555 \vspace{0.3cm}
2556 \vspace{0.3cm}
2557 \subsubsection{RPC name:~set\_memory\_static\_max}
2559 {\bf Overview:}
2560 Set the memory/static\_max field of the given VM.
2562 \noindent {\bf Signature:}
2563 \begin{verbatim} void set_memory_static_max (session_id s, VM ref self, int value)\end{verbatim}
2566 \noindent{\bf Arguments:}
2569 \vspace{0.3cm}
2570 \begin{tabular}{|c|c|p{7cm}|}
2571 \hline
2572 {\bf type} & {\bf name} & {\bf description} \\ \hline
2573 {\tt VM ref } & self & reference to the object \\ \hline
2575 {\tt int } & value & New value to set \\ \hline
2577 \end{tabular}
2579 \vspace{0.3cm}
2581 \noindent {\bf Return Type:}
2582 {\tt
2583 void
2588 \vspace{0.3cm}
2589 \vspace{0.3cm}
2590 \vspace{0.3cm}
2591 \subsubsection{RPC name:~get\_memory\_dynamic\_max}
2593 {\bf Overview:}
2594 Get the memory/dynamic\_max field of the given VM.
2596 \noindent {\bf Signature:}
2597 \begin{verbatim} int get_memory_dynamic_max (session_id s, VM ref self)\end{verbatim}
2600 \noindent{\bf Arguments:}
2603 \vspace{0.3cm}
2604 \begin{tabular}{|c|c|p{7cm}|}
2605 \hline
2606 {\bf type} & {\bf name} & {\bf description} \\ \hline
2607 {\tt VM ref } & self & reference to the object \\ \hline
2609 \end{tabular}
2611 \vspace{0.3cm}
2613 \noindent {\bf Return Type:}
2614 {\tt
2615 int
2619 value of the field
2620 \vspace{0.3cm}
2621 \vspace{0.3cm}
2622 \vspace{0.3cm}
2623 \subsubsection{RPC name:~set\_memory\_dynamic\_max}
2625 {\bf Overview:}
2626 Set the memory/dynamic\_max field of the given VM.
2628 \noindent {\bf Signature:}
2629 \begin{verbatim} void set_memory_dynamic_max (session_id s, VM ref self, int value)\end{verbatim}
2632 \noindent{\bf Arguments:}
2635 \vspace{0.3cm}
2636 \begin{tabular}{|c|c|p{7cm}|}
2637 \hline
2638 {\bf type} & {\bf name} & {\bf description} \\ \hline
2639 {\tt VM ref } & self & reference to the object \\ \hline
2641 {\tt int } & value & New value to set \\ \hline
2643 \end{tabular}
2645 \vspace{0.3cm}
2647 \noindent {\bf Return Type:}
2648 {\tt
2649 void
2654 \vspace{0.3cm}
2655 \vspace{0.3cm}
2656 \vspace{0.3cm}
2657 \subsubsection{RPC name:~get\_memory\_dynamic\_min}
2659 {\bf Overview:}
2660 Get the memory/dynamic\_min field of the given VM.
2662 \noindent {\bf Signature:}
2663 \begin{verbatim} int get_memory_dynamic_min (session_id s, VM ref self)\end{verbatim}
2666 \noindent{\bf Arguments:}
2669 \vspace{0.3cm}
2670 \begin{tabular}{|c|c|p{7cm}|}
2671 \hline
2672 {\bf type} & {\bf name} & {\bf description} \\ \hline
2673 {\tt VM ref } & self & reference to the object \\ \hline
2675 \end{tabular}
2677 \vspace{0.3cm}
2679 \noindent {\bf Return Type:}
2680 {\tt
2681 int
2685 value of the field
2686 \vspace{0.3cm}
2687 \vspace{0.3cm}
2688 \vspace{0.3cm}
2689 \subsubsection{RPC name:~set\_memory\_dynamic\_min}
2691 {\bf Overview:}
2692 Set the memory/dynamic\_min field of the given VM.
2694 \noindent {\bf Signature:}
2695 \begin{verbatim} void set_memory_dynamic_min (session_id s, VM ref self, int value)\end{verbatim}
2698 \noindent{\bf Arguments:}
2701 \vspace{0.3cm}
2702 \begin{tabular}{|c|c|p{7cm}|}
2703 \hline
2704 {\bf type} & {\bf name} & {\bf description} \\ \hline
2705 {\tt VM ref } & self & reference to the object \\ \hline
2707 {\tt int } & value & New value to set \\ \hline
2709 \end{tabular}
2711 \vspace{0.3cm}
2713 \noindent {\bf Return Type:}
2714 {\tt
2715 void
2720 \vspace{0.3cm}
2721 \vspace{0.3cm}
2722 \vspace{0.3cm}
2723 \subsubsection{RPC name:~get\_memory\_static\_min}
2725 {\bf Overview:}
2726 Get the memory/static\_min field of the given VM.
2728 \noindent {\bf Signature:}
2729 \begin{verbatim} int get_memory_static_min (session_id s, VM ref self)\end{verbatim}
2732 \noindent{\bf Arguments:}
2735 \vspace{0.3cm}
2736 \begin{tabular}{|c|c|p{7cm}|}
2737 \hline
2738 {\bf type} & {\bf name} & {\bf description} \\ \hline
2739 {\tt VM ref } & self & reference to the object \\ \hline
2741 \end{tabular}
2743 \vspace{0.3cm}
2745 \noindent {\bf Return Type:}
2746 {\tt
2747 int
2751 value of the field
2752 \vspace{0.3cm}
2753 \vspace{0.3cm}
2754 \vspace{0.3cm}
2755 \subsubsection{RPC name:~set\_memory\_static\_min}
2757 {\bf Overview:}
2758 Set the memory/static\_min field of the given VM.
2760 \noindent {\bf Signature:}
2761 \begin{verbatim} void set_memory_static_min (session_id s, VM ref self, int value)\end{verbatim}
2764 \noindent{\bf Arguments:}
2767 \vspace{0.3cm}
2768 \begin{tabular}{|c|c|p{7cm}|}
2769 \hline
2770 {\bf type} & {\bf name} & {\bf description} \\ \hline
2771 {\tt VM ref } & self & reference to the object \\ \hline
2773 {\tt int } & value & New value to set \\ \hline
2775 \end{tabular}
2777 \vspace{0.3cm}
2779 \noindent {\bf Return Type:}
2780 {\tt
2781 void
2786 \vspace{0.3cm}
2787 \vspace{0.3cm}
2788 \vspace{0.3cm}
2789 \subsubsection{RPC name:~get\_VCPUs\_params}
2791 {\bf Overview:}
2792 Get the VCPUs/params field of the given VM.
2794 \noindent {\bf Signature:}
2795 \begin{verbatim} ((string -> string) Map) get_VCPUs_params (session_id s, VM ref self)\end{verbatim}
2798 \noindent{\bf Arguments:}
2801 \vspace{0.3cm}
2802 \begin{tabular}{|c|c|p{7cm}|}
2803 \hline
2804 {\bf type} & {\bf name} & {\bf description} \\ \hline
2805 {\tt VM ref } & self & reference to the object \\ \hline
2807 \end{tabular}
2809 \vspace{0.3cm}
2811 \noindent {\bf Return Type:}
2812 {\tt
2813 (string $\rightarrow$ string) Map
2817 value of the field
2818 \vspace{0.3cm}
2819 \vspace{0.3cm}
2820 \vspace{0.3cm}
2821 \subsubsection{RPC name:~set\_VCPUs\_params}
2823 {\bf Overview:}
2824 Set the VCPUs/params field of the given VM.
2826 \noindent {\bf Signature:}
2827 \begin{verbatim} void set_VCPUs_params (session_id s, VM ref self, (string -> string) Map value)\end{verbatim}
2830 \noindent{\bf Arguments:}
2833 \vspace{0.3cm}
2834 \begin{tabular}{|c|c|p{7cm}|}
2835 \hline
2836 {\bf type} & {\bf name} & {\bf description} \\ \hline
2837 {\tt VM ref } & self & reference to the object \\ \hline
2839 {\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline
2841 \end{tabular}
2843 \vspace{0.3cm}
2845 \noindent {\bf Return Type:}
2846 {\tt
2847 void
2852 \vspace{0.3cm}
2853 \vspace{0.3cm}
2854 \vspace{0.3cm}
2855 \subsubsection{RPC name:~add\_to\_VCPUs\_params}
2857 {\bf Overview:}
2858 Add the given key-value pair to the VCPUs/params field of the given VM.
2860 \noindent {\bf Signature:}
2861 \begin{verbatim} void add_to_VCPUs_params (session_id s, VM ref self, string key, string value)\end{verbatim}
2864 \noindent{\bf Arguments:}
2867 \vspace{0.3cm}
2868 \begin{tabular}{|c|c|p{7cm}|}
2869 \hline
2870 {\bf type} & {\bf name} & {\bf description} \\ \hline
2871 {\tt VM ref } & self & reference to the object \\ \hline
2873 {\tt string } & key & Key to add \\ \hline
2875 {\tt string } & value & Value to add \\ \hline
2877 \end{tabular}
2879 \vspace{0.3cm}
2881 \noindent {\bf Return Type:}
2882 {\tt
2883 void
2888 \vspace{0.3cm}
2889 \vspace{0.3cm}
2890 \vspace{0.3cm}
2891 \subsubsection{RPC name:~remove\_from\_VCPUs\_params}
2893 {\bf Overview:}
2894 Remove the given key and its corresponding value from the VCPUs/params
2895 field of the given VM. If the key is not in that Map, then do nothing.
2897 \noindent {\bf Signature:}
2898 \begin{verbatim} void remove_from_VCPUs_params (session_id s, VM ref self, string key)\end{verbatim}
2901 \noindent{\bf Arguments:}
2904 \vspace{0.3cm}
2905 \begin{tabular}{|c|c|p{7cm}|}
2906 \hline
2907 {\bf type} & {\bf name} & {\bf description} \\ \hline
2908 {\tt VM ref } & self & reference to the object \\ \hline
2910 {\tt string } & key & Key to remove \\ \hline
2912 \end{tabular}
2914 \vspace{0.3cm}
2916 \noindent {\bf Return Type:}
2917 {\tt
2918 void
2923 \vspace{0.3cm}
2924 \vspace{0.3cm}
2925 \vspace{0.3cm}
2926 \subsubsection{RPC name:~get\_VCPUs\_max}
2928 {\bf Overview:}
2929 Get the VCPUs/max field of the given VM.
2931 \noindent {\bf Signature:}
2932 \begin{verbatim} int get_VCPUs_max (session_id s, VM ref self)\end{verbatim}
2935 \noindent{\bf Arguments:}
2938 \vspace{0.3cm}
2939 \begin{tabular}{|c|c|p{7cm}|}
2940 \hline
2941 {\bf type} & {\bf name} & {\bf description} \\ \hline
2942 {\tt VM ref } & self & reference to the object \\ \hline
2944 \end{tabular}
2946 \vspace{0.3cm}
2948 \noindent {\bf Return Type:}
2949 {\tt
2950 int
2954 value of the field
2955 \vspace{0.3cm}
2956 \vspace{0.3cm}
2957 \vspace{0.3cm}
2958 \subsubsection{RPC name:~set\_VCPUs\_max}
2960 {\bf Overview:}
2961 Set the VCPUs/max field of the given VM.
2963 \noindent {\bf Signature:}
2964 \begin{verbatim} void set_VCPUs_max (session_id s, VM ref self, int value)\end{verbatim}
2967 \noindent{\bf Arguments:}
2970 \vspace{0.3cm}
2971 \begin{tabular}{|c|c|p{7cm}|}
2972 \hline
2973 {\bf type} & {\bf name} & {\bf description} \\ \hline
2974 {\tt VM ref } & self & reference to the object \\ \hline
2976 {\tt int } & value & New value to set \\ \hline
2978 \end{tabular}
2980 \vspace{0.3cm}
2982 \noindent {\bf Return Type:}
2983 {\tt
2984 void
2989 \vspace{0.3cm}
2990 \vspace{0.3cm}
2991 \vspace{0.3cm}
2992 \subsubsection{RPC name:~get\_VCPUs\_at\_startup}
2994 {\bf Overview:}
2995 Get the VCPUs/at\_startup field of the given VM.
2997 \noindent {\bf Signature:}
2998 \begin{verbatim} int get_VCPUs_at_startup (session_id s, VM ref self)\end{verbatim}
3001 \noindent{\bf Arguments:}
3004 \vspace{0.3cm}
3005 \begin{tabular}{|c|c|p{7cm}|}
3006 \hline
3007 {\bf type} & {\bf name} & {\bf description} \\ \hline
3008 {\tt VM ref } & self & reference to the object \\ \hline
3010 \end{tabular}
3012 \vspace{0.3cm}
3014 \noindent {\bf Return Type:}
3015 {\tt
3016 int
3020 value of the field
3021 \vspace{0.3cm}
3022 \vspace{0.3cm}
3023 \vspace{0.3cm}
3024 \subsubsection{RPC name:~set\_VCPUs\_at\_startup}
3026 {\bf Overview:}
3027 Set the VCPUs/at\_startup field of the given VM.
3029 \noindent {\bf Signature:}
3030 \begin{verbatim} void set_VCPUs_at_startup (session_id s, VM ref self, int value)\end{verbatim}
3033 \noindent{\bf Arguments:}
3036 \vspace{0.3cm}
3037 \begin{tabular}{|c|c|p{7cm}|}
3038 \hline
3039 {\bf type} & {\bf name} & {\bf description} \\ \hline
3040 {\tt VM ref } & self & reference to the object \\ \hline
3042 {\tt int } & value & New value to set \\ \hline
3044 \end{tabular}
3046 \vspace{0.3cm}
3048 \noindent {\bf Return Type:}
3049 {\tt
3050 void
3055 \vspace{0.3cm}
3056 \vspace{0.3cm}
3057 \vspace{0.3cm}
3058 \subsubsection{RPC name:~get\_actions\_after\_shutdown}
3060 {\bf Overview:}
3061 Get the actions/after\_shutdown field of the given VM.
3063 \noindent {\bf Signature:}
3064 \begin{verbatim} (on_normal_exit) get_actions_after_shutdown (session_id s, VM ref self)\end{verbatim}
3067 \noindent{\bf Arguments:}
3070 \vspace{0.3cm}
3071 \begin{tabular}{|c|c|p{7cm}|}
3072 \hline
3073 {\bf type} & {\bf name} & {\bf description} \\ \hline
3074 {\tt VM ref } & self & reference to the object \\ \hline
3076 \end{tabular}
3078 \vspace{0.3cm}
3080 \noindent {\bf Return Type:}
3081 {\tt
3082 on\_normal\_exit
3086 value of the field
3087 \vspace{0.3cm}
3088 \vspace{0.3cm}
3089 \vspace{0.3cm}
3090 \subsubsection{RPC name:~set\_actions\_after\_shutdown}
3092 {\bf Overview:}
3093 Set the actions/after\_shutdown field of the given VM.
3095 \noindent {\bf Signature:}
3096 \begin{verbatim} void set_actions_after_shutdown (session_id s, VM ref self, on_normal_exit value)\end{verbatim}
3099 \noindent{\bf Arguments:}
3102 \vspace{0.3cm}
3103 \begin{tabular}{|c|c|p{7cm}|}
3104 \hline
3105 {\bf type} & {\bf name} & {\bf description} \\ \hline
3106 {\tt VM ref } & self & reference to the object \\ \hline
3108 {\tt on\_normal\_exit } & value & New value to set \\ \hline
3110 \end{tabular}
3112 \vspace{0.3cm}
3114 \noindent {\bf Return Type:}
3115 {\tt
3116 void
3121 \vspace{0.3cm}
3122 \vspace{0.3cm}
3123 \vspace{0.3cm}
3124 \subsubsection{RPC name:~get\_actions\_after\_reboot}
3126 {\bf Overview:}
3127 Get the actions/after\_reboot field of the given VM.
3129 \noindent {\bf Signature:}
3130 \begin{verbatim} (on_normal_exit) get_actions_after_reboot (session_id s, VM ref self)\end{verbatim}
3133 \noindent{\bf Arguments:}
3136 \vspace{0.3cm}
3137 \begin{tabular}{|c|c|p{7cm}|}
3138 \hline
3139 {\bf type} & {\bf name} & {\bf description} \\ \hline
3140 {\tt VM ref } & self & reference to the object \\ \hline
3142 \end{tabular}
3144 \vspace{0.3cm}
3146 \noindent {\bf Return Type:}
3147 {\tt
3148 on\_normal\_exit
3152 value of the field
3153 \vspace{0.3cm}
3154 \vspace{0.3cm}
3155 \vspace{0.3cm}
3156 \subsubsection{RPC name:~set\_actions\_after\_reboot}
3158 {\bf Overview:}
3159 Set the actions/after\_reboot field of the given VM.
3161 \noindent {\bf Signature:}
3162 \begin{verbatim} void set_actions_after_reboot (session_id s, VM ref self, on_normal_exit value)\end{verbatim}
3165 \noindent{\bf Arguments:}
3168 \vspace{0.3cm}
3169 \begin{tabular}{|c|c|p{7cm}|}
3170 \hline
3171 {\bf type} & {\bf name} & {\bf description} \\ \hline
3172 {\tt VM ref } & self & reference to the object \\ \hline
3174 {\tt on\_normal\_exit } & value & New value to set \\ \hline
3176 \end{tabular}
3178 \vspace{0.3cm}
3180 \noindent {\bf Return Type:}
3181 {\tt
3182 void
3187 \vspace{0.3cm}
3188 \vspace{0.3cm}
3189 \vspace{0.3cm}
3190 \subsubsection{RPC name:~get\_actions\_after\_crash}
3192 {\bf Overview:}
3193 Get the actions/after\_crash field of the given VM.
3195 \noindent {\bf Signature:}
3196 \begin{verbatim} (on_crash_behaviour) get_actions_after_crash (session_id s, VM ref self)\end{verbatim}
3199 \noindent{\bf Arguments:}
3202 \vspace{0.3cm}
3203 \begin{tabular}{|c|c|p{7cm}|}
3204 \hline
3205 {\bf type} & {\bf name} & {\bf description} \\ \hline
3206 {\tt VM ref } & self & reference to the object \\ \hline
3208 \end{tabular}
3210 \vspace{0.3cm}
3212 \noindent {\bf Return Type:}
3213 {\tt
3214 on\_crash\_behaviour
3218 value of the field
3219 \vspace{0.3cm}
3220 \vspace{0.3cm}
3221 \vspace{0.3cm}
3222 \subsubsection{RPC name:~set\_actions\_after\_crash}
3224 {\bf Overview:}
3225 Set the actions/after\_crash field of the given VM.
3227 \noindent {\bf Signature:}
3228 \begin{verbatim} void set_actions_after_crash (session_id s, VM ref self, on_crash_behaviour value)\end{verbatim}
3231 \noindent{\bf Arguments:}
3234 \vspace{0.3cm}
3235 \begin{tabular}{|c|c|p{7cm}|}
3236 \hline
3237 {\bf type} & {\bf name} & {\bf description} \\ \hline
3238 {\tt VM ref } & self & reference to the object \\ \hline
3240 {\tt on\_crash\_behaviour } & value & New value to set \\ \hline
3242 \end{tabular}
3244 \vspace{0.3cm}
3246 \noindent {\bf Return Type:}
3247 {\tt
3248 void
3253 \vspace{0.3cm}
3254 \vspace{0.3cm}
3255 \vspace{0.3cm}
3256 \subsubsection{RPC name:~get\_consoles}
3258 {\bf Overview:}
3259 Get the consoles field of the given VM.
3261 \noindent {\bf Signature:}
3262 \begin{verbatim} ((console ref) Set) get_consoles (session_id s, VM ref self)\end{verbatim}
3265 \noindent{\bf Arguments:}
3268 \vspace{0.3cm}
3269 \begin{tabular}{|c|c|p{7cm}|}
3270 \hline
3271 {\bf type} & {\bf name} & {\bf description} \\ \hline
3272 {\tt VM ref } & self & reference to the object \\ \hline
3274 \end{tabular}
3276 \vspace{0.3cm}
3278 \noindent {\bf Return Type:}
3279 {\tt
3280 (console ref) Set
3284 value of the field
3285 \vspace{0.3cm}
3286 \vspace{0.3cm}
3287 \vspace{0.3cm}
3288 \subsubsection{RPC name:~get\_VIFs}
3290 {\bf Overview:}
3291 Get the VIFs field of the given VM.
3293 \noindent {\bf Signature:}
3294 \begin{verbatim} ((VIF ref) Set) get_VIFs (session_id s, VM ref self)\end{verbatim}
3297 \noindent{\bf Arguments:}
3300 \vspace{0.3cm}
3301 \begin{tabular}{|c|c|p{7cm}|}
3302 \hline
3303 {\bf type} & {\bf name} & {\bf description} \\ \hline
3304 {\tt VM ref } & self & reference to the object \\ \hline
3306 \end{tabular}
3308 \vspace{0.3cm}
3310 \noindent {\bf Return Type:}
3311 {\tt
3312 (VIF ref) Set
3316 value of the field
3317 \vspace{0.3cm}
3318 \vspace{0.3cm}
3319 \vspace{0.3cm}
3320 \subsubsection{RPC name:~get\_VBDs}
3322 {\bf Overview:}
3323 Get the VBDs field of the given VM.
3325 \noindent {\bf Signature:}
3326 \begin{verbatim} ((VBD ref) Set) get_VBDs (session_id s, VM ref self)\end{verbatim}
3329 \noindent{\bf Arguments:}
3332 \vspace{0.3cm}
3333 \begin{tabular}{|c|c|p{7cm}|}
3334 \hline
3335 {\bf type} & {\bf name} & {\bf description} \\ \hline
3336 {\tt VM ref } & self & reference to the object \\ \hline
3338 \end{tabular}
3340 \vspace{0.3cm}
3342 \noindent {\bf Return Type:}
3343 {\tt
3344 (VBD ref) Set
3348 value of the field
3349 \vspace{0.3cm}
3350 \vspace{0.3cm}
3351 \vspace{0.3cm}
3352 \subsubsection{RPC name:~get\_crash\_dumps}
3354 {\bf Overview:}
3355 Get the crash\_dumps field of the given VM.
3357 \noindent {\bf Signature:}
3358 \begin{verbatim} ((crashdump ref) Set) get_crash_dumps (session_id s, VM ref self)\end{verbatim}
3361 \noindent{\bf Arguments:}
3364 \vspace{0.3cm}
3365 \begin{tabular}{|c|c|p{7cm}|}
3366 \hline
3367 {\bf type} & {\bf name} & {\bf description} \\ \hline
3368 {\tt VM ref } & self & reference to the object \\ \hline
3370 \end{tabular}
3372 \vspace{0.3cm}
3374 \noindent {\bf Return Type:}
3375 {\tt
3376 (crashdump ref) Set
3380 value of the field
3381 \vspace{0.3cm}
3382 \vspace{0.3cm}
3383 \vspace{0.3cm}
3384 \subsubsection{RPC name:~get\_VTPMs}
3386 {\bf Overview:}
3387 Get the VTPMs field of the given VM.
3389 \noindent {\bf Signature:}
3390 \begin{verbatim} ((VTPM ref) Set) get_VTPMs (session_id s, VM ref self)\end{verbatim}
3393 \noindent{\bf Arguments:}
3396 \vspace{0.3cm}
3397 \begin{tabular}{|c|c|p{7cm}|}
3398 \hline
3399 {\bf type} & {\bf name} & {\bf description} \\ \hline
3400 {\tt VM ref } & self & reference to the object \\ \hline
3402 \end{tabular}
3404 \vspace{0.3cm}
3406 \noindent {\bf Return Type:}
3407 {\tt
3408 (VTPM ref) Set
3412 value of the field
3413 \vspace{0.3cm}
3414 \vspace{0.3cm}
3415 \vspace{0.3cm}
3416 \subsubsection{RPC name:~get\_PV\_bootloader}
3418 {\bf Overview:}
3419 Get the PV/bootloader field of the given VM.
3421 \noindent {\bf Signature:}
3422 \begin{verbatim} string get_PV_bootloader (session_id s, VM ref self)\end{verbatim}
3425 \noindent{\bf Arguments:}
3428 \vspace{0.3cm}
3429 \begin{tabular}{|c|c|p{7cm}|}
3430 \hline
3431 {\bf type} & {\bf name} & {\bf description} \\ \hline
3432 {\tt VM ref } & self & reference to the object \\ \hline
3434 \end{tabular}
3436 \vspace{0.3cm}
3438 \noindent {\bf Return Type:}
3439 {\tt
3440 string
3444 value of the field
3445 \vspace{0.3cm}
3446 \vspace{0.3cm}
3447 \vspace{0.3cm}
3448 \subsubsection{RPC name:~set\_PV\_bootloader}
3450 {\bf Overview:}
3451 Set the PV/bootloader field of the given VM.
3453 \noindent {\bf Signature:}
3454 \begin{verbatim} void set_PV_bootloader (session_id s, VM ref self, string value)\end{verbatim}
3457 \noindent{\bf Arguments:}
3460 \vspace{0.3cm}
3461 \begin{tabular}{|c|c|p{7cm}|}
3462 \hline
3463 {\bf type} & {\bf name} & {\bf description} \\ \hline
3464 {\tt VM ref } & self & reference to the object \\ \hline
3466 {\tt string } & value & New value to set \\ \hline
3468 \end{tabular}
3470 \vspace{0.3cm}
3472 \noindent {\bf Return Type:}
3473 {\tt
3474 void
3479 \vspace{0.3cm}
3480 \vspace{0.3cm}
3481 \vspace{0.3cm}
3482 \subsubsection{RPC name:~get\_PV\_kernel}
3484 {\bf Overview:}
3485 Get the PV/kernel field of the given VM.
3487 \noindent {\bf Signature:}
3488 \begin{verbatim} string get_PV_kernel (session_id s, VM ref self)\end{verbatim}
3491 \noindent{\bf Arguments:}
3494 \vspace{0.3cm}
3495 \begin{tabular}{|c|c|p{7cm}|}
3496 \hline
3497 {\bf type} & {\bf name} & {\bf description} \\ \hline
3498 {\tt VM ref } & self & reference to the object \\ \hline
3500 \end{tabular}
3502 \vspace{0.3cm}
3504 \noindent {\bf Return Type:}
3505 {\tt
3506 string
3510 value of the field
3511 \vspace{0.3cm}
3512 \vspace{0.3cm}
3513 \vspace{0.3cm}
3514 \subsubsection{RPC name:~set\_PV\_kernel}
3516 {\bf Overview:}
3517 Set the PV/kernel field of the given VM.
3519 \noindent {\bf Signature:}
3520 \begin{verbatim} void set_PV_kernel (session_id s, VM ref self, string value)\end{verbatim}
3523 \noindent{\bf Arguments:}
3526 \vspace{0.3cm}
3527 \begin{tabular}{|c|c|p{7cm}|}
3528 \hline
3529 {\bf type} & {\bf name} & {\bf description} \\ \hline
3530 {\tt VM ref } & self & reference to the object \\ \hline
3532 {\tt string } & value & New value to set \\ \hline
3534 \end{tabular}
3536 \vspace{0.3cm}
3538 \noindent {\bf Return Type:}
3539 {\tt
3540 void
3545 \vspace{0.3cm}
3546 \vspace{0.3cm}
3547 \vspace{0.3cm}
3548 \subsubsection{RPC name:~get\_PV\_ramdisk}
3550 {\bf Overview:}
3551 Get the PV/ramdisk field of the given VM.
3553 \noindent {\bf Signature:}
3554 \begin{verbatim} string get_PV_ramdisk (session_id s, VM ref self)\end{verbatim}
3557 \noindent{\bf Arguments:}
3560 \vspace{0.3cm}
3561 \begin{tabular}{|c|c|p{7cm}|}
3562 \hline
3563 {\bf type} & {\bf name} & {\bf description} \\ \hline
3564 {\tt VM ref } & self & reference to the object \\ \hline
3566 \end{tabular}
3568 \vspace{0.3cm}
3570 \noindent {\bf Return Type:}
3571 {\tt
3572 string
3576 value of the field
3577 \vspace{0.3cm}
3578 \vspace{0.3cm}
3579 \vspace{0.3cm}
3580 \subsubsection{RPC name:~set\_PV\_ramdisk}
3582 {\bf Overview:}
3583 Set the PV/ramdisk field of the given VM.
3585 \noindent {\bf Signature:}
3586 \begin{verbatim} void set_PV_ramdisk (session_id s, VM ref self, string value)\end{verbatim}
3589 \noindent{\bf Arguments:}
3592 \vspace{0.3cm}
3593 \begin{tabular}{|c|c|p{7cm}|}
3594 \hline
3595 {\bf type} & {\bf name} & {\bf description} \\ \hline
3596 {\tt VM ref } & self & reference to the object \\ \hline
3598 {\tt string } & value & New value to set \\ \hline
3600 \end{tabular}
3602 \vspace{0.3cm}
3604 \noindent {\bf Return Type:}
3605 {\tt
3606 void
3611 \vspace{0.3cm}
3612 \vspace{0.3cm}
3613 \vspace{0.3cm}
3614 \subsubsection{RPC name:~get\_PV\_args}
3616 {\bf Overview:}
3617 Get the PV/args field of the given VM.
3619 \noindent {\bf Signature:}
3620 \begin{verbatim} string get_PV_args (session_id s, VM ref self)\end{verbatim}
3623 \noindent{\bf Arguments:}
3626 \vspace{0.3cm}
3627 \begin{tabular}{|c|c|p{7cm}|}
3628 \hline
3629 {\bf type} & {\bf name} & {\bf description} \\ \hline
3630 {\tt VM ref } & self & reference to the object \\ \hline
3632 \end{tabular}
3634 \vspace{0.3cm}
3636 \noindent {\bf Return Type:}
3637 {\tt
3638 string
3642 value of the field
3643 \vspace{0.3cm}
3644 \vspace{0.3cm}
3645 \vspace{0.3cm}
3646 \subsubsection{RPC name:~set\_PV\_args}
3648 {\bf Overview:}
3649 Set the PV/args field of the given VM.
3651 \noindent {\bf Signature:}
3652 \begin{verbatim} void set_PV_args (session_id s, VM ref self, string value)\end{verbatim}
3655 \noindent{\bf Arguments:}
3658 \vspace{0.3cm}
3659 \begin{tabular}{|c|c|p{7cm}|}
3660 \hline
3661 {\bf type} & {\bf name} & {\bf description} \\ \hline
3662 {\tt VM ref } & self & reference to the object \\ \hline
3664 {\tt string } & value & New value to set \\ \hline
3666 \end{tabular}
3668 \vspace{0.3cm}
3670 \noindent {\bf Return Type:}
3671 {\tt
3672 void
3677 \vspace{0.3cm}
3678 \vspace{0.3cm}
3679 \vspace{0.3cm}
3680 \subsubsection{RPC name:~get\_PV\_bootloader\_args}
3682 {\bf Overview:}
3683 Get the PV/bootloader\_args field of the given VM.
3685 \noindent {\bf Signature:}
3686 \begin{verbatim} string get_PV_bootloader_args (session_id s, VM ref self)\end{verbatim}
3689 \noindent{\bf Arguments:}
3692 \vspace{0.3cm}
3693 \begin{tabular}{|c|c|p{7cm}|}
3694 \hline
3695 {\bf type} & {\bf name} & {\bf description} \\ \hline
3696 {\tt VM ref } & self & reference to the object \\ \hline
3698 \end{tabular}
3700 \vspace{0.3cm}
3702 \noindent {\bf Return Type:}
3703 {\tt
3704 string
3708 value of the field
3709 \vspace{0.3cm}
3710 \vspace{0.3cm}
3711 \vspace{0.3cm}
3712 \subsubsection{RPC name:~set\_PV\_bootloader\_args}
3714 {\bf Overview:}
3715 Set the PV/bootloader\_args field of the given VM.
3717 \noindent {\bf Signature:}
3718 \begin{verbatim} void set_PV_bootloader_args (session_id s, VM ref self, string value)\end{verbatim}
3721 \noindent{\bf Arguments:}
3724 \vspace{0.3cm}
3725 \begin{tabular}{|c|c|p{7cm}|}
3726 \hline
3727 {\bf type} & {\bf name} & {\bf description} \\ \hline
3728 {\tt VM ref } & self & reference to the object \\ \hline
3730 {\tt string } & value & New value to set \\ \hline
3732 \end{tabular}
3734 \vspace{0.3cm}
3736 \noindent {\bf Return Type:}
3737 {\tt
3738 void
3743 \vspace{0.3cm}
3744 \vspace{0.3cm}
3745 \vspace{0.3cm}
3746 \subsubsection{RPC name:~get\_HVM\_boot\_policy}
3748 {\bf Overview:}
3749 Get the HVM/boot\_policy field of the given VM.
3751 \noindent {\bf Signature:}
3752 \begin{verbatim} string get_HVM_boot_policy (session_id s, VM ref self)\end{verbatim}
3755 \noindent{\bf Arguments:}
3758 \vspace{0.3cm}
3759 \begin{tabular}{|c|c|p{7cm}|}
3760 \hline
3761 {\bf type} & {\bf name} & {\bf description} \\ \hline
3762 {\tt VM ref } & self & reference to the object \\ \hline
3764 \end{tabular}
3766 \vspace{0.3cm}
3768 \noindent {\bf Return Type:}
3769 {\tt
3770 string
3774 value of the field
3775 \vspace{0.3cm}
3776 \vspace{0.3cm}
3777 \vspace{0.3cm}
3778 \subsubsection{RPC name:~set\_HVM\_boot\_policy}
3780 {\bf Overview:}
3781 Set the HVM/boot\_policy field of the given VM.
3783 \noindent {\bf Signature:}
3784 \begin{verbatim} void set_HVM_boot_policy (session_id s, VM ref self, string value)\end{verbatim}
3787 \noindent{\bf Arguments:}
3790 \vspace{0.3cm}
3791 \begin{tabular}{|c|c|p{7cm}|}
3792 \hline
3793 {\bf type} & {\bf name} & {\bf description} \\ \hline
3794 {\tt VM ref } & self & reference to the object \\ \hline
3796 {\tt string } & value & New value to set \\ \hline
3798 \end{tabular}
3800 \vspace{0.3cm}
3802 \noindent {\bf Return Type:}
3803 {\tt
3804 void
3809 \vspace{0.3cm}
3810 \vspace{0.3cm}
3811 \vspace{0.3cm}
3812 \subsubsection{RPC name:~get\_HVM\_boot\_params}
3814 {\bf Overview:}
3815 Get the HVM/boot\_params field of the given VM.
3817 \noindent {\bf Signature:}
3818 \begin{verbatim} ((string -> string) Map) get_HVM_boot_params (session_id s, VM ref self)\end{verbatim}
3821 \noindent{\bf Arguments:}
3824 \vspace{0.3cm}
3825 \begin{tabular}{|c|c|p{7cm}|}
3826 \hline
3827 {\bf type} & {\bf name} & {\bf description} \\ \hline
3828 {\tt VM ref } & self & reference to the object \\ \hline
3830 \end{tabular}
3832 \vspace{0.3cm}
3834 \noindent {\bf Return Type:}
3835 {\tt
3836 (string $\rightarrow$ string) Map
3840 value of the field
3841 \vspace{0.3cm}
3842 \vspace{0.3cm}
3843 \vspace{0.3cm}
3844 \subsubsection{RPC name:~set\_HVM\_boot\_params}
3846 {\bf Overview:}
3847 Set the HVM/boot\_params field of the given VM.
3849 \noindent {\bf Signature:}
3850 \begin{verbatim} void set_HVM_boot_params (session_id s, VM ref self, (string -> string) Map value)\end{verbatim}
3853 \noindent{\bf Arguments:}
3856 \vspace{0.3cm}
3857 \begin{tabular}{|c|c|p{7cm}|}
3858 \hline
3859 {\bf type} & {\bf name} & {\bf description} \\ \hline
3860 {\tt VM ref } & self & reference to the object \\ \hline
3862 {\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline
3864 \end{tabular}
3866 \vspace{0.3cm}
3868 \noindent {\bf Return Type:}
3869 {\tt
3870 void
3875 \vspace{0.3cm}
3876 \vspace{0.3cm}
3877 \vspace{0.3cm}
3878 \subsubsection{RPC name:~add\_to\_HVM\_boot\_params}
3880 {\bf Overview:}
3881 Add the given key-value pair to the HVM/boot\_params field of the given VM.
3883 \noindent {\bf Signature:}
3884 \begin{verbatim} void add_to_HVM_boot_params (session_id s, VM ref self, string key, string value)\end{verbatim}
3887 \noindent{\bf Arguments:}
3890 \vspace{0.3cm}
3891 \begin{tabular}{|c|c|p{7cm}|}
3892 \hline
3893 {\bf type} & {\bf name} & {\bf description} \\ \hline
3894 {\tt VM ref } & self & reference to the object \\ \hline
3896 {\tt string } & key & Key to add \\ \hline
3898 {\tt string } & value & Value to add \\ \hline
3900 \end{tabular}
3902 \vspace{0.3cm}
3904 \noindent {\bf Return Type:}
3905 {\tt
3906 void
3911 \vspace{0.3cm}
3912 \vspace{0.3cm}
3913 \vspace{0.3cm}
3914 \subsubsection{RPC name:~remove\_from\_HVM\_boot\_params}
3916 {\bf Overview:}
3917 Remove the given key and its corresponding value from the HVM/boot\_params
3918 field of the given VM. If the key is not in that Map, then do nothing.
3920 \noindent {\bf Signature:}
3921 \begin{verbatim} void remove_from_HVM_boot_params (session_id s, VM ref self, string key)\end{verbatim}
3924 \noindent{\bf Arguments:}
3927 \vspace{0.3cm}
3928 \begin{tabular}{|c|c|p{7cm}|}
3929 \hline
3930 {\bf type} & {\bf name} & {\bf description} \\ \hline
3931 {\tt VM ref } & self & reference to the object \\ \hline
3933 {\tt string } & key & Key to remove \\ \hline
3935 \end{tabular}
3937 \vspace{0.3cm}
3939 \noindent {\bf Return Type:}
3940 {\tt
3941 void
3946 \vspace{0.3cm}
3947 \vspace{0.3cm}
3948 \vspace{0.3cm}
3949 \subsubsection{RPC name:~get\_platform}
3951 {\bf Overview:}
3952 Get the platform field of the given VM.
3954 \noindent {\bf Signature:}
3955 \begin{verbatim} ((string -> string) Map) get_platform (session_id s, VM ref self)\end{verbatim}
3958 \noindent{\bf Arguments:}
3961 \vspace{0.3cm}
3962 \begin{tabular}{|c|c|p{7cm}|}
3963 \hline
3964 {\bf type} & {\bf name} & {\bf description} \\ \hline
3965 {\tt VM ref } & self & reference to the object \\ \hline
3967 \end{tabular}
3969 \vspace{0.3cm}
3971 \noindent {\bf Return Type:}
3972 {\tt
3973 (string $\rightarrow$ string) Map
3977 value of the field
3978 \vspace{0.3cm}
3979 \vspace{0.3cm}
3980 \vspace{0.3cm}
3981 \subsubsection{RPC name:~set\_platform}
3983 {\bf Overview:}
3984 Set the platform field of the given VM.
3986 \noindent {\bf Signature:}
3987 \begin{verbatim} void set_platform (session_id s, VM ref self, (string -> string) Map value)\end{verbatim}
3990 \noindent{\bf Arguments:}
3993 \vspace{0.3cm}
3994 \begin{tabular}{|c|c|p{7cm}|}
3995 \hline
3996 {\bf type} & {\bf name} & {\bf description} \\ \hline
3997 {\tt VM ref } & self & reference to the object \\ \hline
3999 {\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline
4001 \end{tabular}
4003 \vspace{0.3cm}
4005 \noindent {\bf Return Type:}
4006 {\tt
4007 void
4012 \vspace{0.3cm}
4013 \vspace{0.3cm}
4014 \vspace{0.3cm}
4015 \subsubsection{RPC name:~add\_to\_platform}
4017 {\bf Overview:}
4018 Add the given key-value pair to the platform field of the given VM.
4020 \noindent {\bf Signature:}
4021 \begin{verbatim} void add_to_platform (session_id s, VM ref self, string key, string value)\end{verbatim}
4024 \noindent{\bf Arguments:}
4027 \vspace{0.3cm}
4028 \begin{tabular}{|c|c|p{7cm}|}
4029 \hline
4030 {\bf type} & {\bf name} & {\bf description} \\ \hline
4031 {\tt VM ref } & self & reference to the object \\ \hline
4033 {\tt string } & key & Key to add \\ \hline
4035 {\tt string } & value & Value to add \\ \hline
4037 \end{tabular}
4039 \vspace{0.3cm}
4041 \noindent {\bf Return Type:}
4042 {\tt
4043 void
4048 \vspace{0.3cm}
4049 \vspace{0.3cm}
4050 \vspace{0.3cm}
4051 \subsubsection{RPC name:~remove\_from\_platform}
4053 {\bf Overview:}
4054 Remove the given key and its corresponding value from the platform field of
4055 the given VM. If the key is not in that Map, then do nothing.
4057 \noindent {\bf Signature:}
4058 \begin{verbatim} void remove_from_platform (session_id s, VM ref self, string key)\end{verbatim}
4061 \noindent{\bf Arguments:}
4064 \vspace{0.3cm}
4065 \begin{tabular}{|c|c|p{7cm}|}
4066 \hline
4067 {\bf type} & {\bf name} & {\bf description} \\ \hline
4068 {\tt VM ref } & self & reference to the object \\ \hline
4070 {\tt string } & key & Key to remove \\ \hline
4072 \end{tabular}
4074 \vspace{0.3cm}
4076 \noindent {\bf Return Type:}
4077 {\tt
4078 void
4083 \vspace{0.3cm}
4084 \vspace{0.3cm}
4085 \vspace{0.3cm}
4086 \subsubsection{RPC name:~get\_PCI\_bus}
4088 {\bf Overview:}
4089 Get the PCI\_bus field of the given VM.
4091 \noindent {\bf Signature:}
4092 \begin{verbatim} string get_PCI_bus (session_id s, VM ref self)\end{verbatim}
4095 \noindent{\bf Arguments:}
4098 \vspace{0.3cm}
4099 \begin{tabular}{|c|c|p{7cm}|}
4100 \hline
4101 {\bf type} & {\bf name} & {\bf description} \\ \hline
4102 {\tt VM ref } & self & reference to the object \\ \hline
4104 \end{tabular}
4106 \vspace{0.3cm}
4108 \noindent {\bf Return Type:}
4109 {\tt
4110 string
4114 value of the field
4115 \vspace{0.3cm}
4116 \vspace{0.3cm}
4117 \vspace{0.3cm}
4118 \subsubsection{RPC name:~set\_PCI\_bus}
4120 {\bf Overview:}
4121 Set the PCI\_bus field of the given VM.
4123 \noindent {\bf Signature:}
4124 \begin{verbatim} void set_PCI_bus (session_id s, VM ref self, string value)\end{verbatim}
4127 \noindent{\bf Arguments:}
4130 \vspace{0.3cm}
4131 \begin{tabular}{|c|c|p{7cm}|}
4132 \hline
4133 {\bf type} & {\bf name} & {\bf description} \\ \hline
4134 {\tt VM ref } & self & reference to the object \\ \hline
4136 {\tt string } & value & New value to set \\ \hline
4138 \end{tabular}
4140 \vspace{0.3cm}
4142 \noindent {\bf Return Type:}
4143 {\tt
4144 void
4149 \vspace{0.3cm}
4150 \vspace{0.3cm}
4151 \vspace{0.3cm}
4152 \subsubsection{RPC name:~get\_other\_config}
4154 {\bf Overview:}
4155 Get the other\_config field of the given VM.
4157 \noindent {\bf Signature:}
4158 \begin{verbatim} ((string -> string) Map) get_other_config (session_id s, VM ref self)\end{verbatim}
4161 \noindent{\bf Arguments:}
4164 \vspace{0.3cm}
4165 \begin{tabular}{|c|c|p{7cm}|}
4166 \hline
4167 {\bf type} & {\bf name} & {\bf description} \\ \hline
4168 {\tt VM ref } & self & reference to the object \\ \hline
4170 \end{tabular}
4172 \vspace{0.3cm}
4174 \noindent {\bf Return Type:}
4175 {\tt
4176 (string $\rightarrow$ string) Map
4180 value of the field
4181 \vspace{0.3cm}
4182 \vspace{0.3cm}
4183 \vspace{0.3cm}
4184 \subsubsection{RPC name:~set\_other\_config}
4186 {\bf Overview:}
4187 Set the other\_config field of the given VM.
4189 \noindent {\bf Signature:}
4190 \begin{verbatim} void set_other_config (session_id s, VM ref self, (string -> string) Map value)\end{verbatim}
4193 \noindent{\bf Arguments:}
4196 \vspace{0.3cm}
4197 \begin{tabular}{|c|c|p{7cm}|}
4198 \hline
4199 {\bf type} & {\bf name} & {\bf description} \\ \hline
4200 {\tt VM ref } & self & reference to the object \\ \hline
4202 {\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline
4204 \end{tabular}
4206 \vspace{0.3cm}
4208 \noindent {\bf Return Type:}
4209 {\tt
4210 void
4215 \vspace{0.3cm}
4216 \vspace{0.3cm}
4217 \vspace{0.3cm}
4218 \subsubsection{RPC name:~add\_to\_other\_config}
4220 {\bf Overview:}
4221 Add the given key-value pair to the other\_config field of the given VM.
4223 \noindent {\bf Signature:}
4224 \begin{verbatim} void add_to_other_config (session_id s, VM ref self, string key, string value)\end{verbatim}
4227 \noindent{\bf Arguments:}
4230 \vspace{0.3cm}
4231 \begin{tabular}{|c|c|p{7cm}|}
4232 \hline
4233 {\bf type} & {\bf name} & {\bf description} \\ \hline
4234 {\tt VM ref } & self & reference to the object \\ \hline
4236 {\tt string } & key & Key to add \\ \hline
4238 {\tt string } & value & Value to add \\ \hline
4240 \end{tabular}
4242 \vspace{0.3cm}
4244 \noindent {\bf Return Type:}
4245 {\tt
4246 void
4251 \vspace{0.3cm}
4252 \vspace{0.3cm}
4253 \vspace{0.3cm}
4254 \subsubsection{RPC name:~remove\_from\_other\_config}
4256 {\bf Overview:}
4257 Remove the given key and its corresponding value from the other\_config
4258 field of the given VM. If the key is not in that Map, then do nothing.
4260 \noindent {\bf Signature:}
4261 \begin{verbatim} void remove_from_other_config (session_id s, VM ref self, string key)\end{verbatim}
4264 \noindent{\bf Arguments:}
4267 \vspace{0.3cm}
4268 \begin{tabular}{|c|c|p{7cm}|}
4269 \hline
4270 {\bf type} & {\bf name} & {\bf description} \\ \hline
4271 {\tt VM ref } & self & reference to the object \\ \hline
4273 {\tt string } & key & Key to remove \\ \hline
4275 \end{tabular}
4277 \vspace{0.3cm}
4279 \noindent {\bf Return Type:}
4280 {\tt
4281 void
4286 \vspace{0.3cm}
4287 \vspace{0.3cm}
4288 \vspace{0.3cm}
4289 \subsubsection{RPC name:~get\_domid}
4291 {\bf Overview:}
4292 Get the domid field of the given VM.
4294 \noindent {\bf Signature:}
4295 \begin{verbatim} int get_domid (session_id s, VM ref self)\end{verbatim}
4298 \noindent{\bf Arguments:}
4301 \vspace{0.3cm}
4302 \begin{tabular}{|c|c|p{7cm}|}
4303 \hline
4304 {\bf type} & {\bf name} & {\bf description} \\ \hline
4305 {\tt VM ref } & self & reference to the object \\ \hline
4307 \end{tabular}
4309 \vspace{0.3cm}
4311 \noindent {\bf Return Type:}
4312 {\tt
4313 int
4317 value of the field
4318 \vspace{0.3cm}
4319 \vspace{0.3cm}
4320 \vspace{0.3cm}
4321 \subsubsection{RPC name:~get\_is\_control\_domain}
4323 {\bf Overview:}
4324 Get the is\_control\_domain field of the given VM.
4326 \noindent {\bf Signature:}
4327 \begin{verbatim} bool get_is_control_domain (session_id s, VM ref self)\end{verbatim}
4330 \noindent{\bf Arguments:}
4333 \vspace{0.3cm}
4334 \begin{tabular}{|c|c|p{7cm}|}
4335 \hline
4336 {\bf type} & {\bf name} & {\bf description} \\ \hline
4337 {\tt VM ref } & self & reference to the object \\ \hline
4339 \end{tabular}
4341 \vspace{0.3cm}
4343 \noindent {\bf Return Type:}
4344 {\tt
4345 bool
4349 value of the field
4350 \vspace{0.3cm}
4351 \vspace{0.3cm}
4352 \vspace{0.3cm}
4353 \subsubsection{RPC name:~get\_metrics}
4355 {\bf Overview:}
4356 Get the metrics field of the given VM.
4358 \noindent {\bf Signature:}
4359 \begin{verbatim} (VM_metrics ref) get_metrics (session_id s, VM ref self)\end{verbatim}
4362 \noindent{\bf Arguments:}
4365 \vspace{0.3cm}
4366 \begin{tabular}{|c|c|p{7cm}|}
4367 \hline
4368 {\bf type} & {\bf name} & {\bf description} \\ \hline
4369 {\tt VM ref } & self & reference to the object \\ \hline
4371 \end{tabular}
4373 \vspace{0.3cm}
4375 \noindent {\bf Return Type:}
4376 {\tt
4377 VM\_metrics ref
4381 value of the field
4382 \vspace{0.3cm}
4383 \vspace{0.3cm}
4384 \vspace{0.3cm}
4385 \subsubsection{RPC name:~get\_guest\_metrics}
4387 {\bf Overview:}
4388 Get the guest\_metrics field of the given VM.
4390 \noindent {\bf Signature:}
4391 \begin{verbatim} (VM_guest_metrics ref) get_guest_metrics (session_id s, VM ref self)\end{verbatim}
4394 \noindent{\bf Arguments:}
4397 \vspace{0.3cm}
4398 \begin{tabular}{|c|c|p{7cm}|}
4399 \hline
4400 {\bf type} & {\bf name} & {\bf description} \\ \hline
4401 {\tt VM ref } & self & reference to the object \\ \hline
4403 \end{tabular}
4405 \vspace{0.3cm}
4407 \noindent {\bf Return Type:}
4408 {\tt
4409 VM\_guest\_metrics ref
4413 value of the field
4414 \vspace{0.3cm}
4415 \vspace{0.3cm}
4416 \vspace{0.3cm}
4417 \subsubsection{RPC name:~get\_security\_label}
4419 {\bf Overview:}
4420 Get the security label field of the given VM. Refer to the XSPolicy class
4421 for the format of the security label.
4423 \noindent {\bf Signature:}
4424 \begin{verbatim} string get_security_label (session_id s, VM ref self)\end{verbatim}
4427 \noindent{\bf Arguments:}
4430 \vspace{0.3cm}
4431 \begin{tabular}{|c|c|p{7cm}|}
4432 \hline
4433 {\bf type} & {\bf name} & {\bf description} \\ \hline
4434 {\tt VM ref } & self & reference to the object \\ \hline
4436 \end{tabular}
4438 \vspace{0.3cm}
4440 \noindent {\bf Return Type:}
4441 {\tt
4442 string
4446 value of the field
4447 \vspace{0.3cm}
4448 \vspace{0.3cm}
4449 \vspace{0.3cm}
4450 \subsubsection{RPC name:~set\_security\_label}
4452 {\bf Overview:}
4453 Set the security label field of the given VM. Refer to the XSPolicy class
4454 for the format of the security label.
4456 \noindent {\bf Signature:}
4457 \begin{verbatim} int set_security_label (session_id s, VM ref self, string
4458 security_label, string old_label)\end{verbatim}
4461 \noindent{\bf Arguments:}
4464 \vspace{0.3cm}
4465 \begin{tabular}{|c|c|p{7cm}|}
4466 \hline
4467 {\bf type} & {\bf name} & {\bf description} \\ \hline
4468 {\tt VM ref } & self & reference to the object \\ \hline
4469 {\tt string } & security\_label & security label for the VM \\ \hline
4470 {\tt string } & old\_label & Optional label value that the security label \\
4471 & & must currently have for the change to succeed.\\ \hline
4473 \end{tabular}
4475 \vspace{0.3cm}
4477 \noindent {\bf Return Type:}
4478 {\tt
4479 int
4483 Returns the ssidref in case of an VM that is currently running or
4484 paused, zero in case of a dormant VM (halted, suspended).
4486 \vspace{0.3cm}
4488 \noindent{\bf Possible Error Codes:} {\tt SECURITY\_ERROR}
4490 \vspace{0.3cm}
4491 \vspace{0.3cm}
4492 \vspace{0.3cm}
4493 \subsubsection{RPC name:~create}
4495 {\bf Overview:}
4496 Create a new VM instance, and return its handle.
4498 \noindent {\bf Signature:}
4499 \begin{verbatim} (VM ref) create (session_id s, VM record args)\end{verbatim}
4502 \noindent{\bf Arguments:}
4505 \vspace{0.3cm}
4506 \begin{tabular}{|c|c|p{7cm}|}
4507 \hline
4508 {\bf type} & {\bf name} & {\bf description} \\ \hline
4509 {\tt VM record } & args & All constructor arguments \\ \hline
4511 \end{tabular}
4513 \vspace{0.3cm}
4515 \noindent {\bf Return Type:}
4516 {\tt
4517 VM ref
4521 reference to the newly created object
4522 \vspace{0.3cm}
4523 \vspace{0.3cm}
4524 \vspace{0.3cm}
4525 \subsubsection{RPC name:~destroy}
4527 {\bf Overview:}
4528 Destroy the specified VM. The VM is completely removed from the system.
4529 This function can only be called when the VM is in the Halted State.
4531 \noindent {\bf Signature:}
4532 \begin{verbatim} void destroy (session_id s, VM ref self)\end{verbatim}
4535 \noindent{\bf Arguments:}
4538 \vspace{0.3cm}
4539 \begin{tabular}{|c|c|p{7cm}|}
4540 \hline
4541 {\bf type} & {\bf name} & {\bf description} \\ \hline
4542 {\tt VM ref } & self & reference to the object \\ \hline
4544 \end{tabular}
4546 \vspace{0.3cm}
4548 \noindent {\bf Return Type:}
4549 {\tt
4550 void
4555 \vspace{0.3cm}
4556 \vspace{0.3cm}
4557 \vspace{0.3cm}
4558 \subsubsection{RPC name:~get\_by\_uuid}
4560 {\bf Overview:}
4561 Get a reference to the VM instance with the specified UUID.
4563 \noindent {\bf Signature:}
4564 \begin{verbatim} (VM ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
4567 \noindent{\bf Arguments:}
4570 \vspace{0.3cm}
4571 \begin{tabular}{|c|c|p{7cm}|}
4572 \hline
4573 {\bf type} & {\bf name} & {\bf description} \\ \hline
4574 {\tt string } & uuid & UUID of object to return \\ \hline
4576 \end{tabular}
4578 \vspace{0.3cm}
4580 \noindent {\bf Return Type:}
4581 {\tt
4582 VM ref
4586 reference to the object
4587 \vspace{0.3cm}
4588 \vspace{0.3cm}
4589 \vspace{0.3cm}
4590 \subsubsection{RPC name:~get\_record}
4592 {\bf Overview:}
4593 Get a record containing the current state of the given VM.
4595 \noindent {\bf Signature:}
4596 \begin{verbatim} (VM record) get_record (session_id s, VM ref self)\end{verbatim}
4599 \noindent{\bf Arguments:}
4602 \vspace{0.3cm}
4603 \begin{tabular}{|c|c|p{7cm}|}
4604 \hline
4605 {\bf type} & {\bf name} & {\bf description} \\ \hline
4606 {\tt VM ref } & self & reference to the object \\ \hline
4608 \end{tabular}
4610 \vspace{0.3cm}
4612 \noindent {\bf Return Type:}
4613 {\tt
4614 VM record
4618 all fields from the object
4619 \vspace{0.3cm}
4620 \vspace{0.3cm}
4621 \vspace{0.3cm}
4622 \subsubsection{RPC name:~get\_by\_name\_label}
4624 {\bf Overview:}
4625 Get all the VM instances with the given label.
4627 \noindent {\bf Signature:}
4628 \begin{verbatim} ((VM ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
4631 \noindent{\bf Arguments:}
4634 \vspace{0.3cm}
4635 \begin{tabular}{|c|c|p{7cm}|}
4636 \hline
4637 {\bf type} & {\bf name} & {\bf description} \\ \hline
4638 {\tt string } & label & label of object to return \\ \hline
4640 \end{tabular}
4642 \vspace{0.3cm}
4644 \noindent {\bf Return Type:}
4645 {\tt
4646 (VM ref) Set
4650 references to objects with match names
4651 \vspace{0.3cm}
4652 \vspace{0.3cm}
4653 \vspace{0.3cm}
4655 \vspace{1cm}
4656 \newpage
4657 \section{Class: VM\_metrics}
4658 \subsection{Fields for class: VM\_metrics}
4659 \begin{longtable}{|lllp{0.38\textwidth}|}
4660 \hline
4661 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VM\_metrics} \\
4662 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em
4663 The metrics associated with a VM.}} \\
4664 \hline
4665 Quals & Field & Type & Description \\
4666 \hline
4667 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
4668 $\mathit{RO}_\mathit{run}$ & {\tt memory/actual} & int & Guest's actual memory (bytes) \\
4669 $\mathit{RO}_\mathit{run}$ & {\tt VCPUs/number} & int & Current number of VCPUs \\
4670 $\mathit{RO}_\mathit{run}$ & {\tt VCPUs/utilisation} & (int $\rightarrow$ float) Map & Utilisation for all of guest's current VCPUs \\
4671 $\mathit{RO}_\mathit{run}$ & {\tt VCPUs/CPU} & (int $\rightarrow$ int) Map & VCPU to PCPU map \\
4672 $\mathit{RO}_\mathit{run}$ & {\tt VCPUs/params} & (string $\rightarrow$ string) Map & The live equivalent to VM.VCPUs\_params \\
4673 $\mathit{RO}_\mathit{run}$ & {\tt VCPUs/flags} & (int $\rightarrow$ string Set) Map & CPU flags (blocked,online,running) \\
4674 $\mathit{RO}_\mathit{run}$ & {\tt state} & string Set & The state of the guest, eg blocked, dying etc \\
4675 $\mathit{RO}_\mathit{run}$ & {\tt start\_time} & datetime & Time at which this VM was last booted \\
4676 $\mathit{RO}_\mathit{run}$ & {\tt last\_updated} & datetime & Time at which this information was last updated \\
4677 \hline
4678 \end{longtable}
4679 \subsection{RPCs associated with class: VM\_metrics}
4680 \subsubsection{RPC name:~get\_all}
4682 {\bf Overview:}
4683 Return a list of all the VM\_metrics instances known to the system.
4685 \noindent {\bf Signature:}
4686 \begin{verbatim} ((VM_metrics ref) Set) get_all (session_id s)\end{verbatim}
4689 \vspace{0.3cm}
4691 \noindent {\bf Return Type:}
4692 {\tt
4693 (VM\_metrics ref) Set
4697 references to all objects
4698 \vspace{0.3cm}
4699 \vspace{0.3cm}
4700 \vspace{0.3cm}
4701 \subsubsection{RPC name:~get\_uuid}
4703 {\bf Overview:}
4704 Get the uuid field of the given VM\_metrics.
4706 \noindent {\bf Signature:}
4707 \begin{verbatim} string get_uuid (session_id s, VM_metrics ref self)\end{verbatim}
4710 \noindent{\bf Arguments:}
4713 \vspace{0.3cm}
4714 \begin{tabular}{|c|c|p{7cm}|}
4715 \hline
4716 {\bf type} & {\bf name} & {\bf description} \\ \hline
4717 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
4719 \end{tabular}
4721 \vspace{0.3cm}
4723 \noindent {\bf Return Type:}
4724 {\tt
4725 string
4729 value of the field
4730 \vspace{0.3cm}
4731 \vspace{0.3cm}
4732 \vspace{0.3cm}
4733 \subsubsection{RPC name:~get\_memory\_actual}
4735 {\bf Overview:}
4736 Get the memory/actual field of the given VM\_metrics.
4738 \noindent {\bf Signature:}
4739 \begin{verbatim} int get_memory_actual (session_id s, VM_metrics ref self)\end{verbatim}
4742 \noindent{\bf Arguments:}
4745 \vspace{0.3cm}
4746 \begin{tabular}{|c|c|p{7cm}|}
4747 \hline
4748 {\bf type} & {\bf name} & {\bf description} \\ \hline
4749 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
4751 \end{tabular}
4753 \vspace{0.3cm}
4755 \noindent {\bf Return Type:}
4756 {\tt
4757 int
4761 value of the field
4762 \vspace{0.3cm}
4763 \vspace{0.3cm}
4764 \vspace{0.3cm}
4765 \subsubsection{RPC name:~get\_VCPUs\_number}
4767 {\bf Overview:}
4768 Get the VCPUs/number field of the given VM\_metrics.
4770 \noindent {\bf Signature:}
4771 \begin{verbatim} int get_VCPUs_number (session_id s, VM_metrics ref self)\end{verbatim}
4774 \noindent{\bf Arguments:}
4777 \vspace{0.3cm}
4778 \begin{tabular}{|c|c|p{7cm}|}
4779 \hline
4780 {\bf type} & {\bf name} & {\bf description} \\ \hline
4781 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
4783 \end{tabular}
4785 \vspace{0.3cm}
4787 \noindent {\bf Return Type:}
4788 {\tt
4789 int
4793 value of the field
4794 \vspace{0.3cm}
4795 \vspace{0.3cm}
4796 \vspace{0.3cm}
4797 \subsubsection{RPC name:~get\_VCPUs\_utilisation}
4799 {\bf Overview:}
4800 Get the VCPUs/utilisation field of the given VM\_metrics.
4802 \noindent {\bf Signature:}
4803 \begin{verbatim} ((int -> float) Map) get_VCPUs_utilisation (session_id s, VM_metrics ref self)\end{verbatim}
4806 \noindent{\bf Arguments:}
4809 \vspace{0.3cm}
4810 \begin{tabular}{|c|c|p{7cm}|}
4811 \hline
4812 {\bf type} & {\bf name} & {\bf description} \\ \hline
4813 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
4815 \end{tabular}
4817 \vspace{0.3cm}
4819 \noindent {\bf Return Type:}
4820 {\tt
4821 (int $\rightarrow$ float) Map
4825 value of the field
4826 \vspace{0.3cm}
4827 \vspace{0.3cm}
4828 \vspace{0.3cm}
4829 \subsubsection{RPC name:~get\_VCPUs\_CPU}
4831 {\bf Overview:}
4832 Get the VCPUs/CPU field of the given VM\_metrics.
4834 \noindent {\bf Signature:}
4835 \begin{verbatim} ((int -> int) Map) get_VCPUs_CPU (session_id s, VM_metrics ref self)\end{verbatim}
4838 \noindent{\bf Arguments:}
4841 \vspace{0.3cm}
4842 \begin{tabular}{|c|c|p{7cm}|}
4843 \hline
4844 {\bf type} & {\bf name} & {\bf description} \\ \hline
4845 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
4847 \end{tabular}
4849 \vspace{0.3cm}
4851 \noindent {\bf Return Type:}
4852 {\tt
4853 (int $\rightarrow$ int) Map
4857 value of the field
4858 \vspace{0.3cm}
4859 \vspace{0.3cm}
4860 \vspace{0.3cm}
4861 \subsubsection{RPC name:~get\_VCPUs\_params}
4863 {\bf Overview:}
4864 Get the VCPUs/params field of the given VM\_metrics.
4866 \noindent {\bf Signature:}
4867 \begin{verbatim} ((string -> string) Map) get_VCPUs_params (session_id s, VM_metrics ref self)\end{verbatim}
4870 \noindent{\bf Arguments:}
4873 \vspace{0.3cm}
4874 \begin{tabular}{|c|c|p{7cm}|}
4875 \hline
4876 {\bf type} & {\bf name} & {\bf description} \\ \hline
4877 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
4879 \end{tabular}
4881 \vspace{0.3cm}
4883 \noindent {\bf Return Type:}
4884 {\tt
4885 (string $\rightarrow$ string) Map
4889 value of the field
4890 \vspace{0.3cm}
4891 \vspace{0.3cm}
4892 \vspace{0.3cm}
4893 \subsubsection{RPC name:~get\_VCPUs\_flags}
4895 {\bf Overview:}
4896 Get the VCPUs/flags field of the given VM\_metrics.
4898 \noindent {\bf Signature:}
4899 \begin{verbatim} ((int -> string Set) Map) get_VCPUs_flags (session_id s, VM_metrics ref self)\end{verbatim}
4902 \noindent{\bf Arguments:}
4905 \vspace{0.3cm}
4906 \begin{tabular}{|c|c|p{7cm}|}
4907 \hline
4908 {\bf type} & {\bf name} & {\bf description} \\ \hline
4909 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
4911 \end{tabular}
4913 \vspace{0.3cm}
4915 \noindent {\bf Return Type:}
4916 {\tt
4917 (int $\rightarrow$ string Set) Map
4921 value of the field
4922 \vspace{0.3cm}
4923 \vspace{0.3cm}
4924 \vspace{0.3cm}
4925 \subsubsection{RPC name:~get\_state}
4927 {\bf Overview:}
4928 Get the state field of the given VM\_metrics.
4930 \noindent {\bf Signature:}
4931 \begin{verbatim} (string Set) get_state (session_id s, VM_metrics ref self)\end{verbatim}
4934 \noindent{\bf Arguments:}
4937 \vspace{0.3cm}
4938 \begin{tabular}{|c|c|p{7cm}|}
4939 \hline
4940 {\bf type} & {\bf name} & {\bf description} \\ \hline
4941 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
4943 \end{tabular}
4945 \vspace{0.3cm}
4947 \noindent {\bf Return Type:}
4948 {\tt
4949 string Set
4953 value of the field
4954 \vspace{0.3cm}
4955 \vspace{0.3cm}
4956 \vspace{0.3cm}
4957 \subsubsection{RPC name:~get\_start\_time}
4959 {\bf Overview:}
4960 Get the start\_time field of the given VM\_metrics.
4962 \noindent {\bf Signature:}
4963 \begin{verbatim} datetime get_start_time (session_id s, VM_metrics ref self)\end{verbatim}
4966 \noindent{\bf Arguments:}
4969 \vspace{0.3cm}
4970 \begin{tabular}{|c|c|p{7cm}|}
4971 \hline
4972 {\bf type} & {\bf name} & {\bf description} \\ \hline
4973 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
4975 \end{tabular}
4977 \vspace{0.3cm}
4979 \noindent {\bf Return Type:}
4980 {\tt
4981 datetime
4985 value of the field
4986 \vspace{0.3cm}
4987 \vspace{0.3cm}
4988 \vspace{0.3cm}
4989 \subsubsection{RPC name:~get\_last\_updated}
4991 {\bf Overview:}
4992 Get the last\_updated field of the given VM\_metrics.
4994 \noindent {\bf Signature:}
4995 \begin{verbatim} datetime get_last_updated (session_id s, VM_metrics ref self)\end{verbatim}
4998 \noindent{\bf Arguments:}
5001 \vspace{0.3cm}
5002 \begin{tabular}{|c|c|p{7cm}|}
5003 \hline
5004 {\bf type} & {\bf name} & {\bf description} \\ \hline
5005 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
5007 \end{tabular}
5009 \vspace{0.3cm}
5011 \noindent {\bf Return Type:}
5012 {\tt
5013 datetime
5017 value of the field
5018 \vspace{0.3cm}
5019 \vspace{0.3cm}
5020 \vspace{0.3cm}
5021 \subsubsection{RPC name:~get\_by\_uuid}
5023 {\bf Overview:}
5024 Get a reference to the VM\_metrics instance with the specified UUID.
5026 \noindent {\bf Signature:}
5027 \begin{verbatim} (VM_metrics ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
5030 \noindent{\bf Arguments:}
5033 \vspace{0.3cm}
5034 \begin{tabular}{|c|c|p{7cm}|}
5035 \hline
5036 {\bf type} & {\bf name} & {\bf description} \\ \hline
5037 {\tt string } & uuid & UUID of object to return \\ \hline
5039 \end{tabular}
5041 \vspace{0.3cm}
5043 \noindent {\bf Return Type:}
5044 {\tt
5045 VM\_metrics ref
5049 reference to the object
5050 \vspace{0.3cm}
5051 \vspace{0.3cm}
5052 \vspace{0.3cm}
5053 \subsubsection{RPC name:~get\_record}
5055 {\bf Overview:}
5056 Get a record containing the current state of the given VM\_metrics.
5058 \noindent {\bf Signature:}
5059 \begin{verbatim} (VM_metrics record) get_record (session_id s, VM_metrics ref self)\end{verbatim}
5062 \noindent{\bf Arguments:}
5065 \vspace{0.3cm}
5066 \begin{tabular}{|c|c|p{7cm}|}
5067 \hline
5068 {\bf type} & {\bf name} & {\bf description} \\ \hline
5069 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
5071 \end{tabular}
5073 \vspace{0.3cm}
5075 \noindent {\bf Return Type:}
5076 {\tt
5077 VM\_metrics record
5081 all fields from the object
5082 \vspace{0.3cm}
5083 \vspace{0.3cm}
5084 \vspace{0.3cm}
5086 \vspace{1cm}
5087 \newpage
5088 \section{Class: VM\_guest\_metrics}
5089 \subsection{Fields for class: VM\_guest\_metrics}
5090 \begin{longtable}{|lllp{0.38\textwidth}|}
5091 \hline
5092 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VM\_guest\_metrics} \\
5093 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em
5094 The metrics reported by the guest (as opposed to inferred from outside).}} \\
5095 \hline
5096 Quals & Field & Type & Description \\
5097 \hline
5098 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
5099 $\mathit{RO}_\mathit{run}$ & {\tt os\_version} & (string $\rightarrow$ string) Map & version of the OS \\
5100 $\mathit{RO}_\mathit{run}$ & {\tt PV\_drivers\_version} & (string $\rightarrow$ string) Map & version of the PV drivers \\
5101 $\mathit{RO}_\mathit{run}$ & {\tt memory} & (string $\rightarrow$ string) Map & free/used/total memory \\
5102 $\mathit{RO}_\mathit{run}$ & {\tt disks} & (string $\rightarrow$ string) Map & disk configuration/free space \\
5103 $\mathit{RO}_\mathit{run}$ & {\tt networks} & (string $\rightarrow$ string) Map & network configuration \\
5104 $\mathit{RO}_\mathit{run}$ & {\tt other} & (string $\rightarrow$ string) Map & anything else \\
5105 $\mathit{RO}_\mathit{run}$ & {\tt last\_updated} & datetime & Time at which this information was last updated \\
5106 \hline
5107 \end{longtable}
5108 \subsection{RPCs associated with class: VM\_guest\_metrics}
5109 \subsubsection{RPC name:~get\_all}
5111 {\bf Overview:}
5112 Return a list of all the VM\_guest\_metrics instances known to the system.
5114 \noindent {\bf Signature:}
5115 \begin{verbatim} ((VM_guest_metrics ref) Set) get_all (session_id s)\end{verbatim}
5118 \vspace{0.3cm}
5120 \noindent {\bf Return Type:}
5121 {\tt
5122 (VM\_guest\_metrics ref) Set
5126 references to all objects
5127 \vspace{0.3cm}
5128 \vspace{0.3cm}
5129 \vspace{0.3cm}
5130 \subsubsection{RPC name:~get\_uuid}
5132 {\bf Overview:}
5133 Get the uuid field of the given VM\_guest\_metrics.
5135 \noindent {\bf Signature:}
5136 \begin{verbatim} string get_uuid (session_id s, VM_guest_metrics ref self)\end{verbatim}
5139 \noindent{\bf Arguments:}
5142 \vspace{0.3cm}
5143 \begin{tabular}{|c|c|p{7cm}|}
5144 \hline
5145 {\bf type} & {\bf name} & {\bf description} \\ \hline
5146 {\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline
5148 \end{tabular}
5150 \vspace{0.3cm}
5152 \noindent {\bf Return Type:}
5153 {\tt
5154 string
5158 value of the field
5159 \vspace{0.3cm}
5160 \vspace{0.3cm}
5161 \vspace{0.3cm}
5162 \subsubsection{RPC name:~get\_os\_version}
5164 {\bf Overview:}
5165 Get the os\_version field of the given VM\_guest\_metrics.
5167 \noindent {\bf Signature:}
5168 \begin{verbatim} ((string -> string) Map) get_os_version (session_id s, VM_guest_metrics ref self)\end{verbatim}
5171 \noindent{\bf Arguments:}
5174 \vspace{0.3cm}
5175 \begin{tabular}{|c|c|p{7cm}|}
5176 \hline
5177 {\bf type} & {\bf name} & {\bf description} \\ \hline
5178 {\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline
5180 \end{tabular}
5182 \vspace{0.3cm}
5184 \noindent {\bf Return Type:}
5185 {\tt
5186 (string $\rightarrow$ string) Map
5190 value of the field
5191 \vspace{0.3cm}
5192 \vspace{0.3cm}
5193 \vspace{0.3cm}
5194 \subsubsection{RPC name:~get\_PV\_drivers\_version}
5196 {\bf Overview:}
5197 Get the PV\_drivers\_version field of the given VM\_guest\_metrics.
5199 \noindent {\bf Signature:}
5200 \begin{verbatim} ((string -> string) Map) get_PV_drivers_version (session_id s, VM_guest_metrics ref self)\end{verbatim}
5203 \noindent{\bf Arguments:}
5206 \vspace{0.3cm}
5207 \begin{tabular}{|c|c|p{7cm}|}
5208 \hline
5209 {\bf type} & {\bf name} & {\bf description} \\ \hline
5210 {\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline
5212 \end{tabular}
5214 \vspace{0.3cm}
5216 \noindent {\bf Return Type:}
5217 {\tt
5218 (string $\rightarrow$ string) Map
5222 value of the field
5223 \vspace{0.3cm}
5224 \vspace{0.3cm}
5225 \vspace{0.3cm}
5226 \subsubsection{RPC name:~get\_memory}
5228 {\bf Overview:}
5229 Get the memory field of the given VM\_guest\_metrics.
5231 \noindent {\bf Signature:}
5232 \begin{verbatim} ((string -> string) Map) get_memory (session_id s, VM_guest_metrics ref self)\end{verbatim}
5235 \noindent{\bf Arguments:}
5238 \vspace{0.3cm}
5239 \begin{tabular}{|c|c|p{7cm}|}
5240 \hline
5241 {\bf type} & {\bf name} & {\bf description} \\ \hline
5242 {\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline
5244 \end{tabular}
5246 \vspace{0.3cm}
5248 \noindent {\bf Return Type:}
5249 {\tt
5250 (string $\rightarrow$ string) Map
5254 value of the field
5255 \vspace{0.3cm}
5256 \vspace{0.3cm}
5257 \vspace{0.3cm}
5258 \subsubsection{RPC name:~get\_disks}
5260 {\bf Overview:}
5261 Get the disks field of the given VM\_guest\_metrics.
5263 \noindent {\bf Signature:}
5264 \begin{verbatim} ((string -> string) Map) get_disks (session_id s, VM_guest_metrics ref self)\end{verbatim}
5267 \noindent{\bf Arguments:}
5270 \vspace{0.3cm}
5271 \begin{tabular}{|c|c|p{7cm}|}
5272 \hline
5273 {\bf type} & {\bf name} & {\bf description} \\ \hline
5274 {\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline
5276 \end{tabular}
5278 \vspace{0.3cm}
5280 \noindent {\bf Return Type:}
5281 {\tt
5282 (string $\rightarrow$ string) Map
5286 value of the field
5287 \vspace{0.3cm}
5288 \vspace{0.3cm}
5289 \vspace{0.3cm}
5290 \subsubsection{RPC name:~get\_networks}
5292 {\bf Overview:}
5293 Get the networks field of the given VM\_guest\_metrics.
5295 \noindent {\bf Signature:}
5296 \begin{verbatim} ((string -> string) Map) get_networks (session_id s, VM_guest_metrics ref self)\end{verbatim}
5299 \noindent{\bf Arguments:}
5302 \vspace{0.3cm}
5303 \begin{tabular}{|c|c|p{7cm}|}
5304 \hline
5305 {\bf type} & {\bf name} & {\bf description} \\ \hline
5306 {\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline
5308 \end{tabular}
5310 \vspace{0.3cm}
5312 \noindent {\bf Return Type:}
5313 {\tt
5314 (string $\rightarrow$ string) Map
5318 value of the field
5319 \vspace{0.3cm}
5320 \vspace{0.3cm}
5321 \vspace{0.3cm}
5322 \subsubsection{RPC name:~get\_other}
5324 {\bf Overview:}
5325 Get the other field of the given VM\_guest\_metrics.
5327 \noindent {\bf Signature:}
5328 \begin{verbatim} ((string -> string) Map) get_other (session_id s, VM_guest_metrics ref self)\end{verbatim}
5331 \noindent{\bf Arguments:}
5334 \vspace{0.3cm}
5335 \begin{tabular}{|c|c|p{7cm}|}
5336 \hline
5337 {\bf type} & {\bf name} & {\bf description} \\ \hline
5338 {\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline
5340 \end{tabular}
5342 \vspace{0.3cm}
5344 \noindent {\bf Return Type:}
5345 {\tt
5346 (string $\rightarrow$ string) Map
5350 value of the field
5351 \vspace{0.3cm}
5352 \vspace{0.3cm}
5353 \vspace{0.3cm}
5354 \subsubsection{RPC name:~get\_last\_updated}
5356 {\bf Overview:}
5357 Get the last\_updated field of the given VM\_guest\_metrics.
5359 \noindent {\bf Signature:}
5360 \begin{verbatim} datetime get_last_updated (session_id s, VM_guest_metrics ref self)\end{verbatim}
5363 \noindent{\bf Arguments:}
5366 \vspace{0.3cm}
5367 \begin{tabular}{|c|c|p{7cm}|}
5368 \hline
5369 {\bf type} & {\bf name} & {\bf description} \\ \hline
5370 {\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline
5372 \end{tabular}
5374 \vspace{0.3cm}
5376 \noindent {\bf Return Type:}
5377 {\tt
5378 datetime
5382 value of the field
5383 \vspace{0.3cm}
5384 \vspace{0.3cm}
5385 \vspace{0.3cm}
5386 \subsubsection{RPC name:~get\_by\_uuid}
5388 {\bf Overview:}
5389 Get a reference to the VM\_guest\_metrics instance with the specified UUID.
5391 \noindent {\bf Signature:}
5392 \begin{verbatim} (VM_guest_metrics ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
5395 \noindent{\bf Arguments:}
5398 \vspace{0.3cm}
5399 \begin{tabular}{|c|c|p{7cm}|}
5400 \hline
5401 {\bf type} & {\bf name} & {\bf description} \\ \hline
5402 {\tt string } & uuid & UUID of object to return \\ \hline
5404 \end{tabular}
5406 \vspace{0.3cm}
5408 \noindent {\bf Return Type:}
5409 {\tt
5410 VM\_guest\_metrics ref
5414 reference to the object
5415 \vspace{0.3cm}
5416 \vspace{0.3cm}
5417 \vspace{0.3cm}
5418 \subsubsection{RPC name:~get\_record}
5420 {\bf Overview:}
5421 Get a record containing the current state of the given VM\_guest\_metrics.
5423 \noindent {\bf Signature:}
5424 \begin{verbatim} (VM_guest_metrics record) get_record (session_id s, VM_guest_metrics ref self)\end{verbatim}
5427 \noindent{\bf Arguments:}
5430 \vspace{0.3cm}
5431 \begin{tabular}{|c|c|p{7cm}|}
5432 \hline
5433 {\bf type} & {\bf name} & {\bf description} \\ \hline
5434 {\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline
5436 \end{tabular}
5438 \vspace{0.3cm}
5440 \noindent {\bf Return Type:}
5441 {\tt
5442 VM\_guest\_metrics record
5446 all fields from the object
5447 \vspace{0.3cm}
5448 \vspace{0.3cm}
5449 \vspace{0.3cm}
5451 \vspace{1cm}
5452 \newpage
5453 \section{Class: host}
5454 \subsection{Fields for class: host}
5455 \begin{longtable}{|lllp{0.38\textwidth}|}
5456 \hline
5457 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf host} \\
5458 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
5459 physical host.}} \\
5460 \hline
5461 Quals & Field & Type & Description \\
5462 \hline
5463 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
5464 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
5465 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
5466 $\mathit{RO}_\mathit{run}$ & {\tt API\_version/major} & int & major version number \\
5467 $\mathit{RO}_\mathit{run}$ & {\tt API\_version/minor} & int & minor version number \\
5468 $\mathit{RO}_\mathit{run}$ & {\tt API\_version/vendor} & string & identification of vendor \\
5469 $\mathit{RO}_\mathit{run}$ & {\tt API\_version/vendor\_implementation} & (string $\rightarrow$ string) Map & details of vendor implementation \\
5470 $\mathit{RO}_\mathit{run}$ & {\tt enabled} & bool & True if the host is currently enabled \\
5471 $\mathit{RO}_\mathit{run}$ & {\tt software\_version} & (string $\rightarrow$ string) Map & version strings \\
5472 $\mathit{RW}$ & {\tt other\_config} & (string $\rightarrow$ string) Map & additional configuration \\
5473 $\mathit{RO}_\mathit{run}$ & {\tt capabilities} & string Set & Xen capabilities \\
5474 $\mathit{RO}_\mathit{run}$ & {\tt cpu\_configuration} & (string $\rightarrow$ string) Map & The CPU configuration on this host. May contain keys such as ``nr\_nodes'', ``sockets\_per\_node'', ``cores\_per\_socket'', or ``threads\_per\_core'' \\
5475 $\mathit{RO}_\mathit{run}$ & {\tt sched\_policy} & string & Scheduler policy currently in force on this host \\
5476 $\mathit{RO}_\mathit{run}$ & {\tt supported\_bootloaders} & string Set & a list of the bootloaders installed on the machine \\
5477 $\mathit{RO}_\mathit{run}$ & {\tt resident\_VMs} & (VM ref) Set & list of VMs currently resident on host \\
5478 $\mathit{RW}$ & {\tt logging} & (string $\rightarrow$ string) Map & logging configuration \\
5479 $\mathit{RO}_\mathit{run}$ & {\tt PIFs} & (PIF ref) Set & physical network interfaces \\
5480 $\mathit{RW}$ & {\tt suspend\_image\_sr} & SR ref & The SR in which VDIs for suspend images are created \\
5481 $\mathit{RW}$ & {\tt crash\_dump\_sr} & SR ref & The SR in which VDIs for crash dumps are created \\
5482 $\mathit{RO}_\mathit{run}$ & {\tt PBDs} & (PBD ref) Set & physical blockdevices \\
5483 $\mathit{RO}_\mathit{run}$ & {\tt host\_CPUs} & (host\_cpu ref) Set & The physical CPUs on this host \\
5484 $\mathit{RO}_\mathit{run}$ & {\tt metrics} & host\_metrics ref & metrics associated with this host \\
5485 \hline
5486 \end{longtable}
5487 \subsection{RPCs associated with class: host}
5488 \subsubsection{RPC name:~disable}
5490 {\bf Overview:}
5491 Puts the host into a state in which no new VMs can be started. Currently
5492 active VMs on the host continue to execute.
5494 \noindent {\bf Signature:}
5495 \begin{verbatim} void disable (session_id s, host ref host)\end{verbatim}
5498 \noindent{\bf Arguments:}
5501 \vspace{0.3cm}
5502 \begin{tabular}{|c|c|p{7cm}|}
5503 \hline
5504 {\bf type} & {\bf name} & {\bf description} \\ \hline
5505 {\tt host ref } & host & The Host to disable \\ \hline
5507 \end{tabular}
5509 \vspace{0.3cm}
5511 \noindent {\bf Return Type:}
5512 {\tt
5513 void
5518 \vspace{0.3cm}
5519 \vspace{0.3cm}
5520 \vspace{0.3cm}
5521 \subsubsection{RPC name:~enable}
5523 {\bf Overview:}
5524 Puts the host into a state in which new VMs can be started.
5526 \noindent {\bf Signature:}
5527 \begin{verbatim} void enable (session_id s, host ref host)\end{verbatim}
5530 \noindent{\bf Arguments:}
5533 \vspace{0.3cm}
5534 \begin{tabular}{|c|c|p{7cm}|}
5535 \hline
5536 {\bf type} & {\bf name} & {\bf description} \\ \hline
5537 {\tt host ref } & host & The Host to enable \\ \hline
5539 \end{tabular}
5541 \vspace{0.3cm}
5543 \noindent {\bf Return Type:}
5544 {\tt
5545 void
5550 \vspace{0.3cm}
5551 \vspace{0.3cm}
5552 \vspace{0.3cm}
5553 \subsubsection{RPC name:~shutdown}
5555 {\bf Overview:}
5556 Shutdown the host. (This function can only be called if there are no
5557 currently running VMs on the host and it is disabled.).
5559 \noindent {\bf Signature:}
5560 \begin{verbatim} void shutdown (session_id s, host ref host)\end{verbatim}
5563 \noindent{\bf Arguments:}
5566 \vspace{0.3cm}
5567 \begin{tabular}{|c|c|p{7cm}|}
5568 \hline
5569 {\bf type} & {\bf name} & {\bf description} \\ \hline
5570 {\tt host ref } & host & The Host to shutdown \\ \hline
5572 \end{tabular}
5574 \vspace{0.3cm}
5576 \noindent {\bf Return Type:}
5577 {\tt
5578 void
5583 \vspace{0.3cm}
5584 \vspace{0.3cm}
5585 \vspace{0.3cm}
5586 \subsubsection{RPC name:~reboot}
5588 {\bf Overview:}
5589 Reboot the host. (This function can only be called if there are no
5590 currently running VMs on the host and it is disabled.).
5592 \noindent {\bf Signature:}
5593 \begin{verbatim} void reboot (session_id s, host ref host)\end{verbatim}
5596 \noindent{\bf Arguments:}
5599 \vspace{0.3cm}
5600 \begin{tabular}{|c|c|p{7cm}|}
5601 \hline
5602 {\bf type} & {\bf name} & {\bf description} \\ \hline
5603 {\tt host ref } & host & The Host to reboot \\ \hline
5605 \end{tabular}
5607 \vspace{0.3cm}
5609 \noindent {\bf Return Type:}
5610 {\tt
5611 void
5616 \vspace{0.3cm}
5617 \vspace{0.3cm}
5618 \vspace{0.3cm}
5619 \subsubsection{RPC name:~dmesg}
5621 {\bf Overview:}
5622 Get the host xen dmesg.
5624 \noindent {\bf Signature:}
5625 \begin{verbatim} string dmesg (session_id s, host ref host)\end{verbatim}
5628 \noindent{\bf Arguments:}
5631 \vspace{0.3cm}
5632 \begin{tabular}{|c|c|p{7cm}|}
5633 \hline
5634 {\bf type} & {\bf name} & {\bf description} \\ \hline
5635 {\tt host ref } & host & The Host to query \\ \hline
5637 \end{tabular}
5639 \vspace{0.3cm}
5641 \noindent {\bf Return Type:}
5642 {\tt
5643 string
5647 dmesg string
5648 \vspace{0.3cm}
5649 \vspace{0.3cm}
5650 \vspace{0.3cm}
5651 \subsubsection{RPC name:~dmesg\_clear}
5653 {\bf Overview:}
5654 Get the host xen dmesg, and clear the buffer.
5656 \noindent {\bf Signature:}
5657 \begin{verbatim} string dmesg_clear (session_id s, host ref host)\end{verbatim}
5660 \noindent{\bf Arguments:}
5663 \vspace{0.3cm}
5664 \begin{tabular}{|c|c|p{7cm}|}
5665 \hline
5666 {\bf type} & {\bf name} & {\bf description} \\ \hline
5667 {\tt host ref } & host & The Host to query \\ \hline
5669 \end{tabular}
5671 \vspace{0.3cm}
5673 \noindent {\bf Return Type:}
5674 {\tt
5675 string
5679 dmesg string
5680 \vspace{0.3cm}
5681 \vspace{0.3cm}
5682 \vspace{0.3cm}
5683 \subsubsection{RPC name:~get\_log}
5685 {\bf Overview:}
5686 Get the host's log file.
5688 \noindent {\bf Signature:}
5689 \begin{verbatim} string get_log (session_id s, host ref host)\end{verbatim}
5692 \noindent{\bf Arguments:}
5695 \vspace{0.3cm}
5696 \begin{tabular}{|c|c|p{7cm}|}
5697 \hline
5698 {\bf type} & {\bf name} & {\bf description} \\ \hline
5699 {\tt host ref } & host & The Host to query \\ \hline
5701 \end{tabular}
5703 \vspace{0.3cm}
5705 \noindent {\bf Return Type:}
5706 {\tt
5707 string
5711 The contents of the host's primary log file
5712 \vspace{0.3cm}
5713 \vspace{0.3cm}
5714 \vspace{0.3cm}
5715 \subsubsection{RPC name:~send\_debug\_keys}
5717 {\bf Overview:}
5718 Inject the given string as debugging keys into Xen.
5720 \noindent {\bf Signature:}
5721 \begin{verbatim} void send_debug_keys (session_id s, host ref host, string keys)\end{verbatim}
5724 \noindent{\bf Arguments:}
5727 \vspace{0.3cm}
5728 \begin{tabular}{|c|c|p{7cm}|}
5729 \hline
5730 {\bf type} & {\bf name} & {\bf description} \\ \hline
5731 {\tt host ref } & host & The host \\ \hline
5733 {\tt string } & keys & The keys to send \\ \hline
5735 \end{tabular}
5737 \vspace{0.3cm}
5739 \noindent {\bf Return Type:}
5740 {\tt
5741 void
5746 \vspace{0.3cm}
5747 \vspace{0.3cm}
5748 \vspace{0.3cm}
5749 \subsubsection{RPC name:~list\_methods}
5751 {\bf Overview:}
5752 List all supported methods.
5754 \noindent {\bf Signature:}
5755 \begin{verbatim} (string Set) list_methods (session_id s)\end{verbatim}
5758 \vspace{0.3cm}
5760 \noindent {\bf Return Type:}
5761 {\tt
5762 string Set
5766 The name of every supported method.
5767 \vspace{0.3cm}
5768 \vspace{0.3cm}
5769 \vspace{0.3cm}
5770 \subsubsection{RPC name:~get\_all}
5772 {\bf Overview:}
5773 Return a list of all the hosts known to the system.
5775 \noindent {\bf Signature:}
5776 \begin{verbatim} ((host ref) Set) get_all (session_id s)\end{verbatim}
5779 \vspace{0.3cm}
5781 \noindent {\bf Return Type:}
5782 {\tt
5783 (host ref) Set
5787 A list of all the IDs of all the hosts
5788 \vspace{0.3cm}
5789 \vspace{0.3cm}
5790 \vspace{0.3cm}
5791 \subsubsection{RPC name:~get\_uuid}
5793 {\bf Overview:}
5794 Get the uuid field of the given host.
5796 \noindent {\bf Signature:}
5797 \begin{verbatim} string get_uuid (session_id s, host ref self)\end{verbatim}
5800 \noindent{\bf Arguments:}
5803 \vspace{0.3cm}
5804 \begin{tabular}{|c|c|p{7cm}|}
5805 \hline
5806 {\bf type} & {\bf name} & {\bf description} \\ \hline
5807 {\tt host ref } & self & reference to the object \\ \hline
5809 \end{tabular}
5811 \vspace{0.3cm}
5813 \noindent {\bf Return Type:}
5814 {\tt
5815 string
5819 value of the field
5820 \vspace{0.3cm}
5821 \vspace{0.3cm}
5822 \vspace{0.3cm}
5823 \subsubsection{RPC name:~get\_name\_label}
5825 {\bf Overview:}
5826 Get the name/label field of the given host.
5828 \noindent {\bf Signature:}
5829 \begin{verbatim} string get_name_label (session_id s, host ref self)\end{verbatim}
5832 \noindent{\bf Arguments:}
5835 \vspace{0.3cm}
5836 \begin{tabular}{|c|c|p{7cm}|}
5837 \hline
5838 {\bf type} & {\bf name} & {\bf description} \\ \hline
5839 {\tt host ref } & self & reference to the object \\ \hline
5841 \end{tabular}
5843 \vspace{0.3cm}
5845 \noindent {\bf Return Type:}
5846 {\tt
5847 string
5851 value of the field
5852 \vspace{0.3cm}
5853 \vspace{0.3cm}
5854 \vspace{0.3cm}
5855 \subsubsection{RPC name:~set\_name\_label}
5857 {\bf Overview:}
5858 Set the name/label field of the given host.
5860 \noindent {\bf Signature:}
5861 \begin{verbatim} void set_name_label (session_id s, host ref self, string value)\end{verbatim}
5864 \noindent{\bf Arguments:}
5867 \vspace{0.3cm}
5868 \begin{tabular}{|c|c|p{7cm}|}
5869 \hline
5870 {\bf type} & {\bf name} & {\bf description} \\ \hline
5871 {\tt host ref } & self & reference to the object \\ \hline
5873 {\tt string } & value & New value to set \\ \hline
5875 \end{tabular}
5877 \vspace{0.3cm}
5879 \noindent {\bf Return Type:}
5880 {\tt
5881 void
5886 \vspace{0.3cm}
5887 \vspace{0.3cm}
5888 \vspace{0.3cm}
5889 \subsubsection{RPC name:~get\_name\_description}
5891 {\bf Overview:}
5892 Get the name/description field of the given host.
5894 \noindent {\bf Signature:}
5895 \begin{verbatim} string get_name_description (session_id s, host ref self)\end{verbatim}
5898 \noindent{\bf Arguments:}
5901 \vspace{0.3cm}
5902 \begin{tabular}{|c|c|p{7cm}|}
5903 \hline
5904 {\bf type} & {\bf name} & {\bf description} \\ \hline
5905 {\tt host ref } & self & reference to the object \\ \hline
5907 \end{tabular}
5909 \vspace{0.3cm}
5911 \noindent {\bf Return Type:}
5912 {\tt
5913 string
5917 value of the field
5918 \vspace{0.3cm}
5919 \vspace{0.3cm}
5920 \vspace{0.3cm}
5921 \subsubsection{RPC name:~set\_name\_description}
5923 {\bf Overview:}
5924 Set the name/description field of the given host.
5926 \noindent {\bf Signature:}
5927 \begin{verbatim} void set_name_description (session_id s, host ref self, string value)\end{verbatim}
5930 \noindent{\bf Arguments:}
5933 \vspace{0.3cm}
5934 \begin{tabular}{|c|c|p{7cm}|}
5935 \hline
5936 {\bf type} & {\bf name} & {\bf description} \\ \hline
5937 {\tt host ref } & self & reference to the object \\ \hline
5939 {\tt string } & value & New value to set \\ \hline
5941 \end{tabular}
5943 \vspace{0.3cm}
5945 \noindent {\bf Return Type:}
5946 {\tt
5947 void
5952 \vspace{0.3cm}
5953 \vspace{0.3cm}
5954 \vspace{0.3cm}
5955 \subsubsection{RPC name:~get\_API\_version\_major}
5957 {\bf Overview:}
5958 Get the API\_version/major field of the given host.
5960 \noindent {\bf Signature:}
5961 \begin{verbatim} int get_API_version_major (session_id s, host ref self)\end{verbatim}
5964 \noindent{\bf Arguments:}
5967 \vspace{0.3cm}
5968 \begin{tabular}{|c|c|p{7cm}|}
5969 \hline
5970 {\bf type} & {\bf name} & {\bf description} \\ \hline
5971 {\tt host ref } & self & reference to the object \\ \hline
5973 \end{tabular}
5975 \vspace{0.3cm}
5977 \noindent {\bf Return Type:}
5978 {\tt
5979 int
5983 value of the field
5984 \vspace{0.3cm}
5985 \vspace{0.3cm}
5986 \vspace{0.3cm}
5987 \subsubsection{RPC name:~get\_API\_version\_minor}
5989 {\bf Overview:}
5990 Get the API\_version/minor field of the given host.
5992 \noindent {\bf Signature:}
5993 \begin{verbatim} int get_API_version_minor (session_id s, host ref self)\end{verbatim}
5996 \noindent{\bf Arguments:}
5999 \vspace{0.3cm}
6000 \begin{tabular}{|c|c|p{7cm}|}
6001 \hline
6002 {\bf type} & {\bf name} & {\bf description} \\ \hline
6003 {\tt host ref } & self & reference to the object \\ \hline
6005 \end{tabular}
6007 \vspace{0.3cm}
6009 \noindent {\bf Return Type:}
6010 {\tt
6011 int
6015 value of the field
6016 \vspace{0.3cm}
6017 \vspace{0.3cm}
6018 \vspace{0.3cm}
6019 \subsubsection{RPC name:~get\_API\_version\_vendor}
6021 {\bf Overview:}
6022 Get the API\_version/vendor field of the given host.
6024 \noindent {\bf Signature:}
6025 \begin{verbatim} string get_API_version_vendor (session_id s, host ref self)\end{verbatim}
6028 \noindent{\bf Arguments:}
6031 \vspace{0.3cm}
6032 \begin{tabular}{|c|c|p{7cm}|}
6033 \hline
6034 {\bf type} & {\bf name} & {\bf description} \\ \hline
6035 {\tt host ref } & self & reference to the object \\ \hline
6037 \end{tabular}
6039 \vspace{0.3cm}
6041 \noindent {\bf Return Type:}
6042 {\tt
6043 string
6047 value of the field
6048 \vspace{0.3cm}
6049 \vspace{0.3cm}
6050 \vspace{0.3cm}
6051 \subsubsection{RPC name:~get\_API\_version\_vendor\_implementation}
6053 {\bf Overview:}
6054 Get the API\_version/vendor\_implementation field of the given host.
6056 \noindent {\bf Signature:}
6057 \begin{verbatim} ((string -> string) Map) get_API_version_vendor_implementation (session_id s, host ref self)\end{verbatim}
6060 \noindent{\bf Arguments:}
6063 \vspace{0.3cm}
6064 \begin{tabular}{|c|c|p{7cm}|}
6065 \hline
6066 {\bf type} & {\bf name} & {\bf description} \\ \hline
6067 {\tt host ref } & self & reference to the object \\ \hline
6069 \end{tabular}
6071 \vspace{0.3cm}
6073 \noindent {\bf Return Type:}
6074 {\tt
6075 (string $\rightarrow$ string) Map
6079 value of the field
6080 \vspace{0.3cm}
6081 \vspace{0.3cm}
6082 \vspace{0.3cm}
6083 \subsubsection{RPC name:~get\_enabled}
6085 {\bf Overview:}
6086 Get the enabled field of the given host.
6088 \noindent {\bf Signature:}
6089 \begin{verbatim} bool get_enabled (session_id s, host ref self)\end{verbatim}
6092 \noindent{\bf Arguments:}
6095 \vspace{0.3cm}
6096 \begin{tabular}{|c|c|p{7cm}|}
6097 \hline
6098 {\bf type} & {\bf name} & {\bf description} \\ \hline
6099 {\tt host ref } & self & reference to the object \\ \hline
6101 \end{tabular}
6103 \vspace{0.3cm}
6105 \noindent {\bf Return Type:}
6106 {\tt
6107 bool
6111 value of the field
6112 \vspace{0.3cm}
6113 \vspace{0.3cm}
6114 \vspace{0.3cm}
6115 \subsubsection{RPC name:~get\_software\_version}
6117 {\bf Overview:}
6118 Get the software\_version field of the given host.
6120 \noindent {\bf Signature:}
6121 \begin{verbatim} ((string -> string) Map) get_software_version (session_id s, host 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 ref } & self & reference to the object \\ \hline
6133 \end{tabular}
6135 \vspace{0.3cm}
6137 \noindent {\bf Return Type:}
6138 {\tt
6139 (string $\rightarrow$ string) Map
6143 value of the field
6144 \vspace{0.3cm}
6145 \vspace{0.3cm}
6146 \vspace{0.3cm}
6147 \subsubsection{RPC name:~get\_other\_config}
6149 {\bf Overview:}
6150 Get the other\_config field of the given host.
6152 \noindent {\bf Signature:}
6153 \begin{verbatim} ((string -> string) Map) get_other_config (session_id s, host 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 ref } & self & reference to the object \\ \hline
6165 \end{tabular}
6167 \vspace{0.3cm}
6169 \noindent {\bf Return Type:}
6170 {\tt
6171 (string $\rightarrow$ string) Map
6175 value of the field
6176 \vspace{0.3cm}
6177 \vspace{0.3cm}
6178 \vspace{0.3cm}
6179 \subsubsection{RPC name:~set\_other\_config}
6181 {\bf Overview:}
6182 Set the other\_config field of the given host.
6184 \noindent {\bf Signature:}
6185 \begin{verbatim} void set_other_config (session_id s, host ref self, (string -> string) Map value)\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 ref } & self & reference to the object \\ \hline
6197 {\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline
6199 \end{tabular}
6201 \vspace{0.3cm}
6203 \noindent {\bf Return Type:}
6204 {\tt
6205 void
6210 \vspace{0.3cm}
6211 \vspace{0.3cm}
6212 \vspace{0.3cm}
6213 \subsubsection{RPC name:~add\_to\_other\_config}
6215 {\bf Overview:}
6216 Add the given key-value pair to the other\_config field of the given host.
6218 \noindent {\bf Signature:}
6219 \begin{verbatim} void add_to_other_config (session_id s, host ref self, string key, string value)\end{verbatim}
6222 \noindent{\bf Arguments:}
6225 \vspace{0.3cm}
6226 \begin{tabular}{|c|c|p{7cm}|}
6227 \hline
6228 {\bf type} & {\bf name} & {\bf description} \\ \hline
6229 {\tt host ref } & self & reference to the object \\ \hline
6231 {\tt string } & key & Key to add \\ \hline
6233 {\tt string } & value & Value to add \\ \hline
6235 \end{tabular}
6237 \vspace{0.3cm}
6239 \noindent {\bf Return Type:}
6240 {\tt
6241 void
6246 \vspace{0.3cm}
6247 \vspace{0.3cm}
6248 \vspace{0.3cm}
6249 \subsubsection{RPC name:~remove\_from\_other\_config}
6251 {\bf Overview:}
6252 Remove the given key and its corresponding value from the other\_config
6253 field of the given host. If the key is not in that Map, then do nothing.
6255 \noindent {\bf Signature:}
6256 \begin{verbatim} void remove_from_other_config (session_id s, host ref self, string key)\end{verbatim}
6259 \noindent{\bf Arguments:}
6262 \vspace{0.3cm}
6263 \begin{tabular}{|c|c|p{7cm}|}
6264 \hline
6265 {\bf type} & {\bf name} & {\bf description} \\ \hline
6266 {\tt host ref } & self & reference to the object \\ \hline
6268 {\tt string } & key & Key to remove \\ \hline
6270 \end{tabular}
6272 \vspace{0.3cm}
6274 \noindent {\bf Return Type:}
6275 {\tt
6276 void
6281 \vspace{0.3cm}
6282 \vspace{0.3cm}
6283 \vspace{0.3cm}
6284 \subsubsection{RPC name:~get\_capabilities}
6286 {\bf Overview:}
6287 Get the capabilities field of the given host.
6289 \noindent {\bf Signature:}
6290 \begin{verbatim} (string Set) get_capabilities (session_id s, host ref self)\end{verbatim}
6293 \noindent{\bf Arguments:}
6296 \vspace{0.3cm}
6297 \begin{tabular}{|c|c|p{7cm}|}
6298 \hline
6299 {\bf type} & {\bf name} & {\bf description} \\ \hline
6300 {\tt host ref } & self & reference to the object \\ \hline
6302 \end{tabular}
6304 \vspace{0.3cm}
6306 \noindent {\bf Return Type:}
6307 {\tt
6308 string Set
6312 value of the field
6313 \vspace{0.3cm}
6314 \vspace{0.3cm}
6315 \vspace{0.3cm}
6316 \subsubsection{RPC name:~get\_cpu\_configuration}
6318 {\bf Overview:}
6319 Get the cpu\_configuration field of the given host.
6321 \noindent {\bf Signature:}
6322 \begin{verbatim} ((string -> string) Map) get_cpu_configuration (session_id s, host ref self)\end{verbatim}
6325 \noindent{\bf Arguments:}
6328 \vspace{0.3cm}
6329 \begin{tabular}{|c|c|p{7cm}|}
6330 \hline
6331 {\bf type} & {\bf name} & {\bf description} \\ \hline
6332 {\tt host ref } & self & reference to the object \\ \hline
6334 \end{tabular}
6336 \vspace{0.3cm}
6338 \noindent {\bf Return Type:}
6339 {\tt
6340 (string $\rightarrow$ string) Map
6344 value of the field
6345 \vspace{0.3cm}
6346 \vspace{0.3cm}
6347 \vspace{0.3cm}
6348 \subsubsection{RPC name:~get\_sched\_policy}
6350 {\bf Overview:}
6351 Get the sched\_policy field of the given host.
6353 \noindent {\bf Signature:}
6354 \begin{verbatim} string get_sched_policy (session_id s, host ref self)\end{verbatim}
6357 \noindent{\bf Arguments:}
6360 \vspace{0.3cm}
6361 \begin{tabular}{|c|c|p{7cm}|}
6362 \hline
6363 {\bf type} & {\bf name} & {\bf description} \\ \hline
6364 {\tt host ref } & self & reference to the object \\ \hline
6366 \end{tabular}
6368 \vspace{0.3cm}
6370 \noindent {\bf Return Type:}
6371 {\tt
6372 string
6376 value of the field
6377 \vspace{0.3cm}
6378 \vspace{0.3cm}
6379 \vspace{0.3cm}
6380 \subsubsection{RPC name:~get\_supported\_bootloaders}
6382 {\bf Overview:}
6383 Get the supported\_bootloaders field of the given host.
6385 \noindent {\bf Signature:}
6386 \begin{verbatim} (string Set) get_supported_bootloaders (session_id s, host ref self)\end{verbatim}
6389 \noindent{\bf Arguments:}
6392 \vspace{0.3cm}
6393 \begin{tabular}{|c|c|p{7cm}|}
6394 \hline
6395 {\bf type} & {\bf name} & {\bf description} \\ \hline
6396 {\tt host ref } & self & reference to the object \\ \hline
6398 \end{tabular}
6400 \vspace{0.3cm}
6402 \noindent {\bf Return Type:}
6403 {\tt
6404 string Set
6408 value of the field
6409 \vspace{0.3cm}
6410 \vspace{0.3cm}
6411 \vspace{0.3cm}
6412 \subsubsection{RPC name:~get\_resident\_VMs}
6414 {\bf Overview:}
6415 Get the resident\_VMs field of the given host.
6417 \noindent {\bf Signature:}
6418 \begin{verbatim} ((VM ref) Set) get_resident_VMs (session_id s, host ref self)\end{verbatim}
6421 \noindent{\bf Arguments:}
6424 \vspace{0.3cm}
6425 \begin{tabular}{|c|c|p{7cm}|}
6426 \hline
6427 {\bf type} & {\bf name} & {\bf description} \\ \hline
6428 {\tt host ref } & self & reference to the object \\ \hline
6430 \end{tabular}
6432 \vspace{0.3cm}
6434 \noindent {\bf Return Type:}
6435 {\tt
6436 (VM ref) Set
6440 value of the field
6441 \vspace{0.3cm}
6442 \vspace{0.3cm}
6443 \vspace{0.3cm}
6444 \subsubsection{RPC name:~get\_logging}
6446 {\bf Overview:}
6447 Get the logging field of the given host.
6449 \noindent {\bf Signature:}
6450 \begin{verbatim} ((string -> string) Map) get_logging (session_id s, host ref self)\end{verbatim}
6453 \noindent{\bf Arguments:}
6456 \vspace{0.3cm}
6457 \begin{tabular}{|c|c|p{7cm}|}
6458 \hline
6459 {\bf type} & {\bf name} & {\bf description} \\ \hline
6460 {\tt host ref } & self & reference to the object \\ \hline
6462 \end{tabular}
6464 \vspace{0.3cm}
6466 \noindent {\bf Return Type:}
6467 {\tt
6468 (string $\rightarrow$ string) Map
6472 value of the field
6473 \vspace{0.3cm}
6474 \vspace{0.3cm}
6475 \vspace{0.3cm}
6476 \subsubsection{RPC name:~set\_logging}
6478 {\bf Overview:}
6479 Set the logging field of the given host.
6481 \noindent {\bf Signature:}
6482 \begin{verbatim} void set_logging (session_id s, host ref self, (string -> string) Map value)\end{verbatim}
6485 \noindent{\bf Arguments:}
6488 \vspace{0.3cm}
6489 \begin{tabular}{|c|c|p{7cm}|}
6490 \hline
6491 {\bf type} & {\bf name} & {\bf description} \\ \hline
6492 {\tt host ref } & self & reference to the object \\ \hline
6494 {\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline
6496 \end{tabular}
6498 \vspace{0.3cm}
6500 \noindent {\bf Return Type:}
6501 {\tt
6502 void
6507 \vspace{0.3cm}
6508 \vspace{0.3cm}
6509 \vspace{0.3cm}
6510 \subsubsection{RPC name:~add\_to\_logging}
6512 {\bf Overview:}
6513 Add the given key-value pair to the logging field of the given host.
6515 \noindent {\bf Signature:}
6516 \begin{verbatim} void add_to_logging (session_id s, host ref self, string key, string value)\end{verbatim}
6519 \noindent{\bf Arguments:}
6522 \vspace{0.3cm}
6523 \begin{tabular}{|c|c|p{7cm}|}
6524 \hline
6525 {\bf type} & {\bf name} & {\bf description} \\ \hline
6526 {\tt host ref } & self & reference to the object \\ \hline
6528 {\tt string } & key & Key to add \\ \hline
6530 {\tt string } & value & Value to add \\ \hline
6532 \end{tabular}
6534 \vspace{0.3cm}
6536 \noindent {\bf Return Type:}
6537 {\tt
6538 void
6543 \vspace{0.3cm}
6544 \vspace{0.3cm}
6545 \vspace{0.3cm}
6546 \subsubsection{RPC name:~remove\_from\_logging}
6548 {\bf Overview:}
6549 Remove the given key and its corresponding value from the logging field of
6550 the given host. If the key is not in that Map, then do nothing.
6552 \noindent {\bf Signature:}
6553 \begin{verbatim} void remove_from_logging (session_id s, host ref self, string key)\end{verbatim}
6556 \noindent{\bf Arguments:}
6559 \vspace{0.3cm}
6560 \begin{tabular}{|c|c|p{7cm}|}
6561 \hline
6562 {\bf type} & {\bf name} & {\bf description} \\ \hline
6563 {\tt host ref } & self & reference to the object \\ \hline
6565 {\tt string } & key & Key to remove \\ \hline
6567 \end{tabular}
6569 \vspace{0.3cm}
6571 \noindent {\bf Return Type:}
6572 {\tt
6573 void
6578 \vspace{0.3cm}
6579 \vspace{0.3cm}
6580 \vspace{0.3cm}
6581 \subsubsection{RPC name:~get\_PIFs}
6583 {\bf Overview:}
6584 Get the PIFs field of the given host.
6586 \noindent {\bf Signature:}
6587 \begin{verbatim} ((PIF ref) Set) get_PIFs (session_id s, host ref self)\end{verbatim}
6590 \noindent{\bf Arguments:}
6593 \vspace{0.3cm}
6594 \begin{tabular}{|c|c|p{7cm}|}
6595 \hline
6596 {\bf type} & {\bf name} & {\bf description} \\ \hline
6597 {\tt host ref } & self & reference to the object \\ \hline
6599 \end{tabular}
6601 \vspace{0.3cm}
6603 \noindent {\bf Return Type:}
6604 {\tt
6605 (PIF ref) Set
6609 value of the field
6610 \vspace{0.3cm}
6611 \vspace{0.3cm}
6612 \vspace{0.3cm}
6613 \subsubsection{RPC name:~get\_suspend\_image\_sr}
6615 {\bf Overview:}
6616 Get the suspend\_image\_sr field of the given host.
6618 \noindent {\bf Signature:}
6619 \begin{verbatim} (SR ref) get_suspend_image_sr (session_id s, host ref self)\end{verbatim}
6622 \noindent{\bf Arguments:}
6625 \vspace{0.3cm}
6626 \begin{tabular}{|c|c|p{7cm}|}
6627 \hline
6628 {\bf type} & {\bf name} & {\bf description} \\ \hline
6629 {\tt host ref } & self & reference to the object \\ \hline
6631 \end{tabular}
6633 \vspace{0.3cm}
6635 \noindent {\bf Return Type:}
6636 {\tt
6637 SR ref
6641 value of the field
6642 \vspace{0.3cm}
6643 \vspace{0.3cm}
6644 \vspace{0.3cm}
6645 \subsubsection{RPC name:~set\_suspend\_image\_sr}
6647 {\bf Overview:}
6648 Set the suspend\_image\_sr field of the given host.
6650 \noindent {\bf Signature:}
6651 \begin{verbatim} void set_suspend_image_sr (session_id s, host ref self, SR ref value)\end{verbatim}
6654 \noindent{\bf Arguments:}
6657 \vspace{0.3cm}
6658 \begin{tabular}{|c|c|p{7cm}|}
6659 \hline
6660 {\bf type} & {\bf name} & {\bf description} \\ \hline
6661 {\tt host ref } & self & reference to the object \\ \hline
6663 {\tt SR ref } & value & New value to set \\ \hline
6665 \end{tabular}
6667 \vspace{0.3cm}
6669 \noindent {\bf Return Type:}
6670 {\tt
6671 void
6676 \vspace{0.3cm}
6677 \vspace{0.3cm}
6678 \vspace{0.3cm}
6679 \subsubsection{RPC name:~get\_crash\_dump\_sr}
6681 {\bf Overview:}
6682 Get the crash\_dump\_sr field of the given host.
6684 \noindent {\bf Signature:}
6685 \begin{verbatim} (SR ref) get_crash_dump_sr (session_id s, host ref self)\end{verbatim}
6688 \noindent{\bf Arguments:}
6691 \vspace{0.3cm}
6692 \begin{tabular}{|c|c|p{7cm}|}
6693 \hline
6694 {\bf type} & {\bf name} & {\bf description} \\ \hline
6695 {\tt host ref } & self & reference to the object \\ \hline
6697 \end{tabular}
6699 \vspace{0.3cm}
6701 \noindent {\bf Return Type:}
6702 {\tt
6703 SR ref
6707 value of the field
6708 \vspace{0.3cm}
6709 \vspace{0.3cm}
6710 \vspace{0.3cm}
6711 \subsubsection{RPC name:~set\_crash\_dump\_sr}
6713 {\bf Overview:}
6714 Set the crash\_dump\_sr field of the given host.
6716 \noindent {\bf Signature:}
6717 \begin{verbatim} void set_crash_dump_sr (session_id s, host ref self, SR ref value)\end{verbatim}
6720 \noindent{\bf Arguments:}
6723 \vspace{0.3cm}
6724 \begin{tabular}{|c|c|p{7cm}|}
6725 \hline
6726 {\bf type} & {\bf name} & {\bf description} \\ \hline
6727 {\tt host ref } & self & reference to the object \\ \hline
6729 {\tt SR ref } & value & New value to set \\ \hline
6731 \end{tabular}
6733 \vspace{0.3cm}
6735 \noindent {\bf Return Type:}
6736 {\tt
6737 void
6742 \vspace{0.3cm}
6743 \vspace{0.3cm}
6744 \vspace{0.3cm}
6745 \subsubsection{RPC name:~get\_PBDs}
6747 {\bf Overview:}
6748 Get the PBDs field of the given host.
6750 \noindent {\bf Signature:}
6751 \begin{verbatim} ((PBD ref) Set) get_PBDs (session_id s, host ref self)\end{verbatim}
6754 \noindent{\bf Arguments:}
6757 \vspace{0.3cm}
6758 \begin{tabular}{|c|c|p{7cm}|}
6759 \hline
6760 {\bf type} & {\bf name} & {\bf description} \\ \hline
6761 {\tt host ref } & self & reference to the object \\ \hline
6763 \end{tabular}
6765 \vspace{0.3cm}
6767 \noindent {\bf Return Type:}
6768 {\tt
6769 (PBD ref) Set
6773 value of the field
6774 \vspace{0.3cm}
6775 \vspace{0.3cm}
6776 \vspace{0.3cm}
6777 \subsubsection{RPC name:~get\_host\_CPUs}
6779 {\bf Overview:}
6780 Get the host\_CPUs field of the given host.
6782 \noindent {\bf Signature:}
6783 \begin{verbatim} ((host_cpu ref) Set) get_host_CPUs (session_id s, host ref self)\end{verbatim}
6786 \noindent{\bf Arguments:}
6789 \vspace{0.3cm}
6790 \begin{tabular}{|c|c|p{7cm}|}
6791 \hline
6792 {\bf type} & {\bf name} & {\bf description} \\ \hline
6793 {\tt host ref } & self & reference to the object \\ \hline
6795 \end{tabular}
6797 \vspace{0.3cm}
6799 \noindent {\bf Return Type:}
6800 {\tt
6801 (host\_cpu ref) Set
6805 value of the field
6806 \vspace{0.3cm}
6807 \vspace{0.3cm}
6808 \vspace{0.3cm}
6809 \subsubsection{RPC name:~get\_metrics}
6811 {\bf Overview:}
6812 Get the metrics field of the given host.
6814 \noindent {\bf Signature:}
6815 \begin{verbatim} (host_metrics ref) get_metrics (session_id s, host ref self)\end{verbatim}
6818 \noindent{\bf Arguments:}
6821 \vspace{0.3cm}
6822 \begin{tabular}{|c|c|p{7cm}|}
6823 \hline
6824 {\bf type} & {\bf name} & {\bf description} \\ \hline
6825 {\tt host ref } & self & reference to the object \\ \hline
6827 \end{tabular}
6829 \vspace{0.3cm}
6831 \noindent {\bf Return Type:}
6832 {\tt
6833 host\_metrics ref
6837 value of the field
6838 \vspace{0.3cm}
6839 \vspace{0.3cm}
6840 \vspace{0.3cm}
6841 \subsubsection{RPC name:~get\_by\_uuid}
6843 {\bf Overview:}
6844 Get a reference to the host instance with the specified UUID.
6846 \noindent {\bf Signature:}
6847 \begin{verbatim} (host ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
6850 \noindent{\bf Arguments:}
6853 \vspace{0.3cm}
6854 \begin{tabular}{|c|c|p{7cm}|}
6855 \hline
6856 {\bf type} & {\bf name} & {\bf description} \\ \hline
6857 {\tt string } & uuid & UUID of object to return \\ \hline
6859 \end{tabular}
6861 \vspace{0.3cm}
6863 \noindent {\bf Return Type:}
6864 {\tt
6865 host ref
6869 reference to the object
6870 \vspace{0.3cm}
6871 \vspace{0.3cm}
6872 \vspace{0.3cm}
6873 \subsubsection{RPC name:~get\_record}
6875 {\bf Overview:}
6876 Get a record containing the current state of the given host.
6878 \noindent {\bf Signature:}
6879 \begin{verbatim} (host record) get_record (session_id s, host ref self)\end{verbatim}
6882 \noindent{\bf Arguments:}
6885 \vspace{0.3cm}
6886 \begin{tabular}{|c|c|p{7cm}|}
6887 \hline
6888 {\bf type} & {\bf name} & {\bf description} \\ \hline
6889 {\tt host ref } & self & reference to the object \\ \hline
6891 \end{tabular}
6893 \vspace{0.3cm}
6895 \noindent {\bf Return Type:}
6896 {\tt
6897 host record
6901 all fields from the object
6902 \vspace{0.3cm}
6903 \vspace{0.3cm}
6904 \vspace{0.3cm}
6905 \subsubsection{RPC name:~get\_by\_name\_label}
6907 {\bf Overview:}
6908 Get all the host instances with the given label.
6910 \noindent {\bf Signature:}
6911 \begin{verbatim} ((host ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
6914 \noindent{\bf Arguments:}
6917 \vspace{0.3cm}
6918 \begin{tabular}{|c|c|p{7cm}|}
6919 \hline
6920 {\bf type} & {\bf name} & {\bf description} \\ \hline
6921 {\tt string } & label & label of object to return \\ \hline
6923 \end{tabular}
6925 \vspace{0.3cm}
6927 \noindent {\bf Return Type:}
6928 {\tt
6929 (host ref) Set
6933 references to objects with match names
6934 \vspace{0.3cm}
6935 \vspace{0.3cm}
6936 \vspace{0.3cm}
6938 \vspace{1cm}
6939 \newpage
6940 \section{Class: host\_metrics}
6941 \subsection{Fields for class: host\_metrics}
6942 \begin{longtable}{|lllp{0.38\textwidth}|}
6943 \hline
6944 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf host\_metrics} \\
6945 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em
6946 The metrics associated with a host.}} \\
6947 \hline
6948 Quals & Field & Type & Description \\
6949 \hline
6950 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
6951 $\mathit{RO}_\mathit{run}$ & {\tt memory/total} & int & Host's total memory (bytes) \\
6952 $\mathit{RO}_\mathit{run}$ & {\tt memory/free} & int & Host's free memory (bytes) \\
6953 $\mathit{RO}_\mathit{run}$ & {\tt last\_updated} & datetime & Time at which this information was last updated \\
6954 \hline
6955 \end{longtable}
6956 \subsection{RPCs associated with class: host\_metrics}
6957 \subsubsection{RPC name:~get\_all}
6959 {\bf Overview:}
6960 Return a list of all the host\_metrics instances known to the system.
6962 \noindent {\bf Signature:}
6963 \begin{verbatim} ((host_metrics ref) Set) get_all (session_id s)\end{verbatim}
6966 \vspace{0.3cm}
6968 \noindent {\bf Return Type:}
6969 {\tt
6970 (host\_metrics ref) Set
6974 references to all objects
6975 \vspace{0.3cm}
6976 \vspace{0.3cm}
6977 \vspace{0.3cm}
6978 \subsubsection{RPC name:~get\_uuid}
6980 {\bf Overview:}
6981 Get the uuid field of the given host\_metrics.
6983 \noindent {\bf Signature:}
6984 \begin{verbatim} string get_uuid (session_id s, host_metrics ref self)\end{verbatim}
6987 \noindent{\bf Arguments:}
6990 \vspace{0.3cm}
6991 \begin{tabular}{|c|c|p{7cm}|}
6992 \hline
6993 {\bf type} & {\bf name} & {\bf description} \\ \hline
6994 {\tt host\_metrics ref } & self & reference to the object \\ \hline
6996 \end{tabular}
6998 \vspace{0.3cm}
7000 \noindent {\bf Return Type:}
7001 {\tt
7002 string
7006 value of the field
7007 \vspace{0.3cm}
7008 \vspace{0.3cm}
7009 \vspace{0.3cm}
7010 \subsubsection{RPC name:~get\_memory\_total}
7012 {\bf Overview:}
7013 Get the memory/total field of the given host\_metrics.
7015 \noindent {\bf Signature:}
7016 \begin{verbatim} int get_memory_total (session_id s, host_metrics ref self)\end{verbatim}
7019 \noindent{\bf Arguments:}
7022 \vspace{0.3cm}
7023 \begin{tabular}{|c|c|p{7cm}|}
7024 \hline
7025 {\bf type} & {\bf name} & {\bf description} \\ \hline
7026 {\tt host\_metrics ref } & self & reference to the object \\ \hline
7028 \end{tabular}
7030 \vspace{0.3cm}
7032 \noindent {\bf Return Type:}
7033 {\tt
7034 int
7038 value of the field
7039 \vspace{0.3cm}
7040 \vspace{0.3cm}
7041 \vspace{0.3cm}
7042 \subsubsection{RPC name:~get\_memory\_free}
7044 {\bf Overview:}
7045 Get the memory/free field of the given host\_metrics.
7047 \noindent {\bf Signature:}
7048 \begin{verbatim} int get_memory_free (session_id s, host_metrics ref self)\end{verbatim}
7051 \noindent{\bf Arguments:}
7054 \vspace{0.3cm}
7055 \begin{tabular}{|c|c|p{7cm}|}
7056 \hline
7057 {\bf type} & {\bf name} & {\bf description} \\ \hline
7058 {\tt host\_metrics ref } & self & reference to the object \\ \hline
7060 \end{tabular}
7062 \vspace{0.3cm}
7064 \noindent {\bf Return Type:}
7065 {\tt
7066 int
7070 value of the field
7071 \vspace{0.3cm}
7072 \vspace{0.3cm}
7073 \vspace{0.3cm}
7074 \subsubsection{RPC name:~get\_last\_updated}
7076 {\bf Overview:}
7077 Get the last\_updated field of the given host\_metrics.
7079 \noindent {\bf Signature:}
7080 \begin{verbatim} datetime get_last_updated (session_id s, host_metrics ref self)\end{verbatim}
7083 \noindent{\bf Arguments:}
7086 \vspace{0.3cm}
7087 \begin{tabular}{|c|c|p{7cm}|}
7088 \hline
7089 {\bf type} & {\bf name} & {\bf description} \\ \hline
7090 {\tt host\_metrics ref } & self & reference to the object \\ \hline
7092 \end{tabular}
7094 \vspace{0.3cm}
7096 \noindent {\bf Return Type:}
7097 {\tt
7098 datetime
7102 value of the field
7103 \vspace{0.3cm}
7104 \vspace{0.3cm}
7105 \vspace{0.3cm}
7106 \subsubsection{RPC name:~get\_by\_uuid}
7108 {\bf Overview:}
7109 Get a reference to the host\_metrics instance with the specified UUID.
7111 \noindent {\bf Signature:}
7112 \begin{verbatim} (host_metrics ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
7115 \noindent{\bf Arguments:}
7118 \vspace{0.3cm}
7119 \begin{tabular}{|c|c|p{7cm}|}
7120 \hline
7121 {\bf type} & {\bf name} & {\bf description} \\ \hline
7122 {\tt string } & uuid & UUID of object to return \\ \hline
7124 \end{tabular}
7126 \vspace{0.3cm}
7128 \noindent {\bf Return Type:}
7129 {\tt
7130 host\_metrics ref
7134 reference to the object
7135 \vspace{0.3cm}
7136 \vspace{0.3cm}
7137 \vspace{0.3cm}
7138 \subsubsection{RPC name:~get\_record}
7140 {\bf Overview:}
7141 Get a record containing the current state of the given host\_metrics.
7143 \noindent {\bf Signature:}
7144 \begin{verbatim} (host_metrics record) get_record (session_id s, host_metrics ref self)\end{verbatim}
7147 \noindent{\bf Arguments:}
7150 \vspace{0.3cm}
7151 \begin{tabular}{|c|c|p{7cm}|}
7152 \hline
7153 {\bf type} & {\bf name} & {\bf description} \\ \hline
7154 {\tt host\_metrics ref } & self & reference to the object \\ \hline
7156 \end{tabular}
7158 \vspace{0.3cm}
7160 \noindent {\bf Return Type:}
7161 {\tt
7162 host\_metrics record
7166 all fields from the object
7167 \vspace{0.3cm}
7168 \vspace{0.3cm}
7169 \vspace{0.3cm}
7171 \vspace{1cm}
7172 \newpage
7173 \section{Class: host\_cpu}
7174 \subsection{Fields for class: host\_cpu}
7175 \begin{longtable}{|lllp{0.38\textwidth}|}
7176 \hline
7177 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf host\_cpu} \\
7178 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A physical CPU}} \\
7179 \hline
7180 Quals & Field & Type & Description \\
7181 \hline
7182 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
7183 $\mathit{RO}_\mathit{run}$ & {\tt host} & host ref & the host the CPU is in \\
7184 $\mathit{RO}_\mathit{run}$ & {\tt number} & int & the number of the physical CPU within the host \\
7185 $\mathit{RO}_\mathit{run}$ & {\tt vendor} & string & the vendor of the physical CPU \\
7186 $\mathit{RO}_\mathit{run}$ & {\tt speed} & int & the speed of the physical CPU \\
7187 $\mathit{RO}_\mathit{run}$ & {\tt modelname} & string & the model name of the physical CPU \\
7188 $\mathit{RO}_\mathit{run}$ & {\tt stepping} & string & the stepping of the physical CPU \\
7189 $\mathit{RO}_\mathit{run}$ & {\tt flags} & string & the flags of the physical CPU (a decoded version of the features field) \\
7190 $\mathit{RO}_\mathit{run}$ & {\tt features} & string & the physical CPU feature bitmap \\
7191 $\mathit{RO}_\mathit{run}$ & {\tt utilisation} & float & the current CPU utilisation \\
7192 \hline
7193 \end{longtable}
7194 \subsection{RPCs associated with class: host\_cpu}
7195 \subsubsection{RPC name:~get\_all}
7197 {\bf Overview:}
7198 Return a list of all the host\_cpus known to the system.
7200 \noindent {\bf Signature:}
7201 \begin{verbatim} ((host_cpu ref) Set) get_all (session_id s)\end{verbatim}
7204 \vspace{0.3cm}
7206 \noindent {\bf Return Type:}
7207 {\tt
7208 (host\_cpu ref) Set
7212 references to all objects
7213 \vspace{0.3cm}
7214 \vspace{0.3cm}
7215 \vspace{0.3cm}
7216 \subsubsection{RPC name:~get\_uuid}
7218 {\bf Overview:}
7219 Get the uuid field of the given host\_cpu.
7221 \noindent {\bf Signature:}
7222 \begin{verbatim} string get_uuid (session_id s, host_cpu ref self)\end{verbatim}
7225 \noindent{\bf Arguments:}
7228 \vspace{0.3cm}
7229 \begin{tabular}{|c|c|p{7cm}|}
7230 \hline
7231 {\bf type} & {\bf name} & {\bf description} \\ \hline
7232 {\tt host\_cpu ref } & self & reference to the object \\ \hline
7234 \end{tabular}
7236 \vspace{0.3cm}
7238 \noindent {\bf Return Type:}
7239 {\tt
7240 string
7244 value of the field
7245 \vspace{0.3cm}
7246 \vspace{0.3cm}
7247 \vspace{0.3cm}
7248 \subsubsection{RPC name:~get\_host}
7250 {\bf Overview:}
7251 Get the host field of the given host\_cpu.
7253 \noindent {\bf Signature:}
7254 \begin{verbatim} (host ref) get_host (session_id s, host_cpu ref self)\end{verbatim}
7257 \noindent{\bf Arguments:}
7260 \vspace{0.3cm}
7261 \begin{tabular}{|c|c|p{7cm}|}
7262 \hline
7263 {\bf type} & {\bf name} & {\bf description} \\ \hline
7264 {\tt host\_cpu ref } & self & reference to the object \\ \hline
7266 \end{tabular}
7268 \vspace{0.3cm}
7270 \noindent {\bf Return Type:}
7271 {\tt
7272 host ref
7276 value of the field
7277 \vspace{0.3cm}
7278 \vspace{0.3cm}
7279 \vspace{0.3cm}
7280 \subsubsection{RPC name:~get\_number}
7282 {\bf Overview:}
7283 Get the number field of the given host\_cpu.
7285 \noindent {\bf Signature:}
7286 \begin{verbatim} int get_number (session_id s, host_cpu ref self)\end{verbatim}
7289 \noindent{\bf Arguments:}
7292 \vspace{0.3cm}
7293 \begin{tabular}{|c|c|p{7cm}|}
7294 \hline
7295 {\bf type} & {\bf name} & {\bf description} \\ \hline
7296 {\tt host\_cpu ref } & self & reference to the object \\ \hline
7298 \end{tabular}
7300 \vspace{0.3cm}
7302 \noindent {\bf Return Type:}
7303 {\tt
7304 int
7308 value of the field
7309 \vspace{0.3cm}
7310 \vspace{0.3cm}
7311 \vspace{0.3cm}
7312 \subsubsection{RPC name:~get\_vendor}
7314 {\bf Overview:}
7315 Get the vendor field of the given host\_cpu.
7317 \noindent {\bf Signature:}
7318 \begin{verbatim} string get_vendor (session_id s, host_cpu ref self)\end{verbatim}
7321 \noindent{\bf Arguments:}
7324 \vspace{0.3cm}
7325 \begin{tabular}{|c|c|p{7cm}|}
7326 \hline
7327 {\bf type} & {\bf name} & {\bf description} \\ \hline
7328 {\tt host\_cpu ref } & self & reference to the object \\ \hline
7330 \end{tabular}
7332 \vspace{0.3cm}
7334 \noindent {\bf Return Type:}
7335 {\tt
7336 string
7340 value of the field
7341 \vspace{0.3cm}
7342 \vspace{0.3cm}
7343 \vspace{0.3cm}
7344 \subsubsection{RPC name:~get\_speed}
7346 {\bf Overview:}
7347 Get the speed field of the given host\_cpu.
7349 \noindent {\bf Signature:}
7350 \begin{verbatim} int get_speed (session_id s, host_cpu ref self)\end{verbatim}
7353 \noindent{\bf Arguments:}
7356 \vspace{0.3cm}
7357 \begin{tabular}{|c|c|p{7cm}|}
7358 \hline
7359 {\bf type} & {\bf name} & {\bf description} \\ \hline
7360 {\tt host\_cpu ref } & self & reference to the object \\ \hline
7362 \end{tabular}
7364 \vspace{0.3cm}
7366 \noindent {\bf Return Type:}
7367 {\tt
7368 int
7372 value of the field
7373 \vspace{0.3cm}
7374 \vspace{0.3cm}
7375 \vspace{0.3cm}
7376 \subsubsection{RPC name:~get\_modelname}
7378 {\bf Overview:}
7379 Get the modelname field of the given host\_cpu.
7381 \noindent {\bf Signature:}
7382 \begin{verbatim} string get_modelname (session_id s, host_cpu ref self)\end{verbatim}
7385 \noindent{\bf Arguments:}
7388 \vspace{0.3cm}
7389 \begin{tabular}{|c|c|p{7cm}|}
7390 \hline
7391 {\bf type} & {\bf name} & {\bf description} \\ \hline
7392 {\tt host\_cpu ref } & self & reference to the object \\ \hline
7394 \end{tabular}
7396 \vspace{0.3cm}
7398 \noindent {\bf Return Type:}
7399 {\tt
7400 string
7404 value of the field
7405 \vspace{0.3cm}
7406 \vspace{0.3cm}
7407 \vspace{0.3cm}
7408 \subsubsection{RPC name:~get\_stepping}
7410 {\bf Overview:}
7411 Get the stepping field of the given host\_cpu.
7413 \noindent {\bf Signature:}
7414 \begin{verbatim} string get_stepping (session_id s, host_cpu ref self)\end{verbatim}
7417 \noindent{\bf Arguments:}
7420 \vspace{0.3cm}
7421 \begin{tabular}{|c|c|p{7cm}|}
7422 \hline
7423 {\bf type} & {\bf name} & {\bf description} \\ \hline
7424 {\tt host\_cpu ref } & self & reference to the object \\ \hline
7426 \end{tabular}
7428 \vspace{0.3cm}
7430 \noindent {\bf Return Type:}
7431 {\tt
7432 string
7436 value of the field
7437 \vspace{0.3cm}
7438 \vspace{0.3cm}
7439 \vspace{0.3cm}
7440 \subsubsection{RPC name:~get\_flags}
7442 {\bf Overview:}
7443 Get the flags field of the given host\_cpu. As of this version of the
7444 API, the semantics of the returned string are explicitly unspecified,
7445 and may change in the future.
7447 \noindent {\bf Signature:}
7448 \begin{verbatim} string get_flags (session_id s, host_cpu ref self)\end{verbatim}
7451 \noindent{\bf Arguments:}
7454 \vspace{0.3cm}
7455 \begin{tabular}{|c|c|p{7cm}|}
7456 \hline
7457 {\bf type} & {\bf name} & {\bf description} \\ \hline
7458 {\tt host\_cpu ref } & self & reference to the object \\ \hline
7460 \end{tabular}
7462 \vspace{0.3cm}
7464 \noindent {\bf Return Type:}
7465 {\tt
7466 string
7470 value of the field
7471 \vspace{0.3cm}
7472 \vspace{0.3cm}
7473 \vspace{0.3cm}
7474 \subsubsection{RPC name:~get\_features}
7476 {\bf Overview:}
7477 Get the features field of the given host\_cpu. As of this version of the
7478 API, the semantics of the returned string are explicitly unspecified,
7479 and may change in the future.
7481 \noindent {\bf Signature:}
7482 \begin{verbatim} string get_features (session_id s, host_cpu ref self)\end{verbatim}
7485 \noindent{\bf Arguments:}
7488 \vspace{0.3cm}
7489 \begin{tabular}{|c|c|p{7cm}|}
7490 \hline
7491 {\bf type} & {\bf name} & {\bf description} \\ \hline
7492 {\tt host\_cpu ref } & self & reference to the object \\ \hline
7494 \end{tabular}
7496 \vspace{0.3cm}
7498 \noindent {\bf Return Type:}
7499 {\tt
7500 string
7504 value of the field
7505 \vspace{0.3cm}
7506 \vspace{0.3cm}
7507 \vspace{0.3cm}
7508 \subsubsection{RPC name:~get\_utilisation}
7510 {\bf Overview:}
7511 Get the utilisation field of the given host\_cpu.
7513 \noindent {\bf Signature:}
7514 \begin{verbatim} float get_utilisation (session_id s, host_cpu ref self)\end{verbatim}
7517 \noindent{\bf Arguments:}
7520 \vspace{0.3cm}
7521 \begin{tabular}{|c|c|p{7cm}|}
7522 \hline
7523 {\bf type} & {\bf name} & {\bf description} \\ \hline
7524 {\tt host\_cpu ref } & self & reference to the object \\ \hline
7526 \end{tabular}
7528 \vspace{0.3cm}
7530 \noindent {\bf Return Type:}
7531 {\tt
7532 float
7536 value of the field
7537 \vspace{0.3cm}
7538 \vspace{0.3cm}
7539 \vspace{0.3cm}
7540 \subsubsection{RPC name:~get\_by\_uuid}
7542 {\bf Overview:}
7543 Get a reference to the host\_cpu instance with the specified UUID.
7545 \noindent {\bf Signature:}
7546 \begin{verbatim} (host_cpu ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
7549 \noindent{\bf Arguments:}
7552 \vspace{0.3cm}
7553 \begin{tabular}{|c|c|p{7cm}|}
7554 \hline
7555 {\bf type} & {\bf name} & {\bf description} \\ \hline
7556 {\tt string } & uuid & UUID of object to return \\ \hline
7558 \end{tabular}
7560 \vspace{0.3cm}
7562 \noindent {\bf Return Type:}
7563 {\tt
7564 host\_cpu ref
7568 reference to the object
7569 \vspace{0.3cm}
7570 \vspace{0.3cm}
7571 \vspace{0.3cm}
7572 \subsubsection{RPC name:~get\_record}
7574 {\bf Overview:}
7575 Get a record containing the current state of the given host\_cpu.
7577 \noindent {\bf Signature:}
7578 \begin{verbatim} (host_cpu record) get_record (session_id s, host_cpu ref self)\end{verbatim}
7581 \noindent{\bf Arguments:}
7584 \vspace{0.3cm}
7585 \begin{tabular}{|c|c|p{7cm}|}
7586 \hline
7587 {\bf type} & {\bf name} & {\bf description} \\ \hline
7588 {\tt host\_cpu ref } & self & reference to the object \\ \hline
7590 \end{tabular}
7592 \vspace{0.3cm}
7594 \noindent {\bf Return Type:}
7595 {\tt
7596 host\_cpu record
7600 all fields from the object
7601 \vspace{0.3cm}
7602 \vspace{0.3cm}
7603 \vspace{0.3cm}
7605 \vspace{1cm}
7606 \newpage
7607 \section{Class: network}
7608 \subsection{Fields for class: network}
7609 \begin{longtable}{|lllp{0.38\textwidth}|}
7610 \hline
7611 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf network} \\
7612 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
7613 virtual network.}} \\
7614 \hline
7615 Quals & Field & Type & Description \\
7616 \hline
7617 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
7618 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
7619 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
7620 $\mathit{RO}_\mathit{run}$ & {\tt VIFs} & (VIF ref) Set & list of connected vifs \\
7621 $\mathit{RO}_\mathit{run}$ & {\tt PIFs} & (PIF ref) Set & list of connected pifs \\
7622 $\mathit{RW}$ & {\tt other\_config} & (string $\rightarrow$ string) Map & additional configuration \\
7623 \hline
7624 \end{longtable}
7625 \subsection{RPCs associated with class: network}
7626 \subsubsection{RPC name:~get\_all}
7628 {\bf Overview:}
7629 Return a list of all the networks known to the system
7631 \noindent {\bf Signature:}
7632 \begin{verbatim} ((network ref) Set) get_all (session_id s)\end{verbatim}
7635 \vspace{0.3cm}
7637 \noindent {\bf Return Type:}
7638 {\tt
7639 (network ref) Set
7643 A list of all the IDs of all the networks
7644 \vspace{0.3cm}
7645 \vspace{0.3cm}
7646 \vspace{0.3cm}
7647 \subsubsection{RPC name:~get\_uuid}
7649 {\bf Overview:}
7650 Get the uuid field of the given network.
7652 \noindent {\bf Signature:}
7653 \begin{verbatim} string get_uuid (session_id s, network ref self)\end{verbatim}
7656 \noindent{\bf Arguments:}
7659 \vspace{0.3cm}
7660 \begin{tabular}{|c|c|p{7cm}|}
7661 \hline
7662 {\bf type} & {\bf name} & {\bf description} \\ \hline
7663 {\tt network ref } & self & reference to the object \\ \hline
7665 \end{tabular}
7667 \vspace{0.3cm}
7669 \noindent {\bf Return Type:}
7670 {\tt
7671 string
7675 value of the field
7676 \vspace{0.3cm}
7677 \vspace{0.3cm}
7678 \vspace{0.3cm}
7679 \subsubsection{RPC name:~get\_name\_label}
7681 {\bf Overview:}
7682 Get the name/label field of the given network.
7684 \noindent {\bf Signature:}
7685 \begin{verbatim} string get_name_label (session_id s, network ref self)\end{verbatim}
7688 \noindent{\bf Arguments:}
7691 \vspace{0.3cm}
7692 \begin{tabular}{|c|c|p{7cm}|}
7693 \hline
7694 {\bf type} & {\bf name} & {\bf description} \\ \hline
7695 {\tt network ref } & self & reference to the object \\ \hline
7697 \end{tabular}
7699 \vspace{0.3cm}
7701 \noindent {\bf Return Type:}
7702 {\tt
7703 string
7707 value of the field
7708 \vspace{0.3cm}
7709 \vspace{0.3cm}
7710 \vspace{0.3cm}
7711 \subsubsection{RPC name:~set\_name\_label}
7713 {\bf Overview:}
7714 Set the name/label field of the given network.
7716 \noindent {\bf Signature:}
7717 \begin{verbatim} void set_name_label (session_id s, network ref self, string value)\end{verbatim}
7720 \noindent{\bf Arguments:}
7723 \vspace{0.3cm}
7724 \begin{tabular}{|c|c|p{7cm}|}
7725 \hline
7726 {\bf type} & {\bf name} & {\bf description} \\ \hline
7727 {\tt network ref } & self & reference to the object \\ \hline
7729 {\tt string } & value & New value to set \\ \hline
7731 \end{tabular}
7733 \vspace{0.3cm}
7735 \noindent {\bf Return Type:}
7736 {\tt
7737 void
7742 \vspace{0.3cm}
7743 \vspace{0.3cm}
7744 \vspace{0.3cm}
7745 \subsubsection{RPC name:~get\_name\_description}
7747 {\bf Overview:}
7748 Get the name/description field of the given network.
7750 \noindent {\bf Signature:}
7751 \begin{verbatim} string get_name_description (session_id s, network ref self)\end{verbatim}
7754 \noindent{\bf Arguments:}
7757 \vspace{0.3cm}
7758 \begin{tabular}{|c|c|p{7cm}|}
7759 \hline
7760 {\bf type} & {\bf name} & {\bf description} \\ \hline
7761 {\tt network ref } & self & reference to the object \\ \hline
7763 \end{tabular}
7765 \vspace{0.3cm}
7767 \noindent {\bf Return Type:}
7768 {\tt
7769 string
7773 value of the field
7774 \vspace{0.3cm}
7775 \vspace{0.3cm}
7776 \vspace{0.3cm}
7777 \subsubsection{RPC name:~set\_name\_description}
7779 {\bf Overview:}
7780 Set the name/description field of the given network.
7782 \noindent {\bf Signature:}
7783 \begin{verbatim} void set_name_description (session_id s, network ref self, string value)\end{verbatim}
7786 \noindent{\bf Arguments:}
7789 \vspace{0.3cm}
7790 \begin{tabular}{|c|c|p{7cm}|}
7791 \hline
7792 {\bf type} & {\bf name} & {\bf description} \\ \hline
7793 {\tt network ref } & self & reference to the object \\ \hline
7795 {\tt string } & value & New value to set \\ \hline
7797 \end{tabular}
7799 \vspace{0.3cm}
7801 \noindent {\bf Return Type:}
7802 {\tt
7803 void
7808 \vspace{0.3cm}
7809 \vspace{0.3cm}
7810 \vspace{0.3cm}
7811 \subsubsection{RPC name:~get\_VIFs}
7813 {\bf Overview:}
7814 Get the VIFs field of the given network.
7816 \noindent {\bf Signature:}
7817 \begin{verbatim} ((VIF ref) Set) get_VIFs (session_id s, network ref self)\end{verbatim}
7820 \noindent{\bf Arguments:}
7823 \vspace{0.3cm}
7824 \begin{tabular}{|c|c|p{7cm}|}
7825 \hline
7826 {\bf type} & {\bf name} & {\bf description} \\ \hline
7827 {\tt network ref } & self & reference to the object \\ \hline
7829 \end{tabular}
7831 \vspace{0.3cm}
7833 \noindent {\bf Return Type:}
7834 {\tt
7835 (VIF ref) Set
7839 value of the field
7840 \vspace{0.3cm}
7841 \vspace{0.3cm}
7842 \vspace{0.3cm}
7843 \subsubsection{RPC name:~get\_PIFs}
7845 {\bf Overview:}
7846 Get the PIFs field of the given network.
7848 \noindent {\bf Signature:}
7849 \begin{verbatim} ((PIF ref) Set) get_PIFs (session_id s, network ref self)\end{verbatim}
7852 \noindent{\bf Arguments:}
7855 \vspace{0.3cm}
7856 \begin{tabular}{|c|c|p{7cm}|}
7857 \hline
7858 {\bf type} & {\bf name} & {\bf description} \\ \hline
7859 {\tt network ref } & self & reference to the object \\ \hline
7861 \end{tabular}
7863 \vspace{0.3cm}
7865 \noindent {\bf Return Type:}
7866 {\tt
7867 (PIF ref) Set
7871 value of the field
7872 \vspace{0.3cm}
7873 \vspace{0.3cm}
7874 \vspace{0.3cm}
7875 \subsubsection{RPC name:~get\_other\_config}
7877 {\bf Overview:}
7878 Get the other\_config field of the given network.
7880 \noindent {\bf Signature:}
7881 \begin{verbatim} ((string -> string) Map) get_other_config (session_id s, network ref self)\end{verbatim}
7884 \noindent{\bf Arguments:}
7887 \vspace{0.3cm}
7888 \begin{tabular}{|c|c|p{7cm}|}
7889 \hline
7890 {\bf type} & {\bf name} & {\bf description} \\ \hline
7891 {\tt network ref } & self & reference to the object \\ \hline
7893 \end{tabular}
7895 \vspace{0.3cm}
7897 \noindent {\bf Return Type:}
7898 {\tt
7899 (string $\rightarrow$ string) Map
7903 value of the field
7904 \vspace{0.3cm}
7905 \vspace{0.3cm}
7906 \vspace{0.3cm}
7907 \subsubsection{RPC name:~set\_other\_config}
7909 {\bf Overview:}
7910 Set the other\_config field of the given network.
7912 \noindent {\bf Signature:}
7913 \begin{verbatim} void set_other_config (session_id s, network ref self, (string -> string) Map value)\end{verbatim}
7916 \noindent{\bf Arguments:}
7919 \vspace{0.3cm}
7920 \begin{tabular}{|c|c|p{7cm}|}
7921 \hline
7922 {\bf type} & {\bf name} & {\bf description} \\ \hline
7923 {\tt network ref } & self & reference to the object \\ \hline
7925 {\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline
7927 \end{tabular}
7929 \vspace{0.3cm}
7931 \noindent {\bf Return Type:}
7932 {\tt
7933 void
7938 \vspace{0.3cm}
7939 \vspace{0.3cm}
7940 \vspace{0.3cm}
7941 \subsubsection{RPC name:~add\_to\_other\_config}
7943 {\bf Overview:}
7944 Add the given key-value pair to the other\_config field of the given
7945 network.
7947 \noindent {\bf Signature:}
7948 \begin{verbatim} void add_to_other_config (session_id s, network ref self, string key, string value)\end{verbatim}
7951 \noindent{\bf Arguments:}
7954 \vspace{0.3cm}
7955 \begin{tabular}{|c|c|p{7cm}|}
7956 \hline
7957 {\bf type} & {\bf name} & {\bf description} \\ \hline
7958 {\tt network ref } & self & reference to the object \\ \hline
7960 {\tt string } & key & Key to add \\ \hline
7962 {\tt string } & value & Value to add \\ \hline
7964 \end{tabular}
7966 \vspace{0.3cm}
7968 \noindent {\bf Return Type:}
7969 {\tt
7970 void
7975 \vspace{0.3cm}
7976 \vspace{0.3cm}
7977 \vspace{0.3cm}
7978 \subsubsection{RPC name:~remove\_from\_other\_config}
7980 {\bf Overview:}
7981 Remove the given key and its corresponding value from the other\_config
7982 field of the given network. If the key is not in that Map, then do
7983 nothing.
7985 \noindent {\bf Signature:}
7986 \begin{verbatim} void remove_from_other_config (session_id s, network ref self, string key)\end{verbatim}
7989 \noindent{\bf Arguments:}
7992 \vspace{0.3cm}
7993 \begin{tabular}{|c|c|p{7cm}|}
7994 \hline
7995 {\bf type} & {\bf name} & {\bf description} \\ \hline
7996 {\tt network ref } & self & reference to the object \\ \hline
7998 {\tt string } & key & Key to remove \\ \hline
8000 \end{tabular}
8002 \vspace{0.3cm}
8004 \noindent {\bf Return Type:}
8005 {\tt
8006 void
8011 \vspace{0.3cm}
8012 \vspace{0.3cm}
8013 \vspace{0.3cm}
8014 \subsubsection{RPC name:~create}
8016 {\bf Overview:}
8017 Create a new network instance, and return its handle.
8019 \noindent {\bf Signature:}
8020 \begin{verbatim} (network ref) create (session_id s, network record args)\end{verbatim}
8023 \noindent{\bf Arguments:}
8026 \vspace{0.3cm}
8027 \begin{tabular}{|c|c|p{7cm}|}
8028 \hline
8029 {\bf type} & {\bf name} & {\bf description} \\ \hline
8030 {\tt network record } & args & All constructor arguments \\ \hline
8032 \end{tabular}
8034 \vspace{0.3cm}
8036 \noindent {\bf Return Type:}
8037 {\tt
8038 network ref
8042 reference to the newly created object
8043 \vspace{0.3cm}
8044 \vspace{0.3cm}
8045 \vspace{0.3cm}
8046 \subsubsection{RPC name:~destroy}
8048 {\bf Overview:}
8049 Destroy the specified network instance.
8051 \noindent {\bf Signature:}
8052 \begin{verbatim} void destroy (session_id s, network ref self)\end{verbatim}
8055 \noindent{\bf Arguments:}
8058 \vspace{0.3cm}
8059 \begin{tabular}{|c|c|p{7cm}|}
8060 \hline
8061 {\bf type} & {\bf name} & {\bf description} \\ \hline
8062 {\tt network ref } & self & reference to the object \\ \hline
8064 \end{tabular}
8066 \vspace{0.3cm}
8068 \noindent {\bf Return Type:}
8069 {\tt
8070 void
8075 \vspace{0.3cm}
8076 \vspace{0.3cm}
8077 \vspace{0.3cm}
8078 \subsubsection{RPC name:~get\_by\_uuid}
8080 {\bf Overview:}
8081 Get a reference to the network instance with the specified UUID.
8083 \noindent {\bf Signature:}
8084 \begin{verbatim} (network ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
8087 \noindent{\bf Arguments:}
8090 \vspace{0.3cm}
8091 \begin{tabular}{|c|c|p{7cm}|}
8092 \hline
8093 {\bf type} & {\bf name} & {\bf description} \\ \hline
8094 {\tt string } & uuid & UUID of object to return \\ \hline
8096 \end{tabular}
8098 \vspace{0.3cm}
8100 \noindent {\bf Return Type:}
8101 {\tt
8102 network ref
8106 reference to the object
8107 \vspace{0.3cm}
8108 \vspace{0.3cm}
8109 \vspace{0.3cm}
8110 \subsubsection{RPC name:~get\_record}
8112 {\bf Overview:}
8113 Get a record containing the current state of the given network.
8115 \noindent {\bf Signature:}
8116 \begin{verbatim} (network record) get_record (session_id s, network ref self)\end{verbatim}
8119 \noindent{\bf Arguments:}
8122 \vspace{0.3cm}
8123 \begin{tabular}{|c|c|p{7cm}|}
8124 \hline
8125 {\bf type} & {\bf name} & {\bf description} \\ \hline
8126 {\tt network ref } & self & reference to the object \\ \hline
8128 \end{tabular}
8130 \vspace{0.3cm}
8132 \noindent {\bf Return Type:}
8133 {\tt
8134 network record
8138 all fields from the object
8139 \vspace{0.3cm}
8140 \vspace{0.3cm}
8141 \vspace{0.3cm}
8142 \subsubsection{RPC name:~get\_by\_name\_label}
8144 {\bf Overview:}
8145 Get all the network instances with the given label.
8147 \noindent {\bf Signature:}
8148 \begin{verbatim} ((network ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
8151 \noindent{\bf Arguments:}
8154 \vspace{0.3cm}
8155 \begin{tabular}{|c|c|p{7cm}|}
8156 \hline
8157 {\bf type} & {\bf name} & {\bf description} \\ \hline
8158 {\tt string } & label & label of object to return \\ \hline
8160 \end{tabular}
8162 \vspace{0.3cm}
8164 \noindent {\bf Return Type:}
8165 {\tt
8166 (network ref) Set
8170 references to objects with match names
8171 \vspace{0.3cm}
8172 \vspace{0.3cm}
8173 \vspace{0.3cm}
8175 \vspace{1cm}
8176 \newpage
8177 \section{Class: VIF}
8178 \subsection{Fields for class: VIF}
8179 \begin{longtable}{|lllp{0.38\textwidth}|}
8180 \hline
8181 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VIF} \\
8182 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
8183 virtual network interface.}} \\
8184 \hline
8185 Quals & Field & Type & Description \\
8186 \hline
8187 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
8188 $\mathit{RW}$ & {\tt device} & string & name of network device as exposed to guest e.g. eth0 \\
8189 $\mathit{RO}_\mathit{ins}$ & {\tt network} & network ref & virtual network to which this vif is connected \\
8190 $\mathit{RO}_\mathit{ins}$ & {\tt VM} & VM ref & virtual machine to which this vif is connected \\
8191 $\mathit{RW}$ & {\tt MAC} & string & ethernet MAC address of virtual interface, as exposed to guest \\
8192 $\mathit{RW}$ & {\tt MTU} & int & MTU in octets \\
8193 $\mathit{RO}_\mathit{run}$ & {\tt currently\_attached} & bool & is the device currently attached (erased on reboot) \\
8194 $\mathit{RO}_\mathit{run}$ & {\tt status\_code} & int & error/success code associated with last attach-operation (erased on reboot) \\
8195 $\mathit{RO}_\mathit{run}$ & {\tt status\_detail} & string & error/success information associated with last attach-operation status (erased on reboot) \\
8196 $\mathit{RO}_\mathit{run}$ & {\tt runtime\_properties} & (string $\rightarrow$ string) Map & Device runtime properties \\
8197 $\mathit{RW}$ & {\tt qos/algorithm\_type} & string & QoS algorithm to use \\
8198 $\mathit{RW}$ & {\tt qos/algorithm\_params} & (string $\rightarrow$ string) Map & parameters for chosen QoS algorithm \\
8199 $\mathit{RO}_\mathit{run}$ & {\tt qos/supported\_algorithms} & string Set & supported QoS algorithms for this VIF \\
8200 $\mathit{RO}_\mathit{run}$ & {\tt metrics} & VIF\_metrics ref & metrics associated with this VIF \\
8201 \hline
8202 \end{longtable}
8203 \subsection{RPCs associated with class: VIF}
8204 \subsubsection{RPC name:~plug}
8206 {\bf Overview:}
8207 Hotplug the specified VIF, dynamically attaching it to the running VM.
8209 \noindent {\bf Signature:}
8210 \begin{verbatim} void plug (session_id s, VIF ref self)\end{verbatim}
8213 \noindent{\bf Arguments:}
8216 \vspace{0.3cm}
8217 \begin{tabular}{|c|c|p{7cm}|}
8218 \hline
8219 {\bf type} & {\bf name} & {\bf description} \\ \hline
8220 {\tt VIF ref } & self & The VIF to hotplug \\ \hline
8222 \end{tabular}
8224 \vspace{0.3cm}
8226 \noindent {\bf Return Type:}
8227 {\tt
8228 void
8233 \vspace{0.3cm}
8234 \vspace{0.3cm}
8235 \vspace{0.3cm}
8236 \subsubsection{RPC name:~unplug}
8238 {\bf Overview:}
8239 Hot-unplug the specified VIF, dynamically unattaching it from the running
8240 VM.
8242 \noindent {\bf Signature:}
8243 \begin{verbatim} void unplug (session_id s, VIF ref self)\end{verbatim}
8246 \noindent{\bf Arguments:}
8249 \vspace{0.3cm}
8250 \begin{tabular}{|c|c|p{7cm}|}
8251 \hline
8252 {\bf type} & {\bf name} & {\bf description} \\ \hline
8253 {\tt VIF ref } & self & The VIF to hot-unplug \\ \hline
8255 \end{tabular}
8257 \vspace{0.3cm}
8259 \noindent {\bf Return Type:}
8260 {\tt
8261 void
8266 \vspace{0.3cm}
8267 \vspace{0.3cm}
8268 \vspace{0.3cm}
8269 \subsubsection{RPC name:~get\_all}
8271 {\bf Overview:}
8272 Return a list of all the VIFs known to the system.
8274 \noindent {\bf Signature:}
8275 \begin{verbatim} ((VIF ref) Set) get_all (session_id s)\end{verbatim}
8278 \vspace{0.3cm}
8280 \noindent {\bf Return Type:}
8281 {\tt
8282 (VIF ref) Set
8286 references to all objects
8287 \vspace{0.3cm}
8288 \vspace{0.3cm}
8289 \vspace{0.3cm}
8290 \subsubsection{RPC name:~get\_uuid}
8292 {\bf Overview:}
8293 Get the uuid field of the given VIF.
8295 \noindent {\bf Signature:}
8296 \begin{verbatim} string get_uuid (session_id s, VIF ref self)\end{verbatim}
8299 \noindent{\bf Arguments:}
8302 \vspace{0.3cm}
8303 \begin{tabular}{|c|c|p{7cm}|}
8304 \hline
8305 {\bf type} & {\bf name} & {\bf description} \\ \hline
8306 {\tt VIF ref } & self & reference to the object \\ \hline
8308 \end{tabular}
8310 \vspace{0.3cm}
8312 \noindent {\bf Return Type:}
8313 {\tt
8314 string
8318 value of the field
8319 \vspace{0.3cm}
8320 \vspace{0.3cm}
8321 \vspace{0.3cm}
8322 \subsubsection{RPC name:~get\_device}
8324 {\bf Overview:}
8325 Get the device field of the given VIF.
8327 \noindent {\bf Signature:}
8328 \begin{verbatim} string get_device (session_id s, VIF ref self)\end{verbatim}
8331 \noindent{\bf Arguments:}
8334 \vspace{0.3cm}
8335 \begin{tabular}{|c|c|p{7cm}|}
8336 \hline
8337 {\bf type} & {\bf name} & {\bf description} \\ \hline
8338 {\tt VIF ref } & self & reference to the object \\ \hline
8340 \end{tabular}
8342 \vspace{0.3cm}
8344 \noindent {\bf Return Type:}
8345 {\tt
8346 string
8350 value of the field
8351 \vspace{0.3cm}
8352 \vspace{0.3cm}
8353 \vspace{0.3cm}
8354 \subsubsection{RPC name:~set\_device}
8356 {\bf Overview:}
8357 Set the device field of the given VIF.
8359 \noindent {\bf Signature:}
8360 \begin{verbatim} void set_device (session_id s, VIF ref self, string value)\end{verbatim}
8363 \noindent{\bf Arguments:}
8366 \vspace{0.3cm}
8367 \begin{tabular}{|c|c|p{7cm}|}
8368 \hline
8369 {\bf type} & {\bf name} & {\bf description} \\ \hline
8370 {\tt VIF ref } & self & reference to the object \\ \hline
8372 {\tt string } & value & New value to set \\ \hline
8374 \end{tabular}
8376 \vspace{0.3cm}
8378 \noindent {\bf Return Type:}
8379 {\tt
8380 void
8385 \vspace{0.3cm}
8386 \vspace{0.3cm}
8387 \vspace{0.3cm}
8388 \subsubsection{RPC name:~get\_network}
8390 {\bf Overview:}
8391 Get the network field of the given VIF.
8393 \noindent {\bf Signature:}
8394 \begin{verbatim} (network ref) get_network (session_id s, VIF ref self)\end{verbatim}
8397 \noindent{\bf Arguments:}
8400 \vspace{0.3cm}
8401 \begin{tabular}{|c|c|p{7cm}|}
8402 \hline
8403 {\bf type} & {\bf name} & {\bf description} \\ \hline
8404 {\tt VIF ref } & self & reference to the object \\ \hline
8406 \end{tabular}
8408 \vspace{0.3cm}
8410 \noindent {\bf Return Type:}
8411 {\tt
8412 network ref
8416 value of the field
8417 \vspace{0.3cm}
8418 \vspace{0.3cm}
8419 \vspace{0.3cm}
8420 \subsubsection{RPC name:~get\_VM}
8422 {\bf Overview:}
8423 Get the VM field of the given VIF.
8425 \noindent {\bf Signature:}
8426 \begin{verbatim} (VM ref) get_VM (session_id s, VIF ref self)\end{verbatim}
8429 \noindent{\bf Arguments:}
8432 \vspace{0.3cm}
8433 \begin{tabular}{|c|c|p{7cm}|}
8434 \hline
8435 {\bf type} & {\bf name} & {\bf description} \\ \hline
8436 {\tt VIF ref } & self & reference to the object \\ \hline
8438 \end{tabular}
8440 \vspace{0.3cm}
8442 \noindent {\bf Return Type:}
8443 {\tt
8444 VM ref
8448 value of the field
8449 \vspace{0.3cm}
8450 \vspace{0.3cm}
8451 \vspace{0.3cm}
8452 \subsubsection{RPC name:~get\_MAC}
8454 {\bf Overview:}
8455 Get the MAC field of the given VIF.
8457 \noindent {\bf Signature:}
8458 \begin{verbatim} string get_MAC (session_id s, VIF ref self)\end{verbatim}
8461 \noindent{\bf Arguments:}
8464 \vspace{0.3cm}
8465 \begin{tabular}{|c|c|p{7cm}|}
8466 \hline
8467 {\bf type} & {\bf name} & {\bf description} \\ \hline
8468 {\tt VIF ref } & self & reference to the object \\ \hline
8470 \end{tabular}
8472 \vspace{0.3cm}
8474 \noindent {\bf Return Type:}
8475 {\tt
8476 string
8480 value of the field
8481 \vspace{0.3cm}
8482 \vspace{0.3cm}
8483 \vspace{0.3cm}
8484 \subsubsection{RPC name:~set\_MAC}
8486 {\bf Overview:}
8487 Set the MAC field of the given VIF.
8489 \noindent {\bf Signature:}
8490 \begin{verbatim} void set_MAC (session_id s, VIF ref self, string value)\end{verbatim}
8493 \noindent{\bf Arguments:}
8496 \vspace{0.3cm}
8497 \begin{tabular}{|c|c|p{7cm}|}
8498 \hline
8499 {\bf type} & {\bf name} & {\bf description} \\ \hline
8500 {\tt VIF ref } & self & reference to the object \\ \hline
8502 {\tt string } & value & New value to set \\ \hline
8504 \end{tabular}
8506 \vspace{0.3cm}
8508 \noindent {\bf Return Type:}
8509 {\tt
8510 void
8515 \vspace{0.3cm}
8516 \vspace{0.3cm}
8517 \vspace{0.3cm}
8518 \subsubsection{RPC name:~get\_MTU}
8520 {\bf Overview:}
8521 Get the MTU field of the given VIF.
8523 \noindent {\bf Signature:}
8524 \begin{verbatim} int get_MTU (session_id s, VIF ref self)\end{verbatim}
8527 \noindent{\bf Arguments:}
8530 \vspace{0.3cm}
8531 \begin{tabular}{|c|c|p{7cm}|}
8532 \hline
8533 {\bf type} & {\bf name} & {\bf description} \\ \hline
8534 {\tt VIF ref } & self & reference to the object \\ \hline
8536 \end{tabular}
8538 \vspace{0.3cm}
8540 \noindent {\bf Return Type:}
8541 {\tt
8542 int
8546 value of the field
8547 \vspace{0.3cm}
8548 \vspace{0.3cm}
8549 \vspace{0.3cm}
8550 \subsubsection{RPC name:~set\_MTU}
8552 {\bf Overview:}
8553 Set the MTU field of the given VIF.
8555 \noindent {\bf Signature:}
8556 \begin{verbatim} void set_MTU (session_id s, VIF ref self, int value)\end{verbatim}
8559 \noindent{\bf Arguments:}
8562 \vspace{0.3cm}
8563 \begin{tabular}{|c|c|p{7cm}|}
8564 \hline
8565 {\bf type} & {\bf name} & {\bf description} \\ \hline
8566 {\tt VIF ref } & self & reference to the object \\ \hline
8568 {\tt int } & value & New value to set \\ \hline
8570 \end{tabular}
8572 \vspace{0.3cm}
8574 \noindent {\bf Return Type:}
8575 {\tt
8576 void
8581 \vspace{0.3cm}
8582 \vspace{0.3cm}
8583 \vspace{0.3cm}
8584 \subsubsection{RPC name:~get\_currently\_attached}
8586 {\bf Overview:}
8587 Get the currently\_attached field of the given VIF.
8589 \noindent {\bf Signature:}
8590 \begin{verbatim} bool get_currently_attached (session_id s, VIF ref self)\end{verbatim}
8593 \noindent{\bf Arguments:}
8596 \vspace{0.3cm}
8597 \begin{tabular}{|c|c|p{7cm}|}
8598 \hline
8599 {\bf type} & {\bf name} & {\bf description} \\ \hline
8600 {\tt VIF ref } & self & reference to the object \\ \hline
8602 \end{tabular}
8604 \vspace{0.3cm}
8606 \noindent {\bf Return Type:}
8607 {\tt
8608 bool
8612 value of the field
8613 \vspace{0.3cm}
8614 \vspace{0.3cm}
8615 \vspace{0.3cm}
8616 \subsubsection{RPC name:~get\_status\_code}
8618 {\bf Overview:}
8619 Get the status\_code field of the given VIF.
8621 \noindent {\bf Signature:}
8622 \begin{verbatim} int get_status_code (session_id s, VIF 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 VIF ref } & self & reference to the object \\ \hline
8634 \end{tabular}
8636 \vspace{0.3cm}
8638 \noindent {\bf Return Type:}
8639 {\tt
8640 int
8644 value of the field
8645 \vspace{0.3cm}
8646 \vspace{0.3cm}
8647 \vspace{0.3cm}
8648 \subsubsection{RPC name:~get\_status\_detail}
8650 {\bf Overview:}
8651 Get the status\_detail field of the given VIF.
8653 \noindent {\bf Signature:}
8654 \begin{verbatim} string get_status_detail (session_id s, VIF 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 VIF ref } & self & reference to the object \\ \hline
8666 \end{tabular}
8668 \vspace{0.3cm}
8670 \noindent {\bf Return Type:}
8671 {\tt
8672 string
8676 value of the field
8677 \vspace{0.3cm}
8678 \vspace{0.3cm}
8679 \vspace{0.3cm}
8680 \subsubsection{RPC name:~get\_runtime\_properties}
8682 {\bf Overview:}
8683 Get the runtime\_properties field of the given VIF.
8685 \noindent {\bf Signature:}
8686 \begin{verbatim} ((string -> string) Map) get_runtime_properties (session_id s, VIF 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 VIF ref } & self & reference to the object \\ \hline
8698 \end{tabular}
8700 \vspace{0.3cm}
8702 \noindent {\bf Return Type:}
8703 {\tt
8704 (string $\rightarrow$ string) Map
8708 value of the field
8709 \vspace{0.3cm}
8710 \vspace{0.3cm}
8711 \vspace{0.3cm}
8712 \subsubsection{RPC name:~get\_qos\_algorithm\_type}
8714 {\bf Overview:}
8715 Get the qos/algorithm\_type field of the given VIF.
8717 \noindent {\bf Signature:}
8718 \begin{verbatim} string get_qos_algorithm_type (session_id s, VIF ref self)\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 VIF ref } & self & reference to the object \\ \hline
8730 \end{tabular}
8732 \vspace{0.3cm}
8734 \noindent {\bf Return Type:}
8735 {\tt
8736 string
8740 value of the field
8741 \vspace{0.3cm}
8742 \vspace{0.3cm}
8743 \vspace{0.3cm}
8744 \subsubsection{RPC name:~set\_qos\_algorithm\_type}
8746 {\bf Overview:}
8747 Set the qos/algorithm\_type field of the given VIF.
8749 \noindent {\bf Signature:}
8750 \begin{verbatim} void set_qos_algorithm_type (session_id s, VIF ref self, string value)\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 VIF ref } & self & reference to the object \\ \hline
8762 {\tt string } & value & New value to set \\ \hline
8764 \end{tabular}
8766 \vspace{0.3cm}
8768 \noindent {\bf Return Type:}
8769 {\tt
8770 void
8775 \vspace{0.3cm}
8776 \vspace{0.3cm}
8777 \vspace{0.3cm}
8778 \subsubsection{RPC name:~get\_qos\_algorithm\_params}
8780 {\bf Overview:}
8781 Get the qos/algorithm\_params field of the given VIF.
8783 \noindent {\bf Signature:}
8784 \begin{verbatim} ((string -> string) Map) get_qos_algorithm_params (session_id s, VIF ref self)\end{verbatim}
8787 \noindent{\bf Arguments:}
8790 \vspace{0.3cm}
8791 \begin{tabular}{|c|c|p{7cm}|}
8792 \hline
8793 {\bf type} & {\bf name} & {\bf description} \\ \hline
8794 {\tt VIF ref } & self & reference to the object \\ \hline
8796 \end{tabular}
8798 \vspace{0.3cm}
8800 \noindent {\bf Return Type:}
8801 {\tt
8802 (string $\rightarrow$ string) Map
8806 value of the field
8807 \vspace{0.3cm}
8808 \vspace{0.3cm}
8809 \vspace{0.3cm}
8810 \subsubsection{RPC name:~set\_qos\_algorithm\_params}
8812 {\bf Overview:}
8813 Set the qos/algorithm\_params field of the given VIF.
8815 \noindent {\bf Signature:}
8816 \begin{verbatim} void set_qos_algorithm_params (session_id s, VIF ref self, (string -> string) Map value)\end{verbatim}
8819 \noindent{\bf Arguments:}
8822 \vspace{0.3cm}
8823 \begin{tabular}{|c|c|p{7cm}|}
8824 \hline
8825 {\bf type} & {\bf name} & {\bf description} \\ \hline
8826 {\tt VIF ref } & self & reference to the object \\ \hline
8828 {\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline
8830 \end{tabular}
8832 \vspace{0.3cm}
8834 \noindent {\bf Return Type:}
8835 {\tt
8836 void
8841 \vspace{0.3cm}
8842 \vspace{0.3cm}
8843 \vspace{0.3cm}
8844 \subsubsection{RPC name:~add\_to\_qos\_algorithm\_params}
8846 {\bf Overview:}
8847 Add the given key-value pair to the qos/algorithm\_params field of the
8848 given VIF.
8850 \noindent {\bf Signature:}
8851 \begin{verbatim} void add_to_qos_algorithm_params (session_id s, VIF ref self, string key, string value)\end{verbatim}
8854 \noindent{\bf Arguments:}
8857 \vspace{0.3cm}
8858 \begin{tabular}{|c|c|p{7cm}|}
8859 \hline
8860 {\bf type} & {\bf name} & {\bf description} \\ \hline
8861 {\tt VIF ref } & self & reference to the object \\ \hline
8863 {\tt string } & key & Key to add \\ \hline
8865 {\tt string } & value & Value to add \\ \hline
8867 \end{tabular}
8869 \vspace{0.3cm}
8871 \noindent {\bf Return Type:}
8872 {\tt
8873 void
8878 \vspace{0.3cm}
8879 \vspace{0.3cm}
8880 \vspace{0.3cm}
8881 \subsubsection{RPC name:~remove\_from\_qos\_algorithm\_params}
8883 {\bf Overview:}
8884 Remove the given key and its corresponding value from the
8885 qos/algorithm\_params field of the given VIF. If the key is not in that
8886 Map, then do nothing.
8888 \noindent {\bf Signature:}
8889 \begin{verbatim} void remove_from_qos_algorithm_params (session_id s, VIF ref self, string key)\end{verbatim}
8892 \noindent{\bf Arguments:}
8895 \vspace{0.3cm}
8896 \begin{tabular}{|c|c|p{7cm}|}
8897 \hline
8898 {\bf type} & {\bf name} & {\bf description} \\ \hline
8899 {\tt VIF ref } & self & reference to the object \\ \hline
8901 {\tt string } & key & Key to remove \\ \hline
8903 \end{tabular}
8905 \vspace{0.3cm}
8907 \noindent {\bf Return Type:}
8908 {\tt
8909 void
8914 \vspace{0.3cm}
8915 \vspace{0.3cm}
8916 \vspace{0.3cm}
8917 \subsubsection{RPC name:~get\_qos\_supported\_algorithms}
8919 {\bf Overview:}
8920 Get the qos/supported\_algorithms field of the given VIF.
8922 \noindent {\bf Signature:}
8923 \begin{verbatim} (string Set) get_qos_supported_algorithms (session_id s, VIF ref self)\end{verbatim}
8926 \noindent{\bf Arguments:}
8929 \vspace{0.3cm}
8930 \begin{tabular}{|c|c|p{7cm}|}
8931 \hline
8932 {\bf type} & {\bf name} & {\bf description} \\ \hline
8933 {\tt VIF ref } & self & reference to the object \\ \hline
8935 \end{tabular}
8937 \vspace{0.3cm}
8939 \noindent {\bf Return Type:}
8940 {\tt
8941 string Set
8945 value of the field
8946 \vspace{0.3cm}
8947 \vspace{0.3cm}
8948 \vspace{0.3cm}
8949 \subsubsection{RPC name:~get\_metrics}
8951 {\bf Overview:}
8952 Get the metrics field of the given VIF.
8954 \noindent {\bf Signature:}
8955 \begin{verbatim} (VIF_metrics ref) get_metrics (session_id s, VIF ref self)\end{verbatim}
8958 \noindent{\bf Arguments:}
8961 \vspace{0.3cm}
8962 \begin{tabular}{|c|c|p{7cm}|}
8963 \hline
8964 {\bf type} & {\bf name} & {\bf description} \\ \hline
8965 {\tt VIF ref } & self & reference to the object \\ \hline
8967 \end{tabular}
8969 \vspace{0.3cm}
8971 \noindent {\bf Return Type:}
8972 {\tt
8973 VIF\_metrics ref
8977 value of the field
8978 \vspace{0.3cm}
8979 \vspace{0.3cm}
8980 \vspace{0.3cm}
8981 \subsubsection{RPC name:~set\_security\_label}
8983 {\bf Overview:}
8984 Set the security label of the given VIF. Refer to the XSPolicy class
8985 for the format of the security label.
8987 \noindent {\bf Signature:}
8988 \begin{verbatim} void set_security_label (session_id s, VIF ref self, string
8989 security_label, string old_label)\end{verbatim}
8992 \noindent{\bf Arguments:}
8995 \vspace{0.3cm}
8996 \begin{tabular}{|c|c|p{7cm}|}
8997 \hline
8998 {\bf type} & {\bf name} & {\bf description} \\ \hline
8999 {\tt VIF ref } & self & reference to the object \\ \hline
9001 {\tt string } & security\_label & New value of the security label \\ \hline
9002 {\tt string } & old\_label & Optional label value that the security label \\
9003 & & must currently have for the change to succeed.\\ \hline
9004 \end{tabular}
9006 \vspace{0.3cm}
9008 \noindent {\bf Return Type:}
9009 {\tt
9010 void
9014 \vspace{0.3cm}
9016 \noindent{\bf Possible Error Codes:} {\tt SECURITY\_ERROR}
9018 \vspace{0.3cm}
9019 \vspace{0.3cm}
9020 \vspace{0.3cm}
9021 \subsubsection{RPC name:~get\_security\_label}
9023 {\bf Overview:}
9024 Get the security label of the given VIF.
9026 \noindent {\bf Signature:}
9027 \begin{verbatim} string get_security_label (session_id s, VIF ref self)\end{verbatim}
9030 \noindent{\bf Arguments:}
9034 \vspace{0.3cm}
9035 \begin{tabular}{|c|c|p{7cm}|}
9036 \hline
9037 {\bf type} & {\bf name} & {\bf description} \\ \hline
9038 {\tt VIF ref } & self & reference to the object \\ \hline
9040 \end{tabular}
9042 \vspace{0.3cm}
9044 \noindent {\bf Return Type:}
9045 {\tt
9046 string
9050 value of the given field
9051 \vspace{0.3cm}
9052 \vspace{0.3cm}
9053 \vspace{0.3cm}
9054 \subsubsection{RPC name:~create}
9056 {\bf Overview:}
9057 Create a new VIF instance, and return its handle.
9059 \noindent {\bf Signature:}
9060 \begin{verbatim} (VIF ref) create (session_id s, VIF record args)\end{verbatim}
9063 \noindent{\bf Arguments:}
9066 \vspace{0.3cm}
9067 \begin{tabular}{|c|c|p{7cm}|}
9068 \hline
9069 {\bf type} & {\bf name} & {\bf description} \\ \hline
9070 {\tt VIF record } & args & All constructor arguments \\ \hline
9072 \end{tabular}
9074 \vspace{0.3cm}
9076 \noindent {\bf Return Type:}
9077 {\tt
9078 VIF ref
9082 reference to the newly created object
9083 \vspace{0.3cm}
9084 \vspace{0.3cm}
9085 \vspace{0.3cm}
9086 \subsubsection{RPC name:~destroy}
9088 {\bf Overview:}
9089 Destroy the specified VIF instance.
9091 \noindent {\bf Signature:}
9092 \begin{verbatim} void destroy (session_id s, VIF ref self)\end{verbatim}
9095 \noindent{\bf Arguments:}
9098 \vspace{0.3cm}
9099 \begin{tabular}{|c|c|p{7cm}|}
9100 \hline
9101 {\bf type} & {\bf name} & {\bf description} \\ \hline
9102 {\tt VIF ref } & self & reference to the object \\ \hline
9104 \end{tabular}
9106 \vspace{0.3cm}
9108 \noindent {\bf Return Type:}
9109 {\tt
9110 void
9115 \vspace{0.3cm}
9116 \vspace{0.3cm}
9117 \vspace{0.3cm}
9118 \subsubsection{RPC name:~get\_by\_uuid}
9120 {\bf Overview:}
9121 Get a reference to the VIF instance with the specified UUID.
9123 \noindent {\bf Signature:}
9124 \begin{verbatim} (VIF ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
9127 \noindent{\bf Arguments:}
9130 \vspace{0.3cm}
9131 \begin{tabular}{|c|c|p{7cm}|}
9132 \hline
9133 {\bf type} & {\bf name} & {\bf description} \\ \hline
9134 {\tt string } & uuid & UUID of object to return \\ \hline
9136 \end{tabular}
9138 \vspace{0.3cm}
9140 \noindent {\bf Return Type:}
9141 {\tt
9142 VIF ref
9146 reference to the object
9147 \vspace{0.3cm}
9148 \vspace{0.3cm}
9149 \vspace{0.3cm}
9150 \subsubsection{RPC name:~get\_record}
9152 {\bf Overview:}
9153 Get a record containing the current state of the given VIF.
9155 \noindent {\bf Signature:}
9156 \begin{verbatim} (VIF record) get_record (session_id s, VIF ref self)\end{verbatim}
9159 \noindent{\bf Arguments:}
9162 \vspace{0.3cm}
9163 \begin{tabular}{|c|c|p{7cm}|}
9164 \hline
9165 {\bf type} & {\bf name} & {\bf description} \\ \hline
9166 {\tt VIF ref } & self & reference to the object \\ \hline
9168 \end{tabular}
9170 \vspace{0.3cm}
9172 \noindent {\bf Return Type:}
9173 {\tt
9174 VIF record
9178 all fields from the object
9179 \vspace{0.3cm}
9180 \vspace{0.3cm}
9181 \vspace{0.3cm}
9183 \vspace{1cm}
9184 \newpage
9185 \section{Class: VIF\_metrics}
9186 \subsection{Fields for class: VIF\_metrics}
9187 \begin{longtable}{|lllp{0.38\textwidth}|}
9188 \hline
9189 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VIF\_metrics} \\
9190 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em
9191 The metrics associated with a virtual network device.}} \\
9192 \hline
9193 Quals & Field & Type & Description \\
9194 \hline
9195 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
9196 $\mathit{RO}_\mathit{run}$ & {\tt io/read\_kbs} & float & Read bandwidth (KiB/s) \\
9197 $\mathit{RO}_\mathit{run}$ & {\tt io/write\_kbs} & float & Write bandwidth (KiB/s) \\
9198 $\mathit{RO}_\mathit{run}$ & {\tt last\_updated} & datetime & Time at which this information was last updated \\
9199 \hline
9200 \end{longtable}
9201 \subsection{RPCs associated with class: VIF\_metrics}
9202 \subsubsection{RPC name:~get\_all}
9204 {\bf Overview:}
9205 Return a list of all the VIF\_metrics instances known to the system.
9207 \noindent {\bf Signature:}
9208 \begin{verbatim} ((VIF_metrics ref) Set) get_all (session_id s)\end{verbatim}
9211 \vspace{0.3cm}
9213 \noindent {\bf Return Type:}
9214 {\tt
9215 (VIF\_metrics ref) Set
9219 references to all objects
9220 \vspace{0.3cm}
9221 \vspace{0.3cm}
9222 \vspace{0.3cm}
9223 \subsubsection{RPC name:~get\_uuid}
9225 {\bf Overview:}
9226 Get the uuid field of the given VIF\_metrics.
9228 \noindent {\bf Signature:}
9229 \begin{verbatim} string get_uuid (session_id s, VIF_metrics ref self)\end{verbatim}
9232 \noindent{\bf Arguments:}
9235 \vspace{0.3cm}
9236 \begin{tabular}{|c|c|p{7cm}|}
9237 \hline
9238 {\bf type} & {\bf name} & {\bf description} \\ \hline
9239 {\tt VIF\_metrics ref } & self & reference to the object \\ \hline
9241 \end{tabular}
9243 \vspace{0.3cm}
9245 \noindent {\bf Return Type:}
9246 {\tt
9247 string
9251 value of the field
9252 \vspace{0.3cm}
9253 \vspace{0.3cm}
9254 \vspace{0.3cm}
9255 \subsubsection{RPC name:~get\_io\_read\_kbs}
9257 {\bf Overview:}
9258 Get the io/read\_kbs field of the given VIF\_metrics.
9260 \noindent {\bf Signature:}
9261 \begin{verbatim} float get_io_read_kbs (session_id s, VIF_metrics ref self)\end{verbatim}
9264 \noindent{\bf Arguments:}
9267 \vspace{0.3cm}
9268 \begin{tabular}{|c|c|p{7cm}|}
9269 \hline
9270 {\bf type} & {\bf name} & {\bf description} \\ \hline
9271 {\tt VIF\_metrics ref } & self & reference to the object \\ \hline
9273 \end{tabular}
9275 \vspace{0.3cm}
9277 \noindent {\bf Return Type:}
9278 {\tt
9279 float
9283 value of the field
9284 \vspace{0.3cm}
9285 \vspace{0.3cm}
9286 \vspace{0.3cm}
9287 \subsubsection{RPC name:~get\_io\_write\_kbs}
9289 {\bf Overview:}
9290 Get the io/write\_kbs field of the given VIF\_metrics.
9292 \noindent {\bf Signature:}
9293 \begin{verbatim} float get_io_write_kbs (session_id s, VIF_metrics ref self)\end{verbatim}
9296 \noindent{\bf Arguments:}
9299 \vspace{0.3cm}
9300 \begin{tabular}{|c|c|p{7cm}|}
9301 \hline
9302 {\bf type} & {\bf name} & {\bf description} \\ \hline
9303 {\tt VIF\_metrics ref } & self & reference to the object \\ \hline
9305 \end{tabular}
9307 \vspace{0.3cm}
9309 \noindent {\bf Return Type:}
9310 {\tt
9311 float
9315 value of the field
9316 \vspace{0.3cm}
9317 \vspace{0.3cm}
9318 \vspace{0.3cm}
9319 \subsubsection{RPC name:~get\_last\_updated}
9321 {\bf Overview:}
9322 Get the last\_updated field of the given VIF\_metrics.
9324 \noindent {\bf Signature:}
9325 \begin{verbatim} datetime get_last_updated (session_id s, VIF_metrics ref self)\end{verbatim}
9328 \noindent{\bf Arguments:}
9331 \vspace{0.3cm}
9332 \begin{tabular}{|c|c|p{7cm}|}
9333 \hline
9334 {\bf type} & {\bf name} & {\bf description} \\ \hline
9335 {\tt VIF\_metrics ref } & self & reference to the object \\ \hline
9337 \end{tabular}
9339 \vspace{0.3cm}
9341 \noindent {\bf Return Type:}
9342 {\tt
9343 datetime
9347 value of the field
9348 \vspace{0.3cm}
9349 \vspace{0.3cm}
9350 \vspace{0.3cm}
9351 \subsubsection{RPC name:~get\_by\_uuid}
9353 {\bf Overview:}
9354 Get a reference to the VIF\_metrics instance with the specified UUID.
9356 \noindent {\bf Signature:}
9357 \begin{verbatim} (VIF_metrics ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
9360 \noindent{\bf Arguments:}
9363 \vspace{0.3cm}
9364 \begin{tabular}{|c|c|p{7cm}|}
9365 \hline
9366 {\bf type} & {\bf name} & {\bf description} \\ \hline
9367 {\tt string } & uuid & UUID of object to return \\ \hline
9369 \end{tabular}
9371 \vspace{0.3cm}
9373 \noindent {\bf Return Type:}
9374 {\tt
9375 VIF\_metrics ref
9379 reference to the object
9380 \vspace{0.3cm}
9381 \vspace{0.3cm}
9382 \vspace{0.3cm}
9383 \subsubsection{RPC name:~get\_record}
9385 {\bf Overview:}
9386 Get a record containing the current state of the given VIF\_metrics.
9388 \noindent {\bf Signature:}
9389 \begin{verbatim} (VIF_metrics record) get_record (session_id s, VIF_metrics ref self)\end{verbatim}
9392 \noindent{\bf Arguments:}
9395 \vspace{0.3cm}
9396 \begin{tabular}{|c|c|p{7cm}|}
9397 \hline
9398 {\bf type} & {\bf name} & {\bf description} \\ \hline
9399 {\tt VIF\_metrics ref } & self & reference to the object \\ \hline
9401 \end{tabular}
9403 \vspace{0.3cm}
9405 \noindent {\bf Return Type:}
9406 {\tt
9407 VIF\_metrics record
9411 all fields from the object
9412 \vspace{0.3cm}
9413 \vspace{0.3cm}
9414 \vspace{0.3cm}
9416 \vspace{1cm}
9417 \newpage
9418 \section{Class: PIF}
9419 \subsection{Fields for class: PIF}
9420 \begin{longtable}{|lllp{0.38\textwidth}|}
9421 \hline
9422 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf PIF} \\
9423 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
9424 physical network interface (note separate VLANs are represented as several
9425 PIFs).}} \\
9426 \hline
9427 Quals & Field & Type & Description \\
9428 \hline
9429 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
9430 $\mathit{RW}$ & {\tt device} & string & machine-readable name of the interface (e.g. eth0) \\
9431 $\mathit{RO}_\mathit{ins}$ & {\tt network} & network ref & virtual network to which this pif is connected \\
9432 $\mathit{RO}_\mathit{ins}$ & {\tt host} & host ref & physical machine to which this pif is connected \\
9433 $\mathit{RW}$ & {\tt MAC} & string & ethernet MAC address of physical interface \\
9434 $\mathit{RW}$ & {\tt MTU} & int & MTU in octets \\
9435 $\mathit{RW}$ & {\tt VLAN} & int & VLAN tag for all traffic passing through this interface \\
9436 $\mathit{RO}_\mathit{run}$ & {\tt metrics} & PIF\_metrics ref & metrics associated with this PIF \\
9437 \hline
9438 \end{longtable}
9439 \subsection{RPCs associated with class: PIF}
9440 \subsubsection{RPC name:~create\_VLAN}
9442 {\bf Overview:}
9443 Create a VLAN interface from an existing physical interface.
9445 \noindent {\bf Signature:}
9446 \begin{verbatim} (PIF ref) create_VLAN (session_id s, string device, network ref network, host ref host, int VLAN)\end{verbatim}
9449 \noindent{\bf Arguments:}
9452 \vspace{0.3cm}
9453 \begin{tabular}{|c|c|p{7cm}|}
9454 \hline
9455 {\bf type} & {\bf name} & {\bf description} \\ \hline
9456 {\tt string } & device & physical interface on which to crate the VLAN interface \\ \hline
9458 {\tt network ref } & network & network to which this interface should be connected \\ \hline
9460 {\tt host ref } & host & physical machine to which this PIF is connected \\ \hline
9462 {\tt int } & VLAN & VLAN tag for the new interface \\ \hline
9464 \end{tabular}
9466 \vspace{0.3cm}
9468 \noindent {\bf Return Type:}
9469 {\tt
9470 PIF ref
9474 The reference of the created PIF object
9475 \vspace{0.3cm}
9477 \noindent{\bf Possible Error Codes:} {\tt VLAN\_TAG\_INVALID}
9479 \vspace{0.6cm}
9480 \subsubsection{RPC name:~destroy}
9482 {\bf Overview:}
9483 Destroy the interface (provided it is a synthetic interface like a VLAN;
9484 fail if it is a physical interface).
9486 \noindent {\bf Signature:}
9487 \begin{verbatim} void destroy (session_id s, PIF ref self)\end{verbatim}
9490 \noindent{\bf Arguments:}
9493 \vspace{0.3cm}
9494 \begin{tabular}{|c|c|p{7cm}|}
9495 \hline
9496 {\bf type} & {\bf name} & {\bf description} \\ \hline
9497 {\tt PIF ref } & self & the PIF object to destroy \\ \hline
9499 \end{tabular}
9501 \vspace{0.3cm}
9503 \noindent {\bf Return Type:}
9504 {\tt
9505 void
9510 \vspace{0.3cm}
9512 \noindent{\bf Possible Error Codes:} {\tt PIF\_IS\_PHYSICAL}
9514 \vspace{0.6cm}
9515 \subsubsection{RPC name:~get\_all}
9517 {\bf Overview:}
9518 Return a list of all the PIFs known to the system.
9520 \noindent {\bf Signature:}
9521 \begin{verbatim} ((PIF ref) Set) get_all (session_id s)\end{verbatim}
9524 \vspace{0.3cm}
9526 \noindent {\bf Return Type:}
9527 {\tt
9528 (PIF ref) Set
9532 references to all objects
9533 \vspace{0.3cm}
9534 \vspace{0.3cm}
9535 \vspace{0.3cm}
9536 \subsubsection{RPC name:~get\_uuid}
9538 {\bf Overview:}
9539 Get the uuid field of the given PIF.
9541 \noindent {\bf Signature:}
9542 \begin{verbatim} string get_uuid (session_id s, PIF ref self)\end{verbatim}
9545 \noindent{\bf Arguments:}
9548 \vspace{0.3cm}
9549 \begin{tabular}{|c|c|p{7cm}|}
9550 \hline
9551 {\bf type} & {\bf name} & {\bf description} \\ \hline
9552 {\tt PIF ref } & self & reference to the object \\ \hline
9554 \end{tabular}
9556 \vspace{0.3cm}
9558 \noindent {\bf Return Type:}
9559 {\tt
9560 string
9564 value of the field
9565 \vspace{0.3cm}
9566 \vspace{0.3cm}
9567 \vspace{0.3cm}
9568 \subsubsection{RPC name:~get\_device}
9570 {\bf Overview:}
9571 Get the device field of the given PIF.
9573 \noindent {\bf Signature:}
9574 \begin{verbatim} string get_device (session_id s, PIF ref self)\end{verbatim}
9577 \noindent{\bf Arguments:}
9580 \vspace{0.3cm}
9581 \begin{tabular}{|c|c|p{7cm}|}
9582 \hline
9583 {\bf type} & {\bf name} & {\bf description} \\ \hline
9584 {\tt PIF ref } & self & reference to the object \\ \hline
9586 \end{tabular}
9588 \vspace{0.3cm}
9590 \noindent {\bf Return Type:}
9591 {\tt
9592 string
9596 value of the field
9597 \vspace{0.3cm}
9598 \vspace{0.3cm}
9599 \vspace{0.3cm}
9600 \subsubsection{RPC name:~set\_device}
9602 {\bf Overview:}
9603 Set the device field of the given PIF.
9605 \noindent {\bf Signature:}
9606 \begin{verbatim} void set_device (session_id s, PIF ref self, string value)\end{verbatim}
9609 \noindent{\bf Arguments:}
9612 \vspace{0.3cm}
9613 \begin{tabular}{|c|c|p{7cm}|}
9614 \hline
9615 {\bf type} & {\bf name} & {\bf description} \\ \hline
9616 {\tt PIF ref } & self & reference to the object \\ \hline
9618 {\tt string } & value & New value to set \\ \hline
9620 \end{tabular}
9622 \vspace{0.3cm}
9624 \noindent {\bf Return Type:}
9625 {\tt
9626 void
9631 \vspace{0.3cm}
9632 \vspace{0.3cm}
9633 \vspace{0.3cm}
9634 \subsubsection{RPC name:~get\_network}
9636 {\bf Overview:}
9637 Get the network field of the given PIF.
9639 \noindent {\bf Signature:}
9640 \begin{verbatim} (network ref) get_network (session_id s, PIF ref self)\end{verbatim}
9643 \noindent{\bf Arguments:}
9646 \vspace{0.3cm}
9647 \begin{tabular}{|c|c|p{7cm}|}
9648 \hline
9649 {\bf type} & {\bf name} & {\bf description} \\ \hline
9650 {\tt PIF ref } & self & reference to the object \\ \hline
9652 \end{tabular}
9654 \vspace{0.3cm}
9656 \noindent {\bf Return Type:}
9657 {\tt
9658 network ref
9662 value of the field
9663 \vspace{0.3cm}
9664 \vspace{0.3cm}
9665 \vspace{0.3cm}
9666 \subsubsection{RPC name:~get\_host}
9668 {\bf Overview:}
9669 Get the host field of the given PIF.
9671 \noindent {\bf Signature:}
9672 \begin{verbatim} (host ref) get_host (session_id s, PIF ref self)\end{verbatim}
9675 \noindent{\bf Arguments:}
9678 \vspace{0.3cm}
9679 \begin{tabular}{|c|c|p{7cm}|}
9680 \hline
9681 {\bf type} & {\bf name} & {\bf description} \\ \hline
9682 {\tt PIF ref } & self & reference to the object \\ \hline
9684 \end{tabular}
9686 \vspace{0.3cm}
9688 \noindent {\bf Return Type:}
9689 {\tt
9690 host ref
9694 value of the field
9695 \vspace{0.3cm}
9696 \vspace{0.3cm}
9697 \vspace{0.3cm}
9698 \subsubsection{RPC name:~get\_MAC}
9700 {\bf Overview:}
9701 Get the MAC field of the given PIF.
9703 \noindent {\bf Signature:}
9704 \begin{verbatim} string get_MAC (session_id s, PIF ref self)\end{verbatim}
9707 \noindent{\bf Arguments:}
9710 \vspace{0.3cm}
9711 \begin{tabular}{|c|c|p{7cm}|}
9712 \hline
9713 {\bf type} & {\bf name} & {\bf description} \\ \hline
9714 {\tt PIF ref } & self & reference to the object \\ \hline
9716 \end{tabular}
9718 \vspace{0.3cm}
9720 \noindent {\bf Return Type:}
9721 {\tt
9722 string
9726 value of the field
9727 \vspace{0.3cm}
9728 \vspace{0.3cm}
9729 \vspace{0.3cm}
9730 \subsubsection{RPC name:~set\_MAC}
9732 {\bf Overview:}
9733 Set the MAC field of the given PIF.
9735 \noindent {\bf Signature:}
9736 \begin{verbatim} void set_MAC (session_id s, PIF ref self, string value)\end{verbatim}
9739 \noindent{\bf Arguments:}
9742 \vspace{0.3cm}
9743 \begin{tabular}{|c|c|p{7cm}|}
9744 \hline
9745 {\bf type} & {\bf name} & {\bf description} \\ \hline
9746 {\tt PIF ref } & self & reference to the object \\ \hline
9748 {\tt string } & value & New value to set \\ \hline
9750 \end{tabular}
9752 \vspace{0.3cm}
9754 \noindent {\bf Return Type:}
9755 {\tt
9756 void
9761 \vspace{0.3cm}
9762 \vspace{0.3cm}
9763 \vspace{0.3cm}
9764 \subsubsection{RPC name:~get\_MTU}
9766 {\bf Overview:}
9767 Get the MTU field of the given PIF.
9769 \noindent {\bf Signature:}
9770 \begin{verbatim} int get_MTU (session_id s, PIF ref self)\end{verbatim}
9773 \noindent{\bf Arguments:}
9776 \vspace{0.3cm}
9777 \begin{tabular}{|c|c|p{7cm}|}
9778 \hline
9779 {\bf type} & {\bf name} & {\bf description} \\ \hline
9780 {\tt PIF ref } & self & reference to the object \\ \hline
9782 \end{tabular}
9784 \vspace{0.3cm}
9786 \noindent {\bf Return Type:}
9787 {\tt
9788 int
9792 value of the field
9793 \vspace{0.3cm}
9794 \vspace{0.3cm}
9795 \vspace{0.3cm}
9796 \subsubsection{RPC name:~set\_MTU}
9798 {\bf Overview:}
9799 Set the MTU field of the given PIF.
9801 \noindent {\bf Signature:}
9802 \begin{verbatim} void set_MTU (session_id s, PIF ref self, int value)\end{verbatim}
9805 \noindent{\bf Arguments:}
9808 \vspace{0.3cm}
9809 \begin{tabular}{|c|c|p{7cm}|}
9810 \hline
9811 {\bf type} & {\bf name} & {\bf description} \\ \hline
9812 {\tt PIF ref } & self & reference to the object \\ \hline
9814 {\tt int } & value & New value to set \\ \hline
9816 \end{tabular}
9818 \vspace{0.3cm}
9820 \noindent {\bf Return Type:}
9821 {\tt
9822 void
9827 \vspace{0.3cm}
9828 \vspace{0.3cm}
9829 \vspace{0.3cm}
9830 \subsubsection{RPC name:~get\_VLAN}
9832 {\bf Overview:}
9833 Get the VLAN field of the given PIF.
9835 \noindent {\bf Signature:}
9836 \begin{verbatim} int get_VLAN (session_id s, PIF ref self)\end{verbatim}
9839 \noindent{\bf Arguments:}
9842 \vspace{0.3cm}
9843 \begin{tabular}{|c|c|p{7cm}|}
9844 \hline
9845 {\bf type} & {\bf name} & {\bf description} \\ \hline
9846 {\tt PIF ref } & self & reference to the object \\ \hline
9848 \end{tabular}
9850 \vspace{0.3cm}
9852 \noindent {\bf Return Type:}
9853 {\tt
9854 int
9858 value of the field
9859 \vspace{0.3cm}
9860 \vspace{0.3cm}
9861 \vspace{0.3cm}
9862 \subsubsection{RPC name:~set\_VLAN}
9864 {\bf Overview:}
9865 Set the VLAN field of the given PIF.
9867 \noindent {\bf Signature:}
9868 \begin{verbatim} void set_VLAN (session_id s, PIF ref self, int value)\end{verbatim}
9871 \noindent{\bf Arguments:}
9874 \vspace{0.3cm}
9875 \begin{tabular}{|c|c|p{7cm}|}
9876 \hline
9877 {\bf type} & {\bf name} & {\bf description} \\ \hline
9878 {\tt PIF ref } & self & reference to the object \\ \hline
9880 {\tt int } & value & New value to set \\ \hline
9882 \end{tabular}
9884 \vspace{0.3cm}
9886 \noindent {\bf Return Type:}
9887 {\tt
9888 void
9893 \vspace{0.3cm}
9894 \vspace{0.3cm}
9895 \vspace{0.3cm}
9896 \subsubsection{RPC name:~get\_metrics}
9898 {\bf Overview:}
9899 Get the metrics field of the given PIF.
9901 \noindent {\bf Signature:}
9902 \begin{verbatim} (PIF_metrics ref) get_metrics (session_id s, PIF ref self)\end{verbatim}
9905 \noindent{\bf Arguments:}
9908 \vspace{0.3cm}
9909 \begin{tabular}{|c|c|p{7cm}|}
9910 \hline
9911 {\bf type} & {\bf name} & {\bf description} \\ \hline
9912 {\tt PIF ref } & self & reference to the object \\ \hline
9914 \end{tabular}
9916 \vspace{0.3cm}
9918 \noindent {\bf Return Type:}
9919 {\tt
9920 PIF\_metrics ref
9924 value of the field
9925 \vspace{0.3cm}
9926 \vspace{0.3cm}
9927 \vspace{0.3cm}
9928 \subsubsection{RPC name:~get\_by\_uuid}
9930 {\bf Overview:}
9931 Get a reference to the PIF instance with the specified UUID.
9933 \noindent {\bf Signature:}
9934 \begin{verbatim} (PIF ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
9937 \noindent{\bf Arguments:}
9940 \vspace{0.3cm}
9941 \begin{tabular}{|c|c|p{7cm}|}
9942 \hline
9943 {\bf type} & {\bf name} & {\bf description} \\ \hline
9944 {\tt string } & uuid & UUID of object to return \\ \hline
9946 \end{tabular}
9948 \vspace{0.3cm}
9950 \noindent {\bf Return Type:}
9951 {\tt
9952 PIF ref
9956 reference to the object
9957 \vspace{0.3cm}
9958 \vspace{0.3cm}
9959 \vspace{0.3cm}
9960 \subsubsection{RPC name:~get\_record}
9962 {\bf Overview:}
9963 Get a record containing the current state of the given PIF.
9965 \noindent {\bf Signature:}
9966 \begin{verbatim} (PIF record) get_record (session_id s, PIF ref self)\end{verbatim}
9969 \noindent{\bf Arguments:}
9972 \vspace{0.3cm}
9973 \begin{tabular}{|c|c|p{7cm}|}
9974 \hline
9975 {\bf type} & {\bf name} & {\bf description} \\ \hline
9976 {\tt PIF ref } & self & reference to the object \\ \hline
9978 \end{tabular}
9980 \vspace{0.3cm}
9982 \noindent {\bf Return Type:}
9983 {\tt
9984 PIF record
9988 all fields from the object
9989 \vspace{0.3cm}
9990 \vspace{0.3cm}
9991 \vspace{0.3cm}
9993 \vspace{1cm}
9994 \newpage
9995 \section{Class: PIF\_metrics}
9996 \subsection{Fields for class: PIF\_metrics}
9997 \begin{longtable}{|lllp{0.38\textwidth}|}
9998 \hline
9999 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf PIF\_metrics} \\
10000 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em
10001 The metrics associated with a physical network interface.}} \\
10002 \hline
10003 Quals & Field & Type & Description \\
10004 \hline
10005 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
10006 $\mathit{RO}_\mathit{run}$ & {\tt io/read\_kbs} & float & Read bandwidth (KiB/s) \\
10007 $\mathit{RO}_\mathit{run}$ & {\tt io/write\_kbs} & float & Write bandwidth (KiB/s) \\
10008 $\mathit{RO}_\mathit{run}$ & {\tt last\_updated} & datetime & Time at which this information was last updated \\
10009 \hline
10010 \end{longtable}
10011 \subsection{RPCs associated with class: PIF\_metrics}
10012 \subsubsection{RPC name:~get\_all}
10014 {\bf Overview:}
10015 Return a list of all the PIF\_metrics instances known to the system.
10017 \noindent {\bf Signature:}
10018 \begin{verbatim} ((PIF_metrics ref) Set) get_all (session_id s)\end{verbatim}
10021 \vspace{0.3cm}
10023 \noindent {\bf Return Type:}
10024 {\tt
10025 (PIF\_metrics ref) Set
10029 references to all objects
10030 \vspace{0.3cm}
10031 \vspace{0.3cm}
10032 \vspace{0.3cm}
10033 \subsubsection{RPC name:~get\_uuid}
10035 {\bf Overview:}
10036 Get the uuid field of the given PIF\_metrics.
10038 \noindent {\bf Signature:}
10039 \begin{verbatim} string get_uuid (session_id s, PIF_metrics ref self)\end{verbatim}
10042 \noindent{\bf Arguments:}
10045 \vspace{0.3cm}
10046 \begin{tabular}{|c|c|p{7cm}|}
10047 \hline
10048 {\bf type} & {\bf name} & {\bf description} \\ \hline
10049 {\tt PIF\_metrics ref } & self & reference to the object \\ \hline
10051 \end{tabular}
10053 \vspace{0.3cm}
10055 \noindent {\bf Return Type:}
10056 {\tt
10057 string
10061 value of the field
10062 \vspace{0.3cm}
10063 \vspace{0.3cm}
10064 \vspace{0.3cm}
10065 \subsubsection{RPC name:~get\_io\_read\_kbs}
10067 {\bf Overview:}
10068 Get the io/read\_kbs field of the given PIF\_metrics.
10070 \noindent {\bf Signature:}
10071 \begin{verbatim} float get_io_read_kbs (session_id s, PIF_metrics ref self)\end{verbatim}
10074 \noindent{\bf Arguments:}
10077 \vspace{0.3cm}
10078 \begin{tabular}{|c|c|p{7cm}|}
10079 \hline
10080 {\bf type} & {\bf name} & {\bf description} \\ \hline
10081 {\tt PIF\_metrics ref } & self & reference to the object \\ \hline
10083 \end{tabular}
10085 \vspace{0.3cm}
10087 \noindent {\bf Return Type:}
10088 {\tt
10089 float
10093 value of the field
10094 \vspace{0.3cm}
10095 \vspace{0.3cm}
10096 \vspace{0.3cm}
10097 \subsubsection{RPC name:~get\_io\_write\_kbs}
10099 {\bf Overview:}
10100 Get the io/write\_kbs field of the given PIF\_metrics.
10102 \noindent {\bf Signature:}
10103 \begin{verbatim} float get_io_write_kbs (session_id s, PIF_metrics ref self)\end{verbatim}
10106 \noindent{\bf Arguments:}
10109 \vspace{0.3cm}
10110 \begin{tabular}{|c|c|p{7cm}|}
10111 \hline
10112 {\bf type} & {\bf name} & {\bf description} \\ \hline
10113 {\tt PIF\_metrics ref } & self & reference to the object \\ \hline
10115 \end{tabular}
10117 \vspace{0.3cm}
10119 \noindent {\bf Return Type:}
10120 {\tt
10121 float
10125 value of the field
10126 \vspace{0.3cm}
10127 \vspace{0.3cm}
10128 \vspace{0.3cm}
10129 \subsubsection{RPC name:~get\_last\_updated}
10131 {\bf Overview:}
10132 Get the last\_updated field of the given PIF\_metrics.
10134 \noindent {\bf Signature:}
10135 \begin{verbatim} datetime get_last_updated (session_id s, PIF_metrics ref self)\end{verbatim}
10138 \noindent{\bf Arguments:}
10141 \vspace{0.3cm}
10142 \begin{tabular}{|c|c|p{7cm}|}
10143 \hline
10144 {\bf type} & {\bf name} & {\bf description} \\ \hline
10145 {\tt PIF\_metrics ref } & self & reference to the object \\ \hline
10147 \end{tabular}
10149 \vspace{0.3cm}
10151 \noindent {\bf Return Type:}
10152 {\tt
10153 datetime
10157 value of the field
10158 \vspace{0.3cm}
10159 \vspace{0.3cm}
10160 \vspace{0.3cm}
10161 \subsubsection{RPC name:~get\_by\_uuid}
10163 {\bf Overview:}
10164 Get a reference to the PIF\_metrics instance with the specified UUID.
10166 \noindent {\bf Signature:}
10167 \begin{verbatim} (PIF_metrics ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
10170 \noindent{\bf Arguments:}
10173 \vspace{0.3cm}
10174 \begin{tabular}{|c|c|p{7cm}|}
10175 \hline
10176 {\bf type} & {\bf name} & {\bf description} \\ \hline
10177 {\tt string } & uuid & UUID of object to return \\ \hline
10179 \end{tabular}
10181 \vspace{0.3cm}
10183 \noindent {\bf Return Type:}
10184 {\tt
10185 PIF\_metrics ref
10189 reference to the object
10190 \vspace{0.3cm}
10191 \vspace{0.3cm}
10192 \vspace{0.3cm}
10193 \subsubsection{RPC name:~get\_record}
10195 {\bf Overview:}
10196 Get a record containing the current state of the given PIF\_metrics.
10198 \noindent {\bf Signature:}
10199 \begin{verbatim} (PIF_metrics record) get_record (session_id s, PIF_metrics ref self)\end{verbatim}
10202 \noindent{\bf Arguments:}
10205 \vspace{0.3cm}
10206 \begin{tabular}{|c|c|p{7cm}|}
10207 \hline
10208 {\bf type} & {\bf name} & {\bf description} \\ \hline
10209 {\tt PIF\_metrics ref } & self & reference to the object \\ \hline
10211 \end{tabular}
10213 \vspace{0.3cm}
10215 \noindent {\bf Return Type:}
10216 {\tt
10217 PIF\_metrics record
10221 all fields from the object
10222 \vspace{0.3cm}
10223 \vspace{0.3cm}
10224 \vspace{0.3cm}
10226 \vspace{1cm}
10227 \newpage
10228 \section{Class: SR}
10229 \subsection{Fields for class: SR}
10230 \begin{longtable}{|lllp{0.38\textwidth}|}
10231 \hline
10232 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf SR} \\
10233 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
10234 storage repository.}} \\
10235 \hline
10236 Quals & Field & Type & Description \\
10237 \hline
10238 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
10239 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
10240 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
10241 $\mathit{RO}_\mathit{run}$ & {\tt VDIs} & (VDI ref) Set & managed virtual disks \\
10242 $\mathit{RO}_\mathit{run}$ & {\tt PBDs} & (PBD ref) Set & physical blockdevices \\
10243 $\mathit{RO}_\mathit{run}$ & {\tt virtual\_allocation} & int & sum of virtual\_sizes of all VDIs in this storage repository (in bytes) \\
10244 $\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 \\
10245 $\mathit{RO}_\mathit{ins}$ & {\tt physical\_size} & int & total physical size of the repository (in bytes) \\
10246 $\mathit{RO}_\mathit{ins}$ & {\tt type} & string & type of the storage repository \\
10247 $\mathit{RO}_\mathit{ins}$ & {\tt content\_type} & string & the type of the SR's content, if required (e.g. ISOs) \\
10248 \hline
10249 \end{longtable}
10250 \subsection{RPCs associated with class: SR}
10251 \subsubsection{RPC name:~get\_supported\_types}
10253 {\bf Overview:}
10254 Return a set of all the SR types supported by the system.
10256 \noindent {\bf Signature:}
10257 \begin{verbatim} (string Set) get_supported_types (session_id s)\end{verbatim}
10260 \vspace{0.3cm}
10262 \noindent {\bf Return Type:}
10263 {\tt
10264 string Set
10268 the supported SR types
10269 \vspace{0.3cm}
10270 \vspace{0.3cm}
10271 \vspace{0.3cm}
10272 \subsubsection{RPC name:~get\_all}
10274 {\bf Overview:}
10275 Return a list of all the SRs known to the system.
10277 \noindent {\bf Signature:}
10278 \begin{verbatim} ((SR ref) Set) get_all (session_id s)\end{verbatim}
10281 \vspace{0.3cm}
10283 \noindent {\bf Return Type:}
10284 {\tt
10285 (SR ref) Set
10289 references to all objects
10290 \vspace{0.3cm}
10291 \vspace{0.3cm}
10292 \vspace{0.3cm}
10293 \subsubsection{RPC name:~get\_uuid}
10295 {\bf Overview:}
10296 Get the uuid field of the given SR.
10298 \noindent {\bf Signature:}
10299 \begin{verbatim} string get_uuid (session_id s, SR ref self)\end{verbatim}
10302 \noindent{\bf Arguments:}
10305 \vspace{0.3cm}
10306 \begin{tabular}{|c|c|p{7cm}|}
10307 \hline
10308 {\bf type} & {\bf name} & {\bf description} \\ \hline
10309 {\tt SR ref } & self & reference to the object \\ \hline
10311 \end{tabular}
10313 \vspace{0.3cm}
10315 \noindent {\bf Return Type:}
10316 {\tt
10317 string
10321 value of the field
10322 \vspace{0.3cm}
10323 \vspace{0.3cm}
10324 \vspace{0.3cm}
10325 \subsubsection{RPC name:~get\_name\_label}
10327 {\bf Overview:}
10328 Get the name/label field of the given SR.
10330 \noindent {\bf Signature:}
10331 \begin{verbatim} string get_name_label (session_id s, SR ref self)\end{verbatim}
10334 \noindent{\bf Arguments:}
10337 \vspace{0.3cm}
10338 \begin{tabular}{|c|c|p{7cm}|}
10339 \hline
10340 {\bf type} & {\bf name} & {\bf description} \\ \hline
10341 {\tt SR ref } & self & reference to the object \\ \hline
10343 \end{tabular}
10345 \vspace{0.3cm}
10347 \noindent {\bf Return Type:}
10348 {\tt
10349 string
10353 value of the field
10354 \vspace{0.3cm}
10355 \vspace{0.3cm}
10356 \vspace{0.3cm}
10357 \subsubsection{RPC name:~set\_name\_label}
10359 {\bf Overview:}
10360 Set the name/label field of the given SR.
10362 \noindent {\bf Signature:}
10363 \begin{verbatim} void set_name_label (session_id s, SR ref self, string value)\end{verbatim}
10366 \noindent{\bf Arguments:}
10369 \vspace{0.3cm}
10370 \begin{tabular}{|c|c|p{7cm}|}
10371 \hline
10372 {\bf type} & {\bf name} & {\bf description} \\ \hline
10373 {\tt SR ref } & self & reference to the object \\ \hline
10375 {\tt string } & value & New value to set \\ \hline
10377 \end{tabular}
10379 \vspace{0.3cm}
10381 \noindent {\bf Return Type:}
10382 {\tt
10383 void
10388 \vspace{0.3cm}
10389 \vspace{0.3cm}
10390 \vspace{0.3cm}
10391 \subsubsection{RPC name:~get\_name\_description}
10393 {\bf Overview:}
10394 Get the name/description field of the given SR.
10396 \noindent {\bf Signature:}
10397 \begin{verbatim} string get_name_description (session_id s, SR ref self)\end{verbatim}
10400 \noindent{\bf Arguments:}
10403 \vspace{0.3cm}
10404 \begin{tabular}{|c|c|p{7cm}|}
10405 \hline
10406 {\bf type} & {\bf name} & {\bf description} \\ \hline
10407 {\tt SR ref } & self & reference to the object \\ \hline
10409 \end{tabular}
10411 \vspace{0.3cm}
10413 \noindent {\bf Return Type:}
10414 {\tt
10415 string
10419 value of the field
10420 \vspace{0.3cm}
10421 \vspace{0.3cm}
10422 \vspace{0.3cm}
10423 \subsubsection{RPC name:~set\_name\_description}
10425 {\bf Overview:}
10426 Set the name/description field of the given SR.
10428 \noindent {\bf Signature:}
10429 \begin{verbatim} void set_name_description (session_id s, SR ref self, string value)\end{verbatim}
10432 \noindent{\bf Arguments:}
10435 \vspace{0.3cm}
10436 \begin{tabular}{|c|c|p{7cm}|}
10437 \hline
10438 {\bf type} & {\bf name} & {\bf description} \\ \hline
10439 {\tt SR ref } & self & reference to the object \\ \hline
10441 {\tt string } & value & New value to set \\ \hline
10443 \end{tabular}
10445 \vspace{0.3cm}
10447 \noindent {\bf Return Type:}
10448 {\tt
10449 void
10454 \vspace{0.3cm}
10455 \vspace{0.3cm}
10456 \vspace{0.3cm}
10457 \subsubsection{RPC name:~get\_VDIs}
10459 {\bf Overview:}
10460 Get the VDIs field of the given SR.
10462 \noindent {\bf Signature:}
10463 \begin{verbatim} ((VDI ref) Set) get_VDIs (session_id s, SR ref self)\end{verbatim}
10466 \noindent{\bf Arguments:}
10469 \vspace{0.3cm}
10470 \begin{tabular}{|c|c|p{7cm}|}
10471 \hline
10472 {\bf type} & {\bf name} & {\bf description} \\ \hline
10473 {\tt SR ref } & self & reference to the object \\ \hline
10475 \end{tabular}
10477 \vspace{0.3cm}
10479 \noindent {\bf Return Type:}
10480 {\tt
10481 (VDI ref) Set
10485 value of the field
10486 \vspace{0.3cm}
10487 \vspace{0.3cm}
10488 \vspace{0.3cm}
10489 \subsubsection{RPC name:~get\_PBDs}
10491 {\bf Overview:}
10492 Get the PBDs field of the given SR.
10494 \noindent {\bf Signature:}
10495 \begin{verbatim} ((PBD ref) Set) get_PBDs (session_id s, SR ref self)\end{verbatim}
10498 \noindent{\bf Arguments:}
10501 \vspace{0.3cm}
10502 \begin{tabular}{|c|c|p{7cm}|}
10503 \hline
10504 {\bf type} & {\bf name} & {\bf description} \\ \hline
10505 {\tt SR ref } & self & reference to the object \\ \hline
10507 \end{tabular}
10509 \vspace{0.3cm}
10511 \noindent {\bf Return Type:}
10512 {\tt
10513 (PBD ref) Set
10517 value of the field
10518 \vspace{0.3cm}
10519 \vspace{0.3cm}
10520 \vspace{0.3cm}
10521 \subsubsection{RPC name:~get\_virtual\_allocation}
10523 {\bf Overview:}
10524 Get the virtual\_allocation field of the given SR.
10526 \noindent {\bf Signature:}
10527 \begin{verbatim} int get_virtual_allocation (session_id s, SR ref self)\end{verbatim}
10530 \noindent{\bf Arguments:}
10533 \vspace{0.3cm}
10534 \begin{tabular}{|c|c|p{7cm}|}
10535 \hline
10536 {\bf type} & {\bf name} & {\bf description} \\ \hline
10537 {\tt SR ref } & self & reference to the object \\ \hline
10539 \end{tabular}
10541 \vspace{0.3cm}
10543 \noindent {\bf Return Type:}
10544 {\tt
10545 int
10549 value of the field
10550 \vspace{0.3cm}
10551 \vspace{0.3cm}
10552 \vspace{0.3cm}
10553 \subsubsection{RPC name:~get\_physical\_utilisation}
10555 {\bf Overview:}
10556 Get the physical\_utilisation field of the given SR.
10558 \noindent {\bf Signature:}
10559 \begin{verbatim} int get_physical_utilisation (session_id s, SR ref self)\end{verbatim}
10562 \noindent{\bf Arguments:}
10565 \vspace{0.3cm}
10566 \begin{tabular}{|c|c|p{7cm}|}
10567 \hline
10568 {\bf type} & {\bf name} & {\bf description} \\ \hline
10569 {\tt SR ref } & self & reference to the object \\ \hline
10571 \end{tabular}
10573 \vspace{0.3cm}
10575 \noindent {\bf Return Type:}
10576 {\tt
10577 int
10581 value of the field
10582 \vspace{0.3cm}
10583 \vspace{0.3cm}
10584 \vspace{0.3cm}
10585 \subsubsection{RPC name:~get\_physical\_size}
10587 {\bf Overview:}
10588 Get the physical\_size field of the given SR.
10590 \noindent {\bf Signature:}
10591 \begin{verbatim} int get_physical_size (session_id s, SR ref self)\end{verbatim}
10594 \noindent{\bf Arguments:}
10597 \vspace{0.3cm}
10598 \begin{tabular}{|c|c|p{7cm}|}
10599 \hline
10600 {\bf type} & {\bf name} & {\bf description} \\ \hline
10601 {\tt SR ref } & self & reference to the object \\ \hline
10603 \end{tabular}
10605 \vspace{0.3cm}
10607 \noindent {\bf Return Type:}
10608 {\tt
10609 int
10613 value of the field
10614 \vspace{0.3cm}
10615 \vspace{0.3cm}
10616 \vspace{0.3cm}
10617 \subsubsection{RPC name:~get\_type}
10619 {\bf Overview:}
10620 Get the type field of the given SR.
10622 \noindent {\bf Signature:}
10623 \begin{verbatim} string get_type (session_id s, SR 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 SR ref } & self & reference to the object \\ \hline
10635 \end{tabular}
10637 \vspace{0.3cm}
10639 \noindent {\bf Return Type:}
10640 {\tt
10641 string
10645 value of the field
10646 \vspace{0.3cm}
10647 \vspace{0.3cm}
10648 \vspace{0.3cm}
10649 \subsubsection{RPC name:~get\_content\_type}
10651 {\bf Overview:}
10652 Get the content\_type field of the given SR.
10654 \noindent {\bf Signature:}
10655 \begin{verbatim} string get_content_type (session_id s, SR ref self)\end{verbatim}
10658 \noindent{\bf Arguments:}
10661 \vspace{0.3cm}
10662 \begin{tabular}{|c|c|p{7cm}|}
10663 \hline
10664 {\bf type} & {\bf name} & {\bf description} \\ \hline
10665 {\tt SR ref } & self & reference to the object \\ \hline
10667 \end{tabular}
10669 \vspace{0.3cm}
10671 \noindent {\bf Return Type:}
10672 {\tt
10673 string
10677 value of the field
10678 \vspace{0.3cm}
10679 \vspace{0.3cm}
10680 \vspace{0.3cm}
10681 \subsubsection{RPC name:~get\_by\_uuid}
10683 {\bf Overview:}
10684 Get a reference to the SR instance with the specified UUID.
10686 \noindent {\bf Signature:}
10687 \begin{verbatim} (SR ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
10690 \noindent{\bf Arguments:}
10693 \vspace{0.3cm}
10694 \begin{tabular}{|c|c|p{7cm}|}
10695 \hline
10696 {\bf type} & {\bf name} & {\bf description} \\ \hline
10697 {\tt string } & uuid & UUID of object to return \\ \hline
10699 \end{tabular}
10701 \vspace{0.3cm}
10703 \noindent {\bf Return Type:}
10704 {\tt
10705 SR ref
10709 reference to the object
10710 \vspace{0.3cm}
10711 \vspace{0.3cm}
10712 \vspace{0.3cm}
10713 \subsubsection{RPC name:~get\_record}
10715 {\bf Overview:}
10716 Get a record containing the current state of the given SR.
10718 \noindent {\bf Signature:}
10719 \begin{verbatim} (SR record) get_record (session_id s, SR ref self)\end{verbatim}
10722 \noindent{\bf Arguments:}
10725 \vspace{0.3cm}
10726 \begin{tabular}{|c|c|p{7cm}|}
10727 \hline
10728 {\bf type} & {\bf name} & {\bf description} \\ \hline
10729 {\tt SR ref } & self & reference to the object \\ \hline
10731 \end{tabular}
10733 \vspace{0.3cm}
10735 \noindent {\bf Return Type:}
10736 {\tt
10737 SR record
10741 all fields from the object
10742 \vspace{0.3cm}
10743 \vspace{0.3cm}
10744 \vspace{0.3cm}
10745 \subsubsection{RPC name:~get\_by\_name\_label}
10747 {\bf Overview:}
10748 Get all the SR instances with the given label.
10750 \noindent {\bf Signature:}
10751 \begin{verbatim} ((SR ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
10754 \noindent{\bf Arguments:}
10757 \vspace{0.3cm}
10758 \begin{tabular}{|c|c|p{7cm}|}
10759 \hline
10760 {\bf type} & {\bf name} & {\bf description} \\ \hline
10761 {\tt string } & label & label of object to return \\ \hline
10763 \end{tabular}
10765 \vspace{0.3cm}
10767 \noindent {\bf Return Type:}
10768 {\tt
10769 (SR ref) Set
10773 references to objects with match names
10774 \vspace{0.3cm}
10775 \vspace{0.3cm}
10776 \vspace{0.3cm}
10778 \vspace{1cm}
10779 \newpage
10780 \section{Class: VDI}
10781 \subsection{Fields for class: VDI}
10782 \begin{longtable}{|lllp{0.38\textwidth}|}
10783 \hline
10784 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VDI} \\
10785 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
10786 virtual disk image.}} \\
10787 \hline
10788 Quals & Field & Type & Description \\
10789 \hline
10790 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
10791 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
10792 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
10793 $\mathit{RO}_\mathit{ins}$ & {\tt SR} & SR ref & storage repository in which the VDI resides \\
10794 $\mathit{RO}_\mathit{run}$ & {\tt VBDs} & (VBD ref) Set & list of vbds that refer to this disk \\
10795 $\mathit{RO}_\mathit{run}$ & {\tt crash\_dumps} & (crashdump ref) Set & list of crash dumps that refer to this disk \\
10796 $\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 \\
10797 $\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) \\
10798 $\mathit{RO}_\mathit{ins}$ & {\tt type} & vdi\_type & type of the VDI \\
10799 $\mathit{RW}$ & {\tt sharable} & bool & true if this disk may be shared \\
10800 $\mathit{RW}$ & {\tt read\_only} & bool & true if this disk may ONLY be mounted read-only \\
10801 $\mathit{RW}$ & {\tt other\_config} & (string $\rightarrow$ string) Map & additional configuration \\
10802 $\mathit{RO}_\mathit{run}$ & {\tt security/label} & string & the VM's security label \\
10803 \hline
10804 \end{longtable}
10805 \subsection{RPCs associated with class: VDI}
10806 \subsubsection{RPC name:~get\_all}
10808 {\bf Overview:}
10809 Return a list of all the VDIs known to the system.
10811 \noindent {\bf Signature:}
10812 \begin{verbatim} ((VDI ref) Set) get_all (session_id s)\end{verbatim}
10815 \vspace{0.3cm}
10817 \noindent {\bf Return Type:}
10818 {\tt
10819 (VDI ref) Set
10823 references to all objects
10824 \vspace{0.3cm}
10825 \vspace{0.3cm}
10826 \vspace{0.3cm}
10827 \subsubsection{RPC name:~get\_uuid}
10829 {\bf Overview:}
10830 Get the uuid field of the given VDI.
10832 \noindent {\bf Signature:}
10833 \begin{verbatim} string get_uuid (session_id s, VDI ref self)\end{verbatim}
10836 \noindent{\bf Arguments:}
10839 \vspace{0.3cm}
10840 \begin{tabular}{|c|c|p{7cm}|}
10841 \hline
10842 {\bf type} & {\bf name} & {\bf description} \\ \hline
10843 {\tt VDI ref } & self & reference to the object \\ \hline
10845 \end{tabular}
10847 \vspace{0.3cm}
10849 \noindent {\bf Return Type:}
10850 {\tt
10851 string
10855 value of the field
10856 \vspace{0.3cm}
10857 \vspace{0.3cm}
10858 \vspace{0.3cm}
10859 \subsubsection{RPC name:~get\_name\_label}
10861 {\bf Overview:}
10862 Get the name/label field of the given VDI.
10864 \noindent {\bf Signature:}
10865 \begin{verbatim} string get_name_label (session_id s, VDI ref self)\end{verbatim}
10868 \noindent{\bf Arguments:}
10871 \vspace{0.3cm}
10872 \begin{tabular}{|c|c|p{7cm}|}
10873 \hline
10874 {\bf type} & {\bf name} & {\bf description} \\ \hline
10875 {\tt VDI ref } & self & reference to the object \\ \hline
10877 \end{tabular}
10879 \vspace{0.3cm}
10881 \noindent {\bf Return Type:}
10882 {\tt
10883 string
10887 value of the field
10888 \vspace{0.3cm}
10889 \vspace{0.3cm}
10890 \vspace{0.3cm}
10891 \subsubsection{RPC name:~set\_name\_label}
10893 {\bf Overview:}
10894 Set the name/label field of the given VDI.
10896 \noindent {\bf Signature:}
10897 \begin{verbatim} void set_name_label (session_id s, VDI ref self, string value)\end{verbatim}
10900 \noindent{\bf Arguments:}
10903 \vspace{0.3cm}
10904 \begin{tabular}{|c|c|p{7cm}|}
10905 \hline
10906 {\bf type} & {\bf name} & {\bf description} \\ \hline
10907 {\tt VDI ref } & self & reference to the object \\ \hline
10909 {\tt string } & value & New value to set \\ \hline
10911 \end{tabular}
10913 \vspace{0.3cm}
10915 \noindent {\bf Return Type:}
10916 {\tt
10917 void
10922 \vspace{0.3cm}
10923 \vspace{0.3cm}
10924 \vspace{0.3cm}
10925 \subsubsection{RPC name:~get\_name\_description}
10927 {\bf Overview:}
10928 Get the name/description field of the given VDI.
10930 \noindent {\bf Signature:}
10931 \begin{verbatim} string get_name_description (session_id s, VDI ref self)\end{verbatim}
10934 \noindent{\bf Arguments:}
10937 \vspace{0.3cm}
10938 \begin{tabular}{|c|c|p{7cm}|}
10939 \hline
10940 {\bf type} & {\bf name} & {\bf description} \\ \hline
10941 {\tt VDI ref } & self & reference to the object \\ \hline
10943 \end{tabular}
10945 \vspace{0.3cm}
10947 \noindent {\bf Return Type:}
10948 {\tt
10949 string
10953 value of the field
10954 \vspace{0.3cm}
10955 \vspace{0.3cm}
10956 \vspace{0.3cm}
10957 \subsubsection{RPC name:~set\_name\_description}
10959 {\bf Overview:}
10960 Set the name/description field of the given VDI.
10962 \noindent {\bf Signature:}
10963 \begin{verbatim} void set_name_description (session_id s, VDI ref self, string value)\end{verbatim}
10966 \noindent{\bf Arguments:}
10969 \vspace{0.3cm}
10970 \begin{tabular}{|c|c|p{7cm}|}
10971 \hline
10972 {\bf type} & {\bf name} & {\bf description} \\ \hline
10973 {\tt VDI ref } & self & reference to the object \\ \hline
10975 {\tt string } & value & New value to set \\ \hline
10977 \end{tabular}
10979 \vspace{0.3cm}