base_connection.html 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541
  1. <!DOCTYPE html>
  2. <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
  3. <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
  4. <head>
  5. <meta charset="utf-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>BaseConnection &mdash; Netmiko 1.0 documentation</title>
  8. <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
  9. <link rel="index" title="Index"
  10. href="../genindex.html"/>
  11. <link rel="search" title="Search" href="../search.html"/>
  12. <link rel="top" title="Netmiko 1.0 documentation" href="../index.html"/>
  13. <link rel="up" title="Netmiko Classes" href="../classes.html"/>
  14. <link rel="prev" title="Netmiko Classes" href="../classes.html"/>
  15. <script src="../_static/js/modernizr.min.js"></script>
  16. </head>
  17. <body class="wy-body-for-nav" role="document">
  18. <div class="wy-grid-for-nav">
  19. <nav data-toggle="wy-nav-shift" class="wy-nav-side">
  20. <div class="wy-side-scroll">
  21. <div class="wy-side-nav-search">
  22. <a href="../index.html" class="icon icon-home"> Netmiko
  23. </a>
  24. <div class="version">
  25. 1.0
  26. </div>
  27. <div role="search">
  28. <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
  29. <input type="text" name="q" placeholder="Search docs" />
  30. <input type="hidden" name="check_keywords" value="yes" />
  31. <input type="hidden" name="area" value="default" />
  32. </form>
  33. </div>
  34. </div>
  35. <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
  36. <ul class="current">
  37. <li class="toctree-l1 current"><a class="reference internal" href="../classes.html">Netmiko Classes</a><ul class="current">
  38. <li class="toctree-l2 current"><a class="current reference internal" href="#">BaseConnection</a></li>
  39. </ul>
  40. </li>
  41. </ul>
  42. </div>
  43. </div>
  44. </nav>
  45. <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
  46. <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
  47. <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
  48. <a href="../index.html">Netmiko</a>
  49. </nav>
  50. <div class="wy-nav-content">
  51. <div class="rst-content">
  52. <div role="navigation" aria-label="breadcrumbs navigation">
  53. <ul class="wy-breadcrumbs">
  54. <li><a href="../index.html">Docs</a> &raquo;</li>
  55. <li><a href="../classes.html">Netmiko Classes</a> &raquo;</li>
  56. <li>BaseConnection</li>
  57. <li class="wy-breadcrumbs-aside">
  58. <a href="../_sources/classes/base_connection.txt" rel="nofollow"> View page source</a>
  59. </li>
  60. </ul>
  61. <hr/>
  62. </div>
  63. <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
  64. <div itemprop="articleBody">
  65. <div class="section" id="baseconnection">
  66. <h1>BaseConnection<a class="headerlink" href="#baseconnection" title="Permalink to this headline">¶</a></h1>
  67. <dl class="class">
  68. <dt id="netmiko.base_connection.BaseConnection">
  69. <em class="property">class </em><code class="descclassname">netmiko.base_connection.</code><code class="descname">BaseConnection</code><span class="sig-paren">(</span><em>ip=u''</em>, <em>host=u''</em>, <em>username=u''</em>, <em>password=u''</em>, <em>secret=u''</em>, <em>port=None</em>, <em>device_type=u''</em>, <em>verbose=False</em>, <em>global_delay_factor=1</em>, <em>use_keys=False</em>, <em>key_file=None</em>, <em>allow_agent=False</em>, <em>ssh_strict=False</em>, <em>system_host_keys=False</em>, <em>alt_host_keys=False</em>, <em>alt_key_file=u''</em>, <em>ssh_config_file=None</em>, <em>timeout=8</em><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection" title="Permalink to this definition">¶</a></dt>
  70. <dd><p>Defines vendor independent methods.</p>
  71. <p>Otherwise method left as a stub method.</p>
  72. <dl class="method">
  73. <dt id="netmiko.base_connection.BaseConnection.__enter__">
  74. <code class="descname">__enter__</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.__enter__" title="Permalink to this definition">¶</a></dt>
  75. <dd><p>Enter runtime context</p>
  76. </dd></dl>
  77. <dl class="method">
  78. <dt id="netmiko.base_connection.BaseConnection.__exit__">
  79. <code class="descname">__exit__</code><span class="sig-paren">(</span><em>exc_type</em>, <em>exc_value</em>, <em>traceback</em><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.__exit__" title="Permalink to this definition">¶</a></dt>
  80. <dd><p>Gracefully close connection on context manager exit</p>
  81. </dd></dl>
  82. <dl class="method">
  83. <dt id="netmiko.base_connection.BaseConnection.__init__">
  84. <code class="descname">__init__</code><span class="sig-paren">(</span><em>ip=u''</em>, <em>host=u''</em>, <em>username=u''</em>, <em>password=u''</em>, <em>secret=u''</em>, <em>port=None</em>, <em>device_type=u''</em>, <em>verbose=False</em>, <em>global_delay_factor=1</em>, <em>use_keys=False</em>, <em>key_file=None</em>, <em>allow_agent=False</em>, <em>ssh_strict=False</em>, <em>system_host_keys=False</em>, <em>alt_host_keys=False</em>, <em>alt_key_file=u''</em>, <em>ssh_config_file=None</em>, <em>timeout=8</em><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.__init__" title="Permalink to this definition">¶</a></dt>
  85. <dd><p>Initialize attributes for establishing connection to target device.</p>
  86. <table class="docutils field-list" frame="void" rules="none">
  87. <col class="field-name" />
  88. <col class="field-body" />
  89. <tbody valign="top">
  90. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
  91. <li><strong>ip</strong> (<em>str</em>) &#8211; IP address of target device. Not required if <cite>host</cite> is
  92. provided.</li>
  93. <li><strong>host</strong> (<em>str</em>) &#8211; Hostname of target device. Not required if <cite>ip</cite> is
  94. provided.</li>
  95. <li><strong>username</strong> (<em>str</em>) &#8211; Username to authenticate against target device if
  96. required.</li>
  97. <li><strong>password</strong> (<em>str</em>) &#8211; Password to authenticate against target device if
  98. required.</li>
  99. <li><strong>secret</strong> (<em>str</em>) &#8211; The enable password if target device requires one.</li>
  100. <li><strong>port</strong> (<em>int or None</em>) &#8211; The destination port used to connect to the target
  101. device.</li>
  102. <li><strong>device_type</strong> (<em>str</em>) &#8211; Class selection based on device type.</li>
  103. <li><strong>verbose</strong> (<em>bool</em>) &#8211; If <cite>True</cite> enables more verbose logging.</li>
  104. <li><strong>global_delay_factor</strong> (<em>int</em>) &#8211; Controls global delay factor value.</li>
  105. <li><strong>use_keys</strong> (<em>bool</em>) &#8211; If true, Paramiko will attempt to connect to
  106. target device using SSH keys.</li>
  107. <li><strong>key_file</strong> (<em>str</em>) &#8211; Name of the SSH key file to use for Paramiko
  108. SSH connection authentication.</li>
  109. <li><strong>allow_agent</strong> (<em>bool</em>) &#8211; Set to True to enable connect to the SSH agent</li>
  110. <li><strong>ssh_strict</strong> (<em>bool</em>) &#8211; If <cite>True</cite> Paramiko will automatically reject
  111. unknown hostname and keys. If &#8216;False&#8217; Paramiko will
  112. automatically add the hostname and new host key.</li>
  113. <li><strong>system_host_keys</strong> (<em>bool</em>) &#8211; If <cite>True</cite> Paramiko will load host keys
  114. from the user&#8217;s local &#8216;known hosts&#8217; file.</li>
  115. <li><strong>alt_host_keys</strong> (<em>bool</em>) &#8211; If <cite>True</cite> host keys will be loaded from
  116. a local host-key file.</li>
  117. <li><strong>alt_key_file</strong> (<em>str</em>) &#8211; If <cite>alt_host_keys</cite> is set to <cite>True</cite>, provide
  118. the filename of the local host-key file to load.</li>
  119. <li><strong>ssh_config_file</strong> (<em>str</em>) &#8211; File name of a OpenSSH configuration file
  120. to load SSH connection parameters from.</li>
  121. <li><strong>timeout</strong> (<em>float</em>) &#8211; Set a timeout on blocking read/write operations.</li>
  122. </ul>
  123. </td>
  124. </tr>
  125. </tbody>
  126. </table>
  127. </dd></dl>
  128. <dl class="attribute">
  129. <dt id="netmiko.base_connection.BaseConnection.__weakref__">
  130. <code class="descname">__weakref__</code><a class="headerlink" href="#netmiko.base_connection.BaseConnection.__weakref__" title="Permalink to this definition">¶</a></dt>
  131. <dd><p>list of weak references to the object (if defined)</p>
  132. </dd></dl>
  133. <dl class="method">
  134. <dt id="netmiko.base_connection.BaseConnection.check_config_mode">
  135. <code class="descname">check_config_mode</code><span class="sig-paren">(</span><em>check_string=u''</em>, <em>pattern=u''</em><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.check_config_mode" title="Permalink to this definition">¶</a></dt>
  136. <dd><p>Checks if the device is in configuration mode or not.</p>
  137. </dd></dl>
  138. <dl class="method">
  139. <dt id="netmiko.base_connection.BaseConnection.check_enable_mode">
  140. <code class="descname">check_enable_mode</code><span class="sig-paren">(</span><em>check_string=u''</em><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.check_enable_mode" title="Permalink to this definition">¶</a></dt>
  141. <dd><p>Check if in enable mode. Return boolean.</p>
  142. </dd></dl>
  143. <dl class="method">
  144. <dt id="netmiko.base_connection.BaseConnection.cleanup">
  145. <code class="descname">cleanup</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.cleanup" title="Permalink to this definition">¶</a></dt>
  146. <dd><p>Any needed cleanup before closing connection.</p>
  147. </dd></dl>
  148. <dl class="method">
  149. <dt id="netmiko.base_connection.BaseConnection.clear_buffer">
  150. <code class="descname">clear_buffer</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.clear_buffer" title="Permalink to this definition">¶</a></dt>
  151. <dd><p>Read any data available in the channel.</p>
  152. </dd></dl>
  153. <dl class="method">
  154. <dt id="netmiko.base_connection.BaseConnection.commit">
  155. <code class="descname">commit</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.commit" title="Permalink to this definition">¶</a></dt>
  156. <dd><p>Commit method for platforms that support this.</p>
  157. </dd></dl>
  158. <dl class="method">
  159. <dt id="netmiko.base_connection.BaseConnection.config_mode">
  160. <code class="descname">config_mode</code><span class="sig-paren">(</span><em>config_command=u''</em>, <em>pattern=u''</em><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.config_mode" title="Permalink to this definition">¶</a></dt>
  161. <dd><p>Enter into config_mode.</p>
  162. </dd></dl>
  163. <dl class="method">
  164. <dt id="netmiko.base_connection.BaseConnection.disable_paging">
  165. <code class="descname">disable_paging</code><span class="sig-paren">(</span><em>command=u'terminal length 0'</em>, <em>delay_factor=1</em><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.disable_paging" title="Permalink to this definition">¶</a></dt>
  166. <dd><p>Disable paging default to a Cisco CLI method.</p>
  167. </dd></dl>
  168. <dl class="method">
  169. <dt id="netmiko.base_connection.BaseConnection.disconnect">
  170. <code class="descname">disconnect</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.disconnect" title="Permalink to this definition">¶</a></dt>
  171. <dd><p>Gracefully close the SSH connection.</p>
  172. </dd></dl>
  173. <dl class="method">
  174. <dt id="netmiko.base_connection.BaseConnection.enable">
  175. <code class="descname">enable</code><span class="sig-paren">(</span><em>cmd=u''</em>, <em>pattern=u'password'</em>, <em>re_flags=2</em><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.enable" title="Permalink to this definition">¶</a></dt>
  176. <dd><p>Enter enable mode.</p>
  177. </dd></dl>
  178. <dl class="method">
  179. <dt id="netmiko.base_connection.BaseConnection.establish_connection">
  180. <code class="descname">establish_connection</code><span class="sig-paren">(</span><em>width=None</em>, <em>height=None</em><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.establish_connection" title="Permalink to this definition">¶</a></dt>
  181. <dd><p>Establish SSH connection to the network device</p>
  182. <p>Timeout will generate a NetMikoTimeoutException
  183. Authentication failure will generate a NetMikoAuthenticationException</p>
  184. <p>width and height are needed for Fortinet paging setting.</p>
  185. </dd></dl>
  186. <dl class="method">
  187. <dt id="netmiko.base_connection.BaseConnection.exit_config_mode">
  188. <code class="descname">exit_config_mode</code><span class="sig-paren">(</span><em>exit_config=u''</em>, <em>pattern=u''</em><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.exit_config_mode" title="Permalink to this definition">¶</a></dt>
  189. <dd><p>Exit from configuration mode.</p>
  190. </dd></dl>
  191. <dl class="method">
  192. <dt id="netmiko.base_connection.BaseConnection.exit_enable_mode">
  193. <code class="descname">exit_enable_mode</code><span class="sig-paren">(</span><em>exit_command=u''</em><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.exit_enable_mode" title="Permalink to this definition">¶</a></dt>
  194. <dd><p>Exit enable mode.</p>
  195. </dd></dl>
  196. <dl class="method">
  197. <dt id="netmiko.base_connection.BaseConnection.find_prompt">
  198. <code class="descname">find_prompt</code><span class="sig-paren">(</span><em>delay_factor=1</em><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.find_prompt" title="Permalink to this definition">¶</a></dt>
  199. <dd><p>Finds the current network device prompt, last line only.</p>
  200. </dd></dl>
  201. <dl class="staticmethod">
  202. <dt id="netmiko.base_connection.BaseConnection.normalize_cmd">
  203. <em class="property">static </em><code class="descname">normalize_cmd</code><span class="sig-paren">(</span><em>command</em><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.normalize_cmd" title="Permalink to this definition">¶</a></dt>
  204. <dd><p>Normalize CLI commands to have a single trailing newline.</p>
  205. </dd></dl>
  206. <dl class="staticmethod">
  207. <dt id="netmiko.base_connection.BaseConnection.normalize_linefeeds">
  208. <em class="property">static </em><code class="descname">normalize_linefeeds</code><span class="sig-paren">(</span><em>a_string</em><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.normalize_linefeeds" title="Permalink to this definition">¶</a></dt>
  209. <dd><p>Convert &#8216;</p>
  210. <p>&#8216;,&#8217;
  211. &#8216;, &#8216;</p>
  212. <p>&#8216; to &#8216;
  213. .</p>
  214. </dd></dl>
  215. <dl class="method">
  216. <dt id="netmiko.base_connection.BaseConnection.read_channel">
  217. <code class="descname">read_channel</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.read_channel" title="Permalink to this definition">¶</a></dt>
  218. <dd><p>Generic handler that will read all the data from an SSH or telnet channel.</p>
  219. </dd></dl>
  220. <dl class="method">
  221. <dt id="netmiko.base_connection.BaseConnection.read_until_pattern">
  222. <code class="descname">read_until_pattern</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.read_until_pattern" title="Permalink to this definition">¶</a></dt>
  223. <dd><p>Read channel until pattern detected. Return ALL data available.</p>
  224. </dd></dl>
  225. <dl class="method">
  226. <dt id="netmiko.base_connection.BaseConnection.read_until_prompt">
  227. <code class="descname">read_until_prompt</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.read_until_prompt" title="Permalink to this definition">¶</a></dt>
  228. <dd><p>Read channel until self.base_prompt detected. Return ALL data available.</p>
  229. </dd></dl>
  230. <dl class="method">
  231. <dt id="netmiko.base_connection.BaseConnection.read_until_prompt_or_pattern">
  232. <code class="descname">read_until_prompt_or_pattern</code><span class="sig-paren">(</span><em>pattern=u''</em>, <em>re_flags=0</em><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.read_until_prompt_or_pattern" title="Permalink to this definition">¶</a></dt>
  233. <dd><p>Read until either self.base_prompt or pattern is detected. Return ALL data available.</p>
  234. </dd></dl>
  235. <dl class="method">
  236. <dt id="netmiko.base_connection.BaseConnection.select_delay_factor">
  237. <code class="descname">select_delay_factor</code><span class="sig-paren">(</span><em>delay_factor</em><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.select_delay_factor" title="Permalink to this definition">¶</a></dt>
  238. <dd><p>Choose the greater of delay_factor or self.global_delay_factor.</p>
  239. </dd></dl>
  240. <dl class="method">
  241. <dt id="netmiko.base_connection.BaseConnection.send_command">
  242. <code class="descname">send_command</code><span class="sig-paren">(</span><em>command_string</em>, <em>expect_string=None</em>, <em>delay_factor=1</em>, <em>max_loops=500</em>, <em>auto_find_prompt=True</em>, <em>strip_prompt=True</em>, <em>strip_command=True</em><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.send_command" title="Permalink to this definition">¶</a></dt>
  243. <dd><p>Send command to network device retrieve output until router_prompt or expect_string</p>
  244. <p>By default this method will keep waiting to receive data until the network device prompt is
  245. detected. The current network device prompt will be determined automatically.</p>
  246. <p>command_string = command to execute
  247. expect_string = pattern to search for uses re.search (use raw strings)
  248. delay_factor = decrease the initial delay before we start looking for data
  249. max_loops = number of iterations before we give up and raise an exception
  250. strip_prompt = strip the trailing prompt from the output
  251. strip_command = strip the leading command from the output</p>
  252. </dd></dl>
  253. <dl class="method">
  254. <dt id="netmiko.base_connection.BaseConnection.send_command_expect">
  255. <code class="descname">send_command_expect</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.send_command_expect" title="Permalink to this definition">¶</a></dt>
  256. <dd><p>Support previous name of send_command method.</p>
  257. </dd></dl>
  258. <dl class="method">
  259. <dt id="netmiko.base_connection.BaseConnection.send_command_timing">
  260. <code class="descname">send_command_timing</code><span class="sig-paren">(</span><em>command_string</em>, <em>delay_factor=1</em>, <em>max_loops=150</em>, <em>strip_prompt=True</em>, <em>strip_command=True</em><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.send_command_timing" title="Permalink to this definition">¶</a></dt>
  261. <dd><p>Execute command_string on the SSH channel.</p>
  262. <p>Use delay based mechanism to obtain output. Strips echoed characters and router prompt.</p>
  263. <p>delay_factor can be used to increase the delays.</p>
  264. <p>max_loops can be used to increase the number of times it reads the data buffer</p>
  265. <p>Returns the output of the command.</p>
  266. </dd></dl>
  267. <dl class="method">
  268. <dt id="netmiko.base_connection.BaseConnection.send_config_from_file">
  269. <code class="descname">send_config_from_file</code><span class="sig-paren">(</span><em>config_file=None</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.send_config_from_file" title="Permalink to this definition">¶</a></dt>
  270. <dd><p>Send configuration commands down the SSH channel from a file.</p>
  271. <p>The file is processed line-by-line and each command is sent down the
  272. SSH channel.</p>
  273. <p><a href="#id1"><span class="problematic" id="id2">**</span></a>kwargs are passed to send_config_set method.</p>
  274. </dd></dl>
  275. <dl class="method">
  276. <dt id="netmiko.base_connection.BaseConnection.send_config_set">
  277. <code class="descname">send_config_set</code><span class="sig-paren">(</span><em>config_commands=None</em>, <em>exit_config_mode=True</em>, <em>delay_factor=1</em>, <em>max_loops=150</em>, <em>strip_prompt=False</em>, <em>strip_command=False</em><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.send_config_set" title="Permalink to this definition">¶</a></dt>
  278. <dd><p>Send configuration commands down the SSH channel.</p>
  279. <p>config_commands is an iterable containing all of the configuration commands.
  280. The commands will be executed one after the other.</p>
  281. <p>Automatically exits/enters configuration mode.</p>
  282. </dd></dl>
  283. <dl class="method">
  284. <dt id="netmiko.base_connection.BaseConnection.session_preparation">
  285. <code class="descname">session_preparation</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.session_preparation" title="Permalink to this definition">¶</a></dt>
  286. <dd><p>Prepare the session after the connection has been established</p>
  287. <p>This method handles some of vagaries that occur between various devices
  288. early on in the session.</p>
  289. <p>In general, it should include:
  290. self.set_base_prompt()
  291. self.disable_paging()
  292. self.set_terminal_width()</p>
  293. </dd></dl>
  294. <dl class="method">
  295. <dt id="netmiko.base_connection.BaseConnection.set_base_prompt">
  296. <code class="descname">set_base_prompt</code><span class="sig-paren">(</span><em>pri_prompt_terminator=u'#'</em>, <em>alt_prompt_terminator=u'&gt;'</em>, <em>delay_factor=1</em><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.set_base_prompt" title="Permalink to this definition">¶</a></dt>
  297. <dd><p>Sets self.base_prompt</p>
  298. <p>Used as delimiter for stripping of trailing prompt in output.</p>
  299. <p>Should be set to something that is general and applies in multiple contexts. For Cisco
  300. devices this will be set to router hostname (i.e. prompt without &#8216;&gt;&#8217; or &#8216;#&#8217;).</p>
  301. <p>This will be set on entering user exec or privileged exec on Cisco, but not when
  302. entering/exiting config mode.</p>
  303. </dd></dl>
  304. <dl class="method">
  305. <dt id="netmiko.base_connection.BaseConnection.set_terminal_width">
  306. <code class="descname">set_terminal_width</code><span class="sig-paren">(</span><em>command=u''</em>, <em>delay_factor=1</em><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.set_terminal_width" title="Permalink to this definition">¶</a></dt>
  307. <dd><p>CLI terminals try to automatically adjust the line based on the width of the terminal.
  308. This causes the output to get distorted when accessed programmatically.</p>
  309. <p>Set terminal width to 511 which works on a broad set of devices.</p>
  310. </dd></dl>
  311. <dl class="method">
  312. <dt id="netmiko.base_connection.BaseConnection.special_login_handler">
  313. <code class="descname">special_login_handler</code><span class="sig-paren">(</span><em>delay_factor=1</em><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.special_login_handler" title="Permalink to this definition">¶</a></dt>
  314. <dd><p>Handler for devices like WLC, Avaya ERS that throw up characters prior to login.</p>
  315. </dd></dl>
  316. <dl class="staticmethod">
  317. <dt id="netmiko.base_connection.BaseConnection.strip_ansi_escape_codes">
  318. <em class="property">static </em><code class="descname">strip_ansi_escape_codes</code><span class="sig-paren">(</span><em>string_buffer</em><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.strip_ansi_escape_codes" title="Permalink to this definition">¶</a></dt>
  319. <dd><p>Remove any ANSI (VT100) ESC codes from the output</p>
  320. <p><a class="reference external" href="http://en.wikipedia.org/wiki/ANSI_escape_code">http://en.wikipedia.org/wiki/ANSI_escape_code</a></p>
  321. <p>Note: this does not capture ALL possible ANSI Escape Codes only the ones
  322. I have encountered</p>
  323. <p>Current codes that are filtered:
  324. ESC = &#8216;&#8217; or chr(27)
  325. ESC = is the escape character [^ in hex (&#8216;&#8217;)
  326. ESC[24;27H Position cursor
  327. ESC[?25h Show the cursor
  328. ESC[E Next line (HP does ESC-E)
  329. ESC[2K Erase line
  330. ESC[1;24r Enable scrolling from start to row end</p>
  331. <p>HP ProCurve&#8217;s, Cisco SG300, and F5 LTM&#8217;s require this (possible others)</p>
  332. </dd></dl>
  333. <dl class="staticmethod">
  334. <dt id="netmiko.base_connection.BaseConnection.strip_backspaces">
  335. <em class="property">static </em><code class="descname">strip_backspaces</code><span class="sig-paren">(</span><em>output</em><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.strip_backspaces" title="Permalink to this definition">¶</a></dt>
  336. <dd><p>Strip any backspace characters out of the output.</p>
  337. </dd></dl>
  338. <dl class="staticmethod">
  339. <dt id="netmiko.base_connection.BaseConnection.strip_command">
  340. <em class="property">static </em><code class="descname">strip_command</code><span class="sig-paren">(</span><em>command_string</em>, <em>output</em><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.strip_command" title="Permalink to this definition">¶</a></dt>
  341. <dd><p>Strip command_string from output string</p>
  342. <p>Cisco IOS adds backspaces into output for long commands (i.e. for commands that line wrap)</p>
  343. </dd></dl>
  344. <dl class="method">
  345. <dt id="netmiko.base_connection.BaseConnection.strip_prompt">
  346. <code class="descname">strip_prompt</code><span class="sig-paren">(</span><em>a_string</em><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.strip_prompt" title="Permalink to this definition">¶</a></dt>
  347. <dd><p>Strip the trailing router prompt from the output.</p>
  348. </dd></dl>
  349. <dl class="method">
  350. <dt id="netmiko.base_connection.BaseConnection.telnet_login">
  351. <code class="descname">telnet_login</code><span class="sig-paren">(</span><em>pri_prompt_terminator=u'#'</em>, <em>alt_prompt_terminator=u'&gt;'</em>, <em>delay_factor=1</em>, <em>max_loops=60</em><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.telnet_login" title="Permalink to this definition">¶</a></dt>
  352. <dd><p>Telnet login. Can be username/password or just password.</p>
  353. </dd></dl>
  354. <dl class="method">
  355. <dt id="netmiko.base_connection.BaseConnection.write_channel">
  356. <code class="descname">write_channel</code><span class="sig-paren">(</span><em>out_data</em><span class="sig-paren">)</span><a class="headerlink" href="#netmiko.base_connection.BaseConnection.write_channel" title="Permalink to this definition">¶</a></dt>
  357. <dd><p>Generic handler that will write to both SSH and telnet channel.</p>
  358. </dd></dl>
  359. </dd></dl>
  360. </div>
  361. </div>
  362. </div>
  363. <footer>
  364. <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
  365. <a href="../classes.html" class="btn btn-neutral" title="Netmiko Classes" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
  366. </div>
  367. <hr/>
  368. <div role="contentinfo">
  369. <p>
  370. &copy; Copyright 2016, Kirk Byers.
  371. </p>
  372. </div>
  373. Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
  374. </footer>
  375. </div>
  376. </div>
  377. </section>
  378. </div>
  379. <script type="text/javascript">
  380. var DOCUMENTATION_OPTIONS = {
  381. URL_ROOT:'../',
  382. VERSION:'1.0',
  383. COLLAPSE_INDEX:false,
  384. FILE_SUFFIX:'.html',
  385. HAS_SOURCE: true
  386. };
  387. </script>
  388. <script type="text/javascript" src="../_static/jquery.js"></script>
  389. <script type="text/javascript" src="../_static/underscore.js"></script>
  390. <script type="text/javascript" src="../_static/doctools.js"></script>
  391. <script type="text/javascript" src="../_static/js/theme.js"></script>
  392. <script type="text/javascript">
  393. jQuery(function () {
  394. SphinxRtdTheme.StickyNav.enable();
  395. });
  396. </script>
  397. </body>
  398. </html>