diff options
Diffstat (limited to 'docs/xen-api/xenapi-datamodel.tex')
-rw-r--r-- | docs/xen-api/xenapi-datamodel.tex | 20245 |
1 files changed, 0 insertions, 20245 deletions
diff --git a/docs/xen-api/xenapi-datamodel.tex b/docs/xen-api/xenapi-datamodel.tex deleted file mode 100644 index 4f9ce20dfe..0000000000 --- a/docs/xen-api/xenapi-datamodel.tex +++ /dev/null @@ -1,20245 +0,0 @@ -% -% Copyright (c) 2006-2007 XenSource, Inc. -% Copyright (c) 2009 flonatel GmbH & Co. KG -% -% Permission is granted to copy, distribute and/or modify this document under -% the terms of the GNU Free Documentation License, Version 1.2 or any later -% version published by the Free Software Foundation; with no Invariant -% Sections, no Front-Cover Texts and no Back-Cover Texts. A copy of the -% license is included in the section entitled -% "GNU Free Documentation License" or the file fdl.tex. -% -% Authors: Ewan Mellor, Richard Sharp, Dave Scott, Jon Harrop. -% Contributor: Andreas Florath -% - -\chapter{API Reference} -\label{api-reference} - - -\section{Classes} -The following classes are defined: - -\begin{center}\begin{tabular}{|lp{10cm}|} -\hline -Name & Description \\ -\hline -{\tt session} & A session \\ -{\tt task} & A long-running asynchronous task \\ -{\tt event} & Asynchronous event registration and handling \\ -{\tt VM} & A virtual machine (or 'guest') \\ -{\tt VM\_metrics} & The metrics associated with a VM \\ -{\tt VM\_guest\_metrics} & The metrics reported by the guest (as opposed to inferred from outside) \\ -{\tt host} & A physical host \\ -{\tt host\_metrics} & The metrics associated with a host \\ -{\tt host\_cpu} & A physical CPU \\ -{\tt network} & A virtual network \\ -{\tt VIF} & A virtual network interface \\ -{\tt VIF\_metrics} & The metrics associated with a virtual network device \\ -{\tt PIF} & A physical network interface (note separate VLANs are represented as several PIFs) \\ -{\tt PIF\_metrics} & The metrics associated with a physical network interface \\ -{\tt SR} & A storage repository \\ -{\tt VDI} & A virtual disk image \\ -{\tt VBD} & A virtual block device \\ -{\tt VBD\_metrics} & The metrics associated with a virtual block device \\ -{\tt PBD} & The physical block devices through which hosts access SRs \\ -{\tt crashdump} & A VM crashdump \\ -{\tt VTPM} & A virtual TPM device \\ -{\tt console} & A console \\ -{\tt DPCI} & A pass-through PCI device \\ -{\tt PPCI} & A physical PCI device \\ -{\tt DSCSI} & A half-virtualized SCSI device \\ -{\tt DSCSI\_HBA} & A half-virtualized SCSI host bus adapter \\ -{\tt PSCSI} & A physical SCSI device \\ -{\tt PSCSI\_HBA} & A physical SCSI host bus adapter \\ -{\tt user} & A user of the system \\ -{\tt debug} & A basic class for testing \\ -{\tt XSPolicy} & A class for handling Xen Security Policies \\ -{\tt ACMPolicy} & A class for handling ACM-type policies \\ -{\tt cpu\_pool} & A container for VMs which should shared the same host\_cpu(s) \\ -\hline -\end{tabular}\end{center} -\section{Relationships Between Classes} -Fields that are bound together are shown in the following table: -\begin{center}\begin{tabular}{|ll|l|} -\hline -{\em object.field} & {\em object.field} & {\em relationship} \\ - -\hline -host.PBDs & PBD.host & many-to-one\\ -SR.PBDs & PBD.SR & many-to-one\\ -VDI.VBDs & VBD.VDI & many-to-one\\ -VDI.crash\_dumps & crashdump.VDI & many-to-one\\ -VBD.VM & VM.VBDs & one-to-many\\ -crashdump.VM & VM.crash\_dumps & one-to-many\\ -VIF.VM & VM.VIFs & one-to-many\\ -VIF.network & network.VIFs & one-to-many\\ -PIF.host & host.PIFs & one-to-many\\ -PIF.network & network.PIFs & one-to-many\\ -SR.VDIs & VDI.SR & many-to-one\\ -VTPM.VM & VM.VTPMs & one-to-many\\ -console.VM & VM.consoles & one-to-many\\ -DPCI.VM & VM.DPCIs & one-to-many\\ -PPCI.host & host.PPCIs & one-to-many\\ -DSCSI.VM & VM.DSCSIs & one-to-many\\ -DSCSI.HBA & DSCSI\_HBA.DSCSIs & one-to-many\\ -DSCSI\_HBA.VM & VM.DSCSI\_HBAs & one-to-many\\ -PSCSI.host & host.PSCSIs & one-to-many\\ -PSCSI.HBA & PSCSI\_HBA.PSCSIs & one-to-many\\ -PSCSI\_HBA.host & host.PSCSI\_HBAs & one-to-many\\ -host.resident\_VMs & VM.resident\_on & many-to-one\\ -host.host\_CPUs & host\_cpu.host & many-to-one\\ -host.resident\_cpu\_pools & cpu\_pool.resident\_on & many-to-one\\ -cpu\_pool.started\_VMs & VM.cpu\_pool & many-to-one\\ -cpu\_pool.host\_CPUs & host\_cpu.cpu\_pool & many-to-one\\ -\hline -\end{tabular}\end{center} - -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 - relationships: - -\begin{center}\resizebox{0.8\textwidth}{!}{ -\includegraphics{xenapi-datamodel-graph} -}\end{center} -\ -\subsection{List of bound fields} -\section{Types} -\subsection{Primitives} -The following primitive types are used to specify methods and fields in the API Reference: - -\begin{center}\begin{tabular}{|ll|} -\hline -Type & Description \\ -\hline -String & text strings \\ -Int & 64-bit integers \\ -Float & IEEE double-precision floating-point numbers \\ -Bool & boolean \\ -DateTime & date and timestamp \\ -Ref (object name) & reference to an object of class name \\ -\hline -\end{tabular}\end{center} -\subsection{Higher order types} -The following type constructors are used: - -\begin{center}\begin{tabular}{|ll|} -\hline -Type & Description \\ -\hline -List (t) & an arbitrary-length list of elements of type t \\ -Map (a $\rightarrow$ b) & a table mapping values of type a to values of type b \\ -\hline -\end{tabular}\end{center} -\subsection{Enumeration types} -The following enumeration types are used: - -\begin{longtable}{|ll|} -\hline -{\tt enum event\_operation} & \\ -\hline -\hspace{0.5cm}{\tt add} & An object has been created \\ -\hspace{0.5cm}{\tt del} & An object has been deleted \\ -\hspace{0.5cm}{\tt mod} & An object has been modified \\ -\hline -\end{longtable} - -\vspace{1cm} -\begin{longtable}{|ll|} -\hline -{\tt enum console\_protocol} & \\ -\hline -\hspace{0.5cm}{\tt vt100} & VT100 terminal \\ -\hspace{0.5cm}{\tt rfb} & Remote FrameBuffer protocol (as used in VNC) \\ -\hspace{0.5cm}{\tt rdp} & Remote Desktop Protocol \\ -\hline -\end{longtable} - -\vspace{1cm} -\begin{longtable}{|ll|} -\hline -{\tt enum vdi\_type} & \\ -\hline -\hspace{0.5cm}{\tt system} & a disk that may be replaced on upgrade \\ -\hspace{0.5cm}{\tt user} & a disk that is always preserved on upgrade \\ -\hspace{0.5cm}{\tt ephemeral} & a disk that may be reformatted on upgrade \\ -\hspace{0.5cm}{\tt suspend} & a disk that stores a suspend image \\ -\hspace{0.5cm}{\tt crashdump} & a disk that stores VM crashdump information \\ -\hline -\end{longtable} - -\vspace{1cm} -\begin{longtable}{|ll|} -\hline -{\tt enum vm\_power\_state} & \\ -\hline -\hspace{0.5cm}{\tt Halted} & Halted \\ -\hspace{0.5cm}{\tt Paused} & Paused \\ -\hspace{0.5cm}{\tt Running} & Running \\ -\hspace{0.5cm}{\tt Suspended} & Suspended \\ -\hspace{0.5cm}{\tt Crashed} & Crashed \\ -\hspace{0.5cm}{\tt Unknown} & Some other unknown state \\ -\hline -\end{longtable} - -\vspace{1cm} -\begin{longtable}{|ll|} -\hline -{\tt enum task\_allowed\_operations} & \\ -\hline -\hspace{0.5cm}{\tt Cancel} & Cancel \\ -\hline -\end{longtable} - -\vspace{1cm} -\begin{longtable}{|ll|} -\hline -{\tt enum task\_status\_type} & \\ -\hline -\hspace{0.5cm}{\tt pending} & task is in progress \\ -\hspace{0.5cm}{\tt success} & task was completed successfully \\ -\hspace{0.5cm}{\tt failure} & task has failed \\ -\hspace{0.5cm}{\tt cancelling} & task is being cancelled \\ -\hspace{0.5cm}{\tt cancelled} & task has been cancelled \\ -\hline -\end{longtable} - -\vspace{1cm} -\begin{longtable}{|ll|} -\hline -{\tt enum on\_normal\_exit} & \\ -\hline -\hspace{0.5cm}{\tt destroy} & destroy the VM state \\ -\hspace{0.5cm}{\tt restart} & restart the VM \\ -\hline -\end{longtable} - -\vspace{1cm} -\begin{longtable}{|ll|} -\hline -{\tt enum on\_crash\_behaviour} & \\ -\hline -\hspace{0.5cm}{\tt destroy} & destroy the VM state \\ -\hspace{0.5cm}{\tt coredump\_and\_destroy} & record a coredump and then destroy the VM state \\ -\hspace{0.5cm}{\tt restart} & restart the VM \\ -\hspace{0.5cm}{\tt coredump\_and\_restart} & record a coredump and then restart the VM \\ -\hspace{0.5cm}{\tt preserve} & leave the crashed VM as-is \\ -\hspace{0.5cm}{\tt rename\_restart} & rename the crashed VM and start a new copy \\ -\hline -\end{longtable} - -\vspace{1cm} -\begin{longtable}{|ll|} -\hline -{\tt enum vbd\_mode} & \\ -\hline -\hspace{0.5cm}{\tt RO} & disk is mounted read-only \\ -\hspace{0.5cm}{\tt RW} & disk is mounted read-write \\ -\hline -\end{longtable} - -\vspace{1cm} -\begin{longtable}{|ll|} -\hline -{\tt enum vbd\_type} & \\ -\hline -\hspace{0.5cm}{\tt CD} & VBD will appear to guest as CD \\ -\hspace{0.5cm}{\tt Disk} & VBD will appear to guest as disk \\ -\hline -\end{longtable} - -\vspace{1cm} -\newpage - -\section{Error Handling} -When a low-level transport error occurs, or a request is malformed at the HTTP -or XML-RPC level, the server may send an XML-RPC Fault response, or the client -may simulate the same. The client must be prepared to handle these errors, -though they may be treated as fatal. On the wire, these are transmitted in a -form similar to this: - -\begin{verbatim} - <methodResponse> - <fault> - <value> - <struct> - <member> - <name>faultCode</name> - <value><int>-1</int></value> - </member> - <member> - <name>faultString</name> - <value><string>Malformed request</string></value> - </member> - </struct> - </value> - </fault> - </methodResponse> -\end{verbatim} - -All other failures are reported with a more structured error response, to -allow better automatic response to failures, proper internationalisation of -any error message, and easier debugging. On the wire, these are transmitted -like this: - -\begin{verbatim} - <struct> - <member> - <name>Status</name> - <value>Failure</value> - </member> - <member> - <name>ErrorDescription</name> - <value> - <array> - <data> - <value>MAP_DUPLICATE_KEY</value> - <value>Customer</value> - <value>eSpeil Inc.</value> - <value>eSpeil Incorporated</value> - </data> - </array> - </value> - </member> - </struct> -\end{verbatim} - -Note that {\tt ErrorDescription} value is an array of string values. The -first element of the array is an error code; the remainder of the array are -strings representing error parameters relating to that code. In this case, -the client has attempted to add the mapping {\tt Customer $\rightarrow$ -eSpiel Incorporated} to a Map, but it already contains the mapping -{\tt Customer $\rightarrow$ eSpiel Inc.}, and so the request has failed. - -The reference below lists each possible error returned by each method. -As well as the errors explicitly listed, any method may return low-level -errors as described above, or any of the following generic errors: - -\begin{itemize} -\item HANDLE\_INVALID -\item INTERNAL\_ERROR -\item MAP\_DUPLICATE\_KEY -\item MESSAGE\_METHOD\_UNKNOWN -\item MESSAGE\_PARAMETER\_COUNT\_MISMATCH -\item OPERATION\_NOT\_ALLOWED -\item PERMISSION\_DENIED -\item SESSION\_INVALID -\end{itemize} - -Each possible error code is documented in the following section. - -\subsection{Error Codes} - -\subsubsection{HANDLE\_INVALID} - -You gave an invalid handle. The object may have recently been deleted. -The class parameter gives the type of reference given, and the handle -parameter echoes the bad value given. - -\vspace{0.3cm} -{\bf Signature:} -\begin{verbatim}HANDLE_INVALID(class, handle)\end{verbatim} -\begin{center}\rule{10em}{0.1pt}\end{center} - -\subsubsection{INTERNAL\_ERROR} - -The server failed to handle your request, due to an internal error. The -given message may give details useful for debugging the problem. - -\vspace{0.3cm} -{\bf Signature:} -\begin{verbatim}INTERNAL_ERROR(message)\end{verbatim} -\begin{center}\rule{10em}{0.1pt}\end{center} - -\subsubsection{MAP\_DUPLICATE\_KEY} - -You tried to add a key-value pair to a map, but that key is already there. -The key, current value, and the new value that you tried to set are all -echoed. - -\vspace{0.3cm} -{\bf Signature:} -\begin{verbatim}MAP_DUPLICATE_KEY(key, current value, new value)\end{verbatim} -\begin{center}\rule{10em}{0.1pt}\end{center} - -\subsubsection{MESSAGE\_METHOD\_UNKNOWN} - -You tried to call a method that does not exist. The method name that you -used is echoed. - -\vspace{0.3cm} -{\bf Signature:} -\begin{verbatim}MESSAGE_METHOD_UNKNOWN(method)\end{verbatim} -\begin{center}\rule{10em}{0.1pt}\end{center} - -\subsubsection{MESSAGE\_PARAMETER\_COUNT\_MISMATCH} - -You tried to call a method with the incorrect number of parameters. The -fully-qualified method name that you used, and the number of received and -expected parameters are returned. - -\vspace{0.3cm} -{\bf Signature:} -\begin{verbatim}MESSAGE_PARAMETER_COUNT_MISMATCH(method, expected, received)\end{verbatim} -\begin{center}\rule{10em}{0.1pt}\end{center} - -\subsubsection{NETWORK\_ALREADY\_CONNECTED} - -You tried to create a PIF, but the network you tried to attach it to is -already attached to some other PIF, and so the creation failed. - -\vspace{0.3cm} -{\bf Signature:} -\begin{verbatim}NETWORK_ALREADY_CONNECTED(network, connected PIF)\end{verbatim} -\begin{center}\rule{10em}{0.1pt}\end{center} - -\subsubsection{OPERATION\_NOT\_ALLOWED} - -You attempted an operation that was not allowed. - -\vspace{0.3cm} -No parameters. -\begin{center}\rule{10em}{0.1pt}\end{center} - -\subsubsection{PERMISSION\_DENIED} - -You do not have the required permissions to perform the operation. - -\vspace{0.3cm} -No parameters. -\begin{center}\rule{10em}{0.1pt}\end{center} - -\subsubsection{PIF\_IS\_PHYSICAL} - -You tried to destroy a PIF, but it represents an aspect of the physical -host configuration, and so cannot be destroyed. The parameter echoes the -PIF handle you gave. - -\vspace{0.3cm} -{\bf Signature:} -\begin{verbatim}PIF_IS_PHYSICAL(PIF)\end{verbatim} -\begin{center}\rule{10em}{0.1pt}\end{center} - -\subsubsection{SESSION\_AUTHENTICATION\_FAILED} - -The credentials given by the user are incorrect, so access has been denied, -and you have not been issued a session handle. - -\vspace{0.3cm} -No parameters. -\begin{center}\rule{10em}{0.1pt}\end{center} - -\subsubsection{SESSION\_INVALID} - -You gave an invalid session handle. It may have been invalidated by a -server restart, or timed out. You should get a new session handle, using -one of the session.login\_ calls. This error does not invalidate the -current connection. The handle parameter echoes the bad value given. - -\vspace{0.3cm} -{\bf Signature:} -\begin{verbatim}SESSION_INVALID(handle)\end{verbatim} -\begin{center}\rule{10em}{0.1pt}\end{center} - -\subsubsection{SESSION\_NOT\_REGISTERED} - -This session is not registered to receive events. You must call -event.register before event.next. The session handle you are using is -echoed. - -\vspace{0.3cm} -{\bf Signature:} -\begin{verbatim}SESSION_NOT_REGISTERED(handle)\end{verbatim} -\begin{center}\rule{10em}{0.1pt}\end{center} - -\subsubsection{VALUE\_NOT\_SUPPORTED} - -You attempted to set a value that is not supported by this implementation. -The fully-qualified field name and the value that you tried to set are -returned. Also returned is a developer-only diagnostic reason. - -\vspace{0.3cm} -{\bf Signature:} -\begin{verbatim}VALUE_NOT_SUPPORTED(field, value, reason)\end{verbatim} -\begin{center}\rule{10em}{0.1pt}\end{center} - -\subsubsection{VLAN\_TAG\_INVALID} - -You tried to create a VLAN, but the tag you gave was invalid -- it must be -between 0 and 4095. The parameter echoes the VLAN tag you gave. - -\vspace{0.3cm} -{\bf Signature:} -\begin{verbatim}VLAN_TAG_INVALID(VLAN)\end{verbatim} -\begin{center}\rule{10em}{0.1pt}\end{center} - -\subsubsection{VM\_BAD\_POWER\_STATE} - -You attempted an operation on a VM that was not in an appropriate power -state at the time; for example, you attempted to start a VM that was -already running. The parameters returned are the VM's handle, and the -expected and actual VM state at the time of the call. - -\vspace{0.3cm} -{\bf Signature:} -\begin{verbatim}VM_BAD_POWER_STATE(vm, expected, actual)\end{verbatim} -\begin{center}\rule{10em}{0.1pt}\end{center} - -\subsubsection{VM\_HVM\_REQUIRED} - -HVM is required for this operation - -\vspace{0.3cm} -{\bf Signature:} -\begin{verbatim}VM_HVM_REQUIRED(vm)\end{verbatim} -\begin{center}\rule{10em}{0.1pt}\end{center} - -\subsubsection{SECURITY\_ERROR} - -A security error occurred. The parameter provides the xen security -error code and a message describing the error. - -\vspace{0.3cm} -{\bf Signature:} -\begin{verbatim}SECURITY_ERROR(xserr, message)\end{verbatim} -\begin{center}\rule{10em}{0.1pt}\end{center} - -\subsubsection{POOL\_BAD\_STATE} - -You attempted an operation on a pool that was not in an appropriate state -at the time; for example, you attempted to activate a pool that was -already activated. - -\vspace{0.3cm} -{\bf Signature:} -\begin{verbatim}POOL_BAD_STATE(current pool state)\end{verbatim} -\begin{center}\rule{10em}{0.1pt}\end{center} - -\subsubsection{INSUFFICIENT\_CPUS} - -You attempted to activate a cpu\_pool but there are not enough -unallocated CPUs to satisfy the request. - -\vspace{0.3cm} -{\bf Signature:} -\begin{verbatim}INSUFFICIENT_CPUS(needed cpu count, available cpu count)\end{verbatim} -\begin{center}\rule{10em}{0.1pt}\end{center} - -\subsubsection{UNKOWN\_SCHED\_POLICY} - -The specified scheduler policy is unkown to the host. - -\vspace{0.3cm} -{\bf Signature:} -\begin{verbatim}UNKOWN_SCHED_POLICY()\end{verbatim} -\begin{center}\rule{10em}{0.1pt}\end{center} - -\subsubsection{INVALID\_CPU} - -You tried to reconfigure a cpu\_pool with a CPU that is unkown to the host -or has a wrong state. - -\vspace{0.3cm} -{\bf Signature:} -\begin{verbatim}INVALID_CPU(message)\end{verbatim} -\begin{center}\rule{10em}{0.1pt}\end{center} - -\subsubsection{LAST\_CPU\_NOT\_REMOVEABLE} - -You tried to remove the last CPU from a cpu\_pool that has one or more -active domains. - -\vspace{0.3cm} -{\bf Signature:} -\begin{verbatim}LAST_CPU_NOT_REMOVEABLE(message)\end{verbatim} -\begin{center}\rule{10em}{0.1pt}\end{center} - - -\newpage -\section{Class: session} -\subsection{Fields for class: session} -\begin{longtable}{|lllp{0.38\textwidth}|} -\hline -\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf session} \\ -\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A -session.}} \\ -\hline -Quals & Field & Type & Description \\ -\hline -$\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\ -$\mathit{RO}_\mathit{run}$ & {\tt this\_host} & host ref & Currently connected host \\ -$\mathit{RO}_\mathit{run}$ & {\tt this\_user} & user ref & Currently connected user \\ -$\mathit{RO}_\mathit{run}$ & {\tt last\_active} & int & Timestamp for last time session was active \\ -\hline -\end{longtable} -\subsection{RPCs associated with class: session} -\subsubsection{RPC name:~login\_with\_password} - -{\bf Overview:} -Attempt to authenticate the user, returning a session\_id if successful. - - \noindent {\bf Signature:} -\begin{verbatim} (session ref) login_with_password (string uname, string pwd)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & uname & Username for login. \\ \hline - -{\tt string } & pwd & Password for login. \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -session ref -} - - -ID of newly created session - -\vspace{0.3cm} - -\noindent{\bf Possible Error Codes:} {\tt SESSION\_AUTHENTICATION\_FAILED} - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~logout} - -{\bf Overview:} -Log out of a session. - - \noindent {\bf Signature:} -\begin{verbatim} void logout (session_id s)\end{verbatim} - - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_uuid} - -{\bf Overview:} -Get the uuid field of the given session. - - \noindent {\bf Signature:} -\begin{verbatim} string get_uuid (session_id s, session ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt session ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_this\_host} - -{\bf Overview:} -Get the this\_host field of the given session. - - \noindent {\bf Signature:} -\begin{verbatim} (host ref) get_this_host (session_id s, session ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt session ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -host ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_this\_user} - -{\bf Overview:} -Get the this\_user field of the given session. - - \noindent {\bf Signature:} -\begin{verbatim} (user ref) get_this_user (session_id s, session ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt session ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -user ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_last\_active} - -{\bf Overview:} -Get the last\_active field of the given session. - - \noindent {\bf Signature:} -\begin{verbatim} int get_last_active (session_id s, session ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt session ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_uuid} - -{\bf Overview:} -Get a reference to the session instance with the specified UUID. - - \noindent {\bf Signature:} -\begin{verbatim} (session ref) get_by_uuid (session_id s, string uuid)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & uuid & UUID of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -session ref -} - - -reference to the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_record} - -{\bf Overview:} -Get a record containing the current state of the given session. - - \noindent {\bf Signature:} -\begin{verbatim} (session record) get_record (session_id s, session ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt session ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -session record -} - - -all fields from the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} - -\vspace{1cm} -\newpage -\section{Class: task} -\subsection{Fields for class: task} -\begin{longtable}{|lllp{0.38\textwidth}|} -\hline -\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf task} \\ -\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A -long-running asynchronous task.}} \\ -\hline -Quals & Field & Type & Description \\ -\hline -$\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\ -$\mathit{RO}_\mathit{run}$ & {\tt name/label} & string & a human-readable name \\ -$\mathit{RO}_\mathit{run}$ & {\tt name/description} & string & a notes field containg human-readable description \\ -$\mathit{RO}_\mathit{run}$ & {\tt status} & task\_status\_type & current status of the task \\ -$\mathit{RO}_\mathit{run}$ & {\tt session} & session ref & the session that created the task \\ -$\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. \\ -$\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. \\ -$\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. \\ -$\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. \\ -$\mathit{RO}_\mathit{run}$ & {\tt allowed\_operations} & (task\_allowed\_operations) Set & Operations allowed on this task \\ -\hline -\end{longtable} -\subsection{RPCs associated with class: task} -\subsubsection{RPC name:~cancel} - -{\bf Overview:} -Cancel this task. If task.allowed\_operations does not contain Cancel, -then this will fail with OPERATION\_NOT\_ALLOWED. The task will show the -status 'cancelling', and you should continue to check its status until it -shows 'cancelled'. There is no guarantee as to the time within which this -task will be cancelled. - - \noindent {\bf Signature:} -\begin{verbatim} void cancel (session_id s, task ref task)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt task ref } & task & The task \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} - -\noindent{\bf Possible Error Codes:} {\tt OPERATION\_NOT\_ALLOWED} - -\vspace{0.6cm} -\subsubsection{RPC name:~get\_all} - -{\bf Overview:} -Return a list of all the tasks known to the system. - - \noindent {\bf Signature:} -\begin{verbatim} ((task ref) Set) get_all (session_id s)\end{verbatim} - - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(task ref) Set -} - - -references to all objects -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_uuid} - -{\bf Overview:} -Get the uuid field of the given task. - - \noindent {\bf Signature:} -\begin{verbatim} string get_uuid (session_id s, task ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt task ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_name\_label} - -{\bf Overview:} -Get the name/label field of the given task. - - \noindent {\bf Signature:} -\begin{verbatim} string get_name_label (session_id s, task ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt task ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_name\_description} - -{\bf Overview:} -Get the name/description field of the given task. - - \noindent {\bf Signature:} -\begin{verbatim} string get_name_description (session_id s, task ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt task ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_status} - -{\bf Overview:} -Get the status field of the given task. - - \noindent {\bf Signature:} -\begin{verbatim} (task_status_type) get_status (session_id s, task ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt task ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -task\_status\_type -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_session} - -{\bf Overview:} -Get the session field of the given task. - - \noindent {\bf Signature:} -\begin{verbatim} (session ref) get_session (session_id s, task ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt task ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -session ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_progress} - -{\bf Overview:} -Get the progress field of the given task. - - \noindent {\bf Signature:} -\begin{verbatim} int get_progress (session_id s, task ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt task ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_type} - -{\bf Overview:} -Get the type field of the given task. - - \noindent {\bf Signature:} -\begin{verbatim} string get_type (session_id s, task ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt task ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_result} - -{\bf Overview:} -Get the result field of the given task. - - \noindent {\bf Signature:} -\begin{verbatim} string get_result (session_id s, task ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt task ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_error\_info} - -{\bf Overview:} -Get the error\_info field of the given task. - - \noindent {\bf Signature:} -\begin{verbatim} (string Set) get_error_info (session_id s, task ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt task ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_allowed\_operations} - -{\bf Overview:} -Get the allowed\_operations field of the given task. - - \noindent {\bf Signature:} -\begin{verbatim} ((task_allowed_operations) Set) get_allowed_operations (session_id s, task ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt task ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(task\_allowed\_operations) Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_uuid} - -{\bf Overview:} -Get a reference to the task instance with the specified UUID. - - \noindent {\bf Signature:} -\begin{verbatim} (task ref) get_by_uuid (session_id s, string uuid)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & uuid & UUID of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -task ref -} - - -reference to the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_record} - -{\bf Overview:} -Get a record containing the current state of the given task. - - \noindent {\bf Signature:} -\begin{verbatim} (task record) get_record (session_id s, task ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt task ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -task record -} - - -all fields from the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_name\_label} - -{\bf Overview:} -Get all the task instances with the given label. - - \noindent {\bf Signature:} -\begin{verbatim} ((task ref) Set) get_by_name_label (session_id s, string label)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & label & label of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(task ref) Set -} - - -references to objects with match names -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} - -\vspace{1cm} -\newpage -\section{Class: event} -\subsection{Fields for class: event} -\begin{longtable}{|lllp{0.38\textwidth}|} -\hline -\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf event} \\ -\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em -Asynchronous event registration and handling.}} \\ -\hline -Quals & Field & Type & Description \\ -\hline -$\mathit{RO}_\mathit{ins}$ & {\tt id} & int & An ID, monotonically increasing, and local to the current session \\ -$\mathit{RO}_\mathit{ins}$ & {\tt timestamp} & datetime & The time at which the event occurred \\ -$\mathit{RO}_\mathit{ins}$ & {\tt class} & string & The name of the class of the object that changed \\ -$\mathit{RO}_\mathit{ins}$ & {\tt operation} & event\_operation & The operation that was performed \\ -$\mathit{RO}_\mathit{ins}$ & {\tt ref} & string & A reference to the object that changed \\ -$\mathit{RO}_\mathit{ins}$ & {\tt obj\_uuid} & string & The uuid of the object that changed \\ -\hline -\end{longtable} -\subsection{RPCs associated with class: event} -\subsubsection{RPC name:~register} - -{\bf Overview:} -Registers this session with the event system. Specifying the empty list -will register for all classes. - - \noindent {\bf Signature:} -\begin{verbatim} void register (session_id s, string Set classes)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string Set } & classes & register for events for the indicated classes \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~unregister} - -{\bf Overview:} -Unregisters this session with the event system. - - \noindent {\bf Signature:} -\begin{verbatim} void unregister (session_id s, string Set classes)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string Set } & classes & remove this session's registration for the indicated classes \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~next} - -{\bf Overview:} -Blocking call which returns a (possibly empty) batch of events. - - \noindent {\bf Signature:} -\begin{verbatim} ((event record) Set) next (session_id s)\end{verbatim} - - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(event record) Set -} - - -the batch of events -\vspace{0.3cm} - -\noindent{\bf Possible Error Codes:} {\tt SESSION\_NOT\_REGISTERED} - -\vspace{0.6cm} - -\vspace{1cm} -\newpage -\section{Class: VM} -\subsection{Fields for class: VM} -\begin{longtable}{|llp{0.21\textwidth}p{0.33\textwidth}|} -\hline -\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VM} \\ -\multicolumn{4}{|l|}{\parbox{11cm}{\em Description: A -virtual machine (or 'guest').}} \\ -\hline -Quals & Field & Type & Description \\ -\hline -$\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\ -$\mathit{RO}_\mathit{run}$ & {\tt power\_state} & vm\_power\_state & Current power state of the machine \\ -$\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\ -$\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\ -$\mathit{RW}$ & {\tt user\_version} & int & a user version number for this machine \\ -$\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 \\ -$\mathit{RW}$ & {\tt auto\_power\_on} & bool & true if this VM should be started automatically after host boot \\ -$\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) \\ -$\mathit{RO}_\mathit{run}$ & {\tt resident\_on} & host ref & the host the VM is currently resident on \\ -$\mathit{RW}$ & {\tt memory/static\_max} & int & Statically-set (i.e. absolute) maximum (bytes) \\ -$\mathit{RW}$ & {\tt memory/dynamic\_max} & int & Dynamic maximum (bytes) \\ -$\mathit{RW}$ & {\tt memory/dynamic\_min} & int & Dynamic minimum (bytes) \\ -$\mathit{RW}$ & {\tt memory/static\_min} & int & Statically-set (i.e. absolute) minimum (bytes) \\ -$\mathit{RW}$ & {\tt VCPUs/params} & (string $\rightarrow$ string) Map & configuration parameters for the selected VCPU policy \\ -$\mathit{RW}$ & {\tt VCPUs/max} & int & Max number of VCPUs \\ -$\mathit{RW}$ & {\tt VCPUs/at\_startup} & int & Boot number of VCPUs \\ -$\mathit{RW}$ & {\tt actions/after\_shutdown} & on\_normal\_exit & action to take after the guest has shutdown itself \\ -$\mathit{RW}$ & {\tt actions/after\_reboot} & on\_normal\_exit & action to take after the guest has rebooted itself \\ -$\mathit{RW}$ & {\tt actions/after\_crash} & on\_crash\_behaviour & action to take if the guest crashes \\ -$\mathit{RO}_\mathit{run}$ & {\tt consoles} & (console ref) Set & virtual console devices \\ -$\mathit{RO}_\mathit{run}$ & {\tt VIFs} & (VIF ref) Set & virtual network interfaces \\ -$\mathit{RO}_\mathit{run}$ & {\tt VBDs} & (VBD ref) Set & virtual block devices \\ -$\mathit{RO}_\mathit{run}$ & {\tt crash\_dumps} & (crashdump ref) Set & crash dumps associated with this VM \\ -$\mathit{RO}_\mathit{run}$ & {\tt VTPMs} & (VTPM ref) Set & virtual TPMs \\ -$\mathit{RO}_\mathit{run}$ & {\tt DPCIs} & (DPCI ref) Set & pass-through PCI devices \\ -$\mathit{RO}_\mathit{run}$ & {\tt DSCSIs} & (DSCSI ref) Set & half-virtualized SCSI devices \\ -$\mathit{RO}_\mathit{run}$ & {\tt DSCSI\_HBAs} & (DSCSI\_HBA ref) Set & half-virtualized SCSI host bus adapters \\ -$\mathit{RW}$ & {\tt PV/bootloader} & string & name of or path to bootloader \\ -$\mathit{RW}$ & {\tt PV/kernel} & string & URI of kernel \\ -$\mathit{RW}$ & {\tt PV/ramdisk} & string & URI of initrd \\ -$\mathit{RW}$ & {\tt PV/args} & string & kernel command-line arguments \\ -$\mathit{RW}$ & {\tt PV/bootloader\_args} & string & miscellaneous arguments for the bootloader \\ -$\mathit{RW}$ & {\tt HVM/boot\_policy} & string & HVM boot policy \\ -$\mathit{RW}$ & {\tt HVM/boot\_params} & (string $\rightarrow$ string) Map & HVM boot params \\ -$\mathit{RW}$ & {\tt platform} & (string $\rightarrow$ string) Map & platform-specific configuration \\ -$\mathit{RW}$ & {\tt PCI\_bus} & string & PCI bus path for pass-through devices \\ -$\mathit{RW}$ & {\tt other\_config} & (string $\rightarrow$ string) Map & additional configuration \\ -$\mathit{RO}_\mathit{run}$ & {\tt domid} & int & domain ID (if available, -1 otherwise) \\ -$\mathit{RO}_\mathit{run}$ & {\tt is\_control\_domain} & bool & true if this is a control domain (domain 0 or a driver domain) \\ -$\mathit{RO}_\mathit{run}$ & {\tt metrics} & VM\_metrics ref & metrics associated with this VM \\ -$\mathit{RO}_\mathit{run}$ & {\tt guest\_metrics} & VM\_guest\_metrics ref & metrics associated with the running guest \\ -$\mathit{RO}_\mathit{run}$ & {\tt security/label} & string & the VM's security label \\ -\hline -\end{longtable} -\subsection{Parameter Details} -\subsubsection{PV/kernel and PV/ramdisk} -The \texttt{PV/kernel} and \texttt{PV/ramdisk} parameters should be -specified as URIs with either a \texttt{file} or \texttt{data} scheme. - -The \texttt{file} scheme must be used when a file on the remote dom0 -should be used. The remote dom0 is the one where the guest system -should be started on. Only absolute filenames are supported, i.e. the -string must start with \texttt{file://} appended with the absolute -path. This is typically used when the guest system use the same -operating systems as the dom0 or there is some kind of shared storage -for the images inside the dom0s. - -Note that for compatibility reasons it is possible --- but not -recommended --- to leave out the scheme specification for -\texttt{file}, i.e. \texttt{file:///some/path} and \texttt{/some/path} -is equivalent. - -Examples (in python): - -Use kernel image which resides in the \texttt{/boot} directory: -\begin{verbatim} -xenapi.VM.create({ ... - 'PV_kernel': 'file:///boot/vmlinuz-2.6.26-2-xen-686', - ... }) -\end{verbatim} - -Use ramdisk image which resides on a (shared) nfs directory: -\begin{verbatim} -xenapi.VM.create({ ... - 'PV_ramdisk': 'file:///nfs/xen/debian/5.0.1/initrd.img-2.6.26-2-xen-686' - ... }) -\end{verbatim} - -When an image should be used which resides on the local system, -i.e. the system where the XenAPI call is send from, it is possible to -use the \texttt{data} URI scheme as described in \cite{RFC2397}. The -media-type must be set to \texttt{application/octet-stream}. -Currently only base64 encoding is supported. The URI must therefore -start with \texttt{data:application/octet-stream;base64,} followed by -the base64 encoded image. - -The \texttt{xen/util/fileuri.py} provides a helper function which -takes a local filename as parameter and build up the correct URI from -this. - -Examples (in python): - -Use kernel image specified inline: -\begin{verbatim} -xenapi.VM.create({ ... - 'PV_kernel': 'data:application/octet-stream;base64,H4Zu....' - # most of base64 encoded data is omitted - ... }) -\end{verbatim} - -Using the utility function: -\begin{verbatim} -from xen.util.fileuri import scheme_data -xenapi.VM.create({ ... - 'PV_kernel': scheme_data.create_from_file( - "/xen/guests/images/debian/5.0.1/vmlinuz-2.6.26-2-xen-686"), - ... }) -\end{verbatim} - -Currently when using the \texttt{data} URI scheme, a temporary file is -created on the remote dom0 in the directory -\texttt{/var/run/xend/boot} which is then used for booting. When not -used any longer the file is deleted. (Therefore reading of the -\texttt{PV/kernel} or \texttt{PV/ramdisk} parameters when created with -a \texttt{data} URI scheme returns a filename to a temporary file --- -which might even not exists when querying.) This implementation might -change in the way that the data is directly used --- without the -indirection using a file. Therefore do not rely on the data resulting -from a read of a variables which was set using the \texttt{data} -scheme. - -Note: a mix of different schemes for the parameters is possible; e.g. -the kernel can be specified with a \texttt{file} and the ramdisk with -the \texttt{data} URI scheme. - -\subsection{RPCs associated with class: VM} -\subsubsection{RPC name:~clone} - -{\bf Overview:} -Clones the specified VM, making a new VM. Clone automatically exploits the -capabilities of the underlying storage repository in which the VM's disk -images are stored (e.g. Copy on Write). This function can only be called -when the VM is in the Halted State. - - \noindent {\bf Signature:} -\begin{verbatim} (VM ref) clone (session_id s, VM ref vm, string new_name)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & vm & The VM to be cloned \\ \hline - -{\tt string } & new\_name & The name of the cloned VM \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VM ref -} - - -The ID of the newly created VM. -\vspace{0.3cm} - -\noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE} - -\vspace{0.6cm} -\subsubsection{RPC name:~start} - -{\bf Overview:} -Start the specified VM. This function can only be called with the VM is in -the Halted State. - - \noindent {\bf Signature:} -\begin{verbatim} void start (session_id s, VM ref vm, bool start_paused)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & vm & The VM to start \\ \hline - -{\tt bool } & start\_paused & Instantiate VM in paused state if set to true. \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} - -\noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE}, {\tt -VM\_HVM\_REQUIRED} - -\vspace{0.6cm} -\subsubsection{RPC name:~pause} - -{\bf Overview:} -Pause the specified VM. This can only be called when the specified VM is in -the Running state. - - \noindent {\bf Signature:} -\begin{verbatim} void pause (session_id s, VM ref vm)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & vm & The VM to pause \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} - -\noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE} - -\vspace{0.6cm} -\subsubsection{RPC name:~unpause} - -{\bf Overview:} -Resume the specified VM. This can only be called when the specified VM is -in the Paused state. - - \noindent {\bf Signature:} -\begin{verbatim} void unpause (session_id s, VM ref vm)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & vm & The VM to unpause \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} - -\noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE} - -\vspace{0.6cm} -\subsubsection{RPC name:~clean\_shutdown} - -{\bf Overview:} -Attempt to cleanly shutdown the specified VM. (Note: this may not be -supported---e.g. if a guest agent is not installed). - -Once shutdown has been completed perform poweroff action specified in guest -configuration. - -This can only be called when the specified VM is in the Running state. - - \noindent {\bf Signature:} -\begin{verbatim} void clean_shutdown (session_id s, VM ref vm)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & vm & The VM to shutdown \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} - -\noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE} - -\vspace{0.6cm} -\subsubsection{RPC name:~clean\_reboot} - -{\bf Overview:} -Attempt to cleanly shutdown the specified VM (Note: this may not be -supported---e.g. if a guest agent is not installed). - -Once shutdown has been completed perform reboot action specified in guest -configuration. - -This can only be called when the specified VM is in the Running state. - - \noindent {\bf Signature:} -\begin{verbatim} void clean_reboot (session_id s, VM ref vm)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & vm & The VM to shutdown \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} - -\noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE} - -\vspace{0.6cm} -\subsubsection{RPC name:~hard\_shutdown} - -{\bf Overview:} -Stop executing the specified VM without attempting a clean shutdown. Then -perform poweroff action specified in VM configuration. - - \noindent {\bf Signature:} -\begin{verbatim} void hard_shutdown (session_id s, VM ref vm)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & vm & The VM to destroy \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} - -\noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE} - -\vspace{0.6cm} -\subsubsection{RPC name:~hard\_reboot} - -{\bf Overview:} -Stop executing the specified VM without attempting a clean shutdown. Then -perform reboot action specified in VM configuration. - - \noindent {\bf Signature:} -\begin{verbatim} void hard_reboot (session_id s, VM ref vm)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & vm & The VM to reboot \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~suspend} - -{\bf Overview:} -Suspend the specified VM to disk. This can only be called when the -specified VM is in the Running state. - - \noindent {\bf Signature:} -\begin{verbatim} void suspend (session_id s, VM ref vm)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & vm & The VM to suspend \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} - -\noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE} - -\vspace{0.6cm} -\subsubsection{RPC name:~resume} - -{\bf Overview:} -Awaken the specified VM and resume it. This can only be called when the -specified VM is in the Suspended state. - - \noindent {\bf Signature:} -\begin{verbatim} void resume (session_id s, VM ref vm, bool start_paused)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & vm & The VM to resume \\ \hline - -{\tt bool } & start\_paused & Resume VM in paused state if set to true. \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} - -\noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE} - -\vspace{0.6cm} -\subsubsection{RPC name:~set\_VCPUs\_number\_live} - -{\bf Overview:} -Set this VM's VCPUs/at\_startup value, and set the same value on the VM, if -running. - - \noindent {\bf Signature:} -\begin{verbatim} void set_VCPUs_number_live (session_id s, VM ref self, int nvcpu)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & The VM \\ \hline - -{\tt int } & nvcpu & The number of VCPUs \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~add\_to\_VCPUs\_params\_live} - -{\bf Overview:} -Add the given key-value pair to VM.VCPUs\_params, and apply that value on -the running VM. - - \noindent {\bf Signature:} -\begin{verbatim} void add_to_VCPUs_params_live (session_id s, VM ref self, string key, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & The VM \\ \hline - -{\tt string } & key & The key \\ \hline - -{\tt string } & value & The value \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_memory\_dynamic\_max\_live} - -{\bf Overview:} -Set memory\_dynamic\_max in database and on running VM. - - \noindent {\bf Signature:} -\begin{verbatim} void set_memory_dynamic_max_live (session_id s, VM ref self, int max)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & The VM \\ \hline - -{\tt int } & max & The memory\_dynamic\_max value \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_memory\_dynamic\_min\_live} - -{\bf Overview:} -Set memory\_dynamic\_min in database and on running VM. - - \noindent {\bf Signature:} -\begin{verbatim} void set_memory_dynamic_min_live (session_id s, VM ref self, int min)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & The VM \\ \hline - -{\tt int } & min & The memory\_dynamic\_min value \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~send\_sysrq} - -{\bf Overview:} -Send the given key as a sysrq to this VM. The key is specified as a single -character (a String of length 1). This can only be called when the -specified VM is in the Running state. - - \noindent {\bf Signature:} -\begin{verbatim} void send_sysrq (session_id s, VM ref vm, string key)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & vm & The VM \\ \hline - -{\tt string } & key & The key to send \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} - -\noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE} - -\vspace{0.6cm} -\subsubsection{RPC name:~send\_trigger} - -{\bf Overview:} -Send the named trigger to this VM. This can only be called when the -specified VM is in the Running state. - - \noindent {\bf Signature:} -\begin{verbatim} void send_trigger (session_id s, VM ref vm, string trigger)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & vm & The VM \\ \hline - -{\tt string } & trigger & The trigger to send \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} - -\noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE} - -\vspace{0.6cm} -\subsubsection{RPC name:~migrate} - -{\bf Overview:} -Migrate the VM to another host. This can only be called when the specified -VM is in the Running state. - - \noindent {\bf Signature:} -\begin{verbatim} void migrate (session_id s, VM ref vm, string dest, bool live, (string -> string) Map options)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & vm & The VM \\ \hline - -{\tt string } & dest & The destination host \\ \hline - -{\tt bool } & live & Live migration \\ \hline - -{\tt (string $\rightarrow$ string) Map } & options & Other parameters \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} - -\noindent{\bf Possible Error Codes:} {\tt VM\_BAD\_POWER\_STATE} - -\vspace{0.6cm} -\subsubsection{RPC name:~get\_all} - -{\bf Overview:} -Return a list of all the VMs known to the system. - - \noindent {\bf Signature:} -\begin{verbatim} ((VM ref) Set) get_all (session_id s)\end{verbatim} - - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(VM ref) Set -} - - -A list of all the IDs of all the VMs -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_uuid} - -{\bf Overview:} -Get the uuid field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} string get_uuid (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_power\_state} - -{\bf Overview:} -Get the power\_state field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} (vm_power_state) get_power_state (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -vm\_power\_state -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_name\_label} - -{\bf Overview:} -Get the name/label field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} string get_name_label (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_name\_label} - -{\bf Overview:} -Set the name/label field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} void set_name_label (session_id s, VM ref self, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -{\tt string } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_name\_description} - -{\bf Overview:} -Get the name/description field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} string get_name_description (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_name\_description} - -{\bf Overview:} -Set the name/description field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} void set_name_description (session_id s, VM ref self, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -{\tt string } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_user\_version} - -{\bf Overview:} -Get the user\_version field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} int get_user_version (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_user\_version} - -{\bf Overview:} -Set the user\_version field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} void set_user_version (session_id s, VM ref self, int value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -{\tt int } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_is\_a\_template} - -{\bf Overview:} -Get the is\_a\_template field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} bool get_is_a_template (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -bool -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_is\_a\_template} - -{\bf Overview:} -Set the is\_a\_template field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} void set_is_a_template (session_id s, VM ref self, bool value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -{\tt bool } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_auto\_power\_on} - -{\bf Overview:} -Get the auto\_power\_on field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} bool get_auto_power_on (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -bool -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_auto\_power\_on} - -{\bf Overview:} -Set the auto\_power\_on field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} void set_auto_power_on (session_id s, VM ref self, bool value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -{\tt bool } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_suspend\_VDI} - -{\bf Overview:} -Get the suspend\_VDI field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} (VDI ref) get_suspend_VDI (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VDI ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_resident\_on} - -{\bf Overview:} -Get the resident\_on field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} (host ref) get_resident_on (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -host ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_memory\_static\_max} - -{\bf Overview:} -Get the memory/static\_max field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} int get_memory_static_max (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_memory\_static\_max} - -{\bf Overview:} -Set the memory/static\_max field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} void set_memory_static_max (session_id s, VM ref self, int value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -{\tt int } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_memory\_dynamic\_max} - -{\bf Overview:} -Get the memory/dynamic\_max field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} int get_memory_dynamic_max (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_memory\_dynamic\_max} - -{\bf Overview:} -Set the memory/dynamic\_max field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} void set_memory_dynamic_max (session_id s, VM ref self, int value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -{\tt int } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_memory\_dynamic\_min} - -{\bf Overview:} -Get the memory/dynamic\_min field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} int get_memory_dynamic_min (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_memory\_dynamic\_min} - -{\bf Overview:} -Set the memory/dynamic\_min field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} void set_memory_dynamic_min (session_id s, VM ref self, int value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -{\tt int } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_memory\_static\_min} - -{\bf Overview:} -Get the memory/static\_min field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} int get_memory_static_min (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_memory\_static\_min} - -{\bf Overview:} -Set the memory/static\_min field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} void set_memory_static_min (session_id s, VM ref self, int value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -{\tt int } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_VCPUs\_params} - -{\bf Overview:} -Get the VCPUs/params field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} ((string -> string) Map) get_VCPUs_params (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(string $\rightarrow$ string) Map -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_VCPUs\_params} - -{\bf Overview:} -Set the VCPUs/params field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} void set_VCPUs_params (session_id s, VM ref self, (string -> string) Map value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -{\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~add\_to\_VCPUs\_params} - -{\bf Overview:} -Add the given key-value pair to the VCPUs/params field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} void add_to_VCPUs_params (session_id s, VM ref self, string key, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -{\tt string } & key & Key to add \\ \hline - -{\tt string } & value & Value to add \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~remove\_from\_VCPUs\_params} - -{\bf Overview:} -Remove the given key and its corresponding value from the VCPUs/params -field of the given VM. If the key is not in that Map, then do nothing. - - \noindent {\bf Signature:} -\begin{verbatim} void remove_from_VCPUs_params (session_id s, VM ref self, string key)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -{\tt string } & key & Key to remove \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_VCPUs\_max} - -{\bf Overview:} -Get the VCPUs/max field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} int get_VCPUs_max (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_VCPUs\_max} - -{\bf Overview:} -Set the VCPUs/max field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} void set_VCPUs_max (session_id s, VM ref self, int value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -{\tt int } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_VCPUs\_at\_startup} - -{\bf Overview:} -Get the VCPUs/at\_startup field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} int get_VCPUs_at_startup (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_VCPUs\_at\_startup} - -{\bf Overview:} -Set the VCPUs/at\_startup field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} void set_VCPUs_at_startup (session_id s, VM ref self, int value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -{\tt int } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_actions\_after\_shutdown} - -{\bf Overview:} -Get the actions/after\_shutdown field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} (on_normal_exit) get_actions_after_shutdown (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -on\_normal\_exit -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_actions\_after\_shutdown} - -{\bf Overview:} -Set the actions/after\_shutdown field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} void set_actions_after_shutdown (session_id s, VM ref self, on_normal_exit value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -{\tt on\_normal\_exit } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_actions\_after\_reboot} - -{\bf Overview:} -Get the actions/after\_reboot field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} (on_normal_exit) get_actions_after_reboot (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -on\_normal\_exit -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_actions\_after\_reboot} - -{\bf Overview:} -Set the actions/after\_reboot field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} void set_actions_after_reboot (session_id s, VM ref self, on_normal_exit value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -{\tt on\_normal\_exit } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_actions\_after\_crash} - -{\bf Overview:} -Get the actions/after\_crash field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} (on_crash_behaviour) get_actions_after_crash (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -on\_crash\_behaviour -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_actions\_after\_crash} - -{\bf Overview:} -Set the actions/after\_crash field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} void set_actions_after_crash (session_id s, VM ref self, on_crash_behaviour value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -{\tt on\_crash\_behaviour } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_consoles} - -{\bf Overview:} -Get the consoles field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} ((console ref) Set) get_consoles (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(console ref) Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_VIFs} - -{\bf Overview:} -Get the VIFs field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} ((VIF ref) Set) get_VIFs (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(VIF ref) Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_VBDs} - -{\bf Overview:} -Get the VBDs field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} ((VBD ref) Set) get_VBDs (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(VBD ref) Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_crash\_dumps} - -{\bf Overview:} -Get the crash\_dumps field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} ((crashdump ref) Set) get_crash_dumps (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(crashdump ref) Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_VTPMs} - -{\bf Overview:} -Get the VTPMs field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} ((VTPM ref) Set) get_VTPMs (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(VTPM ref) Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_DPCIs} - -{\bf Overview:} -Get the DPCIs field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} ((DPCI ref) Set) get_DPCIs (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(DPCI ref) Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_DSCSIs} - -{\bf Overview:} -Get the DSCSIs field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} ((DSCSI ref) Set) get_DSCSIs (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(DSCSI ref) Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_DSCSI\_HBAs} - -{\bf Overview:} -Get the DSCSI\_HBAs field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} ((DSCSI_HBA ref) Set) get_DSCSI_HBAs (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(DSCSI\_HBA ref) Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_PV\_bootloader} - -{\bf Overview:} -Get the PV/bootloader field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} string get_PV_bootloader (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_PV\_bootloader} - -{\bf Overview:} -Set the PV/bootloader field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} void set_PV_bootloader (session_id s, VM ref self, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -{\tt string } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_PV\_kernel} - -{\bf Overview:} -Get the PV/kernel field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} string get_PV_kernel (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_PV\_kernel} - -{\bf Overview:} -Set the PV/kernel field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} void set_PV_kernel (session_id s, VM ref self, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -{\tt string } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_PV\_ramdisk} - -{\bf Overview:} -Get the PV/ramdisk field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} string get_PV_ramdisk (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_PV\_ramdisk} - -{\bf Overview:} -Set the PV/ramdisk field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} void set_PV_ramdisk (session_id s, VM ref self, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -{\tt string } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_PV\_args} - -{\bf Overview:} -Get the PV/args field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} string get_PV_args (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_PV\_args} - -{\bf Overview:} -Set the PV/args field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} void set_PV_args (session_id s, VM ref self, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -{\tt string } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_PV\_bootloader\_args} - -{\bf Overview:} -Get the PV/bootloader\_args field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} string get_PV_bootloader_args (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_PV\_bootloader\_args} - -{\bf Overview:} -Set the PV/bootloader\_args field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} void set_PV_bootloader_args (session_id s, VM ref self, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -{\tt string } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_HVM\_boot\_policy} - -{\bf Overview:} -Get the HVM/boot\_policy field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} string get_HVM_boot_policy (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_HVM\_boot\_policy} - -{\bf Overview:} -Set the HVM/boot\_policy field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} void set_HVM_boot_policy (session_id s, VM ref self, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -{\tt string } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_HVM\_boot\_params} - -{\bf Overview:} -Get the HVM/boot\_params field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} ((string -> string) Map) get_HVM_boot_params (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(string $\rightarrow$ string) Map -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_HVM\_boot\_params} - -{\bf Overview:} -Set the HVM/boot\_params field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} void set_HVM_boot_params (session_id s, VM ref self, (string -> string) Map value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -{\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~add\_to\_HVM\_boot\_params} - -{\bf Overview:} -Add the given key-value pair to the HVM/boot\_params field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} void add_to_HVM_boot_params (session_id s, VM ref self, string key, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -{\tt string } & key & Key to add \\ \hline - -{\tt string } & value & Value to add \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~remove\_from\_HVM\_boot\_params} - -{\bf Overview:} -Remove the given key and its corresponding value from the HVM/boot\_params -field of the given VM. If the key is not in that Map, then do nothing. - - \noindent {\bf Signature:} -\begin{verbatim} void remove_from_HVM_boot_params (session_id s, VM ref self, string key)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -{\tt string } & key & Key to remove \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_platform} - -{\bf Overview:} -Get the platform field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} ((string -> string) Map) get_platform (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(string $\rightarrow$ string) Map -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_platform} - -{\bf Overview:} -Set the platform field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} void set_platform (session_id s, VM ref self, (string -> string) Map value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -{\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~add\_to\_platform} - -{\bf Overview:} -Add the given key-value pair to the platform field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} void add_to_platform (session_id s, VM ref self, string key, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -{\tt string } & key & Key to add \\ \hline - -{\tt string } & value & Value to add \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~remove\_from\_platform} - -{\bf Overview:} -Remove the given key and its corresponding value from the platform field of -the given VM. If the key is not in that Map, then do nothing. - - \noindent {\bf Signature:} -\begin{verbatim} void remove_from_platform (session_id s, VM ref self, string key)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -{\tt string } & key & Key to remove \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_PCI\_bus} - -{\bf Overview:} -Get the PCI\_bus field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} string get_PCI_bus (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_PCI\_bus} - -{\bf Overview:} -Set the PCI\_bus field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} void set_PCI_bus (session_id s, VM ref self, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -{\tt string } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_other\_config} - -{\bf Overview:} -Get the other\_config field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} ((string -> string) Map) get_other_config (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(string $\rightarrow$ string) Map -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_other\_config} - -{\bf Overview:} -Set the other\_config field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} void set_other_config (session_id s, VM ref self, (string -> string) Map value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -{\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~add\_to\_other\_config} - -{\bf Overview:} -Add the given key-value pair to the other\_config field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} void add_to_other_config (session_id s, VM ref self, string key, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -{\tt string } & key & Key to add \\ \hline - -{\tt string } & value & Value to add \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~remove\_from\_other\_config} - -{\bf Overview:} -Remove the given key and its corresponding value from the other\_config -field of the given VM. If the key is not in that Map, then do nothing. - - \noindent {\bf Signature:} -\begin{verbatim} void remove_from_other_config (session_id s, VM ref self, string key)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -{\tt string } & key & Key to remove \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_domid} - -{\bf Overview:} -Get the domid field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} int get_domid (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_is\_control\_domain} - -{\bf Overview:} -Get the is\_control\_domain field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} bool get_is_control_domain (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -bool -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_metrics} - -{\bf Overview:} -Get the metrics field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} (VM_metrics ref) get_metrics (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VM\_metrics ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_guest\_metrics} - -{\bf Overview:} -Get the guest\_metrics field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} (VM_guest_metrics ref) get_guest_metrics (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VM\_guest\_metrics ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_security\_label} - -{\bf Overview:} -Get the security label field of the given VM. Refer to the XSPolicy class -for the format of the security label. - - \noindent {\bf Signature:} -\begin{verbatim} string get_security_label (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_security\_label} - -{\bf Overview:} -Set the security label field of the given VM. Refer to the XSPolicy class -for the format of the security label. - - \noindent {\bf Signature:} -\begin{verbatim} int set_security_label (session_id s, VM ref self, string -security_label, string old_label)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline -{\tt string } & security\_label & security label for the VM \\ \hline -{\tt string } & old\_label & Label value that the security label \\ -& & must currently have for the change to succeed.\\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -Returns the ssidref in case of an VM that is currently running or -paused, zero in case of a dormant VM (halted, suspended). - -\vspace{0.3cm} - -\noindent{\bf Possible Error Codes:} {\tt SECURITY\_ERROR} - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~create} - -{\bf Overview:} -Create a new VM instance, and return its handle. - - \noindent {\bf Signature:} -\begin{verbatim} (VM ref) create (session_id s, VM record args)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM record } & args & All constructor arguments \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VM ref -} - - -reference to the newly created object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~destroy} - -{\bf Overview:} -Destroy the specified VM. The VM is completely removed from the system. -This function can only be called when the VM is in the Halted State. - - \noindent {\bf Signature:} -\begin{verbatim} void destroy (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_uuid} - -{\bf Overview:} -Get a reference to the VM instance with the specified UUID. - - \noindent {\bf Signature:} -\begin{verbatim} (VM ref) get_by_uuid (session_id s, string uuid)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & uuid & UUID of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VM ref -} - - -reference to the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_record} - -{\bf Overview:} -Get a record containing the current state of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} (VM record) get_record (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VM record -} - - -all fields from the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_name\_label} - -{\bf Overview:} -Get all the VM instances with the given label. - - \noindent {\bf Signature:} -\begin{verbatim} ((VM ref) Set) get_by_name_label (session_id s, string label)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & label & label of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(VM ref) Set -} - - -references to objects with match names -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_cpu\_pool} - -{\bf Overview:} -Get the cpu\_pool field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} ((cpu_pool ref) Set) get_cpu_pool (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} -\hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(cpu\_pool ref) Set -} - - -references to cpu\_pool objects. -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_pool\_name} - -{\bf Overview:} -Get the pool\_name field of the given VM. - - \noindent {\bf Signature:} -\begin{verbatim} string get_cpu_pool (session_id s, VM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} -\hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -name of cpu pool to use -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~cpu\_pool\_migrate} - -{\bf Overview:} -Migrate the VM to another cpu\_pool. - - \noindent {\bf Signature:} -\begin{verbatim} void cpu_pool_migrate (session_id s, VM ref self, cpu_pool ref pool)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} -\hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline -{\tt cpu\_pool ref} & pool & reference to new cpu\_pool \\ \hline -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - -\vspace{0.3cm} - -\noindent{\bf Possible Error Codes:} {\tt POOL\_BAD\_STATE, VM\_BAD\_POWER\_STATE} - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_pool\_name} - -{\bf Overview:} -Set cpu pool name to use for next activation. - - \noindent {\bf Signature:} -\begin{verbatim} void set_pool_name (session_id s, VM ref self, string pool\_name)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} -\hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM ref } & self & reference to the object \\ \hline -{\tt string} & pool\_name & New pool name \\ \hline -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} - - - - -\vspace{1cm} -\newpage -\section{Class: VM\_metrics} -\subsection{Fields for class: VM\_metrics} -\begin{longtable}{|lllp{0.38\textwidth}|} -\hline -\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VM\_metrics} \\ -\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em -The metrics associated with a VM.}} \\ -\hline -Quals & Field & Type & Description \\ -\hline -$\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\ -$\mathit{RO}_\mathit{run}$ & {\tt memory/actual} & int & Guest's actual memory (bytes) \\ -$\mathit{RO}_\mathit{run}$ & {\tt VCPUs/number} & int & Current number of VCPUs \\ -$\mathit{RO}_\mathit{run}$ & {\tt VCPUs/utilisation} & (int $\rightarrow$ float) Map & Utilisation for all of guest's current VCPUs \\ -$\mathit{RO}_\mathit{run}$ & {\tt VCPUs/CPU} & (int $\rightarrow$ int) Map & VCPU to PCPU map \\ -$\mathit{RO}_\mathit{run}$ & {\tt VCPUs/params} & (string $\rightarrow$ string) Map & The live equivalent to VM.VCPUs\_params \\ -$\mathit{RO}_\mathit{run}$ & {\tt VCPUs/flags} & (int $\rightarrow$ string Set) Map & CPU flags (blocked,online,running) \\ -$\mathit{RO}_\mathit{run}$ & {\tt state} & string Set & The state of the guest, eg blocked, dying etc \\ -$\mathit{RO}_\mathit{run}$ & {\tt start\_time} & datetime & Time at which this VM was last booted \\ -$\mathit{RO}_\mathit{run}$ & {\tt last\_updated} & datetime & Time at which this information was last updated \\ -\hline -\end{longtable} -\subsection{RPCs associated with class: VM\_metrics} -\subsubsection{RPC name:~get\_all} - -{\bf Overview:} -Return a list of all the VM\_metrics instances known to the system. - - \noindent {\bf Signature:} -\begin{verbatim} ((VM_metrics ref) Set) get_all (session_id s)\end{verbatim} - - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(VM\_metrics ref) Set -} - - -references to all objects -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_uuid} - -{\bf Overview:} -Get the uuid field of the given VM\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} string get_uuid (session_id s, VM_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_memory\_actual} - -{\bf Overview:} -Get the memory/actual field of the given VM\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} int get_memory_actual (session_id s, VM_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_VCPUs\_number} - -{\bf Overview:} -Get the VCPUs/number field of the given VM\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} int get_VCPUs_number (session_id s, VM_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_VCPUs\_utilisation} - -{\bf Overview:} -Get the VCPUs/utilisation field of the given VM\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} ((int -> float) Map) get_VCPUs_utilisation (session_id s, VM_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(int $\rightarrow$ float) Map -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_VCPUs\_CPU} - -{\bf Overview:} -Get the VCPUs/CPU field of the given VM\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} ((int -> int) Map) get_VCPUs_CPU (session_id s, VM_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(int $\rightarrow$ int) Map -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_VCPUs\_params} - -{\bf Overview:} -Get the VCPUs/params field of the given VM\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} ((string -> string) Map) get_VCPUs_params (session_id s, VM_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(string $\rightarrow$ string) Map -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_VCPUs\_flags} - -{\bf Overview:} -Get the VCPUs/flags field of the given VM\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} ((int -> string Set) Map) get_VCPUs_flags (session_id s, VM_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(int $\rightarrow$ string Set) Map -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_state} - -{\bf Overview:} -Get the state field of the given VM\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} (string Set) get_state (session_id s, VM_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_start\_time} - -{\bf Overview:} -Get the start\_time field of the given VM\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} datetime get_start_time (session_id s, VM_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -datetime -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_last\_updated} - -{\bf Overview:} -Get the last\_updated field of the given VM\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} datetime get_last_updated (session_id s, VM_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -datetime -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_uuid} - -{\bf Overview:} -Get a reference to the VM\_metrics instance with the specified UUID. - - \noindent {\bf Signature:} -\begin{verbatim} (VM_metrics ref) get_by_uuid (session_id s, string uuid)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & uuid & UUID of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VM\_metrics ref -} - - -reference to the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_record} - -{\bf Overview:} -Get a record containing the current state of the given VM\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} (VM_metrics record) get_record (session_id s, VM_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VM\_metrics record -} - - -all fields from the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} - -\vspace{1cm} -\newpage -\section{Class: VM\_guest\_metrics} -\subsection{Fields for class: VM\_guest\_metrics} -\begin{longtable}{|lllp{0.38\textwidth}|} -\hline -\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VM\_guest\_metrics} \\ -\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em -The metrics reported by the guest (as opposed to inferred from outside).}} \\ -\hline -Quals & Field & Type & Description \\ -\hline -$\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\ -$\mathit{RO}_\mathit{run}$ & {\tt os\_version} & (string $\rightarrow$ string) Map & version of the OS \\ -$\mathit{RO}_\mathit{run}$ & {\tt PV\_drivers\_version} & (string $\rightarrow$ string) Map & version of the PV drivers \\ -$\mathit{RO}_\mathit{run}$ & {\tt memory} & (string $\rightarrow$ string) Map & free/used/total memory \\ -$\mathit{RO}_\mathit{run}$ & {\tt disks} & (string $\rightarrow$ string) Map & disk configuration/free space \\ -$\mathit{RO}_\mathit{run}$ & {\tt networks} & (string $\rightarrow$ string) Map & network configuration \\ -$\mathit{RO}_\mathit{run}$ & {\tt other} & (string $\rightarrow$ string) Map & anything else \\ -$\mathit{RO}_\mathit{run}$ & {\tt last\_updated} & datetime & Time at which this information was last updated \\ -\hline -\end{longtable} -\subsection{RPCs associated with class: VM\_guest\_metrics} -\subsubsection{RPC name:~get\_all} - -{\bf Overview:} -Return a list of all the VM\_guest\_metrics instances known to the system. - - \noindent {\bf Signature:} -\begin{verbatim} ((VM_guest_metrics ref) Set) get_all (session_id s)\end{verbatim} - - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(VM\_guest\_metrics ref) Set -} - - -references to all objects -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_uuid} - -{\bf Overview:} -Get the uuid field of the given VM\_guest\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} string get_uuid (session_id s, VM_guest_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_os\_version} - -{\bf Overview:} -Get the os\_version field of the given VM\_guest\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} ((string -> string) Map) get_os_version (session_id s, VM_guest_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(string $\rightarrow$ string) Map -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_PV\_drivers\_version} - -{\bf Overview:} -Get the PV\_drivers\_version field of the given VM\_guest\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} ((string -> string) Map) get_PV_drivers_version (session_id s, VM_guest_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(string $\rightarrow$ string) Map -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_memory} - -{\bf Overview:} -Get the memory field of the given VM\_guest\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} ((string -> string) Map) get_memory (session_id s, VM_guest_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(string $\rightarrow$ string) Map -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_disks} - -{\bf Overview:} -Get the disks field of the given VM\_guest\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} ((string -> string) Map) get_disks (session_id s, VM_guest_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(string $\rightarrow$ string) Map -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_networks} - -{\bf Overview:} -Get the networks field of the given VM\_guest\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} ((string -> string) Map) get_networks (session_id s, VM_guest_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(string $\rightarrow$ string) Map -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_other} - -{\bf Overview:} -Get the other field of the given VM\_guest\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} ((string -> string) Map) get_other (session_id s, VM_guest_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(string $\rightarrow$ string) Map -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_last\_updated} - -{\bf Overview:} -Get the last\_updated field of the given VM\_guest\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} datetime get_last_updated (session_id s, VM_guest_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -datetime -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_uuid} - -{\bf Overview:} -Get a reference to the VM\_guest\_metrics instance with the specified UUID. - - \noindent {\bf Signature:} -\begin{verbatim} (VM_guest_metrics ref) get_by_uuid (session_id s, string uuid)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & uuid & UUID of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VM\_guest\_metrics ref -} - - -reference to the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_record} - -{\bf Overview:} -Get a record containing the current state of the given VM\_guest\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} (VM_guest_metrics record) get_record (session_id s, VM_guest_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VM\_guest\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VM\_guest\_metrics record -} - - -all fields from the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} - -\vspace{1cm} -\newpage -\section{Class: host} -\subsection{Fields for class: host} -\begin{longtable}{|lllp{0.38\textwidth}|} -\hline -\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf host} \\ -\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A -physical host.}} \\ -\hline -Quals & Field & Type & Description \\ -\hline -$\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\ -$\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\ -$\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\ -$\mathit{RO}_\mathit{run}$ & {\tt API\_version/major} & int & major version number \\ -$\mathit{RO}_\mathit{run}$ & {\tt API\_version/minor} & int & minor version number \\ -$\mathit{RO}_\mathit{run}$ & {\tt API\_version/vendor} & string & identification of vendor \\ -$\mathit{RO}_\mathit{run}$ & {\tt API\_version/vendor\_implementation} & (string $\rightarrow$ string) Map & details of vendor implementation \\ -$\mathit{RO}_\mathit{run}$ & {\tt enabled} & bool & True if the host is currently enabled \\ -$\mathit{RO}_\mathit{run}$ & {\tt software\_version} & (string $\rightarrow$ string) Map & version strings \\ -$\mathit{RW}$ & {\tt other\_config} & (string $\rightarrow$ string) Map & additional configuration \\ -$\mathit{RO}_\mathit{run}$ & {\tt capabilities} & string Set & Xen capabilities \\ -$\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'' \\ -$\mathit{RO}_\mathit{run}$ & {\tt sched\_policy} & string & Scheduler policy currently in force on this host \\ -$\mathit{RO}_\mathit{run}$ & {\tt supported\_bootloaders} & string Set & a list of the bootloaders installed on the machine \\ -$\mathit{RO}_\mathit{run}$ & {\tt resident\_VMs} & (VM ref) Set & list of VMs currently resident on host \\ -$\mathit{RW}$ & {\tt logging} & (string $\rightarrow$ string) Map & logging configuration \\ -$\mathit{RO}_\mathit{run}$ & {\tt PIFs} & (PIF ref) Set & physical network interfaces \\ -$\mathit{RW}$ & {\tt suspend\_image\_sr} & SR ref & The SR in which VDIs for suspend images are created \\ -$\mathit{RW}$ & {\tt crash\_dump\_sr} & SR ref & The SR in which VDIs for crash dumps are created \\ -$\mathit{RO}_\mathit{run}$ & {\tt PBDs} & (PBD ref) Set & physical blockdevices \\ -$\mathit{RO}_\mathit{run}$ & {\tt PPCIs} & (PPCI ref) Set & physical PCI devices \\ -$\mathit{RO}_\mathit{run}$ & {\tt PSCSIs} & (PSCSI ref) Set & physical SCSI devices \\ -$\mathit{RO}_\mathit{run}$ & {\tt PSCSI\_HBAs} & (PSCSI\_HBA ref) Set & physical SCSI host bus adapters \\ -$\mathit{RO}_\mathit{run}$ & {\tt host\_CPUs} & (host\_cpu ref) Set & The physical CPUs on this host \\ -$\mathit{RO}_\mathit{run}$ & {\tt metrics} & host\_metrics ref & metrics associated with this host \\ -$\mathit{RO}_\mathit{run}$ & {\tt resident\_cpu\_pools} & (cpu\_pool ref) Set & list of cpu\_pools currently resident on the host \\ -\hline -\end{longtable} -\subsection{RPCs associated with class: host} -\subsubsection{RPC name:~disable} - -{\bf Overview:} -Puts the host into a state in which no new VMs can be started. Currently -active VMs on the host continue to execute. - - \noindent {\bf Signature:} -\begin{verbatim} void disable (session_id s, host ref host)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & host & The Host to disable \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~enable} - -{\bf Overview:} -Puts the host into a state in which new VMs can be started. - - \noindent {\bf Signature:} -\begin{verbatim} void enable (session_id s, host ref host)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & host & The Host to enable \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~shutdown} - -{\bf Overview:} -Shutdown the host. (This function can only be called if there are no -currently running VMs on the host and it is disabled.). - - \noindent {\bf Signature:} -\begin{verbatim} void shutdown (session_id s, host ref host)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & host & The Host to shutdown \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~reboot} - -{\bf Overview:} -Reboot the host. (This function can only be called if there are no -currently running VMs on the host and it is disabled.). - - \noindent {\bf Signature:} -\begin{verbatim} void reboot (session_id s, host ref host)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & host & The Host to reboot \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~dmesg} - -{\bf Overview:} -Get the host xen dmesg. - - \noindent {\bf Signature:} -\begin{verbatim} string dmesg (session_id s, host ref host)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & host & The Host to query \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -dmesg string -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~dmesg\_clear} - -{\bf Overview:} -Get the host xen dmesg, and clear the buffer. - - \noindent {\bf Signature:} -\begin{verbatim} string dmesg_clear (session_id s, host ref host)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & host & The Host to query \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -dmesg string -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_log} - -{\bf Overview:} -Get the host's log file. - - \noindent {\bf Signature:} -\begin{verbatim} string get_log (session_id s, host ref host)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & host & The Host to query \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -The contents of the host's primary log file -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~send\_debug\_keys} - -{\bf Overview:} -Inject the given string as debugging keys into Xen. - - \noindent {\bf Signature:} -\begin{verbatim} void send_debug_keys (session_id s, host ref host, string keys)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & host & The host \\ \hline - -{\tt string } & keys & The keys to send \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~list\_methods} - -{\bf Overview:} -List all supported methods. - - \noindent {\bf Signature:} -\begin{verbatim} (string Set) list_methods (session_id s)\end{verbatim} - - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string Set -} - - -The name of every supported method. -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_all} - -{\bf Overview:} -Return a list of all the hosts known to the system. - - \noindent {\bf Signature:} -\begin{verbatim} ((host ref) Set) get_all (session_id s)\end{verbatim} - - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(host ref) Set -} - - -A list of all the IDs of all the hosts -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_uuid} - -{\bf Overview:} -Get the uuid field of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} string get_uuid (session_id s, host ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_name\_label} - -{\bf Overview:} -Get the name/label field of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} string get_name_label (session_id s, host ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_name\_label} - -{\bf Overview:} -Set the name/label field of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} void set_name_label (session_id s, host ref self, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -{\tt string } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_name\_description} - -{\bf Overview:} -Get the name/description field of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} string get_name_description (session_id s, host ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_name\_description} - -{\bf Overview:} -Set the name/description field of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} void set_name_description (session_id s, host ref self, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -{\tt string } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_API\_version\_major} - -{\bf Overview:} -Get the API\_version/major field of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} int get_API_version_major (session_id s, host ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_API\_version\_minor} - -{\bf Overview:} -Get the API\_version/minor field of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} int get_API_version_minor (session_id s, host ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_API\_version\_vendor} - -{\bf Overview:} -Get the API\_version/vendor field of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} string get_API_version_vendor (session_id s, host ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_API\_version\_vendor\_implementation} - -{\bf Overview:} -Get the API\_version/vendor\_implementation field of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} ((string -> string) Map) get_API_version_vendor_implementation (session_id s, host ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(string $\rightarrow$ string) Map -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_enabled} - -{\bf Overview:} -Get the enabled field of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} bool get_enabled (session_id s, host ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -bool -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_software\_version} - -{\bf Overview:} -Get the software\_version field of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} ((string -> string) Map) get_software_version (session_id s, host ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(string $\rightarrow$ string) Map -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_other\_config} - -{\bf Overview:} -Get the other\_config field of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} ((string -> string) Map) get_other_config (session_id s, host ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(string $\rightarrow$ string) Map -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_other\_config} - -{\bf Overview:} -Set the other\_config field of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} void set_other_config (session_id s, host ref self, (string -> string) Map value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -{\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~add\_to\_other\_config} - -{\bf Overview:} -Add the given key-value pair to the other\_config field of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} void add_to_other_config (session_id s, host ref self, string key, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -{\tt string } & key & Key to add \\ \hline - -{\tt string } & value & Value to add \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~remove\_from\_other\_config} - -{\bf Overview:} -Remove the given key and its corresponding value from the other\_config -field of the given host. If the key is not in that Map, then do nothing. - - \noindent {\bf Signature:} -\begin{verbatim} void remove_from_other_config (session_id s, host ref self, string key)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -{\tt string } & key & Key to remove \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_capabilities} - -{\bf Overview:} -Get the capabilities field of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} (string Set) get_capabilities (session_id s, host ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_cpu\_configuration} - -{\bf Overview:} -Get the cpu\_configuration field of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} ((string -> string) Map) get_cpu_configuration (session_id s, host ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(string $\rightarrow$ string) Map -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_sched\_policy} - -{\bf Overview:} -Get the sched\_policy field of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} string get_sched_policy (session_id s, host ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_supported\_bootloaders} - -{\bf Overview:} -Get the supported\_bootloaders field of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} (string Set) get_supported_bootloaders (session_id s, host ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_resident\_VMs} - -{\bf Overview:} -Get the resident\_VMs field of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} ((VM ref) Set) get_resident_VMs (session_id s, host ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(VM ref) Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_logging} - -{\bf Overview:} -Get the logging field of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} ((string -> string) Map) get_logging (session_id s, host ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(string $\rightarrow$ string) Map -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_logging} - -{\bf Overview:} -Set the logging field of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} void set_logging (session_id s, host ref self, (string -> string) Map value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -{\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~add\_to\_logging} - -{\bf Overview:} -Add the given key-value pair to the logging field of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} void add_to_logging (session_id s, host ref self, string key, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -{\tt string } & key & Key to add \\ \hline - -{\tt string } & value & Value to add \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~remove\_from\_logging} - -{\bf Overview:} -Remove the given key and its corresponding value from the logging field of -the given host. If the key is not in that Map, then do nothing. - - \noindent {\bf Signature:} -\begin{verbatim} void remove_from_logging (session_id s, host ref self, string key)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -{\tt string } & key & Key to remove \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_PIFs} - -{\bf Overview:} -Get the PIFs field of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} ((PIF ref) Set) get_PIFs (session_id s, host ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(PIF ref) Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_suspend\_image\_sr} - -{\bf Overview:} -Get the suspend\_image\_sr field of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} (SR ref) get_suspend_image_sr (session_id s, host ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -SR ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_suspend\_image\_sr} - -{\bf Overview:} -Set the suspend\_image\_sr field of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} void set_suspend_image_sr (session_id s, host ref self, SR ref value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -{\tt SR ref } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_crash\_dump\_sr} - -{\bf Overview:} -Get the crash\_dump\_sr field of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} (SR ref) get_crash_dump_sr (session_id s, host ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -SR ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_crash\_dump\_sr} - -{\bf Overview:} -Set the crash\_dump\_sr field of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} void set_crash_dump_sr (session_id s, host ref self, SR ref value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -{\tt SR ref } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_PBDs} - -{\bf Overview:} -Get the PBDs field of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} ((PBD ref) Set) get_PBDs (session_id s, host ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(PBD ref) Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_PPCIs} - -{\bf Overview:} -Get the PPCIs field of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} ((PPCI ref) Set) get_PPCIs (session_id s, host ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(PPCI ref) Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_PSCSIs} - -{\bf Overview:} -Get the PSCSIs field of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} ((PSCSI ref) Set) get_PSCSIs (session_id s, host ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(PSCSI ref) Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_PSCSI\_HBAs} - -{\bf Overview:} -Get the PSCSI\_HBAs field of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} ((PSCSI_HBA ref) Set) get_PSCSI_HBAs (session_id s, host ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(PSCSI\_HBA ref) Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_host\_CPUs} - -{\bf Overview:} -Get the host\_CPUs field of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} ((host_cpu ref) Set) get_host_CPUs (session_id s, host ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(host\_cpu ref) Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_metrics} - -{\bf Overview:} -Get the metrics field of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} (host_metrics ref) get_metrics (session_id s, host ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -host\_metrics ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_uuid} - -{\bf Overview:} -Get a reference to the host instance with the specified UUID. - - \noindent {\bf Signature:} -\begin{verbatim} (host ref) get_by_uuid (session_id s, string uuid)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & uuid & UUID of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -host ref -} - - -reference to the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_record} - -{\bf Overview:} -Get a record containing the current state of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} (host record) get_record (session_id s, host ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -host record -} - - -all fields from the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_name\_label} - -{\bf Overview:} -Get all the host instances with the given label. - - \noindent {\bf Signature:} -\begin{verbatim} ((host ref) Set) get_by_name_label (session_id s, string label)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & label & label of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(host ref) Set -} - - -references to objects with match names -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_resident\_cpu\_pools} - -{\bf Overview:} -Get the resident\_cpu\_pools field of the given host. - - \noindent {\bf Signature:} -\begin{verbatim} ((cpu_pool ref) Set) get_resident_cpu_pools (session_id s, host ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host ref } & self & reference to the object \\ \hline -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(cpu\_pool ref) Set -} - - -references to all known cpu\_pools. -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} - - -\vspace{1cm} -\newpage -\section{Class: host\_metrics} -\subsection{Fields for class: host\_metrics} -\begin{longtable}{|lllp{0.38\textwidth}|} -\hline -\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf host\_metrics} \\ -\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em -The metrics associated with a host.}} \\ -\hline -Quals & Field & Type & Description \\ -\hline -$\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\ -$\mathit{RO}_\mathit{run}$ & {\tt memory/total} & int & Host's total memory (bytes) \\ -$\mathit{RO}_\mathit{run}$ & {\tt memory/free} & int & Host's free memory (bytes) \\ -$\mathit{RO}_\mathit{run}$ & {\tt last\_updated} & datetime & Time at which this information was last updated \\ -\hline -\end{longtable} -\subsection{RPCs associated with class: host\_metrics} -\subsubsection{RPC name:~get\_all} - -{\bf Overview:} -Return a list of all the host\_metrics instances known to the system. - - \noindent {\bf Signature:} -\begin{verbatim} ((host_metrics ref) Set) get_all (session_id s)\end{verbatim} - - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(host\_metrics ref) Set -} - - -references to all objects -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_uuid} - -{\bf Overview:} -Get the uuid field of the given host\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} string get_uuid (session_id s, host_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_memory\_total} - -{\bf Overview:} -Get the memory/total field of the given host\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} int get_memory_total (session_id s, host_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_memory\_free} - -{\bf Overview:} -Get the memory/free field of the given host\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} int get_memory_free (session_id s, host_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_last\_updated} - -{\bf Overview:} -Get the last\_updated field of the given host\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} datetime get_last_updated (session_id s, host_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -datetime -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_uuid} - -{\bf Overview:} -Get a reference to the host\_metrics instance with the specified UUID. - - \noindent {\bf Signature:} -\begin{verbatim} (host_metrics ref) get_by_uuid (session_id s, string uuid)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & uuid & UUID of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -host\_metrics ref -} - - -reference to the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_record} - -{\bf Overview:} -Get a record containing the current state of the given host\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} (host_metrics record) get_record (session_id s, host_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -host\_metrics record -} - - -all fields from the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} - -\vspace{1cm} -\newpage -\section{Class: host\_cpu} -\subsection{Fields for class: host\_cpu} -\begin{longtable}{|lllp{0.38\textwidth}|} -\hline -\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf host\_cpu} \\ -\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A physical CPU}} \\ -\hline -Quals & Field & Type & Description \\ -\hline -$\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\ -$\mathit{RO}_\mathit{run}$ & {\tt host} & host ref & the host the CPU is in \\ -$\mathit{RO}_\mathit{run}$ & {\tt number} & int & the number of the physical CPU within the host \\ -$\mathit{RO}_\mathit{run}$ & {\tt vendor} & string & the vendor of the physical CPU \\ -$\mathit{RO}_\mathit{run}$ & {\tt speed} & int & the speed of the physical CPU \\ -$\mathit{RO}_\mathit{run}$ & {\tt modelname} & string & the model name of the physical CPU \\ -$\mathit{RO}_\mathit{run}$ & {\tt stepping} & string & the stepping of the physical CPU \\ -$\mathit{RO}_\mathit{run}$ & {\tt flags} & string & the flags of the physical CPU (a decoded version of the features field) \\ -$\mathit{RO}_\mathit{run}$ & {\tt features} & string & the physical CPU feature bitmap \\ -$\mathit{RO}_\mathit{run}$ & {\tt utilisation} & float & the current CPU utilisation \\ -$\mathit{RO}_\mathit{run}$ & {\tt cpu\_pool} & (cpu\_pool ref) Set & reference to cpu\_pool the cpu belongs to \\ -\hline -\end{longtable} -\subsection{RPCs associated with class: host\_cpu} -\subsubsection{RPC name:~get\_all} - -{\bf Overview:} -Return a list of all the host\_cpus known to the system. - - \noindent {\bf Signature:} -\begin{verbatim} ((host_cpu ref) Set) get_all (session_id s)\end{verbatim} - - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(host\_cpu ref) Set -} - - -references to all objects -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_uuid} - -{\bf Overview:} -Get the uuid field of the given host\_cpu. - - \noindent {\bf Signature:} -\begin{verbatim} string get_uuid (session_id s, host_cpu ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host\_cpu ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_host} - -{\bf Overview:} -Get the host field of the given host\_cpu. - - \noindent {\bf Signature:} -\begin{verbatim} (host ref) get_host (session_id s, host_cpu ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host\_cpu ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -host ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_number} - -{\bf Overview:} -Get the number field of the given host\_cpu. - - \noindent {\bf Signature:} -\begin{verbatim} int get_number (session_id s, host_cpu ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host\_cpu ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_vendor} - -{\bf Overview:} -Get the vendor field of the given host\_cpu. - - \noindent {\bf Signature:} -\begin{verbatim} string get_vendor (session_id s, host_cpu ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host\_cpu ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_speed} - -{\bf Overview:} -Get the speed field of the given host\_cpu. - - \noindent {\bf Signature:} -\begin{verbatim} int get_speed (session_id s, host_cpu ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host\_cpu ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_modelname} - -{\bf Overview:} -Get the modelname field of the given host\_cpu. - - \noindent {\bf Signature:} -\begin{verbatim} string get_modelname (session_id s, host_cpu ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host\_cpu ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_stepping} - -{\bf Overview:} -Get the stepping field of the given host\_cpu. - - \noindent {\bf Signature:} -\begin{verbatim} string get_stepping (session_id s, host_cpu ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host\_cpu ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_flags} - -{\bf Overview:} -Get the flags field of the given host\_cpu. As of this version of the -API, the semantics of the returned string are explicitly unspecified, -and may change in the future. - - \noindent {\bf Signature:} -\begin{verbatim} string get_flags (session_id s, host_cpu ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host\_cpu ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_features} - -{\bf Overview:} -Get the features field of the given host\_cpu. As of this version of the -API, the semantics of the returned string are explicitly unspecified, -and may change in the future. - - \noindent {\bf Signature:} -\begin{verbatim} string get_features (session_id s, host_cpu ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host\_cpu ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_utilisation} - -{\bf Overview:} -Get the utilisation field of the given host\_cpu. - - \noindent {\bf Signature:} -\begin{verbatim} float get_utilisation (session_id s, host_cpu ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host\_cpu ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -float -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_uuid} - -{\bf Overview:} -Get a reference to the host\_cpu instance with the specified UUID. - - \noindent {\bf Signature:} -\begin{verbatim} (host_cpu ref) get_by_uuid (session_id s, string uuid)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & uuid & UUID of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -host\_cpu ref -} - - -reference to the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_record} - -{\bf Overview:} -Get a record containing the current state of the given host\_cpu. - - \noindent {\bf Signature:} -\begin{verbatim} (host_cpu record) get_record (session_id s, host_cpu ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host\_cpu ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -host\_cpu record -} - - -all fields from the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_cpu\_pool} - -{\bf Overview:} -Get the cpu\_pool field of the given host\_cpu. - - \noindent {\bf Signature:} -\begin{verbatim} ((cpu_pool) Set) get_cpu_pool (session_id s, host_cpu ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt host\_cpu ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(cpu\_pool) Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_unassigned\_cpus} - -{\bf Overview:} -Get a reference to all cpus that are not assigend to any cpu\_pool. - - \noindent {\bf Signature:} -\begin{verbatim} ((host_cpu) Set) get_unassigned_cpus (session_id s)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(host\_cpu ref) Set -} - - -Set of free (not assigned) cpus -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} - - - -\vspace{1cm} -\newpage -\section{Class: network} -\subsection{Fields for class: network} -\begin{longtable}{|lllp{0.38\textwidth}|} -\hline -\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf network} \\ -\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A -virtual network.}} \\ -\hline -Quals & Field & Type & Description \\ -\hline -$\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\ -$\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\ -$\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\ -$\mathit{RO}_\mathit{run}$ & {\tt VIFs} & (VIF ref) Set & list of connected vifs \\ -$\mathit{RO}_\mathit{run}$ & {\tt PIFs} & (PIF ref) Set & list of connected pifs \\ -$\mathit{RW}$ & {\tt default\_gateway} & string & default gateway \\ -$\mathit{RW}$ & {\tt default\_netmask} & string & default netmask \\ -$\mathit{RW}$ & {\tt other\_config} & (string $\rightarrow$ string) Map & additional configuration \\ -\hline -\end{longtable} -\subsection{RPCs associated with class: network} -\subsubsection{RPC name:~get\_all} - -{\bf Overview:} -Return a list of all the networks known to the system - - \noindent {\bf Signature:} -\begin{verbatim} ((network ref) Set) get_all (session_id s)\end{verbatim} - - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(network ref) Set -} - - -A list of all the IDs of all the networks -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_uuid} - -{\bf Overview:} -Get the uuid field of the given network. - - \noindent {\bf Signature:} -\begin{verbatim} string get_uuid (session_id s, network ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt network ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_name\_label} - -{\bf Overview:} -Get the name/label field of the given network. - - \noindent {\bf Signature:} -\begin{verbatim} string get_name_label (session_id s, network ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt network ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_name\_label} - -{\bf Overview:} -Set the name/label field of the given network. - - \noindent {\bf Signature:} -\begin{verbatim} void set_name_label (session_id s, network ref self, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt network ref } & self & reference to the object \\ \hline - -{\tt string } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_name\_description} - -{\bf Overview:} -Get the name/description field of the given network. - - \noindent {\bf Signature:} -\begin{verbatim} string get_name_description (session_id s, network ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt network ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_name\_description} - -{\bf Overview:} -Set the name/description field of the given network. - - \noindent {\bf Signature:} -\begin{verbatim} void set_name_description (session_id s, network ref self, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt network ref } & self & reference to the object \\ \hline - -{\tt string } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_VIFs} - -{\bf Overview:} -Get the VIFs field of the given network. - - \noindent {\bf Signature:} -\begin{verbatim} ((VIF ref) Set) get_VIFs (session_id s, network ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt network ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(VIF ref) Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_PIFs} - -{\bf Overview:} -Get the PIFs field of the given network. - - \noindent {\bf Signature:} -\begin{verbatim} ((PIF ref) Set) get_PIFs (session_id s, network ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt network ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(PIF ref) Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_default\_gateway} - -{\bf Overview:} -Get the default\_gateway field of the given network. - - \noindent {\bf Signature:} -\begin{verbatim} string get_default_gateway (session_id s, network ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt network ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_default\_gateway} - -{\bf Overview:} -Set the default\_gateway field of the given network. - - \noindent {\bf Signature:} -\begin{verbatim} void set_default_gateway (session_id s, network ref self, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt network ref } & self & reference to the object \\ \hline - -{\tt string } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_default\_netmask} - -{\bf Overview:} -Get the default\_netmask field of the given network. - - \noindent {\bf Signature:} -\begin{verbatim} string get_default_netmask (session_id s, network ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt network ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_default\_netmask} - -{\bf Overview:} -Set the default\_netmask field of the given network. - - \noindent {\bf Signature:} -\begin{verbatim} void set_default_netmask (session_id s, network ref self, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt network ref } & self & reference to the object \\ \hline - -{\tt string } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_other\_config} - -{\bf Overview:} -Get the other\_config field of the given network. - - \noindent {\bf Signature:} -\begin{verbatim} ((string -> string) Map) get_other_config (session_id s, network ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt network ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(string $\rightarrow$ string) Map -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_other\_config} - -{\bf Overview:} -Set the other\_config field of the given network. - - \noindent {\bf Signature:} -\begin{verbatim} void set_other_config (session_id s, network ref self, (string -> string) Map value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt network ref } & self & reference to the object \\ \hline - -{\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~add\_to\_other\_config} - -{\bf Overview:} -Add the given key-value pair to the other\_config field of the given -network. - - \noindent {\bf Signature:} -\begin{verbatim} void add_to_other_config (session_id s, network ref self, string key, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt network ref } & self & reference to the object \\ \hline - -{\tt string } & key & Key to add \\ \hline - -{\tt string } & value & Value to add \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~remove\_from\_other\_config} - -{\bf Overview:} -Remove the given key and its corresponding value from the other\_config -field of the given network. If the key is not in that Map, then do -nothing. - - \noindent {\bf Signature:} -\begin{verbatim} void remove_from_other_config (session_id s, network ref self, string key)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt network ref } & self & reference to the object \\ \hline - -{\tt string } & key & Key to remove \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~create} - -{\bf Overview:} -Create a new network instance, and return its handle. - - \noindent {\bf Signature:} -\begin{verbatim} (network ref) create (session_id s, network record args)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt network record } & args & All constructor arguments \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -network ref -} - - -reference to the newly created object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~destroy} - -{\bf Overview:} -Destroy the specified network instance. - - \noindent {\bf Signature:} -\begin{verbatim} void destroy (session_id s, network ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt network ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_uuid} - -{\bf Overview:} -Get a reference to the network instance with the specified UUID. - - \noindent {\bf Signature:} -\begin{verbatim} (network ref) get_by_uuid (session_id s, string uuid)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & uuid & UUID of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -network ref -} - - -reference to the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_record} - -{\bf Overview:} -Get a record containing the current state of the given network. - - \noindent {\bf Signature:} -\begin{verbatim} (network record) get_record (session_id s, network ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt network ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -network record -} - - -all fields from the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_name\_label} - -{\bf Overview:} -Get all the network instances with the given label. - - \noindent {\bf Signature:} -\begin{verbatim} ((network ref) Set) get_by_name_label (session_id s, string label)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & label & label of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(network ref) Set -} - - -references to objects with match names -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} - -\vspace{1cm} -\newpage -\section{Class: VIF} -\subsection{Fields for class: VIF} -\begin{longtable}{|lllp{0.38\textwidth}|} -\hline -\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VIF} \\ -\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A -virtual network interface.}} \\ -\hline -Quals & Field & Type & Description \\ -\hline -$\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\ -$\mathit{RW}$ & {\tt device} & string & name of network device as exposed to guest e.g. eth0 \\ -$\mathit{RO}_\mathit{ins}$ & {\tt network} & network ref & virtual network to which this vif is connected \\ -$\mathit{RO}_\mathit{ins}$ & {\tt VM} & VM ref & virtual machine to which this vif is connected \\ -$\mathit{RW}$ & {\tt MAC} & string & ethernet MAC address of virtual interface, as exposed to guest \\ -$\mathit{RW}$ & {\tt MTU} & int & MTU in octets \\ -$\mathit{RO}_\mathit{run}$ & {\tt currently\_attached} & bool & is the device currently attached (erased on reboot) \\ -$\mathit{RO}_\mathit{run}$ & {\tt status\_code} & int & error/success code associated with last attach-operation (erased on reboot) \\ -$\mathit{RO}_\mathit{run}$ & {\tt status\_detail} & string & error/success information associated with last attach-operation status (erased on reboot) \\ -$\mathit{RO}_\mathit{run}$ & {\tt runtime\_properties} & (string $\rightarrow$ string) Map & Device runtime properties \\ -$\mathit{RW}$ & {\tt qos/algorithm\_type} & string & QoS algorithm to use \\ -$\mathit{RW}$ & {\tt qos/algorithm\_params} & (string $\rightarrow$ string) Map & parameters for chosen QoS algorithm \\ -$\mathit{RO}_\mathit{run}$ & {\tt qos/supported\_algorithms} & string Set & supported QoS algorithms for this VIF \\ -$\mathit{RO}_\mathit{run}$ & {\tt metrics} & VIF\_metrics ref & metrics associated with this VIF \\ -\hline -\end{longtable} -\subsection{RPCs associated with class: VIF} -\subsubsection{RPC name:~plug} - -{\bf Overview:} -Hotplug the specified VIF, dynamically attaching it to the running VM. - - \noindent {\bf Signature:} -\begin{verbatim} void plug (session_id s, VIF ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VIF ref } & self & The VIF to hotplug \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~unplug} - -{\bf Overview:} -Hot-unplug the specified VIF, dynamically unattaching it from the running -VM. - - \noindent {\bf Signature:} -\begin{verbatim} void unplug (session_id s, VIF ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VIF ref } & self & The VIF to hot-unplug \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_all} - -{\bf Overview:} -Return a list of all the VIFs known to the system. - - \noindent {\bf Signature:} -\begin{verbatim} ((VIF ref) Set) get_all (session_id s)\end{verbatim} - - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(VIF ref) Set -} - - -references to all objects -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_uuid} - -{\bf Overview:} -Get the uuid field of the given VIF. - - \noindent {\bf Signature:} -\begin{verbatim} string get_uuid (session_id s, VIF ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VIF ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_device} - -{\bf Overview:} -Get the device field of the given VIF. - - \noindent {\bf Signature:} -\begin{verbatim} string get_device (session_id s, VIF ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VIF ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_device} - -{\bf Overview:} -Set the device field of the given VIF. - - \noindent {\bf Signature:} -\begin{verbatim} void set_device (session_id s, VIF ref self, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VIF ref } & self & reference to the object \\ \hline - -{\tt string } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_network} - -{\bf Overview:} -Get the network field of the given VIF. - - \noindent {\bf Signature:} -\begin{verbatim} (network ref) get_network (session_id s, VIF ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VIF ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -network ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_VM} - -{\bf Overview:} -Get the VM field of the given VIF. - - \noindent {\bf Signature:} -\begin{verbatim} (VM ref) get_VM (session_id s, VIF ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VIF ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VM ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_MAC} - -{\bf Overview:} -Get the MAC field of the given VIF. - - \noindent {\bf Signature:} -\begin{verbatim} string get_MAC (session_id s, VIF ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VIF ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_MAC} - -{\bf Overview:} -Set the MAC field of the given VIF. - - \noindent {\bf Signature:} -\begin{verbatim} void set_MAC (session_id s, VIF ref self, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VIF ref } & self & reference to the object \\ \hline - -{\tt string } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_MTU} - -{\bf Overview:} -Get the MTU field of the given VIF. - - \noindent {\bf Signature:} -\begin{verbatim} int get_MTU (session_id s, VIF ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VIF ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_MTU} - -{\bf Overview:} -Set the MTU field of the given VIF. - - \noindent {\bf Signature:} -\begin{verbatim} void set_MTU (session_id s, VIF ref self, int value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VIF ref } & self & reference to the object \\ \hline - -{\tt int } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_currently\_attached} - -{\bf Overview:} -Get the currently\_attached field of the given VIF. - - \noindent {\bf Signature:} -\begin{verbatim} bool get_currently_attached (session_id s, VIF ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VIF ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -bool -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_status\_code} - -{\bf Overview:} -Get the status\_code field of the given VIF. - - \noindent {\bf Signature:} -\begin{verbatim} int get_status_code (session_id s, VIF ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VIF ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_status\_detail} - -{\bf Overview:} -Get the status\_detail field of the given VIF. - - \noindent {\bf Signature:} -\begin{verbatim} string get_status_detail (session_id s, VIF ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VIF ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_runtime\_properties} - -{\bf Overview:} -Get the runtime\_properties field of the given VIF. - - \noindent {\bf Signature:} -\begin{verbatim} ((string -> string) Map) get_runtime_properties (session_id s, VIF ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VIF ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(string $\rightarrow$ string) Map -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_qos\_algorithm\_type} - -{\bf Overview:} -Get the qos/algorithm\_type field of the given VIF. - - \noindent {\bf Signature:} -\begin{verbatim} string get_qos_algorithm_type (session_id s, VIF ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VIF ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_qos\_algorithm\_type} - -{\bf Overview:} -Set the qos/algorithm\_type field of the given VIF. - - \noindent {\bf Signature:} -\begin{verbatim} void set_qos_algorithm_type (session_id s, VIF ref self, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VIF ref } & self & reference to the object \\ \hline - -{\tt string } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_qos\_algorithm\_params} - -{\bf Overview:} -Get the qos/algorithm\_params field of the given VIF. - - \noindent {\bf Signature:} -\begin{verbatim} ((string -> string) Map) get_qos_algorithm_params (session_id s, VIF ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VIF ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(string $\rightarrow$ string) Map -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_qos\_algorithm\_params} - -{\bf Overview:} -Set the qos/algorithm\_params field of the given VIF. - - \noindent {\bf Signature:} -\begin{verbatim} void set_qos_algorithm_params (session_id s, VIF ref self, (string -> string) Map value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VIF ref } & self & reference to the object \\ \hline - -{\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~add\_to\_qos\_algorithm\_params} - -{\bf Overview:} -Add the given key-value pair to the qos/algorithm\_params field of the -given VIF. - - \noindent {\bf Signature:} -\begin{verbatim} void add_to_qos_algorithm_params (session_id s, VIF ref self, string key, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VIF ref } & self & reference to the object \\ \hline - -{\tt string } & key & Key to add \\ \hline - -{\tt string } & value & Value to add \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~remove\_from\_qos\_algorithm\_params} - -{\bf Overview:} -Remove the given key and its corresponding value from the -qos/algorithm\_params field of the given VIF. If the key is not in that -Map, then do nothing. - - \noindent {\bf Signature:} -\begin{verbatim} void remove_from_qos_algorithm_params (session_id s, VIF ref self, string key)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VIF ref } & self & reference to the object \\ \hline - -{\tt string } & key & Key to remove \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_qos\_supported\_algorithms} - -{\bf Overview:} -Get the qos/supported\_algorithms field of the given VIF. - - \noindent {\bf Signature:} -\begin{verbatim} (string Set) get_qos_supported_algorithms (session_id s, VIF ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VIF ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_metrics} - -{\bf Overview:} -Get the metrics field of the given VIF. - - \noindent {\bf Signature:} -\begin{verbatim} (VIF_metrics ref) get_metrics (session_id s, VIF ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VIF ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VIF\_metrics ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_security\_label} - -{\bf Overview:} -Set the security label of the given VIF. Refer to the XSPolicy class -for the format of the security label. - - \noindent {\bf Signature:} -\begin{verbatim} void set_security_label (session_id s, VIF ref self, string -security_label, string old_label)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VIF ref } & self & reference to the object \\ \hline - -{\tt string } & security\_label & New value of the security label \\ \hline -{\tt string } & old\_label & Label value that the security label \\ -& & must currently have for the change to succeed.\\ \hline -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - -\vspace{0.3cm} - -\noindent{\bf Possible Error Codes:} {\tt SECURITY\_ERROR} - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_security\_label} - -{\bf Overview:} -Get the security label of the given VIF. - - \noindent {\bf Signature:} -\begin{verbatim} string get_security_label (session_id s, VIF ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VIF ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the given field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~create} - -{\bf Overview:} -Create a new VIF instance, and return its handle. - - \noindent {\bf Signature:} -\begin{verbatim} (VIF ref) create (session_id s, VIF record args)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VIF record } & args & All constructor arguments \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VIF ref -} - - -reference to the newly created object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~destroy} - -{\bf Overview:} -Destroy the specified VIF instance. - - \noindent {\bf Signature:} -\begin{verbatim} void destroy (session_id s, VIF ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VIF ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_uuid} - -{\bf Overview:} -Get a reference to the VIF instance with the specified UUID. - - \noindent {\bf Signature:} -\begin{verbatim} (VIF ref) get_by_uuid (session_id s, string uuid)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & uuid & UUID of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VIF ref -} - - -reference to the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_record} - -{\bf Overview:} -Get a record containing the current state of the given VIF. - - \noindent {\bf Signature:} -\begin{verbatim} (VIF record) get_record (session_id s, VIF ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VIF ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VIF record -} - - -all fields from the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} - -\vspace{1cm} -\newpage -\section{Class: VIF\_metrics} -\subsection{Fields for class: VIF\_metrics} -\begin{longtable}{|lllp{0.38\textwidth}|} -\hline -\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VIF\_metrics} \\ -\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em -The metrics associated with a virtual network device.}} \\ -\hline -Quals & Field & Type & Description \\ -\hline -$\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\ -$\mathit{RO}_\mathit{run}$ & {\tt io/read\_kbs} & float & Read bandwidth (KiB/s) \\ -$\mathit{RO}_\mathit{run}$ & {\tt io/write\_kbs} & float & Write bandwidth (KiB/s) \\ -$\mathit{RO}_\mathit{run}$ & {\tt last\_updated} & datetime & Time at which this information was last updated \\ -\hline -\end{longtable} -\subsection{RPCs associated with class: VIF\_metrics} -\subsubsection{RPC name:~get\_all} - -{\bf Overview:} -Return a list of all the VIF\_metrics instances known to the system. - - \noindent {\bf Signature:} -\begin{verbatim} ((VIF_metrics ref) Set) get_all (session_id s)\end{verbatim} - - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(VIF\_metrics ref) Set -} - - -references to all objects -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_uuid} - -{\bf Overview:} -Get the uuid field of the given VIF\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} string get_uuid (session_id s, VIF_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VIF\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_io\_read\_kbs} - -{\bf Overview:} -Get the io/read\_kbs field of the given VIF\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} float get_io_read_kbs (session_id s, VIF_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VIF\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -float -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_io\_write\_kbs} - -{\bf Overview:} -Get the io/write\_kbs field of the given VIF\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} float get_io_write_kbs (session_id s, VIF_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VIF\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -float -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_last\_updated} - -{\bf Overview:} -Get the last\_updated field of the given VIF\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} datetime get_last_updated (session_id s, VIF_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VIF\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -datetime -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_uuid} - -{\bf Overview:} -Get a reference to the VIF\_metrics instance with the specified UUID. - - \noindent {\bf Signature:} -\begin{verbatim} (VIF_metrics ref) get_by_uuid (session_id s, string uuid)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & uuid & UUID of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VIF\_metrics ref -} - - -reference to the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_record} - -{\bf Overview:} -Get a record containing the current state of the given VIF\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} (VIF_metrics record) get_record (session_id s, VIF_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VIF\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VIF\_metrics record -} - - -all fields from the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} - -\vspace{1cm} -\newpage -\section{Class: PIF} -\subsection{Fields for class: PIF} -\begin{longtable}{|lllp{0.38\textwidth}|} -\hline -\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf PIF} \\ -\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A -physical network interface (note separate VLANs are represented as several -PIFs).}} \\ -\hline -Quals & Field & Type & Description \\ -\hline -$\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\ -$\mathit{RW}$ & {\tt device} & string & machine-readable name of the interface (e.g. eth0) \\ -$\mathit{RO}_\mathit{ins}$ & {\tt network} & network ref & virtual network to which this pif is connected \\ -$\mathit{RO}_\mathit{ins}$ & {\tt host} & host ref & physical machine to which this pif is connected \\ -$\mathit{RW}$ & {\tt MAC} & string & ethernet MAC address of physical interface \\ -$\mathit{RW}$ & {\tt MTU} & int & MTU in octets \\ -$\mathit{RW}$ & {\tt VLAN} & int & VLAN tag for all traffic passing through this interface \\ -$\mathit{RO}_\mathit{run}$ & {\tt metrics} & PIF\_metrics ref & metrics associated with this PIF \\ -\hline -\end{longtable} -\subsection{RPCs associated with class: PIF} -\subsubsection{RPC name:~create\_VLAN} - -{\bf Overview:} -Create a VLAN interface from an existing physical interface. - - \noindent {\bf Signature:} -\begin{verbatim} (PIF ref) create_VLAN (session_id s, string device, network ref network, host ref host, int VLAN)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & device & physical interface on which to crate the VLAN interface \\ \hline - -{\tt network ref } & network & network to which this interface should be connected \\ \hline - -{\tt host ref } & host & physical machine to which this PIF is connected \\ \hline - -{\tt int } & VLAN & VLAN tag for the new interface \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -PIF ref -} - - -The reference of the created PIF object -\vspace{0.3cm} - -\noindent{\bf Possible Error Codes:} {\tt VLAN\_TAG\_INVALID} - -\vspace{0.6cm} -\subsubsection{RPC name:~destroy} - -{\bf Overview:} -Destroy the interface (provided it is a synthetic interface like a VLAN; -fail if it is a physical interface). - - \noindent {\bf Signature:} -\begin{verbatim} void destroy (session_id s, PIF ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PIF ref } & self & the PIF object to destroy \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} - -\noindent{\bf Possible Error Codes:} {\tt PIF\_IS\_PHYSICAL} - -\vspace{0.6cm} -\subsubsection{RPC name:~get\_all} - -{\bf Overview:} -Return a list of all the PIFs known to the system. - - \noindent {\bf Signature:} -\begin{verbatim} ((PIF ref) Set) get_all (session_id s)\end{verbatim} - - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(PIF ref) Set -} - - -references to all objects -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_uuid} - -{\bf Overview:} -Get the uuid field of the given PIF. - - \noindent {\bf Signature:} -\begin{verbatim} string get_uuid (session_id s, PIF ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PIF ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_device} - -{\bf Overview:} -Get the device field of the given PIF. - - \noindent {\bf Signature:} -\begin{verbatim} string get_device (session_id s, PIF ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PIF ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_device} - -{\bf Overview:} -Set the device field of the given PIF. - - \noindent {\bf Signature:} -\begin{verbatim} void set_device (session_id s, PIF ref self, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PIF ref } & self & reference to the object \\ \hline - -{\tt string } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_network} - -{\bf Overview:} -Get the network field of the given PIF. - - \noindent {\bf Signature:} -\begin{verbatim} (network ref) get_network (session_id s, PIF ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PIF ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -network ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_host} - -{\bf Overview:} -Get the host field of the given PIF. - - \noindent {\bf Signature:} -\begin{verbatim} (host ref) get_host (session_id s, PIF ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PIF ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -host ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_MAC} - -{\bf Overview:} -Get the MAC field of the given PIF. - - \noindent {\bf Signature:} -\begin{verbatim} string get_MAC (session_id s, PIF ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PIF ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_MAC} - -{\bf Overview:} -Set the MAC field of the given PIF. - - \noindent {\bf Signature:} -\begin{verbatim} void set_MAC (session_id s, PIF ref self, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PIF ref } & self & reference to the object \\ \hline - -{\tt string } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_MTU} - -{\bf Overview:} -Get the MTU field of the given PIF. - - \noindent {\bf Signature:} -\begin{verbatim} int get_MTU (session_id s, PIF ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PIF ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_MTU} - -{\bf Overview:} -Set the MTU field of the given PIF. - - \noindent {\bf Signature:} -\begin{verbatim} void set_MTU (session_id s, PIF ref self, int value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PIF ref } & self & reference to the object \\ \hline - -{\tt int } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_VLAN} - -{\bf Overview:} -Get the VLAN field of the given PIF. - - \noindent {\bf Signature:} -\begin{verbatim} int get_VLAN (session_id s, PIF ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PIF ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_VLAN} - -{\bf Overview:} -Set the VLAN field of the given PIF. - - \noindent {\bf Signature:} -\begin{verbatim} void set_VLAN (session_id s, PIF ref self, int value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PIF ref } & self & reference to the object \\ \hline - -{\tt int } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_metrics} - -{\bf Overview:} -Get the metrics field of the given PIF. - - \noindent {\bf Signature:} -\begin{verbatim} (PIF_metrics ref) get_metrics (session_id s, PIF ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PIF ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -PIF\_metrics ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_uuid} - -{\bf Overview:} -Get a reference to the PIF instance with the specified UUID. - - \noindent {\bf Signature:} -\begin{verbatim} (PIF ref) get_by_uuid (session_id s, string uuid)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & uuid & UUID of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -PIF ref -} - - -reference to the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_record} - -{\bf Overview:} -Get a record containing the current state of the given PIF. - - \noindent {\bf Signature:} -\begin{verbatim} (PIF record) get_record (session_id s, PIF ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PIF ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -PIF record -} - - -all fields from the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} - -\vspace{1cm} -\newpage -\section{Class: PIF\_metrics} -\subsection{Fields for class: PIF\_metrics} -\begin{longtable}{|lllp{0.38\textwidth}|} -\hline -\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf PIF\_metrics} \\ -\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em -The metrics associated with a physical network interface.}} \\ -\hline -Quals & Field & Type & Description \\ -\hline -$\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\ -$\mathit{RO}_\mathit{run}$ & {\tt io/read\_kbs} & float & Read bandwidth (KiB/s) \\ -$\mathit{RO}_\mathit{run}$ & {\tt io/write\_kbs} & float & Write bandwidth (KiB/s) \\ -$\mathit{RO}_\mathit{run}$ & {\tt last\_updated} & datetime & Time at which this information was last updated \\ -\hline -\end{longtable} -\subsection{RPCs associated with class: PIF\_metrics} -\subsubsection{RPC name:~get\_all} - -{\bf Overview:} -Return a list of all the PIF\_metrics instances known to the system. - - \noindent {\bf Signature:} -\begin{verbatim} ((PIF_metrics ref) Set) get_all (session_id s)\end{verbatim} - - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(PIF\_metrics ref) Set -} - - -references to all objects -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_uuid} - -{\bf Overview:} -Get the uuid field of the given PIF\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} string get_uuid (session_id s, PIF_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PIF\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_io\_read\_kbs} - -{\bf Overview:} -Get the io/read\_kbs field of the given PIF\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} float get_io_read_kbs (session_id s, PIF_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PIF\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -float -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_io\_write\_kbs} - -{\bf Overview:} -Get the io/write\_kbs field of the given PIF\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} float get_io_write_kbs (session_id s, PIF_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PIF\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -float -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_last\_updated} - -{\bf Overview:} -Get the last\_updated field of the given PIF\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} datetime get_last_updated (session_id s, PIF_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PIF\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -datetime -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_uuid} - -{\bf Overview:} -Get a reference to the PIF\_metrics instance with the specified UUID. - - \noindent {\bf Signature:} -\begin{verbatim} (PIF_metrics ref) get_by_uuid (session_id s, string uuid)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & uuid & UUID of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -PIF\_metrics ref -} - - -reference to the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_record} - -{\bf Overview:} -Get a record containing the current state of the given PIF\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} (PIF_metrics record) get_record (session_id s, PIF_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PIF\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -PIF\_metrics record -} - - -all fields from the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} - -\vspace{1cm} -\newpage -\section{Class: SR} -\subsection{Fields for class: SR} -\begin{longtable}{|lllp{0.38\textwidth}|} -\hline -\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf SR} \\ -\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A -storage repository.}} \\ -\hline -Quals & Field & Type & Description \\ -\hline -$\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\ -$\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\ -$\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\ -$\mathit{RO}_\mathit{run}$ & {\tt VDIs} & (VDI ref) Set & managed virtual disks \\ -$\mathit{RO}_\mathit{run}$ & {\tt PBDs} & (PBD ref) Set & physical blockdevices \\ -$\mathit{RO}_\mathit{run}$ & {\tt virtual\_allocation} & int & sum of virtual\_sizes of all VDIs in this storage repository (in bytes) \\ -$\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 \\ -$\mathit{RO}_\mathit{ins}$ & {\tt physical\_size} & int & total physical size of the repository (in bytes) \\ -$\mathit{RO}_\mathit{ins}$ & {\tt type} & string & type of the storage repository \\ -$\mathit{RO}_\mathit{ins}$ & {\tt content\_type} & string & the type of the SR's content, if required (e.g. ISOs) \\ -\hline -\end{longtable} -\subsection{RPCs associated with class: SR} -\subsubsection{RPC name:~get\_supported\_types} - -{\bf Overview:} -Return a set of all the SR types supported by the system. - - \noindent {\bf Signature:} -\begin{verbatim} (string Set) get_supported_types (session_id s)\end{verbatim} - - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string Set -} - - -the supported SR types -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_all} - -{\bf Overview:} -Return a list of all the SRs known to the system. - - \noindent {\bf Signature:} -\begin{verbatim} ((SR ref) Set) get_all (session_id s)\end{verbatim} - - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(SR ref) Set -} - - -references to all objects -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_uuid} - -{\bf Overview:} -Get the uuid field of the given SR. - - \noindent {\bf Signature:} -\begin{verbatim} string get_uuid (session_id s, SR ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt SR ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_name\_label} - -{\bf Overview:} -Get the name/label field of the given SR. - - \noindent {\bf Signature:} -\begin{verbatim} string get_name_label (session_id s, SR ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt SR ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_name\_label} - -{\bf Overview:} -Set the name/label field of the given SR. - - \noindent {\bf Signature:} -\begin{verbatim} void set_name_label (session_id s, SR ref self, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt SR ref } & self & reference to the object \\ \hline - -{\tt string } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_name\_description} - -{\bf Overview:} -Get the name/description field of the given SR. - - \noindent {\bf Signature:} -\begin{verbatim} string get_name_description (session_id s, SR ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt SR ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_name\_description} - -{\bf Overview:} -Set the name/description field of the given SR. - - \noindent {\bf Signature:} -\begin{verbatim} void set_name_description (session_id s, SR ref self, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt SR ref } & self & reference to the object \\ \hline - -{\tt string } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_VDIs} - -{\bf Overview:} -Get the VDIs field of the given SR. - - \noindent {\bf Signature:} -\begin{verbatim} ((VDI ref) Set) get_VDIs (session_id s, SR ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt SR ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(VDI ref) Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_PBDs} - -{\bf Overview:} -Get the PBDs field of the given SR. - - \noindent {\bf Signature:} -\begin{verbatim} ((PBD ref) Set) get_PBDs (session_id s, SR ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt SR ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(PBD ref) Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_virtual\_allocation} - -{\bf Overview:} -Get the virtual\_allocation field of the given SR. - - \noindent {\bf Signature:} -\begin{verbatim} int get_virtual_allocation (session_id s, SR ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt SR ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_physical\_utilisation} - -{\bf Overview:} -Get the physical\_utilisation field of the given SR. - - \noindent {\bf Signature:} -\begin{verbatim} int get_physical_utilisation (session_id s, SR ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt SR ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_physical\_size} - -{\bf Overview:} -Get the physical\_size field of the given SR. - - \noindent {\bf Signature:} -\begin{verbatim} int get_physical_size (session_id s, SR ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt SR ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_type} - -{\bf Overview:} -Get the type field of the given SR. - - \noindent {\bf Signature:} -\begin{verbatim} string get_type (session_id s, SR ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt SR ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_content\_type} - -{\bf Overview:} -Get the content\_type field of the given SR. - - \noindent {\bf Signature:} -\begin{verbatim} string get_content_type (session_id s, SR ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt SR ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_uuid} - -{\bf Overview:} -Get a reference to the SR instance with the specified UUID. - - \noindent {\bf Signature:} -\begin{verbatim} (SR ref) get_by_uuid (session_id s, string uuid)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & uuid & UUID of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -SR ref -} - - -reference to the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_record} - -{\bf Overview:} -Get a record containing the current state of the given SR. - - \noindent {\bf Signature:} -\begin{verbatim} (SR record) get_record (session_id s, SR ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt SR ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -SR record -} - - -all fields from the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_name\_label} - -{\bf Overview:} -Get all the SR instances with the given label. - - \noindent {\bf Signature:} -\begin{verbatim} ((SR ref) Set) get_by_name_label (session_id s, string label)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & label & label of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(SR ref) Set -} - - -references to objects with match names -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} - -\vspace{1cm} -\newpage -\section{Class: VDI} -\subsection{Fields for class: VDI} -\begin{longtable}{|lllp{0.38\textwidth}|} -\hline -\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VDI} \\ -\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A -virtual disk image.}} \\ -\hline -Quals & Field & Type & Description \\ -\hline -$\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\ -$\mathit{RW}$ & {\tt name/label} & string & a human-readable name \\ -$\mathit{RW}$ & {\tt name/description} & string & a notes field containg human-readable description \\ -$\mathit{RO}_\mathit{ins}$ & {\tt SR} & SR ref & storage repository in which the VDI resides \\ -$\mathit{RO}_\mathit{run}$ & {\tt VBDs} & (VBD ref) Set & list of vbds that refer to this disk \\ -$\mathit{RO}_\mathit{run}$ & {\tt crash\_dumps} & (crashdump ref) Set & list of crash dumps that refer to this disk \\ -$\mathit{RW}$ & {\tt virtual\_size} & int & size of disk as presented to the guest (in bytes). Note that, depending on storage backend type, requested size may not be respected exactly \\ -$\mathit{RO}_\mathit{run}$ & {\tt physical\_utilisation} & int & amount of physical space that the disk image is currently taking up on the storage repository (in bytes) \\ -$\mathit{RO}_\mathit{ins}$ & {\tt type} & vdi\_type & type of the VDI \\ -$\mathit{RW}$ & {\tt sharable} & bool & true if this disk may be shared \\ -$\mathit{RW}$ & {\tt read\_only} & bool & true if this disk may ONLY be mounted read-only \\ -$\mathit{RW}$ & {\tt other\_config} & (string $\rightarrow$ string) Map & additional configuration \\ -$\mathit{RO}_\mathit{run}$ & {\tt security/label} & string & the VM's security label \\ -\hline -\end{longtable} -\subsection{RPCs associated with class: VDI} -\subsubsection{RPC name:~get\_all} - -{\bf Overview:} -Return a list of all the VDIs known to the system. - - \noindent {\bf Signature:} -\begin{verbatim} ((VDI ref) Set) get_all (session_id s)\end{verbatim} - - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(VDI ref) Set -} - - -references to all objects -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_uuid} - -{\bf Overview:} -Get the uuid field of the given VDI. - - \noindent {\bf Signature:} -\begin{verbatim} string get_uuid (session_id s, VDI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VDI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_name\_label} - -{\bf Overview:} -Get the name/label field of the given VDI. - - \noindent {\bf Signature:} -\begin{verbatim} string get_name_label (session_id s, VDI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VDI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_name\_label} - -{\bf Overview:} -Set the name/label field of the given VDI. - - \noindent {\bf Signature:} -\begin{verbatim} void set_name_label (session_id s, VDI ref self, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VDI ref } & self & reference to the object \\ \hline - -{\tt string } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_name\_description} - -{\bf Overview:} -Get the name/description field of the given VDI. - - \noindent {\bf Signature:} -\begin{verbatim} string get_name_description (session_id s, VDI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VDI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_name\_description} - -{\bf Overview:} -Set the name/description field of the given VDI. - - \noindent {\bf Signature:} -\begin{verbatim} void set_name_description (session_id s, VDI ref self, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VDI ref } & self & reference to the object \\ \hline - -{\tt string } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_SR} - -{\bf Overview:} -Get the SR field of the given VDI. - - \noindent {\bf Signature:} -\begin{verbatim} (SR ref) get_SR (session_id s, VDI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VDI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -SR ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_VBDs} - -{\bf Overview:} -Get the VBDs field of the given VDI. - - \noindent {\bf Signature:} -\begin{verbatim} ((VBD ref) Set) get_VBDs (session_id s, VDI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VDI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(VBD ref) Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_crash\_dumps} - -{\bf Overview:} -Get the crash\_dumps field of the given VDI. - - \noindent {\bf Signature:} -\begin{verbatim} ((crashdump ref) Set) get_crash_dumps (session_id s, VDI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VDI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(crashdump ref) Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_virtual\_size} - -{\bf Overview:} -Get the virtual\_size field of the given VDI. - - \noindent {\bf Signature:} -\begin{verbatim} int get_virtual_size (session_id s, VDI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VDI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_virtual\_size} - -{\bf Overview:} -Set the virtual\_size field of the given VDI. - - \noindent {\bf Signature:} -\begin{verbatim} void set_virtual_size (session_id s, VDI ref self, int value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VDI ref } & self & reference to the object \\ \hline - -{\tt int } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_physical\_utilisation} - -{\bf Overview:} -Get the physical\_utilisation field of the given VDI. - - \noindent {\bf Signature:} -\begin{verbatim} int get_physical_utilisation (session_id s, VDI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VDI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_type} - -{\bf Overview:} -Get the type field of the given VDI. - - \noindent {\bf Signature:} -\begin{verbatim} (vdi_type) get_type (session_id s, VDI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VDI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -vdi\_type -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_sharable} - -{\bf Overview:} -Get the sharable field of the given VDI. - - \noindent {\bf Signature:} -\begin{verbatim} bool get_sharable (session_id s, VDI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VDI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -bool -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_sharable} - -{\bf Overview:} -Set the sharable field of the given VDI. - - \noindent {\bf Signature:} -\begin{verbatim} void set_sharable (session_id s, VDI ref self, bool value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VDI ref } & self & reference to the object \\ \hline - -{\tt bool } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_read\_only} - -{\bf Overview:} -Get the read\_only field of the given VDI. - - \noindent {\bf Signature:} -\begin{verbatim} bool get_read_only (session_id s, VDI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VDI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -bool -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_read\_only} - -{\bf Overview:} -Set the read\_only field of the given VDI. - - \noindent {\bf Signature:} -\begin{verbatim} void set_read_only (session_id s, VDI ref self, bool value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VDI ref } & self & reference to the object \\ \hline - -{\tt bool } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_other\_config} - -{\bf Overview:} -Get the other\_config field of the given VDI. - - \noindent {\bf Signature:} -\begin{verbatim} ((string -> string) Map) get_other_config (session_id s, VDI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VDI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(string $\rightarrow$ string) Map -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_other\_config} - -{\bf Overview:} -Set the other\_config field of the given VDI. - - \noindent {\bf Signature:} -\begin{verbatim} void set_other_config (session_id s, VDI ref self, (string -> string) Map value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VDI ref } & self & reference to the object \\ \hline - -{\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~add\_to\_other\_config} - -{\bf Overview:} -Add the given key-value pair to the other\_config field of the given VDI. - - \noindent {\bf Signature:} -\begin{verbatim} void add_to_other_config (session_id s, VDI ref self, string key, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VDI ref } & self & reference to the object \\ \hline - -{\tt string } & key & Key to add \\ \hline - -{\tt string } & value & Value to add \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~remove\_from\_other\_config} - -{\bf Overview:} -Remove the given key and its corresponding value from the other\_config -field of the given VDI. If the key is not in that Map, then do nothing. - - \noindent {\bf Signature:} -\begin{verbatim} void remove_from_other_config (session_id s, VDI ref self, string key)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VDI ref } & self & reference to the object \\ \hline - -{\tt string } & key & Key to remove \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_security\_label} - -{\bf Overview:} -Set the security label of the given VDI. Refer to the XSPolicy class -for the format of the security label. - - \noindent {\bf Signature:} -\begin{verbatim} void set_security_label (session_id s, VDI ref self, string -security_label, string old_label)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VDI ref } & self & reference to the object \\ \hline - -{\tt string } & security\_label & New value of the security label \\ \hline -{\tt string } & old\_label & Label value that the security label \\ -& & must currently have for the change to succeed.\\ \hline -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - -\vspace{0.3cm} - -\noindent{\bf Possible Error Codes:} {\tt SECURITY\_ERROR} - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_security\_label} - -{\bf Overview:} -Get the security label of the given VDI. - - \noindent {\bf Signature:} -\begin{verbatim} string get_security_label (session_id s, VDI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VDI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the given field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~create} - -{\bf Overview:} -Create a new VDI instance, and return its handle. - - \noindent {\bf Signature:} -\begin{verbatim} (VDI ref) create (session_id s, VDI record args)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VDI record } & args & All constructor arguments \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VDI ref -} - - -reference to the newly created object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~destroy} - -{\bf Overview:} -Destroy the specified VDI instance. - - \noindent {\bf Signature:} -\begin{verbatim} void destroy (session_id s, VDI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VDI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_uuid} - -{\bf Overview:} -Get a reference to the VDI instance with the specified UUID. - - \noindent {\bf Signature:} -\begin{verbatim} (VDI ref) get_by_uuid (session_id s, string uuid)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & uuid & UUID of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VDI ref -} - - -reference to the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_record} - -{\bf Overview:} -Get a record containing the current state of the given VDI. - - \noindent {\bf Signature:} -\begin{verbatim} (VDI record) get_record (session_id s, VDI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VDI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VDI record -} - - -all fields from the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_name\_label} - -{\bf Overview:} -Get all the VDI instances with the given label. - - \noindent {\bf Signature:} -\begin{verbatim} ((VDI ref) Set) get_by_name_label (session_id s, string label)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & label & label of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(VDI ref) Set -} - - -references to objects with match names -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} - -\vspace{1cm} -\newpage -\section{Class: VBD} -\subsection{Fields for class: VBD} -\begin{longtable}{|lllp{0.38\textwidth}|} -\hline -\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VBD} \\ -\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A -virtual block device.}} \\ -\hline -Quals & Field & Type & Description \\ -\hline -$\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\ -$\mathit{RO}_\mathit{ins}$ & {\tt VM} & VM ref & the virtual machine \\ -$\mathit{RO}_\mathit{ins}$ & {\tt VDI} & VDI ref & the virtual disk \\ -$\mathit{RW}$ & {\tt device} & string & device seen by the guest e.g. hda1 \\ -$\mathit{RW}$ & {\tt bootable} & bool & true if this VBD is bootable \\ -$\mathit{RW}$ & {\tt mode} & vbd\_mode & the mode the VBD should be mounted with \\ -$\mathit{RW}$ & {\tt type} & vbd\_type & how the VBD will appear to the guest (e.g. disk or CD) \\ -$\mathit{RO}_\mathit{run}$ & {\tt currently\_attached} & bool & is the device currently attached (erased on reboot) \\ -$\mathit{RO}_\mathit{run}$ & {\tt status\_code} & int & error/success code associated with last attach-operation (erased on reboot) \\ -$\mathit{RO}_\mathit{run}$ & {\tt status\_detail} & string & error/success information associated with last attach-operation status (erased on reboot) \\ -$\mathit{RO}_\mathit{run}$ & {\tt runtime\_properties} & (string $\rightarrow$ string) Map & Device runtime properties \\ -$\mathit{RW}$ & {\tt qos/algorithm\_type} & string & QoS algorithm to use \\ -$\mathit{RW}$ & {\tt qos/algorithm\_params} & (string $\rightarrow$ string) Map & parameters for chosen QoS algorithm \\ -$\mathit{RO}_\mathit{run}$ & {\tt qos/supported\_algorithms} & string Set & supported QoS algorithms for this VBD \\ -$\mathit{RO}_\mathit{run}$ & {\tt metrics} & VBD\_metrics ref & metrics associated with this VBD \\ -\hline -\end{longtable} -\subsection{RPCs associated with class: VBD} -\subsubsection{RPC name:~media\_change} - -{\bf Overview:} -Change the media in the device for CDROM-like devices only. For other -devices, detach the VBD and attach a new one. - - \noindent {\bf Signature:} -\begin{verbatim} void media_change (session_id s, VBD ref vbd, VDI ref vdi)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VBD ref } & vbd & The vbd representing the CDROM-like device \\ \hline - -{\tt VDI ref } & vdi & The new VDI to 'insert' \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~plug} - -{\bf Overview:} -Hotplug the specified VBD, dynamically attaching it to the running VM. - - \noindent {\bf Signature:} -\begin{verbatim} void plug (session_id s, VBD ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VBD ref } & self & The VBD to hotplug \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~unplug} - -{\bf Overview:} -Hot-unplug the specified VBD, dynamically unattaching it from the running -VM. - - \noindent {\bf Signature:} -\begin{verbatim} void unplug (session_id s, VBD ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VBD ref } & self & The VBD to hot-unplug \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_all} - -{\bf Overview:} -Return a list of all the VBDs known to the system. - - \noindent {\bf Signature:} -\begin{verbatim} ((VBD ref) Set) get_all (session_id s)\end{verbatim} - - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(VBD ref) Set -} - - -references to all objects -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_uuid} - -{\bf Overview:} -Get the uuid field of the given VBD. - - \noindent {\bf Signature:} -\begin{verbatim} string get_uuid (session_id s, VBD ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VBD ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_VM} - -{\bf Overview:} -Get the VM field of the given VBD. - - \noindent {\bf Signature:} -\begin{verbatim} (VM ref) get_VM (session_id s, VBD ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VBD ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VM ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_VDI} - -{\bf Overview:} -Get the VDI field of the given VBD. - - \noindent {\bf Signature:} -\begin{verbatim} (VDI ref) get_VDI (session_id s, VBD ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VBD ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VDI ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_device} - -{\bf Overview:} -Get the device field of the given VBD. - - \noindent {\bf Signature:} -\begin{verbatim} string get_device (session_id s, VBD ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VBD ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_device} - -{\bf Overview:} -Set the device field of the given VBD. - - \noindent {\bf Signature:} -\begin{verbatim} void set_device (session_id s, VBD ref self, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VBD ref } & self & reference to the object \\ \hline - -{\tt string } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_bootable} - -{\bf Overview:} -Get the bootable field of the given VBD. - - \noindent {\bf Signature:} -\begin{verbatim} bool get_bootable (session_id s, VBD ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VBD ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -bool -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_bootable} - -{\bf Overview:} -Set the bootable field of the given VBD. - - \noindent {\bf Signature:} -\begin{verbatim} void set_bootable (session_id s, VBD ref self, bool value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VBD ref } & self & reference to the object \\ \hline - -{\tt bool } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_mode} - -{\bf Overview:} -Get the mode field of the given VBD. - - \noindent {\bf Signature:} -\begin{verbatim} (vbd_mode) get_mode (session_id s, VBD ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VBD ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -vbd\_mode -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_mode} - -{\bf Overview:} -Set the mode field of the given VBD. - - \noindent {\bf Signature:} -\begin{verbatim} void set_mode (session_id s, VBD ref self, vbd_mode value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VBD ref } & self & reference to the object \\ \hline - -{\tt vbd\_mode } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_type} - -{\bf Overview:} -Get the type field of the given VBD. - - \noindent {\bf Signature:} -\begin{verbatim} (vbd_type) get_type (session_id s, VBD ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VBD ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -vbd\_type -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_type} - -{\bf Overview:} -Set the type field of the given VBD. - - \noindent {\bf Signature:} -\begin{verbatim} void set_type (session_id s, VBD ref self, vbd_type value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VBD ref } & self & reference to the object \\ \hline - -{\tt vbd\_type } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_currently\_attached} - -{\bf Overview:} -Get the currently\_attached field of the given VBD. - - \noindent {\bf Signature:} -\begin{verbatim} bool get_currently_attached (session_id s, VBD ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VBD ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -bool -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_status\_code} - -{\bf Overview:} -Get the status\_code field of the given VBD. - - \noindent {\bf Signature:} -\begin{verbatim} int get_status_code (session_id s, VBD ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VBD ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_status\_detail} - -{\bf Overview:} -Get the status\_detail field of the given VBD. - - \noindent {\bf Signature:} -\begin{verbatim} string get_status_detail (session_id s, VBD ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VBD ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_runtime\_properties} - -{\bf Overview:} -Get the runtime\_properties field of the given VBD. - - \noindent {\bf Signature:} -\begin{verbatim} ((string -> string) Map) get_runtime_properties (session_id s, VBD ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VBD ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(string $\rightarrow$ string) Map -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_qos\_algorithm\_type} - -{\bf Overview:} -Get the qos/algorithm\_type field of the given VBD. - - \noindent {\bf Signature:} -\begin{verbatim} string get_qos_algorithm_type (session_id s, VBD ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VBD ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_qos\_algorithm\_type} - -{\bf Overview:} -Set the qos/algorithm\_type field of the given VBD. - - \noindent {\bf Signature:} -\begin{verbatim} void set_qos_algorithm_type (session_id s, VBD ref self, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VBD ref } & self & reference to the object \\ \hline - -{\tt string } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_qos\_algorithm\_params} - -{\bf Overview:} -Get the qos/algorithm\_params field of the given VBD. - - \noindent {\bf Signature:} -\begin{verbatim} ((string -> string) Map) get_qos_algorithm_params (session_id s, VBD ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VBD ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(string $\rightarrow$ string) Map -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_qos\_algorithm\_params} - -{\bf Overview:} -Set the qos/algorithm\_params field of the given VBD. - - \noindent {\bf Signature:} -\begin{verbatim} void set_qos_algorithm_params (session_id s, VBD ref self, (string -> string) Map value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VBD ref } & self & reference to the object \\ \hline - -{\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~add\_to\_qos\_algorithm\_params} - -{\bf Overview:} -Add the given key-value pair to the qos/algorithm\_params field of the -given VBD. - - \noindent {\bf Signature:} -\begin{verbatim} void add_to_qos_algorithm_params (session_id s, VBD ref self, string key, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VBD ref } & self & reference to the object \\ \hline - -{\tt string } & key & Key to add \\ \hline - -{\tt string } & value & Value to add \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~remove\_from\_qos\_algorithm\_params} - -{\bf Overview:} -Remove the given key and its corresponding value from the -qos/algorithm\_params field of the given VBD. If the key is not in that -Map, then do nothing. - - \noindent {\bf Signature:} -\begin{verbatim} void remove_from_qos_algorithm_params (session_id s, VBD ref self, string key)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VBD ref } & self & reference to the object \\ \hline - -{\tt string } & key & Key to remove \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_qos\_supported\_algorithms} - -{\bf Overview:} -Get the qos/supported\_algorithms field of the given VBD. - - \noindent {\bf Signature:} -\begin{verbatim} (string Set) get_qos_supported_algorithms (session_id s, VBD ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VBD ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_metrics} - -{\bf Overview:} -Get the metrics field of the given VBD. - - \noindent {\bf Signature:} -\begin{verbatim} (VBD_metrics ref) get_metrics (session_id s, VBD ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VBD ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VBD\_metrics ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~create} - -{\bf Overview:} -Create a new VBD instance, and return its handle. - - \noindent {\bf Signature:} -\begin{verbatim} (VBD ref) create (session_id s, VBD record args)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VBD record } & args & All constructor arguments \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VBD ref -} - - -reference to the newly created object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~destroy} - -{\bf Overview:} -Destroy the specified VBD instance. - - \noindent {\bf Signature:} -\begin{verbatim} void destroy (session_id s, VBD ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VBD ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_uuid} - -{\bf Overview:} -Get a reference to the VBD instance with the specified UUID. - - \noindent {\bf Signature:} -\begin{verbatim} (VBD ref) get_by_uuid (session_id s, string uuid)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & uuid & UUID of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VBD ref -} - - -reference to the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_record} - -{\bf Overview:} -Get a record containing the current state of the given VBD. - - \noindent {\bf Signature:} -\begin{verbatim} (VBD record) get_record (session_id s, VBD ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VBD ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VBD record -} - - -all fields from the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} - -\vspace{1cm} -\newpage -\section{Class: VBD\_metrics} -\subsection{Fields for class: VBD\_metrics} -\begin{longtable}{|lllp{0.38\textwidth}|} -\hline -\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VBD\_metrics} \\ -\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em -The metrics associated with a virtual block device.}} \\ -\hline -Quals & Field & Type & Description \\ -\hline -$\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\ -$\mathit{RO}_\mathit{run}$ & {\tt io/read\_kbs} & float & Read bandwidth (KiB/s) \\ -$\mathit{RO}_\mathit{run}$ & {\tt io/write\_kbs} & float & Write bandwidth (KiB/s) \\ -$\mathit{RO}_\mathit{run}$ & {\tt last\_updated} & datetime & Time at which this information was last updated \\ -\hline -\end{longtable} -\subsection{RPCs associated with class: VBD\_metrics} -\subsubsection{RPC name:~get\_all} - -{\bf Overview:} -Return a list of all the VBD\_metrics instances known to the system. - - \noindent {\bf Signature:} -\begin{verbatim} ((VBD_metrics ref) Set) get_all (session_id s)\end{verbatim} - - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(VBD\_metrics ref) Set -} - - -references to all objects -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_uuid} - -{\bf Overview:} -Get the uuid field of the given VBD\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} string get_uuid (session_id s, VBD_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VBD\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_io\_read\_kbs} - -{\bf Overview:} -Get the io/read\_kbs field of the given VBD\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} float get_io_read_kbs (session_id s, VBD_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VBD\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -float -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_io\_write\_kbs} - -{\bf Overview:} -Get the io/write\_kbs field of the given VBD\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} float get_io_write_kbs (session_id s, VBD_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VBD\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -float -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_last\_updated} - -{\bf Overview:} -Get the last\_updated field of the given VBD\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} datetime get_last_updated (session_id s, VBD_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VBD\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -datetime -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_uuid} - -{\bf Overview:} -Get a reference to the VBD\_metrics instance with the specified UUID. - - \noindent {\bf Signature:} -\begin{verbatim} (VBD_metrics ref) get_by_uuid (session_id s, string uuid)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & uuid & UUID of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VBD\_metrics ref -} - - -reference to the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_record} - -{\bf Overview:} -Get a record containing the current state of the given VBD\_metrics. - - \noindent {\bf Signature:} -\begin{verbatim} (VBD_metrics record) get_record (session_id s, VBD_metrics ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VBD\_metrics ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VBD\_metrics record -} - - -all fields from the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} - -\vspace{1cm} -\newpage -\section{Class: PBD} -\subsection{Fields for class: PBD} -\begin{longtable}{|lllp{0.38\textwidth}|} -\hline -\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf PBD} \\ -\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em -The physical block devices through which hosts access SRs.}} \\ -\hline -Quals & Field & Type & Description \\ -\hline -$\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\ -$\mathit{RO}_\mathit{ins}$ & {\tt host} & host ref & physical machine on which the pbd is available \\ -$\mathit{RO}_\mathit{ins}$ & {\tt SR} & SR ref & the storage repository that the pbd realises \\ -$\mathit{RO}_\mathit{ins}$ & {\tt device\_config} & (string $\rightarrow$ string) Map & a config string to string map that is provided to the host's SR-backend-driver \\ -$\mathit{RO}_\mathit{run}$ & {\tt currently\_attached} & bool & is the SR currently attached on this host? \\ -\hline -\end{longtable} -\subsection{RPCs associated with class: PBD} -\subsubsection{RPC name:~get\_all} - -{\bf Overview:} -Return a list of all the PBDs known to the system. - - \noindent {\bf Signature:} -\begin{verbatim} ((PBD ref) Set) get_all (session_id s)\end{verbatim} - - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(PBD ref) Set -} - - -references to all objects -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_uuid} - -{\bf Overview:} -Get the uuid field of the given PBD. - - \noindent {\bf Signature:} -\begin{verbatim} string get_uuid (session_id s, PBD ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PBD ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_host} - -{\bf Overview:} -Get the host field of the given PBD. - - \noindent {\bf Signature:} -\begin{verbatim} (host ref) get_host (session_id s, PBD ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PBD ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -host ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_SR} - -{\bf Overview:} -Get the SR field of the given PBD. - - \noindent {\bf Signature:} -\begin{verbatim} (SR ref) get_SR (session_id s, PBD ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PBD ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -SR ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_device\_config} - -{\bf Overview:} -Get the device\_config field of the given PBD. - - \noindent {\bf Signature:} -\begin{verbatim} ((string -> string) Map) get_device_config (session_id s, PBD ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PBD ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(string $\rightarrow$ string) Map -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_currently\_attached} - -{\bf Overview:} -Get the currently\_attached field of the given PBD. - - \noindent {\bf Signature:} -\begin{verbatim} bool get_currently_attached (session_id s, PBD ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PBD ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -bool -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~create} - -{\bf Overview:} -Create a new PBD instance, and return its handle. - - \noindent {\bf Signature:} -\begin{verbatim} (PBD ref) create (session_id s, PBD record args)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PBD record } & args & All constructor arguments \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -PBD ref -} - - -reference to the newly created object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~destroy} - -{\bf Overview:} -Destroy the specified PBD instance. - - \noindent {\bf Signature:} -\begin{verbatim} void destroy (session_id s, PBD ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PBD ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_uuid} - -{\bf Overview:} -Get a reference to the PBD instance with the specified UUID. - - \noindent {\bf Signature:} -\begin{verbatim} (PBD ref) get_by_uuid (session_id s, string uuid)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & uuid & UUID of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -PBD ref -} - - -reference to the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_record} - -{\bf Overview:} -Get a record containing the current state of the given PBD. - - \noindent {\bf Signature:} -\begin{verbatim} (PBD record) get_record (session_id s, PBD ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PBD ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -PBD record -} - - -all fields from the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} - -\vspace{1cm} -\newpage -\section{Class: crashdump} -\subsection{Fields for class: crashdump} -\begin{longtable}{|lllp{0.38\textwidth}|} -\hline -\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf crashdump} \\ -\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A -VM crashdump.}} \\ -\hline -Quals & Field & Type & Description \\ -\hline -$\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\ -$\mathit{RO}_\mathit{ins}$ & {\tt VM} & VM ref & the virtual machine \\ -$\mathit{RO}_\mathit{ins}$ & {\tt VDI} & VDI ref & the virtual disk \\ -\hline -\end{longtable} -\subsection{RPCs associated with class: crashdump} -\subsubsection{RPC name:~destroy} - -{\bf Overview:} -Destroy the specified crashdump. - - \noindent {\bf Signature:} -\begin{verbatim} void destroy (session_id s, crashdump ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt crashdump ref } & self & The crashdump to destroy \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_all} - -{\bf Overview:} -Return a list of all the crashdumps known to the system. - - \noindent {\bf Signature:} -\begin{verbatim} ((crashdump ref) Set) get_all (session_id s)\end{verbatim} - - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(crashdump ref) Set -} - - -references to all objects -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_uuid} - -{\bf Overview:} -Get the uuid field of the given crashdump. - - \noindent {\bf Signature:} -\begin{verbatim} string get_uuid (session_id s, crashdump ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt crashdump ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_VM} - -{\bf Overview:} -Get the VM field of the given crashdump. - - \noindent {\bf Signature:} -\begin{verbatim} (VM ref) get_VM (session_id s, crashdump ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt crashdump ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VM ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_VDI} - -{\bf Overview:} -Get the VDI field of the given crashdump. - - \noindent {\bf Signature:} -\begin{verbatim} (VDI ref) get_VDI (session_id s, crashdump ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt crashdump ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VDI ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_uuid} - -{\bf Overview:} -Get a reference to the crashdump instance with the specified UUID. - - \noindent {\bf Signature:} -\begin{verbatim} (crashdump ref) get_by_uuid (session_id s, string uuid)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & uuid & UUID of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -crashdump ref -} - - -reference to the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_record} - -{\bf Overview:} -Get a record containing the current state of the given crashdump. - - \noindent {\bf Signature:} -\begin{verbatim} (crashdump record) get_record (session_id s, crashdump ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt crashdump ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -crashdump record -} - - -all fields from the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} - -\vspace{1cm} -\newpage -\section{Class: VTPM} -\subsection{Fields for class: VTPM} -\begin{longtable}{|lllp{0.38\textwidth}|} -\hline -\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf VTPM} \\ -\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A -virtual TPM device.}} \\ -\hline -Quals & Field & Type & Description \\ -\hline -$\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\ -$\mathit{RO}_\mathit{ins}$ & {\tt VM} & VM ref & the virtual machine \\ -$\mathit{RO}_\mathit{ins}$ & {\tt backend} & VM ref & the domain where the backend is located \\ -$\mathit{RW}$ & {\tt other\_config} & (string $\rightarrow$ string) Map & additional configuration \\ -\hline -\end{longtable} -\subsection{RPCs associated with class: VTPM} -\subsubsection{RPC name:~get\_uuid} - -{\bf Overview:} -Get the uuid field of the given VTPM. - - \noindent {\bf Signature:} -\begin{verbatim} string get_uuid (session_id s, VTPM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VTPM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_VM} - -{\bf Overview:} -Get the VM field of the given VTPM. - - \noindent {\bf Signature:} -\begin{verbatim} (VM ref) get_VM (session_id s, VTPM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VTPM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VM ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_backend} - -{\bf Overview:} -Get the backend field of the given VTPM. - - \noindent {\bf Signature:} -\begin{verbatim} (VM ref) get_backend (session_id s, VTPM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VTPM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VM ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_other\_config} - -{\bf Overview:} -Get the other\_config field of the given VTPM. - - \noindent {\bf Signature:} -\begin{verbatim} ((string -> string) Map) get_other_config (session_id s, VTPM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VTPM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(string $\rightarrow$ string) Map -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_other\_config} - -{\bf Overview:} -Set the other\_config field of the given VTPM. - - \noindent {\bf Signature:} -\begin{verbatim} void set_other_config (session_id s, VTPM ref self, (string -> string) Map value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VTPM ref } & self & reference to the object \\ \hline - -{\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_runtime\_properties} - -{\bf Overview:} -Get the runtime\_properties field of the given VTPM. - -\noindent {\bf Signature:} -\begin{verbatim} ((string -> string) Map) get_runtime_properties (session_id s, VTPM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VTPM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(string $\rightarrow$ string) Map -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~create} - -{\bf Overview:} -Create a new VTPM instance, and return its handle. - - \noindent {\bf Signature:} -\begin{verbatim} (VTPM ref) create (session_id s, VTPM record args)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VTPM record } & args & All constructor arguments \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VTPM ref -} - - -reference to the newly created object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~destroy} - -{\bf Overview:} -Destroy the specified VTPM instance. - - \noindent {\bf Signature:} -\begin{verbatim} void destroy (session_id s, VTPM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VTPM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_uuid} - -{\bf Overview:} -Get a reference to the VTPM instance with the specified UUID. - - \noindent {\bf Signature:} -\begin{verbatim} (VTPM ref) get_by_uuid (session_id s, string uuid)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & uuid & UUID of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VTPM ref -} - - -reference to the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_record} - -{\bf Overview:} -Get a record containing the current state of the given VTPM. - - \noindent {\bf Signature:} -\begin{verbatim} (VTPM record) get_record (session_id s, VTPM ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt VTPM ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VTPM record -} - - -all fields from the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} - -\vspace{1cm} -\newpage -\section{Class: console} -\subsection{Fields for class: console} -\begin{longtable}{|lllp{0.38\textwidth}|} -\hline -\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf console} \\ -\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A -console.}} \\ -\hline -Quals & Field & Type & Description \\ -\hline -$\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\ -$\mathit{RO}_\mathit{run}$ & {\tt protocol} & console\_protocol & the protocol used by this console \\ -$\mathit{RO}_\mathit{run}$ & {\tt location} & string & URI for the console service \\ -$\mathit{RO}_\mathit{run}$ & {\tt VM} & VM ref & VM to which this console is attached \\ -$\mathit{RW}$ & {\tt other\_config} & (string $\rightarrow$ string) Map & additional configuration \\ -\hline -\end{longtable} -\subsection{RPCs associated with class: console} -\subsubsection{RPC name:~get\_all} - -{\bf Overview:} -Return a list of all the consoles known to the system. - - \noindent {\bf Signature:} -\begin{verbatim} ((console ref) Set) get_all (session_id s)\end{verbatim} - - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(console ref) Set -} - - -references to all objects -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_uuid} - -{\bf Overview:} -Get the uuid field of the given console. - - \noindent {\bf Signature:} -\begin{verbatim} string get_uuid (session_id s, console ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt console ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_protocol} - -{\bf Overview:} -Get the protocol field of the given console. - - \noindent {\bf Signature:} -\begin{verbatim} (console_protocol) get_protocol (session_id s, console ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt console ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -console\_protocol -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_location} - -{\bf Overview:} -Get the location field of the given console. - - \noindent {\bf Signature:} -\begin{verbatim} string get_location (session_id s, console ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt console ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_VM} - -{\bf Overview:} -Get the VM field of the given console. - - \noindent {\bf Signature:} -\begin{verbatim} (VM ref) get_VM (session_id s, console ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt console ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VM ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_other\_config} - -{\bf Overview:} -Get the other\_config field of the given console. - - \noindent {\bf Signature:} -\begin{verbatim} ((string -> string) Map) get_other_config (session_id s, console ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt console ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(string $\rightarrow$ string) Map -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_other\_config} - -{\bf Overview:} -Set the other\_config field of the given console. - - \noindent {\bf Signature:} -\begin{verbatim} void set_other_config (session_id s, console ref self, (string -> string) Map value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt console ref } & self & reference to the object \\ \hline - -{\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~add\_to\_other\_config} - -{\bf Overview:} -Add the given key-value pair to the other\_config field of the given -console. - - \noindent {\bf Signature:} -\begin{verbatim} void add_to_other_config (session_id s, console ref self, string key, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt console ref } & self & reference to the object \\ \hline - -{\tt string } & key & Key to add \\ \hline - -{\tt string } & value & Value to add \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~remove\_from\_other\_config} - -{\bf Overview:} -Remove the given key and its corresponding value from the other\_config -field of the given console. If the key is not in that Map, then do -nothing. - - \noindent {\bf Signature:} -\begin{verbatim} void remove_from_other_config (session_id s, console ref self, string key)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt console ref } & self & reference to the object \\ \hline - -{\tt string } & key & Key to remove \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~create} - -{\bf Overview:} -Create a new console instance, and return its handle. - - \noindent {\bf Signature:} -\begin{verbatim} (console ref) create (session_id s, console record args)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt console record } & args & All constructor arguments \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -console ref -} - - -reference to the newly created object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~destroy} - -{\bf Overview:} -Destroy the specified console instance. - - \noindent {\bf Signature:} -\begin{verbatim} void destroy (session_id s, console ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt console ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_uuid} - -{\bf Overview:} -Get a reference to the console instance with the specified UUID. - - \noindent {\bf Signature:} -\begin{verbatim} (console ref) get_by_uuid (session_id s, string uuid)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & uuid & UUID of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -console ref -} - - -reference to the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_record} - -{\bf Overview:} -Get a record containing the current state of the given console. - - \noindent {\bf Signature:} -\begin{verbatim} (console record) get_record (session_id s, console ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt console ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -console record -} - - -all fields from the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} - -\vspace{1cm} -\newpage -\section{Class: DPCI} -\subsection{Fields for class: DPCI} -\begin{longtable}{|lllp{0.38\textwidth}|} -\hline -\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf DPCI} \\ -\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A -pass-through PCI device.}} \\ -\hline -Quals & Field & Type & Description \\ -\hline -$\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\ -$\mathit{RO}_\mathit{inst}$ & {\tt VM} & VM ref & the virtual machine \\ -$\mathit{RO}_\mathit{inst}$ & {\tt PPCI} & PPCI ref & the physical PCI device \\ -$\mathit{RO}_\mathit{inst}$ & {\tt hotplug\_slot} & int & the slot number to which this PCI device is inserted \\ -$\mathit{RO}_\mathit{run}$ & {\tt virtual\_domain} & int & the virtual domain number \\ -$\mathit{RO}_\mathit{run}$ & {\tt virtual\_bus} & int & the virtual bus number \\ -$\mathit{RO}_\mathit{run}$ & {\tt virtual\_slot} & int & the virtual slot number \\ -$\mathit{RO}_\mathit{run}$ & {\tt virtual\_func} & int & the virtual func number \\ -$\mathit{RO}_\mathit{run}$ & {\tt virtual\_name} & string & the virtual PCI name \\ -\hline -\end{longtable} -\subsection{RPCs associated with class: DPCI} -\subsubsection{RPC name:~get\_all} - -{\bf Overview:} -Return a list of all the DPCIs known to the system. - - \noindent {\bf Signature:} -\begin{verbatim} ((DPCI ref) Set) get_all (session_id s)\end{verbatim} - - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(DPCI ref) Set -} - - -references to all objects -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_uuid} - -{\bf Overview:} -Get the uuid field of the given DPCI. - - \noindent {\bf Signature:} -\begin{verbatim} string get_uuid (session_id s, DPCI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt DPCI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_VM} - -{\bf Overview:} -Get the VM field of the given DPCI. - - \noindent {\bf Signature:} -\begin{verbatim} (VM ref) get_VM (session_id s, DPCI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt DPCI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VM ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_PPCI} - -{\bf Overview:} -Get the PPCI field of the given DPCI. - - \noindent {\bf Signature:} -\begin{verbatim} (PPCI ref) get_PPCI (session_id s, DPCI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt DPCI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -PPCI ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_hotplug\_slot} - -{\bf Overview:} -Get the hotplug\_slot field of the given DPCI. - - \noindent {\bf Signature:} -\begin{verbatim} int get_hotplug_slot (session_id s, DPCI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt DPCI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_virtual\_domain} - -{\bf Overview:} -Get the virtual\_domain field of the given DPCI. - - \noindent {\bf Signature:} -\begin{verbatim} int get_virtual_domain (session_id s, DPCI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt DPCI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_virtual\_bus} - -{\bf Overview:} -Get the virtual\_bus field of the given DPCI. - - \noindent {\bf Signature:} -\begin{verbatim} int get_virtual_bus (session_id s, DPCI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt DPCI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_virtual\_slot} - -{\bf Overview:} -Get the virtual\_slot field of the given DPCI. - - \noindent {\bf Signature:} -\begin{verbatim} int get_virtual_slot (session_id s, DPCI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt DPCI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_virtual\_func} - -{\bf Overview:} -Get the virtual\_func field of the given DPCI. - - \noindent {\bf Signature:} -\begin{verbatim} int get_virtual_func (session_id s, DPCI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt DPCI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_virtual\_name} - -{\bf Overview:} -Get the virtual\_name field of the given DPCI. - - \noindent {\bf Signature:} -\begin{verbatim} string get_virtual_name (session_id s, DPCI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt DPCI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~create} - -{\bf Overview:} -Create a new DPCI instance, and return its handle. - - \noindent {\bf Signature:} -\begin{verbatim} (DPCI ref) create (session_id s, DPCI record args)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt DPCI record } & args & All constructor arguments \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -DPCI ref -} - - -reference to the newly created object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~destroy} - -{\bf Overview:} -Destroy the specified DPCI instance. - - \noindent {\bf Signature:} -\begin{verbatim} void destroy (session_id s, DPCI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt DPCI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_uuid} - -{\bf Overview:} -Get a reference to the DPCI instance with the specified UUID. - - \noindent {\bf Signature:} -\begin{verbatim} (DPCI ref) get_by_uuid (session_id s, string uuid)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & uuid & UUID of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -DPCI ref -} - - -reference to the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_record} - -{\bf Overview:} -Get a record containing the current state of the given DPCI. - - \noindent {\bf Signature:} -\begin{verbatim} (DPCI record) get_record (session_id s, DPCI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt DPCI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -DPCI record -} - - -all fields from the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} - -\vspace{1cm} -\newpage -\section{Class: PPCI} -\subsection{Fields for class: PPCI} -\begin{longtable}{|lllp{0.38\textwidth}|} -\hline -\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf PPCI} \\ -\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A -physical PCI device.}} \\ -\hline -Quals & Field & Type & Description \\ -\hline -$\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\ -$\mathit{RO}_\mathit{run}$ & {\tt host} & host ref & the physical machine to which this PPCI is connected \\ -$\mathit{RO}_\mathit{run}$ & {\tt domain} & int & the domain number \\ -$\mathit{RO}_\mathit{run}$ & {\tt bus} & int & the bus number \\ -$\mathit{RO}_\mathit{run}$ & {\tt slot} & int & the slot number \\ -$\mathit{RO}_\mathit{run}$ & {\tt func} & int & the func number \\ -$\mathit{RO}_\mathit{run}$ & {\tt name} & string & the PCI name \\ -$\mathit{RO}_\mathit{run}$ & {\tt vendor\_id} & int & the vendor ID \\ -$\mathit{RO}_\mathit{run}$ & {\tt vendor\_name} & string & the vendor name \\ -$\mathit{RO}_\mathit{run}$ & {\tt device\_id} & int & the device ID \\ -$\mathit{RO}_\mathit{run}$ & {\tt device\_name} & string & the device name \\ -$\mathit{RO}_\mathit{run}$ & {\tt revision\_id} & int & the revision ID \\ -$\mathit{RO}_\mathit{run}$ & {\tt class\_code} & int & the class code \\ -$\mathit{RO}_\mathit{run}$ & {\tt class\_name} & string & the class name \\ -$\mathit{RO}_\mathit{run}$ & {\tt subsystem\_vendor\_id} & int & the subsystem vendor ID \\ -$\mathit{RO}_\mathit{run}$ & {\tt subsystem\_vendor\_name} & string & the subsystem vendor name \\ -$\mathit{RO}_\mathit{run}$ & {\tt subsystem\_id} & int & the subsystem ID \\ -$\mathit{RO}_\mathit{run}$ & {\tt subsystem\_name} & string & the subsystem name \\ -$\mathit{RO}_\mathit{run}$ & {\tt driver} & string & the driver name \\ -\hline -\end{longtable} -\subsection{RPCs associated with class: PPCI} -\subsubsection{RPC name:~get\_all} - -{\bf Overview:} -Return a list of all the PPCIs known to the system. - - \noindent {\bf Signature:} -\begin{verbatim} ((PPCI ref) Set) get_all (session_id s)\end{verbatim} - - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(PPCI ref) Set -} - - -references to all objects -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_uuid} - -{\bf Overview:} -Get the uuid field of the given PPCI. - - \noindent {\bf Signature:} -\begin{verbatim} string get_uuid (session_id s, PPCI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PPCI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_host} - -{\bf Overview:} -Get the host field of the given PPCI. - - \noindent {\bf Signature:} -\begin{verbatim} (host ref) get_host (session_id s, PPCI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PPCI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -host ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_domain} - -{\bf Overview:} -Get the domain field of the given PPCI. - - \noindent {\bf Signature:} -\begin{verbatim} int get_domain (session_id s, PPCI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PPCI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_bus} - -{\bf Overview:} -Get the bus field of the given PPCI. - - \noindent {\bf Signature:} -\begin{verbatim} int get_bus (session_id s, PPCI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PPCI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_slot} - -{\bf Overview:} -Get the slot field of the given PPCI. - - \noindent {\bf Signature:} -\begin{verbatim} int get_slot (session_id s, PPCI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PPCI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_func} - -{\bf Overview:} -Get the func field of the given PPCI. - - \noindent {\bf Signature:} -\begin{verbatim} int get_func (session_id s, PPCI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PPCI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_name} - -{\bf Overview:} -Get the name field of the given PPCI. - - \noindent {\bf Signature:} -\begin{verbatim} string get_name (session_id s, PPCI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PPCI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_vendor\_id} - -{\bf Overview:} -Get the vendor\_id field of the given PPCI. - - \noindent {\bf Signature:} -\begin{verbatim} int get_vendor_id (session_id s, PPCI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PPCI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_vendor\_name} - -{\bf Overview:} -Get the vendor\_name field of the given PPCI. - - \noindent {\bf Signature:} -\begin{verbatim} string get_vendor_name (session_id s, PPCI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PPCI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_device\_id} - -{\bf Overview:} -Get the device\_id field of the given PPCI. - - \noindent {\bf Signature:} -\begin{verbatim} int get_device_id (session_id s, PPCI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PPCI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_device\_name} - -{\bf Overview:} -Get the device\_name field of the given PPCI. - - \noindent {\bf Signature:} -\begin{verbatim} string get_device_name (session_id s, PPCI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PPCI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_revision\_id} - -{\bf Overview:} -Get the revision\_id field of the given PPCI. - - \noindent {\bf Signature:} -\begin{verbatim} int get_revision_id (session_id s, PPCI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PPCI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_class\_code} - -{\bf Overview:} -Get the class\_code field of the given PPCI. - - \noindent {\bf Signature:} -\begin{verbatim} int get_class_code (session_id s, PPCI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PPCI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_class\_name} - -{\bf Overview:} -Get the class\_name field of the given PPCI. - - \noindent {\bf Signature:} -\begin{verbatim} string get_class_name (session_id s, PPCI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PPCI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_subsystem\_vendor\_id} - -{\bf Overview:} -Get the subsystem\_vendor\_id field of the given PPCI. - - \noindent {\bf Signature:} -\begin{verbatim} int get_subsystem_vendor_id (session_id s, PPCI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PPCI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_subsystem\_vendor\_name} - -{\bf Overview:} -Get the subsystem\_vendor\_name field of the given PPCI. - - \noindent {\bf Signature:} -\begin{verbatim} string get_subsystem_vendor_name (session_id s, PPCI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PPCI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_subsystem\_id} - -{\bf Overview:} -Get the subsystem\_id field of the given PPCI. - - \noindent {\bf Signature:} -\begin{verbatim} int get_subsystem_id (session_id s, PPCI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PPCI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_subsystem\_name} - -{\bf Overview:} -Get the subsystem\_name field of the given PPCI. - - \noindent {\bf Signature:} -\begin{verbatim} string get_subsystem_name (session_id s, PPCI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PPCI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_driver} - -{\bf Overview:} -Get the driver field of the given PPCI. - - \noindent {\bf Signature:} -\begin{verbatim} string get_driver (session_id s, PPCI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PPCI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_uuid} - -{\bf Overview:} -Get a reference to the PPCI instance with the specified UUID. - - \noindent {\bf Signature:} -\begin{verbatim} (PPCI ref) get_by_uuid (session_id s, string uuid)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & uuid & UUID of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -PPCI ref -} - - -reference to the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_record} - -{\bf Overview:} -Get a record containing the current state of the given PPCI. - - \noindent {\bf Signature:} -\begin{verbatim} (PPCI record) get_record (session_id s, PPCI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PPCI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -PPCI record -} - - -all fields from the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} - -\vspace{1cm} -\newpage -\section{Class: DSCSI} -\subsection{Fields for class: DSCSI} -\begin{longtable}{|lllp{0.38\textwidth}|} -\hline -\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf DSCSI} \\ -\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A -half-virtualized SCSI device.}} \\ -\hline -Quals & Field & Type & Description \\ -\hline -$\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\ -$\mathit{RO}_\mathit{inst}$ & {\tt VM} & VM ref & the virtual machine \\ -$\mathit{RO}_\mathit{inst}$ & {\tt PSCSI} & PSCSI ref & the physical SCSI device \\ -$\mathit{RO}_\mathit{run}$ & {\tt HBA} & DSCSI\_HBA ref & the half-virtualized SCSI host bus adapter \\ -$\mathit{RO}_\mathit{run}$ & {\tt virtual\_host} & int & the virtual host number \\ -$\mathit{RO}_\mathit{run}$ & {\tt virtual\_channel} & int & the virtual channel number \\ -$\mathit{RO}_\mathit{run}$ & {\tt virtual\_target} & int & the virtual target number \\ -$\mathit{RO}_\mathit{run}$ & {\tt virtual\_lun} & int & the virtual logical unit number \\ -$\mathit{RO}_\mathit{inst}$ & {\tt virtual\_HCTL} & string & the virtual HCTL \\ -$\mathit{RO}_\mathit{run}$ & {\tt runtime\_properties} & (string $\rightarrow$ string) Map & Device runtime properties \\ -\hline -\end{longtable} -\subsection{RPCs associated with class: DSCSI} -\subsubsection{RPC name:~get\_all} - -{\bf Overview:} -Return a list of all the DSCSIs known to the system. - - \noindent {\bf Signature:} -\begin{verbatim} ((DSCSI ref) Set) get_all (session_id s)\end{verbatim} - - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(DSCSI ref) Set -} - - -references to all objects -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_uuid} - -{\bf Overview:} -Get the uuid field of the given DSCSI. - - \noindent {\bf Signature:} -\begin{verbatim} string get_uuid (session_id s, DSCSI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt DSCSI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_VM} - -{\bf Overview:} -Get the VM field of the given DSCSI. - - \noindent {\bf Signature:} -\begin{verbatim} (VM ref) get_VM (session_id s, DSCSI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt DSCSI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VM ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_PSCSI} - -{\bf Overview:} -Get the PSCSI field of the given DSCSI. - - \noindent {\bf Signature:} -\begin{verbatim} (PSCSI ref) get_PSCSI (session_id s, DSCSI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt DSCSI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -PSCSI ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_HBA} - -{\bf Overview:} -Get the HBA field of the given DSCSI. - - \noindent {\bf Signature:} -\begin{verbatim} (DSCSI_HBA ref) get_HBA (session_id s, DSCSI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt DSCSI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -DSCSI\_HBA ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_virtual\_host} - -{\bf Overview:} -Get the virtual\_host field of the given DSCSI. - - \noindent {\bf Signature:} -\begin{verbatim} int get_virtual_host (session_id s, DSCSI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt DSCSI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_virtual\_channel} - -{\bf Overview:} -Get the virtual\_channel field of the given DSCSI. - - \noindent {\bf Signature:} -\begin{verbatim} int get_virtual_channel (session_id s, DSCSI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt DSCSI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_virtual\_target} - -{\bf Overview:} -Get the virtual\_target field of the given DSCSI. - - \noindent {\bf Signature:} -\begin{verbatim} int get_virtual_target (session_id s, DSCSI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt DSCSI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_virtual\_lun} - -{\bf Overview:} -Get the virtual\_lun field of the given DSCSI. - - \noindent {\bf Signature:} -\begin{verbatim} int get_virtual_lun (session_id s, DSCSI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt DSCSI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_virtual\_HCTL} - -{\bf Overview:} -Get the virtual\_HCTL field of the given DSCSI. - - \noindent {\bf Signature:} -\begin{verbatim} string get_virtual_HCTL (session_id s, DSCSI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt DSCSI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_runtime\_properties} - -{\bf Overview:} -Get the runtime\_properties field of the given DSCSI. - - \noindent {\bf Signature:} -\begin{verbatim} ((string -> string) Map) get_runtime_properties (session_id s, DSCSI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt DSCSI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(string $\rightarrow$ string) Map -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~create} - -{\bf Overview:} -Create a new DSCSI instance, and create a new DSCSI\_HBA instance as needed -that the new DSCSI instance connects to, and return the handle of the new -DSCSI instance. - - \noindent {\bf Signature:} -\begin{verbatim} (DSCSI ref) create (session_id s, DSCSI record args)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt DSCSI record } & args & All constructor arguments \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -DSCSI ref -} - - -reference to the newly created object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~destroy} - -{\bf Overview:} -Destroy the specified DSCSI instance, and destroy a DSCSI\_HBA instance as -needed that the specified DSCSI instance connects to. - - \noindent {\bf Signature:} -\begin{verbatim} void destroy (session_id s, DSCSI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt DSCSI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_uuid} - -{\bf Overview:} -Get a reference to the DSCSI instance with the specified UUID. - - \noindent {\bf Signature:} -\begin{verbatim} (DSCSI ref) get_by_uuid (session_id s, string uuid)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & uuid & UUID of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -DSCSI ref -} - - -reference to the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_record} - -{\bf Overview:} -Get a record containing the current state of the given DSCSI. - - \noindent {\bf Signature:} -\begin{verbatim} (DSCSI record) get_record (session_id s, DSCSI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt DSCSI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -DSCSI record -} - - -all fields from the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} - -\vspace{1cm} -\newpage -\section{Class: DSCSI\_HBA} -\subsection{Fields for class: DSCSI\_HBA} -\begin{longtable}{|lllp{0.38\textwidth}|} -\hline -\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf DSCSI\_HBA} \\ -\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A -half-virtualized SCSI host bus adapter.}} \\ -\hline -Quals & Field & Type & Description \\ -\hline -$\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\ -$\mathit{RO}_\mathit{inst}$ & {\tt VM} & VM ref & the virtual machine \\ -$\mathit{RO}_\mathit{run}$ & {\tt PSCSI\_HBAs} & (PSCSI\_HBA ref) Set & the physical SCSI HBAs \\ -$\mathit{RO}_\mathit{run}$ & {\tt DSCSIs} & (DSCSI ref) Set & the half-virtualized SCSI devices which are connected to this DSCSI HBA \\ -$\mathit{RO}_\mathit{inst}$ & {\tt virtual\_host} & int & the virtual host number \\ -$\mathit{RO}_\mathit{inst}$ & {\tt assignment\_mode} & string & the assignment mode of the half-virtualized SCSI devices which are connected to this DSCSI HBA \\ -\hline -\end{longtable} -\subsection{RPCs associated with class: DSCSI\_HBA} -\subsubsection{RPC name:~get\_all} - -{\bf Overview:} -Return a list of all the DSCSI HBAs known to the system. - - \noindent {\bf Signature:} -\begin{verbatim} ((DSCSI_HBA ref) Set) get_all (session_id s)\end{verbatim} - - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(DSCSI\_HBA ref) Set -} - - -references to all objects -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_uuid} - -{\bf Overview:} -Get the uuid field of the given DSCSI HBA. - - \noindent {\bf Signature:} -\begin{verbatim} string get_uuid (session_id s, DSCSI_HBA ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt DSCSI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_VM} - -{\bf Overview:} -Get the VM field of the given DSCSI HBA. - - \noindent {\bf Signature:} -\begin{verbatim} (VM ref) get_VM (session_id s, DSCSI_HBA ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt DSCSI\_HBA ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -VM ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_PSCSI\_HBAs} - -{\bf Overview:} -Get the PSCSI\_HBAs field of the given DSCSI HBA. - - \noindent {\bf Signature:} -\begin{verbatim} ((PSCSI_HBA ref) Set) get_PSCSI_HBAs (session_id s, DSCSI_HBA ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt DSCSI\_HBA ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(PSCSI\_HBA ref) Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_DSCSIs} - -{\bf Overview:} -Get the DSCSIs field of the given DSCSI HBA. - - \noindent {\bf Signature:} -\begin{verbatim} ((DSCSI ref) Set) get_DSCSIs (session_id s, DSCSI_HBA ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt DSCSI\_HBA ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(DSCSI ref) Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_virtual\_host} - -{\bf Overview:} -Get the virtual\_host field of the given DSCSI HBA. - - \noindent {\bf Signature:} -\begin{verbatim} int get_virtual_host (session_id s, DSCSI_HBA ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt DSCSI\_HBA ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_assignment\_mode} - -{\bf Overview:} -Get the assignment\_mode field of the given DSCSI HBA. - - \noindent {\bf Signature:} -\begin{verbatim} string get_assignment_mode (session_id s, DSCSI_HBA ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt DSCSI\_HBA ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~create} - -{\bf Overview:} -Create a new DSCSI\_HBA instance, and create new DSCSI instances of -half-virtualized SCSI devices which are connected to the half-virtualized -SCSI host bus adapter, and return the handle of the new DSCSI\_HBA instance. - - \noindent {\bf Signature:} -\begin{verbatim} (DSCSI_HBA ref) create (session_id s, DSCSI_HBA record args)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt DSCSI\_HBA record } & args & All constructor arguments \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -DSCSI\_HBA ref -} - - -reference to the newly created object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~destroy} - -{\bf Overview:} -Destroy the specified DSCSI\_HBA instance, and destroy DSCSI instances of -half-virtualized SCSI devices which are connected to the half-virtualized SCSI -host bus adapter. - - \noindent {\bf Signature:} -\begin{verbatim} void destroy (session_id s, DSCSI_HBA ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt DSCSI\_HBA ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_uuid} - -{\bf Overview:} -Get a reference to the DSCSI\_HBA instance with the specified UUID. - - \noindent {\bf Signature:} -\begin{verbatim} (DSCSI_HBA ref) get_by_uuid (session_id s, string uuid)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & uuid & UUID of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -DSCSI\_HBA ref -} - - -reference to the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_record} - -{\bf Overview:} -Get a record containing the current state of the given DSCSI HBA. - - \noindent {\bf Signature:} -\begin{verbatim} (DSCSI_HBA record) get_record (session_id s, DSCSI_HBA ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt DSCSI\_HBA ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -DSCSI\_HBA record -} - - -all fields from the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} - -\vspace{1cm} -\newpage -\section{Class: PSCSI} -\subsection{Fields for class: PSCSI} -\begin{longtable}{|lllp{0.38\textwidth}|} -\hline -\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf PSCSI} \\ -\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A -physical SCSI device.}} \\ -\hline -Quals & Field & Type & Description \\ -\hline -$\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\ -$\mathit{RO}_\mathit{run}$ & {\tt host} & host ref & the physical machine to which this PSCSI is connected \\ -$\mathit{RO}_\mathit{run}$ & {\tt HBA} & PSCSI\_HBA ref & the physical SCSI host bus adapter \\ -$\mathit{RO}_\mathit{run}$ & {\tt physical\_host} & int & the physical host number \\ -$\mathit{RO}_\mathit{run}$ & {\tt physical\_channel} & int & the physical channel number \\ -$\mathit{RO}_\mathit{run}$ & {\tt physical\_target} & int & the physical target number \\ -$\mathit{RO}_\mathit{run}$ & {\tt physical\_lun} & int & the physical logical unit number \\ -$\mathit{RO}_\mathit{run}$ & {\tt physical\_HCTL} & string & the physical HCTL \\ -$\mathit{RO}_\mathit{run}$ & {\tt vendor\_name} & string & the vendor name \\ -$\mathit{RO}_\mathit{run}$ & {\tt model} & string & the model \\ -$\mathit{RO}_\mathit{run}$ & {\tt type\_id} & int & the SCSI type ID \\ -$\mathit{RO}_\mathit{run}$ & {\tt type} & string & the SCSI type \\ -$\mathit{RO}_\mathit{run}$ & {\tt dev\_name} & string & the SCSI device name (e.g. sda or st0) \\ -$\mathit{RO}_\mathit{run}$ & {\tt sg\_name} & string & the SCSI generic device name (e.g. sg0) \\ -$\mathit{RO}_\mathit{run}$ & {\tt revision} & string & the revision \\ -$\mathit{RO}_\mathit{run}$ & {\tt scsi\_id} & string & the SCSI ID \\ -$\mathit{RO}_\mathit{run}$ & {\tt scsi\_level} & int & the SCSI level \\ -\hline -\end{longtable} -\subsection{RPCs associated with class: PSCSI} -\subsubsection{RPC name:~get\_all} - -{\bf Overview:} -Return a list of all the PSCSIs known to the system. - - \noindent {\bf Signature:} -\begin{verbatim} ((PSCSI ref) Set) get_all (session_id s)\end{verbatim} - - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(PSCSI ref) Set -} - - -references to all objects -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_uuid} - -{\bf Overview:} -Get the uuid field of the given PSCSI. - - \noindent {\bf Signature:} -\begin{verbatim} string get_uuid (session_id s, PSCSI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PSCSI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_host} - -{\bf Overview:} -Get the host field of the given PSCSI. - - \noindent {\bf Signature:} -\begin{verbatim} (host ref) get_host (session_id s, PSCSI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PSCSI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -host ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_HBA} - -{\bf Overview:} -Get the HBA field of the given PSCSI. - - \noindent {\bf Signature:} -\begin{verbatim} (PSCSI_HBA ref) get_HBA (session_id s, PSCSI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PSCSI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -PSCSI\_HBA ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_physical\_host} - -{\bf Overview:} -Get the physical\_host field of the given PSCSI. - - \noindent {\bf Signature:} -\begin{verbatim} int get_physical_host (session_id s, PSCSI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PSCSI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_physical\_channel} - -{\bf Overview:} -Get the physical\_channel field of the given PSCSI. - - \noindent {\bf Signature:} -\begin{verbatim} int get_physical_channel (session_id s, PSCSI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PSCSI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_physical\_target} - -{\bf Overview:} -Get the physical\_target field of the given PSCSI. - - \noindent {\bf Signature:} -\begin{verbatim} int get_physical_target (session_id s, PSCSI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PSCSI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_physical\_lun} - -{\bf Overview:} -Get the physical\_lun field of the given PSCSI. - - \noindent {\bf Signature:} -\begin{verbatim} int get_physical_lun (session_id s, PSCSI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PSCSI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_physical\_HCTL} - -{\bf Overview:} -Get the physical\_HCTL field of the given PSCSI. - - \noindent {\bf Signature:} -\begin{verbatim} string get_physical_HCTL (session_id s, PSCSI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PSCSI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_vendor\_name} - -{\bf Overview:} -Get the vendor\_name field of the given PSCSI. - - \noindent {\bf Signature:} -\begin{verbatim} string get_vendor_name (session_id s, PSCSI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PSCSI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_model} - -{\bf Overview:} -Get the model field of the given PSCSI. - - \noindent {\bf Signature:} -\begin{verbatim} string get_model (session_id s, PSCSI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PSCSI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_type\_id} - -{\bf Overview:} -Get the type\_id field of the given PSCSI. - - \noindent {\bf Signature:} -\begin{verbatim} int get_type_id (session_id s, PSCSI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PSCSI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_type} - -{\bf Overview:} -Get the type field of the given PSCSI. - - \noindent {\bf Signature:} -\begin{verbatim} string get_type (session_id s, PSCSI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PSCSI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_dev\_name} - -{\bf Overview:} -Get the dev\_name field of the given PSCSI. - - \noindent {\bf Signature:} -\begin{verbatim} string get_dev_name (session_id s, PSCSI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PSCSI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_sg\_name} - -{\bf Overview:} -Get the sg\_name field of the given PSCSI. - - \noindent {\bf Signature:} -\begin{verbatim} string get_sg_name (session_id s, PSCSI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PSCSI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_revision} - -{\bf Overview:} -Get the revision field of the given PSCSI. - - \noindent {\bf Signature:} -\begin{verbatim} string get_revision (session_id s, PSCSI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PSCSI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_scsi\_id} - -{\bf Overview:} -Get the scsi\_id field of the given PSCSI. - - \noindent {\bf Signature:} -\begin{verbatim} string get_scsi_id (session_id s, PSCSI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PSCSI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_scsi\_level} - -{\bf Overview:} -Get the scsi\_level field of the given PSCSI. - - \noindent {\bf Signature:} -\begin{verbatim} int get_scsi_level (session_id s, PSCSI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PSCSI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_uuid} - -{\bf Overview:} -Get a reference to the PSCSI instance with the specified UUID. - - \noindent {\bf Signature:} -\begin{verbatim} (PSCSI ref) get_by_uuid (session_id s, string uuid)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & uuid & UUID of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -PSCSI ref -} - - -reference to the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_record} - -{\bf Overview:} -Get a record containing the current state of the given PSCSI. - - \noindent {\bf Signature:} -\begin{verbatim} (PSCSI record) get_record (session_id s, PSCSI ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PSCSI ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -PSCSI record -} - - -all fields from the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} - -\vspace{1cm} -\newpage -\section{Class: PSCSI\_HBA} -\subsection{Fields for class: PSCSI\_HBA} -\begin{longtable}{|lllp{0.38\textwidth}|} -\hline -\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf PSCSI\_HBA} \\ -\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A -physical SCSI host bus adapter.}} \\ -\hline -Quals & Field & Type & Description \\ -\hline -$\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\ -$\mathit{RO}_\mathit{run}$ & {\tt host} & host ref & the physical machine to which this PSCSI HBA is connected \\ -$\mathit{RO}_\mathit{run}$ & {\tt physical\_host} & int & the physical host number \\ -$\mathit{RO}_\mathit{run}$ & {\tt PSCSIs} & (PSCSI ref) Set & the physical SCSI devices which are connected to this PSCSI HBA \\ -\hline -\end{longtable} -\subsection{RPCs associated with class: PSCSI\_HBA} -\subsubsection{RPC name:~get\_all} - -{\bf Overview:} -Return a list of all the PSCSI HBAs known to the system. - - \noindent {\bf Signature:} -\begin{verbatim} ((PSCSI_HBA ref) Set) get_all (session_id s)\end{verbatim} - - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(PSCSI\_HBA ref) Set -} - - -references to all objects -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_uuid} - -{\bf Overview:} -Get the uuid field of the given PSCSI HBA. - - \noindent {\bf Signature:} -\begin{verbatim} string get_uuid (session_id s, PSCSI_HBA ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PSCSI\_HBA ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_host} - -{\bf Overview:} -Get the host field of the given PSCSI HBA. - - \noindent {\bf Signature:} -\begin{verbatim} (host ref) get_host (session_id s, PSCSI_HBA ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PSCSI\_HBA ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -host ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_physical\_host} - -{\bf Overview:} -Get the physical\_host field of the given PSCSI HBA. - - \noindent {\bf Signature:} -\begin{verbatim} int get_physical_host (session_id s, PSCSI_HBA ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PSCSI\_HBA ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_PSCSIs} - -{\bf Overview:} -Get the PSCSIs field of the given PSCSI HBA. - - \noindent {\bf Signature:} -\begin{verbatim} ((PSCSI ref) Set) get_PSCSIs (session_id s, PSCSI_HBA ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PSCSI\_HBA ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(PSCSI ref) Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_uuid} - -{\bf Overview:} -Get a reference to the PSCSI HBA instance with the specified UUID. - - \noindent {\bf Signature:} -\begin{verbatim} (PSCSI_HBA ref) get_by_uuid (session_id s, string uuid)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & uuid & UUID of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -PSCSI\_HBA ref -} - - -reference to the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_record} - -{\bf Overview:} -Get a record containing the current state of the given PSCSI HBA. - - \noindent {\bf Signature:} -\begin{verbatim} (PSCSI_HBA record) get_record (session_id s, PSCSI_HBA ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt PSCSI\_HBA ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -PSCSI\_HBA record -} - - -all fields from the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} - -\vspace{1cm} -\newpage -\section{Class: user} -\subsection{Fields for class: user} -\begin{longtable}{|lllp{0.38\textwidth}|} -\hline -\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf user} \\ -\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A -user of the system.}} \\ -\hline -Quals & Field & Type & Description \\ -\hline -$\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier/object reference \\ -$\mathit{RO}_\mathit{ins}$ & {\tt short\_name} & string & short name (e.g. userid) \\ -$\mathit{RW}$ & {\tt fullname} & string & full name \\ -\hline -\end{longtable} -\subsection{RPCs associated with class: user} -\subsubsection{RPC name:~get\_uuid} - -{\bf Overview:} -Get the uuid field of the given user. - - \noindent {\bf Signature:} -\begin{verbatim} string get_uuid (session_id s, user ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt user ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_short\_name} - -{\bf Overview:} -Get the short\_name field of the given user. - - \noindent {\bf Signature:} -\begin{verbatim} string get_short_name (session_id s, user ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt user ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_fullname} - -{\bf Overview:} -Get the fullname field of the given user. - - \noindent {\bf Signature:} -\begin{verbatim} string get_fullname (session_id s, user ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt user ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_fullname} - -{\bf Overview:} -Set the fullname field of the given user. - - \noindent {\bf Signature:} -\begin{verbatim} void set_fullname (session_id s, user ref self, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt user ref } & self & reference to the object \\ \hline - -{\tt string } & value & New value to set \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~create} - -{\bf Overview:} -Create a new user instance, and return its handle. - - \noindent {\bf Signature:} -\begin{verbatim} (user ref) create (session_id s, user record args)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt user record } & args & All constructor arguments \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -user ref -} - - -reference to the newly created object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~destroy} - -{\bf Overview:} -Destroy the specified user instance. - - \noindent {\bf Signature:} -\begin{verbatim} void destroy (session_id s, user ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt user ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_uuid} - -{\bf Overview:} -Get a reference to the user instance with the specified UUID. - - \noindent {\bf Signature:} -\begin{verbatim} (user ref) get_by_uuid (session_id s, string uuid)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & uuid & UUID of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -user ref -} - - -reference to the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_record} - -{\bf Overview:} -Get a record containing the current state of the given user. - - \noindent {\bf Signature:} -\begin{verbatim} (user record) get_record (session_id s, user ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt user ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -user record -} - - -all fields from the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} - -\vspace{1cm} -\newpage -\section{Class: XSPolicy} -\subsection{Fields for class: XSPolicy} -\begin{longtable}{|lllp{0.38\textwidth}|} -\hline -\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf XSPolicy} \\ -\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A Xen Security Policy}} \\ -\hline -Quals & Field & Type & Description \\ -\hline -$\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier / object reference \\ -$\mathit{RW}$ & {\tt repr} & string & representation of policy, i.e., XML \\ -$\mathit{RO}_\mathit{run}$ & {\tt type} & xs\_type & type of the policy \\ -$\mathit{RO}_\mathit{run}$ & {\tt flags} & xs\_instantiationflags & policy -status flags \\ -\hline -\end{longtable} -\subsection{Semantics of the class: XSPolicy} - -The XSPolicy class is used for administering Xen Security policies. Through -this class a new policy can be uploaded to the system, loaded into the -Xen hypervisor for enforcement and be set as the policy that the -system is automatically loading when the machine is started. - -This class returns information about the currently administered policy, -including a reference to the policy. This reference can then be used with -policy-specific classes, i.e., the ACMPolicy class, to allow retrieval of -information or changes to be made to a particular policy. - -\subsection{Structure and datatypes of class: XSPolicy} - -Format of the security label: - -A security label consist of the three different parts {\it policy type}, -{\it policy name} and {\it label} separated with colons. To specify -the virtual machine label for an ACM-type policy {\it xm-test}, the -security label string would be {\it ACM:xm-test:blue}, where blue -denotes the virtual machine's label. The format of resource labels is -the same.\\[0.5cm] -The following flags are used by this class: - -\begin{longtable}{|l|l|l|} -\hline -{\tt xs\_type} & value & meaning \\ -\hline -\hspace{0.5cm}{\tt XS\_POLICY\_ACM} & (1 $<<$ 0) & ACM-type policy \\ -\hline -\end{longtable} - -\begin{longtable}{|l|l|l|} -\hline -{\tt xs\_instantiationflags} & value & meaning \\ -\hline -\hspace{0.5cm}{\tt XS\_INST\_NONE} & 0 & do nothing \\ -\hspace{0.5cm}{\tt XS\_INST\_BOOT} & (1 $<<$ 0) & make system boot with this policy \\ -\hspace{0.5cm}{\tt XS\_INST\_LOAD} & (1 $<<$ 1) & load policy immediately \\ -\hline -\end{longtable} - -\begin{longtable}{|l|l|l|} -\hline -{\tt xs\_policystate} & type & meaning \\ -\hline -\hspace{0.5cm}{\tt xserr} & int & Error code from operation (if applicable) \\ -\hspace{0.5cm}{\tt xs\_ref} & XSPolicy ref & reference to the XS policy as returned by the API \\ -\hspace{0.5cm}{\tt repr} & string & representation of the policy, i.e., XML \\ -\hspace{0.5cm}{\tt type} & xs\_type & the type of the policy \\ -\hspace{0.5cm}{\tt flags } & xs\_instantiationflags & instantiation flags of the policy \\ -\hspace{0.5cm}{\tt version} & string & version of the policy \\ -\hspace{0.5cm}{\tt errors} & string & Base64-encoded sequence of integer tuples consisting \\ -& & of (error code, detail); will be returned as part \\ -& & of the xs\_setpolicy function. \\ -\hline -\end{longtable} - -\subsection{Additional RPCs associated with class: XSPolicy} -\subsubsection{RPC name:~get\_xstype} - -{\bf Overview:} -Return the Xen Security Policy types supported by this system - - \noindent {\bf Signature:} -\begin{verbatim} xs_type get_xstype (session_id s)\end{verbatim} - - \noindent {\bf Return Type:} -{\tt -xs\_type -} - -flags representing the supported Xen security policy types - \vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_xspolicy} - -{\bf Overview:} -Set the current XSPolicy. This function can also be be used for updating of -an existing policy whose name must be equivalent to the one of the -currently running policy. - -\noindent {\bf Signature:} -\begin{verbatim} xs_policystate set_xspolicy (session_id s, xs_type type, string repr, -xs_instantiationflags flags, bool overwrite)\end{verbatim} - -\noindent{\bf Arguments:} - -\vspace{0.3cm} - -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt xs\_type } & type & the type of policy \\ \hline -{\tt string} & repr & representation of the policy, i.e., XML \\ \hline -{\tt xs\_instantiationflags} & flags & flags for the setting of the policy \\ \hline -{\tt bool} & overwrite & whether to overwrite an existing policy \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - - \noindent {\bf Return Type:} -{\tt -xs\_policystate -} - - -State information about the policy. In case an error occurred, the 'xs\_err' -field contains the error code. The 'errors' may contain further information -about the error. - \vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~reset\_xspolicy} - -{\bf Overview:} -Attempt to reset the system's policy by installing the default policy. -Since this function is implemented as an update to the current policy, it -underlies the same restrictions. This function may fail if for example -other domains than Domain-0 are running and use a different label than -Domain-0 - -\noindent {\bf Signature:} -\begin{verbatim} xs_policystate reset_xspolicy (session_id s, xs_type type) -\end{verbatim} - -\noindent{\bf Arguments:} - -\vspace{0.3cm} - -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt xs\_type } & type & the type of policy \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - - \noindent {\bf Return Type:} -{\tt -xs\_policystate -} - - -State information about the policy. In case an error occurred, the 'xs\_err' -field contains the error code. The 'errors' may contain further information -about the error. -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_xspolicy} - -{\bf Overview:} -Get information regarding the currently set Xen Security Policy - - \noindent {\bf Signature:} -\begin{verbatim} xs_policystate get_xspolicy (session_id s)\end{verbatim} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -xs\_policystate -} - - -Policy state information. -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~rm\_xsbootpolicy} - -{\bf Overview:} -Remove any policy from the default boot configuration. - - \noindent {\bf Signature:} -\begin{verbatim} void rm_xsbootpolicy (session_id s)\end{verbatim} - -\vspace{0.3cm} - -\noindent{\bf Possible Error Codes:} {\tt SECURITY\_ERROR} - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_labeled\_resources} - -{\bf Overview:} -Get a list of resources that have been labeled. - - \noindent {\bf Signature:} -\begin{verbatim} ((string -> string) Map) get_labeled_resources (session_id s)\end{verbatim} - - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(string $\rightarrow$ string) Map -} - - -A map of resources with their labels. -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_resource\_label} - -{\bf Overview:} -Label the given resource with the given label. An empty label removes any label -from the resource. - - \noindent {\bf Signature:} -\begin{verbatim} void set_resource_label (session_id s, string resource, string -label, string old_label)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & resource & resource to label \\ \hline -{\tt string } & label & label for the resource \\ \hline -{\tt string } & old\_label & Optional label value that the security label \\ -& & must currently have for the change to succeed. \\ \hline - -\end{tabular} - -\vspace{0.3cm} - -\noindent{\bf Possible Error Codes:} {\tt SECURITY\_ERROR} - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_resource\_label} - -{\bf Overview:} -Get the label of the given resource. - - \noindent {\bf Signature:} -\begin{verbatim} string get_resource_label (session_id s, string resource)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & resource & resource to label \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -The label of the given resource. -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~can\_run} - -{\bf Overview:} -Check whether a VM with the given security label could run on the system. - - \noindent {\bf Signature:} -\begin{verbatim} int can_run (session_id s, string security_label)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & security\_label & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -Error code indicating whether a VM with the given security label could run. -If zero, it can run. - -\vspace{0.3cm} - -\noindent{\bf Possible Error Codes:} {\tt SECURITY\_ERROR} - -\subsubsection{RPC name:~get\_all} - -{\bf Overview:} -Return a list of all the XSPolicies known to the system. - - \noindent {\bf Signature:} -\begin{verbatim} ((XSPolicy ref) Set) get_all (session_id s)\end{verbatim} - - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(XSPolicy ref) Set -} - - -A list of all the IDs of all the XSPolicies -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_uuid} - -{\bf Overview:} -Get the uuid field of the given XSPolicy. - - \noindent {\bf Signature:} -\begin{verbatim} string get_uuid (session_id s, XSPolicy ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt XSPolicy ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_record} - -{\bf Overview:} -Get a record of the referenced XSPolicy. - - \noindent {\bf Signature:} -\begin{verbatim} (XSPolicy record) get_record (session_id s, xs_ref xspolicy)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt xs ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -XSPolicy record -} - - -all fields from the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\newpage -\section{Class: ACMPolicy} -\subsection{Fields for class: ACMPolicy} -\begin{longtable}{|lllp{0.38\textwidth}|} -\hline -\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf ACMPolicy} \\ -\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em An ACM Security Policy}} \\ -\hline -Quals & Field & Type & Description \\ -\hline -$\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier / object reference \\ -$\mathit{RW}$ & {\tt repr} & string & representation of policy, in XML \\ -$\mathit{RO}_\mathit{run}$ & {\tt type} & xs\_type & type of the policy \\ -$\mathit{RO}_\mathit{run}$ & {\tt flags} & xs\_instantiationflags & policy -status flags \\ -\hline -\end{longtable} - -\subsection{Structure and datatypes of class: ACMPolicy} - -\vspace{0.5cm} -The following data structures are used: - -\begin{longtable}{|l|l|l|} -\hline -{\tt RIP acm\_policyheader} & type & meaning \\ -\hline -\hspace{0.5cm}{\tt policyname} & string & name of the policy \\ -\hspace{0.5cm}{\tt policyurl } & string & URL of the policy \\ -\hspace{0.5cm}{\tt date} & string & data of the policy \\ -\hspace{0.5cm}{\tt reference} & string & reference of the policy \\ -\hspace{0.5cm}{\tt namespaceurl} & string & namespaceurl of the policy \\ -\hspace{0.5cm}{\tt version} & string & version of the policy \\ -\hline -\end{longtable} - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_header} - -{\bf Overview:} -Get the referenced policy's header information. - - \noindent {\bf Signature:} -\begin{verbatim} acm_policyheader get_header (session_id s, xs ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt xs ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -acm\_policyheader -} - - -The policy's header information. -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_xml} - -{\bf Overview:} -Get the XML representation of the given policy. - - \noindent {\bf Signature:} -\begin{verbatim} string get_XML (session_id s, xs ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt xs ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -XML representation of the referenced policy -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_map} - -{\bf Overview:} -Get the mapping information of the given policy. - - \noindent {\bf Signature:} -\begin{verbatim} string get_map (session_id s, xs ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt xs ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -Mapping information of the referenced policy. -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_binary} - -{\bf Overview:} -Get the binary policy representation of the referenced policy. - - \noindent {\bf Signature:} -\begin{verbatim} string get_binary (session_id s, xs ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt xs ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -Base64-encoded representation of the binary policy. -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_enforced\_binary} - -{\bf Overview:} -Get the binary policy representation of the currently enforced ACM policy. -In case the default policy is loaded in the hypervisor, a policy may be -managed by xend that is not yet loaded into the hypervisor. - - \noindent {\bf Signature:} -\begin{verbatim} string get_enforced_binary (session_id s, xs ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt xs ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -Base64-encoded representation of the binary policy. -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_VM\_ssidref} - -{\bf Overview:} -Get the ACM ssidref of the given virtual machine. - - \noindent {\bf Signature:} -\begin{verbatim} string get_VM_ssidref (session_id s, vm ref vm)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt vm ref } & vm & reference to a valid VM \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -The ssidref of the given virtual machine. - -\vspace{0.3cm} - -\noindent{\bf Possible Error Codes:} - {\tt HANDLE\_INVALID, VM\_BAD\_POWER\_STATE, SECURITY\_ERROR} - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_all} - -{\bf Overview:} -Return a list of all the ACMPolicies known to the system. - - \noindent {\bf Signature:} -\begin{verbatim} ((ACMPolicy ref) Set) get_all (session_id s)\end{verbatim} - - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(ACMPolicy ref) Set -} - - -A list of all the IDs of all the ACMPolicies -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_uuid} - -{\bf Overview:} -Get the uuid field of the given ACMPolicy. - - \noindent {\bf Signature:} -\begin{verbatim} string get_uuid (session_id s, ACMPolicy ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt ACMPolicy ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_record} - -{\bf Overview:} -Get a record of the referenced ACMPolicy. - - \noindent {\bf Signature:} -\begin{verbatim} (XSPolicy record) get_record (session_id s, xs_ref xspolicy)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt xs ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -XSPolicy record -} - - -all fields from the object - -\newpage -\section{Class: debug} -\subsection{Fields for class: debug} -{\bf Class debug has no fields.} -\subsection{RPCs associated with class: debug} -\subsubsection{RPC name:~get\_all} - -{\bf Overview:} -Return a list of all the debug records known to the system - - \noindent {\bf Signature:} -\begin{verbatim} ((debug ref) Set) get_all (session_id s)\end{verbatim} - - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(debug ref) Set -} - - -A list of all the IDs of all the debug records -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~return\_failure} - -{\bf Overview:} -Return an API 'successful' failure. - - \noindent {\bf Signature:} -\begin{verbatim} void return_failure (session_id s)\end{verbatim} - - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~create} - -{\bf Overview:} -Create a new debug instance, and return its handle. - - \noindent {\bf Signature:} -\begin{verbatim} (debug ref) create (session_id s, debug record args)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt debug record } & args & All constructor arguments \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -debug ref -} - - -reference to the newly created object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~destroy} - -{\bf Overview:} -Destroy the specified debug instance. - - \noindent {\bf Signature:} -\begin{verbatim} void destroy (session_id s, debug ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt debug ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_uuid} - -{\bf Overview:} -Get a reference to the debug instance with the specified UUID. - - \noindent {\bf Signature:} -\begin{verbatim} (debug ref) get_by_uuid (session_id s, string uuid)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & uuid & UUID of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -debug ref -} - - -reference to the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_record} - -{\bf Overview:} -Get a record containing the current state of the given debug. - - \noindent {\bf Signature:} -\begin{verbatim} (debug record) get_record (session_id s, debug ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt debug ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -debug record -} - - -all fields from the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} - -\newpage -\section{Class: cpu\_pool} -\subsection{Fields for class: cpu\_pool} -\begin{longtable}{|lllp{0.38\textwidth}|} -\hline -\multicolumn{1}{|l}{Name} & \multicolumn{3}{l|}{\bf cpu\_pool} \\ -\multicolumn{1}{|l}{Description} & \multicolumn{3}{l|}{\parbox{11cm}{\em A CPU pool}} \\ -\hline -Quals & Field & Type & Description \\ -\hline -$\mathit{RO}_\mathit{run}$ & {\tt uuid} & string & unique identifier / object reference \\ -$\mathit{RW}$ & {\tt name\_label} & string & name of cpu\_pool \\ -$\mathit{RW}$ & {\tt name\_description} & string & cpu\_pool description \\ -$\mathit{RO}_\mathit{run}$ & {\tt resident\_on} & host ref & the host the cpu\_pool is currently resident on \\ -$\mathit{RW}$ & {\tt auto\_power\_on} & bool & True if this cpu\_pool should be activated automatically after host boot \\ -$\mathit{RO}_\mathit{run}$ & {\tt started\_VMs} & (VM ref) Set & list of VMs currently started in this cpu\_pool \\ -$\mathit{RW}$ & {\tt ncpu} & integer & number of host\_CPUs requested for this cpu\_pool at next start \\ -$\mathit{RW}$ & {\tt sched\_policy} & string & scheduler policy on this cpu\_pool \\ -$\mathit{RW}$ & {\tt proposed\_CPUs} & (string) Set & list of proposed host\_CPUs to assign at next activation \\ -$\mathit{RO}_\mathit{run}$ & {\tt host\_CPUs} & (VM ref) Set & list of host\_cpus currently assigned to this cpu\_pool \\ -$\mathit{RO}_\mathit{run}$ & {\tt activated} & bool & True if this cpu\_pool is activated \\ -$\mathit{RW}$ & {\tt other\_config} & (string $\rightarrow$ string) Map & additional configuration \\ -\hline -\end{longtable} -\subsection{RPCs associated with class: cpu\_pool} -\subsubsection{RPC name:~activate} - -{\bf Overview:} -Activate the cpu\_pool and assign the given CPUs to it. -CPUs specified in field proposed\_CPUs, that are not existing or not free, are -ignored. If value of ncpu is greater than the number of CPUs in field -proposed\_CPUs, additional free CPUs are assigned to the cpu\_pool. - - \noindent {\bf Signature:} -\begin{verbatim} void activate (session_id s, cpu_pool ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt cpu\_pool ref } & self & reference to the object \\ \hline -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - -\vspace{0.3cm} - -\noindent {\bf Possible Error Codes:} - {\tt POOL\_BAD\_STATE, INSUFFICIENT\_CPUS, UNKOWN\_SCHED\_POLICY} - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~create} - -{\bf Overview:} -Create a new cpu\_pool instance, and return its handle. - - \noindent {\bf Signature:} -\begin{verbatim} (cpu_pool ref) create (session_id s, cpu_pool record args)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt cpu\_pool record } & args & All constructor arguments \\ \hline -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -cpu\_pool ref -} - - -reference to the newly created object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~deactivate} - -{\bf Overview:} -Deactivate the cpu\_pool and release all CPUs assigned to it. -This function can only be called if there are no domains active in the -cpu\_pool. - - \noindent {\bf Signature:} -\begin{verbatim} void deactivate (session_id s, cpu_pool ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt cpu\_pool ref } & self & reference to the object \\ \hline -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - -\vspace{0.3cm} - -\noindent {\bf Possible Error Codes:} {\tt POOL\_BAD\_STATE} - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~destroy} - -{\bf Overview:} -Destroy the specified cpu\_pool. The cpu\_pool is completely removed from the -system. -This function can only be called if the cpu\_pool is deactivated. - - \noindent {\bf Signature:} -\begin{verbatim} void destroy (session_id s, cpu_pool ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt cpu\_pool ref } & self & reference to the object \\ \hline -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - -\vspace{0.3cm} - -\noindent {\bf Possible Error Codes:} {\tt POOL\_BAD\_STATE} - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~add\_host\_CPU\_live} - - -{\bf Overview:} -Add a additional CPU immediatly to the cpu\_pool. - - \noindent {\bf Signature:} -\begin{verbatim} void add_host_CPU_live (session_id s, cpu_pool ref self, host_cpu ref host_cpu)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt cpu\_pool ref } & self & reference to the object \\ \hline -{\tt host\_cpu ref } & host\_cpu & CPU to add \\ \hline -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - -\vspace{0.3cm} - -\noindent {\bf Possible Error Codes:} - {\tt POOL\_BAD\_STATE, INVALID\_CPU} - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~remove\_host\_CPU\_live} - - -{\bf Overview:} -Remove a CPU immediatly from the cpu\_pool. - - \noindent {\bf Signature:} -\begin{verbatim} void remove_host_CPU_live (session_id s, cpu_pool ref self, host_cpu ref host_cpu)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt cpu\_pool ref } & self & reference to the object \\ \hline -{\tt host\_cpu ref } & host\_cpu & CPU to remove \\ \hline -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - -\vspace{0.3cm} - -\noindent {\bf Possible Error Codes:} - {\tt POOL\_BAD\_STATE, INVALID\_CPU, LAST\_CPU\_NOT\_REMOVEABLE} - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_all} - - -{\bf Overview:} -Return a list of all the cpu pools known to the system. - - \noindent {\bf Signature:} -\begin{verbatim} ((cpu_pool ref) Set) get_all (session_id s)\end{verbatim} - - - \noindent {\bf Return Type:} -{\tt -(cpu\_pool ref) Set -} -A list of all the IDs of the cpu pools. - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_all\_records} - - -{\bf Overview:} -Return a map of all the cpu pool records known to the system. - - \noindent {\bf Signature:} -\begin{verbatim} (((cpu_pool ref) -> (cpu_pool record)) Map) get_all_records (session_id s)\end{verbatim} - - - \noindent {\bf Return Type:} -{\tt -((cpu\_pool ref) $\rightarrow$ (cpu\_pool record)) Map -} -A map of all the cpu pool records indexed by cpu pool ref. - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_name\_label} - -{\bf Overview:} -Get all the cpu\_pool instances with the given label. - - \noindent {\bf Signature:} -\begin{verbatim} ((cpu_pool ref) Set) get_by_name_label (session_id s, string label)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & label & label of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(cpu\_pool ref) Set -} - - -references to objects with matching names -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_by\_uuid} - -{\bf Overview:} -Get a reference to the cpu\_pool instance with the specified UUID. - - \noindent {\bf Signature:} -\begin{verbatim} (cpu_pool ref) get_by_uuid (session_id s, string uuid)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt string } & uuid & UUID of object to return \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -cpu\_pool ref -} - - -reference to the object -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_activated} - - -{\bf Overview:} -Return the activation state of the cpu\_pool object. - - \noindent {\bf Signature:} -\begin{verbatim} bool get_activated (session_id s, cpu_pool ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt cpu\_pool ref } & self & reference to the object \\ \hline -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -bool -} -Returns {\bf true} if cpu\_pool is active. - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_auto\_power\_on} - - -{\bf Overview:} -Return the auto power attribute of the cpu\_pool object. - - \noindent {\bf Signature:} -\begin{verbatim} bool get_auto_power_on (session_id s, cpu_pool ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt cpu\_pool ref } & self & reference to the object \\ \hline -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -bool -} -Returns {\bf true} if cpu\_pool has to be activated on xend start. - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_host\_CPUs} - - -{\bf Overview:} -Return the list of host\_cpu refs assigned to the cpu\_pool object. - - \noindent {\bf Signature:} -\begin{verbatim} ((host_cpu ref) Set) get_host_CPUs (session_id s, cpu_pool ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt cpu\_pool ref } & self & reference to the object \\ \hline -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(host\_cpu ref) Set -} -Returns a list of references of all host cpus assigned to the cpu\_pool. - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_name\_description} - -{\bf Overview:} -Get the name/description field of the given cpu\_pool. - - \noindent {\bf Signature:} -\begin{verbatim} string get_name_description (session_id s, cpu_pool ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt cpu\_pool ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_name\_label} - -{\bf Overview:} -Get the name/label field of the given cpu\_pool. - - \noindent {\bf Signature:} -\begin{verbatim} string get_name_label (session_id s, cpu_pool ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt cpu\_pool ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_ncpu} - -{\bf Overview:} -Get the ncpu field of the given cpu\_pool. - - \noindent {\bf Signature:} -\begin{verbatim} int get_ncpu (session_id s, cpu_pool ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt cpu\_pool ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -int -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_proposed\_CPUs} - -{\bf Overview:} -Get the proposed\_CPUs field of the given cpu\_pool. - - \noindent {\bf Signature:} -\begin{verbatim} ((string) Set) get_proposed_CPUs (session_id s, cpu_pool ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt cpu\_pool ref } & self & reference to the object \\ \hline - -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -(string) Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_other\_config} - -{\bf Overview:} -Get the other\_config field of the given cpu\_pool. - -\noindent {\bf Signature:} -\begin{verbatim} ((string -> string) Map) get_other_config (session_id s, cpu_pool ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt cpu\_pool ref } & self & reference to the object \\ \hline -\end{tabular} - -\vspace{0.3cm} - -\noindent {\bf Return Type:} -{\tt -(string $\rightarrow$ string) Map -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_record} - -{\bf Overview:} -Get a record containing the current state of the given cpu\_pool. - -\noindent {\bf Signature:} -\begin{verbatim} (cpu_pool record) get_record (session_id s, cpu_pool ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt cpu\_pool ref } & self & reference to the object \\ \hline -\end{tabular} - -\vspace{0.3cm} - -\noindent {\bf Return Type:} -{\tt -cpu\_pool record -} - - -all fields of the object. -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_resident\_on} - -{\bf Overview:} -Get the resident\_on field of the given cpu\_pool. - -\noindent {\bf Signature:} -\begin{verbatim} (host ref) get_resident_on (session_id s, cpu_pool ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt cpu\_pool ref } & self & reference to the object \\ \hline -\end{tabular} - -\vspace{0.3cm} - -\noindent {\bf Return Type:} -{\tt -host ref -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_sched\_policy} - -{\bf Overview:} -Get the sched\_policy field of the given cpu\_pool. - -\noindent {\bf Signature:} -\begin{verbatim} string get_sched_policy (session_id s, cpu_pool ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt cpu\_pool ref } & self & reference to the object \\ \hline -\end{tabular} - -\vspace{0.3cm} - -\noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_started\_VMs} - -{\bf Overview:} -Get the started\_VMs field of the given cpu\_pool. - -\noindent {\bf Signature:} -\begin{verbatim} ((VM ref) Set) get_started_VMs (session_id s, cpu_pool ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt cpu\_pool ref } & self & reference to the object \\ \hline -\end{tabular} - -\vspace{0.3cm} - -\noindent {\bf Return Type:} -{\tt -(VM ref) Set -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~get\_uuid} - -{\bf Overview:} -Get the uuid field of the given cpu\_pool. - - \noindent {\bf Signature:} -\begin{verbatim} string get_uuid (session_id s, cpu_pool ref self)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt cpu\_pool ref } & self & reference to the object \\ \hline -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -string -} - - -value of the field -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_auto\_power\_on} - -{\bf Overview:} -Set the auto\_power\_on field of the given cpu\_pool. - -\noindent {\bf Signature:} -\begin{verbatim} void set_auto_power_on (session_id s, cpu_pool ref self, bool value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt cpu\_pool ref } & self & reference to the object \\ \hline -{\tt bool } & value & new auto\_power\_on value \\ \hline -\end{tabular} - -\vspace{0.3cm} - -\noindent {\bf Return Type:} -{\tt -void -} -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_proposed\_CPUs} - -{\bf Overview:} -Set the proposed\_CPUs field of the given cpu\_pool. - -\noindent {\bf Signature:} -\begin{verbatim} void set_proposed_CPUs (session_id s, cpu_pool ref self, string Set cpus)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt cpu\_pool ref } & self & reference to the object \\ \hline -{\tt string Set } & cpus & Set of preferred CPU (numbers) to use \\ \hline -\end{tabular} - -\vspace{0.3cm} - -\noindent {\bf Return Type:} -{\tt -void -} -\vspace{0.3cm} - -\noindent {\bf Possible Error Codes:} - {\tt POOL\_BAD\_STATE} - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:add\_to\_proposed\_CPUs} - -{\bf Overview:} -Add a CPU (number) to the proposed\_CPUs field of the given cpu\_pool. - -\noindent {\bf Signature:} -\begin{verbatim} void add_to_proposed_CPUs (session_id s, cpu_pool ref self, integer cpu)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} - \hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt cpu\_pool ref } & self & reference to the object \\ \hline -{\tt integer } & cpu & Number of CPU to add \\ \hline -\end{tabular} - -\vspace{0.3cm} - -\noindent {\bf Return Type:} -{\tt -void -} -\vspace{0.3cm} - -\noindent {\bf Possible Error Codes:} - {\tt POOL\_BAD\_STATE} - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:remove\_from\_proposed\_CPUs} - -{\bf Overview:} -Remove a CPU (number) from the proposed\_CPUs field of the given cpu\_pool. - -\noindent {\bf Signature:} -\begin{verbatim} void remove_from_proposed_CPUs (session_id s, cpu_pool ref self, integer cpu)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} -\hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt cpu\_pool ref } & self & reference to the object \\ \hline -{\tt integer } & cpu & Number of CPU to remove \\ \hline -\end{tabular} - -\vspace{0.3cm} - -\noindent {\bf Return Type:} -{\tt -void -} -\vspace{0.3cm} - -\noindent {\bf Possible Error Codes:} - {\tt POOL\_BAD\_STATE} - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_name\_label} - -{\bf Overview:} -Set the name/label field of the given cpu\_pool. - - \noindent {\bf Signature:} -\begin{verbatim} void set_name_label (session_id s, cpu_pool ref self, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} -\hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt cpu\_pool ref } & self & reference to the object \\ \hline -{\tt string } & value & New value to set \\ \hline -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_ncpu} - -{\bf Overview:} -Set the ncpu field of the given cpu\_pool. - - \noindent {\bf Signature:} -\begin{verbatim} void set_ncpu (session_id s, cpu_pool ref self, integer value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} -\hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt cpu\_pool ref } & self & reference to the object \\ \hline -{\tt integer } & value & Number of cpus to use \\ \hline -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - -\vspace{0.3cm} - -\noindent {\bf Possible Error Codes:} - {\tt POOL\_BAD\_STATE} - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_other\_config} - -{\bf Overview:} -Set the other\_config field of the given cpu\_pool. - - \noindent {\bf Signature:} -\begin{verbatim} void set_other_config (session_id s, cpu_pool ref self, (string -> string) Map value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} -\hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt cpu\_pool ref } & self & reference to the object \\ \hline -{\tt (string $\rightarrow$ string) Map } & value & New value to set \\ \hline -\end{tabular} - -\vspace{0.3cm} - -\noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~add\_to\_other\_config} - -{\bf Overview:} -Add the given key-value pair to the other\_config field of the given cpu\_pool. - - \noindent {\bf Signature:} -\begin{verbatim} void add_to_other_config (session_id s, cpu_pool ref self, string key, string value)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} -\hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt cpu\_pool ref } & self & reference to the object \\ \hline -{\tt string } & key & Key to add \\ \hline -{\tt string } & value & Value to add \\ \hline -\end{tabular} - -\vspace{0.3cm} - - \noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~remove\_from\_other\_config} - -{\bf Overview:} -Remove the given key and its corresponding value from the other\_config -field of the given cpu\_pool. If the key is not in that Map, then do nothing. - - \noindent {\bf Signature:} -\begin{verbatim} void remove_from_other_config (session_id s, cpu_pool ref self, string key)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} -\hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt cpu\_pool ref } & self & reference to the object \\ \hline -{\tt string } & key & Key to remove \\ \hline -\end{tabular} - -\vspace{0.3cm} - -\noindent {\bf Return Type:} -{\tt -void -} - - - -\vspace{0.3cm} -\vspace{0.3cm} -\vspace{0.3cm} -\subsubsection{RPC name:~set\_sched\_policy} - -{\bf Overview:} -Set the sched\_policy field of the given cpu\_pool. - - \noindent {\bf Signature:} -\begin{verbatim} void set_sched_policy (session_id s, cpu_pool ref self, string new_sched_policy)\end{verbatim} - - -\noindent{\bf Arguments:} - - -\vspace{0.3cm} -\begin{tabular}{|c|c|p{7cm}|} -\hline -{\bf type} & {\bf name} & {\bf description} \\ \hline -{\tt cpu\_pool ref } & self & reference to the object \\ \hline -{\tt string } & new\_sched\_policy & New value to set \\ \hline -\end{tabular} -\vspace{0.3cm} - -\noindent {\bf Return Type:} -{\tt -void -} - - |