| <?xml version="1.0" encoding="ascii"?> |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" |
| "DTD/xhtml1-transitional.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
| <head> |
| <title>TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver</title> |
| <link rel="stylesheet" href="epydoc.css" type="text/css" /> |
| <script type="text/javascript" src="epydoc.js"></script> |
| </head> |
| |
| <body bgcolor="white" text="black" link="blue" vlink="#204080" |
| alink="#204080"> |
| <!-- ==================== NAVIGATION BAR ==================== --> |
| <table class="navbar" border="0" width="100%" cellpadding="0" |
| bgcolor="#a0c0ff" cellspacing="0"> |
| <tr valign="middle"> |
| <!-- Home link --> |
| <th> <a |
| href="TestON-module.html">Home</a> </th> |
| |
| <!-- Tree link --> |
| <th> <a |
| href="module-tree.html">Trees</a> </th> |
| |
| <!-- Index link --> |
| <th> <a |
| href="identifier-index.html">Indices</a> </th> |
| |
| <!-- Help link --> |
| <th> <a |
| href="help.html">Help</a> </th> |
| |
| <!-- Project homepage --> |
| <th class="navbar" align="right" width="100%"> |
| <table border="0" cellpadding="0" cellspacing="0"> |
| <tr><th class="navbar" align="center" |
| >TestON</th> |
| </tr></table></th> |
| </tr> |
| </table> |
| <table width="100%" cellpadding="0" cellspacing="0"> |
| <tr valign="top"> |
| <td width="100%"> |
| <span class="breadcrumbs"> |
| <a href="TestON-module.html">Package TestON</a> :: |
| <a href="TestON.drivers-module.html">Package drivers</a> :: |
| <a href="TestON.drivers.common-module.html">Package common</a> :: |
| <a href="TestON.drivers.common.api-module.html">Package api</a> :: |
| <a href="TestON.drivers.common.api.controller-module.html">Package controller</a> :: |
| <a href="TestON.drivers.common.api.controller.onosrestdriver-module.html">Module onosrestdriver</a> :: |
| Class OnosRestDriver |
| </span> |
| </td> |
| <td> |
| <table cellpadding="0" cellspacing="0"> |
| <!-- hide/show private --> |
| <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink" |
| onclick="toggle_private();">hide private</a>]</span></td></tr> |
| <tr><td align="right"><span class="options" |
| >[<a href="frames.html" target="_top">frames</a |
| >] | <a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html" |
| target="_top">no frames</a>]</span></td></tr> |
| </table> |
| </td> |
| </tr> |
| </table> |
| <!-- ==================== CLASS DESCRIPTION ==================== --> |
| <h1 class="epydoc">Class OnosRestDriver</h1><p class="nomargin-top"><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver">source code</a></span></p> |
| <center> |
| <center> <map id="class_hierarchy_for_onosrestdr" name="class_hierarchy_for_onosrestdr"> |
| <area shape="rect" id="node1" href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html" title="OnosRestDriver" alt="" coords="5,6,120,31"/> |
| <area shape="rect" id="node2" href="TestON.drivers.common.api.controllerdriver.Controller-class.html" title="controllerdriver.Controller" alt="" coords="145,6,311,31"/> |
| <area shape="rect" id="node3" href="TestON.drivers.common.apidriver.API-class.html" title="apidriver.API" alt="" coords="335,6,432,31"/> |
| <area shape="rect" id="node4" href="javascript:void(0);" title="component.Component" alt="" coords="457,6,615,31"/> |
| </map> |
| <img src="class_hierarchy_for_onosrestdr.gif" alt='' usemap="#class_hierarchy_for_onosrestdr" ismap="ismap" class="graph-without-title" /> |
| </center> |
| </center> |
| <hr /> |
| <!-- ==================== INSTANCE METHODS ==================== --> |
| <a name="section-InstanceMethods"></a> |
| <table class="summary" border="1" cellpadding="3" |
| cellspacing="0" width="100%" bgcolor="white"> |
| <tr bgcolor="#70b0f0" class="table-header"> |
| <td colspan="2" class="table-header"> |
| <table border="0" cellpadding="0" cellspacing="0" width="100%"> |
| <tr valign="top"> |
| <td align="left"><span class="table-header">Instance Methods</span></td> |
| <td align="right" valign="top" |
| ><span class="options">[<a href="#section-InstanceMethods" |
| class="privatelink" onclick="toggle_private();" |
| >hide private</a>]</span></td> |
| </tr> |
| </table> |
| </td> |
| </tr> |
| <tr> |
| <td width="15%" align="right" valign="top" class="summary"> |
| <span class="summary-type"> </span> |
| </td><td class="summary"> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>)</span><br /> |
| x.__init__(...) initializes x; see help(type(x)) for signature</td> |
| <td align="right" valign="top"> |
| <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.__init__">source code</a></span> |
| |
| </td> |
| </tr> |
| </table> |
| |
| </td> |
| </tr> |
| <tr> |
| <td width="15%" align="right" valign="top" class="summary"> |
| <span class="summary-type"> </span> |
| </td><td class="summary"> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#connect" class="summary-sig-name">connect</a>(<span class="summary-sig-arg">self</span>, |
| <span class="summary-sig-arg">**connectargs</span>)</span><br /> |
| Connection will establish to the remote host using ssh.</td> |
| <td align="right" valign="top"> |
| <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.connect">source code</a></span> |
| |
| </td> |
| </tr> |
| </table> |
| |
| </td> |
| </tr> |
| <tr> |
| <td width="15%" align="right" valign="top" class="summary"> |
| <span class="summary-type"> </span> |
| </td><td class="summary"> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#send" class="summary-sig-name">send</a>(<span class="summary-sig-arg">self</span>, |
| <span class="summary-sig-arg">ip</span>, |
| <span class="summary-sig-arg">port</span>, |
| <span class="summary-sig-arg">url</span>, |
| <span class="summary-sig-arg">base</span>=<span class="summary-sig-default">"/onos/v1"</span>, |
| <span class="summary-sig-arg">method</span>=<span class="summary-sig-default">"GET"</span>, |
| <span class="summary-sig-arg">query</span>=<span class="summary-sig-default">None</span>, |
| <span class="summary-sig-arg">data</span>=<span class="summary-sig-default">None</span>)</span><br /> |
| Arguments: |
| str ip: ONOS IP Address |
| str port: ONOS REST Port |
| str url: ONOS REST url path.</td> |
| <td align="right" valign="top"> |
| <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.send">source code</a></span> |
| |
| </td> |
| </tr> |
| </table> |
| |
| </td> |
| </tr> |
| <tr> |
| <td width="15%" align="right" valign="top" class="summary"> |
| <span class="summary-type"> </span> |
| </td><td class="summary"> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#intents" class="summary-sig-name">intents</a>(<span class="summary-sig-arg">self</span>, |
| <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">"DEFAULT"</span>, |
| <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">"DEFAULT"</span>)</span><br /> |
| Description:...</td> |
| <td align="right" valign="top"> |
| <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.intents">source code</a></span> |
| |
| </td> |
| </tr> |
| </table> |
| |
| </td> |
| </tr> |
| <tr> |
| <td width="15%" align="right" valign="top" class="summary"> |
| <span class="summary-type"> </span> |
| </td><td class="summary"> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#intent" class="summary-sig-name">intent</a>(<span class="summary-sig-arg">self</span>, |
| <span class="summary-sig-arg">intentId</span>, |
| <span class="summary-sig-arg">appId</span>=<span class="summary-sig-default">"org.onosproject.cli"</span>, |
| <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">"DEFAULT"</span>, |
| <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">"DEFAULT"</span>)</span><br /> |
| Description:...</td> |
| <td align="right" valign="top"> |
| <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.intent">source code</a></span> |
| |
| </td> |
| </tr> |
| </table> |
| |
| </td> |
| </tr> |
| <tr> |
| <td width="15%" align="right" valign="top" class="summary"> |
| <span class="summary-type"> </span> |
| </td><td class="summary"> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#apps" class="summary-sig-name">apps</a>(<span class="summary-sig-arg">self</span>, |
| <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">"DEFAULT"</span>, |
| <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">"DEFAULT"</span>)</span><br /> |
| Description:...</td> |
| <td align="right" valign="top"> |
| <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.apps">source code</a></span> |
| |
| </td> |
| </tr> |
| </table> |
| |
| </td> |
| </tr> |
| <tr> |
| <td width="15%" align="right" valign="top" class="summary"> |
| <span class="summary-type"> </span> |
| </td><td class="summary"> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#activateApp" class="summary-sig-name">activateApp</a>(<span class="summary-sig-arg">self</span>, |
| <span class="summary-sig-arg">appName</span>, |
| <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">"DEFAULT"</span>, |
| <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">"DEFAULT"</span>, |
| <span class="summary-sig-arg">check</span>=<span class="summary-sig-default">True</span>)</span><br /> |
| Decription:...</td> |
| <td align="right" valign="top"> |
| <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.activateApp">source code</a></span> |
| |
| </td> |
| </tr> |
| </table> |
| |
| </td> |
| </tr> |
| <tr> |
| <td width="15%" align="right" valign="top" class="summary"> |
| <span class="summary-type"> </span> |
| </td><td class="summary"> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#deactivateApp" class="summary-sig-name">deactivateApp</a>(<span class="summary-sig-arg">self</span>, |
| <span class="summary-sig-arg">appName</span>, |
| <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">"DEFAULT"</span>, |
| <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">"DEFAULT"</span>, |
| <span class="summary-sig-arg">check</span>=<span class="summary-sig-default">True</span>)</span><br /> |
| Required:...</td> |
| <td align="right" valign="top"> |
| <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.deactivateApp">source code</a></span> |
| |
| </td> |
| </tr> |
| </table> |
| |
| </td> |
| </tr> |
| <tr> |
| <td width="15%" align="right" valign="top" class="summary"> |
| <span class="summary-type"> </span> |
| </td><td class="summary"> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#getApp" class="summary-sig-name">getApp</a>(<span class="summary-sig-arg">self</span>, |
| <span class="summary-sig-arg">appName</span>, |
| <span class="summary-sig-arg">project</span>=<span class="summary-sig-default">"org.onosproject."</span>, |
| <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">"DEFAULT"</span>, |
| <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">"DEFAULT"</span>)</span><br /> |
| Decription:...</td> |
| <td align="right" valign="top"> |
| <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.getApp">source code</a></span> |
| |
| </td> |
| </tr> |
| </table> |
| |
| </td> |
| </tr> |
| <tr> |
| <td width="15%" align="right" valign="top" class="summary"> |
| <span class="summary-type"> </span> |
| </td><td class="summary"> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#addHostIntent" class="summary-sig-name">addHostIntent</a>(<span class="summary-sig-arg">self</span>, |
| <span class="summary-sig-arg">hostIdOne</span>, |
| <span class="summary-sig-arg">hostIdTwo</span>, |
| <span class="summary-sig-arg">appId</span>=<span class="summary-sig-default">'org.onosproject.cli'</span>, |
| <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">"DEFAULT"</span>, |
| <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">"DEFAULT"</span>)</span><br /> |
| Description: |
| Adds a host-to-host intent ( bidirectional ) by |
| specifying the two hosts.</td> |
| <td align="right" valign="top"> |
| <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.addHostIntent">source code</a></span> |
| |
| </td> |
| </tr> |
| </table> |
| |
| </td> |
| </tr> |
| <tr> |
| <td width="15%" align="right" valign="top" class="summary"> |
| <span class="summary-type"> </span> |
| </td><td class="summary"> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#addPointIntent" class="summary-sig-name">addPointIntent</a>(<span class="summary-sig-arg">self</span>, |
| <span class="summary-sig-arg">ingressDevice</span>, |
| <span class="summary-sig-arg">egressDevice</span>, |
| <span class="summary-sig-arg">appId</span>=<span class="summary-sig-default">'org.onosproject.cli'</span>, |
| <span class="summary-sig-arg">ingressPort</span>=<span class="summary-sig-default">""</span>, |
| <span class="summary-sig-arg">egressPort</span>=<span class="summary-sig-default">""</span>, |
| <span class="summary-sig-arg">ethType</span>=<span class="summary-sig-default">""</span>, |
| <span class="summary-sig-arg">ethSrc</span>=<span class="summary-sig-default">""</span>, |
| <span class="summary-sig-arg">ethDst</span>=<span class="summary-sig-default">""</span>, |
| <span class="summary-sig-arg">bandwidth</span>=<span class="summary-sig-default">""</span>, |
| <span class="summary-sig-arg">lambdaAlloc</span>=<span class="summary-sig-default">False</span>, |
| <span class="summary-sig-arg">ipProto</span>=<span class="summary-sig-default">""</span>, |
| <span class="summary-sig-arg">ipSrc</span>=<span class="summary-sig-default">""</span>, |
| <span class="summary-sig-arg">ipDst</span>=<span class="summary-sig-default">""</span>, |
| <span class="summary-sig-arg">tcpSrc</span>=<span class="summary-sig-default">""</span>, |
| <span class="summary-sig-arg">tcpDst</span>=<span class="summary-sig-default">""</span>, |
| <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">"DEFAULT"</span>, |
| <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">"DEFAULT"</span>)</span><br /> |
| Description: |
| Adds a point-to-point intent ( uni-directional ) by |
| specifying device id's and optional fields |
| Required: |
| * ingressDevice: device id of ingress device |
| * egressDevice: device id of egress device |
| Optional: |
| * ethType: specify ethType |
| * ethSrc: specify ethSrc ( i.e.</td> |
| <td align="right" valign="top"> |
| <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.addPointIntent">source code</a></span> |
| |
| </td> |
| </tr> |
| </table> |
| |
| </td> |
| </tr> |
| <tr> |
| <td width="15%" align="right" valign="top" class="summary"> |
| <span class="summary-type"> </span> |
| </td><td class="summary"> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td><span class="summary-sig"><a name="removeIntent"></a><span class="summary-sig-name">removeIntent</span>(<span class="summary-sig-arg">self</span>, |
| <span class="summary-sig-arg">intentId</span>, |
| <span class="summary-sig-arg">appId</span>=<span class="summary-sig-default">'org.onosproject.cli'</span>, |
| <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">"DEFAULT"</span>, |
| <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">"DEFAULT"</span>)</span><br /> |
| Remove intent for specified application id and intent id; Returns |
| None for exception</td> |
| <td align="right" valign="top"> |
| <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.removeIntent">source code</a></span> |
| |
| </td> |
| </tr> |
| </table> |
| |
| </td> |
| </tr> |
| <tr> |
| <td width="15%" align="right" valign="top" class="summary"> |
| <span class="summary-type"> </span> |
| </td><td class="summary"> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td><span class="summary-sig"><a name="getIntentsId"></a><span class="summary-sig-name">getIntentsId</span>(<span class="summary-sig-arg">self</span>, |
| <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">"DEFAULT"</span>, |
| <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">"DEFAULT"</span>)</span><br /> |
| Returns a list of intents id; Returns None for exception</td> |
| <td align="right" valign="top"> |
| <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.getIntentsId">source code</a></span> |
| |
| </td> |
| </tr> |
| </table> |
| |
| </td> |
| </tr> |
| <tr> |
| <td width="15%" align="right" valign="top" class="summary"> |
| <span class="summary-type"> </span> |
| </td><td class="summary"> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#removeAllIntents" class="summary-sig-name">removeAllIntents</a>(<span class="summary-sig-arg">self</span>, |
| <span class="summary-sig-arg">intentIdList</span>=<span class="summary-sig-default">'ALL'</span>, |
| <span class="summary-sig-arg">appId</span>=<span class="summary-sig-default">'org.onosproject.cli'</span>, |
| <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">"DEFAULT"</span>, |
| <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">"DEFAULT"</span>, |
| <span class="summary-sig-arg">delay</span>=<span class="summary-sig-default">5</span>)</span><br /> |
| Description:...</td> |
| <td align="right" valign="top"> |
| <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.removeAllIntents">source code</a></span> |
| |
| </td> |
| </tr> |
| </table> |
| |
| </td> |
| </tr> |
| <tr> |
| <td width="15%" align="right" valign="top" class="summary"> |
| <span class="summary-type"> </span> |
| </td><td class="summary"> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#hosts" class="summary-sig-name">hosts</a>(<span class="summary-sig-arg">self</span>, |
| <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">"DEFAULT"</span>, |
| <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">"DEFAULT"</span>)</span><br /> |
| Description:...</td> |
| <td align="right" valign="top"> |
| <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.hosts">source code</a></span> |
| |
| </td> |
| </tr> |
| </table> |
| |
| </td> |
| </tr> |
| <tr> |
| <td width="15%" align="right" valign="top" class="summary"> |
| <span class="summary-type"> </span> |
| </td><td class="summary"> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#getHost" class="summary-sig-name">getHost</a>(<span class="summary-sig-arg">self</span>, |
| <span class="summary-sig-arg">mac</span>, |
| <span class="summary-sig-arg">vlan</span>=<span class="summary-sig-default">"-1"</span>, |
| <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">"DEFAULT"</span>, |
| <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">"DEFAULT"</span>)</span><br /> |
| Description: |
| Gets the information from the given host |
| Required: |
| str mac - MAC address of the host |
| Optional: |
| str vlan - VLAN tag of the host, defaults to -1 |
| Returns: |
| Return the host id from the hosts/mac/vlan output in REST api |
| whose 'id' contains mac/vlan; Returns None for exception; |
| Returns main.FALSE if error on requests</td> |
| <td align="right" valign="top"> |
| <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.getHost">source code</a></span> |
| |
| </td> |
| </tr> |
| </table> |
| |
| </td> |
| </tr> |
| <tr> |
| <td width="15%" align="right" valign="top" class="summary"> |
| <span class="summary-type"> </span> |
| </td><td class="summary"> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#topology" class="summary-sig-name">topology</a>(<span class="summary-sig-arg">self</span>, |
| <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">"DEFAULT"</span>, |
| <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">"DEFAULT"</span>)</span><br /> |
| Description:...</td> |
| <td align="right" valign="top"> |
| <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.topology">source code</a></span> |
| |
| </td> |
| </tr> |
| </table> |
| |
| </td> |
| </tr> |
| <tr> |
| <td width="15%" align="right" valign="top" class="summary"> |
| <span class="summary-type"> </span> |
| </td><td class="summary"> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#getIntentState" class="summary-sig-name">getIntentState</a>(<span class="summary-sig-arg">self</span>, |
| <span class="summary-sig-arg">intentsId</span>, |
| <span class="summary-sig-arg">intentsJson</span>=<span class="summary-sig-default">None</span>, |
| <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">"DEFAULT"</span>, |
| <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">"DEFAULT"</span>)</span><br /> |
| Description: |
| Get intent state.</td> |
| <td align="right" valign="top"> |
| <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.getIntentState">source code</a></span> |
| |
| </td> |
| </tr> |
| </table> |
| |
| </td> |
| </tr> |
| <tr> |
| <td width="15%" align="right" valign="top" class="summary"> |
| <span class="summary-type"> </span> |
| </td><td class="summary"> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#checkIntentState" class="summary-sig-name">checkIntentState</a>(<span class="summary-sig-arg">self</span>, |
| <span class="summary-sig-arg">intentsId</span>=<span class="summary-sig-default">"ALL"</span>, |
| <span class="summary-sig-arg">expectedState</span>=<span class="summary-sig-default">'INSTALLED'</span>, |
| <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">"DEFAULT"</span>, |
| <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">"DEFAULT"</span>)</span><br /> |
| Description: |
| Check intents state based on expected state which defaults to |
| INSTALLED state |
| Required: |
| intentsId - List of intents ID to be checked |
| Optional: |
| expectedState - Check the expected state(s) of each intents |
| state in the list.</td> |
| <td align="right" valign="top"> |
| <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.checkIntentState">source code</a></span> |
| |
| </td> |
| </tr> |
| </table> |
| |
| </td> |
| </tr> |
| <tr> |
| <td width="15%" align="right" valign="top" class="summary"> |
| <span class="summary-type"> </span> |
| </td><td class="summary"> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#flows" class="summary-sig-name">flows</a>(<span class="summary-sig-arg">self</span>, |
| <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">"DEFAULT"</span>, |
| <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">"DEFAULT"</span>)</span><br /> |
| Description:...</td> |
| <td align="right" valign="top"> |
| <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.flows">source code</a></span> |
| |
| </td> |
| </tr> |
| </table> |
| |
| </td> |
| </tr> |
| <tr> |
| <td width="15%" align="right" valign="top" class="summary"> |
| <span class="summary-type"> </span> |
| </td><td class="summary"> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#getFlows" class="summary-sig-name">getFlows</a>(<span class="summary-sig-arg">self</span>, |
| <span class="summary-sig-arg">device</span>, |
| <span class="summary-sig-arg">flowId</span>=<span class="summary-sig-default">0</span>, |
| <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">"DEFAULT"</span>, |
| <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">"DEFAULT"</span>)</span><br /> |
| Description:...</td> |
| <td align="right" valign="top"> |
| <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.getFlows">source code</a></span> |
| |
| </td> |
| </tr> |
| </table> |
| |
| </td> |
| </tr> |
| <tr> |
| <td width="15%" align="right" valign="top" class="summary"> |
| <span class="summary-type"> </span> |
| </td><td class="summary"> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#addFlow" class="summary-sig-name">addFlow</a>(<span class="summary-sig-arg">self</span>, |
| <span class="summary-sig-arg">deviceId</span>, |
| <span class="summary-sig-arg">appId</span>=<span class="summary-sig-default">0</span>, |
| <span class="summary-sig-arg">ingressPort</span>=<span class="summary-sig-default">""</span>, |
| <span class="summary-sig-arg">egressPort</span>=<span class="summary-sig-default">""</span>, |
| <span class="summary-sig-arg">ethType</span>=<span class="summary-sig-default">""</span>, |
| <span class="summary-sig-arg">ethSrc</span>=<span class="summary-sig-default">""</span>, |
| <span class="summary-sig-arg">ethDst</span>=<span class="summary-sig-default">""</span>, |
| <span class="summary-sig-arg">bandwidth</span>=<span class="summary-sig-default">""</span>, |
| <span class="summary-sig-arg">lambdaAlloc</span>=<span class="summary-sig-default">False</span>, |
| <span class="summary-sig-arg">ipProto</span>=<span class="summary-sig-default">""</span>, |
| <span class="summary-sig-arg">ipSrc</span>=<span class="summary-sig-default">""</span>, |
| <span class="summary-sig-arg">ipDst</span>=<span class="summary-sig-default">""</span>, |
| <span class="summary-sig-arg">tcpSrc</span>=<span class="summary-sig-default">""</span>, |
| <span class="summary-sig-arg">tcpDst</span>=<span class="summary-sig-default">""</span>, |
| <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">"DEFAULT"</span>, |
| <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">"DEFAULT"</span>)</span><br /> |
| Description: |
| Creates a single flow in the specified device |
| Required: |
| * deviceId: id of the device |
| Optional: |
| * ingressPort: port ingress device |
| * egressPort: port of egress device |
| * ethType: specify ethType |
| * ethSrc: specify ethSrc ( i.e.</td> |
| <td align="right" valign="top"> |
| <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.addFlow">source code</a></span> |
| |
| </td> |
| </tr> |
| </table> |
| |
| </td> |
| </tr> |
| <tr> |
| <td width="15%" align="right" valign="top" class="summary"> |
| <span class="summary-type"> </span> |
| </td><td class="summary"> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#removeFlow" class="summary-sig-name">removeFlow</a>(<span class="summary-sig-arg">self</span>, |
| <span class="summary-sig-arg">deviceId</span>, |
| <span class="summary-sig-arg">flowId</span>, |
| <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">"DEFAULT"</span>, |
| <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">"DEFAULT"</span>)</span><br /> |
| Description:...</td> |
| <td align="right" valign="top"> |
| <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.removeFlow">source code</a></span> |
| |
| </td> |
| </tr> |
| </table> |
| |
| </td> |
| </tr> |
| <tr> |
| <td width="15%" align="right" valign="top" class="summary"> |
| <span class="summary-type"> </span> |
| </td><td class="summary"> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td><span class="summary-sig"><a href="TestON.drivers.common.api.controller.onosrestdriver.OnosRestDriver-class.html#checkFlowsState" class="summary-sig-name">checkFlowsState</a>(<span class="summary-sig-arg">self</span>, |
| <span class="summary-sig-arg">ip</span>=<span class="summary-sig-default">"DEFAULT"</span>, |
| <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">"DEFAULT"</span>)</span><br /> |
| Description:...</td> |
| <td align="right" valign="top"> |
| <span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.checkFlowsState">source code</a></span> |
| |
| </td> |
| </tr> |
| </table> |
| |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2" class="summary"> |
| <p class="indent-wrapped-lines"><b>Inherited from <code>component.Component</code></b>: |
| <code>__getattr__</code>, |
| <code>cleanup</code>, |
| <code>close_log_handles</code>, |
| <code>config</code>, |
| <code>disconnect</code>, |
| <code>execute</code>, |
| <code>experimentRun</code>, |
| <code>get_version</code>, |
| <code>log</code> |
| </p> |
| <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>: |
| <code>__delattr__</code>, |
| <code>__format__</code>, |
| <code>__getattribute__</code>, |
| <code>__hash__</code>, |
| <code>__new__</code>, |
| <code>__reduce__</code>, |
| <code>__reduce_ex__</code>, |
| <code>__repr__</code>, |
| <code>__setattr__</code>, |
| <code>__sizeof__</code>, |
| <code>__str__</code>, |
| <code>__subclasshook__</code> |
| </p> |
| </td> |
| </tr> |
| </table> |
| <!-- ==================== PROPERTIES ==================== --> |
| <a name="section-Properties"></a> |
| <table class="summary" border="1" cellpadding="3" |
| cellspacing="0" width="100%" bgcolor="white"> |
| <tr bgcolor="#70b0f0" class="table-header"> |
| <td colspan="2" class="table-header"> |
| <table border="0" cellpadding="0" cellspacing="0" width="100%"> |
| <tr valign="top"> |
| <td align="left"><span class="table-header">Properties</span></td> |
| <td align="right" valign="top" |
| ><span class="options">[<a href="#section-Properties" |
| class="privatelink" onclick="toggle_private();" |
| >hide private</a>]</span></td> |
| </tr> |
| </table> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2" class="summary"> |
| <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>: |
| <code>__class__</code> |
| </p> |
| </td> |
| </tr> |
| </table> |
| <!-- ==================== METHOD DETAILS ==================== --> |
| <a name="section-MethodDetails"></a> |
| <table class="details" border="1" cellpadding="3" |
| cellspacing="0" width="100%" bgcolor="white"> |
| <tr bgcolor="#70b0f0" class="table-header"> |
| <td colspan="2" class="table-header"> |
| <table border="0" cellpadding="0" cellspacing="0" width="100%"> |
| <tr valign="top"> |
| <td align="left"><span class="table-header">Method Details</span></td> |
| <td align="right" valign="top" |
| ><span class="options">[<a href="#section-MethodDetails" |
| class="privatelink" onclick="toggle_private();" |
| >hide private</a>]</span></td> |
| </tr> |
| </table> |
| </td> |
| </tr> |
| </table> |
| <a name="__init__"></a> |
| <div> |
| <table class="details" border="1" cellpadding="3" |
| cellspacing="0" width="100%" bgcolor="white"> |
| <tr><td> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr valign="top"><td> |
| <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>)</span> |
| <br /><em class="fname">(Constructor)</em> |
| </h3> |
| </td><td align="right" valign="top" |
| ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.__init__">source code</a></span> |
| </td> |
| </tr></table> |
| |
| <p>x.__init__(...) initializes x; see help(type(x)) for signature</p> |
| <dl class="fields"> |
| <dt>Overrides: |
| object.__init__ |
| <dd><em class="note">(inherited documentation)</em></dd> |
| </dt> |
| </dl> |
| </td></tr></table> |
| </div> |
| <a name="connect"></a> |
| <div> |
| <table class="details" border="1" cellpadding="3" |
| cellspacing="0" width="100%" bgcolor="white"> |
| <tr><td> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr valign="top"><td> |
| <h3 class="epydoc"><span class="sig"><span class="sig-name">connect</span>(<span class="sig-arg">self</span>, |
| <span class="sig-arg">**connectargs</span>)</span> |
| </h3> |
| </td><td align="right" valign="top" |
| ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.connect">source code</a></span> |
| </td> |
| </tr></table> |
| |
| <p>Connection will establish to the remote host using ssh. It will take |
| user_name ,ip_address and password as arguments<br> and will return |
| the handle.</p> |
| <dl class="fields"> |
| <dt>Overrides: |
| component.Component.connect |
| </dt> |
| </dl> |
| </td></tr></table> |
| </div> |
| <a name="send"></a> |
| <div> |
| <table class="details" border="1" cellpadding="3" |
| cellspacing="0" width="100%" bgcolor="white"> |
| <tr><td> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr valign="top"><td> |
| <h3 class="epydoc"><span class="sig"><span class="sig-name">send</span>(<span class="sig-arg">self</span>, |
| <span class="sig-arg">ip</span>, |
| <span class="sig-arg">port</span>, |
| <span class="sig-arg">url</span>, |
| <span class="sig-arg">base</span>=<span class="sig-default">"/onos/v1"</span>, |
| <span class="sig-arg">method</span>=<span class="sig-default">"GET"</span>, |
| <span class="sig-arg">query</span>=<span class="sig-default">None</span>, |
| <span class="sig-arg">data</span>=<span class="sig-default">None</span>)</span> |
| </h3> |
| </td><td align="right" valign="top" |
| ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.send">source code</a></span> |
| </td> |
| </tr></table> |
| |
| <pre class="literalblock"> |
| |
| Arguments: |
| str ip: ONOS IP Address |
| str port: ONOS REST Port |
| str url: ONOS REST url path. |
| NOTE that this is is only the relative path. IE "/devices" |
| str base: The base url for the given REST api. Applications could |
| potentially have their own base url |
| str method: HTTP method type |
| dict query: Dictionary to be sent in the query string for |
| the request |
| dict data: Dictionary to be sent in the body of the request |
| |
| </pre> |
| <dl class="fields"> |
| </dl> |
| </td></tr></table> |
| </div> |
| <a name="intents"></a> |
| <div> |
| <table class="details" border="1" cellpadding="3" |
| cellspacing="0" width="100%" bgcolor="white"> |
| <tr><td> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr valign="top"><td> |
| <h3 class="epydoc"><span class="sig"><span class="sig-name">intents</span>(<span class="sig-arg">self</span>, |
| <span class="sig-arg">ip</span>=<span class="sig-default">"DEFAULT"</span>, |
| <span class="sig-arg">port</span>=<span class="sig-default">"DEFAULT"</span>)</span> |
| </h3> |
| </td><td align="right" valign="top" |
| ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.intents">source code</a></span> |
| </td> |
| </tr></table> |
| |
| <pre class="literalblock"> |
| |
| Description: |
| Gets a list of dictionary of all intents in the system |
| Returns: |
| A list of dictionary of intents in string type to match the cli |
| version for now; Returns main.FALSE if error on request; |
| Returns None for exception |
| |
| </pre> |
| <dl class="fields"> |
| </dl> |
| </td></tr></table> |
| </div> |
| <a name="intent"></a> |
| <div> |
| <table class="details" border="1" cellpadding="3" |
| cellspacing="0" width="100%" bgcolor="white"> |
| <tr><td> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr valign="top"><td> |
| <h3 class="epydoc"><span class="sig"><span class="sig-name">intent</span>(<span class="sig-arg">self</span>, |
| <span class="sig-arg">intentId</span>, |
| <span class="sig-arg">appId</span>=<span class="sig-default">"org.onosproject.cli"</span>, |
| <span class="sig-arg">ip</span>=<span class="sig-default">"DEFAULT"</span>, |
| <span class="sig-arg">port</span>=<span class="sig-default">"DEFAULT"</span>)</span> |
| </h3> |
| </td><td align="right" valign="top" |
| ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.intent">source code</a></span> |
| </td> |
| </tr></table> |
| |
| <pre class="literalblock"> |
| |
| Description: |
| Get the specific intent information of the given application ID and |
| intent ID |
| Required: |
| str intentId - Intent id in hexadecimal form |
| Optional: |
| str appId - application id of intent |
| Returns: |
| Returns an information dictionary of the given intent; |
| Returns main.FALSE if error on requests; Returns None for exception |
| NOTE: |
| The GET /intents REST api command accepts application id but the |
| api will get updated to accept application name instead |
| |
| </pre> |
| <dl class="fields"> |
| </dl> |
| </td></tr></table> |
| </div> |
| <a name="apps"></a> |
| <div> |
| <table class="details" border="1" cellpadding="3" |
| cellspacing="0" width="100%" bgcolor="white"> |
| <tr><td> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr valign="top"><td> |
| <h3 class="epydoc"><span class="sig"><span class="sig-name">apps</span>(<span class="sig-arg">self</span>, |
| <span class="sig-arg">ip</span>=<span class="sig-default">"DEFAULT"</span>, |
| <span class="sig-arg">port</span>=<span class="sig-default">"DEFAULT"</span>)</span> |
| </h3> |
| </td><td align="right" valign="top" |
| ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.apps">source code</a></span> |
| </td> |
| </tr></table> |
| |
| <pre class="literalblock"> |
| |
| Description: |
| Returns all the current application installed in the system |
| Returns: |
| List of dictionary of installed application; Returns main.FALSE for |
| error on request; Returns None for exception |
| |
| </pre> |
| <dl class="fields"> |
| </dl> |
| </td></tr></table> |
| </div> |
| <a name="activateApp"></a> |
| <div> |
| <table class="details" border="1" cellpadding="3" |
| cellspacing="0" width="100%" bgcolor="white"> |
| <tr><td> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr valign="top"><td> |
| <h3 class="epydoc"><span class="sig"><span class="sig-name">activateApp</span>(<span class="sig-arg">self</span>, |
| <span class="sig-arg">appName</span>, |
| <span class="sig-arg">ip</span>=<span class="sig-default">"DEFAULT"</span>, |
| <span class="sig-arg">port</span>=<span class="sig-default">"DEFAULT"</span>, |
| <span class="sig-arg">check</span>=<span class="sig-default">True</span>)</span> |
| </h3> |
| </td><td align="right" valign="top" |
| ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.activateApp">source code</a></span> |
| </td> |
| </tr></table> |
| |
| <pre class="literalblock"> |
| |
| Decription: |
| Activate an app that is already installed in ONOS |
| Optional: |
| bool check - If check is True, method will check the status |
| of the app after the command is issued |
| Returns: |
| Returns main.TRUE if the command was successfully or main.FALSE |
| if the REST responded with an error or given incorrect input; |
| Returns None for exception |
| |
| </pre> |
| <dl class="fields"> |
| </dl> |
| </td></tr></table> |
| </div> |
| <a name="deactivateApp"></a> |
| <div> |
| <table class="details" border="1" cellpadding="3" |
| cellspacing="0" width="100%" bgcolor="white"> |
| <tr><td> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr valign="top"><td> |
| <h3 class="epydoc"><span class="sig"><span class="sig-name">deactivateApp</span>(<span class="sig-arg">self</span>, |
| <span class="sig-arg">appName</span>, |
| <span class="sig-arg">ip</span>=<span class="sig-default">"DEFAULT"</span>, |
| <span class="sig-arg">port</span>=<span class="sig-default">"DEFAULT"</span>, |
| <span class="sig-arg">check</span>=<span class="sig-default">True</span>)</span> |
| </h3> |
| </td><td align="right" valign="top" |
| ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.deactivateApp">source code</a></span> |
| </td> |
| </tr></table> |
| |
| <pre class="literalblock"> |
| |
| Required: |
| Deactivate an app that is already activated in ONOS |
| Optional: |
| bool check - If check is True, method will check the status of the |
| app after the command is issued |
| Returns: |
| Returns main.TRUE if the command was successfully sent |
| main.FALSE if the REST responded with an error or given |
| incorrect input; Returns None for exception |
| |
| </pre> |
| <dl class="fields"> |
| </dl> |
| </td></tr></table> |
| </div> |
| <a name="getApp"></a> |
| <div> |
| <table class="details" border="1" cellpadding="3" |
| cellspacing="0" width="100%" bgcolor="white"> |
| <tr><td> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr valign="top"><td> |
| <h3 class="epydoc"><span class="sig"><span class="sig-name">getApp</span>(<span class="sig-arg">self</span>, |
| <span class="sig-arg">appName</span>, |
| <span class="sig-arg">project</span>=<span class="sig-default">"org.onosproject."</span>, |
| <span class="sig-arg">ip</span>=<span class="sig-default">"DEFAULT"</span>, |
| <span class="sig-arg">port</span>=<span class="sig-default">"DEFAULT"</span>)</span> |
| </h3> |
| </td><td align="right" valign="top" |
| ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.getApp">source code</a></span> |
| </td> |
| </tr></table> |
| |
| <pre class="literalblock"> |
| |
| Decription: |
| Gets the informaion of the given application |
| Required: |
| str name - Name of onos application |
| Returns: |
| Returns a dictionary of information ONOS application in string type; |
| Returns main.FALSE if error on requests; Returns None for exception |
| |
| </pre> |
| <dl class="fields"> |
| </dl> |
| </td></tr></table> |
| </div> |
| <a name="addHostIntent"></a> |
| <div> |
| <table class="details" border="1" cellpadding="3" |
| cellspacing="0" width="100%" bgcolor="white"> |
| <tr><td> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr valign="top"><td> |
| <h3 class="epydoc"><span class="sig"><span class="sig-name">addHostIntent</span>(<span class="sig-arg">self</span>, |
| <span class="sig-arg">hostIdOne</span>, |
| <span class="sig-arg">hostIdTwo</span>, |
| <span class="sig-arg">appId</span>=<span class="sig-default">'org.onosproject.cli'</span>, |
| <span class="sig-arg">ip</span>=<span class="sig-default">"DEFAULT"</span>, |
| <span class="sig-arg">port</span>=<span class="sig-default">"DEFAULT"</span>)</span> |
| </h3> |
| </td><td align="right" valign="top" |
| ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.addHostIntent">source code</a></span> |
| </td> |
| </tr></table> |
| |
| <pre class="literalblock"> |
| |
| Description: |
| Adds a host-to-host intent ( bidirectional ) by |
| specifying the two hosts. |
| Required: |
| * hostIdOne: ONOS host id for host1 |
| * hostIdTwo: ONOS host id for host2 |
| Optional: |
| str appId - Application name of intent identifier |
| Returns: |
| Returns main.TRUE for successful requests; Returns main.FALSE if |
| error on requests; Returns None for exceptions |
| |
| </pre> |
| <dl class="fields"> |
| </dl> |
| </td></tr></table> |
| </div> |
| <a name="addPointIntent"></a> |
| <div> |
| <table class="details" border="1" cellpadding="3" |
| cellspacing="0" width="100%" bgcolor="white"> |
| <tr><td> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr valign="top"><td> |
| <h3 class="epydoc"><span class="sig"><span class="sig-name">addPointIntent</span>(<span class="sig-arg">self</span>, |
| <span class="sig-arg">ingressDevice</span>, |
| <span class="sig-arg">egressDevice</span>, |
| <span class="sig-arg">appId</span>=<span class="sig-default">'org.onosproject.cli'</span>, |
| <span class="sig-arg">ingressPort</span>=<span class="sig-default">""</span>, |
| <span class="sig-arg">egressPort</span>=<span class="sig-default">""</span>, |
| <span class="sig-arg">ethType</span>=<span class="sig-default">""</span>, |
| <span class="sig-arg">ethSrc</span>=<span class="sig-default">""</span>, |
| <span class="sig-arg">ethDst</span>=<span class="sig-default">""</span>, |
| <span class="sig-arg">bandwidth</span>=<span class="sig-default">""</span>, |
| <span class="sig-arg">lambdaAlloc</span>=<span class="sig-default">False</span>, |
| <span class="sig-arg">ipProto</span>=<span class="sig-default">""</span>, |
| <span class="sig-arg">ipSrc</span>=<span class="sig-default">""</span>, |
| <span class="sig-arg">ipDst</span>=<span class="sig-default">""</span>, |
| <span class="sig-arg">tcpSrc</span>=<span class="sig-default">""</span>, |
| <span class="sig-arg">tcpDst</span>=<span class="sig-default">""</span>, |
| <span class="sig-arg">ip</span>=<span class="sig-default">"DEFAULT"</span>, |
| <span class="sig-arg">port</span>=<span class="sig-default">"DEFAULT"</span>)</span> |
| </h3> |
| </td><td align="right" valign="top" |
| ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.addPointIntent">source code</a></span> |
| </td> |
| </tr></table> |
| |
| <pre class="literalblock"> |
| |
| Description: |
| Adds a point-to-point intent ( uni-directional ) by |
| specifying device id's and optional fields |
| Required: |
| * ingressDevice: device id of ingress device |
| * egressDevice: device id of egress device |
| Optional: |
| * ethType: specify ethType |
| * ethSrc: specify ethSrc ( i.e. src mac addr ) |
| * ethDst: specify ethDst ( i.e. dst mac addr ) |
| * bandwidth: specify bandwidth capacity of link (TODO) |
| * lambdaAlloc: if True, intent will allocate lambda |
| for the specified intent (TODO) |
| * ipProto: specify ip protocol |
| * ipSrc: specify ip source address with mask eg. ip#/24 |
| * ipDst: specify ip destination address eg. ip#/24 |
| * tcpSrc: specify tcp source port |
| * tcpDst: specify tcp destination port |
| Returns: |
| Returns main.TRUE for successful requests; Returns main.FALSE if |
| no ingress|egress port found and if error on requests; |
| Returns None for exceptions |
| NOTE: |
| The ip and port option are for the requests input's ip and port |
| of the ONOS node |
| |
| </pre> |
| <dl class="fields"> |
| </dl> |
| </td></tr></table> |
| </div> |
| <a name="removeAllIntents"></a> |
| <div> |
| <table class="details" border="1" cellpadding="3" |
| cellspacing="0" width="100%" bgcolor="white"> |
| <tr><td> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr valign="top"><td> |
| <h3 class="epydoc"><span class="sig"><span class="sig-name">removeAllIntents</span>(<span class="sig-arg">self</span>, |
| <span class="sig-arg">intentIdList</span>=<span class="sig-default">'ALL'</span>, |
| <span class="sig-arg">appId</span>=<span class="sig-default">'org.onosproject.cli'</span>, |
| <span class="sig-arg">ip</span>=<span class="sig-default">"DEFAULT"</span>, |
| <span class="sig-arg">port</span>=<span class="sig-default">"DEFAULT"</span>, |
| <span class="sig-arg">delay</span>=<span class="sig-default">5</span>)</span> |
| </h3> |
| </td><td align="right" valign="top" |
| ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.removeAllIntents">source code</a></span> |
| </td> |
| </tr></table> |
| |
| <pre class="literalblock"> |
| |
| Description: |
| Remove all the intents |
| Returns: |
| Returns main.TRUE if all intents are removed, otherwise returns |
| main.FALSE; Returns None for exception |
| |
| </pre> |
| <dl class="fields"> |
| </dl> |
| </td></tr></table> |
| </div> |
| <a name="hosts"></a> |
| <div> |
| <table class="details" border="1" cellpadding="3" |
| cellspacing="0" width="100%" bgcolor="white"> |
| <tr><td> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr valign="top"><td> |
| <h3 class="epydoc"><span class="sig"><span class="sig-name">hosts</span>(<span class="sig-arg">self</span>, |
| <span class="sig-arg">ip</span>=<span class="sig-default">"DEFAULT"</span>, |
| <span class="sig-arg">port</span>=<span class="sig-default">"DEFAULT"</span>)</span> |
| </h3> |
| </td><td align="right" valign="top" |
| ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.hosts">source code</a></span> |
| </td> |
| </tr></table> |
| |
| <pre class="literalblock"> |
| |
| Description: |
| Get a list of dictionary of all discovered hosts |
| Returns: |
| Returns a list of dictionary of information of the hosts currently |
| discovered by ONOS; Returns main.FALSE if error on requests; |
| Returns None for exception |
| |
| </pre> |
| <dl class="fields"> |
| </dl> |
| </td></tr></table> |
| </div> |
| <a name="getHost"></a> |
| <div> |
| <table class="details" border="1" cellpadding="3" |
| cellspacing="0" width="100%" bgcolor="white"> |
| <tr><td> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr valign="top"><td> |
| <h3 class="epydoc"><span class="sig"><span class="sig-name">getHost</span>(<span class="sig-arg">self</span>, |
| <span class="sig-arg">mac</span>, |
| <span class="sig-arg">vlan</span>=<span class="sig-default">"-1"</span>, |
| <span class="sig-arg">ip</span>=<span class="sig-default">"DEFAULT"</span>, |
| <span class="sig-arg">port</span>=<span class="sig-default">"DEFAULT"</span>)</span> |
| </h3> |
| </td><td align="right" valign="top" |
| ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.getHost">source code</a></span> |
| </td> |
| </tr></table> |
| |
| <pre class="literalblock"> |
| |
| Description: |
| Gets the information from the given host |
| Required: |
| str mac - MAC address of the host |
| Optional: |
| str vlan - VLAN tag of the host, defaults to -1 |
| Returns: |
| Return the host id from the hosts/mac/vlan output in REST api |
| whose 'id' contains mac/vlan; Returns None for exception; |
| Returns main.FALSE if error on requests |
| |
| NOTE: |
| Not sure what this function should do, any suggestion? |
| |
| </pre> |
| <dl class="fields"> |
| </dl> |
| </td></tr></table> |
| </div> |
| <a name="topology"></a> |
| <div> |
| <table class="details" border="1" cellpadding="3" |
| cellspacing="0" width="100%" bgcolor="white"> |
| <tr><td> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr valign="top"><td> |
| <h3 class="epydoc"><span class="sig"><span class="sig-name">topology</span>(<span class="sig-arg">self</span>, |
| <span class="sig-arg">ip</span>=<span class="sig-default">"DEFAULT"</span>, |
| <span class="sig-arg">port</span>=<span class="sig-default">"DEFAULT"</span>)</span> |
| </h3> |
| </td><td align="right" valign="top" |
| ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.topology">source code</a></span> |
| </td> |
| </tr></table> |
| |
| <pre class="literalblock"> |
| |
| Description: |
| Gets the overview of network topology |
| Returns: |
| Returns a dictionary containing information about network topology; |
| Returns None for exception |
| |
| </pre> |
| <dl class="fields"> |
| </dl> |
| </td></tr></table> |
| </div> |
| <a name="getIntentState"></a> |
| <div> |
| <table class="details" border="1" cellpadding="3" |
| cellspacing="0" width="100%" bgcolor="white"> |
| <tr><td> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr valign="top"><td> |
| <h3 class="epydoc"><span class="sig"><span class="sig-name">getIntentState</span>(<span class="sig-arg">self</span>, |
| <span class="sig-arg">intentsId</span>, |
| <span class="sig-arg">intentsJson</span>=<span class="sig-default">None</span>, |
| <span class="sig-arg">ip</span>=<span class="sig-default">"DEFAULT"</span>, |
| <span class="sig-arg">port</span>=<span class="sig-default">"DEFAULT"</span>)</span> |
| </h3> |
| </td><td align="right" valign="top" |
| ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.getIntentState">source code</a></span> |
| </td> |
| </tr></table> |
| |
| <pre class="literalblock"> |
| |
| Description: |
| Get intent state. |
| Accepts a single intent ID (string type) or a list of intent IDs. |
| Returns the state(string type) of the id if a single intent ID is |
| accepted. |
| Required: |
| intentId: intent ID (string type) |
| intentsJson: parsed json object from the onos:intents api |
| Returns: |
| Returns a dictionary with intent IDs as the key and its |
| corresponding states as the values; Returns None for invalid IDs or |
| Type error and any exceptions |
| NOTE: |
| An intent's state consist of INSTALLED,WITHDRAWN etc. |
| |
| </pre> |
| <dl class="fields"> |
| </dl> |
| </td></tr></table> |
| </div> |
| <a name="checkIntentState"></a> |
| <div> |
| <table class="details" border="1" cellpadding="3" |
| cellspacing="0" width="100%" bgcolor="white"> |
| <tr><td> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr valign="top"><td> |
| <h3 class="epydoc"><span class="sig"><span class="sig-name">checkIntentState</span>(<span class="sig-arg">self</span>, |
| <span class="sig-arg">intentsId</span>=<span class="sig-default">"ALL"</span>, |
| <span class="sig-arg">expectedState</span>=<span class="sig-default">'INSTALLED'</span>, |
| <span class="sig-arg">ip</span>=<span class="sig-default">"DEFAULT"</span>, |
| <span class="sig-arg">port</span>=<span class="sig-default">"DEFAULT"</span>)</span> |
| </h3> |
| </td><td align="right" valign="top" |
| ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.checkIntentState">source code</a></span> |
| </td> |
| </tr></table> |
| |
| <pre class="literalblock"> |
| |
| Description: |
| Check intents state based on expected state which defaults to |
| INSTALLED state |
| Required: |
| intentsId - List of intents ID to be checked |
| Optional: |
| expectedState - Check the expected state(s) of each intents |
| state in the list. |
| *NOTE: You can pass in a list of expected state, |
| Eg: expectedState = [ 'INSTALLED' , 'INSTALLING' ] |
| Return: |
| Returns main.TRUE only if all intent are the same as expected states |
| , otherwise, returns main.FALSE; Returns None for general exception |
| |
| </pre> |
| <dl class="fields"> |
| </dl> |
| </td></tr></table> |
| </div> |
| <a name="flows"></a> |
| <div> |
| <table class="details" border="1" cellpadding="3" |
| cellspacing="0" width="100%" bgcolor="white"> |
| <tr><td> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr valign="top"><td> |
| <h3 class="epydoc"><span class="sig"><span class="sig-name">flows</span>(<span class="sig-arg">self</span>, |
| <span class="sig-arg">ip</span>=<span class="sig-default">"DEFAULT"</span>, |
| <span class="sig-arg">port</span>=<span class="sig-default">"DEFAULT"</span>)</span> |
| </h3> |
| </td><td align="right" valign="top" |
| ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.flows">source code</a></span> |
| </td> |
| </tr></table> |
| |
| <pre class="literalblock"> |
| |
| Description: |
| Get flows currently added to the system |
| NOTE: |
| The flows -j cli command has completely different format than |
| the REST output; Returns None for exception |
| |
| </pre> |
| <dl class="fields"> |
| </dl> |
| </td></tr></table> |
| </div> |
| <a name="getFlows"></a> |
| <div> |
| <table class="details" border="1" cellpadding="3" |
| cellspacing="0" width="100%" bgcolor="white"> |
| <tr><td> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr valign="top"><td> |
| <h3 class="epydoc"><span class="sig"><span class="sig-name">getFlows</span>(<span class="sig-arg">self</span>, |
| <span class="sig-arg">device</span>, |
| <span class="sig-arg">flowId</span>=<span class="sig-default">0</span>, |
| <span class="sig-arg">ip</span>=<span class="sig-default">"DEFAULT"</span>, |
| <span class="sig-arg">port</span>=<span class="sig-default">"DEFAULT"</span>)</span> |
| </h3> |
| </td><td align="right" valign="top" |
| ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.getFlows">source code</a></span> |
| </td> |
| </tr></table> |
| |
| <pre class="literalblock"> |
| |
| Description: |
| Gets all the flows of the device or get a specific flow in the |
| device by giving its flow ID |
| Required: |
| str device - device/switch Id |
| Optional: |
| int/hex flowId - ID of the flow |
| |
| </pre> |
| <dl class="fields"> |
| </dl> |
| </td></tr></table> |
| </div> |
| <a name="addFlow"></a> |
| <div> |
| <table class="details" border="1" cellpadding="3" |
| cellspacing="0" width="100%" bgcolor="white"> |
| <tr><td> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr valign="top"><td> |
| <h3 class="epydoc"><span class="sig"><span class="sig-name">addFlow</span>(<span class="sig-arg">self</span>, |
| <span class="sig-arg">deviceId</span>, |
| <span class="sig-arg">appId</span>=<span class="sig-default">0</span>, |
| <span class="sig-arg">ingressPort</span>=<span class="sig-default">""</span>, |
| <span class="sig-arg">egressPort</span>=<span class="sig-default">""</span>, |
| <span class="sig-arg">ethType</span>=<span class="sig-default">""</span>, |
| <span class="sig-arg">ethSrc</span>=<span class="sig-default">""</span>, |
| <span class="sig-arg">ethDst</span>=<span class="sig-default">""</span>, |
| <span class="sig-arg">bandwidth</span>=<span class="sig-default">""</span>, |
| <span class="sig-arg">lambdaAlloc</span>=<span class="sig-default">False</span>, |
| <span class="sig-arg">ipProto</span>=<span class="sig-default">""</span>, |
| <span class="sig-arg">ipSrc</span>=<span class="sig-default">""</span>, |
| <span class="sig-arg">ipDst</span>=<span class="sig-default">""</span>, |
| <span class="sig-arg">tcpSrc</span>=<span class="sig-default">""</span>, |
| <span class="sig-arg">tcpDst</span>=<span class="sig-default">""</span>, |
| <span class="sig-arg">ip</span>=<span class="sig-default">"DEFAULT"</span>, |
| <span class="sig-arg">port</span>=<span class="sig-default">"DEFAULT"</span>)</span> |
| </h3> |
| </td><td align="right" valign="top" |
| ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.addFlow">source code</a></span> |
| </td> |
| </tr></table> |
| |
| <pre class="literalblock"> |
| |
| Description: |
| Creates a single flow in the specified device |
| Required: |
| * deviceId: id of the device |
| Optional: |
| * ingressPort: port ingress device |
| * egressPort: port of egress device |
| * ethType: specify ethType |
| * ethSrc: specify ethSrc ( i.e. src mac addr ) |
| * ethDst: specify ethDst ( i.e. dst mac addr ) |
| * ipProto: specify ip protocol |
| * ipSrc: specify ip source address with mask eg. ip#/24 |
| * ipDst: specify ip destination address eg. ip#/24 |
| * tcpSrc: specify tcp source port |
| * tcpDst: specify tcp destination port |
| Returns: |
| Returns main.TRUE for successful requests; Returns main.FALSE |
| if error on requests; |
| Returns None for exceptions |
| NOTE: |
| The ip and port option are for the requests input's ip and port |
| of the ONOS node |
| |
| </pre> |
| <dl class="fields"> |
| </dl> |
| </td></tr></table> |
| </div> |
| <a name="removeFlow"></a> |
| <div> |
| <table class="details" border="1" cellpadding="3" |
| cellspacing="0" width="100%" bgcolor="white"> |
| <tr><td> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr valign="top"><td> |
| <h3 class="epydoc"><span class="sig"><span class="sig-name">removeFlow</span>(<span class="sig-arg">self</span>, |
| <span class="sig-arg">deviceId</span>, |
| <span class="sig-arg">flowId</span>, |
| <span class="sig-arg">ip</span>=<span class="sig-default">"DEFAULT"</span>, |
| <span class="sig-arg">port</span>=<span class="sig-default">"DEFAULT"</span>)</span> |
| </h3> |
| </td><td align="right" valign="top" |
| ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.removeFlow">source code</a></span> |
| </td> |
| </tr></table> |
| |
| <pre class="literalblock"> |
| |
| Description: |
| Remove specific device flow |
| Required: |
| str deviceId - id of the device |
| str flowId - id of the flow |
| Return: |
| Returns main.TRUE if successfully deletes flows, otherwise |
| Returns main.FALSE, Returns None on error |
| |
| </pre> |
| <dl class="fields"> |
| </dl> |
| </td></tr></table> |
| </div> |
| <a name="checkFlowsState"></a> |
| <div> |
| <table class="details" border="1" cellpadding="3" |
| cellspacing="0" width="100%" bgcolor="white"> |
| <tr><td> |
| <table width="100%" cellpadding="0" cellspacing="0" border="0"> |
| <tr valign="top"><td> |
| <h3 class="epydoc"><span class="sig"><span class="sig-name">checkFlowsState</span>(<span class="sig-arg">self</span>, |
| <span class="sig-arg">ip</span>=<span class="sig-default">"DEFAULT"</span>, |
| <span class="sig-arg">port</span>=<span class="sig-default">"DEFAULT"</span>)</span> |
| </h3> |
| </td><td align="right" valign="top" |
| ><span class="codelink"><a href="TestON.drivers.common.api.controller.onosrestdriver-pysrc.html#OnosRestDriver.checkFlowsState">source code</a></span> |
| </td> |
| </tr></table> |
| |
| <pre class="literalblock"> |
| |
| Description: |
| Check if all the current flows are in ADDED state |
| Return: |
| returnValue - Returns main.TRUE only if all flows are in |
| return main.FALSE otherwise; |
| Returns None for exception |
| |
| </pre> |
| <dl class="fields"> |
| </dl> |
| </td></tr></table> |
| </div> |
| <br /> |
| <!-- ==================== NAVIGATION BAR ==================== --> |
| <table class="navbar" border="0" width="100%" cellpadding="0" |
| bgcolor="#a0c0ff" cellspacing="0"> |
| <tr valign="middle"> |
| <!-- Home link --> |
| <th> <a |
| href="TestON-module.html">Home</a> </th> |
| |
| <!-- Tree link --> |
| <th> <a |
| href="module-tree.html">Trees</a> </th> |
| |
| <!-- Index link --> |
| <th> <a |
| href="identifier-index.html">Indices</a> </th> |
| |
| <!-- Help link --> |
| <th> <a |
| href="help.html">Help</a> </th> |
| |
| <!-- Project homepage --> |
| <th class="navbar" align="right" width="100%"> |
| <table border="0" cellpadding="0" cellspacing="0"> |
| <tr><th class="navbar" align="center" |
| >TestON</th> |
| </tr></table></th> |
| </tr> |
| </table> |
| <table border="0" cellpadding="0" cellspacing="0" width="100%%"> |
| <tr> |
| <td align="left" class="footer"> |
| Generated by Epydoc 3.0.1 on Mon Aug 10 11:12:35 2015 |
| </td> |
| <td align="right" class="footer"> |
| <a target="mainFrame" href="http://epydoc.sourceforge.net" |
| >http://epydoc.sourceforge.net</a> |
| </td> |
| </tr> |
| </table> |
| |
| <script type="text/javascript"> |
| <!-- |
| // Private objects are initially displayed (because if |
| // javascript is turned off then we want them to be |
| // visible); but by default, we want to hide them. So hide |
| // them unless we have a cookie that says to show them. |
| checkCookie(); |
| // --> |
| </script> |
| </body> |
| </html> |