ia64/xen-unstable

view docs/xen-api/xenapi-datamodel.tex @ 19128:77393d4de777

[IA64] No need for cmpxchg on page_info structure.

Updates and checks on count_info and page owner can safely be
non-atomic.
This is ia64 counter part of 19088:055c589f4791.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
author Isaku Yamahata <yamahata@valinux.co.jp>
date Fri Jan 30 11:12:29 2009 +0900 (2009-01-30)
parents bf84c03c38ee
children
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 DPCI} & A pass-through PCI device \\
48 {\tt PPCI} & A physical PCI device \\
49 {\tt DSCSI} & A half-virtualized SCSI device \\
50 {\tt PSCSI} & A physical SCSI device \\
51 {\tt user} & A user of the system \\
52 {\tt debug} & A basic class for testing \\
53 {\tt XSPolicy} & A class for handling Xen Security Policies \\
54 {\tt ACMPolicy} & A class for handling ACM-type policies \\
55 \hline
56 \end{tabular}\end{center}
57 \section{Relationships Between Classes}
58 Fields that are bound together are shown in the following table:
59 \begin{center}\begin{tabular}{|ll|l|}
60 \hline
61 {\em object.field} & {\em object.field} & {\em relationship} \\
63 \hline
64 host.PBDs & PBD.host & many-to-one\\
65 SR.PBDs & PBD.SR & many-to-one\\
66 VDI.VBDs & VBD.VDI & many-to-one\\
67 VDI.crash\_dumps & crashdump.VDI & many-to-one\\
68 VBD.VM & VM.VBDs & one-to-many\\
69 crashdump.VM & VM.crash\_dumps & one-to-many\\
70 VIF.VM & VM.VIFs & one-to-many\\
71 VIF.network & network.VIFs & one-to-many\\
72 PIF.host & host.PIFs & one-to-many\\
73 PIF.network & network.PIFs & one-to-many\\
74 SR.VDIs & VDI.SR & many-to-one\\
75 VTPM.VM & VM.VTPMs & one-to-many\\
76 console.VM & VM.consoles & one-to-many\\
77 DPCI.VM & VM.DPCIs & one-to-many\\
78 PPCI.host & host.PPCIs & one-to-many\\
79 DSCSI.VM & VM.DSCSIs & one-to-many\\
80 PSCSI.host & host.PSCSIs & one-to-many\\
81 host.resident\_VMs & VM.resident\_on & many-to-one\\
82 host.host\_CPUs & host\_cpu.host & many-to-one\\
83 \hline
84 \end{tabular}\end{center}
86 The following represents bound fields (as specified above) diagrammatically, using crows-foot notation to specify one-to-one, one-to-many or many-to-many
87 relationships:
89 \begin{center}\resizebox{0.8\textwidth}{!}{
90 \includegraphics{xenapi-datamodel-graph}
91 }\end{center}
92 \
93 \subsection{List of bound fields}
94 \section{Types}
95 \subsection{Primitives}
96 The following primitive types are used to specify methods and fields in the API Reference:
98 \begin{center}\begin{tabular}{|ll|}
99 \hline
100 Type & Description \\
101 \hline
102 String & text strings \\
103 Int & 64-bit integers \\
104 Float & IEEE double-precision floating-point numbers \\
105 Bool & boolean \\
106 DateTime & date and timestamp \\
107 Ref (object name) & reference to an object of class name \\
108 \hline
109 \end{tabular}\end{center}
110 \subsection{Higher order types}
111 The following type constructors are used:
113 \begin{center}\begin{tabular}{|ll|}
114 \hline
115 Type & Description \\
116 \hline
117 List (t) & an arbitrary-length list of elements of type t \\
118 Map (a $\rightarrow$ b) & a table mapping values of type a to values of type b \\
119 \hline
120 \end{tabular}\end{center}
121 \subsection{Enumeration types}
122 The following enumeration types are used:
124 \begin{longtable}{|ll|}
125 \hline
126 {\tt enum event\_operation} & \\
127 \hline
128 \hspace{0.5cm}{\tt add} & An object has been created \\
129 \hspace{0.5cm}{\tt del} & An object has been deleted \\
130 \hspace{0.5cm}{\tt mod} & An object has been modified \\
131 \hline
132 \end{longtable}
134 \vspace{1cm}
135 \begin{longtable}{|ll|}
136 \hline
137 {\tt enum console\_protocol} & \\
138 \hline
139 \hspace{0.5cm}{\tt vt100} & VT100 terminal \\
140 \hspace{0.5cm}{\tt rfb} & Remote FrameBuffer protocol (as used in VNC) \\
141 \hspace{0.5cm}{\tt rdp} & Remote Desktop Protocol \\
142 \hline
143 \end{longtable}
145 \vspace{1cm}
146 \begin{longtable}{|ll|}
147 \hline
148 {\tt enum vdi\_type} & \\
149 \hline
150 \hspace{0.5cm}{\tt system} & a disk that may be replaced on upgrade \\
151 \hspace{0.5cm}{\tt user} & a disk that is always preserved on upgrade \\
152 \hspace{0.5cm}{\tt ephemeral} & a disk that may be reformatted on upgrade \\
153 \hspace{0.5cm}{\tt suspend} & a disk that stores a suspend image \\
154 \hspace{0.5cm}{\tt crashdump} & a disk that stores VM crashdump information \\
155 \hline
156 \end{longtable}
158 \vspace{1cm}
159 \begin{longtable}{|ll|}
160 \hline
161 {\tt enum vm\_power\_state} & \\
162 \hline
163 \hspace{0.5cm}{\tt Halted} & Halted \\
164 \hspace{0.5cm}{\tt Paused} & Paused \\
165 \hspace{0.5cm}{\tt Running} & Running \\
166 \hspace{0.5cm}{\tt Suspended} & Suspended \\
167 \hspace{0.5cm}{\tt Crashed} & Crashed \\
168 \hspace{0.5cm}{\tt Unknown} & Some other unknown state \\
169 \hline
170 \end{longtable}
172 \vspace{1cm}
173 \begin{longtable}{|ll|}
174 \hline
175 {\tt enum task\_allowed\_operations} & \\
176 \hline
177 \hspace{0.5cm}{\tt Cancel} & Cancel \\
178 \hline
179 \end{longtable}
181 \vspace{1cm}
182 \begin{longtable}{|ll|}
183 \hline
184 {\tt enum task\_status\_type} & \\
185 \hline
186 \hspace{0.5cm}{\tt pending} & task is in progress \\
187 \hspace{0.5cm}{\tt success} & task was completed successfully \\
188 \hspace{0.5cm}{\tt failure} & task has failed \\
189 \hspace{0.5cm}{\tt cancelling} & task is being cancelled \\
190 \hspace{0.5cm}{\tt cancelled} & task has been cancelled \\
191 \hline
192 \end{longtable}
194 \vspace{1cm}
195 \begin{longtable}{|ll|}
196 \hline
197 {\tt enum on\_normal\_exit} & \\
198 \hline
199 \hspace{0.5cm}{\tt destroy} & destroy the VM state \\
200 \hspace{0.5cm}{\tt restart} & restart the VM \\
201 \hline
202 \end{longtable}
204 \vspace{1cm}
205 \begin{longtable}{|ll|}
206 \hline
207 {\tt enum on\_crash\_behaviour} & \\
208 \hline
209 \hspace{0.5cm}{\tt destroy} & destroy the VM state \\
210 \hspace{0.5cm}{\tt coredump\_and\_destroy} & record a coredump and then destroy the VM state \\
211 \hspace{0.5cm}{\tt restart} & restart the VM \\
212 \hspace{0.5cm}{\tt coredump\_and\_restart} & record a coredump and then restart the VM \\
213 \hspace{0.5cm}{\tt preserve} & leave the crashed VM as-is \\
214 \hspace{0.5cm}{\tt rename\_restart} & rename the crashed VM and start a new copy \\
215 \hline
216 \end{longtable}
218 \vspace{1cm}
219 \begin{longtable}{|ll|}
220 \hline
221 {\tt enum vbd\_mode} & \\
222 \hline
223 \hspace{0.5cm}{\tt RO} & disk is mounted read-only \\
224 \hspace{0.5cm}{\tt RW} & disk is mounted read-write \\
225 \hline
226 \end{longtable}
228 \vspace{1cm}
229 \begin{longtable}{|ll|}
230 \hline
231 {\tt enum vbd\_type} & \\
232 \hline
233 \hspace{0.5cm}{\tt CD} & VBD will appear to guest as CD \\
234 \hspace{0.5cm}{\tt Disk} & VBD will appear to guest as disk \\
235 \hline
236 \end{longtable}
238 \vspace{1cm}
239 \newpage
241 \section{Error Handling}
242 When a low-level transport error occurs, or a request is malformed at the HTTP
243 or XML-RPC level, the server may send an XML-RPC Fault response, or the client
244 may simulate the same. The client must be prepared to handle these errors,
245 though they may be treated as fatal. On the wire, these are transmitted in a
246 form similar to this:
248 \begin{verbatim}
249 <methodResponse>
250 <fault>
251 <value>
252 <struct>
253 <member>
254 <name>faultCode</name>
255 <value><int>-1</int></value>
256 </member>
257 <member>
258 <name>faultString</name>
259 <value><string>Malformed request</string></value>
260 </member>
261 </struct>
262 </value>
263 </fault>
264 </methodResponse>
265 \end{verbatim}
267 All other failures are reported with a more structured error response, to
268 allow better automatic response to failures, proper internationalisation of
269 any error message, and easier debugging. On the wire, these are transmitted
270 like this:
272 \begin{verbatim}
273 <struct>
274 <member>
275 <name>Status</name>
276 <value>Failure</value>
277 </member>
278 <member>
279 <name>ErrorDescription</name>
280 <value>
281 <array>
282 <data>
283 <value>MAP_DUPLICATE_KEY</value>
284 <value>Customer</value>
285 <value>eSpeil Inc.</value>
286 <value>eSpeil Incorporated</value>
287 </data>
288 </array>
289 </value>
290 </member>
291 </struct>
292 \end{verbatim}
294 Note that {\tt ErrorDescription} value is an array of string values. The
295 first element of the array is an error code; the remainder of the array are
296 strings representing error parameters relating to that code. In this case,
297 the client has attempted to add the mapping {\tt Customer $\rightarrow$
298 eSpiel Incorporated} to a Map, but it already contains the mapping
299 {\tt Customer $\rightarrow$ eSpiel Inc.}, and so the request has failed.
301 The reference below lists each possible error returned by each method.
302 As well as the errors explicitly listed, any method may return low-level
303 errors as described above, or any of the following generic errors:
305 \begin{itemize}
306 \item HANDLE\_INVALID
307 \item INTERNAL\_ERROR
308 \item MAP\_DUPLICATE\_KEY
309 \item MESSAGE\_METHOD\_UNKNOWN
310 \item MESSAGE\_PARAMETER\_COUNT\_MISMATCH
311 \item OPERATION\_NOT\_ALLOWED
312 \item PERMISSION\_DENIED
313 \item SESSION\_INVALID
314 \end{itemize}
316 Each possible error code is documented in the following section.
318 \subsection{Error Codes}
320 \subsubsection{HANDLE\_INVALID}
322 You gave an invalid handle. The object may have recently been deleted.
323 The class parameter gives the type of reference given, and the handle
324 parameter echoes the bad value given.
326 \vspace{0.3cm}
327 {\bf Signature:}
328 \begin{verbatim}HANDLE_INVALID(class, handle)\end{verbatim}
329 \begin{center}\rule{10em}{0.1pt}\end{center}
331 \subsubsection{INTERNAL\_ERROR}
333 The server failed to handle your request, due to an internal error. The
334 given message may give details useful for debugging the problem.
336 \vspace{0.3cm}
337 {\bf Signature:}
338 \begin{verbatim}INTERNAL_ERROR(message)\end{verbatim}
339 \begin{center}\rule{10em}{0.1pt}\end{center}
341 \subsubsection{MAP\_DUPLICATE\_KEY}
343 You tried to add a key-value pair to a map, but that key is already there.
344 The key, current value, and the new value that you tried to set are all
345 echoed.
347 \vspace{0.3cm}
348 {\bf Signature:}
349 \begin{verbatim}MAP_DUPLICATE_KEY(key, current value, new value)\end{verbatim}
350 \begin{center}\rule{10em}{0.1pt}\end{center}
352 \subsubsection{MESSAGE\_METHOD\_UNKNOWN}
354 You tried to call a method that does not exist. The method name that you
355 used is echoed.
357 \vspace{0.3cm}
358 {\bf Signature:}
359 \begin{verbatim}MESSAGE_METHOD_UNKNOWN(method)\end{verbatim}
360 \begin{center}\rule{10em}{0.1pt}\end{center}
362 \subsubsection{MESSAGE\_PARAMETER\_COUNT\_MISMATCH}
364 You tried to call a method with the incorrect number of parameters. The
365 fully-qualified method name that you used, and the number of received and
366 expected parameters are returned.
368 \vspace{0.3cm}
369 {\bf Signature:}
370 \begin{verbatim}MESSAGE_PARAMETER_COUNT_MISMATCH(method, expected, received)\end{verbatim}
371 \begin{center}\rule{10em}{0.1pt}\end{center}
373 \subsubsection{NETWORK\_ALREADY\_CONNECTED}
375 You tried to create a PIF, but the network you tried to attach it to is
376 already attached to some other PIF, and so the creation failed.
378 \vspace{0.3cm}
379 {\bf Signature:}
380 \begin{verbatim}NETWORK_ALREADY_CONNECTED(network, connected PIF)\end{verbatim}
381 \begin{center}\rule{10em}{0.1pt}\end{center}
383 \subsubsection{OPERATION\_NOT\_ALLOWED}
385 You attempted an operation that was not allowed.
387 \vspace{0.3cm}
388 No parameters.
389 \begin{center}\rule{10em}{0.1pt}\end{center}
391 \subsubsection{PERMISSION\_DENIED}
393 You do not have the required permissions to perform the operation.
395 \vspace{0.3cm}
396 No parameters.
397 \begin{center}\rule{10em}{0.1pt}\end{center}
399 \subsubsection{PIF\_IS\_PHYSICAL}
401 You tried to destroy a PIF, but it represents an aspect of the physical
402 host configuration, and so cannot be destroyed. The parameter echoes the
403 PIF handle you gave.
405 \vspace{0.3cm}
406 {\bf Signature:}
407 \begin{verbatim}PIF_IS_PHYSICAL(PIF)\end{verbatim}
408 \begin{center}\rule{10em}{0.1pt}\end{center}
410 \subsubsection{SESSION\_AUTHENTICATION\_FAILED}
412 The credentials given by the user are incorrect, so access has been denied,
413 and you have not been issued a session handle.
415 \vspace{0.3cm}
416 No parameters.
417 \begin{center}\rule{10em}{0.1pt}\end{center}
419 \subsubsection{SESSION\_INVALID}
421 You gave an invalid session handle. It may have been invalidated by a
422 server restart, or timed out. You should get a new session handle, using
423 one of the session.login\_ calls. This error does not invalidate the
424 current connection. The handle parameter echoes the bad value given.
426 \vspace{0.3cm}
427 {\bf Signature:}
428 \begin{verbatim}SESSION_INVALID(handle)\end{verbatim}
429 \begin{center}\rule{10em}{0.1pt}\end{center}
431 \subsubsection{SESSION\_NOT\_REGISTERED}
433 This session is not registered to receive events. You must call
434 event.register before event.next. The session handle you are using is
435 echoed.
437 \vspace{0.3cm}
438 {\bf Signature:}
439 \begin{verbatim}SESSION_NOT_REGISTERED(handle)\end{verbatim}
440 \begin{center}\rule{10em}{0.1pt}\end{center}
442 \subsubsection{VALUE\_NOT\_SUPPORTED}
444 You attempted to set a value that is not supported by this implementation.
445 The fully-qualified field name and the value that you tried to set are
446 returned. Also returned is a developer-only diagnostic reason.
448 \vspace{0.3cm}
449 {\bf Signature:}
450 \begin{verbatim}VALUE_NOT_SUPPORTED(field, value, reason)\end{verbatim}
451 \begin{center}\rule{10em}{0.1pt}\end{center}
453 \subsubsection{VLAN\_TAG\_INVALID}
455 You tried to create a VLAN, but the tag you gave was invalid -- it must be
456 between 0 and 4095. The parameter echoes the VLAN tag you gave.
458 \vspace{0.3cm}
459 {\bf Signature:}
460 \begin{verbatim}VLAN_TAG_INVALID(VLAN)\end{verbatim}
461 \begin{center}\rule{10em}{0.1pt}\end{center}
463 \subsubsection{VM\_BAD\_POWER\_STATE}
465 You attempted an operation on a VM that was not in an appropriate power
466 state at the time; for example, you attempted to start a VM that was
467 already running. The parameters returned are the VM's handle, and the
468 expected and actual VM state at the time of the call.
470 \vspace{0.3cm}
471 {\bf Signature:}
472 \begin{verbatim}VM_BAD_POWER_STATE(vm, expected, actual)\end{verbatim}
473 \begin{center}\rule{10em}{0.1pt}\end{center}
475 \subsubsection{VM\_HVM\_REQUIRED}
477 HVM is required for this operation
479 \vspace{0.3cm}
480 {\bf Signature:}
481 \begin{verbatim}VM_HVM_REQUIRED(vm)\end{verbatim}
482 \begin{center}\rule{10em}{0.1pt}\end{center}
484 \subsubsection{SECURITY\_ERROR}
486 A security error occurred. The parameter provides the xen security
487 error code and a message describing the error.
489 \vspace{0.3cm}
490 {\bf Signature:}
491 \begin{verbatim}SECURITY_ERROR(xserr, message)\end{verbatim}
492 \begin{center}\rule{10em}{0.1pt}\end{center}
495 \newpage
496 \section{Class: session}
497 \subsection{Fields for class: session}
498 \begin{longtable}{|lllp{0.38\textwidth}|}
499 \hline
500 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf session} \\
501 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
502 session.}} \\
503 \hline
504 Quals & Field & Type & Description \\
505 \hline
506 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
507 $\mathit{RO}_\mathit{run}$ & {\tt this\_host} & host ref & Currently connected host \\
508 $\mathit{RO}_\mathit{run}$ & {\tt this\_user} & user ref & Currently connected user \\
509 $\mathit{RO}_\mathit{run}$ & {\tt last\_active} & int & Timestamp for last time session was active \\
510 \hline
511 \end{longtable}
512 \subsection{RPCs associated with class: session}
513 \subsubsection{RPC name:~login\_with\_password}
515 {\bf Overview:}
516 Attempt to authenticate the user, returning a session\_id if successful.
518 \noindent {\bf Signature:}
519 \begin{verbatim} (session ref) login_with_password (string uname, string pwd)\end{verbatim}
522 \noindent{\bf Arguments:}
525 \vspace{0.3cm}
526 \begin{tabular}{|c|c|p{7cm}|}
527 \hline
528 {\bf type} & {\bf name} & {\bf description} \\ \hline
529 {\tt string } & uname & Username for login. \\ \hline
531 {\tt string } & pwd & Password for login. \\ \hline
533 \end{tabular}
535 \vspace{0.3cm}
537 \noindent {\bf Return Type:}
538 {\tt
539 session ref
540 }
543 ID of newly created session
545 \vspace{0.3cm}
547 \noindent{\bf Possible Error Codes:} {\tt SESSION\_AUTHENTICATION\_FAILED}
549 \vspace{0.3cm}
550 \vspace{0.3cm}
551 \vspace{0.3cm}
552 \subsubsection{RPC name:~logout}
554 {\bf Overview:}
555 Log out of a session.
557 \noindent {\bf Signature:}
558 \begin{verbatim} void logout (session_id s)\end{verbatim}
561 \vspace{0.3cm}
563 \noindent {\bf Return Type:}
564 {\tt
565 void
566 }
570 \vspace{0.3cm}
571 \vspace{0.3cm}
572 \vspace{0.3cm}
573 \subsubsection{RPC name:~get\_uuid}
575 {\bf Overview:}
576 Get the uuid field of the given session.
578 \noindent {\bf Signature:}
579 \begin{verbatim} string get_uuid (session_id s, session ref self)\end{verbatim}
582 \noindent{\bf Arguments:}
585 \vspace{0.3cm}
586 \begin{tabular}{|c|c|p{7cm}|}
587 \hline
588 {\bf type} & {\bf name} & {\bf description} \\ \hline
589 {\tt session ref } & self & reference to the object \\ \hline
591 \end{tabular}
593 \vspace{0.3cm}
595 \noindent {\bf Return Type:}
596 {\tt
597 string
598 }
601 value of the field
602 \vspace{0.3cm}
603 \vspace{0.3cm}
604 \vspace{0.3cm}
605 \subsubsection{RPC name:~get\_this\_host}
607 {\bf Overview:}
608 Get the this\_host field of the given session.
610 \noindent {\bf Signature:}
611 \begin{verbatim} (host ref) get_this_host (session_id s, session ref self)\end{verbatim}
614 \noindent{\bf Arguments:}
617 \vspace{0.3cm}
618 \begin{tabular}{|c|c|p{7cm}|}
619 \hline
620 {\bf type} & {\bf name} & {\bf description} \\ \hline
621 {\tt session ref } & self & reference to the object \\ \hline
623 \end{tabular}
625 \vspace{0.3cm}
627 \noindent {\bf Return Type:}
628 {\tt
629 host ref
630 }
633 value of the field
634 \vspace{0.3cm}
635 \vspace{0.3cm}
636 \vspace{0.3cm}
637 \subsubsection{RPC name:~get\_this\_user}
639 {\bf Overview:}
640 Get the this\_user field of the given session.
642 \noindent {\bf Signature:}
643 \begin{verbatim} (user ref) get_this_user (session_id s, session ref self)\end{verbatim}
646 \noindent{\bf Arguments:}
649 \vspace{0.3cm}
650 \begin{tabular}{|c|c|p{7cm}|}
651 \hline
652 {\bf type} & {\bf name} & {\bf description} \\ \hline
653 {\tt session ref } & self & reference to the object \\ \hline
655 \end{tabular}
657 \vspace{0.3cm}
659 \noindent {\bf Return Type:}
660 {\tt
661 user ref
662 }
665 value of the field
666 \vspace{0.3cm}
667 \vspace{0.3cm}
668 \vspace{0.3cm}
669 \subsubsection{RPC name:~get\_last\_active}
671 {\bf Overview:}
672 Get the last\_active field of the given session.
674 \noindent {\bf Signature:}
675 \begin{verbatim} int get_last_active (session_id s, session ref self)\end{verbatim}
678 \noindent{\bf Arguments:}
681 \vspace{0.3cm}
682 \begin{tabular}{|c|c|p{7cm}|}
683 \hline
684 {\bf type} & {\bf name} & {\bf description} \\ \hline
685 {\tt session ref } & self & reference to the object \\ \hline
687 \end{tabular}
689 \vspace{0.3cm}
691 \noindent {\bf Return Type:}
692 {\tt
693 int
694 }
697 value of the field
698 \vspace{0.3cm}
699 \vspace{0.3cm}
700 \vspace{0.3cm}
701 \subsubsection{RPC name:~get\_by\_uuid}
703 {\bf Overview:}
704 Get a reference to the session instance with the specified UUID.
706 \noindent {\bf Signature:}
707 \begin{verbatim} (session ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
710 \noindent{\bf Arguments:}
713 \vspace{0.3cm}
714 \begin{tabular}{|c|c|p{7cm}|}
715 \hline
716 {\bf type} & {\bf name} & {\bf description} \\ \hline
717 {\tt string } & uuid & UUID of object to return \\ \hline
719 \end{tabular}
721 \vspace{0.3cm}
723 \noindent {\bf Return Type:}
724 {\tt
725 session ref
726 }
729 reference to the object
730 \vspace{0.3cm}
731 \vspace{0.3cm}
732 \vspace{0.3cm}
733 \subsubsection{RPC name:~get\_record}
735 {\bf Overview:}
736 Get a record containing the current state of the given session.
738 \noindent {\bf Signature:}
739 \begin{verbatim} (session record) get_record (session_id s, session ref self)\end{verbatim}
742 \noindent{\bf Arguments:}
745 \vspace{0.3cm}
746 \begin{tabular}{|c|c|p{7cm}|}
747 \hline
748 {\bf type} & {\bf name} & {\bf description} \\ \hline
749 {\tt session ref } & self & reference to the object \\ \hline
751 \end{tabular}
753 \vspace{0.3cm}
755 \noindent {\bf Return Type:}
756 {\tt
757 session record
758 }
761 all fields from the object
762 \vspace{0.3cm}
763 \vspace{0.3cm}
764 \vspace{0.3cm}
766 \vspace{1cm}
767 \newpage
768 \section{Class: task}
769 \subsection{Fields for class: task}
770 \begin{longtable}{|lllp{0.38\textwidth}|}
771 \hline
772 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf task} \\
773 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
774 long-running asynchronous task.}} \\
775 \hline
776 Quals & Field & Type & Description \\
777 \hline
778 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
779 $\mathit{RO}_\mathit{run}$ & {\tt name/label} & string & a human-readable name \\
780 $\mathit{RO}_\mathit{run}$ & {\tt name/description} & string & a notes field containg human-readable description \\
781 $\mathit{RO}_\mathit{run}$ & {\tt status} & task\_status\_type & current status of the task \\
782 $\mathit{RO}_\mathit{run}$ & {\tt session} & session ref & the session that created the task \\
783 $\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. \\
784 $\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. \\
785 $\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. \\
786 $\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. \\
787 $\mathit{RO}_\mathit{run}$ & {\tt allowed\_operations} & (task\_allowed\_operations) Set & Operations allowed on this task \\
788 \hline
789 \end{longtable}
790 \subsection{RPCs associated with class: task}
791 \subsubsection{RPC name:~cancel}
793 {\bf Overview:}
794 Cancel this task. If task.allowed\_operations does not contain Cancel,
795 then this will fail with OPERATION\_NOT\_ALLOWED. The task will show the
796 status 'cancelling', and you should continue to check its status until it
797 shows 'cancelled'. There is no guarantee as to the time within which this
798 task will be cancelled.
800 \noindent {\bf Signature:}
801 \begin{verbatim} void cancel (session_id s, task ref task)\end{verbatim}
804 \noindent{\bf Arguments:}
807 \vspace{0.3cm}
808 \begin{tabular}{|c|c|p{7cm}|}
809 \hline
810 {\bf type} & {\bf name} & {\bf description} \\ \hline
811 {\tt task ref } & task & The task \\ \hline
813 \end{tabular}
815 \vspace{0.3cm}
817 \noindent {\bf Return Type:}
818 {\tt
819 void
820 }
824 \vspace{0.3cm}
826 \noindent{\bf Possible Error Codes:} {\tt OPERATION\_NOT\_ALLOWED}
828 \vspace{0.6cm}
829 \subsubsection{RPC name:~get\_all}
831 {\bf Overview:}
832 Return a list of all the tasks known to the system.
834 \noindent {\bf Signature:}
835 \begin{verbatim} ((task ref) Set) get_all (session_id s)\end{verbatim}
838 \vspace{0.3cm}
840 \noindent {\bf Return Type:}
841 {\tt
842 (task ref) Set
843 }
846 references to all objects
847 \vspace{0.3cm}
848 \vspace{0.3cm}
849 \vspace{0.3cm}
850 \subsubsection{RPC name:~get\_uuid}
852 {\bf Overview:}
853 Get the uuid field of the given task.
855 \noindent {\bf Signature:}
856 \begin{verbatim} string get_uuid (session_id s, task ref self)\end{verbatim}
859 \noindent{\bf Arguments:}
862 \vspace{0.3cm}
863 \begin{tabular}{|c|c|p{7cm}|}
864 \hline
865 {\bf type} & {\bf name} & {\bf description} \\ \hline
866 {\tt task ref } & self & reference to the object \\ \hline
868 \end{tabular}
870 \vspace{0.3cm}
872 \noindent {\bf Return Type:}
873 {\tt
874 string
875 }
878 value of the field
879 \vspace{0.3cm}
880 \vspace{0.3cm}
881 \vspace{0.3cm}
882 \subsubsection{RPC name:~get\_name\_label}
884 {\bf Overview:}
885 Get the name/label field of the given task.
887 \noindent {\bf Signature:}
888 \begin{verbatim} string get_name_label (session_id s, task ref self)\end{verbatim}
891 \noindent{\bf Arguments:}
894 \vspace{0.3cm}
895 \begin{tabular}{|c|c|p{7cm}|}
896 \hline
897 {\bf type} & {\bf name} & {\bf description} \\ \hline
898 {\tt task ref } & self & reference to the object \\ \hline
900 \end{tabular}
902 \vspace{0.3cm}
904 \noindent {\bf Return Type:}
905 {\tt
906 string
907 }
910 value of the field
911 \vspace{0.3cm}
912 \vspace{0.3cm}
913 \vspace{0.3cm}
914 \subsubsection{RPC name:~get\_name\_description}
916 {\bf Overview:}
917 Get the name/description field of the given task.
919 \noindent {\bf Signature:}
920 \begin{verbatim} string get_name_description (session_id s, task ref self)\end{verbatim}
923 \noindent{\bf Arguments:}
926 \vspace{0.3cm}
927 \begin{tabular}{|c|c|p{7cm}|}
928 \hline
929 {\bf type} & {\bf name} & {\bf description} \\ \hline
930 {\tt task ref } & self & reference to the object \\ \hline
932 \end{tabular}
934 \vspace{0.3cm}
936 \noindent {\bf Return Type:}
937 {\tt
938 string
939 }
942 value of the field
943 \vspace{0.3cm}
944 \vspace{0.3cm}
945 \vspace{0.3cm}
946 \subsubsection{RPC name:~get\_status}
948 {\bf Overview:}
949 Get the status field of the given task.
951 \noindent {\bf Signature:}
952 \begin{verbatim} (task_status_type) get_status (session_id s, task ref self)\end{verbatim}
955 \noindent{\bf Arguments:}
958 \vspace{0.3cm}
959 \begin{tabular}{|c|c|p{7cm}|}
960 \hline
961 {\bf type} & {\bf name} & {\bf description} \\ \hline
962 {\tt task ref } & self & reference to the object \\ \hline
964 \end{tabular}
966 \vspace{0.3cm}
968 \noindent {\bf Return Type:}
969 {\tt
970 task\_status\_type
971 }
974 value of the field
975 \vspace{0.3cm}
976 \vspace{0.3cm}
977 \vspace{0.3cm}
978 \subsubsection{RPC name:~get\_session}
980 {\bf Overview:}
981 Get the session field of the given task.
983 \noindent {\bf Signature:}
984 \begin{verbatim} (session ref) get_session (session_id s, task ref self)\end{verbatim}
987 \noindent{\bf Arguments:}
990 \vspace{0.3cm}
991 \begin{tabular}{|c|c|p{7cm}|}
992 \hline
993 {\bf type} & {\bf name} & {\bf description} \\ \hline
994 {\tt task ref } & self & reference to the object \\ \hline
996 \end{tabular}
998 \vspace{0.3cm}
1000 \noindent {\bf Return Type:}
1001 {\tt
1002 session ref
1006 value of the field
1007 \vspace{0.3cm}
1008 \vspace{0.3cm}
1009 \vspace{0.3cm}
1010 \subsubsection{RPC name:~get\_progress}
1012 {\bf Overview:}
1013 Get the progress field of the given task.
1015 \noindent {\bf Signature:}
1016 \begin{verbatim} int get_progress (session_id s, task ref self)\end{verbatim}
1019 \noindent{\bf Arguments:}
1022 \vspace{0.3cm}
1023 \begin{tabular}{|c|c|p{7cm}|}
1024 \hline
1025 {\bf type} & {\bf name} & {\bf description} \\ \hline
1026 {\tt task ref } & self & reference to the object \\ \hline
1028 \end{tabular}
1030 \vspace{0.3cm}
1032 \noindent {\bf Return Type:}
1033 {\tt
1034 int
1038 value of the field
1039 \vspace{0.3cm}
1040 \vspace{0.3cm}
1041 \vspace{0.3cm}
1042 \subsubsection{RPC name:~get\_type}
1044 {\bf Overview:}
1045 Get the type field of the given task.
1047 \noindent {\bf Signature:}
1048 \begin{verbatim} string get_type (session_id s, task ref self)\end{verbatim}
1051 \noindent{\bf Arguments:}
1054 \vspace{0.3cm}
1055 \begin{tabular}{|c|c|p{7cm}|}
1056 \hline
1057 {\bf type} & {\bf name} & {\bf description} \\ \hline
1058 {\tt task ref } & self & reference to the object \\ \hline
1060 \end{tabular}
1062 \vspace{0.3cm}
1064 \noindent {\bf Return Type:}
1065 {\tt
1066 string
1070 value of the field
1071 \vspace{0.3cm}
1072 \vspace{0.3cm}
1073 \vspace{0.3cm}
1074 \subsubsection{RPC name:~get\_result}
1076 {\bf Overview:}
1077 Get the result field of the given task.
1079 \noindent {\bf Signature:}
1080 \begin{verbatim} string get_result (session_id s, task ref self)\end{verbatim}
1083 \noindent{\bf Arguments:}
1086 \vspace{0.3cm}
1087 \begin{tabular}{|c|c|p{7cm}|}
1088 \hline
1089 {\bf type} & {\bf name} & {\bf description} \\ \hline
1090 {\tt task ref } & self & reference to the object \\ \hline
1092 \end{tabular}
1094 \vspace{0.3cm}
1096 \noindent {\bf Return Type:}
1097 {\tt
1098 string
1102 value of the field
1103 \vspace{0.3cm}
1104 \vspace{0.3cm}
1105 \vspace{0.3cm}
1106 \subsubsection{RPC name:~get\_error\_info}
1108 {\bf Overview:}
1109 Get the error\_info field of the given task.
1111 \noindent {\bf Signature:}
1112 \begin{verbatim} (string Set) get_error_info (session_id s, task ref self)\end{verbatim}
1115 \noindent{\bf Arguments:}
1118 \vspace{0.3cm}
1119 \begin{tabular}{|c|c|p{7cm}|}
1120 \hline
1121 {\bf type} & {\bf name} & {\bf description} \\ \hline
1122 {\tt task ref } & self & reference to the object \\ \hline
1124 \end{tabular}
1126 \vspace{0.3cm}
1128 \noindent {\bf Return Type:}
1129 {\tt
1130 string Set
1134 value of the field
1135 \vspace{0.3cm}
1136 \vspace{0.3cm}
1137 \vspace{0.3cm}
1138 \subsubsection{RPC name:~get\_allowed\_operations}
1140 {\bf Overview:}
1141 Get the allowed\_operations field of the given task.
1143 \noindent {\bf Signature:}
1144 \begin{verbatim} ((task_allowed_operations) Set) get_allowed_operations (session_id s, task ref self)\end{verbatim}
1147 \noindent{\bf Arguments:}
1150 \vspace{0.3cm}
1151 \begin{tabular}{|c|c|p{7cm}|}
1152 \hline
1153 {\bf type} & {\bf name} & {\bf description} \\ \hline
1154 {\tt task ref } & self & reference to the object \\ \hline
1156 \end{tabular}
1158 \vspace{0.3cm}
1160 \noindent {\bf Return Type:}
1161 {\tt
1162 (task\_allowed\_operations) Set
1166 value of the field
1167 \vspace{0.3cm}
1168 \vspace{0.3cm}
1169 \vspace{0.3cm}
1170 \subsubsection{RPC name:~get\_by\_uuid}
1172 {\bf Overview:}
1173 Get a reference to the task instance with the specified UUID.
1175 \noindent {\bf Signature:}
1176 \begin{verbatim} (task ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
1179 \noindent{\bf Arguments:}
1182 \vspace{0.3cm}
1183 \begin{tabular}{|c|c|p{7cm}|}
1184 \hline
1185 {\bf type} & {\bf name} & {\bf description} \\ \hline
1186 {\tt string } & uuid & UUID of object to return \\ \hline
1188 \end{tabular}
1190 \vspace{0.3cm}
1192 \noindent {\bf Return Type:}
1193 {\tt
1194 task ref
1198 reference to the object
1199 \vspace{0.3cm}
1200 \vspace{0.3cm}
1201 \vspace{0.3cm}
1202 \subsubsection{RPC name:~get\_record}
1204 {\bf Overview:}
1205 Get a record containing the current state of the given task.
1207 \noindent {\bf Signature:}
1208 \begin{verbatim} (task record) get_record (session_id s, task ref self)\end{verbatim}
1211 \noindent{\bf Arguments:}
1214 \vspace{0.3cm}
1215 \begin{tabular}{|c|c|p{7cm}|}
1216 \hline
1217 {\bf type} & {\bf name} & {\bf description} \\ \hline
1218 {\tt task ref } & self & reference to the object \\ \hline
1220 \end{tabular}
1222 \vspace{0.3cm}
1224 \noindent {\bf Return Type:}
1225 {\tt
1226 task record
1230 all fields from the object
1231 \vspace{0.3cm}
1232 \vspace{0.3cm}
1233 \vspace{0.3cm}
1234 \subsubsection{RPC name:~get\_by\_name\_label}
1236 {\bf Overview:}
1237 Get all the task instances with the given label.
1239 \noindent {\bf Signature:}
1240 \begin{verbatim} ((task ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
1243 \noindent{\bf Arguments:}
1246 \vspace{0.3cm}
1247 \begin{tabular}{|c|c|p{7cm}|}
1248 \hline
1249 {\bf type} & {\bf name} & {\bf description} \\ \hline
1250 {\tt string } & label & label of object to return \\ \hline
1252 \end{tabular}
1254 \vspace{0.3cm}
1256 \noindent {\bf Return Type:}
1257 {\tt
1258 (task ref) Set
1262 references to objects with match names
1263 \vspace{0.3cm}
1264 \vspace{0.3cm}
1265 \vspace{0.3cm}
1267 \vspace{1cm}
1268 \newpage
1269 \section{Class: event}
1270 \subsection{Fields for class: event}
1271 \begin{longtable}{|lllp{0.38\textwidth}|}
1272 \hline
1273 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf event} \\
1274 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em
1275 Asynchronous event registration and handling.}} \\
1276 \hline
1277 Quals & Field & Type & Description \\
1278 \hline
1279 $\mathit{RO}_\mathit{ins}$ & {\tt id} & int & An ID, monotonically increasing, and local to the current session \\
1280 $\mathit{RO}_\mathit{ins}$ & {\tt timestamp} & datetime & The time at which the event occurred \\
1281 $\mathit{RO}_\mathit{ins}$ & {\tt class} & string & The name of the class of the object that changed \\
1282 $\mathit{RO}_\mathit{ins}$ & {\tt operation} & event\_operation & The operation that was performed \\
1283 $\mathit{RO}_\mathit{ins}$ & {\tt ref} & string & A reference to the object that changed \\
1284 $\mathit{RO}_\mathit{ins}$ & {\tt obj\_uuid} & string & The uuid of the object that changed \\
1285 \hline
1286 \end{longtable}
1287 \subsection{RPCs associated with class: event}
1288 \subsubsection{RPC name:~register}
1290 {\bf Overview:}
1291 Registers this session with the event system. Specifying the empty list
1292 will register for all classes.
1294 \noindent {\bf Signature:}
1295 \begin{verbatim} void register (session_id s, string Set classes)\end{verbatim}
1298 \noindent{\bf Arguments:}
1301 \vspace{0.3cm}
1302 \begin{tabular}{|c|c|p{7cm}|}
1303 \hline
1304 {\bf type} & {\bf name} & {\bf description} \\ \hline
1305 {\tt string Set } & classes & register for events for the indicated classes \\ \hline
1307 \end{tabular}
1309 \vspace{0.3cm}
1311 \noindent {\bf Return Type:}
1312 {\tt
1313 void
1318 \vspace{0.3cm}
1319 \vspace{0.3cm}
1320 \vspace{0.3cm}
1321 \subsubsection{RPC name:~unregister}
1323 {\bf Overview:}
1324 Unregisters this session with the event system.
1326 \noindent {\bf Signature:}
1327 \begin{verbatim} void unregister (session_id s, string Set classes)\end{verbatim}
1330 \noindent{\bf Arguments:}
1333 \vspace{0.3cm}
1334 \begin{tabular}{|c|c|p{7cm}|}
1335 \hline
1336 {\bf type} & {\bf name} & {\bf description} \\ \hline
1337 {\tt string Set } & classes & remove this session's registration for the indicated classes \\ \hline
1339 \end{tabular}
1341 \vspace{0.3cm}
1343 \noindent {\bf Return Type:}
1344 {\tt
1345 void
1350 \vspace{0.3cm}
1351 \vspace{0.3cm}
1352 \vspace{0.3cm}
1353 \subsubsection{RPC name:~next}
1355 {\bf Overview:}
1356 Blocking call which returns a (possibly empty) batch of events.
1358 \noindent {\bf Signature:}
1359 \begin{verbatim} ((event record) Set) next (session_id s)\end{verbatim}
1362 \vspace{0.3cm}
1364 \noindent {\bf Return Type:}
1365 {\tt
1366 (event record) Set
1370 the batch of events
1371 \vspace{0.3cm}
1373 \noindent{\bf Possible Error Codes:} {\tt SESSION\_NOT\_REGISTERED}
1375 \vspace{0.6cm}
1377 \vspace{1cm}
1378 \newpage
1379 \section{Class: VM}
1380 \subsection{Fields for class: VM}
1381 \begin{longtable}{|lllp{0.38\textwidth}|}
1382 \hline
1383 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VM} \\
1384 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
1385 virtual machine (or 'guest').}} \\
1386 \hline
1387 Quals & Field & Type & Description \\
1388 \hline
1389 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
1390 $\mathit{RO}_\mathit{run}$ & {\tt power\_state} & vm\_power\_state & Current power state of the machine \\
1391 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
1392 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
1393 $\mathit{RW}$ & {\tt user\_version} & int & a user version number for this machine \\
1394 $\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 \\
1395 $\mathit{RW}$ & {\tt auto\_power\_on} & bool & true if this VM should be started automatically after host boot \\
1396 $\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) \\
1397 $\mathit{RO}_\mathit{run}$ & {\tt resident\_on} & host ref & the host the VM is currently resident on \\
1398 $\mathit{RW}$ & {\tt memory/static\_max} & int & Statically-set (i.e. absolute) maximum (bytes) \\
1399 $\mathit{RW}$ & {\tt memory/dynamic\_max} & int & Dynamic maximum (bytes) \\
1400 $\mathit{RW}$ & {\tt memory/dynamic\_min} & int & Dynamic minimum (bytes) \\
1401 $\mathit{RW}$ & {\tt memory/static\_min} & int & Statically-set (i.e. absolute) minimum (bytes) \\
1402 $\mathit{RW}$ & {\tt VCPUs/params} & (string $\rightarrow$ string) Map & configuration parameters for the selected VCPU policy \\
1403 $\mathit{RW}$ & {\tt VCPUs/max} & int & Max number of VCPUs \\
1404 $\mathit{RW}$ & {\tt VCPUs/at\_startup} & int & Boot number of VCPUs \\
1405 $\mathit{RW}$ & {\tt actions/after\_shutdown} & on\_normal\_exit & action to take after the guest has shutdown itself \\
1406 $\mathit{RW}$ & {\tt actions/after\_reboot} & on\_normal\_exit & action to take after the guest has rebooted itself \\
1407 $\mathit{RW}$ & {\tt actions/after\_crash} & on\_crash\_behaviour & action to take if the guest crashes \\
1408 $\mathit{RO}_\mathit{run}$ & {\tt consoles} & (console ref) Set & virtual console devices \\
1409 $\mathit{RO}_\mathit{run}$ & {\tt VIFs} & (VIF ref) Set & virtual network interfaces \\
1410 $\mathit{RO}_\mathit{run}$ & {\tt VBDs} & (VBD ref) Set & virtual block devices \\
1411 $\mathit{RO}_\mathit{run}$ & {\tt crash\_dumps} & (crashdump ref) Set & crash dumps associated with this VM \\
1412 $\mathit{RO}_\mathit{run}$ & {\tt VTPMs} & (VTPM ref) Set & virtual TPMs \\
1413 $\mathit{RO}_\mathit{run}$ & {\tt DPCIs} & (DPCI ref) Set & pass-through PCI devices \\
1414 $\mathit{RO}_\mathit{run}$ & {\tt DSCSIs} & (DSCSI ref) Set & half-virtualized SCSI devices \\
1415 $\mathit{RW}$ & {\tt PV/bootloader} & string & name of or path to bootloader \\
1416 $\mathit{RW}$ & {\tt PV/kernel} & string & path to the kernel \\
1417 $\mathit{RW}$ & {\tt PV/ramdisk} & string & path to the initrd \\
1418 $\mathit{RW}$ & {\tt PV/args} & string & kernel command-line arguments \\
1419 $\mathit{RW}$ & {\tt PV/bootloader\_args} & string & miscellaneous arguments for the bootloader \\
1420 $\mathit{RW}$ & {\tt HVM/boot\_policy} & string & HVM boot policy \\
1421 $\mathit{RW}$ & {\tt HVM/boot\_params} & (string $\rightarrow$ string) Map & HVM boot params \\
1422 $\mathit{RW}$ & {\tt platform} & (string $\rightarrow$ string) Map & platform-specific configuration \\
1423 $\mathit{RW}$ & {\tt PCI\_bus} & string & PCI bus path for pass-through devices \\
1424 $\mathit{RW}$ & {\tt other\_config} & (string $\rightarrow$ string) Map & additional configuration \\
1425 $\mathit{RO}_\mathit{run}$ & {\tt domid} & int & domain ID (if available, -1 otherwise) \\
1426 $\mathit{RO}_\mathit{run}$ & {\tt is\_control\_domain} & bool & true if this is a control domain (domain 0 or a driver domain) \\
1427 $\mathit{RO}_\mathit{run}$ & {\tt metrics} & VM\_metrics ref & metrics associated with this VM \\
1428 $\mathit{RO}_\mathit{run}$ & {\tt guest\_metrics} & VM\_guest\_metrics ref & metrics associated with the running guest \\
1429 $\mathit{RO}_\mathit{run}$ & {\tt security/label} & string & the VM's security label \\
1430 \hline
1431 \end{longtable}
1432 \subsection{RPCs associated with class: VM}
1433 \subsubsection{RPC name:~clone}
1435 {\bf Overview:}
1436 Clones the specified VM, making a new VM. Clone automatically exploits the
1437 capabilities of the underlying storage repository in which the VM's disk
1438 images are stored (e.g. Copy on Write). This function can only be called
1439 when the VM is in the Halted State.
1441 \noindent {\bf Signature:}
1442 \begin{verbatim} (VM ref) clone (session_id s, VM ref vm, string new_name)\end{verbatim}
1445 \noindent{\bf Arguments:}
1448 \vspace{0.3cm}
1449 \begin{tabular}{|c|c|p{7cm}|}
1450 \hline
1451 {\bf type} & {\bf name} & {\bf description} \\ \hline
1452 {\tt VM ref } & vm & The VM to be cloned \\ \hline
1454 {\tt string } & new\_name & The name of the cloned VM \\ \hline
1456 \end{tabular}
1458 \vspace{0.3cm}
1460 \noindent {\bf Return Type:}
1461 {\tt
1462 VM ref
1466 The ID of the newly created VM.
1467 \vspace{0.3cm}
1469 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1471 \vspace{0.6cm}
1472 \subsubsection{RPC name:~start}
1474 {\bf Overview:}
1475 Start the specified VM. This function can only be called with the VM is in
1476 the Halted State.
1478 \noindent {\bf Signature:}
1479 \begin{verbatim} void start (session_id s, VM ref vm, bool start_paused)\end{verbatim}
1482 \noindent{\bf Arguments:}
1485 \vspace{0.3cm}
1486 \begin{tabular}{|c|c|p{7cm}|}
1487 \hline
1488 {\bf type} & {\bf name} & {\bf description} \\ \hline
1489 {\tt VM ref } & vm & The VM to start \\ \hline
1491 {\tt bool } & start\_paused & Instantiate VM in paused state if set to true. \\ \hline
1493 \end{tabular}
1495 \vspace{0.3cm}
1497 \noindent {\bf Return Type:}
1498 {\tt
1499 void
1504 \vspace{0.3cm}
1506 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}, {\tt
1507 VM\_HVM\_REQUIRED}
1509 \vspace{0.6cm}
1510 \subsubsection{RPC name:~pause}
1512 {\bf Overview:}
1513 Pause the specified VM. This can only be called when the specified VM is in
1514 the Running state.
1516 \noindent {\bf Signature:}
1517 \begin{verbatim} void pause (session_id s, VM ref vm)\end{verbatim}
1520 \noindent{\bf Arguments:}
1523 \vspace{0.3cm}
1524 \begin{tabular}{|c|c|p{7cm}|}
1525 \hline
1526 {\bf type} & {\bf name} & {\bf description} \\ \hline
1527 {\tt VM ref } & vm & The VM to pause \\ \hline
1529 \end{tabular}
1531 \vspace{0.3cm}
1533 \noindent {\bf Return Type:}
1534 {\tt
1535 void
1540 \vspace{0.3cm}
1542 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1544 \vspace{0.6cm}
1545 \subsubsection{RPC name:~unpause}
1547 {\bf Overview:}
1548 Resume the specified VM. This can only be called when the specified VM is
1549 in the Paused state.
1551 \noindent {\bf Signature:}
1552 \begin{verbatim} void unpause (session_id s, VM ref vm)\end{verbatim}
1555 \noindent{\bf Arguments:}
1558 \vspace{0.3cm}
1559 \begin{tabular}{|c|c|p{7cm}|}
1560 \hline
1561 {\bf type} & {\bf name} & {\bf description} \\ \hline
1562 {\tt VM ref } & vm & The VM to unpause \\ \hline
1564 \end{tabular}
1566 \vspace{0.3cm}
1568 \noindent {\bf Return Type:}
1569 {\tt
1570 void
1575 \vspace{0.3cm}
1577 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1579 \vspace{0.6cm}
1580 \subsubsection{RPC name:~clean\_shutdown}
1582 {\bf Overview:}
1583 Attempt to cleanly shutdown the specified VM. (Note: this may not be
1584 supported---e.g. if a guest agent is not installed).
1586 Once shutdown has been completed perform poweroff action specified in guest
1587 configuration.
1589 This can only be called when the specified VM is in the Running state.
1591 \noindent {\bf Signature:}
1592 \begin{verbatim} void clean_shutdown (session_id s, VM ref vm)\end{verbatim}
1595 \noindent{\bf Arguments:}
1598 \vspace{0.3cm}
1599 \begin{tabular}{|c|c|p{7cm}|}
1600 \hline
1601 {\bf type} & {\bf name} & {\bf description} \\ \hline
1602 {\tt VM ref } & vm & The VM to shutdown \\ \hline
1604 \end{tabular}
1606 \vspace{0.3cm}
1608 \noindent {\bf Return Type:}
1609 {\tt
1610 void
1615 \vspace{0.3cm}
1617 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1619 \vspace{0.6cm}
1620 \subsubsection{RPC name:~clean\_reboot}
1622 {\bf Overview:}
1623 Attempt to cleanly shutdown the specified VM (Note: this may not be
1624 supported---e.g. if a guest agent is not installed).
1626 Once shutdown has been completed perform reboot action specified in guest
1627 configuration.
1629 This can only be called when the specified VM is in the Running state.
1631 \noindent {\bf Signature:}
1632 \begin{verbatim} void clean_reboot (session_id s, VM ref vm)\end{verbatim}
1635 \noindent{\bf Arguments:}
1638 \vspace{0.3cm}
1639 \begin{tabular}{|c|c|p{7cm}|}
1640 \hline
1641 {\bf type} & {\bf name} & {\bf description} \\ \hline
1642 {\tt VM ref } & vm & The VM to shutdown \\ \hline
1644 \end{tabular}
1646 \vspace{0.3cm}
1648 \noindent {\bf Return Type:}
1649 {\tt
1650 void
1655 \vspace{0.3cm}
1657 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1659 \vspace{0.6cm}
1660 \subsubsection{RPC name:~hard\_shutdown}
1662 {\bf Overview:}
1663 Stop executing the specified VM without attempting a clean shutdown. Then
1664 perform poweroff action specified in VM configuration.
1666 \noindent {\bf Signature:}
1667 \begin{verbatim} void hard_shutdown (session_id s, VM ref vm)\end{verbatim}
1670 \noindent{\bf Arguments:}
1673 \vspace{0.3cm}
1674 \begin{tabular}{|c|c|p{7cm}|}
1675 \hline
1676 {\bf type} & {\bf name} & {\bf description} \\ \hline
1677 {\tt VM ref } & vm & The VM to destroy \\ \hline
1679 \end{tabular}
1681 \vspace{0.3cm}
1683 \noindent {\bf Return Type:}
1684 {\tt
1685 void
1690 \vspace{0.3cm}
1692 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1694 \vspace{0.6cm}
1695 \subsubsection{RPC name:~hard\_reboot}
1697 {\bf Overview:}
1698 Stop executing the specified VM without attempting a clean shutdown. Then
1699 perform reboot action specified in VM configuration.
1701 \noindent {\bf Signature:}
1702 \begin{verbatim} void hard_reboot (session_id s, VM ref vm)\end{verbatim}
1705 \noindent{\bf Arguments:}
1708 \vspace{0.3cm}
1709 \begin{tabular}{|c|c|p{7cm}|}
1710 \hline
1711 {\bf type} & {\bf name} & {\bf description} \\ \hline
1712 {\tt VM ref } & vm & The VM to reboot \\ \hline
1714 \end{tabular}
1716 \vspace{0.3cm}
1718 \noindent {\bf Return Type:}
1719 {\tt
1720 void
1725 \vspace{0.3cm}
1726 \vspace{0.3cm}
1727 \vspace{0.3cm}
1728 \subsubsection{RPC name:~suspend}
1730 {\bf Overview:}
1731 Suspend the specified VM to disk. This can only be called when the
1732 specified VM is in the Running state.
1734 \noindent {\bf Signature:}
1735 \begin{verbatim} void suspend (session_id s, VM ref vm)\end{verbatim}
1738 \noindent{\bf Arguments:}
1741 \vspace{0.3cm}
1742 \begin{tabular}{|c|c|p{7cm}|}
1743 \hline
1744 {\bf type} & {\bf name} & {\bf description} \\ \hline
1745 {\tt VM ref } & vm & The VM to suspend \\ \hline
1747 \end{tabular}
1749 \vspace{0.3cm}
1751 \noindent {\bf Return Type:}
1752 {\tt
1753 void
1758 \vspace{0.3cm}
1760 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1762 \vspace{0.6cm}
1763 \subsubsection{RPC name:~resume}
1765 {\bf Overview:}
1766 Awaken the specified VM and resume it. This can only be called when the
1767 specified VM is in the Suspended state.
1769 \noindent {\bf Signature:}
1770 \begin{verbatim} void resume (session_id s, VM ref vm, bool start_paused)\end{verbatim}
1773 \noindent{\bf Arguments:}
1776 \vspace{0.3cm}
1777 \begin{tabular}{|c|c|p{7cm}|}
1778 \hline
1779 {\bf type} & {\bf name} & {\bf description} \\ \hline
1780 {\tt VM ref } & vm & The VM to resume \\ \hline
1782 {\tt bool } & start\_paused & Resume VM in paused state if set to true. \\ \hline
1784 \end{tabular}
1786 \vspace{0.3cm}
1788 \noindent {\bf Return Type:}
1789 {\tt
1790 void
1795 \vspace{0.3cm}
1797 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1799 \vspace{0.6cm}
1800 \subsubsection{RPC name:~set\_VCPUs\_number\_live}
1802 {\bf Overview:}
1803 Set this VM's VCPUs/at\_startup value, and set the same value on the VM, if
1804 running.
1806 \noindent {\bf Signature:}
1807 \begin{verbatim} void set_VCPUs_number_live (session_id s, VM ref self, int nvcpu)\end{verbatim}
1810 \noindent{\bf Arguments:}
1813 \vspace{0.3cm}
1814 \begin{tabular}{|c|c|p{7cm}|}
1815 \hline
1816 {\bf type} & {\bf name} & {\bf description} \\ \hline
1817 {\tt VM ref } & self & The VM \\ \hline
1819 {\tt int } & nvcpu & The number of VCPUs \\ \hline
1821 \end{tabular}
1823 \vspace{0.3cm}
1825 \noindent {\bf Return Type:}
1826 {\tt
1827 void
1832 \vspace{0.3cm}
1833 \vspace{0.3cm}
1834 \vspace{0.3cm}
1835 \subsubsection{RPC name:~add\_to\_VCPUs\_params\_live}
1837 {\bf Overview:}
1838 Add the given key-value pair to VM.VCPUs\_params, and apply that value on
1839 the running VM.
1841 \noindent {\bf Signature:}
1842 \begin{verbatim} void add_to_VCPUs_params_live (session_id s, VM ref self, string key, string value)\end{verbatim}
1845 \noindent{\bf Arguments:}
1848 \vspace{0.3cm}
1849 \begin{tabular}{|c|c|p{7cm}|}
1850 \hline
1851 {\bf type} & {\bf name} & {\bf description} \\ \hline
1852 {\tt VM ref } & self & The VM \\ \hline
1854 {\tt string } & key & The key \\ \hline
1856 {\tt string } & value & The value \\ \hline
1858 \end{tabular}
1860 \vspace{0.3cm}
1862 \noindent {\bf Return Type:}
1863 {\tt
1864 void
1869 \vspace{0.3cm}
1870 \vspace{0.3cm}
1871 \vspace{0.3cm}
1872 \subsubsection{RPC name:~set\_memory\_dynamic\_max\_live}
1874 {\bf Overview:}
1875 Set memory\_dynamic\_max in database and on running VM.
1877 \noindent {\bf Signature:}
1878 \begin{verbatim} void set_memory_dynamic_max_live (session_id s, VM ref self, int max)\end{verbatim}
1881 \noindent{\bf Arguments:}
1884 \vspace{0.3cm}
1885 \begin{tabular}{|c|c|p{7cm}|}
1886 \hline
1887 {\bf type} & {\bf name} & {\bf description} \\ \hline
1888 {\tt VM ref } & self & The VM \\ \hline
1890 {\tt int } & max & The memory\_dynamic\_max value \\ \hline
1892 \end{tabular}
1894 \vspace{0.3cm}
1896 \noindent {\bf Return Type:}
1897 {\tt
1898 void
1903 \vspace{0.3cm}
1904 \vspace{0.3cm}
1905 \vspace{0.3cm}
1906 \subsubsection{RPC name:~set\_memory\_dynamic\_min\_live}
1908 {\bf Overview:}
1909 Set memory\_dynamic\_min in database and on running VM.
1911 \noindent {\bf Signature:}
1912 \begin{verbatim} void set_memory_dynamic_min_live (session_id s, VM ref self, int min)\end{verbatim}
1915 \noindent{\bf Arguments:}
1918 \vspace{0.3cm}
1919 \begin{tabular}{|c|c|p{7cm}|}
1920 \hline
1921 {\bf type} & {\bf name} & {\bf description} \\ \hline
1922 {\tt VM ref } & self & The VM \\ \hline
1924 {\tt int } & min & The memory\_dynamic\_min value \\ \hline
1926 \end{tabular}
1928 \vspace{0.3cm}
1930 \noindent {\bf Return Type:}
1931 {\tt
1932 void
1937 \vspace{0.3cm}
1938 \vspace{0.3cm}
1939 \vspace{0.3cm}
1940 \subsubsection{RPC name:~send\_sysrq}
1942 {\bf Overview:}
1943 Send the given key as a sysrq to this VM. The key is specified as a single
1944 character (a String of length 1). This can only be called when the
1945 specified VM is in the Running state.
1947 \noindent {\bf Signature:}
1948 \begin{verbatim} void send_sysrq (session_id s, VM ref vm, string key)\end{verbatim}
1951 \noindent{\bf Arguments:}
1954 \vspace{0.3cm}
1955 \begin{tabular}{|c|c|p{7cm}|}
1956 \hline
1957 {\bf type} & {\bf name} & {\bf description} \\ \hline
1958 {\tt VM ref } & vm & The VM \\ \hline
1960 {\tt string } & key & The key to send \\ \hline
1962 \end{tabular}
1964 \vspace{0.3cm}
1966 \noindent {\bf Return Type:}
1967 {\tt
1968 void
1973 \vspace{0.3cm}
1975 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
1977 \vspace{0.6cm}
1978 \subsubsection{RPC name:~send\_trigger}
1980 {\bf Overview:}
1981 Send the named trigger to this VM. This can only be called when the
1982 specified VM is in the Running state.
1984 \noindent {\bf Signature:}
1985 \begin{verbatim} void send_trigger (session_id s, VM ref vm, string trigger)\end{verbatim}
1988 \noindent{\bf Arguments:}
1991 \vspace{0.3cm}
1992 \begin{tabular}{|c|c|p{7cm}|}
1993 \hline
1994 {\bf type} & {\bf name} & {\bf description} \\ \hline
1995 {\tt VM ref } & vm & The VM \\ \hline
1997 {\tt string } & trigger & The trigger to send \\ \hline
1999 \end{tabular}
2001 \vspace{0.3cm}
2003 \noindent {\bf Return Type:}
2004 {\tt
2005 void
2010 \vspace{0.3cm}
2012 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
2014 \vspace{0.6cm}
2015 \subsubsection{RPC name:~migrate}
2017 {\bf Overview:}
2018 Migrate the VM to another host. This can only be called when the specified
2019 VM is in the Running state.
2021 \noindent {\bf Signature:}
2022 \begin{verbatim} void migrate (session_id s, VM ref vm, string dest, bool live, (string -> string) Map options)\end{verbatim}
2025 \noindent{\bf Arguments:}
2028 \vspace{0.3cm}
2029 \begin{tabular}{|c|c|p{7cm}|}
2030 \hline
2031 {\bf type} & {\bf name} & {\bf description} \\ \hline
2032 {\tt VM ref } & vm & The VM \\ \hline
2034 {\tt string } & dest & The destination host \\ \hline
2036 {\tt bool } & live & Live migration \\ \hline
2038 {\tt (string $\rightarrow$ string) Map } & options & Other parameters \\ \hline
2040 \end{tabular}
2042 \vspace{0.3cm}
2044 \noindent {\bf Return Type:}
2045 {\tt
2046 void
2051 \vspace{0.3cm}
2053 \noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}
2055 \vspace{0.6cm}
2056 \subsubsection{RPC name:~get\_all}
2058 {\bf Overview:}
2059 Return a list of all the VMs known to the system.
2061 \noindent {\bf Signature:}
2062 \begin{verbatim} ((VM ref) Set) get_all (session_id s)\end{verbatim}
2065 \vspace{0.3cm}
2067 \noindent {\bf Return Type:}
2068 {\tt
2069 (VM ref) Set
2073 A list of all the IDs of all the VMs
2074 \vspace{0.3cm}
2075 \vspace{0.3cm}
2076 \vspace{0.3cm}
2077 \subsubsection{RPC name:~get\_uuid}
2079 {\bf Overview:}
2080 Get the uuid field of the given VM.
2082 \noindent {\bf Signature:}
2083 \begin{verbatim} string get_uuid (session_id s, VM ref self)\end{verbatim}
2086 \noindent{\bf Arguments:}
2089 \vspace{0.3cm}
2090 \begin{tabular}{|c|c|p{7cm}|}
2091 \hline
2092 {\bf type} & {\bf name} & {\bf description} \\ \hline
2093 {\tt VM ref } & self & reference to the object \\ \hline
2095 \end{tabular}
2097 \vspace{0.3cm}
2099 \noindent {\bf Return Type:}
2100 {\tt
2101 string
2105 value of the field
2106 \vspace{0.3cm}
2107 \vspace{0.3cm}
2108 \vspace{0.3cm}
2109 \subsubsection{RPC name:~get\_power\_state}
2111 {\bf Overview:}
2112 Get the power\_state field of the given VM.
2114 \noindent {\bf Signature:}
2115 \begin{verbatim} (vm_power_state) get_power_state (session_id s, VM ref self)\end{verbatim}
2118 \noindent{\bf Arguments:}
2121 \vspace{0.3cm}
2122 \begin{tabular}{|c|c|p{7cm}|}
2123 \hline
2124 {\bf type} & {\bf name} & {\bf description} \\ \hline
2125 {\tt VM ref } & self & reference to the object \\ \hline
2127 \end{tabular}
2129 \vspace{0.3cm}
2131 \noindent {\bf Return Type:}
2132 {\tt
2133 vm\_power\_state
2137 value of the field
2138 \vspace{0.3cm}
2139 \vspace{0.3cm}
2140 \vspace{0.3cm}
2141 \subsubsection{RPC name:~get\_name\_label}
2143 {\bf Overview:}
2144 Get the name/label field of the given VM.
2146 \noindent {\bf Signature:}
2147 \begin{verbatim} string get_name_label (session_id s, VM ref self)\end{verbatim}
2150 \noindent{\bf Arguments:}
2153 \vspace{0.3cm}
2154 \begin{tabular}{|c|c|p{7cm}|}
2155 \hline
2156 {\bf type} & {\bf name} & {\bf description} \\ \hline
2157 {\tt VM ref } & self & reference to the object \\ \hline
2159 \end{tabular}
2161 \vspace{0.3cm}
2163 \noindent {\bf Return Type:}
2164 {\tt
2165 string
2169 value of the field
2170 \vspace{0.3cm}
2171 \vspace{0.3cm}
2172 \vspace{0.3cm}
2173 \subsubsection{RPC name:~set\_name\_label}
2175 {\bf Overview:}
2176 Set the name/label field of the given VM.
2178 \noindent {\bf Signature:}
2179 \begin{verbatim} void set_name_label (session_id s, VM ref self, string value)\end{verbatim}
2182 \noindent{\bf Arguments:}
2185 \vspace{0.3cm}
2186 \begin{tabular}{|c|c|p{7cm}|}
2187 \hline
2188 {\bf type} & {\bf name} & {\bf description} \\ \hline
2189 {\tt VM ref } & self & reference to the object \\ \hline
2191 {\tt string } & value & New value to set \\ \hline
2193 \end{tabular}
2195 \vspace{0.3cm}
2197 \noindent {\bf Return Type:}
2198 {\tt
2199 void
2204 \vspace{0.3cm}
2205 \vspace{0.3cm}
2206 \vspace{0.3cm}
2207 \subsubsection{RPC name:~get\_name\_description}
2209 {\bf Overview:}
2210 Get the name/description field of the given VM.
2212 \noindent {\bf Signature:}
2213 \begin{verbatim} string get_name_description (session_id s, VM ref self)\end{verbatim}
2216 \noindent{\bf Arguments:}
2219 \vspace{0.3cm}
2220 \begin{tabular}{|c|c|p{7cm}|}
2221 \hline
2222 {\bf type} & {\bf name} & {\bf description} \\ \hline
2223 {\tt VM ref } & self & reference to the object \\ \hline
2225 \end{tabular}
2227 \vspace{0.3cm}
2229 \noindent {\bf Return Type:}
2230 {\tt
2231 string
2235 value of the field
2236 \vspace{0.3cm}
2237 \vspace{0.3cm}
2238 \vspace{0.3cm}
2239 \subsubsection{RPC name:~set\_name\_description}
2241 {\bf Overview:}
2242 Set the name/description field of the given VM.
2244 \noindent {\bf Signature:}
2245 \begin{verbatim} void set_name_description (session_id s, VM ref self, string value)\end{verbatim}
2248 \noindent{\bf Arguments:}
2251 \vspace{0.3cm}
2252 \begin{tabular}{|c|c|p{7cm}|}
2253 \hline
2254 {\bf type} & {\bf name} & {\bf description} \\ \hline
2255 {\tt VM ref } & self & reference to the object \\ \hline
2257 {\tt string } & value & New value to set \\ \hline
2259 \end{tabular}
2261 \vspace{0.3cm}
2263 \noindent {\bf Return Type:}
2264 {\tt
2265 void
2270 \vspace{0.3cm}
2271 \vspace{0.3cm}
2272 \vspace{0.3cm}
2273 \subsubsection{RPC name:~get\_user\_version}
2275 {\bf Overview:}
2276 Get the user\_version field of the given VM.
2278 \noindent {\bf Signature:}
2279 \begin{verbatim} int get_user_version (session_id s, VM ref self)\end{verbatim}
2282 \noindent{\bf Arguments:}
2285 \vspace{0.3cm}
2286 \begin{tabular}{|c|c|p{7cm}|}
2287 \hline
2288 {\bf type} & {\bf name} & {\bf description} \\ \hline
2289 {\tt VM ref } & self & reference to the object \\ \hline
2291 \end{tabular}
2293 \vspace{0.3cm}
2295 \noindent {\bf Return Type:}
2296 {\tt
2297 int
2301 value of the field
2302 \vspace{0.3cm}
2303 \vspace{0.3cm}
2304 \vspace{0.3cm}
2305 \subsubsection{RPC name:~set\_user\_version}
2307 {\bf Overview:}
2308 Set the user\_version field of the given VM.
2310 \noindent {\bf Signature:}
2311 \begin{verbatim} void set_user_version (session_id s, VM ref self, int value)\end{verbatim}
2314 \noindent{\bf Arguments:}
2317 \vspace{0.3cm}
2318 \begin{tabular}{|c|c|p{7cm}|}
2319 \hline
2320 {\bf type} & {\bf name} & {\bf description} \\ \hline
2321 {\tt VM ref } & self & reference to the object \\ \hline
2323 {\tt int } & value & New value to set \\ \hline
2325 \end{tabular}
2327 \vspace{0.3cm}
2329 \noindent {\bf Return Type:}
2330 {\tt
2331 void
2336 \vspace{0.3cm}
2337 \vspace{0.3cm}
2338 \vspace{0.3cm}
2339 \subsubsection{RPC name:~get\_is\_a\_template}
2341 {\bf Overview:}
2342 Get the is\_a\_template field of the given VM.
2344 \noindent {\bf Signature:}
2345 \begin{verbatim} bool get_is_a_template (session_id s, VM ref self)\end{verbatim}
2348 \noindent{\bf Arguments:}
2351 \vspace{0.3cm}
2352 \begin{tabular}{|c|c|p{7cm}|}
2353 \hline
2354 {\bf type} & {\bf name} & {\bf description} \\ \hline
2355 {\tt VM ref } & self & reference to the object \\ \hline
2357 \end{tabular}
2359 \vspace{0.3cm}
2361 \noindent {\bf Return Type:}
2362 {\tt
2363 bool
2367 value of the field
2368 \vspace{0.3cm}
2369 \vspace{0.3cm}
2370 \vspace{0.3cm}
2371 \subsubsection{RPC name:~set\_is\_a\_template}
2373 {\bf Overview:}
2374 Set the is\_a\_template field of the given VM.
2376 \noindent {\bf Signature:}
2377 \begin{verbatim} void set_is_a_template (session_id s, VM ref self, bool value)\end{verbatim}
2380 \noindent{\bf Arguments:}
2383 \vspace{0.3cm}
2384 \begin{tabular}{|c|c|p{7cm}|}
2385 \hline
2386 {\bf type} & {\bf name} & {\bf description} \\ \hline
2387 {\tt VM ref } & self & reference to the object \\ \hline
2389 {\tt bool } & value & New value to set \\ \hline
2391 \end{tabular}
2393 \vspace{0.3cm}
2395 \noindent {\bf Return Type:}
2396 {\tt
2397 void
2402 \vspace{0.3cm}
2403 \vspace{0.3cm}
2404 \vspace{0.3cm}
2405 \subsubsection{RPC name:~get\_auto\_power\_on}
2407 {\bf Overview:}
2408 Get the auto\_power\_on field of the given VM.
2410 \noindent {\bf Signature:}
2411 \begin{verbatim} bool get_auto_power_on (session_id s, VM ref self)\end{verbatim}
2414 \noindent{\bf Arguments:}
2417 \vspace{0.3cm}
2418 \begin{tabular}{|c|c|p{7cm}|}
2419 \hline
2420 {\bf type} & {\bf name} & {\bf description} \\ \hline
2421 {\tt VM ref } & self & reference to the object \\ \hline
2423 \end{tabular}
2425 \vspace{0.3cm}
2427 \noindent {\bf Return Type:}
2428 {\tt
2429 bool
2433 value of the field
2434 \vspace{0.3cm}
2435 \vspace{0.3cm}
2436 \vspace{0.3cm}
2437 \subsubsection{RPC name:~set\_auto\_power\_on}
2439 {\bf Overview:}
2440 Set the auto\_power\_on field of the given VM.
2442 \noindent {\bf Signature:}
2443 \begin{verbatim} void set_auto_power_on (session_id s, VM ref self, bool value)\end{verbatim}
2446 \noindent{\bf Arguments:}
2449 \vspace{0.3cm}
2450 \begin{tabular}{|c|c|p{7cm}|}
2451 \hline
2452 {\bf type} & {\bf name} & {\bf description} \\ \hline
2453 {\tt VM ref } & self & reference to the object \\ \hline
2455 {\tt bool } & value & New value to set \\ \hline
2457 \end{tabular}
2459 \vspace{0.3cm}
2461 \noindent {\bf Return Type:}
2462 {\tt
2463 void
2468 \vspace{0.3cm}
2469 \vspace{0.3cm}
2470 \vspace{0.3cm}
2471 \subsubsection{RPC name:~get\_suspend\_VDI}
2473 {\bf Overview:}
2474 Get the suspend\_VDI field of the given VM.
2476 \noindent {\bf Signature:}
2477 \begin{verbatim} (VDI ref) get_suspend_VDI (session_id s, VM ref self)\end{verbatim}
2480 \noindent{\bf Arguments:}
2483 \vspace{0.3cm}
2484 \begin{tabular}{|c|c|p{7cm}|}
2485 \hline
2486 {\bf type} & {\bf name} & {\bf description} \\ \hline
2487 {\tt VM ref } & self & reference to the object \\ \hline
2489 \end{tabular}
2491 \vspace{0.3cm}
2493 \noindent {\bf Return Type:}
2494 {\tt
2495 VDI ref
2499 value of the field
2500 \vspace{0.3cm}
2501 \vspace{0.3cm}
2502 \vspace{0.3cm}
2503 \subsubsection{RPC name:~get\_resident\_on}
2505 {\bf Overview:}
2506 Get the resident\_on field of the given VM.
2508 \noindent {\bf Signature:}
2509 \begin{verbatim} (host ref) get_resident_on (session_id s, VM ref self)\end{verbatim}
2512 \noindent{\bf Arguments:}
2515 \vspace{0.3cm}
2516 \begin{tabular}{|c|c|p{7cm}|}
2517 \hline
2518 {\bf type} & {\bf name} & {\bf description} \\ \hline
2519 {\tt VM ref } & self & reference to the object \\ \hline
2521 \end{tabular}
2523 \vspace{0.3cm}
2525 \noindent {\bf Return Type:}
2526 {\tt
2527 host ref
2531 value of the field
2532 \vspace{0.3cm}
2533 \vspace{0.3cm}
2534 \vspace{0.3cm}
2535 \subsubsection{RPC name:~get\_memory\_static\_max}
2537 {\bf Overview:}
2538 Get the memory/static\_max field of the given VM.
2540 \noindent {\bf Signature:}
2541 \begin{verbatim} int get_memory_static_max (session_id s, VM ref self)\end{verbatim}
2544 \noindent{\bf Arguments:}
2547 \vspace{0.3cm}
2548 \begin{tabular}{|c|c|p{7cm}|}
2549 \hline
2550 {\bf type} & {\bf name} & {\bf description} \\ \hline
2551 {\tt VM ref } & self & reference to the object \\ \hline
2553 \end{tabular}
2555 \vspace{0.3cm}
2557 \noindent {\bf Return Type:}
2558 {\tt
2559 int
2563 value of the field
2564 \vspace{0.3cm}
2565 \vspace{0.3cm}
2566 \vspace{0.3cm}
2567 \subsubsection{RPC name:~set\_memory\_static\_max}
2569 {\bf Overview:}
2570 Set the memory/static\_max field of the given VM.
2572 \noindent {\bf Signature:}
2573 \begin{verbatim} void set_memory_static_max (session_id s, VM ref self, int value)\end{verbatim}
2576 \noindent{\bf Arguments:}
2579 \vspace{0.3cm}
2580 \begin{tabular}{|c|c|p{7cm}|}
2581 \hline
2582 {\bf type} & {\bf name} & {\bf description} \\ \hline
2583 {\tt VM ref } & self & reference to the object \\ \hline
2585 {\tt int } & value & New value to set \\ \hline
2587 \end{tabular}
2589 \vspace{0.3cm}
2591 \noindent {\bf Return Type:}
2592 {\tt
2593 void
2598 \vspace{0.3cm}
2599 \vspace{0.3cm}
2600 \vspace{0.3cm}
2601 \subsubsection{RPC name:~get\_memory\_dynamic\_max}
2603 {\bf Overview:}
2604 Get the memory/dynamic\_max field of the given VM.
2606 \noindent {\bf Signature:}
2607 \begin{verbatim} int get_memory_dynamic_max (session_id s, VM ref self)\end{verbatim}
2610 \noindent{\bf Arguments:}
2613 \vspace{0.3cm}
2614 \begin{tabular}{|c|c|p{7cm}|}
2615 \hline
2616 {\bf type} & {\bf name} & {\bf description} \\ \hline
2617 {\tt VM ref } & self & reference to the object \\ \hline
2619 \end{tabular}
2621 \vspace{0.3cm}
2623 \noindent {\bf Return Type:}
2624 {\tt
2625 int
2629 value of the field
2630 \vspace{0.3cm}
2631 \vspace{0.3cm}
2632 \vspace{0.3cm}
2633 \subsubsection{RPC name:~set\_memory\_dynamic\_max}
2635 {\bf Overview:}
2636 Set the memory/dynamic\_max field of the given VM.
2638 \noindent {\bf Signature:}
2639 \begin{verbatim} void set_memory_dynamic_max (session_id s, VM ref self, int value)\end{verbatim}
2642 \noindent{\bf Arguments:}
2645 \vspace{0.3cm}
2646 \begin{tabular}{|c|c|p{7cm}|}
2647 \hline
2648 {\bf type} & {\bf name} & {\bf description} \\ \hline
2649 {\tt VM ref } & self & reference to the object \\ \hline
2651 {\tt int } & value & New value to set \\ \hline
2653 \end{tabular}
2655 \vspace{0.3cm}
2657 \noindent {\bf Return Type:}
2658 {\tt
2659 void
2664 \vspace{0.3cm}
2665 \vspace{0.3cm}
2666 \vspace{0.3cm}
2667 \subsubsection{RPC name:~get\_memory\_dynamic\_min}
2669 {\bf Overview:}
2670 Get the memory/dynamic\_min field of the given VM.
2672 \noindent {\bf Signature:}
2673 \begin{verbatim} int get_memory_dynamic_min (session_id s, VM ref self)\end{verbatim}
2676 \noindent{\bf Arguments:}
2679 \vspace{0.3cm}
2680 \begin{tabular}{|c|c|p{7cm}|}
2681 \hline
2682 {\bf type} & {\bf name} & {\bf description} \\ \hline
2683 {\tt VM ref } & self & reference to the object \\ \hline
2685 \end{tabular}
2687 \vspace{0.3cm}
2689 \noindent {\bf Return Type:}
2690 {\tt
2691 int
2695 value of the field
2696 \vspace{0.3cm}
2697 \vspace{0.3cm}
2698 \vspace{0.3cm}
2699 \subsubsection{RPC name:~set\_memory\_dynamic\_min}
2701 {\bf Overview:}
2702 Set the memory/dynamic\_min field of the given VM.
2704 \noindent {\bf Signature:}
2705 \begin{verbatim} void set_memory_dynamic_min (session_id s, VM ref self, int value)\end{verbatim}
2708 \noindent{\bf Arguments:}
2711 \vspace{0.3cm}
2712 \begin{tabular}{|c|c|p{7cm}|}
2713 \hline
2714 {\bf type} & {\bf name} & {\bf description} \\ \hline
2715 {\tt VM ref } & self & reference to the object \\ \hline
2717 {\tt int } & value & New value to set \\ \hline
2719 \end{tabular}
2721 \vspace{0.3cm}
2723 \noindent {\bf Return Type:}
2724 {\tt
2725 void
2730 \vspace{0.3cm}
2731 \vspace{0.3cm}
2732 \vspace{0.3cm}
2733 \subsubsection{RPC name:~get\_memory\_static\_min}
2735 {\bf Overview:}
2736 Get the memory/static\_min field of the given VM.
2738 \noindent {\bf Signature:}
2739 \begin{verbatim} int get_memory_static_min (session_id s, VM ref self)\end{verbatim}
2742 \noindent{\bf Arguments:}
2745 \vspace{0.3cm}
2746 \begin{tabular}{|c|c|p{7cm}|}
2747 \hline
2748 {\bf type} & {\bf name} & {\bf description} \\ \hline
2749 {\tt VM ref } & self & reference to the object \\ \hline
2751 \end{tabular}
2753 \vspace{0.3cm}
2755 \noindent {\bf Return Type:}
2756 {\tt
2757 int
2761 value of the field
2762 \vspace{0.3cm}
2763 \vspace{0.3cm}
2764 \vspace{0.3cm}
2765 \subsubsection{RPC name:~set\_memory\_static\_min}
2767 {\bf Overview:}
2768 Set the memory/static\_min field of the given VM.
2770 \noindent {\bf Signature:}
2771 \begin{verbatim} void set_memory_static_min (session_id s, VM ref self, int value)\end{verbatim}
2774 \noindent{\bf Arguments:}
2777 \vspace{0.3cm}
2778 \begin{tabular}{|c|c|p{7cm}|}
2779 \hline
2780 {\bf type} & {\bf name} & {\bf description} \\ \hline
2781 {\tt VM ref } & self & reference to the object \\ \hline
2783 {\tt int } & value & New value to set \\ \hline
2785 \end{tabular}
2787 \vspace{0.3cm}
2789 \noindent {\bf Return Type:}
2790 {\tt
2791 void
2796 \vspace{0.3cm}
2797 \vspace{0.3cm}
2798 \vspace{0.3cm}
2799 \subsubsection{RPC name:~get\_VCPUs\_params}
2801 {\bf Overview:}
2802 Get the VCPUs/params field of the given VM.
2804 \noindent {\bf Signature:}
2805 \begin{verbatim} ((string -> string) Map) get_VCPUs_params (session_id s, VM ref self)\end{verbatim}
2808 \noindent{\bf Arguments:}
2811 \vspace{0.3cm}
2812 \begin{tabular}{|c|c|p{7cm}|}
2813 \hline
2814 {\bf type} & {\bf name} & {\bf description} \\ \hline
2815 {\tt VM ref } & self & reference to the object \\ \hline
2817 \end{tabular}
2819 \vspace{0.3cm}
2821 \noindent {\bf Return Type:}
2822 {\tt
2823 (string $\rightarrow$ string) Map
2827 value of the field
2828 \vspace{0.3cm}
2829 \vspace{0.3cm}
2830 \vspace{0.3cm}
2831 \subsubsection{RPC name:~set\_VCPUs\_params}
2833 {\bf Overview:}
2834 Set the VCPUs/params field of the given VM.
2836 \noindent {\bf Signature:}
2837 \begin{verbatim} void set_VCPUs_params (session_id s, VM ref self, (string -> string) Map value)\end{verbatim}
2840 \noindent{\bf Arguments:}
2843 \vspace{0.3cm}
2844 \begin{tabular}{|c|c|p{7cm}|}
2845 \hline
2846 {\bf type} & {\bf name} & {\bf description} \\ \hline
2847 {\tt VM ref } & self & reference to the object \\ \hline
2849 {\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline
2851 \end{tabular}
2853 \vspace{0.3cm}
2855 \noindent {\bf Return Type:}
2856 {\tt
2857 void
2862 \vspace{0.3cm}
2863 \vspace{0.3cm}
2864 \vspace{0.3cm}
2865 \subsubsection{RPC name:~add\_to\_VCPUs\_params}
2867 {\bf Overview:}
2868 Add the given key-value pair to the VCPUs/params field of the given VM.
2870 \noindent {\bf Signature:}
2871 \begin{verbatim} void add_to_VCPUs_params (session_id s, VM ref self, string key, string value)\end{verbatim}
2874 \noindent{\bf Arguments:}
2877 \vspace{0.3cm}
2878 \begin{tabular}{|c|c|p{7cm}|}
2879 \hline
2880 {\bf type} & {\bf name} & {\bf description} \\ \hline
2881 {\tt VM ref } & self & reference to the object \\ \hline
2883 {\tt string } & key & Key to add \\ \hline
2885 {\tt string } & value & Value to add \\ \hline
2887 \end{tabular}
2889 \vspace{0.3cm}
2891 \noindent {\bf Return Type:}
2892 {\tt
2893 void
2898 \vspace{0.3cm}
2899 \vspace{0.3cm}
2900 \vspace{0.3cm}
2901 \subsubsection{RPC name:~remove\_from\_VCPUs\_params}
2903 {\bf Overview:}
2904 Remove the given key and its corresponding value from the VCPUs/params
2905 field of the given VM. If the key is not in that Map, then do nothing.
2907 \noindent {\bf Signature:}
2908 \begin{verbatim} void remove_from_VCPUs_params (session_id s, VM ref self, string key)\end{verbatim}
2911 \noindent{\bf Arguments:}
2914 \vspace{0.3cm}
2915 \begin{tabular}{|c|c|p{7cm}|}
2916 \hline
2917 {\bf type} & {\bf name} & {\bf description} \\ \hline
2918 {\tt VM ref } & self & reference to the object \\ \hline
2920 {\tt string } & key & Key to remove \\ \hline
2922 \end{tabular}
2924 \vspace{0.3cm}
2926 \noindent {\bf Return Type:}
2927 {\tt
2928 void
2933 \vspace{0.3cm}
2934 \vspace{0.3cm}
2935 \vspace{0.3cm}
2936 \subsubsection{RPC name:~get\_VCPUs\_max}
2938 {\bf Overview:}
2939 Get the VCPUs/max field of the given VM.
2941 \noindent {\bf Signature:}
2942 \begin{verbatim} int get_VCPUs_max (session_id s, VM ref self)\end{verbatim}
2945 \noindent{\bf Arguments:}
2948 \vspace{0.3cm}
2949 \begin{tabular}{|c|c|p{7cm}|}
2950 \hline
2951 {\bf type} & {\bf name} & {\bf description} \\ \hline
2952 {\tt VM ref } & self & reference to the object \\ \hline
2954 \end{tabular}
2956 \vspace{0.3cm}
2958 \noindent {\bf Return Type:}
2959 {\tt
2960 int
2964 value of the field
2965 \vspace{0.3cm}
2966 \vspace{0.3cm}
2967 \vspace{0.3cm}
2968 \subsubsection{RPC name:~set\_VCPUs\_max}
2970 {\bf Overview:}
2971 Set the VCPUs/max field of the given VM.
2973 \noindent {\bf Signature:}
2974 \begin{verbatim} void set_VCPUs_max (session_id s, VM ref self, int value)\end{verbatim}
2977 \noindent{\bf Arguments:}
2980 \vspace{0.3cm}
2981 \begin{tabular}{|c|c|p{7cm}|}
2982 \hline
2983 {\bf type} & {\bf name} & {\bf description} \\ \hline
2984 {\tt VM ref } & self & reference to the object \\ \hline
2986 {\tt int } & value & New value to set \\ \hline
2988 \end{tabular}
2990 \vspace{0.3cm}
2992 \noindent {\bf Return Type:}
2993 {\tt
2994 void
2999 \vspace{0.3cm}
3000 \vspace{0.3cm}
3001 \vspace{0.3cm}
3002 \subsubsection{RPC name:~get\_VCPUs\_at\_startup}
3004 {\bf Overview:}
3005 Get the VCPUs/at\_startup field of the given VM.
3007 \noindent {\bf Signature:}
3008 \begin{verbatim} int get_VCPUs_at_startup (session_id s, VM ref self)\end{verbatim}
3011 \noindent{\bf Arguments:}
3014 \vspace{0.3cm}
3015 \begin{tabular}{|c|c|p{7cm}|}
3016 \hline
3017 {\bf type} & {\bf name} & {\bf description} \\ \hline
3018 {\tt VM ref } & self & reference to the object \\ \hline
3020 \end{tabular}
3022 \vspace{0.3cm}
3024 \noindent {\bf Return Type:}
3025 {\tt
3026 int
3030 value of the field
3031 \vspace{0.3cm}
3032 \vspace{0.3cm}
3033 \vspace{0.3cm}
3034 \subsubsection{RPC name:~set\_VCPUs\_at\_startup}
3036 {\bf Overview:}
3037 Set the VCPUs/at\_startup field of the given VM.
3039 \noindent {\bf Signature:}
3040 \begin{verbatim} void set_VCPUs_at_startup (session_id s, VM ref self, int value)\end{verbatim}
3043 \noindent{\bf Arguments:}
3046 \vspace{0.3cm}
3047 \begin{tabular}{|c|c|p{7cm}|}
3048 \hline
3049 {\bf type} & {\bf name} & {\bf description} \\ \hline
3050 {\tt VM ref } & self & reference to the object \\ \hline
3052 {\tt int } & value & New value to set \\ \hline
3054 \end{tabular}
3056 \vspace{0.3cm}
3058 \noindent {\bf Return Type:}
3059 {\tt
3060 void
3065 \vspace{0.3cm}
3066 \vspace{0.3cm}
3067 \vspace{0.3cm}
3068 \subsubsection{RPC name:~get\_actions\_after\_shutdown}
3070 {\bf Overview:}
3071 Get the actions/after\_shutdown field of the given VM.
3073 \noindent {\bf Signature:}
3074 \begin{verbatim} (on_normal_exit) get_actions_after_shutdown (session_id s, VM ref self)\end{verbatim}
3077 \noindent{\bf Arguments:}
3080 \vspace{0.3cm}
3081 \begin{tabular}{|c|c|p{7cm}|}
3082 \hline
3083 {\bf type} & {\bf name} & {\bf description} \\ \hline
3084 {\tt VM ref } & self & reference to the object \\ \hline
3086 \end{tabular}
3088 \vspace{0.3cm}
3090 \noindent {\bf Return Type:}
3091 {\tt
3092 on\_normal\_exit
3096 value of the field
3097 \vspace{0.3cm}
3098 \vspace{0.3cm}
3099 \vspace{0.3cm}
3100 \subsubsection{RPC name:~set\_actions\_after\_shutdown}
3102 {\bf Overview:}
3103 Set the actions/after\_shutdown field of the given VM.
3105 \noindent {\bf Signature:}
3106 \begin{verbatim} void set_actions_after_shutdown (session_id s, VM ref self, on_normal_exit value)\end{verbatim}
3109 \noindent{\bf Arguments:}
3112 \vspace{0.3cm}
3113 \begin{tabular}{|c|c|p{7cm}|}
3114 \hline
3115 {\bf type} & {\bf name} & {\bf description} \\ \hline
3116 {\tt VM ref } & self & reference to the object \\ \hline
3118 {\tt on\_normal\_exit } & value & New value to set \\ \hline
3120 \end{tabular}
3122 \vspace{0.3cm}
3124 \noindent {\bf Return Type:}
3125 {\tt
3126 void
3131 \vspace{0.3cm}
3132 \vspace{0.3cm}
3133 \vspace{0.3cm}
3134 \subsubsection{RPC name:~get\_actions\_after\_reboot}
3136 {\bf Overview:}
3137 Get the actions/after\_reboot field of the given VM.
3139 \noindent {\bf Signature:}
3140 \begin{verbatim} (on_normal_exit) get_actions_after_reboot (session_id s, VM ref self)\end{verbatim}
3143 \noindent{\bf Arguments:}
3146 \vspace{0.3cm}
3147 \begin{tabular}{|c|c|p{7cm}|}
3148 \hline
3149 {\bf type} & {\bf name} & {\bf description} \\ \hline
3150 {\tt VM ref } & self & reference to the object \\ \hline
3152 \end{tabular}
3154 \vspace{0.3cm}
3156 \noindent {\bf Return Type:}
3157 {\tt
3158 on\_normal\_exit
3162 value of the field
3163 \vspace{0.3cm}
3164 \vspace{0.3cm}
3165 \vspace{0.3cm}
3166 \subsubsection{RPC name:~set\_actions\_after\_reboot}
3168 {\bf Overview:}
3169 Set the actions/after\_reboot field of the given VM.
3171 \noindent {\bf Signature:}
3172 \begin{verbatim} void set_actions_after_reboot (session_id s, VM ref self, on_normal_exit value)\end{verbatim}
3175 \noindent{\bf Arguments:}
3178 \vspace{0.3cm}
3179 \begin{tabular}{|c|c|p{7cm}|}
3180 \hline
3181 {\bf type} & {\bf name} & {\bf description} \\ \hline
3182 {\tt VM ref } & self & reference to the object \\ \hline
3184 {\tt on\_normal\_exit } & value & New value to set \\ \hline
3186 \end{tabular}
3188 \vspace{0.3cm}
3190 \noindent {\bf Return Type:}
3191 {\tt
3192 void
3197 \vspace{0.3cm}
3198 \vspace{0.3cm}
3199 \vspace{0.3cm}
3200 \subsubsection{RPC name:~get\_actions\_after\_crash}
3202 {\bf Overview:}
3203 Get the actions/after\_crash field of the given VM.
3205 \noindent {\bf Signature:}
3206 \begin{verbatim} (on_crash_behaviour) get_actions_after_crash (session_id s, VM ref self)\end{verbatim}
3209 \noindent{\bf Arguments:}
3212 \vspace{0.3cm}
3213 \begin{tabular}{|c|c|p{7cm}|}
3214 \hline
3215 {\bf type} & {\bf name} & {\bf description} \\ \hline
3216 {\tt VM ref } & self & reference to the object \\ \hline
3218 \end{tabular}
3220 \vspace{0.3cm}
3222 \noindent {\bf Return Type:}
3223 {\tt
3224 on\_crash\_behaviour
3228 value of the field
3229 \vspace{0.3cm}
3230 \vspace{0.3cm}
3231 \vspace{0.3cm}
3232 \subsubsection{RPC name:~set\_actions\_after\_crash}
3234 {\bf Overview:}
3235 Set the actions/after\_crash field of the given VM.
3237 \noindent {\bf Signature:}
3238 \begin{verbatim} void set_actions_after_crash (session_id s, VM ref self, on_crash_behaviour value)\end{verbatim}
3241 \noindent{\bf Arguments:}
3244 \vspace{0.3cm}
3245 \begin{tabular}{|c|c|p{7cm}|}
3246 \hline
3247 {\bf type} & {\bf name} & {\bf description} \\ \hline
3248 {\tt VM ref } & self & reference to the object \\ \hline
3250 {\tt on\_crash\_behaviour } & value & New value to set \\ \hline
3252 \end{tabular}
3254 \vspace{0.3cm}
3256 \noindent {\bf Return Type:}
3257 {\tt
3258 void
3263 \vspace{0.3cm}
3264 \vspace{0.3cm}
3265 \vspace{0.3cm}
3266 \subsubsection{RPC name:~get\_consoles}
3268 {\bf Overview:}
3269 Get the consoles field of the given VM.
3271 \noindent {\bf Signature:}
3272 \begin{verbatim} ((console ref) Set) get_consoles (session_id s, VM ref self)\end{verbatim}
3275 \noindent{\bf Arguments:}
3278 \vspace{0.3cm}
3279 \begin{tabular}{|c|c|p{7cm}|}
3280 \hline
3281 {\bf type} & {\bf name} & {\bf description} \\ \hline
3282 {\tt VM ref } & self & reference to the object \\ \hline
3284 \end{tabular}
3286 \vspace{0.3cm}
3288 \noindent {\bf Return Type:}
3289 {\tt
3290 (console ref) Set
3294 value of the field
3295 \vspace{0.3cm}
3296 \vspace{0.3cm}
3297 \vspace{0.3cm}
3298 \subsubsection{RPC name:~get\_VIFs}
3300 {\bf Overview:}
3301 Get the VIFs field of the given VM.
3303 \noindent {\bf Signature:}
3304 \begin{verbatim} ((VIF ref) Set) get_VIFs (session_id s, VM ref self)\end{verbatim}
3307 \noindent{\bf Arguments:}
3310 \vspace{0.3cm}
3311 \begin{tabular}{|c|c|p{7cm}|}
3312 \hline
3313 {\bf type} & {\bf name} & {\bf description} \\ \hline
3314 {\tt VM ref } & self & reference to the object \\ \hline
3316 \end{tabular}
3318 \vspace{0.3cm}
3320 \noindent {\bf Return Type:}
3321 {\tt
3322 (VIF ref) Set
3326 value of the field
3327 \vspace{0.3cm}
3328 \vspace{0.3cm}
3329 \vspace{0.3cm}
3330 \subsubsection{RPC name:~get\_VBDs}
3332 {\bf Overview:}
3333 Get the VBDs field of the given VM.
3335 \noindent {\bf Signature:}
3336 \begin{verbatim} ((VBD ref) Set) get_VBDs (session_id s, VM ref self)\end{verbatim}
3339 \noindent{\bf Arguments:}
3342 \vspace{0.3cm}
3343 \begin{tabular}{|c|c|p{7cm}|}
3344 \hline
3345 {\bf type} & {\bf name} & {\bf description} \\ \hline
3346 {\tt VM ref } & self & reference to the object \\ \hline
3348 \end{tabular}
3350 \vspace{0.3cm}
3352 \noindent {\bf Return Type:}
3353 {\tt
3354 (VBD ref) Set
3358 value of the field
3359 \vspace{0.3cm}
3360 \vspace{0.3cm}
3361 \vspace{0.3cm}
3362 \subsubsection{RPC name:~get\_crash\_dumps}
3364 {\bf Overview:}
3365 Get the crash\_dumps field of the given VM.
3367 \noindent {\bf Signature:}
3368 \begin{verbatim} ((crashdump ref) Set) get_crash_dumps (session_id s, VM ref self)\end{verbatim}
3371 \noindent{\bf Arguments:}
3374 \vspace{0.3cm}
3375 \begin{tabular}{|c|c|p{7cm}|}
3376 \hline
3377 {\bf type} & {\bf name} & {\bf description} \\ \hline
3378 {\tt VM ref } & self & reference to the object \\ \hline
3380 \end{tabular}
3382 \vspace{0.3cm}
3384 \noindent {\bf Return Type:}
3385 {\tt
3386 (crashdump ref) Set
3390 value of the field
3391 \vspace{0.3cm}
3392 \vspace{0.3cm}
3393 \vspace{0.3cm}
3394 \subsubsection{RPC name:~get\_VTPMs}
3396 {\bf Overview:}
3397 Get the VTPMs field of the given VM.
3399 \noindent {\bf Signature:}
3400 \begin{verbatim} ((VTPM ref) Set) get_VTPMs (session_id s, VM ref self)\end{verbatim}
3403 \noindent{\bf Arguments:}
3406 \vspace{0.3cm}
3407 \begin{tabular}{|c|c|p{7cm}|}
3408 \hline
3409 {\bf type} & {\bf name} & {\bf description} \\ \hline
3410 {\tt VM ref } & self & reference to the object \\ \hline
3412 \end{tabular}
3414 \vspace{0.3cm}
3416 \noindent {\bf Return Type:}
3417 {\tt
3418 (VTPM ref) Set
3422 value of the field
3423 \vspace{0.3cm}
3424 \vspace{0.3cm}
3425 \vspace{0.3cm}
3426 \subsubsection{RPC name:~get\_DPCIs}
3428 {\bf Overview:}
3429 Get the DPCIs field of the given VM.
3431 \noindent {\bf Signature:}
3432 \begin{verbatim} ((DPCI ref) Set) get_DPCIs (session_id s, VM ref self)\end{verbatim}
3435 \noindent{\bf Arguments:}
3438 \vspace{0.3cm}
3439 \begin{tabular}{|c|c|p{7cm}|}
3440 \hline
3441 {\bf type} & {\bf name} & {\bf description} \\ \hline
3442 {\tt VM ref } & self & reference to the object \\ \hline
3444 \end{tabular}
3446 \vspace{0.3cm}
3448 \noindent {\bf Return Type:}
3449 {\tt
3450 (DPCI ref) Set
3454 value of the field
3455 \vspace{0.3cm}
3456 \vspace{0.3cm}
3457 \vspace{0.3cm}
3458 \subsubsection{RPC name:~get\_DSCSIs}
3460 {\bf Overview:}
3461 Get the DSCSIs field of the given VM.
3463 \noindent {\bf Signature:}
3464 \begin{verbatim} ((DSCSI ref) Set) get_DSCSIs (session_id s, VM ref self)\end{verbatim}
3467 \noindent{\bf Arguments:}
3470 \vspace{0.3cm}
3471 \begin{tabular}{|c|c|p{7cm}|}
3472 \hline
3473 {\bf type} & {\bf name} & {\bf description} \\ \hline
3474 {\tt VM ref } & self & reference to the object \\ \hline
3476 \end{tabular}
3478 \vspace{0.3cm}
3480 \noindent {\bf Return Type:}
3481 {\tt
3482 (DSCSI ref) Set
3486 value of the field
3487 \vspace{0.3cm}
3488 \vspace{0.3cm}
3489 \vspace{0.3cm}
3490 \subsubsection{RPC name:~get\_PV\_bootloader}
3492 {\bf Overview:}
3493 Get the PV/bootloader field of the given VM.
3495 \noindent {\bf Signature:}
3496 \begin{verbatim} string get_PV_bootloader (session_id s, VM ref self)\end{verbatim}
3499 \noindent{\bf Arguments:}
3502 \vspace{0.3cm}
3503 \begin{tabular}{|c|c|p{7cm}|}
3504 \hline
3505 {\bf type} & {\bf name} & {\bf description} \\ \hline
3506 {\tt VM ref } & self & reference to the object \\ \hline
3508 \end{tabular}
3510 \vspace{0.3cm}
3512 \noindent {\bf Return Type:}
3513 {\tt
3514 string
3518 value of the field
3519 \vspace{0.3cm}
3520 \vspace{0.3cm}
3521 \vspace{0.3cm}
3522 \subsubsection{RPC name:~set\_PV\_bootloader}
3524 {\bf Overview:}
3525 Set the PV/bootloader field of the given VM.
3527 \noindent {\bf Signature:}
3528 \begin{verbatim} void set_PV_bootloader (session_id s, VM ref self, string value)\end{verbatim}
3531 \noindent{\bf Arguments:}
3534 \vspace{0.3cm}
3535 \begin{tabular}{|c|c|p{7cm}|}
3536 \hline
3537 {\bf type} & {\bf name} & {\bf description} \\ \hline
3538 {\tt VM ref } & self & reference to the object \\ \hline
3540 {\tt string } & value & New value to set \\ \hline
3542 \end{tabular}
3544 \vspace{0.3cm}
3546 \noindent {\bf Return Type:}
3547 {\tt
3548 void
3553 \vspace{0.3cm}
3554 \vspace{0.3cm}
3555 \vspace{0.3cm}
3556 \subsubsection{RPC name:~get\_PV\_kernel}
3558 {\bf Overview:}
3559 Get the PV/kernel field of the given VM.
3561 \noindent {\bf Signature:}
3562 \begin{verbatim} string get_PV_kernel (session_id s, VM ref self)\end{verbatim}
3565 \noindent{\bf Arguments:}
3568 \vspace{0.3cm}
3569 \begin{tabular}{|c|c|p{7cm}|}
3570 \hline
3571 {\bf type} & {\bf name} & {\bf description} \\ \hline
3572 {\tt VM ref } & self & reference to the object \\ \hline
3574 \end{tabular}
3576 \vspace{0.3cm}
3578 \noindent {\bf Return Type:}
3579 {\tt
3580 string
3584 value of the field
3585 \vspace{0.3cm}
3586 \vspace{0.3cm}
3587 \vspace{0.3cm}
3588 \subsubsection{RPC name:~set\_PV\_kernel}
3590 {\bf Overview:}
3591 Set the PV/kernel field of the given VM.
3593 \noindent {\bf Signature:}
3594 \begin{verbatim} void set_PV_kernel (session_id s, VM ref self, string value)\end{verbatim}
3597 \noindent{\bf Arguments:}
3600 \vspace{0.3cm}
3601 \begin{tabular}{|c|c|p{7cm}|}
3602 \hline
3603 {\bf type} & {\bf name} & {\bf description} \\ \hline
3604 {\tt VM ref } & self & reference to the object \\ \hline
3606 {\tt string } & value & New value to set \\ \hline
3608 \end{tabular}
3610 \vspace{0.3cm}
3612 \noindent {\bf Return Type:}
3613 {\tt
3614 void
3619 \vspace{0.3cm}
3620 \vspace{0.3cm}
3621 \vspace{0.3cm}
3622 \subsubsection{RPC name:~get\_PV\_ramdisk}
3624 {\bf Overview:}
3625 Get the PV/ramdisk field of the given VM.
3627 \noindent {\bf Signature:}
3628 \begin{verbatim} string get_PV_ramdisk (session_id s, VM ref self)\end{verbatim}
3631 \noindent{\bf Arguments:}
3634 \vspace{0.3cm}
3635 \begin{tabular}{|c|c|p{7cm}|}
3636 \hline
3637 {\bf type} & {\bf name} & {\bf description} \\ \hline
3638 {\tt VM ref } & self & reference to the object \\ \hline
3640 \end{tabular}
3642 \vspace{0.3cm}
3644 \noindent {\bf Return Type:}
3645 {\tt
3646 string
3650 value of the field
3651 \vspace{0.3cm}
3652 \vspace{0.3cm}
3653 \vspace{0.3cm}
3654 \subsubsection{RPC name:~set\_PV\_ramdisk}
3656 {\bf Overview:}
3657 Set the PV/ramdisk field of the given VM.
3659 \noindent {\bf Signature:}
3660 \begin{verbatim} void set_PV_ramdisk (session_id s, VM ref self, string value)\end{verbatim}
3663 \noindent{\bf Arguments:}
3666 \vspace{0.3cm}
3667 \begin{tabular}{|c|c|p{7cm}|}
3668 \hline
3669 {\bf type} & {\bf name} & {\bf description} \\ \hline
3670 {\tt VM ref } & self & reference to the object \\ \hline
3672 {\tt string } & value & New value to set \\ \hline
3674 \end{tabular}
3676 \vspace{0.3cm}
3678 \noindent {\bf Return Type:}
3679 {\tt
3680 void
3685 \vspace{0.3cm}
3686 \vspace{0.3cm}
3687 \vspace{0.3cm}
3688 \subsubsection{RPC name:~get\_PV\_args}
3690 {\bf Overview:}
3691 Get the PV/args field of the given VM.
3693 \noindent {\bf Signature:}
3694 \begin{verbatim} string get_PV_args (session_id s, VM ref self)\end{verbatim}
3697 \noindent{\bf Arguments:}
3700 \vspace{0.3cm}
3701 \begin{tabular}{|c|c|p{7cm}|}
3702 \hline
3703 {\bf type} & {\bf name} & {\bf description} \\ \hline
3704 {\tt VM ref } & self & reference to the object \\ \hline
3706 \end{tabular}
3708 \vspace{0.3cm}
3710 \noindent {\bf Return Type:}
3711 {\tt
3712 string
3716 value of the field
3717 \vspace{0.3cm}
3718 \vspace{0.3cm}
3719 \vspace{0.3cm}
3720 \subsubsection{RPC name:~set\_PV\_args}
3722 {\bf Overview:}
3723 Set the PV/args field of the given VM.
3725 \noindent {\bf Signature:}
3726 \begin{verbatim} void set_PV_args (session_id s, VM ref self, string value)\end{verbatim}
3729 \noindent{\bf Arguments:}
3732 \vspace{0.3cm}
3733 \begin{tabular}{|c|c|p{7cm}|}
3734 \hline
3735 {\bf type} & {\bf name} & {\bf description} \\ \hline
3736 {\tt VM ref } & self & reference to the object \\ \hline
3738 {\tt string } & value & New value to set \\ \hline
3740 \end{tabular}
3742 \vspace{0.3cm}
3744 \noindent {\bf Return Type:}
3745 {\tt
3746 void
3751 \vspace{0.3cm}
3752 \vspace{0.3cm}
3753 \vspace{0.3cm}
3754 \subsubsection{RPC name:~get\_PV\_bootloader\_args}
3756 {\bf Overview:}
3757 Get the PV/bootloader\_args field of the given VM.
3759 \noindent {\bf Signature:}
3760 \begin{verbatim} string get_PV_bootloader_args (session_id s, VM ref self)\end{verbatim}
3763 \noindent{\bf Arguments:}
3766 \vspace{0.3cm}
3767 \begin{tabular}{|c|c|p{7cm}|}
3768 \hline
3769 {\bf type} & {\bf name} & {\bf description} \\ \hline
3770 {\tt VM ref } & self & reference to the object \\ \hline
3772 \end{tabular}
3774 \vspace{0.3cm}
3776 \noindent {\bf Return Type:}
3777 {\tt
3778 string
3782 value of the field
3783 \vspace{0.3cm}
3784 \vspace{0.3cm}
3785 \vspace{0.3cm}
3786 \subsubsection{RPC name:~set\_PV\_bootloader\_args}
3788 {\bf Overview:}
3789 Set the PV/bootloader\_args field of the given VM.
3791 \noindent {\bf Signature:}
3792 \begin{verbatim} void set_PV_bootloader_args (session_id s, VM ref self, string value)\end{verbatim}
3795 \noindent{\bf Arguments:}
3798 \vspace{0.3cm}
3799 \begin{tabular}{|c|c|p{7cm}|}
3800 \hline
3801 {\bf type} & {\bf name} & {\bf description} \\ \hline
3802 {\tt VM ref } & self & reference to the object \\ \hline
3804 {\tt string } & value & New value to set \\ \hline
3806 \end{tabular}
3808 \vspace{0.3cm}
3810 \noindent {\bf Return Type:}
3811 {\tt
3812 void
3817 \vspace{0.3cm}
3818 \vspace{0.3cm}
3819 \vspace{0.3cm}
3820 \subsubsection{RPC name:~get\_HVM\_boot\_policy}
3822 {\bf Overview:}
3823 Get the HVM/boot\_policy field of the given VM.
3825 \noindent {\bf Signature:}
3826 \begin{verbatim} string get_HVM_boot_policy (session_id s, VM ref self)\end{verbatim}
3829 \noindent{\bf Arguments:}
3832 \vspace{0.3cm}
3833 \begin{tabular}{|c|c|p{7cm}|}
3834 \hline
3835 {\bf type} & {\bf name} & {\bf description} \\ \hline
3836 {\tt VM ref } & self & reference to the object \\ \hline
3838 \end{tabular}
3840 \vspace{0.3cm}
3842 \noindent {\bf Return Type:}
3843 {\tt
3844 string
3848 value of the field
3849 \vspace{0.3cm}
3850 \vspace{0.3cm}
3851 \vspace{0.3cm}
3852 \subsubsection{RPC name:~set\_HVM\_boot\_policy}
3854 {\bf Overview:}
3855 Set the HVM/boot\_policy field of the given VM.
3857 \noindent {\bf Signature:}
3858 \begin{verbatim} void set_HVM_boot_policy (session_id s, VM ref self, string value)\end{verbatim}
3861 \noindent{\bf Arguments:}
3864 \vspace{0.3cm}
3865 \begin{tabular}{|c|c|p{7cm}|}
3866 \hline
3867 {\bf type} & {\bf name} & {\bf description} \\ \hline
3868 {\tt VM ref } & self & reference to the object \\ \hline
3870 {\tt string } & value & New value to set \\ \hline
3872 \end{tabular}
3874 \vspace{0.3cm}
3876 \noindent {\bf Return Type:}
3877 {\tt
3878 void
3883 \vspace{0.3cm}
3884 \vspace{0.3cm}
3885 \vspace{0.3cm}
3886 \subsubsection{RPC name:~get\_HVM\_boot\_params}
3888 {\bf Overview:}
3889 Get the HVM/boot\_params field of the given VM.
3891 \noindent {\bf Signature:}
3892 \begin{verbatim} ((string -> string) Map) get_HVM_boot_params (session_id s, VM ref self)\end{verbatim}
3895 \noindent{\bf Arguments:}
3898 \vspace{0.3cm}
3899 \begin{tabular}{|c|c|p{7cm}|}
3900 \hline
3901 {\bf type} & {\bf name} & {\bf description} \\ \hline
3902 {\tt VM ref } & self & reference to the object \\ \hline
3904 \end{tabular}
3906 \vspace{0.3cm}
3908 \noindent {\bf Return Type:}
3909 {\tt
3910 (string $\rightarrow$ string) Map
3914 value of the field
3915 \vspace{0.3cm}
3916 \vspace{0.3cm}
3917 \vspace{0.3cm}
3918 \subsubsection{RPC name:~set\_HVM\_boot\_params}
3920 {\bf Overview:}
3921 Set the HVM/boot\_params field of the given VM.
3923 \noindent {\bf Signature:}
3924 \begin{verbatim} void set_HVM_boot_params (session_id s, VM ref self, (string -> string) Map value)\end{verbatim}
3927 \noindent{\bf Arguments:}
3930 \vspace{0.3cm}
3931 \begin{tabular}{|c|c|p{7cm}|}
3932 \hline
3933 {\bf type} & {\bf name} & {\bf description} \\ \hline
3934 {\tt VM ref } & self & reference to the object \\ \hline
3936 {\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline
3938 \end{tabular}
3940 \vspace{0.3cm}
3942 \noindent {\bf Return Type:}
3943 {\tt
3944 void
3949 \vspace{0.3cm}
3950 \vspace{0.3cm}
3951 \vspace{0.3cm}
3952 \subsubsection{RPC name:~add\_to\_HVM\_boot\_params}
3954 {\bf Overview:}
3955 Add the given key-value pair to the HVM/boot\_params field of the given VM.
3957 \noindent {\bf Signature:}
3958 \begin{verbatim} void add_to_HVM_boot_params (session_id s, VM ref self, string key, string value)\end{verbatim}
3961 \noindent{\bf Arguments:}
3964 \vspace{0.3cm}
3965 \begin{tabular}{|c|c|p{7cm}|}
3966 \hline
3967 {\bf type} & {\bf name} & {\bf description} \\ \hline
3968 {\tt VM ref } & self & reference to the object \\ \hline
3970 {\tt string } & key & Key to add \\ \hline
3972 {\tt string } & value & Value to add \\ \hline
3974 \end{tabular}
3976 \vspace{0.3cm}
3978 \noindent {\bf Return Type:}
3979 {\tt
3980 void
3985 \vspace{0.3cm}
3986 \vspace{0.3cm}
3987 \vspace{0.3cm}
3988 \subsubsection{RPC name:~remove\_from\_HVM\_boot\_params}
3990 {\bf Overview:}
3991 Remove the given key and its corresponding value from the HVM/boot\_params
3992 field of the given VM. If the key is not in that Map, then do nothing.
3994 \noindent {\bf Signature:}
3995 \begin{verbatim} void remove_from_HVM_boot_params (session_id s, VM ref self, string key)\end{verbatim}
3998 \noindent{\bf Arguments:}
4001 \vspace{0.3cm}
4002 \begin{tabular}{|c|c|p{7cm}|}
4003 \hline
4004 {\bf type} & {\bf name} & {\bf description} \\ \hline
4005 {\tt VM ref } & self & reference to the object \\ \hline
4007 {\tt string } & key & Key to remove \\ \hline
4009 \end{tabular}
4011 \vspace{0.3cm}
4013 \noindent {\bf Return Type:}
4014 {\tt
4015 void
4020 \vspace{0.3cm}
4021 \vspace{0.3cm}
4022 \vspace{0.3cm}
4023 \subsubsection{RPC name:~get\_platform}
4025 {\bf Overview:}
4026 Get the platform field of the given VM.
4028 \noindent {\bf Signature:}
4029 \begin{verbatim} ((string -> string) Map) get_platform (session_id s, VM ref self)\end{verbatim}
4032 \noindent{\bf Arguments:}
4035 \vspace{0.3cm}
4036 \begin{tabular}{|c|c|p{7cm}|}
4037 \hline
4038 {\bf type} & {\bf name} & {\bf description} \\ \hline
4039 {\tt VM ref } & self & reference to the object \\ \hline
4041 \end{tabular}
4043 \vspace{0.3cm}
4045 \noindent {\bf Return Type:}
4046 {\tt
4047 (string $\rightarrow$ string) Map
4051 value of the field
4052 \vspace{0.3cm}
4053 \vspace{0.3cm}
4054 \vspace{0.3cm}
4055 \subsubsection{RPC name:~set\_platform}
4057 {\bf Overview:}
4058 Set the platform field of the given VM.
4060 \noindent {\bf Signature:}
4061 \begin{verbatim} void set_platform (session_id s, VM ref self, (string -> string) Map value)\end{verbatim}
4064 \noindent{\bf Arguments:}
4067 \vspace{0.3cm}
4068 \begin{tabular}{|c|c|p{7cm}|}
4069 \hline
4070 {\bf type} & {\bf name} & {\bf description} \\ \hline
4071 {\tt VM ref } & self & reference to the object \\ \hline
4073 {\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline
4075 \end{tabular}
4077 \vspace{0.3cm}
4079 \noindent {\bf Return Type:}
4080 {\tt
4081 void
4086 \vspace{0.3cm}
4087 \vspace{0.3cm}
4088 \vspace{0.3cm}
4089 \subsubsection{RPC name:~add\_to\_platform}
4091 {\bf Overview:}
4092 Add the given key-value pair to the platform field of the given VM.
4094 \noindent {\bf Signature:}
4095 \begin{verbatim} void add_to_platform (session_id s, VM ref self, string key, string value)\end{verbatim}
4098 \noindent{\bf Arguments:}
4101 \vspace{0.3cm}
4102 \begin{tabular}{|c|c|p{7cm}|}
4103 \hline
4104 {\bf type} & {\bf name} & {\bf description} \\ \hline
4105 {\tt VM ref } & self & reference to the object \\ \hline
4107 {\tt string } & key & Key to add \\ \hline
4109 {\tt string } & value & Value to add \\ \hline
4111 \end{tabular}
4113 \vspace{0.3cm}
4115 \noindent {\bf Return Type:}
4116 {\tt
4117 void
4122 \vspace{0.3cm}
4123 \vspace{0.3cm}
4124 \vspace{0.3cm}
4125 \subsubsection{RPC name:~remove\_from\_platform}
4127 {\bf Overview:}
4128 Remove the given key and its corresponding value from the platform field of
4129 the given VM. If the key is not in that Map, then do nothing.
4131 \noindent {\bf Signature:}
4132 \begin{verbatim} void remove_from_platform (session_id s, VM ref self, string key)\end{verbatim}
4135 \noindent{\bf Arguments:}
4138 \vspace{0.3cm}
4139 \begin{tabular}{|c|c|p{7cm}|}
4140 \hline
4141 {\bf type} & {\bf name} & {\bf description} \\ \hline
4142 {\tt VM ref } & self & reference to the object \\ \hline
4144 {\tt string } & key & Key to remove \\ \hline
4146 \end{tabular}
4148 \vspace{0.3cm}
4150 \noindent {\bf Return Type:}
4151 {\tt
4152 void
4157 \vspace{0.3cm}
4158 \vspace{0.3cm}
4159 \vspace{0.3cm}
4160 \subsubsection{RPC name:~get\_PCI\_bus}
4162 {\bf Overview:}
4163 Get the PCI\_bus field of the given VM.
4165 \noindent {\bf Signature:}
4166 \begin{verbatim} string get_PCI_bus (session_id s, VM ref self)\end{verbatim}
4169 \noindent{\bf Arguments:}
4172 \vspace{0.3cm}
4173 \begin{tabular}{|c|c|p{7cm}|}
4174 \hline
4175 {\bf type} & {\bf name} & {\bf description} \\ \hline
4176 {\tt VM ref } & self & reference to the object \\ \hline
4178 \end{tabular}
4180 \vspace{0.3cm}
4182 \noindent {\bf Return Type:}
4183 {\tt
4184 string
4188 value of the field
4189 \vspace{0.3cm}
4190 \vspace{0.3cm}
4191 \vspace{0.3cm}
4192 \subsubsection{RPC name:~set\_PCI\_bus}
4194 {\bf Overview:}
4195 Set the PCI\_bus field of the given VM.
4197 \noindent {\bf Signature:}
4198 \begin{verbatim} void set_PCI_bus (session_id s, VM ref self, string value)\end{verbatim}
4201 \noindent{\bf Arguments:}
4204 \vspace{0.3cm}
4205 \begin{tabular}{|c|c|p{7cm}|}
4206 \hline
4207 {\bf type} & {\bf name} & {\bf description} \\ \hline
4208 {\tt VM ref } & self & reference to the object \\ \hline
4210 {\tt string } & value & New value to set \\ \hline
4212 \end{tabular}
4214 \vspace{0.3cm}
4216 \noindent {\bf Return Type:}
4217 {\tt
4218 void
4223 \vspace{0.3cm}
4224 \vspace{0.3cm}
4225 \vspace{0.3cm}
4226 \subsubsection{RPC name:~get\_other\_config}
4228 {\bf Overview:}
4229 Get the other\_config field of the given VM.
4231 \noindent {\bf Signature:}
4232 \begin{verbatim} ((string -> string) Map) get_other_config (session_id s, VM ref self)\end{verbatim}
4235 \noindent{\bf Arguments:}
4238 \vspace{0.3cm}
4239 \begin{tabular}{|c|c|p{7cm}|}
4240 \hline
4241 {\bf type} & {\bf name} & {\bf description} \\ \hline
4242 {\tt VM ref } & self & reference to the object \\ \hline
4244 \end{tabular}
4246 \vspace{0.3cm}
4248 \noindent {\bf Return Type:}
4249 {\tt
4250 (string $\rightarrow$ string) Map
4254 value of the field
4255 \vspace{0.3cm}
4256 \vspace{0.3cm}
4257 \vspace{0.3cm}
4258 \subsubsection{RPC name:~set\_other\_config}
4260 {\bf Overview:}
4261 Set the other\_config field of the given VM.
4263 \noindent {\bf Signature:}
4264 \begin{verbatim} void set_other_config (session_id s, VM ref self, (string -> string) Map value)\end{verbatim}
4267 \noindent{\bf Arguments:}
4270 \vspace{0.3cm}
4271 \begin{tabular}{|c|c|p{7cm}|}
4272 \hline
4273 {\bf type} & {\bf name} & {\bf description} \\ \hline
4274 {\tt VM ref } & self & reference to the object \\ \hline
4276 {\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline
4278 \end{tabular}
4280 \vspace{0.3cm}
4282 \noindent {\bf Return Type:}
4283 {\tt
4284 void
4289 \vspace{0.3cm}
4290 \vspace{0.3cm}
4291 \vspace{0.3cm}
4292 \subsubsection{RPC name:~add\_to\_other\_config}
4294 {\bf Overview:}
4295 Add the given key-value pair to the other\_config field of the given VM.
4297 \noindent {\bf Signature:}
4298 \begin{verbatim} void add_to_other_config (session_id s, VM ref self, string key, string value)\end{verbatim}
4301 \noindent{\bf Arguments:}
4304 \vspace{0.3cm}
4305 \begin{tabular}{|c|c|p{7cm}|}
4306 \hline
4307 {\bf type} & {\bf name} & {\bf description} \\ \hline
4308 {\tt VM ref } & self & reference to the object \\ \hline
4310 {\tt string } & key & Key to add \\ \hline
4312 {\tt string } & value & Value to add \\ \hline
4314 \end{tabular}
4316 \vspace{0.3cm}
4318 \noindent {\bf Return Type:}
4319 {\tt
4320 void
4325 \vspace{0.3cm}
4326 \vspace{0.3cm}
4327 \vspace{0.3cm}
4328 \subsubsection{RPC name:~remove\_from\_other\_config}
4330 {\bf Overview:}
4331 Remove the given key and its corresponding value from the other\_config
4332 field of the given VM. If the key is not in that Map, then do nothing.
4334 \noindent {\bf Signature:}
4335 \begin{verbatim} void remove_from_other_config (session_id s, VM ref self, string key)\end{verbatim}
4338 \noindent{\bf Arguments:}
4341 \vspace{0.3cm}
4342 \begin{tabular}{|c|c|p{7cm}|}
4343 \hline
4344 {\bf type} & {\bf name} & {\bf description} \\ \hline
4345 {\tt VM ref } & self & reference to the object \\ \hline
4347 {\tt string } & key & Key to remove \\ \hline
4349 \end{tabular}
4351 \vspace{0.3cm}
4353 \noindent {\bf Return Type:}
4354 {\tt
4355 void
4360 \vspace{0.3cm}
4361 \vspace{0.3cm}
4362 \vspace{0.3cm}
4363 \subsubsection{RPC name:~get\_domid}
4365 {\bf Overview:}
4366 Get the domid field of the given VM.
4368 \noindent {\bf Signature:}
4369 \begin{verbatim} int get_domid (session_id s, VM ref self)\end{verbatim}
4372 \noindent{\bf Arguments:}
4375 \vspace{0.3cm}
4376 \begin{tabular}{|c|c|p{7cm}|}
4377 \hline
4378 {\bf type} & {\bf name} & {\bf description} \\ \hline
4379 {\tt VM ref } & self & reference to the object \\ \hline
4381 \end{tabular}
4383 \vspace{0.3cm}
4385 \noindent {\bf Return Type:}
4386 {\tt
4387 int
4391 value of the field
4392 \vspace{0.3cm}
4393 \vspace{0.3cm}
4394 \vspace{0.3cm}
4395 \subsubsection{RPC name:~get\_is\_control\_domain}
4397 {\bf Overview:}
4398 Get the is\_control\_domain field of the given VM.
4400 \noindent {\bf Signature:}
4401 \begin{verbatim} bool get_is_control_domain (session_id s, VM ref self)\end{verbatim}
4404 \noindent{\bf Arguments:}
4407 \vspace{0.3cm}
4408 \begin{tabular}{|c|c|p{7cm}|}
4409 \hline
4410 {\bf type} & {\bf name} & {\bf description} \\ \hline
4411 {\tt VM ref } & self & reference to the object \\ \hline
4413 \end{tabular}
4415 \vspace{0.3cm}
4417 \noindent {\bf Return Type:}
4418 {\tt
4419 bool
4423 value of the field
4424 \vspace{0.3cm}
4425 \vspace{0.3cm}
4426 \vspace{0.3cm}
4427 \subsubsection{RPC name:~get\_metrics}
4429 {\bf Overview:}
4430 Get the metrics field of the given VM.
4432 \noindent {\bf Signature:}
4433 \begin{verbatim} (VM_metrics ref) get_metrics (session_id s, VM ref self)\end{verbatim}
4436 \noindent{\bf Arguments:}
4439 \vspace{0.3cm}
4440 \begin{tabular}{|c|c|p{7cm}|}
4441 \hline
4442 {\bf type} & {\bf name} & {\bf description} \\ \hline
4443 {\tt VM ref } & self & reference to the object \\ \hline
4445 \end{tabular}
4447 \vspace{0.3cm}
4449 \noindent {\bf Return Type:}
4450 {\tt
4451 VM\_metrics ref
4455 value of the field
4456 \vspace{0.3cm}
4457 \vspace{0.3cm}
4458 \vspace{0.3cm}
4459 \subsubsection{RPC name:~get\_guest\_metrics}
4461 {\bf Overview:}
4462 Get the guest\_metrics field of the given VM.
4464 \noindent {\bf Signature:}
4465 \begin{verbatim} (VM_guest_metrics ref) get_guest_metrics (session_id s, VM ref self)\end{verbatim}
4468 \noindent{\bf Arguments:}
4471 \vspace{0.3cm}
4472 \begin{tabular}{|c|c|p{7cm}|}
4473 \hline
4474 {\bf type} & {\bf name} & {\bf description} \\ \hline
4475 {\tt VM ref } & self & reference to the object \\ \hline
4477 \end{tabular}
4479 \vspace{0.3cm}
4481 \noindent {\bf Return Type:}
4482 {\tt
4483 VM\_guest\_metrics ref
4487 value of the field
4488 \vspace{0.3cm}
4489 \vspace{0.3cm}
4490 \vspace{0.3cm}
4491 \subsubsection{RPC name:~get\_security\_label}
4493 {\bf Overview:}
4494 Get the security label field of the given VM. Refer to the XSPolicy class
4495 for the format of the security label.
4497 \noindent {\bf Signature:}
4498 \begin{verbatim} string get_security_label (session_id s, VM ref self)\end{verbatim}
4501 \noindent{\bf Arguments:}
4504 \vspace{0.3cm}
4505 \begin{tabular}{|c|c|p{7cm}|}
4506 \hline
4507 {\bf type} & {\bf name} & {\bf description} \\ \hline
4508 {\tt VM ref } & self & reference to the object \\ \hline
4510 \end{tabular}
4512 \vspace{0.3cm}
4514 \noindent {\bf Return Type:}
4515 {\tt
4516 string
4520 value of the field
4521 \vspace{0.3cm}
4522 \vspace{0.3cm}
4523 \vspace{0.3cm}
4524 \subsubsection{RPC name:~set\_security\_label}
4526 {\bf Overview:}
4527 Set the security label field of the given VM. Refer to the XSPolicy class
4528 for the format of the security label.
4530 \noindent {\bf Signature:}
4531 \begin{verbatim} int set_security_label (session_id s, VM ref self, string
4532 security_label, string old_label)\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
4543 {\tt string } & security\_label & security label for the VM \\ \hline
4544 {\tt string } & old\_label & Label value that the security label \\
4545 & & must currently have for the change to succeed.\\ \hline
4547 \end{tabular}
4549 \vspace{0.3cm}
4551 \noindent {\bf Return Type:}
4552 {\tt
4553 int
4557 Returns the ssidref in case of an VM that is currently running or
4558 paused, zero in case of a dormant VM (halted, suspended).
4560 \vspace{0.3cm}
4562 \noindent{\bf Possible Error Codes:} {\tt SECURITY\_ERROR}
4564 \vspace{0.3cm}
4565 \vspace{0.3cm}
4566 \vspace{0.3cm}
4567 \subsubsection{RPC name:~create}
4569 {\bf Overview:}
4570 Create a new VM instance, and return its handle.
4572 \noindent {\bf Signature:}
4573 \begin{verbatim} (VM ref) create (session_id s, VM record args)\end{verbatim}
4576 \noindent{\bf Arguments:}
4579 \vspace{0.3cm}
4580 \begin{tabular}{|c|c|p{7cm}|}
4581 \hline
4582 {\bf type} & {\bf name} & {\bf description} \\ \hline
4583 {\tt VM record } & args & All constructor arguments \\ \hline
4585 \end{tabular}
4587 \vspace{0.3cm}
4589 \noindent {\bf Return Type:}
4590 {\tt
4591 VM ref
4595 reference to the newly created object
4596 \vspace{0.3cm}
4597 \vspace{0.3cm}
4598 \vspace{0.3cm}
4599 \subsubsection{RPC name:~destroy}
4601 {\bf Overview:}
4602 Destroy the specified VM. The VM is completely removed from the system.
4603 This function can only be called when the VM is in the Halted State.
4605 \noindent {\bf Signature:}
4606 \begin{verbatim} void destroy (session_id s, VM ref self)\end{verbatim}
4609 \noindent{\bf Arguments:}
4612 \vspace{0.3cm}
4613 \begin{tabular}{|c|c|p{7cm}|}
4614 \hline
4615 {\bf type} & {\bf name} & {\bf description} \\ \hline
4616 {\tt VM ref } & self & reference to the object \\ \hline
4618 \end{tabular}
4620 \vspace{0.3cm}
4622 \noindent {\bf Return Type:}
4623 {\tt
4624 void
4629 \vspace{0.3cm}
4630 \vspace{0.3cm}
4631 \vspace{0.3cm}
4632 \subsubsection{RPC name:~get\_by\_uuid}
4634 {\bf Overview:}
4635 Get a reference to the VM instance with the specified UUID.
4637 \noindent {\bf Signature:}
4638 \begin{verbatim} (VM ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
4641 \noindent{\bf Arguments:}
4644 \vspace{0.3cm}
4645 \begin{tabular}{|c|c|p{7cm}|}
4646 \hline
4647 {\bf type} & {\bf name} & {\bf description} \\ \hline
4648 {\tt string } & uuid & UUID of object to return \\ \hline
4650 \end{tabular}
4652 \vspace{0.3cm}
4654 \noindent {\bf Return Type:}
4655 {\tt
4656 VM ref
4660 reference to the object
4661 \vspace{0.3cm}
4662 \vspace{0.3cm}
4663 \vspace{0.3cm}
4664 \subsubsection{RPC name:~get\_record}
4666 {\bf Overview:}
4667 Get a record containing the current state of the given VM.
4669 \noindent {\bf Signature:}
4670 \begin{verbatim} (VM record) get_record (session_id s, VM ref self)\end{verbatim}
4673 \noindent{\bf Arguments:}
4676 \vspace{0.3cm}
4677 \begin{tabular}{|c|c|p{7cm}|}
4678 \hline
4679 {\bf type} & {\bf name} & {\bf description} \\ \hline
4680 {\tt VM ref } & self & reference to the object \\ \hline
4682 \end{tabular}
4684 \vspace{0.3cm}
4686 \noindent {\bf Return Type:}
4687 {\tt
4688 VM record
4692 all fields from the object
4693 \vspace{0.3cm}
4694 \vspace{0.3cm}
4695 \vspace{0.3cm}
4696 \subsubsection{RPC name:~get\_by\_name\_label}
4698 {\bf Overview:}
4699 Get all the VM instances with the given label.
4701 \noindent {\bf Signature:}
4702 \begin{verbatim} ((VM ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
4705 \noindent{\bf Arguments:}
4708 \vspace{0.3cm}
4709 \begin{tabular}{|c|c|p{7cm}|}
4710 \hline
4711 {\bf type} & {\bf name} & {\bf description} \\ \hline
4712 {\tt string } & label & label of object to return \\ \hline
4714 \end{tabular}
4716 \vspace{0.3cm}
4718 \noindent {\bf Return Type:}
4719 {\tt
4720 (VM ref) Set
4724 references to objects with match names
4725 \vspace{0.3cm}
4726 \vspace{0.3cm}
4727 \vspace{0.3cm}
4729 \vspace{1cm}
4730 \newpage
4731 \section{Class: VM\_metrics}
4732 \subsection{Fields for class: VM\_metrics}
4733 \begin{longtable}{|lllp{0.38\textwidth}|}
4734 \hline
4735 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VM\_metrics} \\
4736 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em
4737 The metrics associated with a VM.}} \\
4738 \hline
4739 Quals & Field & Type & Description \\
4740 \hline
4741 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
4742 $\mathit{RO}_\mathit{run}$ & {\tt memory/actual} & int & Guest's actual memory (bytes) \\
4743 $\mathit{RO}_\mathit{run}$ & {\tt VCPUs/number} & int & Current number of VCPUs \\
4744 $\mathit{RO}_\mathit{run}$ & {\tt VCPUs/utilisation} & (int $\rightarrow$ float) Map & Utilisation for all of guest's current VCPUs \\
4745 $\mathit{RO}_\mathit{run}$ & {\tt VCPUs/CPU} & (int $\rightarrow$ int) Map & VCPU to PCPU map \\
4746 $\mathit{RO}_\mathit{run}$ & {\tt VCPUs/params} & (string $\rightarrow$ string) Map & The live equivalent to VM.VCPUs\_params \\
4747 $\mathit{RO}_\mathit{run}$ & {\tt VCPUs/flags} & (int $\rightarrow$ string Set) Map & CPU flags (blocked,online,running) \\
4748 $\mathit{RO}_\mathit{run}$ & {\tt state} & string Set & The state of the guest, eg blocked, dying etc \\
4749 $\mathit{RO}_\mathit{run}$ & {\tt start\_time} & datetime & Time at which this VM was last booted \\
4750 $\mathit{RO}_\mathit{run}$ & {\tt last\_updated} & datetime & Time at which this information was last updated \\
4751 \hline
4752 \end{longtable}
4753 \subsection{RPCs associated with class: VM\_metrics}
4754 \subsubsection{RPC name:~get\_all}
4756 {\bf Overview:}
4757 Return a list of all the VM\_metrics instances known to the system.
4759 \noindent {\bf Signature:}
4760 \begin{verbatim} ((VM_metrics ref) Set) get_all (session_id s)\end{verbatim}
4763 \vspace{0.3cm}
4765 \noindent {\bf Return Type:}
4766 {\tt
4767 (VM\_metrics ref) Set
4771 references to all objects
4772 \vspace{0.3cm}
4773 \vspace{0.3cm}
4774 \vspace{0.3cm}
4775 \subsubsection{RPC name:~get\_uuid}
4777 {\bf Overview:}
4778 Get the uuid field of the given VM\_metrics.
4780 \noindent {\bf Signature:}
4781 \begin{verbatim} string get_uuid (session_id s, VM_metrics ref self)\end{verbatim}
4784 \noindent{\bf Arguments:}
4787 \vspace{0.3cm}
4788 \begin{tabular}{|c|c|p{7cm}|}
4789 \hline
4790 {\bf type} & {\bf name} & {\bf description} \\ \hline
4791 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
4793 \end{tabular}
4795 \vspace{0.3cm}
4797 \noindent {\bf Return Type:}
4798 {\tt
4799 string
4803 value of the field
4804 \vspace{0.3cm}
4805 \vspace{0.3cm}
4806 \vspace{0.3cm}
4807 \subsubsection{RPC name:~get\_memory\_actual}
4809 {\bf Overview:}
4810 Get the memory/actual field of the given VM\_metrics.
4812 \noindent {\bf Signature:}
4813 \begin{verbatim} int get_memory_actual (session_id s, VM_metrics ref self)\end{verbatim}
4816 \noindent{\bf Arguments:}
4819 \vspace{0.3cm}
4820 \begin{tabular}{|c|c|p{7cm}|}
4821 \hline
4822 {\bf type} & {\bf name} & {\bf description} \\ \hline
4823 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
4825 \end{tabular}
4827 \vspace{0.3cm}
4829 \noindent {\bf Return Type:}
4830 {\tt
4831 int
4835 value of the field
4836 \vspace{0.3cm}
4837 \vspace{0.3cm}
4838 \vspace{0.3cm}
4839 \subsubsection{RPC name:~get\_VCPUs\_number}
4841 {\bf Overview:}
4842 Get the VCPUs/number field of the given VM\_metrics.
4844 \noindent {\bf Signature:}
4845 \begin{verbatim} int get_VCPUs_number (session_id s, VM_metrics ref self)\end{verbatim}
4848 \noindent{\bf Arguments:}
4851 \vspace{0.3cm}
4852 \begin{tabular}{|c|c|p{7cm}|}
4853 \hline
4854 {\bf type} & {\bf name} & {\bf description} \\ \hline
4855 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
4857 \end{tabular}
4859 \vspace{0.3cm}
4861 \noindent {\bf Return Type:}
4862 {\tt
4863 int
4867 value of the field
4868 \vspace{0.3cm}
4869 \vspace{0.3cm}
4870 \vspace{0.3cm}
4871 \subsubsection{RPC name:~get\_VCPUs\_utilisation}
4873 {\bf Overview:}
4874 Get the VCPUs/utilisation field of the given VM\_metrics.
4876 \noindent {\bf Signature:}
4877 \begin{verbatim} ((int -> float) Map) get_VCPUs_utilisation (session_id s, VM_metrics ref self)\end{verbatim}
4880 \noindent{\bf Arguments:}
4883 \vspace{0.3cm}
4884 \begin{tabular}{|c|c|p{7cm}|}
4885 \hline
4886 {\bf type} & {\bf name} & {\bf description} \\ \hline
4887 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
4889 \end{tabular}
4891 \vspace{0.3cm}
4893 \noindent {\bf Return Type:}
4894 {\tt
4895 (int $\rightarrow$ float) Map
4899 value of the field
4900 \vspace{0.3cm}
4901 \vspace{0.3cm}
4902 \vspace{0.3cm}
4903 \subsubsection{RPC name:~get\_VCPUs\_CPU}
4905 {\bf Overview:}
4906 Get the VCPUs/CPU field of the given VM\_metrics.
4908 \noindent {\bf Signature:}
4909 \begin{verbatim} ((int -> int) Map) get_VCPUs_CPU (session_id s, VM_metrics ref self)\end{verbatim}
4912 \noindent{\bf Arguments:}
4915 \vspace{0.3cm}
4916 \begin{tabular}{|c|c|p{7cm}|}
4917 \hline
4918 {\bf type} & {\bf name} & {\bf description} \\ \hline
4919 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
4921 \end{tabular}
4923 \vspace{0.3cm}
4925 \noindent {\bf Return Type:}
4926 {\tt
4927 (int $\rightarrow$ int) Map
4931 value of the field
4932 \vspace{0.3cm}
4933 \vspace{0.3cm}
4934 \vspace{0.3cm}
4935 \subsubsection{RPC name:~get\_VCPUs\_params}
4937 {\bf Overview:}
4938 Get the VCPUs/params field of the given VM\_metrics.
4940 \noindent {\bf Signature:}
4941 \begin{verbatim} ((string -> string) Map) get_VCPUs_params (session_id s, VM_metrics ref self)\end{verbatim}
4944 \noindent{\bf Arguments:}
4947 \vspace{0.3cm}
4948 \begin{tabular}{|c|c|p{7cm}|}
4949 \hline
4950 {\bf type} & {\bf name} & {\bf description} \\ \hline
4951 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
4953 \end{tabular}
4955 \vspace{0.3cm}
4957 \noindent {\bf Return Type:}
4958 {\tt
4959 (string $\rightarrow$ string) Map
4963 value of the field
4964 \vspace{0.3cm}
4965 \vspace{0.3cm}
4966 \vspace{0.3cm}
4967 \subsubsection{RPC name:~get\_VCPUs\_flags}
4969 {\bf Overview:}
4970 Get the VCPUs/flags field of the given VM\_metrics.
4972 \noindent {\bf Signature:}
4973 \begin{verbatim} ((int -> string Set) Map) get_VCPUs_flags (session_id s, VM_metrics ref self)\end{verbatim}
4976 \noindent{\bf Arguments:}
4979 \vspace{0.3cm}
4980 \begin{tabular}{|c|c|p{7cm}|}
4981 \hline
4982 {\bf type} & {\bf name} & {\bf description} \\ \hline
4983 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
4985 \end{tabular}
4987 \vspace{0.3cm}
4989 \noindent {\bf Return Type:}
4990 {\tt
4991 (int $\rightarrow$ string Set) Map
4995 value of the field
4996 \vspace{0.3cm}
4997 \vspace{0.3cm}
4998 \vspace{0.3cm}
4999 \subsubsection{RPC name:~get\_state}
5001 {\bf Overview:}
5002 Get the state field of the given VM\_metrics.
5004 \noindent {\bf Signature:}
5005 \begin{verbatim} (string Set) get_state (session_id s, VM_metrics ref self)\end{verbatim}
5008 \noindent{\bf Arguments:}
5011 \vspace{0.3cm}
5012 \begin{tabular}{|c|c|p{7cm}|}
5013 \hline
5014 {\bf type} & {\bf name} & {\bf description} \\ \hline
5015 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
5017 \end{tabular}
5019 \vspace{0.3cm}
5021 \noindent {\bf Return Type:}
5022 {\tt
5023 string Set
5027 value of the field
5028 \vspace{0.3cm}
5029 \vspace{0.3cm}
5030 \vspace{0.3cm}
5031 \subsubsection{RPC name:~get\_start\_time}
5033 {\bf Overview:}
5034 Get the start\_time field of the given VM\_metrics.
5036 \noindent {\bf Signature:}
5037 \begin{verbatim} datetime get_start_time (session_id s, VM_metrics ref self)\end{verbatim}
5040 \noindent{\bf Arguments:}
5043 \vspace{0.3cm}
5044 \begin{tabular}{|c|c|p{7cm}|}
5045 \hline
5046 {\bf type} & {\bf name} & {\bf description} \\ \hline
5047 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
5049 \end{tabular}
5051 \vspace{0.3cm}
5053 \noindent {\bf Return Type:}
5054 {\tt
5055 datetime
5059 value of the field
5060 \vspace{0.3cm}
5061 \vspace{0.3cm}
5062 \vspace{0.3cm}
5063 \subsubsection{RPC name:~get\_last\_updated}
5065 {\bf Overview:}
5066 Get the last\_updated field of the given VM\_metrics.
5068 \noindent {\bf Signature:}
5069 \begin{verbatim} datetime get_last_updated (session_id s, VM_metrics ref self)\end{verbatim}
5072 \noindent{\bf Arguments:}
5075 \vspace{0.3cm}
5076 \begin{tabular}{|c|c|p{7cm}|}
5077 \hline
5078 {\bf type} & {\bf name} & {\bf description} \\ \hline
5079 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
5081 \end{tabular}
5083 \vspace{0.3cm}
5085 \noindent {\bf Return Type:}
5086 {\tt
5087 datetime
5091 value of the field
5092 \vspace{0.3cm}
5093 \vspace{0.3cm}
5094 \vspace{0.3cm}
5095 \subsubsection{RPC name:~get\_by\_uuid}
5097 {\bf Overview:}
5098 Get a reference to the VM\_metrics instance with the specified UUID.
5100 \noindent {\bf Signature:}
5101 \begin{verbatim} (VM_metrics ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
5104 \noindent{\bf Arguments:}
5107 \vspace{0.3cm}
5108 \begin{tabular}{|c|c|p{7cm}|}
5109 \hline
5110 {\bf type} & {\bf name} & {\bf description} \\ \hline
5111 {\tt string } & uuid & UUID of object to return \\ \hline
5113 \end{tabular}
5115 \vspace{0.3cm}
5117 \noindent {\bf Return Type:}
5118 {\tt
5119 VM\_metrics ref
5123 reference to the object
5124 \vspace{0.3cm}
5125 \vspace{0.3cm}
5126 \vspace{0.3cm}
5127 \subsubsection{RPC name:~get\_record}
5129 {\bf Overview:}
5130 Get a record containing the current state of the given VM\_metrics.
5132 \noindent {\bf Signature:}
5133 \begin{verbatim} (VM_metrics record) get_record (session_id s, VM_metrics ref self)\end{verbatim}
5136 \noindent{\bf Arguments:}
5139 \vspace{0.3cm}
5140 \begin{tabular}{|c|c|p{7cm}|}
5141 \hline
5142 {\bf type} & {\bf name} & {\bf description} \\ \hline
5143 {\tt VM\_metrics ref } & self & reference to the object \\ \hline
5145 \end{tabular}
5147 \vspace{0.3cm}
5149 \noindent {\bf Return Type:}
5150 {\tt
5151 VM\_metrics record
5155 all fields from the object
5156 \vspace{0.3cm}
5157 \vspace{0.3cm}
5158 \vspace{0.3cm}
5160 \vspace{1cm}
5161 \newpage
5162 \section{Class: VM\_guest\_metrics}
5163 \subsection{Fields for class: VM\_guest\_metrics}
5164 \begin{longtable}{|lllp{0.38\textwidth}|}
5165 \hline
5166 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VM\_guest\_metrics} \\
5167 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em
5168 The metrics reported by the guest (as opposed to inferred from outside).}} \\
5169 \hline
5170 Quals & Field & Type & Description \\
5171 \hline
5172 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
5173 $\mathit{RO}_\mathit{run}$ & {\tt os\_version} & (string $\rightarrow$ string) Map & version of the OS \\
5174 $\mathit{RO}_\mathit{run}$ & {\tt PV\_drivers\_version} & (string $\rightarrow$ string) Map & version of the PV drivers \\
5175 $\mathit{RO}_\mathit{run}$ & {\tt memory} & (string $\rightarrow$ string) Map & free/used/total memory \\
5176 $\mathit{RO}_\mathit{run}$ & {\tt disks} & (string $\rightarrow$ string) Map & disk configuration/free space \\
5177 $\mathit{RO}_\mathit{run}$ & {\tt networks} & (string $\rightarrow$ string) Map & network configuration \\
5178 $\mathit{RO}_\mathit{run}$ & {\tt other} & (string $\rightarrow$ string) Map & anything else \\
5179 $\mathit{RO}_\mathit{run}$ & {\tt last\_updated} & datetime & Time at which this information was last updated \\
5180 \hline
5181 \end{longtable}
5182 \subsection{RPCs associated with class: VM\_guest\_metrics}
5183 \subsubsection{RPC name:~get\_all}
5185 {\bf Overview:}
5186 Return a list of all the VM\_guest\_metrics instances known to the system.
5188 \noindent {\bf Signature:}
5189 \begin{verbatim} ((VM_guest_metrics ref) Set) get_all (session_id s)\end{verbatim}
5192 \vspace{0.3cm}
5194 \noindent {\bf Return Type:}
5195 {\tt
5196 (VM\_guest\_metrics ref) Set
5200 references to all objects
5201 \vspace{0.3cm}
5202 \vspace{0.3cm}
5203 \vspace{0.3cm}
5204 \subsubsection{RPC name:~get\_uuid}
5206 {\bf Overview:}
5207 Get the uuid field of the given VM\_guest\_metrics.
5209 \noindent {\bf Signature:}
5210 \begin{verbatim} string get_uuid (session_id s, VM_guest_metrics ref self)\end{verbatim}
5213 \noindent{\bf Arguments:}
5216 \vspace{0.3cm}
5217 \begin{tabular}{|c|c|p{7cm}|}
5218 \hline
5219 {\bf type} & {\bf name} & {\bf description} \\ \hline
5220 {\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline
5222 \end{tabular}
5224 \vspace{0.3cm}
5226 \noindent {\bf Return Type:}
5227 {\tt
5228 string
5232 value of the field
5233 \vspace{0.3cm}
5234 \vspace{0.3cm}
5235 \vspace{0.3cm}
5236 \subsubsection{RPC name:~get\_os\_version}
5238 {\bf Overview:}
5239 Get the os\_version field of the given VM\_guest\_metrics.
5241 \noindent {\bf Signature:}
5242 \begin{verbatim} ((string -> string) Map) get_os_version (session_id s, VM_guest_metrics ref self)\end{verbatim}
5245 \noindent{\bf Arguments:}
5248 \vspace{0.3cm}
5249 \begin{tabular}{|c|c|p{7cm}|}
5250 \hline
5251 {\bf type} & {\bf name} & {\bf description} \\ \hline
5252 {\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline
5254 \end{tabular}
5256 \vspace{0.3cm}
5258 \noindent {\bf Return Type:}
5259 {\tt
5260 (string $\rightarrow$ string) Map
5264 value of the field
5265 \vspace{0.3cm}
5266 \vspace{0.3cm}
5267 \vspace{0.3cm}
5268 \subsubsection{RPC name:~get\_PV\_drivers\_version}
5270 {\bf Overview:}
5271 Get the PV\_drivers\_version field of the given VM\_guest\_metrics.
5273 \noindent {\bf Signature:}
5274 \begin{verbatim} ((string -> string) Map) get_PV_drivers_version (session_id s, VM_guest_metrics ref self)\end{verbatim}
5277 \noindent{\bf Arguments:}
5280 \vspace{0.3cm}
5281 \begin{tabular}{|c|c|p{7cm}|}
5282 \hline
5283 {\bf type} & {\bf name} & {\bf description} \\ \hline
5284 {\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline
5286 \end{tabular}
5288 \vspace{0.3cm}
5290 \noindent {\bf Return Type:}
5291 {\tt
5292 (string $\rightarrow$ string) Map
5296 value of the field
5297 \vspace{0.3cm}
5298 \vspace{0.3cm}
5299 \vspace{0.3cm}
5300 \subsubsection{RPC name:~get\_memory}
5302 {\bf Overview:}
5303 Get the memory field of the given VM\_guest\_metrics.
5305 \noindent {\bf Signature:}
5306 \begin{verbatim} ((string -> string) Map) get_memory (session_id s, VM_guest_metrics ref self)\end{verbatim}
5309 \noindent{\bf Arguments:}
5312 \vspace{0.3cm}
5313 \begin{tabular}{|c|c|p{7cm}|}
5314 \hline
5315 {\bf type} & {\bf name} & {\bf description} \\ \hline
5316 {\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline
5318 \end{tabular}
5320 \vspace{0.3cm}
5322 \noindent {\bf Return Type:}
5323 {\tt
5324 (string $\rightarrow$ string) Map
5328 value of the field
5329 \vspace{0.3cm}
5330 \vspace{0.3cm}
5331 \vspace{0.3cm}
5332 \subsubsection{RPC name:~get\_disks}
5334 {\bf Overview:}
5335 Get the disks field of the given VM\_guest\_metrics.
5337 \noindent {\bf Signature:}
5338 \begin{verbatim} ((string -> string) Map) get_disks (session_id s, VM_guest_metrics ref self)\end{verbatim}
5341 \noindent{\bf Arguments:}
5344 \vspace{0.3cm}
5345 \begin{tabular}{|c|c|p{7cm}|}
5346 \hline
5347 {\bf type} & {\bf name} & {\bf description} \\ \hline
5348 {\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline
5350 \end{tabular}
5352 \vspace{0.3cm}
5354 \noindent {\bf Return Type:}
5355 {\tt
5356 (string $\rightarrow$ string) Map
5360 value of the field
5361 \vspace{0.3cm}
5362 \vspace{0.3cm}
5363 \vspace{0.3cm}
5364 \subsubsection{RPC name:~get\_networks}
5366 {\bf Overview:}
5367 Get the networks field of the given VM\_guest\_metrics.
5369 \noindent {\bf Signature:}
5370 \begin{verbatim} ((string -> string) Map) get_networks (session_id s, VM_guest_metrics ref self)\end{verbatim}
5373 \noindent{\bf Arguments:}
5376 \vspace{0.3cm}
5377 \begin{tabular}{|c|c|p{7cm}|}
5378 \hline
5379 {\bf type} & {\bf name} & {\bf description} \\ \hline
5380 {\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline
5382 \end{tabular}
5384 \vspace{0.3cm}
5386 \noindent {\bf Return Type:}
5387 {\tt
5388 (string $\rightarrow$ string) Map
5392 value of the field
5393 \vspace{0.3cm}
5394 \vspace{0.3cm}
5395 \vspace{0.3cm}
5396 \subsubsection{RPC name:~get\_other}
5398 {\bf Overview:}
5399 Get the other field of the given VM\_guest\_metrics.
5401 \noindent {\bf Signature:}
5402 \begin{verbatim} ((string -> string) Map) get_other (session_id s, VM_guest_metrics ref self)\end{verbatim}
5405 \noindent{\bf Arguments:}
5408 \vspace{0.3cm}
5409 \begin{tabular}{|c|c|p{7cm}|}
5410 \hline
5411 {\bf type} & {\bf name} & {\bf description} \\ \hline
5412 {\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline
5414 \end{tabular}
5416 \vspace{0.3cm}
5418 \noindent {\bf Return Type:}
5419 {\tt
5420 (string $\rightarrow$ string) Map
5424 value of the field
5425 \vspace{0.3cm}
5426 \vspace{0.3cm}
5427 \vspace{0.3cm}
5428 \subsubsection{RPC name:~get\_last\_updated}
5430 {\bf Overview:}
5431 Get the last\_updated field of the given VM\_guest\_metrics.
5433 \noindent {\bf Signature:}
5434 \begin{verbatim} datetime get_last_updated (session_id s, VM_guest_metrics ref self)\end{verbatim}
5437 \noindent{\bf Arguments:}
5440 \vspace{0.3cm}
5441 \begin{tabular}{|c|c|p{7cm}|}
5442 \hline
5443 {\bf type} & {\bf name} & {\bf description} \\ \hline
5444 {\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline
5446 \end{tabular}
5448 \vspace{0.3cm}
5450 \noindent {\bf Return Type:}
5451 {\tt
5452 datetime
5456 value of the field
5457 \vspace{0.3cm}
5458 \vspace{0.3cm}
5459 \vspace{0.3cm}
5460 \subsubsection{RPC name:~get\_by\_uuid}
5462 {\bf Overview:}
5463 Get a reference to the VM\_guest\_metrics instance with the specified UUID.
5465 \noindent {\bf Signature:}
5466 \begin{verbatim} (VM_guest_metrics ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
5469 \noindent{\bf Arguments:}
5472 \vspace{0.3cm}
5473 \begin{tabular}{|c|c|p{7cm}|}
5474 \hline
5475 {\bf type} & {\bf name} & {\bf description} \\ \hline
5476 {\tt string } & uuid & UUID of object to return \\ \hline
5478 \end{tabular}
5480 \vspace{0.3cm}
5482 \noindent {\bf Return Type:}
5483 {\tt
5484 VM\_guest\_metrics ref
5488 reference to the object
5489 \vspace{0.3cm}
5490 \vspace{0.3cm}
5491 \vspace{0.3cm}
5492 \subsubsection{RPC name:~get\_record}
5494 {\bf Overview:}
5495 Get a record containing the current state of the given VM\_guest\_metrics.
5497 \noindent {\bf Signature:}
5498 \begin{verbatim} (VM_guest_metrics record) get_record (session_id s, VM_guest_metrics ref self)\end{verbatim}
5501 \noindent{\bf Arguments:}
5504 \vspace{0.3cm}
5505 \begin{tabular}{|c|c|p{7cm}|}
5506 \hline
5507 {\bf type} & {\bf name} & {\bf description} \\ \hline
5508 {\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline
5510 \end{tabular}
5512 \vspace{0.3cm}
5514 \noindent {\bf Return Type:}
5515 {\tt
5516 VM\_guest\_metrics record
5520 all fields from the object
5521 \vspace{0.3cm}
5522 \vspace{0.3cm}
5523 \vspace{0.3cm}
5525 \vspace{1cm}
5526 \newpage
5527 \section{Class: host}
5528 \subsection{Fields for class: host}
5529 \begin{longtable}{|lllp{0.38\textwidth}|}
5530 \hline
5531 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf host} \\
5532 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
5533 physical host.}} \\
5534 \hline
5535 Quals & Field & Type & Description \\
5536 \hline
5537 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
5538 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
5539 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
5540 $\mathit{RO}_\mathit{run}$ & {\tt API\_version/major} & int & major version number \\
5541 $\mathit{RO}_\mathit{run}$ & {\tt API\_version/minor} & int & minor version number \\
5542 $\mathit{RO}_\mathit{run}$ & {\tt API\_version/vendor} & string & identification of vendor \\
5543 $\mathit{RO}_\mathit{run}$ & {\tt API\_version/vendor\_implementation} & (string $\rightarrow$ string) Map & details of vendor implementation \\
5544 $\mathit{RO}_\mathit{run}$ & {\tt enabled} & bool & True if the host is currently enabled \\
5545 $\mathit{RO}_\mathit{run}$ & {\tt software\_version} & (string $\rightarrow$ string) Map & version strings \\
5546 $\mathit{RW}$ & {\tt other\_config} & (string $\rightarrow$ string) Map & additional configuration \\
5547 $\mathit{RO}_\mathit{run}$ & {\tt capabilities} & string Set & Xen capabilities \\
5548 $\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'' \\
5549 $\mathit{RO}_\mathit{run}$ & {\tt sched\_policy} & string & Scheduler policy currently in force on this host \\
5550 $\mathit{RO}_\mathit{run}$ & {\tt supported\_bootloaders} & string Set & a list of the bootloaders installed on the machine \\
5551 $\mathit{RO}_\mathit{run}$ & {\tt resident\_VMs} & (VM ref) Set & list of VMs currently resident on host \\
5552 $\mathit{RW}$ & {\tt logging} & (string $\rightarrow$ string) Map & logging configuration \\
5553 $\mathit{RO}_\mathit{run}$ & {\tt PIFs} & (PIF ref) Set & physical network interfaces \\
5554 $\mathit{RW}$ & {\tt suspend\_image\_sr} & SR ref & The SR in which VDIs for suspend images are created \\
5555 $\mathit{RW}$ & {\tt crash\_dump\_sr} & SR ref & The SR in which VDIs for crash dumps are created \\
5556 $\mathit{RO}_\mathit{run}$ & {\tt PBDs} & (PBD ref) Set & physical blockdevices \\
5557 $\mathit{RO}_\mathit{run}$ & {\tt PPCIs} & (PPCI ref) Set & physical PCI devices \\
5558 $\mathit{RO}_\mathit{run}$ & {\tt PSCSIs} & (PSCSI ref) Set & physical SCSI devices \\
5559 $\mathit{RO}_\mathit{run}$ & {\tt host\_CPUs} & (host\_cpu ref) Set & The physical CPUs on this host \\
5560 $\mathit{RO}_\mathit{run}$ & {\tt metrics} & host\_metrics ref & metrics associated with this host \\
5561 \hline
5562 \end{longtable}
5563 \subsection{RPCs associated with class: host}
5564 \subsubsection{RPC name:~disable}
5566 {\bf Overview:}
5567 Puts the host into a state in which no new VMs can be started. Currently
5568 active VMs on the host continue to execute.
5570 \noindent {\bf Signature:}
5571 \begin{verbatim} void disable (session_id s, host ref host)\end{verbatim}
5574 \noindent{\bf Arguments:}
5577 \vspace{0.3cm}
5578 \begin{tabular}{|c|c|p{7cm}|}
5579 \hline
5580 {\bf type} & {\bf name} & {\bf description} \\ \hline
5581 {\tt host ref } & host & The Host to disable \\ \hline
5583 \end{tabular}
5585 \vspace{0.3cm}
5587 \noindent {\bf Return Type:}
5588 {\tt
5589 void
5594 \vspace{0.3cm}
5595 \vspace{0.3cm}
5596 \vspace{0.3cm}
5597 \subsubsection{RPC name:~enable}
5599 {\bf Overview:}
5600 Puts the host into a state in which new VMs can be started.
5602 \noindent {\bf Signature:}
5603 \begin{verbatim} void enable (session_id s, host ref host)\end{verbatim}
5606 \noindent{\bf Arguments:}
5609 \vspace{0.3cm}
5610 \begin{tabular}{|c|c|p{7cm}|}
5611 \hline
5612 {\bf type} & {\bf name} & {\bf description} \\ \hline
5613 {\tt host ref } & host & The Host to enable \\ \hline
5615 \end{tabular}
5617 \vspace{0.3cm}
5619 \noindent {\bf Return Type:}
5620 {\tt
5621 void
5626 \vspace{0.3cm}
5627 \vspace{0.3cm}
5628 \vspace{0.3cm}
5629 \subsubsection{RPC name:~shutdown}
5631 {\bf Overview:}
5632 Shutdown the host. (This function can only be called if there are no
5633 currently running VMs on the host and it is disabled.).
5635 \noindent {\bf Signature:}
5636 \begin{verbatim} void shutdown (session_id s, host ref host)\end{verbatim}
5639 \noindent{\bf Arguments:}
5642 \vspace{0.3cm}
5643 \begin{tabular}{|c|c|p{7cm}|}
5644 \hline
5645 {\bf type} & {\bf name} & {\bf description} \\ \hline
5646 {\tt host ref } & host & The Host to shutdown \\ \hline
5648 \end{tabular}
5650 \vspace{0.3cm}
5652 \noindent {\bf Return Type:}
5653 {\tt
5654 void
5659 \vspace{0.3cm}
5660 \vspace{0.3cm}
5661 \vspace{0.3cm}
5662 \subsubsection{RPC name:~reboot}
5664 {\bf Overview:}
5665 Reboot the host. (This function can only be called if there are no
5666 currently running VMs on the host and it is disabled.).
5668 \noindent {\bf Signature:}
5669 \begin{verbatim} void reboot (session_id s, host ref host)\end{verbatim}
5672 \noindent{\bf Arguments:}
5675 \vspace{0.3cm}
5676 \begin{tabular}{|c|c|p{7cm}|}
5677 \hline
5678 {\bf type} & {\bf name} & {\bf description} \\ \hline
5679 {\tt host ref } & host & The Host to reboot \\ \hline
5681 \end{tabular}
5683 \vspace{0.3cm}
5685 \noindent {\bf Return Type:}
5686 {\tt
5687 void
5692 \vspace{0.3cm}
5693 \vspace{0.3cm}
5694 \vspace{0.3cm}
5695 \subsubsection{RPC name:~dmesg}
5697 {\bf Overview:}
5698 Get the host xen dmesg.
5700 \noindent {\bf Signature:}
5701 \begin{verbatim} string dmesg (session_id s, host ref host)\end{verbatim}
5704 \noindent{\bf Arguments:}
5707 \vspace{0.3cm}
5708 \begin{tabular}{|c|c|p{7cm}|}
5709 \hline
5710 {\bf type} & {\bf name} & {\bf description} \\ \hline
5711 {\tt host ref } & host & The Host to query \\ \hline
5713 \end{tabular}
5715 \vspace{0.3cm}
5717 \noindent {\bf Return Type:}
5718 {\tt
5719 string
5723 dmesg string
5724 \vspace{0.3cm}
5725 \vspace{0.3cm}
5726 \vspace{0.3cm}
5727 \subsubsection{RPC name:~dmesg\_clear}
5729 {\bf Overview:}
5730 Get the host xen dmesg, and clear the buffer.
5732 \noindent {\bf Signature:}
5733 \begin{verbatim} string dmesg_clear (session_id s, host ref host)\end{verbatim}
5736 \noindent{\bf Arguments:}
5739 \vspace{0.3cm}
5740 \begin{tabular}{|c|c|p{7cm}|}
5741 \hline
5742 {\bf type} & {\bf name} & {\bf description} \\ \hline
5743 {\tt host ref } & host & The Host to query \\ \hline
5745 \end{tabular}
5747 \vspace{0.3cm}
5749 \noindent {\bf Return Type:}
5750 {\tt
5751 string
5755 dmesg string
5756 \vspace{0.3cm}
5757 \vspace{0.3cm}
5758 \vspace{0.3cm}
5759 \subsubsection{RPC name:~get\_log}
5761 {\bf Overview:}
5762 Get the host's log file.
5764 \noindent {\bf Signature:}
5765 \begin{verbatim} string get_log (session_id s, host ref host)\end{verbatim}
5768 \noindent{\bf Arguments:}
5771 \vspace{0.3cm}
5772 \begin{tabular}{|c|c|p{7cm}|}
5773 \hline
5774 {\bf type} & {\bf name} & {\bf description} \\ \hline
5775 {\tt host ref } & host & The Host to query \\ \hline
5777 \end{tabular}
5779 \vspace{0.3cm}
5781 \noindent {\bf Return Type:}
5782 {\tt
5783 string
5787 The contents of the host's primary log file
5788 \vspace{0.3cm}
5789 \vspace{0.3cm}
5790 \vspace{0.3cm}
5791 \subsubsection{RPC name:~send\_debug\_keys}
5793 {\bf Overview:}
5794 Inject the given string as debugging keys into Xen.
5796 \noindent {\bf Signature:}
5797 \begin{verbatim} void send_debug_keys (session_id s, host ref host, string keys)\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 } & host & The host \\ \hline
5809 {\tt string } & keys & The keys to send \\ \hline
5811 \end{tabular}
5813 \vspace{0.3cm}
5815 \noindent {\bf Return Type:}
5816 {\tt
5817 void
5822 \vspace{0.3cm}
5823 \vspace{0.3cm}
5824 \vspace{0.3cm}
5825 \subsubsection{RPC name:~list\_methods}
5827 {\bf Overview:}
5828 List all supported methods.
5830 \noindent {\bf Signature:}
5831 \begin{verbatim} (string Set) list_methods (session_id s)\end{verbatim}
5834 \vspace{0.3cm}
5836 \noindent {\bf Return Type:}
5837 {\tt
5838 string Set
5842 The name of every supported method.
5843 \vspace{0.3cm}
5844 \vspace{0.3cm}
5845 \vspace{0.3cm}
5846 \subsubsection{RPC name:~get\_all}
5848 {\bf Overview:}
5849 Return a list of all the hosts known to the system.
5851 \noindent {\bf Signature:}
5852 \begin{verbatim} ((host ref) Set) get_all (session_id s)\end{verbatim}
5855 \vspace{0.3cm}
5857 \noindent {\bf Return Type:}
5858 {\tt
5859 (host ref) Set
5863 A list of all the IDs of all the hosts
5864 \vspace{0.3cm}
5865 \vspace{0.3cm}
5866 \vspace{0.3cm}
5867 \subsubsection{RPC name:~get\_uuid}
5869 {\bf Overview:}
5870 Get the uuid field of the given host.
5872 \noindent {\bf Signature:}
5873 \begin{verbatim} string get_uuid (session_id s, host ref self)\end{verbatim}
5876 \noindent{\bf Arguments:}
5879 \vspace{0.3cm}
5880 \begin{tabular}{|c|c|p{7cm}|}
5881 \hline
5882 {\bf type} & {\bf name} & {\bf description} \\ \hline
5883 {\tt host ref } & self & reference to the object \\ \hline
5885 \end{tabular}
5887 \vspace{0.3cm}
5889 \noindent {\bf Return Type:}
5890 {\tt
5891 string
5895 value of the field
5896 \vspace{0.3cm}
5897 \vspace{0.3cm}
5898 \vspace{0.3cm}
5899 \subsubsection{RPC name:~get\_name\_label}
5901 {\bf Overview:}
5902 Get the name/label field of the given host.
5904 \noindent {\bf Signature:}
5905 \begin{verbatim} string get_name_label (session_id s, host ref self)\end{verbatim}
5908 \noindent{\bf Arguments:}
5911 \vspace{0.3cm}
5912 \begin{tabular}{|c|c|p{7cm}|}
5913 \hline
5914 {\bf type} & {\bf name} & {\bf description} \\ \hline
5915 {\tt host ref } & self & reference to the object \\ \hline
5917 \end{tabular}
5919 \vspace{0.3cm}
5921 \noindent {\bf Return Type:}
5922 {\tt
5923 string
5927 value of the field
5928 \vspace{0.3cm}
5929 \vspace{0.3cm}
5930 \vspace{0.3cm}
5931 \subsubsection{RPC name:~set\_name\_label}
5933 {\bf Overview:}
5934 Set the name/label field of the given host.
5936 \noindent {\bf Signature:}
5937 \begin{verbatim} void set_name_label (session_id s, host ref self, string value)\end{verbatim}
5940 \noindent{\bf Arguments:}
5943 \vspace{0.3cm}
5944 \begin{tabular}{|c|c|p{7cm}|}
5945 \hline
5946 {\bf type} & {\bf name} & {\bf description} \\ \hline
5947 {\tt host ref } & self & reference to the object \\ \hline
5949 {\tt string } & value & New value to set \\ \hline
5951 \end{tabular}
5953 \vspace{0.3cm}
5955 \noindent {\bf Return Type:}
5956 {\tt
5957 void
5962 \vspace{0.3cm}
5963 \vspace{0.3cm}
5964 \vspace{0.3cm}
5965 \subsubsection{RPC name:~get\_name\_description}
5967 {\bf Overview:}
5968 Get the name/description field of the given host.
5970 \noindent {\bf Signature:}
5971 \begin{verbatim} string get_name_description (session_id s, host ref self)\end{verbatim}
5974 \noindent{\bf Arguments:}
5977 \vspace{0.3cm}
5978 \begin{tabular}{|c|c|p{7cm}|}
5979 \hline
5980 {\bf type} & {\bf name} & {\bf description} \\ \hline
5981 {\tt host ref } & self & reference to the object \\ \hline
5983 \end{tabular}
5985 \vspace{0.3cm}
5987 \noindent {\bf Return Type:}
5988 {\tt
5989 string
5993 value of the field
5994 \vspace{0.3cm}
5995 \vspace{0.3cm}
5996 \vspace{0.3cm}
5997 \subsubsection{RPC name:~set\_name\_description}
5999 {\bf Overview:}
6000 Set the name/description field of the given host.
6002 \noindent {\bf Signature:}
6003 \begin{verbatim} void set_name_description (session_id s, host ref self, string value)\end{verbatim}
6006 \noindent{\bf Arguments:}
6009 \vspace{0.3cm}
6010 \begin{tabular}{|c|c|p{7cm}|}
6011 \hline
6012 {\bf type} & {\bf name} & {\bf description} \\ \hline
6013 {\tt host ref } & self & reference to the object \\ \hline
6015 {\tt string } & value & New value to set \\ \hline
6017 \end{tabular}
6019 \vspace{0.3cm}
6021 \noindent {\bf Return Type:}
6022 {\tt
6023 void
6028 \vspace{0.3cm}
6029 \vspace{0.3cm}
6030 \vspace{0.3cm}
6031 \subsubsection{RPC name:~get\_API\_version\_major}
6033 {\bf Overview:}
6034 Get the API\_version/major field of the given host.
6036 \noindent {\bf Signature:}
6037 \begin{verbatim} int get_API_version_major (session_id s, host ref self)\end{verbatim}
6040 \noindent{\bf Arguments:}
6043 \vspace{0.3cm}
6044 \begin{tabular}{|c|c|p{7cm}|}
6045 \hline
6046 {\bf type} & {\bf name} & {\bf description} \\ \hline
6047 {\tt host ref } & self & reference to the object \\ \hline
6049 \end{tabular}
6051 \vspace{0.3cm}
6053 \noindent {\bf Return Type:}
6054 {\tt
6055 int
6059 value of the field
6060 \vspace{0.3cm}
6061 \vspace{0.3cm}
6062 \vspace{0.3cm}
6063 \subsubsection{RPC name:~get\_API\_version\_minor}
6065 {\bf Overview:}
6066 Get the API\_version/minor field of the given host.
6068 \noindent {\bf Signature:}
6069 \begin{verbatim} int get_API_version_minor (session_id s, host ref self)\end{verbatim}
6072 \noindent{\bf Arguments:}
6075 \vspace{0.3cm}
6076 \begin{tabular}{|c|c|p{7cm}|}
6077 \hline
6078 {\bf type} & {\bf name} & {\bf description} \\ \hline
6079 {\tt host ref } & self & reference to the object \\ \hline
6081 \end{tabular}
6083 \vspace{0.3cm}
6085 \noindent {\bf Return Type:}
6086 {\tt
6087 int
6091 value of the field
6092 \vspace{0.3cm}
6093 \vspace{0.3cm}
6094 \vspace{0.3cm}
6095 \subsubsection{RPC name:~get\_API\_version\_vendor}
6097 {\bf Overview:}
6098 Get the API\_version/vendor field of the given host.
6100 \noindent {\bf Signature:}
6101 \begin{verbatim} string get_API_version_vendor (session_id s, host ref self)\end{verbatim}
6104 \noindent{\bf Arguments:}
6107 \vspace{0.3cm}
6108 \begin{tabular}{|c|c|p{7cm}|}
6109 \hline
6110 {\bf type} & {\bf name} & {\bf description} \\ \hline
6111 {\tt host ref } & self & reference to the object \\ \hline
6113 \end{tabular}
6115 \vspace{0.3cm}
6117 \noindent {\bf Return Type:}
6118 {\tt
6119 string
6123 value of the field
6124 \vspace{0.3cm}
6125 \vspace{0.3cm}
6126 \vspace{0.3cm}
6127 \subsubsection{RPC name:~get\_API\_version\_vendor\_implementation}
6129 {\bf Overview:}
6130 Get the API\_version/vendor\_implementation field of the given host.
6132 \noindent {\bf Signature:}
6133 \begin{verbatim} ((string -> string) Map) get_API_version_vendor_implementation (session_id s, host ref self)\end{verbatim}
6136 \noindent{\bf Arguments:}
6139 \vspace{0.3cm}
6140 \begin{tabular}{|c|c|p{7cm}|}
6141 \hline
6142 {\bf type} & {\bf name} & {\bf description} \\ \hline
6143 {\tt host ref } & self & reference to the object \\ \hline
6145 \end{tabular}
6147 \vspace{0.3cm}
6149 \noindent {\bf Return Type:}
6150 {\tt
6151 (string $\rightarrow$ string) Map
6155 value of the field
6156 \vspace{0.3cm}
6157 \vspace{0.3cm}
6158 \vspace{0.3cm}
6159 \subsubsection{RPC name:~get\_enabled}
6161 {\bf Overview:}
6162 Get the enabled field of the given host.
6164 \noindent {\bf Signature:}
6165 \begin{verbatim} bool get_enabled (session_id s, host ref self)\end{verbatim}
6168 \noindent{\bf Arguments:}
6171 \vspace{0.3cm}
6172 \begin{tabular}{|c|c|p{7cm}|}
6173 \hline
6174 {\bf type} & {\bf name} & {\bf description} \\ \hline
6175 {\tt host ref } & self & reference to the object \\ \hline
6177 \end{tabular}
6179 \vspace{0.3cm}
6181 \noindent {\bf Return Type:}
6182 {\tt
6183 bool
6187 value of the field
6188 \vspace{0.3cm}
6189 \vspace{0.3cm}
6190 \vspace{0.3cm}
6191 \subsubsection{RPC name:~get\_software\_version}
6193 {\bf Overview:}
6194 Get the software\_version field of the given host.
6196 \noindent {\bf Signature:}
6197 \begin{verbatim} ((string -> string) Map) get_software_version (session_id s, host ref self)\end{verbatim}
6200 \noindent{\bf Arguments:}
6203 \vspace{0.3cm}
6204 \begin{tabular}{|c|c|p{7cm}|}
6205 \hline
6206 {\bf type} & {\bf name} & {\bf description} \\ \hline
6207 {\tt host ref } & self & reference to the object \\ \hline
6209 \end{tabular}
6211 \vspace{0.3cm}
6213 \noindent {\bf Return Type:}
6214 {\tt
6215 (string $\rightarrow$ string) Map
6219 value of the field
6220 \vspace{0.3cm}
6221 \vspace{0.3cm}
6222 \vspace{0.3cm}
6223 \subsubsection{RPC name:~get\_other\_config}
6225 {\bf Overview:}
6226 Get the other\_config field of the given host.
6228 \noindent {\bf Signature:}
6229 \begin{verbatim} ((string -> string) Map) get_other_config (session_id s, host ref self)\end{verbatim}
6232 \noindent{\bf Arguments:}
6235 \vspace{0.3cm}
6236 \begin{tabular}{|c|c|p{7cm}|}
6237 \hline
6238 {\bf type} & {\bf name} & {\bf description} \\ \hline
6239 {\tt host ref } & self & reference to the object \\ \hline
6241 \end{tabular}
6243 \vspace{0.3cm}
6245 \noindent {\bf Return Type:}
6246 {\tt
6247 (string $\rightarrow$ string) Map
6251 value of the field
6252 \vspace{0.3cm}
6253 \vspace{0.3cm}
6254 \vspace{0.3cm}
6255 \subsubsection{RPC name:~set\_other\_config}
6257 {\bf Overview:}
6258 Set the other\_config field of the given host.
6260 \noindent {\bf Signature:}
6261 \begin{verbatim} void set_other_config (session_id s, host ref self, (string -> string) Map value)\end{verbatim}
6264 \noindent{\bf Arguments:}
6267 \vspace{0.3cm}
6268 \begin{tabular}{|c|c|p{7cm}|}
6269 \hline
6270 {\bf type} & {\bf name} & {\bf description} \\ \hline
6271 {\tt host ref } & self & reference to the object \\ \hline
6273 {\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline
6275 \end{tabular}
6277 \vspace{0.3cm}
6279 \noindent {\bf Return Type:}
6280 {\tt
6281 void
6286 \vspace{0.3cm}
6287 \vspace{0.3cm}
6288 \vspace{0.3cm}
6289 \subsubsection{RPC name:~add\_to\_other\_config}
6291 {\bf Overview:}
6292 Add the given key-value pair to the other\_config field of the given host.
6294 \noindent {\bf Signature:}
6295 \begin{verbatim} void add_to_other_config (session_id s, host ref self, string key, string value)\end{verbatim}
6298 \noindent{\bf Arguments:}
6301 \vspace{0.3cm}
6302 \begin{tabular}{|c|c|p{7cm}|}
6303 \hline
6304 {\bf type} & {\bf name} & {\bf description} \\ \hline
6305 {\tt host ref } & self & reference to the object \\ \hline
6307 {\tt string } & key & Key to add \\ \hline
6309 {\tt string } & value & Value to add \\ \hline
6311 \end{tabular}
6313 \vspace{0.3cm}
6315 \noindent {\bf Return Type:}
6316 {\tt
6317 void
6322 \vspace{0.3cm}
6323 \vspace{0.3cm}
6324 \vspace{0.3cm}
6325 \subsubsection{RPC name:~remove\_from\_other\_config}
6327 {\bf Overview:}
6328 Remove the given key and its corresponding value from the other\_config
6329 field of the given host. If the key is not in that Map, then do nothing.
6331 \noindent {\bf Signature:}
6332 \begin{verbatim} void remove_from_other_config (session_id s, host ref self, string key)\end{verbatim}
6335 \noindent{\bf Arguments:}
6338 \vspace{0.3cm}
6339 \begin{tabular}{|c|c|p{7cm}|}
6340 \hline
6341 {\bf type} & {\bf name} & {\bf description} \\ \hline
6342 {\tt host ref } & self & reference to the object \\ \hline
6344 {\tt string } & key & Key to remove \\ \hline
6346 \end{tabular}
6348 \vspace{0.3cm}
6350 \noindent {\bf Return Type:}
6351 {\tt
6352 void
6357 \vspace{0.3cm}
6358 \vspace{0.3cm}
6359 \vspace{0.3cm}
6360 \subsubsection{RPC name:~get\_capabilities}
6362 {\bf Overview:}
6363 Get the capabilities field of the given host.
6365 \noindent {\bf Signature:}
6366 \begin{verbatim} (string Set) get_capabilities (session_id s, host ref self)\end{verbatim}
6369 \noindent{\bf Arguments:}
6372 \vspace{0.3cm}
6373 \begin{tabular}{|c|c|p{7cm}|}
6374 \hline
6375 {\bf type} & {\bf name} & {\bf description} \\ \hline
6376 {\tt host ref } & self & reference to the object \\ \hline
6378 \end{tabular}
6380 \vspace{0.3cm}
6382 \noindent {\bf Return Type:}
6383 {\tt
6384 string Set
6388 value of the field
6389 \vspace{0.3cm}
6390 \vspace{0.3cm}
6391 \vspace{0.3cm}
6392 \subsubsection{RPC name:~get\_cpu\_configuration}
6394 {\bf Overview:}
6395 Get the cpu\_configuration field of the given host.
6397 \noindent {\bf Signature:}
6398 \begin{verbatim} ((string -> string) Map) get_cpu_configuration (session_id s, host ref self)\end{verbatim}
6401 \noindent{\bf Arguments:}
6404 \vspace{0.3cm}
6405 \begin{tabular}{|c|c|p{7cm}|}
6406 \hline
6407 {\bf type} & {\bf name} & {\bf description} \\ \hline
6408 {\tt host ref } & self & reference to the object \\ \hline
6410 \end{tabular}
6412 \vspace{0.3cm}
6414 \noindent {\bf Return Type:}
6415 {\tt
6416 (string $\rightarrow$ string) Map
6420 value of the field
6421 \vspace{0.3cm}
6422 \vspace{0.3cm}
6423 \vspace{0.3cm}
6424 \subsubsection{RPC name:~get\_sched\_policy}
6426 {\bf Overview:}
6427 Get the sched\_policy field of the given host.
6429 \noindent {\bf Signature:}
6430 \begin{verbatim} string get_sched_policy (session_id s, host ref self)\end{verbatim}
6433 \noindent{\bf Arguments:}
6436 \vspace{0.3cm}
6437 \begin{tabular}{|c|c|p{7cm}|}
6438 \hline
6439 {\bf type} & {\bf name} & {\bf description} \\ \hline
6440 {\tt host ref } & self & reference to the object \\ \hline
6442 \end{tabular}
6444 \vspace{0.3cm}
6446 \noindent {\bf Return Type:}
6447 {\tt
6448 string
6452 value of the field
6453 \vspace{0.3cm}
6454 \vspace{0.3cm}
6455 \vspace{0.3cm}
6456 \subsubsection{RPC name:~get\_supported\_bootloaders}
6458 {\bf Overview:}
6459 Get the supported\_bootloaders field of the given host.
6461 \noindent {\bf Signature:}
6462 \begin{verbatim} (string Set) get_supported_bootloaders (session_id s, host ref self)\end{verbatim}
6465 \noindent{\bf Arguments:}
6468 \vspace{0.3cm}
6469 \begin{tabular}{|c|c|p{7cm}|}
6470 \hline
6471 {\bf type} & {\bf name} & {\bf description} \\ \hline
6472 {\tt host ref } & self & reference to the object \\ \hline
6474 \end{tabular}
6476 \vspace{0.3cm}
6478 \noindent {\bf Return Type:}
6479 {\tt
6480 string Set
6484 value of the field
6485 \vspace{0.3cm}
6486 \vspace{0.3cm}
6487 \vspace{0.3cm}
6488 \subsubsection{RPC name:~get\_resident\_VMs}
6490 {\bf Overview:}
6491 Get the resident\_VMs field of the given host.
6493 \noindent {\bf Signature:}
6494 \begin{verbatim} ((VM ref) Set) get_resident_VMs (session_id s, host ref self)\end{verbatim}
6497 \noindent{\bf Arguments:}
6500 \vspace{0.3cm}
6501 \begin{tabular}{|c|c|p{7cm}|}
6502 \hline
6503 {\bf type} & {\bf name} & {\bf description} \\ \hline
6504 {\tt host ref } & self & reference to the object \\ \hline
6506 \end{tabular}
6508 \vspace{0.3cm}
6510 \noindent {\bf Return Type:}
6511 {\tt
6512 (VM ref) Set
6516 value of the field
6517 \vspace{0.3cm}
6518 \vspace{0.3cm}
6519 \vspace{0.3cm}
6520 \subsubsection{RPC name:~get\_logging}
6522 {\bf Overview:}
6523 Get the logging field of the given host.
6525 \noindent {\bf Signature:}
6526 \begin{verbatim} ((string -> string) Map) get_logging (session_id s, host ref self)\end{verbatim}
6529 \noindent{\bf Arguments:}
6532 \vspace{0.3cm}
6533 \begin{tabular}{|c|c|p{7cm}|}
6534 \hline
6535 {\bf type} & {\bf name} & {\bf description} \\ \hline
6536 {\tt host ref } & self & reference to the object \\ \hline
6538 \end{tabular}
6540 \vspace{0.3cm}
6542 \noindent {\bf Return Type:}
6543 {\tt
6544 (string $\rightarrow$ string) Map
6548 value of the field
6549 \vspace{0.3cm}
6550 \vspace{0.3cm}
6551 \vspace{0.3cm}
6552 \subsubsection{RPC name:~set\_logging}
6554 {\bf Overview:}
6555 Set the logging field of the given host.
6557 \noindent {\bf Signature:}
6558 \begin{verbatim} void set_logging (session_id s, host ref self, (string -> string) Map value)\end{verbatim}
6561 \noindent{\bf Arguments:}
6564 \vspace{0.3cm}
6565 \begin{tabular}{|c|c|p{7cm}|}
6566 \hline
6567 {\bf type} & {\bf name} & {\bf description} \\ \hline
6568 {\tt host ref } & self & reference to the object \\ \hline
6570 {\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline
6572 \end{tabular}
6574 \vspace{0.3cm}
6576 \noindent {\bf Return Type:}
6577 {\tt
6578 void
6583 \vspace{0.3cm}
6584 \vspace{0.3cm}
6585 \vspace{0.3cm}
6586 \subsubsection{RPC name:~add\_to\_logging}
6588 {\bf Overview:}
6589 Add the given key-value pair to the logging field of the given host.
6591 \noindent {\bf Signature:}
6592 \begin{verbatim} void add_to_logging (session_id s, host ref self, string key, string value)\end{verbatim}
6595 \noindent{\bf Arguments:}
6598 \vspace{0.3cm}
6599 \begin{tabular}{|c|c|p{7cm}|}
6600 \hline
6601 {\bf type} & {\bf name} & {\bf description} \\ \hline
6602 {\tt host ref } & self & reference to the object \\ \hline
6604 {\tt string } & key & Key to add \\ \hline
6606 {\tt string } & value & Value to add \\ \hline
6608 \end{tabular}
6610 \vspace{0.3cm}
6612 \noindent {\bf Return Type:}
6613 {\tt
6614 void
6619 \vspace{0.3cm}
6620 \vspace{0.3cm}
6621 \vspace{0.3cm}
6622 \subsubsection{RPC name:~remove\_from\_logging}
6624 {\bf Overview:}
6625 Remove the given key and its corresponding value from the logging field of
6626 the given host. If the key is not in that Map, then do nothing.
6628 \noindent {\bf Signature:}
6629 \begin{verbatim} void remove_from_logging (session_id s, host ref self, string key)\end{verbatim}
6632 \noindent{\bf Arguments:}
6635 \vspace{0.3cm}
6636 \begin{tabular}{|c|c|p{7cm}|}
6637 \hline
6638 {\bf type} & {\bf name} & {\bf description} \\ \hline
6639 {\tt host ref } & self & reference to the object \\ \hline
6641 {\tt string } & key & Key to remove \\ \hline
6643 \end{tabular}
6645 \vspace{0.3cm}
6647 \noindent {\bf Return Type:}
6648 {\tt
6649 void
6654 \vspace{0.3cm}
6655 \vspace{0.3cm}
6656 \vspace{0.3cm}
6657 \subsubsection{RPC name:~get\_PIFs}
6659 {\bf Overview:}
6660 Get the PIFs field of the given host.
6662 \noindent {\bf Signature:}
6663 \begin{verbatim} ((PIF ref) Set) get_PIFs (session_id s, host ref self)\end{verbatim}
6666 \noindent{\bf Arguments:}
6669 \vspace{0.3cm}
6670 \begin{tabular}{|c|c|p{7cm}|}
6671 \hline
6672 {\bf type} & {\bf name} & {\bf description} \\ \hline
6673 {\tt host ref } & self & reference to the object \\ \hline
6675 \end{tabular}
6677 \vspace{0.3cm}
6679 \noindent {\bf Return Type:}
6680 {\tt
6681 (PIF ref) Set
6685 value of the field
6686 \vspace{0.3cm}
6687 \vspace{0.3cm}
6688 \vspace{0.3cm}
6689 \subsubsection{RPC name:~get\_suspend\_image\_sr}
6691 {\bf Overview:}
6692 Get the suspend\_image\_sr field of the given host.
6694 \noindent {\bf Signature:}
6695 \begin{verbatim} (SR ref) get_suspend_image_sr (session_id s, host ref self)\end{verbatim}
6698 \noindent{\bf Arguments:}
6701 \vspace{0.3cm}
6702 \begin{tabular}{|c|c|p{7cm}|}
6703 \hline
6704 {\bf type} & {\bf name} & {\bf description} \\ \hline
6705 {\tt host ref } & self & reference to the object \\ \hline
6707 \end{tabular}
6709 \vspace{0.3cm}
6711 \noindent {\bf Return Type:}
6712 {\tt
6713 SR ref
6717 value of the field
6718 \vspace{0.3cm}
6719 \vspace{0.3cm}
6720 \vspace{0.3cm}
6721 \subsubsection{RPC name:~set\_suspend\_image\_sr}
6723 {\bf Overview:}
6724 Set the suspend\_image\_sr field of the given host.
6726 \noindent {\bf Signature:}
6727 \begin{verbatim} void set_suspend_image_sr (session_id s, host ref self, SR ref value)\end{verbatim}
6730 \noindent{\bf Arguments:}
6733 \vspace{0.3cm}
6734 \begin{tabular}{|c|c|p{7cm}|}
6735 \hline
6736 {\bf type} & {\bf name} & {\bf description} \\ \hline
6737 {\tt host ref } & self & reference to the object \\ \hline
6739 {\tt SR ref } & value & New value to set \\ \hline
6741 \end{tabular}
6743 \vspace{0.3cm}
6745 \noindent {\bf Return Type:}
6746 {\tt
6747 void
6752 \vspace{0.3cm}
6753 \vspace{0.3cm}
6754 \vspace{0.3cm}
6755 \subsubsection{RPC name:~get\_crash\_dump\_sr}
6757 {\bf Overview:}
6758 Get the crash\_dump\_sr field of the given host.
6760 \noindent {\bf Signature:}
6761 \begin{verbatim} (SR ref) get_crash_dump_sr (session_id s, host ref self)\end{verbatim}
6764 \noindent{\bf Arguments:}
6767 \vspace{0.3cm}
6768 \begin{tabular}{|c|c|p{7cm}|}
6769 \hline
6770 {\bf type} & {\bf name} & {\bf description} \\ \hline
6771 {\tt host ref } & self & reference to the object \\ \hline
6773 \end{tabular}
6775 \vspace{0.3cm}
6777 \noindent {\bf Return Type:}
6778 {\tt
6779 SR ref
6783 value of the field
6784 \vspace{0.3cm}
6785 \vspace{0.3cm}
6786 \vspace{0.3cm}
6787 \subsubsection{RPC name:~set\_crash\_dump\_sr}
6789 {\bf Overview:}
6790 Set the crash\_dump\_sr field of the given host.
6792 \noindent {\bf Signature:}
6793 \begin{verbatim} void set_crash_dump_sr (session_id s, host ref self, SR ref value)\end{verbatim}
6796 \noindent{\bf Arguments:}
6799 \vspace{0.3cm}
6800 \begin{tabular}{|c|c|p{7cm}|}
6801 \hline
6802 {\bf type} & {\bf name} & {\bf description} \\ \hline
6803 {\tt host ref } & self & reference to the object \\ \hline
6805 {\tt SR ref } & value & New value to set \\ \hline
6807 \end{tabular}
6809 \vspace{0.3cm}
6811 \noindent {\bf Return Type:}
6812 {\tt
6813 void
6818 \vspace{0.3cm}
6819 \vspace{0.3cm}
6820 \vspace{0.3cm}
6821 \subsubsection{RPC name:~get\_PBDs}
6823 {\bf Overview:}
6824 Get the PBDs field of the given host.
6826 \noindent {\bf Signature:}
6827 \begin{verbatim} ((PBD ref) Set) get_PBDs (session_id s, host ref self)\end{verbatim}
6830 \noindent{\bf Arguments:}
6833 \vspace{0.3cm}
6834 \begin{tabular}{|c|c|p{7cm}|}
6835 \hline
6836 {\bf type} & {\bf name} & {\bf description} \\ \hline
6837 {\tt host ref } & self & reference to the object \\ \hline
6839 \end{tabular}
6841 \vspace{0.3cm}
6843 \noindent {\bf Return Type:}
6844 {\tt
6845 (PBD ref) Set
6849 value of the field
6850 \vspace{0.3cm}
6851 \vspace{0.3cm}
6852 \vspace{0.3cm}
6853 \subsubsection{RPC name:~get\_PPCIs}
6855 {\bf Overview:}
6856 Get the PPCIs field of the given host.
6858 \noindent {\bf Signature:}
6859 \begin{verbatim} ((PPCI ref) Set) get_PPCIs (session_id s, host ref self)\end{verbatim}
6862 \noindent{\bf Arguments:}
6865 \vspace{0.3cm}
6866 \begin{tabular}{|c|c|p{7cm}|}
6867 \hline
6868 {\bf type} & {\bf name} & {\bf description} \\ \hline
6869 {\tt host ref } & self & reference to the object \\ \hline
6871 \end{tabular}
6873 \vspace{0.3cm}
6875 \noindent {\bf Return Type:}
6876 {\tt
6877 (PPCI ref) Set
6881 value of the field
6882 \vspace{0.3cm}
6883 \vspace{0.3cm}
6884 \vspace{0.3cm}
6885 \subsubsection{RPC name:~get\_PSCSIs}
6887 {\bf Overview:}
6888 Get the PSCSIs field of the given host.
6890 \noindent {\bf Signature:}
6891 \begin{verbatim} ((PSCSI ref) Set) get_PSCSIs (session_id s, host ref self)\end{verbatim}
6894 \noindent{\bf Arguments:}
6897 \vspace{0.3cm}
6898 \begin{tabular}{|c|c|p{7cm}|}
6899 \hline
6900 {\bf type} & {\bf name} & {\bf description} \\ \hline
6901 {\tt host ref } & self & reference to the object \\ \hline
6903 \end{tabular}
6905 \vspace{0.3cm}
6907 \noindent {\bf Return Type:}
6908 {\tt
6909 (PSCSI ref) Set
6913 value of the field
6914 \vspace{0.3cm}
6915 \vspace{0.3cm}
6916 \vspace{0.3cm}
6917 \subsubsection{RPC name:~get\_host\_CPUs}
6919 {\bf Overview:}
6920 Get the host\_CPUs field of the given host.
6922 \noindent {\bf Signature:}
6923 \begin{verbatim} ((host_cpu ref) Set) get_host_CPUs (session_id s, host ref self)\end{verbatim}
6926 \noindent{\bf Arguments:}
6929 \vspace{0.3cm}
6930 \begin{tabular}{|c|c|p{7cm}|}
6931 \hline
6932 {\bf type} & {\bf name} & {\bf description} \\ \hline
6933 {\tt host ref } & self & reference to the object \\ \hline
6935 \end{tabular}
6937 \vspace{0.3cm}
6939 \noindent {\bf Return Type:}
6940 {\tt
6941 (host\_cpu ref) Set
6945 value of the field
6946 \vspace{0.3cm}
6947 \vspace{0.3cm}
6948 \vspace{0.3cm}
6949 \subsubsection{RPC name:~get\_metrics}
6951 {\bf Overview:}
6952 Get the metrics field of the given host.
6954 \noindent {\bf Signature:}
6955 \begin{verbatim} (host_metrics ref) get_metrics (session_id s, host ref self)\end{verbatim}
6958 \noindent{\bf Arguments:}
6961 \vspace{0.3cm}
6962 \begin{tabular}{|c|c|p{7cm}|}
6963 \hline
6964 {\bf type} & {\bf name} & {\bf description} \\ \hline
6965 {\tt host ref } & self & reference to the object \\ \hline
6967 \end{tabular}
6969 \vspace{0.3cm}
6971 \noindent {\bf Return Type:}
6972 {\tt
6973 host\_metrics ref
6977 value of the field
6978 \vspace{0.3cm}
6979 \vspace{0.3cm}
6980 \vspace{0.3cm}
6981 \subsubsection{RPC name:~get\_by\_uuid}
6983 {\bf Overview:}
6984 Get a reference to the host instance with the specified UUID.
6986 \noindent {\bf Signature:}
6987 \begin{verbatim} (host ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
6990 \noindent{\bf Arguments:}
6993 \vspace{0.3cm}
6994 \begin{tabular}{|c|c|p{7cm}|}
6995 \hline
6996 {\bf type} & {\bf name} & {\bf description} \\ \hline
6997 {\tt string } & uuid & UUID of object to return \\ \hline
6999 \end{tabular}
7001 \vspace{0.3cm}
7003 \noindent {\bf Return Type:}
7004 {\tt
7005 host ref
7009 reference to the object
7010 \vspace{0.3cm}
7011 \vspace{0.3cm}
7012 \vspace{0.3cm}
7013 \subsubsection{RPC name:~get\_record}
7015 {\bf Overview:}
7016 Get a record containing the current state of the given host.
7018 \noindent {\bf Signature:}
7019 \begin{verbatim} (host record) get_record (session_id s, host ref self)\end{verbatim}
7022 \noindent{\bf Arguments:}
7025 \vspace{0.3cm}
7026 \begin{tabular}{|c|c|p{7cm}|}
7027 \hline
7028 {\bf type} & {\bf name} & {\bf description} \\ \hline
7029 {\tt host ref } & self & reference to the object \\ \hline
7031 \end{tabular}
7033 \vspace{0.3cm}
7035 \noindent {\bf Return Type:}
7036 {\tt
7037 host record
7041 all fields from the object
7042 \vspace{0.3cm}
7043 \vspace{0.3cm}
7044 \vspace{0.3cm}
7045 \subsubsection{RPC name:~get\_by\_name\_label}
7047 {\bf Overview:}
7048 Get all the host instances with the given label.
7050 \noindent {\bf Signature:}
7051 \begin{verbatim} ((host ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
7054 \noindent{\bf Arguments:}
7057 \vspace{0.3cm}
7058 \begin{tabular}{|c|c|p{7cm}|}
7059 \hline
7060 {\bf type} & {\bf name} & {\bf description} \\ \hline
7061 {\tt string } & label & label of object to return \\ \hline
7063 \end{tabular}
7065 \vspace{0.3cm}
7067 \noindent {\bf Return Type:}
7068 {\tt
7069 (host ref) Set
7073 references to objects with match names
7074 \vspace{0.3cm}
7075 \vspace{0.3cm}
7076 \vspace{0.3cm}
7078 \vspace{1cm}
7079 \newpage
7080 \section{Class: host\_metrics}
7081 \subsection{Fields for class: host\_metrics}
7082 \begin{longtable}{|lllp{0.38\textwidth}|}
7083 \hline
7084 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf host\_metrics} \\
7085 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em
7086 The metrics associated with a host.}} \\
7087 \hline
7088 Quals & Field & Type & Description \\
7089 \hline
7090 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
7091 $\mathit{RO}_\mathit{run}$ & {\tt memory/total} & int & Host's total memory (bytes) \\
7092 $\mathit{RO}_\mathit{run}$ & {\tt memory/free} & int & Host's free memory (bytes) \\
7093 $\mathit{RO}_\mathit{run}$ & {\tt last\_updated} & datetime & Time at which this information was last updated \\
7094 \hline
7095 \end{longtable}
7096 \subsection{RPCs associated with class: host\_metrics}
7097 \subsubsection{RPC name:~get\_all}
7099 {\bf Overview:}
7100 Return a list of all the host\_metrics instances known to the system.
7102 \noindent {\bf Signature:}
7103 \begin{verbatim} ((host_metrics ref) Set) get_all (session_id s)\end{verbatim}
7106 \vspace{0.3cm}
7108 \noindent {\bf Return Type:}
7109 {\tt
7110 (host\_metrics ref) Set
7114 references to all objects
7115 \vspace{0.3cm}
7116 \vspace{0.3cm}
7117 \vspace{0.3cm}
7118 \subsubsection{RPC name:~get\_uuid}
7120 {\bf Overview:}
7121 Get the uuid field of the given host\_metrics.
7123 \noindent {\bf Signature:}
7124 \begin{verbatim} string get_uuid (session_id s, host_metrics ref self)\end{verbatim}
7127 \noindent{\bf Arguments:}
7130 \vspace{0.3cm}
7131 \begin{tabular}{|c|c|p{7cm}|}
7132 \hline
7133 {\bf type} & {\bf name} & {\bf description} \\ \hline
7134 {\tt host\_metrics ref } & self & reference to the object \\ \hline
7136 \end{tabular}
7138 \vspace{0.3cm}
7140 \noindent {\bf Return Type:}
7141 {\tt
7142 string
7146 value of the field
7147 \vspace{0.3cm}
7148 \vspace{0.3cm}
7149 \vspace{0.3cm}
7150 \subsubsection{RPC name:~get\_memory\_total}
7152 {\bf Overview:}
7153 Get the memory/total field of the given host\_metrics.
7155 \noindent {\bf Signature:}
7156 \begin{verbatim} int get_memory_total (session_id s, host_metrics ref self)\end{verbatim}
7159 \noindent{\bf Arguments:}
7162 \vspace{0.3cm}
7163 \begin{tabular}{|c|c|p{7cm}|}
7164 \hline
7165 {\bf type} & {\bf name} & {\bf description} \\ \hline
7166 {\tt host\_metrics ref } & self & reference to the object \\ \hline
7168 \end{tabular}
7170 \vspace{0.3cm}
7172 \noindent {\bf Return Type:}
7173 {\tt
7174 int
7178 value of the field
7179 \vspace{0.3cm}
7180 \vspace{0.3cm}
7181 \vspace{0.3cm}
7182 \subsubsection{RPC name:~get\_memory\_free}
7184 {\bf Overview:}
7185 Get the memory/free field of the given host\_metrics.
7187 \noindent {\bf Signature:}
7188 \begin{verbatim} int get_memory_free (session_id s, host_metrics ref self)\end{verbatim}
7191 \noindent{\bf Arguments:}
7194 \vspace{0.3cm}
7195 \begin{tabular}{|c|c|p{7cm}|}
7196 \hline
7197 {\bf type} & {\bf name} & {\bf description} \\ \hline
7198 {\tt host\_metrics ref } & self & reference to the object \\ \hline
7200 \end{tabular}
7202 \vspace{0.3cm}
7204 \noindent {\bf Return Type:}
7205 {\tt
7206 int
7210 value of the field
7211 \vspace{0.3cm}
7212 \vspace{0.3cm}
7213 \vspace{0.3cm}
7214 \subsubsection{RPC name:~get\_last\_updated}
7216 {\bf Overview:}
7217 Get the last\_updated field of the given host\_metrics.
7219 \noindent {\bf Signature:}
7220 \begin{verbatim} datetime get_last_updated (session_id s, host_metrics ref self)\end{verbatim}
7223 \noindent{\bf Arguments:}
7226 \vspace{0.3cm}
7227 \begin{tabular}{|c|c|p{7cm}|}
7228 \hline
7229 {\bf type} & {\bf name} & {\bf description} \\ \hline
7230 {\tt host\_metrics ref } & self & reference to the object \\ \hline
7232 \end{tabular}
7234 \vspace{0.3cm}
7236 \noindent {\bf Return Type:}
7237 {\tt
7238 datetime
7242 value of the field
7243 \vspace{0.3cm}
7244 \vspace{0.3cm}
7245 \vspace{0.3cm}
7246 \subsubsection{RPC name:~get\_by\_uuid}
7248 {\bf Overview:}
7249 Get a reference to the host\_metrics instance with the specified UUID.
7251 \noindent {\bf Signature:}
7252 \begin{verbatim} (host_metrics ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
7255 \noindent{\bf Arguments:}
7258 \vspace{0.3cm}
7259 \begin{tabular}{|c|c|p{7cm}|}
7260 \hline
7261 {\bf type} & {\bf name} & {\bf description} \\ \hline
7262 {\tt string } & uuid & UUID of object to return \\ \hline
7264 \end{tabular}
7266 \vspace{0.3cm}
7268 \noindent {\bf Return Type:}
7269 {\tt
7270 host\_metrics ref
7274 reference to the object
7275 \vspace{0.3cm}
7276 \vspace{0.3cm}
7277 \vspace{0.3cm}
7278 \subsubsection{RPC name:~get\_record}
7280 {\bf Overview:}
7281 Get a record containing the current state of the given host\_metrics.
7283 \noindent {\bf Signature:}
7284 \begin{verbatim} (host_metrics record) get_record (session_id s, host_metrics ref self)\end{verbatim}
7287 \noindent{\bf Arguments:}
7290 \vspace{0.3cm}
7291 \begin{tabular}{|c|c|p{7cm}|}
7292 \hline
7293 {\bf type} & {\bf name} & {\bf description} \\ \hline
7294 {\tt host\_metrics ref } & self & reference to the object \\ \hline
7296 \end{tabular}
7298 \vspace{0.3cm}
7300 \noindent {\bf Return Type:}
7301 {\tt
7302 host\_metrics record
7306 all fields from the object
7307 \vspace{0.3cm}
7308 \vspace{0.3cm}
7309 \vspace{0.3cm}
7311 \vspace{1cm}
7312 \newpage
7313 \section{Class: host\_cpu}
7314 \subsection{Fields for class: host\_cpu}
7315 \begin{longtable}{|lllp{0.38\textwidth}|}
7316 \hline
7317 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf host\_cpu} \\
7318 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A physical CPU}} \\
7319 \hline
7320 Quals & Field & Type & Description \\
7321 \hline
7322 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
7323 $\mathit{RO}_\mathit{run}$ & {\tt host} & host ref & the host the CPU is in \\
7324 $\mathit{RO}_\mathit{run}$ & {\tt number} & int & the number of the physical CPU within the host \\
7325 $\mathit{RO}_\mathit{run}$ & {\tt vendor} & string & the vendor of the physical CPU \\
7326 $\mathit{RO}_\mathit{run}$ & {\tt speed} & int & the speed of the physical CPU \\
7327 $\mathit{RO}_\mathit{run}$ & {\tt modelname} & string & the model name of the physical CPU \\
7328 $\mathit{RO}_\mathit{run}$ & {\tt stepping} & string & the stepping of the physical CPU \\
7329 $\mathit{RO}_\mathit{run}$ & {\tt flags} & string & the flags of the physical CPU (a decoded version of the features field) \\
7330 $\mathit{RO}_\mathit{run}$ & {\tt features} & string & the physical CPU feature bitmap \\
7331 $\mathit{RO}_\mathit{run}$ & {\tt utilisation} & float & the current CPU utilisation \\
7332 \hline
7333 \end{longtable}
7334 \subsection{RPCs associated with class: host\_cpu}
7335 \subsubsection{RPC name:~get\_all}
7337 {\bf Overview:}
7338 Return a list of all the host\_cpus known to the system.
7340 \noindent {\bf Signature:}
7341 \begin{verbatim} ((host_cpu ref) Set) get_all (session_id s)\end{verbatim}
7344 \vspace{0.3cm}
7346 \noindent {\bf Return Type:}
7347 {\tt
7348 (host\_cpu ref) Set
7352 references to all objects
7353 \vspace{0.3cm}
7354 \vspace{0.3cm}
7355 \vspace{0.3cm}
7356 \subsubsection{RPC name:~get\_uuid}
7358 {\bf Overview:}
7359 Get the uuid field of the given host\_cpu.
7361 \noindent {\bf Signature:}
7362 \begin{verbatim} string get_uuid (session_id s, host_cpu ref self)\end{verbatim}
7365 \noindent{\bf Arguments:}
7368 \vspace{0.3cm}
7369 \begin{tabular}{|c|c|p{7cm}|}
7370 \hline
7371 {\bf type} & {\bf name} & {\bf description} \\ \hline
7372 {\tt host\_cpu ref } & self & reference to the object \\ \hline
7374 \end{tabular}
7376 \vspace{0.3cm}
7378 \noindent {\bf Return Type:}
7379 {\tt
7380 string
7384 value of the field
7385 \vspace{0.3cm}
7386 \vspace{0.3cm}
7387 \vspace{0.3cm}
7388 \subsubsection{RPC name:~get\_host}
7390 {\bf Overview:}
7391 Get the host field of the given host\_cpu.
7393 \noindent {\bf Signature:}
7394 \begin{verbatim} (host ref) get_host (session_id s, host_cpu ref self)\end{verbatim}
7397 \noindent{\bf Arguments:}
7400 \vspace{0.3cm}
7401 \begin{tabular}{|c|c|p{7cm}|}
7402 \hline
7403 {\bf type} & {\bf name} & {\bf description} \\ \hline
7404 {\tt host\_cpu ref } & self & reference to the object \\ \hline
7406 \end{tabular}
7408 \vspace{0.3cm}
7410 \noindent {\bf Return Type:}
7411 {\tt
7412 host ref
7416 value of the field
7417 \vspace{0.3cm}
7418 \vspace{0.3cm}
7419 \vspace{0.3cm}
7420 \subsubsection{RPC name:~get\_number}
7422 {\bf Overview:}
7423 Get the number field of the given host\_cpu.
7425 \noindent {\bf Signature:}
7426 \begin{verbatim} int get_number (session_id s, host_cpu ref self)\end{verbatim}
7429 \noindent{\bf Arguments:}
7432 \vspace{0.3cm}
7433 \begin{tabular}{|c|c|p{7cm}|}
7434 \hline
7435 {\bf type} & {\bf name} & {\bf description} \\ \hline
7436 {\tt host\_cpu ref } & self & reference to the object \\ \hline
7438 \end{tabular}
7440 \vspace{0.3cm}
7442 \noindent {\bf Return Type:}
7443 {\tt
7444 int
7448 value of the field
7449 \vspace{0.3cm}
7450 \vspace{0.3cm}
7451 \vspace{0.3cm}
7452 \subsubsection{RPC name:~get\_vendor}
7454 {\bf Overview:}
7455 Get the vendor field of the given host\_cpu.
7457 \noindent {\bf Signature:}
7458 \begin{verbatim} string get_vendor (session_id s, host_cpu ref self)\end{verbatim}
7461 \noindent{\bf Arguments:}
7464 \vspace{0.3cm}
7465 \begin{tabular}{|c|c|p{7cm}|}
7466 \hline
7467 {\bf type} & {\bf name} & {\bf description} \\ \hline
7468 {\tt host\_cpu ref } & self & reference to the object \\ \hline
7470 \end{tabular}
7472 \vspace{0.3cm}
7474 \noindent {\bf Return Type:}
7475 {\tt
7476 string
7480 value of the field
7481 \vspace{0.3cm}
7482 \vspace{0.3cm}
7483 \vspace{0.3cm}
7484 \subsubsection{RPC name:~get\_speed}
7486 {\bf Overview:}
7487 Get the speed field of the given host\_cpu.
7489 \noindent {\bf Signature:}
7490 \begin{verbatim} int get_speed (session_id s, host_cpu ref self)\end{verbatim}
7493 \noindent{\bf Arguments:}
7496 \vspace{0.3cm}
7497 \begin{tabular}{|c|c|p{7cm}|}
7498 \hline
7499 {\bf type} & {\bf name} & {\bf description} \\ \hline
7500 {\tt host\_cpu ref } & self & reference to the object \\ \hline
7502 \end{tabular}
7504 \vspace{0.3cm}
7506 \noindent {\bf Return Type:}
7507 {\tt
7508 int
7512 value of the field
7513 \vspace{0.3cm}
7514 \vspace{0.3cm}
7515 \vspace{0.3cm}
7516 \subsubsection{RPC name:~get\_modelname}
7518 {\bf Overview:}
7519 Get the modelname field of the given host\_cpu.
7521 \noindent {\bf Signature:}
7522 \begin{verbatim} string get_modelname (session_id s, host_cpu ref self)\end{verbatim}
7525 \noindent{\bf Arguments:}
7528 \vspace{0.3cm}
7529 \begin{tabular}{|c|c|p{7cm}|}
7530 \hline
7531 {\bf type} & {\bf name} & {\bf description} \\ \hline
7532 {\tt host\_cpu ref } & self & reference to the object \\ \hline
7534 \end{tabular}
7536 \vspace{0.3cm}
7538 \noindent {\bf Return Type:}
7539 {\tt
7540 string
7544 value of the field
7545 \vspace{0.3cm}
7546 \vspace{0.3cm}
7547 \vspace{0.3cm}
7548 \subsubsection{RPC name:~get\_stepping}
7550 {\bf Overview:}
7551 Get the stepping field of the given host\_cpu.
7553 \noindent {\bf Signature:}
7554 \begin{verbatim} string get_stepping (session_id s, host_cpu ref self)\end{verbatim}
7557 \noindent{\bf Arguments:}
7560 \vspace{0.3cm}
7561 \begin{tabular}{|c|c|p{7cm}|}
7562 \hline
7563 {\bf type} & {\bf name} & {\bf description} \\ \hline
7564 {\tt host\_cpu ref } & self & reference to the object \\ \hline
7566 \end{tabular}
7568 \vspace{0.3cm}
7570 \noindent {\bf Return Type:}
7571 {\tt
7572 string
7576 value of the field
7577 \vspace{0.3cm}
7578 \vspace{0.3cm}
7579 \vspace{0.3cm}
7580 \subsubsection{RPC name:~get\_flags}
7582 {\bf Overview:}
7583 Get the flags field of the given host\_cpu. As of this version of the
7584 API, the semantics of the returned string are explicitly unspecified,
7585 and may change in the future.
7587 \noindent {\bf Signature:}
7588 \begin{verbatim} string get_flags (session_id s, host_cpu ref self)\end{verbatim}
7591 \noindent{\bf Arguments:}
7594 \vspace{0.3cm}
7595 \begin{tabular}{|c|c|p{7cm}|}
7596 \hline
7597 {\bf type} & {\bf name} & {\bf description} \\ \hline
7598 {\tt host\_cpu ref } & self & reference to the object \\ \hline
7600 \end{tabular}
7602 \vspace{0.3cm}
7604 \noindent {\bf Return Type:}
7605 {\tt
7606 string
7610 value of the field
7611 \vspace{0.3cm}
7612 \vspace{0.3cm}
7613 \vspace{0.3cm}
7614 \subsubsection{RPC name:~get\_features}
7616 {\bf Overview:}
7617 Get the features field of the given host\_cpu. As of this version of the
7618 API, the semantics of the returned string are explicitly unspecified,
7619 and may change in the future.
7621 \noindent {\bf Signature:}
7622 \begin{verbatim} string get_features (session_id s, host_cpu ref self)\end{verbatim}
7625 \noindent{\bf Arguments:}
7628 \vspace{0.3cm}
7629 \begin{tabular}{|c|c|p{7cm}|}
7630 \hline
7631 {\bf type} & {\bf name} & {\bf description} \\ \hline
7632 {\tt host\_cpu ref } & self & reference to the object \\ \hline
7634 \end{tabular}
7636 \vspace{0.3cm}
7638 \noindent {\bf Return Type:}
7639 {\tt
7640 string
7644 value of the field
7645 \vspace{0.3cm}
7646 \vspace{0.3cm}
7647 \vspace{0.3cm}
7648 \subsubsection{RPC name:~get\_utilisation}
7650 {\bf Overview:}
7651 Get the utilisation field of the given host\_cpu.
7653 \noindent {\bf Signature:}
7654 \begin{verbatim} float get_utilisation (session_id s, host_cpu ref self)\end{verbatim}
7657 \noindent{\bf Arguments:}
7660 \vspace{0.3cm}
7661 \begin{tabular}{|c|c|p{7cm}|}
7662 \hline
7663 {\bf type} & {\bf name} & {\bf description} \\ \hline
7664 {\tt host\_cpu ref } & self & reference to the object \\ \hline
7666 \end{tabular}
7668 \vspace{0.3cm}
7670 \noindent {\bf Return Type:}
7671 {\tt
7672 float
7676 value of the field
7677 \vspace{0.3cm}
7678 \vspace{0.3cm}
7679 \vspace{0.3cm}
7680 \subsubsection{RPC name:~get\_by\_uuid}
7682 {\bf Overview:}
7683 Get a reference to the host\_cpu instance with the specified UUID.
7685 \noindent {\bf Signature:}
7686 \begin{verbatim} (host_cpu ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
7689 \noindent{\bf Arguments:}
7692 \vspace{0.3cm}
7693 \begin{tabular}{|c|c|p{7cm}|}
7694 \hline
7695 {\bf type} & {\bf name} & {\bf description} \\ \hline
7696 {\tt string } & uuid & UUID of object to return \\ \hline
7698 \end{tabular}
7700 \vspace{0.3cm}
7702 \noindent {\bf Return Type:}
7703 {\tt
7704 host\_cpu ref
7708 reference to the object
7709 \vspace{0.3cm}
7710 \vspace{0.3cm}
7711 \vspace{0.3cm}
7712 \subsubsection{RPC name:~get\_record}
7714 {\bf Overview:}
7715 Get a record containing the current state of the given host\_cpu.
7717 \noindent {\bf Signature:}
7718 \begin{verbatim} (host_cpu record) get_record (session_id s, host_cpu ref self)\end{verbatim}
7721 \noindent{\bf Arguments:}
7724 \vspace{0.3cm}
7725 \begin{tabular}{|c|c|p{7cm}|}
7726 \hline
7727 {\bf type} & {\bf name} & {\bf description} \\ \hline
7728 {\tt host\_cpu ref } & self & reference to the object \\ \hline
7730 \end{tabular}
7732 \vspace{0.3cm}
7734 \noindent {\bf Return Type:}
7735 {\tt
7736 host\_cpu record
7740 all fields from the object
7741 \vspace{0.3cm}
7742 \vspace{0.3cm}
7743 \vspace{0.3cm}
7745 \vspace{1cm}
7746 \newpage
7747 \section{Class: network}
7748 \subsection{Fields for class: network}
7749 \begin{longtable}{|lllp{0.38\textwidth}|}
7750 \hline
7751 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf network} \\
7752 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
7753 virtual network.}} \\
7754 \hline
7755 Quals & Field & Type & Description \\
7756 \hline
7757 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
7758 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
7759 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
7760 $\mathit{RO}_\mathit{run}$ & {\tt VIFs} & (VIF ref) Set & list of connected vifs \\
7761 $\mathit{RO}_\mathit{run}$ & {\tt PIFs} & (PIF ref) Set & list of connected pifs \\
7762 $\mathit{RW}$ & {\tt default\_gateway} & string & default gateway \\
7763 $\mathit{RW}$ & {\tt default\_netmask} & string & default netmask \\
7764 $\mathit{RW}$ & {\tt other\_config} & (string $\rightarrow$ string) Map & additional configuration \\
7765 \hline
7766 \end{longtable}
7767 \subsection{RPCs associated with class: network}
7768 \subsubsection{RPC name:~get\_all}
7770 {\bf Overview:}
7771 Return a list of all the networks known to the system
7773 \noindent {\bf Signature:}
7774 \begin{verbatim} ((network ref) Set) get_all (session_id s)\end{verbatim}
7777 \vspace{0.3cm}
7779 \noindent {\bf Return Type:}
7780 {\tt
7781 (network ref) Set
7785 A list of all the IDs of all the networks
7786 \vspace{0.3cm}
7787 \vspace{0.3cm}
7788 \vspace{0.3cm}
7789 \subsubsection{RPC name:~get\_uuid}
7791 {\bf Overview:}
7792 Get the uuid field of the given network.
7794 \noindent {\bf Signature:}
7795 \begin{verbatim} string get_uuid (session_id s, network ref self)\end{verbatim}
7798 \noindent{\bf Arguments:}
7801 \vspace{0.3cm}
7802 \begin{tabular}{|c|c|p{7cm}|}
7803 \hline
7804 {\bf type} & {\bf name} & {\bf description} \\ \hline
7805 {\tt network ref } & self & reference to the object \\ \hline
7807 \end{tabular}
7809 \vspace{0.3cm}
7811 \noindent {\bf Return Type:}
7812 {\tt
7813 string
7817 value of the field
7818 \vspace{0.3cm}
7819 \vspace{0.3cm}
7820 \vspace{0.3cm}
7821 \subsubsection{RPC name:~get\_name\_label}
7823 {\bf Overview:}
7824 Get the name/label field of the given network.
7826 \noindent {\bf Signature:}
7827 \begin{verbatim} string get_name_label (session_id s, network ref self)\end{verbatim}
7830 \noindent{\bf Arguments:}
7833 \vspace{0.3cm}
7834 \begin{tabular}{|c|c|p{7cm}|}
7835 \hline
7836 {\bf type} & {\bf name} & {\bf description} \\ \hline
7837 {\tt network ref } & self & reference to the object \\ \hline
7839 \end{tabular}
7841 \vspace{0.3cm}
7843 \noindent {\bf Return Type:}
7844 {\tt
7845 string
7849 value of the field
7850 \vspace{0.3cm}
7851 \vspace{0.3cm}
7852 \vspace{0.3cm}
7853 \subsubsection{RPC name:~set\_name\_label}
7855 {\bf Overview:}
7856 Set the name/label field of the given network.
7858 \noindent {\bf Signature:}
7859 \begin{verbatim} void set_name_label (session_id s, network ref self, string value)\end{verbatim}
7862 \noindent{\bf Arguments:}
7865 \vspace{0.3cm}
7866 \begin{tabular}{|c|c|p{7cm}|}
7867 \hline
7868 {\bf type} & {\bf name} & {\bf description} \\ \hline
7869 {\tt network ref } & self & reference to the object \\ \hline
7871 {\tt string } & value & New value to set \\ \hline
7873 \end{tabular}
7875 \vspace{0.3cm}
7877 \noindent {\bf Return Type:}
7878 {\tt
7879 void
7884 \vspace{0.3cm}
7885 \vspace{0.3cm}
7886 \vspace{0.3cm}
7887 \subsubsection{RPC name:~get\_name\_description}
7889 {\bf Overview:}
7890 Get the name/description field of the given network.
7892 \noindent {\bf Signature:}
7893 \begin{verbatim} string get_name_description (session_id s, network ref self)\end{verbatim}
7896 \noindent{\bf Arguments:}
7899 \vspace{0.3cm}
7900 \begin{tabular}{|c|c|p{7cm}|}
7901 \hline
7902 {\bf type} & {\bf name} & {\bf description} \\ \hline
7903 {\tt network ref } & self & reference to the object \\ \hline
7905 \end{tabular}
7907 \vspace{0.3cm}
7909 \noindent {\bf Return Type:}
7910 {\tt
7911 string
7915 value of the field
7916 \vspace{0.3cm}
7917 \vspace{0.3cm}
7918 \vspace{0.3cm}
7919 \subsubsection{RPC name:~set\_name\_description}
7921 {\bf Overview:}
7922 Set the name/description field of the given network.
7924 \noindent {\bf Signature:}
7925 \begin{verbatim} void set_name_description (session_id s, network ref self, string value)\end{verbatim}
7928 \noindent{\bf Arguments:}
7931 \vspace{0.3cm}
7932 \begin{tabular}{|c|c|p{7cm}|}
7933 \hline
7934 {\bf type} & {\bf name} & {\bf description} \\ \hline
7935 {\tt network ref } & self & reference to the object \\ \hline
7937 {\tt string } & value & New value to set \\ \hline
7939 \end{tabular}
7941 \vspace{0.3cm}
7943 \noindent {\bf Return Type:}
7944 {\tt
7945 void
7950 \vspace{0.3cm}
7951 \vspace{0.3cm}
7952 \vspace{0.3cm}
7953 \subsubsection{RPC name:~get\_VIFs}
7955 {\bf Overview:}
7956 Get the VIFs field of the given network.
7958 \noindent {\bf Signature:}
7959 \begin{verbatim} ((VIF ref) Set) get_VIFs (session_id s, network ref self)\end{verbatim}
7962 \noindent{\bf Arguments:}
7965 \vspace{0.3cm}
7966 \begin{tabular}{|c|c|p{7cm}|}
7967 \hline
7968 {\bf type} & {\bf name} & {\bf description} \\ \hline
7969 {\tt network ref } & self & reference to the object \\ \hline
7971 \end{tabular}
7973 \vspace{0.3cm}
7975 \noindent {\bf Return Type:}
7976 {\tt
7977 (VIF ref) Set
7981 value of the field
7982 \vspace{0.3cm}
7983 \vspace{0.3cm}
7984 \vspace{0.3cm}
7985 \subsubsection{RPC name:~get\_PIFs}
7987 {\bf Overview:}
7988 Get the PIFs field of the given network.
7990 \noindent {\bf Signature:}
7991 \begin{verbatim} ((PIF ref) Set) get_PIFs (session_id s, network ref self)\end{verbatim}
7994 \noindent{\bf Arguments:}
7997 \vspace{0.3cm}
7998 \begin{tabular}{|c|c|p{7cm}|}
7999 \hline
8000 {\bf type} & {\bf name} & {\bf description} \\ \hline
8001 {\tt network ref } & self & reference to the object \\ \hline
8003 \end{tabular}
8005 \vspace{0.3cm}
8007 \noindent {\bf Return Type:}
8008 {\tt
8009 (PIF ref) Set
8013 value of the field
8014 \vspace{0.3cm}
8015 \vspace{0.3cm}
8016 \vspace{0.3cm}
8017 \subsubsection{RPC name:~get\_default\_gateway}
8019 {\bf Overview:}
8020 Get the default\_gateway field of the given network.
8022 \noindent {\bf Signature:}
8023 \begin{verbatim} string get_default_gateway (session_id s, network ref self)\end{verbatim}
8026 \noindent{\bf Arguments:}
8029 \vspace{0.3cm}
8030 \begin{tabular}{|c|c|p{7cm}|}
8031 \hline
8032 {\bf type} & {\bf name} & {\bf description} \\ \hline
8033 {\tt network ref } & self & reference to the object \\ \hline
8035 \end{tabular}
8037 \vspace{0.3cm}
8039 \noindent {\bf Return Type:}
8040 {\tt
8041 string
8045 value of the field
8046 \vspace{0.3cm}
8047 \vspace{0.3cm}
8048 \vspace{0.3cm}
8049 \subsubsection{RPC name:~set\_default\_gateway}
8051 {\bf Overview:}
8052 Set the default\_gateway field of the given network.
8054 \noindent {\bf Signature:}
8055 \begin{verbatim} void set_default_gateway (session_id s, network ref self, string value)\end{verbatim}
8058 \noindent{\bf Arguments:}
8061 \vspace{0.3cm}
8062 \begin{tabular}{|c|c|p{7cm}|}
8063 \hline
8064 {\bf type} & {\bf name} & {\bf description} \\ \hline
8065 {\tt network ref } & self & reference to the object \\ \hline
8067 {\tt string } & value & New value to set \\ \hline
8069 \end{tabular}
8071 \vspace{0.3cm}
8073 \noindent {\bf Return Type:}
8074 {\tt
8075 void
8080 \vspace{0.3cm}
8081 \vspace{0.3cm}
8082 \vspace{0.3cm}
8083 \subsubsection{RPC name:~get\_default\_netmask}
8085 {\bf Overview:}
8086 Get the default\_netmask field of the given network.
8088 \noindent {\bf Signature:}
8089 \begin{verbatim} string get_default_netmask (session_id s, network ref self)\end{verbatim}
8092 \noindent{\bf Arguments:}
8095 \vspace{0.3cm}
8096 \begin{tabular}{|c|c|p{7cm}|}
8097 \hline
8098 {\bf type} & {\bf name} & {\bf description} \\ \hline
8099 {\tt network ref } & self & reference to the object \\ \hline
8101 \end{tabular}
8103 \vspace{0.3cm}
8105 \noindent {\bf Return Type:}
8106 {\tt
8107 string
8111 value of the field
8112 \vspace{0.3cm}
8113 \vspace{0.3cm}
8114 \vspace{0.3cm}
8115 \subsubsection{RPC name:~set\_default\_netmask}
8117 {\bf Overview:}
8118 Set the default\_netmask field of the given network.
8120 \noindent {\bf Signature:}
8121 \begin{verbatim} void set_default_netmask (session_id s, network ref self, string value)\end{verbatim}
8124 \noindent{\bf Arguments:}
8127 \vspace{0.3cm}
8128 \begin{tabular}{|c|c|p{7cm}|}
8129 \hline
8130 {\bf type} & {\bf name} & {\bf description} \\ \hline
8131 {\tt network ref } & self & reference to the object \\ \hline
8133 {\tt string } & value & New value to set \\ \hline
8135 \end{tabular}
8137 \vspace{0.3cm}
8139 \noindent {\bf Return Type:}
8140 {\tt
8141 void
8146 \vspace{0.3cm}
8147 \vspace{0.3cm}
8148 \vspace{0.3cm}
8149 \subsubsection{RPC name:~get\_other\_config}
8151 {\bf Overview:}
8152 Get the other\_config field of the given network.
8154 \noindent {\bf Signature:}
8155 \begin{verbatim} ((string -> string) Map) get_other_config (session_id s, network ref self)\end{verbatim}
8158 \noindent{\bf Arguments:}
8161 \vspace{0.3cm}
8162 \begin{tabular}{|c|c|p{7cm}|}
8163 \hline
8164 {\bf type} & {\bf name} & {\bf description} \\ \hline
8165 {\tt network ref } & self & reference to the object \\ \hline
8167 \end{tabular}
8169 \vspace{0.3cm}
8171 \noindent {\bf Return Type:}
8172 {\tt
8173 (string $\rightarrow$ string) Map
8177 value of the field
8178 \vspace{0.3cm}
8179 \vspace{0.3cm}
8180 \vspace{0.3cm}
8181 \subsubsection{RPC name:~set\_other\_config}
8183 {\bf Overview:}
8184 Set the other\_config field of the given network.
8186 \noindent {\bf Signature:}
8187 \begin{verbatim} void set_other_config (session_id s, network ref self, (string -> string) Map value)\end{verbatim}
8190 \noindent{\bf Arguments:}
8193 \vspace{0.3cm}
8194 \begin{tabular}{|c|c|p{7cm}|}
8195 \hline
8196 {\bf type} & {\bf name} & {\bf description} \\ \hline
8197 {\tt network ref } & self & reference to the object \\ \hline
8199 {\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline
8201 \end{tabular}
8203 \vspace{0.3cm}
8205 \noindent {\bf Return Type:}
8206 {\tt
8207 void
8212 \vspace{0.3cm}
8213 \vspace{0.3cm}
8214 \vspace{0.3cm}
8215 \subsubsection{RPC name:~add\_to\_other\_config}
8217 {\bf Overview:}
8218 Add the given key-value pair to the other\_config field of the given
8219 network.
8221 \noindent {\bf Signature:}
8222 \begin{verbatim} void add_to_other_config (session_id s, network ref self, string key, string value)\end{verbatim}
8225 \noindent{\bf Arguments:}
8228 \vspace{0.3cm}
8229 \begin{tabular}{|c|c|p{7cm}|}
8230 \hline
8231 {\bf type} & {\bf name} & {\bf description} \\ \hline
8232 {\tt network ref } & self & reference to the object \\ \hline
8234 {\tt string } & key & Key to add \\ \hline
8236 {\tt string } & value & Value to add \\ \hline
8238 \end{tabular}
8240 \vspace{0.3cm}
8242 \noindent {\bf Return Type:}
8243 {\tt
8244 void
8249 \vspace{0.3cm}
8250 \vspace{0.3cm}
8251 \vspace{0.3cm}
8252 \subsubsection{RPC name:~remove\_from\_other\_config}
8254 {\bf Overview:}
8255 Remove the given key and its corresponding value from the other\_config
8256 field of the given network. If the key is not in that Map, then do
8257 nothing.
8259 \noindent {\bf Signature:}
8260 \begin{verbatim} void remove_from_other_config (session_id s, network ref self, string key)\end{verbatim}
8263 \noindent{\bf Arguments:}
8266 \vspace{0.3cm}
8267 \begin{tabular}{|c|c|p{7cm}|}
8268 \hline
8269 {\bf type} & {\bf name} & {\bf description} \\ \hline
8270 {\tt network ref } & self & reference to the object \\ \hline
8272 {\tt string } & key & Key to remove \\ \hline
8274 \end{tabular}
8276 \vspace{0.3cm}
8278 \noindent {\bf Return Type:}
8279 {\tt
8280 void
8285 \vspace{0.3cm}
8286 \vspace{0.3cm}
8287 \vspace{0.3cm}
8288 \subsubsection{RPC name:~create}
8290 {\bf Overview:}
8291 Create a new network instance, and return its handle.
8293 \noindent {\bf Signature:}
8294 \begin{verbatim} (network ref) create (session_id s, network record args)\end{verbatim}
8297 \noindent{\bf Arguments:}
8300 \vspace{0.3cm}
8301 \begin{tabular}{|c|c|p{7cm}|}
8302 \hline
8303 {\bf type} & {\bf name} & {\bf description} \\ \hline
8304 {\tt network record } & args & All constructor arguments \\ \hline
8306 \end{tabular}
8308 \vspace{0.3cm}
8310 \noindent {\bf Return Type:}
8311 {\tt
8312 network ref
8316 reference to the newly created object
8317 \vspace{0.3cm}
8318 \vspace{0.3cm}
8319 \vspace{0.3cm}
8320 \subsubsection{RPC name:~destroy}
8322 {\bf Overview:}
8323 Destroy the specified network instance.
8325 \noindent {\bf Signature:}
8326 \begin{verbatim} void destroy (session_id s, network ref self)\end{verbatim}
8329 \noindent{\bf Arguments:}
8332 \vspace{0.3cm}
8333 \begin{tabular}{|c|c|p{7cm}|}
8334 \hline
8335 {\bf type} & {\bf name} & {\bf description} \\ \hline
8336 {\tt network ref } & self & reference to the object \\ \hline
8338 \end{tabular}
8340 \vspace{0.3cm}
8342 \noindent {\bf Return Type:}
8343 {\tt
8344 void
8349 \vspace{0.3cm}
8350 \vspace{0.3cm}
8351 \vspace{0.3cm}
8352 \subsubsection{RPC name:~get\_by\_uuid}
8354 {\bf Overview:}
8355 Get a reference to the network instance with the specified UUID.
8357 \noindent {\bf Signature:}
8358 \begin{verbatim} (network ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
8361 \noindent{\bf Arguments:}
8364 \vspace{0.3cm}
8365 \begin{tabular}{|c|c|p{7cm}|}
8366 \hline
8367 {\bf type} & {\bf name} & {\bf description} \\ \hline
8368 {\tt string } & uuid & UUID of object to return \\ \hline
8370 \end{tabular}
8372 \vspace{0.3cm}
8374 \noindent {\bf Return Type:}
8375 {\tt
8376 network ref
8380 reference to the object
8381 \vspace{0.3cm}
8382 \vspace{0.3cm}
8383 \vspace{0.3cm}
8384 \subsubsection{RPC name:~get\_record}
8386 {\bf Overview:}
8387 Get a record containing the current state of the given network.
8389 \noindent {\bf Signature:}
8390 \begin{verbatim} (network record) get_record (session_id s, network ref self)\end{verbatim}
8393 \noindent{\bf Arguments:}
8396 \vspace{0.3cm}
8397 \begin{tabular}{|c|c|p{7cm}|}
8398 \hline
8399 {\bf type} & {\bf name} & {\bf description} \\ \hline
8400 {\tt network ref } & self & reference to the object \\ \hline
8402 \end{tabular}
8404 \vspace{0.3cm}
8406 \noindent {\bf Return Type:}
8407 {\tt
8408 network record
8412 all fields from the object
8413 \vspace{0.3cm}
8414 \vspace{0.3cm}
8415 \vspace{0.3cm}
8416 \subsubsection{RPC name:~get\_by\_name\_label}
8418 {\bf Overview:}
8419 Get all the network instances with the given label.
8421 \noindent {\bf Signature:}
8422 \begin{verbatim} ((network ref) Set) get_by_name_label (session_id s, string label)\end{verbatim}
8425 \noindent{\bf Arguments:}
8428 \vspace{0.3cm}
8429 \begin{tabular}{|c|c|p{7cm}|}
8430 \hline
8431 {\bf type} & {\bf name} & {\bf description} \\ \hline
8432 {\tt string } & label & label of object to return \\ \hline
8434 \end{tabular}
8436 \vspace{0.3cm}
8438 \noindent {\bf Return Type:}
8439 {\tt
8440 (network ref) Set
8444 references to objects with match names
8445 \vspace{0.3cm}
8446 \vspace{0.3cm}
8447 \vspace{0.3cm}
8449 \vspace{1cm}
8450 \newpage
8451 \section{Class: VIF}
8452 \subsection{Fields for class: VIF}
8453 \begin{longtable}{|lllp{0.38\textwidth}|}
8454 \hline
8455 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VIF} \\
8456 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
8457 virtual network interface.}} \\
8458 \hline
8459 Quals & Field & Type & Description \\
8460 \hline
8461 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
8462 $\mathit{RW}$ & {\tt device} & string & name of network device as exposed to guest e.g. eth0 \\
8463 $\mathit{RO}_\mathit{ins}$ & {\tt network} & network ref & virtual network to which this vif is connected \\
8464 $\mathit{RO}_\mathit{ins}$ & {\tt VM} & VM ref & virtual machine to which this vif is connected \\
8465 $\mathit{RW}$ & {\tt MAC} & string & ethernet MAC address of virtual interface, as exposed to guest \\
8466 $\mathit{RW}$ & {\tt MTU} & int & MTU in octets \\
8467 $\mathit{RO}_\mathit{run}$ & {\tt currently\_attached} & bool & is the device currently attached (erased on reboot) \\
8468 $\mathit{RO}_\mathit{run}$ & {\tt status\_code} & int & error/success code associated with last attach-operation (erased on reboot) \\
8469 $\mathit{RO}_\mathit{run}$ & {\tt status\_detail} & string & error/success information associated with last attach-operation status (erased on reboot) \\
8470 $\mathit{RO}_\mathit{run}$ & {\tt runtime\_properties} & (string $\rightarrow$ string) Map & Device runtime properties \\
8471 $\mathit{RW}$ & {\tt qos/algorithm\_type} & string & QoS algorithm to use \\
8472 $\mathit{RW}$ & {\tt qos/algorithm\_params} & (string $\rightarrow$ string) Map & parameters for chosen QoS algorithm \\
8473 $\mathit{RO}_\mathit{run}$ & {\tt qos/supported\_algorithms} & string Set & supported QoS algorithms for this VIF \\
8474 $\mathit{RO}_\mathit{run}$ & {\tt metrics} & VIF\_metrics ref & metrics associated with this VIF \\
8475 \hline
8476 \end{longtable}
8477 \subsection{RPCs associated with class: VIF}
8478 \subsubsection{RPC name:~plug}
8480 {\bf Overview:}
8481 Hotplug the specified VIF, dynamically attaching it to the running VM.
8483 \noindent {\bf Signature:}
8484 \begin{verbatim} void plug (session_id s, VIF ref self)\end{verbatim}
8487 \noindent{\bf Arguments:}
8490 \vspace{0.3cm}
8491 \begin{tabular}{|c|c|p{7cm}|}
8492 \hline
8493 {\bf type} & {\bf name} & {\bf description} \\ \hline
8494 {\tt VIF ref } & self & The VIF to hotplug \\ \hline
8496 \end{tabular}
8498 \vspace{0.3cm}
8500 \noindent {\bf Return Type:}
8501 {\tt
8502 void
8507 \vspace{0.3cm}
8508 \vspace{0.3cm}
8509 \vspace{0.3cm}
8510 \subsubsection{RPC name:~unplug}
8512 {\bf Overview:}
8513 Hot-unplug the specified VIF, dynamically unattaching it from the running
8514 VM.
8516 \noindent {\bf Signature:}
8517 \begin{verbatim} void unplug (session_id s, VIF ref self)\end{verbatim}
8520 \noindent{\bf Arguments:}
8523 \vspace{0.3cm}
8524 \begin{tabular}{|c|c|p{7cm}|}
8525 \hline
8526 {\bf type} & {\bf name} & {\bf description} \\ \hline
8527 {\tt VIF ref } & self & The VIF to hot-unplug \\ \hline
8529 \end{tabular}
8531 \vspace{0.3cm}
8533 \noindent {\bf Return Type:}
8534 {\tt
8535 void
8540 \vspace{0.3cm}
8541 \vspace{0.3cm}
8542 \vspace{0.3cm}
8543 \subsubsection{RPC name:~get\_all}
8545 {\bf Overview:}
8546 Return a list of all the VIFs known to the system.
8548 \noindent {\bf Signature:}
8549 \begin{verbatim} ((VIF ref) Set) get_all (session_id s)\end{verbatim}
8552 \vspace{0.3cm}
8554 \noindent {\bf Return Type:}
8555 {\tt
8556 (VIF ref) Set
8560 references to all objects
8561 \vspace{0.3cm}
8562 \vspace{0.3cm}
8563 \vspace{0.3cm}
8564 \subsubsection{RPC name:~get\_uuid}
8566 {\bf Overview:}
8567 Get the uuid field of the given VIF.
8569 \noindent {\bf Signature:}
8570 \begin{verbatim} string get_uuid (session_id s, VIF ref self)\end{verbatim}
8573 \noindent{\bf Arguments:}
8576 \vspace{0.3cm}
8577 \begin{tabular}{|c|c|p{7cm}|}
8578 \hline
8579 {\bf type} & {\bf name} & {\bf description} \\ \hline
8580 {\tt VIF ref } & self & reference to the object \\ \hline
8582 \end{tabular}
8584 \vspace{0.3cm}
8586 \noindent {\bf Return Type:}
8587 {\tt
8588 string
8592 value of the field
8593 \vspace{0.3cm}
8594 \vspace{0.3cm}
8595 \vspace{0.3cm}
8596 \subsubsection{RPC name:~get\_device}
8598 {\bf Overview:}
8599 Get the device field of the given VIF.
8601 \noindent {\bf Signature:}
8602 \begin{verbatim} string get_device (session_id s, VIF ref self)\end{verbatim}
8605 \noindent{\bf Arguments:}
8608 \vspace{0.3cm}
8609 \begin{tabular}{|c|c|p{7cm}|}
8610 \hline
8611 {\bf type} & {\bf name} & {\bf description} \\ \hline
8612 {\tt VIF ref } & self & reference to the object \\ \hline
8614 \end{tabular}
8616 \vspace{0.3cm}
8618 \noindent {\bf Return Type:}
8619 {\tt
8620 string
8624 value of the field
8625 \vspace{0.3cm}
8626 \vspace{0.3cm}
8627 \vspace{0.3cm}
8628 \subsubsection{RPC name:~set\_device}
8630 {\bf Overview:}
8631 Set the device field of the given VIF.
8633 \noindent {\bf Signature:}
8634 \begin{verbatim} void set_device (session_id s, VIF ref self, string value)\end{verbatim}
8637 \noindent{\bf Arguments:}
8640 \vspace{0.3cm}
8641 \begin{tabular}{|c|c|p{7cm}|}
8642 \hline
8643 {\bf type} & {\bf name} & {\bf description} \\ \hline
8644 {\tt VIF ref } & self & reference to the object \\ \hline
8646 {\tt string } & value & New value to set \\ \hline
8648 \end{tabular}
8650 \vspace{0.3cm}
8652 \noindent {\bf Return Type:}
8653 {\tt
8654 void
8659 \vspace{0.3cm}
8660 \vspace{0.3cm}
8661 \vspace{0.3cm}
8662 \subsubsection{RPC name:~get\_network}
8664 {\bf Overview:}
8665 Get the network field of the given VIF.
8667 \noindent {\bf Signature:}
8668 \begin{verbatim} (network ref) get_network (session_id s, VIF ref self)\end{verbatim}
8671 \noindent{\bf Arguments:}
8674 \vspace{0.3cm}
8675 \begin{tabular}{|c|c|p{7cm}|}
8676 \hline
8677 {\bf type} & {\bf name} & {\bf description} \\ \hline
8678 {\tt VIF ref } & self & reference to the object \\ \hline
8680 \end{tabular}
8682 \vspace{0.3cm}
8684 \noindent {\bf Return Type:}
8685 {\tt
8686 network ref
8690 value of the field
8691 \vspace{0.3cm}
8692 \vspace{0.3cm}
8693 \vspace{0.3cm}
8694 \subsubsection{RPC name:~get\_VM}
8696 {\bf Overview:}
8697 Get the VM field of the given VIF.
8699 \noindent {\bf Signature:}
8700 \begin{verbatim} (VM ref) get_VM (session_id s, VIF ref self)\end{verbatim}
8703 \noindent{\bf Arguments:}
8706 \vspace{0.3cm}
8707 \begin{tabular}{|c|c|p{7cm}|}
8708 \hline
8709 {\bf type} & {\bf name} & {\bf description} \\ \hline
8710 {\tt VIF ref } & self & reference to the object \\ \hline
8712 \end{tabular}
8714 \vspace{0.3cm}
8716 \noindent {\bf Return Type:}
8717 {\tt
8718 VM ref
8722 value of the field
8723 \vspace{0.3cm}
8724 \vspace{0.3cm}
8725 \vspace{0.3cm}
8726 \subsubsection{RPC name:~get\_MAC}
8728 {\bf Overview:}
8729 Get the MAC field of the given VIF.
8731 \noindent {\bf Signature:}
8732 \begin{verbatim} string get_MAC (session_id s, VIF ref self)\end{verbatim}
8735 \noindent{\bf Arguments:}
8738 \vspace{0.3cm}
8739 \begin{tabular}{|c|c|p{7cm}|}
8740 \hline
8741 {\bf type} & {\bf name} & {\bf description} \\ \hline
8742 {\tt VIF ref } & self & reference to the object \\ \hline
8744 \end{tabular}
8746 \vspace{0.3cm}
8748 \noindent {\bf Return Type:}
8749 {\tt
8750 string
8754 value of the field
8755 \vspace{0.3cm}
8756 \vspace{0.3cm}
8757 \vspace{0.3cm}
8758 \subsubsection{RPC name:~set\_MAC}
8760 {\bf Overview:}
8761 Set the MAC field of the given VIF.
8763 \noindent {\bf Signature:}
8764 \begin{verbatim} void set_MAC (session_id s, VIF ref self, string value)\end{verbatim}
8767 \noindent{\bf Arguments:}
8770 \vspace{0.3cm}
8771 \begin{tabular}{|c|c|p{7cm}|}
8772 \hline
8773 {\bf type} & {\bf name} & {\bf description} \\ \hline
8774 {\tt VIF ref } & self & reference to the object \\ \hline
8776 {\tt string } & value & New value to set \\ \hline
8778 \end{tabular}
8780 \vspace{0.3cm}
8782 \noindent {\bf Return Type:}
8783 {\tt
8784 void
8789 \vspace{0.3cm}
8790 \vspace{0.3cm}
8791 \vspace{0.3cm}
8792 \subsubsection{RPC name:~get\_MTU}
8794 {\bf Overview:}
8795 Get the MTU field of the given VIF.
8797 \noindent {\bf Signature:}
8798 \begin{verbatim} int get_MTU (session_id s, VIF ref self)\end{verbatim}
8801 \noindent{\bf Arguments:}
8804 \vspace{0.3cm}
8805 \begin{tabular}{|c|c|p{7cm}|}
8806 \hline
8807 {\bf type} & {\bf name} & {\bf description} \\ \hline
8808 {\tt VIF ref } & self & reference to the object \\ \hline
8810 \end{tabular}
8812 \vspace{0.3cm}
8814 \noindent {\bf Return Type:}
8815 {\tt
8816 int
8820 value of the field
8821 \vspace{0.3cm}
8822 \vspace{0.3cm}
8823 \vspace{0.3cm}
8824 \subsubsection{RPC name:~set\_MTU}
8826 {\bf Overview:}
8827 Set the MTU field of the given VIF.
8829 \noindent {\bf Signature:}
8830 \begin{verbatim} void set_MTU (session_id s, VIF ref self, int value)\end{verbatim}
8833 \noindent{\bf Arguments:}
8836 \vspace{0.3cm}
8837 \begin{tabular}{|c|c|p{7cm}|}
8838 \hline
8839 {\bf type} & {\bf name} & {\bf description} \\ \hline
8840 {\tt VIF ref } & self & reference to the object \\ \hline
8842 {\tt int } & value & New value to set \\ \hline
8844 \end{tabular}
8846 \vspace{0.3cm}
8848 \noindent {\bf Return Type:}
8849 {\tt
8850 void
8855 \vspace{0.3cm}
8856 \vspace{0.3cm}
8857 \vspace{0.3cm}
8858 \subsubsection{RPC name:~get\_currently\_attached}
8860 {\bf Overview:}
8861 Get the currently\_attached field of the given VIF.
8863 \noindent {\bf Signature:}
8864 \begin{verbatim} bool get_currently_attached (session_id s, VIF ref self)\end{verbatim}
8867 \noindent{\bf Arguments:}
8870 \vspace{0.3cm}
8871 \begin{tabular}{|c|c|p{7cm}|}
8872 \hline
8873 {\bf type} & {\bf name} & {\bf description} \\ \hline
8874 {\tt VIF ref } & self & reference to the object \\ \hline
8876 \end{tabular}
8878 \vspace{0.3cm}
8880 \noindent {\bf Return Type:}
8881 {\tt
8882 bool
8886 value of the field
8887 \vspace{0.3cm}
8888 \vspace{0.3cm}
8889 \vspace{0.3cm}
8890 \subsubsection{RPC name:~get\_status\_code}
8892 {\bf Overview:}
8893 Get the status\_code field of the given VIF.
8895 \noindent {\bf Signature:}
8896 \begin{verbatim} int get_status_code (session_id s, VIF ref self)\end{verbatim}
8899 \noindent{\bf Arguments:}
8902 \vspace{0.3cm}
8903 \begin{tabular}{|c|c|p{7cm}|}
8904 \hline
8905 {\bf type} & {\bf name} & {\bf description} \\ \hline
8906 {\tt VIF ref } & self & reference to the object \\ \hline
8908 \end{tabular}
8910 \vspace{0.3cm}
8912 \noindent {\bf Return Type:}
8913 {\tt
8914 int
8918 value of the field
8919 \vspace{0.3cm}
8920 \vspace{0.3cm}
8921 \vspace{0.3cm}
8922 \subsubsection{RPC name:~get\_status\_detail}
8924 {\bf Overview:}
8925 Get the status\_detail field of the given VIF.
8927 \noindent {\bf Signature:}
8928 \begin{verbatim} string get_status_detail (session_id s, VIF ref self)\end{verbatim}
8931 \noindent{\bf Arguments:}
8934 \vspace{0.3cm}
8935 \begin{tabular}{|c|c|p{7cm}|}
8936 \hline
8937 {\bf type} & {\bf name} & {\bf description} \\ \hline
8938 {\tt VIF ref } & self & reference to the object \\ \hline
8940 \end{tabular}
8942 \vspace{0.3cm}
8944 \noindent {\bf Return Type:}
8945 {\tt
8946 string
8950 value of the field
8951 \vspace{0.3cm}
8952 \vspace{0.3cm}
8953 \vspace{0.3cm}
8954 \subsubsection{RPC name:~get\_runtime\_properties}
8956 {\bf Overview:}
8957 Get the runtime\_properties field of the given VIF.
8959 \noindent {\bf Signature:}
8960 \begin{verbatim} ((string -> string) Map) get_runtime_properties (session_id s, VIF ref self)\end{verbatim}
8963 \noindent{\bf Arguments:}
8966 \vspace{0.3cm}
8967 \begin{tabular}{|c|c|p{7cm}|}
8968 \hline
8969 {\bf type} & {\bf name} & {\bf description} \\ \hline
8970 {\tt VIF ref } & self & reference to the object \\ \hline
8972 \end{tabular}
8974 \vspace{0.3cm}
8976 \noindent {\bf Return Type:}
8977 {\tt
8978 (string $\rightarrow$ string) Map
8982 value of the field
8983 \vspace{0.3cm}
8984 \vspace{0.3cm}
8985 \vspace{0.3cm}
8986 \subsubsection{RPC name:~get\_qos\_algorithm\_type}
8988 {\bf Overview:}
8989 Get the qos/algorithm\_type field of the given VIF.
8991 \noindent {\bf Signature:}
8992 \begin{verbatim} string get_qos_algorithm_type (session_id s, VIF ref self)\end{verbatim}
8995 \noindent{\bf Arguments:}
8998 \vspace{0.3cm}
8999 \begin{tabular}{|c|c|p{7cm}|}
9000 \hline
9001 {\bf type} & {\bf name} & {\bf description} \\ \hline
9002 {\tt VIF ref } & self & reference to the object \\ \hline
9004 \end{tabular}
9006 \vspace{0.3cm}
9008 \noindent {\bf Return Type:}
9009 {\tt
9010 string
9014 value of the field
9015 \vspace{0.3cm}
9016 \vspace{0.3cm}
9017 \vspace{0.3cm}
9018 \subsubsection{RPC name:~set\_qos\_algorithm\_type}
9020 {\bf Overview:}
9021 Set the qos/algorithm\_type field of the given VIF.
9023 \noindent {\bf Signature:}
9024 \begin{verbatim} void set_qos_algorithm_type (session_id s, VIF ref self, string value)\end{verbatim}
9027 \noindent{\bf Arguments:}
9030 \vspace{0.3cm}
9031 \begin{tabular}{|c|c|p{7cm}|}
9032 \hline
9033 {\bf type} & {\bf name} & {\bf description} \\ \hline
9034 {\tt VIF ref } & self & reference to the object \\ \hline
9036 {\tt string } & value & New value to set \\ \hline
9038 \end{tabular}
9040 \vspace{0.3cm}
9042 \noindent {\bf Return Type:}
9043 {\tt
9044 void
9049 \vspace{0.3cm}
9050 \vspace{0.3cm}
9051 \vspace{0.3cm}
9052 \subsubsection{RPC name:~get\_qos\_algorithm\_params}
9054 {\bf Overview:}
9055 Get the qos/algorithm\_params field of the given VIF.
9057 \noindent {\bf Signature:}
9058 \begin{verbatim} ((string -> string) Map) get_qos_algorithm_params (session_id s, VIF ref self)\end{verbatim}
9061 \noindent{\bf Arguments:}
9064 \vspace{0.3cm}
9065 \begin{tabular}{|c|c|p{7cm}|}
9066 \hline
9067 {\bf type} & {\bf name} & {\bf description} \\ \hline
9068 {\tt VIF ref } & self & reference to the object \\ \hline
9070 \end{tabular}
9072 \vspace{0.3cm}
9074 \noindent {\bf Return Type:}
9075 {\tt
9076 (string $\rightarrow$ string) Map
9080 value of the field
9081 \vspace{0.3cm}
9082 \vspace{0.3cm}
9083 \vspace{0.3cm}
9084 \subsubsection{RPC name:~set\_qos\_algorithm\_params}
9086 {\bf Overview:}
9087 Set the qos/algorithm\_params field of the given VIF.
9089 \noindent {\bf Signature:}
9090 \begin{verbatim} void set_qos_algorithm_params (session_id s, VIF ref self, (string -> string) Map value)\end{verbatim}
9093 \noindent{\bf Arguments:}
9096 \vspace{0.3cm}
9097 \begin{tabular}{|c|c|p{7cm}|}
9098 \hline
9099 {\bf type} & {\bf name} & {\bf description} \\ \hline
9100 {\tt VIF ref } & self & reference to the object \\ \hline
9102 {\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \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:~add\_to\_qos\_algorithm\_params}
9120 {\bf Overview:}
9121 Add the given key-value pair to the qos/algorithm\_params field of the
9122 given VIF.
9124 \noindent {\bf Signature:}
9125 \begin{verbatim} void add_to_qos_algorithm_params (session_id s, VIF ref self, string key, string value)\end{verbatim}
9128 \noindent{\bf Arguments:}
9131 \vspace{0.3cm}
9132 \begin{tabular}{|c|c|p{7cm}|}
9133 \hline
9134 {\bf type} & {\bf name} & {\bf description} \\ \hline
9135 {\tt VIF ref } & self & reference to the object \\ \hline
9137 {\tt string } & key & Key to add \\ \hline
9139 {\tt string } & value & Value to add \\ \hline
9141 \end{tabular}
9143 \vspace{0.3cm}
9145 \noindent {\bf Return Type:}
9146 {\tt
9147 void
9152 \vspace{0.3cm}
9153 \vspace{0.3cm}
9154 \vspace{0.3cm}
9155 \subsubsection{RPC name:~remove\_from\_qos\_algorithm\_params}
9157 {\bf Overview:}
9158 Remove the given key and its corresponding value from the
9159 qos/algorithm\_params field of the given VIF. If the key is not in that
9160 Map, then do nothing.
9162 \noindent {\bf Signature:}
9163 \begin{verbatim} void remove_from_qos_algorithm_params (session_id s, VIF ref self, string key)\end{verbatim}
9166 \noindent{\bf Arguments:}
9169 \vspace{0.3cm}
9170 \begin{tabular}{|c|c|p{7cm}|}
9171 \hline
9172 {\bf type} & {\bf name} & {\bf description} \\ \hline
9173 {\tt VIF ref } & self & reference to the object \\ \hline
9175 {\tt string } & key & Key to remove \\ \hline
9177 \end{tabular}
9179 \vspace{0.3cm}
9181 \noindent {\bf Return Type:}
9182 {\tt
9183 void
9188 \vspace{0.3cm}
9189 \vspace{0.3cm}
9190 \vspace{0.3cm}
9191 \subsubsection{RPC name:~get\_qos\_supported\_algorithms}
9193 {\bf Overview:}
9194 Get the qos/supported\_algorithms field of the given VIF.
9196 \noindent {\bf Signature:}
9197 \begin{verbatim} (string Set) get_qos_supported_algorithms (session_id s, VIF ref self)\end{verbatim}
9200 \noindent{\bf Arguments:}
9203 \vspace{0.3cm}
9204 \begin{tabular}{|c|c|p{7cm}|}
9205 \hline
9206 {\bf type} & {\bf name} & {\bf description} \\ \hline
9207 {\tt VIF ref } & self & reference to the object \\ \hline
9209 \end{tabular}
9211 \vspace{0.3cm}
9213 \noindent {\bf Return Type:}
9214 {\tt
9215 string Set
9219 value of the field
9220 \vspace{0.3cm}
9221 \vspace{0.3cm}
9222 \vspace{0.3cm}
9223 \subsubsection{RPC name:~get\_metrics}
9225 {\bf Overview:}
9226 Get the metrics field of the given VIF.
9228 \noindent {\bf Signature:}
9229 \begin{verbatim} (VIF_metrics ref) get_metrics (session_id s, VIF 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 ref } & self & reference to the object \\ \hline
9241 \end{tabular}
9243 \vspace{0.3cm}
9245 \noindent {\bf Return Type:}
9246 {\tt
9247 VIF\_metrics ref
9251 value of the field
9252 \vspace{0.3cm}
9253 \vspace{0.3cm}
9254 \vspace{0.3cm}
9255 \subsubsection{RPC name:~set\_security\_label}
9257 {\bf Overview:}
9258 Set the security label of the given VIF. Refer to the XSPolicy class
9259 for the format of the security label.
9261 \noindent {\bf Signature:}
9262 \begin{verbatim} void set_security_label (session_id s, VIF ref self, string
9263 security_label, string old_label)\end{verbatim}
9266 \noindent{\bf Arguments:}
9269 \vspace{0.3cm}
9270 \begin{tabular}{|c|c|p{7cm}|}
9271 \hline
9272 {\bf type} & {\bf name} & {\bf description} \\ \hline
9273 {\tt VIF ref } & self & reference to the object \\ \hline
9275 {\tt string } & security\_label & New value of the security label \\ \hline
9276 {\tt string } & old\_label & Label value that the security label \\
9277 & & must currently have for the change to succeed.\\ \hline
9278 \end{tabular}
9280 \vspace{0.3cm}
9282 \noindent {\bf Return Type:}
9283 {\tt
9284 void
9288 \vspace{0.3cm}
9290 \noindent{\bf Possible Error Codes:} {\tt SECURITY\_ERROR}
9292 \vspace{0.3cm}
9293 \vspace{0.3cm}
9294 \vspace{0.3cm}
9295 \subsubsection{RPC name:~get\_security\_label}
9297 {\bf Overview:}
9298 Get the security label of the given VIF.
9300 \noindent {\bf Signature:}
9301 \begin{verbatim} string get_security_label (session_id s, VIF ref self)\end{verbatim}
9304 \noindent{\bf Arguments:}
9308 \vspace{0.3cm}
9309 \begin{tabular}{|c|c|p{7cm}|}
9310 \hline
9311 {\bf type} & {\bf name} & {\bf description} \\ \hline
9312 {\tt VIF ref } & self & reference to the object \\ \hline
9314 \end{tabular}
9316 \vspace{0.3cm}
9318 \noindent {\bf Return Type:}
9319 {\tt
9320 string
9324 value of the given field
9325 \vspace{0.3cm}
9326 \vspace{0.3cm}
9327 \vspace{0.3cm}
9328 \subsubsection{RPC name:~create}
9330 {\bf Overview:}
9331 Create a new VIF instance, and return its handle.
9333 \noindent {\bf Signature:}
9334 \begin{verbatim} (VIF ref) create (session_id s, VIF record args)\end{verbatim}
9337 \noindent{\bf Arguments:}
9340 \vspace{0.3cm}
9341 \begin{tabular}{|c|c|p{7cm}|}
9342 \hline
9343 {\bf type} & {\bf name} & {\bf description} \\ \hline
9344 {\tt VIF record } & args & All constructor arguments \\ \hline
9346 \end{tabular}
9348 \vspace{0.3cm}
9350 \noindent {\bf Return Type:}
9351 {\tt
9352 VIF ref
9356 reference to the newly created object
9357 \vspace{0.3cm}
9358 \vspace{0.3cm}
9359 \vspace{0.3cm}
9360 \subsubsection{RPC name:~destroy}
9362 {\bf Overview:}
9363 Destroy the specified VIF instance.
9365 \noindent {\bf Signature:}
9366 \begin{verbatim} void destroy (session_id s, VIF ref self)\end{verbatim}
9369 \noindent{\bf Arguments:}
9372 \vspace{0.3cm}
9373 \begin{tabular}{|c|c|p{7cm}|}
9374 \hline
9375 {\bf type} & {\bf name} & {\bf description} \\ \hline
9376 {\tt VIF ref } & self & reference to the object \\ \hline
9378 \end{tabular}
9380 \vspace{0.3cm}
9382 \noindent {\bf Return Type:}
9383 {\tt
9384 void
9389 \vspace{0.3cm}
9390 \vspace{0.3cm}
9391 \vspace{0.3cm}
9392 \subsubsection{RPC name:~get\_by\_uuid}
9394 {\bf Overview:}
9395 Get a reference to the VIF instance with the specified UUID.
9397 \noindent {\bf Signature:}
9398 \begin{verbatim} (VIF ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
9401 \noindent{\bf Arguments:}
9404 \vspace{0.3cm}
9405 \begin{tabular}{|c|c|p{7cm}|}
9406 \hline
9407 {\bf type} & {\bf name} & {\bf description} \\ \hline
9408 {\tt string } & uuid & UUID of object to return \\ \hline
9410 \end{tabular}
9412 \vspace{0.3cm}
9414 \noindent {\bf Return Type:}
9415 {\tt
9416 VIF ref
9420 reference to the object
9421 \vspace{0.3cm}
9422 \vspace{0.3cm}
9423 \vspace{0.3cm}
9424 \subsubsection{RPC name:~get\_record}
9426 {\bf Overview:}
9427 Get a record containing the current state of the given VIF.
9429 \noindent {\bf Signature:}
9430 \begin{verbatim} (VIF record) get_record (session_id s, VIF ref self)\end{verbatim}
9433 \noindent{\bf Arguments:}
9436 \vspace{0.3cm}
9437 \begin{tabular}{|c|c|p{7cm}|}
9438 \hline
9439 {\bf type} & {\bf name} & {\bf description} \\ \hline
9440 {\tt VIF ref } & self & reference to the object \\ \hline
9442 \end{tabular}
9444 \vspace{0.3cm}
9446 \noindent {\bf Return Type:}
9447 {\tt
9448 VIF record
9452 all fields from the object
9453 \vspace{0.3cm}
9454 \vspace{0.3cm}
9455 \vspace{0.3cm}
9457 \vspace{1cm}
9458 \newpage
9459 \section{Class: VIF\_metrics}
9460 \subsection{Fields for class: VIF\_metrics}
9461 \begin{longtable}{|lllp{0.38\textwidth}|}
9462 \hline
9463 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VIF\_metrics} \\
9464 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em
9465 The metrics associated with a virtual network device.}} \\
9466 \hline
9467 Quals & Field & Type & Description \\
9468 \hline
9469 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
9470 $\mathit{RO}_\mathit{run}$ & {\tt io/read\_kbs} & float & Read bandwidth (KiB/s) \\
9471 $\mathit{RO}_\mathit{run}$ & {\tt io/write\_kbs} & float & Write bandwidth (KiB/s) \\
9472 $\mathit{RO}_\mathit{run}$ & {\tt last\_updated} & datetime & Time at which this information was last updated \\
9473 \hline
9474 \end{longtable}
9475 \subsection{RPCs associated with class: VIF\_metrics}
9476 \subsubsection{RPC name:~get\_all}
9478 {\bf Overview:}
9479 Return a list of all the VIF\_metrics instances known to the system.
9481 \noindent {\bf Signature:}
9482 \begin{verbatim} ((VIF_metrics ref) Set) get_all (session_id s)\end{verbatim}
9485 \vspace{0.3cm}
9487 \noindent {\bf Return Type:}
9488 {\tt
9489 (VIF\_metrics ref) Set
9493 references to all objects
9494 \vspace{0.3cm}
9495 \vspace{0.3cm}
9496 \vspace{0.3cm}
9497 \subsubsection{RPC name:~get\_uuid}
9499 {\bf Overview:}
9500 Get the uuid field of the given VIF\_metrics.
9502 \noindent {\bf Signature:}
9503 \begin{verbatim} string get_uuid (session_id s, VIF_metrics ref self)\end{verbatim}
9506 \noindent{\bf Arguments:}
9509 \vspace{0.3cm}
9510 \begin{tabular}{|c|c|p{7cm}|}
9511 \hline
9512 {\bf type} & {\bf name} & {\bf description} \\ \hline
9513 {\tt VIF\_metrics ref } & self & reference to the object \\ \hline
9515 \end{tabular}
9517 \vspace{0.3cm}
9519 \noindent {\bf Return Type:}
9520 {\tt
9521 string
9525 value of the field
9526 \vspace{0.3cm}
9527 \vspace{0.3cm}
9528 \vspace{0.3cm}
9529 \subsubsection{RPC name:~get\_io\_read\_kbs}
9531 {\bf Overview:}
9532 Get the io/read\_kbs field of the given VIF\_metrics.
9534 \noindent {\bf Signature:}
9535 \begin{verbatim} float get_io_read_kbs (session_id s, VIF_metrics ref self)\end{verbatim}
9538 \noindent{\bf Arguments:}
9541 \vspace{0.3cm}
9542 \begin{tabular}{|c|c|p{7cm}|}
9543 \hline
9544 {\bf type} & {\bf name} & {\bf description} \\ \hline
9545 {\tt VIF\_metrics ref } & self & reference to the object \\ \hline
9547 \end{tabular}
9549 \vspace{0.3cm}
9551 \noindent {\bf Return Type:}
9552 {\tt
9553 float
9557 value of the field
9558 \vspace{0.3cm}
9559 \vspace{0.3cm}
9560 \vspace{0.3cm}
9561 \subsubsection{RPC name:~get\_io\_write\_kbs}
9563 {\bf Overview:}
9564 Get the io/write\_kbs field of the given VIF\_metrics.
9566 \noindent {\bf Signature:}
9567 \begin{verbatim} float get_io_write_kbs (session_id s, VIF_metrics ref self)\end{verbatim}
9570 \noindent{\bf Arguments:}
9573 \vspace{0.3cm}
9574 \begin{tabular}{|c|c|p{7cm}|}
9575 \hline
9576 {\bf type} & {\bf name} & {\bf description} \\ \hline
9577 {\tt VIF\_metrics ref } & self & reference to the object \\ \hline
9579 \end{tabular}
9581 \vspace{0.3cm}
9583 \noindent {\bf Return Type:}
9584 {\tt
9585 float
9589 value of the field
9590 \vspace{0.3cm}
9591 \vspace{0.3cm}
9592 \vspace{0.3cm}
9593 \subsubsection{RPC name:~get\_last\_updated}
9595 {\bf Overview:}
9596 Get the last\_updated field of the given VIF\_metrics.
9598 \noindent {\bf Signature:}
9599 \begin{verbatim} datetime get_last_updated (session_id s, VIF_metrics ref self)\end{verbatim}
9602 \noindent{\bf Arguments:}
9605 \vspace{0.3cm}
9606 \begin{tabular}{|c|c|p{7cm}|}
9607 \hline
9608 {\bf type} & {\bf name} & {\bf description} \\ \hline
9609 {\tt VIF\_metrics ref } & self & reference to the object \\ \hline
9611 \end{tabular}
9613 \vspace{0.3cm}
9615 \noindent {\bf Return Type:}
9616 {\tt
9617 datetime
9621 value of the field
9622 \vspace{0.3cm}
9623 \vspace{0.3cm}
9624 \vspace{0.3cm}
9625 \subsubsection{RPC name:~get\_by\_uuid}
9627 {\bf Overview:}
9628 Get a reference to the VIF\_metrics instance with the specified UUID.
9630 \noindent {\bf Signature:}
9631 \begin{verbatim} (VIF_metrics ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
9634 \noindent{\bf Arguments:}
9637 \vspace{0.3cm}
9638 \begin{tabular}{|c|c|p{7cm}|}
9639 \hline
9640 {\bf type} & {\bf name} & {\bf description} \\ \hline
9641 {\tt string } & uuid & UUID of object to return \\ \hline
9643 \end{tabular}
9645 \vspace{0.3cm}
9647 \noindent {\bf Return Type:}
9648 {\tt
9649 VIF\_metrics ref
9653 reference to the object
9654 \vspace{0.3cm}
9655 \vspace{0.3cm}
9656 \vspace{0.3cm}
9657 \subsubsection{RPC name:~get\_record}
9659 {\bf Overview:}
9660 Get a record containing the current state of the given VIF\_metrics.
9662 \noindent {\bf Signature:}
9663 \begin{verbatim} (VIF_metrics record) get_record (session_id s, VIF_metrics ref self)\end{verbatim}
9666 \noindent{\bf Arguments:}
9669 \vspace{0.3cm}
9670 \begin{tabular}{|c|c|p{7cm}|}
9671 \hline
9672 {\bf type} & {\bf name} & {\bf description} \\ \hline
9673 {\tt VIF\_metrics ref } & self & reference to the object \\ \hline
9675 \end{tabular}
9677 \vspace{0.3cm}
9679 \noindent {\bf Return Type:}
9680 {\tt
9681 VIF\_metrics record
9685 all fields from the object
9686 \vspace{0.3cm}
9687 \vspace{0.3cm}
9688 \vspace{0.3cm}
9690 \vspace{1cm}
9691 \newpage
9692 \section{Class: PIF}
9693 \subsection{Fields for class: PIF}
9694 \begin{longtable}{|lllp{0.38\textwidth}|}
9695 \hline
9696 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf PIF} \\
9697 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
9698 physical network interface (note separate VLANs are represented as several
9699 PIFs).}} \\
9700 \hline
9701 Quals & Field & Type & Description \\
9702 \hline
9703 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
9704 $\mathit{RW}$ & {\tt device} & string & machine-readable name of the interface (e.g. eth0) \\
9705 $\mathit{RO}_\mathit{ins}$ & {\tt network} & network ref & virtual network to which this pif is connected \\
9706 $\mathit{RO}_\mathit{ins}$ & {\tt host} & host ref & physical machine to which this pif is connected \\
9707 $\mathit{RW}$ & {\tt MAC} & string & ethernet MAC address of physical interface \\
9708 $\mathit{RW}$ & {\tt MTU} & int & MTU in octets \\
9709 $\mathit{RW}$ & {\tt VLAN} & int & VLAN tag for all traffic passing through this interface \\
9710 $\mathit{RO}_\mathit{run}$ & {\tt metrics} & PIF\_metrics ref & metrics associated with this PIF \\
9711 \hline
9712 \end{longtable}
9713 \subsection{RPCs associated with class: PIF}
9714 \subsubsection{RPC name:~create\_VLAN}
9716 {\bf Overview:}
9717 Create a VLAN interface from an existing physical interface.
9719 \noindent {\bf Signature:}
9720 \begin{verbatim} (PIF ref) create_VLAN (session_id s, string device, network ref network, host ref host, int VLAN)\end{verbatim}
9723 \noindent{\bf Arguments:}
9726 \vspace{0.3cm}
9727 \begin{tabular}{|c|c|p{7cm}|}
9728 \hline
9729 {\bf type} & {\bf name} & {\bf description} \\ \hline
9730 {\tt string } & device & physical interface on which to crate the VLAN interface \\ \hline
9732 {\tt network ref } & network & network to which this interface should be connected \\ \hline
9734 {\tt host ref } & host & physical machine to which this PIF is connected \\ \hline
9736 {\tt int } & VLAN & VLAN tag for the new interface \\ \hline
9738 \end{tabular}
9740 \vspace{0.3cm}
9742 \noindent {\bf Return Type:}
9743 {\tt
9744 PIF ref
9748 The reference of the created PIF object
9749 \vspace{0.3cm}
9751 \noindent{\bf Possible Error Codes:} {\tt VLAN\_TAG\_INVALID}
9753 \vspace{0.6cm}
9754 \subsubsection{RPC name:~destroy}
9756 {\bf Overview:}
9757 Destroy the interface (provided it is a synthetic interface like a VLAN;
9758 fail if it is a physical interface).
9760 \noindent {\bf Signature:}
9761 \begin{verbatim} void destroy (session_id s, PIF ref self)\end{verbatim}
9764 \noindent{\bf Arguments:}
9767 \vspace{0.3cm}
9768 \begin{tabular}{|c|c|p{7cm}|}
9769 \hline
9770 {\bf type} & {\bf name} & {\bf description} \\ \hline
9771 {\tt PIF ref } & self & the PIF object to destroy \\ \hline
9773 \end{tabular}
9775 \vspace{0.3cm}
9777 \noindent {\bf Return Type:}
9778 {\tt
9779 void
9784 \vspace{0.3cm}
9786 \noindent{\bf Possible Error Codes:} {\tt PIF\_IS\_PHYSICAL}
9788 \vspace{0.6cm}
9789 \subsubsection{RPC name:~get\_all}
9791 {\bf Overview:}
9792 Return a list of all the PIFs known to the system.
9794 \noindent {\bf Signature:}
9795 \begin{verbatim} ((PIF ref) Set) get_all (session_id s)\end{verbatim}
9798 \vspace{0.3cm}
9800 \noindent {\bf Return Type:}
9801 {\tt
9802 (PIF ref) Set
9806 references to all objects
9807 \vspace{0.3cm}
9808 \vspace{0.3cm}
9809 \vspace{0.3cm}
9810 \subsubsection{RPC name:~get\_uuid}
9812 {\bf Overview:}
9813 Get the uuid field of the given PIF.
9815 \noindent {\bf Signature:}
9816 \begin{verbatim} string get_uuid (session_id s, PIF ref self)\end{verbatim}
9819 \noindent{\bf Arguments:}
9822 \vspace{0.3cm}
9823 \begin{tabular}{|c|c|p{7cm}|}
9824 \hline
9825 {\bf type} & {\bf name} & {\bf description} \\ \hline
9826 {\tt PIF ref } & self & reference to the object \\ \hline
9828 \end{tabular}
9830 \vspace{0.3cm}
9832 \noindent {\bf Return Type:}
9833 {\tt
9834 string
9838 value of the field
9839 \vspace{0.3cm}
9840 \vspace{0.3cm}
9841 \vspace{0.3cm}
9842 \subsubsection{RPC name:~get\_device}
9844 {\bf Overview:}
9845 Get the device field of the given PIF.
9847 \noindent {\bf Signature:}
9848 \begin{verbatim} string get_device (session_id s, PIF ref self)\end{verbatim}
9851 \noindent{\bf Arguments:}
9854 \vspace{0.3cm}
9855 \begin{tabular}{|c|c|p{7cm}|}
9856 \hline
9857 {\bf type} & {\bf name} & {\bf description} \\ \hline
9858 {\tt PIF ref } & self & reference to the object \\ \hline
9860 \end{tabular}
9862 \vspace{0.3cm}
9864 \noindent {\bf Return Type:}
9865 {\tt
9866 string
9870 value of the field
9871 \vspace{0.3cm}
9872 \vspace{0.3cm}
9873 \vspace{0.3cm}
9874 \subsubsection{RPC name:~set\_device}
9876 {\bf Overview:}
9877 Set the device field of the given PIF.
9879 \noindent {\bf Signature:}
9880 \begin{verbatim} void set_device (session_id s, PIF ref self, string value)\end{verbatim}
9883 \noindent{\bf Arguments:}
9886 \vspace{0.3cm}
9887 \begin{tabular}{|c|c|p{7cm}|}
9888 \hline
9889 {\bf type} & {\bf name} & {\bf description} \\ \hline
9890 {\tt PIF ref } & self & reference to the object \\ \hline
9892 {\tt string } & value & New value to set \\ \hline
9894 \end{tabular}
9896 \vspace{0.3cm}
9898 \noindent {\bf Return Type:}
9899 {\tt
9900 void
9905 \vspace{0.3cm}
9906 \vspace{0.3cm}
9907 \vspace{0.3cm}
9908 \subsubsection{RPC name:~get\_network}
9910 {\bf Overview:}
9911 Get the network field of the given PIF.
9913 \noindent {\bf Signature:}
9914 \begin{verbatim} (network ref) get_network (session_id s, PIF ref self)\end{verbatim}
9917 \noindent{\bf Arguments:}
9920 \vspace{0.3cm}
9921 \begin{tabular}{|c|c|p{7cm}|}
9922 \hline
9923 {\bf type} & {\bf name} & {\bf description} \\ \hline
9924 {\tt PIF ref } & self & reference to the object \\ \hline
9926 \end{tabular}
9928 \vspace{0.3cm}
9930 \noindent {\bf Return Type:}
9931 {\tt
9932 network ref
9936 value of the field
9937 \vspace{0.3cm}
9938 \vspace{0.3cm}
9939 \vspace{0.3cm}
9940 \subsubsection{RPC name:~get\_host}
9942 {\bf Overview:}
9943 Get the host field of the given PIF.
9945 \noindent {\bf Signature:}
9946 \begin{verbatim} (host ref) get_host (session_id s, PIF ref self)\end{verbatim}
9949 \noindent{\bf Arguments:}
9952 \vspace{0.3cm}
9953 \begin{tabular}{|c|c|p{7cm}|}
9954 \hline
9955 {\bf type} & {\bf name} & {\bf description} \\ \hline
9956 {\tt PIF ref } & self & reference to the object \\ \hline
9958 \end{tabular}
9960 \vspace{0.3cm}
9962 \noindent {\bf Return Type:}
9963 {\tt
9964 host ref
9968 value of the field
9969 \vspace{0.3cm}
9970 \vspace{0.3cm}
9971 \vspace{0.3cm}
9972 \subsubsection{RPC name:~get\_MAC}
9974 {\bf Overview:}
9975 Get the MAC field of the given PIF.
9977 \noindent {\bf Signature:}
9978 \begin{verbatim} string get_MAC (session_id s, PIF ref self)\end{verbatim}
9981 \noindent{\bf Arguments:}
9984 \vspace{0.3cm}
9985 \begin{tabular}{|c|c|p{7cm}|}
9986 \hline
9987 {\bf type} & {\bf name} & {\bf description} \\ \hline
9988 {\tt PIF ref } & self & reference to the object \\ \hline
9990 \end{tabular}
9992 \vspace{0.3cm}
9994 \noindent {\bf Return Type:}
9995 {\tt
9996 string
10000 value of the field
10001 \vspace{0.3cm}
10002 \vspace{0.3cm}
10003 \vspace{0.3cm}
10004 \subsubsection{RPC name:~set\_MAC}
10006 {\bf Overview:}
10007 Set the MAC field of the given PIF.
10009 \noindent {\bf Signature:}
10010 \begin{verbatim} void set_MAC (session_id s, PIF ref self, string value)\end{verbatim}
10013 \noindent{\bf Arguments:}
10016 \vspace{0.3cm}
10017 \begin{tabular}{|c|c|p{7cm}|}
10018 \hline
10019 {\bf type} & {\bf name} & {\bf description} \\ \hline
10020 {\tt PIF ref } & self & reference to the object \\ \hline
10022 {\tt string } & value & New value to set \\ \hline
10024 \end{tabular}
10026 \vspace{0.3cm}
10028 \noindent {\bf Return Type:}
10029 {\tt
10030 void
10035 \vspace{0.3cm}
10036 \vspace{0.3cm}
10037 \vspace{0.3cm}
10038 \subsubsection{RPC name:~get\_MTU}
10040 {\bf Overview:}
10041 Get the MTU field of the given PIF.
10043 \noindent {\bf Signature:}
10044 \begin{verbatim} int get_MTU (session_id s, PIF ref self)\end{verbatim}
10047 \noindent{\bf Arguments:}
10050 \vspace{0.3cm}
10051 \begin{tabular}{|c|c|p{7cm}|}
10052 \hline
10053 {\bf type} & {\bf name} & {\bf description} \\ \hline
10054 {\tt PIF ref } & self & reference to the object \\ \hline
10056 \end{tabular}
10058 \vspace{0.3cm}
10060 \noindent {\bf Return Type:}
10061 {\tt
10062 int
10066 value of the field
10067 \vspace{0.3cm}
10068 \vspace{0.3cm}
10069 \vspace{0.3cm}
10070 \subsubsection{RPC name:~set\_MTU}
10072 {\bf Overview:}
10073 Set the MTU field of the given PIF.
10075 \noindent {\bf Signature:}
10076 \begin{verbatim} void set_MTU (session_id s, PIF ref self, int value)\end{verbatim}
10079 \noindent{\bf Arguments:}
10082 \vspace{0.3cm}
10083 \begin{tabular}{|c|c|p{7cm}|}
10084 \hline
10085 {\bf type} & {\bf name} & {\bf description} \\ \hline
10086 {\tt PIF ref } & self & reference to the object \\ \hline
10088 {\tt int } & value & New value to set \\ \hline
10090 \end{tabular}
10092 \vspace{0.3cm}
10094 \noindent {\bf Return Type:}
10095 {\tt
10096 void
10101 \vspace{0.3cm}
10102 \vspace{0.3cm}
10103 \vspace{0.3cm}
10104 \subsubsection{RPC name:~get\_VLAN}
10106 {\bf Overview:}
10107 Get the VLAN field of the given PIF.
10109 \noindent {\bf Signature:}
10110 \begin{verbatim} int get_VLAN (session_id s, PIF ref self)\end{verbatim}
10113 \noindent{\bf Arguments:}
10116 \vspace{0.3cm}
10117 \begin{tabular}{|c|c|p{7cm}|}
10118 \hline
10119 {\bf type} & {\bf name} & {\bf description} \\ \hline
10120 {\tt PIF ref } & self & reference to the object \\ \hline
10122 \end{tabular}
10124 \vspace{0.3cm}
10126 \noindent {\bf Return Type:}
10127 {\tt
10128 int
10132 value of the field
10133 \vspace{0.3cm}
10134 \vspace{0.3cm}
10135 \vspace{0.3cm}
10136 \subsubsection{RPC name:~set\_VLAN}
10138 {\bf Overview:}
10139 Set the VLAN field of the given PIF.
10141 \noindent {\bf Signature:}
10142 \begin{verbatim} void set_VLAN (session_id s, PIF ref self, int value)\end{verbatim}
10145 \noindent{\bf Arguments:}
10148 \vspace{0.3cm}
10149 \begin{tabular}{|c|c|p{7cm}|}
10150 \hline
10151 {\bf type} & {\bf name} & {\bf description} \\ \hline
10152 {\tt PIF ref } & self & reference to the object \\ \hline
10154 {\tt int } & value & New value to set \\ \hline
10156 \end{tabular}
10158 \vspace{0.3cm}
10160 \noindent {\bf Return Type:}
10161 {\tt
10162 void
10167 \vspace{0.3cm}
10168 \vspace{0.3cm}
10169 \vspace{0.3cm}
10170 \subsubsection{RPC name:~get\_metrics}
10172 {\bf Overview:}
10173 Get the metrics field of the given PIF.
10175 \noindent {\bf Signature:}
10176 \begin{verbatim} (PIF_metrics ref) get_metrics (session_id s, PIF ref self)\end{verbatim}
10179 \noindent{\bf Arguments:}
10182 \vspace{0.3cm}
10183 \begin{tabular}{|c|c|p{7cm}|}
10184 \hline
10185 {\bf type} & {\bf name} & {\bf description} \\ \hline
10186 {\tt PIF ref } & self & reference to the object \\ \hline
10188 \end{tabular}
10190 \vspace{0.3cm}
10192 \noindent {\bf Return Type:}
10193 {\tt
10194 PIF\_metrics ref
10198 value of the field
10199 \vspace{0.3cm}
10200 \vspace{0.3cm}
10201 \vspace{0.3cm}
10202 \subsubsection{RPC name:~get\_by\_uuid}
10204 {\bf Overview:}
10205 Get a reference to the PIF instance with the specified UUID.
10207 \noindent {\bf Signature:}
10208 \begin{verbatim} (PIF ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
10211 \noindent{\bf Arguments:}
10214 \vspace{0.3cm}
10215 \begin{tabular}{|c|c|p{7cm}|}
10216 \hline
10217 {\bf type} & {\bf name} & {\bf description} \\ \hline
10218 {\tt string } & uuid & UUID of object to return \\ \hline
10220 \end{tabular}
10222 \vspace{0.3cm}
10224 \noindent {\bf Return Type:}
10225 {\tt
10226 PIF ref
10230 reference to the object
10231 \vspace{0.3cm}
10232 \vspace{0.3cm}
10233 \vspace{0.3cm}
10234 \subsubsection{RPC name:~get\_record}
10236 {\bf Overview:}
10237 Get a record containing the current state of the given PIF.
10239 \noindent {\bf Signature:}
10240 \begin{verbatim} (PIF record) get_record (session_id s, PIF ref self)\end{verbatim}
10243 \noindent{\bf Arguments:}
10246 \vspace{0.3cm}
10247 \begin{tabular}{|c|c|p{7cm}|}
10248 \hline
10249 {\bf type} & {\bf name} & {\bf description} \\ \hline
10250 {\tt PIF ref } & self & reference to the object \\ \hline
10252 \end{tabular}
10254 \vspace{0.3cm}
10256 \noindent {\bf Return Type:}
10257 {\tt
10258 PIF record
10262 all fields from the object
10263 \vspace{0.3cm}
10264 \vspace{0.3cm}
10265 \vspace{0.3cm}
10267 \vspace{1cm}
10268 \newpage
10269 \section{Class: PIF\_metrics}
10270 \subsection{Fields for class: PIF\_metrics}
10271 \begin{longtable}{|lllp{0.38\textwidth}|}
10272 \hline
10273 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf PIF\_metrics} \\
10274 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em
10275 The metrics associated with a physical network interface.}} \\
10276 \hline
10277 Quals & Field & Type & Description \\
10278 \hline
10279 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
10280 $\mathit{RO}_\mathit{run}$ & {\tt io/read\_kbs} & float & Read bandwidth (KiB/s) \\
10281 $\mathit{RO}_\mathit{run}$ & {\tt io/write\_kbs} & float & Write bandwidth (KiB/s) \\
10282 $\mathit{RO}_\mathit{run}$ & {\tt last\_updated} & datetime & Time at which this information was last updated \\
10283 \hline
10284 \end{longtable}
10285 \subsection{RPCs associated with class: PIF\_metrics}
10286 \subsubsection{RPC name:~get\_all}
10288 {\bf Overview:}
10289 Return a list of all the PIF\_metrics instances known to the system.
10291 \noindent {\bf Signature:}
10292 \begin{verbatim} ((PIF_metrics ref) Set) get_all (session_id s)\end{verbatim}
10295 \vspace{0.3cm}
10297 \noindent {\bf Return Type:}
10298 {\tt
10299 (PIF\_metrics ref) Set
10303 references to all objects
10304 \vspace{0.3cm}
10305 \vspace{0.3cm}
10306 \vspace{0.3cm}
10307 \subsubsection{RPC name:~get\_uuid}
10309 {\bf Overview:}
10310 Get the uuid field of the given PIF\_metrics.
10312 \noindent {\bf Signature:}
10313 \begin{verbatim} string get_uuid (session_id s, PIF_metrics ref self)\end{verbatim}
10316 \noindent{\bf Arguments:}
10319 \vspace{0.3cm}
10320 \begin{tabular}{|c|c|p{7cm}|}
10321 \hline
10322 {\bf type} & {\bf name} & {\bf description} \\ \hline
10323 {\tt PIF\_metrics ref } & self & reference to the object \\ \hline
10325 \end{tabular}
10327 \vspace{0.3cm}
10329 \noindent {\bf Return Type:}
10330 {\tt
10331 string
10335 value of the field
10336 \vspace{0.3cm}
10337 \vspace{0.3cm}
10338 \vspace{0.3cm}
10339 \subsubsection{RPC name:~get\_io\_read\_kbs}
10341 {\bf Overview:}
10342 Get the io/read\_kbs field of the given PIF\_metrics.
10344 \noindent {\bf Signature:}
10345 \begin{verbatim} float get_io_read_kbs (session_id s, PIF_metrics ref self)\end{verbatim}
10348 \noindent{\bf Arguments:}
10351 \vspace{0.3cm}
10352 \begin{tabular}{|c|c|p{7cm}|}
10353 \hline
10354 {\bf type} & {\bf name} & {\bf description} \\ \hline
10355 {\tt PIF\_metrics ref } & self & reference to the object \\ \hline
10357 \end{tabular}
10359 \vspace{0.3cm}
10361 \noindent {\bf Return Type:}
10362 {\tt
10363 float
10367 value of the field
10368 \vspace{0.3cm}
10369 \vspace{0.3cm}
10370 \vspace{0.3cm}
10371 \subsubsection{RPC name:~get\_io\_write\_kbs}
10373 {\bf Overview:}
10374 Get the io/write\_kbs field of the given PIF\_metrics.
10376 \noindent {\bf Signature:}
10377 \begin{verbatim} float get_io_write_kbs (session_id s, PIF_metrics ref self)\end{verbatim}
10380 \noindent{\bf Arguments:}
10383 \vspace{0.3cm}
10384 \begin{tabular}{|c|c|p{7cm}|}
10385 \hline
10386 {\bf type} & {\bf name} & {\bf description} \\ \hline
10387 {\tt PIF\_metrics ref } & self & reference to the object \\ \hline
10389 \end{tabular}
10391 \vspace{0.3cm}
10393 \noindent {\bf Return Type:}
10394 {\tt
10395 float
10399 value of the field
10400 \vspace{0.3cm}
10401 \vspace{0.3cm}
10402 \vspace{0.3cm}
10403 \subsubsection{RPC name:~get\_last\_updated}
10405 {\bf Overview:}
10406 Get the last\_updated field of the given PIF\_metrics.
10408 \noindent {\bf Signature:}
10409 \begin{verbatim} datetime get_last_updated (session_id s, PIF_metrics ref self)\end{verbatim}
10412 \noindent{\bf Arguments:}
10415 \vspace{0.3cm}
10416 \begin{tabular}{|c|c|p{7cm}|}
10417 \hline
10418 {\bf type} & {\bf name} & {\bf description} \\ \hline
10419 {\tt PIF\_metrics ref } & self & reference to the object \\ \hline
10421 \end{tabular}
10423 \vspace{0.3cm}
10425 \noindent {\bf Return Type:}
10426 {\tt
10427 datetime
10431 value of the field
10432 \vspace{0.3cm}
10433 \vspace{0.3cm}
10434 \vspace{0.3cm}
10435 \subsubsection{RPC name:~get\_by\_uuid}
10437 {\bf Overview:}
10438 Get a reference to the PIF\_metrics instance with the specified UUID.
10440 \noindent {\bf Signature:}
10441 \begin{verbatim} (PIF_metrics ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
10444 \noindent{\bf Arguments:}
10447 \vspace{0.3cm}
10448 \begin{tabular}{|c|c|p{7cm}|}
10449 \hline
10450 {\bf type} & {\bf name} & {\bf description} \\ \hline
10451 {\tt string } & uuid & UUID of object to return \\ \hline
10453 \end{tabular}
10455 \vspace{0.3cm}
10457 \noindent {\bf Return Type:}
10458 {\tt
10459 PIF\_metrics ref
10463 reference to the object
10464 \vspace{0.3cm}
10465 \vspace{0.3cm}
10466 \vspace{0.3cm}
10467 \subsubsection{RPC name:~get\_record}
10469 {\bf Overview:}
10470 Get a record containing the current state of the given PIF\_metrics.
10472 \noindent {\bf Signature:}
10473 \begin{verbatim} (PIF_metrics record) get_record (session_id s, PIF_metrics ref self)\end{verbatim}
10476 \noindent{\bf Arguments:}
10479 \vspace{0.3cm}
10480 \begin{tabular}{|c|c|p{7cm}|}
10481 \hline
10482 {\bf type} & {\bf name} & {\bf description} \\ \hline
10483 {\tt PIF\_metrics ref } & self & reference to the object \\ \hline
10485 \end{tabular}
10487 \vspace{0.3cm}
10489 \noindent {\bf Return Type:}
10490 {\tt
10491 PIF\_metrics record
10495 all fields from the object
10496 \vspace{0.3cm}
10497 \vspace{0.3cm}
10498 \vspace{0.3cm}
10500 \vspace{1cm}
10501 \newpage
10502 \section{Class: SR}
10503 \subsection{Fields for class: SR}
10504 \begin{longtable}{|lllp{0.38\textwidth}|}
10505 \hline
10506 \multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf SR} \\
10507 \multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A
10508 storage repository.}} \\
10509 \hline
10510 Quals & Field & Type & Description \\
10511 \hline
10512 $\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\
10513 $\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\
10514 $\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\
10515 $\mathit{RO}_\mathit{run}$ & {\tt VDIs} & (VDI ref) Set & managed virtual disks \\
10516 $\mathit{RO}_\mathit{run}$ & {\tt PBDs} & (PBD ref) Set & physical blockdevices \\
10517 $\mathit{RO}_\mathit{run}$ & {\tt virtual\_allocation} & int & sum of virtual\_sizes of all VDIs in this storage repository (in bytes) \\
10518 $\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 \\
10519 $\mathit{RO}_\mathit{ins}$ & {\tt physical\_size} & int & total physical size of the repository (in bytes) \\
10520 $\mathit{RO}_\mathit{ins}$ & {\tt type} & string & type of the storage repository \\
10521 $\mathit{RO}_\mathit{ins}$ & {\tt content\_type} & string & the type of the SR's content, if required (e.g. ISOs) \\
10522 \hline
10523 \end{longtable}
10524 \subsection{RPCs associated with class: SR}
10525 \subsubsection{RPC name:~get\_supported\_types}
10527 {\bf Overview:}
10528 Return a set of all the SR types supported by the system.
10530 \noindent {\bf Signature:}
10531 \begin{verbatim} (string Set) get_supported_types (session_id s)\end{verbatim}
10534 \vspace{0.3cm}
10536 \noindent {\bf Return Type:}
10537 {\tt
10538 string Set
10542 the supported SR types
10543 \vspace{0.3cm}
10544 \vspace{0.3cm}
10545 \vspace{0.3cm}
10546 \subsubsection{RPC name:~get\_all}
10548 {\bf Overview:}
10549 Return a list of all the SRs known to the system.
10551 \noindent {\bf Signature:}
10552 \begin{verbatim} ((SR ref) Set) get_all (session_id s)\end{verbatim}
10555 \vspace{0.3cm}
10557 \noindent {\bf Return Type:}
10558 {\tt
10559 (SR ref) Set
10563 references to all objects
10564 \vspace{0.3cm}
10565 \vspace{0.3cm}
10566 \vspace{0.3cm}
10567 \subsubsection{RPC name:~get\_uuid}
10569 {\bf Overview:}
10570 Get the uuid field of the given SR.
10572 \noindent {\bf Signature:}
10573 \begin{verbatim} string get_uuid (session_id s, SR ref self)\end{verbatim}
10576 \noindent{\bf Arguments:}
10579 \vspace{0.3cm}
10580 \begin{tabular}{|c|c|p{7cm}|}
10581 \hline
10582 {\bf type} & {\bf name} & {\bf description} \\ \hline
10583 {\tt SR ref } & self & reference to the object \\ \hline
10585 \end{tabular}
10587 \vspace{0.3cm}
10589 \noindent {\bf Return Type:}
10590 {\tt
10591 string
10595 value of the field
10596 \vspace{0.3cm}
10597 \vspace{0.3cm}
10598 \vspace{0.3cm}
10599 \subsubsection{RPC name:~get\_name\_label}
10601 {\bf Overview:}
10602 Get the name/label field of the given SR.
10604 \noindent {\bf Signature:}
10605 \begin{verbatim} string get_name_label (session_id s, SR ref self)\end{verbatim}
10608 \noindent{\bf Arguments:}
10611 \vspace{0.3cm}
10612 \begin{tabular}{|c|c|p{7cm}|}
10613 \hline
10614 {\bf type} & {\bf name} & {\bf description} \\ \hline
10615 {\tt SR ref } & self & reference to the object \\ \hline
10617 \end{tabular}
10619 \vspace{0.3cm}
10621 \noindent {\bf Return Type:}
10622 {\tt
10623 string
10627 value of the field
10628 \vspace{0.3cm}
10629 \vspace{0.3cm}
10630 \vspace{0.3cm}
10631 \subsubsection{RPC name:~set\_name\_label}
10633 {\bf Overview:}
10634 Set the name/label field of the given SR.
10636 \noindent {\bf Signature:}
10637 \begin{verbatim} void set_name_label (session_id s, SR ref self, string value)\end{verbatim}
10640 \noindent{\bf Arguments:}
10643 \vspace{0.3cm}
10644 \begin{tabular}{|c|c|p{7cm}|}
10645 \hline
10646 {\bf type} & {\bf name} & {\bf description} \\ \hline
10647 {\tt SR ref } & self & reference to the object \\ \hline
10649 {\tt string } & value & New value to set \\ \hline
10651 \end{tabular}
10653 \vspace{0.3cm}
10655 \noindent {\bf Return Type:}
10656 {\tt
10657 void
10662 \vspace{0.3cm}
10663 \vspace{0.3cm}
10664 \vspace{0.3cm}
10665 \subsubsection{RPC name:~get\_name\_description}
10667 {\bf Overview:}
10668 Get the name/description field of the given SR.
10670 \noindent {\bf Signature:}
10671 \begin{verbatim} string get_name_description (session_id s, SR ref self)\end{verbatim}
10674 \noindent{\bf Arguments:}
10677 \vspace{0.3cm}
10678 \begin{tabular}{|c|c|p{7cm}|}
10679 \hline
10680 {\bf type} & {\bf name} & {\bf description} \\ \hline
10681 {\tt SR ref } & self & reference to the object \\ \hline
10683 \end{tabular}
10685 \vspace{0.3cm}
10687 \noindent {\bf Return Type:}
10688 {\tt
10689 string
10693 value of the field
10694 \vspace{0.3cm}
10695 \vspace{0.3cm}
10696 \vspace{0.3cm}
10697 \subsubsection{RPC name:~set\_name\_description}
10699 {\bf Overview:}
10700 Set the name/description field of the given SR.
10702 \noindent {\bf Signature:}
10703 \begin{verbatim} void set_name_description (session_id s, SR ref self, string value)\end{verbatim}
10706 \noindent{\bf Arguments:}
10709 \vspace{0.3cm}
10710 \begin{tabular}{|c|c|p{7cm}|}
10711 \hline
10712 {\bf type} & {\bf name} & {\bf description} \\ \hline
10713 {\tt SR ref } & self & reference to the object \\ \hline
10715 {\tt string } & value & New value to set \\ \hline
10717 \end{tabular}
10719 \vspace{0.3cm}
10721 \noindent {\bf Return Type:}
10722 {\tt
10723 void
10728 \vspace{0.3cm}
10729 \vspace{0.3cm}
10730 \vspace{0.3cm}
10731 \subsubsection{RPC name:~get\_VDIs}
10733 {\bf Overview:}
10734 Get the VDIs field of the given SR.
10736 \noindent {\bf Signature:}
10737 \begin{verbatim} ((VDI ref) Set) get_VDIs (session_id s, SR ref self)\end{verbatim}
10740 \noindent{\bf Arguments:}
10743 \vspace{0.3cm}
10744 \begin{tabular}{|c|c|p{7cm}|}
10745 \hline
10746 {\bf type} & {\bf name} & {\bf description} \\ \hline
10747 {\tt SR ref } & self & reference to the object \\ \hline
10749 \end{tabular}
10751 \vspace{0.3cm}
10753 \noindent {\bf Return Type:}
10754 {\tt
10755 (VDI ref) Set
10759 value of the field
10760 \vspace{0.3cm}
10761 \vspace{0.3cm}
10762 \vspace{0.3cm}
10763 \subsubsection{RPC name:~get\_PBDs}
10765 {\bf Overview:}
10766 Get the PBDs field of the given SR.
10768 \noindent {\bf Signature:}
10769 \begin{verbatim} ((PBD ref) Set) get_PBDs (session_id s, SR ref self)\end{verbatim}
10772 \noindent{\bf Arguments:}
10775 \vspace{0.3cm}
10776 \begin{tabular}{|c|c|p{7cm}|}
10777 \hline
10778 {\bf type} & {\bf name} & {\bf description} \\ \hline
10779 {\tt SR ref } & self & reference to the object \\ \hline
10781 \end{tabular}
10783 \vspace{0.3cm}
10785 \noindent {\bf Return Type:}
10786 {\tt
10787 (PBD ref) Set
10791 value of the field
10792 \vspace{0.3cm}
10793 \vspace{0.3cm}
10794 \vspace{0.3cm}
10795 \subsubsection{RPC name:~get\_virtual\_allocation}
10797 {\bf Overview:}
10798 Get the virtual\_allocation field of the given SR.
10800 \noindent {\bf Signature:}
10801 \begin{verbatim} int get_virtual_allocation (session_id s, SR ref self)\end{verbatim}
10804 \noindent{\bf Arguments:}
10807 \vspace{0.3cm}
10808 \begin{tabular}{|c|c|p{7cm}|}
10809 \hline
10810 {\bf type} & {\bf name} & {\bf description} \\ \hline
10811 {\tt SR ref } & self & reference to the object \\ \hline
10813 \end{tabular}
10815 \vspace{0.3cm}
10817 \noindent {\bf Return Type:}
10818 {\tt
10819 int
10823 value of the field
10824 \vspace{0.3cm}
10825 \vspace{0.3cm}
10826 \vspace{0.3cm}
10827 \subsubsection{RPC name:~get\_physical\_utilisation}
10829 {\bf Overview:}
10830 Get the physical\_utilisation field of the given SR.
10832 \noindent {\bf Signature:}
10833 \begin{verbatim} int get_physical_utilisation (session_id s, SR 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 SR ref } & self & reference to the object \\ \hline
10845 \end{tabular}
10847 \vspace{0.3cm}
10849 \noindent {\bf Return Type:}
10850 {\tt
10851 int
10855 value of the field
10856 \vspace{0.3cm}
10857 \vspace{0.3cm}
10858 \vspace{0.3cm}
10859 \subsubsection{RPC name:~get\_physical\_size}
10861 {\bf Overview:}
10862 Get the physical\_size field of the given SR.
10864 \noindent {\bf Signature:}
10865 \begin{verbatim} int get_physical_size (session_id s, SR 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 SR ref } & self & reference to the object \\ \hline
10877 \end{tabular}
10879 \vspace{0.3cm}
10881 \noindent {\bf Return Type:}
10882 {\tt
10883 int
10887 value of the field
10888 \vspace{0.3cm}
10889 \vspace{0.3cm}
10890 \vspace{0.3cm}
10891 \subsubsection{RPC name:~get\_type}
10893 {\bf Overview:}
10894 Get the type field of the given SR.
10896 \noindent {\bf Signature:}
10897 \begin{verbatim} string get_type (session_id s, SR ref self)\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 SR ref } & self & reference to the object \\ \hline
10909 \end{tabular}
10911 \vspace{0.3cm}
10913 \noindent {\bf Return Type:}
10914 {\tt
10915 string
10919 value of the field
10920 \vspace{0.3cm}
10921 \vspace{0.3cm}
10922 \vspace{0.3cm}
10923 \subsubsection{RPC name:~get\_content\_type}
10925 {\bf Overview:}
10926 Get the content\_type field of the given SR.
10928 \noindent {\bf Signature:}
10929 \begin{verbatim} string get_content_type (session_id s, SR ref self)\end{verbatim}
10932 \noindent{\bf Arguments:}
10935 \vspace{0.3cm}
10936 \begin{tabular}{|c|c|p{7cm}|}
10937 \hline
10938 {\bf type} & {\bf name} & {\bf description} \\ \hline
10939 {\tt SR ref } & self & reference to the object \\ \hline
10941 \end{tabular}
10943 \vspace{0.3cm}
10945 \noindent {\bf Return Type:}
10946 {\tt
10947 string
10951 value of the field
10952 \vspace{0.3cm}
10953 \vspace{0.3cm}
10954 \vspace{0.3cm}
10955 \subsubsection{RPC name:~get\_by\_uuid}
10957 {\bf Overview:}
10958 Get a reference to the SR instance with the specified UUID.
10960 \noindent {\bf Signature:}
10961 \begin{verbatim} (SR ref) get_by_uuid (session_id s, string uuid)\end{verbatim}
10964 \noindent{\bf Arguments:}
10967 \vspace{0.3cm}
10968 \begin{tabular}{|c|c|p{7cm}|}
10969 \hline
10970 {\bf type} & {\bf name} & {\bf description} \\ \hline
10971 {\tt string } & uuid & UUID of object to return \\ \hline
10973 \end{tabular}
10975 \vspace{0.3cm}
10977 \noindent {\bf Return Type:}
10978 {\tt
10979 SR ref
10983 reference to the object
10984 \vspace{0.3cm}
10985 \vspace{0.3cm}
10986 \vspace{0.3cm}
10987 \subsubsection{RPC name:~get\_record}