From fd12da9df3e70279b28c5736d0d587e59d80a782 Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Tue, 9 Aug 2022 14:57:38 -0700 Subject: [PATCH 01/70] Update PLATFORMS.md to include audiocodes --- PLATFORMS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/PLATFORMS.md b/PLATFORMS.md index 167ed0542..c4e8a18d4 100644 --- a/PLATFORMS.md +++ b/PLATFORMS.md @@ -19,6 +19,7 @@ - Adtran OS - Alcatel AOS6/AOS8 - Apresia Systems AEOS +- AudioCodes Gateways & Controllers - Broadcom ICOS - Calix B6 - Centec Networks From 7b0bc93bc86daec439fbb5efde9dc534ded42a93 Mon Sep 17 00:00:00 2001 From: bleuzkernel Date: Wed, 10 Aug 2022 20:00:38 -0500 Subject: [PATCH 02/70] Added Cisco IOSXE and Ericsson IPOS platforms to SSH autodetect --- netmiko/ssh_autodetect.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/netmiko/ssh_autodetect.py b/netmiko/ssh_autodetect.py index 2aedd44d9..3bc31ac64 100644 --- a/netmiko/ssh_autodetect.py +++ b/netmiko/ssh_autodetect.py @@ -97,6 +97,12 @@ "priority": 99, "dispatch": "_autodetect_std", }, + "cisco_xe": { + "cmd": "show version", + "search_patterns": [r"Cisco IOS XE Software"], + "priority": 99, + "dispatch": "_autodetect_std", + }, "cisco_nxos": { "cmd": "show version", "search_patterns": [r"Cisco Nexus Operating System", r"NX-OS"], @@ -180,6 +186,12 @@ "priority": 99, "dispatch": "_autodetect_std", }, + "ericsson_ipos": { + "cmd": "show version", + "search_patterns": [r"Ericsson IPOS Version"], + "priority": 99, + "dispatch": "_autodetect_std", + }, "extreme_exos": { "cmd": "show version", "search_patterns": [r"ExtremeXOS"], From c1dacbedde7c13ecc448123a306537c062ea2091 Mon Sep 17 00:00:00 2001 From: mf-6 Date: Thu, 28 Jul 2022 14:59:39 +0200 Subject: [PATCH 03/70] Added sleep to wait for session closure on old wlc --- netmiko/cisco/cisco_wlc_ssh.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/netmiko/cisco/cisco_wlc_ssh.py b/netmiko/cisco/cisco_wlc_ssh.py index 8b184e0d4..b4ece3b23 100644 --- a/netmiko/cisco/cisco_wlc_ssh.py +++ b/netmiko/cisco/cisco_wlc_ssh.py @@ -197,6 +197,8 @@ def cleanup(self, command: str = "logout") -> None: self._session_log_fin = True self.write_channel("n" + self.RETURN) + time.sleep(0.5) + try: self.write_channel(self.RETURN) except socket.error: From 79a16007732eb81b97e11b5aaf53eff5a5ccf359 Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Thu, 1 Sep 2022 13:33:19 -0700 Subject: [PATCH 04/70] Fix IOS-XR commit prompting issue, FIXES#2773 (#2925) --- netmiko/cisco/cisco_xr.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/netmiko/cisco/cisco_xr.py b/netmiko/cisco/cisco_xr.py index c864ad98c..b7cf31596 100644 --- a/netmiko/cisco/cisco_xr.py +++ b/netmiko/cisco/cisco_xr.py @@ -146,6 +146,7 @@ def commit( strip_prompt=False, strip_command=False, read_timeout=read_timeout, + cmd_verify=False, ) output += new_data if error_marker in output: @@ -153,7 +154,7 @@ def commit( if alt_error_marker in output: # Other commits occurred, don't proceed with commit output += self._send_command_timing_str( - "no", strip_prompt=False, strip_command=False + "no", strip_prompt=False, strip_command=False, cmd_verify=False ) raise ValueError(f"Commit failed with the following errors:\n\n{output}") From 49aabf7fd926ff580ea2b0c5113caf78f738926f Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Thu, 1 Sep 2022 14:16:51 -0700 Subject: [PATCH 05/70] Fix API docs link (#2926) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index be52f1c33..990a36e02 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ $ pip install netmiko ## API-Documentation -[API-Documentation](https://ktbyers.github.io/netmiko/#api-documentation) +[API-Documentation](https://ktbyers.github.io/netmiko/docs/netmiko/index.html)
From 07e28264afdfc696e8a2bab728959bebff2665e2 Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Thu, 1 Sep 2022 15:18:58 -0700 Subject: [PATCH 06/70] Setting adtran terminal width (#2927) --- netmiko/adtran/adtran.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/netmiko/adtran/adtran.py b/netmiko/adtran/adtran.py index 6f0d8e058..2d2da419d 100644 --- a/netmiko/adtran/adtran.py +++ b/netmiko/adtran/adtran.py @@ -4,6 +4,8 @@ class AdtranOSBase(CiscoBaseConnection): + prompt_pattern = r"[>#]" + def __init__(self, *args: Any, **kwargs: Any) -> None: if kwargs.get("global_cmd_verify") is None: kwargs["global_cmd_verify"] = False @@ -12,9 +14,11 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: def session_preparation(self) -> None: """Prepare the session after the connection has been established.""" self.ansi_escape_codes = True - self._test_channel_read() + self._test_channel_read(pattern=self.prompt_pattern) self.set_base_prompt() self.disable_paging(command="terminal length 0") + cmd = "terminal width 132" + self.set_terminal_width(command=cmd, pattern=cmd) def check_enable_mode(self, check_string: str = "#") -> bool: return super().check_enable_mode(check_string=check_string) From c66e51e3e2d9ba98af1333af9fa5c940e8e2c89f Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Fri, 2 Sep 2022 09:46:28 -0700 Subject: [PATCH 07/70] Fix issue where check_file_exists_unix was incorrectly reporting a file existed when it didn't (#2928) --- netmiko/scp_handler.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netmiko/scp_handler.py b/netmiko/scp_handler.py index 81a4f9ee1..d2da38b9d 100644 --- a/netmiko/scp_handler.py +++ b/netmiko/scp_handler.py @@ -243,7 +243,7 @@ def _check_file_exists_unix(self, remote_cmd: str = "") -> bool: """Check if the dest_file already exists on the file system (return boolean).""" if self.direction == "put": self.ssh_ctl_chan._enter_shell() - remote_cmd = f"/bin/ls {self.file_system}" + remote_cmd = f"/bin/ls {self.file_system}/{self.dest_file} 2> /dev/null" remote_out = self.ssh_ctl_chan._send_command_str( remote_cmd, expect_string=r"[\$#]" ) From 9dbf31add30641bc6ba270cc19b54c63a04dc4c3 Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Tue, 13 Sep 2022 11:55:14 -0700 Subject: [PATCH 08/70] Improve Arista duplicate echo issue (#2944) * Improve Arista duplicate echo issue * Add test_channel_read() on login --- netmiko/arista/arista.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/netmiko/arista/arista.py b/netmiko/arista/arista.py index da76f0240..b689ef390 100644 --- a/netmiko/arista/arista.py +++ b/netmiko/arista/arista.py @@ -9,14 +9,33 @@ class AristaBase(CiscoSSHConnection): + prompt_pattern = r"[$>#]" + def session_preparation(self) -> None: """Prepare the session after the connection has been established.""" + self._test_channel_read(pattern=self.prompt_pattern) cmd = "terminal width 511" - # Arista will echo immediately and then when the device really responds (like NX-OS) self.set_terminal_width(command=cmd, pattern=r"Width set to") self.disable_paging(cmd_verify=False, pattern=r"Pagination disabled") self.set_base_prompt() + def find_prompt( + self, delay_factor: float = 1.0, pattern: Optional[str] = None + ) -> str: + """ + Arista's sometimes duplicate the command echo if they fall behind. + + arista9-napalm# + show version | json + arista9-napalm#show version | json + + Using the terminating pattern tries to ensure that it is less likely they + fall behind. + """ + if not pattern: + pattern = self.prompt_pattern + return super().find_prompt(delay_factor=delay_factor, pattern=pattern) + def enable( self, cmd: str = "enable", From fbd3f42a0017a1cea60cfc75b6d37b67bc7534c5 Mon Sep 17 00:00:00 2001 From: Tim Gavryutenko <35343569+TimGa@users.noreply.github.com> Date: Sat, 17 Sep 2022 04:05:41 +0700 Subject: [PATCH 09/70] Fix Huawei telnet regex pattern issue --- netmiko/huawei/huawei.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netmiko/huawei/huawei.py b/netmiko/huawei/huawei.py index 625ce1ae5..154c4817c 100644 --- a/netmiko/huawei/huawei.py +++ b/netmiko/huawei/huawei.py @@ -128,7 +128,7 @@ def telnet_login( """Telnet login for Huawei Devices""" delay_factor = self.select_delay_factor(delay_factor) - password_change_prompt = r"(Change now|Please choose 'YES' or 'NO').+" + password_change_prompt = r"(?:Change now|Please choose 'YES' or 'NO').+" combined_pattern = r"({}|{}|{})".format( pri_prompt_terminator, alt_prompt_terminator, password_change_prompt ) From 506fc904d1e7a22619b5dd6f96955a09f8a93f87 Mon Sep 17 00:00:00 2001 From: elavaud Date: Tue, 20 Sep 2022 06:59:52 +0700 Subject: [PATCH 10/70] Add support for scp on Ubiquiti edgerouter (#2950) Co-authored-by: Edouard Lavaud --- netmiko/ssh_dispatcher.py | 3 +- netmiko/ubiquiti/__init__.py | 6 ++- netmiko/ubiquiti/edgerouter_ssh.py | 65 ++++++++++++++++++++++++ tests/conftest.py | 5 ++ tests/test_ubiquiti_edgerouter/test9.txt | 1 + tests/test_ubiquiti_edgerouter/testx.txt | 1 + 6 files changed, 79 insertions(+), 2 deletions(-) create mode 100644 tests/test_ubiquiti_edgerouter/test9.txt create mode 100644 tests/test_ubiquiti_edgerouter/testx.txt diff --git a/netmiko/ssh_dispatcher.py b/netmiko/ssh_dispatcher.py index e3aaf4cbe..8d29ae650 100755 --- a/netmiko/ssh_dispatcher.py +++ b/netmiko/ssh_dispatcher.py @@ -110,7 +110,7 @@ from netmiko.terminal_server import TerminalServerSSH from netmiko.terminal_server import TerminalServerTelnet from netmiko.tplink import TPLinkJetStreamSSH, TPLinkJetStreamTelnet -from netmiko.ubiquiti import UbiquitiEdgeRouterSSH +from netmiko.ubiquiti import UbiquitiEdgeRouterSSH, UbiquitiEdgeRouterFileTransfer from netmiko.ubiquiti import UbiquitiEdgeSSH from netmiko.ubiquiti import UbiquitiUnifiSwitchSSH from netmiko.vyos import VyOSSSH @@ -266,6 +266,7 @@ "linux": LinuxFileTransfer, "nokia_sros": NokiaSrosFileTransfer, "mikrotik_routeros": MikrotikRouterOsFileTransfer, + "ubiquiti_edgerouter": UbiquitiEdgeRouterFileTransfer, } # Also support keys that end in _ssh diff --git a/netmiko/ubiquiti/__init__.py b/netmiko/ubiquiti/__init__.py index aa695a199..fdf0b0cd5 100644 --- a/netmiko/ubiquiti/__init__.py +++ b/netmiko/ubiquiti/__init__.py @@ -1,9 +1,13 @@ from netmiko.ubiquiti.edge_ssh import UbiquitiEdgeSSH -from netmiko.ubiquiti.edgerouter_ssh import UbiquitiEdgeRouterSSH +from netmiko.ubiquiti.edgerouter_ssh import ( + UbiquitiEdgeRouterSSH, + UbiquitiEdgeRouterFileTransfer, +) from netmiko.ubiquiti.unifiswitch_ssh import UbiquitiUnifiSwitchSSH __all__ = [ "UbiquitiEdgeRouterSSH", + "UbiquitiEdgeRouterFileTransfer", "UbiquitiEdgeSSH", "UbiquitiUnifiSwitchSSH", ] diff --git a/netmiko/ubiquiti/edgerouter_ssh.py b/netmiko/ubiquiti/edgerouter_ssh.py index 0fb2edd0b..37d950dd2 100644 --- a/netmiko/ubiquiti/edgerouter_ssh.py +++ b/netmiko/ubiquiti/edgerouter_ssh.py @@ -1,10 +1,22 @@ import time +import re +from typing import Any, Optional +from netmiko.base_connection import BaseConnection from netmiko.vyos.vyos_ssh import VyOSSSH +from netmiko.scp_handler import BaseFileTransfer class UbiquitiEdgeRouterSSH(VyOSSSH): """Implement methods for interacting with EdgeOS EdgeRouter network devices.""" + def _enter_shell(self) -> str: + """Already in shell.""" + return "" + + def _return_cli(self) -> str: + """The shell is the CLI.""" + return "" + def session_preparation(self) -> None: """Prepare the session after the connection has been established.""" self._test_channel_read() @@ -25,3 +37,56 @@ def save_config( if "Done" not in output: raise ValueError(f"Save failed with following errors:\n\n{output}") return output + + +class UbiquitiEdgeRouterFileTransfer(BaseFileTransfer): + """Ubiquiti EdgeRouter SCP File Transfer driver.""" + + def __init__( + self, + ssh_conn: "BaseConnection", + source_file: str, + dest_file: str, + file_system: Optional[str] = "/", + direction: str = "put", + **kwargs: Any, + ) -> None: + super().__init__( + ssh_conn=ssh_conn, + source_file=source_file, + dest_file=dest_file, + file_system=file_system, + direction=direction, + **kwargs, + ) + + def check_file_exists(self, remote_cmd: str = "") -> bool: + """Check if the dest_file already exists on the file system.""" + return self._check_file_exists_unix(remote_cmd=remote_cmd) + + def remote_space_available(self, search_pattern: str = "") -> int: + """Return space available on remote device.""" + return self._remote_space_available_unix(search_pattern=search_pattern) + + def remote_md5( + self, base_cmd: str = "md5sum", remote_file: Optional[str] = None + ) -> str: + """Calculate remote MD5 and returns the hash.""" + return super().remote_md5(base_cmd=base_cmd, remote_file=remote_file) + + def remote_file_size( + self, remote_cmd: str = "", remote_file: Optional[str] = None + ) -> int: + """Get the file size of the remote file.""" + return self._remote_file_size_unix( + remote_cmd=remote_cmd, remote_file=remote_file + ) + + @staticmethod + def process_md5(md5_output: str, pattern: str = r"(\S+)\s+") -> str: + """Process the string to retrieve the MD5 hash""" + match = re.search(pattern, md5_output) + if match: + return match.group(1) + else: + raise ValueError(f"Invalid output from MD5 command: {md5_output}") diff --git a/tests/conftest.py b/tests/conftest.py index 3ec81e948..b5931febb 100755 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -589,4 +589,9 @@ def get_platform_args(): "enable_scp": True, "delete_file": delete_file_mikrotik_routeros, }, + "ubiquiti_edgerouter": { + "file_system": "/home/admin", + "enable_scp": True, + "delete_file": delete_file_generic, + }, } diff --git a/tests/test_ubiquiti_edgerouter/test9.txt b/tests/test_ubiquiti_edgerouter/test9.txt new file mode 100644 index 000000000..acc8e3dd5 --- /dev/null +++ b/tests/test_ubiquiti_edgerouter/test9.txt @@ -0,0 +1 @@ +no logging console diff --git a/tests/test_ubiquiti_edgerouter/testx.txt b/tests/test_ubiquiti_edgerouter/testx.txt new file mode 100644 index 000000000..acc8e3dd5 --- /dev/null +++ b/tests/test_ubiquiti_edgerouter/testx.txt @@ -0,0 +1 @@ +no logging console From ce4afbd0e05a0ed822be6ca75acfa5b6a1541b17 Mon Sep 17 00:00:00 2001 From: Chuck van Gessel <74068853+vangesseld@users.noreply.github.com> Date: Fri, 30 Sep 2022 14:53:19 -0700 Subject: [PATCH 11/70] Added support for Arris CER and Casa CMTS platforms. (#2958) * Added support for Arris CER and Casa CMTS platforms. * Corrected issue with reliably exiting config mode on Casa. Co-authored-by: Chuck van Gessel --- PLATFORMS.md | 4 +++ netmiko/arris/__init__.py | 3 ++ netmiko/arris/arris_cer.py | 39 ++++++++++++++++++++++ netmiko/casa/__init__.py | 3 ++ netmiko/casa/casa_cmts.py | 67 ++++++++++++++++++++++++++++++++++++++ netmiko/ssh_autodetect.py | 12 +++++++ netmiko/ssh_dispatcher.py | 4 +++ 7 files changed, 132 insertions(+) create mode 100644 netmiko/arris/__init__.py create mode 100644 netmiko/arris/arris_cer.py create mode 100644 netmiko/casa/__init__.py create mode 100644 netmiko/casa/casa_cmts.py diff --git a/PLATFORMS.md b/PLATFORMS.md index c4e8a18d4..61b2189ce 100644 --- a/PLATFORMS.md +++ b/PLATFORMS.md @@ -65,8 +65,10 @@ - Accedian - Allied Telesis AlliedWare Plus - Aruba +- Arris CER - Brocade Fabric OS - C-DOT CROS +- Casa CMTS - Ciena SAOS - Citrix Netscaler - Cisco Telepresence @@ -108,6 +110,7 @@ - allied_telesis_awplus - apresia_aeos - arista_eos +- arris_cer - aruba_os - aruba_osswitch - aruba_procurve @@ -121,6 +124,7 @@ - brocade_vdx - brocade_vyos - calix_b6 +- casa_cmts - cdot_cros - centec_os - checkpoint_gaia diff --git a/netmiko/arris/__init__.py b/netmiko/arris/__init__.py new file mode 100644 index 000000000..2ff4438e7 --- /dev/null +++ b/netmiko/arris/__init__.py @@ -0,0 +1,3 @@ +from netmiko.arris.arris_cer import ArrisCERBase, ArrisCERSSH + +__all__ = ["ArrisCERBase", "ArrisCERSSH"] diff --git a/netmiko/arris/arris_cer.py b/netmiko/arris/arris_cer.py new file mode 100644 index 000000000..8a2931c10 --- /dev/null +++ b/netmiko/arris/arris_cer.py @@ -0,0 +1,39 @@ +from netmiko.cisco_base_connection import CiscoSSHConnection + + +class ArrisCERBase(CiscoSSHConnection): + """ + Arris CER Support. + + Implements methods for interacting with Arris CER platforms. + """ + + def config_mode( + self, + config_command: str = "configure", + pattern: str = "", + re_flags: int = 0, + ) -> str: + """Enters configuration mode.""" + return super().config_mode( + config_command=config_command, + pattern=pattern, + re_flags=re_flags, + ) + + def save_config( + self, + cmd: str = "write memory", + confirm: bool = False, + confirm_response: str = "", + ) -> str: + """Saves the running configuration to NVRAM.""" + return super().save_config( + cmd=cmd, confirm=confirm, confirm_response=confirm_response + ) + + +class ArrisCERSSH(ArrisCERBase): + """Arris CER SSH Driver.""" + + pass diff --git a/netmiko/casa/__init__.py b/netmiko/casa/__init__.py new file mode 100644 index 000000000..5dfb45d70 --- /dev/null +++ b/netmiko/casa/__init__.py @@ -0,0 +1,3 @@ +from netmiko.casa.casa_cmts import CasaCMTSBase, CasaCMTSSSH + +__all__ = ["CasaCMTSBase", "CasaCMTSSSH"] diff --git a/netmiko/casa/casa_cmts.py b/netmiko/casa/casa_cmts.py new file mode 100644 index 000000000..6690b2bff --- /dev/null +++ b/netmiko/casa/casa_cmts.py @@ -0,0 +1,67 @@ +from typing import Optional +from netmiko.cisco_base_connection import CiscoSSHConnection +from netmiko.no_enable import NoEnable + + +class CasaCMTSBase(NoEnable, CiscoSSHConnection): + """ + Casa CMTS support. + + Implements methods for interacting with Casa CMTS platforms. + """ + + def disable_paging( + self, + command: str = "page-off", + delay_factor: Optional[float] = None, + cmd_verify: bool = True, + pattern: Optional[str] = None, + ) -> str: + """Disables paging.""" + return super().disable_paging( + command=command, + delay_factor=delay_factor, + cmd_verify=cmd_verify, + pattern=pattern, + ) + + def config_mode( + self, + config_command: str = "config", + pattern: str = "", + re_flags: int = 0, + ) -> str: + """Enters configuration mode.""" + return super().config_mode( + config_command=config_command, + pattern=pattern, + re_flags=re_flags, + ) + + def exit_config_mode( + self, exit_config: str = chr(26), pattern: str = r"#.*" + ) -> str: + """ + Exits configuration mode. + + Must use CTRL-Z (ASCII 26) to reliably exit from any + tier in the configuration hierarchy. + + Since CTRL-Z is a non-printable character, we must temporarily disable + global_cmd_verify to prevent an exception trying to read the + echoed input. + """ + if self.global_cmd_verify is not False and exit_config == chr(26): + global_cmd_verify_tmp = self.global_cmd_verify + self.global_cmd_verify = False + output = super().exit_config_mode(exit_config, pattern) + self.global_cmd_verify = global_cmd_verify_tmp + else: + output = super().exit_config_mode(exit_config, pattern) + return output + + +class CasaCMTSSSH(CasaCMTSBase): + """Casa CMTS SSH Driver.""" + + pass diff --git a/netmiko/ssh_autodetect.py b/netmiko/ssh_autodetect.py index 3bc31ac64..6c6a7d640 100644 --- a/netmiko/ssh_autodetect.py +++ b/netmiko/ssh_autodetect.py @@ -76,6 +76,18 @@ "priority": 99, "dispatch": "_autodetect_std", }, + "arris_cer": { + "cmd": "show version", + "search_patterns": [r"CER"], + "priority": 99, + "dispatch": "_autodetect_std", + }, + "casa_cmts": { + "cmd": "show version", + "search_patterns": [r"Casa"], + "priority": 99, + "dispatch": "_autodetect_std", + }, "ciena_saos": { "cmd": "software show", "search_patterns": [r"saos"], diff --git a/netmiko/ssh_dispatcher.py b/netmiko/ssh_dispatcher.py index 8d29ae650..925bd90ce 100755 --- a/netmiko/ssh_dispatcher.py +++ b/netmiko/ssh_dispatcher.py @@ -10,6 +10,7 @@ from netmiko.allied_telesis import AlliedTelesisAwplusSSH from netmiko.arista import AristaSSH, AristaTelnet from netmiko.arista import AristaFileTransfer +from netmiko.arris import ArrisCERSSH from netmiko.apresia import ApresiaAeosSSH, ApresiaAeosTelnet from netmiko.aruba import ArubaSSH from netmiko.audiocode import ( @@ -23,6 +24,7 @@ from netmiko.brocade import BrocadeFOSSSH from netmiko.broadcom import BroadcomIcosSSH from netmiko.calix import CalixB6SSH, CalixB6Telnet +from netmiko.casa import CasaCMTSSSH from netmiko.cdot import CdotCrosSSH from netmiko.centec import CentecOSSSH, CentecOSTelnet from netmiko.checkpoint import CheckPointGaiaSSH @@ -140,6 +142,7 @@ "allied_telesis_awplus": AlliedTelesisAwplusSSH, "apresia_aeos": ApresiaAeosSSH, "arista_eos": AristaSSH, + "arris_cer": ArrisCERSSH, "aruba_os": ArubaSSH, "aruba_osswitch": HPProcurveSSH, "aruba_procurve": HPProcurveSSH, @@ -157,6 +160,7 @@ "brocade_vyos": VyOSSSH, "checkpoint_gaia": CheckPointGaiaSSH, "calix_b6": CalixB6SSH, + "casa_cmts": CasaCMTSSSH, "cdot_cros": CdotCrosSSH, "centec_os": CentecOSSSH, "ciena_saos": CienaSaosSSH, From 23c751be57ceeebb71abd5a50b76eb9f458e2303 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Ribot?= <98583408+k-ribot@users.noreply.github.com> Date: Sat, 1 Oct 2022 00:01:40 +0200 Subject: [PATCH 12/70] Remove config mode to MikroTik (#2957) --- netmiko/mikrotik/mikrotik_ssh.py | 27 ++------------------------- 1 file changed, 2 insertions(+), 25 deletions(-) diff --git a/netmiko/mikrotik/mikrotik_ssh.py b/netmiko/mikrotik/mikrotik_ssh.py index 9712ac33c..360edec0f 100644 --- a/netmiko/mikrotik/mikrotik_ssh.py +++ b/netmiko/mikrotik/mikrotik_ssh.py @@ -3,20 +3,19 @@ import os from netmiko.no_enable import NoEnable +from netmiko.no_config import NoConfig from netmiko.cisco_base_connection import CiscoSSHConnection from netmiko.base_connection import BaseConnection from netmiko.scp_handler import BaseFileTransfer -class MikrotikBase(NoEnable, CiscoSSHConnection): +class MikrotikBase(NoEnable, NoConfig, CiscoSSHConnection): """Common Methods for Mikrotik RouterOS and SwitchOS""" def __init__(self, **kwargs: Any) -> None: if kwargs.get("default_enter") is None: kwargs["default_enter"] = "\r\n" - self._in_config_mode = False - return super().__init__(**kwargs) def session_preparation(self, *args: Any, **kwargs: Any) -> None: @@ -39,28 +38,6 @@ def disable_paging(self, *args: Any, **kwargs: Any) -> str: """Mikrotik does not have paging by default.""" return "" - def save_config(self, *args: Any, **kwargs: Any) -> str: - """No save command, all configuration is atomic""" - return "" - - def config_mode( - self, config_command: str = "", pattern: str = "", re_flags: int = 0 - ) -> str: - """No configuration mode on Mikrotik""" - self._in_config_mode = True - return "" - - def check_config_mode( - self, check_string: str = "", pattern: str = "", force_regex: bool = False - ) -> bool: - """Checks whether in configuration mode. Returns a boolean.""" - return self._in_config_mode - - def exit_config_mode(self, exit_config: str = ">", pattern: str = "") -> str: - """No configuration mode on Mikrotik""" - self._in_config_mode = False - return "" - def strip_prompt(self, a_string: str) -> str: """Strip the trailing router prompt from the output. From 32e0e6e9e98539ba24ce70f798d8fd8c25302887 Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Thu, 6 Oct 2022 15:32:34 -0700 Subject: [PATCH 13/70] Fix issue #2973 with changing string for Cisco WLC for autodetect (#2974) --- netmiko/ssh_autodetect.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netmiko/ssh_autodetect.py b/netmiko/ssh_autodetect.py index 6c6a7d640..d52587135 100644 --- a/netmiko/ssh_autodetect.py +++ b/netmiko/ssh_autodetect.py @@ -243,7 +243,7 @@ "cisco_wlc_85": { "cmd": "show inventory", "dispatch": "_autodetect_std", - "search_patterns": [r"Cisco Wireless Controller"], + "search_patterns": [r"Cisco.*Wireless Controller"], "priority": 99, }, "mellanox_mlnxos": { From 997b03a530cd15925f1f504cc1830302fff63f2e Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Thu, 6 Oct 2022 15:40:23 -0700 Subject: [PATCH 14/70] Add cisco viptela autodetect support (#2975) --- netmiko/ssh_autodetect.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/netmiko/ssh_autodetect.py b/netmiko/ssh_autodetect.py index d52587135..7fd16c2cd 100644 --- a/netmiko/ssh_autodetect.py +++ b/netmiko/ssh_autodetect.py @@ -282,6 +282,12 @@ "priority": 99, "dispatch": "_autodetect_std", }, + "cisco_viptela": { + "cmd": "show system status", + "search_patterns": [r"Viptela, Inc"], + "priority": 99, + "dispatch": "_autodetect_std", + }, } # Sort SSH_MAPPER_DICT such that the most common commands are first From 9ae5ac7f7e1a0fb94c1a4412b4a0a0706f124687 Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Fri, 7 Oct 2022 15:44:11 -0700 Subject: [PATCH 15/70] Simpler disabled algorithms for Paramiko server-sig-algs issue (#2979) --- netmiko/base_connection.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/netmiko/base_connection.py b/netmiko/base_connection.py index 54f94ae96..445c97fef 100644 --- a/netmiko/base_connection.py +++ b/netmiko/base_connection.py @@ -150,6 +150,7 @@ def __init__( pkey: Optional[paramiko.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, + disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, @@ -222,6 +223,9 @@ def __init__( :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + https://github.com/paramiko/paramiko/issues/1961 (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -429,7 +433,15 @@ def __init__( self.system_host_keys = system_host_keys self.alt_host_keys = alt_host_keys self.alt_key_file = alt_key_file - self.disabled_algorithms = disabled_algorithms or {} + + if disabled_algorithms: + self.disabled_algorithms = disabled_algorithms + else: + self.disabled_algorithms = ( + {"pubkeys": ["rsa-sha2-256", "rsa-sha2-512"]} + if disable_sha2_fix + else {} + ) # For SSH proxy support self.ssh_config_file = ssh_config_file From d29420c20e1ca8c9b761913fda9775842a33f715 Mon Sep 17 00:00:00 2001 From: elavaud Date: Wed, 26 Oct 2022 21:43:53 +0700 Subject: [PATCH 16/70] Huawei - allow vrp versions < 8 (#3000) Co-authored-by: Edouard Lavaud --- netmiko/ssh_dispatcher.py | 1 + 1 file changed, 1 insertion(+) diff --git a/netmiko/ssh_dispatcher.py b/netmiko/ssh_dispatcher.py index 925bd90ce..18c76ff1d 100755 --- a/netmiko/ssh_dispatcher.py +++ b/netmiko/ssh_dispatcher.py @@ -212,6 +212,7 @@ "huawei": HuaweiSSH, "huawei_smartax": HuaweiSmartAXSSH, "huawei_olt": HuaweiSmartAXSSH, + "huawei_vrp": HuaweiSSH, "huawei_vrpv8": HuaweiVrpv8SSH, "ipinfusion_ocnos": IpInfusionOcNOSSSH, "juniper": JuniperSSH, From 8798e6d3e23b2c7bbf0bac6ebaf6c89561134af8 Mon Sep 17 00:00:00 2001 From: J vanBemmel Date: Fri, 28 Oct 2022 20:43:29 -0500 Subject: [PATCH 17/70] Revert pinning of textfsm (#3003) --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 32512a143..57234b661 100644 --- a/setup.py +++ b/setup.py @@ -52,7 +52,7 @@ def find_version(*file_paths): "scp>=0.13.3", "tenacity", "pyyaml>=5.3", - "textfsm==1.1.2", + "textfsm", "ntc-templates>=2.0.0", "pyserial", ], From 1d864d20e01551f5c20f02830bba93c49ace7560 Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Fri, 28 Oct 2022 19:10:56 -0700 Subject: [PATCH 18/70] Mikrotik license handling (#3011) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * MikroTik - Add skip the software licence on first connection * Minor updates to the mikrotik special login handler * Remove test channel read Co-authored-by: Kévin RIBOT --- netmiko/mikrotik/mikrotik_ssh.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/netmiko/mikrotik/mikrotik_ssh.py b/netmiko/mikrotik/mikrotik_ssh.py index 360edec0f..da931d8c6 100644 --- a/netmiko/mikrotik/mikrotik_ssh.py +++ b/netmiko/mikrotik/mikrotik_ssh.py @@ -12,16 +12,26 @@ class MikrotikBase(NoEnable, NoConfig, CiscoSSHConnection): """Common Methods for Mikrotik RouterOS and SwitchOS""" + prompt_pattern = r"\].*>" + def __init__(self, **kwargs: Any) -> None: if kwargs.get("default_enter") is None: kwargs["default_enter"] = "\r\n" return super().__init__(**kwargs) + def special_login_handler(self, delay_factor: float = 1.0) -> None: + # Mikrotik might prompt to read software licenses before displaying the initial prompt. + license_prompt = "Do you want to see the software license" + combined_pattern = rf"(?:{self.prompt_pattern}|{license_prompt})" + data = self.read_until_pattern(pattern=combined_pattern, re_flags=re.I) + if license_prompt in data: + self.write_channel("n") + self.read_until_pattern(pattern=self.prompt_pattern) + def session_preparation(self, *args: Any, **kwargs: Any) -> None: """Prepare the session after the connection has been established.""" self.ansi_escape_codes = True - self._test_channel_read(pattern=r"\].*>") self.set_base_prompt() def _modify_connection_params(self) -> None: From 21d35d34d6fe604f74434371755700846da9136a Mon Sep 17 00:00:00 2001 From: tramontano Date: Mon, 7 Nov 2022 13:17:36 -0300 Subject: [PATCH 19/70] Update ssh_autodetect.py for Cisco WLC changes (#3020) --- netmiko/ssh_autodetect.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netmiko/ssh_autodetect.py b/netmiko/ssh_autodetect.py index 7fd16c2cd..9419a00a6 100644 --- a/netmiko/ssh_autodetect.py +++ b/netmiko/ssh_autodetect.py @@ -243,7 +243,7 @@ "cisco_wlc_85": { "cmd": "show inventory", "dispatch": "_autodetect_std", - "search_patterns": [r"Cisco.*Wireless Controller"], + "search_patterns": [r"Cisco.*Wireless.*Controller"], "priority": 99, }, "mellanox_mlnxos": { From 75045d26378f02a7f459cac21796bd09758fb23f Mon Sep 17 00:00:00 2001 From: kacem-expereo <115718278+kacem-expereo@users.noreply.github.com> Date: Wed, 14 Dec 2022 20:43:37 +0100 Subject: [PATCH 20/70] Snmpdetect fix cisco_ios detection and add routeros (#3038) --- netmiko/snmp_autodetect.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/netmiko/snmp_autodetect.py b/netmiko/snmp_autodetect.py index 099e1ab0f..7fc1abee9 100644 --- a/netmiko/snmp_autodetect.py +++ b/netmiko/snmp_autodetect.py @@ -56,7 +56,7 @@ }, "cisco_ios": { "oid": ".1.3.6.1.2.1.1.1.0", - "expr": re.compile(r".*Cisco IOS Software,.*", re.IGNORECASE), + "expr": re.compile(r".*Cisco IOS Software.*,.*", re.IGNORECASE), "priority": 60, }, "cisco_xe": { @@ -114,6 +114,11 @@ "expr": re.compile(r"PowerConnect.*", re.IGNORECASE), "priority": 50, }, + "mikrotik_routeros": { + "oid": ".1.3.6.1.2.1.1.1.0", + "expr": re.compile(r".*RouterOS.*", re.IGNORECASE), + "priority": 60, + }, } # Ensure all SNMP device types are supported by Netmiko From e0010fcb62fbab51c415a276bb6553828598a9b0 Mon Sep 17 00:00:00 2001 From: kacem-expereo <115718278+kacem-expereo@users.noreply.github.com> Date: Wed, 14 Dec 2022 20:45:33 +0100 Subject: [PATCH 21/70] IPV6 support for SNMPDetect(#3027) (#3028) * IPV6 support for SNMPDetect(#3027) * apply black --- netmiko/snmp_autodetect.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/netmiko/snmp_autodetect.py b/netmiko/snmp_autodetect.py index 7fc1abee9..ca16641ba 100644 --- a/netmiko/snmp_autodetect.py +++ b/netmiko/snmp_autodetect.py @@ -20,6 +20,7 @@ Note, pysnmp is a required dependency for SNMPDetect and is intentionally not included in netmiko requirements. So installation of pysnmp might be required. """ +import ipaddress from typing import Optional, Dict from typing.re import Pattern import re @@ -242,6 +243,16 @@ def __init__( self.auth_proto = self._snmp_v3_authentication[auth_proto] self.encryp_proto = self._snmp_v3_encryption[encrypt_proto] self._response_cache: Dict[str, str] = {} + self.snmp_target = (self.hostname, self.snmp_port) + + if ipaddress.ip_address(self.hostname).version == 6: + self.udp_transport_target = cmdgen.Udp6TransportTarget( + self.snmp_target, timeout=1.5, retries=2 + ) + else: + self.udp_transport_target = cmdgen.UdpTransportTarget( + self.snmp_target, timeout=1.5, retries=2 + ) def _get_snmpv3(self, oid: str) -> str: """ @@ -257,7 +268,6 @@ def _get_snmpv3(self, oid: str) -> str: string : str The string as part of the value from the OID you are trying to retrieve. """ - snmp_target = (self.hostname, self.snmp_port) cmd_gen = cmdgen.CommandGenerator() (error_detected, error_status, error_index, snmp_data) = cmd_gen.getCmd( @@ -268,7 +278,7 @@ def _get_snmpv3(self, oid: str) -> str: authProtocol=self.auth_proto, privProtocol=self.encryp_proto, ), - cmdgen.UdpTransportTarget(snmp_target, timeout=1.5, retries=2), + self.udp_transport_target, oid, lookupNames=True, lookupValues=True, @@ -292,12 +302,11 @@ def _get_snmpv2c(self, oid: str) -> str: string : str The string as part of the value from the OID you are trying to retrieve. """ - snmp_target = (self.hostname, self.snmp_port) cmd_gen = cmdgen.CommandGenerator() (error_detected, error_status, error_index, snmp_data) = cmd_gen.getCmd( cmdgen.CommunityData(self.community), - cmdgen.UdpTransportTarget(snmp_target, timeout=1.5, retries=2), + self.udp_transport_target, oid, lookupNames=True, lookupValues=True, From a66e4eba7476275974e0f6e1ade495ff2d00e7e2 Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Wed, 14 Dec 2022 19:49:01 -0800 Subject: [PATCH 22/70] Fixing missing msg in ConnLogOnly (#3055) * Fixing missing msg in ConnLogOnly * Fixing the msg order * Adding PY3.11 version * Remove PY3.11 as no pyats/genie wheels --- .github/workflows/commit.yaml | 3 +-- netmiko/ssh_dispatcher.py | 2 ++ 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/commit.yaml b/.github/workflows/commit.yaml index 937430caf..76aa0852b 100644 --- a/.github/workflows/commit.yaml +++ b/.github/workflows/commit.yaml @@ -10,8 +10,7 @@ jobs: strategy: max-parallel: 4 matrix: - # python-version: ["3.7", "3.8", "3.9", "3.10", "3.11-dev"] - python-version: ["3.7", "3.8", "3.9", "3.10"] + python-version: ["3.7", "3.8", "3.9", "3.10.9"] steps: - name: Checkout repository diff --git a/netmiko/ssh_dispatcher.py b/netmiko/ssh_dispatcher.py index 18c76ff1d..a64e562f2 100755 --- a/netmiko/ssh_dispatcher.py +++ b/netmiko/ssh_dispatcher.py @@ -417,6 +417,8 @@ def ConnLogOnly( elif "TCP connection to device failed" in str(e): msg = f"Netmiko was unable to reach the provided host and port: {hostname}:{port}" msg += f"\n\n{str(e)}" + else: + msg = f"An unknown NetmikoTimeoutException occurred:\n\n{str(e)}" logger.error(msg) return None except Exception as e: From 75f8b4fe2b1716c3f2508ffc0b03fab34f72f041 Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Fri, 6 Jan 2023 12:03:14 -0700 Subject: [PATCH 23/70] Trying to improve SSH autodetect for slow devices (#3056) --- netmiko/ssh_autodetect.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/netmiko/ssh_autodetect.py b/netmiko/ssh_autodetect.py index 9419a00a6..133de92af 100644 --- a/netmiko/ssh_autodetect.py +++ b/netmiko/ssh_autodetect.py @@ -342,6 +342,10 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: # Always set cmd_verify to False for autodetect kwargs["global_cmd_verify"] = False self.connection = ConnectHandler(*args, **kwargs) + + # Add additional sleep to let the login complete. + time.sleep(3) + # Call the _test_channel_read() in base to clear initial data output = BaseConnection._test_channel_read(self.connection) self.initial_buffer = output From 0ce727484b4c05dbf72915cf8a0680dc2c36a1ef Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Sun, 8 Jan 2023 21:33:11 -0700 Subject: [PATCH 24/70] Improving SSH autodetect for slow devices (#3074) --- netmiko/ssh_autodetect.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netmiko/ssh_autodetect.py b/netmiko/ssh_autodetect.py index 133de92af..d84632df5 100644 --- a/netmiko/ssh_autodetect.py +++ b/netmiko/ssh_autodetect.py @@ -406,7 +406,7 @@ def _send_command(self, cmd: str = "") -> str: """ self.connection.write_channel(cmd + "\n") time.sleep(1) - output = self.connection.read_channel_timing() + output = self.connection.read_channel_timing(last_read=6.0) output = self.connection.strip_backspaces(output) return output From d0ed977b1243e956450a4a4228fdc8894b7ea4d4 Mon Sep 17 00:00:00 2001 From: Baptiste Jonglez <30461003+jonglezb@users.noreply.github.com> Date: Fri, 13 Jan 2023 01:59:11 +0100 Subject: [PATCH 25/70] dell: fix save_config for Dell Force10 / OS9 devices (#3070) --- netmiko/dell/dell_force10_ssh.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netmiko/dell/dell_force10_ssh.py b/netmiko/dell/dell_force10_ssh.py index 9ce811f66..e91278680 100644 --- a/netmiko/dell/dell_force10_ssh.py +++ b/netmiko/dell/dell_force10_ssh.py @@ -7,7 +7,7 @@ class DellForce10SSH(CiscoSSHConnection): def save_config( self, - cmd: str = "copy running-configuration startup-configuration", + cmd: str = "write memory", confirm: bool = False, confirm_response: str = "", ) -> str: From 9a00c7e9dd24af899ebf9c2e94aff4665d0df92c Mon Sep 17 00:00:00 2001 From: Baptiste Jonglez <30461003+jonglezb@users.noreply.github.com> Date: Fri, 13 Jan 2023 02:07:02 +0100 Subject: [PATCH 26/70] Improve performance for Dell force10 and OS10 devices (#3069) --- netmiko/dell/dell_force10_ssh.py | 18 ++++++++++++++++++ netmiko/dell/dell_os10_ssh.py | 18 ++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/netmiko/dell/dell_force10_ssh.py b/netmiko/dell/dell_force10_ssh.py index e91278680..245ac273f 100644 --- a/netmiko/dell/dell_force10_ssh.py +++ b/netmiko/dell/dell_force10_ssh.py @@ -5,6 +5,24 @@ class DellForce10SSH(CiscoSSHConnection): """Dell Force10 Driver - supports DNOS9.""" + def session_preparation(self) -> None: + """Prepare the session after the connection has been established.""" + self._test_channel_read(pattern=r"[>#]") + self.set_base_prompt() + self.set_terminal_width() + self.disable_paging() + + def check_config_mode( + self, + check_string: str = ")#", + pattern: str = r"[>#]", + force_regex: bool = False, + ) -> bool: + """ + Checks if the device is in configuration mode or not. + """ + return super().check_config_mode(check_string=check_string, pattern=pattern) + def save_config( self, cmd: str = "write memory", diff --git a/netmiko/dell/dell_os10_ssh.py b/netmiko/dell/dell_os10_ssh.py index 4c2ed0d52..e6427eb47 100644 --- a/netmiko/dell/dell_os10_ssh.py +++ b/netmiko/dell/dell_os10_ssh.py @@ -10,6 +10,24 @@ class DellOS10SSH(CiscoSSHConnection): """Dell EMC Networking OS10 Driver - supports dellos10.""" + def session_preparation(self) -> None: + """Prepare the session after the connection has been established.""" + self._test_channel_read(pattern=r"[>#]") + self.set_base_prompt() + self.set_terminal_width() + self.disable_paging() + + def check_config_mode( + self, + check_string: str = ")#", + pattern: str = r"[>#]", + force_regex: bool = False, + ) -> bool: + """ + Checks if the device is in configuration mode or not. + """ + return super().check_config_mode(check_string=check_string, pattern=pattern) + def save_config( self, cmd: str = "copy running-configuration startup-configuration", From c04e437cc1b7f40a083633389c3853670a0b078e Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Thu, 12 Jan 2023 18:12:55 -0700 Subject: [PATCH 27/70] Minor fix to check_config_mode argument (#3082) --- netmiko/cisco_base_connection.py | 4 +++- netmiko/dell/dell_force10_ssh.py | 4 +++- netmiko/dell/dell_os10_ssh.py | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/netmiko/cisco_base_connection.py b/netmiko/cisco_base_connection.py index 896f60ec0..d62dc4f3c 100644 --- a/netmiko/cisco_base_connection.py +++ b/netmiko/cisco_base_connection.py @@ -38,7 +38,9 @@ def check_config_mode( Cisco IOS devices abbreviate the prompt at 20 chars in config mode """ - return super().check_config_mode(check_string=check_string, pattern=pattern) + return super().check_config_mode( + check_string=check_string, pattern=pattern, force_regex=force_regex + ) def config_mode( self, diff --git a/netmiko/dell/dell_force10_ssh.py b/netmiko/dell/dell_force10_ssh.py index 245ac273f..babc8bee1 100644 --- a/netmiko/dell/dell_force10_ssh.py +++ b/netmiko/dell/dell_force10_ssh.py @@ -21,7 +21,9 @@ def check_config_mode( """ Checks if the device is in configuration mode or not. """ - return super().check_config_mode(check_string=check_string, pattern=pattern) + return super().check_config_mode( + check_string=check_string, pattern=pattern, force_regex=force_regex + ) def save_config( self, diff --git a/netmiko/dell/dell_os10_ssh.py b/netmiko/dell/dell_os10_ssh.py index e6427eb47..5ed6605ac 100644 --- a/netmiko/dell/dell_os10_ssh.py +++ b/netmiko/dell/dell_os10_ssh.py @@ -26,7 +26,9 @@ def check_config_mode( """ Checks if the device is in configuration mode or not. """ - return super().check_config_mode(check_string=check_string, pattern=pattern) + return super().check_config_mode( + check_string=check_string, pattern=pattern, force_regex=force_regex + ) def save_config( self, From d8c8399ef1882c0f58bc0758ac053e320b0e77c6 Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Fri, 13 Jan 2023 09:04:30 -0700 Subject: [PATCH 28/70] Fix oneos terminal width issue (#3080) Co-authored-by: mwallraf --- netmiko/oneaccess/oneaccess_oneos.py | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/netmiko/oneaccess/oneaccess_oneos.py b/netmiko/oneaccess/oneaccess_oneos.py index 8e902888d..c6acc6b6c 100644 --- a/netmiko/oneaccess/oneaccess_oneos.py +++ b/netmiko/oneaccess/oneaccess_oneos.py @@ -1,5 +1,4 @@ """Netmiko driver for OneAccess ONEOS""" -import time from typing import Any from netmiko.cisco_base_connection import CiscoBaseConnection @@ -14,13 +13,21 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: def session_preparation(self) -> None: """Prepare connection - disable paging""" - self._test_channel_read() - self.set_base_prompt() - self.set_terminal_width(command="stty columns 255", pattern="stty") + + self._test_channel_read(pattern=r"[>#]") self.disable_paging(command="term len 0") - # Clear the read buffer - time.sleep(0.3 * self.global_delay_factor) - self.clear_buffer() + + # try ONEOS6 command first - fallback to ONEOS5 if it fails + self.set_terminal_width(command="screen-width 512", cmd_verify=True) + output = self._test_channel_read(pattern=r"[>#]") + if "error" in output.lower(): + self.set_terminal_width(command="stty columns 255", cmd_verify=True) + else: + # ONEOS6 uses different enter + self.RETURN = "\n" + + self._test_channel_read(pattern=r"[>#]") + self.set_base_prompt() def save_config( self, cmd: str = "write mem", confirm: bool = False, confirm_response: str = "" From b3fa17b6568cd86dd7f75bbdb3e8508412c1829a Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Fri, 13 Jan 2023 12:18:13 -0700 Subject: [PATCH 29/70] Updated Adva drivers (#3079) Co-authored-by: Guy Chilton --- netmiko/adva/__init__.py | 8 ++ netmiko/adva/adva_aos_fsp_150_f2.py | 69 ++++++++++++++ netmiko/adva/adva_aos_fsp_150_f3.py | 141 ++++++++++++++++++++++++++++ netmiko/ssh_dispatcher.py | 3 + 4 files changed, 221 insertions(+) create mode 100644 netmiko/adva/__init__.py create mode 100644 netmiko/adva/adva_aos_fsp_150_f2.py create mode 100644 netmiko/adva/adva_aos_fsp_150_f3.py diff --git a/netmiko/adva/__init__.py b/netmiko/adva/__init__.py new file mode 100644 index 000000000..dd6368b08 --- /dev/null +++ b/netmiko/adva/__init__.py @@ -0,0 +1,8 @@ +"""Adva Device Drivers""" +from netmiko.adva.adva_aos_fsp_150_f2 import AdvaAosFsp150F2SSH +from netmiko.adva.adva_aos_fsp_150_f3 import AdvaAosFsp150F3SSH + +__all__ = [ + "AdvaAosFsp150F2SSH", + "AdvaAosFsp150F3SSH", +] diff --git a/netmiko/adva/adva_aos_fsp_150_f2.py b/netmiko/adva/adva_aos_fsp_150_f2.py new file mode 100644 index 000000000..f53a2e753 --- /dev/null +++ b/netmiko/adva/adva_aos_fsp_150_f2.py @@ -0,0 +1,69 @@ +"""Adva support.""" +import re +from typing import Any, Optional +from netmiko.no_enable import NoEnable +from netmiko.no_config import NoConfig +from netmiko.cisco_base_connection import CiscoSSHConnection + + +class AdvaAosFsp150F2SSH(NoEnable, NoConfig, CiscoSSHConnection): + """ + Adva AOS FSP 15P F2 SSH Base Class + + F2 AOS applies for the following FSP150 device types: FSP150CC-825 + + These devices don't have an Enable Mode or a Config Mode. + + Configuration Should be applied via the configuration context: + + home + configure snmp + add v3user guytest noauth-nopriv + home + + configure system + home + + Use of home to return to CLI root context, home cannot be used from root + LAB-R2-825-1:--> home + Unrecognized command + """ + + def __init__(self, **kwargs: Any) -> None: + """ + \n for default enter causes some issues with the Adva so setting to \r. + """ + if kwargs.get("default_enter") is None: + kwargs["default_enter"] = "\r" + return super().__init__(**kwargs) + + def session_preparation(self) -> None: + """ + Prepare the session after the connection has been established. + + Handles devices with security prompt enabled + """ + data = self.read_until_pattern( + pattern=r"Do you wish to continue \[Y\|N\]-->|-->" + ) + if "continue" in data: + self.write_channel(f"y{self.RETURN}") + else: + self.write_channel(f"help?{self.RETURN}") + data = self.read_until_pattern(pattern=r"-->") + self.set_base_prompt() + + def set_base_prompt( + self, + pri_prompt_terminator: str = r"(^.+?)-->$", + alt_prompt_terminator: str = "", + delay_factor: float = 1.0, + pattern: Optional[str] = None, + ) -> str: + + prompt = self.find_prompt() + match = re.search(pri_prompt_terminator, prompt) + if not match: + raise ValueError(f"Router prompt not found: {repr(prompt)}") + self.base_prompt = match[1] + return self.base_prompt diff --git a/netmiko/adva/adva_aos_fsp_150_f3.py b/netmiko/adva/adva_aos_fsp_150_f3.py new file mode 100644 index 000000000..db1741a56 --- /dev/null +++ b/netmiko/adva/adva_aos_fsp_150_f3.py @@ -0,0 +1,141 @@ +"""Adva F3 Device Support""" +import re +from typing import ( + Optional, + Sequence, + TextIO, + Iterator, + Union, + Any, +) + +from netmiko.no_enable import NoEnable +from netmiko.no_config import NoConfig +from netmiko.cisco_base_connection import CiscoSSHConnection + + +class AdvaAosFsp150F3SSH(NoEnable, NoConfig, CiscoSSHConnection): + """ + Adva AOS FSP 15P F3 SSH Base Class + + F3 AOS applies for the following FSP150 device types: + FSP150CC-XG21x + FSP150CC-GE11x + FSP150CC-GE20x + + These devices don't have a Enable Mode or Config Mode + + Configuration should be applied via the configuration context: + + home + configure communication + add ip-route nexthop xxxxxxx + + # + #CLI:PORT N2A SHAPER-1-1-1-3-0 Create + # + home + network-element ne-1 + + Use of home to return to CLI root context + """ + + def __init__(self, **kwargs: Any) -> None: + """ + \n for default enter causes some issues with the Adva so setting to \r. + """ + if kwargs.get("default_enter") is None: + kwargs["default_enter"] = "\r" + return super().__init__(**kwargs) + + def session_preparation(self) -> None: + """ + Prepare the session after the connection has been established. + Handles devices with security prompt enabled + """ + data = self.read_until_pattern( + pattern=r"Do you wish to continue \[Y\|N\]-->|-->" + ) + + if "continue" in data: + self.write_channel(f"y{self.RETURN}") + else: + self.write_channel(f"home{self.RETURN}") + + data = self.read_until_pattern(pattern=r"-->") + self.set_base_prompt() + self.disable_paging(cmd_verify=False) + + def disable_paging( + self, + command: str = "", + delay_factor: Optional[float] = None, + cmd_verify: bool = True, + pattern: Optional[str] = None, + ) -> str: + """Method to disable paging on the Adva, multi-line configuration command required.""" + + if command: + raise ValueError( + f"Unexpected value for command in disable_paging() method: {command}" + ) + + commands = [ + "configure user-security", + "config-user {self.username} cli-paging disabled", + "home", + ] + return self.send_config_set( + commands, delay_factor=delay_factor, cmd_verify=cmd_verify + ) + + def set_base_prompt( + self, + pri_prompt_terminator: str = r"(^.+?)-->$", + alt_prompt_terminator: str = "", + delay_factor: float = 1.0, + pattern: Optional[str] = None, + ) -> str: + + prompt = self.find_prompt() + match = re.search(pri_prompt_terminator, prompt) + if not match: + raise ValueError(f"Router prompt not found: {repr(prompt)}") + self.base_prompt = match[1] + return self.base_prompt + + def send_config_set( + self, + config_commands: Union[str, Sequence[str], Iterator[str], TextIO, None] = None, + *, + exit_config_mode: bool = True, + read_timeout: Optional[float] = 2.0, + delay_factor: Optional[float] = None, + max_loops: Optional[int] = None, + strip_prompt: bool = False, + strip_command: bool = False, + config_mode_command: Optional[str] = None, + cmd_verify: bool = True, + enter_config_mode: bool = True, + error_pattern: str = "", + terminator: str = r"#", + bypass_commands: Optional[ + str + ] = r"(?:add\s+\S+\s+\S+\s+\S+\s+(?:superuser|crypto|maintenance|provisioning|retrieve|test-user)|secret.*)", + ) -> str: + + return super().send_config_set( + config_commands=config_commands, + exit_config_mode=exit_config_mode, + read_timeout=read_timeout, + delay_factor=delay_factor, + max_loops=max_loops, + strip_prompt=strip_prompt, + strip_command=strip_command, + config_mode_command=config_mode_command, + cmd_verify=cmd_verify, + enter_config_mode=enter_config_mode, + error_pattern=error_pattern, + terminator=terminator, + bypass_commands=bypass_commands, + ) diff --git a/netmiko/ssh_dispatcher.py b/netmiko/ssh_dispatcher.py index a64e562f2..cab686f0b 100755 --- a/netmiko/ssh_dispatcher.py +++ b/netmiko/ssh_dispatcher.py @@ -6,6 +6,7 @@ from netmiko.a10 import A10SSH from netmiko.accedian import AccedianSSH from netmiko.adtran import AdtranOSSSH, AdtranOSTelnet +from netmiko.adva import AdvaAosFsp150F3SSH, AdvaAosFsp150F2SSH from netmiko.alcatel import AlcatelAosSSH from netmiko.allied_telesis import AlliedTelesisAwplusSSH from netmiko.arista import AristaSSH, AristaTelnet @@ -137,6 +138,8 @@ "a10": A10SSH, "accedian": AccedianSSH, "adtran_os": AdtranOSSSH, + "adva_fsp150f2": AdvaAosFsp150F2SSH, + "adva_fsp150f3": AdvaAosFsp150F3SSH, "alcatel_aos": AlcatelAosSSH, "alcatel_sros": NokiaSrosSSH, "allied_telesis_awplus": AlliedTelesisAwplusSSH, From 9352cf27f5fd5d823ad56531aed17013897e9b46 Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Thu, 19 Jan 2023 18:48:50 -0700 Subject: [PATCH 30/70] Updated Hillstone StoneOS Driver (#3084) Co-authored-by: Linn15 --- PLATFORMS.md | 5 ++++ netmiko/cisco_base_connection.py | 6 +---- netmiko/hillstone/__init__.py | 3 +++ netmiko/hillstone/hillstone.py | 43 ++++++++++++++++++++++++++++++ netmiko/ssh_dispatcher.py | 2 ++ tests/etc/commands.yml.example | 11 ++++++++ tests/etc/responses.yml.example | 9 +++++++ tests/etc/test_devices.yml.example | 6 +++++ 8 files changed, 80 insertions(+), 5 deletions(-) create mode 100644 netmiko/hillstone/__init__.py create mode 100644 netmiko/hillstone/hillstone.py diff --git a/PLATFORMS.md b/PLATFORMS.md index 61b2189ce..c8486debe 100644 --- a/PLATFORMS.md +++ b/PLATFORMS.md @@ -17,6 +17,7 @@ - 6Wind - Adtran OS +- Adva AOS FSP150 - Alcatel AOS6/AOS8 - Apresia Systems AEOS - AudioCodes Gateways & Controllers @@ -34,6 +35,7 @@ - Extreme TierraOS - Extreme VDX (Brocade) - Extreme VSP (Avaya) +- Hillstone StoneOS - HPE Comware7 - Huawei - Huawei OLT @@ -105,6 +107,8 @@ - a10 - accedian - adtran_os +- adva_fsp150f2 +- adva_fsp150f3 - alcatel_aos - alcatel_sros - allied_telesis_awplus @@ -172,6 +176,7 @@ - fortinet - generic - generic_termserver +- hillstone_stoneos - hp_comware - hp_procurve - huawei diff --git a/netmiko/cisco_base_connection.py b/netmiko/cisco_base_connection.py index d62dc4f3c..9a2fee6ef 100644 --- a/netmiko/cisco_base_connection.py +++ b/netmiko/cisco_base_connection.py @@ -33,11 +33,7 @@ def exit_enable_mode(self, exit_command: str = "disable") -> str: def check_config_mode( self, check_string: str = ")#", pattern: str = "", force_regex: bool = False ) -> bool: - """ - Checks if the device is in configuration mode or not. - - Cisco IOS devices abbreviate the prompt at 20 chars in config mode - """ + """Checks if the device is in configuration mode or not.""" return super().check_config_mode( check_string=check_string, pattern=pattern, force_regex=force_regex ) diff --git a/netmiko/hillstone/__init__.py b/netmiko/hillstone/__init__.py new file mode 100644 index 000000000..5dfdec9e7 --- /dev/null +++ b/netmiko/hillstone/__init__.py @@ -0,0 +1,3 @@ +from netmiko.hillstone.hillstone import HillstoneStoneosSSH + +__all__ = ["HillstoneStoneosSSH"] diff --git a/netmiko/hillstone/hillstone.py b/netmiko/hillstone/hillstone.py new file mode 100644 index 000000000..fcc65844f --- /dev/null +++ b/netmiko/hillstone/hillstone.py @@ -0,0 +1,43 @@ +from netmiko.no_enable import NoEnable +from netmiko.cisco_base_connection import CiscoBaseConnection + + +class HillstoneStoneosBase(NoEnable, CiscoBaseConnection): + def session_preparation(self) -> None: + """Prepare the session after the connection has been established.""" + self._test_channel_read(pattern=r"#") + self.set_base_prompt() + self.disable_paging(command="terminal length 0") + + def config_mode( + self, + config_command: str = "configure", + pattern: str = "", + re_flags: int = 0, + ) -> str: + """Enter configuration mode.""" + return super().config_mode( + config_command=config_command, pattern=pattern, re_flags=re_flags + ) + + def check_config_mode( + self, check_string: str = ")#", pattern: str = "#", force_regex: bool = False + ) -> bool: + """ + Checks if the device is in configuration mode or not. + """ + return super().check_config_mode( + check_string=check_string, pattern=pattern, force_regex=force_regex + ) + + def save_config( + self, cmd: str = "save all", confirm: bool = True, confirm_response: str = "y" + ) -> str: + """Saves Config Using Copy Run Start""" + return super().save_config( + cmd=cmd, confirm=confirm, confirm_response=confirm_response + ) + + +class HillstoneStoneosSSH(HillstoneStoneosBase): + pass diff --git a/netmiko/ssh_dispatcher.py b/netmiko/ssh_dispatcher.py index cab686f0b..2a8818494 100755 --- a/netmiko/ssh_dispatcher.py +++ b/netmiko/ssh_dispatcher.py @@ -125,6 +125,7 @@ from netmiko.supermicro import SmciSwitchSmisSSH from netmiko.supermicro import SmciSwitchSmisTelnet from netmiko.zyxel import ZyxelSSH +from netmiko.hillstone import HillstoneStoneosSSH if TYPE_CHECKING: from netmiko.base_connection import BaseConnection @@ -210,6 +211,7 @@ "fortinet": FortinetSSH, "generic": GenericSSH, "generic_termserver": TerminalServerSSH, + "hillstone_stoneos": HillstoneStoneosSSH, "hp_comware": HPComwareSSH, "hp_procurve": HPProcurveSSH, "huawei": HuaweiSSH, diff --git a/tests/etc/commands.yml.example b/tests/etc/commands.yml.example index f431a3d39..e2e99ac59 100644 --- a/tests/etc/commands.yml.example +++ b/tests/etc/commands.yml.example @@ -549,3 +549,14 @@ audiocode_shell: save_config_confirm: False save_config_response: 'Configuration has been saved' config_mode_command: "conf" # only use if needed + +hillstone_stoneos: + version: "show version" + basic: "show interface" + extended_output: "show configuration" + config: + - "clock zone china" + config_verification: "show configuration | inc clock" + save_config_cmd: 'save all' + save_config_confirm: True + save_config_response: 'Saving configuration is finished' diff --git a/tests/etc/responses.yml.example b/tests/etc/responses.yml.example index 8c072518a..c3b25a817 100644 --- a/tests/etc/responses.yml.example +++ b/tests/etc/responses.yml.example @@ -396,3 +396,12 @@ audiocode_shell: save_config: 'Configuration has been saved' cmd_response_init: "Test_String1" cmd_response_final: "Test_String2" + +hillstone: + base_prompt: SG-6000 + router_prompt : SG-6000# + enable_prompt: SG-6000# + interface_ip: 192.168.100.234 + version_banner: "Hillstone Networks StoneOS software" + multiple_line_output: "" + save_config: 'Saving configuration is finished' diff --git a/tests/etc/test_devices.yml.example b/tests/etc/test_devices.yml.example index 38a6f92cd..70839d115 100644 --- a/tests/etc/test_devices.yml.example +++ b/tests/etc/test_devices.yml.example @@ -289,3 +289,9 @@ audiocode_shell: ip: 192.168.1.3 username: TestUser password: TestPass + +hillstone: + device_type: hillstone_stoneos + ip: 192.168.100.234 + username: hillstone + password: Hillstone From bd1422ddba8e3acac6a396ffa31c37ef4f2c3a51 Mon Sep 17 00:00:00 2001 From: guychilton77 Date: Thu, 26 Jan 2023 02:40:54 +0000 Subject: [PATCH 31/70] Update adva_aos_fsp_150_f3.py (#3092) disable_paging command missing f string for the username. --- netmiko/adva/adva_aos_fsp_150_f3.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netmiko/adva/adva_aos_fsp_150_f3.py b/netmiko/adva/adva_aos_fsp_150_f3.py index db1741a56..193f7e55b 100644 --- a/netmiko/adva/adva_aos_fsp_150_f3.py +++ b/netmiko/adva/adva_aos_fsp_150_f3.py @@ -82,7 +82,7 @@ def disable_paging( commands = [ "configure user-security", - "config-user {self.username} cli-paging disabled", + f"config-user {self.username} cli-paging disabled", "home", ] return self.send_config_set( From afa65403e0dc72eef4ebbc446837393ee33be410 Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Fri, 27 Jan 2023 10:47:21 -0800 Subject: [PATCH 32/70] Improve Fortinet driver (#3091) Contributions to this PR were also made by: @Gatorjosh14 --- netmiko/fortinet/fortinet_ssh.py | 222 +++++++++++++++++++++++-------- 1 file changed, 169 insertions(+), 53 deletions(-) diff --git a/netmiko/fortinet/fortinet_ssh.py b/netmiko/fortinet/fortinet_ssh.py index 02afa5187..ec7fd3057 100644 --- a/netmiko/fortinet/fortinet_ssh.py +++ b/netmiko/fortinet/fortinet_ssh.py @@ -3,10 +3,13 @@ from typing import Optional from netmiko.no_config import NoConfig +from netmiko.no_enable import NoEnable from netmiko.cisco_base_connection import CiscoSSHConnection -class FortinetSSH(NoConfig, CiscoSSHConnection): +class FortinetSSH(NoConfig, NoEnable, CiscoSSHConnection): + prompt_pattern = r"[#$]" + def _modify_connection_params(self) -> None: """Modify connection parameters prior to SSH connection.""" paramiko_transport = getattr(paramiko, "Transport") @@ -17,19 +20,84 @@ def _modify_connection_params(self) -> None: "diffie-hellman-group1-sha1", ) + def _try_session_preparation(self, force_data: bool = False) -> None: + super()._try_session_preparation(force_data=force_data) + def session_preparation(self) -> None: """Prepare the session after the connection has been established.""" - data = self._test_channel_read(pattern="to accept|[#$]") + data = self._test_channel_read(pattern=f"to accept|{self.prompt_pattern}") # If "set post-login-banner enable" is set it will require you to press 'a' # to accept the banner before you login. This will accept if it occurs if "to accept" in data: self.write_channel("a\r") - self._test_channel_read(pattern=r"[#$]") + self._test_channel_read(pattern=self.prompt_pattern) - self.set_base_prompt(alt_prompt_terminator="$") + self.set_base_prompt() + self._vdoms = self._vdoms_enabled() + self._os_version = self._determine_os_version() + # Retain how the 'output mode' was original configured. + self._original_output_mode = self._get_output_mode() + self._output_mode = self._original_output_mode self.disable_paging() + def set_base_prompt( + self, + pri_prompt_terminator: str = r"#", + alt_prompt_terminator: str = r"$", + delay_factor: float = 1.0, + pattern: Optional[str] = None, + ) -> str: + if not pattern: + pattern = self.prompt_pattern + return super().set_base_prompt( + pri_prompt_terminator=pri_prompt_terminator, + alt_prompt_terminator=alt_prompt_terminator, + delay_factor=delay_factor, + pattern=pattern, + ) + + def find_prompt( + self, delay_factor: float = 1.0, pattern: Optional[str] = None + ) -> str: + if not pattern: + pattern = self.prompt_pattern + return super().find_prompt( + delay_factor=delay_factor, + pattern=pattern, + ) + + def _vdoms_enabled(self) -> bool: + """Determine whether virtual domains are enabled or not.""" + check_command = "get system status | grep Virtual" + output = self._send_command_str( + check_command, expect_string=self.prompt_pattern + ) + return bool( + re.search(r"Virtual domain configuration: (multiple|enable)", output) + ) + + def _config_global(self) -> str: + """Enter 'config global' mode, raise a ValueError exception on failure.""" + try: + return self._send_command_str( + "config global", expect_string=self.prompt_pattern + ) + except Exception: + msg = """ +Netmiko may require 'config global' access to properly disable output paging. +Alternatively you can try configuring 'configure system console -> set output standard'. +""" + raise ValueError(msg) + + def _exit_config_global(self) -> str: + """Exit 'config global' mode.""" + try: + return self._send_command_str("end", expect_string=self.prompt_pattern) + except Exception: + msg = "Unable to properly exit 'config global' mode." + raise ValueError(msg) + def disable_paging( self, command: str = "terminal length 0", @@ -38,63 +106,111 @@ def disable_paging( pattern: Optional[str] = None, ) -> str: """Disable paging is only available with specific roles so it may fail.""" - check_command = "get system status | grep Virtual" - output = self._send_command_timing_str(check_command) - self.allow_disable_global = True - self.vdoms = False - self._output_mode = "more" - - if re.search(r"Virtual domain configuration: (multiple|enable)", output): - self.vdoms = True - vdom_additional_command = "config global" - output = self._send_command_timing_str(vdom_additional_command, last_read=3) - if "Command fail" in output: - self.allow_disable_global = False - if self.remote_conn is not None: - self.remote_conn.close() - self.establish_connection(width=100, height=1000) - - new_output = "" - if self.allow_disable_global: - self._retrieve_output_mode() - disable_paging_commands = [ - "config system console", - "set output standard", - "end", - ] - # There is an extra 'end' required if in multi-vdoms are enabled - if self.vdoms: - disable_paging_commands.append("end") - outputlist = [ - self._send_command_timing_str(command, last_read=3) - for command in disable_paging_commands - ] - # Should test output is valid - new_output = self.RETURN.join(outputlist) - return output + new_output + output = "" + if self._output_mode == "standard": + # Do nothing - already correct. + return "" - def _retrieve_output_mode(self) -> None: - """Save the state of the output mode so it can be reset at the end of the session.""" - reg_mode = re.compile(r"output\s+:\s+(?P.*)\s+\n") - output = self._send_command_str("get system console") - result_mode_re = reg_mode.search(output) + if self._vdoms: + output += self._config_global() + disable_paging_commands = [ + "config system console", + "set output standard", + "end", + ] + output += self.send_multiline( + disable_paging_commands, expect_string=self.prompt_pattern + ) + self._output_mode = "standard" + + if self._vdoms: + output += self._exit_config_global() + return output + + def _determine_os_version(self) -> str: + check_command = "get system status | grep Version" + output = self._send_command_str( + check_command, expect_string=self.prompt_pattern + ) + if re.search("^Version: .* (v[78]\.).*$", output, flags=re.M): + return "v7_or_later" + elif re.search("^Version: .* (v[654]\.).*$", output, flags=re.M): + return "v6_or_earlier" + else: + raise ValueError("Unexpected FortiOS Version encountered.") + + def _get_output_mode_v6(self) -> str: + """ + FortiOS V6 and earlier. + Retrieve the current output mode. + """ + if self._vdoms: + self._config_global() + + self._send_command_str( + "config system console", expect_string=self.prompt_pattern + ) + output = self._send_command_str( + "show full-configuration", expect_string=self.prompt_pattern + ) + self._send_command_str("end", expect_string=self.prompt_pattern) + + if self._vdoms: + self._exit_config_global() + + pattern = r"^\s+set output (?P\S+)\s*$" + result_mode_re = re.search(pattern, output, flags=re.M) if result_mode_re: result_mode = result_mode_re.group("mode").strip() if result_mode in ["more", "standard"]: - self._output_mode = result_mode + return result_mode + + raise ValueError("Unable to determine the output mode on the Fortinet device.") + + def _get_output_mode_v7(self) -> str: + """ + FortiOS V7 and later. + Retrieve the current output mode. + """ + output = self._send_command_str( + "get system console", expect_string=self.prompt_pattern + ) + + pattern = r"output\s+:\s+(?P\S+)\s*$" + result_mode_re = re.search(pattern, output, flags=re.M) + if result_mode_re: + result_mode = result_mode_re.group("mode").strip() + if result_mode in ["more", "standard"]: + return result_mode + + raise ValueError("Unable to determine the output mode on the Fortinet device.") + + def _get_output_mode(self) -> str: + """Save the state of the output mode so it can be reset at the end of the session.""" + + # Fortios Version6 does not support 'get system console' + if "v6" in self._os_version: + return self._get_output_mode_v6() + elif "v7" in self._os_version: + return self._get_output_mode_v7() + else: + raise ValueError("Unexpected FortiOS Version encountered.") def cleanup(self, command: str = "exit") -> None: """Re-enable paging globally.""" - if self.allow_disable_global: - # Return paging state - output_mode_cmd = f"set output {self._output_mode}" - enable_paging_commands = ["config system console", output_mode_cmd, "end"] - if self.vdoms: - enable_paging_commands.insert(0, "config global") - # Should test output is valid - for command in enable_paging_commands: - self.send_command_timing(command) + output = "" + if self._original_output_mode == "more": + if self._vdoms: + output += self._config_global() + commands = [ + "config system console", + "set output more", + "end", + ] + output += self.send_multiline(commands, expect_string=self.prompt_pattern) + if self._vdoms: + self._exit_config_global() return super().cleanup(command=command) def save_config( From 3eac020a1f11518f44341e39737766f10a66e0c8 Mon Sep 17 00:00:00 2001 From: Mark Wine Date: Mon, 30 Jan 2023 15:32:23 -0800 Subject: [PATCH 33/70] Updated BaseConnection docstrings (#3095) --- netmiko/base_connection.py | 37 +++++++++++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/netmiko/base_connection.py b/netmiko/base_connection.py index 445c97fef..feeafd652 100644 --- a/netmiko/base_connection.py +++ b/netmiko/base_connection.py @@ -240,7 +240,7 @@ def __init__( :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: Connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -248,6 +248,8 @@ def __init__( :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Float to override read_timeout parameter. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -257,6 +259,8 @@ def __init__( :param response_return: Character(s) to use in normalized return data to represent enter key (default: \n) + :param serial_settings: Dictionary of settings for pySerial. + :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor to select smallest of global and specific. Sets default global_delay_factor to .1 (default: True) @@ -696,13 +700,16 @@ def read_channel_timing( Once no new data is read wait `last_read` amount of time (one last read). As long as no new data, then return data. - `read_timeout` is an absolute timer for how long to keep reading (which presupposes - we are still getting new data). - Setting `read_timeout` to zero will cause read_channel_timing to never expire based on an absolute timeout. It will only complete based on timeout based on their being no new data. + :param last_read: Time waited after end of data + + :param read_timeout: maximum time to wait looking for pattern. Will raise ReadTimeout. + A read_timeout value of 0 will cause the loop to never timeout (i.e. it will keep + reading indefinitely until pattern is detected. + :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. :param max_loops: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. @@ -829,6 +836,8 @@ def telnet_login( :param username_pattern: Pattern used to identify the username prompt + :param pwd_pattern: Pattern used to identify the pwd prompt + :param delay_factor: See __init__: global_delay_factor :param max_loops: Controls the wait time in conjunction with the delay_factor @@ -1220,6 +1229,10 @@ def disable_paging( :param command: Device command to disable pagination of output :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. + + :param cmd_verify: Verify command echo before proceeding (default: True). + + :param pattern: Pattern to terminate reading of channel """ if delay_factor is not None: warnings.warn(DELAY_FACTOR_DEPR_SIMPLE_MSG, DeprecationWarning) @@ -1443,6 +1456,12 @@ def send_command_timing( :param command_string: The command to be executed on the remote device. + :param last_read: Time waited after end of data + + :param read_timeout: maximum time to wait looking for pattern. Will raise ReadTimeout. + A read_timeout value of 0 will cause the loop to never timeout (i.e. it will keep + reading indefinitely until pattern is detected. + :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. :param max_loops: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. @@ -1589,10 +1608,16 @@ def send_command( :param expect_string: Regular expression pattern to use for determining end of output. If left blank will default to being based on router prompt. + :param read_timeout: maximum time to wait looking for pattern. Will raise ReadTimeout. + A read_timeout value of 0 will cause the loop to never timeout (i.e. it will keep + reading indefinitely until pattern is detected. + :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. :param max_loops: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. + :param auto_find_prompt: Use find_prompt() to override base prompt + :param strip_prompt: Remove the trailing router prompt from the output (default: True). :param strip_command: Remove the echo of the command from the output (default: True). @@ -1980,6 +2005,10 @@ def check_config_mode( :param pattern: Pattern to terminate reading of channel :type pattern: str + + :param force_regex: Use regex to find check_string in output + :type force_regex: bool + """ self.write_channel(self.RETURN) # You can encounter an issue here (on router name changes) prefer delay-based solution From ed630aafbd0e4e95ddd0f849778f1bb50d67bcd9 Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Mon, 30 Jan 2023 17:06:18 -0800 Subject: [PATCH 34/70] Docstring Updates (#3097) --- netmiko/base_connection.py | 38 +++++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/netmiko/base_connection.py b/netmiko/base_connection.py index feeafd652..f00241b22 100644 --- a/netmiko/base_connection.py +++ b/netmiko/base_connection.py @@ -240,7 +240,7 @@ def __init__( :param ssh_config_file: File name of OpenSSH configuration file. - :param conn_timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -248,7 +248,9 @@ def __init__( :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). - :param read_timeout_override: Float to override read_timeout parameter. + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt @@ -259,7 +261,7 @@ def __init__( :param response_return: Character(s) to use in normalized return data to represent enter key (default: \n) - :param serial_settings: Dictionary of settings for pySerial. + :param serial_settings: Dictionary of settings for use with serial port (pySerial). :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor to select smallest of global and specific. Sets default global_delay_factor to .1 @@ -697,18 +699,23 @@ def read_channel_timing( """Read data on the channel based on timing delays. General pattern is keep reading until no new data is read. + Once no new data is read wait `last_read` amount of time (one last read). As long as no new data, then return data. Setting `read_timeout` to zero will cause read_channel_timing to never expire based - on an absolute timeout. It will only complete based on timeout based on their being + on an absolute timeout. It will only complete based on timeout based on there being no new data. - :param last_read: Time waited after end of data + :param last_read: Amount of time to wait before performing one last read (under the + idea that we should be done reading at this point and there should be no new + data). - :param read_timeout: maximum time to wait looking for pattern. Will raise ReadTimeout. - A read_timeout value of 0 will cause the loop to never timeout (i.e. it will keep - reading indefinitely until pattern is detected. + :param read_timeout: Absolute timer for how long Netmiko should keep reading data on + the channel (waiting for there to be no new data). Will raise ReadTimeout if this + timeout expires. A read_timeout value of 0 will cause the read-loop to never timeout + (i.e. Netmiko will keep reading indefinitely until there is no new data and last_read + passes). :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. @@ -1458,9 +1465,11 @@ def send_command_timing( :param last_read: Time waited after end of data - :param read_timeout: maximum time to wait looking for pattern. Will raise ReadTimeout. - A read_timeout value of 0 will cause the loop to never timeout (i.e. it will keep - reading indefinitely until pattern is detected. + :param read_timeout: Absolute timer for how long Netmiko should keep reading data on + the channel (waiting for there to be no new data). Will raise ReadTimeout if this + timeout expires. A read_timeout value of 0 will cause the read-loop to never timeout + (i.e. Netmiko will keep reading indefinitely until there is no new data and last_read + passes). :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. @@ -1608,9 +1617,8 @@ def send_command( :param expect_string: Regular expression pattern to use for determining end of output. If left blank will default to being based on router prompt. - :param read_timeout: maximum time to wait looking for pattern. Will raise ReadTimeout. - A read_timeout value of 0 will cause the loop to never timeout (i.e. it will keep - reading indefinitely until pattern is detected. + :param read_timeout: Maximum time to wait looking for pattern. Will raise ReadTimeout + if timeout is exceeded. :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. @@ -2006,7 +2014,7 @@ def check_config_mode( :param pattern: Pattern to terminate reading of channel :type pattern: str - :param force_regex: Use regex to find check_string in output + :param force_regex: Use regular expression pattern to find check_string in output :type force_regex: bool """ From e3b38a3ba6ee35fd9f546c0c747aba7ab11bf085 Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Wed, 1 Feb 2023 13:47:19 -0800 Subject: [PATCH 35/70] Improve Palo-Alto login behavior due to fast echo of set cli scripting command (#3101) --- netmiko/paloalto/paloalto_panos.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/netmiko/paloalto/paloalto_panos.py b/netmiko/paloalto/paloalto_panos.py index 0b829d508..acbb08746 100644 --- a/netmiko/paloalto/paloalto_panos.py +++ b/netmiko/paloalto/paloalto_panos.py @@ -67,7 +67,9 @@ def session_preparation(self) -> None: self.ansi_escape_codes = True self._test_channel_read(pattern=r"[>#]") self.disable_paging( - command="set cli scripting-mode on", cmd_verify=False, pattern=r" on" + command="set cli scripting-mode on", + cmd_verify=False, + pattern=r"[>#].*mode on", ) self.set_terminal_width( command="set cli terminal width 500", pattern=r"set cli terminal width 500" From 2ad9040735e682e7875f81da31456e8c1c8269e3 Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Mon, 6 Feb 2023 17:09:10 -0800 Subject: [PATCH 36/70] Handle post-login yes/no acceptance on Huawei OLT (#3099) --- netmiko/huawei/huawei_smartax.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/netmiko/huawei/huawei_smartax.py b/netmiko/huawei/huawei_smartax.py index 982d02344..12d02f90e 100644 --- a/netmiko/huawei/huawei_smartax.py +++ b/netmiko/huawei/huawei_smartax.py @@ -9,10 +9,18 @@ class HuaweiSmartAXSSH(CiscoBaseConnection): """Supports Huawei SmartAX and OLT.""" + prompt_pattern = r"[>$]" + def session_preparation(self) -> None: """Prepare the session after the connection has been established.""" self.ansi_escape_codes = True - self._test_channel_read(pattern=r"[>#]") + + data = self._test_channel_read(pattern=f"YES.NO|{self.prompt_pattern}") + # Huawei OLT might put a post-login banner that requires 'yes' to be sent. + if re.search(r"YES.NO", data): + self.write_channel(f"yes{self.RETURN}") + self._test_channel_read(pattern=self.prompt_pattern) + self.set_base_prompt() self._disable_smart_interaction() self.disable_paging() From fdd9fb0d905e0798836c6fe9112f68e288c34872 Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Mon, 6 Feb 2023 17:09:57 -0800 Subject: [PATCH 37/70] Extreme ERS handle additional 'Press ENTER to continue' msg (#3100) --- netmiko/extreme/extreme_ers_ssh.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/netmiko/extreme/extreme_ers_ssh.py b/netmiko/extreme/extreme_ers_ssh.py index 796a628c6..88962c66f 100644 --- a/netmiko/extreme/extreme_ers_ssh.py +++ b/netmiko/extreme/extreme_ers_ssh.py @@ -33,7 +33,8 @@ def special_login_handler(self, delay_factor: float = 1.0) -> None: uname = "sername" password = "ssword" cntl_y = "Ctrl-Y" - pattern = rf"(?:{uname}|{password}|{cntl_y}|{self.prompt_pattern})" + enter_msg = "Press ENTER to continue" + pattern = rf"(?:{uname}|{password}|{cntl_y}|{enter_msg}|{self.prompt_pattern})" while True: new_data = self.read_until_pattern(pattern=pattern, read_timeout=25.0) output += new_data @@ -42,6 +43,8 @@ def special_login_handler(self, delay_factor: float = 1.0) -> None: if cntl_y in new_data: self.write_channel(CTRL_Y) + elif "Press ENTER" in new_data: + self.write_channel(self.RETURN) elif uname in new_data: assert isinstance(self.username, str) self.write_channel(self.username + self.RETURN) From ca054665486fcf1d944fd4d54a9eb59d6de24d52 Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Tue, 7 Feb 2023 20:53:39 -0800 Subject: [PATCH 38/70] Upgrade to mypy 1.0.0 to fix CI-CD breakage (#3106) --- PLATFORMS.md | 1 + license-dependencies.txt | 1 - netmiko/audiocode/audiocode_ssh.py | 4 ++-- netmiko/base_connection.py | 7 ------- netmiko/nokia/nokia_sros.py | 8 ++++---- netmiko/session_log.py | 2 +- netmiko/sixwind/sixwind_os.py | 2 +- netmiko/terminal_server/terminal_server.py | 2 +- netmiko/watchguard/fireware_ssh.py | 2 +- requirements-dev.txt | 4 ++-- setup.py | 1 - 11 files changed, 13 insertions(+), 21 deletions(-) diff --git a/PLATFORMS.md b/PLATFORMS.md index c8486debe..19e6291be 100644 --- a/PLATFORMS.md +++ b/PLATFORMS.md @@ -279,3 +279,4 @@ - juniper_junos - linux - nokia_sros + diff --git a/license-dependencies.txt b/license-dependencies.txt index b93a2158d..aedb5db56 100644 --- a/license-dependencies.txt +++ b/license-dependencies.txt @@ -10,7 +10,6 @@ Name Version License ------------- ------- ------- paramiko 2.10.4 GNU Library or Lesser General Public License (LGPL) scp 0.14.4 GNU Library or Lesser General Public License (LGPL) -tenacity 8.0.1 Apache Software License ntc-templates 3.0.0 Apache Software License pyserial 3.5 BSD License PyYAML 6.0 MIT License diff --git a/netmiko/audiocode/audiocode_ssh.py b/netmiko/audiocode/audiocode_ssh.py index 06ec4780e..10074ef73 100644 --- a/netmiko/audiocode/audiocode_ssh.py +++ b/netmiko/audiocode/audiocode_ssh.py @@ -372,7 +372,7 @@ def send_config_set( enter_config_mode: bool = True, error_pattern: str = "", terminator: str = r"/.*>", - bypass_commands: str = None, + bypass_commands: Optional[str] = None, ) -> str: return super().send_config_set( @@ -447,7 +447,7 @@ def _enable_paging( delay_factor: Optional[float] = 0.5, ) -> str: """Not supported""" - pass + return "" def strip_command(self, command_string: str, output: str) -> str: # Support for Audiocode_Shell. diff --git a/netmiko/base_connection.py b/netmiko/base_connection.py index f00241b22..a3d78da92 100644 --- a/netmiko/base_connection.py +++ b/netmiko/base_connection.py @@ -39,7 +39,6 @@ import paramiko import serial -from tenacity import retry, stop_after_attempt, wait_exponential import warnings from netmiko import log @@ -1294,12 +1293,6 @@ def set_terminal_width( output = self.read_until_prompt() return output - # Retry by sleeping .33 and then double sleep until 5 attempts (.33, .66, 1.32, etc) - @retry( - wait=wait_exponential(multiplier=0.33, min=0, max=5), - stop=stop_after_attempt(5), - reraise=True, - ) def set_base_prompt( self, pri_prompt_terminator: str = "#", diff --git a/netmiko/nokia/nokia_sros.py b/netmiko/nokia/nokia_sros.py index 5ddda2b9b..f56daeafd 100644 --- a/netmiko/nokia/nokia_sros.py +++ b/netmiko/nokia/nokia_sros.py @@ -175,13 +175,13 @@ def save_config(self, *args: Any, **kwargs: Any) -> str: def send_config_set( self, config_commands: Union[str, Sequence[str], Iterator[str], TextIO, None] = None, - exit_config_mode: bool = None, + exit_config_mode: bool = True, **kwargs: Any, ) -> str: """Model driven CLI requires you not exit from configuration mode.""" - if exit_config_mode is None: - # Set to False if model-driven CLI - exit_config_mode = False if "@" in self.base_prompt else True + # Set to False if model-driven CLI + if "@" in self.base_prompt: + exit_config_mode = False return super().send_config_set( config_commands=config_commands, exit_config_mode=exit_config_mode, **kwargs ) diff --git a/netmiko/session_log.py b/netmiko/session_log.py index 77c82c4cb..9ead1316c 100644 --- a/netmiko/session_log.py +++ b/netmiko/session_log.py @@ -10,7 +10,7 @@ def __init__( buffered_io: Optional[io.BufferedIOBase] = None, file_mode: str = "write", file_encoding: str = "utf-8", - no_log: Dict[str, Any] = None, + no_log: Optional[Dict[str, Any]] = None, record_writes: bool = False, ) -> None: if no_log is None: diff --git a/netmiko/sixwind/sixwind_os.py b/netmiko/sixwind/sixwind_os.py index da3f55a4c..8fdaa37ea 100644 --- a/netmiko/sixwind/sixwind_os.py +++ b/netmiko/sixwind/sixwind_os.py @@ -18,7 +18,7 @@ def session_preparation(self) -> None: def disable_paging(self, *args: Any, **kwargs: Any) -> str: """6WIND requires no-pager at the end of command, not implemented at this time.""" - pass + return "" def set_base_prompt( self, diff --git a/netmiko/terminal_server/terminal_server.py b/netmiko/terminal_server/terminal_server.py index f059b6153..b8335b045 100644 --- a/netmiko/terminal_server/terminal_server.py +++ b/netmiko/terminal_server/terminal_server.py @@ -27,7 +27,7 @@ class TerminalServerTelnet(TerminalServer): def telnet_login(self, *args: Any, **kwargs: Any) -> str: # Disable automatic handling of username and password when using terminal server driver - pass + return "" def std_login(self, *args: Any, **kwargs: Any) -> str: return super().telnet_login(*args, **kwargs) diff --git a/netmiko/watchguard/fireware_ssh.py b/netmiko/watchguard/fireware_ssh.py index 1ef7585cb..b94f120c1 100644 --- a/netmiko/watchguard/fireware_ssh.py +++ b/netmiko/watchguard/fireware_ssh.py @@ -41,4 +41,4 @@ def exit_config_mode(self, exit_config: str = "exit", pattern: str = "#") -> str def save_config(self, *args: Any, **kwargs: Any) -> str: """No save config on Watchguard.""" - pass + return "" diff --git a/requirements-dev.txt b/requirements-dev.txt index ec90032a4..05cc1dead 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,6 +1,6 @@ black==22.3.0 -mypy==0.961 -mypy-extensions==0.4.3 +mypy==1.0.0 +mypy-extensions==1.0.0 PyYAML==5.4.1 pytest==7.1.2 # Issue with build failure on pyflakes 2.5.0 diff --git a/setup.py b/setup.py index 57234b661..8fbacf7bc 100644 --- a/setup.py +++ b/setup.py @@ -50,7 +50,6 @@ def find_version(*file_paths): "setuptools>=38.4.0", "paramiko>=2.7.2", "scp>=0.13.3", - "tenacity", "pyyaml>=5.3", "textfsm", "ntc-templates>=2.0.0", From c2826fc1c1686f2ee563e430c8bc51ebb4604d1a Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Wed, 8 Feb 2023 09:09:20 -0800 Subject: [PATCH 39/70] Fixing issue with parenthesis and capture-group overlap for audiocode (#3105) With code contributions from @Gatorjosh14 --- .github/workflows/commit.yaml | 3 +- netmiko/audiocode/audiocode_ssh.py | 44 ++++++++++++++++++++++-------- netmiko/base_connection.py | 13 +++++++++ 3 files changed, 48 insertions(+), 12 deletions(-) diff --git a/.github/workflows/commit.yaml b/.github/workflows/commit.yaml index 76aa0852b..40ba79f58 100644 --- a/.github/workflows/commit.yaml +++ b/.github/workflows/commit.yaml @@ -6,7 +6,7 @@ env: FORCE_COLOR: 1 jobs: std_tests: - runs-on: ubuntu-latest + runs-on: "ubuntu-latest" strategy: max-parallel: 4 matrix: @@ -38,6 +38,7 @@ jobs: - name: Run mypy run: | + mypy --version mypy ./netmiko/ - name: Run Tests diff --git a/netmiko/audiocode/audiocode_ssh.py b/netmiko/audiocode/audiocode_ssh.py index 10074ef73..4beeb6a43 100644 --- a/netmiko/audiocode/audiocode_ssh.py +++ b/netmiko/audiocode/audiocode_ssh.py @@ -8,6 +8,8 @@ class AudiocodeBase(BaseConnection): """Common Methods for AudioCode Drivers.""" + prompt_pattern = r"[>#]" + def __init__(self, *args: Any, **kwargs: Any) -> None: default_enter = kwargs.get("default_enter") kwargs["default_enter"] = "\r" if default_enter is None else default_enter @@ -15,7 +17,7 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: def session_preparation(self) -> None: """Prepare the session after the connection has been established.""" - self._test_channel_read(pattern=r"[>#]") + self._test_channel_read(pattern=self.prompt_pattern) self.set_base_prompt() self.disable_paging() # Clear the read buffer @@ -26,20 +28,41 @@ def set_base_prompt( pri_prompt_terminator: str = "#", alt_prompt_terminator: str = ">", delay_factor: float = 1.0, - pattern: Optional[str] = r"\*?(#|>)", + pattern: Optional[str] = None, ) -> str: - return super().set_base_prompt( - pri_prompt_terminator=pri_prompt_terminator, - alt_prompt_terminator=alt_prompt_terminator, - delay_factor=delay_factor, - pattern=pattern, - ) + + if pattern is None: + pattern = rf"\*?{self.prompt_pattern}" + + if pattern: + prompt = self.find_prompt(delay_factor=delay_factor, pattern=pattern) + else: + prompt = self.find_prompt(delay_factor=delay_factor) + + if not prompt[-1] in (pri_prompt_terminator, alt_prompt_terminator): + raise ValueError(f"Router prompt not found: {repr(prompt)}") + + # If all we have is the 'terminator' just use that :-( + if len(prompt) == 1: + self.base_prompt = prompt + else: + # Audiocode will return a prompt with * in it in certain + # situations: 'MYDEVICE*#', strip this off. + if "*#" in prompt or "*>" in prompt: + self.base_prompt = prompt[:-2] + else: + # Strip off trailing terminator + self.base_prompt = prompt[:-1] + return self.base_prompt def find_prompt( self, delay_factor: float = 1.0, - pattern: Optional[str] = r"\*?(#|>)", + pattern: Optional[str] = None, ) -> str: + + if pattern is None: + pattern = rf"\*?{self.prompt_pattern}" return super().find_prompt( delay_factor=delay_factor, pattern=pattern, @@ -53,11 +76,10 @@ def _enable_paging( def check_config_mode( self, - check_string: str = r"(\)#|\)\*#)", + check_string: str = r"(?:\)#|\)\*#)", pattern: str = r"..#", force_regex: bool = True, ) -> bool: - return super().check_config_mode( check_string=check_string, pattern=pattern, force_regex=force_regex ) diff --git a/netmiko/base_connection.py b/netmiko/base_connection.py index a3d78da92..38b5edd8e 100644 --- a/netmiko/base_connection.py +++ b/netmiko/base_connection.py @@ -648,8 +648,21 @@ def read_until_pattern( start_time = time.time() # if read_timeout == 0 or 0.0 keep reading indefinitely while (time.time() - start_time < read_timeout) or (not read_timeout): + output += self.read_channel() + if re.search(pattern, output, flags=re_flags): + if "(" in pattern and not "(?:" in pattern: + msg = f""" +Parenthesis found in pattern. + +pattern: {pattern}\n + +This can be problemtic when used in read_until_pattern(). + +You should ensure that you use either non-capture groups i.e. '(?:' or that the +parenthesis completely wrap the pattern '(pattern)'""" + log.debug(msg) results = re.split(pattern, output, maxsplit=1, flags=re_flags) # The string matched by pattern must be retained in the output string. From f42d8fc3a436b3bd98e67ec28319e7165fb5b0d3 Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Fri, 10 Feb 2023 14:35:38 -0800 Subject: [PATCH 40/70] Unit tests macos (#3107) ------ GitHub Copilot ------ Fix some tests so that they work in MacOS --- tests/unit/test_connection.py | 16 ++++++++++------ tests/unit/test_utilities.py | 4 ++++ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/tests/unit/test_connection.py b/tests/unit/test_connection.py index 303bfec85..9e6727168 100755 --- a/tests/unit/test_connection.py +++ b/tests/unit/test_connection.py @@ -1,4 +1,5 @@ #!/usr/bin/env python +import sys import pytest import logging from netmiko import ConnectHandler, ConnLogOnly, ConnUnify @@ -6,6 +7,8 @@ from netmiko import NetmikoTimeoutException from netmiko import ConnectionException +is_linux = sys.platform == "linux" or sys.platform == "linux2" +skip_if_not_linux = pytest.mark.skipif(not is_linux, reason="Test Requires Linux") # Fictional devices that will fail DEVICE1 = { @@ -24,9 +27,13 @@ } -def test_connecthandler(): +@skip_if_not_linux +def test_connecthandler_auth_failure(): with pytest.raises(NetmikoAuthenticationException): - net_connect = ConnectHandler(**DEVICE1) + net_connect = ConnectHandler(**DEVICE1) # noqa + + +def test_connecthandler_timeout(): with pytest.raises(NetmikoTimeoutException): net_connect = ConnectHandler(**DEVICE2) # noqa @@ -35,14 +42,11 @@ def test_connlogonly(caplog): log_level = logging.INFO log_file = "my_output.log" - net_connect = ConnLogOnly(log_file=log_file, log_level=log_level, **DEVICE1) - assert net_connect is None net_connect = ConnLogOnly(log_file=log_file, log_level=log_level, **DEVICE2) assert net_connect is None assert "ERROR" in caplog.text - assert caplog.text.count("ERROR") == 2 - assert "Authentication failure" in caplog.text + assert caplog.text.count("ERROR") == 1 assert "was unable to reach the provided host and port" in caplog.text diff --git a/tests/unit/test_utilities.py b/tests/unit/test_utilities.py index c9e67becf..8687a1acf 100755 --- a/tests/unit/test_utilities.py +++ b/tests/unit/test_utilities.py @@ -12,6 +12,9 @@ RELATIVE_RESOURCE_FOLDER = join(dirname(dirname(relpath(__file__))), "etc") CONFIG_FILENAME = join(RESOURCE_FOLDER, ".netmiko.yml") +is_linux = sys.platform == "linux" or sys.platform == "linux2" +skip_if_not_linux = pytest.mark.skipif(not is_linux, reason="Test Requires Linux") + def test_load_yaml_file(): """Read a YAML file successfully""" @@ -202,6 +205,7 @@ def test_textfsm_w_index(): assert result == [{"model": "4500"}] +@skip_if_not_linux def test_ntc_templates_discovery(): """ Verify Netmiko uses proper ntc-templates: From 09d9528def0f07937a6708c70626a8a1782913c8 Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Sun, 12 Feb 2023 21:03:04 -0800 Subject: [PATCH 41/70] Convert over to use Poetry (#3111) --- .github/workflows/commit.yaml | 108 +- netmiko/__init__.py | 2 +- poetry.lock | 3193 +++++++++++++++++++++++++++++++++ pyproject.toml | 49 + 4 files changed, 3322 insertions(+), 30 deletions(-) create mode 100644 poetry.lock create mode 100644 pyproject.toml diff --git a/.github/workflows/commit.yaml b/.github/workflows/commit.yaml index 40ba79f58..1b50a7bfe 100644 --- a/.github/workflows/commit.yaml +++ b/.github/workflows/commit.yaml @@ -1,50 +1,100 @@ ---- -name: build -on: [push, pull_request] +--- +name: Netmiko +on: [push,pull_request] env: environment: gh_actions FORCE_COLOR: 1 + jobs: - std_tests: - runs-on: "ubuntu-latest" + linters: + name: linters strategy: - max-parallel: 4 matrix: - python-version: ["3.7", "3.8", "3.9", "3.10.9"] + python-version: [ '3.10' ] + platform: [ubuntu-latest] + runs-on: ${{ matrix.platform }} steps: - - name: Checkout repository - uses: actions/checkout@v3 - - - name: Setup Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 + - uses: actions/checkout@v2 + - name: Setup python + uses: actions/setup-python@v1 with: python-version: ${{ matrix.python-version }} + architecture: x64 - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install -r requirements.txt - pip install -r requirements-dev.txt - pip install -r requirements-genie.txt + - name: Install Poetry + uses: snok/install-poetry@v1 + with: + version: 1.3.2 + virtualenvs-create: true + virtualenvs-in-project: true - - name: Run black + - name: Cache Poetry virtualenv + uses: actions/cache@v2 + id: cached-poetry-dependencies + with: + path: .venv + key: venv-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }} + + - name: Install Dependencies + run: poetry install + if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true' + + - name: Run pylama run: | - black --check . + poetry run pylama . - - name: Run linter + - name: Run black run: | - pylama . + poetry run black --check . - name: Run mypy run: | - mypy --version - mypy ./netmiko/ + poetry run mypy --version + poetry run mypy ./netmiko/ + + pytest: + name: Testing on Python ${{ matrix.python-version }} (${{ matrix.platform}}) + defaults: + run: + shell: bash + strategy: + matrix: + python-version: [ '3.7', '3.8', '3.9', '3.10' ] + platform: [ubuntu-latest] + + runs-on: ${{ matrix.platform }} + steps: + - uses: actions/checkout@v2 + - name: Setup python + uses: actions/setup-python@v1 + with: + python-version: ${{ matrix.python-version }} + architecture: x64 + + - name: Install Poetry + uses: snok/install-poetry@v1 + with: + version: 1.3.2 + virtualenvs-create: true + virtualenvs-in-project: true + + - name: Cache Poetry virtualenv + uses: actions/cache@v2 + id: cached-poetry-dependencies + with: + path: .venv + key: venv-${{ matrix.python-version }}-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }} + if: ${{ matrix.platform != 'windows-latest' }} # windows hangs if using a cached venv + + - name: Install Dependencies + run: poetry install + if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true' - name: Run Tests run: | - pytest -v -s tests/test_import_netmiko.py - pytest -v -s tests/unit/test_base_connection.py - pytest -v -s tests/unit/test_utilities.py - pytest -v -s tests/unit/test_ssh_autodetect.py - pytest -v -s tests/unit/test_connection.py + poetry run pytest -v -s tests/test_import_netmiko.py + poetry run pytest -v -s tests/unit/test_base_connection.py + poetry run pytest -v -s tests/unit/test_utilities.py + poetry run pytest -v -s tests/unit/test_ssh_autodetect.py + poetry run pytest -v -s tests/unit/test_connection.py diff --git a/netmiko/__init__.py b/netmiko/__init__.py index ce656cf8b..2c171c754 100644 --- a/netmiko/__init__.py +++ b/netmiko/__init__.py @@ -1,6 +1,6 @@ import sys -__version__ = "4.1.2" +__version__ = "4.1.3" PY_MAJ_VER = 3 PY_MIN_VER = 7 MIN_PYTHON_VER = "3.7" diff --git a/poetry.lock b/poetry.lock new file mode 100644 index 000000000..65cef8bcf --- /dev/null +++ b/poetry.lock @@ -0,0 +1,3193 @@ +# This file is automatically @generated by Poetry and should not be changed by hand. + +[[package]] +name = "aiofiles" +version = "23.1.0" +description = "File support for asyncio." +category = "dev" +optional = false +python-versions = ">=3.7,<4.0" +files = [ + {file = "aiofiles-23.1.0-py3-none-any.whl", hash = "sha256:9312414ae06472eb6f1d163f555e466a23aed1c8f60c30cccf7121dba2e53eb2"}, + {file = "aiofiles-23.1.0.tar.gz", hash = "sha256:edd247df9a19e0db16534d4baaf536d6609a43e1de5401d7a4c1c148753a1635"}, +] + +[[package]] +name = "aiohttp" +version = "3.8.4" +description = "Async http client/server framework (asyncio)" +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ + {file = "aiohttp-3.8.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5ce45967538fb747370308d3145aa68a074bdecb4f3a300869590f725ced69c1"}, + {file = "aiohttp-3.8.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b744c33b6f14ca26b7544e8d8aadff6b765a80ad6164fb1a430bbadd593dfb1a"}, + {file = "aiohttp-3.8.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1a45865451439eb320784918617ba54b7a377e3501fb70402ab84d38c2cd891b"}, + {file = "aiohttp-3.8.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a86d42d7cba1cec432d47ab13b6637bee393a10f664c425ea7b305d1301ca1a3"}, + {file = "aiohttp-3.8.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ee3c36df21b5714d49fc4580247947aa64bcbe2939d1b77b4c8dcb8f6c9faecc"}, + {file = "aiohttp-3.8.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:176a64b24c0935869d5bbc4c96e82f89f643bcdf08ec947701b9dbb3c956b7dd"}, + {file = "aiohttp-3.8.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c844fd628851c0bc309f3c801b3a3d58ce430b2ce5b359cd918a5a76d0b20cb5"}, + {file = "aiohttp-3.8.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5393fb786a9e23e4799fec788e7e735de18052f83682ce2dfcabaf1c00c2c08e"}, + {file = "aiohttp-3.8.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e4b09863aae0dc965c3ef36500d891a3ff495a2ea9ae9171e4519963c12ceefd"}, + {file = "aiohttp-3.8.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:adfbc22e87365a6e564c804c58fc44ff7727deea782d175c33602737b7feadb6"}, + {file = "aiohttp-3.8.4-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:147ae376f14b55f4f3c2b118b95be50a369b89b38a971e80a17c3fd623f280c9"}, + {file = "aiohttp-3.8.4-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:eafb3e874816ebe2a92f5e155f17260034c8c341dad1df25672fb710627c6949"}, + {file = "aiohttp-3.8.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c6cc15d58053c76eacac5fa9152d7d84b8d67b3fde92709195cb984cfb3475ea"}, + {file = "aiohttp-3.8.4-cp310-cp310-win32.whl", hash = "sha256:59f029a5f6e2d679296db7bee982bb3d20c088e52a2977e3175faf31d6fb75d1"}, + {file = "aiohttp-3.8.4-cp310-cp310-win_amd64.whl", hash = "sha256:fe7ba4a51f33ab275515f66b0a236bcde4fb5561498fe8f898d4e549b2e4509f"}, + {file = "aiohttp-3.8.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3d8ef1a630519a26d6760bc695842579cb09e373c5f227a21b67dc3eb16cfea4"}, + {file = "aiohttp-3.8.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b3f2e06a512e94722886c0827bee9807c86a9f698fac6b3aee841fab49bbfb4"}, + {file = "aiohttp-3.8.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3a80464982d41b1fbfe3154e440ba4904b71c1a53e9cd584098cd41efdb188ef"}, + {file = "aiohttp-3.8.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b631e26df63e52f7cce0cce6507b7a7f1bc9b0c501fcde69742130b32e8782f"}, + {file = "aiohttp-3.8.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3f43255086fe25e36fd5ed8f2ee47477408a73ef00e804cb2b5cba4bf2ac7f5e"}, + {file = "aiohttp-3.8.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4d347a172f866cd1d93126d9b239fcbe682acb39b48ee0873c73c933dd23bd0f"}, + {file = "aiohttp-3.8.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a3fec6a4cb5551721cdd70473eb009d90935b4063acc5f40905d40ecfea23e05"}, + {file = "aiohttp-3.8.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:80a37fe8f7c1e6ce8f2d9c411676e4bc633a8462844e38f46156d07a7d401654"}, + {file = "aiohttp-3.8.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d1e6a862b76f34395a985b3cd39a0d949ca80a70b6ebdea37d3ab39ceea6698a"}, + {file = "aiohttp-3.8.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:cd468460eefef601ece4428d3cf4562459157c0f6523db89365202c31b6daebb"}, + {file = "aiohttp-3.8.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:618c901dd3aad4ace71dfa0f5e82e88b46ef57e3239fc7027773cb6d4ed53531"}, + {file = "aiohttp-3.8.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:652b1bff4f15f6287550b4670546a2947f2a4575b6c6dff7760eafb22eacbf0b"}, + {file = "aiohttp-3.8.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80575ba9377c5171407a06d0196b2310b679dc752d02a1fcaa2bc20b235dbf24"}, + {file = "aiohttp-3.8.4-cp311-cp311-win32.whl", hash = "sha256:bbcf1a76cf6f6dacf2c7f4d2ebd411438c275faa1dc0c68e46eb84eebd05dd7d"}, + {file = "aiohttp-3.8.4-cp311-cp311-win_amd64.whl", hash = "sha256:6e74dd54f7239fcffe07913ff8b964e28b712f09846e20de78676ce2a3dc0bfc"}, + {file = "aiohttp-3.8.4-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:880e15bb6dad90549b43f796b391cfffd7af373f4646784795e20d92606b7a51"}, + {file = "aiohttp-3.8.4-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb96fa6b56bb536c42d6a4a87dfca570ff8e52de2d63cabebfd6fb67049c34b6"}, + {file = "aiohttp-3.8.4-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4a6cadebe132e90cefa77e45f2d2f1a4b2ce5c6b1bfc1656c1ddafcfe4ba8131"}, + {file = "aiohttp-3.8.4-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f352b62b45dff37b55ddd7b9c0c8672c4dd2eb9c0f9c11d395075a84e2c40f75"}, + {file = "aiohttp-3.8.4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ab43061a0c81198d88f39aaf90dae9a7744620978f7ef3e3708339b8ed2ef01"}, + {file = "aiohttp-3.8.4-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c9cb1565a7ad52e096a6988e2ee0397f72fe056dadf75d17fa6b5aebaea05622"}, + {file = "aiohttp-3.8.4-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:1b3ea7edd2d24538959c1c1abf97c744d879d4e541d38305f9bd7d9b10c9ec41"}, + {file = "aiohttp-3.8.4-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:7c7837fe8037e96b6dd5cfcf47263c1620a9d332a87ec06a6ca4564e56bd0f36"}, + {file = "aiohttp-3.8.4-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:3b90467ebc3d9fa5b0f9b6489dfb2c304a1db7b9946fa92aa76a831b9d587e99"}, + {file = "aiohttp-3.8.4-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:cab9401de3ea52b4b4c6971db5fb5c999bd4260898af972bf23de1c6b5dd9d71"}, + {file = "aiohttp-3.8.4-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:d1f9282c5f2b5e241034a009779e7b2a1aa045f667ff521e7948ea9b56e0c5ff"}, + {file = "aiohttp-3.8.4-cp36-cp36m-win32.whl", hash = "sha256:5e14f25765a578a0a634d5f0cd1e2c3f53964553a00347998dfdf96b8137f777"}, + {file = "aiohttp-3.8.4-cp36-cp36m-win_amd64.whl", hash = "sha256:4c745b109057e7e5f1848c689ee4fb3a016c8d4d92da52b312f8a509f83aa05e"}, + {file = "aiohttp-3.8.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:aede4df4eeb926c8fa70de46c340a1bc2c6079e1c40ccf7b0eae1313ffd33519"}, + {file = "aiohttp-3.8.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ddaae3f3d32fc2cb4c53fab020b69a05c8ab1f02e0e59665c6f7a0d3a5be54f"}, + {file = "aiohttp-3.8.4-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4eb3b82ca349cf6fadcdc7abcc8b3a50ab74a62e9113ab7a8ebc268aad35bb9"}, + {file = "aiohttp-3.8.4-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9bcb89336efa095ea21b30f9e686763f2be4478f1b0a616969551982c4ee4c3b"}, + {file = "aiohttp-3.8.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c08e8ed6fa3d477e501ec9db169bfac8140e830aa372d77e4a43084d8dd91ab"}, + {file = "aiohttp-3.8.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c6cd05ea06daca6ad6a4ca3ba7fe7dc5b5de063ff4daec6170ec0f9979f6c332"}, + {file = "aiohttp-3.8.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b7a00a9ed8d6e725b55ef98b1b35c88013245f35f68b1b12c5cd4100dddac333"}, + {file = "aiohttp-3.8.4-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:de04b491d0e5007ee1b63a309956eaed959a49f5bb4e84b26c8f5d49de140fa9"}, + {file = "aiohttp-3.8.4-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:40653609b3bf50611356e6b6554e3a331f6879fa7116f3959b20e3528783e699"}, + {file = "aiohttp-3.8.4-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:dbf3a08a06b3f433013c143ebd72c15cac33d2914b8ea4bea7ac2c23578815d6"}, + {file = "aiohttp-3.8.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:854f422ac44af92bfe172d8e73229c270dc09b96535e8a548f99c84f82dde241"}, + {file = "aiohttp-3.8.4-cp37-cp37m-win32.whl", hash = "sha256:aeb29c84bb53a84b1a81c6c09d24cf33bb8432cc5c39979021cc0f98c1292a1a"}, + {file = "aiohttp-3.8.4-cp37-cp37m-win_amd64.whl", hash = "sha256:db3fc6120bce9f446d13b1b834ea5b15341ca9ff3f335e4a951a6ead31105480"}, + {file = "aiohttp-3.8.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:fabb87dd8850ef0f7fe2b366d44b77d7e6fa2ea87861ab3844da99291e81e60f"}, + {file = "aiohttp-3.8.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:91f6d540163f90bbaef9387e65f18f73ffd7c79f5225ac3d3f61df7b0d01ad15"}, + {file = "aiohttp-3.8.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:d265f09a75a79a788237d7f9054f929ced2e69eb0bb79de3798c468d8a90f945"}, + {file = "aiohttp-3.8.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3d89efa095ca7d442a6d0cbc755f9e08190ba40069b235c9886a8763b03785da"}, + {file = "aiohttp-3.8.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4dac314662f4e2aa5009977b652d9b8db7121b46c38f2073bfeed9f4049732cd"}, + {file = "aiohttp-3.8.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe11310ae1e4cd560035598c3f29d86cef39a83d244c7466f95c27ae04850f10"}, + {file = "aiohttp-3.8.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6ddb2a2026c3f6a68c3998a6c47ab6795e4127315d2e35a09997da21865757f8"}, + {file = "aiohttp-3.8.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e75b89ac3bd27d2d043b234aa7b734c38ba1b0e43f07787130a0ecac1e12228a"}, + {file = "aiohttp-3.8.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6e601588f2b502c93c30cd5a45bfc665faaf37bbe835b7cfd461753068232074"}, + {file = "aiohttp-3.8.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a5d794d1ae64e7753e405ba58e08fcfa73e3fad93ef9b7e31112ef3c9a0efb52"}, + {file = "aiohttp-3.8.4-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:a1f4689c9a1462f3df0a1f7e797791cd6b124ddbee2b570d34e7f38ade0e2c71"}, + {file = "aiohttp-3.8.4-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:3032dcb1c35bc330134a5b8a5d4f68c1a87252dfc6e1262c65a7e30e62298275"}, + {file = "aiohttp-3.8.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8189c56eb0ddbb95bfadb8f60ea1b22fcfa659396ea36f6adcc521213cd7b44d"}, + {file = "aiohttp-3.8.4-cp38-cp38-win32.whl", hash = "sha256:33587f26dcee66efb2fff3c177547bd0449ab7edf1b73a7f5dea1e38609a0c54"}, + {file = "aiohttp-3.8.4-cp38-cp38-win_amd64.whl", hash = "sha256:e595432ac259af2d4630008bf638873d69346372d38255774c0e286951e8b79f"}, + {file = "aiohttp-3.8.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5a7bdf9e57126dc345b683c3632e8ba317c31d2a41acd5800c10640387d193ed"}, + {file = "aiohttp-3.8.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:22f6eab15b6db242499a16de87939a342f5a950ad0abaf1532038e2ce7d31567"}, + {file = "aiohttp-3.8.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:7235604476a76ef249bd64cb8274ed24ccf6995c4a8b51a237005ee7a57e8643"}, + {file = "aiohttp-3.8.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ea9eb976ffdd79d0e893869cfe179a8f60f152d42cb64622fca418cd9b18dc2a"}, + {file = "aiohttp-3.8.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:92c0cea74a2a81c4c76b62ea1cac163ecb20fb3ba3a75c909b9fa71b4ad493cf"}, + {file = "aiohttp-3.8.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:493f5bc2f8307286b7799c6d899d388bbaa7dfa6c4caf4f97ef7521b9cb13719"}, + {file = "aiohttp-3.8.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a63f03189a6fa7c900226e3ef5ba4d3bd047e18f445e69adbd65af433add5a2"}, + {file = "aiohttp-3.8.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10c8cefcff98fd9168cdd86c4da8b84baaa90bf2da2269c6161984e6737bf23e"}, + {file = "aiohttp-3.8.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bca5f24726e2919de94f047739d0a4fc01372801a3672708260546aa2601bf57"}, + {file = "aiohttp-3.8.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:03baa76b730e4e15a45f81dfe29a8d910314143414e528737f8589ec60cf7391"}, + {file = "aiohttp-3.8.4-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:8c29c77cc57e40f84acef9bfb904373a4e89a4e8b74e71aa8075c021ec9078c2"}, + {file = "aiohttp-3.8.4-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:03543dcf98a6619254b409be2d22b51f21ec66272be4ebda7b04e6412e4b2e14"}, + {file = "aiohttp-3.8.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:17b79c2963db82086229012cff93ea55196ed31f6493bb1ccd2c62f1724324e4"}, + {file = "aiohttp-3.8.4-cp39-cp39-win32.whl", hash = "sha256:34ce9f93a4a68d1272d26030655dd1b58ff727b3ed2a33d80ec433561b03d67a"}, + {file = "aiohttp-3.8.4-cp39-cp39-win_amd64.whl", hash = "sha256:41a86a69bb63bb2fc3dc9ad5ea9f10f1c9c8e282b471931be0268ddd09430b04"}, + {file = "aiohttp-3.8.4.tar.gz", hash = "sha256:bf2e1a9162c1e441bf805a1fd166e249d574ca04e03b34f97e2928769e91ab5c"}, +] + +[package.dependencies] +aiosignal = ">=1.1.2" +async-timeout = ">=4.0.0a3,<5.0" +asynctest = {version = "0.13.0", markers = "python_version < \"3.8\""} +attrs = ">=17.3.0" +charset-normalizer = ">=2.0,<4.0" +frozenlist = ">=1.1.1" +multidict = ">=4.5,<7.0" +typing-extensions = {version = ">=3.7.4", markers = "python_version < \"3.8\""} +yarl = ">=1.0,<2.0" + +[package.extras] +speedups = ["Brotli", "aiodns", "cchardet"] + +[[package]] +name = "aiohttp-swagger" +version = "1.0.16" +description = "Swagger API Documentation builder for aiohttp server" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "aiohttp-swagger-1.0.16.tar.gz", hash = "sha256:48e5d9e9a9ece13afd67ab37209c01fbd2b691694559b08141e4a89f8a28b126"}, + {file = "aiohttp_swagger-1.0.16-py3-none-any.whl", hash = "sha256:96ada287da3fb4ed47c0a9853d565ba500a17e4230bcaafda0e8bb66974787e9"}, +] + +[package.dependencies] +aiohttp = ">=2.3.10" +jinja2 = ">=2.11.2" +pyYAML = ">=5.1" + +[package.extras] +performance = ["ujson"] + +[[package]] +name = "aiosignal" +version = "1.3.1" +description = "aiosignal: a list of registered asynchronous callbacks" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "aiosignal-1.3.1-py3-none-any.whl", hash = "sha256:f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17"}, + {file = "aiosignal-1.3.1.tar.gz", hash = "sha256:54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc"}, +] + +[package.dependencies] +frozenlist = ">=1.1.0" + +[[package]] +name = "async-lru" +version = "1.0.3" +description = "Simple lru_cache for asyncio" +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ + {file = "async-lru-1.0.3.tar.gz", hash = "sha256:c2cb9b2915eb14e6cf3e717154b40f715bf90e596d73623677affd0d1fbcd32a"}, + {file = "async_lru-1.0.3-py3-none-any.whl", hash = "sha256:ea692c303feb6211ff260d230dae1583636f13e05c9ae616eada77855b7f415c"}, +] + +[[package]] +name = "async-timeout" +version = "4.0.2" +description = "Timeout context manager for asyncio programs" +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ + {file = "async-timeout-4.0.2.tar.gz", hash = "sha256:2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15"}, + {file = "async_timeout-4.0.2-py3-none-any.whl", hash = "sha256:8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c"}, +] + +[package.dependencies] +typing-extensions = {version = ">=3.6.5", markers = "python_version < \"3.8\""} + +[[package]] +name = "asynctest" +version = "0.13.0" +description = "Enhance the standard unittest package with features for testing asyncio libraries" +category = "dev" +optional = false +python-versions = ">=3.5" +files = [ + {file = "asynctest-0.13.0-py3-none-any.whl", hash = "sha256:5da6118a7e6d6b54d83a8f7197769d046922a44d2a99c21382f0a6e4fadae676"}, + {file = "asynctest-0.13.0.tar.gz", hash = "sha256:c27862842d15d83e6a34eb0b2866c323880eb3a75e4485b079ea11748fd77fac"}, +] + +[[package]] +name = "atomicwrites" +version = "1.4.1" +description = "Atomic file writes." +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "atomicwrites-1.4.1.tar.gz", hash = "sha256:81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11"}, +] + +[[package]] +name = "attrs" +version = "22.2.0" +description = "Classes Without Boilerplate" +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ + {file = "attrs-22.2.0-py3-none-any.whl", hash = "sha256:29e95c7f6778868dbd49170f98f8818f78f3dc5e0e37c0b1f474e3561b240836"}, + {file = "attrs-22.2.0.tar.gz", hash = "sha256:c9227bfc2f01993c03f68db37d1d15c9690188323c067c641f1a35ca58185f99"}, +] + +[package.extras] +cov = ["attrs[tests]", "coverage-enable-subprocess", "coverage[toml] (>=5.3)"] +dev = ["attrs[docs,tests]"] +docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope.interface"] +tests = ["attrs[tests-no-zope]", "zope.interface"] +tests-no-zope = ["cloudpickle", "cloudpickle", "hypothesis", "hypothesis", "mypy (>=0.971,<0.990)", "mypy (>=0.971,<0.990)", "pympler", "pympler", "pytest (>=4.3.0)", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-mypy-plugins", "pytest-xdist[psutil]", "pytest-xdist[psutil]"] + +[[package]] +name = "bcrypt" +version = "4.0.1" +description = "Modern password hashing for your software and your servers" +category = "main" +optional = false +python-versions = ">=3.6" +files = [ + {file = "bcrypt-4.0.1-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:b1023030aec778185a6c16cf70f359cbb6e0c289fd564a7cfa29e727a1c38f8f"}, + {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:08d2947c490093a11416df18043c27abe3921558d2c03e2076ccb28a116cb6d0"}, + {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0eaa47d4661c326bfc9d08d16debbc4edf78778e6aaba29c1bc7ce67214d4410"}, + {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae88eca3024bb34bb3430f964beab71226e761f51b912de5133470b649d82344"}, + {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:a522427293d77e1c29e303fc282e2d71864579527a04ddcfda6d4f8396c6c36a"}, + {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:fbdaec13c5105f0c4e5c52614d04f0bca5f5af007910daa8b6b12095edaa67b3"}, + {file = "bcrypt-4.0.1-cp36-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:ca3204d00d3cb2dfed07f2d74a25f12fc12f73e606fcaa6975d1f7ae69cacbb2"}, + {file = "bcrypt-4.0.1-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:089098effa1bc35dc055366740a067a2fc76987e8ec75349eb9484061c54f535"}, + {file = "bcrypt-4.0.1-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:e9a51bbfe7e9802b5f3508687758b564069ba937748ad7b9e890086290d2f79e"}, + {file = "bcrypt-4.0.1-cp36-abi3-win32.whl", hash = "sha256:2caffdae059e06ac23fce178d31b4a702f2a3264c20bfb5ff541b338194d8fab"}, + {file = "bcrypt-4.0.1-cp36-abi3-win_amd64.whl", hash = "sha256:8a68f4341daf7522fe8d73874de8906f3a339048ba406be6ddc1b3ccb16fc0d9"}, + {file = "bcrypt-4.0.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf4fa8b2ca74381bb5442c089350f09a3f17797829d958fad058d6e44d9eb83c"}, + {file = "bcrypt-4.0.1-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:67a97e1c405b24f19d08890e7ae0c4f7ce1e56a712a016746c8b2d7732d65d4b"}, + {file = "bcrypt-4.0.1-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b3b85202d95dd568efcb35b53936c5e3b3600c7cdcc6115ba461df3a8e89f38d"}, + {file = "bcrypt-4.0.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cbb03eec97496166b704ed663a53680ab57c5084b2fc98ef23291987b525cb7d"}, + {file = "bcrypt-4.0.1-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:5ad4d32a28b80c5fa6671ccfb43676e8c1cc232887759d1cd7b6f56ea4355215"}, + {file = "bcrypt-4.0.1-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b57adba8a1444faf784394de3436233728a1ecaeb6e07e8c22c8848f179b893c"}, + {file = "bcrypt-4.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:705b2cea8a9ed3d55b4491887ceadb0106acf7c6387699fca771af56b1cdeeda"}, + {file = "bcrypt-4.0.1-pp39-pypy39_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:2b3ac11cf45161628f1f3733263e63194f22664bf4d0c0f3ab34099c02134665"}, + {file = "bcrypt-4.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3100851841186c25f127731b9fa11909ab7b1df6fc4b9f8353f4f1fd952fbf71"}, + {file = "bcrypt-4.0.1.tar.gz", hash = "sha256:27d375903ac8261cfe4047f6709d16f7d18d39b1ec92aaf72af989552a650ebd"}, +] + +[package.extras] +tests = ["pytest (>=3.2.1,!=3.3.0)"] +typecheck = ["mypy"] + +[[package]] +name = "black" +version = "22.3.0" +description = "The uncompromising code formatter." +category = "dev" +optional = false +python-versions = ">=3.6.2" +files = [ + {file = "black-22.3.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:2497f9c2386572e28921fa8bec7be3e51de6801f7459dffd6e62492531c47e09"}, + {file = "black-22.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5795a0375eb87bfe902e80e0c8cfaedf8af4d49694d69161e5bd3206c18618bb"}, + {file = "black-22.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e3556168e2e5c49629f7b0f377070240bd5511e45e25a4497bb0073d9dda776a"}, + {file = "black-22.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67c8301ec94e3bcc8906740fe071391bce40a862b7be0b86fb5382beefecd968"}, + {file = "black-22.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:fd57160949179ec517d32ac2ac898b5f20d68ed1a9c977346efbac9c2f1e779d"}, + {file = "black-22.3.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:cc1e1de68c8e5444e8f94c3670bb48a2beef0e91dddfd4fcc29595ebd90bb9ce"}, + {file = "black-22.3.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d2fc92002d44746d3e7db7cf9313cf4452f43e9ea77a2c939defce3b10b5c82"}, + {file = "black-22.3.0-cp36-cp36m-win_amd64.whl", hash = "sha256:a6342964b43a99dbc72f72812bf88cad8f0217ae9acb47c0d4f141a6416d2d7b"}, + {file = "black-22.3.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:328efc0cc70ccb23429d6be184a15ce613f676bdfc85e5fe8ea2a9354b4e9015"}, + {file = "black-22.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06f9d8846f2340dfac80ceb20200ea5d1b3f181dd0556b47af4e8e0b24fa0a6b"}, + {file = "black-22.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:ad4efa5fad66b903b4a5f96d91461d90b9507a812b3c5de657d544215bb7877a"}, + {file = "black-22.3.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e8477ec6bbfe0312c128e74644ac8a02ca06bcdb8982d4ee06f209be28cdf163"}, + {file = "black-22.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:637a4014c63fbf42a692d22b55d8ad6968a946b4a6ebc385c5505d9625b6a464"}, + {file = "black-22.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:863714200ada56cbc366dc9ae5291ceb936573155f8bf8e9de92aef51f3ad0f0"}, + {file = "black-22.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10dbe6e6d2988049b4655b2b739f98785a884d4d6b85bc35133a8fb9a2233176"}, + {file = "black-22.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:cee3e11161dde1b2a33a904b850b0899e0424cc331b7295f2a9698e79f9a69a0"}, + {file = "black-22.3.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5891ef8abc06576985de8fa88e95ab70641de6c1fca97e2a15820a9b69e51b20"}, + {file = "black-22.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:30d78ba6bf080eeaf0b7b875d924b15cd46fec5fd044ddfbad38c8ea9171043a"}, + {file = "black-22.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ee8f1f7228cce7dffc2b464f07ce769f478968bfb3dd1254a4c2eeed84928aad"}, + {file = "black-22.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6ee227b696ca60dd1c507be80a6bc849a5a6ab57ac7352aad1ffec9e8b805f21"}, + {file = "black-22.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:9b542ced1ec0ceeff5b37d69838106a6348e60db7b8fdd245294dc1d26136265"}, + {file = "black-22.3.0-py3-none-any.whl", hash = "sha256:bc58025940a896d7e5356952228b68f793cf5fcb342be703c3a2669a1488cb72"}, + {file = "black-22.3.0.tar.gz", hash = "sha256:35020b8886c022ced9282b51b5a875b6d1ab0c387b31a065b84db7c33085ca79"}, +] + +[package.dependencies] +click = ">=8.0.0" +mypy-extensions = ">=0.4.3" +pathspec = ">=0.9.0" +platformdirs = ">=2" +tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} +typed-ast = {version = ">=1.4.2", markers = "python_version < \"3.8\" and implementation_name == \"cpython\""} +typing-extensions = {version = ">=3.10.0.0", markers = "python_version < \"3.10\""} + +[package.extras] +colorama = ["colorama (>=0.4.3)"] +d = ["aiohttp (>=3.7.4)"] +jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] +uvloop = ["uvloop (>=0.15.2)"] + +[[package]] +name = "bleach" +version = "6.0.0" +description = "An easy safelist-based HTML-sanitizing tool." +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "bleach-6.0.0-py3-none-any.whl", hash = "sha256:33c16e3353dbd13028ab4799a0f89a83f113405c766e9c122df8a06f5b85b3f4"}, + {file = "bleach-6.0.0.tar.gz", hash = "sha256:1a1a85c1595e07d8db14c5f09f09e6433502c51c595970edc090551f0db99414"}, +] + +[package.dependencies] +six = ">=1.9.0" +webencodings = "*" + +[package.extras] +css = ["tinycss2 (>=1.1.0,<1.2)"] + +[[package]] +name = "certifi" +version = "2022.12.7" +description = "Python package for providing Mozilla's CA Bundle." +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ + {file = "certifi-2022.12.7-py3-none-any.whl", hash = "sha256:4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18"}, + {file = "certifi-2022.12.7.tar.gz", hash = "sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3"}, +] + +[[package]] +name = "cffi" +version = "1.15.1" +description = "Foreign Function Interface for Python calling C code." +category = "main" +optional = false +python-versions = "*" +files = [ + {file = "cffi-1.15.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2"}, + {file = "cffi-1.15.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:470c103ae716238bbe698d67ad020e1db9d9dba34fa5a899b5e21577e6d52ed2"}, + {file = "cffi-1.15.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:9ad5db27f9cabae298d151c85cf2bad1d359a1b9c686a275df03385758e2f914"}, + {file = "cffi-1.15.1-cp27-cp27m-win32.whl", hash = "sha256:b3bbeb01c2b273cca1e1e0c5df57f12dce9a4dd331b4fa1635b8bec26350bde3"}, + {file = "cffi-1.15.1-cp27-cp27m-win_amd64.whl", hash = "sha256:e00b098126fd45523dd056d2efba6c5a63b71ffe9f2bbe1a4fe1716e1d0c331e"}, + {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:d61f4695e6c866a23a21acab0509af1cdfd2c013cf256bbf5b6b5e2695827162"}, + {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:ed9cb427ba5504c1dc15ede7d516b84757c3e3d7868ccc85121d9310d27eed0b"}, + {file = "cffi-1.15.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:39d39875251ca8f612b6f33e6b1195af86d1b3e60086068be9cc053aa4376e21"}, + {file = "cffi-1.15.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:285d29981935eb726a4399badae8f0ffdff4f5050eaa6d0cfc3f64b857b77185"}, + {file = "cffi-1.15.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3eb6971dcff08619f8d91607cfc726518b6fa2a9eba42856be181c6d0d9515fd"}, + {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21157295583fe8943475029ed5abdcf71eb3911894724e360acff1d61c1d54bc"}, + {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5635bd9cb9731e6d4a1132a498dd34f764034a8ce60cef4f5319c0541159392f"}, + {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2012c72d854c2d03e45d06ae57f40d78e5770d252f195b93f581acf3ba44496e"}, + {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4"}, + {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:fa6693661a4c91757f4412306191b6dc88c1703f780c8234035eac011922bc01"}, + {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59c0b02d0a6c384d453fece7566d1c7e6b7bae4fc5874ef2ef46d56776d61c9e"}, + {file = "cffi-1.15.1-cp310-cp310-win32.whl", hash = "sha256:cba9d6b9a7d64d4bd46167096fc9d2f835e25d7e4c121fb2ddfc6528fb0413b2"}, + {file = "cffi-1.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:ce4bcc037df4fc5e3d184794f27bdaab018943698f4ca31630bc7f84a7b69c6d"}, + {file = "cffi-1.15.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3d08afd128ddaa624a48cf2b859afef385b720bb4b43df214f85616922e6a5ac"}, + {file = "cffi-1.15.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3799aecf2e17cf585d977b780ce79ff0dc9b78d799fc694221ce814c2c19db83"}, + {file = "cffi-1.15.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a591fe9e525846e4d154205572a029f653ada1a78b93697f3b5a8f1f2bc055b9"}, + {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3548db281cd7d2561c9ad9984681c95f7b0e38881201e157833a2342c30d5e8c"}, + {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91fc98adde3d7881af9b59ed0294046f3806221863722ba7d8d120c575314325"}, + {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c"}, + {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:03425bdae262c76aad70202debd780501fabeaca237cdfddc008987c0e0f59ef"}, + {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cc4d65aeeaa04136a12677d3dd0b1c0c94dc43abac5860ab33cceb42b801c1e8"}, + {file = "cffi-1.15.1-cp311-cp311-win32.whl", hash = "sha256:a0f100c8912c114ff53e1202d0078b425bee3649ae34d7b070e9697f93c5d52d"}, + {file = "cffi-1.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:04ed324bda3cda42b9b695d51bb7d54b680b9719cfab04227cdd1e04e5de3104"}, + {file = "cffi-1.15.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50a74364d85fd319352182ef59c5c790484a336f6db772c1a9231f1c3ed0cbd7"}, + {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e263d77ee3dd201c3a142934a086a4450861778baaeeb45db4591ef65550b0a6"}, + {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cec7d9412a9102bdc577382c3929b337320c4c4c4849f2c5cdd14d7368c5562d"}, + {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4289fc34b2f5316fbb762d75362931e351941fa95fa18789191b33fc4cf9504a"}, + {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:173379135477dc8cac4bc58f45db08ab45d228b3363adb7af79436135d028405"}, + {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6975a3fac6bc83c4a65c9f9fcab9e47019a11d3d2cf7f3c0d03431bf145a941e"}, + {file = "cffi-1.15.1-cp36-cp36m-win32.whl", hash = "sha256:2470043b93ff09bf8fb1d46d1cb756ce6132c54826661a32d4e4d132e1977adf"}, + {file = "cffi-1.15.1-cp36-cp36m-win_amd64.whl", hash = "sha256:30d78fbc8ebf9c92c9b7823ee18eb92f2e6ef79b45ac84db507f52fbe3ec4497"}, + {file = "cffi-1.15.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:198caafb44239b60e252492445da556afafc7d1e3ab7a1fb3f0584ef6d742375"}, + {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5ef34d190326c3b1f822a5b7a45f6c4535e2f47ed06fec77d3d799c450b2651e"}, + {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8102eaf27e1e448db915d08afa8b41d6c7ca7a04b7d73af6514df10a3e74bd82"}, + {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5df2768244d19ab7f60546d0c7c63ce1581f7af8b5de3eb3004b9b6fc8a9f84b"}, + {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8c4917bd7ad33e8eb21e9a5bbba979b49d9a97acb3a803092cbc1133e20343c"}, + {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2642fe3142e4cc4af0799748233ad6da94c62a8bec3a6648bf8ee68b1c7426"}, + {file = "cffi-1.15.1-cp37-cp37m-win32.whl", hash = "sha256:e229a521186c75c8ad9490854fd8bbdd9a0c9aa3a524326b55be83b54d4e0ad9"}, + {file = "cffi-1.15.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a0b71b1b8fbf2b96e41c4d990244165e2c9be83d54962a9a1d118fd8657d2045"}, + {file = "cffi-1.15.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:320dab6e7cb2eacdf0e658569d2575c4dad258c0fcc794f46215e1e39f90f2c3"}, + {file = "cffi-1.15.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e74c6b51a9ed6589199c787bf5f9875612ca4a8a0785fb2d4a84429badaf22a"}, + {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5c84c68147988265e60416b57fc83425a78058853509c1b0629c180094904a5"}, + {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b926aa83d1edb5aa5b427b4053dc420ec295a08e40911296b9eb1b6170f6cca"}, + {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:87c450779d0914f2861b8526e035c5e6da0a3199d8f1add1a665e1cbc6fc6d02"}, + {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f2c9f67e9821cad2e5f480bc8d83b8742896f1242dba247911072d4fa94c192"}, + {file = "cffi-1.15.1-cp38-cp38-win32.whl", hash = "sha256:8b7ee99e510d7b66cdb6c593f21c043c248537a32e0bedf02e01e9553a172314"}, + {file = "cffi-1.15.1-cp38-cp38-win_amd64.whl", hash = "sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5"}, + {file = "cffi-1.15.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:54a2db7b78338edd780e7ef7f9f6c442500fb0d41a5a4ea24fff1c929d5af585"}, + {file = "cffi-1.15.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fcd131dd944808b5bdb38e6f5b53013c5aa4f334c5cad0c72742f6eba4b73db0"}, + {file = "cffi-1.15.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7473e861101c9e72452f9bf8acb984947aa1661a7704553a9f6e4baa5ba64415"}, + {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c9a799e985904922a4d207a94eae35c78ebae90e128f0c4e521ce339396be9d"}, + {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3bcde07039e586f91b45c88f8583ea7cf7a0770df3a1649627bf598332cb6984"}, + {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33ab79603146aace82c2427da5ca6e58f2b3f2fb5da893ceac0c42218a40be35"}, + {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d598b938678ebf3c67377cdd45e09d431369c3b1a5b331058c338e201f12b27"}, + {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db0fbb9c62743ce59a9ff687eb5f4afbe77e5e8403d6697f7446e5f609976f76"}, + {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:98d85c6a2bef81588d9227dde12db8a7f47f639f4a17c9ae08e773aa9c697bf3"}, + {file = "cffi-1.15.1-cp39-cp39-win32.whl", hash = "sha256:40f4774f5a9d4f5e344f31a32b5096977b5d48560c5592e2f3d2c4374bd543ee"}, + {file = "cffi-1.15.1-cp39-cp39-win_amd64.whl", hash = "sha256:70df4e3b545a17496c9b3f41f5115e69a4f2e77e94e1d2a8e1070bc0c38c8a3c"}, + {file = "cffi-1.15.1.tar.gz", hash = "sha256:d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9"}, +] + +[package.dependencies] +pycparser = "*" + +[[package]] +name = "chardet" +version = "4.0.0" +description = "Universal encoding detector for Python 2 and 3" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "chardet-4.0.0-py2.py3-none-any.whl", hash = "sha256:f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5"}, + {file = "chardet-4.0.0.tar.gz", hash = "sha256:0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa"}, +] + +[[package]] +name = "charset-normalizer" +version = "3.0.1" +description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "charset-normalizer-3.0.1.tar.gz", hash = "sha256:ebea339af930f8ca5d7a699b921106c6e29c617fe9606fa7baa043c1cdae326f"}, + {file = "charset_normalizer-3.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:88600c72ef7587fe1708fd242b385b6ed4b8904976d5da0893e31df8b3480cb6"}, + {file = "charset_normalizer-3.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c75ffc45f25324e68ab238cb4b5c0a38cd1c3d7f1fb1f72b5541de469e2247db"}, + {file = "charset_normalizer-3.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:db72b07027db150f468fbada4d85b3b2729a3db39178abf5c543b784c1254539"}, + {file = "charset_normalizer-3.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62595ab75873d50d57323a91dd03e6966eb79c41fa834b7a1661ed043b2d404d"}, + {file = "charset_normalizer-3.0.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ff6f3db31555657f3163b15a6b7c6938d08df7adbfc9dd13d9d19edad678f1e8"}, + {file = "charset_normalizer-3.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:772b87914ff1152b92a197ef4ea40efe27a378606c39446ded52c8f80f79702e"}, + {file = "charset_normalizer-3.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70990b9c51340e4044cfc394a81f614f3f90d41397104d226f21e66de668730d"}, + {file = "charset_normalizer-3.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:292d5e8ba896bbfd6334b096e34bffb56161c81408d6d036a7dfa6929cff8783"}, + {file = "charset_normalizer-3.0.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:2edb64ee7bf1ed524a1da60cdcd2e1f6e2b4f66ef7c077680739f1641f62f555"}, + {file = "charset_normalizer-3.0.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:31a9ddf4718d10ae04d9b18801bd776693487cbb57d74cc3458a7673f6f34639"}, + {file = "charset_normalizer-3.0.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:44ba614de5361b3e5278e1241fda3dc1838deed864b50a10d7ce92983797fa76"}, + {file = "charset_normalizer-3.0.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:12db3b2c533c23ab812c2b25934f60383361f8a376ae272665f8e48b88e8e1c6"}, + {file = "charset_normalizer-3.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c512accbd6ff0270939b9ac214b84fb5ada5f0409c44298361b2f5e13f9aed9e"}, + {file = "charset_normalizer-3.0.1-cp310-cp310-win32.whl", hash = "sha256:502218f52498a36d6bf5ea77081844017bf7982cdbe521ad85e64cabee1b608b"}, + {file = "charset_normalizer-3.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:601f36512f9e28f029d9481bdaf8e89e5148ac5d89cffd3b05cd533eeb423b59"}, + {file = "charset_normalizer-3.0.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0298eafff88c99982a4cf66ba2efa1128e4ddaca0b05eec4c456bbc7db691d8d"}, + {file = "charset_normalizer-3.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a8d0fc946c784ff7f7c3742310cc8a57c5c6dc31631269876a88b809dbeff3d3"}, + {file = "charset_normalizer-3.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:87701167f2a5c930b403e9756fab1d31d4d4da52856143b609e30a1ce7160f3c"}, + {file = "charset_normalizer-3.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:14e76c0f23218b8f46c4d87018ca2e441535aed3632ca134b10239dfb6dadd6b"}, + {file = "charset_normalizer-3.0.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0c0a590235ccd933d9892c627dec5bc7511ce6ad6c1011fdf5b11363022746c1"}, + {file = "charset_normalizer-3.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8c7fe7afa480e3e82eed58e0ca89f751cd14d767638e2550c77a92a9e749c317"}, + {file = "charset_normalizer-3.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:79909e27e8e4fcc9db4addea88aa63f6423ebb171db091fb4373e3312cb6d603"}, + {file = "charset_normalizer-3.0.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8ac7b6a045b814cf0c47f3623d21ebd88b3e8cf216a14790b455ea7ff0135d18"}, + {file = "charset_normalizer-3.0.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:72966d1b297c741541ca8cf1223ff262a6febe52481af742036a0b296e35fa5a"}, + {file = "charset_normalizer-3.0.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:f9d0c5c045a3ca9bedfc35dca8526798eb91a07aa7a2c0fee134c6c6f321cbd7"}, + {file = "charset_normalizer-3.0.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:5995f0164fa7df59db4746112fec3f49c461dd6b31b841873443bdb077c13cfc"}, + {file = "charset_normalizer-3.0.1-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4a8fcf28c05c1f6d7e177a9a46a1c52798bfe2ad80681d275b10dcf317deaf0b"}, + {file = "charset_normalizer-3.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:761e8904c07ad053d285670f36dd94e1b6ab7f16ce62b9805c475b7aa1cffde6"}, + {file = "charset_normalizer-3.0.1-cp311-cp311-win32.whl", hash = "sha256:71140351489970dfe5e60fc621ada3e0f41104a5eddaca47a7acb3c1b851d6d3"}, + {file = "charset_normalizer-3.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:9ab77acb98eba3fd2a85cd160851816bfce6871d944d885febf012713f06659c"}, + {file = "charset_normalizer-3.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:84c3990934bae40ea69a82034912ffe5a62c60bbf6ec5bc9691419641d7d5c9a"}, + {file = "charset_normalizer-3.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:74292fc76c905c0ef095fe11e188a32ebd03bc38f3f3e9bcb85e4e6db177b7ea"}, + {file = "charset_normalizer-3.0.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c95a03c79bbe30eec3ec2b7f076074f4281526724c8685a42872974ef4d36b72"}, + {file = "charset_normalizer-3.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f4c39b0e3eac288fedc2b43055cfc2ca7a60362d0e5e87a637beac5d801ef478"}, + {file = "charset_normalizer-3.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df2c707231459e8a4028eabcd3cfc827befd635b3ef72eada84ab13b52e1574d"}, + {file = "charset_normalizer-3.0.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:93ad6d87ac18e2a90b0fe89df7c65263b9a99a0eb98f0a3d2e079f12a0735837"}, + {file = "charset_normalizer-3.0.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:59e5686dd847347e55dffcc191a96622f016bc0ad89105e24c14e0d6305acbc6"}, + {file = "charset_normalizer-3.0.1-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:cd6056167405314a4dc3c173943f11249fa0f1b204f8b51ed4bde1a9cd1834dc"}, + {file = "charset_normalizer-3.0.1-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:083c8d17153ecb403e5e1eb76a7ef4babfc2c48d58899c98fcaa04833e7a2f9a"}, + {file = "charset_normalizer-3.0.1-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:f5057856d21e7586765171eac8b9fc3f7d44ef39425f85dbcccb13b3ebea806c"}, + {file = "charset_normalizer-3.0.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:7eb33a30d75562222b64f569c642ff3dc6689e09adda43a082208397f016c39a"}, + {file = "charset_normalizer-3.0.1-cp36-cp36m-win32.whl", hash = "sha256:95dea361dd73757c6f1c0a1480ac499952c16ac83f7f5f4f84f0658a01b8ef41"}, + {file = "charset_normalizer-3.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:eaa379fcd227ca235d04152ca6704c7cb55564116f8bc52545ff357628e10602"}, + {file = "charset_normalizer-3.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3e45867f1f2ab0711d60c6c71746ac53537f1684baa699f4f668d4c6f6ce8e14"}, + {file = "charset_normalizer-3.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cadaeaba78750d58d3cc6ac4d1fd867da6fc73c88156b7a3212a3cd4819d679d"}, + {file = "charset_normalizer-3.0.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:911d8a40b2bef5b8bbae2e36a0b103f142ac53557ab421dc16ac4aafee6f53dc"}, + {file = "charset_normalizer-3.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:503e65837c71b875ecdd733877d852adbc465bd82c768a067badd953bf1bc5a3"}, + {file = "charset_normalizer-3.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a60332922359f920193b1d4826953c507a877b523b2395ad7bc716ddd386d866"}, + {file = "charset_normalizer-3.0.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:16a8663d6e281208d78806dbe14ee9903715361cf81f6d4309944e4d1e59ac5b"}, + {file = "charset_normalizer-3.0.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:a16418ecf1329f71df119e8a65f3aa68004a3f9383821edcb20f0702934d8087"}, + {file = "charset_normalizer-3.0.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:9d9153257a3f70d5f69edf2325357251ed20f772b12e593f3b3377b5f78e7ef8"}, + {file = "charset_normalizer-3.0.1-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:02a51034802cbf38db3f89c66fb5d2ec57e6fe7ef2f4a44d070a593c3688667b"}, + {file = "charset_normalizer-3.0.1-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:2e396d70bc4ef5325b72b593a72c8979999aa52fb8bcf03f701c1b03e1166918"}, + {file = "charset_normalizer-3.0.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:11b53acf2411c3b09e6af37e4b9005cba376c872503c8f28218c7243582df45d"}, + {file = "charset_normalizer-3.0.1-cp37-cp37m-win32.whl", hash = "sha256:0bf2dae5291758b6f84cf923bfaa285632816007db0330002fa1de38bfcb7154"}, + {file = "charset_normalizer-3.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:2c03cc56021a4bd59be889c2b9257dae13bf55041a3372d3295416f86b295fb5"}, + {file = "charset_normalizer-3.0.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:024e606be3ed92216e2b6952ed859d86b4cfa52cd5bc5f050e7dc28f9b43ec42"}, + {file = "charset_normalizer-3.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4b0d02d7102dd0f997580b51edc4cebcf2ab6397a7edf89f1c73b586c614272c"}, + {file = "charset_normalizer-3.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:358a7c4cb8ba9b46c453b1dd8d9e431452d5249072e4f56cfda3149f6ab1405e"}, + {file = "charset_normalizer-3.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:81d6741ab457d14fdedc215516665050f3822d3e56508921cc7239f8c8e66a58"}, + {file = "charset_normalizer-3.0.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8b8af03d2e37866d023ad0ddea594edefc31e827fee64f8de5611a1dbc373174"}, + {file = "charset_normalizer-3.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9cf4e8ad252f7c38dd1f676b46514f92dc0ebeb0db5552f5f403509705e24753"}, + {file = "charset_normalizer-3.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e696f0dd336161fca9adbb846875d40752e6eba585843c768935ba5c9960722b"}, + {file = "charset_normalizer-3.0.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c22d3fe05ce11d3671297dc8973267daa0f938b93ec716e12e0f6dee81591dc1"}, + {file = "charset_normalizer-3.0.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:109487860ef6a328f3eec66f2bf78b0b72400280d8f8ea05f69c51644ba6521a"}, + {file = "charset_normalizer-3.0.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:37f8febc8ec50c14f3ec9637505f28e58d4f66752207ea177c1d67df25da5aed"}, + {file = "charset_normalizer-3.0.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:f97e83fa6c25693c7a35de154681fcc257c1c41b38beb0304b9c4d2d9e164479"}, + {file = "charset_normalizer-3.0.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:a152f5f33d64a6be73f1d30c9cc82dfc73cec6477ec268e7c6e4c7d23c2d2291"}, + {file = "charset_normalizer-3.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:39049da0ffb96c8cbb65cbf5c5f3ca3168990adf3551bd1dee10c48fce8ae820"}, + {file = "charset_normalizer-3.0.1-cp38-cp38-win32.whl", hash = "sha256:4457ea6774b5611f4bed5eaa5df55f70abde42364d498c5134b7ef4c6958e20e"}, + {file = "charset_normalizer-3.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:e62164b50f84e20601c1ff8eb55620d2ad25fb81b59e3cd776a1902527a788af"}, + {file = "charset_normalizer-3.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8eade758719add78ec36dc13201483f8e9b5d940329285edcd5f70c0a9edbd7f"}, + {file = "charset_normalizer-3.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8499ca8f4502af841f68135133d8258f7b32a53a1d594aa98cc52013fff55678"}, + {file = "charset_normalizer-3.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3fc1c4a2ffd64890aebdb3f97e1278b0cc72579a08ca4de8cd2c04799a3a22be"}, + {file = "charset_normalizer-3.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:00d3ffdaafe92a5dc603cb9bd5111aaa36dfa187c8285c543be562e61b755f6b"}, + {file = "charset_normalizer-3.0.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c2ac1b08635a8cd4e0cbeaf6f5e922085908d48eb05d44c5ae9eabab148512ca"}, + {file = "charset_normalizer-3.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6f45710b4459401609ebebdbcfb34515da4fc2aa886f95107f556ac69a9147e"}, + {file = "charset_normalizer-3.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ae1de54a77dc0d6d5fcf623290af4266412a7c4be0b1ff7444394f03f5c54e3"}, + {file = "charset_normalizer-3.0.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3b590df687e3c5ee0deef9fc8c547d81986d9a1b56073d82de008744452d6541"}, + {file = "charset_normalizer-3.0.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab5de034a886f616a5668aa5d098af2b5385ed70142090e2a31bcbd0af0fdb3d"}, + {file = "charset_normalizer-3.0.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9cb3032517f1627cc012dbc80a8ec976ae76d93ea2b5feaa9d2a5b8882597579"}, + {file = "charset_normalizer-3.0.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:608862a7bf6957f2333fc54ab4399e405baad0163dc9f8d99cb236816db169d4"}, + {file = "charset_normalizer-3.0.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:0f438ae3532723fb6ead77e7c604be7c8374094ef4ee2c5e03a3a17f1fca256c"}, + {file = "charset_normalizer-3.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:356541bf4381fa35856dafa6a965916e54bed415ad8a24ee6de6e37deccf2786"}, + {file = "charset_normalizer-3.0.1-cp39-cp39-win32.whl", hash = "sha256:39cf9ed17fe3b1bc81f33c9ceb6ce67683ee7526e65fde1447c772afc54a1bb8"}, + {file = "charset_normalizer-3.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:0a11e971ed097d24c534c037d298ad32c6ce81a45736d31e0ff0ad37ab437d59"}, + {file = "charset_normalizer-3.0.1-py3-none-any.whl", hash = "sha256:7e189e2e1d3ed2f4aebabd2d5b0f931e883676e51c7624826e0a4e5fe8a0bf24"}, +] + +[[package]] +name = "cisco-gnmi" +version = "1.0.16" +description = "This library wraps gNMI functionality to ease usage with Cisco implementations." +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" +files = [ + {file = "cisco_gnmi-1.0.16-py3-none-any.whl", hash = "sha256:3ffe9198b059a1bf8d7b776ed0bc0dfde295de6e487da4d4c3b28d1744ca4f57"}, + {file = "cisco_gnmi-1.0.16.tar.gz", hash = "sha256:b53eadaa476959e01cc55dc488beb598ddca10f4b1991f5bd0ff2d6349098cf6"}, +] + +[package.dependencies] +cryptography = "*" +grpcio = "*" +protobuf = "*" +six = "*" + +[package.extras] +dev = ["coverage", "googleapis-common-protos", "grpcio-tools", "pylint", "pytest", "pytest-cov", "pytest-mock", "setuptools", "twine", "wheel"] + +[[package]] +name = "click" +version = "8.1.3" +description = "Composable command line interface toolkit" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"}, + {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} +importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} + +[[package]] +name = "colorama" +version = "0.4.6" +description = "Cross-platform colored terminal text." +category = "dev" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +files = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] + +[[package]] +name = "cryptography" +version = "39.0.1" +description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." +category = "main" +optional = false +python-versions = ">=3.6" +files = [ + {file = "cryptography-39.0.1-cp36-abi3-macosx_10_12_universal2.whl", hash = "sha256:6687ef6d0a6497e2b58e7c5b852b53f62142cfa7cd1555795758934da363a965"}, + {file = "cryptography-39.0.1-cp36-abi3-macosx_10_12_x86_64.whl", hash = "sha256:706843b48f9a3f9b9911979761c91541e3d90db1ca905fd63fee540a217698bc"}, + {file = "cryptography-39.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:5d2d8b87a490bfcd407ed9d49093793d0f75198a35e6eb1a923ce1ee86c62b41"}, + {file = "cryptography-39.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83e17b26de248c33f3acffb922748151d71827d6021d98c70e6c1a25ddd78505"}, + {file = "cryptography-39.0.1-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e124352fd3db36a9d4a21c1aa27fd5d051e621845cb87fb851c08f4f75ce8be6"}, + {file = "cryptography-39.0.1-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:5aa67414fcdfa22cf052e640cb5ddc461924a045cacf325cd164e65312d99502"}, + {file = "cryptography-39.0.1-cp36-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:35f7c7d015d474f4011e859e93e789c87d21f6f4880ebdc29896a60403328f1f"}, + {file = "cryptography-39.0.1-cp36-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:f24077a3b5298a5a06a8e0536e3ea9ec60e4c7ac486755e5fb6e6ea9b3500106"}, + {file = "cryptography-39.0.1-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:f0c64d1bd842ca2633e74a1a28033d139368ad959872533b1bab8c80e8240a0c"}, + {file = "cryptography-39.0.1-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:0f8da300b5c8af9f98111ffd512910bc792b4c77392a9523624680f7956a99d4"}, + {file = "cryptography-39.0.1-cp36-abi3-win32.whl", hash = "sha256:fe913f20024eb2cb2f323e42a64bdf2911bb9738a15dba7d3cce48151034e3a8"}, + {file = "cryptography-39.0.1-cp36-abi3-win_amd64.whl", hash = "sha256:ced4e447ae29ca194449a3f1ce132ded8fcab06971ef5f618605aacaa612beac"}, + {file = "cryptography-39.0.1-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:807ce09d4434881ca3a7594733669bd834f5b2c6d5c7e36f8c00f691887042ad"}, + {file = "cryptography-39.0.1-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:c5caeb8188c24888c90b5108a441c106f7faa4c4c075a2bcae438c6e8ca73cef"}, + {file = "cryptography-39.0.1-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:4789d1e3e257965e960232345002262ede4d094d1a19f4d3b52e48d4d8f3b885"}, + {file = "cryptography-39.0.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:96f1157a7c08b5b189b16b47bc9db2332269d6680a196341bf30046330d15388"}, + {file = "cryptography-39.0.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:e422abdec8b5fa8462aa016786680720d78bdce7a30c652b7fadf83a4ba35336"}, + {file = "cryptography-39.0.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:b0afd054cd42f3d213bf82c629efb1ee5f22eba35bf0eec88ea9ea7304f511a2"}, + {file = "cryptography-39.0.1-pp39-pypy39_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:6f8ba7f0328b79f08bdacc3e4e66fb4d7aab0c3584e0bd41328dce5262e26b2e"}, + {file = "cryptography-39.0.1-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:ef8b72fa70b348724ff1218267e7f7375b8de4e8194d1636ee60510aae104cd0"}, + {file = "cryptography-39.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:aec5a6c9864be7df2240c382740fcf3b96928c46604eaa7f3091f58b878c0bb6"}, + {file = "cryptography-39.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:fdd188c8a6ef8769f148f88f859884507b954cc64db6b52f66ef199bb9ad660a"}, + {file = "cryptography-39.0.1.tar.gz", hash = "sha256:d1f6198ee6d9148405e49887803907fe8962a23e6c6f83ea7d98f1c0de375695"}, +] + +[package.dependencies] +cffi = ">=1.12" + +[package.extras] +docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.1.1)"] +docstest = ["pyenchant (>=1.6.11)", "sphinxcontrib-spelling (>=4.0.1)", "twine (>=1.12.0)"] +pep8test = ["black", "check-manifest", "mypy", "ruff", "types-pytz", "types-requests"] +sdist = ["setuptools-rust (>=0.11.4)"] +ssh = ["bcrypt (>=3.1.5)"] +test = ["hypothesis (>=1.11.4,!=3.79.2)", "iso8601", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-shard (>=0.1.2)", "pytest-subtests", "pytest-xdist", "pytz"] +test-randomorder = ["pytest-randomly"] +tox = ["tox"] + +[[package]] +name = "dill" +version = "0.3.6" +description = "serialize all of python" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "dill-0.3.6-py3-none-any.whl", hash = "sha256:a07ffd2351b8c678dfc4a856a3005f8067aea51d6ba6c700796a4d9e280f39f0"}, + {file = "dill-0.3.6.tar.gz", hash = "sha256:e5db55f3687856d8fbdab002ed78544e1c4559a130302693d839dfe8f93f2373"}, +] + +[package.extras] +graph = ["objgraph (>=1.7.2)"] + +[[package]] +name = "distro" +version = "1.8.0" +description = "Distro - an OS platform information API" +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ + {file = "distro-1.8.0-py3-none-any.whl", hash = "sha256:99522ca3e365cac527b44bde033f64c6945d90eb9f769703caaec52b09bbd3ff"}, + {file = "distro-1.8.0.tar.gz", hash = "sha256:02e111d1dc6a50abb8eed6bf31c3e48ed8b0830d1ea2a1b78c61765c2513fdd8"}, +] + +[[package]] +name = "docutils" +version = "0.19" +description = "Docutils -- Python Documentation Utilities" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "docutils-0.19-py3-none-any.whl", hash = "sha256:5e1de4d849fee02c63b040a4a3fd567f4ab104defd8a5511fbbc24a8a017efbc"}, + {file = "docutils-0.19.tar.gz", hash = "sha256:33995a6753c30b7f577febfc2c50411fec6aac7f7ffeb7c4cfe5991072dcf9e6"}, +] + +[[package]] +name = "frozenlist" +version = "1.3.3" +description = "A list-like structure which implements collections.abc.MutableSequence" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "frozenlist-1.3.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ff8bf625fe85e119553b5383ba0fb6aa3d0ec2ae980295aaefa552374926b3f4"}, + {file = "frozenlist-1.3.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dfbac4c2dfcc082fcf8d942d1e49b6aa0766c19d3358bd86e2000bf0fa4a9cf0"}, + {file = "frozenlist-1.3.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b1c63e8d377d039ac769cd0926558bb7068a1f7abb0f003e3717ee003ad85530"}, + {file = "frozenlist-1.3.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7fdfc24dcfce5b48109867c13b4cb15e4660e7bd7661741a391f821f23dfdca7"}, + {file = "frozenlist-1.3.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2c926450857408e42f0bbc295e84395722ce74bae69a3b2aa2a65fe22cb14b99"}, + {file = "frozenlist-1.3.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1841e200fdafc3d51f974d9d377c079a0694a8f06de2e67b48150328d66d5483"}, + {file = "frozenlist-1.3.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f470c92737afa7d4c3aacc001e335062d582053d4dbe73cda126f2d7031068dd"}, + {file = "frozenlist-1.3.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:783263a4eaad7c49983fe4b2e7b53fa9770c136c270d2d4bbb6d2192bf4d9caf"}, + {file = "frozenlist-1.3.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:924620eef691990dfb56dc4709f280f40baee568c794b5c1885800c3ecc69816"}, + {file = "frozenlist-1.3.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:ae4dc05c465a08a866b7a1baf360747078b362e6a6dbeb0c57f234db0ef88ae0"}, + {file = "frozenlist-1.3.3-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:bed331fe18f58d844d39ceb398b77d6ac0b010d571cba8267c2e7165806b00ce"}, + {file = "frozenlist-1.3.3-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:02c9ac843e3390826a265e331105efeab489ffaf4dd86384595ee8ce6d35ae7f"}, + {file = "frozenlist-1.3.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:9545a33965d0d377b0bc823dcabf26980e77f1b6a7caa368a365a9497fb09420"}, + {file = "frozenlist-1.3.3-cp310-cp310-win32.whl", hash = "sha256:d5cd3ab21acbdb414bb6c31958d7b06b85eeb40f66463c264a9b343a4e238642"}, + {file = "frozenlist-1.3.3-cp310-cp310-win_amd64.whl", hash = "sha256:b756072364347cb6aa5b60f9bc18e94b2f79632de3b0190253ad770c5df17db1"}, + {file = "frozenlist-1.3.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:b4395e2f8d83fbe0c627b2b696acce67868793d7d9750e90e39592b3626691b7"}, + {file = "frozenlist-1.3.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:14143ae966a6229350021384870458e4777d1eae4c28d1a7aa47f24d030e6678"}, + {file = "frozenlist-1.3.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5d8860749e813a6f65bad8285a0520607c9500caa23fea6ee407e63debcdbef6"}, + {file = "frozenlist-1.3.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23d16d9f477bb55b6154654e0e74557040575d9d19fe78a161bd33d7d76808e8"}, + {file = "frozenlist-1.3.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb82dbba47a8318e75f679690190c10a5e1f447fbf9df41cbc4c3afd726d88cb"}, + {file = "frozenlist-1.3.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9309869032abb23d196cb4e4db574232abe8b8be1339026f489eeb34a4acfd91"}, + {file = "frozenlist-1.3.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a97b4fe50b5890d36300820abd305694cb865ddb7885049587a5678215782a6b"}, + {file = "frozenlist-1.3.3-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c188512b43542b1e91cadc3c6c915a82a5eb95929134faf7fd109f14f9892ce4"}, + {file = "frozenlist-1.3.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:303e04d422e9b911a09ad499b0368dc551e8c3cd15293c99160c7f1f07b59a48"}, + {file = "frozenlist-1.3.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:0771aed7f596c7d73444c847a1c16288937ef988dc04fb9f7be4b2aa91db609d"}, + {file = "frozenlist-1.3.3-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:66080ec69883597e4d026f2f71a231a1ee9887835902dbe6b6467d5a89216cf6"}, + {file = "frozenlist-1.3.3-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:41fe21dc74ad3a779c3d73a2786bdf622ea81234bdd4faf90b8b03cad0c2c0b4"}, + {file = "frozenlist-1.3.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f20380df709d91525e4bee04746ba612a4df0972c1b8f8e1e8af997e678c7b81"}, + {file = "frozenlist-1.3.3-cp311-cp311-win32.whl", hash = "sha256:f30f1928162e189091cf4d9da2eac617bfe78ef907a761614ff577ef4edfb3c8"}, + {file = "frozenlist-1.3.3-cp311-cp311-win_amd64.whl", hash = "sha256:a6394d7dadd3cfe3f4b3b186e54d5d8504d44f2d58dcc89d693698e8b7132b32"}, + {file = "frozenlist-1.3.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8df3de3a9ab8325f94f646609a66cbeeede263910c5c0de0101079ad541af332"}, + {file = "frozenlist-1.3.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0693c609e9742c66ba4870bcee1ad5ff35462d5ffec18710b4ac89337ff16e27"}, + {file = "frozenlist-1.3.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cd4210baef299717db0a600d7a3cac81d46ef0e007f88c9335db79f8979c0d3d"}, + {file = "frozenlist-1.3.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:394c9c242113bfb4b9aa36e2b80a05ffa163a30691c7b5a29eba82e937895d5e"}, + {file = "frozenlist-1.3.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6327eb8e419f7d9c38f333cde41b9ae348bec26d840927332f17e887a8dcb70d"}, + {file = "frozenlist-1.3.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2e24900aa13212e75e5b366cb9065e78bbf3893d4baab6052d1aca10d46d944c"}, + {file = "frozenlist-1.3.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:3843f84a6c465a36559161e6c59dce2f2ac10943040c2fd021cfb70d58c4ad56"}, + {file = "frozenlist-1.3.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:84610c1502b2461255b4c9b7d5e9c48052601a8957cd0aea6ec7a7a1e1fb9420"}, + {file = "frozenlist-1.3.3-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:c21b9aa40e08e4f63a2f92ff3748e6b6c84d717d033c7b3438dd3123ee18f70e"}, + {file = "frozenlist-1.3.3-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:efce6ae830831ab6a22b9b4091d411698145cb9b8fc869e1397ccf4b4b6455cb"}, + {file = "frozenlist-1.3.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:40de71985e9042ca00b7953c4f41eabc3dc514a2d1ff534027f091bc74416401"}, + {file = "frozenlist-1.3.3-cp37-cp37m-win32.whl", hash = "sha256:180c00c66bde6146a860cbb81b54ee0df350d2daf13ca85b275123bbf85de18a"}, + {file = "frozenlist-1.3.3-cp37-cp37m-win_amd64.whl", hash = "sha256:9bbbcedd75acdfecf2159663b87f1bb5cfc80e7cd99f7ddd9d66eb98b14a8411"}, + {file = "frozenlist-1.3.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:034a5c08d36649591be1cbb10e09da9f531034acfe29275fc5454a3b101ce41a"}, + {file = "frozenlist-1.3.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ba64dc2b3b7b158c6660d49cdb1d872d1d0bf4e42043ad8d5006099479a194e5"}, + {file = "frozenlist-1.3.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:47df36a9fe24054b950bbc2db630d508cca3aa27ed0566c0baf661225e52c18e"}, + {file = "frozenlist-1.3.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:008a054b75d77c995ea26629ab3a0c0d7281341f2fa7e1e85fa6153ae29ae99c"}, + {file = "frozenlist-1.3.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:841ea19b43d438a80b4de62ac6ab21cfe6827bb8a9dc62b896acc88eaf9cecba"}, + {file = "frozenlist-1.3.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e235688f42b36be2b6b06fc37ac2126a73b75fb8d6bc66dd632aa35286238703"}, + {file = "frozenlist-1.3.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca713d4af15bae6e5d79b15c10c8522859a9a89d3b361a50b817c98c2fb402a2"}, + {file = "frozenlist-1.3.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ac5995f2b408017b0be26d4a1d7c61bce106ff3d9e3324374d66b5964325448"}, + {file = "frozenlist-1.3.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:a4ae8135b11652b08a8baf07631d3ebfe65a4c87909dbef5fa0cdde440444ee4"}, + {file = "frozenlist-1.3.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:4ea42116ceb6bb16dbb7d526e242cb6747b08b7710d9782aa3d6732bd8d27649"}, + {file = "frozenlist-1.3.3-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:810860bb4bdce7557bc0febb84bbd88198b9dbc2022d8eebe5b3590b2ad6c842"}, + {file = "frozenlist-1.3.3-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:ee78feb9d293c323b59a6f2dd441b63339a30edf35abcb51187d2fc26e696d13"}, + {file = "frozenlist-1.3.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:0af2e7c87d35b38732e810befb9d797a99279cbb85374d42ea61c1e9d23094b3"}, + {file = "frozenlist-1.3.3-cp38-cp38-win32.whl", hash = "sha256:899c5e1928eec13fd6f6d8dc51be23f0d09c5281e40d9cf4273d188d9feeaf9b"}, + {file = "frozenlist-1.3.3-cp38-cp38-win_amd64.whl", hash = "sha256:7f44e24fa70f6fbc74aeec3e971f60a14dde85da364aa87f15d1be94ae75aeef"}, + {file = "frozenlist-1.3.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:2b07ae0c1edaa0a36339ec6cce700f51b14a3fc6545fdd32930d2c83917332cf"}, + {file = "frozenlist-1.3.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ebb86518203e12e96af765ee89034a1dbb0c3c65052d1b0c19bbbd6af8a145e1"}, + {file = "frozenlist-1.3.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5cf820485f1b4c91e0417ea0afd41ce5cf5965011b3c22c400f6d144296ccbc0"}, + {file = "frozenlist-1.3.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c11e43016b9024240212d2a65043b70ed8dfd3b52678a1271972702d990ac6d"}, + {file = "frozenlist-1.3.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8fa3c6e3305aa1146b59a09b32b2e04074945ffcfb2f0931836d103a2c38f936"}, + {file = "frozenlist-1.3.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:352bd4c8c72d508778cf05ab491f6ef36149f4d0cb3c56b1b4302852255d05d5"}, + {file = "frozenlist-1.3.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:65a5e4d3aa679610ac6e3569e865425b23b372277f89b5ef06cf2cdaf1ebf22b"}, + {file = "frozenlist-1.3.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1e2c1185858d7e10ff045c496bbf90ae752c28b365fef2c09cf0fa309291669"}, + {file = "frozenlist-1.3.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f163d2fd041c630fed01bc48d28c3ed4a3b003c00acd396900e11ee5316b56bb"}, + {file = "frozenlist-1.3.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:05cdb16d09a0832eedf770cb7bd1fe57d8cf4eaf5aced29c4e41e3f20b30a784"}, + {file = "frozenlist-1.3.3-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:8bae29d60768bfa8fb92244b74502b18fae55a80eac13c88eb0b496d4268fd2d"}, + {file = "frozenlist-1.3.3-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:eedab4c310c0299961ac285591acd53dc6723a1ebd90a57207c71f6e0c2153ab"}, + {file = "frozenlist-1.3.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:3bbdf44855ed8f0fbcd102ef05ec3012d6a4fd7c7562403f76ce6a52aeffb2b1"}, + {file = "frozenlist-1.3.3-cp39-cp39-win32.whl", hash = "sha256:efa568b885bca461f7c7b9e032655c0c143d305bf01c30caf6db2854a4532b38"}, + {file = "frozenlist-1.3.3-cp39-cp39-win_amd64.whl", hash = "sha256:cfe33efc9cb900a4c46f91a5ceba26d6df370ffddd9ca386eb1d4f0ad97b9ea9"}, + {file = "frozenlist-1.3.3.tar.gz", hash = "sha256:58bcc55721e8a90b88332d6cd441261ebb22342e238296bb330968952fbb3a6a"}, +] + +[[package]] +name = "future" +version = "0.18.3" +description = "Clean single-source support for Python 3 and 2" +category = "main" +optional = false +python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "future-0.18.3.tar.gz", hash = "sha256:34a17436ed1e96697a86f9de3d15a3b0be01d8bc8de9c1dffd59fb8234ed5307"}, +] + +[[package]] +name = "genie" +version = "22.7" +description = "Genie: THE standard pyATS Library System" +category = "dev" +optional = false +python-versions = ">=3.5" +files = [ + {file = "genie-22.7-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:efe4af764de5280b41d4d7ba843a3ea9ac0f23970f54476f2ca8be1a7dd3fe68"}, + {file = "genie-22.7-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:6b5d4cfe6df892431a6e4d7a7c650aaed475232cc42f59b28147060c09e54073"}, + {file = "genie-22.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f6650ecd11d38de9a608ce9497991a0e293a23712cd5e18f560f49c1b9eeff13"}, + {file = "genie-22.7-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:d7920992c904cc7097143f6b803c0b1147b646939463e5b3e59c8696f96fd27c"}, + {file = "genie-22.7-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:364c4742a15c474732c53c978ae70adbd8ec7faf00458a4a8506b9b57dc5e53c"}, + {file = "genie-22.7-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:daf47a5c025a3e7a48022c26684c2c3c570b70d4a84d95a5cc7c4285ae0cdc91"}, + {file = "genie-22.7-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:45bd8638effdc1a11dff644e012d11518d72f770a94869503f7231b2c19e1666"}, + {file = "genie-22.7-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:b3692d22678175345b1f012b5e5817127927a11860ed3d23992735f9c373c35c"}, + {file = "genie-22.7-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:f8d3033308287dfcd52ee9c205611b71ded2c87b21234bcec82e9584c311289a"}, + {file = "genie-22.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8ebcb7e3b0be4dfb3c86648787146b9749020e07ba7ac7f28f7cc8273b6b3840"}, + {file = "genie-22.7-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:5cf1d2a926c4e6f19c39c977e4a2c436b497305814d946d5b1d215b68ccabc12"}, + {file = "genie-22.7-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:f44a04d985dae5dd1e0da2436fc77dd623807ad4a85fb047325ff42cc98f2709"}, + {file = "genie-22.7-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:bb4a86797924c7a108816d37680fe87e3fc17030c772857472f2a4cc241694c0"}, + {file = "genie-22.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e34241f2af8daf13ff86abad4d22cd0756d49076b3eedf3391f5ac8fe43ff3b9"}, + {file = "genie-22.7-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:6d3c4301e345e08d81c82e4a1c88c7a400173f31b004aaed0fdc5fb6c47427b5"}, +] + +[package.dependencies] +dill = "*" +"genie.libs.clean" = ">=22.7.0,<22.8.0" +"genie.libs.conf" = ">=22.7.0,<22.8.0" +"genie.libs.filetransferutils" = ">=22.7.0,<22.8.0" +"genie.libs.health" = ">=22.7.0,<22.8.0" +"genie.libs.ops" = ">=22.7.0,<22.8.0" +"genie.libs.parser" = ">=22.7.0,<22.8.0" +"genie.libs.sdk" = ">=22.7.0,<22.8.0" +jsonpickle = "*" +netaddr = "*" +PrettyTable = "*" +tqdm = "*" + +[package.extras] +dev = ["Sphinx", "coverage", "restview", "sphinx-rtd-theme"] +full = ["genie.libs.clean", "genie.libs.conf", "genie.libs.filetransferutils", "genie.libs.health", "genie.libs.ops", "genie.libs.parser", "genie.libs.robot (>=22.7.0,<22.8.0)", "genie.libs.sdk", "genie.telemetry (>=22.7.0,<22.8.0)", "genie.trafficgen (>=22.7.0,<22.8.0)", "pyats.robot (>=22.7.0,<22.8.0)"] +robot = ["genie.libs.robot (>=22.7.0,<22.8.0)", "pyats.robot (>=22.7.0,<22.8.0)"] + +[[package]] +name = "genie-libs-clean" +version = "22.7" +description = "Genie Library for device clean support" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "genie.libs.clean-22.7-py3-none-any.whl", hash = "sha256:47af4e74b936ed00f4255200fac15fa814cf0c80145e90952bfcbc5eba025661"}, +] + +[package.dependencies] +genie = "*" +setuptools = "*" +wheel = "*" + +[package.extras] +dev = ["Sphinx", "coverage", "paramiko", "restview", "sphinx-rtd-theme", "sphinxcontrib-mockautodoc"] + +[[package]] +name = "genie-libs-conf" +version = "22.7" +description = "Genie libs Conf: Libraries to configures topology through Python object attributes" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "genie.libs.conf-22.7-py3-none-any.whl", hash = "sha256:a8810c71e54952ecb946ee74cc87a68f681a5f542a33d472961d9effd26dce43"}, +] + +[package.extras] +dev = ["Sphinx", "coverage", "restview", "sphinx-rtd-theme"] + +[[package]] +name = "genie-libs-filetransferutils" +version = "22.7" +description = "Genie libs FileTransferUtils: Genie FileTransferUtils Libraries" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "genie.libs.filetransferutils-22.7-py3-none-any.whl", hash = "sha256:009babc2ec170576f08fc78add291fd6cd7c21b124ac43c441b93adae73f9774"}, +] + +[package.dependencies] +pyftpdlib = "*" +tftpy = "<0.8.1" +unicon = "*" + +[package.extras] +dev = ["Sphinx", "coverage", "restview", "sphinx-rtd-theme"] + +[[package]] +name = "genie-libs-health" +version = "22.7" +description = "pyATS Health Check for monitoring device health status" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "genie.libs.health-22.7-py3-none-any.whl", hash = "sha256:b767535ec1a1d1e1e1dbb04a35809129405164db5b8c4efb5e9a4271a1866ebf"}, +] + +[package.dependencies] +genie = "*" +setuptools = "*" +wheel = "*" + +[package.extras] +dev = ["Sphinx", "coverage", "paramiko", "restview", "sphinx-rtd-theme", "sphinxcontrib-mockautodoc"] + +[[package]] +name = "genie-libs-ops" +version = "22.7" +description = "Genie libs Ops: Libraries to retrieve operational state of the topology" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "genie.libs.ops-22.7-py3-none-any.whl", hash = "sha256:3c965f389dda8845760be332c83ca7522be65407aa987fbc76be9da479902cd3"}, +] + +[package.extras] +dev = ["Sphinx", "coverage", "restview", "sphinx-rtd-theme"] + +[[package]] +name = "genie-libs-parser" +version = "22.7" +description = "Genie libs Parser: Genie Parser Libraries" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "genie.libs.parser-22.7-py3-none-any.whl", hash = "sha256:54b70f9571d6259b7c6931ec7a9244f237747cc2ba418dff8e0c2fa3848eb97e"}, +] + +[package.dependencies] +xmltodict = "*" + +[package.extras] +dev = ["Sphinx", "coverage", "restview", "sphinx-rtd-theme"] + +[[package]] +name = "genie-libs-sdk" +version = "22.7" +description = "Genie libs sdk: Libraries containing all Triggers and Verifications" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "genie.libs.sdk-22.7-py3-none-any.whl", hash = "sha256:2bc9ce53d464588a4e5ae2e10beb19cbb79966b819df228ff019585afd3a20af"}, +] + +[package.dependencies] +cisco-gnmi = "*" +protobuf = "<=3.20.1" +"ruamel.yaml" = "*" +"yang.connector" = "*" + +[package.extras] +dev = ["Sphinx", "coverage", "grpcio", "rest.connector", "restview", "sphinx-rtd-theme", "sphinxcontrib-napoleon", "xmltodict", "yang.connector"] + +[[package]] +name = "gitdb" +version = "4.0.10" +description = "Git Object Database" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "gitdb-4.0.10-py3-none-any.whl", hash = "sha256:c286cf298426064079ed96a9e4a9d39e7f3e9bf15ba60701e95f5492f28415c7"}, + {file = "gitdb-4.0.10.tar.gz", hash = "sha256:6eb990b69df4e15bad899ea868dc46572c3f75339735663b81de79b06f17eb9a"}, +] + +[package.dependencies] +smmap = ">=3.0.1,<6" + +[[package]] +name = "gitpython" +version = "3.1.18" +description = "Python Git Library" +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ + {file = "GitPython-3.1.18-py3-none-any.whl", hash = "sha256:fce760879cd2aebd2991b3542876dc5c4a909b30c9d69dfc488e504a8db37ee8"}, + {file = "GitPython-3.1.18.tar.gz", hash = "sha256:b838a895977b45ab6f0cc926a9045c8d1c44e2b653c1fcc39fe91f42c6e8f05b"}, +] + +[package.dependencies] +gitdb = ">=4.0.1,<5" +typing-extensions = {version = ">=3.7.4.0", markers = "python_version < \"3.8\""} + +[[package]] +name = "grpcio" +version = "1.51.1" +description = "HTTP/2-based RPC framework" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "grpcio-1.51.1-cp310-cp310-linux_armv7l.whl", hash = "sha256:cc2bece1737b44d878cc1510ea04469a8073dbbcdd762175168937ae4742dfb3"}, + {file = "grpcio-1.51.1-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:e223a9793522680beae44671b9ed8f6d25bbe5ddf8887e66aebad5e0686049ef"}, + {file = "grpcio-1.51.1-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:24ac1154c4b2ab4a0c5326a76161547e70664cd2c39ba75f00fc8a2170964ea2"}, + {file = "grpcio-1.51.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e4ef09f8997c4be5f3504cefa6b5c6cc3cf648274ce3cede84d4342a35d76db6"}, + {file = "grpcio-1.51.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8a0b77e992c64880e6efbe0086fe54dfc0bbd56f72a92d9e48264dcd2a3db98"}, + {file = "grpcio-1.51.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:eacad297ea60c72dd280d3353d93fb1dcca952ec11de6bb3c49d12a572ba31dd"}, + {file = "grpcio-1.51.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:16c71740640ba3a882f50b01bf58154681d44b51f09a5728180a8fdc66c67bd5"}, + {file = "grpcio-1.51.1-cp310-cp310-win32.whl", hash = "sha256:29cb97d41a4ead83b7bcad23bdb25bdd170b1e2cba16db6d3acbb090bc2de43c"}, + {file = "grpcio-1.51.1-cp310-cp310-win_amd64.whl", hash = "sha256:9ff42c5620b4e4530609e11afefa4a62ca91fa0abb045a8957e509ef84e54d30"}, + {file = "grpcio-1.51.1-cp311-cp311-linux_armv7l.whl", hash = "sha256:bc59f7ba87972ab236f8669d8ca7400f02a0eadf273ca00e02af64d588046f02"}, + {file = "grpcio-1.51.1-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:3c2b3842dcf870912da31a503454a33a697392f60c5e2697c91d133130c2c85d"}, + {file = "grpcio-1.51.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22b011674090594f1f3245960ced7386f6af35485a38901f8afee8ad01541dbd"}, + {file = "grpcio-1.51.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49d680356a975d9c66a678eb2dde192d5dc427a7994fb977363634e781614f7c"}, + {file = "grpcio-1.51.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:094e64236253590d9d4075665c77b329d707b6fca864dd62b144255e199b4f87"}, + {file = "grpcio-1.51.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:257478300735ce3c98d65a930bbda3db172bd4e00968ba743e6a1154ea6edf10"}, + {file = "grpcio-1.51.1-cp311-cp311-win32.whl", hash = "sha256:5a6ebcdef0ef12005d56d38be30f5156d1cb3373b52e96f147f4a24b0ddb3a9d"}, + {file = "grpcio-1.51.1-cp311-cp311-win_amd64.whl", hash = "sha256:3f9b0023c2c92bebd1be72cdfca23004ea748be1813a66d684d49d67d836adde"}, + {file = "grpcio-1.51.1-cp37-cp37m-linux_armv7l.whl", hash = "sha256:cd3baccea2bc5c38aeb14e5b00167bd4e2373a373a5e4d8d850bd193edad150c"}, + {file = "grpcio-1.51.1-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:17ec9b13cec4a286b9e606b48191e560ca2f3bbdf3986f91e480a95d1582e1a7"}, + {file = "grpcio-1.51.1-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:fbdbe9a849854fe484c00823f45b7baab159bdd4a46075302281998cb8719df5"}, + {file = "grpcio-1.51.1-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:31bb6bc7ff145e2771c9baf612f4b9ebbc9605ccdc5f3ff3d5553de7fc0e0d79"}, + {file = "grpcio-1.51.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e473525c28251558337b5c1ad3fa969511e42304524a4e404065e165b084c9e4"}, + {file = "grpcio-1.51.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:6f0b89967ee11f2b654c23b27086d88ad7bf08c0b3c2a280362f28c3698b2896"}, + {file = "grpcio-1.51.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:7942b32a291421460d6a07883033e392167d30724aa84987e6956cd15f1a21b9"}, + {file = "grpcio-1.51.1-cp37-cp37m-win32.whl", hash = "sha256:f96ace1540223f26fbe7c4ebbf8a98e3929a6aa0290c8033d12526847b291c0f"}, + {file = "grpcio-1.51.1-cp37-cp37m-win_amd64.whl", hash = "sha256:f1fec3abaf274cdb85bf3878167cfde5ad4a4d97c68421afda95174de85ba813"}, + {file = "grpcio-1.51.1-cp38-cp38-linux_armv7l.whl", hash = "sha256:0e1a9e1b4a23808f1132aa35f968cd8e659f60af3ffd6fb00bcf9a65e7db279f"}, + {file = "grpcio-1.51.1-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:6df3b63538c362312bc5fa95fb965069c65c3ea91d7ce78ad9c47cab57226f54"}, + {file = "grpcio-1.51.1-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:172405ca6bdfedd6054c74c62085946e45ad4d9cec9f3c42b4c9a02546c4c7e9"}, + {file = "grpcio-1.51.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:506b9b7a4cede87d7219bfb31014d7b471cfc77157da9e820a737ec1ea4b0663"}, + {file = "grpcio-1.51.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0fb93051331acbb75b49a2a0fd9239c6ba9528f6bdc1dd400ad1cb66cf864292"}, + {file = "grpcio-1.51.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5dca372268c6ab6372d37d6b9f9343e7e5b4bc09779f819f9470cd88b2ece3c3"}, + {file = "grpcio-1.51.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:471d39d3370ca923a316d49c8aac66356cea708a11e647e3bdc3d0b5de4f0a40"}, + {file = "grpcio-1.51.1-cp38-cp38-win32.whl", hash = "sha256:75e29a90dc319f0ad4d87ba6d20083615a00d8276b51512e04ad7452b5c23b04"}, + {file = "grpcio-1.51.1-cp38-cp38-win_amd64.whl", hash = "sha256:f1158bccbb919da42544a4d3af5d9296a3358539ffa01018307337365a9a0c64"}, + {file = "grpcio-1.51.1-cp39-cp39-linux_armv7l.whl", hash = "sha256:59dffade859f157bcc55243714d57b286da6ae16469bf1ac0614d281b5f49b67"}, + {file = "grpcio-1.51.1-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:dad6533411d033b77f5369eafe87af8583178efd4039c41d7515d3336c53b4f1"}, + {file = "grpcio-1.51.1-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:4c4423ea38a7825b8fed8934d6d9aeebdf646c97e3c608c3b0bcf23616f33877"}, + {file = "grpcio-1.51.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0dc5354e38e5adf2498312f7241b14c7ce3484eefa0082db4297189dcbe272e6"}, + {file = "grpcio-1.51.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97d67983189e2e45550eac194d6234fc38b8c3b5396c153821f2d906ed46e0ce"}, + {file = "grpcio-1.51.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:538d981818e49b6ed1e9c8d5e5adf29f71c4e334e7d459bf47e9b7abb3c30e09"}, + {file = "grpcio-1.51.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9235dcd5144a83f9ca6f431bd0eccc46b90e2c22fe27b7f7d77cabb2fb515595"}, + {file = "grpcio-1.51.1-cp39-cp39-win32.whl", hash = "sha256:aacb54f7789ede5cbf1d007637f792d3e87f1c9841f57dd51abf89337d1b8472"}, + {file = "grpcio-1.51.1-cp39-cp39-win_amd64.whl", hash = "sha256:2b170eaf51518275c9b6b22ccb59450537c5a8555326fd96ff7391b5dd75303c"}, + {file = "grpcio-1.51.1.tar.gz", hash = "sha256:e6dfc2b6567b1c261739b43d9c59d201c1b89e017afd9e684d85aa7a186c9f7a"}, +] + +[package.extras] +protobuf = ["grpcio-tools (>=1.51.1)"] + +[[package]] +name = "idna" +version = "3.4" +description = "Internationalized Domain Names in Applications (IDNA)" +category = "dev" +optional = false +python-versions = ">=3.5" +files = [ + {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, + {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, +] + +[[package]] +name = "importlib-metadata" +version = "4.13.0" +description = "Read metadata from Python packages" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "importlib_metadata-4.13.0-py3-none-any.whl", hash = "sha256:8a8a81bcf996e74fee46f0d16bd3eaa382a7eb20fd82445c3ad11f4090334116"}, + {file = "importlib_metadata-4.13.0.tar.gz", hash = "sha256:dd0173e8f150d6815e098fd354f6414b0f079af4644ddfe90c71e2fc6174346d"}, +] + +[package.dependencies] +typing-extensions = {version = ">=3.6.4", markers = "python_version < \"3.8\""} +zipp = ">=0.5" + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] +perf = ["ipython"] +testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)"] + +[[package]] +name = "iniconfig" +version = "2.0.0" +description = "brain-dead simple config-ini parsing" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, + {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, +] + +[[package]] +name = "jinja2" +version = "3.1.2" +description = "A very fast and expressive template engine." +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, + {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, +] + +[package.dependencies] +MarkupSafe = ">=2.0" + +[package.extras] +i18n = ["Babel (>=2.7)"] + +[[package]] +name = "jsonpickle" +version = "3.0.1" +description = "Python library for serializing any arbitrary object graph into JSON" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "jsonpickle-3.0.1-py2.py3-none-any.whl", hash = "sha256:130d8b293ea0add3845de311aaba55e6d706d0bb17bc123bd2c8baf8a39ac77c"}, + {file = "jsonpickle-3.0.1.tar.gz", hash = "sha256:032538804795e73b94ead410800ac387fdb6de98f8882ac957fcd247e3a85200"}, +] + +[package.dependencies] +importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} + +[package.extras] +docs = ["jaraco.packaging (>=3.2)", "rst.linker (>=1.9)", "sphinx"] +testing = ["ecdsa", "feedparser", "gmpy2", "numpy", "pandas", "pymongo", "pytest (>=3.5,!=3.7.3)", "pytest-black-multipy", "pytest-checkdocs (>=1.2.3)", "pytest-cov", "pytest-flake8 (>=1.1.1)", "scikit-learn", "sqlalchemy"] +testing-libs = ["simplejson", "ujson"] + +[[package]] +name = "junit-xml" +version = "1.9" +description = "Creates JUnit XML test result documents that can be read by tools such as Jenkins" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "junit-xml-1.9.tar.gz", hash = "sha256:de16a051990d4e25a3982b2dd9e89d671067548718866416faec14d9de56db9f"}, + {file = "junit_xml-1.9-py2.py3-none-any.whl", hash = "sha256:ec5ca1a55aefdd76d28fcc0b135251d156c7106fa979686a4b48d62b761b4732"}, +] + +[package.dependencies] +six = "*" + +[[package]] +name = "lxml" +version = "4.9.2" +description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, != 3.4.*" +files = [ + {file = "lxml-4.9.2-cp27-cp27m-macosx_10_15_x86_64.whl", hash = "sha256:76cf573e5a365e790396a5cc2b909812633409306c6531a6877c59061e42c4f2"}, + {file = "lxml-4.9.2-cp27-cp27m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b1f42b6921d0e81b1bcb5e395bc091a70f41c4d4e55ba99c6da2b31626c44892"}, + {file = "lxml-4.9.2-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:9f102706d0ca011de571de32c3247c6476b55bb6bc65a20f682f000b07a4852a"}, + {file = "lxml-4.9.2-cp27-cp27m-win32.whl", hash = "sha256:8d0b4612b66ff5d62d03bcaa043bb018f74dfea51184e53f067e6fdcba4bd8de"}, + {file = "lxml-4.9.2-cp27-cp27m-win_amd64.whl", hash = "sha256:4c8f293f14abc8fd3e8e01c5bd86e6ed0b6ef71936ded5bf10fe7a5efefbaca3"}, + {file = "lxml-4.9.2-cp27-cp27mu-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2899456259589aa38bfb018c364d6ae7b53c5c22d8e27d0ec7609c2a1ff78b50"}, + {file = "lxml-4.9.2-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6749649eecd6a9871cae297bffa4ee76f90b4504a2a2ab528d9ebe912b101975"}, + {file = "lxml-4.9.2-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:a08cff61517ee26cb56f1e949cca38caabe9ea9fbb4b1e10a805dc39844b7d5c"}, + {file = "lxml-4.9.2-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:85cabf64adec449132e55616e7ca3e1000ab449d1d0f9d7f83146ed5bdcb6d8a"}, + {file = "lxml-4.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:8340225bd5e7a701c0fa98284c849c9b9fc9238abf53a0ebd90900f25d39a4e4"}, + {file = "lxml-4.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:1ab8f1f932e8f82355e75dda5413a57612c6ea448069d4fb2e217e9a4bed13d4"}, + {file = "lxml-4.9.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:699a9af7dffaf67deeae27b2112aa06b41c370d5e7633e0ee0aea2e0b6c211f7"}, + {file = "lxml-4.9.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b9cc34af337a97d470040f99ba4282f6e6bac88407d021688a5d585e44a23184"}, + {file = "lxml-4.9.2-cp310-cp310-win32.whl", hash = "sha256:d02a5399126a53492415d4906ab0ad0375a5456cc05c3fc0fc4ca11771745cda"}, + {file = "lxml-4.9.2-cp310-cp310-win_amd64.whl", hash = "sha256:a38486985ca49cfa574a507e7a2215c0c780fd1778bb6290c21193b7211702ab"}, + {file = "lxml-4.9.2-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:c83203addf554215463b59f6399835201999b5e48019dc17f182ed5ad87205c9"}, + {file = "lxml-4.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:2a87fa548561d2f4643c99cd13131acb607ddabb70682dcf1dff5f71f781a4bf"}, + {file = "lxml-4.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:d6b430a9938a5a5d85fc107d852262ddcd48602c120e3dbb02137c83d212b380"}, + {file = "lxml-4.9.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:3efea981d956a6f7173b4659849f55081867cf897e719f57383698af6f618a92"}, + {file = "lxml-4.9.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:df0623dcf9668ad0445e0558a21211d4e9a149ea8f5666917c8eeec515f0a6d1"}, + {file = "lxml-4.9.2-cp311-cp311-win32.whl", hash = "sha256:da248f93f0418a9e9d94b0080d7ebc407a9a5e6d0b57bb30db9b5cc28de1ad33"}, + {file = "lxml-4.9.2-cp311-cp311-win_amd64.whl", hash = "sha256:3818b8e2c4b5148567e1b09ce739006acfaa44ce3156f8cbbc11062994b8e8dd"}, + {file = "lxml-4.9.2-cp35-cp35m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ca989b91cf3a3ba28930a9fc1e9aeafc2a395448641df1f387a2d394638943b0"}, + {file = "lxml-4.9.2-cp35-cp35m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:822068f85e12a6e292803e112ab876bc03ed1f03dddb80154c395f891ca6b31e"}, + {file = "lxml-4.9.2-cp35-cp35m-win32.whl", hash = "sha256:be7292c55101e22f2a3d4d8913944cbea71eea90792bf914add27454a13905df"}, + {file = "lxml-4.9.2-cp35-cp35m-win_amd64.whl", hash = "sha256:998c7c41910666d2976928c38ea96a70d1aa43be6fe502f21a651e17483a43c5"}, + {file = "lxml-4.9.2-cp36-cp36m-macosx_10_15_x86_64.whl", hash = "sha256:b26a29f0b7fc6f0897f043ca366142d2b609dc60756ee6e4e90b5f762c6adc53"}, + {file = "lxml-4.9.2-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:ab323679b8b3030000f2be63e22cdeea5b47ee0abd2d6a1dc0c8103ddaa56cd7"}, + {file = "lxml-4.9.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:689bb688a1db722485e4610a503e3e9210dcc20c520b45ac8f7533c837be76fe"}, + {file = "lxml-4.9.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:f49e52d174375a7def9915c9f06ec4e569d235ad428f70751765f48d5926678c"}, + {file = "lxml-4.9.2-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:36c3c175d34652a35475a73762b545f4527aec044910a651d2bf50de9c3352b1"}, + {file = "lxml-4.9.2-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a35f8b7fa99f90dd2f5dc5a9fa12332642f087a7641289ca6c40d6e1a2637d8e"}, + {file = "lxml-4.9.2-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:58bfa3aa19ca4c0f28c5dde0ff56c520fbac6f0daf4fac66ed4c8d2fb7f22e74"}, + {file = "lxml-4.9.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:bc718cd47b765e790eecb74d044cc8d37d58562f6c314ee9484df26276d36a38"}, + {file = "lxml-4.9.2-cp36-cp36m-win32.whl", hash = "sha256:d5bf6545cd27aaa8a13033ce56354ed9e25ab0e4ac3b5392b763d8d04b08e0c5"}, + {file = "lxml-4.9.2-cp36-cp36m-win_amd64.whl", hash = "sha256:3ab9fa9d6dc2a7f29d7affdf3edebf6ece6fb28a6d80b14c3b2fb9d39b9322c3"}, + {file = "lxml-4.9.2-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:05ca3f6abf5cf78fe053da9b1166e062ade3fa5d4f92b4ed688127ea7d7b1d03"}, + {file = "lxml-4.9.2-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:a5da296eb617d18e497bcf0a5c528f5d3b18dadb3619fbdadf4ed2356ef8d941"}, + {file = "lxml-4.9.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:04876580c050a8c5341d706dd464ff04fd597095cc8c023252566a8826505726"}, + {file = "lxml-4.9.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:c9ec3eaf616d67db0764b3bb983962b4f385a1f08304fd30c7283954e6a7869b"}, + {file = "lxml-4.9.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2a29ba94d065945944016b6b74e538bdb1751a1db6ffb80c9d3c2e40d6fa9894"}, + {file = "lxml-4.9.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a82d05da00a58b8e4c0008edbc8a4b6ec5a4bc1e2ee0fb6ed157cf634ed7fa45"}, + {file = "lxml-4.9.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:223f4232855ade399bd409331e6ca70fb5578efef22cf4069a6090acc0f53c0e"}, + {file = "lxml-4.9.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d17bc7c2ccf49c478c5bdd447594e82692c74222698cfc9b5daae7ae7e90743b"}, + {file = "lxml-4.9.2-cp37-cp37m-win32.whl", hash = "sha256:b64d891da92e232c36976c80ed7ebb383e3f148489796d8d31a5b6a677825efe"}, + {file = "lxml-4.9.2-cp37-cp37m-win_amd64.whl", hash = "sha256:a0a336d6d3e8b234a3aae3c674873d8f0e720b76bc1d9416866c41cd9500ffb9"}, + {file = "lxml-4.9.2-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:da4dd7c9c50c059aba52b3524f84d7de956f7fef88f0bafcf4ad7dde94a064e8"}, + {file = "lxml-4.9.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:821b7f59b99551c69c85a6039c65b75f5683bdc63270fec660f75da67469ca24"}, + {file = "lxml-4.9.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:e5168986b90a8d1f2f9dc1b841467c74221bd752537b99761a93d2d981e04889"}, + {file = "lxml-4.9.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:8e20cb5a47247e383cf4ff523205060991021233ebd6f924bca927fcf25cf86f"}, + {file = "lxml-4.9.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:13598ecfbd2e86ea7ae45ec28a2a54fb87ee9b9fdb0f6d343297d8e548392c03"}, + {file = "lxml-4.9.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:880bbbcbe2fca64e2f4d8e04db47bcdf504936fa2b33933efd945e1b429bea8c"}, + {file = "lxml-4.9.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:7d2278d59425777cfcb19735018d897ca8303abe67cc735f9f97177ceff8027f"}, + {file = "lxml-4.9.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5344a43228767f53a9df6e5b253f8cdca7dfc7b7aeae52551958192f56d98457"}, + {file = "lxml-4.9.2-cp38-cp38-win32.whl", hash = "sha256:925073b2fe14ab9b87e73f9a5fde6ce6392da430f3004d8b72cc86f746f5163b"}, + {file = "lxml-4.9.2-cp38-cp38-win_amd64.whl", hash = "sha256:9b22c5c66f67ae00c0199f6055705bc3eb3fcb08d03d2ec4059a2b1b25ed48d7"}, + {file = "lxml-4.9.2-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:5f50a1c177e2fa3ee0667a5ab79fdc6b23086bc8b589d90b93b4bd17eb0e64d1"}, + {file = "lxml-4.9.2-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:090c6543d3696cbe15b4ac6e175e576bcc3f1ccfbba970061b7300b0c15a2140"}, + {file = "lxml-4.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:63da2ccc0857c311d764e7d3d90f429c252e83b52d1f8f1d1fe55be26827d1f4"}, + {file = "lxml-4.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:5b4545b8a40478183ac06c073e81a5ce4cf01bf1734962577cf2bb569a5b3bbf"}, + {file = "lxml-4.9.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2e430cd2824f05f2d4f687701144556646bae8f249fd60aa1e4c768ba7018947"}, + {file = "lxml-4.9.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6804daeb7ef69e7b36f76caddb85cccd63d0c56dedb47555d2fc969e2af6a1a5"}, + {file = "lxml-4.9.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:a6e441a86553c310258aca15d1c05903aaf4965b23f3bc2d55f200804e005ee5"}, + {file = "lxml-4.9.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ca34efc80a29351897e18888c71c6aca4a359247c87e0b1c7ada14f0ab0c0fb2"}, + {file = "lxml-4.9.2-cp39-cp39-win32.whl", hash = "sha256:6b418afe5df18233fc6b6093deb82a32895b6bb0b1155c2cdb05203f583053f1"}, + {file = "lxml-4.9.2-cp39-cp39-win_amd64.whl", hash = "sha256:f1496ea22ca2c830cbcbd473de8f114a320da308438ae65abad6bab7867fe38f"}, + {file = "lxml-4.9.2-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:b264171e3143d842ded311b7dccd46ff9ef34247129ff5bf5066123c55c2431c"}, + {file = "lxml-4.9.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:0dc313ef231edf866912e9d8f5a042ddab56c752619e92dfd3a2c277e6a7299a"}, + {file = "lxml-4.9.2-pp38-pypy38_pp73-macosx_10_15_x86_64.whl", hash = "sha256:16efd54337136e8cd72fb9485c368d91d77a47ee2d42b057564aae201257d419"}, + {file = "lxml-4.9.2-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:0f2b1e0d79180f344ff9f321327b005ca043a50ece8713de61d1cb383fb8ac05"}, + {file = "lxml-4.9.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:7b770ed79542ed52c519119473898198761d78beb24b107acf3ad65deae61f1f"}, + {file = "lxml-4.9.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:efa29c2fe6b4fdd32e8ef81c1528506895eca86e1d8c4657fda04c9b3786ddf9"}, + {file = "lxml-4.9.2-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7e91ee82f4199af8c43d8158024cbdff3d931df350252288f0d4ce656df7f3b5"}, + {file = "lxml-4.9.2-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:b23e19989c355ca854276178a0463951a653309fb8e57ce674497f2d9f208746"}, + {file = "lxml-4.9.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:01d36c05f4afb8f7c20fd9ed5badca32a2029b93b1750f571ccc0b142531caf7"}, + {file = "lxml-4.9.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7b515674acfdcadb0eb5d00d8a709868173acece5cb0be3dd165950cbfdf5409"}, + {file = "lxml-4.9.2.tar.gz", hash = "sha256:2455cfaeb7ac70338b3257f41e21f0724f4b5b0c0e7702da67ee6c3640835b67"}, +] + +[package.extras] +cssselect = ["cssselect (>=0.7)"] +html5 = ["html5lib"] +htmlsoup = ["BeautifulSoup4"] +source = ["Cython (>=0.29.7)"] + +[[package]] +name = "mako" +version = "1.2.4" +description = "A super-fast templating language that borrows the best ideas from the existing templating languages." +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "Mako-1.2.4-py3-none-any.whl", hash = "sha256:c97c79c018b9165ac9922ae4f32da095ffd3c4e6872b45eded42926deea46818"}, + {file = "Mako-1.2.4.tar.gz", hash = "sha256:d60a3903dc3bb01a18ad6a89cdbe2e4eadc69c0bc8ef1e3773ba53d44c3f7a34"}, +] + +[package.dependencies] +importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} +MarkupSafe = ">=0.9.2" + +[package.extras] +babel = ["Babel"] +lingua = ["lingua"] +testing = ["pytest"] + +[[package]] +name = "markdown" +version = "3.4.1" +description = "Python implementation of Markdown." +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "Markdown-3.4.1-py3-none-any.whl", hash = "sha256:08fb8465cffd03d10b9dd34a5c3fea908e20391a2a90b88d66362cb05beed186"}, + {file = "Markdown-3.4.1.tar.gz", hash = "sha256:3b809086bb6efad416156e00a0da66fe47618a5d6918dd688f53f40c8e4cfeff"}, +] + +[package.dependencies] +importlib-metadata = {version = ">=4.4", markers = "python_version < \"3.10\""} + +[package.extras] +testing = ["coverage", "pyyaml"] + +[[package]] +name = "markupsafe" +version = "2.1.2" +description = "Safely add untrusted strings to HTML/XML markup." +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:665a36ae6f8f20a4676b53224e33d456a6f5a72657d9c83c2aa00765072f31f7"}, + {file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:340bea174e9761308703ae988e982005aedf427de816d1afe98147668cc03036"}, + {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22152d00bf4a9c7c83960521fc558f55a1adbc0631fbb00a9471e097b19d72e1"}, + {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28057e985dace2f478e042eaa15606c7efccb700797660629da387eb289b9323"}, + {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca244fa73f50a800cf8c3ebf7fd93149ec37f5cb9596aa8873ae2c1d23498601"}, + {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d9d971ec1e79906046aa3ca266de79eac42f1dbf3612a05dc9368125952bd1a1"}, + {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7e007132af78ea9df29495dbf7b5824cb71648d7133cf7848a2a5dd00d36f9ff"}, + {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7313ce6a199651c4ed9d7e4cfb4aa56fe923b1adf9af3b420ee14e6d9a73df65"}, + {file = "MarkupSafe-2.1.2-cp310-cp310-win32.whl", hash = "sha256:c4a549890a45f57f1ebf99c067a4ad0cb423a05544accaf2b065246827ed9603"}, + {file = "MarkupSafe-2.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:835fb5e38fd89328e9c81067fd642b3593c33e1e17e2fdbf77f5676abb14a156"}, + {file = "MarkupSafe-2.1.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2ec4f2d48ae59bbb9d1f9d7efb9236ab81429a764dedca114f5fdabbc3788013"}, + {file = "MarkupSafe-2.1.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:608e7073dfa9e38a85d38474c082d4281f4ce276ac0010224eaba11e929dd53a"}, + {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:65608c35bfb8a76763f37036547f7adfd09270fbdbf96608be2bead319728fcd"}, + {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2bfb563d0211ce16b63c7cb9395d2c682a23187f54c3d79bfec33e6705473c6"}, + {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:da25303d91526aac3672ee6d49a2f3db2d9502a4a60b55519feb1a4c7714e07d"}, + {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9cad97ab29dfc3f0249b483412c85c8ef4766d96cdf9dcf5a1e3caa3f3661cf1"}, + {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:085fd3201e7b12809f9e6e9bc1e5c96a368c8523fad5afb02afe3c051ae4afcc"}, + {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1bea30e9bf331f3fef67e0a3877b2288593c98a21ccb2cf29b74c581a4eb3af0"}, + {file = "MarkupSafe-2.1.2-cp311-cp311-win32.whl", hash = "sha256:7df70907e00c970c60b9ef2938d894a9381f38e6b9db73c5be35e59d92e06625"}, + {file = "MarkupSafe-2.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:e55e40ff0cc8cc5c07996915ad367fa47da6b3fc091fdadca7f5403239c5fec3"}, + {file = "MarkupSafe-2.1.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a6e40afa7f45939ca356f348c8e23048e02cb109ced1eb8420961b2f40fb373a"}, + {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf877ab4ed6e302ec1d04952ca358b381a882fbd9d1b07cccbfd61783561f98a"}, + {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63ba06c9941e46fa389d389644e2d8225e0e3e5ebcc4ff1ea8506dce646f8c8a"}, + {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f1cd098434e83e656abf198f103a8207a8187c0fc110306691a2e94a78d0abb2"}, + {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:55f44b440d491028addb3b88f72207d71eeebfb7b5dbf0643f7c023ae1fba619"}, + {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:a6f2fcca746e8d5910e18782f976489939d54a91f9411c32051b4aab2bd7c513"}, + {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0b462104ba25f1ac006fdab8b6a01ebbfbce9ed37fd37fd4acd70c67c973e460"}, + {file = "MarkupSafe-2.1.2-cp37-cp37m-win32.whl", hash = "sha256:7668b52e102d0ed87cb082380a7e2e1e78737ddecdde129acadb0eccc5423859"}, + {file = "MarkupSafe-2.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:6d6607f98fcf17e534162f0709aaad3ab7a96032723d8ac8750ffe17ae5a0666"}, + {file = "MarkupSafe-2.1.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a806db027852538d2ad7555b203300173dd1b77ba116de92da9afbc3a3be3eed"}, + {file = "MarkupSafe-2.1.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a4abaec6ca3ad8660690236d11bfe28dfd707778e2442b45addd2f086d6ef094"}, + {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f03a532d7dee1bed20bc4884194a16160a2de9ffc6354b3878ec9682bb623c54"}, + {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4cf06cdc1dda95223e9d2d3c58d3b178aa5dacb35ee7e3bbac10e4e1faacb419"}, + {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22731d79ed2eb25059ae3df1dfc9cb1546691cc41f4e3130fe6bfbc3ecbbecfa"}, + {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f8ffb705ffcf5ddd0e80b65ddf7bed7ee4f5a441ea7d3419e861a12eaf41af58"}, + {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8db032bf0ce9022a8e41a22598eefc802314e81b879ae093f36ce9ddf39ab1ba"}, + {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2298c859cfc5463f1b64bd55cb3e602528db6fa0f3cfd568d3605c50678f8f03"}, + {file = "MarkupSafe-2.1.2-cp38-cp38-win32.whl", hash = "sha256:50c42830a633fa0cf9e7d27664637532791bfc31c731a87b202d2d8ac40c3ea2"}, + {file = "MarkupSafe-2.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:bb06feb762bade6bf3c8b844462274db0c76acc95c52abe8dbed28ae3d44a147"}, + {file = "MarkupSafe-2.1.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:99625a92da8229df6d44335e6fcc558a5037dd0a760e11d84be2260e6f37002f"}, + {file = "MarkupSafe-2.1.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8bca7e26c1dd751236cfb0c6c72d4ad61d986e9a41bbf76cb445f69488b2a2bd"}, + {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40627dcf047dadb22cd25ea7ecfe9cbf3bbbad0482ee5920b582f3809c97654f"}, + {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40dfd3fefbef579ee058f139733ac336312663c6706d1163b82b3003fb1925c4"}, + {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:090376d812fb6ac5f171e5938e82e7f2d7adc2b629101cec0db8b267815c85e2"}, + {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2e7821bffe00aa6bd07a23913b7f4e01328c3d5cc0b40b36c0bd81d362faeb65"}, + {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:c0a33bc9f02c2b17c3ea382f91b4db0e6cde90b63b296422a939886a7a80de1c"}, + {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b8526c6d437855442cdd3d87eede9c425c4445ea011ca38d937db299382e6fa3"}, + {file = "MarkupSafe-2.1.2-cp39-cp39-win32.whl", hash = "sha256:137678c63c977754abe9086a3ec011e8fd985ab90631145dfb9294ad09c102a7"}, + {file = "MarkupSafe-2.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:0576fe974b40a400449768941d5d0858cc624e3249dfd1e0c33674e5c7ca7aed"}, + {file = "MarkupSafe-2.1.2.tar.gz", hash = "sha256:abcabc8c2b26036d62d4c746381a6f7cf60aafcc653198ad678306986b09450d"}, +] + +[[package]] +name = "mccabe" +version = "0.7.0" +description = "McCabe checker, plugin for flake8" +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ + {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, + {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, +] + +[[package]] +name = "multidict" +version = "6.0.4" +description = "multidict implementation" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "multidict-6.0.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b1a97283e0c85772d613878028fec909f003993e1007eafa715b24b377cb9b8"}, + {file = "multidict-6.0.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:eeb6dcc05e911516ae3d1f207d4b0520d07f54484c49dfc294d6e7d63b734171"}, + {file = "multidict-6.0.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d6d635d5209b82a3492508cf5b365f3446afb65ae7ebd755e70e18f287b0adf7"}, + {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c048099e4c9e9d615545e2001d3d8a4380bd403e1a0578734e0d31703d1b0c0b"}, + {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea20853c6dbbb53ed34cb4d080382169b6f4554d394015f1bef35e881bf83547"}, + {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:16d232d4e5396c2efbbf4f6d4df89bfa905eb0d4dc5b3549d872ab898451f569"}, + {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36c63aaa167f6c6b04ef2c85704e93af16c11d20de1d133e39de6a0e84582a93"}, + {file = "multidict-6.0.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:64bdf1086b6043bf519869678f5f2757f473dee970d7abf6da91ec00acb9cb98"}, + {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:43644e38f42e3af682690876cff722d301ac585c5b9e1eacc013b7a3f7b696a0"}, + {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7582a1d1030e15422262de9f58711774e02fa80df0d1578995c76214f6954988"}, + {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:ddff9c4e225a63a5afab9dd15590432c22e8057e1a9a13d28ed128ecf047bbdc"}, + {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:ee2a1ece51b9b9e7752e742cfb661d2a29e7bcdba2d27e66e28a99f1890e4fa0"}, + {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a2e4369eb3d47d2034032a26c7a80fcb21a2cb22e1173d761a162f11e562caa5"}, + {file = "multidict-6.0.4-cp310-cp310-win32.whl", hash = "sha256:574b7eae1ab267e5f8285f0fe881f17efe4b98c39a40858247720935b893bba8"}, + {file = "multidict-6.0.4-cp310-cp310-win_amd64.whl", hash = "sha256:4dcbb0906e38440fa3e325df2359ac6cb043df8e58c965bb45f4e406ecb162cc"}, + {file = "multidict-6.0.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0dfad7a5a1e39c53ed00d2dd0c2e36aed4650936dc18fd9a1826a5ae1cad6f03"}, + {file = "multidict-6.0.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:64da238a09d6039e3bd39bb3aee9c21a5e34f28bfa5aa22518581f910ff94af3"}, + {file = "multidict-6.0.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ff959bee35038c4624250473988b24f846cbeb2c6639de3602c073f10410ceba"}, + {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01a3a55bd90018c9c080fbb0b9f4891db37d148a0a18722b42f94694f8b6d4c9"}, + {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c5cb09abb18c1ea940fb99360ea0396f34d46566f157122c92dfa069d3e0e982"}, + {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:666daae833559deb2d609afa4490b85830ab0dfca811a98b70a205621a6109fe"}, + {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11bdf3f5e1518b24530b8241529d2050014c884cf18b6fc69c0c2b30ca248710"}, + {file = "multidict-6.0.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7d18748f2d30f94f498e852c67d61261c643b349b9d2a581131725595c45ec6c"}, + {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:458f37be2d9e4c95e2d8866a851663cbc76e865b78395090786f6cd9b3bbf4f4"}, + {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:b1a2eeedcead3a41694130495593a559a668f382eee0727352b9a41e1c45759a"}, + {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7d6ae9d593ef8641544d6263c7fa6408cc90370c8cb2bbb65f8d43e5b0351d9c"}, + {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5979b5632c3e3534e42ca6ff856bb24b2e3071b37861c2c727ce220d80eee9ed"}, + {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:dcfe792765fab89c365123c81046ad4103fcabbc4f56d1c1997e6715e8015461"}, + {file = "multidict-6.0.4-cp311-cp311-win32.whl", hash = "sha256:3601a3cece3819534b11d4efc1eb76047488fddd0c85a3948099d5da4d504636"}, + {file = "multidict-6.0.4-cp311-cp311-win_amd64.whl", hash = "sha256:81a4f0b34bd92df3da93315c6a59034df95866014ac08535fc819f043bfd51f0"}, + {file = "multidict-6.0.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:67040058f37a2a51ed8ea8f6b0e6ee5bd78ca67f169ce6122f3e2ec80dfe9b78"}, + {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:853888594621e6604c978ce2a0444a1e6e70c8d253ab65ba11657659dcc9100f"}, + {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:39ff62e7d0f26c248b15e364517a72932a611a9b75f35b45be078d81bdb86603"}, + {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:af048912e045a2dc732847d33821a9d84ba553f5c5f028adbd364dd4765092ac"}, + {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1e8b901e607795ec06c9e42530788c45ac21ef3aaa11dbd0c69de543bfb79a9"}, + {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62501642008a8b9871ddfccbf83e4222cf8ac0d5aeedf73da36153ef2ec222d2"}, + {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:99b76c052e9f1bc0721f7541e5e8c05db3941eb9ebe7b8553c625ef88d6eefde"}, + {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:509eac6cf09c794aa27bcacfd4d62c885cce62bef7b2c3e8b2e49d365b5003fe"}, + {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:21a12c4eb6ddc9952c415f24eef97e3e55ba3af61f67c7bc388dcdec1404a067"}, + {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:5cad9430ab3e2e4fa4a2ef4450f548768400a2ac635841bc2a56a2052cdbeb87"}, + {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ab55edc2e84460694295f401215f4a58597f8f7c9466faec545093045476327d"}, + {file = "multidict-6.0.4-cp37-cp37m-win32.whl", hash = "sha256:5a4dcf02b908c3b8b17a45fb0f15b695bf117a67b76b7ad18b73cf8e92608775"}, + {file = "multidict-6.0.4-cp37-cp37m-win_amd64.whl", hash = "sha256:6ed5f161328b7df384d71b07317f4d8656434e34591f20552c7bcef27b0ab88e"}, + {file = "multidict-6.0.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5fc1b16f586f049820c5c5b17bb4ee7583092fa0d1c4e28b5239181ff9532e0c"}, + {file = "multidict-6.0.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1502e24330eb681bdaa3eb70d6358e818e8e8f908a22a1851dfd4e15bc2f8161"}, + {file = "multidict-6.0.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b692f419760c0e65d060959df05f2a531945af31fda0c8a3b3195d4efd06de11"}, + {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45e1ecb0379bfaab5eef059f50115b54571acfbe422a14f668fc8c27ba410e7e"}, + {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ddd3915998d93fbcd2566ddf9cf62cdb35c9e093075f862935573d265cf8f65d"}, + {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:59d43b61c59d82f2effb39a93c48b845efe23a3852d201ed2d24ba830d0b4cf2"}, + {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc8e1d0c705233c5dd0c5e6460fbad7827d5d36f310a0fadfd45cc3029762258"}, + {file = "multidict-6.0.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6aa0418fcc838522256761b3415822626f866758ee0bc6632c9486b179d0b52"}, + {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6748717bb10339c4760c1e63da040f5f29f5ed6e59d76daee30305894069a660"}, + {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:4d1a3d7ef5e96b1c9e92f973e43aa5e5b96c659c9bc3124acbbd81b0b9c8a951"}, + {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4372381634485bec7e46718edc71528024fcdc6f835baefe517b34a33c731d60"}, + {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:fc35cb4676846ef752816d5be2193a1e8367b4c1397b74a565a9d0389c433a1d"}, + {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:4b9d9e4e2b37daddb5c23ea33a3417901fa7c7b3dee2d855f63ee67a0b21e5b1"}, + {file = "multidict-6.0.4-cp38-cp38-win32.whl", hash = "sha256:e41b7e2b59679edfa309e8db64fdf22399eec4b0b24694e1b2104fb789207779"}, + {file = "multidict-6.0.4-cp38-cp38-win_amd64.whl", hash = "sha256:d6c254ba6e45d8e72739281ebc46ea5eb5f101234f3ce171f0e9f5cc86991480"}, + {file = "multidict-6.0.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:16ab77bbeb596e14212e7bab8429f24c1579234a3a462105cda4a66904998664"}, + {file = "multidict-6.0.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc779e9e6f7fda81b3f9aa58e3a6091d49ad528b11ed19f6621408806204ad35"}, + {file = "multidict-6.0.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4ceef517eca3e03c1cceb22030a3e39cb399ac86bff4e426d4fc6ae49052cc60"}, + {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:281af09f488903fde97923c7744bb001a9b23b039a909460d0f14edc7bf59706"}, + {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:52f2dffc8acaba9a2f27174c41c9e57f60b907bb9f096b36b1a1f3be71c6284d"}, + {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b41156839806aecb3641f3208c0dafd3ac7775b9c4c422d82ee2a45c34ba81ca"}, + {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5e3fc56f88cc98ef8139255cf8cd63eb2c586531e43310ff859d6bb3a6b51f1"}, + {file = "multidict-6.0.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8316a77808c501004802f9beebde51c9f857054a0c871bd6da8280e718444449"}, + {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f70b98cd94886b49d91170ef23ec5c0e8ebb6f242d734ed7ed677b24d50c82cf"}, + {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bf6774e60d67a9efe02b3616fee22441d86fab4c6d335f9d2051d19d90a40063"}, + {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:e69924bfcdda39b722ef4d9aa762b2dd38e4632b3641b1d9a57ca9cd18f2f83a"}, + {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:6b181d8c23da913d4ff585afd1155a0e1194c0b50c54fcfe286f70cdaf2b7176"}, + {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:52509b5be062d9eafc8170e53026fbc54cf3b32759a23d07fd935fb04fc22d95"}, + {file = "multidict-6.0.4-cp39-cp39-win32.whl", hash = "sha256:27c523fbfbdfd19c6867af7346332b62b586eed663887392cff78d614f9ec313"}, + {file = "multidict-6.0.4-cp39-cp39-win_amd64.whl", hash = "sha256:33029f5734336aa0d4c0384525da0387ef89148dc7191aae00ca5fb23d7aafc2"}, + {file = "multidict-6.0.4.tar.gz", hash = "sha256:3666906492efb76453c0e7b97f2cf459b0682e7402c0489a95484965dbc1da49"}, +] + +[[package]] +name = "mypy" +version = "1.0.0" +description = "Optional static typing for Python" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "mypy-1.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e0626db16705ab9f7fa6c249c017c887baf20738ce7f9129da162bb3075fc1af"}, + {file = "mypy-1.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1ace23f6bb4aec4604b86c4843276e8fa548d667dbbd0cb83a3ae14b18b2db6c"}, + {file = "mypy-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87edfaf344c9401942883fad030909116aa77b0fa7e6e8e1c5407e14549afe9a"}, + {file = "mypy-1.0.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0ab090d9240d6b4e99e1fa998c2d0aa5b29fc0fb06bd30e7ad6183c95fa07593"}, + {file = "mypy-1.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:7cc2c01dfc5a3cbddfa6c13f530ef3b95292f926329929001d45e124342cd6b7"}, + {file = "mypy-1.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:14d776869a3e6c89c17eb943100f7868f677703c8a4e00b3803918f86aafbc52"}, + {file = "mypy-1.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bb2782a036d9eb6b5a6efcdda0986774bf798beef86a62da86cb73e2a10b423d"}, + {file = "mypy-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5cfca124f0ac6707747544c127880893ad72a656e136adc935c8600740b21ff5"}, + {file = "mypy-1.0.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:8845125d0b7c57838a10fd8925b0f5f709d0e08568ce587cc862aacce453e3dd"}, + {file = "mypy-1.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:01b1b9e1ed40544ef486fa8ac022232ccc57109f379611633ede8e71630d07d2"}, + {file = "mypy-1.0.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c7cf862aef988b5fbaa17764ad1d21b4831436701c7d2b653156a9497d92c83c"}, + {file = "mypy-1.0.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5cd187d92b6939617f1168a4fe68f68add749902c010e66fe574c165c742ed88"}, + {file = "mypy-1.0.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:4e5175026618c178dfba6188228b845b64131034ab3ba52acaffa8f6c361f805"}, + {file = "mypy-1.0.0-cp37-cp37m-win_amd64.whl", hash = "sha256:2f6ac8c87e046dc18c7d1d7f6653a66787a4555085b056fe2d599f1f1a2a2d21"}, + {file = "mypy-1.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7306edca1c6f1b5fa0bc9aa645e6ac8393014fa82d0fa180d0ebc990ebe15964"}, + {file = "mypy-1.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3cfad08f16a9c6611e6143485a93de0e1e13f48cfb90bcad7d5fde1c0cec3d36"}, + {file = "mypy-1.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67cced7f15654710386e5c10b96608f1ee3d5c94ca1da5a2aad5889793a824c1"}, + {file = "mypy-1.0.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:a86b794e8a56ada65c573183756eac8ac5b8d3d59daf9d5ebd72ecdbb7867a43"}, + {file = "mypy-1.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:50979d5efff8d4135d9db293c6cb2c42260e70fb010cbc697b1311a4d7a39ddb"}, + {file = "mypy-1.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3ae4c7a99e5153496243146a3baf33b9beff714464ca386b5f62daad601d87af"}, + {file = "mypy-1.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e398652d005a198a7f3c132426b33c6b85d98aa7dc852137a2a3be8890c4072"}, + {file = "mypy-1.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:be78077064d016bc1b639c2cbcc5be945b47b4261a4f4b7d8923f6c69c5c9457"}, + {file = "mypy-1.0.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:92024447a339400ea00ac228369cd242e988dd775640755fa4ac0c126e49bb74"}, + {file = "mypy-1.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:fe523fcbd52c05040c7bee370d66fee8373c5972171e4fbc323153433198592d"}, + {file = "mypy-1.0.0-py3-none-any.whl", hash = "sha256:2efa963bdddb27cb4a0d42545cd137a8d2b883bd181bbc4525b568ef6eca258f"}, + {file = "mypy-1.0.0.tar.gz", hash = "sha256:f34495079c8d9da05b183f9f7daec2878280c2ad7cc81da686ef0b484cea2ecf"}, +] + +[package.dependencies] +mypy-extensions = ">=0.4.3" +tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} +typed-ast = {version = ">=1.4.0,<2", markers = "python_version < \"3.8\""} +typing-extensions = ">=3.10" + +[package.extras] +dmypy = ["psutil (>=4.0)"] +install-types = ["pip"] +python2 = ["typed-ast (>=1.4.0,<2)"] +reports = ["lxml"] + +[[package]] +name = "mypy-extensions" +version = "1.0.0" +description = "Type system extensions for programs checked with the mypy type checker." +category = "dev" +optional = false +python-versions = ">=3.5" +files = [ + {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, + {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, +] + +[[package]] +name = "ncclient" +version = "0.6.13" +description = "Python library for NETCONF clients" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "ncclient-0.6.13.tar.gz", hash = "sha256:f9f8cea8bcbe057e1b948b9cd1b241eafb8a3f73c4981fbdfa1cc6ed69c0a7b3"}, +] + +[package.dependencies] +lxml = ">=3.3.0" +paramiko = ">=1.15.0" +setuptools = ">0.6" +six = "*" + +[[package]] +name = "netaddr" +version = "0.8.0" +description = "A network address manipulation library for Python" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "netaddr-0.8.0-py2.py3-none-any.whl", hash = "sha256:9666d0232c32d2656e5e5f8d735f58fd6c7457ce52fc21c98d45f2af78f990ac"}, + {file = "netaddr-0.8.0.tar.gz", hash = "sha256:d6cc57c7a07b1d9d2e917aa8b36ae8ce61c35ba3fcd1b83ca31c5a0ee2b5a243"}, +] + +[[package]] +name = "ntc-templates" +version = "3.2.0" +description = "TextFSM Templates for Network Devices, and Python wrapper for TextFSM's CliTable." +category = "main" +optional = false +python-versions = ">=3.7,<4.0" +files = [ + {file = "ntc_templates-3.2.0-py3-none-any.whl", hash = "sha256:5aa31eafb1eeb2f58ccab1f4c099c9dd15382a67bab9c3218eab5ffe33183cbb"}, + {file = "ntc_templates-3.2.0.tar.gz", hash = "sha256:ee6abdfef0dd06ba2921b61d6f3321f8dfbdfdccf4a46853703cf7fa393664bc"}, +] + +[package.dependencies] +textfsm = ">=1.1.0,<2.0.0" + +[[package]] +name = "packaging" +version = "23.0" +description = "Core utilities for Python packages" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "packaging-23.0-py3-none-any.whl", hash = "sha256:714ac14496c3e68c99c29b00845f7a2b85f3bb6f1078fd9f72fd20f0570002b2"}, + {file = "packaging-23.0.tar.gz", hash = "sha256:b6ad297f8907de0fa2fe1ccbd26fdaf387f5f47c7275fedf8cce89f99446cf97"}, +] + +[[package]] +name = "paramiko" +version = "3.0.0" +description = "SSH2 protocol library" +category = "main" +optional = false +python-versions = ">=3.6" +files = [ + {file = "paramiko-3.0.0-py3-none-any.whl", hash = "sha256:6bef55b882c9d130f8015b9a26f4bd93f710e90fe7478b9dcc810304e79b3cd8"}, + {file = "paramiko-3.0.0.tar.gz", hash = "sha256:fedc9b1dd43bc1d45f67f1ceca10bc336605427a46dcdf8dec6bfea3edf57965"}, +] + +[package.dependencies] +bcrypt = ">=3.2" +cryptography = ">=3.3" +pynacl = ">=1.5" + +[package.extras] +all = ["gssapi (>=1.4.1)", "invoke (>=2.0)", "pyasn1 (>=0.1.7)", "pywin32 (>=2.1.8)"] +gssapi = ["gssapi (>=1.4.1)", "pyasn1 (>=0.1.7)", "pywin32 (>=2.1.8)"] +invoke = ["invoke (>=2.0)"] + +[[package]] +name = "pathspec" +version = "0.11.0" +description = "Utility library for gitignore style pattern matching of file paths." +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pathspec-0.11.0-py3-none-any.whl", hash = "sha256:3a66eb970cbac598f9e5ccb5b2cf58930cd8e3ed86d393d541eaf2d8b1705229"}, + {file = "pathspec-0.11.0.tar.gz", hash = "sha256:64d338d4e0914e91c1792321e6907b5a593f1ab1851de7fc269557a21b30ebbc"}, +] + +[[package]] +name = "pdoc3" +version = "0.10.0" +description = "Auto-generate API documentation for Python projects." +category = "dev" +optional = false +python-versions = ">= 3.6" +files = [ + {file = "pdoc3-0.10.0-py3-none-any.whl", hash = "sha256:ba45d1ada1bd987427d2bf5cdec30b2631a3ff5fb01f6d0e77648a572ce6028b"}, + {file = "pdoc3-0.10.0.tar.gz", hash = "sha256:5f22e7bcb969006738e1aa4219c75a32f34c2d62d46dc9d2fb2d3e0b0287e4b7"}, +] + +[package.dependencies] +mako = "*" +markdown = ">=3.0" + +[[package]] +name = "pkginfo" +version = "1.9.6" +description = "Query metadata from sdists / bdists / installed packages." +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ + {file = "pkginfo-1.9.6-py3-none-any.whl", hash = "sha256:4b7a555a6d5a22169fcc9cf7bfd78d296b0361adad412a346c1226849af5e546"}, + {file = "pkginfo-1.9.6.tar.gz", hash = "sha256:8fd5896e8718a4372f0ea9cc9d96f6417c9b986e23a4d116dda26b62cc29d046"}, +] + +[package.extras] +testing = ["pytest", "pytest-cov"] + +[[package]] +name = "platformdirs" +version = "3.0.0" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "platformdirs-3.0.0-py3-none-any.whl", hash = "sha256:b1d5eb14f221506f50d6604a561f4c5786d9e80355219694a1b244bcd96f4567"}, + {file = "platformdirs-3.0.0.tar.gz", hash = "sha256:8a1228abb1ef82d788f74139988b137e78692984ec7b08eaa6c65f1723af28f9"}, +] + +[package.dependencies] +typing-extensions = {version = ">=4.4", markers = "python_version < \"3.8\""} + +[package.extras] +docs = ["furo (>=2022.12.7)", "proselint (>=0.13)", "sphinx (>=6.1.3)", "sphinx-autodoc-typehints (>=1.22,!=1.23.4)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.2.2)", "pytest (>=7.2.1)", "pytest-cov (>=4)", "pytest-mock (>=3.10)"] + +[[package]] +name = "pluggy" +version = "1.0.0" +description = "plugin and hook calling mechanisms for python" +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ + {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"}, + {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"}, +] + +[package.dependencies] +importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} + +[package.extras] +dev = ["pre-commit", "tox"] +testing = ["pytest", "pytest-benchmark"] + +[[package]] +name = "ply" +version = "3.11" +description = "Python Lex & Yacc" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "ply-3.11-py2.py3-none-any.whl", hash = "sha256:096f9b8350b65ebd2fd1346b12452efe5b9607f7482813ffca50c22722a807ce"}, + {file = "ply-3.11.tar.gz", hash = "sha256:00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3"}, +] + +[[package]] +name = "prettytable" +version = "3.6.0" +description = "A simple Python library for easily displaying tabular data in a visually appealing ASCII table format" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "prettytable-3.6.0-py3-none-any.whl", hash = "sha256:3b767129491767a3a5108e6f305cbaa650f8020a7db5dfe994a2df7ef7bad0fe"}, + {file = "prettytable-3.6.0.tar.gz", hash = "sha256:2e0026af955b4ea67b22122f310b90eae890738c08cb0458693a49b6221530ac"}, +] + +[package.dependencies] +importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} +wcwidth = "*" + +[package.extras] +tests = ["pytest", "pytest-cov", "pytest-lazy-fixture"] + +[[package]] +name = "protobuf" +version = "3.20.1" +description = "Protocol Buffers" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "protobuf-3.20.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3cc797c9d15d7689ed507b165cd05913acb992d78b379f6014e013f9ecb20996"}, + {file = "protobuf-3.20.1-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:ff8d8fa42675249bb456f5db06c00de6c2f4c27a065955917b28c4f15978b9c3"}, + {file = "protobuf-3.20.1-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:cd68be2559e2a3b84f517fb029ee611546f7812b1fdd0aa2ecc9bc6ec0e4fdde"}, + {file = "protobuf-3.20.1-cp310-cp310-win32.whl", hash = "sha256:9016d01c91e8e625141d24ec1b20fed584703e527d28512aa8c8707f105a683c"}, + {file = "protobuf-3.20.1-cp310-cp310-win_amd64.whl", hash = "sha256:32ca378605b41fd180dfe4e14d3226386d8d1b002ab31c969c366549e66a2bb7"}, + {file = "protobuf-3.20.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:9be73ad47579abc26c12024239d3540e6b765182a91dbc88e23658ab71767153"}, + {file = "protobuf-3.20.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:097c5d8a9808302fb0da7e20edf0b8d4703274d140fd25c5edabddcde43e081f"}, + {file = "protobuf-3.20.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e250a42f15bf9d5b09fe1b293bdba2801cd520a9f5ea2d7fb7536d4441811d20"}, + {file = "protobuf-3.20.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:cdee09140e1cd184ba9324ec1df410e7147242b94b5f8b0c64fc89e38a8ba531"}, + {file = "protobuf-3.20.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:af0ebadc74e281a517141daad9d0f2c5d93ab78e9d455113719a45a49da9db4e"}, + {file = "protobuf-3.20.1-cp37-cp37m-win32.whl", hash = "sha256:755f3aee41354ae395e104d62119cb223339a8f3276a0cd009ffabfcdd46bb0c"}, + {file = "protobuf-3.20.1-cp37-cp37m-win_amd64.whl", hash = "sha256:62f1b5c4cd6c5402b4e2d63804ba49a327e0c386c99b1675c8a0fefda23b2067"}, + {file = "protobuf-3.20.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:06059eb6953ff01e56a25cd02cca1a9649a75a7e65397b5b9b4e929ed71d10cf"}, + {file = "protobuf-3.20.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:cb29edb9eab15742d791e1025dd7b6a8f6fcb53802ad2f6e3adcb102051063ab"}, + {file = "protobuf-3.20.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:69ccfdf3657ba59569c64295b7d51325f91af586f8d5793b734260dfe2e94e2c"}, + {file = "protobuf-3.20.1-cp38-cp38-win32.whl", hash = "sha256:dd5789b2948ca702c17027c84c2accb552fc30f4622a98ab5c51fcfe8c50d3e7"}, + {file = "protobuf-3.20.1-cp38-cp38-win_amd64.whl", hash = "sha256:77053d28427a29987ca9caf7b72ccafee011257561259faba8dd308fda9a8739"}, + {file = "protobuf-3.20.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6f50601512a3d23625d8a85b1638d914a0970f17920ff39cec63aaef80a93fb7"}, + {file = "protobuf-3.20.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:284f86a6207c897542d7e956eb243a36bb8f9564c1742b253462386e96c6b78f"}, + {file = "protobuf-3.20.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:7403941f6d0992d40161aa8bb23e12575637008a5a02283a930addc0508982f9"}, + {file = "protobuf-3.20.1-cp39-cp39-win32.whl", hash = "sha256:db977c4ca738dd9ce508557d4fce0f5aebd105e158c725beec86feb1f6bc20d8"}, + {file = "protobuf-3.20.1-cp39-cp39-win_amd64.whl", hash = "sha256:7e371f10abe57cee5021797126c93479f59fccc9693dafd6bd5633ab67808a91"}, + {file = "protobuf-3.20.1-py2.py3-none-any.whl", hash = "sha256:adfc6cf69c7f8c50fd24c793964eef18f0ac321315439d94945820612849c388"}, + {file = "protobuf-3.20.1.tar.gz", hash = "sha256:adc31566d027f45efe3f44eeb5b1f329da43891634d61c75a5944e9be6dd42c9"}, +] + +[[package]] +name = "psutil" +version = "5.9.4" +description = "Cross-platform lib for process and system monitoring in Python." +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "psutil-5.9.4-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:c1ca331af862803a42677c120aff8a814a804e09832f166f226bfd22b56feee8"}, + {file = "psutil-5.9.4-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:68908971daf802203f3d37e78d3f8831b6d1014864d7a85937941bb35f09aefe"}, + {file = "psutil-5.9.4-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:3ff89f9b835100a825b14c2808a106b6fdcc4b15483141482a12c725e7f78549"}, + {file = "psutil-5.9.4-cp27-cp27m-win32.whl", hash = "sha256:852dd5d9f8a47169fe62fd4a971aa07859476c2ba22c2254d4a1baa4e10b95ad"}, + {file = "psutil-5.9.4-cp27-cp27m-win_amd64.whl", hash = "sha256:9120cd39dca5c5e1c54b59a41d205023d436799b1c8c4d3ff71af18535728e94"}, + {file = "psutil-5.9.4-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:6b92c532979bafc2df23ddc785ed116fced1f492ad90a6830cf24f4d1ea27d24"}, + {file = "psutil-5.9.4-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:efeae04f9516907be44904cc7ce08defb6b665128992a56957abc9b61dca94b7"}, + {file = "psutil-5.9.4-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:54d5b184728298f2ca8567bf83c422b706200bcbbfafdc06718264f9393cfeb7"}, + {file = "psutil-5.9.4-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:16653106f3b59386ffe10e0bad3bb6299e169d5327d3f187614b1cb8f24cf2e1"}, + {file = "psutil-5.9.4-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:54c0d3d8e0078b7666984e11b12b88af2db11d11249a8ac8920dd5ef68a66e08"}, + {file = "psutil-5.9.4-cp36-abi3-win32.whl", hash = "sha256:149555f59a69b33f056ba1c4eb22bb7bf24332ce631c44a319cec09f876aaeff"}, + {file = "psutil-5.9.4-cp36-abi3-win_amd64.whl", hash = "sha256:fd8522436a6ada7b4aad6638662966de0d61d241cb821239b2ae7013d41a43d4"}, + {file = "psutil-5.9.4-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:6001c809253a29599bc0dfd5179d9f8a5779f9dffea1da0f13c53ee568115e1e"}, + {file = "psutil-5.9.4.tar.gz", hash = "sha256:3d7f9739eb435d4b1338944abe23f49584bde5395f27487d2ee25ad9a8774a62"}, +] + +[package.extras] +test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"] + +[[package]] +name = "py" +version = "1.11.0" +description = "library with cross-python path, ini-parsing, io, code, log facilities" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, + {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"}, +] + +[[package]] +name = "pyasn1" +version = "0.4.8" +description = "ASN.1 types and codecs" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "pyasn1-0.4.8-py2.py3-none-any.whl", hash = "sha256:39c7e2ec30515947ff4e87fb6f456dfc6e84857d34be479c9d4a4ba4bf46aa5d"}, + {file = "pyasn1-0.4.8.tar.gz", hash = "sha256:aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba"}, +] + +[[package]] +name = "pyats" +version = "22.7.1" +description = "pyATS - Python Automation Test System" +category = "dev" +optional = false +python-versions = ">=3.5" +files = [ + {file = "pyats-22.7.1-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:b44e384408d145883fb422f01c2b2afeaf62a958663fd06b0b973816e5fc2f13"}, + {file = "pyats-22.7.1-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:8a23d6f6098ad3762ccf60deb3ff68facc07f528f4004118d3023367c64d7df3"}, + {file = "pyats-22.7.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f0a0785d2b4b4c87458c51af2e4822018edcca37e39709482089907f5cf4e781"}, + {file = "pyats-22.7.1-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:40bddb8371a4b8edf7eb82e82cf399ec7fd6b46de1bbd3d1859c33e97c716683"}, + {file = "pyats-22.7.1-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:9c2a34a9c17fb2f1098ef1367f59e578b7bf10acca15ec9a1233ecde37726c05"}, + {file = "pyats-22.7.1-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:a8cbb37283549df13a94a2bbd3f9fc2b0c0b07bc37a91f0ee1fa263fd4638344"}, + {file = "pyats-22.7.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:0fd5ac4cb16d59d8b859b3828b50ad0403eb362ba50339473be16a8cfcdba5e3"}, + {file = "pyats-22.7.1-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:60bcc862fd557630aa5c5a48df4edc6a287b50a762697f010e3f40a6ef9d4451"}, + {file = "pyats-22.7.1-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:3630f518b852a938f2af447aed81d43d029eb873b3786a267554617dbc5dcc91"}, + {file = "pyats-22.7.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f8568166be46df93a57ffa4cbcd5f01137e0f0bbcbfa15899af0e6772a121cfc"}, + {file = "pyats-22.7.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:10f2b24e400d023001c822daa88a521d282deab92cebfc1665bfd11f78a2820a"}, + {file = "pyats-22.7.1-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:214b493d3dec19ce09ec40b8a1cd550d6fc60a75bf1e1c4e92e155ca8b951248"}, + {file = "pyats-22.7.1-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:8ec4bb4f98f35fb4d1dbcd5f9c752b7a85a6732e320955c3cd9dc4d8a83eb5c0"}, + {file = "pyats-22.7.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e65721726af85a25f826407cfa58d742abd066b88aaa9ad80fd47224809206db"}, + {file = "pyats-22.7.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:41d42c4bb7973d63061ec33840be8065acf02cda952c4798af2754ed75377f08"}, +] + +[package.dependencies] +packaging = ">=20.0" +"pyats.aereport" = ">=22.7.0,<22.8.0" +"pyats.aetest" = ">=22.7.0,<22.8.0" +"pyats.async" = ">=22.7.0,<22.8.0" +"pyats.connections" = ">=22.7.0,<22.8.0" +"pyats.datastructures" = ">=22.7.0,<22.8.0" +"pyats.easypy" = ">=22.7.0,<22.8.0" +"pyats.kleenex" = ">=22.7.0,<22.8.0" +"pyats.log" = ">=22.7.0,<22.8.0" +"pyats.reporter" = ">=22.7.0,<22.8.0" +"pyats.results" = ">=22.7.0,<22.8.0" +"pyats.tcl" = ">=22.7.0,<22.8.0" +"pyats.topology" = ">=22.7.0,<22.8.0" +"pyats.utils" = ">=22.7.0,<22.8.0" + +[package.extras] +full = ["cookiecutter", "genie (>=22.7.0,<22.8.0)", "genie.libs.robot (>=22.7.0,<22.8.0)", "genie.telemetry (>=22.7.0,<22.8.0)", "genie.trafficgen (>=22.7.0,<22.8.0)", "pyats.contrib (>=22.7.0,<22.8.0)", "pyats.robot (>=22.7.0,<22.8.0)"] +library = ["genie (>=22.7.0,<22.8.0)"] +robot = ["genie.libs.robot (>=22.7.0,<22.8.0)", "pyats.robot (>=22.7.0,<22.8.0)"] +template = ["cookiecutter"] + +[[package]] +name = "pyats-aereport" +version = "22.7" +description = "pyATS AEreport: Result Collection and Reporting" +category = "dev" +optional = false +python-versions = ">=3.5" +files = [ + {file = "pyats.aereport-22.7-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:d155f684b209cbd9738af31e8422e0151150900bc29647c596057833a5e869a9"}, + {file = "pyats.aereport-22.7-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:8668c6b740000bbb43585511fe33e9f8b018b4d40086ab6d01bfced3aa527726"}, + {file = "pyats.aereport-22.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e53eb362e0c0229c4fc7f13eabc8a69daaa50f25054a01988e7bd821387cce1e"}, + {file = "pyats.aereport-22.7-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:027ba619d88ecdbba200bb690b73812ef68245ec700b4d791e0e4c919411598c"}, + {file = "pyats.aereport-22.7-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:aeff8654840bfeb403ec5d5e04c8f0c13270e6b71b2d5cb6fccd07bf8ca24018"}, + {file = "pyats.aereport-22.7-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:f0f33d75155d122c30b6f049d1f5c2f45f33cc1579a1872a927b404b76eaf0f0"}, + {file = "pyats.aereport-22.7-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:bf09e2d5b403a9258374dfce2140f5ef706eae7d92666d8c27902babb62d8ad2"}, + {file = "pyats.aereport-22.7-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:739c3503357aca0ba18f8a712716e71537d381048a4194e13a06aafa8c43a2e2"}, + {file = "pyats.aereport-22.7-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:772d4afe20e02bfbb0df17b5a671d53d862189f5278a8f618c56ce1284edd362"}, + {file = "pyats.aereport-22.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c85fe8246b8cbbc607f399d9c784e8f1c76ec21964f742f4155da036507f786f"}, + {file = "pyats.aereport-22.7-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:092508fd9c123a258483198840d6aed4ab0b87b0d5161feda820fabbc0c52039"}, + {file = "pyats.aereport-22.7-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:f060377e05c7cbc6b9b2e7b8b7e04cec4083e54c66eede4edb024bee42911b01"}, + {file = "pyats.aereport-22.7-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:526b2b88ddcb4f49e7919e9bb5a8f143ef155d054f796f972124fec20718c353"}, + {file = "pyats.aereport-22.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f4b27ddfd9babeee5a399932e67bcd6ce1ccce09313300ab9136a83c0aec7679"}, + {file = "pyats.aereport-22.7-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:eac7616416e205610ed93407561c84f92733ae31d2b744bce14bad4e159bde89"}, +] + +[package.dependencies] +jinja2 = "*" +junit-xml = "*" +psutil = "*" +"pyats.log" = ">=22.7.0,<22.8.0" +"pyats.results" = ">=22.7.0,<22.8.0" + +[package.extras] +dev = ["Sphinx", "sphinx-rtd-theme"] + +[[package]] +name = "pyats-aetest" +version = "22.7" +description = "pyATS AEtest: Testscript Engine" +category = "dev" +optional = false +python-versions = ">=3.5" +files = [ + {file = "pyats.aetest-22.7-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:b6543c35dbe59ad8e019aad3646fbb545949143f3e751c8c5841d2f1a516cf55"}, + {file = "pyats.aetest-22.7-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:44d2482a48fcbf7082c5e0fb3473b3099acfc62082931fc5e0f8c2e32a5294ab"}, + {file = "pyats.aetest-22.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d306e903e163a16e3c1853f9f03ca0a16f2beb8384d21541e2f0022e725f4ee7"}, + {file = "pyats.aetest-22.7-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:42daf06883ab8b2f5fb5eb1ab4f18066eaf89e304f0ef44e74b38d82b06471c8"}, + {file = "pyats.aetest-22.7-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:1002bf1988ea7bb5e9658d82b8395a68615425eaddb1f9e0de8e2821d27fa444"}, + {file = "pyats.aetest-22.7-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:497974882b70775f656e44d8fdaae672cd1859e0192c70405f2d39b07c55e994"}, + {file = "pyats.aetest-22.7-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:8bc6a226bd0158e3616f4bcd410c57a7500a446c25081a5b3f26682d51ed08e6"}, + {file = "pyats.aetest-22.7-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8dc1147b9d8a889adf7d37a36ef2992414613b2ef6a06e88ec46bffeca106006"}, + {file = "pyats.aetest-22.7-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:ebfa1690fe3b59c452dabf4f51956aba9414af25f617a7ef4f9a9a19bf14175d"}, + {file = "pyats.aetest-22.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:20a3f811e7d2fbf53d650480c9d7d5630691a06c56e950f0b916459c8b53200c"}, + {file = "pyats.aetest-22.7-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:a8640527ad74983c752b5c6282b967b8c017950cd63d5e663c01f60cb60dad01"}, + {file = "pyats.aetest-22.7-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:95453baf1ca87abb19029a70fd6d581d8634fdbb53ef9e668727bd0b0d44fa04"}, + {file = "pyats.aetest-22.7-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:e65458b240b1b59ab7bc8811711210b7d7521724b3e5182b87a948b1fa909e89"}, + {file = "pyats.aetest-22.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ff1487538e527521dd99ba889b9488edd7e3f202b0f0d1ea72cf8315bbcbe42e"}, + {file = "pyats.aetest-22.7-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:f08608fcdb26f4ca146fc010c2832a6b565715cab46669c366d3f789dc31ced5"}, +] + +[package.dependencies] +jinja2 = "*" +"pyats.aereport" = ">=22.7.0,<22.8.0" +"pyats.datastructures" = ">=22.7.0,<22.8.0" +"pyats.log" = ">=22.7.0,<22.8.0" +"pyats.results" = ">=22.7.0,<22.8.0" +"pyats.utils" = ">=22.7.0,<22.8.0" +pyyaml = "*" + +[package.extras] +dev = ["Sphinx", "sphinx-rtd-theme"] + +[[package]] +name = "pyats-async" +version = "22.7" +description = "pyATS Async: Asynchronous Execution of Codes" +category = "dev" +optional = false +python-versions = ">=3.5" +files = [ + {file = "pyats.async-22.7-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:301a5926b5cb28737f5ff3589148123276f7fb062e2cbbe81f93c262bf5cb26b"}, + {file = "pyats.async-22.7-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:ee169fee3f1d429f804d93b6172682786a32ae681603ad6ce8e97226fb22886f"}, + {file = "pyats.async-22.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d76fd555513a08f72f8114d42bf7f111c60c5c9ae3f1661081e446ed91d9238e"}, + {file = "pyats.async-22.7-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:a0d351764096c54ace15f7e2dfb125373ddf532a9d63f66880aad9f6f0cbe65f"}, + {file = "pyats.async-22.7-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:ffa05d0f45d679354cffd4fe748ef32c0cd7bb66d4ca9e2284e0073ccaf197a3"}, + {file = "pyats.async-22.7-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:b617a585af4c4f2d6b444e59041df4e15a21e145d8593f921fa42e2d31c8f86c"}, + {file = "pyats.async-22.7-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:cbf4fd190771c451863d1d9045465366bf1b756c1ccfa49c3085af9c22930f4d"}, + {file = "pyats.async-22.7-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:96c2749bdb9fe75247c84a9a740116fa37e383d5d82305a156078a3772d469bd"}, + {file = "pyats.async-22.7-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:699e6104030d13d689d49497122945285897ff54598c3c2ca2fc4c4dbf0ef6ed"}, + {file = "pyats.async-22.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:470fe3d3dba9443fb9dfcc180bc1e9a601a7d5dcf46cdbd8ca7635bd54cb683e"}, + {file = "pyats.async-22.7-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:84c45570222ca53cee00dc60bb2122bd86b0ffa09c977d96a3d5ee4f157d2101"}, + {file = "pyats.async-22.7-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:d2f68fb08753072e796cda186c1ac70c9188e70729051ea48bc018148306400a"}, + {file = "pyats.async-22.7-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:87cfb8107ff326465b2650d5681d74873d5a2e4d3991e22b286aa7d650e155df"}, + {file = "pyats.async-22.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d83bc8d7cda5d3c4b5f4580685a32ede64a5de167fa089f79631d13c56f87cf9"}, + {file = "pyats.async-22.7-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:55d7d61a83a591c158d5089a860fe996a663389a8236c5298643244e2fa07c26"}, +] + +[package.dependencies] +"pyats.log" = ">=22.7.0,<22.8.0" + +[package.extras] +dev = ["Sphinx", "sphinx-rtd-theme"] + +[[package]] +name = "pyats-connections" +version = "22.7" +description = "pyATS Connection: Device Connection Handling & Base Classes" +category = "dev" +optional = false +python-versions = ">=3.5" +files = [ + {file = "pyats.connections-22.7-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:b6ffda9b29e6c887b791c8f2e97949f95721176a2fac8d01f720f242dbfe03a8"}, + {file = "pyats.connections-22.7-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:4a3ca6b83f19a335c98bc504fc4d9b0364a8a757061658e1534bfd477a825306"}, + {file = "pyats.connections-22.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f2b6115547e6eb9e7974aefd74b59e0124155db183e31b7b04b746804de891a7"}, + {file = "pyats.connections-22.7-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:78f7e075dc646db8dcede02e83a62d43031a3f1a025c015c80f6490a0367c1bb"}, + {file = "pyats.connections-22.7-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:b2c2fe50b1ea2ed982a43409413c525fb5806ec134724221d5a9908a223b01dd"}, + {file = "pyats.connections-22.7-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:00540b01df850e8c8259fa99f5f0e5ffbe006ffc9bae17bda3680f3c99ac2c65"}, + {file = "pyats.connections-22.7-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:36fd3010ac4d85e6ae3d5427a1a927d180568bf07ceb88211cd3e307ca81d855"}, + {file = "pyats.connections-22.7-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:21f3e59ef2ee58cde5fc97a3e6e6a7ce7eff0dbc80a0625f3a4c611fb10043a1"}, + {file = "pyats.connections-22.7-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:57171ce0d1ddb0628cc6d67fe8bbdd14e64e0d319d35ddf670490afd04dd4255"}, + {file = "pyats.connections-22.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:00fb3b129131fb1e0935ed6d9a8c85eeded097e7e87b1e55d94a51bb8eeaef3e"}, + {file = "pyats.connections-22.7-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:d1b6deb017d282a911c24241d9356ee4b06b33035a19c2096ab6844bd9c8ba5a"}, + {file = "pyats.connections-22.7-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:339420a9885bad196cc2ffc56798ea1fe13caecb0df917d4d62a68b9d25f7ad8"}, + {file = "pyats.connections-22.7-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:3c51337c81f7830186bb80f7c58c696183f70c06edd4499387d957a763b2e43c"}, + {file = "pyats.connections-22.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c74fcd2f5ea130fc0d32717b32e780ae1fc9dec055a6c486523b228d2c891fee"}, + {file = "pyats.connections-22.7-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:8d25b02eb6be3f55dcd4484b324e0a72d818e017a5b73bff662a6244e9a51ffa"}, +] + +[package.dependencies] +"pyats.async" = ">=22.7.0,<22.8.0" +"pyats.datastructures" = ">=22.7.0,<22.8.0" +unicon = ">=22.7.0,<22.8.0" + +[package.extras] +dev = ["Sphinx", "sphinx-rtd-theme"] + +[[package]] +name = "pyats-datastructures" +version = "22.7" +description = "pyATS Datastructures: Extended Datastructures for Grownups" +category = "dev" +optional = false +python-versions = ">=3.5" +files = [ + {file = "pyats.datastructures-22.7-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:0bae72255209abce398efb2b50e755e7d44f94faf5c620cd6a992823ef9af9bb"}, + {file = "pyats.datastructures-22.7-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:5b251c3ad63cb6252d2010840397cf00a87ef8e27251d84f583518f5bccd0e7a"}, + {file = "pyats.datastructures-22.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:83e9a3ae9ea5f083d504f6b8f72447e07b8c32ec6050506eda449fd2c62dcaaa"}, + {file = "pyats.datastructures-22.7-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:3508f6266e5c03c1a7d64c51bcf49321480fbd25ea18910699ba920583b2244e"}, + {file = "pyats.datastructures-22.7-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:6e2f46dc2fed24e2c795ba1a6216630d7fa62f83c1f680329e51416cbf9dd6c7"}, + {file = "pyats.datastructures-22.7-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:8daa4d04a7e2eedaebc65e1525ede7509d2263ecaed57a1f0e38f76eb46e2d9c"}, + {file = "pyats.datastructures-22.7-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:3e6ef2d8d66826374d693ad0fb8883ca17b8d712012093cac53014dc79a1612a"}, + {file = "pyats.datastructures-22.7-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:66f092a488799fbbccb4241550eb9eba973a906b80a3826f96c1a01b380d35dc"}, + {file = "pyats.datastructures-22.7-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:ca70e5e6f064a394c9ce5b455c5089f0c6d91a3da1960e23a775b47074469f88"}, + {file = "pyats.datastructures-22.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f182855437ad031aa120e252b827e6563518759056d0a41895a3a3c7316d14a6"}, + {file = "pyats.datastructures-22.7-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:2a3dc64aa8fd1ed7153c1b26f6ab1ba211934ed63f0cf5576b573e4a907b63ef"}, + {file = "pyats.datastructures-22.7-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:bf9704a57636e4499090908cacd89d0df5d4c0298c7188c670e4568d32cb92e2"}, + {file = "pyats.datastructures-22.7-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:6a928d954763f9b7929c5a5687659a28dc597fd53cf00ce16f42e229255caaeb"}, + {file = "pyats.datastructures-22.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9a5b1712d47f679d39df503d5e81f577bff5fc18d7070ee10a67f4a48947490b"}, + {file = "pyats.datastructures-22.7-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:848c8a987b94dbb13bd97cd9763515c93d9501618182e315075904c8cd345f33"}, +] + +[package.extras] +dev = ["Sphinx", "sphinx-rtd-theme"] + +[[package]] +name = "pyats-easypy" +version = "22.7" +description = "pyATS Easypy: launcher and runtime environment" +category = "dev" +optional = false +python-versions = ">=3.5" +files = [ + {file = "pyats.easypy-22.7-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:aaff1ec1a61af6e2c25ace8bbfa10791d4343d236fed8c27bf0c5941ff649096"}, + {file = "pyats.easypy-22.7-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:3d432596c915e9511fd4bef59c09fef8969595a70a6647624720677e9b575a33"}, + {file = "pyats.easypy-22.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8873b720bd2cb3b1363fd7bc97d91cd6f56b5d70893bab4efbe2837399a11ea9"}, + {file = "pyats.easypy-22.7-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:c58905478cf9ac0a5b159da806619dda62fcd866f8e17c3306713aef36144463"}, + {file = "pyats.easypy-22.7-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:57a4937b7afc055209c1107fba3f1936f4da0f1def3dd9d46083873c4116e942"}, + {file = "pyats.easypy-22.7-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:d58cd77fe56d27e3ca40f48c7e0864b7220daef2418028bb9dc2e3367aeed48c"}, + {file = "pyats.easypy-22.7-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:22f112ebea6e3ed42db123e83cca33faa8ef6708d6d87164488ed01089d15cc2"}, + {file = "pyats.easypy-22.7-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:9f8dd0f2f77b23bd46e900af660c792468d0fd35dbd2fe6806502ea55ab9d9b0"}, + {file = "pyats.easypy-22.7-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:ccb237b4bb10273a33f1b211c6832a387d713568b95e36a98ae5c06f2e8767f0"}, + {file = "pyats.easypy-22.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:70879261fa359f99f97bd0e4b782098650a4c8c00cbc07e736ba6534ee2a001d"}, + {file = "pyats.easypy-22.7-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:36e461442e65f9e4cef787e97e1146b140f8298741c3cc5a1192dd4c71ba19aa"}, + {file = "pyats.easypy-22.7-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:3fa03b78e9cc983e74157c8018f4a908014459cdebe6d063399cef43058ac565"}, + {file = "pyats.easypy-22.7-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:dcc79e55d70613d17c03206542c99a5906ed15a012b2c65a51e4da3c411c6644"}, + {file = "pyats.easypy-22.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:66624c5dec4ab91edea41dda5570a52e60f966466eba409f2cfcb2a5ba1d565f"}, + {file = "pyats.easypy-22.7-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:9135e82157b4296abfdbd69f95cbf2abd119a6047cce245ebe7f563e60253733"}, +] + +[package.dependencies] +distro = "*" +jinja2 = "*" +psutil = "*" +"pyats.aereport" = ">=22.7.0,<22.8.0" +"pyats.datastructures" = ">=22.7.0,<22.8.0" +"pyats.kleenex" = ">=22.7.0,<22.8.0" +"pyats.log" = ">=22.7.0,<22.8.0" +"pyats.results" = ">=22.7.0,<22.8.0" +"pyats.topology" = ">=22.7.0,<22.8.0" +"pyats.utils" = ">=22.7.0,<22.8.0" +setuptools = "*" + +[package.extras] +dev = ["Sphinx", "sphinx-rtd-theme"] + +[[package]] +name = "pyats-kleenex" +version = "22.7" +description = "pyATS Kleenex: Testbed Preparation, Clean & Finalization" +category = "dev" +optional = false +python-versions = ">=3.5" +files = [ + {file = "pyats.kleenex-22.7-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:4948a865019c84d4cc553f5bb072f9555f7ad3212b98ceef40632a3cd49aef71"}, + {file = "pyats.kleenex-22.7-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:40cee77910f1356c2139dcfa4fdbd2f9669cc144a557b0cf4fdc8ea86b89668c"}, + {file = "pyats.kleenex-22.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:08f0b90b463f190f7111730e615cd3b7a4dd3a022ecedcafc5339dd54a12eb05"}, + {file = "pyats.kleenex-22.7-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:c6a546d3565323962ebba259f6238739a2db583dbd807a0af5fa639e9d3114e3"}, + {file = "pyats.kleenex-22.7-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:71151380d6493c72eaad56cd9d8695f939307c5a31e6206c571240f57e0bacb6"}, + {file = "pyats.kleenex-22.7-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:d35e6cbf69ec4d16b63da5ee407d41af80ca2cc4210ea56595b5122234dab42b"}, + {file = "pyats.kleenex-22.7-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:d273697dd8020c991829cd52cbba73c1206e679f083657f2407b09297e58b1b8"}, + {file = "pyats.kleenex-22.7-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:e24f819badb9ff1436f832f332e7c87666ac0ba94e2fd18512dde93e55d49c3a"}, + {file = "pyats.kleenex-22.7-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:9412b21cfb80984b2397269b3e738e17505c1ddda68aa9970847c1926f7de21f"}, + {file = "pyats.kleenex-22.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:19c95863a028fa7c81d1de93d8fa66d061496adcfc3ccdbe25d8291b5a67108d"}, + {file = "pyats.kleenex-22.7-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:3dea7cf1b2c93476a7538ec3187f9728c1071a5f4488c44b55c4e3cc75a373ef"}, + {file = "pyats.kleenex-22.7-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:240acc34a87672a5d57ae8aae3e2032886dba5341f7ff62f0a301587bdc82e72"}, + {file = "pyats.kleenex-22.7-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:af321ac573d483efdb4727749f68591e556ed0660735c18c2f67b641706caf7d"}, + {file = "pyats.kleenex-22.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:7b19d8a637b7921a4c0de200a4749f392940f92f219d94b974ec6d2ef771bb26"}, + {file = "pyats.kleenex-22.7-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:1140de447e7cf4fdd6ff7d3f375e0e1c271ad3d0aac1e8058591bff38bb13718"}, +] + +[package.dependencies] +distro = "*" +"pyats.aetest" = ">=22.7.0,<22.8.0" +"pyats.async" = ">=22.7.0,<22.8.0" +"pyats.datastructures" = ">=22.7.0,<22.8.0" +"pyats.log" = ">=22.7.0,<22.8.0" +"pyats.topology" = ">=22.7.0,<22.8.0" +"pyats.utils" = ">=22.7.0,<22.8.0" +requests = "*" + +[package.extras] +dev = ["Sphinx", "sphinx-rtd-theme"] + +[[package]] +name = "pyats-log" +version = "22.7" +description = "pyATS Log: Logging Format and Utilities" +category = "dev" +optional = false +python-versions = ">=3.5" +files = [ + {file = "pyats.log-22.7-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:1208f52779289385be0545e1f36cce1a6af4eee45ee2410ceb102aa8aa9c82ab"}, + {file = "pyats.log-22.7-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:fd678655c5396da2b882d2a65bc5c425603635133932196282fe6de2f06b68a5"}, + {file = "pyats.log-22.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:bd57571c844a356377f88d2b1e48266f8a087bd113f344d26df69cd9e5626f89"}, + {file = "pyats.log-22.7-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:a2f766a0daf86f5ce7f1dbfdb6e15b86679e82800745cd2b89d3cc9bed9bfaab"}, + {file = "pyats.log-22.7-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:854e59442f3be0be021ccc2ae36ea64d13fa4bd1706744bc18a37c66a7f3f63b"}, + {file = "pyats.log-22.7-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:71ff96d658a9c66585ef41f732ae6cb1ec57a9c7217aa55bb451e23aee66d334"}, + {file = "pyats.log-22.7-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:bd9ad5e294734fb257f2156d24fd89acfbe9b67777b5640fbe746b58abfeb423"}, + {file = "pyats.log-22.7-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:ae462ebb22bdeb351eda4edab041dbdfcb09178d8b3deb297cefc9df9dd7d183"}, + {file = "pyats.log-22.7-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:2d442314a39049f6d0721b904655cf0c6954afab2b681e1374e9b140e6b1328c"}, + {file = "pyats.log-22.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7d0a2b2b0f5105660ae2192620db632fb73852e8b4ab713ccfda279717675fae"}, + {file = "pyats.log-22.7-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:0ee97c14aa2b2f638f34aa1452e8dbcfcda1168aa1c85ac9ae5c519861aa2e90"}, + {file = "pyats.log-22.7-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:a1b8cfa1b096a9b58547aa045abdf35c73de4a6e33bc90f26ccdb1a5be2aeb5a"}, + {file = "pyats.log-22.7-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:2e7aced64f141f218205c4e68f1fafd4c1f6ed60330c84d28d68c27d5f4f7efc"}, + {file = "pyats.log-22.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c893c745d0326a964245889a1df4c9d0e850c7d1d30c72127112d0d867e6f60c"}, + {file = "pyats.log-22.7-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:ea39f155b89f47acefe29e81ed032a06ba6d823b817821aec6281f71c9a0ac70"}, +] + +[package.dependencies] +aiofiles = ">=0.6.0" +aiohttp = {version = "<4.0", markers = "python_version >= \"3.6\""} +aiohttp-swagger = ">=1.0.15" +async-lru = ">=1.0.2" +chardet = ">=3.0.4,<5.0.0" +jinja2 = "*" +"pyats.datastructures" = ">=22.7.0,<22.8.0" +python-engineio = ">=3.13.0,<4.0.0" +python-socketio = ">=4.2.0,<5.0.0" +pyyaml = "*" + +[package.extras] +dev = ["Sphinx", "sphinx-rtd-theme"] + +[[package]] +name = "pyats-reporter" +version = "22.7" +description = "pyATS Reporter: Result Collection and Reporting" +category = "dev" +optional = false +python-versions = ">=3.5" +files = [ + {file = "pyats.reporter-22.7-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:f2688a16394b95fe63971aeac2bf3309debe958142c737306b5a921e33c53d5e"}, + {file = "pyats.reporter-22.7-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:7a6c404e6108df97e5b52962a9f104005ca25df37118f143751b1c690fd550b1"}, + {file = "pyats.reporter-22.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:bfd1d822cacc9b9d1cd283bdd08ba06aa9d86d1e205507bd1d8961212d452805"}, + {file = "pyats.reporter-22.7-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:0edc5a223261a7b929792b5aa99e2d0d4df7b73cbef446a5a8c1324e992e6c06"}, + {file = "pyats.reporter-22.7-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:f90339495acabd8ed781d664590e7b2360e7ac5a32abce0de7c8345cd40031ca"}, + {file = "pyats.reporter-22.7-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:840167e48927c27c650780879ab382be71a82bc1900f6de72fc55d0eeb42456b"}, + {file = "pyats.reporter-22.7-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:3143f0c05953ff3f653921e52aac3f5a0c9054d9a07e1a70eb5736e1fdb2cd0c"}, + {file = "pyats.reporter-22.7-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:989e9f2dcf1d186e1d01e64880d93cc0e522488adda77321dc0839eb5f64d3dd"}, + {file = "pyats.reporter-22.7-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:63f2a307316b2f647cd86ffbebb516c9d44736afbbd112ccdabec36d592da94f"}, + {file = "pyats.reporter-22.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:dafc1defb6e96841bbb7fe96e51d158d1faec9e4161f61c792e4ccd61f74f19c"}, + {file = "pyats.reporter-22.7-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:c53624bcf15af1d59aad7608529c9df41e9037f26d3ae3814e9efe147fda80d2"}, + {file = "pyats.reporter-22.7-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:ae75d9c851e01897d12007353bb3ce36637239f3aba08dd812b102766e524e49"}, + {file = "pyats.reporter-22.7-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:09c176a463f6758efceb9d38774f66882bdac5549d019bcc40b4d55a1efa28a9"}, + {file = "pyats.reporter-22.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b011b2344cb073f95159746fe36649e7c5a13ad2081d3824b6637cebdf7c35a1"}, + {file = "pyats.reporter-22.7-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:034b4ed1663dc931fbfafe511736afc3ee6dba5168c2e2637cebe5f4cd8a923b"}, +] + +[package.dependencies] +gitpython = "<=3.1.18" +"pyats.aereport" = ">=22.7.0,<22.8.0" +"pyats.log" = ">=22.7.0,<22.8.0" +"pyats.results" = ">=22.7.0,<22.8.0" +"pyats.utils" = ">=22.7.0,<22.8.0" +pyyaml = "*" + +[package.extras] +dev = ["Sphinx", "sphinx-rtd-theme"] + +[[package]] +name = "pyats-results" +version = "22.7" +description = "pyATS Results: Representing Results using Objects" +category = "dev" +optional = false +python-versions = ">=3.5" +files = [ + {file = "pyats.results-22.7-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:25b2ed680363fb7885d320d75e501fd81c5678678a2e40fb2e0eb442df555f53"}, + {file = "pyats.results-22.7-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:b2cce4258291e7cc80db23d3b4d3ca689ea505da3bc89bc3f46f33fb2b3d17c0"}, + {file = "pyats.results-22.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e531de763ef6ee5205f8cbbc110f88b1da2adaca68320349d9afada9689e0bea"}, + {file = "pyats.results-22.7-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:a05dc053ba135781a4f65fc686d99ec9c88f0d41a42914044db174ac929b80f6"}, + {file = "pyats.results-22.7-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:73b6ce19277aecf77937e192942b613f3d34b36b8d602ec04c238d1b113dc766"}, + {file = "pyats.results-22.7-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:ad0056a1da7373ce310fa53ad9ce07b52049a619fffd6e986aaabb4916301c5b"}, + {file = "pyats.results-22.7-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:9126cf6cdd145e2a8ee0a994f50f48cc8f0a615146bb7b893ecf6dc17376cb17"}, + {file = "pyats.results-22.7-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:14c7eb8c25e556492bc1f3b3a7f12619b9082a4f7d973e3f2fcc03aadbc467d4"}, + {file = "pyats.results-22.7-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:92ad190e53c3953716789b08e6e34b3b2d04870dba2e321319ff3662b84b7e12"}, + {file = "pyats.results-22.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f1106211e1c3e23214e9003f3ce463e0ae4c8a9e0a767ead4dbc4ed2b14966a5"}, + {file = "pyats.results-22.7-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:2ac9625d788c043abdef9df7dd0e84bcfda7e99c6946ab9969bdfbd558ffceeb"}, + {file = "pyats.results-22.7-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:0c5015a92da4074b345d999d8689ef8319753a3c10211c25b97a63119ea967ea"}, + {file = "pyats.results-22.7-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:0969318c5484e24072fa603f6476f9c9a997e3898ed40893dcc7b2f0d7835645"}, + {file = "pyats.results-22.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ef9ff060f6db477fa807cde11de3a4eadaabef04e378907a5e59d86c0197b304"}, + {file = "pyats.results-22.7-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:4b0398a3fc77151545cff70f6afe717f6c634103320c659dad2a7771302659e5"}, +] + +[package.extras] +dev = ["Sphinx", "sphinx-rtd-theme"] + +[[package]] +name = "pyats-tcl" +version = "22.7" +description = "pyATS Tcl: Tcl Integration and Objects" +category = "dev" +optional = false +python-versions = ">=3.5" +files = [ + {file = "pyats.tcl-22.7-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:986f9e499b5f6e5aec5c641412a28526da97587f3f89539db9df0618bcc9fbca"}, + {file = "pyats.tcl-22.7-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:a45322866dadb9988ac341d4f7ba1bb3fdeaab8a45d7f2c0876b68ca2a46b27d"}, + {file = "pyats.tcl-22.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9d61585168350b8c45bf3c1c528d9b61414de68e8b952d97af49400294c696d6"}, + {file = "pyats.tcl-22.7-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:f8b8c3e6c4b2cf4cb5cdca099e7968b856f9f35de515da2bafab7d8f66d3f505"}, + {file = "pyats.tcl-22.7-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:f59f62c5c48fe5c1d132fbc9e93ca85eddbbe3f2a3f946ce061e979158f056e2"}, + {file = "pyats.tcl-22.7-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:cfa105572d5173ff914c7076060b0e12c0aa4661ab070e2fd916cf0360f6481d"}, + {file = "pyats.tcl-22.7-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:d1c66ea5483132c0510031cbe33d0896516a127052123dc7a93ea7f54142a850"}, + {file = "pyats.tcl-22.7-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:87a63d3121aa3806b116fe263460d913967a97084f3484312ff48f17008a48cc"}, + {file = "pyats.tcl-22.7-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:de90e71eadb852afe5353777c8c9f480cc238245c082fdc329576478d7540baa"}, + {file = "pyats.tcl-22.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9496c15c415c02682a69d756b0b0df9912fa5c815ca0b6b51de0dd231ee95f68"}, + {file = "pyats.tcl-22.7-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:f5778470ca7cf259d7d8462f822d07f609d3f044a92bcde82764f31aa6483553"}, + {file = "pyats.tcl-22.7-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:8bf3f5d3122ba02da68bebfdb91bf5a7138eb98d714b848965b9734906296e9f"}, + {file = "pyats.tcl-22.7-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:239b7d20151b51717bdfbf46d85861f79c09f8b07bcda647efcb8febffa0696a"}, + {file = "pyats.tcl-22.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8cf5062275fd51c1e4455d13a8684112e89cc634af41ab7ffbe94491f08f77ab"}, + {file = "pyats.tcl-22.7-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:2e0734fa6b19b5625dcc20775bc73aa18923537cdbd322cf5c1ae4e9f6f7348a"}, +] + +[package.dependencies] +"pyats.datastructures" = ">=22.7.0,<22.8.0" +"pyats.log" = ">=22.7.0,<22.8.0" + +[package.extras] +dev = ["Sphinx", "sphinx-rtd-theme"] + +[[package]] +name = "pyats-topology" +version = "22.7" +description = "pyATS Topology: Topology Objects and Testbed YAMLs" +category = "dev" +optional = false +python-versions = ">=3.5" +files = [ + {file = "pyats.topology-22.7-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:13159ce19d13e14f458d2871af563d64f045f8ad6e578685cea85b835c6854d9"}, + {file = "pyats.topology-22.7-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:a1dfaabe427892ca58921cef205dc46be59797de51c5e5d7f566a8cd92910421"}, + {file = "pyats.topology-22.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d430053c6e3c3ac2fedf8af7d02a6ac0ce9a81127ae5c376f180617a5b7c8cb1"}, + {file = "pyats.topology-22.7-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:24e84fe61b3db12075770a13926b0eae705c7845d5467ffd6f0ac25fc12cc3ae"}, + {file = "pyats.topology-22.7-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:7ee08e86331df728909ac112da55950ae49abaf3b9b869764a4888a05c04312e"}, + {file = "pyats.topology-22.7-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:b1d7741290a2ad212c5bee795f2b0e2b18ccd0b0823a03548c5e7c607c99702e"}, + {file = "pyats.topology-22.7-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:d42f873b494f94c121cc33240dd98adf1540f0a150f3c2e1fc3637646cd81d0b"}, + {file = "pyats.topology-22.7-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:a2ed6a3b26648cc1f05f6d049b515604830f36418bc704f2cc8b4787c997b4aa"}, + {file = "pyats.topology-22.7-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:84b29a73d1e2bbbb09efa9c50227d7f9f230c18be60130fffcd7901007dc0187"}, + {file = "pyats.topology-22.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ae90db007937e38f964c01f711b60a71efea7953799f5818dfadbfdad14a9439"}, + {file = "pyats.topology-22.7-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:98fb35957f47ea11900822415b53831b76c845c6e5cac7afd9c37177ee9aa3d8"}, + {file = "pyats.topology-22.7-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:ab6b41397fff3a9803e8246603386550bf85b342dd45a87d73b8378e42cf825b"}, + {file = "pyats.topology-22.7-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:004209345b8cef5e9551f6cf28b26a54dceb7cab0d11d4348018f8adcd252d03"}, + {file = "pyats.topology-22.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:eb8265ab12dd0a6c4dbe0bad5cc0127c3cd9a720691636a373f9fe5fd80deee8"}, + {file = "pyats.topology-22.7-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:e04eea9aec9a057a4c037b1819b3225e6e4ad8f28dac1d3e3096ab4762e5c164"}, +] + +[package.dependencies] +"pyats.connections" = ">=22.7.0,<22.8.0" +"pyats.datastructures" = ">=22.7.0,<22.8.0" +"pyats.utils" = ">=22.7.0,<22.8.0" +pyyaml = "*" +yamllint = "*" + +[package.extras] +dev = ["Sphinx", "sphinx-rtd-theme"] + +[[package]] +name = "pyats-utils" +version = "22.7" +description = "pyATS Utils: Utilities Module" +category = "dev" +optional = false +python-versions = ">=3.5" +files = [ + {file = "pyats.utils-22.7-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:6fb5d71ec802d9af6b4f55c0be64899f4c36b3c7f7a9c8b91b61c8ae5c90f727"}, + {file = "pyats.utils-22.7-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:81ed8c75673ce8404b227279302ec88fc423e54351d238923645391ca46587cb"}, + {file = "pyats.utils-22.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:39b1bb0714932cc1a3c7de8ceeba4b37610348ff55d83afe6e3ba3a239317e86"}, + {file = "pyats.utils-22.7-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:827ac08409344b98451d07b74cf747cf38063a686e7ecc06caeda91e993ec5cc"}, + {file = "pyats.utils-22.7-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:5ec41744d55a57bbcf0b1dedd6af9bd0cebf5c4515a647cdcfa756da5b62d5c0"}, + {file = "pyats.utils-22.7-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:9c68ff7495f502f7d2a6020b3cf709bfe961df6ff7f880b5099106325292c09d"}, + {file = "pyats.utils-22.7-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:7091806d4916f711e6023c880ab079a949b9e56e27500a27c38632711cd8a79a"}, + {file = "pyats.utils-22.7-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:0085dd2d1f932240e67003d930bcf81fefe0c086b09266ee9c4a09c643217504"}, + {file = "pyats.utils-22.7-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:ab2a91670ae3fbb70b4dcfcc8c9a5d9d794a9d3d1e19a3e7fe9c9b4e7d096ce9"}, + {file = "pyats.utils-22.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f4af8080de7b4ce0be326f9342ef042a9feb61bffb26a5f826ec4be0d14ec45b"}, + {file = "pyats.utils-22.7-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:8e517911247b9d913c3e918946d7dda2bc0d07cf10f6f2d867f07f5a36acd267"}, + {file = "pyats.utils-22.7-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:7515b48ccb4351a69db334b0251c9f59989c0476fc647316bc822b3ccc18a04e"}, + {file = "pyats.utils-22.7-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:52ffcfbaca33a8eb42230fa8e44240751c4849b64b4830388da4602615a1d7b3"}, + {file = "pyats.utils-22.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:eb8f1853b1d668b64c564d5f19f5e4cf3738a3895c6950eed798fd3bb0fcf83d"}, + {file = "pyats.utils-22.7-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:30087ad82a62baed43f2e22ee667e93d1e43f0504c65317e5c4b2dcbf5eb671c"}, +] + +[package.dependencies] +cryptography = "*" +distro = "*" +"pyats.datastructures" = ">=22.7.0,<22.8.0" +"pyats.topology" = ">=22.7.0,<22.8.0" + +[package.extras] +dev = ["Sphinx", "requests-mock", "sphinx-rtd-theme"] + +[[package]] +name = "pycodestyle" +version = "2.10.0" +description = "Python style guide checker" +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ + {file = "pycodestyle-2.10.0-py2.py3-none-any.whl", hash = "sha256:8a4eaf0d0495c7395bdab3589ac2db602797d76207242c17d470186815706610"}, + {file = "pycodestyle-2.10.0.tar.gz", hash = "sha256:347187bdb476329d98f695c213d7295a846d1152ff4fe9bacb8a9590b8ee7053"}, +] + +[[package]] +name = "pycparser" +version = "2.21" +description = "C parser in Python" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"}, + {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"}, +] + +[[package]] +name = "pycryptodomex" +version = "3.17" +description = "Cryptographic library for Python" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "pycryptodomex-3.17-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:12056c38e49d972f9c553a3d598425f8a1c1d35b2e4330f89d5ff1ffb70de041"}, + {file = "pycryptodomex-3.17-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:ab33c2d9f275e05e235dbca1063753b5346af4a5cac34a51fa0da0d4edfb21d7"}, + {file = "pycryptodomex-3.17-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:caa937ff29d07a665dfcfd7a84f0d4207b2ebf483362fa9054041d67fdfacc20"}, + {file = "pycryptodomex-3.17-cp27-cp27m-manylinux2014_aarch64.whl", hash = "sha256:db23d7341e21b273d2440ec6faf6c8b1ca95c8894da612e165be0b89a8688340"}, + {file = "pycryptodomex-3.17-cp27-cp27m-musllinux_1_1_aarch64.whl", hash = "sha256:f854c8476512cebe6a8681cc4789e4fcff6019c17baa0fd72b459155dc605ab4"}, + {file = "pycryptodomex-3.17-cp27-cp27m-win32.whl", hash = "sha256:a57e3257bacd719769110f1f70dd901c5b6955e9596ad403af11a3e6e7e3311c"}, + {file = "pycryptodomex-3.17-cp27-cp27m-win_amd64.whl", hash = "sha256:d38ab9e53b1c09608ba2d9b8b888f1e75d6f66e2787e437adb1fecbffec6b112"}, + {file = "pycryptodomex-3.17-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:3c2516b42437ae6c7a29ef3ddc73c8d4714e7b6df995b76be4695bbe4b3b5cd2"}, + {file = "pycryptodomex-3.17-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:5c23482860302d0d9883404eaaa54b0615eefa5274f70529703e2c43cc571827"}, + {file = "pycryptodomex-3.17-cp27-cp27mu-manylinux2014_aarch64.whl", hash = "sha256:7a8dc3ee7a99aae202a4db52de5a08aa4d01831eb403c4d21da04ec2f79810db"}, + {file = "pycryptodomex-3.17-cp27-cp27mu-musllinux_1_1_aarch64.whl", hash = "sha256:7cc28dd33f1f3662d6da28ead4f9891035f63f49d30267d3b41194c8778997c8"}, + {file = "pycryptodomex-3.17-cp35-abi3-macosx_10_9_universal2.whl", hash = "sha256:2d4d395f109faba34067a08de36304e846c791808524614c731431ee048fe70a"}, + {file = "pycryptodomex-3.17-cp35-abi3-macosx_10_9_x86_64.whl", hash = "sha256:55eed98b4150a744920597c81b3965b632038781bab8a08a12ea1d004213c600"}, + {file = "pycryptodomex-3.17-cp35-abi3-manylinux2014_aarch64.whl", hash = "sha256:7fa0b52df90343fafe319257b31d909be1d2e8852277fb0376ba89d26d2921db"}, + {file = "pycryptodomex-3.17-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78f0ddd4adc64baa39b416f3637aaf99f45acb0bcdc16706f0cc7ebfc6f10109"}, + {file = "pycryptodomex-3.17-cp35-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a4fa037078e92c7cc49f6789a8bac3de06856740bb2038d05f2d9a2e4b165d59"}, + {file = "pycryptodomex-3.17-cp35-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:88b0d5bb87eaf2a31e8a759302b89cf30c97f2f8ca7d83b8c9208abe8acb447a"}, + {file = "pycryptodomex-3.17-cp35-abi3-musllinux_1_1_i686.whl", hash = "sha256:6feedf4b0e36b395329b4186a805f60f900129cdf0170e120ecabbfcb763995d"}, + {file = "pycryptodomex-3.17-cp35-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:7a6651a07f67c28b6e978d63aa3a3fccea0feefed9a8453af3f7421a758461b7"}, + {file = "pycryptodomex-3.17-cp35-abi3-win32.whl", hash = "sha256:32e764322e902bbfac49ca1446604d2839381bbbdd5a57920c9daaf2e0b778df"}, + {file = "pycryptodomex-3.17-cp35-abi3-win_amd64.whl", hash = "sha256:4b51e826f0a04d832eda0790bbd0665d9bfe73e5a4d8ea93b6a9b38beeebe935"}, + {file = "pycryptodomex-3.17-pp27-pypy_73-macosx_10_9_x86_64.whl", hash = "sha256:d4cf0128da167562c49b0e034f09e9cedd733997354f2314837c2fa461c87bb1"}, + {file = "pycryptodomex-3.17-pp27-pypy_73-manylinux2010_x86_64.whl", hash = "sha256:c92537b596bd5bffb82f8964cabb9fef1bca8a28a9e0a69ffd3ec92a4a7ad41b"}, + {file = "pycryptodomex-3.17-pp27-pypy_73-win32.whl", hash = "sha256:599bb4ae4bbd614ca05f49bd4e672b7a250b80b13ae1238f05fd0f09d87ed80a"}, + {file = "pycryptodomex-3.17-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:4c4674f4b040321055c596aac926d12f7f6859dfe98cd12f4d9453b43ab6adc8"}, + {file = "pycryptodomex-3.17-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67a3648025e4ddb72d43addab764336ba2e670c8377dba5dd752e42285440d31"}, + {file = "pycryptodomex-3.17-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40e8a11f578bd0851b02719c862d55d3ee18d906c8b68a9c09f8c564d6bb5b92"}, + {file = "pycryptodomex-3.17-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:23d83b610bd97704f0cd3acc48d99b76a15c8c1540d8665c94d514a49905bad7"}, + {file = "pycryptodomex-3.17-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:fd29d35ac80755e5c0a99d96b44fb9abbd7e871849581ea6a4cb826d24267537"}, + {file = "pycryptodomex-3.17-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64b876d57cb894b31056ad8dd6a6ae1099b117ae07a3d39707221133490e5715"}, + {file = "pycryptodomex-3.17-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee8bf4fdcad7d66beb744957db8717afc12d176e3fd9c5d106835133881a049b"}, + {file = "pycryptodomex-3.17-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c84689c73358dfc23f9fdcff2cb9e7856e65e2ce3b5ed8ff630d4c9bdeb1867b"}, + {file = "pycryptodomex-3.17.tar.gz", hash = "sha256:0af93aad8d62e810247beedef0261c148790c52f3cd33643791cc6396dd217c1"}, +] + +[[package]] +name = "pydocstyle" +version = "6.3.0" +description = "Python docstring style checker" +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ + {file = "pydocstyle-6.3.0-py3-none-any.whl", hash = "sha256:118762d452a49d6b05e194ef344a55822987a462831ade91ec5c06fd2169d019"}, + {file = "pydocstyle-6.3.0.tar.gz", hash = "sha256:7ce43f0c0ac87b07494eb9c0b462c0b73e6ff276807f204d6b53edc72b7e44e1"}, +] + +[package.dependencies] +importlib-metadata = {version = ">=2.0.0,<5.0.0", markers = "python_version < \"3.8\""} +snowballstemmer = ">=2.2.0" + +[package.extras] +toml = ["tomli (>=1.2.3)"] + +[[package]] +name = "pyflakes" +version = "2.4.0" +description = "passive checker of Python programs" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "pyflakes-2.4.0-py2.py3-none-any.whl", hash = "sha256:3bb3a3f256f4b7968c9c788781e4ff07dce46bdf12339dcda61053375426ee2e"}, + {file = "pyflakes-2.4.0.tar.gz", hash = "sha256:05a85c2872edf37a4ed30b0cce2f6093e1d0581f8c19d7393122da7e25b2b24c"}, +] + +[[package]] +name = "pyftpdlib" +version = "1.5.7" +description = "Very fast asynchronous FTP server library" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "pyftpdlib-1.5.7.tar.gz", hash = "sha256:7ea3ce4137db8209af1f6b9ea020590f462c63ed7c7a1240bd596e4d3a7b656e"}, +] + +[package.extras] +ssl = ["PyOpenSSL"] + +[[package]] +name = "pygments" +version = "2.14.0" +description = "Pygments is a syntax highlighting package written in Python." +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ + {file = "Pygments-2.14.0-py3-none-any.whl", hash = "sha256:fa7bd7bd2771287c0de303af8bfdfc731f51bd2c6a47ab69d117138893b82717"}, + {file = "Pygments-2.14.0.tar.gz", hash = "sha256:b3ed06a9e8ac9a9aae5a6f5dbe78a8a58655d17b43b93c078f094ddc476ae297"}, +] + +[package.extras] +plugins = ["importlib-metadata"] + +[[package]] +name = "pylama" +version = "8.3.8" +description = "Code audit tool for python" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pylama-8.3.8-py3-none-any.whl", hash = "sha256:aff89423f7de118713f638c7f937fa83a5873e3bdf06d413661d9cb8dc5f3a7b"}, + {file = "pylama-8.3.8.tar.gz", hash = "sha256:2dd852fe9312ea6012466cf17ff179668fc3d2716856fcfaaee8ce7876d83620"}, +] + +[package.dependencies] +mccabe = ">=0.6.1" +pycodestyle = ">=2.8.0" +pydocstyle = ">=6.1.1" +pyflakes = ">=2.4.0" + +[package.extras] +all = ["eradicate", "mypy", "pylint", "radon", "vulture"] +eradicate = ["eradicate"] +mypy = ["mypy"] +pylint = ["pylint"] +radon = ["radon"] +tests = ["eradicate (>=2.0.0)", "mypy", "pylama-quotes", "pylint (>=2.11.1)", "pytest", "pytest-mypy", "radon (>=5.1.0)", "types-setuptools", "vulture"] +vulture = ["vulture"] + +[[package]] +name = "pynacl" +version = "1.5.0" +description = "Python binding to the Networking and Cryptography (NaCl) library" +category = "main" +optional = false +python-versions = ">=3.6" +files = [ + {file = "PyNaCl-1.5.0-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:401002a4aaa07c9414132aaed7f6836ff98f59277a234704ff66878c2ee4a0d1"}, + {file = "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:52cb72a79269189d4e0dc537556f4740f7f0a9ec41c1322598799b0bdad4ef92"}, + {file = "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a36d4a9dda1f19ce6e03c9a784a2921a4b726b02e1c736600ca9c22029474394"}, + {file = "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:0c84947a22519e013607c9be43706dd42513f9e6ae5d39d3613ca1e142fba44d"}, + {file = "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06b8f6fa7f5de8d5d2f7573fe8c863c051225a27b61e6860fd047b1775807858"}, + {file = "PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:a422368fc821589c228f4c49438a368831cb5bbc0eab5ebe1d7fac9dded6567b"}, + {file = "PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:61f642bf2378713e2c2e1de73444a3778e5f0a38be6fee0fe532fe30060282ff"}, + {file = "PyNaCl-1.5.0-cp36-abi3-win32.whl", hash = "sha256:e46dae94e34b085175f8abb3b0aaa7da40767865ac82c928eeb9e57e1ea8a543"}, + {file = "PyNaCl-1.5.0-cp36-abi3-win_amd64.whl", hash = "sha256:20f42270d27e1b6a29f54032090b972d97f0a1b0948cc52392041ef7831fee93"}, + {file = "PyNaCl-1.5.0.tar.gz", hash = "sha256:8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba"}, +] + +[package.dependencies] +cffi = ">=1.4.1" + +[package.extras] +docs = ["sphinx (>=1.6.5)", "sphinx-rtd-theme"] +tests = ["hypothesis (>=3.27.0)", "pytest (>=3.2.1,!=3.3.0)"] + +[[package]] +name = "pyserial" +version = "3.5" +description = "Python Serial Port Extension" +category = "main" +optional = false +python-versions = "*" +files = [ + {file = "pyserial-3.5-py2.py3-none-any.whl", hash = "sha256:c4451db6ba391ca6ca299fb3ec7bae67a5c55dde170964c7a14ceefec02f2cf0"}, + {file = "pyserial-3.5.tar.gz", hash = "sha256:3c77e014170dfffbd816e6ffc205e9842efb10be9f58ec16d3e8675b4925cddb"}, +] + +[package.extras] +cp2110 = ["hidapi"] + +[[package]] +name = "pysmi" +version = "0.3.4" +description = "SNMP SMI/MIB Parser" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "pysmi-0.3.4-py2.py3-none-any.whl", hash = "sha256:2ec6ebd41aaef562695e7d0058763c6e1e8c1fbf8710804c11ef3a857fc9cad7"}, + {file = "pysmi-0.3.4.tar.gz", hash = "sha256:bd15a15020aee8376cab5be264c26330824a8b8164ed0195bd402dd59e4e8f7c"}, +] + +[package.dependencies] +ply = "*" + +[[package]] +name = "pysnmp" +version = "4.4.12" +description = "SNMP library for Python" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "pysnmp-4.4.12-py2.py3-none-any.whl", hash = "sha256:d90946c5d7c55b1ddc03e065a99a2ed36e748dcf166ca04ee4126b8f25fc057a"}, + {file = "pysnmp-4.4.12.tar.gz", hash = "sha256:0c3dbef2f958caca96071fe5c19de43e9c1b0484ab02a0cf08b190bcee768ba9"}, +] + +[package.dependencies] +pyasn1 = ">=0.2.3" +pycryptodomex = "*" +pysmi = "*" + +[[package]] +name = "pytest" +version = "7.1.2" +description = "pytest: simple powerful testing with Python" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pytest-7.1.2-py3-none-any.whl", hash = "sha256:13d0e3ccfc2b6e26be000cb6568c832ba67ba32e719443bfe725814d3c42433c"}, + {file = "pytest-7.1.2.tar.gz", hash = "sha256:a06a0425453864a270bc45e71f783330a7428defb4230fb5e6a731fde06ecd45"}, +] + +[package.dependencies] +atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""} +attrs = ">=19.2.0" +colorama = {version = "*", markers = "sys_platform == \"win32\""} +importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} +iniconfig = "*" +packaging = "*" +pluggy = ">=0.12,<2.0" +py = ">=1.8.2" +tomli = ">=1.0.0" + +[package.extras] +testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"] + +[[package]] +name = "python-engineio" +version = "3.14.2" +description = "Engine.IO server" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "python-engineio-3.14.2.tar.gz", hash = "sha256:eab4553f2804c1ce97054c8b22cf0d5a9ab23128075248b97e1a5b2f29553085"}, + {file = "python_engineio-3.14.2-py2.py3-none-any.whl", hash = "sha256:5a9e6086d192463b04a1428ff1f85b6ba631bbb19d453b144ffc04f530542b84"}, +] + +[package.dependencies] +six = ">=1.9.0" + +[package.extras] +asyncio-client = ["aiohttp (>=3.4)"] +client = ["requests (>=2.21.0)", "websocket-client (>=0.54.0)"] + +[[package]] +name = "python-socketio" +version = "4.6.1" +description = "Socket.IO server" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "python-socketio-4.6.1.tar.gz", hash = "sha256:cd1f5aa492c1eb2be77838e837a495f117e17f686029ebc03d62c09e33f4fa10"}, + {file = "python_socketio-4.6.1-py2.py3-none-any.whl", hash = "sha256:5a21da53fdbdc6bb6c8071f40e13d100e0b279ad997681c2492478e06f370523"}, +] + +[package.dependencies] +python-engineio = ">=3.13.0,<4" +six = ">=1.9.0" + +[package.extras] +asyncio-client = ["aiohttp (>=3.4)", "websockets (>=7.0)"] +client = ["requests (>=2.21.0)", "websocket-client (>=0.54.0)"] + +[[package]] +name = "pyyaml" +version = "5.4.1" +description = "YAML parser and emitter for Python" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" +files = [ + {file = "PyYAML-5.4.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:3b2b1824fe7112845700f815ff6a489360226a5609b96ec2190a45e62a9fc922"}, + {file = "PyYAML-5.4.1-cp27-cp27m-win32.whl", hash = "sha256:129def1b7c1bf22faffd67b8f3724645203b79d8f4cc81f674654d9902cb4393"}, + {file = "PyYAML-5.4.1-cp27-cp27m-win_amd64.whl", hash = "sha256:4465124ef1b18d9ace298060f4eccc64b0850899ac4ac53294547536533800c8"}, + {file = "PyYAML-5.4.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:bb4191dfc9306777bc594117aee052446b3fa88737cd13b7188d0e7aa8162185"}, + {file = "PyYAML-5.4.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:6c78645d400265a062508ae399b60b8c167bf003db364ecb26dcab2bda048253"}, + {file = "PyYAML-5.4.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:4e0583d24c881e14342eaf4ec5fbc97f934b999a6828693a99157fde912540cc"}, + {file = "PyYAML-5.4.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:72a01f726a9c7851ca9bfad6fd09ca4e090a023c00945ea05ba1638c09dc3347"}, + {file = "PyYAML-5.4.1-cp36-cp36m-manylinux2014_s390x.whl", hash = "sha256:895f61ef02e8fed38159bb70f7e100e00f471eae2bc838cd0f4ebb21e28f8541"}, + {file = "PyYAML-5.4.1-cp36-cp36m-win32.whl", hash = "sha256:3bd0e463264cf257d1ffd2e40223b197271046d09dadf73a0fe82b9c1fc385a5"}, + {file = "PyYAML-5.4.1-cp36-cp36m-win_amd64.whl", hash = "sha256:e4fac90784481d221a8e4b1162afa7c47ed953be40d31ab4629ae917510051df"}, + {file = "PyYAML-5.4.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:5accb17103e43963b80e6f837831f38d314a0495500067cb25afab2e8d7a4018"}, + {file = "PyYAML-5.4.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:e1d4970ea66be07ae37a3c2e48b5ec63f7ba6804bdddfdbd3cfd954d25a82e63"}, + {file = "PyYAML-5.4.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:cb333c16912324fd5f769fff6bc5de372e9e7a202247b48870bc251ed40239aa"}, + {file = "PyYAML-5.4.1-cp37-cp37m-manylinux2014_s390x.whl", hash = "sha256:fe69978f3f768926cfa37b867e3843918e012cf83f680806599ddce33c2c68b0"}, + {file = "PyYAML-5.4.1-cp37-cp37m-win32.whl", hash = "sha256:dd5de0646207f053eb0d6c74ae45ba98c3395a571a2891858e87df7c9b9bd51b"}, + {file = "PyYAML-5.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:08682f6b72c722394747bddaf0aa62277e02557c0fd1c42cb853016a38f8dedf"}, + {file = "PyYAML-5.4.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d2d9808ea7b4af864f35ea216be506ecec180628aced0704e34aca0b040ffe46"}, + {file = "PyYAML-5.4.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:8c1be557ee92a20f184922c7b6424e8ab6691788e6d86137c5d93c1a6ec1b8fb"}, + {file = "PyYAML-5.4.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:fd7f6999a8070df521b6384004ef42833b9bd62cfee11a09bda1079b4b704247"}, + {file = "PyYAML-5.4.1-cp38-cp38-manylinux2014_s390x.whl", hash = "sha256:bfb51918d4ff3d77c1c856a9699f8492c612cde32fd3bcd344af9be34999bfdc"}, + {file = "PyYAML-5.4.1-cp38-cp38-win32.whl", hash = "sha256:fa5ae20527d8e831e8230cbffd9f8fe952815b2b7dae6ffec25318803a7528fc"}, + {file = "PyYAML-5.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:0f5f5786c0e09baddcd8b4b45f20a7b5d61a7e7e99846e3c799b05c7c53fa696"}, + {file = "PyYAML-5.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:294db365efa064d00b8d1ef65d8ea2c3426ac366c0c4368d930bf1c5fb497f77"}, + {file = "PyYAML-5.4.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:74c1485f7707cf707a7aef42ef6322b8f97921bd89be2ab6317fd782c2d53183"}, + {file = "PyYAML-5.4.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:d483ad4e639292c90170eb6f7783ad19490e7a8defb3e46f97dfe4bacae89122"}, + {file = "PyYAML-5.4.1-cp39-cp39-manylinux2014_s390x.whl", hash = "sha256:fdc842473cd33f45ff6bce46aea678a54e3d21f1b61a7750ce3c498eedfe25d6"}, + {file = "PyYAML-5.4.1-cp39-cp39-win32.whl", hash = "sha256:49d4cdd9065b9b6e206d0595fee27a96b5dd22618e7520c33204a4a3239d5b10"}, + {file = "PyYAML-5.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:c20cfa2d49991c8b4147af39859b167664f2ad4561704ee74c1de03318e898db"}, + {file = "PyYAML-5.4.1.tar.gz", hash = "sha256:607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e"}, +] + +[[package]] +name = "readme-renderer" +version = "37.3" +description = "readme_renderer is a library for rendering \"readme\" descriptions for Warehouse" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "readme_renderer-37.3-py3-none-any.whl", hash = "sha256:f67a16caedfa71eef48a31b39708637a6f4664c4394801a7b0d6432d13907343"}, + {file = "readme_renderer-37.3.tar.gz", hash = "sha256:cd653186dfc73055656f090f227f5cb22a046d7f71a841dfa305f55c9a513273"}, +] + +[package.dependencies] +bleach = ">=2.1.0" +docutils = ">=0.13.1" +Pygments = ">=2.5.1" + +[package.extras] +md = ["cmarkgfm (>=0.8.0)"] + +[[package]] +name = "requests" +version = "2.28.2" +description = "Python HTTP for Humans." +category = "dev" +optional = false +python-versions = ">=3.7, <4" +files = [ + {file = "requests-2.28.2-py3-none-any.whl", hash = "sha256:64299f4909223da747622c030b781c0d7811e359c37124b4bd368fb8c6518baa"}, + {file = "requests-2.28.2.tar.gz", hash = "sha256:98b1b2782e3c6c4904938b84c0eb932721069dfdb9134313beff7c83c2df24bf"}, +] + +[package.dependencies] +certifi = ">=2017.4.17" +charset-normalizer = ">=2,<4" +idna = ">=2.5,<4" +urllib3 = ">=1.21.1,<1.27" + +[package.extras] +socks = ["PySocks (>=1.5.6,!=1.5.7)"] +use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] + +[[package]] +name = "requests-toolbelt" +version = "0.10.1" +description = "A utility belt for advanced users of python-requests" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "requests-toolbelt-0.10.1.tar.gz", hash = "sha256:62e09f7ff5ccbda92772a29f394a49c3ad6cb181d568b1337626b2abb628a63d"}, + {file = "requests_toolbelt-0.10.1-py2.py3-none-any.whl", hash = "sha256:18565aa58116d9951ac39baa288d3adb5b3ff975c4f25eee78555d89e8f247f7"}, +] + +[package.dependencies] +requests = ">=2.0.1,<3.0.0" + +[[package]] +name = "ruamel-yaml" +version = "0.17.21" +description = "ruamel.yaml is a YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order" +category = "dev" +optional = false +python-versions = ">=3" +files = [ + {file = "ruamel.yaml-0.17.21-py3-none-any.whl", hash = "sha256:742b35d3d665023981bd6d16b3d24248ce5df75fdb4e2924e93a05c1f8b61ca7"}, + {file = "ruamel.yaml-0.17.21.tar.gz", hash = "sha256:8b7ce697a2f212752a35c1ac414471dc16c424c9573be4926b56ff3f5d23b7af"}, +] + +[package.dependencies] +"ruamel.yaml.clib" = {version = ">=0.2.6", markers = "platform_python_implementation == \"CPython\" and python_version < \"3.11\""} + +[package.extras] +docs = ["ryd"] +jinja2 = ["ruamel.yaml.jinja2 (>=0.2)"] + +[[package]] +name = "ruamel-yaml-clib" +version = "0.2.7" +description = "C version of reader, parser and emitter for ruamel.yaml derived from libyaml" +category = "dev" +optional = false +python-versions = ">=3.5" +files = [ + {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d5859983f26d8cd7bb5c287ef452e8aacc86501487634573d260968f753e1d71"}, + {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:debc87a9516b237d0466a711b18b6ebeb17ba9f391eb7f91c649c5c4ec5006c7"}, + {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:df5828871e6648db72d1c19b4bd24819b80a755c4541d3409f0f7acd0f335c80"}, + {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:efa08d63ef03d079dcae1dfe334f6c8847ba8b645d08df286358b1f5293d24ab"}, + {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-win32.whl", hash = "sha256:763d65baa3b952479c4e972669f679fe490eee058d5aa85da483ebae2009d231"}, + {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-win_amd64.whl", hash = "sha256:d000f258cf42fec2b1bbf2863c61d7b8918d31ffee905da62dede869254d3b8a"}, + {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:045e0626baf1c52e5527bd5db361bc83180faaba2ff586e763d3d5982a876a9e"}, + {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-macosx_12_6_arm64.whl", hash = "sha256:721bc4ba4525f53f6a611ec0967bdcee61b31df5a56801281027a3a6d1c2daf5"}, + {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:41d0f1fa4c6830176eef5b276af04c89320ea616655d01327d5ce65e50575c94"}, + {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:4b3a93bb9bc662fc1f99c5c3ea8e623d8b23ad22f861eb6fce9377ac07ad6072"}, + {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-macosx_12_0_arm64.whl", hash = "sha256:a234a20ae07e8469da311e182e70ef6b199d0fbeb6c6cc2901204dd87fb867e8"}, + {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:15910ef4f3e537eea7fe45f8a5d19997479940d9196f357152a09031c5be59f3"}, + {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:370445fd795706fd291ab00c9df38a0caed0f17a6fb46b0f607668ecb16ce763"}, + {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-win32.whl", hash = "sha256:ecdf1a604009bd35c674b9225a8fa609e0282d9b896c03dd441a91e5f53b534e"}, + {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-win_amd64.whl", hash = "sha256:f34019dced51047d6f70cb9383b2ae2853b7fc4dce65129a5acd49f4f9256646"}, + {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2aa261c29a5545adfef9296b7e33941f46aa5bbd21164228e833412af4c9c75f"}, + {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-macosx_12_0_arm64.whl", hash = "sha256:f01da5790e95815eb5a8a138508c01c758e5f5bc0ce4286c4f7028b8dd7ac3d0"}, + {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:40d030e2329ce5286d6b231b8726959ebbe0404c92f0a578c0e2482182e38282"}, + {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:c3ca1fbba4ae962521e5eb66d72998b51f0f4d0f608d3c0347a48e1af262efa7"}, + {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-win32.whl", hash = "sha256:7bdb4c06b063f6fd55e472e201317a3bb6cdeeee5d5a38512ea5c01e1acbdd93"}, + {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-win_amd64.whl", hash = "sha256:be2a7ad8fd8f7442b24323d24ba0b56c51219513cfa45b9ada3b87b76c374d4b"}, + {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:91a789b4aa0097b78c93e3dc4b40040ba55bef518f84a40d4442f713b4094acb"}, + {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:99e77daab5d13a48a4054803d052ff40780278240a902b880dd37a51ba01a307"}, + {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:3243f48ecd450eddadc2d11b5feb08aca941b5cd98c9b1db14b2fd128be8c697"}, + {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:8831a2cedcd0f0927f788c5bdf6567d9dc9cc235646a434986a852af1cb54b4b"}, + {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-win32.whl", hash = "sha256:3110a99e0f94a4a3470ff67fc20d3f96c25b13d24c6980ff841e82bafe827cac"}, + {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-win_amd64.whl", hash = "sha256:92460ce908546ab69770b2e576e4f99fbb4ce6ab4b245345a3869a0a0410488f"}, + {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5bc0667c1eb8f83a3752b71b9c4ba55ef7c7058ae57022dd9b29065186a113d9"}, + {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:4a4d8d417868d68b979076a9be6a38c676eca060785abaa6709c7b31593c35d1"}, + {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:bf9a6bc4a0221538b1a7de3ed7bca4c93c02346853f44e1cd764be0023cd3640"}, + {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:a7b301ff08055d73223058b5c46c55638917f04d21577c95e00e0c4d79201a6b"}, + {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-win32.whl", hash = "sha256:d5e51e2901ec2366b79f16c2299a03e74ba4531ddcfacc1416639c557aef0ad8"}, + {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-win_amd64.whl", hash = "sha256:184faeaec61dbaa3cace407cffc5819f7b977e75360e8d5ca19461cd851a5fc5"}, + {file = "ruamel.yaml.clib-0.2.7.tar.gz", hash = "sha256:1f08fd5a2bea9c4180db71678e850b995d2a5f4537be0e94557668cf0f5f9497"}, +] + +[[package]] +name = "scp" +version = "0.14.5" +description = "scp module for paramiko" +category = "main" +optional = false +python-versions = "*" +files = [ + {file = "scp-0.14.5-py2.py3-none-any.whl", hash = "sha256:d224535dd8ed00294f52b0e0e18fde7a6fb7a3d06b97ede9e3f750fa7bf75c09"}, + {file = "scp-0.14.5.tar.gz", hash = "sha256:64f0015899b3d212cb8088e7d40ebaf0686889ff0e243d5c1242efe8b50f053e"}, +] + +[package.dependencies] +paramiko = "*" + +[[package]] +name = "setuptools" +version = "67.2.0" +description = "Easily download, build, install, upgrade, and uninstall Python packages" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "setuptools-67.2.0-py3-none-any.whl", hash = "sha256:16ccf598aab3b506593c17378473978908a2734d7336755a8769b480906bec1c"}, + {file = "setuptools-67.2.0.tar.gz", hash = "sha256:b440ee5f7e607bb8c9de15259dba2583dd41a38879a7abc1d43a71c59524da48"}, +] + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"] +testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8 (<5)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] + +[[package]] +name = "six" +version = "1.16.0" +description = "Python 2 and 3 compatibility utilities" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, + {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, +] + +[[package]] +name = "smmap" +version = "5.0.0" +description = "A pure Python implementation of a sliding window memory map manager" +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ + {file = "smmap-5.0.0-py3-none-any.whl", hash = "sha256:2aba19d6a040e78d8b09de5c57e96207b09ed71d8e55ce0959eeee6c8e190d94"}, + {file = "smmap-5.0.0.tar.gz", hash = "sha256:c840e62059cd3be204b0c9c9f74be2c09d5648eddd4580d9314c3ecde0b30936"}, +] + +[[package]] +name = "snowballstemmer" +version = "2.2.0" +description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms." +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "snowballstemmer-2.2.0-py2.py3-none-any.whl", hash = "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a"}, + {file = "snowballstemmer-2.2.0.tar.gz", hash = "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1"}, +] + +[[package]] +name = "textfsm" +version = "1.1.3" +description = "Python module for parsing semi-structured text into python tables." +category = "main" +optional = false +python-versions = "*" +files = [ + {file = "textfsm-1.1.3-py2.py3-none-any.whl", hash = "sha256:dcbeebc6a6137bed561c71a56344d752e6dbc04ae5ea309252cb70fb97ccc9cd"}, + {file = "textfsm-1.1.3.tar.gz", hash = "sha256:577ef278a9237f5341ae9b682947cefa4a2c1b24dbe486f94f2c95addc6504b5"}, +] + +[package.dependencies] +future = "*" +six = "*" + +[[package]] +name = "tftpy" +version = "0.8.0" +description = "Python TFTP library" +category = "dev" +optional = false +python-versions = ">=2.7" +files = [ + {file = "tftpy-0.8.0.tar.gz", hash = "sha256:c9095f6420125690865717e251dac3382abe5562d98b79780857b4535f554ffe"}, +] + +[[package]] +name = "tomli" +version = "2.0.1" +description = "A lil' TOML parser" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, + {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, +] + +[[package]] +name = "tqdm" +version = "4.64.1" +description = "Fast, Extensible Progress Meter" +category = "dev" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" +files = [ + {file = "tqdm-4.64.1-py2.py3-none-any.whl", hash = "sha256:6fee160d6ffcd1b1c68c65f14c829c22832bc401726335ce92c52d395944a6a1"}, + {file = "tqdm-4.64.1.tar.gz", hash = "sha256:5f4f682a004951c1b450bc753c710e9280c5746ce6ffedee253ddbcbf54cf1e4"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + +[package.extras] +dev = ["py-make (>=0.1.0)", "twine", "wheel"] +notebook = ["ipywidgets (>=6)"] +slack = ["slack-sdk"] +telegram = ["requests"] + +[[package]] +name = "ttp" +version = "0.9.2" +description = "Template Text Parser" +category = "dev" +optional = false +python-versions = ">=2.7,<4.0" +files = [ + {file = "ttp-0.9.2-py2.py3-none-any.whl", hash = "sha256:0b427d81d76d733e80e7ed40206e22a7a0193394ee7dafa0b5122ee4f9d68797"}, + {file = "ttp-0.9.2.tar.gz", hash = "sha256:31e7c98d08481662a4d3a2d5347792273bcf09e5e1088f0e5e471c85caee29a7"}, +] + +[package.extras] +docs = ["Sphinx (==4.3.0)", "readthedocs-sphinx-search (==0.1.1)", "sphinx_rtd_theme (==1.0.0)", "sphinxcontrib-applehelp (==1.0.1)", "sphinxcontrib-devhelp (==1.0.1)", "sphinxcontrib-htmlhelp (==2.0.0)", "sphinxcontrib-jsmath (==1.0.1)", "sphinxcontrib-napoleon (==0.7)", "sphinxcontrib-qthelp (==1.0.2)", "sphinxcontrib-serializinghtml (==1.1.5)", "sphinxcontrib-spelling (==7.2.1)"] +full = ["cerberus (>=1.3.0,<1.4.0)", "deepdiff (>=5.8.0,<5.9.0)", "jinja2 (>=3.0.0,<3.1.0)", "n2g (>=0.2.0,<0.3.0)", "openpyxl (>=3.0.0,<3.1.0)", "pyyaml (==6.0)", "tabulate (>=0.8.0,<0.9.0)", "ttp_templates (<1.0.0)", "yangson (>=1.4.0,<1.5.0)"] + +[[package]] +name = "twine" +version = "1.15.0" +description = "Collection of utilities for publishing packages on PyPI" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "twine-1.15.0-py2.py3-none-any.whl", hash = "sha256:630fadd6e342e725930be6c696537e3f9ccc54331742b16245dab292a17d0460"}, + {file = "twine-1.15.0.tar.gz", hash = "sha256:a3d22aab467b4682a22de4a422632e79d07eebd07ff2a7079effb13f8a693787"}, +] + +[package.dependencies] +pkginfo = ">=1.4.2" +readme-renderer = ">=21.0" +requests = ">=2.5.0,<2.15 || >2.15,<2.16 || >2.16" +requests-toolbelt = ">=0.8.0,<0.9.0 || >0.9.0" +setuptools = ">=0.7.0" +tqdm = ">=4.14" + +[package.extras] +keyring = ["keyring"] +with-blake2 = ["pyblake2"] + +[[package]] +name = "typed-ast" +version = "1.5.4" +description = "a fork of Python 2 and 3 ast modules with type comment support" +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ + {file = "typed_ast-1.5.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:669dd0c4167f6f2cd9f57041e03c3c2ebf9063d0757dc89f79ba1daa2bfca9d4"}, + {file = "typed_ast-1.5.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:211260621ab1cd7324e0798d6be953d00b74e0428382991adfddb352252f1d62"}, + {file = "typed_ast-1.5.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:267e3f78697a6c00c689c03db4876dd1efdfea2f251a5ad6555e82a26847b4ac"}, + {file = "typed_ast-1.5.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c542eeda69212fa10a7ada75e668876fdec5f856cd3d06829e6aa64ad17c8dfe"}, + {file = "typed_ast-1.5.4-cp310-cp310-win_amd64.whl", hash = "sha256:a9916d2bb8865f973824fb47436fa45e1ebf2efd920f2b9f99342cb7fab93f72"}, + {file = "typed_ast-1.5.4-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:79b1e0869db7c830ba6a981d58711c88b6677506e648496b1f64ac7d15633aec"}, + {file = "typed_ast-1.5.4-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a94d55d142c9265f4ea46fab70977a1944ecae359ae867397757d836ea5a3f47"}, + {file = "typed_ast-1.5.4-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:183afdf0ec5b1b211724dfef3d2cad2d767cbefac291f24d69b00546c1837fb6"}, + {file = "typed_ast-1.5.4-cp36-cp36m-win_amd64.whl", hash = "sha256:639c5f0b21776605dd6c9dbe592d5228f021404dafd377e2b7ac046b0349b1a1"}, + {file = "typed_ast-1.5.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:cf4afcfac006ece570e32d6fa90ab74a17245b83dfd6655a6f68568098345ff6"}, + {file = "typed_ast-1.5.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed855bbe3eb3715fca349c80174cfcfd699c2f9de574d40527b8429acae23a66"}, + {file = "typed_ast-1.5.4-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:6778e1b2f81dfc7bc58e4b259363b83d2e509a65198e85d5700dfae4c6c8ff1c"}, + {file = "typed_ast-1.5.4-cp37-cp37m-win_amd64.whl", hash = "sha256:0261195c2062caf107831e92a76764c81227dae162c4f75192c0d489faf751a2"}, + {file = "typed_ast-1.5.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2efae9db7a8c05ad5547d522e7dbe62c83d838d3906a3716d1478b6c1d61388d"}, + {file = "typed_ast-1.5.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7d5d014b7daa8b0bf2eaef684295acae12b036d79f54178b92a2b6a56f92278f"}, + {file = "typed_ast-1.5.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:370788a63915e82fd6f212865a596a0fefcbb7d408bbbb13dea723d971ed8bdc"}, + {file = "typed_ast-1.5.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:4e964b4ff86550a7a7d56345c7864b18f403f5bd7380edf44a3c1fb4ee7ac6c6"}, + {file = "typed_ast-1.5.4-cp38-cp38-win_amd64.whl", hash = "sha256:683407d92dc953c8a7347119596f0b0e6c55eb98ebebd9b23437501b28dcbb8e"}, + {file = "typed_ast-1.5.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4879da6c9b73443f97e731b617184a596ac1235fe91f98d279a7af36c796da35"}, + {file = "typed_ast-1.5.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3e123d878ba170397916557d31c8f589951e353cc95fb7f24f6bb69adc1a8a97"}, + {file = "typed_ast-1.5.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebd9d7f80ccf7a82ac5f88c521115cc55d84e35bf8b446fcd7836eb6b98929a3"}, + {file = "typed_ast-1.5.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:98f80dee3c03455e92796b58b98ff6ca0b2a6f652120c263efdba4d6c5e58f72"}, + {file = "typed_ast-1.5.4-cp39-cp39-win_amd64.whl", hash = "sha256:0fdbcf2fef0ca421a3f5912555804296f0b0960f0418c440f5d6d3abb549f3e1"}, + {file = "typed_ast-1.5.4.tar.gz", hash = "sha256:39e21ceb7388e4bb37f4c679d72707ed46c2fbf2a5609b8b8ebc4b067d977df2"}, +] + +[[package]] +name = "types-paramiko" +version = "3.0.0.2" +description = "Typing stubs for paramiko" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "types-paramiko-3.0.0.2.tar.gz", hash = "sha256:9f582a3a96cd9df1ab0a21fb333a3c40f120ccf01aaab326daa0df3887376059"}, + {file = "types_paramiko-3.0.0.2-py3-none-any.whl", hash = "sha256:5328f60d0f83ef90d8196c8b24c6c6124aebf1fa9ab3ccfd72cd3b623512ae61"}, +] + +[package.dependencies] +cryptography = ">=37.0.0" + +[[package]] +name = "types-pyyaml" +version = "6.0.12.4" +description = "Typing stubs for PyYAML" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "types-PyYAML-6.0.12.4.tar.gz", hash = "sha256:ade6e328a5a3df816c47c912c2e1e946ae2bace90744aa73111ee6834b03a314"}, + {file = "types_PyYAML-6.0.12.4-py3-none-any.whl", hash = "sha256:de3bacfc4e0772d9b1baf007c37354f3c34c8952e90307d5155b6de0fc183a67"}, +] + +[[package]] +name = "typing-extensions" +version = "4.4.0" +description = "Backported and Experimental Type Hints for Python 3.7+" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "typing_extensions-4.4.0-py3-none-any.whl", hash = "sha256:16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e"}, + {file = "typing_extensions-4.4.0.tar.gz", hash = "sha256:1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa"}, +] + +[[package]] +name = "unicon" +version = "22.7" +description = "Unicon Connection Library" +category = "dev" +optional = false +python-versions = ">=3.5" +files = [ + {file = "unicon-22.7-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:8fc159d22a7e631407f866504042b02f6502cde2dfc357cb638486b0139bd2d2"}, + {file = "unicon-22.7-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:64bdead37b23247d404468021cbff9b877a69d667053c8a17b0ded2edd91ce7b"}, + {file = "unicon-22.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e9ad98f25aff18eb4bb8192ddf6c0e575dd5145b8c20a50fcde0cc137353ec0c"}, + {file = "unicon-22.7-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:04122cec447a16029450121e51b34f41c9be1ad28f73e15ebb337dde11c49cfa"}, + {file = "unicon-22.7-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:263716260ec504ff62bf3023efe58bbaf40e27230931898d1bfb41be537983ae"}, + {file = "unicon-22.7-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:90fe634b9681fbf44c141db3b32ab879e56b863b1e4e79453d1521ac7d5c375f"}, + {file = "unicon-22.7-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:825c97a694d8a4187c1fc468624c0a2014cbd81f7d6982e268442a03306b55ad"}, + {file = "unicon-22.7-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:29c2d20ebd9800349c5d69794fea23795112b6dddae392736e127b0e2c7cbcc2"}, + {file = "unicon-22.7-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:ebb3ec1dec1d2ffcb38c58e265b92f99941ff5238fa3a1792be2bbdbcebad467"}, + {file = "unicon-22.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:110ed7f3a18231f28589b68eab67e2cfa667ac41a800e660b593ffaa2ac43a93"}, + {file = "unicon-22.7-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:77c87275b2113afa7d73b011fb7e9c657082d3ef2fe30daa595c80debd872063"}, + {file = "unicon-22.7-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:7944a8b464e23952aa949e8f211bb117cf7c7ac1be066a63e8122d25f63d70a0"}, + {file = "unicon-22.7-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:9bb9e588eb8cca2ab64eb0c4429a993385ddbd988a7d1196ed7c3533b48999f9"}, + {file = "unicon-22.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d4348f5121fdd9343bd0259a22965e3033da74f5eac9ddfce35ce954ed988bfa"}, + {file = "unicon-22.7-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:21feadaa4c96f505265edfe11efddd36e4b2a8e9d09e601e47607a906d146ab3"}, +] + +[package.dependencies] +dill = "*" +pyyaml = "*" +"unicon.plugins" = ">=22.7.0,<22.8.0" + +[package.extras] +dev = ["Sphinx", "cisco-distutils", "coverage", "restview", "sphinx-rtd-theme", "sphinxcontrib-mockautodoc", "sphinxcontrib-napoleon"] +pyats = ["pyats"] +robot = ["robotframework"] + +[[package]] +name = "unicon-plugins" +version = "22.7" +description = "Unicon Connection Library Plugins" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "unicon.plugins-22.7-py3-none-any.whl", hash = "sha256:6ab6564e03fee3635255e5f8b8a45d44eb2dcd4b9bb7799b042acdb67a6d8a8d"}, +] + +[package.dependencies] +PrettyTable = "*" +pyyaml = "*" +unicon = ">=22.7.0,<22.8.0" + +[package.extras] +dev = ["Sphinx", "coverage", "pip", "restview", "setuptools", "sphinx-rtd-theme", "sphinxcontrib-mockautodoc", "sphinxcontrib-napoleon", "wheel"] + +[[package]] +name = "urllib3" +version = "1.26.14" +description = "HTTP library with thread-safe connection pooling, file post, and more." +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" +files = [ + {file = "urllib3-1.26.14-py2.py3-none-any.whl", hash = "sha256:75edcdc2f7d85b137124a6c3c9fc3933cdeaa12ecb9a6a959f22797a0feca7e1"}, + {file = "urllib3-1.26.14.tar.gz", hash = "sha256:076907bf8fd355cde77728471316625a4d2f7e713c125f51953bb5b3eecf4f72"}, +] + +[package.extras] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"] +secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] +socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] + +[[package]] +name = "wcwidth" +version = "0.2.6" +description = "Measures the displayed width of unicode strings in a terminal" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "wcwidth-0.2.6-py2.py3-none-any.whl", hash = "sha256:795b138f6875577cd91bba52baf9e445cd5118fd32723b460e30a0af30ea230e"}, + {file = "wcwidth-0.2.6.tar.gz", hash = "sha256:a5220780a404dbe3353789870978e472cfe477761f06ee55077256e509b156d0"}, +] + +[[package]] +name = "webencodings" +version = "0.5.1" +description = "Character encoding aliases for legacy web content" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78"}, + {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"}, +] + +[[package]] +name = "wheel" +version = "0.38.4" +description = "A built-package format for Python" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "wheel-0.38.4-py3-none-any.whl", hash = "sha256:b60533f3f5d530e971d6737ca6d58681ee434818fab630c83a734bb10c083ce8"}, + {file = "wheel-0.38.4.tar.gz", hash = "sha256:965f5259b566725405b05e7cf774052044b1ed30119b5d586b2703aafe8719ac"}, +] + +[package.extras] +test = ["pytest (>=3.0.0)"] + +[[package]] +name = "xmltodict" +version = "0.13.0" +description = "Makes working with XML feel like you are working with JSON" +category = "dev" +optional = false +python-versions = ">=3.4" +files = [ + {file = "xmltodict-0.13.0-py2.py3-none-any.whl", hash = "sha256:aa89e8fd76320154a40d19a0df04a4695fb9dc5ba977cbb68ab3e4eb225e7852"}, + {file = "xmltodict-0.13.0.tar.gz", hash = "sha256:341595a488e3e01a85a9d8911d8912fd922ede5fecc4dce437eb4b6c8d037e56"}, +] + +[[package]] +name = "yamllint" +version = "1.29.0" +description = "A linter for YAML files." +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "yamllint-1.29.0-py3-none-any.whl", hash = "sha256:5153bf9f8205aa9dc6af6217e38bd4f5baf09d9a7c6f4ae1e23f90d9c00c49c5"}, + {file = "yamllint-1.29.0.tar.gz", hash = "sha256:66a755d5fbcbb8831f1a9568676329b5bac82c37995bcc9afd048b6459f9fa48"}, +] + +[package.dependencies] +pathspec = ">=0.5.3" +pyyaml = "*" +setuptools = "*" + +[[package]] +name = "yang-connector" +version = "23.1" +description = "YANG defined interface API protocol connector" +category = "dev" +optional = false +python-versions = "*" +files = [ + {file = "yang.connector-23.1-py3-none-any.whl", hash = "sha256:be496acc25422c3e124994869c209cfbbfa31365dd060799844da1cc93149158"}, + {file = "yang.connector-23.1.tar.gz", hash = "sha256:0af6195dbec4532f3b92b4e28f692a9121204379b1142c206fe0bbb1328edce4"}, +] + +[package.dependencies] +grpcio = "*" +lxml = ">=3.3.0" +ncclient = ">=0.6.6" +paramiko = ">=1.15.1" +protobuf = {version = ">=3.20,<4.0", markers = "python_version >= \"3.7\""} + +[package.extras] +dev = ["Sphinx", "coverage", "restview", "sphinx-rtd-theme", "sphinxcontrib-napoleon"] + +[[package]] +name = "yarl" +version = "1.8.2" +description = "Yet another URL library" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "yarl-1.8.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:bb81f753c815f6b8e2ddd2eef3c855cf7da193b82396ac013c661aaa6cc6b0a5"}, + {file = "yarl-1.8.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:47d49ac96156f0928f002e2424299b2c91d9db73e08c4cd6742923a086f1c863"}, + {file = "yarl-1.8.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3fc056e35fa6fba63248d93ff6e672c096f95f7836938241ebc8260e062832fe"}, + {file = "yarl-1.8.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:58a3c13d1c3005dbbac5c9f0d3210b60220a65a999b1833aa46bd6677c69b08e"}, + {file = "yarl-1.8.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:10b08293cda921157f1e7c2790999d903b3fd28cd5c208cf8826b3b508026996"}, + {file = "yarl-1.8.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:de986979bbd87272fe557e0a8fcb66fd40ae2ddfe28a8b1ce4eae22681728fef"}, + {file = "yarl-1.8.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c4fcfa71e2c6a3cb568cf81aadc12768b9995323186a10827beccf5fa23d4f8"}, + {file = "yarl-1.8.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae4d7ff1049f36accde9e1ef7301912a751e5bae0a9d142459646114c70ecba6"}, + {file = "yarl-1.8.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:bf071f797aec5b96abfc735ab97da9fd8f8768b43ce2abd85356a3127909d146"}, + {file = "yarl-1.8.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:74dece2bfc60f0f70907c34b857ee98f2c6dd0f75185db133770cd67300d505f"}, + {file = "yarl-1.8.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:df60a94d332158b444301c7f569659c926168e4d4aad2cfbf4bce0e8fb8be826"}, + {file = "yarl-1.8.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:63243b21c6e28ec2375f932a10ce7eda65139b5b854c0f6b82ed945ba526bff3"}, + {file = "yarl-1.8.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:cfa2bbca929aa742b5084fd4663dd4b87c191c844326fcb21c3afd2d11497f80"}, + {file = "yarl-1.8.2-cp310-cp310-win32.whl", hash = "sha256:b05df9ea7496df11b710081bd90ecc3a3db6adb4fee36f6a411e7bc91a18aa42"}, + {file = "yarl-1.8.2-cp310-cp310-win_amd64.whl", hash = "sha256:24ad1d10c9db1953291f56b5fe76203977f1ed05f82d09ec97acb623a7976574"}, + {file = "yarl-1.8.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2a1fca9588f360036242f379bfea2b8b44cae2721859b1c56d033adfd5893634"}, + {file = "yarl-1.8.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f37db05c6051eff17bc832914fe46869f8849de5b92dc4a3466cd63095d23dfd"}, + {file = "yarl-1.8.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:77e913b846a6b9c5f767b14dc1e759e5aff05502fe73079f6f4176359d832581"}, + {file = "yarl-1.8.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0978f29222e649c351b173da2b9b4665ad1feb8d1daa9d971eb90df08702668a"}, + {file = "yarl-1.8.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:388a45dc77198b2460eac0aca1efd6a7c09e976ee768b0d5109173e521a19daf"}, + {file = "yarl-1.8.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2305517e332a862ef75be8fad3606ea10108662bc6fe08509d5ca99503ac2aee"}, + {file = "yarl-1.8.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42430ff511571940d51e75cf42f1e4dbdded477e71c1b7a17f4da76c1da8ea76"}, + {file = "yarl-1.8.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3150078118f62371375e1e69b13b48288e44f6691c1069340081c3fd12c94d5b"}, + {file = "yarl-1.8.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c15163b6125db87c8f53c98baa5e785782078fbd2dbeaa04c6141935eb6dab7a"}, + {file = "yarl-1.8.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4d04acba75c72e6eb90745447d69f84e6c9056390f7a9724605ca9c56b4afcc6"}, + {file = "yarl-1.8.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:e7fd20d6576c10306dea2d6a5765f46f0ac5d6f53436217913e952d19237efc4"}, + {file = "yarl-1.8.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:75c16b2a900b3536dfc7014905a128a2bea8fb01f9ee26d2d7d8db0a08e7cb2c"}, + {file = "yarl-1.8.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:6d88056a04860a98341a0cf53e950e3ac9f4e51d1b6f61a53b0609df342cc8b2"}, + {file = "yarl-1.8.2-cp311-cp311-win32.whl", hash = "sha256:fb742dcdd5eec9f26b61224c23baea46c9055cf16f62475e11b9b15dfd5c117b"}, + {file = "yarl-1.8.2-cp311-cp311-win_amd64.whl", hash = "sha256:8c46d3d89902c393a1d1e243ac847e0442d0196bbd81aecc94fcebbc2fd5857c"}, + {file = "yarl-1.8.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:ceff9722e0df2e0a9e8a79c610842004fa54e5b309fe6d218e47cd52f791d7ef"}, + {file = "yarl-1.8.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f6b4aca43b602ba0f1459de647af954769919c4714706be36af670a5f44c9c1"}, + {file = "yarl-1.8.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1684a9bd9077e922300ecd48003ddae7a7474e0412bea38d4631443a91d61077"}, + {file = "yarl-1.8.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ebb78745273e51b9832ef90c0898501006670d6e059f2cdb0e999494eb1450c2"}, + {file = "yarl-1.8.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3adeef150d528ded2a8e734ebf9ae2e658f4c49bf413f5f157a470e17a4a2e89"}, + {file = "yarl-1.8.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57a7c87927a468e5a1dc60c17caf9597161d66457a34273ab1760219953f7f4c"}, + {file = "yarl-1.8.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:efff27bd8cbe1f9bd127e7894942ccc20c857aa8b5a0327874f30201e5ce83d0"}, + {file = "yarl-1.8.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:a783cd344113cb88c5ff7ca32f1f16532a6f2142185147822187913eb989f739"}, + {file = "yarl-1.8.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:705227dccbe96ab02c7cb2c43e1228e2826e7ead880bb19ec94ef279e9555b5b"}, + {file = "yarl-1.8.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:34c09b43bd538bf6c4b891ecce94b6fa4f1f10663a8d4ca589a079a5018f6ed7"}, + {file = "yarl-1.8.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:a48f4f7fea9a51098b02209d90297ac324241bf37ff6be6d2b0149ab2bd51b37"}, + {file = "yarl-1.8.2-cp37-cp37m-win32.whl", hash = "sha256:0414fd91ce0b763d4eadb4456795b307a71524dbacd015c657bb2a39db2eab89"}, + {file = "yarl-1.8.2-cp37-cp37m-win_amd64.whl", hash = "sha256:d881d152ae0007809c2c02e22aa534e702f12071e6b285e90945aa3c376463c5"}, + {file = "yarl-1.8.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5df5e3d04101c1e5c3b1d69710b0574171cc02fddc4b23d1b2813e75f35a30b1"}, + {file = "yarl-1.8.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7a66c506ec67eb3159eea5096acd05f5e788ceec7b96087d30c7d2865a243918"}, + {file = "yarl-1.8.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2b4fa2606adf392051d990c3b3877d768771adc3faf2e117b9de7eb977741229"}, + {file = "yarl-1.8.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e21fb44e1eff06dd6ef971d4bdc611807d6bd3691223d9c01a18cec3677939e"}, + {file = "yarl-1.8.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:93202666046d9edadfe9f2e7bf5e0782ea0d497b6d63da322e541665d65a044e"}, + {file = "yarl-1.8.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fc77086ce244453e074e445104f0ecb27530d6fd3a46698e33f6c38951d5a0f1"}, + {file = "yarl-1.8.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64dd68a92cab699a233641f5929a40f02a4ede8c009068ca8aa1fe87b8c20ae3"}, + {file = "yarl-1.8.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1b372aad2b5f81db66ee7ec085cbad72c4da660d994e8e590c997e9b01e44901"}, + {file = "yarl-1.8.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:e6f3515aafe0209dd17fb9bdd3b4e892963370b3de781f53e1746a521fb39fc0"}, + {file = "yarl-1.8.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:dfef7350ee369197106805e193d420b75467b6cceac646ea5ed3049fcc950a05"}, + {file = "yarl-1.8.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:728be34f70a190566d20aa13dc1f01dc44b6aa74580e10a3fb159691bc76909d"}, + {file = "yarl-1.8.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:ff205b58dc2929191f68162633d5e10e8044398d7a45265f90a0f1d51f85f72c"}, + {file = "yarl-1.8.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:baf211dcad448a87a0d9047dc8282d7de59473ade7d7fdf22150b1d23859f946"}, + {file = "yarl-1.8.2-cp38-cp38-win32.whl", hash = "sha256:272b4f1599f1b621bf2aabe4e5b54f39a933971f4e7c9aa311d6d7dc06965165"}, + {file = "yarl-1.8.2-cp38-cp38-win_amd64.whl", hash = "sha256:326dd1d3caf910cd26a26ccbfb84c03b608ba32499b5d6eeb09252c920bcbe4f"}, + {file = "yarl-1.8.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f8ca8ad414c85bbc50f49c0a106f951613dfa5f948ab69c10ce9b128d368baf8"}, + {file = "yarl-1.8.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:418857f837347e8aaef682679f41e36c24250097f9e2f315d39bae3a99a34cbf"}, + {file = "yarl-1.8.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ae0eec05ab49e91a78700761777f284c2df119376e391db42c38ab46fd662b77"}, + {file = "yarl-1.8.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:009a028127e0a1755c38b03244c0bea9d5565630db9c4cf9572496e947137a87"}, + {file = "yarl-1.8.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3edac5d74bb3209c418805bda77f973117836e1de7c000e9755e572c1f7850d0"}, + {file = "yarl-1.8.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:da65c3f263729e47351261351b8679c6429151ef9649bba08ef2528ff2c423b2"}, + {file = "yarl-1.8.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ef8fb25e52663a1c85d608f6dd72e19bd390e2ecaf29c17fb08f730226e3a08"}, + {file = "yarl-1.8.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bcd7bb1e5c45274af9a1dd7494d3c52b2be5e6bd8d7e49c612705fd45420b12d"}, + {file = "yarl-1.8.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:44ceac0450e648de86da8e42674f9b7077d763ea80c8ceb9d1c3e41f0f0a9951"}, + {file = "yarl-1.8.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:97209cc91189b48e7cfe777237c04af8e7cc51eb369004e061809bcdf4e55220"}, + {file = "yarl-1.8.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:48dd18adcf98ea9cd721a25313aef49d70d413a999d7d89df44f469edfb38a06"}, + {file = "yarl-1.8.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:e59399dda559688461762800d7fb34d9e8a6a7444fd76ec33220a926c8be1516"}, + {file = "yarl-1.8.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d617c241c8c3ad5c4e78a08429fa49e4b04bedfc507b34b4d8dceb83b4af3588"}, + {file = "yarl-1.8.2-cp39-cp39-win32.whl", hash = "sha256:cb6d48d80a41f68de41212f3dfd1a9d9898d7841c8f7ce6696cf2fd9cb57ef83"}, + {file = "yarl-1.8.2-cp39-cp39-win_amd64.whl", hash = "sha256:6604711362f2dbf7160df21c416f81fac0de6dbcf0b5445a2ef25478ecc4c778"}, + {file = "yarl-1.8.2.tar.gz", hash = "sha256:49d43402c6e3013ad0978602bf6bf5328535c48d192304b91b97a3c6790b1562"}, +] + +[package.dependencies] +idna = ">=2.0" +multidict = ">=4.0" +typing-extensions = {version = ">=3.7.4", markers = "python_version < \"3.8\""} + +[[package]] +name = "zipp" +version = "3.13.0" +description = "Backport of pathlib-compatible object wrapper for zip files" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "zipp-3.13.0-py3-none-any.whl", hash = "sha256:e8b2a36ea17df80ffe9e2c4fda3f693c3dad6df1697d3cd3af232db680950b0b"}, + {file = "zipp-3.13.0.tar.gz", hash = "sha256:23f70e964bc11a34cef175bc90ba2914e1e4545ea1e3e2f67c079671883f9cb6"}, +] + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["flake8 (<5)", "func-timeout", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] + +[metadata] +lock-version = "2.0" +python-versions = ">=3.7,<4.0" +content-hash = "c193f3189878a05d8744a7ddd031499977f15fb3e53e64ee997119ac248ba407" diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 000000000..e7aae7c31 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,49 @@ +[build-system] +requires = ["poetry==1.3.2"] +build-backend = "poetry.masonry.api" + +[tool.poetry] +name = "netmiko" +version = "4.1.3" +description = "Multi-vendor library to simplify legacy CLI connections to network devices" +authors = ["Kirk Byers "] +license = "MIT" +readme = "README.md" +repository = "https://github.com/ktbyers/netmiko" +classifiers = [ + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", +] + +[tool.poetry.dependencies] +python = ">=3.7,<4.0" +paramiko = ">=2.9.5" +scp = ">=0.13.6" +pyyaml = ">=5.3" +textfsm = ">=1.1.3" +ntc-templates = ">=2.0.0" +pyserial = ">=3.3" + +[tool.poetry.group.dev.dependencies] +black = "22.3.0" +mypy = "1.0.0" +mypy-extensions = "1.0.0" +PyYAML = "5.4.1" +pytest = "7.1.2" +# Issue with build failure on pyflakes 2.5.0 +pyflakes = "2.4.0" +pylama = "8.3.8" +twine = "1.15.0" +pysnmp = "4.4.12" +pdoc3 = "0.10.0" +types-paramiko = "3.0.0.2" +types-PyYAML = "6.0.12.4" + +[tool.poetry.group.parsers.dependencies] +pyats = "22.7.1" +genie = "22.7" +ttp = ">=0.9.0" From 9534ebd6a6267ec66663fb18991decb1682d9c24 Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Sun, 12 Feb 2023 21:10:41 -0800 Subject: [PATCH 42/70] Remove setup.py and requirements files (#3112) --- requirements-dev.txt | 15 ---------- requirements-genie.txt | 2 -- requirements-ttp.txt | 1 - requirements.txt | 3 -- setup.py | 65 ------------------------------------------ 5 files changed, 86 deletions(-) delete mode 100644 requirements-dev.txt delete mode 100644 requirements-genie.txt delete mode 100644 requirements-ttp.txt delete mode 100644 requirements.txt delete mode 100644 setup.py diff --git a/requirements-dev.txt b/requirements-dev.txt deleted file mode 100644 index 05cc1dead..000000000 --- a/requirements-dev.txt +++ /dev/null @@ -1,15 +0,0 @@ -black==22.3.0 -mypy==1.0.0 -mypy-extensions==1.0.0 -PyYAML==5.4.1 -pytest==7.1.2 -# Issue with build failure on pyflakes 2.5.0 -pyflakes==2.4.0 -pylama==8.3.8 -twine==1.15.0 -pysnmp==4.4.12 -pdoc3==0.10.0 -types-paramiko -types-PyYAML --r requirements.txt --r requirements-ttp.txt diff --git a/requirements-genie.txt b/requirements-genie.txt deleted file mode 100644 index 259345278..000000000 --- a/requirements-genie.txt +++ /dev/null @@ -1,2 +0,0 @@ -pyats==22.7.1 -genie==22.7 diff --git a/requirements-ttp.txt b/requirements-ttp.txt deleted file mode 100644 index a1d239b4e..000000000 --- a/requirements-ttp.txt +++ /dev/null @@ -1 +0,0 @@ -ttp>=0.9.0 diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index cd8c47d3d..000000000 --- a/requirements.txt +++ /dev/null @@ -1,3 +0,0 @@ ---index-url https://pypi.python.org/simple/ - --e . diff --git a/setup.py b/setup.py deleted file mode 100644 index 8fbacf7bc..000000000 --- a/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -from setuptools import setup -from setuptools import find_packages -import os -import re - - -with open("README.md", "r") as fs: - long_description = fs.read() - - -def find_version(*file_paths): - """ - This pattern was modeled on a method from the Python Packaging User Guide: - https://packaging.python.org/en/latest/single_source_version.html - - We read instead of importing so we don't get import errors if our code - imports from dependencies listed in install_requires. - """ - base_module_file = os.path.join(*file_paths) - with open(base_module_file) as f: - base_module_data = f.read() - version_match = re.search( - r"^__version__ = ['\"]([^'\"]*)['\"]", base_module_data, re.M - ) - if version_match: - return version_match.group(1) - raise RuntimeError("Unable to find version string.") - - -setup( - name="netmiko", - version=find_version("netmiko", "__init__.py"), - description="Multi-vendor library to simplify legacy CLI connections to network devices", - long_description=long_description, - long_description_content_type="text/markdown", - url="https://github.com/ktbyers/netmiko", - author="Kirk Byers", - author_email="ktbyers@twb-tech.com", - license="MIT", - classifiers=[ - "License :: OSI Approved :: MIT License", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", - ], - packages=find_packages(exclude=("test*",)), - install_requires=[ - "setuptools>=38.4.0", - "paramiko>=2.7.2", - "scp>=0.13.3", - "pyyaml>=5.3", - "textfsm", - "ntc-templates>=2.0.0", - "pyserial", - ], - entry_points={ - "console_scripts": [ - "netmiko-grep = netmiko.cli_tools.netmiko_grep:main_ep", - "netmiko-show= netmiko.cli_tools.netmiko_show:main_ep", - "netmiko-cfg= netmiko.cli_tools.netmiko_cfg:main_ep", - ] - }, -) From 9fa8537735aa4ad1be78adb9d8243554f3020b1f Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Mon, 13 Feb 2023 21:05:54 -0800 Subject: [PATCH 43/70] Fix fortinet _get_output_mode_v7 when in multiple VDOM mode (#3115) --- netmiko/fortinet/fortinet_ssh.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/netmiko/fortinet/fortinet_ssh.py b/netmiko/fortinet/fortinet_ssh.py index ec7fd3057..6d07b5c7a 100644 --- a/netmiko/fortinet/fortinet_ssh.py +++ b/netmiko/fortinet/fortinet_ssh.py @@ -173,10 +173,16 @@ def _get_output_mode_v7(self) -> str: FortiOS V7 and later. Retrieve the current output mode. """ + if self._vdoms: + self._config_global() + output = self._send_command_str( "get system console", expect_string=self.prompt_pattern ) + if self._vdoms: + self._exit_config_global() + pattern = r"output\s+:\s+(?P\S+)\s*$" result_mode_re = re.search(pattern, output, flags=re.M) if result_mode_re: From 13d0cc29c26b1321cd7d0b34945fe43136ba27a1 Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Thu, 16 Feb 2023 12:43:46 -0800 Subject: [PATCH 44/70] Update pyats and genie (#3118) --- poetry.lock | 741 +++++++++++++++++++++++-------------------------- pyproject.toml | 4 +- 2 files changed, 344 insertions(+), 401 deletions(-) diff --git a/poetry.lock b/poetry.lock index 65cef8bcf..3555ba451 100644 --- a/poetry.lock +++ b/poetry.lock @@ -528,27 +528,6 @@ files = [ {file = "charset_normalizer-3.0.1-py3-none-any.whl", hash = "sha256:7e189e2e1d3ed2f4aebabd2d5b0f931e883676e51c7624826e0a4e5fe8a0bf24"}, ] -[[package]] -name = "cisco-gnmi" -version = "1.0.16" -description = "This library wraps gNMI functionality to ease usage with Cisco implementations." -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" -files = [ - {file = "cisco_gnmi-1.0.16-py3-none-any.whl", hash = "sha256:3ffe9198b059a1bf8d7b776ed0bc0dfde295de6e487da4d4c3b28d1744ca4f57"}, - {file = "cisco_gnmi-1.0.16.tar.gz", hash = "sha256:b53eadaa476959e01cc55dc488beb598ddca10f4b1991f5bd0ff2d6349098cf6"}, -] - -[package.dependencies] -cryptography = "*" -grpcio = "*" -protobuf = "*" -six = "*" - -[package.extras] -dev = ["coverage", "googleapis-common-protos", "grpcio-tools", "pylint", "pytest", "pytest-cov", "pytest-mock", "setuptools", "twine", "wheel"] - [[package]] name = "click" version = "8.1.3" @@ -759,38 +738,36 @@ files = [ [[package]] name = "genie" -version = "22.7" +version = "23.1" description = "Genie: THE standard pyATS Library System" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "genie-22.7-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:efe4af764de5280b41d4d7ba843a3ea9ac0f23970f54476f2ca8be1a7dd3fe68"}, - {file = "genie-22.7-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:6b5d4cfe6df892431a6e4d7a7c650aaed475232cc42f59b28147060c09e54073"}, - {file = "genie-22.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f6650ecd11d38de9a608ce9497991a0e293a23712cd5e18f560f49c1b9eeff13"}, - {file = "genie-22.7-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:d7920992c904cc7097143f6b803c0b1147b646939463e5b3e59c8696f96fd27c"}, - {file = "genie-22.7-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:364c4742a15c474732c53c978ae70adbd8ec7faf00458a4a8506b9b57dc5e53c"}, - {file = "genie-22.7-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:daf47a5c025a3e7a48022c26684c2c3c570b70d4a84d95a5cc7c4285ae0cdc91"}, - {file = "genie-22.7-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:45bd8638effdc1a11dff644e012d11518d72f770a94869503f7231b2c19e1666"}, - {file = "genie-22.7-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:b3692d22678175345b1f012b5e5817127927a11860ed3d23992735f9c373c35c"}, - {file = "genie-22.7-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:f8d3033308287dfcd52ee9c205611b71ded2c87b21234bcec82e9584c311289a"}, - {file = "genie-22.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8ebcb7e3b0be4dfb3c86648787146b9749020e07ba7ac7f28f7cc8273b6b3840"}, - {file = "genie-22.7-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:5cf1d2a926c4e6f19c39c977e4a2c436b497305814d946d5b1d215b68ccabc12"}, - {file = "genie-22.7-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:f44a04d985dae5dd1e0da2436fc77dd623807ad4a85fb047325ff42cc98f2709"}, - {file = "genie-22.7-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:bb4a86797924c7a108816d37680fe87e3fc17030c772857472f2a4cc241694c0"}, - {file = "genie-22.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e34241f2af8daf13ff86abad4d22cd0756d49076b3eedf3391f5ac8fe43ff3b9"}, - {file = "genie-22.7-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:6d3c4301e345e08d81c82e4a1c88c7a400173f31b004aaed0fdc5fb6c47427b5"}, + {file = "genie-23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0011a751d4b422481c89dd754edc345d05d68b9530d14d1a69d2464dae9885c3"}, + {file = "genie-23.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:7050ae2d15e644dba6634b83d1e0920904e6df6f808951011102473669f7fffa"}, + {file = "genie-23.1-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:59d1af89ef6567d4383993c3c57eacfdea56c12543e6daf014907adaa76fef57"}, + {file = "genie-23.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:a99cd2ff472459f99577aec14949a4e0ebd412a14f4ca3b41297ccd9098f05d1"}, + {file = "genie-23.1-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:90ba6d93afc9d1bdb8b9ff4eaa1163f0d27857c29993006382d74b003cab9f1f"}, + {file = "genie-23.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:eb268f319279a7f7ca76f1b83779ccddddac1eb30d7cd15a056ae3c16dfc69ec"}, + {file = "genie-23.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:9a0724118b5c59e3989401c56d344a71e781a0f98f551ebe5a02956c20b39adc"}, + {file = "genie-23.1-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:3fe6074ca6dbf9f3cfa3a55d31690e310653207ace9891958f9438343378b2c0"}, + {file = "genie-23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6af9b3e118295293d89e54a540efd4254363f5af92715b96ab2fcac75f97fe8a"}, + {file = "genie-23.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:1349809f57309d45ece55985475b19b2be9d7e37f1450a9d54258a0795d36769"}, + {file = "genie-23.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:dda17da6786015915de2d5613c429881ab8c20a885ae3058407d4a914dadba96"}, + {file = "genie-23.1-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:36ca2d1e71e1cd72cc84c5ed26b02201ce531e4252d6a11ab2150363e8898f17"}, + {file = "genie-23.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:156282bbedfc52fc8ab2fa75bfebcf00ec8d008468d50d2dd102510c03d3d4cc"}, ] [package.dependencies] dill = "*" -"genie.libs.clean" = ">=22.7.0,<22.8.0" -"genie.libs.conf" = ">=22.7.0,<22.8.0" -"genie.libs.filetransferutils" = ">=22.7.0,<22.8.0" -"genie.libs.health" = ">=22.7.0,<22.8.0" -"genie.libs.ops" = ">=22.7.0,<22.8.0" -"genie.libs.parser" = ">=22.7.0,<22.8.0" -"genie.libs.sdk" = ">=22.7.0,<22.8.0" +"genie.libs.clean" = ">=23.1.0,<23.2.0" +"genie.libs.conf" = ">=23.1.0,<23.2.0" +"genie.libs.filetransferutils" = ">=23.1.0,<23.2.0" +"genie.libs.health" = ">=23.1.0,<23.2.0" +"genie.libs.ops" = ">=23.1.0,<23.2.0" +"genie.libs.parser" = ">=23.1.0,<23.2.0" +"genie.libs.sdk" = ">=23.1.0,<23.2.0" jsonpickle = "*" netaddr = "*" PrettyTable = "*" @@ -798,18 +775,18 @@ tqdm = "*" [package.extras] dev = ["Sphinx", "coverage", "restview", "sphinx-rtd-theme"] -full = ["genie.libs.clean", "genie.libs.conf", "genie.libs.filetransferutils", "genie.libs.health", "genie.libs.ops", "genie.libs.parser", "genie.libs.robot (>=22.7.0,<22.8.0)", "genie.libs.sdk", "genie.telemetry (>=22.7.0,<22.8.0)", "genie.trafficgen (>=22.7.0,<22.8.0)", "pyats.robot (>=22.7.0,<22.8.0)"] -robot = ["genie.libs.robot (>=22.7.0,<22.8.0)", "pyats.robot (>=22.7.0,<22.8.0)"] +full = ["genie.libs.clean", "genie.libs.conf", "genie.libs.filetransferutils", "genie.libs.health", "genie.libs.ops", "genie.libs.parser", "genie.libs.robot (>=23.1.0,<23.2.0)", "genie.libs.sdk", "genie.telemetry (>=23.1.0,<23.2.0)", "genie.trafficgen (>=23.1.0,<23.2.0)", "pyats.robot (>=23.1.0,<23.2.0)"] +robot = ["genie.libs.robot (>=23.1.0,<23.2.0)", "pyats.robot (>=23.1.0,<23.2.0)"] [[package]] name = "genie-libs-clean" -version = "22.7" +version = "23.1" description = "Genie Library for device clean support" category = "dev" optional = false python-versions = "*" files = [ - {file = "genie.libs.clean-22.7-py3-none-any.whl", hash = "sha256:47af4e74b936ed00f4255200fac15fa814cf0c80145e90952bfcbc5eba025661"}, + {file = "genie.libs.clean-23.1-py3-none-any.whl", hash = "sha256:69607b339849823e2389608751d07686605db0b68cf51de740d2d09c03269e36"}, ] [package.dependencies] @@ -822,13 +799,13 @@ dev = ["Sphinx", "coverage", "paramiko", "restview", "sphinx-rtd-theme", "sphinx [[package]] name = "genie-libs-conf" -version = "22.7" +version = "23.1" description = "Genie libs Conf: Libraries to configures topology through Python object attributes" category = "dev" optional = false python-versions = "*" files = [ - {file = "genie.libs.conf-22.7-py3-none-any.whl", hash = "sha256:a8810c71e54952ecb946ee74cc87a68f681a5f542a33d472961d9effd26dce43"}, + {file = "genie.libs.conf-23.1-py3-none-any.whl", hash = "sha256:7c2c00e4ee6ef4bb62362de331a82aae7cddf6aaf0f02682e1ea9fa3fd3f2255"}, ] [package.extras] @@ -836,13 +813,13 @@ dev = ["Sphinx", "coverage", "restview", "sphinx-rtd-theme"] [[package]] name = "genie-libs-filetransferutils" -version = "22.7" +version = "23.1" description = "Genie libs FileTransferUtils: Genie FileTransferUtils Libraries" category = "dev" optional = false python-versions = "*" files = [ - {file = "genie.libs.filetransferutils-22.7-py3-none-any.whl", hash = "sha256:009babc2ec170576f08fc78add291fd6cd7c21b124ac43c441b93adae73f9774"}, + {file = "genie.libs.filetransferutils-23.1-py3-none-any.whl", hash = "sha256:fd743009919d70226efa2fd164520bc3142a09de858c4e895192750125cd41ec"}, ] [package.dependencies] @@ -855,13 +832,13 @@ dev = ["Sphinx", "coverage", "restview", "sphinx-rtd-theme"] [[package]] name = "genie-libs-health" -version = "22.7" +version = "23.1" description = "pyATS Health Check for monitoring device health status" category = "dev" optional = false python-versions = "*" files = [ - {file = "genie.libs.health-22.7-py3-none-any.whl", hash = "sha256:b767535ec1a1d1e1e1dbb04a35809129405164db5b8c4efb5e9a4271a1866ebf"}, + {file = "genie.libs.health-23.1-py3-none-any.whl", hash = "sha256:ea90cc6c8ac44cea9f2b224270a7e1df3871372a0ab3d837ab324866cdf8dcec"}, ] [package.dependencies] @@ -874,13 +851,13 @@ dev = ["Sphinx", "coverage", "paramiko", "restview", "sphinx-rtd-theme", "sphinx [[package]] name = "genie-libs-ops" -version = "22.7" +version = "23.1" description = "Genie libs Ops: Libraries to retrieve operational state of the topology" category = "dev" optional = false python-versions = "*" files = [ - {file = "genie.libs.ops-22.7-py3-none-any.whl", hash = "sha256:3c965f389dda8845760be332c83ca7522be65407aa987fbc76be9da479902cd3"}, + {file = "genie.libs.ops-23.1-py3-none-any.whl", hash = "sha256:95c9c08cf0ef62ab6f11b79b83499d03a53907b05debaf2da3299cd1c39a1a16"}, ] [package.extras] @@ -888,13 +865,13 @@ dev = ["Sphinx", "coverage", "restview", "sphinx-rtd-theme"] [[package]] name = "genie-libs-parser" -version = "22.7" +version = "23.1" description = "Genie libs Parser: Genie Parser Libraries" category = "dev" optional = false python-versions = "*" files = [ - {file = "genie.libs.parser-22.7-py3-none-any.whl", hash = "sha256:54b70f9571d6259b7c6931ec7a9244f237747cc2ba418dff8e0c2fa3848eb97e"}, + {file = "genie.libs.parser-23.1-py3-none-any.whl", hash = "sha256:e6bc5ba58681e776215a127d00ec3c4f37c0abae47be8c2726ee192df8e501c8"}, ] [package.dependencies] @@ -905,18 +882,16 @@ dev = ["Sphinx", "coverage", "restview", "sphinx-rtd-theme"] [[package]] name = "genie-libs-sdk" -version = "22.7" +version = "23.1" description = "Genie libs sdk: Libraries containing all Triggers and Verifications" category = "dev" optional = false python-versions = "*" files = [ - {file = "genie.libs.sdk-22.7-py3-none-any.whl", hash = "sha256:2bc9ce53d464588a4e5ae2e10beb19cbb79966b819df228ff019585afd3a20af"}, + {file = "genie.libs.sdk-23.1-py3-none-any.whl", hash = "sha256:f0ec9ed04d8cb57861c690685a3b7731041bf56667f9b51492d1f9871eccb650"}, ] [package.dependencies] -cisco-gnmi = "*" -protobuf = "<=3.20.1" "ruamel.yaml" = "*" "yang.connector" = "*" @@ -940,19 +915,19 @@ smmap = ">=3.0.1,<6" [[package]] name = "gitpython" -version = "3.1.18" -description = "Python Git Library" +version = "3.1.30" +description = "GitPython is a python library used to interact with Git repositories" category = "dev" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "GitPython-3.1.18-py3-none-any.whl", hash = "sha256:fce760879cd2aebd2991b3542876dc5c4a909b30c9d69dfc488e504a8db37ee8"}, - {file = "GitPython-3.1.18.tar.gz", hash = "sha256:b838a895977b45ab6f0cc926a9045c8d1c44e2b653c1fcc39fe91f42c6e8f05b"}, + {file = "GitPython-3.1.30-py3-none-any.whl", hash = "sha256:cd455b0000615c60e286208ba540271af9fe531fa6a87cc590a7298785ab2882"}, + {file = "GitPython-3.1.30.tar.gz", hash = "sha256:769c2d83e13f5d938b7688479da374c4e3d49f71549aaf462b646db9602ea6f8"}, ] [package.dependencies] gitdb = ">=4.0.1,<5" -typing-extensions = {version = ">=3.7.4.0", markers = "python_version < \"3.8\""} +typing-extensions = {version = ">=3.7.4.3", markers = "python_version < \"3.8\""} [[package]] name = "grpcio" @@ -1650,36 +1625,34 @@ tests = ["pytest", "pytest-cov", "pytest-lazy-fixture"] [[package]] name = "protobuf" -version = "3.20.1" +version = "3.20.3" description = "Protocol Buffers" category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "protobuf-3.20.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3cc797c9d15d7689ed507b165cd05913acb992d78b379f6014e013f9ecb20996"}, - {file = "protobuf-3.20.1-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:ff8d8fa42675249bb456f5db06c00de6c2f4c27a065955917b28c4f15978b9c3"}, - {file = "protobuf-3.20.1-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:cd68be2559e2a3b84f517fb029ee611546f7812b1fdd0aa2ecc9bc6ec0e4fdde"}, - {file = "protobuf-3.20.1-cp310-cp310-win32.whl", hash = "sha256:9016d01c91e8e625141d24ec1b20fed584703e527d28512aa8c8707f105a683c"}, - {file = "protobuf-3.20.1-cp310-cp310-win_amd64.whl", hash = "sha256:32ca378605b41fd180dfe4e14d3226386d8d1b002ab31c969c366549e66a2bb7"}, - {file = "protobuf-3.20.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:9be73ad47579abc26c12024239d3540e6b765182a91dbc88e23658ab71767153"}, - {file = "protobuf-3.20.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:097c5d8a9808302fb0da7e20edf0b8d4703274d140fd25c5edabddcde43e081f"}, - {file = "protobuf-3.20.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e250a42f15bf9d5b09fe1b293bdba2801cd520a9f5ea2d7fb7536d4441811d20"}, - {file = "protobuf-3.20.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:cdee09140e1cd184ba9324ec1df410e7147242b94b5f8b0c64fc89e38a8ba531"}, - {file = "protobuf-3.20.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:af0ebadc74e281a517141daad9d0f2c5d93ab78e9d455113719a45a49da9db4e"}, - {file = "protobuf-3.20.1-cp37-cp37m-win32.whl", hash = "sha256:755f3aee41354ae395e104d62119cb223339a8f3276a0cd009ffabfcdd46bb0c"}, - {file = "protobuf-3.20.1-cp37-cp37m-win_amd64.whl", hash = "sha256:62f1b5c4cd6c5402b4e2d63804ba49a327e0c386c99b1675c8a0fefda23b2067"}, - {file = "protobuf-3.20.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:06059eb6953ff01e56a25cd02cca1a9649a75a7e65397b5b9b4e929ed71d10cf"}, - {file = "protobuf-3.20.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:cb29edb9eab15742d791e1025dd7b6a8f6fcb53802ad2f6e3adcb102051063ab"}, - {file = "protobuf-3.20.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:69ccfdf3657ba59569c64295b7d51325f91af586f8d5793b734260dfe2e94e2c"}, - {file = "protobuf-3.20.1-cp38-cp38-win32.whl", hash = "sha256:dd5789b2948ca702c17027c84c2accb552fc30f4622a98ab5c51fcfe8c50d3e7"}, - {file = "protobuf-3.20.1-cp38-cp38-win_amd64.whl", hash = "sha256:77053d28427a29987ca9caf7b72ccafee011257561259faba8dd308fda9a8739"}, - {file = "protobuf-3.20.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6f50601512a3d23625d8a85b1638d914a0970f17920ff39cec63aaef80a93fb7"}, - {file = "protobuf-3.20.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:284f86a6207c897542d7e956eb243a36bb8f9564c1742b253462386e96c6b78f"}, - {file = "protobuf-3.20.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:7403941f6d0992d40161aa8bb23e12575637008a5a02283a930addc0508982f9"}, - {file = "protobuf-3.20.1-cp39-cp39-win32.whl", hash = "sha256:db977c4ca738dd9ce508557d4fce0f5aebd105e158c725beec86feb1f6bc20d8"}, - {file = "protobuf-3.20.1-cp39-cp39-win_amd64.whl", hash = "sha256:7e371f10abe57cee5021797126c93479f59fccc9693dafd6bd5633ab67808a91"}, - {file = "protobuf-3.20.1-py2.py3-none-any.whl", hash = "sha256:adfc6cf69c7f8c50fd24c793964eef18f0ac321315439d94945820612849c388"}, - {file = "protobuf-3.20.1.tar.gz", hash = "sha256:adc31566d027f45efe3f44eeb5b1f329da43891634d61c75a5944e9be6dd42c9"}, + {file = "protobuf-3.20.3-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:f4bd856d702e5b0d96a00ec6b307b0f51c1982c2bf9c0052cf9019e9a544ba99"}, + {file = "protobuf-3.20.3-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:9aae4406ea63d825636cc11ffb34ad3379335803216ee3a856787bcf5ccc751e"}, + {file = "protobuf-3.20.3-cp310-cp310-win32.whl", hash = "sha256:28545383d61f55b57cf4df63eebd9827754fd2dc25f80c5253f9184235db242c"}, + {file = "protobuf-3.20.3-cp310-cp310-win_amd64.whl", hash = "sha256:67a3598f0a2dcbc58d02dd1928544e7d88f764b47d4a286202913f0b2801c2e7"}, + {file = "protobuf-3.20.3-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:899dc660cd599d7352d6f10d83c95df430a38b410c1b66b407a6b29265d66469"}, + {file = "protobuf-3.20.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e64857f395505ebf3d2569935506ae0dfc4a15cb80dc25261176c784662cdcc4"}, + {file = "protobuf-3.20.3-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:d9e4432ff660d67d775c66ac42a67cf2453c27cb4d738fc22cb53b5d84c135d4"}, + {file = "protobuf-3.20.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:74480f79a023f90dc6e18febbf7b8bac7508420f2006fabd512013c0c238f454"}, + {file = "protobuf-3.20.3-cp37-cp37m-win32.whl", hash = "sha256:b6cc7ba72a8850621bfec987cb72623e703b7fe2b9127a161ce61e61558ad905"}, + {file = "protobuf-3.20.3-cp37-cp37m-win_amd64.whl", hash = "sha256:8c0c984a1b8fef4086329ff8dd19ac77576b384079247c770f29cc8ce3afa06c"}, + {file = "protobuf-3.20.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:de78575669dddf6099a8a0f46a27e82a1783c557ccc38ee620ed8cc96d3be7d7"}, + {file = "protobuf-3.20.3-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:f4c42102bc82a51108e449cbb32b19b180022941c727bac0cfd50170341f16ee"}, + {file = "protobuf-3.20.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:44246bab5dd4b7fbd3c0c80b6f16686808fab0e4aca819ade6e8d294a29c7050"}, + {file = "protobuf-3.20.3-cp38-cp38-win32.whl", hash = "sha256:c02ce36ec760252242a33967d51c289fd0e1c0e6e5cc9397e2279177716add86"}, + {file = "protobuf-3.20.3-cp38-cp38-win_amd64.whl", hash = "sha256:447d43819997825d4e71bf5769d869b968ce96848b6479397e29fc24c4a5dfe9"}, + {file = "protobuf-3.20.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:398a9e0c3eaceb34ec1aee71894ca3299605fa8e761544934378bbc6c97de23b"}, + {file = "protobuf-3.20.3-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:bf01b5720be110540be4286e791db73f84a2b721072a3711efff6c324cdf074b"}, + {file = "protobuf-3.20.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:daa564862dd0d39c00f8086f88700fdbe8bc717e993a21e90711acfed02f2402"}, + {file = "protobuf-3.20.3-cp39-cp39-win32.whl", hash = "sha256:819559cafa1a373b7096a482b504ae8a857c89593cf3a25af743ac9ecbd23480"}, + {file = "protobuf-3.20.3-cp39-cp39-win_amd64.whl", hash = "sha256:03038ac1cfbc41aa21f6afcbcd357281d7521b4157926f30ebecc8d4ea59dcb7"}, + {file = "protobuf-3.20.3-py2.py3-none-any.whl", hash = "sha256:a7ca6d488aa8ff7f329d4c545b2dbad8ac31464f1d8b1c87ad1346717731e4db"}, + {file = "protobuf-3.20.3.tar.gz", hash = "sha256:2e3427429c9cffebf259491be0af70189607f365c2f41c7c3764af6f337105f2"}, ] [[package]] @@ -1735,118 +1708,112 @@ files = [ [[package]] name = "pyats" -version = "22.7.1" +version = "23.1" description = "pyATS - Python Automation Test System" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats-22.7.1-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:b44e384408d145883fb422f01c2b2afeaf62a958663fd06b0b973816e5fc2f13"}, - {file = "pyats-22.7.1-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:8a23d6f6098ad3762ccf60deb3ff68facc07f528f4004118d3023367c64d7df3"}, - {file = "pyats-22.7.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f0a0785d2b4b4c87458c51af2e4822018edcca37e39709482089907f5cf4e781"}, - {file = "pyats-22.7.1-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:40bddb8371a4b8edf7eb82e82cf399ec7fd6b46de1bbd3d1859c33e97c716683"}, - {file = "pyats-22.7.1-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:9c2a34a9c17fb2f1098ef1367f59e578b7bf10acca15ec9a1233ecde37726c05"}, - {file = "pyats-22.7.1-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:a8cbb37283549df13a94a2bbd3f9fc2b0c0b07bc37a91f0ee1fa263fd4638344"}, - {file = "pyats-22.7.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:0fd5ac4cb16d59d8b859b3828b50ad0403eb362ba50339473be16a8cfcdba5e3"}, - {file = "pyats-22.7.1-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:60bcc862fd557630aa5c5a48df4edc6a287b50a762697f010e3f40a6ef9d4451"}, - {file = "pyats-22.7.1-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:3630f518b852a938f2af447aed81d43d029eb873b3786a267554617dbc5dcc91"}, - {file = "pyats-22.7.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f8568166be46df93a57ffa4cbcd5f01137e0f0bbcbfa15899af0e6772a121cfc"}, - {file = "pyats-22.7.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:10f2b24e400d023001c822daa88a521d282deab92cebfc1665bfd11f78a2820a"}, - {file = "pyats-22.7.1-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:214b493d3dec19ce09ec40b8a1cd550d6fc60a75bf1e1c4e92e155ca8b951248"}, - {file = "pyats-22.7.1-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:8ec4bb4f98f35fb4d1dbcd5f9c752b7a85a6732e320955c3cd9dc4d8a83eb5c0"}, - {file = "pyats-22.7.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e65721726af85a25f826407cfa58d742abd066b88aaa9ad80fd47224809206db"}, - {file = "pyats-22.7.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:41d42c4bb7973d63061ec33840be8065acf02cda952c4798af2754ed75377f08"}, + {file = "pyats-23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d04a7b972fe2b214ddd8db4f01e7fa5b41f55622404043777b0265f8de7f4b1b"}, + {file = "pyats-23.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:65c79712a1b1007ce9314f929e44a63d2f07bcbb8db1406d8e1242fd73018608"}, + {file = "pyats-23.1-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:727f754cf3f2c2ac72e8dce98ad6217af9910ed0aaed6da2aa8edb7e5848be28"}, + {file = "pyats-23.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:560fa4fdde6e61452a92426c834dd35d6f657cd7d5321b50a54d03ec9acf569f"}, + {file = "pyats-23.1-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:40a1c4bbcb53515c489bbd7b3dd252d1c81a35ae5962ee97adaeceac458b7a20"}, + {file = "pyats-23.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5f2c1855572b581f54feac6e783ddfa6bb8d2b8a1f4cf4c73f8c8aa13970b48c"}, + {file = "pyats-23.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:f0be911d6fd89d22f921d340fb1c04d2290589981cba57fbee73af462a9c41de"}, + {file = "pyats-23.1-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:491f310532d24cf5673f0f5ebf570985e5b4fca4a98017afa83aa6086bffed58"}, + {file = "pyats-23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0a61610b1c068ef7f98008a90aaa3d1a36499050649300daf88b961a81ff17ba"}, + {file = "pyats-23.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:8ba50dff0c28f16b0322d5503c3cafa470f34831de2b83e7091514fc09b23bc1"}, + {file = "pyats-23.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:d857b80548afa8eaf568ebd4031f5f764287fa2f22a3eb51545cf60e05583ca4"}, + {file = "pyats-23.1-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:c24064e8ec7145a7e3d55365f8daefeb70602cf31312668d353b7dfd1b0a9090"}, + {file = "pyats-23.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:31e39fa18e55252367bab057e190534530c78016c7ef11a26507b8806b10473c"}, ] [package.dependencies] packaging = ">=20.0" -"pyats.aereport" = ">=22.7.0,<22.8.0" -"pyats.aetest" = ">=22.7.0,<22.8.0" -"pyats.async" = ">=22.7.0,<22.8.0" -"pyats.connections" = ">=22.7.0,<22.8.0" -"pyats.datastructures" = ">=22.7.0,<22.8.0" -"pyats.easypy" = ">=22.7.0,<22.8.0" -"pyats.kleenex" = ">=22.7.0,<22.8.0" -"pyats.log" = ">=22.7.0,<22.8.0" -"pyats.reporter" = ">=22.7.0,<22.8.0" -"pyats.results" = ">=22.7.0,<22.8.0" -"pyats.tcl" = ">=22.7.0,<22.8.0" -"pyats.topology" = ">=22.7.0,<22.8.0" -"pyats.utils" = ">=22.7.0,<22.8.0" - -[package.extras] -full = ["cookiecutter", "genie (>=22.7.0,<22.8.0)", "genie.libs.robot (>=22.7.0,<22.8.0)", "genie.telemetry (>=22.7.0,<22.8.0)", "genie.trafficgen (>=22.7.0,<22.8.0)", "pyats.contrib (>=22.7.0,<22.8.0)", "pyats.robot (>=22.7.0,<22.8.0)"] -library = ["genie (>=22.7.0,<22.8.0)"] -robot = ["genie.libs.robot (>=22.7.0,<22.8.0)", "pyats.robot (>=22.7.0,<22.8.0)"] +"pyats.aereport" = ">=23.1.0,<23.2.0" +"pyats.aetest" = ">=23.1.0,<23.2.0" +"pyats.async" = ">=23.1.0,<23.2.0" +"pyats.connections" = ">=23.1.0,<23.2.0" +"pyats.datastructures" = ">=23.1.0,<23.2.0" +"pyats.easypy" = ">=23.1.0,<23.2.0" +"pyats.kleenex" = ">=23.1.0,<23.2.0" +"pyats.log" = ">=23.1.0,<23.2.0" +"pyats.reporter" = ">=23.1.0,<23.2.0" +"pyats.results" = ">=23.1.0,<23.2.0" +"pyats.tcl" = ">=23.1.0,<23.2.0" +"pyats.topology" = ">=23.1.0,<23.2.0" +"pyats.utils" = ">=23.1.0,<23.2.0" + +[package.extras] +full = ["cookiecutter", "genie (>=23.1.0,<23.2.0)", "genie.libs.robot (>=23.1.0,<23.2.0)", "genie.telemetry (>=23.1.0,<23.2.0)", "genie.trafficgen (>=23.1.0,<23.2.0)", "pyats.contrib (>=23.1.0,<23.2.0)", "pyats.robot (>=23.1.0,<23.2.0)"] +library = ["genie (>=23.1.0,<23.2.0)"] +robot = ["genie.libs.robot (>=23.1.0,<23.2.0)", "pyats.robot (>=23.1.0,<23.2.0)"] template = ["cookiecutter"] [[package]] name = "pyats-aereport" -version = "22.7" +version = "23.1" description = "pyATS AEreport: Result Collection and Reporting" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.aereport-22.7-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:d155f684b209cbd9738af31e8422e0151150900bc29647c596057833a5e869a9"}, - {file = "pyats.aereport-22.7-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:8668c6b740000bbb43585511fe33e9f8b018b4d40086ab6d01bfced3aa527726"}, - {file = "pyats.aereport-22.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e53eb362e0c0229c4fc7f13eabc8a69daaa50f25054a01988e7bd821387cce1e"}, - {file = "pyats.aereport-22.7-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:027ba619d88ecdbba200bb690b73812ef68245ec700b4d791e0e4c919411598c"}, - {file = "pyats.aereport-22.7-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:aeff8654840bfeb403ec5d5e04c8f0c13270e6b71b2d5cb6fccd07bf8ca24018"}, - {file = "pyats.aereport-22.7-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:f0f33d75155d122c30b6f049d1f5c2f45f33cc1579a1872a927b404b76eaf0f0"}, - {file = "pyats.aereport-22.7-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:bf09e2d5b403a9258374dfce2140f5ef706eae7d92666d8c27902babb62d8ad2"}, - {file = "pyats.aereport-22.7-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:739c3503357aca0ba18f8a712716e71537d381048a4194e13a06aafa8c43a2e2"}, - {file = "pyats.aereport-22.7-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:772d4afe20e02bfbb0df17b5a671d53d862189f5278a8f618c56ce1284edd362"}, - {file = "pyats.aereport-22.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c85fe8246b8cbbc607f399d9c784e8f1c76ec21964f742f4155da036507f786f"}, - {file = "pyats.aereport-22.7-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:092508fd9c123a258483198840d6aed4ab0b87b0d5161feda820fabbc0c52039"}, - {file = "pyats.aereport-22.7-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:f060377e05c7cbc6b9b2e7b8b7e04cec4083e54c66eede4edb024bee42911b01"}, - {file = "pyats.aereport-22.7-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:526b2b88ddcb4f49e7919e9bb5a8f143ef155d054f796f972124fec20718c353"}, - {file = "pyats.aereport-22.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f4b27ddfd9babeee5a399932e67bcd6ce1ccce09313300ab9136a83c0aec7679"}, - {file = "pyats.aereport-22.7-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:eac7616416e205610ed93407561c84f92733ae31d2b744bce14bad4e159bde89"}, + {file = "pyats.aereport-23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2f6524154fc9f729856d79c80d78501e06736895c410082e25e8480820a66425"}, + {file = "pyats.aereport-23.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:39c25718ce034ed829dfb976c1956d8d874cacfc475f436f5b512d284a8e24b0"}, + {file = "pyats.aereport-23.1-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:63e810c90c450196f439345e45f342dbbffd7fd179d1891f31035593f3ccead3"}, + {file = "pyats.aereport-23.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:af1edd138266f5dfa1b0d573e66bd30f20a85ca45fe4f9e51ba8098d4bbfcce4"}, + {file = "pyats.aereport-23.1-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:6a361b8f0b4bb18c2fba0f48b759c4f85803905e163486a917467278e06932fe"}, + {file = "pyats.aereport-23.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9d4fe5f895000eea6f7fd448eb2176fb8a81c71003e138100bf95481ba755c89"}, + {file = "pyats.aereport-23.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:b7afce8cddb38eebaae78cb64c47ba1b6a719f149d726660e9b4d75f29b7f16d"}, + {file = "pyats.aereport-23.1-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:d032fa89ebb98dc7ebe74737cbda13aa80e559e60344b2ed9930e74dcaf8e91f"}, + {file = "pyats.aereport-23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6228da3368e37890068820b407588ae35896ed3e82ae4b2e82dd1995250a09f7"}, + {file = "pyats.aereport-23.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:71038a29b3089e2101bbb969559c6d6ece496feb8fc441a6240ac774ab176cf9"}, + {file = "pyats.aereport-23.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:a9d886c5787cca27e39d78531d96e18f237af14bc62739c8f61e798d4a1f130b"}, + {file = "pyats.aereport-23.1-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:47e6ec000874c411a8c7c96664a5bad6184d06c85b9b471c56571fbe93c6d085"}, + {file = "pyats.aereport-23.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:332394ffcfd3e64a44c0249781d447715da6202fac506a4ec2ecc60c75e8eabf"}, ] [package.dependencies] jinja2 = "*" junit-xml = "*" psutil = "*" -"pyats.log" = ">=22.7.0,<22.8.0" -"pyats.results" = ">=22.7.0,<22.8.0" +"pyats.log" = ">=23.1.0,<23.2.0" +"pyats.results" = ">=23.1.0,<23.2.0" [package.extras] dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-aetest" -version = "22.7" +version = "23.1" description = "pyATS AEtest: Testscript Engine" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.aetest-22.7-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:b6543c35dbe59ad8e019aad3646fbb545949143f3e751c8c5841d2f1a516cf55"}, - {file = "pyats.aetest-22.7-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:44d2482a48fcbf7082c5e0fb3473b3099acfc62082931fc5e0f8c2e32a5294ab"}, - {file = "pyats.aetest-22.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d306e903e163a16e3c1853f9f03ca0a16f2beb8384d21541e2f0022e725f4ee7"}, - {file = "pyats.aetest-22.7-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:42daf06883ab8b2f5fb5eb1ab4f18066eaf89e304f0ef44e74b38d82b06471c8"}, - {file = "pyats.aetest-22.7-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:1002bf1988ea7bb5e9658d82b8395a68615425eaddb1f9e0de8e2821d27fa444"}, - {file = "pyats.aetest-22.7-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:497974882b70775f656e44d8fdaae672cd1859e0192c70405f2d39b07c55e994"}, - {file = "pyats.aetest-22.7-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:8bc6a226bd0158e3616f4bcd410c57a7500a446c25081a5b3f26682d51ed08e6"}, - {file = "pyats.aetest-22.7-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8dc1147b9d8a889adf7d37a36ef2992414613b2ef6a06e88ec46bffeca106006"}, - {file = "pyats.aetest-22.7-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:ebfa1690fe3b59c452dabf4f51956aba9414af25f617a7ef4f9a9a19bf14175d"}, - {file = "pyats.aetest-22.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:20a3f811e7d2fbf53d650480c9d7d5630691a06c56e950f0b916459c8b53200c"}, - {file = "pyats.aetest-22.7-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:a8640527ad74983c752b5c6282b967b8c017950cd63d5e663c01f60cb60dad01"}, - {file = "pyats.aetest-22.7-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:95453baf1ca87abb19029a70fd6d581d8634fdbb53ef9e668727bd0b0d44fa04"}, - {file = "pyats.aetest-22.7-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:e65458b240b1b59ab7bc8811711210b7d7521724b3e5182b87a948b1fa909e89"}, - {file = "pyats.aetest-22.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ff1487538e527521dd99ba889b9488edd7e3f202b0f0d1ea72cf8315bbcbe42e"}, - {file = "pyats.aetest-22.7-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:f08608fcdb26f4ca146fc010c2832a6b565715cab46669c366d3f789dc31ced5"}, + {file = "pyats.aetest-23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f7cf2e09691cc30f98282a6f4afe12ddd6b9a5e3fc3641ae93b10d518fe8e5dd"}, + {file = "pyats.aetest-23.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:102706f49a23c85adb37e5160e4995f42a06df80dc8df19f468f1fa55dfbac3e"}, + {file = "pyats.aetest-23.1-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:823c427c91b02245ba513d667e33788db92a06978f99b53588d00c3d4a6e1861"}, + {file = "pyats.aetest-23.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:e8f0106a26cd936b1483b4a6570250df7c9956cb108dcc78ce380b07b6fe5185"}, + {file = "pyats.aetest-23.1-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:9848ac2c2acc5370ab95236622da6891de5fd7c32e899935c58468c61d13ea14"}, + {file = "pyats.aetest-23.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f08081a2a6cdddc2965668d8134b6f388d0ba2d12358ed9b109774f2cd0a912f"}, + {file = "pyats.aetest-23.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:a75aac0f82ee7961c6c9587b44a85a3bac3dea83a3d15e4e997bbbfcc6be4a3c"}, + {file = "pyats.aetest-23.1-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:0af9be8bf4e337bac8e9cfd4f9dba091d1aa0946d78d5b2b05812f7941dd9760"}, + {file = "pyats.aetest-23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:00df1313712dd595da4d2151fde39a9ebcd6505bf1caa01ebbf62628be500175"}, + {file = "pyats.aetest-23.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:61093177a435837c0a215a953ce9754665ebe32d3ecf0ab6e9e37b718211f91e"}, + {file = "pyats.aetest-23.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:8523c11d4dc0290a7661c7001965c903766ac492c7c6c65b78ac2c26f7671ccc"}, + {file = "pyats.aetest-23.1-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:39f75a20f7b3c33d911672a2a206ddd37483de12c4af87852737765579d3b714"}, + {file = "pyats.aetest-23.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d252e56d575595dc3fffcb26eaf27f6a1ae2dbed604fb1a9f0044b2fc92c4a03"}, ] [package.dependencies] jinja2 = "*" -"pyats.aereport" = ">=22.7.0,<22.8.0" -"pyats.datastructures" = ">=22.7.0,<22.8.0" -"pyats.log" = ">=22.7.0,<22.8.0" -"pyats.results" = ">=22.7.0,<22.8.0" -"pyats.utils" = ">=22.7.0,<22.8.0" +"pyats.aereport" = ">=23.1.0,<23.2.0" +"pyats.datastructures" = ">=23.1.0,<23.2.0" +"pyats.log" = ">=23.1.0,<23.2.0" +"pyats.results" = ">=23.1.0,<23.2.0" +"pyats.utils" = ">=23.1.0,<23.2.0" pyyaml = "*" [package.extras] @@ -1854,91 +1821,85 @@ dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-async" -version = "22.7" +version = "23.1" description = "pyATS Async: Asynchronous Execution of Codes" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.async-22.7-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:301a5926b5cb28737f5ff3589148123276f7fb062e2cbbe81f93c262bf5cb26b"}, - {file = "pyats.async-22.7-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:ee169fee3f1d429f804d93b6172682786a32ae681603ad6ce8e97226fb22886f"}, - {file = "pyats.async-22.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d76fd555513a08f72f8114d42bf7f111c60c5c9ae3f1661081e446ed91d9238e"}, - {file = "pyats.async-22.7-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:a0d351764096c54ace15f7e2dfb125373ddf532a9d63f66880aad9f6f0cbe65f"}, - {file = "pyats.async-22.7-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:ffa05d0f45d679354cffd4fe748ef32c0cd7bb66d4ca9e2284e0073ccaf197a3"}, - {file = "pyats.async-22.7-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:b617a585af4c4f2d6b444e59041df4e15a21e145d8593f921fa42e2d31c8f86c"}, - {file = "pyats.async-22.7-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:cbf4fd190771c451863d1d9045465366bf1b756c1ccfa49c3085af9c22930f4d"}, - {file = "pyats.async-22.7-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:96c2749bdb9fe75247c84a9a740116fa37e383d5d82305a156078a3772d469bd"}, - {file = "pyats.async-22.7-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:699e6104030d13d689d49497122945285897ff54598c3c2ca2fc4c4dbf0ef6ed"}, - {file = "pyats.async-22.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:470fe3d3dba9443fb9dfcc180bc1e9a601a7d5dcf46cdbd8ca7635bd54cb683e"}, - {file = "pyats.async-22.7-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:84c45570222ca53cee00dc60bb2122bd86b0ffa09c977d96a3d5ee4f157d2101"}, - {file = "pyats.async-22.7-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:d2f68fb08753072e796cda186c1ac70c9188e70729051ea48bc018148306400a"}, - {file = "pyats.async-22.7-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:87cfb8107ff326465b2650d5681d74873d5a2e4d3991e22b286aa7d650e155df"}, - {file = "pyats.async-22.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d83bc8d7cda5d3c4b5f4580685a32ede64a5de167fa089f79631d13c56f87cf9"}, - {file = "pyats.async-22.7-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:55d7d61a83a591c158d5089a860fe996a663389a8236c5298643244e2fa07c26"}, + {file = "pyats.async-23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c68a4e4fc20b0f5e6a50ff99cb3d6e82272e40af5b81825c35b0a04ae0ae4720"}, + {file = "pyats.async-23.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:a4d464186c85a7b36c87c1bf03d36e6481a8ad0699c717779ecc2fb3f731a488"}, + {file = "pyats.async-23.1-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:6fe46da45b025668548aba590b3efab00812256dd44d95faee097706bfac1008"}, + {file = "pyats.async-23.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:14f6ec185d0cd25532b25ff7b977c71ca2be35f0292236d5517f587e7c5edc0e"}, + {file = "pyats.async-23.1-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:5e3532f76a4324722adbdf3217e4046d7ba9e4824d9380abef469d101c0299ff"}, + {file = "pyats.async-23.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:fc10bb2b8e78e54b3ec6138353958fd89e16bf74802fe94840137da82a0f08cc"}, + {file = "pyats.async-23.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:d74c649644ae481dbfcf2952efe7a42c283db76db432c142f7dee1dd3cd0dd24"}, + {file = "pyats.async-23.1-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:749372c405afca170ca1e6f0533ca7a4cd10801163be468d8915907889fff4a4"}, + {file = "pyats.async-23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:aa3f3f6cc1d80d467a45b81e1af0978647587da5c233dfd6585d13352c3bae59"}, + {file = "pyats.async-23.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:0c455f769ecc3e02be43675cc62b8f4e4c25879d24d012a0f4a99ef1d3d5ecf8"}, + {file = "pyats.async-23.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:08f544b3bacf65364803d5ace1080388d02ab148514456544de6203c6f125838"}, + {file = "pyats.async-23.1-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:5476b96c59d66372812b64a06f00008e62d61bbafd2c1c7d7a6d606c41bf8583"}, + {file = "pyats.async-23.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:ddf591cd5def440e3dd9ab77d60b29b9994e3050000f425cfd7fbe70da8cff47"}, ] [package.dependencies] -"pyats.log" = ">=22.7.0,<22.8.0" +"pyats.log" = ">=23.1.0,<23.2.0" [package.extras] dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-connections" -version = "22.7" +version = "23.1" description = "pyATS Connection: Device Connection Handling & Base Classes" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.connections-22.7-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:b6ffda9b29e6c887b791c8f2e97949f95721176a2fac8d01f720f242dbfe03a8"}, - {file = "pyats.connections-22.7-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:4a3ca6b83f19a335c98bc504fc4d9b0364a8a757061658e1534bfd477a825306"}, - {file = "pyats.connections-22.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f2b6115547e6eb9e7974aefd74b59e0124155db183e31b7b04b746804de891a7"}, - {file = "pyats.connections-22.7-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:78f7e075dc646db8dcede02e83a62d43031a3f1a025c015c80f6490a0367c1bb"}, - {file = "pyats.connections-22.7-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:b2c2fe50b1ea2ed982a43409413c525fb5806ec134724221d5a9908a223b01dd"}, - {file = "pyats.connections-22.7-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:00540b01df850e8c8259fa99f5f0e5ffbe006ffc9bae17bda3680f3c99ac2c65"}, - {file = "pyats.connections-22.7-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:36fd3010ac4d85e6ae3d5427a1a927d180568bf07ceb88211cd3e307ca81d855"}, - {file = "pyats.connections-22.7-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:21f3e59ef2ee58cde5fc97a3e6e6a7ce7eff0dbc80a0625f3a4c611fb10043a1"}, - {file = "pyats.connections-22.7-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:57171ce0d1ddb0628cc6d67fe8bbdd14e64e0d319d35ddf670490afd04dd4255"}, - {file = "pyats.connections-22.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:00fb3b129131fb1e0935ed6d9a8c85eeded097e7e87b1e55d94a51bb8eeaef3e"}, - {file = "pyats.connections-22.7-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:d1b6deb017d282a911c24241d9356ee4b06b33035a19c2096ab6844bd9c8ba5a"}, - {file = "pyats.connections-22.7-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:339420a9885bad196cc2ffc56798ea1fe13caecb0df917d4d62a68b9d25f7ad8"}, - {file = "pyats.connections-22.7-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:3c51337c81f7830186bb80f7c58c696183f70c06edd4499387d957a763b2e43c"}, - {file = "pyats.connections-22.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c74fcd2f5ea130fc0d32717b32e780ae1fc9dec055a6c486523b228d2c891fee"}, - {file = "pyats.connections-22.7-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:8d25b02eb6be3f55dcd4484b324e0a72d818e017a5b73bff662a6244e9a51ffa"}, + {file = "pyats.connections-23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1de5b0facbb1649af330377e23820460a14df6cd338dcc89dcbd342cde5b996b"}, + {file = "pyats.connections-23.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:4c4fbbc9ad7bcd911078732f781d7a7e8143efaa1be1c9426ed98e15cb2e1a44"}, + {file = "pyats.connections-23.1-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:93393fc90f5e3339cc54f0d411686ea75d53aacb66062218ff08e75671fcdb2c"}, + {file = "pyats.connections-23.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:7a3cdd61cccc851ed41b05666997ee0e259e65b98f08fb552ff74324a8b36a9b"}, + {file = "pyats.connections-23.1-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:a08bc34cd59140200aa0f5726da5d4da5923ef7e10f34bc9adc7960ba447c95d"}, + {file = "pyats.connections-23.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3efaaa4f7c17cd2065cc64d5042d5d27b8bc60bbff34fc592f06f14b5d8983fa"}, + {file = "pyats.connections-23.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:73ab60784052825e2bf96b1af947d2466d041c7605889266d23c897cc6fad786"}, + {file = "pyats.connections-23.1-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:33f20296ca2c6ca1c791a3189631c9e2442b201da2c4863ecbfd5ae6166b4ce0"}, + {file = "pyats.connections-23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:46e8dc633ac032d19c1658bca639daae27e71b58c846f60ed47a42b420197579"}, + {file = "pyats.connections-23.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:74933004dfec73a98eca02eca276872e43c84049fdf47f8b669d08d3bb962be4"}, + {file = "pyats.connections-23.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:a5c3cc28aa5309e989f5669f44ff8fd93d4e26de59bc522939bce47311ad8aca"}, + {file = "pyats.connections-23.1-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:f42410d26feba0fedd1990f3863a5654265a4834996f122b666cb24924b9e7f9"}, + {file = "pyats.connections-23.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:061004e841427dc160fbabad72bd7b6711bac4720793246cf9833554e32fafdb"}, ] [package.dependencies] -"pyats.async" = ">=22.7.0,<22.8.0" -"pyats.datastructures" = ">=22.7.0,<22.8.0" -unicon = ">=22.7.0,<22.8.0" +"pyats.async" = ">=23.1.0,<23.2.0" +"pyats.datastructures" = ">=23.1.0,<23.2.0" +unicon = ">=23.1.0,<23.2.0" [package.extras] dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-datastructures" -version = "22.7" +version = "23.1" description = "pyATS Datastructures: Extended Datastructures for Grownups" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.datastructures-22.7-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:0bae72255209abce398efb2b50e755e7d44f94faf5c620cd6a992823ef9af9bb"}, - {file = "pyats.datastructures-22.7-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:5b251c3ad63cb6252d2010840397cf00a87ef8e27251d84f583518f5bccd0e7a"}, - {file = "pyats.datastructures-22.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:83e9a3ae9ea5f083d504f6b8f72447e07b8c32ec6050506eda449fd2c62dcaaa"}, - {file = "pyats.datastructures-22.7-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:3508f6266e5c03c1a7d64c51bcf49321480fbd25ea18910699ba920583b2244e"}, - {file = "pyats.datastructures-22.7-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:6e2f46dc2fed24e2c795ba1a6216630d7fa62f83c1f680329e51416cbf9dd6c7"}, - {file = "pyats.datastructures-22.7-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:8daa4d04a7e2eedaebc65e1525ede7509d2263ecaed57a1f0e38f76eb46e2d9c"}, - {file = "pyats.datastructures-22.7-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:3e6ef2d8d66826374d693ad0fb8883ca17b8d712012093cac53014dc79a1612a"}, - {file = "pyats.datastructures-22.7-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:66f092a488799fbbccb4241550eb9eba973a906b80a3826f96c1a01b380d35dc"}, - {file = "pyats.datastructures-22.7-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:ca70e5e6f064a394c9ce5b455c5089f0c6d91a3da1960e23a775b47074469f88"}, - {file = "pyats.datastructures-22.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f182855437ad031aa120e252b827e6563518759056d0a41895a3a3c7316d14a6"}, - {file = "pyats.datastructures-22.7-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:2a3dc64aa8fd1ed7153c1b26f6ab1ba211934ed63f0cf5576b573e4a907b63ef"}, - {file = "pyats.datastructures-22.7-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:bf9704a57636e4499090908cacd89d0df5d4c0298c7188c670e4568d32cb92e2"}, - {file = "pyats.datastructures-22.7-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:6a928d954763f9b7929c5a5687659a28dc597fd53cf00ce16f42e229255caaeb"}, - {file = "pyats.datastructures-22.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9a5b1712d47f679d39df503d5e81f577bff5fc18d7070ee10a67f4a48947490b"}, - {file = "pyats.datastructures-22.7-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:848c8a987b94dbb13bd97cd9763515c93d9501618182e315075904c8cd345f33"}, + {file = "pyats.datastructures-23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a3ae5985391a07a759016e3235651bdf8a0d6edc711e836ae90f14d6f5f2c2cd"}, + {file = "pyats.datastructures-23.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:5803fba20511d86735a19a37b819c2427ffca28ccaf827893ab243eab197df62"}, + {file = "pyats.datastructures-23.1-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:1581f3bd13352803763692bbf760904079507498277825619b62210cbb6b10f5"}, + {file = "pyats.datastructures-23.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:90740699d7fd404b6bfa54fb727b8d52afbfcd87ee78180cfefe3cd6746f124b"}, + {file = "pyats.datastructures-23.1-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:aaee14eb8591b86acb9190825230400b05ac8d78c3b3e8ebca69f0d60d5ba1a6"}, + {file = "pyats.datastructures-23.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:44a32b896e64a1a3cb3676ef31cfbdad8326d6ef9178c25c6f27ac701240e092"}, + {file = "pyats.datastructures-23.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:af60a9ff7ad0528450c4f23ba613712ef56f3f4d2f0d90abe75f6fa320db1efc"}, + {file = "pyats.datastructures-23.1-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:95cc25008468aa2ff9d4292d6e825e8883b4cb773c5e438cea34cbe5dfe12ce1"}, + {file = "pyats.datastructures-23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a1a8a1511e6ad9f283d97bd05c31389e7fc1633ab95c1a51e9f5e0c1b14b3111"}, + {file = "pyats.datastructures-23.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:6a41710099d5ef3cfb9790358e1188fed0a7b7be281db32221d4bc7bf88bf917"}, + {file = "pyats.datastructures-23.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:c74785f77318936b30fc0c3d817280cc7d66b5b2dfcbbf075f51e43ea85ead6a"}, + {file = "pyats.datastructures-23.1-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:8ab530bfedcb4e0cc4b753dd045d5f17fac1749ddc4b19411e6e9e37392175ae"}, + {file = "pyats.datastructures-23.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:57be318add339f1b461341c94477d18429351555b6d749ca41f57aa076577065"}, ] [package.extras] @@ -1946,40 +1907,38 @@ dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-easypy" -version = "22.7" +version = "23.1" description = "pyATS Easypy: launcher and runtime environment" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.easypy-22.7-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:aaff1ec1a61af6e2c25ace8bbfa10791d4343d236fed8c27bf0c5941ff649096"}, - {file = "pyats.easypy-22.7-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:3d432596c915e9511fd4bef59c09fef8969595a70a6647624720677e9b575a33"}, - {file = "pyats.easypy-22.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8873b720bd2cb3b1363fd7bc97d91cd6f56b5d70893bab4efbe2837399a11ea9"}, - {file = "pyats.easypy-22.7-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:c58905478cf9ac0a5b159da806619dda62fcd866f8e17c3306713aef36144463"}, - {file = "pyats.easypy-22.7-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:57a4937b7afc055209c1107fba3f1936f4da0f1def3dd9d46083873c4116e942"}, - {file = "pyats.easypy-22.7-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:d58cd77fe56d27e3ca40f48c7e0864b7220daef2418028bb9dc2e3367aeed48c"}, - {file = "pyats.easypy-22.7-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:22f112ebea6e3ed42db123e83cca33faa8ef6708d6d87164488ed01089d15cc2"}, - {file = "pyats.easypy-22.7-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:9f8dd0f2f77b23bd46e900af660c792468d0fd35dbd2fe6806502ea55ab9d9b0"}, - {file = "pyats.easypy-22.7-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:ccb237b4bb10273a33f1b211c6832a387d713568b95e36a98ae5c06f2e8767f0"}, - {file = "pyats.easypy-22.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:70879261fa359f99f97bd0e4b782098650a4c8c00cbc07e736ba6534ee2a001d"}, - {file = "pyats.easypy-22.7-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:36e461442e65f9e4cef787e97e1146b140f8298741c3cc5a1192dd4c71ba19aa"}, - {file = "pyats.easypy-22.7-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:3fa03b78e9cc983e74157c8018f4a908014459cdebe6d063399cef43058ac565"}, - {file = "pyats.easypy-22.7-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:dcc79e55d70613d17c03206542c99a5906ed15a012b2c65a51e4da3c411c6644"}, - {file = "pyats.easypy-22.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:66624c5dec4ab91edea41dda5570a52e60f966466eba409f2cfcb2a5ba1d565f"}, - {file = "pyats.easypy-22.7-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:9135e82157b4296abfdbd69f95cbf2abd119a6047cce245ebe7f563e60253733"}, + {file = "pyats.easypy-23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f7bcf487340b851831bff06f7664eb11193cef933c4a8497c3efef3373413172"}, + {file = "pyats.easypy-23.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:92464519813fe5510f310a76c5560f6683ecb69e155dff81f487a4e7eb0067ab"}, + {file = "pyats.easypy-23.1-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:ca38194d319c8e43ec286d71d2537af09a0cd7b67486ffc3bab991def2478f94"}, + {file = "pyats.easypy-23.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:8fb43c921f979193a52927c4421d051acee638da20a4ed113be1b7a260c40c94"}, + {file = "pyats.easypy-23.1-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:af80406b85db8bc245aa9b845086241abfaa452e979f58f8212e7add30846061"}, + {file = "pyats.easypy-23.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cba40d1392a77e3876ec576c61342301c9b5ca6664f1045a349fd82ee9663154"}, + {file = "pyats.easypy-23.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:3647eb4b66bb5428bf686157d1d226f69edf7d661fb4c14b82fe2c7b66450c3e"}, + {file = "pyats.easypy-23.1-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:9a99323cc39633916f6476f8f3e7a48831d8e2e1e974cfa8478480c8e4b4a36b"}, + {file = "pyats.easypy-23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:acdfa8baf4ca5be6c388213ee6efe76af6f3051279a5a99e88ffb80524936a79"}, + {file = "pyats.easypy-23.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:1011cc817fb46d0cc23f407f07b71306ee42a337ac91e79f87088882d56e841c"}, + {file = "pyats.easypy-23.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:c5b1a259c6093701d82963bc7d7d35c2d683199dceb0fead5727f32a7e6d092a"}, + {file = "pyats.easypy-23.1-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:9706de862d9d10de0b9c970c529c2713ad4cb795f52c5489fb38c75c29a59019"}, + {file = "pyats.easypy-23.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:2a74b0e873eeb0e7bcfb2b7b6d4642a781e9c92b6f22bc7f1b4c500cacd92f41"}, ] [package.dependencies] distro = "*" jinja2 = "*" psutil = "*" -"pyats.aereport" = ">=22.7.0,<22.8.0" -"pyats.datastructures" = ">=22.7.0,<22.8.0" -"pyats.kleenex" = ">=22.7.0,<22.8.0" -"pyats.log" = ">=22.7.0,<22.8.0" -"pyats.results" = ">=22.7.0,<22.8.0" -"pyats.topology" = ">=22.7.0,<22.8.0" -"pyats.utils" = ">=22.7.0,<22.8.0" +"pyats.aereport" = ">=23.1.0,<23.2.0" +"pyats.datastructures" = ">=23.1.0,<23.2.0" +"pyats.kleenex" = ">=23.1.0,<23.2.0" +"pyats.log" = ">=23.1.0,<23.2.0" +"pyats.results" = ">=23.1.0,<23.2.0" +"pyats.topology" = ">=23.1.0,<23.2.0" +"pyats.utils" = ">=23.1.0,<23.2.0" setuptools = "*" [package.extras] @@ -1987,37 +1946,35 @@ dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-kleenex" -version = "22.7" +version = "23.1" description = "pyATS Kleenex: Testbed Preparation, Clean & Finalization" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.kleenex-22.7-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:4948a865019c84d4cc553f5bb072f9555f7ad3212b98ceef40632a3cd49aef71"}, - {file = "pyats.kleenex-22.7-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:40cee77910f1356c2139dcfa4fdbd2f9669cc144a557b0cf4fdc8ea86b89668c"}, - {file = "pyats.kleenex-22.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:08f0b90b463f190f7111730e615cd3b7a4dd3a022ecedcafc5339dd54a12eb05"}, - {file = "pyats.kleenex-22.7-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:c6a546d3565323962ebba259f6238739a2db583dbd807a0af5fa639e9d3114e3"}, - {file = "pyats.kleenex-22.7-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:71151380d6493c72eaad56cd9d8695f939307c5a31e6206c571240f57e0bacb6"}, - {file = "pyats.kleenex-22.7-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:d35e6cbf69ec4d16b63da5ee407d41af80ca2cc4210ea56595b5122234dab42b"}, - {file = "pyats.kleenex-22.7-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:d273697dd8020c991829cd52cbba73c1206e679f083657f2407b09297e58b1b8"}, - {file = "pyats.kleenex-22.7-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:e24f819badb9ff1436f832f332e7c87666ac0ba94e2fd18512dde93e55d49c3a"}, - {file = "pyats.kleenex-22.7-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:9412b21cfb80984b2397269b3e738e17505c1ddda68aa9970847c1926f7de21f"}, - {file = "pyats.kleenex-22.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:19c95863a028fa7c81d1de93d8fa66d061496adcfc3ccdbe25d8291b5a67108d"}, - {file = "pyats.kleenex-22.7-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:3dea7cf1b2c93476a7538ec3187f9728c1071a5f4488c44b55c4e3cc75a373ef"}, - {file = "pyats.kleenex-22.7-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:240acc34a87672a5d57ae8aae3e2032886dba5341f7ff62f0a301587bdc82e72"}, - {file = "pyats.kleenex-22.7-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:af321ac573d483efdb4727749f68591e556ed0660735c18c2f67b641706caf7d"}, - {file = "pyats.kleenex-22.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:7b19d8a637b7921a4c0de200a4749f392940f92f219d94b974ec6d2ef771bb26"}, - {file = "pyats.kleenex-22.7-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:1140de447e7cf4fdd6ff7d3f375e0e1c271ad3d0aac1e8058591bff38bb13718"}, + {file = "pyats.kleenex-23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:91ce7581bedbbf756365f62f4fe8553a69fd32861b27bd1f47547d9c478b5123"}, + {file = "pyats.kleenex-23.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:6cc16277b3f3143b5d4b11556f62575c9f55501192c13dfb3e38ff838a8c8d4d"}, + {file = "pyats.kleenex-23.1-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:891e515242a82b039bc5192307beab1cd7baff648651cf7d424559abc5133b91"}, + {file = "pyats.kleenex-23.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:d8a98544795367cdd3ae62590e7f400fbdd82e02930fe4719a77c2e8a43ba93f"}, + {file = "pyats.kleenex-23.1-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:938c8c9cd0c4acf9cc320fbad3a8a7202fc427dda464c60344755dcdf6dafadb"}, + {file = "pyats.kleenex-23.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:84fa6e8e9e49a78f924f722a4875a194a918e9b1862f56d9aec296eee18fbb3f"}, + {file = "pyats.kleenex-23.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:4de038d9fea8c171417f1f00038d8ce9a535b3760bc84bbbe574eb2c516a008c"}, + {file = "pyats.kleenex-23.1-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:95d5b895f341cbb24ee42ac7364017ccef0de957af5be082eb558b7fbc62d33b"}, + {file = "pyats.kleenex-23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:54293fe283f2bc9512e110aa8dceb469d16778e23edabd855bdeb9f22f975fa8"}, + {file = "pyats.kleenex-23.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:81bbf8758f274c51eb49c75c2b8a3636bbe89c02571177d57370916a9e0cc585"}, + {file = "pyats.kleenex-23.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:0c2b244a6f0ade74656c05fcdfacca19478da006a0d3e904cdc51fca5bbf276f"}, + {file = "pyats.kleenex-23.1-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:e780ba9477f766f2fb9946ec0f66bcece438c197bf7efea7ed653b1dbca1da34"}, + {file = "pyats.kleenex-23.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:adc24bd3dfef813b96dd63a32094c265b2ebf4b5d8cd1f26d74927a85874a925"}, ] [package.dependencies] distro = "*" -"pyats.aetest" = ">=22.7.0,<22.8.0" -"pyats.async" = ">=22.7.0,<22.8.0" -"pyats.datastructures" = ">=22.7.0,<22.8.0" -"pyats.log" = ">=22.7.0,<22.8.0" -"pyats.topology" = ">=22.7.0,<22.8.0" -"pyats.utils" = ">=22.7.0,<22.8.0" +"pyats.aetest" = ">=23.1.0,<23.2.0" +"pyats.async" = ">=23.1.0,<23.2.0" +"pyats.datastructures" = ">=23.1.0,<23.2.0" +"pyats.log" = ">=23.1.0,<23.2.0" +"pyats.topology" = ">=23.1.0,<23.2.0" +"pyats.utils" = ">=23.1.0,<23.2.0" requests = "*" [package.extras] @@ -2025,27 +1982,25 @@ dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-log" -version = "22.7" +version = "23.1" description = "pyATS Log: Logging Format and Utilities" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.log-22.7-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:1208f52779289385be0545e1f36cce1a6af4eee45ee2410ceb102aa8aa9c82ab"}, - {file = "pyats.log-22.7-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:fd678655c5396da2b882d2a65bc5c425603635133932196282fe6de2f06b68a5"}, - {file = "pyats.log-22.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:bd57571c844a356377f88d2b1e48266f8a087bd113f344d26df69cd9e5626f89"}, - {file = "pyats.log-22.7-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:a2f766a0daf86f5ce7f1dbfdb6e15b86679e82800745cd2b89d3cc9bed9bfaab"}, - {file = "pyats.log-22.7-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:854e59442f3be0be021ccc2ae36ea64d13fa4bd1706744bc18a37c66a7f3f63b"}, - {file = "pyats.log-22.7-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:71ff96d658a9c66585ef41f732ae6cb1ec57a9c7217aa55bb451e23aee66d334"}, - {file = "pyats.log-22.7-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:bd9ad5e294734fb257f2156d24fd89acfbe9b67777b5640fbe746b58abfeb423"}, - {file = "pyats.log-22.7-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:ae462ebb22bdeb351eda4edab041dbdfcb09178d8b3deb297cefc9df9dd7d183"}, - {file = "pyats.log-22.7-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:2d442314a39049f6d0721b904655cf0c6954afab2b681e1374e9b140e6b1328c"}, - {file = "pyats.log-22.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7d0a2b2b0f5105660ae2192620db632fb73852e8b4ab713ccfda279717675fae"}, - {file = "pyats.log-22.7-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:0ee97c14aa2b2f638f34aa1452e8dbcfcda1168aa1c85ac9ae5c519861aa2e90"}, - {file = "pyats.log-22.7-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:a1b8cfa1b096a9b58547aa045abdf35c73de4a6e33bc90f26ccdb1a5be2aeb5a"}, - {file = "pyats.log-22.7-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:2e7aced64f141f218205c4e68f1fafd4c1f6ed60330c84d28d68c27d5f4f7efc"}, - {file = "pyats.log-22.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c893c745d0326a964245889a1df4c9d0e850c7d1d30c72127112d0d867e6f60c"}, - {file = "pyats.log-22.7-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:ea39f155b89f47acefe29e81ed032a06ba6d823b817821aec6281f71c9a0ac70"}, + {file = "pyats.log-23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:12336b3fd8b36cc230bc18dde40394315f85dff467afdcde637d1fea39875ecd"}, + {file = "pyats.log-23.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:4dfa7f874c15385f4c5429c4f25e458ded08c39d8d985b6cfdb561660d9d0a14"}, + {file = "pyats.log-23.1-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:91c8c6b6ea1c35a1d675628f41f595ef6d08ee7f1ed4916bb8b3c185f65b1cd0"}, + {file = "pyats.log-23.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:e28022c38a7801540c8c3ccf42440e0f10d449c75b654dba2de7dda189a62ae3"}, + {file = "pyats.log-23.1-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:eecb845a2358d685bdf67d09169b78d205ed4a9e56157505a6283d9e6d046634"}, + {file = "pyats.log-23.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7737062cef2943854c2f76fb530037e11070450f0506ae2355b388da65259bb0"}, + {file = "pyats.log-23.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:19dac01e9c32cb46646d6ffa7e09103e600c2efbcccde35c9c781827dda31aa8"}, + {file = "pyats.log-23.1-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:fa6b52b6db83e77c5c9281710597e96c894feabe0faa0f428b04e4ba3e41ad9c"}, + {file = "pyats.log-23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0fd1cfbbec9efa10d54d30ca03e2be03ba0ef2c71336b3f21f44a6925d3020b3"}, + {file = "pyats.log-23.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:ecffee47d75bc33859c664022c0ff0e7ec4738cafacbf0ed6be2f9ce46e5bf57"}, + {file = "pyats.log-23.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:7fab13eaa749eea9ddee12e5555c4146749f037f4f89c3da0decf52854e9f3d4"}, + {file = "pyats.log-23.1-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:0e6a7e77ac37195601cc21d5c6caf1053745051a9313192d4ef68acb837144c2"}, + {file = "pyats.log-23.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:4d5cce57350972905d4c7143f7e245fb857cc880290886b5b6bd982d33b790d8"}, ] [package.dependencies] @@ -2055,7 +2010,7 @@ aiohttp-swagger = ">=1.0.15" async-lru = ">=1.0.2" chardet = ">=3.0.4,<5.0.0" jinja2 = "*" -"pyats.datastructures" = ">=22.7.0,<22.8.0" +"pyats.datastructures" = ">=23.1.0,<23.2.0" python-engineio = ">=3.13.0,<4.0.0" python-socketio = ">=4.2.0,<5.0.0" pyyaml = "*" @@ -2065,35 +2020,33 @@ dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-reporter" -version = "22.7" +version = "23.1" description = "pyATS Reporter: Result Collection and Reporting" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.reporter-22.7-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:f2688a16394b95fe63971aeac2bf3309debe958142c737306b5a921e33c53d5e"}, - {file = "pyats.reporter-22.7-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:7a6c404e6108df97e5b52962a9f104005ca25df37118f143751b1c690fd550b1"}, - {file = "pyats.reporter-22.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:bfd1d822cacc9b9d1cd283bdd08ba06aa9d86d1e205507bd1d8961212d452805"}, - {file = "pyats.reporter-22.7-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:0edc5a223261a7b929792b5aa99e2d0d4df7b73cbef446a5a8c1324e992e6c06"}, - {file = "pyats.reporter-22.7-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:f90339495acabd8ed781d664590e7b2360e7ac5a32abce0de7c8345cd40031ca"}, - {file = "pyats.reporter-22.7-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:840167e48927c27c650780879ab382be71a82bc1900f6de72fc55d0eeb42456b"}, - {file = "pyats.reporter-22.7-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:3143f0c05953ff3f653921e52aac3f5a0c9054d9a07e1a70eb5736e1fdb2cd0c"}, - {file = "pyats.reporter-22.7-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:989e9f2dcf1d186e1d01e64880d93cc0e522488adda77321dc0839eb5f64d3dd"}, - {file = "pyats.reporter-22.7-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:63f2a307316b2f647cd86ffbebb516c9d44736afbbd112ccdabec36d592da94f"}, - {file = "pyats.reporter-22.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:dafc1defb6e96841bbb7fe96e51d158d1faec9e4161f61c792e4ccd61f74f19c"}, - {file = "pyats.reporter-22.7-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:c53624bcf15af1d59aad7608529c9df41e9037f26d3ae3814e9efe147fda80d2"}, - {file = "pyats.reporter-22.7-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:ae75d9c851e01897d12007353bb3ce36637239f3aba08dd812b102766e524e49"}, - {file = "pyats.reporter-22.7-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:09c176a463f6758efceb9d38774f66882bdac5549d019bcc40b4d55a1efa28a9"}, - {file = "pyats.reporter-22.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b011b2344cb073f95159746fe36649e7c5a13ad2081d3824b6637cebdf7c35a1"}, - {file = "pyats.reporter-22.7-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:034b4ed1663dc931fbfafe511736afc3ee6dba5168c2e2637cebe5f4cd8a923b"}, -] - -[package.dependencies] -gitpython = "<=3.1.18" -"pyats.aereport" = ">=22.7.0,<22.8.0" -"pyats.log" = ">=22.7.0,<22.8.0" -"pyats.results" = ">=22.7.0,<22.8.0" -"pyats.utils" = ">=22.7.0,<22.8.0" + {file = "pyats.reporter-23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1cca771692842b655367b977acc5886230a7f57c180e09ac3cb0753e202dfa99"}, + {file = "pyats.reporter-23.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:22b5e1698525c8025fd18e5b250767d34bfe3f31b38ce4b54d195c5fe612e091"}, + {file = "pyats.reporter-23.1-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:66f163a9182684ceac4ceb86c9c0bd42c3da317c884302ce94fb7d9db2ebbf93"}, + {file = "pyats.reporter-23.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:bff799c077a48abaec752cf75b16bdf2091ed916592468bd1e37bcbbf31ca698"}, + {file = "pyats.reporter-23.1-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:cf1a65497148c893fc6a13c978dd0540d2ef9a823c0e8b5dade1409026e360c9"}, + {file = "pyats.reporter-23.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4cb729704abaac3ad38059d055c30258110b810875cd60d6ccc470d3f181b242"}, + {file = "pyats.reporter-23.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:9a96a8aaae5d866e69fa54c2563c87538cb45b476f7219bb6eb5c2241b03d0ab"}, + {file = "pyats.reporter-23.1-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:be1fe9e02c346c1afac57842e922c6d19518ec1eeae7895cab59dbc3c7ac160a"}, + {file = "pyats.reporter-23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a79af6db690edb39ea4eae8ad876a700ce5c45e483f19b61f50ad15302a7358f"}, + {file = "pyats.reporter-23.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:df502fa53881dd708d53e46dd202c7448a0ebc44feb0625ac2fda65b4813e018"}, + {file = "pyats.reporter-23.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:b67f1800c62828ec33ec9e3ded81835cd015532308e1314f99c8e8e986fdcbe3"}, + {file = "pyats.reporter-23.1-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:1a69a142d7d186a99ef267646e8a98fb477233d46af8e6fddf5276562a8e1230"}, + {file = "pyats.reporter-23.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a8fd960a88759fdecbdc885effe327571cd30c02f6b49fdd10566f2b1386aba1"}, +] + +[package.dependencies] +gitpython = "*" +"pyats.aereport" = ">=23.1.0,<23.2.0" +"pyats.log" = ">=23.1.0,<23.2.0" +"pyats.results" = ">=23.1.0,<23.2.0" +"pyats.utils" = ">=23.1.0,<23.2.0" pyyaml = "*" [package.extras] @@ -2101,27 +2054,25 @@ dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-results" -version = "22.7" +version = "23.1" description = "pyATS Results: Representing Results using Objects" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.results-22.7-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:25b2ed680363fb7885d320d75e501fd81c5678678a2e40fb2e0eb442df555f53"}, - {file = "pyats.results-22.7-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:b2cce4258291e7cc80db23d3b4d3ca689ea505da3bc89bc3f46f33fb2b3d17c0"}, - {file = "pyats.results-22.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e531de763ef6ee5205f8cbbc110f88b1da2adaca68320349d9afada9689e0bea"}, - {file = "pyats.results-22.7-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:a05dc053ba135781a4f65fc686d99ec9c88f0d41a42914044db174ac929b80f6"}, - {file = "pyats.results-22.7-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:73b6ce19277aecf77937e192942b613f3d34b36b8d602ec04c238d1b113dc766"}, - {file = "pyats.results-22.7-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:ad0056a1da7373ce310fa53ad9ce07b52049a619fffd6e986aaabb4916301c5b"}, - {file = "pyats.results-22.7-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:9126cf6cdd145e2a8ee0a994f50f48cc8f0a615146bb7b893ecf6dc17376cb17"}, - {file = "pyats.results-22.7-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:14c7eb8c25e556492bc1f3b3a7f12619b9082a4f7d973e3f2fcc03aadbc467d4"}, - {file = "pyats.results-22.7-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:92ad190e53c3953716789b08e6e34b3b2d04870dba2e321319ff3662b84b7e12"}, - {file = "pyats.results-22.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f1106211e1c3e23214e9003f3ce463e0ae4c8a9e0a767ead4dbc4ed2b14966a5"}, - {file = "pyats.results-22.7-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:2ac9625d788c043abdef9df7dd0e84bcfda7e99c6946ab9969bdfbd558ffceeb"}, - {file = "pyats.results-22.7-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:0c5015a92da4074b345d999d8689ef8319753a3c10211c25b97a63119ea967ea"}, - {file = "pyats.results-22.7-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:0969318c5484e24072fa603f6476f9c9a997e3898ed40893dcc7b2f0d7835645"}, - {file = "pyats.results-22.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ef9ff060f6db477fa807cde11de3a4eadaabef04e378907a5e59d86c0197b304"}, - {file = "pyats.results-22.7-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:4b0398a3fc77151545cff70f6afe717f6c634103320c659dad2a7771302659e5"}, + {file = "pyats.results-23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:23d2567fc19e3910b8c6ae3dea4c2b1dc8c5a9f77454fdab9cc330a67b9f7787"}, + {file = "pyats.results-23.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:212584e04de0b2214e290a051d4aef75301602652c2a38b711aca1a097c8144a"}, + {file = "pyats.results-23.1-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:9c5e30afee681bb4afa424cb93141fb6d7374c46124292dd27df25a41bfdba30"}, + {file = "pyats.results-23.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:d14e3c53512a1d7498dcc5fc82072ca2c3fca02e949f148a7d3c6064f88bd3e8"}, + {file = "pyats.results-23.1-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:40447dca62ecda0a6dfe33584340a717cbcc444e1b8f04790e4954e06ca2d032"}, + {file = "pyats.results-23.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8aa0f4961729cf1f93429d7018bf9c4fcab497677357ae2a9fbd2c5b07d15d71"}, + {file = "pyats.results-23.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:99e9b24532f0a83faa798b1689a7b6e8a5faf85a3f39eae3f26f5c70852fa735"}, + {file = "pyats.results-23.1-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:539720d1e080a28560e0d14dd5ee02b8d05fb2b13e576bc15a5b29393ea4eaf6"}, + {file = "pyats.results-23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8e1a929c2d309feff3ebd95350383f6902d4015cced2770d9e6a5d31e46d4f16"}, + {file = "pyats.results-23.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:06d72c7a6b0aaa6ede208b2fc96850218c2e78ffc69ba8ad5a405a4105db9c54"}, + {file = "pyats.results-23.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:fd138d6d44255768c191639901f3568753cc010cde1045c66965c5dce3e3a862"}, + {file = "pyats.results-23.1-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:0166fb00f22425548e88bb51450bd591e29f9f510f5ea1634bf37ea70eafcd2b"}, + {file = "pyats.results-23.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5ccf766dd136716d5c24ba5c14a465e78766adc055029313c0d88d803182f1c4"}, ] [package.extras] @@ -2129,65 +2080,61 @@ dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-tcl" -version = "22.7" +version = "23.1" description = "pyATS Tcl: Tcl Integration and Objects" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.tcl-22.7-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:986f9e499b5f6e5aec5c641412a28526da97587f3f89539db9df0618bcc9fbca"}, - {file = "pyats.tcl-22.7-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:a45322866dadb9988ac341d4f7ba1bb3fdeaab8a45d7f2c0876b68ca2a46b27d"}, - {file = "pyats.tcl-22.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9d61585168350b8c45bf3c1c528d9b61414de68e8b952d97af49400294c696d6"}, - {file = "pyats.tcl-22.7-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:f8b8c3e6c4b2cf4cb5cdca099e7968b856f9f35de515da2bafab7d8f66d3f505"}, - {file = "pyats.tcl-22.7-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:f59f62c5c48fe5c1d132fbc9e93ca85eddbbe3f2a3f946ce061e979158f056e2"}, - {file = "pyats.tcl-22.7-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:cfa105572d5173ff914c7076060b0e12c0aa4661ab070e2fd916cf0360f6481d"}, - {file = "pyats.tcl-22.7-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:d1c66ea5483132c0510031cbe33d0896516a127052123dc7a93ea7f54142a850"}, - {file = "pyats.tcl-22.7-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:87a63d3121aa3806b116fe263460d913967a97084f3484312ff48f17008a48cc"}, - {file = "pyats.tcl-22.7-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:de90e71eadb852afe5353777c8c9f480cc238245c082fdc329576478d7540baa"}, - {file = "pyats.tcl-22.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9496c15c415c02682a69d756b0b0df9912fa5c815ca0b6b51de0dd231ee95f68"}, - {file = "pyats.tcl-22.7-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:f5778470ca7cf259d7d8462f822d07f609d3f044a92bcde82764f31aa6483553"}, - {file = "pyats.tcl-22.7-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:8bf3f5d3122ba02da68bebfdb91bf5a7138eb98d714b848965b9734906296e9f"}, - {file = "pyats.tcl-22.7-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:239b7d20151b51717bdfbf46d85861f79c09f8b07bcda647efcb8febffa0696a"}, - {file = "pyats.tcl-22.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8cf5062275fd51c1e4455d13a8684112e89cc634af41ab7ffbe94491f08f77ab"}, - {file = "pyats.tcl-22.7-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:2e0734fa6b19b5625dcc20775bc73aa18923537cdbd322cf5c1ae4e9f6f7348a"}, + {file = "pyats.tcl-23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:24ca5f22d37b6be1c9e6d34845aaccc795839772d8a1c67817ed4ad5d8173264"}, + {file = "pyats.tcl-23.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:a8e31a8724690aec82dc6f074e9be70836e2808b86fbf213a2e2f994086690d6"}, + {file = "pyats.tcl-23.1-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:779b048f28d395e2d9573f5b5111a804fe9268e93c1326968526185ace8ffa4e"}, + {file = "pyats.tcl-23.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:45ff03987724f554b9bf55a56fe6664beb9ac7223c883113cda2123b6a829e7f"}, + {file = "pyats.tcl-23.1-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:4284f3b81e7db431387f07a99925f122067101f363d2b87123eb51735431f211"}, + {file = "pyats.tcl-23.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6b00524bfd9204ffa67eb37043b9e62446f7788e1f9078f536ebfad099245596"}, + {file = "pyats.tcl-23.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:cee9b60b2422b78cae8b49920441961a3770ffcd47d7623351bc72cedd4287ed"}, + {file = "pyats.tcl-23.1-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:56ff22df4c0b75b5f6571191195dcc97b4f00f2d079ee3cdd2705fa03a88a6ec"}, + {file = "pyats.tcl-23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0ee2b66e0d9bc6661a10fec1d24c42c9bc1df7c98211b0814adaca213d12777b"}, + {file = "pyats.tcl-23.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:c66263501df19839ee99b946326892788865f0330827a54e0317f005b571bb33"}, + {file = "pyats.tcl-23.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:23b29b64dd836a22845e133cec34796ab7ffcad129526362b81df0141597cc1f"}, + {file = "pyats.tcl-23.1-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:5f660947d0c9541cae418872aaa233a85be017370a9f5f4964d8c1caeed8a992"}, + {file = "pyats.tcl-23.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eeffb3bb4175e3f6d136c5900efebddebe83be8450d8a75f24980e95f419757e"}, ] [package.dependencies] -"pyats.datastructures" = ">=22.7.0,<22.8.0" -"pyats.log" = ">=22.7.0,<22.8.0" +"pyats.datastructures" = ">=23.1.0,<23.2.0" +"pyats.log" = ">=23.1.0,<23.2.0" [package.extras] dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-topology" -version = "22.7" +version = "23.1" description = "pyATS Topology: Topology Objects and Testbed YAMLs" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.topology-22.7-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:13159ce19d13e14f458d2871af563d64f045f8ad6e578685cea85b835c6854d9"}, - {file = "pyats.topology-22.7-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:a1dfaabe427892ca58921cef205dc46be59797de51c5e5d7f566a8cd92910421"}, - {file = "pyats.topology-22.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d430053c6e3c3ac2fedf8af7d02a6ac0ce9a81127ae5c376f180617a5b7c8cb1"}, - {file = "pyats.topology-22.7-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:24e84fe61b3db12075770a13926b0eae705c7845d5467ffd6f0ac25fc12cc3ae"}, - {file = "pyats.topology-22.7-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:7ee08e86331df728909ac112da55950ae49abaf3b9b869764a4888a05c04312e"}, - {file = "pyats.topology-22.7-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:b1d7741290a2ad212c5bee795f2b0e2b18ccd0b0823a03548c5e7c607c99702e"}, - {file = "pyats.topology-22.7-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:d42f873b494f94c121cc33240dd98adf1540f0a150f3c2e1fc3637646cd81d0b"}, - {file = "pyats.topology-22.7-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:a2ed6a3b26648cc1f05f6d049b515604830f36418bc704f2cc8b4787c997b4aa"}, - {file = "pyats.topology-22.7-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:84b29a73d1e2bbbb09efa9c50227d7f9f230c18be60130fffcd7901007dc0187"}, - {file = "pyats.topology-22.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ae90db007937e38f964c01f711b60a71efea7953799f5818dfadbfdad14a9439"}, - {file = "pyats.topology-22.7-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:98fb35957f47ea11900822415b53831b76c845c6e5cac7afd9c37177ee9aa3d8"}, - {file = "pyats.topology-22.7-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:ab6b41397fff3a9803e8246603386550bf85b342dd45a87d73b8378e42cf825b"}, - {file = "pyats.topology-22.7-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:004209345b8cef5e9551f6cf28b26a54dceb7cab0d11d4348018f8adcd252d03"}, - {file = "pyats.topology-22.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:eb8265ab12dd0a6c4dbe0bad5cc0127c3cd9a720691636a373f9fe5fd80deee8"}, - {file = "pyats.topology-22.7-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:e04eea9aec9a057a4c037b1819b3225e6e4ad8f28dac1d3e3096ab4762e5c164"}, -] - -[package.dependencies] -"pyats.connections" = ">=22.7.0,<22.8.0" -"pyats.datastructures" = ">=22.7.0,<22.8.0" -"pyats.utils" = ">=22.7.0,<22.8.0" + {file = "pyats.topology-23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a91a3f0988188711026ca893dfb14d724bf3f7a1e646c385a3f5f2de09ee452d"}, + {file = "pyats.topology-23.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:5be04bcf1164af730c10338a49e2b0da47abd48c8ff657cea3e1e43f6580430e"}, + {file = "pyats.topology-23.1-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:6260940f8bf87882a021d971e0659b98dcf5c9f74e6f03fe9997495665b4ac15"}, + {file = "pyats.topology-23.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:dc45045041ba67efc78049703e82d1072b5505bd24b7e7aad21cbaff8ef0c14f"}, + {file = "pyats.topology-23.1-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:4641b698882e0d97e7f4f0343ddbff11b4a7141410037ac47a2db59d5ef25cdf"}, + {file = "pyats.topology-23.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c338e11f2462bbeb21d1506ae546e6275b9b8913fc73be7666a73de205d23845"}, + {file = "pyats.topology-23.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:49bba7192ed86eaf1bda5d741ac253a81b2defd4a20cc6817e3a46478beafab1"}, + {file = "pyats.topology-23.1-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:1f8353ca59799c178c968b90567549928773deb75ba6cd17316d21a2c66357fb"}, + {file = "pyats.topology-23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d189a77e3fcbc84be9337c4dee5f42e5f7571c3ab7e00fa00478af3829c6f199"}, + {file = "pyats.topology-23.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:24aca0c524b9e32afc1b6f218a5daf2f15b01060993b6446021e7663c4dd2ae2"}, + {file = "pyats.topology-23.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:14bd088c0e8c200d00bc082b313ed4a5abaf772df4e5a883b3153310cd479151"}, + {file = "pyats.topology-23.1-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:779d1bf7031c9236bbb9ae94c55798893b2f05333f47136c3c206a56658944fa"}, + {file = "pyats.topology-23.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:4f0f937c0a1cc033a6490b11483e941248fb95e350ee66c6c4615ba68c25eff3"}, +] + +[package.dependencies] +"pyats.connections" = ">=23.1.0,<23.2.0" +"pyats.datastructures" = ">=23.1.0,<23.2.0" +"pyats.utils" = ">=23.1.0,<23.2.0" pyyaml = "*" yamllint = "*" @@ -2196,34 +2143,32 @@ dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-utils" -version = "22.7" +version = "23.1" description = "pyATS Utils: Utilities Module" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.utils-22.7-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:6fb5d71ec802d9af6b4f55c0be64899f4c36b3c7f7a9c8b91b61c8ae5c90f727"}, - {file = "pyats.utils-22.7-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:81ed8c75673ce8404b227279302ec88fc423e54351d238923645391ca46587cb"}, - {file = "pyats.utils-22.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:39b1bb0714932cc1a3c7de8ceeba4b37610348ff55d83afe6e3ba3a239317e86"}, - {file = "pyats.utils-22.7-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:827ac08409344b98451d07b74cf747cf38063a686e7ecc06caeda91e993ec5cc"}, - {file = "pyats.utils-22.7-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:5ec41744d55a57bbcf0b1dedd6af9bd0cebf5c4515a647cdcfa756da5b62d5c0"}, - {file = "pyats.utils-22.7-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:9c68ff7495f502f7d2a6020b3cf709bfe961df6ff7f880b5099106325292c09d"}, - {file = "pyats.utils-22.7-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:7091806d4916f711e6023c880ab079a949b9e56e27500a27c38632711cd8a79a"}, - {file = "pyats.utils-22.7-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:0085dd2d1f932240e67003d930bcf81fefe0c086b09266ee9c4a09c643217504"}, - {file = "pyats.utils-22.7-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:ab2a91670ae3fbb70b4dcfcc8c9a5d9d794a9d3d1e19a3e7fe9c9b4e7d096ce9"}, - {file = "pyats.utils-22.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f4af8080de7b4ce0be326f9342ef042a9feb61bffb26a5f826ec4be0d14ec45b"}, - {file = "pyats.utils-22.7-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:8e517911247b9d913c3e918946d7dda2bc0d07cf10f6f2d867f07f5a36acd267"}, - {file = "pyats.utils-22.7-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:7515b48ccb4351a69db334b0251c9f59989c0476fc647316bc822b3ccc18a04e"}, - {file = "pyats.utils-22.7-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:52ffcfbaca33a8eb42230fa8e44240751c4849b64b4830388da4602615a1d7b3"}, - {file = "pyats.utils-22.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:eb8f1853b1d668b64c564d5f19f5e4cf3738a3895c6950eed798fd3bb0fcf83d"}, - {file = "pyats.utils-22.7-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:30087ad82a62baed43f2e22ee667e93d1e43f0504c65317e5c4b2dcbf5eb671c"}, + {file = "pyats.utils-23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:509eb7f89597a7343b7d4193a74efd801a46728d4df240568f395074e9b1eaa0"}, + {file = "pyats.utils-23.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:5c672ca28a4d8a909182c0b65a19648897b31a3fa606efb38fdad09ea29737f4"}, + {file = "pyats.utils-23.1-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:1bc5cb21aad8c09f2057d6b5467ac1843df442d58455ae5e0316d5756ebf17ab"}, + {file = "pyats.utils-23.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:c3636a8fd97a83b23a45ac13be15dc97180aa24b30a7ab6e7491d87c5d577f3c"}, + {file = "pyats.utils-23.1-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:d9bbb2281ba8ad27299a81979018f279c847b7b8c9458ceb285565ddba298169"}, + {file = "pyats.utils-23.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c4610e7c8804f62a9ddf92946f79d5e6acbf0a8dc139e9317f7336f8118bd582"}, + {file = "pyats.utils-23.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:dd3d118e252b86b2eae753ed14466de1f5806f3e74d2aac162ab716eda45a974"}, + {file = "pyats.utils-23.1-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:a0aa3e256ee1302cfdf3433bbd530c154811c30025e7ced3d4fe33363a67c47b"}, + {file = "pyats.utils-23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:54d71d0b25dc610051f5f6a84f2578ea7407b148d98c58ac8b015f17f257db31"}, + {file = "pyats.utils-23.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:6f4afbc0bac26d72cb5ee63689843ac1c1e3eb44d1681162280c4d60a6dc23a1"}, + {file = "pyats.utils-23.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:4d40ad44923b58ad851c819717f54055ba8f1f389f721b5975447d6d1887b7c1"}, + {file = "pyats.utils-23.1-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:9d2ab173dbd75638af195ee052c05d6266fe4f189ee975d17114ba63ceb98d36"}, + {file = "pyats.utils-23.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:78758936ef944b8326742362b7ffa085064e5c9932e6eb8b4c5386c358d615bf"}, ] [package.dependencies] cryptography = "*" distro = "*" -"pyats.datastructures" = ">=22.7.0,<22.8.0" -"pyats.topology" = ">=22.7.0,<22.8.0" +"pyats.datastructures" = ">=23.1.0,<23.2.0" +"pyats.topology" = ">=23.1.0,<23.2.0" [package.extras] dev = ["Sphinx", "requests-mock", "sphinx-rtd-theme"] @@ -2923,33 +2868,31 @@ files = [ [[package]] name = "unicon" -version = "22.7" +version = "23.1" description = "Unicon Connection Library" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "unicon-22.7-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:8fc159d22a7e631407f866504042b02f6502cde2dfc357cb638486b0139bd2d2"}, - {file = "unicon-22.7-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:64bdead37b23247d404468021cbff9b877a69d667053c8a17b0ded2edd91ce7b"}, - {file = "unicon-22.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e9ad98f25aff18eb4bb8192ddf6c0e575dd5145b8c20a50fcde0cc137353ec0c"}, - {file = "unicon-22.7-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:04122cec447a16029450121e51b34f41c9be1ad28f73e15ebb337dde11c49cfa"}, - {file = "unicon-22.7-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:263716260ec504ff62bf3023efe58bbaf40e27230931898d1bfb41be537983ae"}, - {file = "unicon-22.7-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:90fe634b9681fbf44c141db3b32ab879e56b863b1e4e79453d1521ac7d5c375f"}, - {file = "unicon-22.7-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:825c97a694d8a4187c1fc468624c0a2014cbd81f7d6982e268442a03306b55ad"}, - {file = "unicon-22.7-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:29c2d20ebd9800349c5d69794fea23795112b6dddae392736e127b0e2c7cbcc2"}, - {file = "unicon-22.7-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:ebb3ec1dec1d2ffcb38c58e265b92f99941ff5238fa3a1792be2bbdbcebad467"}, - {file = "unicon-22.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:110ed7f3a18231f28589b68eab67e2cfa667ac41a800e660b593ffaa2ac43a93"}, - {file = "unicon-22.7-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:77c87275b2113afa7d73b011fb7e9c657082d3ef2fe30daa595c80debd872063"}, - {file = "unicon-22.7-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:7944a8b464e23952aa949e8f211bb117cf7c7ac1be066a63e8122d25f63d70a0"}, - {file = "unicon-22.7-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:9bb9e588eb8cca2ab64eb0c4429a993385ddbd988a7d1196ed7c3533b48999f9"}, - {file = "unicon-22.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d4348f5121fdd9343bd0259a22965e3033da74f5eac9ddfce35ce954ed988bfa"}, - {file = "unicon-22.7-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:21feadaa4c96f505265edfe11efddd36e4b2a8e9d09e601e47607a906d146ab3"}, + {file = "unicon-23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:733fbfe3e1fa3a601299670d7e2199ab16e50e4ed13a4d387ee99e8a1a2841d7"}, + {file = "unicon-23.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:2d335732b07bf54393b9f2c4bd300fec1720c3c1d0147dbf38f59180913675d5"}, + {file = "unicon-23.1-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:4fea8f88be86717abbecf2b61978dcd30df6eb44549a084d66e7433785ea87e2"}, + {file = "unicon-23.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:695d6c3b6c8d3d456df3f8609ec8e547829faf32f02d1054859655f9cec666b8"}, + {file = "unicon-23.1-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:76a7376dd775c9c68a2cd09488de8ee70f7b3b5e9fb8113e0931e9a11a00fb33"}, + {file = "unicon-23.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:03aae74549c1c5ab8ae4a0747665653bda19c6573608342a499b501b8860cfcf"}, + {file = "unicon-23.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:0d4ad49ef0b2c658c823584df788456575c73ec6639f361672dd038293d693f6"}, + {file = "unicon-23.1-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:f54e3f812700c997ea1bcdaffd7f9e327571cfc94d5c4b84b292d16c41f419fd"}, + {file = "unicon-23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f6631e5c953996b08d9a3316dcbe4aa41aab5323216df09f73a1c4259df6d75a"}, + {file = "unicon-23.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:17e2f1a9ab82f8a5581587b3453dd621090e482c765395caba187666f457e05a"}, + {file = "unicon-23.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:e3bf45cc071795c974306fc83347b4fc43edd71c0bd7ca030c65f1fee508a780"}, + {file = "unicon-23.1-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:4cebbfde710583a481f04f6db687e66fad8c7d65edea9b5e72d61722519e3d0d"}, + {file = "unicon-23.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:bb58b66107fc4494d6677e6cd0ae825112c3f5bf76d2e6b8976f9bad96d1cabc"}, ] [package.dependencies] dill = "*" pyyaml = "*" -"unicon.plugins" = ">=22.7.0,<22.8.0" +"unicon.plugins" = ">=23.1.0,<23.2.0" [package.extras] dev = ["Sphinx", "cisco-distutils", "coverage", "restview", "sphinx-rtd-theme", "sphinxcontrib-mockautodoc", "sphinxcontrib-napoleon"] @@ -2958,19 +2901,19 @@ robot = ["robotframework"] [[package]] name = "unicon-plugins" -version = "22.7" +version = "23.1" description = "Unicon Connection Library Plugins" category = "dev" optional = false python-versions = "*" files = [ - {file = "unicon.plugins-22.7-py3-none-any.whl", hash = "sha256:6ab6564e03fee3635255e5f8b8a45d44eb2dcd4b9bb7799b042acdb67a6d8a8d"}, + {file = "unicon.plugins-23.1-py3-none-any.whl", hash = "sha256:cbd4e7f168fe2fefe934dfe265e85b229ec757f08df1aa95c70718602a1800af"}, ] [package.dependencies] PrettyTable = "*" pyyaml = "*" -unicon = ">=22.7.0,<22.8.0" +unicon = ">=23.1.0,<23.2.0" [package.extras] dev = ["Sphinx", "coverage", "pip", "restview", "setuptools", "sphinx-rtd-theme", "sphinxcontrib-mockautodoc", "sphinxcontrib-napoleon", "wheel"] @@ -3190,4 +3133,4 @@ testing = ["flake8 (<5)", "func-timeout", "jaraco.functools", "jaraco.itertools" [metadata] lock-version = "2.0" python-versions = ">=3.7,<4.0" -content-hash = "c193f3189878a05d8744a7ddd031499977f15fb3e53e64ee997119ac248ba407" +content-hash = "4437913d14428f7a000d0dd3319b62888c6c1dd444a121ef48e6b4ee1ab291ab" diff --git a/pyproject.toml b/pyproject.toml index e7aae7c31..50d8cfd43 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -44,6 +44,6 @@ types-paramiko = "3.0.0.2" types-PyYAML = "6.0.12.4" [tool.poetry.group.parsers.dependencies] -pyats = "22.7.1" -genie = "22.7" +pyats = ">=23.1" +genie = ">=23.1" ttp = ">=0.9.0" From de8e4c331bcbb5512c9f581ab446c03013c9b9e0 Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Thu, 16 Feb 2023 16:45:06 -0800 Subject: [PATCH 45/70] Fix broken linter setup (pylama) (#3119) --- netmiko/adva/adva_aos_fsp_150_f3.py | 10 +++++++--- netmiko/base_connection.py | 2 +- netmiko/fortinet/fortinet_ssh.py | 4 ++-- setup.cfg | 4 ++-- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/netmiko/adva/adva_aos_fsp_150_f3.py b/netmiko/adva/adva_aos_fsp_150_f3.py index 193f7e55b..23e32ec11 100644 --- a/netmiko/adva/adva_aos_fsp_150_f3.py +++ b/netmiko/adva/adva_aos_fsp_150_f3.py @@ -119,11 +119,15 @@ def send_config_set( enter_config_mode: bool = True, error_pattern: str = "", terminator: str = r"#", - bypass_commands: Optional[ - str - ] = r"(?:add\s+\S+\s+\S+\s+\S+\s+(?:superuser|crypto|maintenance|provisioning|retrieve|test-user)|secret.*)", + bypass_commands: Optional[str] = None, ) -> str: + if bypass_commands is None: + categories = ( + r"(?:superuser|crypto|maintenance|provisioning|retrieve|test-user)" + ) + bypass_commands = rf"(?:add\s+\S+\s+\S+\s+\S+\s+{categories}|secret.*)" + return super().send_config_set( config_commands=config_commands, exit_config_mode=exit_config_mode, diff --git a/netmiko/base_connection.py b/netmiko/base_connection.py index 38b5edd8e..63d2e597f 100644 --- a/netmiko/base_connection.py +++ b/netmiko/base_connection.py @@ -652,7 +652,7 @@ def read_until_pattern( output += self.read_channel() if re.search(pattern, output, flags=re_flags): - if "(" in pattern and not "(?:" in pattern: + if "(" in pattern and "(?:" not in pattern: msg = f""" Parenthesis found in pattern. diff --git a/netmiko/fortinet/fortinet_ssh.py b/netmiko/fortinet/fortinet_ssh.py index 6d07b5c7a..d2a7109c3 100644 --- a/netmiko/fortinet/fortinet_ssh.py +++ b/netmiko/fortinet/fortinet_ssh.py @@ -133,9 +133,9 @@ def _determine_os_version(self) -> str: output = self._send_command_str( check_command, expect_string=self.prompt_pattern ) - if re.search("^Version: .* (v[78]\.).*$", output, flags=re.M): + if re.search(r"^Version: .* (v[78]\.).*$", output, flags=re.M): return "v7_or_later" - elif re.search("^Version: .* (v[654]\.).*$", output, flags=re.M): + elif re.search(r"^Version: .* (v[654]\.).*$", output, flags=re.M): return "v6_or_earlier" else: raise ValueError("Unexpected FortiOS Version encountered.") diff --git a/setup.cfg b/setup.cfg index 14abcad89..a908b612b 100644 --- a/setup.cfg +++ b/setup.cfg @@ -5,11 +5,11 @@ universal = 0 license_file = LICENSE [pylama] -linters = mccabe,pep8,pyflakes +linters = mccabe,pycodestyle,pyflakes ignore = D203,C901 skip = build/*,.tox/*,netmiko/,examples/use_cases/*,.venv/* -[pylama:pep8] +[pylama:pycodestyle] max_line_length = 100 [tool:pytest] From f0351aca2d15373b8c7afb0ee82e3ffcf2f09e95 Mon Sep 17 00:00:00 2001 From: Bilal El Date: Sat, 18 Feb 2023 06:20:54 +0100 Subject: [PATCH 46/70] Add oneaccess autodetect support (#3108) --- netmiko/ssh_autodetect.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/netmiko/ssh_autodetect.py b/netmiko/ssh_autodetect.py index d84632df5..b17d520f2 100644 --- a/netmiko/ssh_autodetect.py +++ b/netmiko/ssh_autodetect.py @@ -288,6 +288,12 @@ "priority": 99, "dispatch": "_autodetect_std", }, + "oneaccess_oneos": { + "cmd": "show version", + "search_patterns": [r"OneOS"], + "priority": 99, + "dispatch": "_autodetect_std", + }, } # Sort SSH_MAPPER_DICT such that the most common commands are first From 91049bd4aeaf9c5656bbb381ca3da6215edccda7 Mon Sep 17 00:00:00 2001 From: David Date: Sun, 12 Mar 2023 20:16:22 +0100 Subject: [PATCH 47/70] ssh_autodetect fix for IOS XR (#3136) --- netmiko/ssh_autodetect.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/netmiko/ssh_autodetect.py b/netmiko/ssh_autodetect.py index b17d520f2..f32ebafb2 100644 --- a/netmiko/ssh_autodetect.py +++ b/netmiko/ssh_autodetect.py @@ -127,6 +127,12 @@ "priority": 99, "dispatch": "_autodetect_std", }, + "cisco_xr_2": { + "cmd": "show version brief", + "search_patterns": [r"Cisco IOS XR"], + "priority": 99, + "dispatch": "_autodetect_std", + }, "dell_force10": { "cmd": "show version", "search_patterns": [r"Real Time Operating System Software"], @@ -382,7 +388,9 @@ def autodetect(self) -> Union[str, None]: # WLC needs two different auto-dectect solutions if "cisco_wlc_85" in best_match[0]: best_match[0] = ("cisco_wlc", 99) - + # IOS XR needs two different auto-dectect solutions + if "cisco_xr_2" in best_match[0]: + best_match[0] = ("cisco_xr", 99) self.connection.disconnect() return best_match[0][0] From 8926230891dab9506b270f5c8ac830def4494c4c Mon Sep 17 00:00:00 2001 From: Robin Reinhardt <47597962+robinreinhardt@users.noreply.github.com> Date: Sun, 12 Mar 2023 20:20:43 +0100 Subject: [PATCH 48/70] add hp_procurve in ssh mapper dict for autodetect (#3132) Co-authored-by: Robin Reinhardt --- netmiko/ssh_autodetect.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/netmiko/ssh_autodetect.py b/netmiko/ssh_autodetect.py index f32ebafb2..6157ea948 100644 --- a/netmiko/ssh_autodetect.py +++ b/netmiko/ssh_autodetect.py @@ -178,6 +178,12 @@ "priority": 99, "dispatch": "_autodetect_std", }, + "hp_procurve": { + "cmd": "show version", + "search_patterns": [r"Image stamp.*/code/build"], + "priority": 99, + "dispatch": "_autodetect_std", + }, "huawei": { "cmd": "display version", "search_patterns": [ From 98db511def55e54029f3652010d3046c11896b61 Mon Sep 17 00:00:00 2001 From: sharteeya <38580996+sharteeya@users.noreply.github.com> Date: Wed, 15 Mar 2023 00:52:56 +0800 Subject: [PATCH 49/70] Fix missing logo issue in EXAMPLES.md (#3139) --- EXAMPLES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EXAMPLES.md b/EXAMPLES.md index 7d5c4ecd6..86d69aecd 100644 --- a/EXAMPLES.md +++ b/EXAMPLES.md @@ -1,4 +1,4 @@ - + Netmiko Examples ======= From d0f5d91abd2dfe959f639c3bcec2667eaa7e5f37 Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Wed, 29 Mar 2023 20:34:57 -0700 Subject: [PATCH 50/70] Pin to specific ubuntu version (#3153) --- .github/workflows/commit.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/commit.yaml b/.github/workflows/commit.yaml index 1b50a7bfe..49001579e 100644 --- a/.github/workflows/commit.yaml +++ b/.github/workflows/commit.yaml @@ -11,7 +11,7 @@ jobs: strategy: matrix: python-version: [ '3.10' ] - platform: [ubuntu-latest] + platform: [ubuntu-20.04] runs-on: ${{ matrix.platform }} steps: @@ -61,7 +61,7 @@ jobs: strategy: matrix: python-version: [ '3.7', '3.8', '3.9', '3.10' ] - platform: [ubuntu-latest] + platform: [ubuntu-20.04] runs-on: ${{ matrix.platform }} steps: From 2584ce123dbc98fa1df57669caa68034729e1d94 Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Tue, 11 Apr 2023 09:55:07 -0700 Subject: [PATCH 51/70] Fix Huawei save_config behavior (#3161) --- netmiko/huawei/huawei.py | 54 +++++++++++++++++++++++++++++++++++----- 1 file changed, 48 insertions(+), 6 deletions(-) diff --git a/netmiko/huawei/huawei.py b/netmiko/huawei/huawei.py index 154c4817c..f3753c181 100644 --- a/netmiko/huawei/huawei.py +++ b/netmiko/huawei/huawei.py @@ -11,6 +11,8 @@ class HuaweiBase(NoEnable, CiscoBaseConnection): + prompt_pattern = r"[\]>]" + def session_preparation(self) -> None: """Prepare the session after the connection has been established.""" self.ansi_escape_codes = True @@ -90,10 +92,48 @@ def set_base_prompt( def save_config( self, cmd: str = "save", confirm: bool = True, confirm_response: str = "y" ) -> str: - """Save Config for HuaweiSSH""" - return super().save_config( - cmd=cmd, confirm=confirm, confirm_response=confirm_response - ) + """Save Config for HuaweiSSH + + Expected behavior: + + ###################################################################### + Warning: The current configuration will be written to the device. + Are you sure to continue?[Y/N]:y + It will take several minutes to save configuration file, please wait..................... + Configuration file had been saved successfully + Note: The configuration file will take effect after being activated + ###################################################################### + """ + + # Huawei devices might break if you try to use send_command_timing() so use send_command() + # instead. + if confirm: + pattern = rf"(?:Are you sure|{self.prompt_pattern})" + output = self._send_command_str( + command_string=cmd, + expect_string=pattern, + strip_prompt=False, + strip_command=False, + read_timeout=100.0, + ) + if confirm_response and "Are you sure" in output: + output += self._send_command_str( + command_string=confirm_response, + expect_string=self.prompt_pattern, + strip_prompt=False, + strip_command=False, + read_timeout=100.0, + ) + # no confirm. + else: + # Some devices are slow so match on trailing-prompt if you can + output = self._send_command_str( + command_string=cmd, + strip_prompt=False, + strip_command=False, + read_timeout=100.0, + ) + return output def cleanup(self, command: str = "quit") -> None: return super().cleanup(command=command) @@ -106,11 +146,13 @@ def special_login_handler(self, delay_factor: float = 1.0) -> None: # Huawei prompts for password change before displaying the initial base prompt. # Search for that password change prompt or for base prompt. password_change_prompt = r"(Change now|Please choose)" - prompt_or_password_change = r"(?:Change now|Please choose|[>\]])" + prompt_or_password_change = ( + rf"(?:Change now|Please choose|{self.prompt_pattern})" + ) data = self.read_until_pattern(pattern=prompt_or_password_change) if re.search(password_change_prompt, data): self.write_channel("N" + self.RETURN) - self.read_until_pattern(pattern=r"[>\]]") + self.read_until_pattern(pattern=self.prompt_pattern) class HuaweiTelnet(HuaweiBase): From e77005594ffc1141967b07b0bcde2ee0044ecc3d Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Sun, 16 Apr 2023 19:56:59 -0700 Subject: [PATCH 52/70] Update dependencies for CI-CD (#3167) --- poetry.lock | 1044 ++++++++++++++++++++++++--------------------------- 1 file changed, 498 insertions(+), 546 deletions(-) diff --git a/poetry.lock b/poetry.lock index 3555ba451..62e2e0aa7 100644 --- a/poetry.lock +++ b/poetry.lock @@ -210,22 +210,25 @@ files = [ [[package]] name = "attrs" -version = "22.2.0" +version = "23.1.0" description = "Classes Without Boilerplate" category = "dev" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "attrs-22.2.0-py3-none-any.whl", hash = "sha256:29e95c7f6778868dbd49170f98f8818f78f3dc5e0e37c0b1f474e3561b240836"}, - {file = "attrs-22.2.0.tar.gz", hash = "sha256:c9227bfc2f01993c03f68db37d1d15c9690188323c067c641f1a35ca58185f99"}, + {file = "attrs-23.1.0-py3-none-any.whl", hash = "sha256:1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04"}, + {file = "attrs-23.1.0.tar.gz", hash = "sha256:6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015"}, ] +[package.dependencies] +importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} + [package.extras] -cov = ["attrs[tests]", "coverage-enable-subprocess", "coverage[toml] (>=5.3)"] -dev = ["attrs[docs,tests]"] -docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope.interface"] -tests = ["attrs[tests-no-zope]", "zope.interface"] -tests-no-zope = ["cloudpickle", "cloudpickle", "hypothesis", "hypothesis", "mypy (>=0.971,<0.990)", "mypy (>=0.971,<0.990)", "pympler", "pympler", "pytest (>=4.3.0)", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-mypy-plugins", "pytest-xdist[psutil]", "pytest-xdist[psutil]"] +cov = ["attrs[tests]", "coverage[toml] (>=5.3)"] +dev = ["attrs[docs,tests]", "pre-commit"] +docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope-interface"] +tests = ["attrs[tests-no-zope]", "zope-interface"] +tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] [[package]] name = "bcrypt" @@ -432,100 +435,87 @@ files = [ [[package]] name = "charset-normalizer" -version = "3.0.1" +version = "3.1.0" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." category = "dev" optional = false -python-versions = "*" -files = [ - {file = "charset-normalizer-3.0.1.tar.gz", hash = "sha256:ebea339af930f8ca5d7a699b921106c6e29c617fe9606fa7baa043c1cdae326f"}, - {file = "charset_normalizer-3.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:88600c72ef7587fe1708fd242b385b6ed4b8904976d5da0893e31df8b3480cb6"}, - {file = "charset_normalizer-3.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c75ffc45f25324e68ab238cb4b5c0a38cd1c3d7f1fb1f72b5541de469e2247db"}, - {file = "charset_normalizer-3.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:db72b07027db150f468fbada4d85b3b2729a3db39178abf5c543b784c1254539"}, - {file = "charset_normalizer-3.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62595ab75873d50d57323a91dd03e6966eb79c41fa834b7a1661ed043b2d404d"}, - {file = "charset_normalizer-3.0.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ff6f3db31555657f3163b15a6b7c6938d08df7adbfc9dd13d9d19edad678f1e8"}, - {file = "charset_normalizer-3.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:772b87914ff1152b92a197ef4ea40efe27a378606c39446ded52c8f80f79702e"}, - {file = "charset_normalizer-3.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70990b9c51340e4044cfc394a81f614f3f90d41397104d226f21e66de668730d"}, - {file = "charset_normalizer-3.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:292d5e8ba896bbfd6334b096e34bffb56161c81408d6d036a7dfa6929cff8783"}, - {file = "charset_normalizer-3.0.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:2edb64ee7bf1ed524a1da60cdcd2e1f6e2b4f66ef7c077680739f1641f62f555"}, - {file = "charset_normalizer-3.0.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:31a9ddf4718d10ae04d9b18801bd776693487cbb57d74cc3458a7673f6f34639"}, - {file = "charset_normalizer-3.0.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:44ba614de5361b3e5278e1241fda3dc1838deed864b50a10d7ce92983797fa76"}, - {file = "charset_normalizer-3.0.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:12db3b2c533c23ab812c2b25934f60383361f8a376ae272665f8e48b88e8e1c6"}, - {file = "charset_normalizer-3.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c512accbd6ff0270939b9ac214b84fb5ada5f0409c44298361b2f5e13f9aed9e"}, - {file = "charset_normalizer-3.0.1-cp310-cp310-win32.whl", hash = "sha256:502218f52498a36d6bf5ea77081844017bf7982cdbe521ad85e64cabee1b608b"}, - {file = "charset_normalizer-3.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:601f36512f9e28f029d9481bdaf8e89e5148ac5d89cffd3b05cd533eeb423b59"}, - {file = "charset_normalizer-3.0.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0298eafff88c99982a4cf66ba2efa1128e4ddaca0b05eec4c456bbc7db691d8d"}, - {file = "charset_normalizer-3.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a8d0fc946c784ff7f7c3742310cc8a57c5c6dc31631269876a88b809dbeff3d3"}, - {file = "charset_normalizer-3.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:87701167f2a5c930b403e9756fab1d31d4d4da52856143b609e30a1ce7160f3c"}, - {file = "charset_normalizer-3.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:14e76c0f23218b8f46c4d87018ca2e441535aed3632ca134b10239dfb6dadd6b"}, - {file = "charset_normalizer-3.0.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0c0a590235ccd933d9892c627dec5bc7511ce6ad6c1011fdf5b11363022746c1"}, - {file = "charset_normalizer-3.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8c7fe7afa480e3e82eed58e0ca89f751cd14d767638e2550c77a92a9e749c317"}, - {file = "charset_normalizer-3.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:79909e27e8e4fcc9db4addea88aa63f6423ebb171db091fb4373e3312cb6d603"}, - {file = "charset_normalizer-3.0.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8ac7b6a045b814cf0c47f3623d21ebd88b3e8cf216a14790b455ea7ff0135d18"}, - {file = "charset_normalizer-3.0.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:72966d1b297c741541ca8cf1223ff262a6febe52481af742036a0b296e35fa5a"}, - {file = "charset_normalizer-3.0.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:f9d0c5c045a3ca9bedfc35dca8526798eb91a07aa7a2c0fee134c6c6f321cbd7"}, - {file = "charset_normalizer-3.0.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:5995f0164fa7df59db4746112fec3f49c461dd6b31b841873443bdb077c13cfc"}, - {file = "charset_normalizer-3.0.1-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4a8fcf28c05c1f6d7e177a9a46a1c52798bfe2ad80681d275b10dcf317deaf0b"}, - {file = "charset_normalizer-3.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:761e8904c07ad053d285670f36dd94e1b6ab7f16ce62b9805c475b7aa1cffde6"}, - {file = "charset_normalizer-3.0.1-cp311-cp311-win32.whl", hash = "sha256:71140351489970dfe5e60fc621ada3e0f41104a5eddaca47a7acb3c1b851d6d3"}, - {file = "charset_normalizer-3.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:9ab77acb98eba3fd2a85cd160851816bfce6871d944d885febf012713f06659c"}, - {file = "charset_normalizer-3.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:84c3990934bae40ea69a82034912ffe5a62c60bbf6ec5bc9691419641d7d5c9a"}, - {file = "charset_normalizer-3.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:74292fc76c905c0ef095fe11e188a32ebd03bc38f3f3e9bcb85e4e6db177b7ea"}, - {file = "charset_normalizer-3.0.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c95a03c79bbe30eec3ec2b7f076074f4281526724c8685a42872974ef4d36b72"}, - {file = "charset_normalizer-3.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f4c39b0e3eac288fedc2b43055cfc2ca7a60362d0e5e87a637beac5d801ef478"}, - {file = "charset_normalizer-3.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df2c707231459e8a4028eabcd3cfc827befd635b3ef72eada84ab13b52e1574d"}, - {file = "charset_normalizer-3.0.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:93ad6d87ac18e2a90b0fe89df7c65263b9a99a0eb98f0a3d2e079f12a0735837"}, - {file = "charset_normalizer-3.0.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:59e5686dd847347e55dffcc191a96622f016bc0ad89105e24c14e0d6305acbc6"}, - {file = "charset_normalizer-3.0.1-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:cd6056167405314a4dc3c173943f11249fa0f1b204f8b51ed4bde1a9cd1834dc"}, - {file = "charset_normalizer-3.0.1-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:083c8d17153ecb403e5e1eb76a7ef4babfc2c48d58899c98fcaa04833e7a2f9a"}, - {file = "charset_normalizer-3.0.1-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:f5057856d21e7586765171eac8b9fc3f7d44ef39425f85dbcccb13b3ebea806c"}, - {file = "charset_normalizer-3.0.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:7eb33a30d75562222b64f569c642ff3dc6689e09adda43a082208397f016c39a"}, - {file = "charset_normalizer-3.0.1-cp36-cp36m-win32.whl", hash = "sha256:95dea361dd73757c6f1c0a1480ac499952c16ac83f7f5f4f84f0658a01b8ef41"}, - {file = "charset_normalizer-3.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:eaa379fcd227ca235d04152ca6704c7cb55564116f8bc52545ff357628e10602"}, - {file = "charset_normalizer-3.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3e45867f1f2ab0711d60c6c71746ac53537f1684baa699f4f668d4c6f6ce8e14"}, - {file = "charset_normalizer-3.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cadaeaba78750d58d3cc6ac4d1fd867da6fc73c88156b7a3212a3cd4819d679d"}, - {file = "charset_normalizer-3.0.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:911d8a40b2bef5b8bbae2e36a0b103f142ac53557ab421dc16ac4aafee6f53dc"}, - {file = "charset_normalizer-3.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:503e65837c71b875ecdd733877d852adbc465bd82c768a067badd953bf1bc5a3"}, - {file = "charset_normalizer-3.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a60332922359f920193b1d4826953c507a877b523b2395ad7bc716ddd386d866"}, - {file = "charset_normalizer-3.0.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:16a8663d6e281208d78806dbe14ee9903715361cf81f6d4309944e4d1e59ac5b"}, - {file = "charset_normalizer-3.0.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:a16418ecf1329f71df119e8a65f3aa68004a3f9383821edcb20f0702934d8087"}, - {file = "charset_normalizer-3.0.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:9d9153257a3f70d5f69edf2325357251ed20f772b12e593f3b3377b5f78e7ef8"}, - {file = "charset_normalizer-3.0.1-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:02a51034802cbf38db3f89c66fb5d2ec57e6fe7ef2f4a44d070a593c3688667b"}, - {file = "charset_normalizer-3.0.1-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:2e396d70bc4ef5325b72b593a72c8979999aa52fb8bcf03f701c1b03e1166918"}, - {file = "charset_normalizer-3.0.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:11b53acf2411c3b09e6af37e4b9005cba376c872503c8f28218c7243582df45d"}, - {file = "charset_normalizer-3.0.1-cp37-cp37m-win32.whl", hash = "sha256:0bf2dae5291758b6f84cf923bfaa285632816007db0330002fa1de38bfcb7154"}, - {file = "charset_normalizer-3.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:2c03cc56021a4bd59be889c2b9257dae13bf55041a3372d3295416f86b295fb5"}, - {file = "charset_normalizer-3.0.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:024e606be3ed92216e2b6952ed859d86b4cfa52cd5bc5f050e7dc28f9b43ec42"}, - {file = "charset_normalizer-3.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4b0d02d7102dd0f997580b51edc4cebcf2ab6397a7edf89f1c73b586c614272c"}, - {file = "charset_normalizer-3.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:358a7c4cb8ba9b46c453b1dd8d9e431452d5249072e4f56cfda3149f6ab1405e"}, - {file = "charset_normalizer-3.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:81d6741ab457d14fdedc215516665050f3822d3e56508921cc7239f8c8e66a58"}, - {file = "charset_normalizer-3.0.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8b8af03d2e37866d023ad0ddea594edefc31e827fee64f8de5611a1dbc373174"}, - {file = "charset_normalizer-3.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9cf4e8ad252f7c38dd1f676b46514f92dc0ebeb0db5552f5f403509705e24753"}, - {file = "charset_normalizer-3.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e696f0dd336161fca9adbb846875d40752e6eba585843c768935ba5c9960722b"}, - {file = "charset_normalizer-3.0.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c22d3fe05ce11d3671297dc8973267daa0f938b93ec716e12e0f6dee81591dc1"}, - {file = "charset_normalizer-3.0.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:109487860ef6a328f3eec66f2bf78b0b72400280d8f8ea05f69c51644ba6521a"}, - {file = "charset_normalizer-3.0.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:37f8febc8ec50c14f3ec9637505f28e58d4f66752207ea177c1d67df25da5aed"}, - {file = "charset_normalizer-3.0.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:f97e83fa6c25693c7a35de154681fcc257c1c41b38beb0304b9c4d2d9e164479"}, - {file = "charset_normalizer-3.0.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:a152f5f33d64a6be73f1d30c9cc82dfc73cec6477ec268e7c6e4c7d23c2d2291"}, - {file = "charset_normalizer-3.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:39049da0ffb96c8cbb65cbf5c5f3ca3168990adf3551bd1dee10c48fce8ae820"}, - {file = "charset_normalizer-3.0.1-cp38-cp38-win32.whl", hash = "sha256:4457ea6774b5611f4bed5eaa5df55f70abde42364d498c5134b7ef4c6958e20e"}, - {file = "charset_normalizer-3.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:e62164b50f84e20601c1ff8eb55620d2ad25fb81b59e3cd776a1902527a788af"}, - {file = "charset_normalizer-3.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8eade758719add78ec36dc13201483f8e9b5d940329285edcd5f70c0a9edbd7f"}, - {file = "charset_normalizer-3.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8499ca8f4502af841f68135133d8258f7b32a53a1d594aa98cc52013fff55678"}, - {file = "charset_normalizer-3.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3fc1c4a2ffd64890aebdb3f97e1278b0cc72579a08ca4de8cd2c04799a3a22be"}, - {file = "charset_normalizer-3.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:00d3ffdaafe92a5dc603cb9bd5111aaa36dfa187c8285c543be562e61b755f6b"}, - {file = "charset_normalizer-3.0.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c2ac1b08635a8cd4e0cbeaf6f5e922085908d48eb05d44c5ae9eabab148512ca"}, - {file = "charset_normalizer-3.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6f45710b4459401609ebebdbcfb34515da4fc2aa886f95107f556ac69a9147e"}, - {file = "charset_normalizer-3.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ae1de54a77dc0d6d5fcf623290af4266412a7c4be0b1ff7444394f03f5c54e3"}, - {file = "charset_normalizer-3.0.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3b590df687e3c5ee0deef9fc8c547d81986d9a1b56073d82de008744452d6541"}, - {file = "charset_normalizer-3.0.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab5de034a886f616a5668aa5d098af2b5385ed70142090e2a31bcbd0af0fdb3d"}, - {file = "charset_normalizer-3.0.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9cb3032517f1627cc012dbc80a8ec976ae76d93ea2b5feaa9d2a5b8882597579"}, - {file = "charset_normalizer-3.0.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:608862a7bf6957f2333fc54ab4399e405baad0163dc9f8d99cb236816db169d4"}, - {file = "charset_normalizer-3.0.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:0f438ae3532723fb6ead77e7c604be7c8374094ef4ee2c5e03a3a17f1fca256c"}, - {file = "charset_normalizer-3.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:356541bf4381fa35856dafa6a965916e54bed415ad8a24ee6de6e37deccf2786"}, - {file = "charset_normalizer-3.0.1-cp39-cp39-win32.whl", hash = "sha256:39cf9ed17fe3b1bc81f33c9ceb6ce67683ee7526e65fde1447c772afc54a1bb8"}, - {file = "charset_normalizer-3.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:0a11e971ed097d24c534c037d298ad32c6ce81a45736d31e0ff0ad37ab437d59"}, - {file = "charset_normalizer-3.0.1-py3-none-any.whl", hash = "sha256:7e189e2e1d3ed2f4aebabd2d5b0f931e883676e51c7624826e0a4e5fe8a0bf24"}, +python-versions = ">=3.7.0" +files = [ + {file = "charset-normalizer-3.1.0.tar.gz", hash = "sha256:34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e0ac8959c929593fee38da1c2b64ee9778733cdf03c482c9ff1d508b6b593b2b"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d7fc3fca01da18fbabe4625d64bb612b533533ed10045a2ac3dd194bfa656b60"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:04eefcee095f58eaabe6dc3cc2262f3bcd776d2c67005880894f447b3f2cb9c1"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20064ead0717cf9a73a6d1e779b23d149b53daf971169289ed2ed43a71e8d3b0"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1435ae15108b1cb6fffbcea2af3d468683b7afed0169ad718451f8db5d1aff6f"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c84132a54c750fda57729d1e2599bb598f5fa0344085dbde5003ba429a4798c0"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75f2568b4189dda1c567339b48cba4ac7384accb9c2a7ed655cd86b04055c795"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:11d3bcb7be35e7b1bba2c23beedac81ee893ac9871d0ba79effc7fc01167db6c"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:891cf9b48776b5c61c700b55a598621fdb7b1e301a550365571e9624f270c203"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:5f008525e02908b20e04707a4f704cd286d94718f48bb33edddc7d7b584dddc1"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:b06f0d3bf045158d2fb8837c5785fe9ff9b8c93358be64461a1089f5da983137"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:49919f8400b5e49e961f320c735388ee686a62327e773fa5b3ce6721f7e785ce"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:22908891a380d50738e1f978667536f6c6b526a2064156203d418f4856d6e86a"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-win32.whl", hash = "sha256:12d1a39aa6b8c6f6248bb54550efcc1c38ce0d8096a146638fd4738e42284448"}, + {file = "charset_normalizer-3.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:65ed923f84a6844de5fd29726b888e58c62820e0769b76565480e1fdc3d062f8"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9a3267620866c9d17b959a84dd0bd2d45719b817245e49371ead79ed4f710d19"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6734e606355834f13445b6adc38b53c0fd45f1a56a9ba06c2058f86893ae8017"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f8303414c7b03f794347ad062c0516cee0e15f7a612abd0ce1e25caf6ceb47df"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaf53a6cebad0eae578f062c7d462155eada9c172bd8c4d250b8c1d8eb7f916a"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3dc5b6a8ecfdc5748a7e429782598e4f17ef378e3e272eeb1340ea57c9109f41"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e1b25e3ad6c909f398df8921780d6a3d120d8c09466720226fc621605b6f92b1"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ca564606d2caafb0abe6d1b5311c2649e8071eb241b2d64e75a0d0065107e62"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b82fab78e0b1329e183a65260581de4375f619167478dddab510c6c6fb04d9b6"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bd7163182133c0c7701b25e604cf1611c0d87712e56e88e7ee5d72deab3e76b5"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:11d117e6c63e8f495412d37e7dc2e2fff09c34b2d09dbe2bee3c6229577818be"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:cf6511efa4801b9b38dc5546d7547d5b5c6ef4b081c60b23e4d941d0eba9cbeb"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:abc1185d79f47c0a7aaf7e2412a0eb2c03b724581139193d2d82b3ad8cbb00ac"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cb7b2ab0188829593b9de646545175547a70d9a6e2b63bf2cd87a0a391599324"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-win32.whl", hash = "sha256:c36bcbc0d5174a80d6cccf43a0ecaca44e81d25be4b7f90f0ed7bcfbb5a00909"}, + {file = "charset_normalizer-3.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:cca4def576f47a09a943666b8f829606bcb17e2bc2d5911a46c8f8da45f56755"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0c95f12b74681e9ae127728f7e5409cbbef9cd914d5896ef238cc779b8152373"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fca62a8301b605b954ad2e9c3666f9d97f63872aa4efcae5492baca2056b74ab"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac0aa6cd53ab9a31d397f8303f92c42f534693528fafbdb997c82bae6e477ad9"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c3af8e0f07399d3176b179f2e2634c3ce9c1301379a6b8c9c9aeecd481da494f"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a5fc78f9e3f501a1614a98f7c54d3969f3ad9bba8ba3d9b438c3bc5d047dd28"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:628c985afb2c7d27a4800bfb609e03985aaecb42f955049957814e0491d4006d"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:74db0052d985cf37fa111828d0dd230776ac99c740e1a758ad99094be4f1803d"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:1e8fcdd8f672a1c4fc8d0bd3a2b576b152d2a349782d1eb0f6b8e52e9954731d"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:04afa6387e2b282cf78ff3dbce20f0cc071c12dc8f685bd40960cc68644cfea6"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:dd5653e67b149503c68c4018bf07e42eeed6b4e956b24c00ccdf93ac79cdff84"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d2686f91611f9e17f4548dbf050e75b079bbc2a82be565832bc8ea9047b61c8c"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-win32.whl", hash = "sha256:4155b51ae05ed47199dc5b2a4e62abccb274cee6b01da5b895099b61b1982974"}, + {file = "charset_normalizer-3.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:322102cdf1ab682ecc7d9b1c5eed4ec59657a65e1c146a0da342b78f4112db23"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e633940f28c1e913615fd624fcdd72fdba807bf53ea6925d6a588e84e1151531"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3a06f32c9634a8705f4ca9946d667609f52cf130d5548881401f1eb2c39b1e2c"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7381c66e0561c5757ffe616af869b916c8b4e42b367ab29fedc98481d1e74e14"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3573d376454d956553c356df45bb824262c397c6e26ce43e8203c4c540ee0acb"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e89df2958e5159b811af9ff0f92614dabf4ff617c03a4c1c6ff53bf1c399e0e1"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:78cacd03e79d009d95635e7d6ff12c21eb89b894c354bd2b2ed0b4763373693b"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de5695a6f1d8340b12a5d6d4484290ee74d61e467c39ff03b39e30df62cf83a0"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c60b9c202d00052183c9be85e5eaf18a4ada0a47d188a83c8f5c5b23252f649"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f645caaf0008bacf349875a974220f1f1da349c5dbe7c4ec93048cdc785a3326"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:ea9f9c6034ea2d93d9147818f17c2a0860d41b71c38b9ce4d55f21b6f9165a11"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:80d1543d58bd3d6c271b66abf454d437a438dff01c3e62fdbcd68f2a11310d4b"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:73dc03a6a7e30b7edc5b01b601e53e7fc924b04e1835e8e407c12c037e81adbd"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6f5c2e7bc8a4bf7c426599765b1bd33217ec84023033672c1e9a8b35eaeaaaf8"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-win32.whl", hash = "sha256:12a2b561af122e3d94cdb97fe6fb2bb2b82cef0cdca131646fdb940a1eda04f0"}, + {file = "charset_normalizer-3.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:3160a0fd9754aab7d47f95a6b63ab355388d890163eb03b2d2b87ab0a30cfa59"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:38e812a197bf8e71a59fe55b757a84c1f946d0ac114acafaafaf21667a7e169e"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6baf0baf0d5d265fa7944feb9f7451cc316bfe30e8df1a61b1bb08577c554f31"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8f25e17ab3039b05f762b0a55ae0b3632b2e073d9c8fc88e89aca31a6198e88f"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3747443b6a904001473370d7810aa19c3a180ccd52a7157aacc264a5ac79265e"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b116502087ce8a6b7a5f1814568ccbd0e9f6cfd99948aa59b0e241dc57cf739f"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d16fd5252f883eb074ca55cb622bc0bee49b979ae4e8639fff6ca3ff44f9f854"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21fa558996782fc226b529fdd2ed7866c2c6ec91cee82735c98a197fae39f706"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6f6c7a8a57e9405cad7485f4c9d3172ae486cfef1344b5ddd8e5239582d7355e"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ac3775e3311661d4adace3697a52ac0bab17edd166087d493b52d4f4f553f9f0"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:10c93628d7497c81686e8e5e557aafa78f230cd9e77dd0c40032ef90c18f2230"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:6f4f4668e1831850ebcc2fd0b1cd11721947b6dc7c00bf1c6bd3c929ae14f2c7"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:0be65ccf618c1e7ac9b849c315cc2e8a8751d9cfdaa43027d4f6624bd587ab7e"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:53d0a3fa5f8af98a1e261de6a3943ca631c526635eb5817a87a59d9a57ebf48f"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-win32.whl", hash = "sha256:a04f86f41a8916fe45ac5024ec477f41f886b3c435da2d4e3d2709b22ab02af1"}, + {file = "charset_normalizer-3.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:830d2948a5ec37c386d3170c483063798d7879037492540f10a475e3fd6f244b"}, + {file = "charset_normalizer-3.1.0-py3-none-any.whl", hash = "sha256:3d9098b479e78c85080c98e1e35ff40b4a31d8953102bb0fd7d1b6f8a2111a3d"}, ] [[package]] @@ -558,35 +548,31 @@ files = [ [[package]] name = "cryptography" -version = "39.0.1" +version = "40.0.2" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." category = "main" optional = false python-versions = ">=3.6" files = [ - {file = "cryptography-39.0.1-cp36-abi3-macosx_10_12_universal2.whl", hash = "sha256:6687ef6d0a6497e2b58e7c5b852b53f62142cfa7cd1555795758934da363a965"}, - {file = "cryptography-39.0.1-cp36-abi3-macosx_10_12_x86_64.whl", hash = "sha256:706843b48f9a3f9b9911979761c91541e3d90db1ca905fd63fee540a217698bc"}, - {file = "cryptography-39.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:5d2d8b87a490bfcd407ed9d49093793d0f75198a35e6eb1a923ce1ee86c62b41"}, - {file = "cryptography-39.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83e17b26de248c33f3acffb922748151d71827d6021d98c70e6c1a25ddd78505"}, - {file = "cryptography-39.0.1-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e124352fd3db36a9d4a21c1aa27fd5d051e621845cb87fb851c08f4f75ce8be6"}, - {file = "cryptography-39.0.1-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:5aa67414fcdfa22cf052e640cb5ddc461924a045cacf325cd164e65312d99502"}, - {file = "cryptography-39.0.1-cp36-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:35f7c7d015d474f4011e859e93e789c87d21f6f4880ebdc29896a60403328f1f"}, - {file = "cryptography-39.0.1-cp36-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:f24077a3b5298a5a06a8e0536e3ea9ec60e4c7ac486755e5fb6e6ea9b3500106"}, - {file = "cryptography-39.0.1-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:f0c64d1bd842ca2633e74a1a28033d139368ad959872533b1bab8c80e8240a0c"}, - {file = "cryptography-39.0.1-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:0f8da300b5c8af9f98111ffd512910bc792b4c77392a9523624680f7956a99d4"}, - {file = "cryptography-39.0.1-cp36-abi3-win32.whl", hash = "sha256:fe913f20024eb2cb2f323e42a64bdf2911bb9738a15dba7d3cce48151034e3a8"}, - {file = "cryptography-39.0.1-cp36-abi3-win_amd64.whl", hash = "sha256:ced4e447ae29ca194449a3f1ce132ded8fcab06971ef5f618605aacaa612beac"}, - {file = "cryptography-39.0.1-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:807ce09d4434881ca3a7594733669bd834f5b2c6d5c7e36f8c00f691887042ad"}, - {file = "cryptography-39.0.1-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:c5caeb8188c24888c90b5108a441c106f7faa4c4c075a2bcae438c6e8ca73cef"}, - {file = "cryptography-39.0.1-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:4789d1e3e257965e960232345002262ede4d094d1a19f4d3b52e48d4d8f3b885"}, - {file = "cryptography-39.0.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:96f1157a7c08b5b189b16b47bc9db2332269d6680a196341bf30046330d15388"}, - {file = "cryptography-39.0.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:e422abdec8b5fa8462aa016786680720d78bdce7a30c652b7fadf83a4ba35336"}, - {file = "cryptography-39.0.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:b0afd054cd42f3d213bf82c629efb1ee5f22eba35bf0eec88ea9ea7304f511a2"}, - {file = "cryptography-39.0.1-pp39-pypy39_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:6f8ba7f0328b79f08bdacc3e4e66fb4d7aab0c3584e0bd41328dce5262e26b2e"}, - {file = "cryptography-39.0.1-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:ef8b72fa70b348724ff1218267e7f7375b8de4e8194d1636ee60510aae104cd0"}, - {file = "cryptography-39.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:aec5a6c9864be7df2240c382740fcf3b96928c46604eaa7f3091f58b878c0bb6"}, - {file = "cryptography-39.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:fdd188c8a6ef8769f148f88f859884507b954cc64db6b52f66ef199bb9ad660a"}, - {file = "cryptography-39.0.1.tar.gz", hash = "sha256:d1f6198ee6d9148405e49887803907fe8962a23e6c6f83ea7d98f1c0de375695"}, + {file = "cryptography-40.0.2-cp36-abi3-macosx_10_12_universal2.whl", hash = "sha256:8f79b5ff5ad9d3218afb1e7e20ea74da5f76943ee5edb7f76e56ec5161ec782b"}, + {file = "cryptography-40.0.2-cp36-abi3-macosx_10_12_x86_64.whl", hash = "sha256:05dc219433b14046c476f6f09d7636b92a1c3e5808b9a6536adf4932b3b2c440"}, + {file = "cryptography-40.0.2-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4df2af28d7bedc84fe45bd49bc35d710aede676e2a4cb7fc6d103a2adc8afe4d"}, + {file = "cryptography-40.0.2-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0dcca15d3a19a66e63662dc8d30f8036b07be851a8680eda92d079868f106288"}, + {file = "cryptography-40.0.2-cp36-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:a04386fb7bc85fab9cd51b6308633a3c271e3d0d3eae917eebab2fac6219b6d2"}, + {file = "cryptography-40.0.2-cp36-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:adc0d980fd2760c9e5de537c28935cc32b9353baaf28e0814df417619c6c8c3b"}, + {file = "cryptography-40.0.2-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:d5a1bd0e9e2031465761dfa920c16b0065ad77321d8a8c1f5ee331021fda65e9"}, + {file = "cryptography-40.0.2-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:a95f4802d49faa6a674242e25bfeea6fc2acd915b5e5e29ac90a32b1139cae1c"}, + {file = "cryptography-40.0.2-cp36-abi3-win32.whl", hash = "sha256:aecbb1592b0188e030cb01f82d12556cf72e218280f621deed7d806afd2113f9"}, + {file = "cryptography-40.0.2-cp36-abi3-win_amd64.whl", hash = "sha256:b12794f01d4cacfbd3177b9042198f3af1c856eedd0a98f10f141385c809a14b"}, + {file = "cryptography-40.0.2-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:142bae539ef28a1c76794cca7f49729e7c54423f615cfd9b0b1fa90ebe53244b"}, + {file = "cryptography-40.0.2-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:956ba8701b4ffe91ba59665ed170a2ebbdc6fc0e40de5f6059195d9f2b33ca0e"}, + {file = "cryptography-40.0.2-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:4f01c9863da784558165f5d4d916093737a75203a5c5286fde60e503e4276c7a"}, + {file = "cryptography-40.0.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:3daf9b114213f8ba460b829a02896789751626a2a4e7a43a28ee77c04b5e4958"}, + {file = "cryptography-40.0.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:48f388d0d153350f378c7f7b41497a54ff1513c816bcbbcafe5b829e59b9ce5b"}, + {file = "cryptography-40.0.2-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:c0764e72b36a3dc065c155e5b22f93df465da9c39af65516fe04ed3c68c92636"}, + {file = "cryptography-40.0.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:cbaba590180cba88cb99a5f76f90808a624f18b169b90a4abb40c1fd8c19420e"}, + {file = "cryptography-40.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7a38250f433cd41df7fcb763caa3ee9362777fdb4dc642b9a349721d2bf47404"}, + {file = "cryptography-40.0.2.tar.gz", hash = "sha256:c33c0d32b8594fa647d2e01dbccc303478e16fdd7cf98652d5b3ed11aa5e5c99"}, ] [package.dependencies] @@ -595,10 +581,10 @@ cffi = ">=1.12" [package.extras] docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.1.1)"] docstest = ["pyenchant (>=1.6.11)", "sphinxcontrib-spelling (>=4.0.1)", "twine (>=1.12.0)"] -pep8test = ["black", "check-manifest", "mypy", "ruff", "types-pytz", "types-requests"] +pep8test = ["black", "check-manifest", "mypy", "ruff"] sdist = ["setuptools-rust (>=0.11.4)"] ssh = ["bcrypt (>=3.1.5)"] -test = ["hypothesis (>=1.11.4,!=3.79.2)", "iso8601", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-shard (>=0.1.2)", "pytest-subtests", "pytest-xdist", "pytz"] +test = ["iso8601", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-shard (>=0.1.2)", "pytest-subtests", "pytest-xdist"] test-randomorder = ["pytest-randomly"] tox = ["tox"] @@ -738,36 +724,34 @@ files = [ [[package]] name = "genie" -version = "23.1" +version = "23.3" description = "Genie: THE standard pyATS Library System" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "genie-23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0011a751d4b422481c89dd754edc345d05d68b9530d14d1a69d2464dae9885c3"}, - {file = "genie-23.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:7050ae2d15e644dba6634b83d1e0920904e6df6f808951011102473669f7fffa"}, - {file = "genie-23.1-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:59d1af89ef6567d4383993c3c57eacfdea56c12543e6daf014907adaa76fef57"}, - {file = "genie-23.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:a99cd2ff472459f99577aec14949a4e0ebd412a14f4ca3b41297ccd9098f05d1"}, - {file = "genie-23.1-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:90ba6d93afc9d1bdb8b9ff4eaa1163f0d27857c29993006382d74b003cab9f1f"}, - {file = "genie-23.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:eb268f319279a7f7ca76f1b83779ccddddac1eb30d7cd15a056ae3c16dfc69ec"}, - {file = "genie-23.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:9a0724118b5c59e3989401c56d344a71e781a0f98f551ebe5a02956c20b39adc"}, - {file = "genie-23.1-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:3fe6074ca6dbf9f3cfa3a55d31690e310653207ace9891958f9438343378b2c0"}, - {file = "genie-23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6af9b3e118295293d89e54a540efd4254363f5af92715b96ab2fcac75f97fe8a"}, - {file = "genie-23.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:1349809f57309d45ece55985475b19b2be9d7e37f1450a9d54258a0795d36769"}, - {file = "genie-23.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:dda17da6786015915de2d5613c429881ab8c20a885ae3058407d4a914dadba96"}, - {file = "genie-23.1-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:36ca2d1e71e1cd72cc84c5ed26b02201ce531e4252d6a11ab2150363e8898f17"}, - {file = "genie-23.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:156282bbedfc52fc8ab2fa75bfebcf00ec8d008468d50d2dd102510c03d3d4cc"}, + {file = "genie-23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:59d9beec80f7f9c982d82d7e0d50360e82ae0a90f4a64ba5f623e3862df0c0d2"}, + {file = "genie-23.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:032f7152400307e050c15561764b259ea8e8e9485162f33bc64132ac45fda63a"}, + {file = "genie-23.3-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:ea59249a730630302d3e4995acc6be8fe4c5461069699ef54f3e83a101585805"}, + {file = "genie-23.3-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:e05527236792dac02b0f1468c90360139ab3655813a2a1c034ebbc30c77df2b3"}, + {file = "genie-23.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:35fa3f157d084b72252c2b0496fa1703ee499b13710b38f59786545d570d90be"}, + {file = "genie-23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b60504f12d3007098e9a90a88d9244675836ce8d83028c23bccf0641efa5d612"}, + {file = "genie-23.3-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:66c1d40947fa9a7f8a570b917f80d269aea55942836de9f69ae53d2b461497bf"}, + {file = "genie-23.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:4b953fadffc35a941e109506bf16bb83f4ba7c52148e466f0741612e2cb8d312"}, + {file = "genie-23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:df27a7a29e1faebfc992a809b40f74c5cd3444d3a24049195b5db068fae2b479"}, + {file = "genie-23.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:3b525480dae06e9742ed91c7b8bf73a8536a8d2e4b2acb91379de84b7b9d1d4c"}, + {file = "genie-23.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:8f574fa32288ed86fd8a5f50a1e7197d90fb0b24b67481ce573231eb45f6fc0e"}, ] [package.dependencies] dill = "*" -"genie.libs.clean" = ">=23.1.0,<23.2.0" -"genie.libs.conf" = ">=23.1.0,<23.2.0" -"genie.libs.filetransferutils" = ">=23.1.0,<23.2.0" -"genie.libs.health" = ">=23.1.0,<23.2.0" -"genie.libs.ops" = ">=23.1.0,<23.2.0" -"genie.libs.parser" = ">=23.1.0,<23.2.0" -"genie.libs.sdk" = ">=23.1.0,<23.2.0" +"genie.libs.clean" = ">=23.3.0,<23.4.0" +"genie.libs.conf" = ">=23.3.0,<23.4.0" +"genie.libs.filetransferutils" = ">=23.3.0,<23.4.0" +"genie.libs.health" = ">=23.3.0,<23.4.0" +"genie.libs.ops" = ">=23.3.0,<23.4.0" +"genie.libs.parser" = ">=23.3.0,<23.4.0" +"genie.libs.sdk" = ">=23.3.0,<23.4.0" jsonpickle = "*" netaddr = "*" PrettyTable = "*" @@ -775,18 +759,18 @@ tqdm = "*" [package.extras] dev = ["Sphinx", "coverage", "restview", "sphinx-rtd-theme"] -full = ["genie.libs.clean", "genie.libs.conf", "genie.libs.filetransferutils", "genie.libs.health", "genie.libs.ops", "genie.libs.parser", "genie.libs.robot (>=23.1.0,<23.2.0)", "genie.libs.sdk", "genie.telemetry (>=23.1.0,<23.2.0)", "genie.trafficgen (>=23.1.0,<23.2.0)", "pyats.robot (>=23.1.0,<23.2.0)"] -robot = ["genie.libs.robot (>=23.1.0,<23.2.0)", "pyats.robot (>=23.1.0,<23.2.0)"] +full = ["genie.libs.clean", "genie.libs.conf", "genie.libs.filetransferutils", "genie.libs.health", "genie.libs.ops", "genie.libs.parser", "genie.libs.robot (>=23.3.0,<23.4.0)", "genie.libs.sdk", "genie.telemetry (>=23.3.0,<23.4.0)", "genie.trafficgen (>=23.3.0,<23.4.0)", "pyats.robot (>=23.3.0,<23.4.0)"] +robot = ["genie.libs.robot (>=23.3.0,<23.4.0)", "pyats.robot (>=23.3.0,<23.4.0)"] [[package]] name = "genie-libs-clean" -version = "23.1" +version = "23.3" description = "Genie Library for device clean support" category = "dev" optional = false python-versions = "*" files = [ - {file = "genie.libs.clean-23.1-py3-none-any.whl", hash = "sha256:69607b339849823e2389608751d07686605db0b68cf51de740d2d09c03269e36"}, + {file = "genie.libs.clean-23.3-py3-none-any.whl", hash = "sha256:5f36adb30967da534dadec7ec998cee553393a3aa607c508416e046e0cd43ed9"}, ] [package.dependencies] @@ -799,13 +783,13 @@ dev = ["Sphinx", "coverage", "paramiko", "restview", "sphinx-rtd-theme", "sphinx [[package]] name = "genie-libs-conf" -version = "23.1" +version = "23.3" description = "Genie libs Conf: Libraries to configures topology through Python object attributes" category = "dev" optional = false python-versions = "*" files = [ - {file = "genie.libs.conf-23.1-py3-none-any.whl", hash = "sha256:7c2c00e4ee6ef4bb62362de331a82aae7cddf6aaf0f02682e1ea9fa3fd3f2255"}, + {file = "genie.libs.conf-23.3-py3-none-any.whl", hash = "sha256:35840cbf4b7be27eed05e69e46b53770d60a5a333ff347fb301d8f7c26a7f08b"}, ] [package.extras] @@ -813,13 +797,13 @@ dev = ["Sphinx", "coverage", "restview", "sphinx-rtd-theme"] [[package]] name = "genie-libs-filetransferutils" -version = "23.1" +version = "23.3" description = "Genie libs FileTransferUtils: Genie FileTransferUtils Libraries" category = "dev" optional = false python-versions = "*" files = [ - {file = "genie.libs.filetransferutils-23.1-py3-none-any.whl", hash = "sha256:fd743009919d70226efa2fd164520bc3142a09de858c4e895192750125cd41ec"}, + {file = "genie.libs.filetransferutils-23.3-py3-none-any.whl", hash = "sha256:2fa5eec5e0f7f4f3bf4e17245e1f1746fcb096daf96bd1bea69f3683f2d926aa"}, ] [package.dependencies] @@ -832,13 +816,13 @@ dev = ["Sphinx", "coverage", "restview", "sphinx-rtd-theme"] [[package]] name = "genie-libs-health" -version = "23.1" +version = "23.3" description = "pyATS Health Check for monitoring device health status" category = "dev" optional = false python-versions = "*" files = [ - {file = "genie.libs.health-23.1-py3-none-any.whl", hash = "sha256:ea90cc6c8ac44cea9f2b224270a7e1df3871372a0ab3d837ab324866cdf8dcec"}, + {file = "genie.libs.health-23.3-py3-none-any.whl", hash = "sha256:42403a7538b23ac34b13e827b69138b50a3dd0fc07e0ef8819f35f3252869009"}, ] [package.dependencies] @@ -851,13 +835,13 @@ dev = ["Sphinx", "coverage", "paramiko", "restview", "sphinx-rtd-theme", "sphinx [[package]] name = "genie-libs-ops" -version = "23.1" +version = "23.3" description = "Genie libs Ops: Libraries to retrieve operational state of the topology" category = "dev" optional = false python-versions = "*" files = [ - {file = "genie.libs.ops-23.1-py3-none-any.whl", hash = "sha256:95c9c08cf0ef62ab6f11b79b83499d03a53907b05debaf2da3299cd1c39a1a16"}, + {file = "genie.libs.ops-23.3-py3-none-any.whl", hash = "sha256:87dc3624054ebf196223aaaccf0c3c00d1edfc4992ee4b852557e9badf0cd862"}, ] [package.extras] @@ -865,13 +849,13 @@ dev = ["Sphinx", "coverage", "restview", "sphinx-rtd-theme"] [[package]] name = "genie-libs-parser" -version = "23.1" +version = "23.3" description = "Genie libs Parser: Genie Parser Libraries" category = "dev" optional = false python-versions = "*" files = [ - {file = "genie.libs.parser-23.1-py3-none-any.whl", hash = "sha256:e6bc5ba58681e776215a127d00ec3c4f37c0abae47be8c2726ee192df8e501c8"}, + {file = "genie.libs.parser-23.3-py3-none-any.whl", hash = "sha256:69d0eaefd9432cef4f0ad05f30d418f61b5677931f25043feaa5de7e4f389abe"}, ] [package.dependencies] @@ -882,13 +866,13 @@ dev = ["Sphinx", "coverage", "restview", "sphinx-rtd-theme"] [[package]] name = "genie-libs-sdk" -version = "23.1" +version = "23.3" description = "Genie libs sdk: Libraries containing all Triggers and Verifications" category = "dev" optional = false python-versions = "*" files = [ - {file = "genie.libs.sdk-23.1-py3-none-any.whl", hash = "sha256:f0ec9ed04d8cb57861c690685a3b7731041bf56667f9b51492d1f9871eccb650"}, + {file = "genie.libs.sdk-23.3-py3-none-any.whl", hash = "sha256:72b44a1c7047596fb8e3c462c659e9ff26ce0556cd0b0593fadcc1456d70bffe"}, ] [package.dependencies] @@ -915,14 +899,14 @@ smmap = ">=3.0.1,<6" [[package]] name = "gitpython" -version = "3.1.30" -description = "GitPython is a python library used to interact with Git repositories" +version = "3.1.31" +description = "GitPython is a Python library used to interact with Git repositories" category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "GitPython-3.1.30-py3-none-any.whl", hash = "sha256:cd455b0000615c60e286208ba540271af9fe531fa6a87cc590a7298785ab2882"}, - {file = "GitPython-3.1.30.tar.gz", hash = "sha256:769c2d83e13f5d938b7688479da374c4e3d49f71549aaf462b646db9602ea6f8"}, + {file = "GitPython-3.1.31-py3-none-any.whl", hash = "sha256:f04893614f6aa713a60cbbe1e6a97403ef633103cdd0ef5eb6efe0deb98dbe8d"}, + {file = "GitPython-3.1.31.tar.gz", hash = "sha256:8ce3bcf69adfdf7c7d503e78fd3b1c492af782d58893b650adb2ac8912ddd573"}, ] [package.dependencies] @@ -931,61 +915,61 @@ typing-extensions = {version = ">=3.7.4.3", markers = "python_version < \"3.8\"" [[package]] name = "grpcio" -version = "1.51.1" +version = "1.53.0" description = "HTTP/2-based RPC framework" category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "grpcio-1.51.1-cp310-cp310-linux_armv7l.whl", hash = "sha256:cc2bece1737b44d878cc1510ea04469a8073dbbcdd762175168937ae4742dfb3"}, - {file = "grpcio-1.51.1-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:e223a9793522680beae44671b9ed8f6d25bbe5ddf8887e66aebad5e0686049ef"}, - {file = "grpcio-1.51.1-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:24ac1154c4b2ab4a0c5326a76161547e70664cd2c39ba75f00fc8a2170964ea2"}, - {file = "grpcio-1.51.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e4ef09f8997c4be5f3504cefa6b5c6cc3cf648274ce3cede84d4342a35d76db6"}, - {file = "grpcio-1.51.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8a0b77e992c64880e6efbe0086fe54dfc0bbd56f72a92d9e48264dcd2a3db98"}, - {file = "grpcio-1.51.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:eacad297ea60c72dd280d3353d93fb1dcca952ec11de6bb3c49d12a572ba31dd"}, - {file = "grpcio-1.51.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:16c71740640ba3a882f50b01bf58154681d44b51f09a5728180a8fdc66c67bd5"}, - {file = "grpcio-1.51.1-cp310-cp310-win32.whl", hash = "sha256:29cb97d41a4ead83b7bcad23bdb25bdd170b1e2cba16db6d3acbb090bc2de43c"}, - {file = "grpcio-1.51.1-cp310-cp310-win_amd64.whl", hash = "sha256:9ff42c5620b4e4530609e11afefa4a62ca91fa0abb045a8957e509ef84e54d30"}, - {file = "grpcio-1.51.1-cp311-cp311-linux_armv7l.whl", hash = "sha256:bc59f7ba87972ab236f8669d8ca7400f02a0eadf273ca00e02af64d588046f02"}, - {file = "grpcio-1.51.1-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:3c2b3842dcf870912da31a503454a33a697392f60c5e2697c91d133130c2c85d"}, - {file = "grpcio-1.51.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22b011674090594f1f3245960ced7386f6af35485a38901f8afee8ad01541dbd"}, - {file = "grpcio-1.51.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49d680356a975d9c66a678eb2dde192d5dc427a7994fb977363634e781614f7c"}, - {file = "grpcio-1.51.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:094e64236253590d9d4075665c77b329d707b6fca864dd62b144255e199b4f87"}, - {file = "grpcio-1.51.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:257478300735ce3c98d65a930bbda3db172bd4e00968ba743e6a1154ea6edf10"}, - {file = "grpcio-1.51.1-cp311-cp311-win32.whl", hash = "sha256:5a6ebcdef0ef12005d56d38be30f5156d1cb3373b52e96f147f4a24b0ddb3a9d"}, - {file = "grpcio-1.51.1-cp311-cp311-win_amd64.whl", hash = "sha256:3f9b0023c2c92bebd1be72cdfca23004ea748be1813a66d684d49d67d836adde"}, - {file = "grpcio-1.51.1-cp37-cp37m-linux_armv7l.whl", hash = "sha256:cd3baccea2bc5c38aeb14e5b00167bd4e2373a373a5e4d8d850bd193edad150c"}, - {file = "grpcio-1.51.1-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:17ec9b13cec4a286b9e606b48191e560ca2f3bbdf3986f91e480a95d1582e1a7"}, - {file = "grpcio-1.51.1-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:fbdbe9a849854fe484c00823f45b7baab159bdd4a46075302281998cb8719df5"}, - {file = "grpcio-1.51.1-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:31bb6bc7ff145e2771c9baf612f4b9ebbc9605ccdc5f3ff3d5553de7fc0e0d79"}, - {file = "grpcio-1.51.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e473525c28251558337b5c1ad3fa969511e42304524a4e404065e165b084c9e4"}, - {file = "grpcio-1.51.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:6f0b89967ee11f2b654c23b27086d88ad7bf08c0b3c2a280362f28c3698b2896"}, - {file = "grpcio-1.51.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:7942b32a291421460d6a07883033e392167d30724aa84987e6956cd15f1a21b9"}, - {file = "grpcio-1.51.1-cp37-cp37m-win32.whl", hash = "sha256:f96ace1540223f26fbe7c4ebbf8a98e3929a6aa0290c8033d12526847b291c0f"}, - {file = "grpcio-1.51.1-cp37-cp37m-win_amd64.whl", hash = "sha256:f1fec3abaf274cdb85bf3878167cfde5ad4a4d97c68421afda95174de85ba813"}, - {file = "grpcio-1.51.1-cp38-cp38-linux_armv7l.whl", hash = "sha256:0e1a9e1b4a23808f1132aa35f968cd8e659f60af3ffd6fb00bcf9a65e7db279f"}, - {file = "grpcio-1.51.1-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:6df3b63538c362312bc5fa95fb965069c65c3ea91d7ce78ad9c47cab57226f54"}, - {file = "grpcio-1.51.1-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:172405ca6bdfedd6054c74c62085946e45ad4d9cec9f3c42b4c9a02546c4c7e9"}, - {file = "grpcio-1.51.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:506b9b7a4cede87d7219bfb31014d7b471cfc77157da9e820a737ec1ea4b0663"}, - {file = "grpcio-1.51.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0fb93051331acbb75b49a2a0fd9239c6ba9528f6bdc1dd400ad1cb66cf864292"}, - {file = "grpcio-1.51.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5dca372268c6ab6372d37d6b9f9343e7e5b4bc09779f819f9470cd88b2ece3c3"}, - {file = "grpcio-1.51.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:471d39d3370ca923a316d49c8aac66356cea708a11e647e3bdc3d0b5de4f0a40"}, - {file = "grpcio-1.51.1-cp38-cp38-win32.whl", hash = "sha256:75e29a90dc319f0ad4d87ba6d20083615a00d8276b51512e04ad7452b5c23b04"}, - {file = "grpcio-1.51.1-cp38-cp38-win_amd64.whl", hash = "sha256:f1158bccbb919da42544a4d3af5d9296a3358539ffa01018307337365a9a0c64"}, - {file = "grpcio-1.51.1-cp39-cp39-linux_armv7l.whl", hash = "sha256:59dffade859f157bcc55243714d57b286da6ae16469bf1ac0614d281b5f49b67"}, - {file = "grpcio-1.51.1-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:dad6533411d033b77f5369eafe87af8583178efd4039c41d7515d3336c53b4f1"}, - {file = "grpcio-1.51.1-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:4c4423ea38a7825b8fed8934d6d9aeebdf646c97e3c608c3b0bcf23616f33877"}, - {file = "grpcio-1.51.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0dc5354e38e5adf2498312f7241b14c7ce3484eefa0082db4297189dcbe272e6"}, - {file = "grpcio-1.51.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97d67983189e2e45550eac194d6234fc38b8c3b5396c153821f2d906ed46e0ce"}, - {file = "grpcio-1.51.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:538d981818e49b6ed1e9c8d5e5adf29f71c4e334e7d459bf47e9b7abb3c30e09"}, - {file = "grpcio-1.51.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9235dcd5144a83f9ca6f431bd0eccc46b90e2c22fe27b7f7d77cabb2fb515595"}, - {file = "grpcio-1.51.1-cp39-cp39-win32.whl", hash = "sha256:aacb54f7789ede5cbf1d007637f792d3e87f1c9841f57dd51abf89337d1b8472"}, - {file = "grpcio-1.51.1-cp39-cp39-win_amd64.whl", hash = "sha256:2b170eaf51518275c9b6b22ccb59450537c5a8555326fd96ff7391b5dd75303c"}, - {file = "grpcio-1.51.1.tar.gz", hash = "sha256:e6dfc2b6567b1c261739b43d9c59d201c1b89e017afd9e684d85aa7a186c9f7a"}, -] - -[package.extras] -protobuf = ["grpcio-tools (>=1.51.1)"] + {file = "grpcio-1.53.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:752d2949b40e12e6ad3ed8cc552a65b54d226504f6b1fb67cab2ccee502cc06f"}, + {file = "grpcio-1.53.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:8a48fd3a7222be226bb86b7b413ad248f17f3101a524018cdc4562eeae1eb2a3"}, + {file = "grpcio-1.53.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:f3e837d29f0e1b9d6e7b29d569e2e9b0da61889e41879832ea15569c251c303a"}, + {file = "grpcio-1.53.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aef7d30242409c3aa5839b501e877e453a2c8d3759ca8230dd5a21cda029f046"}, + {file = "grpcio-1.53.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e6f90698b5d1c5dd7b3236cd1fa959d7b80e17923f918d5be020b65f1c78b173"}, + {file = "grpcio-1.53.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:a96c3c7f564b263c5d7c0e49a337166c8611e89c4c919f66dba7b9a84abad137"}, + {file = "grpcio-1.53.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ee81349411648d1abc94095c68cd25e3c2812e4e0367f9a9355be1e804a5135c"}, + {file = "grpcio-1.53.0-cp310-cp310-win32.whl", hash = "sha256:fdc6191587de410a184550d4143e2b24a14df495c86ca15e59508710681690ac"}, + {file = "grpcio-1.53.0-cp310-cp310-win_amd64.whl", hash = "sha256:658ffe1e39171be00490db5bd3b966f79634ac4215a1eb9a85c6cd6783bf7f6e"}, + {file = "grpcio-1.53.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:1b172e6d497191940c4b8d75b53de82dc252e15b61de2951d577ec5b43316b29"}, + {file = "grpcio-1.53.0-cp311-cp311-macosx_10_10_universal2.whl", hash = "sha256:82434ba3a5935e47908bc861ce1ebc43c2edfc1001d235d6e31e5d3ed55815f7"}, + {file = "grpcio-1.53.0-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:1c734a2d4843e4e14ececf5600c3c4750990ec319e1299db7e4f0d02c25c1467"}, + {file = "grpcio-1.53.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b6a2ead3de3b2d53119d473aa2f224030257ef33af1e4ddabd4afee1dea5f04c"}, + {file = "grpcio-1.53.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a34d6e905f071f9b945cabbcc776e2055de1fdb59cd13683d9aa0a8f265b5bf9"}, + {file = "grpcio-1.53.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eaf8e3b97caaf9415227a3c6ca5aa8d800fecadd526538d2bf8f11af783f1550"}, + {file = "grpcio-1.53.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:da95778d37be8e4e9afca771a83424f892296f5dfb2a100eda2571a1d8bbc0dc"}, + {file = "grpcio-1.53.0-cp311-cp311-win32.whl", hash = "sha256:e4f513d63df6336fd84b74b701f17d1bb3b64e9d78a6ed5b5e8a198bbbe8bbfa"}, + {file = "grpcio-1.53.0-cp311-cp311-win_amd64.whl", hash = "sha256:ddb2511fbbb440ed9e5c9a4b9b870f2ed649b7715859fd6f2ebc585ee85c0364"}, + {file = "grpcio-1.53.0-cp37-cp37m-linux_armv7l.whl", hash = "sha256:2a912397eb8d23c177d6d64e3c8bc46b8a1c7680b090d9f13a640b104aaec77c"}, + {file = "grpcio-1.53.0-cp37-cp37m-macosx_10_10_universal2.whl", hash = "sha256:55930c56b8f5b347d6c8c609cc341949a97e176c90f5cbb01d148d778f3bbd23"}, + {file = "grpcio-1.53.0-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:6601d812105583948ab9c6e403a7e2dba6e387cc678c010e74f2d6d589d1d1b3"}, + {file = "grpcio-1.53.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c705e0c21acb0e8478a00e7e773ad0ecdb34bd0e4adc282d3d2f51ba3961aac7"}, + {file = "grpcio-1.53.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba074af9ca268ad7b05d3fc2b920b5fb3c083da94ab63637aaf67f4f71ecb755"}, + {file = "grpcio-1.53.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:14817de09317dd7d3fbc8272864288320739973ef0f4b56bf2c0032349da8cdf"}, + {file = "grpcio-1.53.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:c7ad9fbedb93f331c2e9054e202e95cf825b885811f1bcbbdfdc301e451442db"}, + {file = "grpcio-1.53.0-cp37-cp37m-win_amd64.whl", hash = "sha256:dad5b302a4c21c604d88a5d441973f320134e6ff6a84ecef9c1139e5ffd466f6"}, + {file = "grpcio-1.53.0-cp38-cp38-linux_armv7l.whl", hash = "sha256:fa8eaac75d3107e3f5465f2c9e3bbd13db21790c6e45b7de1756eba16b050aca"}, + {file = "grpcio-1.53.0-cp38-cp38-macosx_10_10_universal2.whl", hash = "sha256:104a2210edd3776c38448b4f76c2f16e527adafbde171fc72a8a32976c20abc7"}, + {file = "grpcio-1.53.0-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:dbc1ba968639c1d23476f75c356e549e7bbf2d8d6688717dcab5290e88e8482b"}, + {file = "grpcio-1.53.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:95952d3fe795b06af29bb8ec7bbf3342cdd867fc17b77cc25e6733d23fa6c519"}, + {file = "grpcio-1.53.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f144a790f14c51b8a8e591eb5af40507ffee45ea6b818c2482f0457fec2e1a2e"}, + {file = "grpcio-1.53.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:0698c094688a2dd4c7c2f2c0e3e142cac439a64d1cef6904c97f6cde38ba422f"}, + {file = "grpcio-1.53.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6b6d60b0958be711bab047e9f4df5dbbc40367955f8651232bfdcdd21450b9ab"}, + {file = "grpcio-1.53.0-cp38-cp38-win32.whl", hash = "sha256:1948539ce78805d4e6256ab0e048ec793956d54787dc9d6777df71c1d19c7f81"}, + {file = "grpcio-1.53.0-cp38-cp38-win_amd64.whl", hash = "sha256:df9ba1183b3f649210788cf80c239041dddcb375d6142d8bccafcfdf549522cd"}, + {file = "grpcio-1.53.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:19caa5b7282a89b799e63776ff602bb39604f7ca98db6df27e2de06756ae86c3"}, + {file = "grpcio-1.53.0-cp39-cp39-macosx_10_10_universal2.whl", hash = "sha256:b5bd026ac928c96cc23149e6ef79183125542062eb6d1ccec34c0a37e02255e7"}, + {file = "grpcio-1.53.0-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:7dc8584ca6c015ad82e186e82f4c0fe977394588f66b8ecfc4ec873285314619"}, + {file = "grpcio-1.53.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2eddaae8af625e45b5c8500dcca1043264d751a6872cde2eda5022df8a336959"}, + {file = "grpcio-1.53.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5fb6f3d7824696c1c9f2ad36ddb080ba5a86f2d929ef712d511b4d9972d3d27"}, + {file = "grpcio-1.53.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:8270d1dc2c98ab57e6dbf36fa187db8df4c036f04a398e5d5e25b4e01a766d70"}, + {file = "grpcio-1.53.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:976a7f24eb213e8429cab78d5e120500dfcdeb01041f1f5a77b17b9101902615"}, + {file = "grpcio-1.53.0-cp39-cp39-win32.whl", hash = "sha256:9c84a481451e7174f3a764a44150f93b041ab51045aa33d7b5b68b6979114e48"}, + {file = "grpcio-1.53.0-cp39-cp39-win_amd64.whl", hash = "sha256:6beb84f83360ff29a3654f43f251ec11b809dcb5524b698d711550243debd289"}, + {file = "grpcio-1.53.0.tar.gz", hash = "sha256:a4952899b4931a6ba12951f9a141ef3e74ff8a6ec9aa2dc602afa40f63595e33"}, +] + +[package.extras] +protobuf = ["grpcio-tools (>=1.53.0)"] [[package]] name = "idna" @@ -1201,14 +1185,14 @@ testing = ["pytest"] [[package]] name = "markdown" -version = "3.4.1" -description = "Python implementation of Markdown." +version = "3.4.3" +description = "Python implementation of John Gruber's Markdown." category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "Markdown-3.4.1-py3-none-any.whl", hash = "sha256:08fb8465cffd03d10b9dd34a5c3fea908e20391a2a90b88d66362cb05beed186"}, - {file = "Markdown-3.4.1.tar.gz", hash = "sha256:3b809086bb6efad416156e00a0da66fe47618a5d6918dd688f53f40c8e4cfeff"}, + {file = "Markdown-3.4.3-py3-none-any.whl", hash = "sha256:065fd4df22da73a625f14890dd77eb8040edcbd68794bcd35943be14490608b2"}, + {file = "Markdown-3.4.3.tar.gz", hash = "sha256:8bf101198e004dc93e84a12a7395e31aac6a9c9942848ae1d99b9d72cf9b3520"}, ] [package.dependencies] @@ -1464,14 +1448,14 @@ files = [ [[package]] name = "ntc-templates" -version = "3.2.0" +version = "3.3.0" description = "TextFSM Templates for Network Devices, and Python wrapper for TextFSM's CliTable." category = "main" optional = false python-versions = ">=3.7,<4.0" files = [ - {file = "ntc_templates-3.2.0-py3-none-any.whl", hash = "sha256:5aa31eafb1eeb2f58ccab1f4c099c9dd15382a67bab9c3218eab5ffe33183cbb"}, - {file = "ntc_templates-3.2.0.tar.gz", hash = "sha256:ee6abdfef0dd06ba2921b61d6f3321f8dfbdfdccf4a46853703cf7fa393664bc"}, + {file = "ntc_templates-3.3.0-py3-none-any.whl", hash = "sha256:b0941824212ae50668cf9b882e848512d09487128a491909eab9afc30f808a85"}, + {file = "ntc_templates-3.3.0.tar.gz", hash = "sha256:a74014431715c2029a2d0f065bca447312d55171cea191db1189689ea076b82d"}, ] [package.dependencies] @@ -1479,26 +1463,26 @@ textfsm = ">=1.1.0,<2.0.0" [[package]] name = "packaging" -version = "23.0" +version = "23.1" description = "Core utilities for Python packages" category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "packaging-23.0-py3-none-any.whl", hash = "sha256:714ac14496c3e68c99c29b00845f7a2b85f3bb6f1078fd9f72fd20f0570002b2"}, - {file = "packaging-23.0.tar.gz", hash = "sha256:b6ad297f8907de0fa2fe1ccbd26fdaf387f5f47c7275fedf8cce89f99446cf97"}, + {file = "packaging-23.1-py3-none-any.whl", hash = "sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61"}, + {file = "packaging-23.1.tar.gz", hash = "sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f"}, ] [[package]] name = "paramiko" -version = "3.0.0" +version = "3.1.0" description = "SSH2 protocol library" category = "main" optional = false python-versions = ">=3.6" files = [ - {file = "paramiko-3.0.0-py3-none-any.whl", hash = "sha256:6bef55b882c9d130f8015b9a26f4bd93f710e90fe7478b9dcc810304e79b3cd8"}, - {file = "paramiko-3.0.0.tar.gz", hash = "sha256:fedc9b1dd43bc1d45f67f1ceca10bc336605427a46dcdf8dec6bfea3edf57965"}, + {file = "paramiko-3.1.0-py3-none-any.whl", hash = "sha256:f0caa660e797d9cd10db6fc6ae81e2c9b2767af75c3180fcd0e46158cd368d7f"}, + {file = "paramiko-3.1.0.tar.gz", hash = "sha256:6950faca6819acd3219d4ae694a23c7a87ee38d084f70c1724b0c0dbb8b75769"}, ] [package.dependencies] @@ -1513,14 +1497,14 @@ invoke = ["invoke (>=2.0)"] [[package]] name = "pathspec" -version = "0.11.0" +version = "0.11.1" description = "Utility library for gitignore style pattern matching of file paths." category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "pathspec-0.11.0-py3-none-any.whl", hash = "sha256:3a66eb970cbac598f9e5ccb5b2cf58930cd8e3ed86d393d541eaf2d8b1705229"}, - {file = "pathspec-0.11.0.tar.gz", hash = "sha256:64d338d4e0914e91c1792321e6907b5a593f1ab1851de7fc269557a21b30ebbc"}, + {file = "pathspec-0.11.1-py3-none-any.whl", hash = "sha256:d8af70af76652554bd134c22b3e8a1cc46ed7d91edcdd721ef1a0c51a84a5293"}, + {file = "pathspec-0.11.1.tar.gz", hash = "sha256:2798de800fa92780e33acca925945e9a19a133b715067cf165b8866c15a31687"}, ] [[package]] @@ -1556,22 +1540,22 @@ testing = ["pytest", "pytest-cov"] [[package]] name = "platformdirs" -version = "3.0.0" +version = "3.2.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "platformdirs-3.0.0-py3-none-any.whl", hash = "sha256:b1d5eb14f221506f50d6604a561f4c5786d9e80355219694a1b244bcd96f4567"}, - {file = "platformdirs-3.0.0.tar.gz", hash = "sha256:8a1228abb1ef82d788f74139988b137e78692984ec7b08eaa6c65f1723af28f9"}, + {file = "platformdirs-3.2.0-py3-none-any.whl", hash = "sha256:ebe11c0d7a805086e99506aa331612429a72ca7cd52a1f0d277dc4adc20cb10e"}, + {file = "platformdirs-3.2.0.tar.gz", hash = "sha256:d5b638ca397f25f979350ff789db335903d7ea010ab28903f57b27e1b16c2b08"}, ] [package.dependencies] -typing-extensions = {version = ">=4.4", markers = "python_version < \"3.8\""} +typing-extensions = {version = ">=4.5", markers = "python_version < \"3.8\""} [package.extras] docs = ["furo (>=2022.12.7)", "proselint (>=0.13)", "sphinx (>=6.1.3)", "sphinx-autodoc-typehints (>=1.22,!=1.23.4)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.2.2)", "pytest (>=7.2.1)", "pytest-cov (>=4)", "pytest-mock (>=3.10)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.2.2)", "pytest-cov (>=4)", "pytest-mock (>=3.10)"] [[package]] name = "pluggy" @@ -1606,14 +1590,14 @@ files = [ [[package]] name = "prettytable" -version = "3.6.0" +version = "3.7.0" description = "A simple Python library for easily displaying tabular data in a visually appealing ASCII table format" category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "prettytable-3.6.0-py3-none-any.whl", hash = "sha256:3b767129491767a3a5108e6f305cbaa650f8020a7db5dfe994a2df7ef7bad0fe"}, - {file = "prettytable-3.6.0.tar.gz", hash = "sha256:2e0026af955b4ea67b22122f310b90eae890738c08cb0458693a49b6221530ac"}, + {file = "prettytable-3.7.0-py3-none-any.whl", hash = "sha256:f4aaf2ed6e6062a82fd2e6e5289bbbe705ec2788fe401a3a1f62a1cea55526d2"}, + {file = "prettytable-3.7.0.tar.gz", hash = "sha256:ef8334ee40b7ec721651fc4d37ecc7bb2ef55fde5098d994438f0dfdaa385c0c"}, ] [package.dependencies] @@ -1708,112 +1692,106 @@ files = [ [[package]] name = "pyats" -version = "23.1" +version = "23.3" description = "pyATS - Python Automation Test System" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats-23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d04a7b972fe2b214ddd8db4f01e7fa5b41f55622404043777b0265f8de7f4b1b"}, - {file = "pyats-23.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:65c79712a1b1007ce9314f929e44a63d2f07bcbb8db1406d8e1242fd73018608"}, - {file = "pyats-23.1-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:727f754cf3f2c2ac72e8dce98ad6217af9910ed0aaed6da2aa8edb7e5848be28"}, - {file = "pyats-23.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:560fa4fdde6e61452a92426c834dd35d6f657cd7d5321b50a54d03ec9acf569f"}, - {file = "pyats-23.1-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:40a1c4bbcb53515c489bbd7b3dd252d1c81a35ae5962ee97adaeceac458b7a20"}, - {file = "pyats-23.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5f2c1855572b581f54feac6e783ddfa6bb8d2b8a1f4cf4c73f8c8aa13970b48c"}, - {file = "pyats-23.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:f0be911d6fd89d22f921d340fb1c04d2290589981cba57fbee73af462a9c41de"}, - {file = "pyats-23.1-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:491f310532d24cf5673f0f5ebf570985e5b4fca4a98017afa83aa6086bffed58"}, - {file = "pyats-23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0a61610b1c068ef7f98008a90aaa3d1a36499050649300daf88b961a81ff17ba"}, - {file = "pyats-23.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:8ba50dff0c28f16b0322d5503c3cafa470f34831de2b83e7091514fc09b23bc1"}, - {file = "pyats-23.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:d857b80548afa8eaf568ebd4031f5f764287fa2f22a3eb51545cf60e05583ca4"}, - {file = "pyats-23.1-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:c24064e8ec7145a7e3d55365f8daefeb70602cf31312668d353b7dfd1b0a9090"}, - {file = "pyats-23.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:31e39fa18e55252367bab057e190534530c78016c7ef11a26507b8806b10473c"}, + {file = "pyats-23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:52c2c3dc71badfcdbb079e90a8e04d6e8bd20548d0ab7bbdaa2d4776ddeff424"}, + {file = "pyats-23.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:b37c760f40586d4df7ddc4e5071d248752b5f296a826c53f6bad62919faf2cfc"}, + {file = "pyats-23.3-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:22a22f5dc69988abbdf249969831b22806528d4231fa0af0af8df257dd6bce58"}, + {file = "pyats-23.3-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:5bcfd2e4fcfb5dfd02c55ec9463d023a8fa3bf6e07038b3f6d1d3aeefc7358ee"}, + {file = "pyats-23.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:d0cbed4ffdbe8e599974af21d519e3fffd414323b2c1b4abf9c50314d03309a6"}, + {file = "pyats-23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:30a8314998818b54fcd8c866978da19b7f9286aac663099a9cf2b48fe064e09a"}, + {file = "pyats-23.3-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:62f066db5c7c9fb1bfb993c9dc61dd4fb30d755425d8655e7eaa51a44b30faf8"}, + {file = "pyats-23.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:461795d78c45ddf1af029d522cc312a58d146557cd8ba983c4cf99e41fdb7485"}, + {file = "pyats-23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6d076d954849af832e634d33df844428de8856fa007295234e2df919a1be81cd"}, + {file = "pyats-23.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:cf3a33a6c4af72b9ac94c48ee4df87709a88a1a6f7fa1902bffb1bb995261326"}, + {file = "pyats-23.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:d6904ac396dc0b58cb91d71c5c0261d02d25c47995b515b5e31b90395069fb3c"}, ] [package.dependencies] packaging = ">=20.0" -"pyats.aereport" = ">=23.1.0,<23.2.0" -"pyats.aetest" = ">=23.1.0,<23.2.0" -"pyats.async" = ">=23.1.0,<23.2.0" -"pyats.connections" = ">=23.1.0,<23.2.0" -"pyats.datastructures" = ">=23.1.0,<23.2.0" -"pyats.easypy" = ">=23.1.0,<23.2.0" -"pyats.kleenex" = ">=23.1.0,<23.2.0" -"pyats.log" = ">=23.1.0,<23.2.0" -"pyats.reporter" = ">=23.1.0,<23.2.0" -"pyats.results" = ">=23.1.0,<23.2.0" -"pyats.tcl" = ">=23.1.0,<23.2.0" -"pyats.topology" = ">=23.1.0,<23.2.0" -"pyats.utils" = ">=23.1.0,<23.2.0" - -[package.extras] -full = ["cookiecutter", "genie (>=23.1.0,<23.2.0)", "genie.libs.robot (>=23.1.0,<23.2.0)", "genie.telemetry (>=23.1.0,<23.2.0)", "genie.trafficgen (>=23.1.0,<23.2.0)", "pyats.contrib (>=23.1.0,<23.2.0)", "pyats.robot (>=23.1.0,<23.2.0)"] -library = ["genie (>=23.1.0,<23.2.0)"] -robot = ["genie.libs.robot (>=23.1.0,<23.2.0)", "pyats.robot (>=23.1.0,<23.2.0)"] +"pyats.aereport" = ">=23.3.0,<23.4.0" +"pyats.aetest" = ">=23.3.0,<23.4.0" +"pyats.async" = ">=23.3.0,<23.4.0" +"pyats.connections" = ">=23.3.0,<23.4.0" +"pyats.datastructures" = ">=23.3.0,<23.4.0" +"pyats.easypy" = ">=23.3.0,<23.4.0" +"pyats.kleenex" = ">=23.3.0,<23.4.0" +"pyats.log" = ">=23.3.0,<23.4.0" +"pyats.reporter" = ">=23.3.0,<23.4.0" +"pyats.results" = ">=23.3.0,<23.4.0" +"pyats.tcl" = ">=23.3.0,<23.4.0" +"pyats.topology" = ">=23.3.0,<23.4.0" +"pyats.utils" = ">=23.3.0,<23.4.0" + +[package.extras] +full = ["cookiecutter", "genie (>=23.3.0,<23.4.0)", "genie.libs.robot (>=23.3.0,<23.4.0)", "genie.telemetry (>=23.3.0,<23.4.0)", "genie.trafficgen (>=23.3.0,<23.4.0)", "pyats.contrib (>=23.3.0,<23.4.0)", "pyats.robot (>=23.3.0,<23.4.0)"] +library = ["genie (>=23.3.0,<23.4.0)"] +robot = ["genie.libs.robot (>=23.3.0,<23.4.0)", "pyats.robot (>=23.3.0,<23.4.0)"] template = ["cookiecutter"] [[package]] name = "pyats-aereport" -version = "23.1" +version = "23.3" description = "pyATS AEreport: Result Collection and Reporting" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.aereport-23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2f6524154fc9f729856d79c80d78501e06736895c410082e25e8480820a66425"}, - {file = "pyats.aereport-23.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:39c25718ce034ed829dfb976c1956d8d874cacfc475f436f5b512d284a8e24b0"}, - {file = "pyats.aereport-23.1-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:63e810c90c450196f439345e45f342dbbffd7fd179d1891f31035593f3ccead3"}, - {file = "pyats.aereport-23.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:af1edd138266f5dfa1b0d573e66bd30f20a85ca45fe4f9e51ba8098d4bbfcce4"}, - {file = "pyats.aereport-23.1-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:6a361b8f0b4bb18c2fba0f48b759c4f85803905e163486a917467278e06932fe"}, - {file = "pyats.aereport-23.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9d4fe5f895000eea6f7fd448eb2176fb8a81c71003e138100bf95481ba755c89"}, - {file = "pyats.aereport-23.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:b7afce8cddb38eebaae78cb64c47ba1b6a719f149d726660e9b4d75f29b7f16d"}, - {file = "pyats.aereport-23.1-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:d032fa89ebb98dc7ebe74737cbda13aa80e559e60344b2ed9930e74dcaf8e91f"}, - {file = "pyats.aereport-23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6228da3368e37890068820b407588ae35896ed3e82ae4b2e82dd1995250a09f7"}, - {file = "pyats.aereport-23.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:71038a29b3089e2101bbb969559c6d6ece496feb8fc441a6240ac774ab176cf9"}, - {file = "pyats.aereport-23.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:a9d886c5787cca27e39d78531d96e18f237af14bc62739c8f61e798d4a1f130b"}, - {file = "pyats.aereport-23.1-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:47e6ec000874c411a8c7c96664a5bad6184d06c85b9b471c56571fbe93c6d085"}, - {file = "pyats.aereport-23.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:332394ffcfd3e64a44c0249781d447715da6202fac506a4ec2ecc60c75e8eabf"}, + {file = "pyats.aereport-23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:460fe53f76508d0ec5c42f46b99d45f04da4710603b5097e012dab0bb5975894"}, + {file = "pyats.aereport-23.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:14c9e18580b5af3f81f6ae94b420b95db615d6397ee787c2f4d9d81c07763b47"}, + {file = "pyats.aereport-23.3-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:18f327d6a5f41d8fe89811b17ebee4c680496bf61b17e8087cd8e646a686d48e"}, + {file = "pyats.aereport-23.3-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:dd1a83b9de5a9e9badd7db50f1100a23dd630b1397773d4185817b8bbd4d9bb7"}, + {file = "pyats.aereport-23.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:79f7a2502b943ef23b3def793d486adbaa88fc941e1a77461642428cc2c4c806"}, + {file = "pyats.aereport-23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2923cb2e4f75f5ac5dbc9738966d6debcf1245fb0204842aaa79f296fc0401b5"}, + {file = "pyats.aereport-23.3-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:35fa4890991ec0d1f30c9df3782a61848a119b30ace3facada5ea8a4431e829f"}, + {file = "pyats.aereport-23.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:71d3d51dcb3f24948f7ee9c7b936c4788b81cb5cc9c7f9d2c4cc063b001f1e2b"}, + {file = "pyats.aereport-23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:34dab03eaf8886b84e485be39d54d6b0a9e395e502de5d60f09b42dfe9c6e09f"}, + {file = "pyats.aereport-23.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:152f7f6160a5c48d6e40ae4afa2a5f0462bd486b2f3dd2da0be11ba86fb42358"}, + {file = "pyats.aereport-23.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:d673296fcf549d60811ae4f39315213089b3a548ab7adb686e49f68a0c8117cf"}, ] [package.dependencies] jinja2 = "*" junit-xml = "*" psutil = "*" -"pyats.log" = ">=23.1.0,<23.2.0" -"pyats.results" = ">=23.1.0,<23.2.0" +"pyats.log" = ">=23.3.0,<23.4.0" +"pyats.results" = ">=23.3.0,<23.4.0" [package.extras] dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-aetest" -version = "23.1" +version = "23.3" description = "pyATS AEtest: Testscript Engine" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.aetest-23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f7cf2e09691cc30f98282a6f4afe12ddd6b9a5e3fc3641ae93b10d518fe8e5dd"}, - {file = "pyats.aetest-23.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:102706f49a23c85adb37e5160e4995f42a06df80dc8df19f468f1fa55dfbac3e"}, - {file = "pyats.aetest-23.1-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:823c427c91b02245ba513d667e33788db92a06978f99b53588d00c3d4a6e1861"}, - {file = "pyats.aetest-23.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:e8f0106a26cd936b1483b4a6570250df7c9956cb108dcc78ce380b07b6fe5185"}, - {file = "pyats.aetest-23.1-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:9848ac2c2acc5370ab95236622da6891de5fd7c32e899935c58468c61d13ea14"}, - {file = "pyats.aetest-23.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f08081a2a6cdddc2965668d8134b6f388d0ba2d12358ed9b109774f2cd0a912f"}, - {file = "pyats.aetest-23.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:a75aac0f82ee7961c6c9587b44a85a3bac3dea83a3d15e4e997bbbfcc6be4a3c"}, - {file = "pyats.aetest-23.1-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:0af9be8bf4e337bac8e9cfd4f9dba091d1aa0946d78d5b2b05812f7941dd9760"}, - {file = "pyats.aetest-23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:00df1313712dd595da4d2151fde39a9ebcd6505bf1caa01ebbf62628be500175"}, - {file = "pyats.aetest-23.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:61093177a435837c0a215a953ce9754665ebe32d3ecf0ab6e9e37b718211f91e"}, - {file = "pyats.aetest-23.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:8523c11d4dc0290a7661c7001965c903766ac492c7c6c65b78ac2c26f7671ccc"}, - {file = "pyats.aetest-23.1-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:39f75a20f7b3c33d911672a2a206ddd37483de12c4af87852737765579d3b714"}, - {file = "pyats.aetest-23.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d252e56d575595dc3fffcb26eaf27f6a1ae2dbed604fb1a9f0044b2fc92c4a03"}, + {file = "pyats.aetest-23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e7c02587a31b33e9fd3771c4522d6f8ab543d5a2bb01f52d6b0aaed92f72acf1"}, + {file = "pyats.aetest-23.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:e0a88854ed71331d2d45918228eacf566900e0cf83a00d21bed31b5c88f63448"}, + {file = "pyats.aetest-23.3-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:16286b3ceaecd3fc4525d323af44372897fa748896754f92868724985c8e67b7"}, + {file = "pyats.aetest-23.3-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:3b6494d70f8a3400ed4e87826a9807075b5741198a3a00b66951fec1a7ef4f67"}, + {file = "pyats.aetest-23.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:9ce9d17aaf277cf741b89209b2fcd858529ae0e79eb238f7f82f5ab0ad2c6d98"}, + {file = "pyats.aetest-23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:d991f67cfeed6dee26d41c8475127765d99dca23b97e2816ca7326606d57302e"}, + {file = "pyats.aetest-23.3-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:293adf5edfb00d22c2c53f23e26bd553d28de1193d65d47775da781e06a09f54"}, + {file = "pyats.aetest-23.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:70c2b4ecb4e9251862ef4079eb0f09fa0e6a7665c87b3f6e49e6a4dc51b7bbae"}, + {file = "pyats.aetest-23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:89c796f3dc1690bc858dfa9db363bce0321370d8d7023ee7a3b85546410d7ac3"}, + {file = "pyats.aetest-23.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:6a9b6b5eb6d1980471356955d21460296d59973bcb2e545126bc2afa7044b59d"}, + {file = "pyats.aetest-23.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:57ac45ab0befea713f5102f5634a67072acadcf323582f6655ed0cb9f93daf43"}, ] [package.dependencies] jinja2 = "*" -"pyats.aereport" = ">=23.1.0,<23.2.0" -"pyats.datastructures" = ">=23.1.0,<23.2.0" -"pyats.log" = ">=23.1.0,<23.2.0" -"pyats.results" = ">=23.1.0,<23.2.0" -"pyats.utils" = ">=23.1.0,<23.2.0" +"pyats.aereport" = ">=23.3.0,<23.4.0" +"pyats.datastructures" = ">=23.3.0,<23.4.0" +"pyats.log" = ">=23.3.0,<23.4.0" +"pyats.results" = ">=23.3.0,<23.4.0" +"pyats.utils" = ">=23.3.0,<23.4.0" pyyaml = "*" [package.extras] @@ -1821,85 +1799,79 @@ dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-async" -version = "23.1" +version = "23.3" description = "pyATS Async: Asynchronous Execution of Codes" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.async-23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c68a4e4fc20b0f5e6a50ff99cb3d6e82272e40af5b81825c35b0a04ae0ae4720"}, - {file = "pyats.async-23.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:a4d464186c85a7b36c87c1bf03d36e6481a8ad0699c717779ecc2fb3f731a488"}, - {file = "pyats.async-23.1-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:6fe46da45b025668548aba590b3efab00812256dd44d95faee097706bfac1008"}, - {file = "pyats.async-23.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:14f6ec185d0cd25532b25ff7b977c71ca2be35f0292236d5517f587e7c5edc0e"}, - {file = "pyats.async-23.1-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:5e3532f76a4324722adbdf3217e4046d7ba9e4824d9380abef469d101c0299ff"}, - {file = "pyats.async-23.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:fc10bb2b8e78e54b3ec6138353958fd89e16bf74802fe94840137da82a0f08cc"}, - {file = "pyats.async-23.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:d74c649644ae481dbfcf2952efe7a42c283db76db432c142f7dee1dd3cd0dd24"}, - {file = "pyats.async-23.1-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:749372c405afca170ca1e6f0533ca7a4cd10801163be468d8915907889fff4a4"}, - {file = "pyats.async-23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:aa3f3f6cc1d80d467a45b81e1af0978647587da5c233dfd6585d13352c3bae59"}, - {file = "pyats.async-23.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:0c455f769ecc3e02be43675cc62b8f4e4c25879d24d012a0f4a99ef1d3d5ecf8"}, - {file = "pyats.async-23.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:08f544b3bacf65364803d5ace1080388d02ab148514456544de6203c6f125838"}, - {file = "pyats.async-23.1-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:5476b96c59d66372812b64a06f00008e62d61bbafd2c1c7d7a6d606c41bf8583"}, - {file = "pyats.async-23.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:ddf591cd5def440e3dd9ab77d60b29b9994e3050000f425cfd7fbe70da8cff47"}, + {file = "pyats.async-23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8cd5d2551c140284000c54afeab9e4b8e959dc84ad1a62ecfc21bd4810d765e4"}, + {file = "pyats.async-23.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:9c62803dfdb12889cf08c31778a3b977968849b73c80fed34890811b2d318ab1"}, + {file = "pyats.async-23.3-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:6cdc8c43c610e0be46e34baf3f2f2fb2df03ef0316125030a39dad5b4003a6c0"}, + {file = "pyats.async-23.3-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:0427c1a6de6d894d8593aadd7fd59208d456f8a92f26c04f90f7327343e2fa23"}, + {file = "pyats.async-23.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:474cf7ecf253bdcaf493dfec7de0cd4b37ca70dfb31102af61929d279c3e95cb"}, + {file = "pyats.async-23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:466a51078a4782f27ae99ca8fe64bcf4a599ce787188f6bf5bc5214e17854940"}, + {file = "pyats.async-23.3-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:b103e5493b49c873b9eff9a987e675f8cf962d04e0549336c8b707e104598206"}, + {file = "pyats.async-23.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:5fbf257b3ca05c5f221225e5414d0fd46edd8c6e19bf2b58bfe510347f1ecc01"}, + {file = "pyats.async-23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:34e9b22550ba13cd268a8930d25512c0a96eef1aec2b2ce0e181ada4786b3d31"}, + {file = "pyats.async-23.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:6ea8430849a53a9d4844c688e56ec938a63cc84079723389f9676d51892e7c51"}, + {file = "pyats.async-23.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:098a098db58cb841c8e7d19e407bc9b7d26145dcf9b0f7d74206d96b92b6db15"}, ] [package.dependencies] -"pyats.log" = ">=23.1.0,<23.2.0" +"pyats.log" = ">=23.3.0,<23.4.0" [package.extras] dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-connections" -version = "23.1" +version = "23.3" description = "pyATS Connection: Device Connection Handling & Base Classes" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.connections-23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1de5b0facbb1649af330377e23820460a14df6cd338dcc89dcbd342cde5b996b"}, - {file = "pyats.connections-23.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:4c4fbbc9ad7bcd911078732f781d7a7e8143efaa1be1c9426ed98e15cb2e1a44"}, - {file = "pyats.connections-23.1-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:93393fc90f5e3339cc54f0d411686ea75d53aacb66062218ff08e75671fcdb2c"}, - {file = "pyats.connections-23.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:7a3cdd61cccc851ed41b05666997ee0e259e65b98f08fb552ff74324a8b36a9b"}, - {file = "pyats.connections-23.1-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:a08bc34cd59140200aa0f5726da5d4da5923ef7e10f34bc9adc7960ba447c95d"}, - {file = "pyats.connections-23.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3efaaa4f7c17cd2065cc64d5042d5d27b8bc60bbff34fc592f06f14b5d8983fa"}, - {file = "pyats.connections-23.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:73ab60784052825e2bf96b1af947d2466d041c7605889266d23c897cc6fad786"}, - {file = "pyats.connections-23.1-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:33f20296ca2c6ca1c791a3189631c9e2442b201da2c4863ecbfd5ae6166b4ce0"}, - {file = "pyats.connections-23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:46e8dc633ac032d19c1658bca639daae27e71b58c846f60ed47a42b420197579"}, - {file = "pyats.connections-23.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:74933004dfec73a98eca02eca276872e43c84049fdf47f8b669d08d3bb962be4"}, - {file = "pyats.connections-23.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:a5c3cc28aa5309e989f5669f44ff8fd93d4e26de59bc522939bce47311ad8aca"}, - {file = "pyats.connections-23.1-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:f42410d26feba0fedd1990f3863a5654265a4834996f122b666cb24924b9e7f9"}, - {file = "pyats.connections-23.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:061004e841427dc160fbabad72bd7b6711bac4720793246cf9833554e32fafdb"}, + {file = "pyats.connections-23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0005c81bf917744bc1db0817af0ec43670fcff36a7d3867a9a60ae58e6f9e6af"}, + {file = "pyats.connections-23.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:7151a2a1080005e3665da0f0e89a7edc486f17d787b4e6076088d3194bcc72f6"}, + {file = "pyats.connections-23.3-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:71f3337d32f8caf962b99e973301ab50875951305da9e6111b68231d34f5d299"}, + {file = "pyats.connections-23.3-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:ba82c5c995ce7658166fc67420098c547d5efa5ca04d6c8c1ee5626b44a8284c"}, + {file = "pyats.connections-23.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:bfea8a8c47a1e02ada304b8db706f9b37b46b8ca9ce71c7478922f7efc9f4f15"}, + {file = "pyats.connections-23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:eb29ee5013971c4c0174cf295ca0b06e2923c0a1b37654d69709813dabbbd298"}, + {file = "pyats.connections-23.3-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:d276afcd1cfa1e65f1155615fd0cd951ad378c43fcd1db9a1159ebddd3d7d095"}, + {file = "pyats.connections-23.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:aae2788866acc8bd519a9d421b74b053f35570b593555b45327f8367956ba503"}, + {file = "pyats.connections-23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fa563a1ae5a00df3a285d6e7adc43656c3e92ae7d9c67d7c19c27046590b3ad2"}, + {file = "pyats.connections-23.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:ee34ab19fe1259e81ba37ac18ed3dc3aca20881db8b95bb8477642beccdf77a1"}, + {file = "pyats.connections-23.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:52fba98bea6487911591c295873f387d7c467ec6fbbc93c3d38cca2c875362d3"}, ] [package.dependencies] -"pyats.async" = ">=23.1.0,<23.2.0" -"pyats.datastructures" = ">=23.1.0,<23.2.0" -unicon = ">=23.1.0,<23.2.0" +"pyats.async" = ">=23.3.0,<23.4.0" +"pyats.datastructures" = ">=23.3.0,<23.4.0" +unicon = ">=23.3.0,<23.4.0" [package.extras] dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-datastructures" -version = "23.1" +version = "23.3" description = "pyATS Datastructures: Extended Datastructures for Grownups" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.datastructures-23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a3ae5985391a07a759016e3235651bdf8a0d6edc711e836ae90f14d6f5f2c2cd"}, - {file = "pyats.datastructures-23.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:5803fba20511d86735a19a37b819c2427ffca28ccaf827893ab243eab197df62"}, - {file = "pyats.datastructures-23.1-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:1581f3bd13352803763692bbf760904079507498277825619b62210cbb6b10f5"}, - {file = "pyats.datastructures-23.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:90740699d7fd404b6bfa54fb727b8d52afbfcd87ee78180cfefe3cd6746f124b"}, - {file = "pyats.datastructures-23.1-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:aaee14eb8591b86acb9190825230400b05ac8d78c3b3e8ebca69f0d60d5ba1a6"}, - {file = "pyats.datastructures-23.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:44a32b896e64a1a3cb3676ef31cfbdad8326d6ef9178c25c6f27ac701240e092"}, - {file = "pyats.datastructures-23.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:af60a9ff7ad0528450c4f23ba613712ef56f3f4d2f0d90abe75f6fa320db1efc"}, - {file = "pyats.datastructures-23.1-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:95cc25008468aa2ff9d4292d6e825e8883b4cb773c5e438cea34cbe5dfe12ce1"}, - {file = "pyats.datastructures-23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a1a8a1511e6ad9f283d97bd05c31389e7fc1633ab95c1a51e9f5e0c1b14b3111"}, - {file = "pyats.datastructures-23.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:6a41710099d5ef3cfb9790358e1188fed0a7b7be281db32221d4bc7bf88bf917"}, - {file = "pyats.datastructures-23.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:c74785f77318936b30fc0c3d817280cc7d66b5b2dfcbbf075f51e43ea85ead6a"}, - {file = "pyats.datastructures-23.1-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:8ab530bfedcb4e0cc4b753dd045d5f17fac1749ddc4b19411e6e9e37392175ae"}, - {file = "pyats.datastructures-23.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:57be318add339f1b461341c94477d18429351555b6d749ca41f57aa076577065"}, + {file = "pyats.datastructures-23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7023a281f591cfea0a307fc6902b6347c6d479a66d93563e6091f000e9fbda6d"}, + {file = "pyats.datastructures-23.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:431d649a960216b515b48ed00876adf490542218414649eedcff480a0e85df8f"}, + {file = "pyats.datastructures-23.3-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:6b092f434b0268adf8228f4738d48d34ee8f6cd4873032b109f16283916db7a7"}, + {file = "pyats.datastructures-23.3-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:823749ed5aeb65b12b86d75c25e06c445adb6895dbc464878bc2b2cfcc8a633a"}, + {file = "pyats.datastructures-23.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:6a441513a0bd34c7b5643f9da6bf74085ed7cf19c7ebfa286d3cbae1635aeabc"}, + {file = "pyats.datastructures-23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:e3d67d9c2ca1ebf43c821f9d8545b22920407471f9f987d2debe4caa30dffd7e"}, + {file = "pyats.datastructures-23.3-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:d02ddbeb19d19aac385455f8343b563f123432aa797be9ad697feb42854356a0"}, + {file = "pyats.datastructures-23.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:74ae75a57c89e1babd082ede0bef51fcdc0776bcb42782b10dd80338e14b03b3"}, + {file = "pyats.datastructures-23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a5f7cdb5d5845f1634d03c47a8cdd7fea82a5f2f73bab823f9bc88606c20ea40"}, + {file = "pyats.datastructures-23.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:84d5f056bfa80871032a02e6fde9c276d0f34f7175274dc0ce9c4aa37f1c71f2"}, + {file = "pyats.datastructures-23.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:fb709a01584e25666b4090cfee534eaa0d728976a06e29d5b380ed467b613b4d"}, ] [package.extras] @@ -1907,38 +1879,36 @@ dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-easypy" -version = "23.1" +version = "23.3" description = "pyATS Easypy: launcher and runtime environment" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.easypy-23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f7bcf487340b851831bff06f7664eb11193cef933c4a8497c3efef3373413172"}, - {file = "pyats.easypy-23.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:92464519813fe5510f310a76c5560f6683ecb69e155dff81f487a4e7eb0067ab"}, - {file = "pyats.easypy-23.1-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:ca38194d319c8e43ec286d71d2537af09a0cd7b67486ffc3bab991def2478f94"}, - {file = "pyats.easypy-23.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:8fb43c921f979193a52927c4421d051acee638da20a4ed113be1b7a260c40c94"}, - {file = "pyats.easypy-23.1-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:af80406b85db8bc245aa9b845086241abfaa452e979f58f8212e7add30846061"}, - {file = "pyats.easypy-23.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cba40d1392a77e3876ec576c61342301c9b5ca6664f1045a349fd82ee9663154"}, - {file = "pyats.easypy-23.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:3647eb4b66bb5428bf686157d1d226f69edf7d661fb4c14b82fe2c7b66450c3e"}, - {file = "pyats.easypy-23.1-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:9a99323cc39633916f6476f8f3e7a48831d8e2e1e974cfa8478480c8e4b4a36b"}, - {file = "pyats.easypy-23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:acdfa8baf4ca5be6c388213ee6efe76af6f3051279a5a99e88ffb80524936a79"}, - {file = "pyats.easypy-23.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:1011cc817fb46d0cc23f407f07b71306ee42a337ac91e79f87088882d56e841c"}, - {file = "pyats.easypy-23.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:c5b1a259c6093701d82963bc7d7d35c2d683199dceb0fead5727f32a7e6d092a"}, - {file = "pyats.easypy-23.1-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:9706de862d9d10de0b9c970c529c2713ad4cb795f52c5489fb38c75c29a59019"}, - {file = "pyats.easypy-23.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:2a74b0e873eeb0e7bcfb2b7b6d4642a781e9c92b6f22bc7f1b4c500cacd92f41"}, + {file = "pyats.easypy-23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a3ee4169a8f81e7da825af4d98501e86e659486fca4a63b04baae7df66901a6d"}, + {file = "pyats.easypy-23.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:bec59ada62c811427f5013ff3207e8e888b189f437d98f48740d2d4641b9a83c"}, + {file = "pyats.easypy-23.3-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:18a7433b4b8da113d89a3e2a72aaf7ac97fcba3836ab57b4a8bbab8244e71b86"}, + {file = "pyats.easypy-23.3-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:5e02787c101e8184a6b04e67c734556ab978646f3e36d829808320eacc00f90c"}, + {file = "pyats.easypy-23.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:dc20ebe19acc683d5e94c033f0bdad8a0cc341360d9a644dd67a2524f6f9586b"}, + {file = "pyats.easypy-23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f0f51a9b089ca646b0db5f15a02c48c926ec8a6de80418168840ad9e6a20e332"}, + {file = "pyats.easypy-23.3-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:72dc3f296b63cf77773555774c40e23a4d588085be5887714bf36b4554c3b02b"}, + {file = "pyats.easypy-23.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:a6d84c399a7184ddd22cf8f33161beff3681106e601856041244fd7dc6ebee8f"}, + {file = "pyats.easypy-23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f51099452343b40f04669c2c838cde43b388110d07bd9b6c84644f4072528f11"}, + {file = "pyats.easypy-23.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:fbdc23d37efd51f60e8658032cad51ded423eff6511999a459ce2dbb96305dfc"}, + {file = "pyats.easypy-23.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:8e7706365ddd01de723f656aac056f50c107f335748d1ef3304461ca0aabeb20"}, ] [package.dependencies] distro = "*" jinja2 = "*" psutil = "*" -"pyats.aereport" = ">=23.1.0,<23.2.0" -"pyats.datastructures" = ">=23.1.0,<23.2.0" -"pyats.kleenex" = ">=23.1.0,<23.2.0" -"pyats.log" = ">=23.1.0,<23.2.0" -"pyats.results" = ">=23.1.0,<23.2.0" -"pyats.topology" = ">=23.1.0,<23.2.0" -"pyats.utils" = ">=23.1.0,<23.2.0" +"pyats.aereport" = ">=23.3.0,<23.4.0" +"pyats.datastructures" = ">=23.3.0,<23.4.0" +"pyats.kleenex" = ">=23.3.0,<23.4.0" +"pyats.log" = ">=23.3.0,<23.4.0" +"pyats.results" = ">=23.3.0,<23.4.0" +"pyats.topology" = ">=23.3.0,<23.4.0" +"pyats.utils" = ">=23.3.0,<23.4.0" setuptools = "*" [package.extras] @@ -1946,35 +1916,33 @@ dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-kleenex" -version = "23.1" +version = "23.3" description = "pyATS Kleenex: Testbed Preparation, Clean & Finalization" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.kleenex-23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:91ce7581bedbbf756365f62f4fe8553a69fd32861b27bd1f47547d9c478b5123"}, - {file = "pyats.kleenex-23.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:6cc16277b3f3143b5d4b11556f62575c9f55501192c13dfb3e38ff838a8c8d4d"}, - {file = "pyats.kleenex-23.1-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:891e515242a82b039bc5192307beab1cd7baff648651cf7d424559abc5133b91"}, - {file = "pyats.kleenex-23.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:d8a98544795367cdd3ae62590e7f400fbdd82e02930fe4719a77c2e8a43ba93f"}, - {file = "pyats.kleenex-23.1-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:938c8c9cd0c4acf9cc320fbad3a8a7202fc427dda464c60344755dcdf6dafadb"}, - {file = "pyats.kleenex-23.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:84fa6e8e9e49a78f924f722a4875a194a918e9b1862f56d9aec296eee18fbb3f"}, - {file = "pyats.kleenex-23.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:4de038d9fea8c171417f1f00038d8ce9a535b3760bc84bbbe574eb2c516a008c"}, - {file = "pyats.kleenex-23.1-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:95d5b895f341cbb24ee42ac7364017ccef0de957af5be082eb558b7fbc62d33b"}, - {file = "pyats.kleenex-23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:54293fe283f2bc9512e110aa8dceb469d16778e23edabd855bdeb9f22f975fa8"}, - {file = "pyats.kleenex-23.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:81bbf8758f274c51eb49c75c2b8a3636bbe89c02571177d57370916a9e0cc585"}, - {file = "pyats.kleenex-23.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:0c2b244a6f0ade74656c05fcdfacca19478da006a0d3e904cdc51fca5bbf276f"}, - {file = "pyats.kleenex-23.1-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:e780ba9477f766f2fb9946ec0f66bcece438c197bf7efea7ed653b1dbca1da34"}, - {file = "pyats.kleenex-23.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:adc24bd3dfef813b96dd63a32094c265b2ebf4b5d8cd1f26d74927a85874a925"}, + {file = "pyats.kleenex-23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:22d71108869405153023108378dfdf4cd91008125880b300d7beba04158b6e3f"}, + {file = "pyats.kleenex-23.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:28945ba1a8b383a5f1dd2d7191a70f5038646178ce4614ff37d8a0952dba5cb4"}, + {file = "pyats.kleenex-23.3-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:9f14d85a3644e16f467edcfbdd4cbb568398710d3fe0d66839b0d59116f9fd9d"}, + {file = "pyats.kleenex-23.3-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:b96343ca923dfbe5c4e29a1fb598467a871320610ae91ebcb9bb255ea63299a3"}, + {file = "pyats.kleenex-23.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:7ff390721b45497ab7552142e214e7504853eb0c9376123071bdf2b5312b7ced"}, + {file = "pyats.kleenex-23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:49cd093f6fa175a8c2506900d2d806e31d80decf193b051a579bbb4db733cd7f"}, + {file = "pyats.kleenex-23.3-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:7f60753110c59101c8982e313de18f65c6fe8320a07b12f37d39591c89be74ea"}, + {file = "pyats.kleenex-23.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:340d73d580e723637011471d84a3b1b567e012f56ea99197c4d6dd6c7836f1c8"}, + {file = "pyats.kleenex-23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:bd8802dc61357bfd6e7c5ebd29f833bc73806af150688b66dd8a60ad8e3c864f"}, + {file = "pyats.kleenex-23.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:30554203b108d172b72dd7cf9412dcfa3392c58b315d64d6ddadfecc034139a0"}, + {file = "pyats.kleenex-23.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:dd555000d523097ad2b17d353707ea99cf2087e1416aaf8d08f2538680d24d2b"}, ] [package.dependencies] distro = "*" -"pyats.aetest" = ">=23.1.0,<23.2.0" -"pyats.async" = ">=23.1.0,<23.2.0" -"pyats.datastructures" = ">=23.1.0,<23.2.0" -"pyats.log" = ">=23.1.0,<23.2.0" -"pyats.topology" = ">=23.1.0,<23.2.0" -"pyats.utils" = ">=23.1.0,<23.2.0" +"pyats.aetest" = ">=23.3.0,<23.4.0" +"pyats.async" = ">=23.3.0,<23.4.0" +"pyats.datastructures" = ">=23.3.0,<23.4.0" +"pyats.log" = ">=23.3.0,<23.4.0" +"pyats.topology" = ">=23.3.0,<23.4.0" +"pyats.utils" = ">=23.3.0,<23.4.0" requests = "*" [package.extras] @@ -1982,25 +1950,23 @@ dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-log" -version = "23.1" +version = "23.3" description = "pyATS Log: Logging Format and Utilities" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.log-23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:12336b3fd8b36cc230bc18dde40394315f85dff467afdcde637d1fea39875ecd"}, - {file = "pyats.log-23.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:4dfa7f874c15385f4c5429c4f25e458ded08c39d8d985b6cfdb561660d9d0a14"}, - {file = "pyats.log-23.1-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:91c8c6b6ea1c35a1d675628f41f595ef6d08ee7f1ed4916bb8b3c185f65b1cd0"}, - {file = "pyats.log-23.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:e28022c38a7801540c8c3ccf42440e0f10d449c75b654dba2de7dda189a62ae3"}, - {file = "pyats.log-23.1-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:eecb845a2358d685bdf67d09169b78d205ed4a9e56157505a6283d9e6d046634"}, - {file = "pyats.log-23.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7737062cef2943854c2f76fb530037e11070450f0506ae2355b388da65259bb0"}, - {file = "pyats.log-23.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:19dac01e9c32cb46646d6ffa7e09103e600c2efbcccde35c9c781827dda31aa8"}, - {file = "pyats.log-23.1-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:fa6b52b6db83e77c5c9281710597e96c894feabe0faa0f428b04e4ba3e41ad9c"}, - {file = "pyats.log-23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0fd1cfbbec9efa10d54d30ca03e2be03ba0ef2c71336b3f21f44a6925d3020b3"}, - {file = "pyats.log-23.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:ecffee47d75bc33859c664022c0ff0e7ec4738cafacbf0ed6be2f9ce46e5bf57"}, - {file = "pyats.log-23.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:7fab13eaa749eea9ddee12e5555c4146749f037f4f89c3da0decf52854e9f3d4"}, - {file = "pyats.log-23.1-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:0e6a7e77ac37195601cc21d5c6caf1053745051a9313192d4ef68acb837144c2"}, - {file = "pyats.log-23.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:4d5cce57350972905d4c7143f7e245fb857cc880290886b5b6bd982d33b790d8"}, + {file = "pyats.log-23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e3759b8d970e02e69b36e4d0a16f7ea593932bad861c579a86916d42068e7e6"}, + {file = "pyats.log-23.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:8eaa81b81ffee3683e54610f5ca8af83b162bba9059055bf052a46234f5a997d"}, + {file = "pyats.log-23.3-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:a15bf1f110af13e69e653dda9b42b9f507d0abe5fdb6d8d660ff40f1662c16f0"}, + {file = "pyats.log-23.3-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:a6d16889e71865ec39de1ee6e53818fb4f3c8cdafaf89f8bc7cdec4fe1d78d26"}, + {file = "pyats.log-23.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:6b5c6c8678285a6fcda8ee21d5621fd5dbf730019fa466b53517954ea62bef1c"}, + {file = "pyats.log-23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c53619edfab46f4b6cd462cc7b809db8a7bdb79d15e8b60175c41b2041f03a9f"}, + {file = "pyats.log-23.3-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:a695be5c34b9527f944317d27d335ea26bd643bf27650ddb4fc7a2650eaa12e4"}, + {file = "pyats.log-23.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:7ede9c3c56817f01af01812ce75456946e45eabbafeca5b8bccc7763d5487cfc"}, + {file = "pyats.log-23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:32d894d3b027ea47b896a78dd45508ddac95e6f2dc838f3981565d51696c31ea"}, + {file = "pyats.log-23.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:25fbfe88b8589893423d2d1019292d7b4eb68c6c8d308ddfbbe134c37548e970"}, + {file = "pyats.log-23.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:56585bdf260658981fd3d61f27b7d82f434c14b6862eb5c952d206f109de20c7"}, ] [package.dependencies] @@ -2010,7 +1976,7 @@ aiohttp-swagger = ">=1.0.15" async-lru = ">=1.0.2" chardet = ">=3.0.4,<5.0.0" jinja2 = "*" -"pyats.datastructures" = ">=23.1.0,<23.2.0" +"pyats.datastructures" = ">=23.3.0,<23.4.0" python-engineio = ">=3.13.0,<4.0.0" python-socketio = ">=4.2.0,<5.0.0" pyyaml = "*" @@ -2020,33 +1986,31 @@ dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-reporter" -version = "23.1" +version = "23.3" description = "pyATS Reporter: Result Collection and Reporting" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.reporter-23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1cca771692842b655367b977acc5886230a7f57c180e09ac3cb0753e202dfa99"}, - {file = "pyats.reporter-23.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:22b5e1698525c8025fd18e5b250767d34bfe3f31b38ce4b54d195c5fe612e091"}, - {file = "pyats.reporter-23.1-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:66f163a9182684ceac4ceb86c9c0bd42c3da317c884302ce94fb7d9db2ebbf93"}, - {file = "pyats.reporter-23.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:bff799c077a48abaec752cf75b16bdf2091ed916592468bd1e37bcbbf31ca698"}, - {file = "pyats.reporter-23.1-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:cf1a65497148c893fc6a13c978dd0540d2ef9a823c0e8b5dade1409026e360c9"}, - {file = "pyats.reporter-23.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4cb729704abaac3ad38059d055c30258110b810875cd60d6ccc470d3f181b242"}, - {file = "pyats.reporter-23.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:9a96a8aaae5d866e69fa54c2563c87538cb45b476f7219bb6eb5c2241b03d0ab"}, - {file = "pyats.reporter-23.1-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:be1fe9e02c346c1afac57842e922c6d19518ec1eeae7895cab59dbc3c7ac160a"}, - {file = "pyats.reporter-23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a79af6db690edb39ea4eae8ad876a700ce5c45e483f19b61f50ad15302a7358f"}, - {file = "pyats.reporter-23.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:df502fa53881dd708d53e46dd202c7448a0ebc44feb0625ac2fda65b4813e018"}, - {file = "pyats.reporter-23.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:b67f1800c62828ec33ec9e3ded81835cd015532308e1314f99c8e8e986fdcbe3"}, - {file = "pyats.reporter-23.1-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:1a69a142d7d186a99ef267646e8a98fb477233d46af8e6fddf5276562a8e1230"}, - {file = "pyats.reporter-23.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a8fd960a88759fdecbdc885effe327571cd30c02f6b49fdd10566f2b1386aba1"}, + {file = "pyats.reporter-23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:bd313f4711e11ecdeeda048deb8d741d41424de14b42994502508693e2639edb"}, + {file = "pyats.reporter-23.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:a0c28a89e8f53e2e4e1478d4bce0bcda066222e59f88845521255ef840499768"}, + {file = "pyats.reporter-23.3-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:8f6a1b511d3ec56b159c17098236af5831d34ebccad72d6189d65bbc13651a45"}, + {file = "pyats.reporter-23.3-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:2d8ecf7d167c9ff2503b2a304728da9a247b810153e8269014f45b77f22d8f86"}, + {file = "pyats.reporter-23.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:46319c93693ed1c2c41d6a962ab599cf27cfcc7961e41db579b420572e1f5725"}, + {file = "pyats.reporter-23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9b44ed929083deddc6c3f752458e824c327d0fbc3da75c5bf05b12a8a930d6c2"}, + {file = "pyats.reporter-23.3-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:cfd2374201b36de953ce0febe351b30da80139b53d2e0d8c616f8980632cd20c"}, + {file = "pyats.reporter-23.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:872c9ef82fda590bd7398a38eee2edcaff03c61beb7e3043e90834ebc70356f1"}, + {file = "pyats.reporter-23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4a1527c730d84742505901ed25edbd31971d510b49aceeaeec5e5a826d4fb000"}, + {file = "pyats.reporter-23.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:564021133f34587f9d07f861d7e7c0fac743f631483ea0b5568334f7f3146520"}, + {file = "pyats.reporter-23.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:3f682a0d1ee80f191c60ee288ded104ea915c202a4f5bde278c8c7f4f888d738"}, ] [package.dependencies] gitpython = "*" -"pyats.aereport" = ">=23.1.0,<23.2.0" -"pyats.log" = ">=23.1.0,<23.2.0" -"pyats.results" = ">=23.1.0,<23.2.0" -"pyats.utils" = ">=23.1.0,<23.2.0" +"pyats.aereport" = ">=23.3.0,<23.4.0" +"pyats.log" = ">=23.3.0,<23.4.0" +"pyats.results" = ">=23.3.0,<23.4.0" +"pyats.utils" = ">=23.3.0,<23.4.0" pyyaml = "*" [package.extras] @@ -2054,25 +2018,23 @@ dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-results" -version = "23.1" +version = "23.3" description = "pyATS Results: Representing Results using Objects" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.results-23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:23d2567fc19e3910b8c6ae3dea4c2b1dc8c5a9f77454fdab9cc330a67b9f7787"}, - {file = "pyats.results-23.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:212584e04de0b2214e290a051d4aef75301602652c2a38b711aca1a097c8144a"}, - {file = "pyats.results-23.1-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:9c5e30afee681bb4afa424cb93141fb6d7374c46124292dd27df25a41bfdba30"}, - {file = "pyats.results-23.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:d14e3c53512a1d7498dcc5fc82072ca2c3fca02e949f148a7d3c6064f88bd3e8"}, - {file = "pyats.results-23.1-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:40447dca62ecda0a6dfe33584340a717cbcc444e1b8f04790e4954e06ca2d032"}, - {file = "pyats.results-23.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8aa0f4961729cf1f93429d7018bf9c4fcab497677357ae2a9fbd2c5b07d15d71"}, - {file = "pyats.results-23.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:99e9b24532f0a83faa798b1689a7b6e8a5faf85a3f39eae3f26f5c70852fa735"}, - {file = "pyats.results-23.1-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:539720d1e080a28560e0d14dd5ee02b8d05fb2b13e576bc15a5b29393ea4eaf6"}, - {file = "pyats.results-23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8e1a929c2d309feff3ebd95350383f6902d4015cced2770d9e6a5d31e46d4f16"}, - {file = "pyats.results-23.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:06d72c7a6b0aaa6ede208b2fc96850218c2e78ffc69ba8ad5a405a4105db9c54"}, - {file = "pyats.results-23.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:fd138d6d44255768c191639901f3568753cc010cde1045c66965c5dce3e3a862"}, - {file = "pyats.results-23.1-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:0166fb00f22425548e88bb51450bd591e29f9f510f5ea1634bf37ea70eafcd2b"}, - {file = "pyats.results-23.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5ccf766dd136716d5c24ba5c14a465e78766adc055029313c0d88d803182f1c4"}, + {file = "pyats.results-23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7fe1cd94a37ac42021a104812bbf3748f8f9f42a5517675e5b9c4d1491e52baa"}, + {file = "pyats.results-23.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:d49176f1351f232309d1c99f982e71d739d07eb5257a6c03e51bca4e719a3348"}, + {file = "pyats.results-23.3-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:b8be10990030e2d56b693fbb1f79260bac02ff7ae3bd82ad2b9bf10030e5b9a4"}, + {file = "pyats.results-23.3-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:26f5a55ca1a99f27b9226a6f81a651d0db6c5a4f1c3b71392f74a1003b34a4d2"}, + {file = "pyats.results-23.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:d2f565a54f2048c16f9031ef2a300bcb84b5a810b072f567429d0fb655ea722d"}, + {file = "pyats.results-23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c46de2964fe8819ba89411cb65d9360dea4e4dd87dfaa14ec0dbcc991efcda5e"}, + {file = "pyats.results-23.3-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:e23f94b9b75f6eab0d652b8b19d873dcbcab93a9ffe1d94f5b8d43151f1b25d1"}, + {file = "pyats.results-23.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:49b1afdabbf5125b0a2467ea2ba1d27b5db3847d88a5e01878e5cb0c322f2411"}, + {file = "pyats.results-23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cc81653205f7700b7d32603d6b768683f69432c5a97705acfe1cfa3b96ae1d33"}, + {file = "pyats.results-23.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:c3056ab09bb1e0794cacd97682310f83f525be5fc78cb4c96eb95e9190017d5b"}, + {file = "pyats.results-23.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:338aa4adf77cddb46778cfad39c1699e24d591272830923cddfce726323e34b9"}, ] [package.extras] @@ -2080,61 +2042,57 @@ dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-tcl" -version = "23.1" +version = "23.3" description = "pyATS Tcl: Tcl Integration and Objects" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.tcl-23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:24ca5f22d37b6be1c9e6d34845aaccc795839772d8a1c67817ed4ad5d8173264"}, - {file = "pyats.tcl-23.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:a8e31a8724690aec82dc6f074e9be70836e2808b86fbf213a2e2f994086690d6"}, - {file = "pyats.tcl-23.1-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:779b048f28d395e2d9573f5b5111a804fe9268e93c1326968526185ace8ffa4e"}, - {file = "pyats.tcl-23.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:45ff03987724f554b9bf55a56fe6664beb9ac7223c883113cda2123b6a829e7f"}, - {file = "pyats.tcl-23.1-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:4284f3b81e7db431387f07a99925f122067101f363d2b87123eb51735431f211"}, - {file = "pyats.tcl-23.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6b00524bfd9204ffa67eb37043b9e62446f7788e1f9078f536ebfad099245596"}, - {file = "pyats.tcl-23.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:cee9b60b2422b78cae8b49920441961a3770ffcd47d7623351bc72cedd4287ed"}, - {file = "pyats.tcl-23.1-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:56ff22df4c0b75b5f6571191195dcc97b4f00f2d079ee3cdd2705fa03a88a6ec"}, - {file = "pyats.tcl-23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0ee2b66e0d9bc6661a10fec1d24c42c9bc1df7c98211b0814adaca213d12777b"}, - {file = "pyats.tcl-23.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:c66263501df19839ee99b946326892788865f0330827a54e0317f005b571bb33"}, - {file = "pyats.tcl-23.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:23b29b64dd836a22845e133cec34796ab7ffcad129526362b81df0141597cc1f"}, - {file = "pyats.tcl-23.1-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:5f660947d0c9541cae418872aaa233a85be017370a9f5f4964d8c1caeed8a992"}, - {file = "pyats.tcl-23.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eeffb3bb4175e3f6d136c5900efebddebe83be8450d8a75f24980e95f419757e"}, + {file = "pyats.tcl-23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a39dc8dcc56d28f1bb29d91ee194f7a2359133183abe1a56359dbbe7996697c8"}, + {file = "pyats.tcl-23.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:b0bfae2ba3110e7020940fbb0f13993674c6679123d26602b1625888e4569fd4"}, + {file = "pyats.tcl-23.3-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:bfb3e71bb6ba6f86d272f46cdb04daa2d3f3c41f043805a320321bb87b34dbc8"}, + {file = "pyats.tcl-23.3-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:eda9438cea1354f3699b087cd6bf787e43d862a441b00677bd05087ccda092a3"}, + {file = "pyats.tcl-23.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:4b526efc4e5e5edc95d73e30b0dfbb15c9e847d483715cf1b0fe9e3462c2e45f"}, + {file = "pyats.tcl-23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2fd70e3332a4094b3b63b9e5d67c8abebc855e2195db6ceba28fbeddad0cd7ed"}, + {file = "pyats.tcl-23.3-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:1c394cad205da99d0a77205fc1610ab28ad072d425773f5f7b0524baaf48e62e"}, + {file = "pyats.tcl-23.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:0690712fa3286ffbc47e2e2cad1c7bfa7acad513b7421a912c900ac933369eb9"}, + {file = "pyats.tcl-23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:415a34b5656f80e4993fd348595744059b60654688eb89c88cbd300d2a62140d"}, + {file = "pyats.tcl-23.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:33a405c82e77c0effe74572664a2005444faa88f1365b49105fd42105bcb1209"}, + {file = "pyats.tcl-23.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:fe5127ed63d9a74abaa208bf9477753c785401f3359ff20aa8799a283b47d62c"}, ] [package.dependencies] -"pyats.datastructures" = ">=23.1.0,<23.2.0" -"pyats.log" = ">=23.1.0,<23.2.0" +"pyats.datastructures" = ">=23.3.0,<23.4.0" +"pyats.log" = ">=23.3.0,<23.4.0" [package.extras] dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-topology" -version = "23.1" +version = "23.3" description = "pyATS Topology: Topology Objects and Testbed YAMLs" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.topology-23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a91a3f0988188711026ca893dfb14d724bf3f7a1e646c385a3f5f2de09ee452d"}, - {file = "pyats.topology-23.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:5be04bcf1164af730c10338a49e2b0da47abd48c8ff657cea3e1e43f6580430e"}, - {file = "pyats.topology-23.1-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:6260940f8bf87882a021d971e0659b98dcf5c9f74e6f03fe9997495665b4ac15"}, - {file = "pyats.topology-23.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:dc45045041ba67efc78049703e82d1072b5505bd24b7e7aad21cbaff8ef0c14f"}, - {file = "pyats.topology-23.1-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:4641b698882e0d97e7f4f0343ddbff11b4a7141410037ac47a2db59d5ef25cdf"}, - {file = "pyats.topology-23.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c338e11f2462bbeb21d1506ae546e6275b9b8913fc73be7666a73de205d23845"}, - {file = "pyats.topology-23.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:49bba7192ed86eaf1bda5d741ac253a81b2defd4a20cc6817e3a46478beafab1"}, - {file = "pyats.topology-23.1-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:1f8353ca59799c178c968b90567549928773deb75ba6cd17316d21a2c66357fb"}, - {file = "pyats.topology-23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d189a77e3fcbc84be9337c4dee5f42e5f7571c3ab7e00fa00478af3829c6f199"}, - {file = "pyats.topology-23.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:24aca0c524b9e32afc1b6f218a5daf2f15b01060993b6446021e7663c4dd2ae2"}, - {file = "pyats.topology-23.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:14bd088c0e8c200d00bc082b313ed4a5abaf772df4e5a883b3153310cd479151"}, - {file = "pyats.topology-23.1-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:779d1bf7031c9236bbb9ae94c55798893b2f05333f47136c3c206a56658944fa"}, - {file = "pyats.topology-23.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:4f0f937c0a1cc033a6490b11483e941248fb95e350ee66c6c4615ba68c25eff3"}, -] - -[package.dependencies] -"pyats.connections" = ">=23.1.0,<23.2.0" -"pyats.datastructures" = ">=23.1.0,<23.2.0" -"pyats.utils" = ">=23.1.0,<23.2.0" + {file = "pyats.topology-23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:95262cfedebab2defb9b9ee4707463fa646684c77ab021127d588ca744a4e612"}, + {file = "pyats.topology-23.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:201efba66c232ebc1ae58173167594c1d737c819810ce0ad53154d58712e271a"}, + {file = "pyats.topology-23.3-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:35cf618173f64e9298b2118c91a387e775146355f5193a71b7d3972f535b95da"}, + {file = "pyats.topology-23.3-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:53a99905cca3ec86da28f28d397ecb3b262a7986cbb96cb0856644bce144a9fd"}, + {file = "pyats.topology-23.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:3801076c588fa7d666d083fe656e6d599e0d15e49e9ad54a884c0a7ea87ba3b0"}, + {file = "pyats.topology-23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ab777b3213f6c1de5c5e184bc49aa94c779d1e2204ca497b6bc8ecb65d198227"}, + {file = "pyats.topology-23.3-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:7f71e3fc2ca249f69b9736314de5ebc833457c65d8907d11524273845850df31"}, + {file = "pyats.topology-23.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:57c3244d1c472d54252e61e712b3f70a0b302eb41ac0eb7746b8f4bbcbb20be3"}, + {file = "pyats.topology-23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:86f64f1fed673fafd9a16f9a0aa130168d5fa5ccd114e7d843f6a34a9775c8cb"}, + {file = "pyats.topology-23.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:679bc0a38a0408553b2184c25d7147f22bdd6ce3c13a563f0fba27b1e2a0c337"}, + {file = "pyats.topology-23.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:097966473876c856fc7f9a62fc413b81b6e12f63abf04b5ff6653d3c8bc9c14c"}, +] + +[package.dependencies] +"pyats.connections" = ">=23.3.0,<23.4.0" +"pyats.datastructures" = ">=23.3.0,<23.4.0" +"pyats.utils" = ">=23.3.0,<23.4.0" pyyaml = "*" yamllint = "*" @@ -2143,32 +2101,30 @@ dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-utils" -version = "23.1" +version = "23.3" description = "pyATS Utils: Utilities Module" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.utils-23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:509eb7f89597a7343b7d4193a74efd801a46728d4df240568f395074e9b1eaa0"}, - {file = "pyats.utils-23.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:5c672ca28a4d8a909182c0b65a19648897b31a3fa606efb38fdad09ea29737f4"}, - {file = "pyats.utils-23.1-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:1bc5cb21aad8c09f2057d6b5467ac1843df442d58455ae5e0316d5756ebf17ab"}, - {file = "pyats.utils-23.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:c3636a8fd97a83b23a45ac13be15dc97180aa24b30a7ab6e7491d87c5d577f3c"}, - {file = "pyats.utils-23.1-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:d9bbb2281ba8ad27299a81979018f279c847b7b8c9458ceb285565ddba298169"}, - {file = "pyats.utils-23.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c4610e7c8804f62a9ddf92946f79d5e6acbf0a8dc139e9317f7336f8118bd582"}, - {file = "pyats.utils-23.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:dd3d118e252b86b2eae753ed14466de1f5806f3e74d2aac162ab716eda45a974"}, - {file = "pyats.utils-23.1-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:a0aa3e256ee1302cfdf3433bbd530c154811c30025e7ced3d4fe33363a67c47b"}, - {file = "pyats.utils-23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:54d71d0b25dc610051f5f6a84f2578ea7407b148d98c58ac8b015f17f257db31"}, - {file = "pyats.utils-23.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:6f4afbc0bac26d72cb5ee63689843ac1c1e3eb44d1681162280c4d60a6dc23a1"}, - {file = "pyats.utils-23.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:4d40ad44923b58ad851c819717f54055ba8f1f389f721b5975447d6d1887b7c1"}, - {file = "pyats.utils-23.1-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:9d2ab173dbd75638af195ee052c05d6266fe4f189ee975d17114ba63ceb98d36"}, - {file = "pyats.utils-23.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:78758936ef944b8326742362b7ffa085064e5c9932e6eb8b4c5386c358d615bf"}, + {file = "pyats.utils-23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:824b555302c17a8d101d923b4e43007bded40ab602ee2bd7cd5087b854cc1e63"}, + {file = "pyats.utils-23.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:96cc4fc12c6f4b8bdfa6eda884f0d671aae2e7ae121e345db12204308f801785"}, + {file = "pyats.utils-23.3-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:f9d4feebe08170bf274d4fabe0df848e92e5103c31442e40d0d39555c1171369"}, + {file = "pyats.utils-23.3-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:962fb42b9affca4f83c6f20a871d34e1ec8861c2415099989c3563d8681c50ee"}, + {file = "pyats.utils-23.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:0f6579ccc4b58b139b346340a8376036609b7b6121c5e1eeddb5f9817669b5bb"}, + {file = "pyats.utils-23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:61fdb9e624a1c579fc11d080db37bf53674c5e04c976ada9f8684397fa2875fb"}, + {file = "pyats.utils-23.3-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:6ef23c887e451838a505f63fb1cb3c65586310b4cb502b10a52da4ede675547c"}, + {file = "pyats.utils-23.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:3b2c7507b7cfceb50dd188c1b2b00023e2f42a07f273a918c0a79ea083340365"}, + {file = "pyats.utils-23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f881f6d513d46a141a7ff395096fdf7ad7a994e9d25bfdfaf93aaaf25dcec9ab"}, + {file = "pyats.utils-23.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:2a48f721c45dd4be07e5da211fe87beec6616213335f5245747984846457b14f"}, + {file = "pyats.utils-23.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:fd3d59125666761b800e4354a520587d153b0f8ad42af09a22022254a5713c3f"}, ] [package.dependencies] cryptography = "*" distro = "*" -"pyats.datastructures" = ">=23.1.0,<23.2.0" -"pyats.topology" = ">=23.1.0,<23.2.0" +"pyats.datastructures" = ">=23.3.0,<23.4.0" +"pyats.topology" = ">=23.3.0,<23.4.0" [package.extras] dev = ["Sphinx", "requests-mock", "sphinx-rtd-theme"] @@ -2287,14 +2243,14 @@ ssl = ["PyOpenSSL"] [[package]] name = "pygments" -version = "2.14.0" +version = "2.15.0" description = "Pygments is a syntax highlighting package written in Python." category = "dev" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "Pygments-2.14.0-py3-none-any.whl", hash = "sha256:fa7bd7bd2771287c0de303af8bfdfc731f51bd2c6a47ab69d117138893b82717"}, - {file = "Pygments-2.14.0.tar.gz", hash = "sha256:b3ed06a9e8ac9a9aae5a6f5dbe78a8a58655d17b43b93c078f094ddc476ae297"}, + {file = "Pygments-2.15.0-py3-none-any.whl", hash = "sha256:77a3299119af881904cd5ecd1ac6a66214b6e9bed1f2db16993b54adede64094"}, + {file = "Pygments-2.15.0.tar.gz", hash = "sha256:f7e36cffc4c517fbc252861b9a6e4644ca0e5abadf9a113c72d1358ad09b9500"}, ] [package.extras] @@ -2642,14 +2598,14 @@ paramiko = "*" [[package]] name = "setuptools" -version = "67.2.0" +version = "67.6.1" description = "Easily download, build, install, upgrade, and uninstall Python packages" category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "setuptools-67.2.0-py3-none-any.whl", hash = "sha256:16ccf598aab3b506593c17378473978908a2734d7336755a8769b480906bec1c"}, - {file = "setuptools-67.2.0.tar.gz", hash = "sha256:b440ee5f7e607bb8c9de15259dba2583dd41a38879a7abc1d43a71c59524da48"}, + {file = "setuptools-67.6.1-py3-none-any.whl", hash = "sha256:e728ca814a823bf7bf60162daf9db95b93d532948c4c0bea762ce62f60189078"}, + {file = "setuptools-67.6.1.tar.gz", hash = "sha256:257de92a9d50a60b8e22abfcbb771571fde0dbf3ec234463212027a4eeecbe9a"}, ] [package.extras] @@ -2734,14 +2690,14 @@ files = [ [[package]] name = "tqdm" -version = "4.64.1" +version = "4.65.0" description = "Fast, Extensible Progress Meter" category = "dev" optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" +python-versions = ">=3.7" files = [ - {file = "tqdm-4.64.1-py2.py3-none-any.whl", hash = "sha256:6fee160d6ffcd1b1c68c65f14c829c22832bc401726335ce92c52d395944a6a1"}, - {file = "tqdm-4.64.1.tar.gz", hash = "sha256:5f4f682a004951c1b450bc753c710e9280c5746ce6ffedee253ddbcbf54cf1e4"}, + {file = "tqdm-4.65.0-py3-none-any.whl", hash = "sha256:c4f53a17fe37e132815abceec022631be8ffe1b9381c2e6e30aa70edc99e9671"}, + {file = "tqdm-4.65.0.tar.gz", hash = "sha256:1871fb68a86b8fb3b59ca4cdd3dcccbc7e6d613eeed31f4c332531977b89beb5"}, ] [package.dependencies] @@ -2755,14 +2711,14 @@ telegram = ["requests"] [[package]] name = "ttp" -version = "0.9.2" +version = "0.9.3" description = "Template Text Parser" category = "dev" optional = false python-versions = ">=2.7,<4.0" files = [ - {file = "ttp-0.9.2-py2.py3-none-any.whl", hash = "sha256:0b427d81d76d733e80e7ed40206e22a7a0193394ee7dafa0b5122ee4f9d68797"}, - {file = "ttp-0.9.2.tar.gz", hash = "sha256:31e7c98d08481662a4d3a2d5347792273bcf09e5e1088f0e5e471c85caee29a7"}, + {file = "ttp-0.9.3-py2.py3-none-any.whl", hash = "sha256:d68b08533682873a2b81f9a362eeb3c06b000a77ac8a7edb46ea7c82c510fe03"}, + {file = "ttp-0.9.3.tar.gz", hash = "sha256:6d92e17ecb19651ca3d3d9c72035ad3b639419bd08a074507e41547aab75cce7"}, ] [package.extras] @@ -2856,43 +2812,41 @@ files = [ [[package]] name = "typing-extensions" -version = "4.4.0" +version = "4.5.0" description = "Backported and Experimental Type Hints for Python 3.7+" category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "typing_extensions-4.4.0-py3-none-any.whl", hash = "sha256:16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e"}, - {file = "typing_extensions-4.4.0.tar.gz", hash = "sha256:1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa"}, + {file = "typing_extensions-4.5.0-py3-none-any.whl", hash = "sha256:fb33085c39dd998ac16d1431ebc293a8b3eedd00fd4a32de0ff79002c19511b4"}, + {file = "typing_extensions-4.5.0.tar.gz", hash = "sha256:5cb5f4a79139d699607b3ef622a1dedafa84e115ab0024e0d9c044a9479ca7cb"}, ] [[package]] name = "unicon" -version = "23.1" +version = "23.3" description = "Unicon Connection Library" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "unicon-23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:733fbfe3e1fa3a601299670d7e2199ab16e50e4ed13a4d387ee99e8a1a2841d7"}, - {file = "unicon-23.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:2d335732b07bf54393b9f2c4bd300fec1720c3c1d0147dbf38f59180913675d5"}, - {file = "unicon-23.1-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:4fea8f88be86717abbecf2b61978dcd30df6eb44549a084d66e7433785ea87e2"}, - {file = "unicon-23.1-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:695d6c3b6c8d3d456df3f8609ec8e547829faf32f02d1054859655f9cec666b8"}, - {file = "unicon-23.1-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:76a7376dd775c9c68a2cd09488de8ee70f7b3b5e9fb8113e0931e9a11a00fb33"}, - {file = "unicon-23.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:03aae74549c1c5ab8ae4a0747665653bda19c6573608342a499b501b8860cfcf"}, - {file = "unicon-23.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:0d4ad49ef0b2c658c823584df788456575c73ec6639f361672dd038293d693f6"}, - {file = "unicon-23.1-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:f54e3f812700c997ea1bcdaffd7f9e327571cfc94d5c4b84b292d16c41f419fd"}, - {file = "unicon-23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f6631e5c953996b08d9a3316dcbe4aa41aab5323216df09f73a1c4259df6d75a"}, - {file = "unicon-23.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:17e2f1a9ab82f8a5581587b3453dd621090e482c765395caba187666f457e05a"}, - {file = "unicon-23.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:e3bf45cc071795c974306fc83347b4fc43edd71c0bd7ca030c65f1fee508a780"}, - {file = "unicon-23.1-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:4cebbfde710583a481f04f6db687e66fad8c7d65edea9b5e72d61722519e3d0d"}, - {file = "unicon-23.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:bb58b66107fc4494d6677e6cd0ae825112c3f5bf76d2e6b8976f9bad96d1cabc"}, + {file = "unicon-23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f6b31ab3f069636289eae02628bb54ab065425d6e8bdb4cb55c402bb4712076a"}, + {file = "unicon-23.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:8591d3c5aa8b656db849060b3719332882a237c603bfa4ec8e5bef6a02916190"}, + {file = "unicon-23.3-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:8ddf424e8a0d43a69b9ed4090837c00c77b52cad02ad667c227db8dc4b929912"}, + {file = "unicon-23.3-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:8e0fc95d2d99cc3efce276d1745b803b1e74f579f6e8dcfe07a410dc4ea53802"}, + {file = "unicon-23.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:7949217b9fe41b5bf3d6d2f0cf1869841f5dcb6dd8fdc9f1164db1d13a0f8026"}, + {file = "unicon-23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:262fdffceb7a2cc12061acf13e21632638ba339c913671b779c16e6a78ecb25b"}, + {file = "unicon-23.3-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:ca198e01f1260d93f83ad0ebfeb3448c9038a79ed6d3f0fbb5a2a68ec582d722"}, + {file = "unicon-23.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:4f14d7a3c1ada9bd1949d77207eb32e63ac3f9f93ac755112f25018723997044"}, + {file = "unicon-23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a6fc53015af3e3c6cc367f9b2cd4b4087219484242033a35e0569fa030962638"}, + {file = "unicon-23.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:688338d1da27b460dacfcbac8d8fd631c3f43f4f6ddb578b1ece65026da49442"}, + {file = "unicon-23.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:cbbd84008c658a8ee305d3facaf3f4f071cbe50eb1b0b03bca6c1c826e94edeb"}, ] [package.dependencies] dill = "*" pyyaml = "*" -"unicon.plugins" = ">=23.1.0,<23.2.0" +"unicon.plugins" = ">=23.3.0,<23.4.0" [package.extras] dev = ["Sphinx", "cisco-distutils", "coverage", "restview", "sphinx-rtd-theme", "sphinxcontrib-mockautodoc", "sphinxcontrib-napoleon"] @@ -2901,33 +2855,33 @@ robot = ["robotframework"] [[package]] name = "unicon-plugins" -version = "23.1" +version = "23.3" description = "Unicon Connection Library Plugins" category = "dev" optional = false python-versions = "*" files = [ - {file = "unicon.plugins-23.1-py3-none-any.whl", hash = "sha256:cbd4e7f168fe2fefe934dfe265e85b229ec757f08df1aa95c70718602a1800af"}, + {file = "unicon.plugins-23.3-py3-none-any.whl", hash = "sha256:6c8800eeb23408d1a6e9a377e08f5640a1b6a72d2667198a3dec7df1a6809ed8"}, ] [package.dependencies] PrettyTable = "*" pyyaml = "*" -unicon = ">=23.1.0,<23.2.0" +unicon = ">=23.3.0,<23.4.0" [package.extras] dev = ["Sphinx", "coverage", "pip", "restview", "setuptools", "sphinx-rtd-theme", "sphinxcontrib-mockautodoc", "sphinxcontrib-napoleon", "wheel"] [[package]] name = "urllib3" -version = "1.26.14" +version = "1.26.15" description = "HTTP library with thread-safe connection pooling, file post, and more." category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" files = [ - {file = "urllib3-1.26.14-py2.py3-none-any.whl", hash = "sha256:75edcdc2f7d85b137124a6c3c9fc3933cdeaa12ecb9a6a959f22797a0feca7e1"}, - {file = "urllib3-1.26.14.tar.gz", hash = "sha256:076907bf8fd355cde77728471316625a4d2f7e713c125f51953bb5b3eecf4f72"}, + {file = "urllib3-1.26.15-py2.py3-none-any.whl", hash = "sha256:aa751d169e23c7479ce47a0cb0da579e3ede798f994f5816a74e4f4500dcea42"}, + {file = "urllib3-1.26.15.tar.gz", hash = "sha256:8a388717b9476f934a21484e8c8e61875ab60644d29b9b39e11e4b9dc1c6b305"}, ] [package.extras] @@ -2961,18 +2915,18 @@ files = [ [[package]] name = "wheel" -version = "0.38.4" +version = "0.40.0" description = "A built-package format for Python" category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "wheel-0.38.4-py3-none-any.whl", hash = "sha256:b60533f3f5d530e971d6737ca6d58681ee434818fab630c83a734bb10c083ce8"}, - {file = "wheel-0.38.4.tar.gz", hash = "sha256:965f5259b566725405b05e7cf774052044b1ed30119b5d586b2703aafe8719ac"}, + {file = "wheel-0.40.0-py3-none-any.whl", hash = "sha256:d236b20e7cb522daf2390fa84c55eea81c5c30190f90f29ae2ca1ad8355bf247"}, + {file = "wheel-0.40.0.tar.gz", hash = "sha256:cd1196f3faee2b31968d626e1731c94f99cbdb67cf5a46e4f5656cbee7738873"}, ] [package.extras] -test = ["pytest (>=3.0.0)"] +test = ["pytest (>=6.0.0)"] [[package]] name = "xmltodict" @@ -2988,14 +2942,13 @@ files = [ [[package]] name = "yamllint" -version = "1.29.0" +version = "1.30.0" description = "A linter for YAML files." category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "yamllint-1.29.0-py3-none-any.whl", hash = "sha256:5153bf9f8205aa9dc6af6217e38bd4f5baf09d9a7c6f4ae1e23f90d9c00c49c5"}, - {file = "yamllint-1.29.0.tar.gz", hash = "sha256:66a755d5fbcbb8831f1a9568676329b5bac82c37995bcc9afd048b6459f9fa48"}, + {file = "yamllint-1.30.0.tar.gz", hash = "sha256:4f58f323aedda16189a489d183ecc25c66d7a9cc0fe88f61b650fef167b13190"}, ] [package.dependencies] @@ -3005,14 +2958,13 @@ setuptools = "*" [[package]] name = "yang-connector" -version = "23.1" +version = "23.3" description = "YANG defined interface API protocol connector" category = "dev" optional = false python-versions = "*" files = [ - {file = "yang.connector-23.1-py3-none-any.whl", hash = "sha256:be496acc25422c3e124994869c209cfbbfa31365dd060799844da1cc93149158"}, - {file = "yang.connector-23.1.tar.gz", hash = "sha256:0af6195dbec4532f3b92b4e28f692a9121204379b1142c206fe0bbb1328edce4"}, + {file = "yang.connector-23.3-py3-none-any.whl", hash = "sha256:555c63d755b318cfed3d67eb19a57a427985313d669ed686ae4cbd99f1e2fd2f"}, ] [package.dependencies] @@ -3116,19 +3068,19 @@ typing-extensions = {version = ">=3.7.4", markers = "python_version < \"3.8\""} [[package]] name = "zipp" -version = "3.13.0" +version = "3.15.0" description = "Backport of pathlib-compatible object wrapper for zip files" category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "zipp-3.13.0-py3-none-any.whl", hash = "sha256:e8b2a36ea17df80ffe9e2c4fda3f693c3dad6df1697d3cd3af232db680950b0b"}, - {file = "zipp-3.13.0.tar.gz", hash = "sha256:23f70e964bc11a34cef175bc90ba2914e1e4545ea1e3e2f67c079671883f9cb6"}, + {file = "zipp-3.15.0-py3-none-any.whl", hash = "sha256:48904fc76a60e542af151aded95726c1a5c34ed43ab4134b597665c86d7ad556"}, + {file = "zipp-3.15.0.tar.gz", hash = "sha256:112929ad649da941c23de50f356a2b5570c954b65150642bccdd66bf194d224b"}, ] [package.extras] docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["flake8 (<5)", "func-timeout", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] [metadata] lock-version = "2.0" From 3f647bc7f7859e5e1f8f2332b3944936703b1d9e Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Mon, 17 Apr 2023 17:25:19 -0700 Subject: [PATCH 53/70] Teldata CIT Driver (#3168) Co-authored-by: disbymixtape <> Co-authored-by: dysby --- netmiko/ssh_dispatcher.py | 3 + netmiko/teldat/__init__.py | 3 + netmiko/teldat/teldat_cit.py | 190 +++++++++++++++++++++++++++++++++++ 3 files changed, 196 insertions(+) create mode 100644 netmiko/teldat/__init__.py create mode 100644 netmiko/teldat/teldat_cit.py diff --git a/netmiko/ssh_dispatcher.py b/netmiko/ssh_dispatcher.py index 2a8818494..6b528b128 100755 --- a/netmiko/ssh_dispatcher.py +++ b/netmiko/ssh_dispatcher.py @@ -110,6 +110,7 @@ from netmiko.ruijie import RuijieOSSSH, RuijieOSTelnet from netmiko.sixwind import SixwindOSSSH from netmiko.sophos import SophosSfosSSH +from netmiko.teldat import TeldatCITSSH, TeldatCITTelnet from netmiko.terminal_server import TerminalServerSSH from netmiko.terminal_server import TerminalServerTelnet from netmiko.tplink import TPLinkJetStreamSSH, TPLinkJetStreamTelnet @@ -249,6 +250,7 @@ "sixwind_os": SixwindOSSSH, "sophos_sfos": SophosSfosSSH, "supermicro_smis": SmciSwitchSmisSSH, + "teldat_cit": TeldatCITSSH, "tplink_jetstream": TPLinkJetStreamSSH, "ubiquiti_edge": UbiquitiEdgeSSH, "ubiquiti_edgerouter": UbiquitiEdgeRouterSSH, @@ -332,6 +334,7 @@ CLASS_MAPPER["ruckus_fastiron_telnet"] = RuckusFastironTelnet CLASS_MAPPER["ruijie_os_telnet"] = RuijieOSTelnet CLASS_MAPPER["supermicro_smis_telnet"] = SmciSwitchSmisTelnet +CLASS_MAPPER["teldat_cit_telnet"] = TeldatCITTelnet CLASS_MAPPER["tplink_jetstream_telnet"] = TPLinkJetStreamTelnet CLASS_MAPPER["yamaha_telnet"] = YamahaTelnet CLASS_MAPPER["zte_zxros_telnet"] = ZteZxrosTelnet diff --git a/netmiko/teldat/__init__.py b/netmiko/teldat/__init__.py new file mode 100644 index 000000000..a14298af5 --- /dev/null +++ b/netmiko/teldat/__init__.py @@ -0,0 +1,3 @@ +from netmiko.teldat.teldat_cit import TeldatCITSSH, TeldatCITTelnet + +__all__ = ["TeldatCITSSH", "TeldatCITTelnet"] diff --git a/netmiko/teldat/teldat_cit.py b/netmiko/teldat/teldat_cit.py new file mode 100644 index 000000000..77fd853e7 --- /dev/null +++ b/netmiko/teldat/teldat_cit.py @@ -0,0 +1,190 @@ +from typing import Optional, Any, Union, Sequence, Iterator, TextIO +from netmiko.base_connection import BaseConnection +from netmiko.no_enable import NoEnable +import time +import re +from netmiko import log + + +class TeldatCITBase(NoEnable, BaseConnection): + def session_preparation(self) -> None: + # Prompt is "*" + self._test_channel_read(pattern=r"\*") + self.set_base_prompt() + # Clear the read buffer + time.sleep(0.3 * self.global_delay_factor) + self.clear_buffer() + + def disable_paging( + self, + command: str = "", + delay_factor: Optional[float] = None, + cmd_verify: bool = True, + pattern: Optional[str] = None, + ) -> str: + """Teldat doesn't have pagging""" + return "" + + def set_base_prompt( + self, + pri_prompt_terminator: str = "*", + alt_prompt_terminator: str = "*", + delay_factor: float = 1.0, + pattern: Optional[str] = None, + ) -> str: + """ + Teldat base prompt is "hostname *" + """ + return super().set_base_prompt( + pri_prompt_terminator=pri_prompt_terminator, + alt_prompt_terminator=alt_prompt_terminator, + delay_factor=delay_factor, + pattern=pattern, + ) + + def cleanup(self, command: str = "logout") -> None: + """Gracefully exit the SSH session.""" + self._base_mode() + + if self.session_log: + self.session_log.fin = True + + # Always try to send final 'logout' + self.write_channel(command + self.RETURN) + output = "" + for _ in range(30): + time.sleep(0.1) + output += self.read_channel() + if "Do you wish to end" in output: + self.write_channel("yes" + self.RETURN) + break + + def _check_monitor_mode(self, check_string: str = "+", pattern: str = "") -> bool: + return super().check_config_mode(check_string=check_string, pattern=pattern) + + def check_config_mode( + self, check_string: str = ">", pattern: str = "", force_regex: bool = False + ) -> bool: + return super().check_config_mode( + check_string=check_string, pattern=pattern, force_regex=force_regex + ) + + def _check_running_config_mode( + self, check_string: str = "$", pattern: str = "" + ) -> bool: + return super().check_config_mode(check_string=check_string, pattern=pattern) + + def _monitor_mode( + self, monitor_command: str = "p 3", pattern: str = r"\+", re_flags: int = 0 + ) -> str: + """ + Enter into monitor_mode. + On Teldat devices always go to base mode before entering other modes + Cannot reuse super.config_mode() because config mode check is called only with + defaults in BaseConnection + """ + self._base_mode() # Teldat does not allow mode switching, go to base mode first + + output = "" + self.write_channel(self.normalize_cmd(monitor_command)) + # Make sure you read until you detect the command echo (avoid getting out of sync) + if self.global_cmd_verify is not False: + output += self.read_until_pattern( + pattern=re.escape(monitor_command.strip()) + ) + if not re.search(pattern, output, flags=re_flags): + output += self.read_until_pattern(pattern=pattern, re_flags=re_flags) + if not self._check_monitor_mode(): + raise ValueError("Failed to enter monitor mode.") + return output + + def config_mode( + self, config_command: str = "p 4", pattern: str = "onfig>", re_flags: int = 0 + ) -> str: + self._base_mode() + return super().config_mode( + config_command=config_command, pattern=pattern, re_flags=re_flags + ) + + def _running_config_mode( + self, config_command: str = "p 5", pattern: str = r"onfig\$", re_flags: int = 0 + ) -> str: + """Enter running config mode.""" + self._base_mode() + + output = "" + self.write_channel(self.normalize_cmd(config_command)) + # Make sure you read until you detect the command echo (avoid getting out of sync) + if self.global_cmd_verify is not False: + output += self.read_until_pattern(pattern=re.escape(config_command.strip())) + if not re.search(pattern, output, flags=re_flags): + output += self.read_until_pattern(pattern=pattern, re_flags=re_flags) + if not self._check_running_config_mode(): + raise ValueError("Failed to enter running config mode.") + return output + + def send_config_set( + self, + config_commands: Union[str, Sequence[str], Iterator[str], TextIO, None] = None, + *, + exit_config_mode: bool = False, + **kwargs: Any, + ) -> str: + """ + For Teldat devices always enter config mode + """ + return super().send_config_set( + config_commands=config_commands, + exit_config_mode=exit_config_mode, + **kwargs, + ) + + def save_config( + self, cmd: str = "save yes", confirm: bool = False, confirm_response: str = "" + ) -> str: + if not self.check_config_mode() or not self._check_running_config_mode(): + raise ValueError("Cannot save if not in config or running config mode") + # Some devices are slow so match on trailing-prompt if you can + output = self._send_command_str( + command_string=cmd, strip_prompt=False, strip_command=False + ) + return output + + def exit_config_mode(self, exit_config: str = "", pattern: str = "") -> str: + return self._base_mode() + + def _base_mode(self, exit_cmd: str = "\x10", pattern: str = r"\*") -> str: + """ + Exit from other modes (monitor, config, running config). + Send CTRL+P to the device + """ + output = "" + self.write_channel(self.normalize_cmd(exit_cmd)) + # Teldat - exit_cmd not printable + output += self.read_until_pattern(pattern=pattern) + log.debug(f"_base_mode: {output}") + return output + + +class TeldatCITSSH(TeldatCITBase): + pass + + +class TeldatCITTelnet(TeldatCITBase): + def telnet_login( + self, + pri_prompt_terminator: str = r"\*", + alt_prompt_terminator: str = r"\*", + username_pattern: str = "Username:", + pwd_pattern: str = "Password:", + delay_factor: float = 1.0, + max_loops: int = 60, + ) -> str: + return super().telnet_login( + pri_prompt_terminator=pri_prompt_terminator, + alt_prompt_terminator=alt_prompt_terminator, + username_pattern=username_pattern, + pwd_pattern=pwd_pattern, + delay_factor=delay_factor, + max_loops=max_loops, + ) From 82760f5eac7ae81fc666f3855e7fc0f1ef76665d Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Mon, 17 Apr 2023 18:38:23 -0700 Subject: [PATCH 54/70] Extreme ERS handle menu (#3169) Co-authored-by: Microbuse <81070908+Microbuse@users.noreply.github.com> --- netmiko/extreme/extreme_ers_ssh.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/netmiko/extreme/extreme_ers_ssh.py b/netmiko/extreme/extreme_ers_ssh.py index 88962c66f..b57448d3f 100644 --- a/netmiko/extreme/extreme_ers_ssh.py +++ b/netmiko/extreme/extreme_ers_ssh.py @@ -5,6 +5,7 @@ # Extreme ERS presents Enter Ctrl-Y to begin. CTRL_Y = "\x19" +CTRL_C = "\x63" class ExtremeErsSSH(CiscoSSHConnection): @@ -34,7 +35,9 @@ def special_login_handler(self, delay_factor: float = 1.0) -> None: password = "ssword" cntl_y = "Ctrl-Y" enter_msg = "Press ENTER to continue" - pattern = rf"(?:{uname}|{password}|{cntl_y}|{enter_msg}|{self.prompt_pattern})" + pattern = ( + rf"(?:{uname}|{password}|{cntl_y}|{enter_msg}|{self.prompt_pattern}|Menu)" + ) while True: new_data = self.read_until_pattern(pattern=pattern, read_timeout=25.0) output += new_data @@ -51,6 +54,8 @@ def special_login_handler(self, delay_factor: float = 1.0) -> None: elif password in new_data: assert isinstance(self.password, str) self.write_channel(self.password + self.RETURN) + elif "Menu" in new_data: + self.write_channel(CTRL_C) else: msg = f""" From 80d4e2513a41a4641c49c08b75bf480148756199 Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Mon, 17 Apr 2023 19:20:17 -0700 Subject: [PATCH 55/70] Ciena fixes (#3170) Co-authored-by: Cristian Cordero --- netmiko/ciena/ciena_saos.py | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/netmiko/ciena/ciena_saos.py b/netmiko/ciena/ciena_saos.py index a0fd9ccaa..f3c0c21ee 100644 --- a/netmiko/ciena/ciena_saos.py +++ b/netmiko/ciena/ciena_saos.py @@ -15,14 +15,33 @@ class CienaSaosBase(NoEnable, NoConfig, BaseConnection): Implements methods for interacting Ciena Saos devices. """ + prompt_pattern = r"[>#$]" + + def set_base_prompt( + self, + pri_prompt_terminator: str = "", + alt_prompt_terminator: str = "", + delay_factor: float = 1.0, + pattern: Optional[str] = None, + ) -> str: + """Ciena can use '>', '$', '#' for prompt terminator depending on the device.""" + prompt = self.find_prompt(delay_factor=delay_factor) + + pattern = rf"^.+{self.prompt_pattern}$" + if re.search(pattern, prompt): + raise ValueError(f"Router prompt not found: {repr(prompt)}") + # Strip off trailing terminator + self.base_prompt = prompt[:-1] + return self.base_prompt + def session_preparation(self) -> None: - self._test_channel_read(pattern=r"[>#]") + self._test_channel_read(pattern=self.prompt_pattern) self.set_base_prompt() self.disable_paging(command="system shell session set more off") def _enter_shell(self) -> str: """Enter the Bourne Shell.""" - output = self._send_command_str("diag shell", expect_string=r"[$#>]") + output = self._send_command_str("diag shell", expect_string=self.prompt_pattern) if "SHELL PARSER FAILURE" in output: msg = "SCP support on Ciena SAOS requires 'diag shell' permissions" raise ValueError(msg) From 7c28d5c62574295039594be241c12a34107d3232 Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Mon, 17 Apr 2023 20:50:54 -0700 Subject: [PATCH 56/70] Cisco S200 Driver (#3171) Co-authored-by: Vladislav Charikov --- netmiko/cisco/__init__.py | 4 ++ netmiko/cisco/cisco_s200.py | 104 ++++++++++++++++++++++++++++++++++++ netmiko/ssh_dispatcher.py | 3 ++ 3 files changed, 111 insertions(+) create mode 100644 netmiko/cisco/cisco_s200.py diff --git a/netmiko/cisco/__init__.py b/netmiko/cisco/__init__.py index 1d32396e1..72eabcdd8 100644 --- a/netmiko/cisco/__init__.py +++ b/netmiko/cisco/__init__.py @@ -11,6 +11,8 @@ from netmiko.cisco.cisco_nxos_ssh import CiscoNxosSSH, CiscoNxosFileTransfer from netmiko.cisco.cisco_xr import CiscoXrSSH, CiscoXrTelnet, CiscoXrFileTransfer from netmiko.cisco.cisco_wlc_ssh import CiscoWlcSSH +from netmiko.cisco.cisco_s200 import CiscoS200SSH +from netmiko.cisco.cisco_s200 import CiscoS200Telnet from netmiko.cisco.cisco_s300 import CiscoS300SSH from netmiko.cisco.cisco_s300 import CiscoS300Telnet from netmiko.cisco.cisco_tp_tcce import CiscoTpTcCeSSH @@ -25,6 +27,8 @@ "CiscoXrSSH", "CiscoXrTelnet", "CiscoWlcSSH", + "CiscoS200SSH", + "CiscoS200Telnet", "CiscoS300SSH", "CiscoS300Telnet", "CiscoTpTcCeSSH", diff --git a/netmiko/cisco/cisco_s200.py b/netmiko/cisco/cisco_s200.py new file mode 100644 index 000000000..ef7045815 --- /dev/null +++ b/netmiko/cisco/cisco_s200.py @@ -0,0 +1,104 @@ +import re +from os import path + +from paramiko import SSHClient +from netmiko.ssh_auth import SSHClient_noauth +from netmiko.cisco_base_connection import CiscoSSHConnection +from netmiko.exceptions import NetmikoAuthenticationException + + +class CiscoS200Base(CiscoSSHConnection): + """ + Support for Cisco SG200 series of devices. + + This connection class writes for low cost switches SG200 series, in which there is no command: + + ip ssh password-auth + + Consequently, Netmiko must handle the SSH authentication itself. + """ + + prompt_pattern = r"(?m:[>#]\s*$)" # force re.Multiline + + def _build_ssh_client(self) -> SSHClient: + """Allow passwordless authentication for Cisco SG200 devices being provisioned.""" + + # Create instance of SSHClient object. Use noauth + remote_conn_pre = SSHClient_noauth() + + # Load host_keys for better SSH security + if self.system_host_keys: + remote_conn_pre.load_system_host_keys() + if self.alt_host_keys and path.isfile(self.alt_key_file): + remote_conn_pre.load_host_keys(self.alt_key_file) + + # Default is to automatically add untrusted hosts (make sure appropriate for your env) + remote_conn_pre.set_missing_host_key_policy(self.key_policy) + return remote_conn_pre + + def special_login_handler(self, delay_factor: float = 1.0) -> None: + """Cisco SG2xx presents with the following on login + + login as: user + + Welcome to Layer 2 Managed Switch + + Username: user + Password:**** + """ + output = "" + uname = "Username:" + login = "login as" + password = "ssword" + pattern = rf"(?:{uname}|{login}|{password}|{self.prompt_pattern})" + + while True: + new_data = self.read_until_pattern(pattern=pattern, read_timeout=25.0) + output += new_data + + # Fully logged-in, switch prompt detected. + if re.search(self.prompt_pattern, new_data): + return + + if uname in new_data or login in new_data: + assert isinstance(self.username, str) + self.write_channel(self.username + self.RETURN) + elif password in new_data: + assert isinstance(self.password, str) + self.write_channel(self.password + self.RETURN) + else: + msg = f""" +Failed to login to Cisco SG2xx. + +Pattern not detected: {pattern} +output: + +{output} + +""" + raise NetmikoAuthenticationException(msg) + + def session_preparation(self) -> None: + """Prepare the session after the connection has been established.""" + self.ansi_escape_codes = True + self._test_channel_read(pattern=r"[>#]") + self.set_base_prompt() + self.disable_paging(command="terminal length 0") + + def save_config( + self, + cmd: str = "write memory", + confirm: bool = True, + confirm_response: str = "Y", + ) -> str: + return super().save_config( + cmd=cmd, confirm=confirm, confirm_response=confirm_response + ) + + +class CiscoS200SSH(CiscoS200Base): + pass + + +class CiscoS200Telnet(CiscoS200Base): + pass diff --git a/netmiko/ssh_dispatcher.py b/netmiko/ssh_dispatcher.py index 6b528b128..5cfec493c 100755 --- a/netmiko/ssh_dispatcher.py +++ b/netmiko/ssh_dispatcher.py @@ -39,6 +39,7 @@ CiscoIosSerial, ) from netmiko.cisco import CiscoNxosSSH, CiscoNxosFileTransfer +from netmiko.cisco import CiscoS200SSH, CiscoS200Telnet from netmiko.cisco import CiscoS300SSH, CiscoS300Telnet from netmiko.cisco import CiscoTpTcCeSSH from netmiko.cisco import CiscoViptelaSSH @@ -173,6 +174,7 @@ "cisco_ftd": CiscoFtdSSH, "cisco_ios": CiscoIosSSH, "cisco_nxos": CiscoNxosSSH, + "cisco_s200": CiscoS200SSH, "cisco_s300": CiscoS300SSH, "cisco_tp": CiscoTpTcCeSSH, "cisco_viptela": CiscoViptelaSSH, @@ -311,6 +313,7 @@ CLASS_MAPPER["ciena_saos_telnet"] = CienaSaosTelnet CLASS_MAPPER["cisco_ios_telnet"] = CiscoIosTelnet CLASS_MAPPER["cisco_xr_telnet"] = CiscoXrTelnet +CLASS_MAPPER["cisco_s200_telnet"] = CiscoS200Telnet CLASS_MAPPER["cisco_s300_telnet"] = CiscoS300Telnet CLASS_MAPPER["dell_dnos6_telnet"] = DellDNOS6Telnet CLASS_MAPPER["dell_powerconnect_telnet"] = DellPowerConnectTelnet From 08811d3cdd3350eea08d341b8b0baf0a76e342c5 Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Tue, 18 Apr 2023 12:03:50 -0700 Subject: [PATCH 57/70] Make Huawei telnet login consistent with SSH login (#3173) --- netmiko/huawei/huawei.py | 109 ++++++++++++++------------------------- 1 file changed, 38 insertions(+), 71 deletions(-) diff --git a/netmiko/huawei/huawei.py b/netmiko/huawei/huawei.py index f3753c181..6f2b3ae69 100644 --- a/netmiko/huawei/huawei.py +++ b/netmiko/huawei/huawei.py @@ -1,5 +1,4 @@ from typing import Optional, Any, Union, Sequence, Iterator, TextIO -import time import re import warnings @@ -12,6 +11,8 @@ class HuaweiBase(NoEnable, CiscoBaseConnection): prompt_pattern = r"[\]>]" + password_change_prompt = r"(?:Change now|Please choose)" + prompt_or_password_change = rf"(?:Change now|Please choose|{prompt_pattern})" def session_preparation(self) -> None: """Prepare the session after the connection has been established.""" @@ -145,12 +146,8 @@ class HuaweiSSH(HuaweiBase): def special_login_handler(self, delay_factor: float = 1.0) -> None: # Huawei prompts for password change before displaying the initial base prompt. # Search for that password change prompt or for base prompt. - password_change_prompt = r"(Change now|Please choose)" - prompt_or_password_change = ( - rf"(?:Change now|Please choose|{self.prompt_pattern})" - ) - data = self.read_until_pattern(pattern=prompt_or_password_change) - if re.search(password_change_prompt, data): + data = self.read_until_pattern(pattern=self.prompt_or_password_change) + if re.search(self.password_change_prompt, data): self.write_channel("N" + self.RETURN) self.read_until_pattern(pattern=self.prompt_pattern) @@ -160,79 +157,49 @@ class HuaweiTelnet(HuaweiBase): def telnet_login( self, - pri_prompt_terminator: str = r"]\s*$", - alt_prompt_terminator: str = r">\s*$", + pri_prompt_terminator: str = r"", + alt_prompt_terminator: str = r"", username_pattern: str = r"(?:user:|username|login|user name)", pwd_pattern: str = r"assword", delay_factor: float = 1.0, max_loops: int = 20, ) -> str: """Telnet login for Huawei Devices""" - - delay_factor = self.select_delay_factor(delay_factor) - password_change_prompt = r"(?:Change now|Please choose 'YES' or 'NO').+" - combined_pattern = r"({}|{}|{})".format( - pri_prompt_terminator, alt_prompt_terminator, password_change_prompt - ) - output = "" return_msg = "" - i = 1 - while i <= max_loops: - try: - # Search for username pattern / send username - output = self.read_until_pattern( - pattern=username_pattern, re_flags=re.I - ) + try: + # Search for username pattern / send username + output = self.read_until_pattern(pattern=username_pattern, re_flags=re.I) + return_msg += output + self.write_channel(self.username + self.TELNET_RETURN) + + # Search for password pattern / send password + output = self.read_until_pattern(pattern=pwd_pattern, re_flags=re.I) + return_msg += output + assert self.password is not None + self.write_channel(self.password + self.TELNET_RETURN) + + # Waiting for the prompt or password change message + output = self.read_until_pattern(pattern=self.prompt_or_password_change) + return_msg += output + + # If password change prompt, send "N" + if re.search(self.password_change_prompt, output): + self.write_channel("N" + self.TELNET_RETURN) + output = self.read_until_pattern(pattern=self.prompt_pattern) return_msg += output - self.write_channel(self.username + self.TELNET_RETURN) - - # Search for password pattern / send password - output = self.read_until_pattern(pattern=pwd_pattern, re_flags=re.I) - return_msg += output - assert self.password is not None - self.write_channel(self.password + self.TELNET_RETURN) - - # Waiting for combined output - output = self.read_until_pattern(pattern=combined_pattern) - return_msg += output - - # Search for password change prompt, send "N" - if re.search(password_change_prompt, output): - self.write_channel("N" + self.TELNET_RETURN) - output = self.read_until_pattern(pattern=combined_pattern) - return_msg += output - - # Check if proper data received - if re.search(pri_prompt_terminator, output, flags=re.M) or re.search( - alt_prompt_terminator, output, flags=re.M - ): - return return_msg - - self.write_channel(self.TELNET_RETURN) - time.sleep(0.5 * delay_factor) - i += 1 - - except EOFError: - assert self.remote_conn is not None - self.remote_conn.close() - msg = f"Login failed: {self.host}" - raise NetmikoAuthenticationException(msg) - - # Last try to see if we already logged in - self.write_channel(self.TELNET_RETURN) - time.sleep(0.5 * delay_factor) - output = self.read_channel() - return_msg += output - if re.search(pri_prompt_terminator, output, flags=re.M) or re.search( - alt_prompt_terminator, output, flags=re.M - ): - return return_msg - - assert self.remote_conn is not None - self.remote_conn.close() - msg = f"Login failed: {self.host}" - raise NetmikoAuthenticationException(msg) + return return_msg + elif re.search(self.prompt_pattern, output): + return return_msg + + # Should never be here + raise EOFError + + except EOFError: + assert self.remote_conn is not None + self.remote_conn.close() + msg = f"Login failed: {self.host}" + raise NetmikoAuthenticationException(msg) class HuaweiVrpv8SSH(HuaweiSSH): From b201608ce0da5391ecc4cf857c4a10e2386ad36a Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Wed, 19 Apr 2023 10:26:32 -0700 Subject: [PATCH 58/70] Add poetry install process for Netmiko 'develop' branch (#3174) --- COMMON_ISSUES.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/COMMON_ISSUES.md b/COMMON_ISSUES.md index 94898e8ba..0d19beb3c 100644 --- a/COMMON_ISSUES.md +++ b/COMMON_ISSUES.md @@ -92,3 +92,22 @@ redispatch(net_connect, device_type='cisco_ios') # Now just do your normal Netmiko operations new_output = net_connect.send_command("show ip int brief") ``` + +### Installing Netmiko `develop` branch (with Poetry support) + +To install the Netmiko `develop` branch follow this process. + +1. Install Python poetry. This should be documented online. +2. export PATH="/home//.local/bin:$PATH" # make sure poetry is on your $PATH +3. git clone https://github.com/ktbyers/netmiko +4. cd netmiko # change dir into the base of the Netmiko repository. +5. Create a new virtual environment + +``` +# Use the appropriate python3 for your machine +# This creates a virtual environment named .venv +python3.10 -m venv .venv +``` + +6. source .venv/bin/activate # Activate virtual env +7. poetry install # Install all of the Netmiko dependencies From c7f8756d398e3f86c1e04e2a2a5aeca06a743933 Mon Sep 17 00:00:00 2001 From: Mitchell Axtell <64588751+MitchAxtell@users.noreply.github.com> Date: Wed, 26 Apr 2023 23:29:01 -0400 Subject: [PATCH 59/70] Ruckus Fastiron- Added "Login" as a RADIUS login option (#3179) ICX 9.x uses "Login" on enable instead of "User Name" --- netmiko/ruckus/ruckus_fastiron.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/netmiko/ruckus/ruckus_fastiron.py b/netmiko/ruckus/ruckus_fastiron.py index 2cb7a3496..2668f20a8 100644 --- a/netmiko/ruckus/ruckus_fastiron.py +++ b/netmiko/ruckus/ruckus_fastiron.py @@ -23,12 +23,12 @@ def session_preparation(self) -> None: def enable( self, cmd: str = "enable", - pattern: str = r"(ssword|User Name)", + pattern: str = r"(ssword|User Name|Login)", enable_pattern: Optional[str] = None, re_flags: int = re.IGNORECASE, ) -> str: """Enter enable mode. - With RADIUS can prompt for User Name + With RADIUS can prompt for User Name or Login SSH@Lab-ICX7250>en User Name:service_netmiko Password: @@ -44,7 +44,7 @@ def enable( pattern=pattern, re_flags=re_flags, read_entire_line=True ) output += new_data - if "User Name" in new_data: + if "User Name" in new_data or "Login" in new_data: self.write_channel(self.normalize_cmd(self.username)) new_data = self.read_until_prompt_or_pattern( pattern=pattern, re_flags=re_flags, read_entire_line=True From 897098211a6d5fa991a18793b1b8b3e3be26bd42 Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Wed, 26 Apr 2023 20:32:26 -0700 Subject: [PATCH 60/70] Fix hostname change issue with commit on Junos (#3180) --- netmiko/juniper/juniper.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/netmiko/juniper/juniper.py b/netmiko/juniper/juniper.py index 8ead15849..082cbd77c 100644 --- a/netmiko/juniper/juniper.py +++ b/netmiko/juniper/juniper.py @@ -193,8 +193,9 @@ def commit( output = self.config_mode() # and_quit will get out of config mode on commit - expect_string = re.escape(self.base_prompt) if and_quit else None - + # hostname might change on commit, and-quit might result in exiting config mode. + re_prompt = re.escape(self.base_prompt) + expect_string = rf"(?:{re_prompt}|[>#])" output += self._send_command_str( command_string, expect_string=expect_string, From c7ae7eaeda15b599acb27a6ddb352437731f1c58 Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Wed, 3 May 2023 15:26:50 -0700 Subject: [PATCH 61/70] Add better support for read_timeout in send_config_set() particularly (#3156) in read_until_pattern calls. --- netmiko/base_connection.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/netmiko/base_connection.py b/netmiko/base_connection.py index 63d2e597f..f28accaf0 100644 --- a/netmiko/base_connection.py +++ b/netmiko/base_connection.py @@ -2148,7 +2148,8 @@ def send_config_set( :param strip_command: Determines whether or not to strip the command - :param read_timeout: Absolute timer to send to read_channel_timing. Should be rarely needed. + :param read_timeout: Absolute timer to send to read_channel_timing. Also adjusts + read_timeout in read_until_pattern calls. :param config_mode_command: The command to enter into config mode @@ -2254,11 +2255,15 @@ def send_config_set( self.write_channel(self.normalize_cmd(cmd)) # Make sure command is echoed - output += self.read_until_pattern(pattern=re.escape(cmd.strip())) + output += self.read_until_pattern( + pattern=re.escape(cmd.strip()), read_timeout=read_timeout + ) # Read until next prompt or terminator (#); the .*$ forces read of entire line pattern = f"(?:{re.escape(self.base_prompt)}.*$|{terminator}.*$)" - output += self.read_until_pattern(pattern=pattern, re_flags=re.M) + output += self.read_until_pattern( + pattern=pattern, read_timeout=read_timeout, re_flags=re.M + ) if error_pattern: if re.search(error_pattern, output, flags=re.M): From 84055b4b8001e48367967a0e295bf883eaea93be Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Wed, 3 May 2023 16:55:25 -0700 Subject: [PATCH 62/70] Added support for Ericsson MINI-LINK (MLTN) 66XX & 63XX (updated) (#3189) Co-authored-by: Kevin Kuusela Co-authored-by: codekuu --- netmiko/ericsson/__init__.py | 3 +- netmiko/ericsson/ericsson_mltn.py | 155 ++++++++++++++++++++++++++++++ netmiko/ssh_dispatcher.py | 9 +- 3 files changed, 164 insertions(+), 3 deletions(-) create mode 100644 netmiko/ericsson/ericsson_mltn.py diff --git a/netmiko/ericsson/__init__.py b/netmiko/ericsson/__init__.py index 0e66db056..b0dd8459e 100644 --- a/netmiko/ericsson/__init__.py +++ b/netmiko/ericsson/__init__.py @@ -1,3 +1,4 @@ from netmiko.ericsson.ericsson_ipos import EricssonIposSSH +from netmiko.ericsson.ericsson_mltn import EricssonMinilink63SSH, EricssonMinilink66SSH -__all__ = ["EricssonIposSSH"] +__all__ = ["EricssonIposSSH", "EricssonMinilink63SSH", "EricssonMinilink66SSH"] diff --git a/netmiko/ericsson/ericsson_mltn.py b/netmiko/ericsson/ericsson_mltn.py new file mode 100644 index 000000000..1b6eb8f8c --- /dev/null +++ b/netmiko/ericsson/ericsson_mltn.py @@ -0,0 +1,155 @@ +"""Ericsson MiniLink driver.""" +import time +import re +from os import path +from typing import Any +from paramiko import SSHClient +from netmiko.ssh_auth import SSHClient_noauth +from netmiko.base_connection import BaseConnection +from netmiko.exceptions import NetmikoTimeoutException +from netmiko.no_enable import NoEnable + + +class EricssonMinilinkBase(NoEnable, BaseConnection): + """Ericsson MiniLink Base class""" + + prompt_pattern = r"[>#]" + + def __init__( + self, + *args: Any, + **kwargs: Any, + ) -> None: + + # Set default auth_timeout + if kwargs.get("auth_timeout") is None: + kwargs["auth_timeout"] = 20 + + # Remove username from kwargs to avoid duplicates + self._real_username = "" + if "username" in kwargs: + # Saving the username for the acutal login prompt + self._real_username = kwargs["username"] + # Setting CLI as the default ssh username + kwargs["username"] = "cli" + + super().__init__(*args, **kwargs) + + # Add back the username + if self._real_username: + kwargs["username"] = self._real_username + + def _build_ssh_client(self) -> SSHClient: + remote_conn_pre: SSHClient + if not self.use_keys: + remote_conn_pre = SSHClient_noauth() + else: + remote_conn_pre = SSHClient() + + if self.system_host_keys: + remote_conn_pre.load_system_host_keys() + if self.alt_host_keys and path.isfile(self.alt_key_file): + remote_conn_pre.load_host_keys(self.alt_key_file) + + remote_conn_pre.set_missing_host_key_policy(self.key_policy) + return remote_conn_pre + + def session_preparation(self) -> None: + self._test_channel_read(pattern=self.prompt_pattern) + self.set_base_prompt( + pri_prompt_terminator="#", alt_prompt_terminator=">", delay_factor=1 + ) + + def special_login_handler(self, delay_factor: float = 1.0) -> None: + """Handle Ericcsons Special MINI-LINK CLI login + ------------------------------------------ + MINI-LINK Command Line Interface + ------------------------------------------ + + Welcome to + User: + Password: + """ + + start = time.time() + output = "" + assert self.auth_timeout is not None + while time.time() - start < self.auth_timeout: + username_pattern = r"(?:login:|User:)" + password_pattern = "ssword" + busy = "busy" + combined_pattern = rf"(?:{username_pattern}|{password_pattern}|{busy})" + + new_output = self.read_until_pattern( + pattern=combined_pattern, read_timeout=self.auth_timeout + ) + output += new_output + if re.search(username_pattern, new_output): + self.write_channel(self._real_username + self.RETURN) + continue + elif re.search(password_pattern, new_output): + assert isinstance(self.password, str) + self.write_channel(self.password + self.RETURN) + break + elif re.search(busy, new_output): + self.disconnect() + raise ValueError("CLI is currently busy") + else: # no-break + msg = f"""Login process failed to device: +Timeout reached (auth_timeout={self.auth_timeout} seconds)""" + raise NetmikoTimeoutException(msg) + + def save_config( + self, cmd: str = "write", confirm: bool = False, confirm_response: str = "" + ) -> str: + """Saves Config.""" + if self.check_config_mode(): + self.exit_config_mode() + + self.send_command(command_string=cmd, strip_prompt=False, strip_command=False) + return "success" + + def config_mode( + self, + config_command: str = "config", + pattern: str = r"\(config\)#", + re_flags: int = 0, + ) -> str: + return super().config_mode(config_command, pattern, re_flags=re_flags) + + def check_config_mode( + self, + check_string: str = "(config)#", + pattern: str = "", + force_regex: bool = False, + ) -> bool: + return super().check_config_mode(check_string, pattern, force_regex=force_regex) + + def exit_config_mode(self, exit_config: str = "exit", pattern: str = "") -> str: + return super().exit_config_mode(exit_config, pattern) + + def cleanup(self, command: str = "exit") -> None: + """Gracefully exit the SSH session.""" + try: + if self.check_config_mode(): + self.exit_config_mode() + except Exception: + pass + # Always try to send final 'exit' (command) + if self.session_log: + self.session_log.fin = True + self.write_channel(command + self.RETURN) + + +class EricssonMinilink63SSH(EricssonMinilinkBase): + """Common Methods for Ericsson Minilink 63XX (SSH)""" + + def cleanup(self, command: str = "quit") -> None: + """Gracefully exit the SSH session.""" + return super().cleanup(command) + + +class EricssonMinilink66SSH(EricssonMinilinkBase): + """Common Methods for Ericsson Minilink 66XX (SSH)""" + + pass diff --git a/netmiko/ssh_dispatcher.py b/netmiko/ssh_dispatcher.py index 5cfec493c..bc3efc147 100755 --- a/netmiko/ssh_dispatcher.py +++ b/netmiko/ssh_dispatcher.py @@ -60,7 +60,11 @@ from netmiko.eltex import EltexSSH, EltexEsrSSH from netmiko.endace import EndaceSSH from netmiko.enterasys import EnterasysSSH -from netmiko.ericsson import EricssonIposSSH +from netmiko.ericsson import ( + EricssonIposSSH, + EricssonMinilink63SSH, + EricssonMinilink66SSH, +) from netmiko.extreme import ExtremeErsSSH from netmiko.extreme import ExtremeExosSSH, ExtremeExosFileTransfer from netmiko.extreme import ExtremeExosTelnet @@ -197,6 +201,8 @@ "eltex_esr": EltexEsrSSH, "enterasys": EnterasysSSH, "ericsson_ipos": EricssonIposSSH, + "ericsson_mltn63": EricssonMinilink63SSH, + "ericsson_mltn66": EricssonMinilink66SSH, "extreme": ExtremeExosSSH, "extreme_ers": ExtremeErsSSH, "extreme_exos": ExtremeExosSSH, @@ -441,7 +447,6 @@ def ConnLogOnly( def ConnUnify( **kwargs: Any, ) -> "BaseConnection": - try: kwargs["auto_connect"] = False net_connect = ConnectHandler(**kwargs) From 134a6378c9daf383ff9f914a29e361c62bcd7ebd Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Thu, 4 May 2023 10:15:40 -0700 Subject: [PATCH 63/70] Add Netmiko entry points to Poetry (and corresponding tests) (#3192) --- .github/workflows/commit.yaml | 1 + poetry.lock | 914 ++++++++++++++++---------------- pyproject.toml | 7 +- tests.sh | 1 + tests/unit/test_entry_points.py | 13 + 5 files changed, 480 insertions(+), 456 deletions(-) create mode 100644 tests/unit/test_entry_points.py diff --git a/.github/workflows/commit.yaml b/.github/workflows/commit.yaml index 49001579e..79d6ed2ba 100644 --- a/.github/workflows/commit.yaml +++ b/.github/workflows/commit.yaml @@ -98,3 +98,4 @@ jobs: poetry run pytest -v -s tests/unit/test_utilities.py poetry run pytest -v -s tests/unit/test_ssh_autodetect.py poetry run pytest -v -s tests/unit/test_connection.py + poetry run pytest -v -s tests/unit/test_entry_points.py diff --git a/poetry.lock b/poetry.lock index 62e2e0aa7..8add4c2c1 100644 --- a/poetry.lock +++ b/poetry.lock @@ -724,34 +724,34 @@ files = [ [[package]] name = "genie" -version = "23.3" +version = "23.4" description = "Genie: THE standard pyATS Library System" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "genie-23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:59d9beec80f7f9c982d82d7e0d50360e82ae0a90f4a64ba5f623e3862df0c0d2"}, - {file = "genie-23.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:032f7152400307e050c15561764b259ea8e8e9485162f33bc64132ac45fda63a"}, - {file = "genie-23.3-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:ea59249a730630302d3e4995acc6be8fe4c5461069699ef54f3e83a101585805"}, - {file = "genie-23.3-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:e05527236792dac02b0f1468c90360139ab3655813a2a1c034ebbc30c77df2b3"}, - {file = "genie-23.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:35fa3f157d084b72252c2b0496fa1703ee499b13710b38f59786545d570d90be"}, - {file = "genie-23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b60504f12d3007098e9a90a88d9244675836ce8d83028c23bccf0641efa5d612"}, - {file = "genie-23.3-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:66c1d40947fa9a7f8a570b917f80d269aea55942836de9f69ae53d2b461497bf"}, - {file = "genie-23.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:4b953fadffc35a941e109506bf16bb83f4ba7c52148e466f0741612e2cb8d312"}, - {file = "genie-23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:df27a7a29e1faebfc992a809b40f74c5cd3444d3a24049195b5db068fae2b479"}, - {file = "genie-23.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:3b525480dae06e9742ed91c7b8bf73a8536a8d2e4b2acb91379de84b7b9d1d4c"}, - {file = "genie-23.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:8f574fa32288ed86fd8a5f50a1e7197d90fb0b24b67481ce573231eb45f6fc0e"}, + {file = "genie-23.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:34d78309764bdd917cc86ef0ecae54e93c88d94d35ef6e18134fedc1ebb78104"}, + {file = "genie-23.4-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:7d7f637dd07b58a30fb9d434e1674dae18c1ef0ed520a413edb69feb9efd8784"}, + {file = "genie-23.4-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:0449b9987da80e2c634fe3983c2babef8f18b1d568dc1be58ed0bf6b594e0271"}, + {file = "genie-23.4-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:e58d324b43e3259dfcc18294589d2a0c8f26d3dcdb4ecc9bcbd32cdc1b31572f"}, + {file = "genie-23.4-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:58a78e89562194bcdbc323e8d4d9869c4cb073233199b97fb463d588828e9ea4"}, + {file = "genie-23.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:d11c82e5304d046c6cbce477e6da39e250391e890c0c162c93c0233eb36717fc"}, + {file = "genie-23.4-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:8c2da8609ad97730025ab19d6ded9966797b4f0a08eaf01cc685552831b76c44"}, + {file = "genie-23.4-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:8d6186b6afa08e652736949ffe85568eb6d3a1991dd032a7472c1851b683a295"}, + {file = "genie-23.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8577eb1db327e9531567fdcdfcbf1a7cc1e9a6a8bc204d8e85c458f69fbdedb4"}, + {file = "genie-23.4-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:2f61c4cb68824f1db6bea34a800e1905572f51f6a2537f3b0da1cde5674be0e9"}, + {file = "genie-23.4-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:fa94cb2dad3649da66ded89f0eb4d8613a4b6aa19d469e0d23b95dd71cdd00e4"}, ] [package.dependencies] dill = "*" -"genie.libs.clean" = ">=23.3.0,<23.4.0" -"genie.libs.conf" = ">=23.3.0,<23.4.0" -"genie.libs.filetransferutils" = ">=23.3.0,<23.4.0" -"genie.libs.health" = ">=23.3.0,<23.4.0" -"genie.libs.ops" = ">=23.3.0,<23.4.0" -"genie.libs.parser" = ">=23.3.0,<23.4.0" -"genie.libs.sdk" = ">=23.3.0,<23.4.0" +"genie.libs.clean" = ">=23.4.0,<23.5.0" +"genie.libs.conf" = ">=23.4.0,<23.5.0" +"genie.libs.filetransferutils" = ">=23.4.0,<23.5.0" +"genie.libs.health" = ">=23.4.0,<23.5.0" +"genie.libs.ops" = ">=23.4.0,<23.5.0" +"genie.libs.parser" = ">=23.4.0,<23.5.0" +"genie.libs.sdk" = ">=23.4.0,<23.5.0" jsonpickle = "*" netaddr = "*" PrettyTable = "*" @@ -759,18 +759,18 @@ tqdm = "*" [package.extras] dev = ["Sphinx", "coverage", "restview", "sphinx-rtd-theme"] -full = ["genie.libs.clean", "genie.libs.conf", "genie.libs.filetransferutils", "genie.libs.health", "genie.libs.ops", "genie.libs.parser", "genie.libs.robot (>=23.3.0,<23.4.0)", "genie.libs.sdk", "genie.telemetry (>=23.3.0,<23.4.0)", "genie.trafficgen (>=23.3.0,<23.4.0)", "pyats.robot (>=23.3.0,<23.4.0)"] -robot = ["genie.libs.robot (>=23.3.0,<23.4.0)", "pyats.robot (>=23.3.0,<23.4.0)"] +full = ["genie.libs.clean", "genie.libs.conf", "genie.libs.filetransferutils", "genie.libs.health", "genie.libs.ops", "genie.libs.parser", "genie.libs.robot (>=23.4.0,<23.5.0)", "genie.libs.sdk", "genie.telemetry (>=23.4.0,<23.5.0)", "genie.trafficgen (>=23.4.0,<23.5.0)", "pyats.robot (>=23.4.0,<23.5.0)"] +robot = ["genie.libs.robot (>=23.4.0,<23.5.0)", "pyats.robot (>=23.4.0,<23.5.0)"] [[package]] name = "genie-libs-clean" -version = "23.3" +version = "23.4" description = "Genie Library for device clean support" category = "dev" optional = false python-versions = "*" files = [ - {file = "genie.libs.clean-23.3-py3-none-any.whl", hash = "sha256:5f36adb30967da534dadec7ec998cee553393a3aa607c508416e046e0cd43ed9"}, + {file = "genie.libs.clean-23.4-py3-none-any.whl", hash = "sha256:03b9ea2b2f28a012cc033459f1089edbaab342a6fb6f63a3f0240202a1ccde58"}, ] [package.dependencies] @@ -783,13 +783,13 @@ dev = ["Sphinx", "coverage", "paramiko", "restview", "sphinx-rtd-theme", "sphinx [[package]] name = "genie-libs-conf" -version = "23.3" +version = "23.4" description = "Genie libs Conf: Libraries to configures topology through Python object attributes" category = "dev" optional = false python-versions = "*" files = [ - {file = "genie.libs.conf-23.3-py3-none-any.whl", hash = "sha256:35840cbf4b7be27eed05e69e46b53770d60a5a333ff347fb301d8f7c26a7f08b"}, + {file = "genie.libs.conf-23.4-py3-none-any.whl", hash = "sha256:6ed32bf36e1f7e75177087d5d88e45057ee64d504c8123ad0a562978e036c706"}, ] [package.extras] @@ -797,13 +797,13 @@ dev = ["Sphinx", "coverage", "restview", "sphinx-rtd-theme"] [[package]] name = "genie-libs-filetransferutils" -version = "23.3" +version = "23.4" description = "Genie libs FileTransferUtils: Genie FileTransferUtils Libraries" category = "dev" optional = false python-versions = "*" files = [ - {file = "genie.libs.filetransferutils-23.3-py3-none-any.whl", hash = "sha256:2fa5eec5e0f7f4f3bf4e17245e1f1746fcb096daf96bd1bea69f3683f2d926aa"}, + {file = "genie.libs.filetransferutils-23.4-py3-none-any.whl", hash = "sha256:8a02c9b89df875b388b6ec2cad7cb046ebae43113d3ef6692d3f45edce2cd3a3"}, ] [package.dependencies] @@ -816,13 +816,13 @@ dev = ["Sphinx", "coverage", "restview", "sphinx-rtd-theme"] [[package]] name = "genie-libs-health" -version = "23.3" +version = "23.4" description = "pyATS Health Check for monitoring device health status" category = "dev" optional = false python-versions = "*" files = [ - {file = "genie.libs.health-23.3-py3-none-any.whl", hash = "sha256:42403a7538b23ac34b13e827b69138b50a3dd0fc07e0ef8819f35f3252869009"}, + {file = "genie.libs.health-23.4-py3-none-any.whl", hash = "sha256:79807f3a85f720ff0b13bfd9a17025d1e21db6d72da77e15dd91a885e970efdf"}, ] [package.dependencies] @@ -835,13 +835,13 @@ dev = ["Sphinx", "coverage", "paramiko", "restview", "sphinx-rtd-theme", "sphinx [[package]] name = "genie-libs-ops" -version = "23.3" +version = "23.4" description = "Genie libs Ops: Libraries to retrieve operational state of the topology" category = "dev" optional = false python-versions = "*" files = [ - {file = "genie.libs.ops-23.3-py3-none-any.whl", hash = "sha256:87dc3624054ebf196223aaaccf0c3c00d1edfc4992ee4b852557e9badf0cd862"}, + {file = "genie.libs.ops-23.4-py3-none-any.whl", hash = "sha256:87674d49dbca657063194746c15aa80eb646036573ac3180b1bd55bb53cb8679"}, ] [package.extras] @@ -849,13 +849,13 @@ dev = ["Sphinx", "coverage", "restview", "sphinx-rtd-theme"] [[package]] name = "genie-libs-parser" -version = "23.3" +version = "23.4" description = "Genie libs Parser: Genie Parser Libraries" category = "dev" optional = false python-versions = "*" files = [ - {file = "genie.libs.parser-23.3-py3-none-any.whl", hash = "sha256:69d0eaefd9432cef4f0ad05f30d418f61b5677931f25043feaa5de7e4f389abe"}, + {file = "genie.libs.parser-23.4-py3-none-any.whl", hash = "sha256:0ca0b61d8996ed0203094892937fd5e4f3623e61c0efc08ffdfd12d627de07ca"}, ] [package.dependencies] @@ -866,13 +866,13 @@ dev = ["Sphinx", "coverage", "restview", "sphinx-rtd-theme"] [[package]] name = "genie-libs-sdk" -version = "23.3" +version = "23.4" description = "Genie libs sdk: Libraries containing all Triggers and Verifications" category = "dev" optional = false python-versions = "*" files = [ - {file = "genie.libs.sdk-23.3-py3-none-any.whl", hash = "sha256:72b44a1c7047596fb8e3c462c659e9ff26ce0556cd0b0593fadcc1456d70bffe"}, + {file = "genie.libs.sdk-23.4-py3-none-any.whl", hash = "sha256:351bb90537f22554187d8ead19adb9e2a0de046c48b60ad55f9f042f4164bd34"}, ] [package.dependencies] @@ -915,61 +915,61 @@ typing-extensions = {version = ">=3.7.4.3", markers = "python_version < \"3.8\"" [[package]] name = "grpcio" -version = "1.53.0" +version = "1.54.0" description = "HTTP/2-based RPC framework" category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "grpcio-1.53.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:752d2949b40e12e6ad3ed8cc552a65b54d226504f6b1fb67cab2ccee502cc06f"}, - {file = "grpcio-1.53.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:8a48fd3a7222be226bb86b7b413ad248f17f3101a524018cdc4562eeae1eb2a3"}, - {file = "grpcio-1.53.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:f3e837d29f0e1b9d6e7b29d569e2e9b0da61889e41879832ea15569c251c303a"}, - {file = "grpcio-1.53.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aef7d30242409c3aa5839b501e877e453a2c8d3759ca8230dd5a21cda029f046"}, - {file = "grpcio-1.53.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e6f90698b5d1c5dd7b3236cd1fa959d7b80e17923f918d5be020b65f1c78b173"}, - {file = "grpcio-1.53.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:a96c3c7f564b263c5d7c0e49a337166c8611e89c4c919f66dba7b9a84abad137"}, - {file = "grpcio-1.53.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ee81349411648d1abc94095c68cd25e3c2812e4e0367f9a9355be1e804a5135c"}, - {file = "grpcio-1.53.0-cp310-cp310-win32.whl", hash = "sha256:fdc6191587de410a184550d4143e2b24a14df495c86ca15e59508710681690ac"}, - {file = "grpcio-1.53.0-cp310-cp310-win_amd64.whl", hash = "sha256:658ffe1e39171be00490db5bd3b966f79634ac4215a1eb9a85c6cd6783bf7f6e"}, - {file = "grpcio-1.53.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:1b172e6d497191940c4b8d75b53de82dc252e15b61de2951d577ec5b43316b29"}, - {file = "grpcio-1.53.0-cp311-cp311-macosx_10_10_universal2.whl", hash = "sha256:82434ba3a5935e47908bc861ce1ebc43c2edfc1001d235d6e31e5d3ed55815f7"}, - {file = "grpcio-1.53.0-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:1c734a2d4843e4e14ececf5600c3c4750990ec319e1299db7e4f0d02c25c1467"}, - {file = "grpcio-1.53.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b6a2ead3de3b2d53119d473aa2f224030257ef33af1e4ddabd4afee1dea5f04c"}, - {file = "grpcio-1.53.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a34d6e905f071f9b945cabbcc776e2055de1fdb59cd13683d9aa0a8f265b5bf9"}, - {file = "grpcio-1.53.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eaf8e3b97caaf9415227a3c6ca5aa8d800fecadd526538d2bf8f11af783f1550"}, - {file = "grpcio-1.53.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:da95778d37be8e4e9afca771a83424f892296f5dfb2a100eda2571a1d8bbc0dc"}, - {file = "grpcio-1.53.0-cp311-cp311-win32.whl", hash = "sha256:e4f513d63df6336fd84b74b701f17d1bb3b64e9d78a6ed5b5e8a198bbbe8bbfa"}, - {file = "grpcio-1.53.0-cp311-cp311-win_amd64.whl", hash = "sha256:ddb2511fbbb440ed9e5c9a4b9b870f2ed649b7715859fd6f2ebc585ee85c0364"}, - {file = "grpcio-1.53.0-cp37-cp37m-linux_armv7l.whl", hash = "sha256:2a912397eb8d23c177d6d64e3c8bc46b8a1c7680b090d9f13a640b104aaec77c"}, - {file = "grpcio-1.53.0-cp37-cp37m-macosx_10_10_universal2.whl", hash = "sha256:55930c56b8f5b347d6c8c609cc341949a97e176c90f5cbb01d148d778f3bbd23"}, - {file = "grpcio-1.53.0-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:6601d812105583948ab9c6e403a7e2dba6e387cc678c010e74f2d6d589d1d1b3"}, - {file = "grpcio-1.53.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c705e0c21acb0e8478a00e7e773ad0ecdb34bd0e4adc282d3d2f51ba3961aac7"}, - {file = "grpcio-1.53.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba074af9ca268ad7b05d3fc2b920b5fb3c083da94ab63637aaf67f4f71ecb755"}, - {file = "grpcio-1.53.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:14817de09317dd7d3fbc8272864288320739973ef0f4b56bf2c0032349da8cdf"}, - {file = "grpcio-1.53.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:c7ad9fbedb93f331c2e9054e202e95cf825b885811f1bcbbdfdc301e451442db"}, - {file = "grpcio-1.53.0-cp37-cp37m-win_amd64.whl", hash = "sha256:dad5b302a4c21c604d88a5d441973f320134e6ff6a84ecef9c1139e5ffd466f6"}, - {file = "grpcio-1.53.0-cp38-cp38-linux_armv7l.whl", hash = "sha256:fa8eaac75d3107e3f5465f2c9e3bbd13db21790c6e45b7de1756eba16b050aca"}, - {file = "grpcio-1.53.0-cp38-cp38-macosx_10_10_universal2.whl", hash = "sha256:104a2210edd3776c38448b4f76c2f16e527adafbde171fc72a8a32976c20abc7"}, - {file = "grpcio-1.53.0-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:dbc1ba968639c1d23476f75c356e549e7bbf2d8d6688717dcab5290e88e8482b"}, - {file = "grpcio-1.53.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:95952d3fe795b06af29bb8ec7bbf3342cdd867fc17b77cc25e6733d23fa6c519"}, - {file = "grpcio-1.53.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f144a790f14c51b8a8e591eb5af40507ffee45ea6b818c2482f0457fec2e1a2e"}, - {file = "grpcio-1.53.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:0698c094688a2dd4c7c2f2c0e3e142cac439a64d1cef6904c97f6cde38ba422f"}, - {file = "grpcio-1.53.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6b6d60b0958be711bab047e9f4df5dbbc40367955f8651232bfdcdd21450b9ab"}, - {file = "grpcio-1.53.0-cp38-cp38-win32.whl", hash = "sha256:1948539ce78805d4e6256ab0e048ec793956d54787dc9d6777df71c1d19c7f81"}, - {file = "grpcio-1.53.0-cp38-cp38-win_amd64.whl", hash = "sha256:df9ba1183b3f649210788cf80c239041dddcb375d6142d8bccafcfdf549522cd"}, - {file = "grpcio-1.53.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:19caa5b7282a89b799e63776ff602bb39604f7ca98db6df27e2de06756ae86c3"}, - {file = "grpcio-1.53.0-cp39-cp39-macosx_10_10_universal2.whl", hash = "sha256:b5bd026ac928c96cc23149e6ef79183125542062eb6d1ccec34c0a37e02255e7"}, - {file = "grpcio-1.53.0-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:7dc8584ca6c015ad82e186e82f4c0fe977394588f66b8ecfc4ec873285314619"}, - {file = "grpcio-1.53.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2eddaae8af625e45b5c8500dcca1043264d751a6872cde2eda5022df8a336959"}, - {file = "grpcio-1.53.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5fb6f3d7824696c1c9f2ad36ddb080ba5a86f2d929ef712d511b4d9972d3d27"}, - {file = "grpcio-1.53.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:8270d1dc2c98ab57e6dbf36fa187db8df4c036f04a398e5d5e25b4e01a766d70"}, - {file = "grpcio-1.53.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:976a7f24eb213e8429cab78d5e120500dfcdeb01041f1f5a77b17b9101902615"}, - {file = "grpcio-1.53.0-cp39-cp39-win32.whl", hash = "sha256:9c84a481451e7174f3a764a44150f93b041ab51045aa33d7b5b68b6979114e48"}, - {file = "grpcio-1.53.0-cp39-cp39-win_amd64.whl", hash = "sha256:6beb84f83360ff29a3654f43f251ec11b809dcb5524b698d711550243debd289"}, - {file = "grpcio-1.53.0.tar.gz", hash = "sha256:a4952899b4931a6ba12951f9a141ef3e74ff8a6ec9aa2dc602afa40f63595e33"}, -] - -[package.extras] -protobuf = ["grpcio-tools (>=1.53.0)"] + {file = "grpcio-1.54.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:a947d5298a0bbdd4d15671024bf33e2b7da79a70de600ed29ba7e0fef0539ebb"}, + {file = "grpcio-1.54.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:e355ee9da9c1c03f174efea59292b17a95e0b7b4d7d2a389265f731a9887d5a9"}, + {file = "grpcio-1.54.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:73c238ef6e4b64272df7eec976bb016c73d3ab5a6c7e9cd906ab700523d312f3"}, + {file = "grpcio-1.54.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c59d899ee7160638613a452f9a4931de22623e7ba17897d8e3e348c2e9d8d0b"}, + {file = "grpcio-1.54.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48cb7af77238ba16c77879009003f6b22c23425e5ee59cb2c4c103ec040638a5"}, + {file = "grpcio-1.54.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:2262bd3512ba9e9f0e91d287393df6f33c18999317de45629b7bd46c40f16ba9"}, + {file = "grpcio-1.54.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:224166f06ccdaf884bf35690bf4272997c1405de3035d61384ccb5b25a4c1ca8"}, + {file = "grpcio-1.54.0-cp310-cp310-win32.whl", hash = "sha256:ed36e854449ff6c2f8ee145f94851fe171298e1e793f44d4f672c4a0d78064e7"}, + {file = "grpcio-1.54.0-cp310-cp310-win_amd64.whl", hash = "sha256:27fb030a4589d2536daec5ff5ba2a128f4f155149efab578fe2de2cb21596d3d"}, + {file = "grpcio-1.54.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:f4a7dca8ccd8023d916b900aa3c626f1bd181bd5b70159479b142f957ff420e4"}, + {file = "grpcio-1.54.0-cp311-cp311-macosx_10_10_universal2.whl", hash = "sha256:1209d6b002b26e939e4c8ea37a3d5b4028eb9555394ea69fb1adbd4b61a10bb8"}, + {file = "grpcio-1.54.0-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:860fcd6db7dce80d0a673a1cc898ce6bc3d4783d195bbe0e911bf8a62c93ff3f"}, + {file = "grpcio-1.54.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3930669c9e6f08a2eed824738c3d5699d11cd47a0ecc13b68ed11595710b1133"}, + {file = "grpcio-1.54.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62117486460c83acd3b5d85c12edd5fe20a374630475388cfc89829831d3eb79"}, + {file = "grpcio-1.54.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:e3e526062c690517b42bba66ffe38aaf8bc99a180a78212e7b22baa86902f690"}, + {file = "grpcio-1.54.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ebff0738be0499d7db74d20dca9f22a7b27deae31e1bf92ea44924fd69eb6251"}, + {file = "grpcio-1.54.0-cp311-cp311-win32.whl", hash = "sha256:21c4a1aae861748d6393a3ff7867473996c139a77f90326d9f4104bebb22d8b8"}, + {file = "grpcio-1.54.0-cp311-cp311-win_amd64.whl", hash = "sha256:3db71c6f1ab688d8dfc102271cedc9828beac335a3a4372ec54b8bf11b43fd29"}, + {file = "grpcio-1.54.0-cp37-cp37m-linux_armv7l.whl", hash = "sha256:960b176e0bb2b4afeaa1cd2002db1e82ae54c9b6e27ea93570a42316524e77cf"}, + {file = "grpcio-1.54.0-cp37-cp37m-macosx_10_10_universal2.whl", hash = "sha256:d8ae6e0df3a608e99ee1acafaafd7db0830106394d54571c1ece57f650124ce9"}, + {file = "grpcio-1.54.0-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:c33744d0d1a7322da445c0fe726ea6d4e3ef2dfb0539eadf23dce366f52f546c"}, + {file = "grpcio-1.54.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d109df30641d050e009105f9c9ca5a35d01e34d2ee2a4e9c0984d392fd6d704"}, + {file = "grpcio-1.54.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:775a2f70501370e5ba54e1ee3464413bff9bd85bd9a0b25c989698c44a6fb52f"}, + {file = "grpcio-1.54.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c55a9cf5cba80fb88c850915c865b8ed78d5e46e1f2ec1b27692f3eaaf0dca7e"}, + {file = "grpcio-1.54.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:1fa7d6ddd33abbd3c8b3d7d07c56c40ea3d1891ce3cd2aa9fa73105ed5331866"}, + {file = "grpcio-1.54.0-cp37-cp37m-win_amd64.whl", hash = "sha256:ed3d458ded32ff3a58f157b60cc140c88f7ac8c506a1c567b2a9ee8a2fd2ce54"}, + {file = "grpcio-1.54.0-cp38-cp38-linux_armv7l.whl", hash = "sha256:5942a3e05630e1ef5b7b5752e5da6582460a2e4431dae603de89fc45f9ec5aa9"}, + {file = "grpcio-1.54.0-cp38-cp38-macosx_10_10_universal2.whl", hash = "sha256:125ed35aa3868efa82eabffece6264bf638cfdc9f0cd58ddb17936684aafd0f8"}, + {file = "grpcio-1.54.0-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:b7655f809e3420f80ce3bf89737169a9dce73238af594049754a1128132c0da4"}, + {file = "grpcio-1.54.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:87f47bf9520bba4083d65ab911f8f4c0ac3efa8241993edd74c8dd08ae87552f"}, + {file = "grpcio-1.54.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:16bca8092dd994f2864fdab278ae052fad4913f36f35238b2dd11af2d55a87db"}, + {file = "grpcio-1.54.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:d2f62fb1c914a038921677cfa536d645cb80e3dd07dc4859a3c92d75407b90a5"}, + {file = "grpcio-1.54.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:a7caf553ccaf715ec05b28c9b2ab2ee3fdb4036626d779aa09cf7cbf54b71445"}, + {file = "grpcio-1.54.0-cp38-cp38-win32.whl", hash = "sha256:2585b3c294631a39b33f9f967a59b0fad23b1a71a212eba6bc1e3ca6e6eec9ee"}, + {file = "grpcio-1.54.0-cp38-cp38-win_amd64.whl", hash = "sha256:3b170e441e91e4f321e46d3cc95a01cb307a4596da54aca59eb78ab0fc03754d"}, + {file = "grpcio-1.54.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:1382bc499af92901c2240c4d540c74eae8a671e4fe9839bfeefdfcc3a106b5e2"}, + {file = "grpcio-1.54.0-cp39-cp39-macosx_10_10_universal2.whl", hash = "sha256:031bbd26656e0739e4b2c81c172155fb26e274b8d0312d67aefc730bcba915b6"}, + {file = "grpcio-1.54.0-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:a97b0d01ae595c997c1d9d8249e2d2da829c2d8a4bdc29bb8f76c11a94915c9a"}, + {file = "grpcio-1.54.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:533eaf5b2a79a3c6f35cbd6a095ae99cac7f4f9c0e08bdcf86c130efd3c32adf"}, + {file = "grpcio-1.54.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49eace8ea55fbc42c733defbda1e4feb6d3844ecd875b01bb8b923709e0f5ec8"}, + {file = "grpcio-1.54.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:30fbbce11ffeb4f9f91c13fe04899aaf3e9a81708bedf267bf447596b95df26b"}, + {file = "grpcio-1.54.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:650f5f2c9ab1275b4006707411bb6d6bc927886874a287661c3c6f332d4c068b"}, + {file = "grpcio-1.54.0-cp39-cp39-win32.whl", hash = "sha256:02000b005bc8b72ff50c477b6431e8886b29961159e8b8d03c00b3dd9139baed"}, + {file = "grpcio-1.54.0-cp39-cp39-win_amd64.whl", hash = "sha256:6dc1e2c9ac292c9a484ef900c568ccb2d6b4dfe26dfa0163d5bc815bb836c78d"}, + {file = "grpcio-1.54.0.tar.gz", hash = "sha256:eb0807323572642ab73fd86fe53d88d843ce617dd1ddf430351ad0759809a0ae"}, +] + +[package.extras] +protobuf = ["grpcio-tools (>=1.54.0)"] [[package]] name = "idna" @@ -1540,22 +1540,22 @@ testing = ["pytest", "pytest-cov"] [[package]] name = "platformdirs" -version = "3.2.0" +version = "3.5.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "platformdirs-3.2.0-py3-none-any.whl", hash = "sha256:ebe11c0d7a805086e99506aa331612429a72ca7cd52a1f0d277dc4adc20cb10e"}, - {file = "platformdirs-3.2.0.tar.gz", hash = "sha256:d5b638ca397f25f979350ff789db335903d7ea010ab28903f57b27e1b16c2b08"}, + {file = "platformdirs-3.5.0-py3-none-any.whl", hash = "sha256:47692bc24c1958e8b0f13dd727307cff1db103fca36399f457da8e05f222fdc4"}, + {file = "platformdirs-3.5.0.tar.gz", hash = "sha256:7954a68d0ba23558d753f73437c55f89027cf8f5108c19844d4b82e5af396335"}, ] [package.dependencies] typing-extensions = {version = ">=4.5", markers = "python_version < \"3.8\""} [package.extras] -docs = ["furo (>=2022.12.7)", "proselint (>=0.13)", "sphinx (>=6.1.3)", "sphinx-autodoc-typehints (>=1.22,!=1.23.4)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.2.2)", "pytest-cov (>=4)", "pytest-mock (>=3.10)"] +docs = ["furo (>=2023.3.27)", "proselint (>=0.13)", "sphinx (>=6.1.3)", "sphinx-autodoc-typehints (>=1.23,!=1.23.4)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.3.1)", "pytest-cov (>=4)", "pytest-mock (>=3.10)"] [[package]] name = "pluggy" @@ -1641,26 +1641,26 @@ files = [ [[package]] name = "psutil" -version = "5.9.4" +version = "5.9.5" description = "Cross-platform lib for process and system monitoring in Python." category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ - {file = "psutil-5.9.4-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:c1ca331af862803a42677c120aff8a814a804e09832f166f226bfd22b56feee8"}, - {file = "psutil-5.9.4-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:68908971daf802203f3d37e78d3f8831b6d1014864d7a85937941bb35f09aefe"}, - {file = "psutil-5.9.4-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:3ff89f9b835100a825b14c2808a106b6fdcc4b15483141482a12c725e7f78549"}, - {file = "psutil-5.9.4-cp27-cp27m-win32.whl", hash = "sha256:852dd5d9f8a47169fe62fd4a971aa07859476c2ba22c2254d4a1baa4e10b95ad"}, - {file = "psutil-5.9.4-cp27-cp27m-win_amd64.whl", hash = "sha256:9120cd39dca5c5e1c54b59a41d205023d436799b1c8c4d3ff71af18535728e94"}, - {file = "psutil-5.9.4-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:6b92c532979bafc2df23ddc785ed116fced1f492ad90a6830cf24f4d1ea27d24"}, - {file = "psutil-5.9.4-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:efeae04f9516907be44904cc7ce08defb6b665128992a56957abc9b61dca94b7"}, - {file = "psutil-5.9.4-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:54d5b184728298f2ca8567bf83c422b706200bcbbfafdc06718264f9393cfeb7"}, - {file = "psutil-5.9.4-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:16653106f3b59386ffe10e0bad3bb6299e169d5327d3f187614b1cb8f24cf2e1"}, - {file = "psutil-5.9.4-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:54c0d3d8e0078b7666984e11b12b88af2db11d11249a8ac8920dd5ef68a66e08"}, - {file = "psutil-5.9.4-cp36-abi3-win32.whl", hash = "sha256:149555f59a69b33f056ba1c4eb22bb7bf24332ce631c44a319cec09f876aaeff"}, - {file = "psutil-5.9.4-cp36-abi3-win_amd64.whl", hash = "sha256:fd8522436a6ada7b4aad6638662966de0d61d241cb821239b2ae7013d41a43d4"}, - {file = "psutil-5.9.4-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:6001c809253a29599bc0dfd5179d9f8a5779f9dffea1da0f13c53ee568115e1e"}, - {file = "psutil-5.9.4.tar.gz", hash = "sha256:3d7f9739eb435d4b1338944abe23f49584bde5395f27487d2ee25ad9a8774a62"}, + {file = "psutil-5.9.5-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:be8929ce4313f9f8146caad4272f6abb8bf99fc6cf59344a3167ecd74f4f203f"}, + {file = "psutil-5.9.5-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:ab8ed1a1d77c95453db1ae00a3f9c50227ebd955437bcf2a574ba8adbf6a74d5"}, + {file = "psutil-5.9.5-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:4aef137f3345082a3d3232187aeb4ac4ef959ba3d7c10c33dd73763fbc063da4"}, + {file = "psutil-5.9.5-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:ea8518d152174e1249c4f2a1c89e3e6065941df2fa13a1ab45327716a23c2b48"}, + {file = "psutil-5.9.5-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:acf2aef9391710afded549ff602b5887d7a2349831ae4c26be7c807c0a39fac4"}, + {file = "psutil-5.9.5-cp27-none-win32.whl", hash = "sha256:5b9b8cb93f507e8dbaf22af6a2fd0ccbe8244bf30b1baad6b3954e935157ae3f"}, + {file = "psutil-5.9.5-cp27-none-win_amd64.whl", hash = "sha256:8c5f7c5a052d1d567db4ddd231a9d27a74e8e4a9c3f44b1032762bd7b9fdcd42"}, + {file = "psutil-5.9.5-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:3c6f686f4225553615612f6d9bc21f1c0e305f75d7d8454f9b46e901778e7217"}, + {file = "psutil-5.9.5-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7a7dd9997128a0d928ed4fb2c2d57e5102bb6089027939f3b722f3a210f9a8da"}, + {file = "psutil-5.9.5-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89518112647f1276b03ca97b65cc7f64ca587b1eb0278383017c2a0dcc26cbe4"}, + {file = "psutil-5.9.5-cp36-abi3-win32.whl", hash = "sha256:104a5cc0e31baa2bcf67900be36acde157756b9c44017b86b2c049f11957887d"}, + {file = "psutil-5.9.5-cp36-abi3-win_amd64.whl", hash = "sha256:b258c0c1c9d145a1d5ceffab1134441c4c5113b2417fafff7315a917a026c3c9"}, + {file = "psutil-5.9.5-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:c607bb3b57dc779d55e1554846352b4e358c10fff3abf3514a7a6601beebdb30"}, + {file = "psutil-5.9.5.tar.gz", hash = "sha256:5410638e4df39c54d957fc51ce03048acd8e6d60abc0f5107af51e5fb566eb3c"}, ] [package.extras] @@ -1680,118 +1680,118 @@ files = [ [[package]] name = "pyasn1" -version = "0.4.8" -description = "ASN.1 types and codecs" +version = "0.5.0" +description = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)" category = "dev" optional = false -python-versions = "*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" files = [ - {file = "pyasn1-0.4.8-py2.py3-none-any.whl", hash = "sha256:39c7e2ec30515947ff4e87fb6f456dfc6e84857d34be479c9d4a4ba4bf46aa5d"}, - {file = "pyasn1-0.4.8.tar.gz", hash = "sha256:aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba"}, + {file = "pyasn1-0.5.0-py2.py3-none-any.whl", hash = "sha256:87a2121042a1ac9358cabcaf1d07680ff97ee6404333bacca15f76aa8ad01a57"}, + {file = "pyasn1-0.5.0.tar.gz", hash = "sha256:97b7290ca68e62a832558ec3976f15cbf911bf5d7c7039d8b861c2a0ece69fde"}, ] [[package]] name = "pyats" -version = "23.3" +version = "23.4" description = "pyATS - Python Automation Test System" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats-23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:52c2c3dc71badfcdbb079e90a8e04d6e8bd20548d0ab7bbdaa2d4776ddeff424"}, - {file = "pyats-23.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:b37c760f40586d4df7ddc4e5071d248752b5f296a826c53f6bad62919faf2cfc"}, - {file = "pyats-23.3-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:22a22f5dc69988abbdf249969831b22806528d4231fa0af0af8df257dd6bce58"}, - {file = "pyats-23.3-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:5bcfd2e4fcfb5dfd02c55ec9463d023a8fa3bf6e07038b3f6d1d3aeefc7358ee"}, - {file = "pyats-23.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:d0cbed4ffdbe8e599974af21d519e3fffd414323b2c1b4abf9c50314d03309a6"}, - {file = "pyats-23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:30a8314998818b54fcd8c866978da19b7f9286aac663099a9cf2b48fe064e09a"}, - {file = "pyats-23.3-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:62f066db5c7c9fb1bfb993c9dc61dd4fb30d755425d8655e7eaa51a44b30faf8"}, - {file = "pyats-23.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:461795d78c45ddf1af029d522cc312a58d146557cd8ba983c4cf99e41fdb7485"}, - {file = "pyats-23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6d076d954849af832e634d33df844428de8856fa007295234e2df919a1be81cd"}, - {file = "pyats-23.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:cf3a33a6c4af72b9ac94c48ee4df87709a88a1a6f7fa1902bffb1bb995261326"}, - {file = "pyats-23.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:d6904ac396dc0b58cb91d71c5c0261d02d25c47995b515b5e31b90395069fb3c"}, + {file = "pyats-23.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b5470ab266f6ed2bf97723ab68bbfdca595a3d8c28db5a5d0fa439bac2cb6bca"}, + {file = "pyats-23.4-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:1a35ba6d306267533331c5289f5a3993ca9554679f29da9559a673904babc943"}, + {file = "pyats-23.4-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:b78d1227ef1cd6738a9ce4692be98175f96b4ddd70bb510ca8d1de1c00db73ed"}, + {file = "pyats-23.4-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:c3d1e312e56934a7d10821b387b97f5be482bcca32a931ade61ab3c6564e5575"}, + {file = "pyats-23.4-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:6378f7e6fa1149facc4cbecf8b3c77ee70d2ce3947ff897a54fce26195b5d189"}, + {file = "pyats-23.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8de49bdaacff1f5fc234ed2eaf0b5b6e058ee7b88563793a6af004bdd100adfc"}, + {file = "pyats-23.4-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:88560ef99aecf432d23e48d521c356b7066681708e83de563638dac04293fba2"}, + {file = "pyats-23.4-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:f66788320249687c0bdf249721688625d96de18595df3a1c4947e491ad77aa57"}, + {file = "pyats-23.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:13ab63df2fcbfa08c7905b14b2a807775eba55c6e91c050595c752d73f928fe4"}, + {file = "pyats-23.4-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:66bf88c9099ec1c96b8b0bca3892026b83062ca1e749937e82897a101c52de04"}, + {file = "pyats-23.4-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:b8b7973ec4e72ad546c60adb93ba186faa4bdb71356b285b04f02dd8fe321b27"}, ] [package.dependencies] packaging = ">=20.0" -"pyats.aereport" = ">=23.3.0,<23.4.0" -"pyats.aetest" = ">=23.3.0,<23.4.0" -"pyats.async" = ">=23.3.0,<23.4.0" -"pyats.connections" = ">=23.3.0,<23.4.0" -"pyats.datastructures" = ">=23.3.0,<23.4.0" -"pyats.easypy" = ">=23.3.0,<23.4.0" -"pyats.kleenex" = ">=23.3.0,<23.4.0" -"pyats.log" = ">=23.3.0,<23.4.0" -"pyats.reporter" = ">=23.3.0,<23.4.0" -"pyats.results" = ">=23.3.0,<23.4.0" -"pyats.tcl" = ">=23.3.0,<23.4.0" -"pyats.topology" = ">=23.3.0,<23.4.0" -"pyats.utils" = ">=23.3.0,<23.4.0" - -[package.extras] -full = ["cookiecutter", "genie (>=23.3.0,<23.4.0)", "genie.libs.robot (>=23.3.0,<23.4.0)", "genie.telemetry (>=23.3.0,<23.4.0)", "genie.trafficgen (>=23.3.0,<23.4.0)", "pyats.contrib (>=23.3.0,<23.4.0)", "pyats.robot (>=23.3.0,<23.4.0)"] -library = ["genie (>=23.3.0,<23.4.0)"] -robot = ["genie.libs.robot (>=23.3.0,<23.4.0)", "pyats.robot (>=23.3.0,<23.4.0)"] +"pyats.aereport" = ">=23.4.0,<23.5.0" +"pyats.aetest" = ">=23.4.0,<23.5.0" +"pyats.async" = ">=23.4.0,<23.5.0" +"pyats.connections" = ">=23.4.0,<23.5.0" +"pyats.datastructures" = ">=23.4.0,<23.5.0" +"pyats.easypy" = ">=23.4.0,<23.5.0" +"pyats.kleenex" = ">=23.4.0,<23.5.0" +"pyats.log" = ">=23.4.0,<23.5.0" +"pyats.reporter" = ">=23.4.0,<23.5.0" +"pyats.results" = ">=23.4.0,<23.5.0" +"pyats.tcl" = ">=23.4.0,<23.5.0" +"pyats.topology" = ">=23.4.0,<23.5.0" +"pyats.utils" = ">=23.4.0,<23.5.0" + +[package.extras] +full = ["cookiecutter", "genie (>=23.4.0,<23.5.0)", "genie.libs.robot (>=23.4.0,<23.5.0)", "genie.telemetry (>=23.4.0,<23.5.0)", "genie.trafficgen (>=23.4.0,<23.5.0)", "pyats.contrib (>=23.4.0,<23.5.0)", "pyats.robot (>=23.4.0,<23.5.0)"] +library = ["genie (>=23.4.0,<23.5.0)"] +robot = ["genie.libs.robot (>=23.4.0,<23.5.0)", "pyats.robot (>=23.4.0,<23.5.0)"] template = ["cookiecutter"] [[package]] name = "pyats-aereport" -version = "23.3" +version = "23.4" description = "pyATS AEreport: Result Collection and Reporting" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.aereport-23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:460fe53f76508d0ec5c42f46b99d45f04da4710603b5097e012dab0bb5975894"}, - {file = "pyats.aereport-23.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:14c9e18580b5af3f81f6ae94b420b95db615d6397ee787c2f4d9d81c07763b47"}, - {file = "pyats.aereport-23.3-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:18f327d6a5f41d8fe89811b17ebee4c680496bf61b17e8087cd8e646a686d48e"}, - {file = "pyats.aereport-23.3-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:dd1a83b9de5a9e9badd7db50f1100a23dd630b1397773d4185817b8bbd4d9bb7"}, - {file = "pyats.aereport-23.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:79f7a2502b943ef23b3def793d486adbaa88fc941e1a77461642428cc2c4c806"}, - {file = "pyats.aereport-23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2923cb2e4f75f5ac5dbc9738966d6debcf1245fb0204842aaa79f296fc0401b5"}, - {file = "pyats.aereport-23.3-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:35fa4890991ec0d1f30c9df3782a61848a119b30ace3facada5ea8a4431e829f"}, - {file = "pyats.aereport-23.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:71d3d51dcb3f24948f7ee9c7b936c4788b81cb5cc9c7f9d2c4cc063b001f1e2b"}, - {file = "pyats.aereport-23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:34dab03eaf8886b84e485be39d54d6b0a9e395e502de5d60f09b42dfe9c6e09f"}, - {file = "pyats.aereport-23.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:152f7f6160a5c48d6e40ae4afa2a5f0462bd486b2f3dd2da0be11ba86fb42358"}, - {file = "pyats.aereport-23.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:d673296fcf549d60811ae4f39315213089b3a548ab7adb686e49f68a0c8117cf"}, + {file = "pyats.aereport-23.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:39357c6f49b1916e7ddb1d09c75d804d62f52a48a2ef1e5d604c3ccaa7e1ed6d"}, + {file = "pyats.aereport-23.4-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:d55c86a00debedede470c1c98d852fca06c7ce5825465d3f52eefce49367a1c1"}, + {file = "pyats.aereport-23.4-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:a5f6f07235616cd166daafa1180533eb8f10dfdbccf36a015c3192cc4c6dad8a"}, + {file = "pyats.aereport-23.4-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:f4065748f1b173f80284986ad121d653f1242b875327245750b4e1565a29eb9a"}, + {file = "pyats.aereport-23.4-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:46e91f27735af091ec7e52ca973476924a8d9b4c6c9ae8b4c16c9602d5233c93"}, + {file = "pyats.aereport-23.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2fc2d72fd8f83d620554a6f0be2e49368cc43141c85be7a68f8f910ca83d183d"}, + {file = "pyats.aereport-23.4-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:e7c1fa2a313e71d30aacf9d102a7cc6c8264f7bc137178c4a751aa24be929787"}, + {file = "pyats.aereport-23.4-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:4cd7b3a64c006e0b38285951d027d5314ca268d324f9fb2c681c1cab95376927"}, + {file = "pyats.aereport-23.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b078bc355eaa0a346caee45ec839cab72e3ebe6b10d4bc25f762d96096e69001"}, + {file = "pyats.aereport-23.4-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:69aae1a610fe5dad01deca7a6436ea550ba05f04e954a922f155d8ebecfd9f73"}, + {file = "pyats.aereport-23.4-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:7d8cb84528bd976ebbd7f13bd1a826e51993dd6fd61f4898db72b2634cc99dfb"}, ] [package.dependencies] jinja2 = "*" junit-xml = "*" psutil = "*" -"pyats.log" = ">=23.3.0,<23.4.0" -"pyats.results" = ">=23.3.0,<23.4.0" +"pyats.log" = ">=23.4.0,<23.5.0" +"pyats.results" = ">=23.4.0,<23.5.0" [package.extras] dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-aetest" -version = "23.3" +version = "23.4" description = "pyATS AEtest: Testscript Engine" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.aetest-23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e7c02587a31b33e9fd3771c4522d6f8ab543d5a2bb01f52d6b0aaed92f72acf1"}, - {file = "pyats.aetest-23.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:e0a88854ed71331d2d45918228eacf566900e0cf83a00d21bed31b5c88f63448"}, - {file = "pyats.aetest-23.3-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:16286b3ceaecd3fc4525d323af44372897fa748896754f92868724985c8e67b7"}, - {file = "pyats.aetest-23.3-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:3b6494d70f8a3400ed4e87826a9807075b5741198a3a00b66951fec1a7ef4f67"}, - {file = "pyats.aetest-23.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:9ce9d17aaf277cf741b89209b2fcd858529ae0e79eb238f7f82f5ab0ad2c6d98"}, - {file = "pyats.aetest-23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:d991f67cfeed6dee26d41c8475127765d99dca23b97e2816ca7326606d57302e"}, - {file = "pyats.aetest-23.3-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:293adf5edfb00d22c2c53f23e26bd553d28de1193d65d47775da781e06a09f54"}, - {file = "pyats.aetest-23.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:70c2b4ecb4e9251862ef4079eb0f09fa0e6a7665c87b3f6e49e6a4dc51b7bbae"}, - {file = "pyats.aetest-23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:89c796f3dc1690bc858dfa9db363bce0321370d8d7023ee7a3b85546410d7ac3"}, - {file = "pyats.aetest-23.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:6a9b6b5eb6d1980471356955d21460296d59973bcb2e545126bc2afa7044b59d"}, - {file = "pyats.aetest-23.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:57ac45ab0befea713f5102f5634a67072acadcf323582f6655ed0cb9f93daf43"}, + {file = "pyats.aetest-23.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9083200846d339235853e37bb4180adac669cadeb6f856ea1d21470ca12fce55"}, + {file = "pyats.aetest-23.4-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:df781af5535be7fbd0c0aca4f9068c58f9e44199793fc20cb365beaf25a0c941"}, + {file = "pyats.aetest-23.4-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:baff206b28d7dfc2f15c8e298d501c13f71a1c8f313768e6d34826910d7e730c"}, + {file = "pyats.aetest-23.4-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:9e97f2688455dd904cbd147f3b983bc576004ea781ed186d84dfc62b622da8f0"}, + {file = "pyats.aetest-23.4-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:8cc789a3e39ed75cca1e1f3000b8ce61397199f414f11eae63d422a7bf5c32f9"}, + {file = "pyats.aetest-23.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:d511732c4fc5be153231c59f3c1b5d87bf8afebf9e5f6b4c1047bc7dada4c1e4"}, + {file = "pyats.aetest-23.4-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:7722ff6a6c659e105ef21b3f21c8eb1ed599df912c3f78c4138ab222870e1f43"}, + {file = "pyats.aetest-23.4-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:98bfa63ff994565ad54d1b7dd649643f237a4c4e161bfd039f2d5680109e5737"}, + {file = "pyats.aetest-23.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8d950abb81816bc0bcafef1181fe6582b392b713c3f66c9eeae250ef8dd635ae"}, + {file = "pyats.aetest-23.4-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:4f80669d34335683c0270e57b2278c349e322db9d8f0d61fff6f64f7cdc110cb"}, + {file = "pyats.aetest-23.4-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:bd2d325309e91a64cf4c68f211f6223904f5c0c32d2fa0cec739acee8450e084"}, ] [package.dependencies] jinja2 = "*" -"pyats.aereport" = ">=23.3.0,<23.4.0" -"pyats.datastructures" = ">=23.3.0,<23.4.0" -"pyats.log" = ">=23.3.0,<23.4.0" -"pyats.results" = ">=23.3.0,<23.4.0" -"pyats.utils" = ">=23.3.0,<23.4.0" +"pyats.aereport" = ">=23.4.0,<23.5.0" +"pyats.datastructures" = ">=23.4.0,<23.5.0" +"pyats.log" = ">=23.4.0,<23.5.0" +"pyats.results" = ">=23.4.0,<23.5.0" +"pyats.utils" = ">=23.4.0,<23.5.0" pyyaml = "*" [package.extras] @@ -1799,79 +1799,79 @@ dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-async" -version = "23.3" +version = "23.4" description = "pyATS Async: Asynchronous Execution of Codes" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.async-23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8cd5d2551c140284000c54afeab9e4b8e959dc84ad1a62ecfc21bd4810d765e4"}, - {file = "pyats.async-23.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:9c62803dfdb12889cf08c31778a3b977968849b73c80fed34890811b2d318ab1"}, - {file = "pyats.async-23.3-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:6cdc8c43c610e0be46e34baf3f2f2fb2df03ef0316125030a39dad5b4003a6c0"}, - {file = "pyats.async-23.3-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:0427c1a6de6d894d8593aadd7fd59208d456f8a92f26c04f90f7327343e2fa23"}, - {file = "pyats.async-23.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:474cf7ecf253bdcaf493dfec7de0cd4b37ca70dfb31102af61929d279c3e95cb"}, - {file = "pyats.async-23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:466a51078a4782f27ae99ca8fe64bcf4a599ce787188f6bf5bc5214e17854940"}, - {file = "pyats.async-23.3-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:b103e5493b49c873b9eff9a987e675f8cf962d04e0549336c8b707e104598206"}, - {file = "pyats.async-23.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:5fbf257b3ca05c5f221225e5414d0fd46edd8c6e19bf2b58bfe510347f1ecc01"}, - {file = "pyats.async-23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:34e9b22550ba13cd268a8930d25512c0a96eef1aec2b2ce0e181ada4786b3d31"}, - {file = "pyats.async-23.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:6ea8430849a53a9d4844c688e56ec938a63cc84079723389f9676d51892e7c51"}, - {file = "pyats.async-23.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:098a098db58cb841c8e7d19e407bc9b7d26145dcf9b0f7d74206d96b92b6db15"}, + {file = "pyats.async-23.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:64aa5882e232f4262250f2a96a419e306a4381af893b41a1e361753d860b8b1d"}, + {file = "pyats.async-23.4-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:fed8f0f7196606235c16b51e7932a1c0a3ddeb8c5e68ea47711adc9fe74913b7"}, + {file = "pyats.async-23.4-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:d7a17c88d6817926aa1599f6768e547e25303bb059ef3620be855a6000e2f690"}, + {file = "pyats.async-23.4-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:1bc01795118d6a7c8c72f642f62b2c67506acb9daff5b84497c7f4fb9a56ac52"}, + {file = "pyats.async-23.4-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:a13b71593ea5773445f1a8f1bf8f7565aaae2541f6f3a705dc878756848c9cc3"}, + {file = "pyats.async-23.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:44c8257b45766fa1b31fd6818c72086aea364b486cf0f9ec2aaf3cf0a0e4ae19"}, + {file = "pyats.async-23.4-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:f52f143450485d303648f55c95c4257bedb11779f44a75a7821ed966a1910ad7"}, + {file = "pyats.async-23.4-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:cf5b1006dd9af8448483deecf820646162e249ebefda4088ce3e9d56a3c574b0"}, + {file = "pyats.async-23.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:49cdb59c6af68a79d47a407b5d97f4204007e74fd15aacc759fe92b3ef451f60"}, + {file = "pyats.async-23.4-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:3889af947c02548176a8dbfc38df48d96c0593d17dae38e0b72ce97a371adf25"}, + {file = "pyats.async-23.4-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:049ec6675de230d4eac387b80e723bfbc55c72103135f017daf3544939f77e1e"}, ] [package.dependencies] -"pyats.log" = ">=23.3.0,<23.4.0" +"pyats.log" = ">=23.4.0,<23.5.0" [package.extras] dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-connections" -version = "23.3" +version = "23.4" description = "pyATS Connection: Device Connection Handling & Base Classes" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.connections-23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0005c81bf917744bc1db0817af0ec43670fcff36a7d3867a9a60ae58e6f9e6af"}, - {file = "pyats.connections-23.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:7151a2a1080005e3665da0f0e89a7edc486f17d787b4e6076088d3194bcc72f6"}, - {file = "pyats.connections-23.3-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:71f3337d32f8caf962b99e973301ab50875951305da9e6111b68231d34f5d299"}, - {file = "pyats.connections-23.3-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:ba82c5c995ce7658166fc67420098c547d5efa5ca04d6c8c1ee5626b44a8284c"}, - {file = "pyats.connections-23.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:bfea8a8c47a1e02ada304b8db706f9b37b46b8ca9ce71c7478922f7efc9f4f15"}, - {file = "pyats.connections-23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:eb29ee5013971c4c0174cf295ca0b06e2923c0a1b37654d69709813dabbbd298"}, - {file = "pyats.connections-23.3-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:d276afcd1cfa1e65f1155615fd0cd951ad378c43fcd1db9a1159ebddd3d7d095"}, - {file = "pyats.connections-23.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:aae2788866acc8bd519a9d421b74b053f35570b593555b45327f8367956ba503"}, - {file = "pyats.connections-23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fa563a1ae5a00df3a285d6e7adc43656c3e92ae7d9c67d7c19c27046590b3ad2"}, - {file = "pyats.connections-23.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:ee34ab19fe1259e81ba37ac18ed3dc3aca20881db8b95bb8477642beccdf77a1"}, - {file = "pyats.connections-23.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:52fba98bea6487911591c295873f387d7c467ec6fbbc93c3d38cca2c875362d3"}, + {file = "pyats.connections-23.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1e40f4ef61cd3b0fb74826bc60f3fb64bc43bba9722b6c578946608029893449"}, + {file = "pyats.connections-23.4-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:fa7228b8e8e690094837b4bfad2ba10e94f0319869e4e217998ab132bc9ffcd4"}, + {file = "pyats.connections-23.4-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:48f2ee22cd64526e2d964fe56904a93d2b8e9e417ef180282c7b8f8a52d8d924"}, + {file = "pyats.connections-23.4-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:9789a796774de7814273e097252b521895bd704066ceafecb6eb5c1a3b5458b9"}, + {file = "pyats.connections-23.4-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:607383a4a400695de975c520afb57ee4dd7812549642b8e6382f19fe650e2f89"}, + {file = "pyats.connections-23.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f84fa7d4e7daf2ce32d2eb666c3d4767805b5188380323cc24da088f9b7cf63b"}, + {file = "pyats.connections-23.4-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:2dfe7a4aeee5f5a17268ec048fc1d2e1215e77eb3d70f128943e65477e62acc6"}, + {file = "pyats.connections-23.4-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:d308fe43309f63a7e054de5cec1159cf5376831f3b22ca9b6471078bd747e769"}, + {file = "pyats.connections-23.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ac351f80b83aeb7f6ec51d4c49282f9935c34a24890d18b8c7d336f397f7c34a"}, + {file = "pyats.connections-23.4-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:92c1692539967d65418cd4e1e8da30b1e4f772fa9068ca8c203ea8ce1f0f9b9e"}, + {file = "pyats.connections-23.4-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:fb3c9e1cb2fb8a268f62aaea52dc102f913686b548fc6ed582cb51382d03fb55"}, ] [package.dependencies] -"pyats.async" = ">=23.3.0,<23.4.0" -"pyats.datastructures" = ">=23.3.0,<23.4.0" -unicon = ">=23.3.0,<23.4.0" +"pyats.async" = ">=23.4.0,<23.5.0" +"pyats.datastructures" = ">=23.4.0,<23.5.0" +unicon = ">=23.4.0,<23.5.0" [package.extras] dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-datastructures" -version = "23.3" +version = "23.4" description = "pyATS Datastructures: Extended Datastructures for Grownups" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.datastructures-23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7023a281f591cfea0a307fc6902b6347c6d479a66d93563e6091f000e9fbda6d"}, - {file = "pyats.datastructures-23.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:431d649a960216b515b48ed00876adf490542218414649eedcff480a0e85df8f"}, - {file = "pyats.datastructures-23.3-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:6b092f434b0268adf8228f4738d48d34ee8f6cd4873032b109f16283916db7a7"}, - {file = "pyats.datastructures-23.3-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:823749ed5aeb65b12b86d75c25e06c445adb6895dbc464878bc2b2cfcc8a633a"}, - {file = "pyats.datastructures-23.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:6a441513a0bd34c7b5643f9da6bf74085ed7cf19c7ebfa286d3cbae1635aeabc"}, - {file = "pyats.datastructures-23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:e3d67d9c2ca1ebf43c821f9d8545b22920407471f9f987d2debe4caa30dffd7e"}, - {file = "pyats.datastructures-23.3-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:d02ddbeb19d19aac385455f8343b563f123432aa797be9ad697feb42854356a0"}, - {file = "pyats.datastructures-23.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:74ae75a57c89e1babd082ede0bef51fcdc0776bcb42782b10dd80338e14b03b3"}, - {file = "pyats.datastructures-23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a5f7cdb5d5845f1634d03c47a8cdd7fea82a5f2f73bab823f9bc88606c20ea40"}, - {file = "pyats.datastructures-23.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:84d5f056bfa80871032a02e6fde9c276d0f34f7175274dc0ce9c4aa37f1c71f2"}, - {file = "pyats.datastructures-23.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:fb709a01584e25666b4090cfee534eaa0d728976a06e29d5b380ed467b613b4d"}, + {file = "pyats.datastructures-23.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:494fac94f4d821fb5d89757c83bfb539f4e92ea9d224ec70d624c7d03a9d5fe6"}, + {file = "pyats.datastructures-23.4-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:04da7c90257f1f48aad2dd22b3ca52b2a0ffd29afd8ffaaa744a1d2c3c359c99"}, + {file = "pyats.datastructures-23.4-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:80be855d4f44737134427553efceb9800d4b1ad293a80a05773b1983349cf439"}, + {file = "pyats.datastructures-23.4-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:3a03cc360024432609e1615445f537dfa7c6de571950eeb5065fdc64cdcde160"}, + {file = "pyats.datastructures-23.4-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:dd2b2ce76a1a568cc387e6c2c1c6014ba5ad6aa62c750f6e3ce4e1e7d2073206"}, + {file = "pyats.datastructures-23.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8ab775f54c7bc222cf7fe34f2c924fec62f3bcf31c5f74cfc42742b3acb255c1"}, + {file = "pyats.datastructures-23.4-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:3ac09fca88870dc9b156797d2b733f430476b1a505b94b06f5b524d1686a1202"}, + {file = "pyats.datastructures-23.4-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:96815e65b39e650059686444c883d8f3e78d501fd8451928e9e359db2f8ce952"}, + {file = "pyats.datastructures-23.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f9d603e02f2f5026727a19d855a2f167866490b0094d3a227abbfbd09df4ba6e"}, + {file = "pyats.datastructures-23.4-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:51cda98c7c289019e5393cd4734c14d0028fa145a31c195c82fe0b2505ee0570"}, + {file = "pyats.datastructures-23.4-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:6f6db0571f263ef55afd33474af8d22bdd2e9752386734b9d2569a39c5808c57"}, ] [package.extras] @@ -1879,36 +1879,36 @@ dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-easypy" -version = "23.3" +version = "23.4" description = "pyATS Easypy: launcher and runtime environment" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.easypy-23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a3ee4169a8f81e7da825af4d98501e86e659486fca4a63b04baae7df66901a6d"}, - {file = "pyats.easypy-23.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:bec59ada62c811427f5013ff3207e8e888b189f437d98f48740d2d4641b9a83c"}, - {file = "pyats.easypy-23.3-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:18a7433b4b8da113d89a3e2a72aaf7ac97fcba3836ab57b4a8bbab8244e71b86"}, - {file = "pyats.easypy-23.3-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:5e02787c101e8184a6b04e67c734556ab978646f3e36d829808320eacc00f90c"}, - {file = "pyats.easypy-23.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:dc20ebe19acc683d5e94c033f0bdad8a0cc341360d9a644dd67a2524f6f9586b"}, - {file = "pyats.easypy-23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f0f51a9b089ca646b0db5f15a02c48c926ec8a6de80418168840ad9e6a20e332"}, - {file = "pyats.easypy-23.3-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:72dc3f296b63cf77773555774c40e23a4d588085be5887714bf36b4554c3b02b"}, - {file = "pyats.easypy-23.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:a6d84c399a7184ddd22cf8f33161beff3681106e601856041244fd7dc6ebee8f"}, - {file = "pyats.easypy-23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f51099452343b40f04669c2c838cde43b388110d07bd9b6c84644f4072528f11"}, - {file = "pyats.easypy-23.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:fbdc23d37efd51f60e8658032cad51ded423eff6511999a459ce2dbb96305dfc"}, - {file = "pyats.easypy-23.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:8e7706365ddd01de723f656aac056f50c107f335748d1ef3304461ca0aabeb20"}, + {file = "pyats.easypy-23.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0c9df25ec40d2d38f793c3bbc7466b26a34047771254807ff2422a43eb5d0c82"}, + {file = "pyats.easypy-23.4-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:ab5a7b9e88f866bd4130f929bde2ca23944c42ca04ff07e6edc46b0185a73232"}, + {file = "pyats.easypy-23.4-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:835b825629c20417a9ab3a7a6a370412e262b1884e8f25ec8682e7b278d9e45a"}, + {file = "pyats.easypy-23.4-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:25e10fb97e07bdbada7c03aa3d3cc1482bc2ffeaf36d09a9e606d6de23c65d32"}, + {file = "pyats.easypy-23.4-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:a8e35daa5e746a0a1d3a815d60e5c6e89667666e8db639cd0ce37e24cdc252b3"}, + {file = "pyats.easypy-23.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:fe7120680ae7b989b4f1bcd9be9586d888727078ae9c48276c64d804249742d3"}, + {file = "pyats.easypy-23.4-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:103aa1bbdfc76aa06979937ef80b16e0a693926c705679193b5f2e9f9cf4b70d"}, + {file = "pyats.easypy-23.4-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:692ab13cbe2542837162d343d6237d11d590b5b99ae49a359331c7fa08de706b"}, + {file = "pyats.easypy-23.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:47b8e6c8365d1fea23b6d480cf75f2a3df5da33f891687cdbe776260ea01bdc2"}, + {file = "pyats.easypy-23.4-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:f541204fc13e3b0882ecf0ee35259780d81044bb5cde0f095e7cf896d8070d8f"}, + {file = "pyats.easypy-23.4-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:7e6fbec29019bd46a99043dd4971285ed403025496f06b43c06907f478760076"}, ] [package.dependencies] distro = "*" jinja2 = "*" psutil = "*" -"pyats.aereport" = ">=23.3.0,<23.4.0" -"pyats.datastructures" = ">=23.3.0,<23.4.0" -"pyats.kleenex" = ">=23.3.0,<23.4.0" -"pyats.log" = ">=23.3.0,<23.4.0" -"pyats.results" = ">=23.3.0,<23.4.0" -"pyats.topology" = ">=23.3.0,<23.4.0" -"pyats.utils" = ">=23.3.0,<23.4.0" +"pyats.aereport" = ">=23.4.0,<23.5.0" +"pyats.datastructures" = ">=23.4.0,<23.5.0" +"pyats.kleenex" = ">=23.4.0,<23.5.0" +"pyats.log" = ">=23.4.0,<23.5.0" +"pyats.results" = ">=23.4.0,<23.5.0" +"pyats.topology" = ">=23.4.0,<23.5.0" +"pyats.utils" = ">=23.4.0,<23.5.0" setuptools = "*" [package.extras] @@ -1916,33 +1916,33 @@ dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-kleenex" -version = "23.3" +version = "23.4" description = "pyATS Kleenex: Testbed Preparation, Clean & Finalization" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.kleenex-23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:22d71108869405153023108378dfdf4cd91008125880b300d7beba04158b6e3f"}, - {file = "pyats.kleenex-23.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:28945ba1a8b383a5f1dd2d7191a70f5038646178ce4614ff37d8a0952dba5cb4"}, - {file = "pyats.kleenex-23.3-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:9f14d85a3644e16f467edcfbdd4cbb568398710d3fe0d66839b0d59116f9fd9d"}, - {file = "pyats.kleenex-23.3-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:b96343ca923dfbe5c4e29a1fb598467a871320610ae91ebcb9bb255ea63299a3"}, - {file = "pyats.kleenex-23.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:7ff390721b45497ab7552142e214e7504853eb0c9376123071bdf2b5312b7ced"}, - {file = "pyats.kleenex-23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:49cd093f6fa175a8c2506900d2d806e31d80decf193b051a579bbb4db733cd7f"}, - {file = "pyats.kleenex-23.3-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:7f60753110c59101c8982e313de18f65c6fe8320a07b12f37d39591c89be74ea"}, - {file = "pyats.kleenex-23.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:340d73d580e723637011471d84a3b1b567e012f56ea99197c4d6dd6c7836f1c8"}, - {file = "pyats.kleenex-23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:bd8802dc61357bfd6e7c5ebd29f833bc73806af150688b66dd8a60ad8e3c864f"}, - {file = "pyats.kleenex-23.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:30554203b108d172b72dd7cf9412dcfa3392c58b315d64d6ddadfecc034139a0"}, - {file = "pyats.kleenex-23.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:dd555000d523097ad2b17d353707ea99cf2087e1416aaf8d08f2538680d24d2b"}, + {file = "pyats.kleenex-23.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:326073ccae18a9e2a0e1d306bd44e39c7a3c9fc748cd11d81822071a15e1a81e"}, + {file = "pyats.kleenex-23.4-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:94957174f34b272c40b8b68a8bc65847ed45aed7893ed1d6d449d7dd1835ce06"}, + {file = "pyats.kleenex-23.4-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:ab836c870f7faa3f9049d912e22828178ee118aa87e23643f744fce940fa91bf"}, + {file = "pyats.kleenex-23.4-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:8db5d018c74b1e641af02122e834dc142e44738b973f14253078706a396434ec"}, + {file = "pyats.kleenex-23.4-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:58c41b6fbe6b56bf4c64ffe09b9b2b2b5e2e1a3de7721ce6943b98a7a755e61f"}, + {file = "pyats.kleenex-23.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:80ebee189bbd5adf03c232d0019c739bf19e2d04e4fd0e8027921f740b0c9257"}, + {file = "pyats.kleenex-23.4-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:bb546d889b2ad1bf7829495ff27d007522b04652712cdff805839ea24ba7b42a"}, + {file = "pyats.kleenex-23.4-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:45b34998647772976a0f5b24c5535234d9303fbc2b212bd97caf4dd903c7d1e7"}, + {file = "pyats.kleenex-23.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:84a7495459d60c764f4781a73c499378ceb6e92abbc8aa1c0d5fa83678c2201e"}, + {file = "pyats.kleenex-23.4-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:d2e758116235ca7d1f02f1e1d4412306ff4e8c99e2059de7b8d1c0d60fd6d809"}, + {file = "pyats.kleenex-23.4-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:fa646401948bb00d9a21f6333bbd146b636142da1b551ed45ccc89086f1867bd"}, ] [package.dependencies] distro = "*" -"pyats.aetest" = ">=23.3.0,<23.4.0" -"pyats.async" = ">=23.3.0,<23.4.0" -"pyats.datastructures" = ">=23.3.0,<23.4.0" -"pyats.log" = ">=23.3.0,<23.4.0" -"pyats.topology" = ">=23.3.0,<23.4.0" -"pyats.utils" = ">=23.3.0,<23.4.0" +"pyats.aetest" = ">=23.4.0,<23.5.0" +"pyats.async" = ">=23.4.0,<23.5.0" +"pyats.datastructures" = ">=23.4.0,<23.5.0" +"pyats.log" = ">=23.4.0,<23.5.0" +"pyats.topology" = ">=23.4.0,<23.5.0" +"pyats.utils" = ">=23.4.0,<23.5.0" requests = "*" [package.extras] @@ -1950,23 +1950,23 @@ dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-log" -version = "23.3" +version = "23.4" description = "pyATS Log: Logging Format and Utilities" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.log-23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e3759b8d970e02e69b36e4d0a16f7ea593932bad861c579a86916d42068e7e6"}, - {file = "pyats.log-23.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:8eaa81b81ffee3683e54610f5ca8af83b162bba9059055bf052a46234f5a997d"}, - {file = "pyats.log-23.3-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:a15bf1f110af13e69e653dda9b42b9f507d0abe5fdb6d8d660ff40f1662c16f0"}, - {file = "pyats.log-23.3-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:a6d16889e71865ec39de1ee6e53818fb4f3c8cdafaf89f8bc7cdec4fe1d78d26"}, - {file = "pyats.log-23.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:6b5c6c8678285a6fcda8ee21d5621fd5dbf730019fa466b53517954ea62bef1c"}, - {file = "pyats.log-23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c53619edfab46f4b6cd462cc7b809db8a7bdb79d15e8b60175c41b2041f03a9f"}, - {file = "pyats.log-23.3-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:a695be5c34b9527f944317d27d335ea26bd643bf27650ddb4fc7a2650eaa12e4"}, - {file = "pyats.log-23.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:7ede9c3c56817f01af01812ce75456946e45eabbafeca5b8bccc7763d5487cfc"}, - {file = "pyats.log-23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:32d894d3b027ea47b896a78dd45508ddac95e6f2dc838f3981565d51696c31ea"}, - {file = "pyats.log-23.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:25fbfe88b8589893423d2d1019292d7b4eb68c6c8d308ddfbbe134c37548e970"}, - {file = "pyats.log-23.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:56585bdf260658981fd3d61f27b7d82f434c14b6862eb5c952d206f109de20c7"}, + {file = "pyats.log-23.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ef6db7c88cf3659425a3db212e7121ebd8671cce96cf52be3f2575c7b2f54013"}, + {file = "pyats.log-23.4-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:33bf181c72249a4709cabdf572cd02e5bebc0d23f2d6499cf6b430533d17bc32"}, + {file = "pyats.log-23.4-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:62b5443be5bc433fa3dbc0930e2cb4c042a30b555a2057f2c29f79154c9fe696"}, + {file = "pyats.log-23.4-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:c9ddacdfb449369e0c926eafa7a46971167f48e7dad7dba3fffc4bb2e52b41b4"}, + {file = "pyats.log-23.4-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:e77726de8c1abb9966a37d356956ac9e368f7ad0d2302cfae4319cce155ffe4d"}, + {file = "pyats.log-23.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2ad3765b4b4d16e3191a298c682b183e7269aa72f5e4f112143a853c3b6a48e7"}, + {file = "pyats.log-23.4-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:d1fe41a7eb79ebbfdf81c17cf8c74a3250985086c27a5a01eabd4c129f8530af"}, + {file = "pyats.log-23.4-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:341d50d14a2a4b6b6535b366c95cc92664e7cb45e954f47eb710f30811a77d68"}, + {file = "pyats.log-23.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4b2ed0adc74e7f932fd49a4b2432875ed0f38c674c4bf31d6afbcfdd43aa7a93"}, + {file = "pyats.log-23.4-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:898a3764bf1111943c37899acfeabe4dc55b1ab88f5b58ac981658b29857254f"}, + {file = "pyats.log-23.4-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:6128d32f1ccb7e6c855bc265d2520129a8d89aa3be05769f7fda0c170312281a"}, ] [package.dependencies] @@ -1976,7 +1976,7 @@ aiohttp-swagger = ">=1.0.15" async-lru = ">=1.0.2" chardet = ">=3.0.4,<5.0.0" jinja2 = "*" -"pyats.datastructures" = ">=23.3.0,<23.4.0" +"pyats.datastructures" = ">=23.4.0,<23.5.0" python-engineio = ">=3.13.0,<4.0.0" python-socketio = ">=4.2.0,<5.0.0" pyyaml = "*" @@ -1986,31 +1986,31 @@ dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-reporter" -version = "23.3" +version = "23.4" description = "pyATS Reporter: Result Collection and Reporting" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.reporter-23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:bd313f4711e11ecdeeda048deb8d741d41424de14b42994502508693e2639edb"}, - {file = "pyats.reporter-23.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:a0c28a89e8f53e2e4e1478d4bce0bcda066222e59f88845521255ef840499768"}, - {file = "pyats.reporter-23.3-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:8f6a1b511d3ec56b159c17098236af5831d34ebccad72d6189d65bbc13651a45"}, - {file = "pyats.reporter-23.3-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:2d8ecf7d167c9ff2503b2a304728da9a247b810153e8269014f45b77f22d8f86"}, - {file = "pyats.reporter-23.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:46319c93693ed1c2c41d6a962ab599cf27cfcc7961e41db579b420572e1f5725"}, - {file = "pyats.reporter-23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9b44ed929083deddc6c3f752458e824c327d0fbc3da75c5bf05b12a8a930d6c2"}, - {file = "pyats.reporter-23.3-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:cfd2374201b36de953ce0febe351b30da80139b53d2e0d8c616f8980632cd20c"}, - {file = "pyats.reporter-23.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:872c9ef82fda590bd7398a38eee2edcaff03c61beb7e3043e90834ebc70356f1"}, - {file = "pyats.reporter-23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4a1527c730d84742505901ed25edbd31971d510b49aceeaeec5e5a826d4fb000"}, - {file = "pyats.reporter-23.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:564021133f34587f9d07f861d7e7c0fac743f631483ea0b5568334f7f3146520"}, - {file = "pyats.reporter-23.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:3f682a0d1ee80f191c60ee288ded104ea915c202a4f5bde278c8c7f4f888d738"}, + {file = "pyats.reporter-23.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7e971b643136af76313bac7abe618dc0bcbc32e7d835a6ed2b9e86062bd98c55"}, + {file = "pyats.reporter-23.4-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:44867d9a8a4972d4ac1876c2b9d0222dc48706893e571b4715c46b67d0f9af85"}, + {file = "pyats.reporter-23.4-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:4076f2b8a9ef148c7d3639ffd4fc089cb246ee5f3f1034d460c244bb39b45fb2"}, + {file = "pyats.reporter-23.4-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:59ae6991a4586c9eac6de7012719337d60855a4a0ad33ba1c756015059392289"}, + {file = "pyats.reporter-23.4-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:bf0bf58bf1b1e4a010a74abfe69a6ac232f8a4c5ed305dcac993c9b6a20b0f9f"}, + {file = "pyats.reporter-23.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1a54cf30885f9dcfd4e3f75c0b77fa8e6bb770ed863cff8d3d39dfb9a183d13b"}, + {file = "pyats.reporter-23.4-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:28748d4a0533e4dc2f1a9c2a2528258dad7c8aba2f9d3a99be620da6ac792df3"}, + {file = "pyats.reporter-23.4-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:c4100f9dc662b5f679face5ceb4f27d220141e9f8818d016a8b5ef6a4203a1a7"}, + {file = "pyats.reporter-23.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a1ec08ab4709247e4390096ef876eaed18b81f7e581e9b3a985fc448e6521862"}, + {file = "pyats.reporter-23.4-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:15e4de590f650f47426693ef19cf21878f4db00a301084a0b558eb8aef979193"}, + {file = "pyats.reporter-23.4-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:fcc0629000ba74f6cb5ec8f64b4ac79a62617e36c82a3693e2c60e9e7cdadbe6"}, ] [package.dependencies] gitpython = "*" -"pyats.aereport" = ">=23.3.0,<23.4.0" -"pyats.log" = ">=23.3.0,<23.4.0" -"pyats.results" = ">=23.3.0,<23.4.0" -"pyats.utils" = ">=23.3.0,<23.4.0" +"pyats.aereport" = ">=23.4.0,<23.5.0" +"pyats.log" = ">=23.4.0,<23.5.0" +"pyats.results" = ">=23.4.0,<23.5.0" +"pyats.utils" = ">=23.4.0,<23.5.0" pyyaml = "*" [package.extras] @@ -2018,23 +2018,23 @@ dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-results" -version = "23.3" +version = "23.4" description = "pyATS Results: Representing Results using Objects" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.results-23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7fe1cd94a37ac42021a104812bbf3748f8f9f42a5517675e5b9c4d1491e52baa"}, - {file = "pyats.results-23.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:d49176f1351f232309d1c99f982e71d739d07eb5257a6c03e51bca4e719a3348"}, - {file = "pyats.results-23.3-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:b8be10990030e2d56b693fbb1f79260bac02ff7ae3bd82ad2b9bf10030e5b9a4"}, - {file = "pyats.results-23.3-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:26f5a55ca1a99f27b9226a6f81a651d0db6c5a4f1c3b71392f74a1003b34a4d2"}, - {file = "pyats.results-23.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:d2f565a54f2048c16f9031ef2a300bcb84b5a810b072f567429d0fb655ea722d"}, - {file = "pyats.results-23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c46de2964fe8819ba89411cb65d9360dea4e4dd87dfaa14ec0dbcc991efcda5e"}, - {file = "pyats.results-23.3-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:e23f94b9b75f6eab0d652b8b19d873dcbcab93a9ffe1d94f5b8d43151f1b25d1"}, - {file = "pyats.results-23.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:49b1afdabbf5125b0a2467ea2ba1d27b5db3847d88a5e01878e5cb0c322f2411"}, - {file = "pyats.results-23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cc81653205f7700b7d32603d6b768683f69432c5a97705acfe1cfa3b96ae1d33"}, - {file = "pyats.results-23.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:c3056ab09bb1e0794cacd97682310f83f525be5fc78cb4c96eb95e9190017d5b"}, - {file = "pyats.results-23.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:338aa4adf77cddb46778cfad39c1699e24d591272830923cddfce726323e34b9"}, + {file = "pyats.results-23.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f78ded684bee24d1024601b6293fc7d18b1846be608a737a3d067036d6d646ed"}, + {file = "pyats.results-23.4-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:68ed929af1f965d9ce5ac828194c19487aefd5cfbf9a137e37d0baf963a690ae"}, + {file = "pyats.results-23.4-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:87a10e0297e2e7b25b92b387b6ed7cd8cfa9355dd3abdfd70a352529a1cab232"}, + {file = "pyats.results-23.4-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:ec13bfaac82519cae8e59453c5f156ffe55d9a99b830957c88e0db26be034181"}, + {file = "pyats.results-23.4-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:6e77d9540def5450fa9d73c1ac24490159d080cca984b94c6b7cffce0cd55ce2"}, + {file = "pyats.results-23.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3588d1035e976fed02516eec453bf267df1977fe2f58aada76436488a38528b3"}, + {file = "pyats.results-23.4-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:607d46af86e408d5804593cc00448e9cbf98c9165cf87a733af290a7e38038d4"}, + {file = "pyats.results-23.4-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:b83a29ea90101a42def1f4d7344f9e9ff4dc057cba826316677dc776b4f2f557"}, + {file = "pyats.results-23.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b5fef883b058f0e72851de61b67444bcb90caa1ef1cd750a60619d7e790545da"}, + {file = "pyats.results-23.4-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:f82d30fb18a1995b5c6c22f77dfedbe2c569365a5cfc215b90f3b685c00a4f68"}, + {file = "pyats.results-23.4-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:2a9247b560d5f85db53f6fbfe15bd93237673936b2710d774157827b3cbbdd9a"}, ] [package.extras] @@ -2042,57 +2042,57 @@ dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-tcl" -version = "23.3" +version = "23.4" description = "pyATS Tcl: Tcl Integration and Objects" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.tcl-23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a39dc8dcc56d28f1bb29d91ee194f7a2359133183abe1a56359dbbe7996697c8"}, - {file = "pyats.tcl-23.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:b0bfae2ba3110e7020940fbb0f13993674c6679123d26602b1625888e4569fd4"}, - {file = "pyats.tcl-23.3-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:bfb3e71bb6ba6f86d272f46cdb04daa2d3f3c41f043805a320321bb87b34dbc8"}, - {file = "pyats.tcl-23.3-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:eda9438cea1354f3699b087cd6bf787e43d862a441b00677bd05087ccda092a3"}, - {file = "pyats.tcl-23.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:4b526efc4e5e5edc95d73e30b0dfbb15c9e847d483715cf1b0fe9e3462c2e45f"}, - {file = "pyats.tcl-23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2fd70e3332a4094b3b63b9e5d67c8abebc855e2195db6ceba28fbeddad0cd7ed"}, - {file = "pyats.tcl-23.3-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:1c394cad205da99d0a77205fc1610ab28ad072d425773f5f7b0524baaf48e62e"}, - {file = "pyats.tcl-23.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:0690712fa3286ffbc47e2e2cad1c7bfa7acad513b7421a912c900ac933369eb9"}, - {file = "pyats.tcl-23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:415a34b5656f80e4993fd348595744059b60654688eb89c88cbd300d2a62140d"}, - {file = "pyats.tcl-23.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:33a405c82e77c0effe74572664a2005444faa88f1365b49105fd42105bcb1209"}, - {file = "pyats.tcl-23.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:fe5127ed63d9a74abaa208bf9477753c785401f3359ff20aa8799a283b47d62c"}, + {file = "pyats.tcl-23.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:89445615d5a919970463c731ebf11cdab71d73ef1b0505d3bc1f4e122cd14968"}, + {file = "pyats.tcl-23.4-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:70497c6b4c28dca0b087521954bf3a52ef871bd02bc48b56946d5a8ce0aa57e8"}, + {file = "pyats.tcl-23.4-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:874af5e587161d7c6f63bb14748779df3e25e03adde75d93ccb8eb05aa7eb4db"}, + {file = "pyats.tcl-23.4-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:28962c7fd8c223f947ae07e2096621711bcc938d2d537aa24ddee7dbadc6e07a"}, + {file = "pyats.tcl-23.4-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:0b3ea488308533886a9d3e2687ef7d3cbc77ddec9e7387e1efa5635598484f1a"}, + {file = "pyats.tcl-23.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:e5cbb582f69a4e1725d34495c7f1e7f5e8ea02a7b726b934978ab6bf089baf5c"}, + {file = "pyats.tcl-23.4-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:7b5c471b0f5b329e4889729b0fab9827d9e71f42fce1c15980fbdfb8e4f7fe4d"}, + {file = "pyats.tcl-23.4-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:d6d17b82f748e2e7d4381c18df32e3f01fa59fafb6178ae54f3bbd29cf08349a"}, + {file = "pyats.tcl-23.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:346335d7ebccbb61b044730ce9a9cb55769d456aeba6776a6ae570308c65249d"}, + {file = "pyats.tcl-23.4-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:fe74257321a3156e51aae6fa58b60ca88f0f75f6f67057203796eb909e3dd7ca"}, + {file = "pyats.tcl-23.4-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:52bf75278988052dad336cc4290382f9ec70fad196aee6a21aabc78304a4526b"}, ] [package.dependencies] -"pyats.datastructures" = ">=23.3.0,<23.4.0" -"pyats.log" = ">=23.3.0,<23.4.0" +"pyats.datastructures" = ">=23.4.0,<23.5.0" +"pyats.log" = ">=23.4.0,<23.5.0" [package.extras] dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-topology" -version = "23.3" +version = "23.4" description = "pyATS Topology: Topology Objects and Testbed YAMLs" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.topology-23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:95262cfedebab2defb9b9ee4707463fa646684c77ab021127d588ca744a4e612"}, - {file = "pyats.topology-23.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:201efba66c232ebc1ae58173167594c1d737c819810ce0ad53154d58712e271a"}, - {file = "pyats.topology-23.3-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:35cf618173f64e9298b2118c91a387e775146355f5193a71b7d3972f535b95da"}, - {file = "pyats.topology-23.3-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:53a99905cca3ec86da28f28d397ecb3b262a7986cbb96cb0856644bce144a9fd"}, - {file = "pyats.topology-23.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:3801076c588fa7d666d083fe656e6d599e0d15e49e9ad54a884c0a7ea87ba3b0"}, - {file = "pyats.topology-23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ab777b3213f6c1de5c5e184bc49aa94c779d1e2204ca497b6bc8ecb65d198227"}, - {file = "pyats.topology-23.3-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:7f71e3fc2ca249f69b9736314de5ebc833457c65d8907d11524273845850df31"}, - {file = "pyats.topology-23.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:57c3244d1c472d54252e61e712b3f70a0b302eb41ac0eb7746b8f4bbcbb20be3"}, - {file = "pyats.topology-23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:86f64f1fed673fafd9a16f9a0aa130168d5fa5ccd114e7d843f6a34a9775c8cb"}, - {file = "pyats.topology-23.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:679bc0a38a0408553b2184c25d7147f22bdd6ce3c13a563f0fba27b1e2a0c337"}, - {file = "pyats.topology-23.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:097966473876c856fc7f9a62fc413b81b6e12f63abf04b5ff6653d3c8bc9c14c"}, + {file = "pyats.topology-23.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:049a9cf3dfef80b1a78c7d875793d6f6e5e93137bfd21a713120d5f7f161e4c9"}, + {file = "pyats.topology-23.4-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:cb8ce64c3b4ce6e65984f69553b08161bf857db89d2b60e4a62164a56448a70b"}, + {file = "pyats.topology-23.4-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:36ccc3bfb0034a7d05a7012b0fd9e556339f8fa49fabe4ae0c54539c198bbdd2"}, + {file = "pyats.topology-23.4-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:f758bffb00f6bf47ad1a0156bc007d82502f7eecda0b0d62864988f85b1e515c"}, + {file = "pyats.topology-23.4-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:a5570530779937e562fb3f48e340a6bdf5f43995f2120cb76aa6b5e3165930c7"}, + {file = "pyats.topology-23.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7610fdd1263a07b70ecac50a17259abb6b100a1cca0130052427ee61561e32be"}, + {file = "pyats.topology-23.4-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:ade53271a31b70f971db2cb27e7de63e2fe6862f250ddd92d1083d87e385abd6"}, + {file = "pyats.topology-23.4-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:c61388cad7e4034ce18fd5d7a1b959aa38cfb7c78390ba2c11db016d6df0a9f0"}, + {file = "pyats.topology-23.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9c2e1e995a1064e79b2aa5a53ed56b1881fb36390b6427e67fe8c61f4dd5f058"}, + {file = "pyats.topology-23.4-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:380dabca1f717ee35d1df6e575b9fd726cd5e6632aa701d7f1803c11bb86b5de"}, + {file = "pyats.topology-23.4-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:000e873a0a875c846705837c214390cf6e32e94440e7b2ff39ee1ae4f76eff89"}, ] [package.dependencies] -"pyats.connections" = ">=23.3.0,<23.4.0" -"pyats.datastructures" = ">=23.3.0,<23.4.0" -"pyats.utils" = ">=23.3.0,<23.4.0" +"pyats.connections" = ">=23.4.0,<23.5.0" +"pyats.datastructures" = ">=23.4.0,<23.5.0" +"pyats.utils" = ">=23.4.0,<23.5.0" pyyaml = "*" yamllint = "*" @@ -2101,30 +2101,30 @@ dev = ["Sphinx", "sphinx-rtd-theme"] [[package]] name = "pyats-utils" -version = "23.3" +version = "23.4" description = "pyATS Utils: Utilities Module" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "pyats.utils-23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:824b555302c17a8d101d923b4e43007bded40ab602ee2bd7cd5087b854cc1e63"}, - {file = "pyats.utils-23.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:96cc4fc12c6f4b8bdfa6eda884f0d671aae2e7ae121e345db12204308f801785"}, - {file = "pyats.utils-23.3-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:f9d4feebe08170bf274d4fabe0df848e92e5103c31442e40d0d39555c1171369"}, - {file = "pyats.utils-23.3-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:962fb42b9affca4f83c6f20a871d34e1ec8861c2415099989c3563d8681c50ee"}, - {file = "pyats.utils-23.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:0f6579ccc4b58b139b346340a8376036609b7b6121c5e1eeddb5f9817669b5bb"}, - {file = "pyats.utils-23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:61fdb9e624a1c579fc11d080db37bf53674c5e04c976ada9f8684397fa2875fb"}, - {file = "pyats.utils-23.3-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:6ef23c887e451838a505f63fb1cb3c65586310b4cb502b10a52da4ede675547c"}, - {file = "pyats.utils-23.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:3b2c7507b7cfceb50dd188c1b2b00023e2f42a07f273a918c0a79ea083340365"}, - {file = "pyats.utils-23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f881f6d513d46a141a7ff395096fdf7ad7a994e9d25bfdfaf93aaaf25dcec9ab"}, - {file = "pyats.utils-23.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:2a48f721c45dd4be07e5da211fe87beec6616213335f5245747984846457b14f"}, - {file = "pyats.utils-23.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:fd3d59125666761b800e4354a520587d153b0f8ad42af09a22022254a5713c3f"}, + {file = "pyats.utils-23.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1d849dde84b09610f25c36e70e4d650be1e816e1273842fb92a492691814bac1"}, + {file = "pyats.utils-23.4-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:4a8c1db3d05616a890e884a3ce02174b6c077359b531e482873124c0337011a1"}, + {file = "pyats.utils-23.4-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:436cf5a76f2795e5b3781fe28f3db11d30d0aa93f0c75ce9634043de03967e94"}, + {file = "pyats.utils-23.4-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:7b4ff4a735f4e6c9d35f347f6728e1edbcf0493da99344ff9e499f1dd617c241"}, + {file = "pyats.utils-23.4-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:5945036c37d99249327f799a08467c791d9a615b5520368d3a39bb3507372d79"}, + {file = "pyats.utils-23.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3b1a27f9cc88a889103e04b8cb589b8413d9f5c820eac8b969ee6b8b3c6fe2d3"}, + {file = "pyats.utils-23.4-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:8900321783bed14e2406a8d0474ec74be48aecba5dea3fa9a16b70da622d7849"}, + {file = "pyats.utils-23.4-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:025c60c23ded1758d9883d763b25200aae1f2b55ad45be2f75cc1b06d011f4a7"}, + {file = "pyats.utils-23.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e28392cb70e94f9aa9e953d4fdc3dc86c8947df64623d35321793e1a7fc1ea35"}, + {file = "pyats.utils-23.4-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:ebbbc36f048b6755feb7179cca05a344118045e4b4a2f95deaec3baa3ff2a3e4"}, + {file = "pyats.utils-23.4-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:da173a2ae50b66ad81e2fcbc66d3dc08566cd665d48cf8cc3dca65b95eee6acb"}, ] [package.dependencies] cryptography = "*" distro = "*" -"pyats.datastructures" = ">=23.3.0,<23.4.0" -"pyats.topology" = ">=23.3.0,<23.4.0" +"pyats.datastructures" = ">=23.4.0,<23.5.0" +"pyats.topology" = ">=23.4.0,<23.5.0" [package.extras] dev = ["Sphinx", "requests-mock", "sphinx-rtd-theme"] @@ -2243,14 +2243,14 @@ ssl = ["PyOpenSSL"] [[package]] name = "pygments" -version = "2.15.0" +version = "2.15.1" description = "Pygments is a syntax highlighting package written in Python." category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "Pygments-2.15.0-py3-none-any.whl", hash = "sha256:77a3299119af881904cd5ecd1ac6a66214b6e9bed1f2db16993b54adede64094"}, - {file = "Pygments-2.15.0.tar.gz", hash = "sha256:f7e36cffc4c517fbc252861b9a6e4644ca0e5abadf9a113c72d1358ad09b9500"}, + {file = "Pygments-2.15.1-py3-none-any.whl", hash = "sha256:db2db3deb4b4179f399a09054b023b6a586b76499d36965813c71aa8ed7b5fd1"}, + {file = "Pygments-2.15.1.tar.gz", hash = "sha256:8ace4d3c1dd481894b2005f560ead0f9f19ee64fe983366be1a21e171d12775c"}, ] [package.extras] @@ -2483,21 +2483,21 @@ md = ["cmarkgfm (>=0.8.0)"] [[package]] name = "requests" -version = "2.28.2" +version = "2.30.0" description = "Python HTTP for Humans." category = "dev" optional = false -python-versions = ">=3.7, <4" +python-versions = ">=3.7" files = [ - {file = "requests-2.28.2-py3-none-any.whl", hash = "sha256:64299f4909223da747622c030b781c0d7811e359c37124b4bd368fb8c6518baa"}, - {file = "requests-2.28.2.tar.gz", hash = "sha256:98b1b2782e3c6c4904938b84c0eb932721069dfdb9134313beff7c83c2df24bf"}, + {file = "requests-2.30.0-py3-none-any.whl", hash = "sha256:10e94cc4f3121ee6da529d358cdaeaff2f1c409cd377dbc72b825852f2f7e294"}, + {file = "requests-2.30.0.tar.gz", hash = "sha256:239d7d4458afcb28a692cdd298d87542235f4ca8d36d03a15bfc128a6559a2f4"}, ] [package.dependencies] certifi = ">=2017.4.17" charset-normalizer = ">=2,<4" idna = ">=2.5,<4" -urllib3 = ">=1.21.1,<1.27" +urllib3 = ">=1.21.1,<3" [package.extras] socks = ["PySocks (>=1.5.6,!=1.5.7)"] @@ -2505,14 +2505,14 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] [[package]] name = "requests-toolbelt" -version = "0.10.1" +version = "1.0.0" description = "A utility belt for advanced users of python-requests" category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ - {file = "requests-toolbelt-0.10.1.tar.gz", hash = "sha256:62e09f7ff5ccbda92772a29f394a49c3ad6cb181d568b1337626b2abb628a63d"}, - {file = "requests_toolbelt-0.10.1-py2.py3-none-any.whl", hash = "sha256:18565aa58116d9951ac39baa288d3adb5b3ff975c4f25eee78555d89e8f247f7"}, + {file = "requests-toolbelt-1.0.0.tar.gz", hash = "sha256:7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6"}, + {file = "requests_toolbelt-1.0.0-py2.py3-none-any.whl", hash = "sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06"}, ] [package.dependencies] @@ -2520,14 +2520,14 @@ requests = ">=2.0.1,<3.0.0" [[package]] name = "ruamel-yaml" -version = "0.17.21" +version = "0.17.22" description = "ruamel.yaml is a YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order" category = "dev" optional = false python-versions = ">=3" files = [ - {file = "ruamel.yaml-0.17.21-py3-none-any.whl", hash = "sha256:742b35d3d665023981bd6d16b3d24248ce5df75fdb4e2924e93a05c1f8b61ca7"}, - {file = "ruamel.yaml-0.17.21.tar.gz", hash = "sha256:8b7ce697a2f212752a35c1ac414471dc16c424c9573be4926b56ff3f5d23b7af"}, + {file = "ruamel.yaml-0.17.22-py3-none-any.whl", hash = "sha256:b4c6e66d103d8af198aa6139580ab735169be4922eb4c515ac121bdabf6f9361"}, + {file = "ruamel.yaml-0.17.22.tar.gz", hash = "sha256:c22ec58aaca5105f771cb8f7ac45ad631b5e8b00454ebe1822d442fb696e9e62"}, ] [package.dependencies] @@ -2598,14 +2598,14 @@ paramiko = "*" [[package]] name = "setuptools" -version = "67.6.1" +version = "67.7.2" description = "Easily download, build, install, upgrade, and uninstall Python packages" category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "setuptools-67.6.1-py3-none-any.whl", hash = "sha256:e728ca814a823bf7bf60162daf9db95b93d532948c4c0bea762ce62f60189078"}, - {file = "setuptools-67.6.1.tar.gz", hash = "sha256:257de92a9d50a60b8e22abfcbb771571fde0dbf3ec234463212027a4eeecbe9a"}, + {file = "setuptools-67.7.2-py3-none-any.whl", hash = "sha256:23aaf86b85ca52ceb801d32703f12d77517b2556af839621c641fca11287952b"}, + {file = "setuptools-67.7.2.tar.gz", hash = "sha256:f104fa03692a2602fa0fec6c6a9e63b6c8a968de13e17c026957dd1f53d80990"}, ] [package.extras] @@ -2711,14 +2711,14 @@ telegram = ["requests"] [[package]] name = "ttp" -version = "0.9.3" +version = "0.9.4" description = "Template Text Parser" category = "dev" optional = false python-versions = ">=2.7,<4.0" files = [ - {file = "ttp-0.9.3-py2.py3-none-any.whl", hash = "sha256:d68b08533682873a2b81f9a362eeb3c06b000a77ac8a7edb46ea7c82c510fe03"}, - {file = "ttp-0.9.3.tar.gz", hash = "sha256:6d92e17ecb19651ca3d3d9c72035ad3b639419bd08a074507e41547aab75cce7"}, + {file = "ttp-0.9.4-py2.py3-none-any.whl", hash = "sha256:550e26fd742703f9fd0fac09e3701766190d4551978fccdead294d49cdec2423"}, + {file = "ttp-0.9.4.tar.gz", hash = "sha256:44aaef0561f83d588563918157a502fc9f928e5bc3867026c2cc7b5a8c0dc3e1"}, ] [package.extras] @@ -2824,29 +2824,29 @@ files = [ [[package]] name = "unicon" -version = "23.3" +version = "23.4" description = "Unicon Connection Library" category = "dev" optional = false python-versions = ">=3.5" files = [ - {file = "unicon-23.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f6b31ab3f069636289eae02628bb54ab065425d6e8bdb4cb55c402bb4712076a"}, - {file = "unicon-23.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:8591d3c5aa8b656db849060b3719332882a237c603bfa4ec8e5bef6a02916190"}, - {file = "unicon-23.3-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:8ddf424e8a0d43a69b9ed4090837c00c77b52cad02ad667c227db8dc4b929912"}, - {file = "unicon-23.3-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:8e0fc95d2d99cc3efce276d1745b803b1e74f579f6e8dcfe07a410dc4ea53802"}, - {file = "unicon-23.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:7949217b9fe41b5bf3d6d2f0cf1869841f5dcb6dd8fdc9f1164db1d13a0f8026"}, - {file = "unicon-23.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:262fdffceb7a2cc12061acf13e21632638ba339c913671b779c16e6a78ecb25b"}, - {file = "unicon-23.3-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:ca198e01f1260d93f83ad0ebfeb3448c9038a79ed6d3f0fbb5a2a68ec582d722"}, - {file = "unicon-23.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:4f14d7a3c1ada9bd1949d77207eb32e63ac3f9f93ac755112f25018723997044"}, - {file = "unicon-23.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a6fc53015af3e3c6cc367f9b2cd4b4087219484242033a35e0569fa030962638"}, - {file = "unicon-23.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:688338d1da27b460dacfcbac8d8fd631c3f43f4f6ddb578b1ece65026da49442"}, - {file = "unicon-23.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:cbbd84008c658a8ee305d3facaf3f4f071cbe50eb1b0b03bca6c1c826e94edeb"}, + {file = "unicon-23.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4ebd02e41e3c145b543eec66a17a328e51b8c710c3d9efe5594271ce986d7dd1"}, + {file = "unicon-23.4-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:d5ef4dc4f7ca89cbdf22f83be01a3d28dc86f1d7055fcbbe99df2630c89e8d1c"}, + {file = "unicon-23.4-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:84f96139516f07a1e8378bf765c32cf71724ed1dc75470646e8654b4e7c8381c"}, + {file = "unicon-23.4-cp37-cp37m-macosx_11_0_x86_64.whl", hash = "sha256:297ab6c7452f3e52eae338774f53c47a41abdec90f6825170fc5bba0429ccdc7"}, + {file = "unicon-23.4-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:0c5b86487594461f40b5c740b15a7a2353d155fc15c8fca7a852fe9f630073bc"}, + {file = "unicon-23.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a77cf21a3b3cd8fe618f70236695803dde16197c9c1f791b38714690da938e3a"}, + {file = "unicon-23.4-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:0ce04d3091ba9deb72b8653ebbdd2c0716029d5678399c27309a3359fd3526cc"}, + {file = "unicon-23.4-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:2db04552e3249d3a26e251a3a2d13f76314587ee4e4e72f0ef4d47d0e6aff5cb"}, + {file = "unicon-23.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:af5c710518efdba1af74a35f60c0268d9fd6a853ea21fe4d42eaaa28a620b682"}, + {file = "unicon-23.4-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:03385fb9fd627ff24907537116453e542ce3812aaf1fc7d3372f6ec6647ec554"}, + {file = "unicon-23.4-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:010f7b2d8b639e68de3b71f681c7275201e39c27b7c98da400d6564706873d2b"}, ] [package.dependencies] dill = "*" pyyaml = "*" -"unicon.plugins" = ">=23.3.0,<23.4.0" +"unicon.plugins" = ">=23.4.0,<23.5.0" [package.extras] dev = ["Sphinx", "cisco-distutils", "coverage", "restview", "sphinx-rtd-theme", "sphinxcontrib-mockautodoc", "sphinxcontrib-napoleon"] @@ -2855,39 +2855,40 @@ robot = ["robotframework"] [[package]] name = "unicon-plugins" -version = "23.3" +version = "23.4" description = "Unicon Connection Library Plugins" category = "dev" optional = false python-versions = "*" files = [ - {file = "unicon.plugins-23.3-py3-none-any.whl", hash = "sha256:6c8800eeb23408d1a6e9a377e08f5640a1b6a72d2667198a3dec7df1a6809ed8"}, + {file = "unicon.plugins-23.4-py3-none-any.whl", hash = "sha256:49699b0e06b35cd700faa19ffe9f6a38fd36c987cbd790ece554affd1756eb70"}, ] [package.dependencies] PrettyTable = "*" pyyaml = "*" -unicon = ">=23.3.0,<23.4.0" +unicon = ">=23.4.0,<23.5.0" [package.extras] dev = ["Sphinx", "coverage", "pip", "restview", "setuptools", "sphinx-rtd-theme", "sphinxcontrib-mockautodoc", "sphinxcontrib-napoleon", "wheel"] [[package]] name = "urllib3" -version = "1.26.15" +version = "2.0.2" description = "HTTP library with thread-safe connection pooling, file post, and more." category = "dev" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" +python-versions = ">=3.7" files = [ - {file = "urllib3-1.26.15-py2.py3-none-any.whl", hash = "sha256:aa751d169e23c7479ce47a0cb0da579e3ede798f994f5816a74e4f4500dcea42"}, - {file = "urllib3-1.26.15.tar.gz", hash = "sha256:8a388717b9476f934a21484e8c8e61875ab60644d29b9b39e11e4b9dc1c6b305"}, + {file = "urllib3-2.0.2-py3-none-any.whl", hash = "sha256:d055c2f9d38dc53c808f6fdc8eab7360b6fdbbde02340ed25cfbcd817c62469e"}, + {file = "urllib3-2.0.2.tar.gz", hash = "sha256:61717a1095d7e155cdb737ac7bb2f4324a858a1e2e6466f6d03ff630ca68d3cc"}, ] [package.extras] -brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"] -secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] -socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +secure = ["certifi", "cryptography (>=1.9)", "idna (>=2.0.0)", "pyopenssl (>=17.1.0)", "urllib3-secure-extra"] +socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] +zstd = ["zstandard (>=0.18.0)"] [[package]] name = "wcwidth" @@ -2942,29 +2943,32 @@ files = [ [[package]] name = "yamllint" -version = "1.30.0" +version = "1.31.0" description = "A linter for YAML files." category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "yamllint-1.30.0.tar.gz", hash = "sha256:4f58f323aedda16189a489d183ecc25c66d7a9cc0fe88f61b650fef167b13190"}, + {file = "yamllint-1.31.0-py3-none-any.whl", hash = "sha256:15f4bdb645e6a4a0a22fe5415bc38b4a934c51419b30104896d2f3f95e329185"}, + {file = "yamllint-1.31.0.tar.gz", hash = "sha256:2d83f1d12f733e162a87e06b176149d7bb9c5bae4a9e5fce1c771d7f703f7a65"}, ] [package.dependencies] pathspec = ">=0.5.3" pyyaml = "*" -setuptools = "*" + +[package.extras] +dev = ["doc8", "flake8", "flake8-import-order", "rstcheck[sphinx]", "sphinx"] [[package]] name = "yang-connector" -version = "23.3" +version = "23.4" description = "YANG defined interface API protocol connector" category = "dev" optional = false python-versions = "*" files = [ - {file = "yang.connector-23.3-py3-none-any.whl", hash = "sha256:555c63d755b318cfed3d67eb19a57a427985313d669ed686ae4cbd99f1e2fd2f"}, + {file = "yang.connector-23.4-py3-none-any.whl", hash = "sha256:a00d4bcf9e8354c4ea6d28eb3655f9156d4e20c6413737ff5d7aafbae1a88def"}, ] [package.dependencies] @@ -2979,86 +2983,86 @@ dev = ["Sphinx", "coverage", "restview", "sphinx-rtd-theme", "sphinxcontrib-napo [[package]] name = "yarl" -version = "1.8.2" +version = "1.9.2" description = "Yet another URL library" category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "yarl-1.8.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:bb81f753c815f6b8e2ddd2eef3c855cf7da193b82396ac013c661aaa6cc6b0a5"}, - {file = "yarl-1.8.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:47d49ac96156f0928f002e2424299b2c91d9db73e08c4cd6742923a086f1c863"}, - {file = "yarl-1.8.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3fc056e35fa6fba63248d93ff6e672c096f95f7836938241ebc8260e062832fe"}, - {file = "yarl-1.8.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:58a3c13d1c3005dbbac5c9f0d3210b60220a65a999b1833aa46bd6677c69b08e"}, - {file = "yarl-1.8.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:10b08293cda921157f1e7c2790999d903b3fd28cd5c208cf8826b3b508026996"}, - {file = "yarl-1.8.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:de986979bbd87272fe557e0a8fcb66fd40ae2ddfe28a8b1ce4eae22681728fef"}, - {file = "yarl-1.8.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c4fcfa71e2c6a3cb568cf81aadc12768b9995323186a10827beccf5fa23d4f8"}, - {file = "yarl-1.8.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae4d7ff1049f36accde9e1ef7301912a751e5bae0a9d142459646114c70ecba6"}, - {file = "yarl-1.8.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:bf071f797aec5b96abfc735ab97da9fd8f8768b43ce2abd85356a3127909d146"}, - {file = "yarl-1.8.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:74dece2bfc60f0f70907c34b857ee98f2c6dd0f75185db133770cd67300d505f"}, - {file = "yarl-1.8.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:df60a94d332158b444301c7f569659c926168e4d4aad2cfbf4bce0e8fb8be826"}, - {file = "yarl-1.8.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:63243b21c6e28ec2375f932a10ce7eda65139b5b854c0f6b82ed945ba526bff3"}, - {file = "yarl-1.8.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:cfa2bbca929aa742b5084fd4663dd4b87c191c844326fcb21c3afd2d11497f80"}, - {file = "yarl-1.8.2-cp310-cp310-win32.whl", hash = "sha256:b05df9ea7496df11b710081bd90ecc3a3db6adb4fee36f6a411e7bc91a18aa42"}, - {file = "yarl-1.8.2-cp310-cp310-win_amd64.whl", hash = "sha256:24ad1d10c9db1953291f56b5fe76203977f1ed05f82d09ec97acb623a7976574"}, - {file = "yarl-1.8.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2a1fca9588f360036242f379bfea2b8b44cae2721859b1c56d033adfd5893634"}, - {file = "yarl-1.8.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f37db05c6051eff17bc832914fe46869f8849de5b92dc4a3466cd63095d23dfd"}, - {file = "yarl-1.8.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:77e913b846a6b9c5f767b14dc1e759e5aff05502fe73079f6f4176359d832581"}, - {file = "yarl-1.8.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0978f29222e649c351b173da2b9b4665ad1feb8d1daa9d971eb90df08702668a"}, - {file = "yarl-1.8.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:388a45dc77198b2460eac0aca1efd6a7c09e976ee768b0d5109173e521a19daf"}, - {file = "yarl-1.8.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2305517e332a862ef75be8fad3606ea10108662bc6fe08509d5ca99503ac2aee"}, - {file = "yarl-1.8.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42430ff511571940d51e75cf42f1e4dbdded477e71c1b7a17f4da76c1da8ea76"}, - {file = "yarl-1.8.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3150078118f62371375e1e69b13b48288e44f6691c1069340081c3fd12c94d5b"}, - {file = "yarl-1.8.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c15163b6125db87c8f53c98baa5e785782078fbd2dbeaa04c6141935eb6dab7a"}, - {file = "yarl-1.8.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4d04acba75c72e6eb90745447d69f84e6c9056390f7a9724605ca9c56b4afcc6"}, - {file = "yarl-1.8.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:e7fd20d6576c10306dea2d6a5765f46f0ac5d6f53436217913e952d19237efc4"}, - {file = "yarl-1.8.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:75c16b2a900b3536dfc7014905a128a2bea8fb01f9ee26d2d7d8db0a08e7cb2c"}, - {file = "yarl-1.8.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:6d88056a04860a98341a0cf53e950e3ac9f4e51d1b6f61a53b0609df342cc8b2"}, - {file = "yarl-1.8.2-cp311-cp311-win32.whl", hash = "sha256:fb742dcdd5eec9f26b61224c23baea46c9055cf16f62475e11b9b15dfd5c117b"}, - {file = "yarl-1.8.2-cp311-cp311-win_amd64.whl", hash = "sha256:8c46d3d89902c393a1d1e243ac847e0442d0196bbd81aecc94fcebbc2fd5857c"}, - {file = "yarl-1.8.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:ceff9722e0df2e0a9e8a79c610842004fa54e5b309fe6d218e47cd52f791d7ef"}, - {file = "yarl-1.8.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f6b4aca43b602ba0f1459de647af954769919c4714706be36af670a5f44c9c1"}, - {file = "yarl-1.8.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1684a9bd9077e922300ecd48003ddae7a7474e0412bea38d4631443a91d61077"}, - {file = "yarl-1.8.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ebb78745273e51b9832ef90c0898501006670d6e059f2cdb0e999494eb1450c2"}, - {file = "yarl-1.8.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3adeef150d528ded2a8e734ebf9ae2e658f4c49bf413f5f157a470e17a4a2e89"}, - {file = "yarl-1.8.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57a7c87927a468e5a1dc60c17caf9597161d66457a34273ab1760219953f7f4c"}, - {file = "yarl-1.8.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:efff27bd8cbe1f9bd127e7894942ccc20c857aa8b5a0327874f30201e5ce83d0"}, - {file = "yarl-1.8.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:a783cd344113cb88c5ff7ca32f1f16532a6f2142185147822187913eb989f739"}, - {file = "yarl-1.8.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:705227dccbe96ab02c7cb2c43e1228e2826e7ead880bb19ec94ef279e9555b5b"}, - {file = "yarl-1.8.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:34c09b43bd538bf6c4b891ecce94b6fa4f1f10663a8d4ca589a079a5018f6ed7"}, - {file = "yarl-1.8.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:a48f4f7fea9a51098b02209d90297ac324241bf37ff6be6d2b0149ab2bd51b37"}, - {file = "yarl-1.8.2-cp37-cp37m-win32.whl", hash = "sha256:0414fd91ce0b763d4eadb4456795b307a71524dbacd015c657bb2a39db2eab89"}, - {file = "yarl-1.8.2-cp37-cp37m-win_amd64.whl", hash = "sha256:d881d152ae0007809c2c02e22aa534e702f12071e6b285e90945aa3c376463c5"}, - {file = "yarl-1.8.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5df5e3d04101c1e5c3b1d69710b0574171cc02fddc4b23d1b2813e75f35a30b1"}, - {file = "yarl-1.8.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7a66c506ec67eb3159eea5096acd05f5e788ceec7b96087d30c7d2865a243918"}, - {file = "yarl-1.8.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2b4fa2606adf392051d990c3b3877d768771adc3faf2e117b9de7eb977741229"}, - {file = "yarl-1.8.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e21fb44e1eff06dd6ef971d4bdc611807d6bd3691223d9c01a18cec3677939e"}, - {file = "yarl-1.8.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:93202666046d9edadfe9f2e7bf5e0782ea0d497b6d63da322e541665d65a044e"}, - {file = "yarl-1.8.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fc77086ce244453e074e445104f0ecb27530d6fd3a46698e33f6c38951d5a0f1"}, - {file = "yarl-1.8.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64dd68a92cab699a233641f5929a40f02a4ede8c009068ca8aa1fe87b8c20ae3"}, - {file = "yarl-1.8.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1b372aad2b5f81db66ee7ec085cbad72c4da660d994e8e590c997e9b01e44901"}, - {file = "yarl-1.8.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:e6f3515aafe0209dd17fb9bdd3b4e892963370b3de781f53e1746a521fb39fc0"}, - {file = "yarl-1.8.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:dfef7350ee369197106805e193d420b75467b6cceac646ea5ed3049fcc950a05"}, - {file = "yarl-1.8.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:728be34f70a190566d20aa13dc1f01dc44b6aa74580e10a3fb159691bc76909d"}, - {file = "yarl-1.8.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:ff205b58dc2929191f68162633d5e10e8044398d7a45265f90a0f1d51f85f72c"}, - {file = "yarl-1.8.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:baf211dcad448a87a0d9047dc8282d7de59473ade7d7fdf22150b1d23859f946"}, - {file = "yarl-1.8.2-cp38-cp38-win32.whl", hash = "sha256:272b4f1599f1b621bf2aabe4e5b54f39a933971f4e7c9aa311d6d7dc06965165"}, - {file = "yarl-1.8.2-cp38-cp38-win_amd64.whl", hash = "sha256:326dd1d3caf910cd26a26ccbfb84c03b608ba32499b5d6eeb09252c920bcbe4f"}, - {file = "yarl-1.8.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f8ca8ad414c85bbc50f49c0a106f951613dfa5f948ab69c10ce9b128d368baf8"}, - {file = "yarl-1.8.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:418857f837347e8aaef682679f41e36c24250097f9e2f315d39bae3a99a34cbf"}, - {file = "yarl-1.8.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ae0eec05ab49e91a78700761777f284c2df119376e391db42c38ab46fd662b77"}, - {file = "yarl-1.8.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:009a028127e0a1755c38b03244c0bea9d5565630db9c4cf9572496e947137a87"}, - {file = "yarl-1.8.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3edac5d74bb3209c418805bda77f973117836e1de7c000e9755e572c1f7850d0"}, - {file = "yarl-1.8.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:da65c3f263729e47351261351b8679c6429151ef9649bba08ef2528ff2c423b2"}, - {file = "yarl-1.8.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ef8fb25e52663a1c85d608f6dd72e19bd390e2ecaf29c17fb08f730226e3a08"}, - {file = "yarl-1.8.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bcd7bb1e5c45274af9a1dd7494d3c52b2be5e6bd8d7e49c612705fd45420b12d"}, - {file = "yarl-1.8.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:44ceac0450e648de86da8e42674f9b7077d763ea80c8ceb9d1c3e41f0f0a9951"}, - {file = "yarl-1.8.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:97209cc91189b48e7cfe777237c04af8e7cc51eb369004e061809bcdf4e55220"}, - {file = "yarl-1.8.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:48dd18adcf98ea9cd721a25313aef49d70d413a999d7d89df44f469edfb38a06"}, - {file = "yarl-1.8.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:e59399dda559688461762800d7fb34d9e8a6a7444fd76ec33220a926c8be1516"}, - {file = "yarl-1.8.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d617c241c8c3ad5c4e78a08429fa49e4b04bedfc507b34b4d8dceb83b4af3588"}, - {file = "yarl-1.8.2-cp39-cp39-win32.whl", hash = "sha256:cb6d48d80a41f68de41212f3dfd1a9d9898d7841c8f7ce6696cf2fd9cb57ef83"}, - {file = "yarl-1.8.2-cp39-cp39-win_amd64.whl", hash = "sha256:6604711362f2dbf7160df21c416f81fac0de6dbcf0b5445a2ef25478ecc4c778"}, - {file = "yarl-1.8.2.tar.gz", hash = "sha256:49d43402c6e3013ad0978602bf6bf5328535c48d192304b91b97a3c6790b1562"}, + {file = "yarl-1.9.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8c2ad583743d16ddbdf6bb14b5cd76bf43b0d0006e918809d5d4ddf7bde8dd82"}, + {file = "yarl-1.9.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:82aa6264b36c50acfb2424ad5ca537a2060ab6de158a5bd2a72a032cc75b9eb8"}, + {file = "yarl-1.9.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c0c77533b5ed4bcc38e943178ccae29b9bcf48ffd1063f5821192f23a1bd27b9"}, + {file = "yarl-1.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ee4afac41415d52d53a9833ebae7e32b344be72835bbb589018c9e938045a560"}, + {file = "yarl-1.9.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9bf345c3a4f5ba7f766430f97f9cc1320786f19584acc7086491f45524a551ac"}, + {file = "yarl-1.9.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2a96c19c52ff442a808c105901d0bdfd2e28575b3d5f82e2f5fd67e20dc5f4ea"}, + {file = "yarl-1.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:891c0e3ec5ec881541f6c5113d8df0315ce5440e244a716b95f2525b7b9f3608"}, + {file = "yarl-1.9.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c3a53ba34a636a256d767c086ceb111358876e1fb6b50dfc4d3f4951d40133d5"}, + {file = "yarl-1.9.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:566185e8ebc0898b11f8026447eacd02e46226716229cea8db37496c8cdd26e0"}, + {file = "yarl-1.9.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:2b0738fb871812722a0ac2154be1f049c6223b9f6f22eec352996b69775b36d4"}, + {file = "yarl-1.9.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:32f1d071b3f362c80f1a7d322bfd7b2d11e33d2adf395cc1dd4df36c9c243095"}, + {file = "yarl-1.9.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:e9fdc7ac0d42bc3ea78818557fab03af6181e076a2944f43c38684b4b6bed8e3"}, + {file = "yarl-1.9.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:56ff08ab5df8429901ebdc5d15941b59f6253393cb5da07b4170beefcf1b2528"}, + {file = "yarl-1.9.2-cp310-cp310-win32.whl", hash = "sha256:8ea48e0a2f931064469bdabca50c2f578b565fc446f302a79ba6cc0ee7f384d3"}, + {file = "yarl-1.9.2-cp310-cp310-win_amd64.whl", hash = "sha256:50f33040f3836e912ed16d212f6cc1efb3231a8a60526a407aeb66c1c1956dde"}, + {file = "yarl-1.9.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:646d663eb2232d7909e6601f1a9107e66f9791f290a1b3dc7057818fe44fc2b6"}, + {file = "yarl-1.9.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:aff634b15beff8902d1f918012fc2a42e0dbae6f469fce134c8a0dc51ca423bb"}, + {file = "yarl-1.9.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a83503934c6273806aed765035716216cc9ab4e0364f7f066227e1aaea90b8d0"}, + {file = "yarl-1.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b25322201585c69abc7b0e89e72790469f7dad90d26754717f3310bfe30331c2"}, + {file = "yarl-1.9.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:22a94666751778629f1ec4280b08eb11815783c63f52092a5953faf73be24191"}, + {file = "yarl-1.9.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ec53a0ea2a80c5cd1ab397925f94bff59222aa3cf9c6da938ce05c9ec20428d"}, + {file = "yarl-1.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:159d81f22d7a43e6eabc36d7194cb53f2f15f498dbbfa8edc8a3239350f59fe7"}, + {file = "yarl-1.9.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:832b7e711027c114d79dffb92576acd1bd2decc467dec60e1cac96912602d0e6"}, + {file = "yarl-1.9.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:95d2ecefbcf4e744ea952d073c6922e72ee650ffc79028eb1e320e732898d7e8"}, + {file = "yarl-1.9.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:d4e2c6d555e77b37288eaf45b8f60f0737c9efa3452c6c44626a5455aeb250b9"}, + {file = "yarl-1.9.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:783185c75c12a017cc345015ea359cc801c3b29a2966c2655cd12b233bf5a2be"}, + {file = "yarl-1.9.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:b8cc1863402472f16c600e3e93d542b7e7542a540f95c30afd472e8e549fc3f7"}, + {file = "yarl-1.9.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:822b30a0f22e588b32d3120f6d41e4ed021806418b4c9f0bc3048b8c8cb3f92a"}, + {file = "yarl-1.9.2-cp311-cp311-win32.whl", hash = "sha256:a60347f234c2212a9f0361955007fcf4033a75bf600a33c88a0a8e91af77c0e8"}, + {file = "yarl-1.9.2-cp311-cp311-win_amd64.whl", hash = "sha256:be6b3fdec5c62f2a67cb3f8c6dbf56bbf3f61c0f046f84645cd1ca73532ea051"}, + {file = "yarl-1.9.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:38a3928ae37558bc1b559f67410df446d1fbfa87318b124bf5032c31e3447b74"}, + {file = "yarl-1.9.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac9bb4c5ce3975aeac288cfcb5061ce60e0d14d92209e780c93954076c7c4367"}, + {file = "yarl-1.9.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3da8a678ca8b96c8606bbb8bfacd99a12ad5dd288bc6f7979baddd62f71c63ef"}, + {file = "yarl-1.9.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:13414591ff516e04fcdee8dc051c13fd3db13b673c7a4cb1350e6b2ad9639ad3"}, + {file = "yarl-1.9.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf74d08542c3a9ea97bb8f343d4fcbd4d8f91bba5ec9d5d7f792dbe727f88938"}, + {file = "yarl-1.9.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6e7221580dc1db478464cfeef9b03b95c5852cc22894e418562997df0d074ccc"}, + {file = "yarl-1.9.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:494053246b119b041960ddcd20fd76224149cfea8ed8777b687358727911dd33"}, + {file = "yarl-1.9.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:52a25809fcbecfc63ac9ba0c0fb586f90837f5425edfd1ec9f3372b119585e45"}, + {file = "yarl-1.9.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:e65610c5792870d45d7b68c677681376fcf9cc1c289f23e8e8b39c1485384185"}, + {file = "yarl-1.9.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:1b1bba902cba32cdec51fca038fd53f8beee88b77efc373968d1ed021024cc04"}, + {file = "yarl-1.9.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:662e6016409828ee910f5d9602a2729a8a57d74b163c89a837de3fea050c7582"}, + {file = "yarl-1.9.2-cp37-cp37m-win32.whl", hash = "sha256:f364d3480bffd3aa566e886587eaca7c8c04d74f6e8933f3f2c996b7f09bee1b"}, + {file = "yarl-1.9.2-cp37-cp37m-win_amd64.whl", hash = "sha256:6a5883464143ab3ae9ba68daae8e7c5c95b969462bbe42e2464d60e7e2698368"}, + {file = "yarl-1.9.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5610f80cf43b6202e2c33ba3ec2ee0a2884f8f423c8f4f62906731d876ef4fac"}, + {file = "yarl-1.9.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b9a4e67ad7b646cd6f0938c7ebfd60e481b7410f574c560e455e938d2da8e0f4"}, + {file = "yarl-1.9.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:83fcc480d7549ccebe9415d96d9263e2d4226798c37ebd18c930fce43dfb9574"}, + {file = "yarl-1.9.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5fcd436ea16fee7d4207c045b1e340020e58a2597301cfbcfdbe5abd2356c2fb"}, + {file = "yarl-1.9.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:84e0b1599334b1e1478db01b756e55937d4614f8654311eb26012091be109d59"}, + {file = "yarl-1.9.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3458a24e4ea3fd8930e934c129b676c27452e4ebda80fbe47b56d8c6c7a63a9e"}, + {file = "yarl-1.9.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:838162460b3a08987546e881a2bfa573960bb559dfa739e7800ceeec92e64417"}, + {file = "yarl-1.9.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f4e2d08f07a3d7d3e12549052eb5ad3eab1c349c53ac51c209a0e5991bbada78"}, + {file = "yarl-1.9.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:de119f56f3c5f0e2fb4dee508531a32b069a5f2c6e827b272d1e0ff5ac040333"}, + {file = "yarl-1.9.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:149ddea5abf329752ea5051b61bd6c1d979e13fbf122d3a1f9f0c8be6cb6f63c"}, + {file = "yarl-1.9.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:674ca19cbee4a82c9f54e0d1eee28116e63bc6fd1e96c43031d11cbab8b2afd5"}, + {file = "yarl-1.9.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:9b3152f2f5677b997ae6c804b73da05a39daa6a9e85a512e0e6823d81cdad7cc"}, + {file = "yarl-1.9.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5415d5a4b080dc9612b1b63cba008db84e908b95848369aa1da3686ae27b6d2b"}, + {file = "yarl-1.9.2-cp38-cp38-win32.whl", hash = "sha256:f7a3d8146575e08c29ed1cd287068e6d02f1c7bdff8970db96683b9591b86ee7"}, + {file = "yarl-1.9.2-cp38-cp38-win_amd64.whl", hash = "sha256:63c48f6cef34e6319a74c727376e95626f84ea091f92c0250a98e53e62c77c72"}, + {file = "yarl-1.9.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:75df5ef94c3fdc393c6b19d80e6ef1ecc9ae2f4263c09cacb178d871c02a5ba9"}, + {file = "yarl-1.9.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c027a6e96ef77d401d8d5a5c8d6bc478e8042f1e448272e8d9752cb0aff8b5c8"}, + {file = "yarl-1.9.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f3b078dbe227f79be488ffcfc7a9edb3409d018e0952cf13f15fd6512847f3f7"}, + {file = "yarl-1.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59723a029760079b7d991a401386390c4be5bfec1e7dd83e25a6a0881859e716"}, + {file = "yarl-1.9.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b03917871bf859a81ccb180c9a2e6c1e04d2f6a51d953e6a5cdd70c93d4e5a2a"}, + {file = "yarl-1.9.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c1012fa63eb6c032f3ce5d2171c267992ae0c00b9e164efe4d73db818465fac3"}, + {file = "yarl-1.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a74dcbfe780e62f4b5a062714576f16c2f3493a0394e555ab141bf0d746bb955"}, + {file = "yarl-1.9.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8c56986609b057b4839968ba901944af91b8e92f1725d1a2d77cbac6972b9ed1"}, + {file = "yarl-1.9.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2c315df3293cd521033533d242d15eab26583360b58f7ee5d9565f15fee1bef4"}, + {file = "yarl-1.9.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:b7232f8dfbd225d57340e441d8caf8652a6acd06b389ea2d3222b8bc89cbfca6"}, + {file = "yarl-1.9.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:53338749febd28935d55b41bf0bcc79d634881195a39f6b2f767870b72514caf"}, + {file = "yarl-1.9.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:066c163aec9d3d073dc9ffe5dd3ad05069bcb03fcaab8d221290ba99f9f69ee3"}, + {file = "yarl-1.9.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8288d7cd28f8119b07dd49b7230d6b4562f9b61ee9a4ab02221060d21136be80"}, + {file = "yarl-1.9.2-cp39-cp39-win32.whl", hash = "sha256:b124e2a6d223b65ba8768d5706d103280914d61f5cae3afbc50fc3dfcc016623"}, + {file = "yarl-1.9.2-cp39-cp39-win_amd64.whl", hash = "sha256:61016e7d582bc46a5378ffdd02cd0314fb8ba52f40f9cf4d9a5e7dbef88dee18"}, + {file = "yarl-1.9.2.tar.gz", hash = "sha256:04ab9d4b9f587c06d801c2abfe9317b77cdf996c65a90d5e84ecc45010823571"}, ] [package.dependencies] diff --git a/pyproject.toml b/pyproject.toml index 50d8cfd43..a5fd71783 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.masonry.api" [tool.poetry] name = "netmiko" -version = "4.1.3" +version = "4.2.0" description = "Multi-vendor library to simplify legacy CLI connections to network devices" authors = ["Kirk Byers "] license = "MIT" @@ -47,3 +47,8 @@ types-PyYAML = "6.0.12.4" pyats = ">=23.1" genie = ">=23.1" ttp = ">=0.9.0" + +[tool.poetry.scripts] +"netmiko-grep" = "netmiko.cli_tools.netmiko_grep:main_ep" +"netmiko-show" = "netmiko.cli_tools.netmiko_show:main_ep" +"netmiko-cfg" = "netmiko.cli_tools.netmiko_cfg:main_ep" diff --git a/tests.sh b/tests.sh index 08d93302b..218c9447a 100755 --- a/tests.sh +++ b/tests.sh @@ -6,3 +6,4 @@ py.test -v -s tests/unit/test_base_connection.py py.test -v -s tests/unit/test_utilities.py py.test -v -s tests/unit/test_ssh_autodetect.py py.test -v -s tests/unit/test_connection.py +py.test -v -s tests/unit/test_entry_points.py diff --git a/tests/unit/test_entry_points.py b/tests/unit/test_entry_points.py new file mode 100644 index 000000000..6a2405278 --- /dev/null +++ b/tests/unit/test_entry_points.py @@ -0,0 +1,13 @@ +# ChatGPT generated (and then modified) +import subprocess + + +def test_entry_points(): + cmds = [ + "netmiko-grep", + "netmiko-cfg", + "netmiko-show", + ] + for cmd in cmds: + r = subprocess.run(["poetry", "run", cmd, "--help"], capture_output=True) + assert r.returncode == 0 From 1d4d26121b684479c1ce5cbc25e38076eb5d617a Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Thu, 4 May 2023 15:30:40 -0700 Subject: [PATCH 64/70] Improve behavior of normalize_linefeeds() method (#3193) --- netmiko/base_connection.py | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/netmiko/base_connection.py b/netmiko/base_connection.py index f28accaf0..c92bf6f9f 100644 --- a/netmiko/base_connection.py +++ b/netmiko/base_connection.py @@ -183,6 +183,7 @@ def __init__( sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, + disable_lf_normalization: bool = False, ) -> None: """ Initialize attributes for establishing connection to target device. @@ -294,6 +295,9 @@ def __init__( :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False) """ self.remote_conn: Union[ @@ -315,6 +319,8 @@ def __init__( # Line Separator in response lines self.RESPONSE_RETURN = "\n" if response_return is None else response_return + self.disable_lf_normalization = True if disable_lf_normalization else False + if ip: self.host = ip.strip() elif host: @@ -594,7 +600,20 @@ def is_alive(self) -> bool: def read_channel(self) -> str: """Generic handler that will read all the data from given channel.""" new_data = self.channel.read_channel() - new_data = self.normalize_linefeeds(new_data) + + if self.disable_lf_normalization is False: + start = time.time() + # Data blocks shouldn't end in '\r' (can cause problems with normalize_linefeeds) + # Only do the extra read if '\n' exists in the output + # this avoids devices that only use \r. + while ("\n" in new_data) and (time.time() - start < 1.0): + if new_data[-1] == "\r": + time.sleep(0.01) + new_data += self.channel.read_channel() + else: + break + new_data = self.normalize_linefeeds(new_data) + if self.ansi_escape_codes: new_data = self.strip_ansi_escape_codes(new_data) log.debug(f"read_channel: {new_data}") @@ -1046,7 +1065,6 @@ def _sanitize_output( ) -> str: """Strip out command echo and trailing router prompt.""" if strip_command and command_string: - command_string = self.normalize_linefeeds(command_string) output = self.strip_command(command_string, output) if strip_prompt: output = self.strip_prompt(output) From c1c7f39e2e1f874a90315d9efd6913f04045d653 Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Thu, 4 May 2023 16:49:54 -0700 Subject: [PATCH 65/70] Add a check_state argument to enable() method (#3194) --- netmiko/adtran/adtran.py | 7 ++- netmiko/arista/arista.py | 7 ++- netmiko/audiocode/audiocode_ssh.py | 7 ++- netmiko/base_connection.py | 64 ++++++++++++++----------- netmiko/cisco/cisco_asa_ssh.py | 7 ++- netmiko/cisco_base_connection.py | 7 ++- netmiko/dell/dell_isilon_ssh.py | 26 ++++++---- netmiko/endace/endace_ssh.py | 7 ++- netmiko/ericsson/ericsson_ipos.py | 7 ++- netmiko/hp/hp_comware.py | 1 + netmiko/hp/hp_procurve.py | 4 +- netmiko/huawei/huawei_smartax.py | 7 ++- netmiko/linux/linux_ssh.py | 34 +++++++------ netmiko/mellanox/mellanox_mlnxos_ssh.py | 16 ++++--- netmiko/mrv/mrv_lx.py | 9 +++- netmiko/mrv/mrv_ssh.py | 21 ++++---- netmiko/no_enable.py | 1 + netmiko/nokia/nokia_sros.py | 9 +++- netmiko/ruckus/ruckus_fastiron.py | 45 ++++++++--------- netmiko/tplink/tplink_jetstream.py | 49 +++++++++++-------- netmiko/yamaha/yamaha.py | 7 ++- 21 files changed, 220 insertions(+), 122 deletions(-) diff --git a/netmiko/adtran/adtran.py b/netmiko/adtran/adtran.py index 2d2da419d..83a6c8403 100644 --- a/netmiko/adtran/adtran.py +++ b/netmiko/adtran/adtran.py @@ -28,10 +28,15 @@ def enable( cmd: str = "enable", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: return super().enable( - cmd=cmd, pattern=pattern, enable_pattern=enable_pattern, re_flags=re_flags + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, ) def exit_enable_mode(self, exit_command: str = "disable") -> str: diff --git a/netmiko/arista/arista.py b/netmiko/arista/arista.py index b689ef390..3ba7182b5 100644 --- a/netmiko/arista/arista.py +++ b/netmiko/arista/arista.py @@ -41,10 +41,15 @@ def enable( cmd: str = "enable", pattern: str = "ssword", enable_pattern: Optional[str] = r"\#", + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: return super().enable( - cmd=cmd, pattern=pattern, enable_pattern=enable_pattern, re_flags=re_flags + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, ) def check_config_mode( diff --git a/netmiko/audiocode/audiocode_ssh.py b/netmiko/audiocode/audiocode_ssh.py index 4beeb6a43..8d67cf8dc 100644 --- a/netmiko/audiocode/audiocode_ssh.py +++ b/netmiko/audiocode/audiocode_ssh.py @@ -104,10 +104,15 @@ def enable( cmd: str = "enable", pattern: str = "ssword", enable_pattern: Optional[str] = "#", + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: return super().enable( - cmd=cmd, pattern=pattern, enable_pattern=enable_pattern, re_flags=re_flags + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, ) def exit_config_mode(self, exit_config: str = "exit", pattern: str = r"#") -> str: diff --git a/netmiko/base_connection.py b/netmiko/base_connection.py index c92bf6f9f..8fa3daf05 100644 --- a/netmiko/base_connection.py +++ b/netmiko/base_connection.py @@ -1964,6 +1964,7 @@ def enable( cmd: str = "", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Enter enable mode. @@ -1974,6 +1975,9 @@ def enable( :param enable_pattern: pattern indicating you have entered enable mode + :param check_state: Determine whether we are already in enable_mode using + check_enable_mode() before trying to elevate privileges (default: True) + :param re_flags: Regular expression flags used in conjunction with pattern """ output = "" @@ -1982,35 +1986,37 @@ def enable( "the 'secret' argument to ConnectHandler." ) - # Check if in enable mode - if not self.check_enable_mode(): - # Send "enable" mode command - self.write_channel(self.normalize_cmd(cmd)) - try: - # Read the command echo - end_data = "" - if self.global_cmd_verify is not False: - output += self.read_until_pattern(pattern=re.escape(cmd.strip())) - end_data = output.split(cmd.strip())[-1] - - # Search for trailing prompt or password pattern - if pattern not in output and self.base_prompt not in end_data: - output += self.read_until_prompt_or_pattern( - pattern=pattern, re_flags=re_flags - ) - # Send the "secret" in response to password pattern - if re.search(pattern, output): - self.write_channel(self.normalize_cmd(self.secret)) - output += self.read_until_prompt() - - # Search for terminating pattern if defined - if enable_pattern and not re.search(enable_pattern, output): - output += self.read_until_pattern(pattern=enable_pattern) - else: - if not self.check_enable_mode(): - raise ValueError(msg) - except NetmikoTimeoutException: - raise ValueError(msg) + # Check if in enable mode already. + if check_state and self.check_enable_mode(): + return output + + # Send "enable" mode command + self.write_channel(self.normalize_cmd(cmd)) + try: + # Read the command echo + if self.global_cmd_verify is not False: + output += self.read_until_pattern(pattern=re.escape(cmd.strip())) + + # Search for trailing prompt or password pattern + output += self.read_until_prompt_or_pattern( + pattern=pattern, re_flags=re_flags + ) + + # Send the "secret" in response to password pattern + if re.search(pattern, output): + self.write_channel(self.normalize_cmd(self.secret)) + output += self.read_until_prompt() + + # Search for terminating pattern if defined + if enable_pattern and not re.search(enable_pattern, output): + output += self.read_until_pattern(pattern=enable_pattern) + else: + if not self.check_enable_mode(): + raise ValueError(msg) + + except NetmikoTimeoutException: + raise ValueError(msg) + return output def exit_enable_mode(self, exit_command: str = "") -> str: diff --git a/netmiko/cisco/cisco_asa_ssh.py b/netmiko/cisco/cisco_asa_ssh.py index fb95d6d8a..e87c766f3 100644 --- a/netmiko/cisco/cisco_asa_ssh.py +++ b/netmiko/cisco/cisco_asa_ssh.py @@ -54,10 +54,15 @@ def enable( cmd: str = "enable", pattern: str = "ssword", enable_pattern: Optional[str] = r"\#", + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: return super().enable( - cmd=cmd, pattern=pattern, enable_pattern=enable_pattern, re_flags=re_flags + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, ) def send_command_timing( diff --git a/netmiko/cisco_base_connection.py b/netmiko/cisco_base_connection.py index 9a2fee6ef..6de5062d0 100644 --- a/netmiko/cisco_base_connection.py +++ b/netmiko/cisco_base_connection.py @@ -19,11 +19,16 @@ def enable( cmd: str = "enable", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Enter enable mode.""" return super().enable( - cmd=cmd, pattern=pattern, enable_pattern=enable_pattern, re_flags=re_flags + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, ) def exit_enable_mode(self, exit_command: str = "disable") -> str: diff --git a/netmiko/dell/dell_isilon_ssh.py b/netmiko/dell/dell_isilon_ssh.py index 364cd94c7..6ee1676de 100644 --- a/netmiko/dell/dell_isilon_ssh.py +++ b/netmiko/dell/dell_isilon_ssh.py @@ -64,21 +64,27 @@ def enable( cmd: str = "sudo su", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: + delay_factor = self.select_delay_factor(delay_factor=1) output = "" + + if check_state and self.check_enable_mode(): + return output + + output += self._send_command_timing_str( + cmd, strip_prompt=False, strip_command=False + ) + if re.search(pattern, output, flags=re_flags): + self.write_channel(self.normalize_cmd(self.secret)) + output += self.read_until_pattern(pattern=r"#.*$") + time.sleep(1 * delay_factor) + self._set_prompt(prompt_terminator="#") if not self.check_enable_mode(): - output += self._send_command_timing_str( - cmd, strip_prompt=False, strip_command=False - ) - if re.search(pattern, output, flags=re_flags): - self.write_channel(self.normalize_cmd(self.secret)) - output += self.read_until_pattern(pattern=r"#.*$") - time.sleep(1 * delay_factor) - self._set_prompt(prompt_terminator="#") - if not self.check_enable_mode(): - raise ValueError("Failed to enter enable mode") + raise ValueError("Failed to enter enable mode") + return output def exit_enable_mode(self, exit_command: str = "exit") -> str: diff --git a/netmiko/endace/endace_ssh.py b/netmiko/endace/endace_ssh.py index 9ef60f5e2..db7d3925d 100644 --- a/netmiko/endace/endace_ssh.py +++ b/netmiko/endace/endace_ssh.py @@ -15,10 +15,15 @@ def enable( cmd: str = "enable", pattern: str = "", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: return super().enable( - cmd=cmd, pattern=pattern, enable_pattern=enable_pattern, re_flags=re_flags + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, ) def check_config_mode( diff --git a/netmiko/ericsson/ericsson_ipos.py b/netmiko/ericsson/ericsson_ipos.py index 5921c7afb..f641195a7 100644 --- a/netmiko/ericsson/ericsson_ipos.py +++ b/netmiko/ericsson/ericsson_ipos.py @@ -23,10 +23,15 @@ def enable( cmd: str = "enable 15", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: return super().enable( - cmd=cmd, pattern=pattern, enable_pattern=enable_pattern, re_flags=re_flags + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, ) def exit_enable_mode(self, exit_command: str = "disable") -> str: diff --git a/netmiko/hp/hp_comware.py b/netmiko/hp/hp_comware.py index b6e7b8174..7a0bb8d96 100644 --- a/netmiko/hp/hp_comware.py +++ b/netmiko/hp/hp_comware.py @@ -109,6 +109,7 @@ def enable( cmd: str = "system-view", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """enable mode on Comware is system-view.""" diff --git a/netmiko/hp/hp_procurve.py b/netmiko/hp/hp_procurve.py index facd05ac0..f59394981 100644 --- a/netmiko/hp/hp_procurve.py +++ b/netmiko/hp/hp_procurve.py @@ -80,13 +80,15 @@ def enable( cmd: str = "enable", pattern: str = "password", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, default_username: str = "", ) -> str: """Enter enable mode""" - if self.check_enable_mode(): + if check_state and self.check_enable_mode(): return "" + if not default_username: default_username = self.username diff --git a/netmiko/huawei/huawei_smartax.py b/netmiko/huawei/huawei_smartax.py index 12d02f90e..88c055cb2 100644 --- a/netmiko/huawei/huawei_smartax.py +++ b/netmiko/huawei/huawei_smartax.py @@ -99,10 +99,15 @@ def enable( cmd: str = "enable", pattern: str = "", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: return super().enable( - cmd=cmd, pattern=pattern, re_flags=re_flags, enable_pattern=enable_pattern + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, ) def set_base_prompt( diff --git a/netmiko/linux/linux_ssh.py b/netmiko/linux/linux_ssh.py index 56ee22df6..f4364fbbe 100644 --- a/netmiko/linux/linux_ssh.py +++ b/netmiko/linux/linux_ssh.py @@ -115,6 +115,7 @@ def enable( cmd: str = "sudo -s", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Attempt to become root.""" @@ -129,22 +130,25 @@ def enable( """ output = "" - if not self.check_enable_mode(): - self.write_channel(self.normalize_cmd(cmd)) - # Failed "sudo -s" will put "#" in output so have to delineate further - root_prompt = rf"(?m:{LINUX_PROMPT_ROOT}\s*$)" - prompt_or_password = rf"({root_prompt}|{pattern})" - output += self.read_until_pattern(pattern=prompt_or_password) - if re.search(pattern, output, flags=re_flags): - self.write_channel(self.normalize_cmd(self.secret)) - try: - output += self.read_until_pattern(pattern=root_prompt) - except ReadTimeout: - raise ValueError(msg) - # Nature of prompt might change with the privilege escalation - self.set_base_prompt(pattern=root_prompt) - if not self.check_enable_mode(): + if check_state and self.check_enable_mode(): + return output + + self.write_channel(self.normalize_cmd(cmd)) + + # Failed "sudo -s" will put "#" in output so have to delineate further + root_prompt = rf"(?m:{LINUX_PROMPT_ROOT}\s*$)" + prompt_or_password = rf"({root_prompt}|{pattern})" + output += self.read_until_pattern(pattern=prompt_or_password) + if re.search(pattern, output, flags=re_flags): + self.write_channel(self.normalize_cmd(self.secret)) + try: + output += self.read_until_pattern(pattern=root_prompt) + except ReadTimeout: raise ValueError(msg) + # Nature of prompt might change with the privilege escalation + self.set_base_prompt(pattern=root_prompt) + if not self.check_enable_mode(): + raise ValueError(msg) return output def cleanup(self, command: str = "exit") -> None: diff --git a/netmiko/mellanox/mellanox_mlnxos_ssh.py b/netmiko/mellanox/mellanox_mlnxos_ssh.py index 5798a1d92..b6e2fb3f1 100644 --- a/netmiko/mellanox/mellanox_mlnxos_ssh.py +++ b/netmiko/mellanox/mellanox_mlnxos_ssh.py @@ -14,17 +14,21 @@ def enable( cmd: str = "enable", pattern: str = "#", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Enter into enable mode.""" + output = "" + if check_state and self.check_enable_mode(): + return output + + self.write_channel(self.normalize_cmd(cmd)) + output += self.read_until_prompt_or_pattern( + pattern=pattern, re_flags=re_flags, read_entire_line=True + ) if not self.check_enable_mode(): - self.write_channel(self.normalize_cmd(cmd)) - output += self.read_until_prompt_or_pattern( - pattern=pattern, re_flags=re_flags, read_entire_line=True - ) - if not self.check_enable_mode(): - raise ValueError("Failed to enter enable mode.") + raise ValueError("Failed to enter enable mode.") return output def config_mode( diff --git a/netmiko/mrv/mrv_lx.py b/netmiko/mrv/mrv_lx.py index c25add6fe..507a0a2f9 100644 --- a/netmiko/mrv/mrv_lx.py +++ b/netmiko/mrv/mrv_lx.py @@ -28,10 +28,17 @@ def enable( cmd: str = "enable", pattern: str = "assword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Enter enable mode.""" - return super().enable(cmd=cmd, pattern=pattern, re_flags=re_flags) + return super().enable( + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, + ) def save_config( self, diff --git a/netmiko/mrv/mrv_ssh.py b/netmiko/mrv/mrv_ssh.py index 57ad056ac..7c23d8108 100644 --- a/netmiko/mrv/mrv_ssh.py +++ b/netmiko/mrv/mrv_ssh.py @@ -25,21 +25,24 @@ def enable( cmd: str = "enable", pattern: str = r"#", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Enable mode on MRV uses no password.""" output = "" + if check_state and self.check_enable_mode(): + return output + + self.write_channel(self.normalize_cmd(cmd)) + output += self.read_until_prompt_or_pattern( + pattern=pattern, re_flags=re_flags, read_entire_line=True + ) if not self.check_enable_mode(): - self.write_channel(self.normalize_cmd(cmd)) - output += self.read_until_prompt_or_pattern( - pattern=pattern, re_flags=re_flags, read_entire_line=True + msg = ( + "Failed to enter enable mode. Please ensure you pass " + "the 'secret' argument to ConnectHandler." ) - if not self.check_enable_mode(): - msg = ( - "Failed to enter enable mode. Please ensure you pass " - "the 'secret' argument to ConnectHandler." - ) - raise ValueError(msg) + raise ValueError(msg) return output def save_config( diff --git a/netmiko/no_enable.py b/netmiko/no_enable.py index aa8399bbd..93dc79b13 100644 --- a/netmiko/no_enable.py +++ b/netmiko/no_enable.py @@ -25,6 +25,7 @@ def enable( cmd: str = "", pattern: str = "", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: return "" diff --git a/netmiko/nokia/nokia_sros.py b/netmiko/nokia/nokia_sros.py index f56daeafd..68023e3ea 100644 --- a/netmiko/nokia/nokia_sros.py +++ b/netmiko/nokia/nokia_sros.py @@ -91,12 +91,19 @@ def enable( cmd: str = "enable", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Enable SR OS administrative mode""" if "@" not in self.base_prompt: cmd = "enable-admin" - return super().enable(cmd=cmd, pattern=pattern, re_flags=re_flags) + return super().enable( + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, + ) def check_enable_mode(self, check_string: str = "in admin mode") -> bool: """Check if in enable mode.""" diff --git a/netmiko/ruckus/ruckus_fastiron.py b/netmiko/ruckus/ruckus_fastiron.py index 2668f20a8..6cfdf99e6 100644 --- a/netmiko/ruckus/ruckus_fastiron.py +++ b/netmiko/ruckus/ruckus_fastiron.py @@ -25,6 +25,7 @@ def enable( cmd: str = "enable", pattern: str = r"(ssword|User Name|Login)", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Enter enable mode. @@ -35,32 +36,32 @@ def enable( SSH@Lab-ICX7250# """ output = "" - if not self.check_enable_mode(): - count = 4 - i = 1 - while i < count: - self.write_channel(self.normalize_cmd(cmd)) + if check_state and self.check_enable_mode(): + return output + + count = 4 + i = 1 + while i < count: + self.write_channel(self.normalize_cmd(cmd)) + new_data = self.read_until_prompt_or_pattern( + pattern=pattern, re_flags=re_flags, read_entire_line=True + ) + output += new_data + if "User Name" in new_data or "Login" in new_data: + self.write_channel(self.normalize_cmd(self.username)) new_data = self.read_until_prompt_or_pattern( pattern=pattern, re_flags=re_flags, read_entire_line=True ) output += new_data - if "User Name" in new_data or "Login" in new_data: - self.write_channel(self.normalize_cmd(self.username)) - new_data = self.read_until_prompt_or_pattern( - pattern=pattern, re_flags=re_flags, read_entire_line=True - ) - output += new_data - if "ssword" in new_data: - self.write_channel(self.normalize_cmd(self.secret)) - new_data = self.read_until_prompt(read_entire_line=True) - output += new_data - if not re.search( - r"error.*incorrect.*password", new_data, flags=re.I - ): - break - - time.sleep(1) - i += 1 + if "ssword" in new_data: + self.write_channel(self.normalize_cmd(self.secret)) + new_data = self.read_until_prompt(read_entire_line=True) + output += new_data + if not re.search(r"error.*incorrect.*password", new_data, flags=re.I): + break + + time.sleep(1) + i += 1 if not self.check_enable_mode(): msg = ( diff --git a/netmiko/tplink/tplink_jetstream.py b/netmiko/tplink/tplink_jetstream.py index 4e43834ef..b3da3e26e 100644 --- a/netmiko/tplink/tplink_jetstream.py +++ b/netmiko/tplink/tplink_jetstream.py @@ -7,7 +7,7 @@ from netmiko import log from netmiko.cisco_base_connection import CiscoSSHConnection -from netmiko.exceptions import NetmikoTimeoutException +from netmiko.exceptions import ReadTimeout class TPLinkJetStreamBase(CiscoSSHConnection): @@ -40,6 +40,7 @@ def enable( cmd: str = "", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """ @@ -50,30 +51,40 @@ def enable( enable all functions. """ + msg = """ +Failed to enter enable mode. Please ensure you pass +the 'secret' argument to ConnectHandler. +""" + # If end-user passes in "cmd" execute that using normal process. if cmd: - return super().enable(cmd=cmd, pattern=pattern, re_flags=re_flags) + return super().enable( + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, + ) output = "" - msg = ( - "Failed to enter enable mode. Please ensure you pass " - "the 'secret' argument to ConnectHandler." - ) - - cmds = ["enable", "enable-admin"] - if not self.check_enable_mode(): - for cmd in cmds: - self.write_channel(self.normalize_cmd(cmd)) - try: - output += self.read_until_prompt_or_pattern( - pattern=pattern, re_flags=re_flags, read_entire_line=True - ) + if check_state and self.check_enable_mode(): + return output + + for cmd in ("enable", "enable-admin"): + self.write_channel(self.normalize_cmd(cmd)) + try: + new_data = self.read_until_prompt_or_pattern( + pattern=pattern, re_flags=re_flags, read_entire_line=True + ) + output += new_data + if re.search(pattern, new_data): self.write_channel(self.normalize_cmd(self.secret)) output += self.read_until_prompt(read_entire_line=True) - except NetmikoTimeoutException: - raise ValueError(msg) - if not self.check_enable_mode(): - raise ValueError(msg) + except ReadTimeout: + raise ValueError(msg) + + if not self.check_enable_mode(): + raise ValueError(msg) return output def config_mode( diff --git a/netmiko/yamaha/yamaha.py b/netmiko/yamaha/yamaha.py index a81502ca8..5ca776bc3 100644 --- a/netmiko/yamaha/yamaha.py +++ b/netmiko/yamaha/yamaha.py @@ -22,10 +22,15 @@ def enable( cmd: str = "administrator", pattern: str = r"Password", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: return super().enable( - cmd=cmd, pattern=pattern, enable_pattern=enable_pattern, re_flags=re_flags + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, ) def exit_enable_mode(self, exit_command: str = "exit") -> str: From c532bd15334f02e99d7ea90dfeb31b225427174a Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Fri, 5 May 2023 09:14:14 -0700 Subject: [PATCH 66/70] Update docs for Netmiko Release 4.2.0 --- docs/netmiko/a10/a10_ssh.html | 18 +- docs/netmiko/a10/index.html | 18 +- docs/netmiko/accedian/accedian_ssh.html | 18 +- docs/netmiko/accedian/index.html | 18 +- docs/netmiko/adtran/adtran.html | 88 +- docs/netmiko/adtran/index.html | 32 +- docs/netmiko/adva/adva_aos_fsp_150_f2.html | 313 +++++ docs/netmiko/adva/adva_aos_fsp_150_f3.html | 496 ++++++++ docs/netmiko/adva/index.html | 554 ++++++++ docs/netmiko/alcatel/alcatel_aos_ssh.html | 18 +- docs/netmiko/alcatel/index.html | 18 +- .../allied_telesis/allied_telesis_awplus.html | 36 +- docs/netmiko/allied_telesis/index.html | 18 +- docs/netmiko/apresia/apresia_aeos.html | 52 +- docs/netmiko/apresia/index.html | 34 +- docs/netmiko/arista/arista.html | 156 ++- docs/netmiko/arista/index.html | 38 +- docs/netmiko/arris/arris_cer.html | 561 +++++++++ docs/netmiko/arris/index.html | 537 ++++++++ docs/netmiko/aruba/aruba_ssh.html | 16 +- docs/netmiko/aruba/index.html | 16 +- docs/netmiko/audiocode/audiocode_ssh.html | 280 ++++- docs/netmiko/audiocode/index.html | 96 +- docs/netmiko/base_connection.html | 579 ++++++--- docs/netmiko/broadcom/broadcom_icos_ssh.html | 36 +- docs/netmiko/broadcom/index.html | 36 +- docs/netmiko/calix/calix_b6.html | 48 +- docs/netmiko/calix/index.html | 32 +- docs/netmiko/casa/casa_cmts.html | 658 ++++++++++ docs/netmiko/casa/index.html | 606 +++++++++ docs/netmiko/cdot/cdot_cros_ssh.html | 18 +- docs/netmiko/cdot/index.html | 18 +- docs/netmiko/centec/centec_os.html | 54 +- docs/netmiko/centec/index.html | 36 +- .../checkpoint/checkpoint_gaia_ssh.html | 18 +- docs/netmiko/checkpoint/index.html | 18 +- docs/netmiko/ciena/ciena_saos.html | 139 +- docs/netmiko/ciena/index.html | 38 +- docs/netmiko/cisco/cisco_asa_ssh.html | 30 +- docs/netmiko/cisco/cisco_ftd_ssh.html | 18 +- docs/netmiko/cisco/cisco_ios.html | 104 +- docs/netmiko/cisco/cisco_nxos_ssh.html | 39 +- docs/netmiko/cisco/cisco_s200.html | 914 ++++++++++++++ docs/netmiko/cisco/cisco_s300.html | 54 +- docs/netmiko/cisco/cisco_tp_tcce.html | 16 +- docs/netmiko/cisco/cisco_viptela.html | 36 +- docs/netmiko/cisco/cisco_wlc_ssh.html | 24 +- docs/netmiko/cisco/cisco_xr.html | 63 +- docs/netmiko/cisco/index.html | 719 +++++++++-- docs/netmiko/cisco_base_connection.html | 98 +- docs/netmiko/citrix/index.html | 18 +- docs/netmiko/citrix/netscaler_ssh.html | 18 +- docs/netmiko/cloudgenix/cloudgenix_ion.html | 18 +- docs/netmiko/cloudgenix/index.html | 18 +- docs/netmiko/coriant/coriant_ssh.html | 18 +- docs/netmiko/coriant/index.html | 18 +- docs/netmiko/dell/dell_dnos6.html | 54 +- docs/netmiko/dell/dell_force10_ssh.html | 85 +- docs/netmiko/dell/dell_isilon_ssh.html | 70 +- docs/netmiko/dell/dell_os10_ssh.html | 77 +- docs/netmiko/dell/dell_powerconnect.html | 54 +- docs/netmiko/dell/dell_sonic_ssh.html | 18 +- docs/netmiko/dell/index.html | 254 +++- docs/netmiko/dlink/dlink_ds.html | 52 +- docs/netmiko/dlink/index.html | 34 +- docs/netmiko/eltex/eltex_esr_ssh.html | 18 +- docs/netmiko/eltex/eltex_ssh.html | 18 +- docs/netmiko/eltex/index.html | 36 +- docs/netmiko/endace/endace_ssh.html | 32 +- docs/netmiko/endace/index.html | 25 +- docs/netmiko/enterasys/enterasys_ssh.html | 18 +- docs/netmiko/enterasys/index.html | 18 +- docs/netmiko/ericsson/ericsson_ipos.html | 32 +- docs/netmiko/ericsson/ericsson_mltn.html | 680 ++++++++++ docs/netmiko/ericsson/index.html | 181 ++- docs/netmiko/extreme/extreme_ers_ssh.html | 49 +- docs/netmiko/extreme/extreme_exos.html | 52 +- docs/netmiko/extreme/extreme_netiron.html | 52 +- docs/netmiko/extreme/extreme_nos_ssh.html | 18 +- docs/netmiko/extreme/extreme_slx_ssh.html | 18 +- .../netmiko/extreme/extreme_tierraos_ssh.html | 18 +- docs/netmiko/extreme/extreme_vsp_ssh.html | 18 +- docs/netmiko/extreme/extreme_wing_ssh.html | 18 +- docs/netmiko/extreme/index.html | 196 ++- docs/netmiko/f5/f5_linux_ssh.html | 18 +- docs/netmiko/f5/f5_tmsh_ssh.html | 18 +- docs/netmiko/f5/index.html | 36 +- docs/netmiko/flexvnf/flexvnf_ssh.html | 18 +- docs/netmiko/flexvnf/index.html | 18 +- docs/netmiko/fortinet/fortinet_ssh.html | 574 ++++++--- docs/netmiko/fortinet/index.html | 344 +++-- docs/netmiko/hillstone/hillstone.html | 592 +++++++++ docs/netmiko/hillstone/index.html | 274 ++++ docs/netmiko/hp/hp_comware.html | 53 +- docs/netmiko/hp/hp_procurve.html | 62 +- docs/netmiko/hp/index.html | 64 +- docs/netmiko/huawei/huawei.html | 535 ++++---- docs/netmiko/huawei/huawei_smartax.html | 68 +- docs/netmiko/huawei/index.html | 295 ++--- docs/netmiko/index.html | 427 +++++-- docs/netmiko/ipinfusion/index.html | 32 +- docs/netmiko/ipinfusion/ipinfusion_ocnos.html | 48 +- docs/netmiko/juniper/index.html | 52 +- docs/netmiko/juniper/juniper.html | 67 +- docs/netmiko/juniper/juniper_screenos.html | 18 +- docs/netmiko/keymile/index.html | 22 +- docs/netmiko/keymile/keymile_nos_ssh.html | 20 +- docs/netmiko/keymile/keymile_ssh.html | 2 +- docs/netmiko/linux/index.html | 88 +- docs/netmiko/linux/linux_ssh.html | 122 +- docs/netmiko/mellanox/index.html | 52 +- .../netmiko/mellanox/mellanox_mlnxos_ssh.html | 68 +- docs/netmiko/mikrotik/index.html | 18 +- docs/netmiko/mikrotik/mikrotik_ssh.html | 173 +-- docs/netmiko/mrv/index.html | 89 +- docs/netmiko/mrv/mrv_lx.html | 36 +- docs/netmiko/mrv/mrv_ssh.html | 83 +- docs/netmiko/netapp/index.html | 18 +- docs/netmiko/netapp/netapp_cdot_ssh.html | 18 +- docs/netmiko/netgear/index.html | 16 +- docs/netmiko/netgear/netgear_prosafe_ssh.html | 16 +- docs/netmiko/no_config.html | 3 + docs/netmiko/no_enable.html | 12 +- docs/netmiko/nokia/index.html | 54 +- docs/netmiko/nokia/nokia_srl.html | 18 +- docs/netmiko/nokia/nokia_sros.html | 109 +- docs/netmiko/oneaccess/oneaccess_oneos.html | 61 +- docs/netmiko/ovs/index.html | 18 +- docs/netmiko/ovs/ovs_linux_ssh.html | 18 +- docs/netmiko/paloalto/index.html | 36 +- docs/netmiko/paloalto/paloalto_panos.html | 66 +- docs/netmiko/quanta/index.html | 18 +- docs/netmiko/quanta/quanta_mesh_ssh.html | 18 +- docs/netmiko/rad/index.html | 34 +- docs/netmiko/rad/rad_etx.html | 52 +- docs/netmiko/raisecom/index.html | 40 +- docs/netmiko/raisecom/raisecom_roap.html | 78 +- docs/netmiko/ruckus/index.html | 34 +- docs/netmiko/ruckus/ruckus_fastiron.html | 201 +-- docs/netmiko/ruijie/index.html | 34 +- docs/netmiko/ruijie/ruijie_os.html | 52 +- docs/netmiko/scp_handler.html | 5 +- docs/netmiko/session_log.html | 6 +- docs/netmiko/sixwind/index.html | 18 +- docs/netmiko/sixwind/sixwind_os.html | 42 +- docs/netmiko/snmp_autodetect.html | 40 +- docs/netmiko/sophos/index.html | 18 +- docs/netmiko/sophos/sophos_sfos_ssh.html | 18 +- docs/netmiko/ssh_autodetect.html | 74 +- docs/netmiko/supermicro/index.html | 36 +- docs/netmiko/supermicro/smci_smis.html | 54 +- docs/netmiko/teldat/index.html | 482 +++++++ docs/netmiko/teldat/teldat_cit.html | 1115 +++++++++++++++++ docs/netmiko/terminal_server/index.html | 38 +- .../terminal_server/terminal_server.html | 58 +- docs/netmiko/tplink/index.html | 32 +- docs/netmiko/tplink/tplink_jetstream.html | 217 ++-- docs/netmiko/ubiquiti/edge_ssh.html | 36 +- docs/netmiko/ubiquiti/edgerouter_ssh.html | 244 +++- docs/netmiko/ubiquiti/index.html | 239 +++- docs/netmiko/ubiquiti/unifiswitch_ssh.html | 20 +- docs/netmiko/vyos/index.html | 18 +- docs/netmiko/vyos/vyos_ssh.html | 18 +- docs/netmiko/watchguard/fireware_ssh.html | 24 +- docs/netmiko/watchguard/index.html | 22 +- docs/netmiko/yamaha/index.html | 34 +- docs/netmiko/yamaha/yamaha.html | 66 +- docs/netmiko/zte/index.html | 40 +- docs/netmiko/zte/zte_zxros.html | 78 +- docs/netmiko/zyxel/index.html | 18 +- docs/netmiko/zyxel/zyxel_ssh.html | 18 +- 171 files changed, 16229 insertions(+), 2492 deletions(-) create mode 100644 docs/netmiko/adva/adva_aos_fsp_150_f2.html create mode 100644 docs/netmiko/adva/adva_aos_fsp_150_f3.html create mode 100644 docs/netmiko/adva/index.html create mode 100644 docs/netmiko/arris/arris_cer.html create mode 100644 docs/netmiko/arris/index.html create mode 100644 docs/netmiko/casa/casa_cmts.html create mode 100644 docs/netmiko/casa/index.html create mode 100644 docs/netmiko/cisco/cisco_s200.html create mode 100644 docs/netmiko/ericsson/ericsson_mltn.html create mode 100644 docs/netmiko/hillstone/hillstone.html create mode 100644 docs/netmiko/hillstone/index.html create mode 100644 docs/netmiko/teldat/index.html create mode 100644 docs/netmiko/teldat/teldat_cit.html diff --git a/docs/netmiko/a10/a10_ssh.html b/docs/netmiko/a10/a10_ssh.html index 1b357462e..881e26abe 100644 --- a/docs/netmiko/a10/a10_ssh.html +++ b/docs/netmiko/a10/a10_ssh.html @@ -62,7 +62,7 @@

Classes

class A10SSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

A10 support.

@@ -103,6 +103,9 @@

Classes

:param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -117,7 +120,7 @@

Classes

:param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -125,6 +128,10 @@

Classes

:param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -136,7 +143,9 @@

Classes

enter key (default:

)

-
    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
+
    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
+
+    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
             to select smallest of global and specific. Sets default global_delay_factor to .1
             (default: True)
 
@@ -168,6 +177,9 @@ 

Classes

:param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
diff --git a/docs/netmiko/a10/index.html b/docs/netmiko/a10/index.html index 3b0a98f36..67c855d2e 100644 --- a/docs/netmiko/a10/index.html +++ b/docs/netmiko/a10/index.html @@ -49,7 +49,7 @@

Classes

class A10SSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

A10 support.

@@ -90,6 +90,9 @@

Classes

:param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -104,7 +107,7 @@

Classes

:param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -112,6 +115,10 @@

Classes

:param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -123,7 +130,9 @@

Classes

enter key (default:

)

-
    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
+
    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
+
+    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
             to select smallest of global and specific. Sets default global_delay_factor to .1
             (default: True)
 
@@ -155,6 +164,9 @@ 

Classes

:param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
diff --git a/docs/netmiko/accedian/accedian_ssh.html b/docs/netmiko/accedian/accedian_ssh.html index 0f448b5d2..7c18aafb4 100644 --- a/docs/netmiko/accedian/accedian_ssh.html +++ b/docs/netmiko/accedian/accedian_ssh.html @@ -71,7 +71,7 @@

Classes

class AccedianSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

Class for platforms that have no enable mode.

@@ -119,6 +119,9 @@

Classes

:param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -133,7 +136,7 @@

Classes

:param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -141,6 +144,10 @@

Classes

:param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -152,7 +159,9 @@

Classes

enter key (default:

)

-
    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
+
    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
+
+    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
             to select smallest of global and specific. Sets default global_delay_factor to .1
             (default: True)
 
@@ -184,6 +193,9 @@ 

Classes

:param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
diff --git a/docs/netmiko/accedian/index.html b/docs/netmiko/accedian/index.html index 1986aa5a5..2f5adf1e5 100644 --- a/docs/netmiko/accedian/index.html +++ b/docs/netmiko/accedian/index.html @@ -49,7 +49,7 @@

Classes

class AccedianSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

Class for platforms that have no enable mode.

@@ -97,6 +97,9 @@

Classes

:param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -111,7 +114,7 @@

Classes

:param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -119,6 +122,10 @@

Classes

:param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -130,7 +137,9 @@

Classes

enter key (default:

)

-
    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
+
    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
+
+    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
             to select smallest of global and specific. Sets default global_delay_factor to .1
             (default: True)
 
@@ -162,6 +171,9 @@ 

Classes

:param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
diff --git a/docs/netmiko/adtran/adtran.html b/docs/netmiko/adtran/adtran.html index 8973265c9..4a8fd9f44 100644 --- a/docs/netmiko/adtran/adtran.html +++ b/docs/netmiko/adtran/adtran.html @@ -32,6 +32,8 @@

Module netmiko.adtran.adtran

class AdtranOSBase(CiscoBaseConnection): + prompt_pattern = r"[>#]" + def __init__(self, *args: Any, **kwargs: Any) -> None: if kwargs.get("global_cmd_verify") is None: kwargs["global_cmd_verify"] = False @@ -40,9 +42,11 @@

Module netmiko.adtran.adtran

def session_preparation(self) -> None: """Prepare the session after the connection has been established.""" self.ansi_escape_codes = True - self._test_channel_read() + self._test_channel_read(pattern=self.prompt_pattern) self.set_base_prompt() self.disable_paging(command="terminal length 0") + cmd = "terminal width 132" + self.set_terminal_width(command=cmd, pattern=cmd) def check_enable_mode(self, check_string: str = "#") -> bool: return super().check_enable_mode(check_string=check_string) @@ -52,10 +56,15 @@

Module netmiko.adtran.adtran

cmd: str = "enable", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: return super().enable( - cmd=cmd, pattern=pattern, enable_pattern=enable_pattern, re_flags=re_flags + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, ) def exit_enable_mode(self, exit_command: str = "disable") -> str: @@ -155,6 +164,9 @@

Classes

:param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -169,7 +181,7 @@

Classes

:param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -177,6 +189,10 @@

Classes

:param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -188,7 +204,9 @@

Classes

enter key (default:

)

-
    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
+
    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
+
+    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
             to select smallest of global and specific. Sets default global_delay_factor to .1
             (default: True)
 
@@ -220,12 +238,17 @@ 

Classes

:param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
Expand source code
class AdtranOSBase(CiscoBaseConnection):
+    prompt_pattern = r"[>#]"
+
     def __init__(self, *args: Any, **kwargs: Any) -> None:
         if kwargs.get("global_cmd_verify") is None:
             kwargs["global_cmd_verify"] = False
@@ -234,9 +257,11 @@ 

Classes

def session_preparation(self) -> None: """Prepare the session after the connection has been established.""" self.ansi_escape_codes = True - self._test_channel_read() + self._test_channel_read(pattern=self.prompt_pattern) self.set_base_prompt() self.disable_paging(command="terminal length 0") + cmd = "terminal width 132" + self.set_terminal_width(command=cmd, pattern=cmd) def check_enable_mode(self, check_string: str = "#") -> bool: return super().check_enable_mode(check_string=check_string) @@ -246,10 +271,15 @@

Classes

cmd: str = "enable", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: return super().enable( - cmd=cmd, pattern=pattern, enable_pattern=enable_pattern, re_flags=re_flags + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, ) def exit_enable_mode(self, exit_command: str = "disable") -> str: @@ -295,6 +325,13 @@

Subclasses

  • AdtranOSSSH
  • AdtranOSTelnet
  • +

    Class variables

    +
    +
    var prompt_pattern
    +
    +
    +
    +

    Methods

    @@ -327,9 +364,11 @@

    Methods

    def session_preparation(self) -> None:
         """Prepare the session after the connection has been established."""
         self.ansi_escape_codes = True
    -    self._test_channel_read()
    +    self._test_channel_read(pattern=self.prompt_pattern)
         self.set_base_prompt()
    -    self.disable_paging(command="terminal length 0")
    + self.disable_paging(command="terminal length 0") + cmd = "terminal width 132" + self.set_terminal_width(command=cmd, pattern=cmd)
    @@ -423,6 +462,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -437,7 +479,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -445,6 +487,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -456,7 +502,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -488,6 +536,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -594,6 +645,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -608,7 +662,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -616,6 +670,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -627,7 +685,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -659,6 +719,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -745,6 +808,7 @@

    Index

    AdtranOSBase

    diff --git a/docs/netmiko/adtran/index.html b/docs/netmiko/adtran/index.html index fcf18d1ef..d690a0f13 100644 --- a/docs/netmiko/adtran/index.html +++ b/docs/netmiko/adtran/index.html @@ -90,6 +90,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -104,7 +107,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -112,6 +115,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -123,7 +130,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -155,6 +164,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -261,6 +273,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -275,7 +290,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -283,6 +298,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -294,7 +313,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -326,6 +347,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/adva/adva_aos_fsp_150_f2.html b/docs/netmiko/adva/adva_aos_fsp_150_f2.html new file mode 100644 index 000000000..49f399bce --- /dev/null +++ b/docs/netmiko/adva/adva_aos_fsp_150_f2.html @@ -0,0 +1,313 @@ + + + + + + +netmiko.adva.adva_aos_fsp_150_f2 API documentation + + + + + + + + + + + +
    +
    +
    +

    Module netmiko.adva.adva_aos_fsp_150_f2

    +
    +
    +

    Adva support.

    +
    + +Expand source code + +
    """Adva support."""
    +import re
    +from typing import Any, Optional
    +from netmiko.no_enable import NoEnable
    +from netmiko.no_config import NoConfig
    +from netmiko.cisco_base_connection import CiscoSSHConnection
    +
    +
    +class AdvaAosFsp150F2SSH(NoEnable, NoConfig, CiscoSSHConnection):
    +    """
    +    Adva AOS FSP 15P F2 SSH Base Class
    +
    +    F2 AOS applies for the following FSP150 device types: FSP150CC-825
    +
    +    These devices don't have an Enable Mode or a Config Mode.
    +
    +    Configuration Should be applied via the configuration context:
    +
    +    home
    +    configure snmp
    +    add v3user guytest noauth-nopriv
    +    home
    +
    +    configure system
    +    home
    +
    +    Use of home to return to CLI root context, home cannot be used from root
    +    LAB-R2-825-1:--> home
    +    Unrecognized command
    +    """
    +
    +    def __init__(self, **kwargs: Any) -> None:
    +        """
    +        \n for default enter causes some issues with the Adva so setting to \r.
    +        """
    +        if kwargs.get("default_enter") is None:
    +            kwargs["default_enter"] = "\r"
    +        return super().__init__(**kwargs)
    +
    +    def session_preparation(self) -> None:
    +        """
    +        Prepare the session after the connection has been established.
    +
    +        Handles devices with security prompt enabled
    +        """
    +        data = self.read_until_pattern(
    +            pattern=r"Do you wish to continue \[Y\|N\]-->|-->"
    +        )
    +        if "continue" in data:
    +            self.write_channel(f"y{self.RETURN}")
    +        else:
    +            self.write_channel(f"help?{self.RETURN}")
    +        data = self.read_until_pattern(pattern=r"-->")
    +        self.set_base_prompt()
    +
    +    def set_base_prompt(
    +        self,
    +        pri_prompt_terminator: str = r"(^.+?)-->$",
    +        alt_prompt_terminator: str = "",
    +        delay_factor: float = 1.0,
    +        pattern: Optional[str] = None,
    +    ) -> str:
    +
    +        prompt = self.find_prompt()
    +        match = re.search(pri_prompt_terminator, prompt)
    +        if not match:
    +            raise ValueError(f"Router prompt not found: {repr(prompt)}")
    +        self.base_prompt = match[1]
    +        return self.base_prompt
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +

    Classes

    +
    +
    +class AdvaAosFsp150F2SSH +(**kwargs: Any) +
    +
    +

    Adva AOS FSP 15P F2 SSH Base Class

    +

    F2 AOS applies for the following FSP150 device types: FSP150CC-825

    +

    These devices don't have an Enable Mode or a Config Mode.

    +

    Configuration Should be applied via the configuration context:

    +

    home +configure snmp +add v3user guytest noauth-nopriv +home

    +

    configure system +home

    +

    Use of home to return to CLI root context, home cannot be used from root +LAB-R2-825-1:–> home +Unrecognized command

    +

    for default enter causes some issues with the Adva so setting to +.

    +
    + +Expand source code + +
    class AdvaAosFsp150F2SSH(NoEnable, NoConfig, CiscoSSHConnection):
    +    """
    +    Adva AOS FSP 15P F2 SSH Base Class
    +
    +    F2 AOS applies for the following FSP150 device types: FSP150CC-825
    +
    +    These devices don't have an Enable Mode or a Config Mode.
    +
    +    Configuration Should be applied via the configuration context:
    +
    +    home
    +    configure snmp
    +    add v3user guytest noauth-nopriv
    +    home
    +
    +    configure system
    +    home
    +
    +    Use of home to return to CLI root context, home cannot be used from root
    +    LAB-R2-825-1:--> home
    +    Unrecognized command
    +    """
    +
    +    def __init__(self, **kwargs: Any) -> None:
    +        """
    +        \n for default enter causes some issues with the Adva so setting to \r.
    +        """
    +        if kwargs.get("default_enter") is None:
    +            kwargs["default_enter"] = "\r"
    +        return super().__init__(**kwargs)
    +
    +    def session_preparation(self) -> None:
    +        """
    +        Prepare the session after the connection has been established.
    +
    +        Handles devices with security prompt enabled
    +        """
    +        data = self.read_until_pattern(
    +            pattern=r"Do you wish to continue \[Y\|N\]-->|-->"
    +        )
    +        if "continue" in data:
    +            self.write_channel(f"y{self.RETURN}")
    +        else:
    +            self.write_channel(f"help?{self.RETURN}")
    +        data = self.read_until_pattern(pattern=r"-->")
    +        self.set_base_prompt()
    +
    +    def set_base_prompt(
    +        self,
    +        pri_prompt_terminator: str = r"(^.+?)-->$",
    +        alt_prompt_terminator: str = "",
    +        delay_factor: float = 1.0,
    +        pattern: Optional[str] = None,
    +    ) -> str:
    +
    +        prompt = self.find_prompt()
    +        match = re.search(pri_prompt_terminator, prompt)
    +        if not match:
    +            raise ValueError(f"Router prompt not found: {repr(prompt)}")
    +        self.base_prompt = match[1]
    +        return self.base_prompt
    +
    +

    Ancestors

    + +

    Methods

    +
    +
    +def session_preparation(self) ‑> None +
    +
    +

    Prepare the session after the connection has been established.

    +

    Handles devices with security prompt enabled

    +
    + +Expand source code + +
    def session_preparation(self) -> None:
    +    """
    +    Prepare the session after the connection has been established.
    +
    +    Handles devices with security prompt enabled
    +    """
    +    data = self.read_until_pattern(
    +        pattern=r"Do you wish to continue \[Y\|N\]-->|-->"
    +    )
    +    if "continue" in data:
    +        self.write_channel(f"y{self.RETURN}")
    +    else:
    +        self.write_channel(f"help?{self.RETURN}")
    +    data = self.read_until_pattern(pattern=r"-->")
    +    self.set_base_prompt()
    +
    +
    +
    +

    Inherited members

    + +
    +
    +
    +
    + +
    + + + \ No newline at end of file diff --git a/docs/netmiko/adva/adva_aos_fsp_150_f3.html b/docs/netmiko/adva/adva_aos_fsp_150_f3.html new file mode 100644 index 000000000..e0bc8f3ca --- /dev/null +++ b/docs/netmiko/adva/adva_aos_fsp_150_f3.html @@ -0,0 +1,496 @@ + + + + + + +netmiko.adva.adva_aos_fsp_150_f3 API documentation + + + + + + + + + + + +
    +
    +
    +

    Module netmiko.adva.adva_aos_fsp_150_f3

    +
    +
    +

    Adva F3 Device Support

    +
    + +Expand source code + +
    """Adva F3 Device Support"""
    +import re
    +from typing import (
    +    Optional,
    +    Sequence,
    +    TextIO,
    +    Iterator,
    +    Union,
    +    Any,
    +)
    +
    +from netmiko.no_enable import NoEnable
    +from netmiko.no_config import NoConfig
    +from netmiko.cisco_base_connection import CiscoSSHConnection
    +
    +
    +class AdvaAosFsp150F3SSH(NoEnable, NoConfig, CiscoSSHConnection):
    +    """
    +    Adva AOS FSP 15P F3 SSH Base Class
    +
    +    F3 AOS applies for the following FSP150 device types:
    +    FSP150CC-XG21x
    +    FSP150CC-GE11x
    +    FSP150CC-GE20x
    +
    +    These devices don't have a Enable Mode or Config Mode
    +
    +    Configuration should be applied via the configuration context:
    +
    +    home
    +    configure communication
    +    add ip-route nexthop xxxxxxx
    +
    +    #
    +    #CLI:PORT N2A SHAPER-1-1-1-3-0  Create
    +    #
    +    home
    +    network-element ne-1
    +
    +    Use of home to return to CLI root context
    +    """
    +
    +    def __init__(self, **kwargs: Any) -> None:
    +        """
    +        \n for default enter causes some issues with the Adva so setting to \r.
    +        """
    +        if kwargs.get("default_enter") is None:
    +            kwargs["default_enter"] = "\r"
    +        return super().__init__(**kwargs)
    +
    +    def session_preparation(self) -> None:
    +        """
    +        Prepare the session after the connection has been established.
    +        Handles devices with security prompt enabled
    +        """
    +        data = self.read_until_pattern(
    +            pattern=r"Do you wish to continue \[Y\|N\]-->|-->"
    +        )
    +
    +        if "continue" in data:
    +            self.write_channel(f"y{self.RETURN}")
    +        else:
    +            self.write_channel(f"home{self.RETURN}")
    +
    +        data = self.read_until_pattern(pattern=r"-->")
    +        self.set_base_prompt()
    +        self.disable_paging(cmd_verify=False)
    +
    +    def disable_paging(
    +        self,
    +        command: str = "",
    +        delay_factor: Optional[float] = None,
    +        cmd_verify: bool = True,
    +        pattern: Optional[str] = None,
    +    ) -> str:
    +        """Method to disable paging on the Adva, multi-line configuration command required."""
    +
    +        if command:
    +            raise ValueError(
    +                f"Unexpected value for command in disable_paging() method: {command}"
    +            )
    +
    +        commands = [
    +            "configure user-security",
    +            f"config-user {self.username} cli-paging disabled",
    +            "home",
    +        ]
    +        return self.send_config_set(
    +            commands, delay_factor=delay_factor, cmd_verify=cmd_verify
    +        )
    +
    +    def set_base_prompt(
    +        self,
    +        pri_prompt_terminator: str = r"(^.+?)-->$",
    +        alt_prompt_terminator: str = "",
    +        delay_factor: float = 1.0,
    +        pattern: Optional[str] = None,
    +    ) -> str:
    +
    +        prompt = self.find_prompt()
    +        match = re.search(pri_prompt_terminator, prompt)
    +        if not match:
    +            raise ValueError(f"Router prompt not found: {repr(prompt)}")
    +        self.base_prompt = match[1]
    +        return self.base_prompt
    +
    +    def send_config_set(
    +        self,
    +        config_commands: Union[str, Sequence[str], Iterator[str], TextIO, None] = None,
    +        *,
    +        exit_config_mode: bool = True,
    +        read_timeout: Optional[float] = 2.0,
    +        delay_factor: Optional[float] = None,
    +        max_loops: Optional[int] = None,
    +        strip_prompt: bool = False,
    +        strip_command: bool = False,
    +        config_mode_command: Optional[str] = None,
    +        cmd_verify: bool = True,
    +        enter_config_mode: bool = True,
    +        error_pattern: str = "",
    +        terminator: str = r"#",
    +        bypass_commands: Optional[str] = None,
    +    ) -> str:
    +
    +        if bypass_commands is None:
    +            categories = (
    +                r"(?:superuser|crypto|maintenance|provisioning|retrieve|test-user)"
    +            )
    +            bypass_commands = rf"(?:add\s+\S+\s+\S+\s+\S+\s+{categories}|secret.*)"
    +
    +        return super().send_config_set(
    +            config_commands=config_commands,
    +            exit_config_mode=exit_config_mode,
    +            read_timeout=read_timeout,
    +            delay_factor=delay_factor,
    +            max_loops=max_loops,
    +            strip_prompt=strip_prompt,
    +            strip_command=strip_command,
    +            config_mode_command=config_mode_command,
    +            cmd_verify=cmd_verify,
    +            enter_config_mode=enter_config_mode,
    +            error_pattern=error_pattern,
    +            terminator=terminator,
    +            bypass_commands=bypass_commands,
    +        )
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +

    Classes

    +
    +
    +class AdvaAosFsp150F3SSH +(**kwargs: Any) +
    +
    +

    Adva AOS FSP 15P F3 SSH Base Class

    +

    F3 AOS applies for the following FSP150 device types: +FSP150CC-XG21x +FSP150CC-GE11x +FSP150CC-GE20x

    +

    These devices don't have a Enable Mode or Config Mode

    +

    Configuration should be applied via the configuration context:

    +

    home +configure communication +add ip-route nexthop xxxxxxx

    +

    +

    CLI:PORT N2A SHAPER-1-1-1-3-0 +Create

    +

    +

    home +network-element ne-1

    +

    Use of home to return to CLI root context

    +

    for default enter causes some issues with the Adva so setting to +.

    +
    + +Expand source code + +
    class AdvaAosFsp150F3SSH(NoEnable, NoConfig, CiscoSSHConnection):
    +    """
    +    Adva AOS FSP 15P F3 SSH Base Class
    +
    +    F3 AOS applies for the following FSP150 device types:
    +    FSP150CC-XG21x
    +    FSP150CC-GE11x
    +    FSP150CC-GE20x
    +
    +    These devices don't have a Enable Mode or Config Mode
    +
    +    Configuration should be applied via the configuration context:
    +
    +    home
    +    configure communication
    +    add ip-route nexthop xxxxxxx
    +
    +    #
    +    #CLI:PORT N2A SHAPER-1-1-1-3-0  Create
    +    #
    +    home
    +    network-element ne-1
    +
    +    Use of home to return to CLI root context
    +    """
    +
    +    def __init__(self, **kwargs: Any) -> None:
    +        """
    +        \n for default enter causes some issues with the Adva so setting to \r.
    +        """
    +        if kwargs.get("default_enter") is None:
    +            kwargs["default_enter"] = "\r"
    +        return super().__init__(**kwargs)
    +
    +    def session_preparation(self) -> None:
    +        """
    +        Prepare the session after the connection has been established.
    +        Handles devices with security prompt enabled
    +        """
    +        data = self.read_until_pattern(
    +            pattern=r"Do you wish to continue \[Y\|N\]-->|-->"
    +        )
    +
    +        if "continue" in data:
    +            self.write_channel(f"y{self.RETURN}")
    +        else:
    +            self.write_channel(f"home{self.RETURN}")
    +
    +        data = self.read_until_pattern(pattern=r"-->")
    +        self.set_base_prompt()
    +        self.disable_paging(cmd_verify=False)
    +
    +    def disable_paging(
    +        self,
    +        command: str = "",
    +        delay_factor: Optional[float] = None,
    +        cmd_verify: bool = True,
    +        pattern: Optional[str] = None,
    +    ) -> str:
    +        """Method to disable paging on the Adva, multi-line configuration command required."""
    +
    +        if command:
    +            raise ValueError(
    +                f"Unexpected value for command in disable_paging() method: {command}"
    +            )
    +
    +        commands = [
    +            "configure user-security",
    +            f"config-user {self.username} cli-paging disabled",
    +            "home",
    +        ]
    +        return self.send_config_set(
    +            commands, delay_factor=delay_factor, cmd_verify=cmd_verify
    +        )
    +
    +    def set_base_prompt(
    +        self,
    +        pri_prompt_terminator: str = r"(^.+?)-->$",
    +        alt_prompt_terminator: str = "",
    +        delay_factor: float = 1.0,
    +        pattern: Optional[str] = None,
    +    ) -> str:
    +
    +        prompt = self.find_prompt()
    +        match = re.search(pri_prompt_terminator, prompt)
    +        if not match:
    +            raise ValueError(f"Router prompt not found: {repr(prompt)}")
    +        self.base_prompt = match[1]
    +        return self.base_prompt
    +
    +    def send_config_set(
    +        self,
    +        config_commands: Union[str, Sequence[str], Iterator[str], TextIO, None] = None,
    +        *,
    +        exit_config_mode: bool = True,
    +        read_timeout: Optional[float] = 2.0,
    +        delay_factor: Optional[float] = None,
    +        max_loops: Optional[int] = None,
    +        strip_prompt: bool = False,
    +        strip_command: bool = False,
    +        config_mode_command: Optional[str] = None,
    +        cmd_verify: bool = True,
    +        enter_config_mode: bool = True,
    +        error_pattern: str = "",
    +        terminator: str = r"#",
    +        bypass_commands: Optional[str] = None,
    +    ) -> str:
    +
    +        if bypass_commands is None:
    +            categories = (
    +                r"(?:superuser|crypto|maintenance|provisioning|retrieve|test-user)"
    +            )
    +            bypass_commands = rf"(?:add\s+\S+\s+\S+\s+\S+\s+{categories}|secret.*)"
    +
    +        return super().send_config_set(
    +            config_commands=config_commands,
    +            exit_config_mode=exit_config_mode,
    +            read_timeout=read_timeout,
    +            delay_factor=delay_factor,
    +            max_loops=max_loops,
    +            strip_prompt=strip_prompt,
    +            strip_command=strip_command,
    +            config_mode_command=config_mode_command,
    +            cmd_verify=cmd_verify,
    +            enter_config_mode=enter_config_mode,
    +            error_pattern=error_pattern,
    +            terminator=terminator,
    +            bypass_commands=bypass_commands,
    +        )
    +
    +

    Ancestors

    + +

    Methods

    +
    +
    +def disable_paging(self, command: str = '', delay_factor: Optional[float] = None, cmd_verify: bool = True, pattern: Optional[str] = None) ‑> str +
    +
    +

    Method to disable paging on the Adva, multi-line configuration command required.

    +
    + +Expand source code + +
    def disable_paging(
    +    self,
    +    command: str = "",
    +    delay_factor: Optional[float] = None,
    +    cmd_verify: bool = True,
    +    pattern: Optional[str] = None,
    +) -> str:
    +    """Method to disable paging on the Adva, multi-line configuration command required."""
    +
    +    if command:
    +        raise ValueError(
    +            f"Unexpected value for command in disable_paging() method: {command}"
    +        )
    +
    +    commands = [
    +        "configure user-security",
    +        f"config-user {self.username} cli-paging disabled",
    +        "home",
    +    ]
    +    return self.send_config_set(
    +        commands, delay_factor=delay_factor, cmd_verify=cmd_verify
    +    )
    +
    +
    +
    +def session_preparation(self) ‑> None +
    +
    +

    Prepare the session after the connection has been established. +Handles devices with security prompt enabled

    +
    + +Expand source code + +
    def session_preparation(self) -> None:
    +    """
    +    Prepare the session after the connection has been established.
    +    Handles devices with security prompt enabled
    +    """
    +    data = self.read_until_pattern(
    +        pattern=r"Do you wish to continue \[Y\|N\]-->|-->"
    +    )
    +
    +    if "continue" in data:
    +        self.write_channel(f"y{self.RETURN}")
    +    else:
    +        self.write_channel(f"home{self.RETURN}")
    +
    +    data = self.read_until_pattern(pattern=r"-->")
    +    self.set_base_prompt()
    +    self.disable_paging(cmd_verify=False)
    +
    +
    +
    +

    Inherited members

    + +
    +
    +
    +
    + +
    + + + \ No newline at end of file diff --git a/docs/netmiko/adva/index.html b/docs/netmiko/adva/index.html new file mode 100644 index 000000000..dcc0045c2 --- /dev/null +++ b/docs/netmiko/adva/index.html @@ -0,0 +1,554 @@ + + + + + + +netmiko.adva API documentation + + + + + + + + + + + +
    +
    +
    +

    Module netmiko.adva

    +
    +
    +

    Adva Device Drivers

    +
    + +Expand source code + +
    """Adva Device Drivers"""
    +from netmiko.adva.adva_aos_fsp_150_f2 import AdvaAosFsp150F2SSH
    +from netmiko.adva.adva_aos_fsp_150_f3 import AdvaAosFsp150F3SSH
    +
    +__all__ = [
    +    "AdvaAosFsp150F2SSH",
    +    "AdvaAosFsp150F3SSH",
    +]
    +
    +
    +
    +

    Sub-modules

    +
    +
    netmiko.adva.adva_aos_fsp_150_f2
    +
    +

    Adva support.

    +
    +
    netmiko.adva.adva_aos_fsp_150_f3
    +
    +

    Adva F3 Device Support

    +
    +
    +
    +
    +
    +
    +
    +
    +

    Classes

    +
    +
    +class AdvaAosFsp150F2SSH +(**kwargs: Any) +
    +
    +

    Adva AOS FSP 15P F2 SSH Base Class

    +

    F2 AOS applies for the following FSP150 device types: FSP150CC-825

    +

    These devices don't have an Enable Mode or a Config Mode.

    +

    Configuration Should be applied via the configuration context:

    +

    home +configure snmp +add v3user guytest noauth-nopriv +home

    +

    configure system +home

    +

    Use of home to return to CLI root context, home cannot be used from root +LAB-R2-825-1:–> home +Unrecognized command

    +

    for default enter causes some issues with the Adva so setting to +.

    +
    + +Expand source code + +
    class AdvaAosFsp150F2SSH(NoEnable, NoConfig, CiscoSSHConnection):
    +    """
    +    Adva AOS FSP 15P F2 SSH Base Class
    +
    +    F2 AOS applies for the following FSP150 device types: FSP150CC-825
    +
    +    These devices don't have an Enable Mode or a Config Mode.
    +
    +    Configuration Should be applied via the configuration context:
    +
    +    home
    +    configure snmp
    +    add v3user guytest noauth-nopriv
    +    home
    +
    +    configure system
    +    home
    +
    +    Use of home to return to CLI root context, home cannot be used from root
    +    LAB-R2-825-1:--> home
    +    Unrecognized command
    +    """
    +
    +    def __init__(self, **kwargs: Any) -> None:
    +        """
    +        \n for default enter causes some issues with the Adva so setting to \r.
    +        """
    +        if kwargs.get("default_enter") is None:
    +            kwargs["default_enter"] = "\r"
    +        return super().__init__(**kwargs)
    +
    +    def session_preparation(self) -> None:
    +        """
    +        Prepare the session after the connection has been established.
    +
    +        Handles devices with security prompt enabled
    +        """
    +        data = self.read_until_pattern(
    +            pattern=r"Do you wish to continue \[Y\|N\]-->|-->"
    +        )
    +        if "continue" in data:
    +            self.write_channel(f"y{self.RETURN}")
    +        else:
    +            self.write_channel(f"help?{self.RETURN}")
    +        data = self.read_until_pattern(pattern=r"-->")
    +        self.set_base_prompt()
    +
    +    def set_base_prompt(
    +        self,
    +        pri_prompt_terminator: str = r"(^.+?)-->$",
    +        alt_prompt_terminator: str = "",
    +        delay_factor: float = 1.0,
    +        pattern: Optional[str] = None,
    +    ) -> str:
    +
    +        prompt = self.find_prompt()
    +        match = re.search(pri_prompt_terminator, prompt)
    +        if not match:
    +            raise ValueError(f"Router prompt not found: {repr(prompt)}")
    +        self.base_prompt = match[1]
    +        return self.base_prompt
    +
    +

    Ancestors

    + +

    Methods

    +
    +
    +def session_preparation(self) ‑> None +
    +
    +

    Prepare the session after the connection has been established.

    +

    Handles devices with security prompt enabled

    +
    + +Expand source code + +
    def session_preparation(self) -> None:
    +    """
    +    Prepare the session after the connection has been established.
    +
    +    Handles devices with security prompt enabled
    +    """
    +    data = self.read_until_pattern(
    +        pattern=r"Do you wish to continue \[Y\|N\]-->|-->"
    +    )
    +    if "continue" in data:
    +        self.write_channel(f"y{self.RETURN}")
    +    else:
    +        self.write_channel(f"help?{self.RETURN}")
    +    data = self.read_until_pattern(pattern=r"-->")
    +    self.set_base_prompt()
    +
    +
    +
    +

    Inherited members

    + +
    +
    +class AdvaAosFsp150F3SSH +(**kwargs: Any) +
    +
    +

    Adva AOS FSP 15P F3 SSH Base Class

    +

    F3 AOS applies for the following FSP150 device types: +FSP150CC-XG21x +FSP150CC-GE11x +FSP150CC-GE20x

    +

    These devices don't have a Enable Mode or Config Mode

    +

    Configuration should be applied via the configuration context:

    +

    home +configure communication +add ip-route nexthop xxxxxxx

    +

    +

    CLI:PORT N2A SHAPER-1-1-1-3-0 +Create

    +

    +

    home +network-element ne-1

    +

    Use of home to return to CLI root context

    +

    for default enter causes some issues with the Adva so setting to +.

    +
    + +Expand source code + +
    class AdvaAosFsp150F3SSH(NoEnable, NoConfig, CiscoSSHConnection):
    +    """
    +    Adva AOS FSP 15P F3 SSH Base Class
    +
    +    F3 AOS applies for the following FSP150 device types:
    +    FSP150CC-XG21x
    +    FSP150CC-GE11x
    +    FSP150CC-GE20x
    +
    +    These devices don't have a Enable Mode or Config Mode
    +
    +    Configuration should be applied via the configuration context:
    +
    +    home
    +    configure communication
    +    add ip-route nexthop xxxxxxx
    +
    +    #
    +    #CLI:PORT N2A SHAPER-1-1-1-3-0  Create
    +    #
    +    home
    +    network-element ne-1
    +
    +    Use of home to return to CLI root context
    +    """
    +
    +    def __init__(self, **kwargs: Any) -> None:
    +        """
    +        \n for default enter causes some issues with the Adva so setting to \r.
    +        """
    +        if kwargs.get("default_enter") is None:
    +            kwargs["default_enter"] = "\r"
    +        return super().__init__(**kwargs)
    +
    +    def session_preparation(self) -> None:
    +        """
    +        Prepare the session after the connection has been established.
    +        Handles devices with security prompt enabled
    +        """
    +        data = self.read_until_pattern(
    +            pattern=r"Do you wish to continue \[Y\|N\]-->|-->"
    +        )
    +
    +        if "continue" in data:
    +            self.write_channel(f"y{self.RETURN}")
    +        else:
    +            self.write_channel(f"home{self.RETURN}")
    +
    +        data = self.read_until_pattern(pattern=r"-->")
    +        self.set_base_prompt()
    +        self.disable_paging(cmd_verify=False)
    +
    +    def disable_paging(
    +        self,
    +        command: str = "",
    +        delay_factor: Optional[float] = None,
    +        cmd_verify: bool = True,
    +        pattern: Optional[str] = None,
    +    ) -> str:
    +        """Method to disable paging on the Adva, multi-line configuration command required."""
    +
    +        if command:
    +            raise ValueError(
    +                f"Unexpected value for command in disable_paging() method: {command}"
    +            )
    +
    +        commands = [
    +            "configure user-security",
    +            f"config-user {self.username} cli-paging disabled",
    +            "home",
    +        ]
    +        return self.send_config_set(
    +            commands, delay_factor=delay_factor, cmd_verify=cmd_verify
    +        )
    +
    +    def set_base_prompt(
    +        self,
    +        pri_prompt_terminator: str = r"(^.+?)-->$",
    +        alt_prompt_terminator: str = "",
    +        delay_factor: float = 1.0,
    +        pattern: Optional[str] = None,
    +    ) -> str:
    +
    +        prompt = self.find_prompt()
    +        match = re.search(pri_prompt_terminator, prompt)
    +        if not match:
    +            raise ValueError(f"Router prompt not found: {repr(prompt)}")
    +        self.base_prompt = match[1]
    +        return self.base_prompt
    +
    +    def send_config_set(
    +        self,
    +        config_commands: Union[str, Sequence[str], Iterator[str], TextIO, None] = None,
    +        *,
    +        exit_config_mode: bool = True,
    +        read_timeout: Optional[float] = 2.0,
    +        delay_factor: Optional[float] = None,
    +        max_loops: Optional[int] = None,
    +        strip_prompt: bool = False,
    +        strip_command: bool = False,
    +        config_mode_command: Optional[str] = None,
    +        cmd_verify: bool = True,
    +        enter_config_mode: bool = True,
    +        error_pattern: str = "",
    +        terminator: str = r"#",
    +        bypass_commands: Optional[str] = None,
    +    ) -> str:
    +
    +        if bypass_commands is None:
    +            categories = (
    +                r"(?:superuser|crypto|maintenance|provisioning|retrieve|test-user)"
    +            )
    +            bypass_commands = rf"(?:add\s+\S+\s+\S+\s+\S+\s+{categories}|secret.*)"
    +
    +        return super().send_config_set(
    +            config_commands=config_commands,
    +            exit_config_mode=exit_config_mode,
    +            read_timeout=read_timeout,
    +            delay_factor=delay_factor,
    +            max_loops=max_loops,
    +            strip_prompt=strip_prompt,
    +            strip_command=strip_command,
    +            config_mode_command=config_mode_command,
    +            cmd_verify=cmd_verify,
    +            enter_config_mode=enter_config_mode,
    +            error_pattern=error_pattern,
    +            terminator=terminator,
    +            bypass_commands=bypass_commands,
    +        )
    +
    +

    Ancestors

    + +

    Methods

    +
    +
    +def disable_paging(self, command: str = '', delay_factor: Optional[float] = None, cmd_verify: bool = True, pattern: Optional[str] = None) ‑> str +
    +
    +

    Method to disable paging on the Adva, multi-line configuration command required.

    +
    + +Expand source code + +
    def disable_paging(
    +    self,
    +    command: str = "",
    +    delay_factor: Optional[float] = None,
    +    cmd_verify: bool = True,
    +    pattern: Optional[str] = None,
    +) -> str:
    +    """Method to disable paging on the Adva, multi-line configuration command required."""
    +
    +    if command:
    +        raise ValueError(
    +            f"Unexpected value for command in disable_paging() method: {command}"
    +        )
    +
    +    commands = [
    +        "configure user-security",
    +        f"config-user {self.username} cli-paging disabled",
    +        "home",
    +    ]
    +    return self.send_config_set(
    +        commands, delay_factor=delay_factor, cmd_verify=cmd_verify
    +    )
    +
    +
    +
    +def session_preparation(self) ‑> None +
    +
    +

    Prepare the session after the connection has been established. +Handles devices with security prompt enabled

    +
    + +Expand source code + +
    def session_preparation(self) -> None:
    +    """
    +    Prepare the session after the connection has been established.
    +    Handles devices with security prompt enabled
    +    """
    +    data = self.read_until_pattern(
    +        pattern=r"Do you wish to continue \[Y\|N\]-->|-->"
    +    )
    +
    +    if "continue" in data:
    +        self.write_channel(f"y{self.RETURN}")
    +    else:
    +        self.write_channel(f"home{self.RETURN}")
    +
    +    data = self.read_until_pattern(pattern=r"-->")
    +    self.set_base_prompt()
    +    self.disable_paging(cmd_verify=False)
    +
    +
    +
    +

    Inherited members

    + +
    +
    +
    +
    + +
    + + + \ No newline at end of file diff --git a/docs/netmiko/alcatel/alcatel_aos_ssh.html b/docs/netmiko/alcatel/alcatel_aos_ssh.html index f323391d1..316d7cb7a 100644 --- a/docs/netmiko/alcatel/alcatel_aos_ssh.html +++ b/docs/netmiko/alcatel/alcatel_aos_ssh.html @@ -64,7 +64,7 @@

    Classes

    class AlcatelAosSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Alcatel-Lucent Enterprise AOS support (AOS6 and AOS8).

    @@ -105,6 +105,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -119,7 +122,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -127,6 +130,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -138,7 +145,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -170,6 +179,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/alcatel/index.html b/docs/netmiko/alcatel/index.html index 1b5ec2f3e..605db1aa4 100644 --- a/docs/netmiko/alcatel/index.html +++ b/docs/netmiko/alcatel/index.html @@ -49,7 +49,7 @@

    Classes

    class AlcatelAosSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Alcatel-Lucent Enterprise AOS support (AOS6 and AOS8).

    @@ -90,6 +90,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -104,7 +107,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -112,6 +115,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -123,7 +130,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -155,6 +164,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/allied_telesis/allied_telesis_awplus.html b/docs/netmiko/allied_telesis/allied_telesis_awplus.html index 51f09d344..18f43505f 100644 --- a/docs/netmiko/allied_telesis/allied_telesis_awplus.html +++ b/docs/netmiko/allied_telesis/allied_telesis_awplus.html @@ -85,7 +85,7 @@

    Classes

    class AlliedTelesisAwplusBase -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Implement methods for interacting with Allied Telesis devices.

    @@ -126,6 +126,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -140,7 +143,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -148,6 +151,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -159,7 +166,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -191,6 +200,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -346,7 +358,7 @@

    Inherited members

    class AlliedTelesisAwplusSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Implement methods for interacting with Allied Telesis devices.

    @@ -387,6 +399,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -401,7 +416,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -409,6 +424,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -420,7 +439,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -452,6 +473,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/allied_telesis/index.html b/docs/netmiko/allied_telesis/index.html index b9bbe06bb..304bf5f76 100644 --- a/docs/netmiko/allied_telesis/index.html +++ b/docs/netmiko/allied_telesis/index.html @@ -49,7 +49,7 @@

    Classes

    class AlliedTelesisAwplusSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Implement methods for interacting with Allied Telesis devices.

    @@ -90,6 +90,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -104,7 +107,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -112,6 +115,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -123,7 +130,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -155,6 +164,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/apresia/apresia_aeos.html b/docs/netmiko/apresia/apresia_aeos.html index a2e001b6b..b82ba3b8a 100644 --- a/docs/netmiko/apresia/apresia_aeos.html +++ b/docs/netmiko/apresia/apresia_aeos.html @@ -83,7 +83,7 @@

    Classes

    class ApresiaAeosBase -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Base Class for cisco-like behavior.

    @@ -124,6 +124,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -138,7 +141,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -146,6 +149,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -157,7 +164,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -189,6 +198,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -304,7 +316,7 @@

    Inherited members

    class ApresiaAeosSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Base Class for cisco-like behavior.

    @@ -345,6 +357,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -359,7 +374,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -367,6 +382,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -378,7 +397,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -410,6 +431,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -517,6 +541,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -531,7 +558,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -539,6 +566,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -550,7 +581,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -582,6 +615,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/apresia/index.html b/docs/netmiko/apresia/index.html index 08962eb1f..4a7e9911f 100644 --- a/docs/netmiko/apresia/index.html +++ b/docs/netmiko/apresia/index.html @@ -49,7 +49,7 @@

    Classes

    class ApresiaAeosSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Base Class for cisco-like behavior.

    @@ -90,6 +90,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -104,7 +107,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -112,6 +115,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -123,7 +130,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -155,6 +164,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -262,6 +274,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -276,7 +291,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -284,6 +299,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -295,7 +314,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -327,6 +348,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/arista/arista.html b/docs/netmiko/arista/arista.html index 2df353133..54c3b28ca 100644 --- a/docs/netmiko/arista/arista.html +++ b/docs/netmiko/arista/arista.html @@ -37,23 +37,47 @@

    Module netmiko.arista.arista

    class AristaBase(CiscoSSHConnection): + prompt_pattern = r"[$>#]" + def session_preparation(self) -> None: """Prepare the session after the connection has been established.""" + self._test_channel_read(pattern=self.prompt_pattern) cmd = "terminal width 511" - # Arista will echo immediately and then when the device really responds (like NX-OS) self.set_terminal_width(command=cmd, pattern=r"Width set to") self.disable_paging(cmd_verify=False, pattern=r"Pagination disabled") self.set_base_prompt() + def find_prompt( + self, delay_factor: float = 1.0, pattern: Optional[str] = None + ) -> str: + """ + Arista's sometimes duplicate the command echo if they fall behind. + + arista9-napalm# + show version | json + arista9-napalm#show version | json + + Using the terminating pattern tries to ensure that it is less likely they + fall behind. + """ + if not pattern: + pattern = self.prompt_pattern + return super().find_prompt(delay_factor=delay_factor, pattern=pattern) + def enable( self, cmd: str = "enable", pattern: str = "ssword", enable_pattern: Optional[str] = r"\#", + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: return super().enable( - cmd=cmd, pattern=pattern, enable_pattern=enable_pattern, re_flags=re_flags + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, ) def check_config_mode( @@ -185,7 +209,7 @@

    Classes

    class AristaBase -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Base Class for cisco-like behavior.

    @@ -226,6 +250,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -240,7 +267,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -248,6 +275,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -259,7 +290,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -291,29 +324,56 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    Expand source code
    class AristaBase(CiscoSSHConnection):
    +    prompt_pattern = r"[$>#]"
    +
         def session_preparation(self) -> None:
             """Prepare the session after the connection has been established."""
    +        self._test_channel_read(pattern=self.prompt_pattern)
             cmd = "terminal width 511"
    -        # Arista will echo immediately and then when the device really responds (like NX-OS)
             self.set_terminal_width(command=cmd, pattern=r"Width set to")
             self.disable_paging(cmd_verify=False, pattern=r"Pagination disabled")
             self.set_base_prompt()
     
    +    def find_prompt(
    +        self, delay_factor: float = 1.0, pattern: Optional[str] = None
    +    ) -> str:
    +        """
    +        Arista's sometimes duplicate the command echo if they fall behind.
    +
    +        arista9-napalm#
    +        show version | json
    +        arista9-napalm#show version | json
    +
    +        Using the terminating pattern tries to ensure that it is less likely they
    +        fall behind.
    +        """
    +        if not pattern:
    +            pattern = self.prompt_pattern
    +        return super().find_prompt(delay_factor=delay_factor, pattern=pattern)
    +
         def enable(
             self,
             cmd: str = "enable",
             pattern: str = "ssword",
             enable_pattern: Optional[str] = r"\#",
    +        check_state: bool = True,
             re_flags: int = re.IGNORECASE,
         ) -> str:
             return super().enable(
    -            cmd=cmd, pattern=pattern, enable_pattern=enable_pattern, re_flags=re_flags
    +            cmd=cmd,
    +            pattern=pattern,
    +            enable_pattern=enable_pattern,
    +            check_state=check_state,
    +            re_flags=re_flags,
             )
     
         def check_config_mode(
    @@ -376,6 +436,13 @@ 

    Subclasses

  • AristaSSH
  • AristaTelnet
  • +

    Class variables

    +
    +
    var prompt_pattern
    +
    +
    +
    +

    Methods

    @@ -440,6 +507,38 @@

    Methods

    )
    +
    +def find_prompt(self, delay_factor: float = 1.0, pattern: Optional[str] = None) ‑> str +
    +
    +

    Arista's sometimes duplicate the command echo if they fall behind.

    +

    arista9-napalm# +show version | json +arista9-napalm#show version | json

    +

    Using the terminating pattern tries to ensure that it is less likely they +fall behind.

    +
    + +Expand source code + +
    def find_prompt(
    +    self, delay_factor: float = 1.0, pattern: Optional[str] = None
    +) -> str:
    +    """
    +    Arista's sometimes duplicate the command echo if they fall behind.
    +
    +    arista9-napalm#
    +    show version | json
    +    arista9-napalm#show version | json
    +
    +    Using the terminating pattern tries to ensure that it is less likely they
    +    fall behind.
    +    """
    +    if not pattern:
    +        pattern = self.prompt_pattern
    +    return super().find_prompt(delay_factor=delay_factor, pattern=pattern)
    +
    +
    def session_preparation(self) ‑> None
    @@ -451,8 +550,8 @@

    Methods

    def session_preparation(self) -> None:
         """Prepare the session after the connection has been established."""
    +    self._test_channel_read(pattern=self.prompt_pattern)
         cmd = "terminal width 511"
    -    # Arista will echo immediately and then when the device really responds (like NX-OS)
         self.set_terminal_width(command=cmd, pattern=r"Width set to")
         self.disable_paging(cmd_verify=False, pattern=r"Pagination disabled")
         self.set_base_prompt()
    @@ -473,7 +572,6 @@

    Inherited members

  • establish_connection
  • exit_config_mode
  • exit_enable_mode
  • -
  • find_prompt
  • is_alive
  • normalize_cmd
  • normalize_linefeeds
  • @@ -603,7 +701,7 @@

    Inherited members

    class AristaSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Base Class for cisco-like behavior.

    @@ -644,6 +742,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -658,7 +759,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -666,6 +767,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -677,7 +782,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -709,6 +816,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -740,7 +850,7 @@

    Inherited members

  • establish_connection
  • exit_config_mode
  • exit_enable_mode
  • -
  • find_prompt
  • +
  • find_prompt
  • is_alive
  • normalize_cmd
  • normalize_linefeeds
  • @@ -816,6 +926,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -830,7 +943,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -838,6 +951,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -849,7 +966,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -881,6 +1000,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -915,7 +1037,7 @@

    Inherited members

  • establish_connection
  • exit_config_mode
  • exit_enable_mode
  • -
  • find_prompt
  • +
  • find_prompt
  • is_alive
  • normalize_cmd
  • normalize_linefeeds
  • @@ -969,6 +1091,8 @@

  • check_config_mode
  • config_mode
  • +
  • find_prompt
  • +
  • prompt_pattern
  • session_preparation
  • diff --git a/docs/netmiko/arista/index.html b/docs/netmiko/arista/index.html index 8d3953f8e..58719d2b1 100644 --- a/docs/netmiko/arista/index.html +++ b/docs/netmiko/arista/index.html @@ -145,7 +145,7 @@

    Inherited members

    class AristaSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Base Class for cisco-like behavior.

    @@ -186,6 +186,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -200,7 +203,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -208,6 +211,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -219,7 +226,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -251,6 +260,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -282,7 +294,7 @@

    Inherited members

  • establish_connection
  • exit_config_mode
  • exit_enable_mode
  • -
  • find_prompt
  • +
  • find_prompt
  • is_alive
  • normalize_cmd
  • normalize_linefeeds
  • @@ -358,6 +370,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -372,7 +387,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -380,6 +395,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -391,7 +410,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -423,6 +444,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -457,7 +481,7 @@

    Inherited members

  • establish_connection
  • exit_config_mode
  • exit_enable_mode
  • -
  • find_prompt
  • +
  • find_prompt
  • is_alive
  • normalize_cmd
  • normalize_linefeeds
  • diff --git a/docs/netmiko/arris/arris_cer.html b/docs/netmiko/arris/arris_cer.html new file mode 100644 index 000000000..73845117b --- /dev/null +++ b/docs/netmiko/arris/arris_cer.html @@ -0,0 +1,561 @@ + + + + + + +netmiko.arris.arris_cer API documentation + + + + + + + + + + + +
    +
    +
    +

    Module netmiko.arris.arris_cer

    +
    +
    +
    + +Expand source code + +
    from netmiko.cisco_base_connection import CiscoSSHConnection
    +
    +
    +class ArrisCERBase(CiscoSSHConnection):
    +    """
    +    Arris CER Support.
    +
    +    Implements methods for interacting with Arris CER platforms.
    +    """
    +
    +    def config_mode(
    +        self,
    +        config_command: str = "configure",
    +        pattern: str = "",
    +        re_flags: int = 0,
    +    ) -> str:
    +        """Enters configuration mode."""
    +        return super().config_mode(
    +            config_command=config_command,
    +            pattern=pattern,
    +            re_flags=re_flags,
    +        )
    +
    +    def save_config(
    +        self,
    +        cmd: str = "write memory",
    +        confirm: bool = False,
    +        confirm_response: str = "",
    +    ) -> str:
    +        """Saves the running configuration to NVRAM."""
    +        return super().save_config(
    +            cmd=cmd, confirm=confirm, confirm_response=confirm_response
    +        )
    +
    +
    +class ArrisCERSSH(ArrisCERBase):
    +    """Arris CER SSH Driver."""
    +
    +    pass
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +

    Classes

    +
    +
    +class ArrisCERBase +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False) +
    +
    +

    Arris CER Support.

    +

    Implements methods for interacting with Arris CER platforms.

    +
        Initialize attributes for establishing connection to target device.
    +
    +    :param ip: IP address of target device. Not required if <code>host</code> is
    +        provided.
    +
    +    :param host: Hostname of target device. Not required if <code>ip</code> is
    +            provided.
    +
    +    :param username: Username to authenticate against target device if
    +            required.
    +
    +    :param password: Password to authenticate against target device if
    +            required.
    +
    +    :param secret: The enable password if target device requires one.
    +
    +    :param port: The destination port used to connect to the target
    +            device.
    +
    +    :param device_type: Class selection based on device type.
    +
    +    :param verbose: Enable additional messages to standard output.
    +
    +    :param global_delay_factor: Multiplication factor affecting Netmiko delays (default: 1).
    +
    +    :param use_keys: Connect to target device using SSH keys.
    +
    +    :param key_file: Filename path of the SSH key file to use.
    +
    +    :param pkey: SSH key object to use.
    +
    +    :param passphrase: Passphrase to use for encrypted key; password will be used for key
    +            decryption if not specified.
    +
    +    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko
    +            documentation for a description of the expected format.
    +
    +    :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs
    +        <https://github.com/paramiko/paramiko/issues/1961> (default: False)
    +
    +    :param allow_agent: Enable use of SSH key-agent.
    +
    +    :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which
    +            means unknown SSH host keys will be accepted).
    +
    +    :param system_host_keys: Load host keys from the users known_hosts file.
    +
    +    :param alt_host_keys: If <code>True</code> host keys will be loaded from the file specified in
    +            alt_key_file.
    +
    +    :param alt_key_file: SSH host key file to use (if alt_host_keys=True).
    +
    +    :param ssh_config_file: File name of OpenSSH configuration file.
    +
    +    :param conn_timeout: TCP connection timeout.
    +
    +    :param session_timeout: Set a timeout for parallel requests.
    +
    +    :param auth_timeout: Set a timeout (in seconds) to wait for an authentication response.
    +
    +    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko).
    +
    +    :param read_timeout_override: Set a timeout that will override the default read_timeout
    +            of both send_command and send_command_timing. This is useful for 3rd party
    +            libraries where directly accessing method arguments might be impractical.
    +
    +    :param keepalive: Send SSH keepalive packets at a specific interval, in seconds.
    +            Currently defaults to 0, for backwards compatibility (it will not attempt
    +            to keep the connection alive).
    +
    +    :param default_enter: Character(s) to send to correspond to enter key (default:
    +
    +

    ).

    +
        :param response_return: Character(s) to use in normalized return data to represent
    +            enter key (default:
    +
    +

    )

    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +            to select smallest of global and specific. Sets default global_delay_factor to .1
    +            (default: True)
    +
    +    :param session_log: File path or BufferedIOBase subclass object to write the session log to.
    +
    +    :param session_log_record_writes: The session log generally only records channel reads due
    +            to eliminate command duplication due to command echo. You can enable this if you
    +            want to record both channel reads and channel writes in the log (default: False).
    +
    +    :param session_log_file_mode: "write" or "append" for session_log file mode
    +            (default: "write")
    +
    +    :param allow_auto_change: Allow automatic configuration changes for terminal settings.
    +            (default: False)
    +
    +    :param encoding: Encoding to be used when writing bytes to the output channel.
    +            (default: ascii)
    +
    +    :param sock: An open socket or socket-like object (such as a <code>.Channel</code>) to use for
    +            communication to the target host (default: None).
    +
    +    :param global_cmd_verify: Control whether command echo verification is enabled or disabled
    +            (default: None). Global attribute takes precedence over function <code>cmd\_verify</code>
    +            argument. Value of <code>None</code> indicates to use function <code>cmd\_verify</code> argument.
    +
    +    :param auto_connect: Control whether Netmiko automatically establishes the connection as
    +            part of the object creation (default: True).
    +
    +    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko
    +            3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be
    +            eliminated in Netmiko 5.x (default: False).
    +
    +    :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior
    +            (default: False)
    +
    +
    + +Expand source code + +
    class ArrisCERBase(CiscoSSHConnection):
    +    """
    +    Arris CER Support.
    +
    +    Implements methods for interacting with Arris CER platforms.
    +    """
    +
    +    def config_mode(
    +        self,
    +        config_command: str = "configure",
    +        pattern: str = "",
    +        re_flags: int = 0,
    +    ) -> str:
    +        """Enters configuration mode."""
    +        return super().config_mode(
    +            config_command=config_command,
    +            pattern=pattern,
    +            re_flags=re_flags,
    +        )
    +
    +    def save_config(
    +        self,
    +        cmd: str = "write memory",
    +        confirm: bool = False,
    +        confirm_response: str = "",
    +    ) -> str:
    +        """Saves the running configuration to NVRAM."""
    +        return super().save_config(
    +            cmd=cmd, confirm=confirm, confirm_response=confirm_response
    +        )
    +
    +

    Ancestors

    + +

    Subclasses

    + +

    Methods

    +
    +
    +def config_mode(self, config_command: str = 'configure', pattern: str = '', re_flags: int = 0) ‑> str +
    +
    +

    Enters configuration mode.

    +
    + +Expand source code + +
    def config_mode(
    +    self,
    +    config_command: str = "configure",
    +    pattern: str = "",
    +    re_flags: int = 0,
    +) -> str:
    +    """Enters configuration mode."""
    +    return super().config_mode(
    +        config_command=config_command,
    +        pattern=pattern,
    +        re_flags=re_flags,
    +    )
    +
    +
    +
    +def save_config(self, cmd: str = 'write memory', confirm: bool = False, confirm_response: str = '') ‑> str +
    +
    +

    Saves the running configuration to NVRAM.

    +
    + +Expand source code + +
    def save_config(
    +    self,
    +    cmd: str = "write memory",
    +    confirm: bool = False,
    +    confirm_response: str = "",
    +) -> str:
    +    """Saves the running configuration to NVRAM."""
    +    return super().save_config(
    +        cmd=cmd, confirm=confirm, confirm_response=confirm_response
    +    )
    +
    +
    +
    +

    Inherited members

    + +
    +
    +class ArrisCERSSH +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False) +
    +
    +

    Arris CER SSH Driver.

    +
        Initialize attributes for establishing connection to target device.
    +
    +    :param ip: IP address of target device. Not required if <code>host</code> is
    +        provided.
    +
    +    :param host: Hostname of target device. Not required if <code>ip</code> is
    +            provided.
    +
    +    :param username: Username to authenticate against target device if
    +            required.
    +
    +    :param password: Password to authenticate against target device if
    +            required.
    +
    +    :param secret: The enable password if target device requires one.
    +
    +    :param port: The destination port used to connect to the target
    +            device.
    +
    +    :param device_type: Class selection based on device type.
    +
    +    :param verbose: Enable additional messages to standard output.
    +
    +    :param global_delay_factor: Multiplication factor affecting Netmiko delays (default: 1).
    +
    +    :param use_keys: Connect to target device using SSH keys.
    +
    +    :param key_file: Filename path of the SSH key file to use.
    +
    +    :param pkey: SSH key object to use.
    +
    +    :param passphrase: Passphrase to use for encrypted key; password will be used for key
    +            decryption if not specified.
    +
    +    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko
    +            documentation for a description of the expected format.
    +
    +    :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs
    +        <https://github.com/paramiko/paramiko/issues/1961> (default: False)
    +
    +    :param allow_agent: Enable use of SSH key-agent.
    +
    +    :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which
    +            means unknown SSH host keys will be accepted).
    +
    +    :param system_host_keys: Load host keys from the users known_hosts file.
    +
    +    :param alt_host_keys: If <code>True</code> host keys will be loaded from the file specified in
    +            alt_key_file.
    +
    +    :param alt_key_file: SSH host key file to use (if alt_host_keys=True).
    +
    +    :param ssh_config_file: File name of OpenSSH configuration file.
    +
    +    :param conn_timeout: TCP connection timeout.
    +
    +    :param session_timeout: Set a timeout for parallel requests.
    +
    +    :param auth_timeout: Set a timeout (in seconds) to wait for an authentication response.
    +
    +    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko).
    +
    +    :param read_timeout_override: Set a timeout that will override the default read_timeout
    +            of both send_command and send_command_timing. This is useful for 3rd party
    +            libraries where directly accessing method arguments might be impractical.
    +
    +    :param keepalive: Send SSH keepalive packets at a specific interval, in seconds.
    +            Currently defaults to 0, for backwards compatibility (it will not attempt
    +            to keep the connection alive).
    +
    +    :param default_enter: Character(s) to send to correspond to enter key (default:
    +
    +

    ).

    +
        :param response_return: Character(s) to use in normalized return data to represent
    +            enter key (default:
    +
    +

    )

    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +            to select smallest of global and specific. Sets default global_delay_factor to .1
    +            (default: True)
    +
    +    :param session_log: File path or BufferedIOBase subclass object to write the session log to.
    +
    +    :param session_log_record_writes: The session log generally only records channel reads due
    +            to eliminate command duplication due to command echo. You can enable this if you
    +            want to record both channel reads and channel writes in the log (default: False).
    +
    +    :param session_log_file_mode: "write" or "append" for session_log file mode
    +            (default: "write")
    +
    +    :param allow_auto_change: Allow automatic configuration changes for terminal settings.
    +            (default: False)
    +
    +    :param encoding: Encoding to be used when writing bytes to the output channel.
    +            (default: ascii)
    +
    +    :param sock: An open socket or socket-like object (such as a <code>.Channel</code>) to use for
    +            communication to the target host (default: None).
    +
    +    :param global_cmd_verify: Control whether command echo verification is enabled or disabled
    +            (default: None). Global attribute takes precedence over function <code>cmd\_verify</code>
    +            argument. Value of <code>None</code> indicates to use function <code>cmd\_verify</code> argument.
    +
    +    :param auto_connect: Control whether Netmiko automatically establishes the connection as
    +            part of the object creation (default: True).
    +
    +    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko
    +            3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be
    +            eliminated in Netmiko 5.x (default: False).
    +
    +    :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior
    +            (default: False)
    +
    +
    + +Expand source code + +
    class ArrisCERSSH(ArrisCERBase):
    +    """Arris CER SSH Driver."""
    +
    +    pass
    +
    +

    Ancestors

    + +

    Inherited members

    + +
    +
    +
    +
    + +
    + + + \ No newline at end of file diff --git a/docs/netmiko/arris/index.html b/docs/netmiko/arris/index.html new file mode 100644 index 000000000..b2a7cf62d --- /dev/null +++ b/docs/netmiko/arris/index.html @@ -0,0 +1,537 @@ + + + + + + +netmiko.arris API documentation + + + + + + + + + + + +
    +
    +
    +

    Module netmiko.arris

    +
    +
    +
    + +Expand source code + +
    from netmiko.arris.arris_cer import ArrisCERBase, ArrisCERSSH
    +
    +__all__ = ["ArrisCERBase", "ArrisCERSSH"]
    +
    +
    +
    +

    Sub-modules

    +
    +
    netmiko.arris.arris_cer
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +

    Classes

    +
    +
    +class ArrisCERBase +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False) +
    +
    +

    Arris CER Support.

    +

    Implements methods for interacting with Arris CER platforms.

    +
        Initialize attributes for establishing connection to target device.
    +
    +    :param ip: IP address of target device. Not required if <code>host</code> is
    +        provided.
    +
    +    :param host: Hostname of target device. Not required if <code>ip</code> is
    +            provided.
    +
    +    :param username: Username to authenticate against target device if
    +            required.
    +
    +    :param password: Password to authenticate against target device if
    +            required.
    +
    +    :param secret: The enable password if target device requires one.
    +
    +    :param port: The destination port used to connect to the target
    +            device.
    +
    +    :param device_type: Class selection based on device type.
    +
    +    :param verbose: Enable additional messages to standard output.
    +
    +    :param global_delay_factor: Multiplication factor affecting Netmiko delays (default: 1).
    +
    +    :param use_keys: Connect to target device using SSH keys.
    +
    +    :param key_file: Filename path of the SSH key file to use.
    +
    +    :param pkey: SSH key object to use.
    +
    +    :param passphrase: Passphrase to use for encrypted key; password will be used for key
    +            decryption if not specified.
    +
    +    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko
    +            documentation for a description of the expected format.
    +
    +    :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs
    +        <https://github.com/paramiko/paramiko/issues/1961> (default: False)
    +
    +    :param allow_agent: Enable use of SSH key-agent.
    +
    +    :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which
    +            means unknown SSH host keys will be accepted).
    +
    +    :param system_host_keys: Load host keys from the users known_hosts file.
    +
    +    :param alt_host_keys: If <code>True</code> host keys will be loaded from the file specified in
    +            alt_key_file.
    +
    +    :param alt_key_file: SSH host key file to use (if alt_host_keys=True).
    +
    +    :param ssh_config_file: File name of OpenSSH configuration file.
    +
    +    :param conn_timeout: TCP connection timeout.
    +
    +    :param session_timeout: Set a timeout for parallel requests.
    +
    +    :param auth_timeout: Set a timeout (in seconds) to wait for an authentication response.
    +
    +    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko).
    +
    +    :param read_timeout_override: Set a timeout that will override the default read_timeout
    +            of both send_command and send_command_timing. This is useful for 3rd party
    +            libraries where directly accessing method arguments might be impractical.
    +
    +    :param keepalive: Send SSH keepalive packets at a specific interval, in seconds.
    +            Currently defaults to 0, for backwards compatibility (it will not attempt
    +            to keep the connection alive).
    +
    +    :param default_enter: Character(s) to send to correspond to enter key (default:
    +
    +

    ).

    +
        :param response_return: Character(s) to use in normalized return data to represent
    +            enter key (default:
    +
    +

    )

    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +            to select smallest of global and specific. Sets default global_delay_factor to .1
    +            (default: True)
    +
    +    :param session_log: File path or BufferedIOBase subclass object to write the session log to.
    +
    +    :param session_log_record_writes: The session log generally only records channel reads due
    +            to eliminate command duplication due to command echo. You can enable this if you
    +            want to record both channel reads and channel writes in the log (default: False).
    +
    +    :param session_log_file_mode: "write" or "append" for session_log file mode
    +            (default: "write")
    +
    +    :param allow_auto_change: Allow automatic configuration changes for terminal settings.
    +            (default: False)
    +
    +    :param encoding: Encoding to be used when writing bytes to the output channel.
    +            (default: ascii)
    +
    +    :param sock: An open socket or socket-like object (such as a <code>.Channel</code>) to use for
    +            communication to the target host (default: None).
    +
    +    :param global_cmd_verify: Control whether command echo verification is enabled or disabled
    +            (default: None). Global attribute takes precedence over function <code>cmd\_verify</code>
    +            argument. Value of <code>None</code> indicates to use function <code>cmd\_verify</code> argument.
    +
    +    :param auto_connect: Control whether Netmiko automatically establishes the connection as
    +            part of the object creation (default: True).
    +
    +    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko
    +            3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be
    +            eliminated in Netmiko 5.x (default: False).
    +
    +    :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior
    +            (default: False)
    +
    +
    + +Expand source code + +
    class ArrisCERBase(CiscoSSHConnection):
    +    """
    +    Arris CER Support.
    +
    +    Implements methods for interacting with Arris CER platforms.
    +    """
    +
    +    def config_mode(
    +        self,
    +        config_command: str = "configure",
    +        pattern: str = "",
    +        re_flags: int = 0,
    +    ) -> str:
    +        """Enters configuration mode."""
    +        return super().config_mode(
    +            config_command=config_command,
    +            pattern=pattern,
    +            re_flags=re_flags,
    +        )
    +
    +    def save_config(
    +        self,
    +        cmd: str = "write memory",
    +        confirm: bool = False,
    +        confirm_response: str = "",
    +    ) -> str:
    +        """Saves the running configuration to NVRAM."""
    +        return super().save_config(
    +            cmd=cmd, confirm=confirm, confirm_response=confirm_response
    +        )
    +
    +

    Ancestors

    + +

    Subclasses

    + +

    Methods

    +
    +
    +def config_mode(self, config_command: str = 'configure', pattern: str = '', re_flags: int = 0) ‑> str +
    +
    +

    Enters configuration mode.

    +
    + +Expand source code + +
    def config_mode(
    +    self,
    +    config_command: str = "configure",
    +    pattern: str = "",
    +    re_flags: int = 0,
    +) -> str:
    +    """Enters configuration mode."""
    +    return super().config_mode(
    +        config_command=config_command,
    +        pattern=pattern,
    +        re_flags=re_flags,
    +    )
    +
    +
    +
    +def save_config(self, cmd: str = 'write memory', confirm: bool = False, confirm_response: str = '') ‑> str +
    +
    +

    Saves the running configuration to NVRAM.

    +
    + +Expand source code + +
    def save_config(
    +    self,
    +    cmd: str = "write memory",
    +    confirm: bool = False,
    +    confirm_response: str = "",
    +) -> str:
    +    """Saves the running configuration to NVRAM."""
    +    return super().save_config(
    +        cmd=cmd, confirm=confirm, confirm_response=confirm_response
    +    )
    +
    +
    +
    +

    Inherited members

    + +
    +
    +class ArrisCERSSH +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False) +
    +
    +

    Arris CER SSH Driver.

    +
        Initialize attributes for establishing connection to target device.
    +
    +    :param ip: IP address of target device. Not required if <code>host</code> is
    +        provided.
    +
    +    :param host: Hostname of target device. Not required if <code>ip</code> is
    +            provided.
    +
    +    :param username: Username to authenticate against target device if
    +            required.
    +
    +    :param password: Password to authenticate against target device if
    +            required.
    +
    +    :param secret: The enable password if target device requires one.
    +
    +    :param port: The destination port used to connect to the target
    +            device.
    +
    +    :param device_type: Class selection based on device type.
    +
    +    :param verbose: Enable additional messages to standard output.
    +
    +    :param global_delay_factor: Multiplication factor affecting Netmiko delays (default: 1).
    +
    +    :param use_keys: Connect to target device using SSH keys.
    +
    +    :param key_file: Filename path of the SSH key file to use.
    +
    +    :param pkey: SSH key object to use.
    +
    +    :param passphrase: Passphrase to use for encrypted key; password will be used for key
    +            decryption if not specified.
    +
    +    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko
    +            documentation for a description of the expected format.
    +
    +    :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs
    +        <https://github.com/paramiko/paramiko/issues/1961> (default: False)
    +
    +    :param allow_agent: Enable use of SSH key-agent.
    +
    +    :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which
    +            means unknown SSH host keys will be accepted).
    +
    +    :param system_host_keys: Load host keys from the users known_hosts file.
    +
    +    :param alt_host_keys: If <code>True</code> host keys will be loaded from the file specified in
    +            alt_key_file.
    +
    +    :param alt_key_file: SSH host key file to use (if alt_host_keys=True).
    +
    +    :param ssh_config_file: File name of OpenSSH configuration file.
    +
    +    :param conn_timeout: TCP connection timeout.
    +
    +    :param session_timeout: Set a timeout for parallel requests.
    +
    +    :param auth_timeout: Set a timeout (in seconds) to wait for an authentication response.
    +
    +    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko).
    +
    +    :param read_timeout_override: Set a timeout that will override the default read_timeout
    +            of both send_command and send_command_timing. This is useful for 3rd party
    +            libraries where directly accessing method arguments might be impractical.
    +
    +    :param keepalive: Send SSH keepalive packets at a specific interval, in seconds.
    +            Currently defaults to 0, for backwards compatibility (it will not attempt
    +            to keep the connection alive).
    +
    +    :param default_enter: Character(s) to send to correspond to enter key (default:
    +
    +

    ).

    +
        :param response_return: Character(s) to use in normalized return data to represent
    +            enter key (default:
    +
    +

    )

    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +            to select smallest of global and specific. Sets default global_delay_factor to .1
    +            (default: True)
    +
    +    :param session_log: File path or BufferedIOBase subclass object to write the session log to.
    +
    +    :param session_log_record_writes: The session log generally only records channel reads due
    +            to eliminate command duplication due to command echo. You can enable this if you
    +            want to record both channel reads and channel writes in the log (default: False).
    +
    +    :param session_log_file_mode: "write" or "append" for session_log file mode
    +            (default: "write")
    +
    +    :param allow_auto_change: Allow automatic configuration changes for terminal settings.
    +            (default: False)
    +
    +    :param encoding: Encoding to be used when writing bytes to the output channel.
    +            (default: ascii)
    +
    +    :param sock: An open socket or socket-like object (such as a <code>.Channel</code>) to use for
    +            communication to the target host (default: None).
    +
    +    :param global_cmd_verify: Control whether command echo verification is enabled or disabled
    +            (default: None). Global attribute takes precedence over function <code>cmd\_verify</code>
    +            argument. Value of <code>None</code> indicates to use function <code>cmd\_verify</code> argument.
    +
    +    :param auto_connect: Control whether Netmiko automatically establishes the connection as
    +            part of the object creation (default: True).
    +
    +    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko
    +            3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be
    +            eliminated in Netmiko 5.x (default: False).
    +
    +    :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior
    +            (default: False)
    +
    +
    + +Expand source code + +
    class ArrisCERSSH(ArrisCERBase):
    +    """Arris CER SSH Driver."""
    +
    +    pass
    +
    +

    Ancestors

    + +

    Inherited members

    + +
    +
    +
    +
    + +
    + + + \ No newline at end of file diff --git a/docs/netmiko/aruba/aruba_ssh.html b/docs/netmiko/aruba/aruba_ssh.html index 20d0d54fb..f8c601b5d 100644 --- a/docs/netmiko/aruba/aruba_ssh.html +++ b/docs/netmiko/aruba/aruba_ssh.html @@ -135,6 +135,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -149,7 +152,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -157,6 +160,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -168,7 +175,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -200,6 +209,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/aruba/index.html b/docs/netmiko/aruba/index.html index 322d7becb..1b1211cd0 100644 --- a/docs/netmiko/aruba/index.html +++ b/docs/netmiko/aruba/index.html @@ -90,6 +90,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -104,7 +107,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -112,6 +115,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -123,7 +130,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -155,6 +164,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/audiocode/audiocode_ssh.html b/docs/netmiko/audiocode/audiocode_ssh.html index 0a11b2586..20ce32390 100644 --- a/docs/netmiko/audiocode/audiocode_ssh.html +++ b/docs/netmiko/audiocode/audiocode_ssh.html @@ -36,6 +36,8 @@

    Module netmiko.audiocode.audiocode_ssh

    class AudiocodeBase(BaseConnection): """Common Methods for AudioCode Drivers.""" + prompt_pattern = r"[>#]" + def __init__(self, *args: Any, **kwargs: Any) -> None: default_enter = kwargs.get("default_enter") kwargs["default_enter"] = "\r" if default_enter is None else default_enter @@ -43,7 +45,7 @@

    Module netmiko.audiocode.audiocode_ssh

    def session_preparation(self) -> None: """Prepare the session after the connection has been established.""" - self._test_channel_read(pattern=r"[>#]") + self._test_channel_read(pattern=self.prompt_pattern) self.set_base_prompt() self.disable_paging() # Clear the read buffer @@ -54,20 +56,41 @@

    Module netmiko.audiocode.audiocode_ssh

    pri_prompt_terminator: str = "#", alt_prompt_terminator: str = ">", delay_factor: float = 1.0, - pattern: Optional[str] = r"\*?(#|>)", + pattern: Optional[str] = None, ) -> str: - return super().set_base_prompt( - pri_prompt_terminator=pri_prompt_terminator, - alt_prompt_terminator=alt_prompt_terminator, - delay_factor=delay_factor, - pattern=pattern, - ) + + if pattern is None: + pattern = rf"\*?{self.prompt_pattern}" + + if pattern: + prompt = self.find_prompt(delay_factor=delay_factor, pattern=pattern) + else: + prompt = self.find_prompt(delay_factor=delay_factor) + + if not prompt[-1] in (pri_prompt_terminator, alt_prompt_terminator): + raise ValueError(f"Router prompt not found: {repr(prompt)}") + + # If all we have is the 'terminator' just use that :-( + if len(prompt) == 1: + self.base_prompt = prompt + else: + # Audiocode will return a prompt with * in it in certain + # situations: 'MYDEVICE*#', strip this off. + if "*#" in prompt or "*>" in prompt: + self.base_prompt = prompt[:-2] + else: + # Strip off trailing terminator + self.base_prompt = prompt[:-1] + return self.base_prompt def find_prompt( self, delay_factor: float = 1.0, - pattern: Optional[str] = r"\*?(#|>)", + pattern: Optional[str] = None, ) -> str: + + if pattern is None: + pattern = rf"\*?{self.prompt_pattern}" return super().find_prompt( delay_factor=delay_factor, pattern=pattern, @@ -81,11 +104,10 @@

    Module netmiko.audiocode.audiocode_ssh

    def check_config_mode( self, - check_string: str = r"(\)#|\)\*#)", + check_string: str = r"(?:\)#|\)\*#)", pattern: str = r"..#", force_regex: bool = True, ) -> bool: - return super().check_config_mode( check_string=check_string, pattern=pattern, force_regex=force_regex ) @@ -110,10 +132,15 @@

    Module netmiko.audiocode.audiocode_ssh

    cmd: str = "enable", pattern: str = "ssword", enable_pattern: Optional[str] = "#", + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: return super().enable( - cmd=cmd, pattern=pattern, enable_pattern=enable_pattern, re_flags=re_flags + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, ) def exit_config_mode(self, exit_config: str = "exit", pattern: str = r"#") -> str: @@ -400,7 +427,7 @@

    Module netmiko.audiocode.audiocode_ssh

    enter_config_mode: bool = True, error_pattern: str = "", terminator: str = r"/.*>", - bypass_commands: str = None, + bypass_commands: Optional[str] = None, ) -> str: return super().send_config_set( @@ -475,7 +502,7 @@

    Module netmiko.audiocode.audiocode_ssh

    delay_factor: Optional[float] = 0.5, ) -> str: """Not supported""" - pass + return "" def strip_command(self, command_string: str, output: str) -> str: # Support for Audiocode_Shell. @@ -555,6 +582,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -569,7 +599,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -577,6 +607,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -588,7 +622,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -620,6 +656,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -726,6 +765,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -740,7 +782,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -748,6 +790,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -759,7 +805,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -791,6 +839,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -897,6 +948,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -911,7 +965,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -919,6 +973,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -930,7 +988,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -962,6 +1022,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -1124,6 +1187,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -1138,7 +1204,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -1146,6 +1212,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -1157,7 +1227,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -1189,6 +1261,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -1295,6 +1370,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -1309,7 +1387,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -1317,6 +1395,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -1328,7 +1410,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -1360,6 +1444,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -1466,6 +1553,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -1480,7 +1570,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -1488,6 +1578,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -1499,7 +1593,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -1531,6 +1627,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -1539,6 +1638,8 @@

    Inherited members

    class AudiocodeBase(BaseConnection):
         """Common Methods for AudioCode Drivers."""
     
    +    prompt_pattern = r"[>#]"
    +
         def __init__(self, *args: Any, **kwargs: Any) -> None:
             default_enter = kwargs.get("default_enter")
             kwargs["default_enter"] = "\r" if default_enter is None else default_enter
    @@ -1546,7 +1647,7 @@ 

    Inherited members

    def session_preparation(self) -> None: """Prepare the session after the connection has been established.""" - self._test_channel_read(pattern=r"[>#]") + self._test_channel_read(pattern=self.prompt_pattern) self.set_base_prompt() self.disable_paging() # Clear the read buffer @@ -1557,20 +1658,41 @@

    Inherited members

    pri_prompt_terminator: str = "#", alt_prompt_terminator: str = ">", delay_factor: float = 1.0, - pattern: Optional[str] = r"\*?(#|>)", + pattern: Optional[str] = None, ) -> str: - return super().set_base_prompt( - pri_prompt_terminator=pri_prompt_terminator, - alt_prompt_terminator=alt_prompt_terminator, - delay_factor=delay_factor, - pattern=pattern, - ) + + if pattern is None: + pattern = rf"\*?{self.prompt_pattern}" + + if pattern: + prompt = self.find_prompt(delay_factor=delay_factor, pattern=pattern) + else: + prompt = self.find_prompt(delay_factor=delay_factor) + + if not prompt[-1] in (pri_prompt_terminator, alt_prompt_terminator): + raise ValueError(f"Router prompt not found: {repr(prompt)}") + + # If all we have is the 'terminator' just use that :-( + if len(prompt) == 1: + self.base_prompt = prompt + else: + # Audiocode will return a prompt with * in it in certain + # situations: 'MYDEVICE*#', strip this off. + if "*#" in prompt or "*>" in prompt: + self.base_prompt = prompt[:-2] + else: + # Strip off trailing terminator + self.base_prompt = prompt[:-1] + return self.base_prompt def find_prompt( self, delay_factor: float = 1.0, - pattern: Optional[str] = r"\*?(#|>)", + pattern: Optional[str] = None, ) -> str: + + if pattern is None: + pattern = rf"\*?{self.prompt_pattern}" return super().find_prompt( delay_factor=delay_factor, pattern=pattern, @@ -1584,11 +1706,10 @@

    Inherited members

    def check_config_mode( self, - check_string: str = r"(\)#|\)\*#)", + check_string: str = r"(?:\)#|\)\*#)", pattern: str = r"..#", force_regex: bool = True, ) -> bool: - return super().check_config_mode( check_string=check_string, pattern=pattern, force_regex=force_regex ) @@ -1613,10 +1734,15 @@

    Inherited members

    cmd: str = "enable", pattern: str = "ssword", enable_pattern: Optional[str] = "#", + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: return super().enable( - cmd=cmd, pattern=pattern, enable_pattern=enable_pattern, re_flags=re_flags + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, ) def exit_config_mode(self, exit_config: str = "exit", pattern: str = r"#") -> str: @@ -1731,6 +1857,13 @@

    Subclasses

  • AudiocodeBase66
  • AudiocodeShellBase
  • +

    Class variables

    +
    +
    var prompt_pattern
    +
    +
    +
    +

    Methods

    @@ -1808,7 +1941,7 @@

    Methods

    def session_preparation(self) -> None:
         """Prepare the session after the connection has been established."""
    -    self._test_channel_read(pattern=r"[>#]")
    +    self._test_channel_read(pattern=self.prompt_pattern)
         self.set_base_prompt()
         self.disable_paging()
         # Clear the read buffer
    @@ -1904,6 +2037,9 @@ 

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -1918,7 +2054,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -1926,6 +2062,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -1937,7 +2077,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -1969,6 +2111,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -2130,6 +2275,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -2144,7 +2292,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -2152,6 +2300,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -2163,7 +2315,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -2195,6 +2349,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -2254,7 +2411,7 @@

    Inherited members

    enter_config_mode: bool = True, error_pattern: str = "", terminator: str = r"/.*>", - bypass_commands: str = None, + bypass_commands: Optional[str] = None, ) -> str: return super().send_config_set( @@ -2329,7 +2486,7 @@

    Inherited members

    delay_factor: Optional[float] = 0.5, ) -> str: """Not supported""" - pass + return "" def strip_command(self, command_string: str, output: str) -> str: # Support for Audiocode_Shell. @@ -2473,6 +2630,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -2487,7 +2647,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -2495,6 +2655,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -2506,7 +2670,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -2538,6 +2704,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -2645,6 +2814,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -2659,7 +2831,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -2667,6 +2839,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -2678,7 +2854,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -2710,6 +2888,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -2810,6 +2991,7 @@

  • cleanup
  • exit_enable_mode
  • +
  • prompt_pattern
  • save_config
  • session_preparation
  • diff --git a/docs/netmiko/audiocode/index.html b/docs/netmiko/audiocode/index.html index b3d07d7df..e1e60a874 100644 --- a/docs/netmiko/audiocode/index.html +++ b/docs/netmiko/audiocode/index.html @@ -104,6 +104,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -118,7 +121,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -126,6 +129,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -137,7 +144,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -169,6 +178,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -275,6 +287,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -289,7 +304,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -297,6 +312,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -308,7 +327,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -340,6 +361,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -446,6 +470,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -460,7 +487,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -468,6 +495,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -479,7 +510,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -511,6 +544,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -617,6 +653,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -631,7 +670,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -639,6 +678,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -650,7 +693,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -682,6 +727,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -788,6 +836,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -802,7 +853,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -810,6 +861,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -821,7 +876,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -853,6 +910,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -960,6 +1020,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -974,7 +1037,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -982,6 +1045,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -993,7 +1060,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -1025,6 +1094,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/base_connection.html b/docs/netmiko/base_connection.html index e96e8b775..22eed35c0 100644 --- a/docs/netmiko/base_connection.html +++ b/docs/netmiko/base_connection.html @@ -71,7 +71,6 @@

    Module netmiko.base_connection

    import paramiko import serial -from tenacity import retry, stop_after_attempt, wait_exponential import warnings from netmiko import log @@ -182,6 +181,7 @@

    Module netmiko.base_connection

    pkey: Optional[paramiko.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, + disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, @@ -215,6 +215,7 @@

    Module netmiko.base_connection

    sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, + disable_lf_normalization: bool = False, ) -> None: """ Initialize attributes for establishing connection to target device. @@ -254,6 +255,9 @@

    Module netmiko.base_connection

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + https://github.com/paramiko/paramiko/issues/1961 (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -268,7 +272,7 @@

    Module netmiko.base_connection

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -276,6 +280,10 @@

    Module netmiko.base_connection

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -285,6 +293,8 @@

    Module netmiko.base_connection

    :param response_return: Character(s) to use in normalized return data to represent enter key (default: \n) + :param serial_settings: Dictionary of settings for use with serial port (pySerial). + :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor to select smallest of global and specific. Sets default global_delay_factor to .1 (default: True) @@ -317,6 +327,9 @@

    Module netmiko.base_connection

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False) """ self.remote_conn: Union[ @@ -338,6 +351,8 @@

    Module netmiko.base_connection

    # Line Separator in response lines self.RESPONSE_RETURN = "\n" if response_return is None else response_return + self.disable_lf_normalization = True if disable_lf_normalization else False + if ip: self.host = ip.strip() elif host: @@ -461,7 +476,15 @@

    Module netmiko.base_connection

    self.system_host_keys = system_host_keys self.alt_host_keys = alt_host_keys self.alt_key_file = alt_key_file - self.disabled_algorithms = disabled_algorithms or {} + + if disabled_algorithms: + self.disabled_algorithms = disabled_algorithms + else: + self.disabled_algorithms = ( + {"pubkeys": ["rsa-sha2-256", "rsa-sha2-512"]} + if disable_sha2_fix + else {} + ) # For SSH proxy support self.ssh_config_file = ssh_config_file @@ -609,7 +632,20 @@

    Module netmiko.base_connection

    def read_channel(self) -> str: """Generic handler that will read all the data from given channel.""" new_data = self.channel.read_channel() - new_data = self.normalize_linefeeds(new_data) + + if self.disable_lf_normalization is False: + start = time.time() + # Data blocks shouldn't end in '\r' (can cause problems with normalize_linefeeds) + # Only do the extra read if '\n' exists in the output + # this avoids devices that only use \r. + while ("\n" in new_data) and (time.time() - start < 1.0): + if new_data[-1] == "\r": + time.sleep(0.01) + new_data += self.channel.read_channel() + else: + break + new_data = self.normalize_linefeeds(new_data) + if self.ansi_escape_codes: new_data = self.strip_ansi_escape_codes(new_data) log.debug(f"read_channel: {new_data}") @@ -663,8 +699,21 @@

    Module netmiko.base_connection

    start_time = time.time() # if read_timeout == 0 or 0.0 keep reading indefinitely while (time.time() - start_time < read_timeout) or (not read_timeout): + output += self.read_channel() + if re.search(pattern, output, flags=re_flags): + if "(" in pattern and "(?:" not in pattern: + msg = f""" +Parenthesis found in pattern. + +pattern: {pattern}\n + +This can be problemtic when used in read_until_pattern(). + +You should ensure that you use either non-capture groups i.e. '(?:' or that the +parenthesis completely wrap the pattern '(pattern)'""" + log.debug(msg) results = re.split(pattern, output, maxsplit=1, flags=re_flags) # The string matched by pattern must be retained in the output string. @@ -713,16 +762,24 @@

    Module netmiko.base_connection

    """Read data on the channel based on timing delays. General pattern is keep reading until no new data is read. + Once no new data is read wait `last_read` amount of time (one last read). As long as no new data, then return data. - `read_timeout` is an absolute timer for how long to keep reading (which presupposes - we are still getting new data). - Setting `read_timeout` to zero will cause read_channel_timing to never expire based - on an absolute timeout. It will only complete based on timeout based on their being + on an absolute timeout. It will only complete based on timeout based on there being no new data. + :param last_read: Amount of time to wait before performing one last read (under the + idea that we should be done reading at this point and there should be no new + data). + + :param read_timeout: Absolute timer for how long Netmiko should keep reading data on + the channel (waiting for there to be no new data). Will raise ReadTimeout if this + timeout expires. A read_timeout value of 0 will cause the read-loop to never timeout + (i.e. Netmiko will keep reading indefinitely until there is no new data and last_read + passes). + :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. :param max_loops: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. @@ -849,6 +906,8 @@

    Module netmiko.base_connection

    :param username_pattern: Pattern used to identify the username prompt + :param pwd_pattern: Pattern used to identify the pwd prompt + :param delay_factor: See __init__: global_delay_factor :param max_loops: Controls the wait time in conjunction with the delay_factor @@ -1038,7 +1097,6 @@

    Module netmiko.base_connection

    ) -> str: """Strip out command echo and trailing router prompt.""" if strip_command and command_string: - command_string = self.normalize_linefeeds(command_string) output = self.strip_command(command_string, output) if strip_prompt: output = self.strip_prompt(output) @@ -1240,6 +1298,10 @@

    Module netmiko.base_connection

    :param command: Device command to disable pagination of output :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. + + :param cmd_verify: Verify command echo before proceeding (default: True). + + :param pattern: Pattern to terminate reading of channel """ if delay_factor is not None: warnings.warn(DELAY_FACTOR_DEPR_SIMPLE_MSG, DeprecationWarning) @@ -1294,12 +1356,6 @@

    Module netmiko.base_connection

    output = self.read_until_prompt() return output - # Retry by sleeping .33 and then double sleep until 5 attempts (.33, .66, 1.32, etc) - @retry( - wait=wait_exponential(multiplier=0.33, min=0, max=5), - stop=stop_after_attempt(5), - reraise=True, - ) def set_base_prompt( self, pri_prompt_terminator: str = "#", @@ -1463,6 +1519,14 @@

    Module netmiko.base_connection

    :param command_string: The command to be executed on the remote device. + :param last_read: Time waited after end of data + + :param read_timeout: Absolute timer for how long Netmiko should keep reading data on + the channel (waiting for there to be no new data). Will raise ReadTimeout if this + timeout expires. A read_timeout value of 0 will cause the read-loop to never timeout + (i.e. Netmiko will keep reading indefinitely until there is no new data and last_read + passes). + :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. :param max_loops: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. @@ -1609,10 +1673,15 @@

    Module netmiko.base_connection

    :param expect_string: Regular expression pattern to use for determining end of output. If left blank will default to being based on router prompt. + :param read_timeout: Maximum time to wait looking for pattern. Will raise ReadTimeout + if timeout is exceeded. + :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. :param max_loops: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. + :param auto_find_prompt: Use find_prompt() to override base prompt + :param strip_prompt: Remove the trailing router prompt from the output (default: True). :param strip_command: Remove the echo of the command from the output (default: True). @@ -1927,6 +1996,7 @@

    Module netmiko.base_connection

    cmd: str = "", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Enter enable mode. @@ -1937,6 +2007,9 @@

    Module netmiko.base_connection

    :param enable_pattern: pattern indicating you have entered enable mode + :param check_state: Determine whether we are already in enable_mode using + check_enable_mode() before trying to elevate privileges (default: True) + :param re_flags: Regular expression flags used in conjunction with pattern """ output = "" @@ -1945,35 +2018,37 @@

    Module netmiko.base_connection

    "the 'secret' argument to ConnectHandler." ) - # Check if in enable mode - if not self.check_enable_mode(): - # Send "enable" mode command - self.write_channel(self.normalize_cmd(cmd)) - try: - # Read the command echo - end_data = "" - if self.global_cmd_verify is not False: - output += self.read_until_pattern(pattern=re.escape(cmd.strip())) - end_data = output.split(cmd.strip())[-1] - - # Search for trailing prompt or password pattern - if pattern not in output and self.base_prompt not in end_data: - output += self.read_until_prompt_or_pattern( - pattern=pattern, re_flags=re_flags - ) - # Send the "secret" in response to password pattern - if re.search(pattern, output): - self.write_channel(self.normalize_cmd(self.secret)) - output += self.read_until_prompt() - - # Search for terminating pattern if defined - if enable_pattern and not re.search(enable_pattern, output): - output += self.read_until_pattern(pattern=enable_pattern) - else: - if not self.check_enable_mode(): - raise ValueError(msg) - except NetmikoTimeoutException: - raise ValueError(msg) + # Check if in enable mode already. + if check_state and self.check_enable_mode(): + return output + + # Send "enable" mode command + self.write_channel(self.normalize_cmd(cmd)) + try: + # Read the command echo + if self.global_cmd_verify is not False: + output += self.read_until_pattern(pattern=re.escape(cmd.strip())) + + # Search for trailing prompt or password pattern + output += self.read_until_prompt_or_pattern( + pattern=pattern, re_flags=re_flags + ) + + # Send the "secret" in response to password pattern + if re.search(pattern, output): + self.write_channel(self.normalize_cmd(self.secret)) + output += self.read_until_prompt() + + # Search for terminating pattern if defined + if enable_pattern and not re.search(enable_pattern, output): + output += self.read_until_pattern(pattern=enable_pattern) + else: + if not self.check_enable_mode(): + raise ValueError(msg) + + except NetmikoTimeoutException: + raise ValueError(msg) + return output def exit_enable_mode(self, exit_command: str = "") -> str: @@ -2000,6 +2075,10 @@

    Module netmiko.base_connection

    :param pattern: Pattern to terminate reading of channel :type pattern: str + + :param force_regex: Use regular expression pattern to find check_string in output + :type force_regex: bool + """ self.write_channel(self.RETURN) # You can encounter an issue here (on router name changes) prefer delay-based solution @@ -2125,7 +2204,8 @@

    Module netmiko.base_connection

    :param strip_command: Determines whether or not to strip the command - :param read_timeout: Absolute timer to send to read_channel_timing. Should be rarely needed. + :param read_timeout: Absolute timer to send to read_channel_timing. Also adjusts + read_timeout in read_until_pattern calls. :param config_mode_command: The command to enter into config mode @@ -2231,11 +2311,15 @@

    Module netmiko.base_connection

    self.write_channel(self.normalize_cmd(cmd)) # Make sure command is echoed - output += self.read_until_pattern(pattern=re.escape(cmd.strip())) + output += self.read_until_pattern( + pattern=re.escape(cmd.strip()), read_timeout=read_timeout + ) # Read until next prompt or terminator (#); the .*$ forces read of entire line pattern = f"(?:{re.escape(self.base_prompt)}.*$|{terminator}.*$)" - output += self.read_until_pattern(pattern=pattern, re_flags=re.M) + output += self.read_until_pattern( + pattern=pattern, read_timeout=read_timeout, re_flags=re.M + ) if error_pattern: if re.search(error_pattern, output, flags=re.M): @@ -2514,7 +2598,7 @@

    Classes

    class BaseConnection -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Defines vendor independent methods.

    @@ -2556,6 +2640,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -2570,7 +2657,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -2578,6 +2665,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -2589,7 +2680,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -2621,6 +2714,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -2650,6 +2746,7 @@

    Classes

    pkey: Optional[paramiko.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, + disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, @@ -2683,6 +2780,7 @@

    Classes

    sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, + disable_lf_normalization: bool = False, ) -> None: """ Initialize attributes for establishing connection to target device. @@ -2722,6 +2820,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + https://github.com/paramiko/paramiko/issues/1961 (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -2736,7 +2837,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -2744,6 +2845,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -2753,6 +2858,8 @@

    Classes

    :param response_return: Character(s) to use in normalized return data to represent enter key (default: \n) + :param serial_settings: Dictionary of settings for use with serial port (pySerial). + :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor to select smallest of global and specific. Sets default global_delay_factor to .1 (default: True) @@ -2785,6 +2892,9 @@

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False) """ self.remote_conn: Union[ @@ -2806,6 +2916,8 @@

    Classes

    # Line Separator in response lines self.RESPONSE_RETURN = "\n" if response_return is None else response_return + self.disable_lf_normalization = True if disable_lf_normalization else False + if ip: self.host = ip.strip() elif host: @@ -2929,7 +3041,15 @@

    Classes

    self.system_host_keys = system_host_keys self.alt_host_keys = alt_host_keys self.alt_key_file = alt_key_file - self.disabled_algorithms = disabled_algorithms or {} + + if disabled_algorithms: + self.disabled_algorithms = disabled_algorithms + else: + self.disabled_algorithms = ( + {"pubkeys": ["rsa-sha2-256", "rsa-sha2-512"]} + if disable_sha2_fix + else {} + ) # For SSH proxy support self.ssh_config_file = ssh_config_file @@ -3077,7 +3197,20 @@

    Classes

    def read_channel(self) -> str: """Generic handler that will read all the data from given channel.""" new_data = self.channel.read_channel() - new_data = self.normalize_linefeeds(new_data) + + if self.disable_lf_normalization is False: + start = time.time() + # Data blocks shouldn't end in '\r' (can cause problems with normalize_linefeeds) + # Only do the extra read if '\n' exists in the output + # this avoids devices that only use \r. + while ("\n" in new_data) and (time.time() - start < 1.0): + if new_data[-1] == "\r": + time.sleep(0.01) + new_data += self.channel.read_channel() + else: + break + new_data = self.normalize_linefeeds(new_data) + if self.ansi_escape_codes: new_data = self.strip_ansi_escape_codes(new_data) log.debug(f"read_channel: {new_data}") @@ -3131,8 +3264,21 @@

    Classes

    start_time = time.time() # if read_timeout == 0 or 0.0 keep reading indefinitely while (time.time() - start_time < read_timeout) or (not read_timeout): + output += self.read_channel() + if re.search(pattern, output, flags=re_flags): + if "(" in pattern and "(?:" not in pattern: + msg = f""" +Parenthesis found in pattern. + +pattern: {pattern}\n + +This can be problemtic when used in read_until_pattern(). + +You should ensure that you use either non-capture groups i.e. '(?:' or that the +parenthesis completely wrap the pattern '(pattern)'""" + log.debug(msg) results = re.split(pattern, output, maxsplit=1, flags=re_flags) # The string matched by pattern must be retained in the output string. @@ -3181,16 +3327,24 @@

    Classes

    """Read data on the channel based on timing delays. General pattern is keep reading until no new data is read. + Once no new data is read wait `last_read` amount of time (one last read). As long as no new data, then return data. - `read_timeout` is an absolute timer for how long to keep reading (which presupposes - we are still getting new data). - Setting `read_timeout` to zero will cause read_channel_timing to never expire based - on an absolute timeout. It will only complete based on timeout based on their being + on an absolute timeout. It will only complete based on timeout based on there being no new data. + :param last_read: Amount of time to wait before performing one last read (under the + idea that we should be done reading at this point and there should be no new + data). + + :param read_timeout: Absolute timer for how long Netmiko should keep reading data on + the channel (waiting for there to be no new data). Will raise ReadTimeout if this + timeout expires. A read_timeout value of 0 will cause the read-loop to never timeout + (i.e. Netmiko will keep reading indefinitely until there is no new data and last_read + passes). + :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. :param max_loops: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. @@ -3317,6 +3471,8 @@

    Classes

    :param username_pattern: Pattern used to identify the username prompt + :param pwd_pattern: Pattern used to identify the pwd prompt + :param delay_factor: See __init__: global_delay_factor :param max_loops: Controls the wait time in conjunction with the delay_factor @@ -3506,7 +3662,6 @@

    Classes

    ) -> str: """Strip out command echo and trailing router prompt.""" if strip_command and command_string: - command_string = self.normalize_linefeeds(command_string) output = self.strip_command(command_string, output) if strip_prompt: output = self.strip_prompt(output) @@ -3708,6 +3863,10 @@

    Classes

    :param command: Device command to disable pagination of output :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. + + :param cmd_verify: Verify command echo before proceeding (default: True). + + :param pattern: Pattern to terminate reading of channel """ if delay_factor is not None: warnings.warn(DELAY_FACTOR_DEPR_SIMPLE_MSG, DeprecationWarning) @@ -3762,12 +3921,6 @@

    Classes

    output = self.read_until_prompt() return output - # Retry by sleeping .33 and then double sleep until 5 attempts (.33, .66, 1.32, etc) - @retry( - wait=wait_exponential(multiplier=0.33, min=0, max=5), - stop=stop_after_attempt(5), - reraise=True, - ) def set_base_prompt( self, pri_prompt_terminator: str = "#", @@ -3931,6 +4084,14 @@

    Classes

    :param command_string: The command to be executed on the remote device. + :param last_read: Time waited after end of data + + :param read_timeout: Absolute timer for how long Netmiko should keep reading data on + the channel (waiting for there to be no new data). Will raise ReadTimeout if this + timeout expires. A read_timeout value of 0 will cause the read-loop to never timeout + (i.e. Netmiko will keep reading indefinitely until there is no new data and last_read + passes). + :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. :param max_loops: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. @@ -4077,10 +4238,15 @@

    Classes

    :param expect_string: Regular expression pattern to use for determining end of output. If left blank will default to being based on router prompt. + :param read_timeout: Maximum time to wait looking for pattern. Will raise ReadTimeout + if timeout is exceeded. + :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. :param max_loops: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. + :param auto_find_prompt: Use find_prompt() to override base prompt + :param strip_prompt: Remove the trailing router prompt from the output (default: True). :param strip_command: Remove the echo of the command from the output (default: True). @@ -4395,6 +4561,7 @@

    Classes

    cmd: str = "", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Enter enable mode. @@ -4405,6 +4572,9 @@

    Classes

    :param enable_pattern: pattern indicating you have entered enable mode + :param check_state: Determine whether we are already in enable_mode using + check_enable_mode() before trying to elevate privileges (default: True) + :param re_flags: Regular expression flags used in conjunction with pattern """ output = "" @@ -4413,35 +4583,37 @@

    Classes

    "the 'secret' argument to ConnectHandler." ) - # Check if in enable mode - if not self.check_enable_mode(): - # Send "enable" mode command - self.write_channel(self.normalize_cmd(cmd)) - try: - # Read the command echo - end_data = "" - if self.global_cmd_verify is not False: - output += self.read_until_pattern(pattern=re.escape(cmd.strip())) - end_data = output.split(cmd.strip())[-1] - - # Search for trailing prompt or password pattern - if pattern not in output and self.base_prompt not in end_data: - output += self.read_until_prompt_or_pattern( - pattern=pattern, re_flags=re_flags - ) - # Send the "secret" in response to password pattern - if re.search(pattern, output): - self.write_channel(self.normalize_cmd(self.secret)) - output += self.read_until_prompt() - - # Search for terminating pattern if defined - if enable_pattern and not re.search(enable_pattern, output): - output += self.read_until_pattern(pattern=enable_pattern) - else: - if not self.check_enable_mode(): - raise ValueError(msg) - except NetmikoTimeoutException: - raise ValueError(msg) + # Check if in enable mode already. + if check_state and self.check_enable_mode(): + return output + + # Send "enable" mode command + self.write_channel(self.normalize_cmd(cmd)) + try: + # Read the command echo + if self.global_cmd_verify is not False: + output += self.read_until_pattern(pattern=re.escape(cmd.strip())) + + # Search for trailing prompt or password pattern + output += self.read_until_prompt_or_pattern( + pattern=pattern, re_flags=re_flags + ) + + # Send the "secret" in response to password pattern + if re.search(pattern, output): + self.write_channel(self.normalize_cmd(self.secret)) + output += self.read_until_prompt() + + # Search for terminating pattern if defined + if enable_pattern and not re.search(enable_pattern, output): + output += self.read_until_pattern(pattern=enable_pattern) + else: + if not self.check_enable_mode(): + raise ValueError(msg) + + except NetmikoTimeoutException: + raise ValueError(msg) + return output def exit_enable_mode(self, exit_command: str = "") -> str: @@ -4468,6 +4640,10 @@

    Classes

    :param pattern: Pattern to terminate reading of channel :type pattern: str + + :param force_regex: Use regular expression pattern to find check_string in output + :type force_regex: bool + """ self.write_channel(self.RETURN) # You can encounter an issue here (on router name changes) prefer delay-based solution @@ -4593,7 +4769,8 @@

    Classes

    :param strip_command: Determines whether or not to strip the command - :param read_timeout: Absolute timer to send to read_channel_timing. Should be rarely needed. + :param read_timeout: Absolute timer to send to read_channel_timing. Also adjusts + read_timeout in read_until_pattern calls. :param config_mode_command: The command to enter into config mode @@ -4699,11 +4876,15 @@

    Classes

    self.write_channel(self.normalize_cmd(cmd)) # Make sure command is echoed - output += self.read_until_pattern(pattern=re.escape(cmd.strip())) + output += self.read_until_pattern( + pattern=re.escape(cmd.strip()), read_timeout=read_timeout + ) # Read until next prompt or terminator (#); the .*$ forces read of entire line pattern = f"(?:{re.escape(self.base_prompt)}.*$|{terminator}.*$)" - output += self.read_until_pattern(pattern=pattern, re_flags=re.M) + output += self.read_until_pattern( + pattern=pattern, read_timeout=read_timeout, re_flags=re.M + ) if error_pattern: if re.search(error_pattern, output, flags=re.M): @@ -4919,6 +5100,7 @@

    Subclasses

  • NetscalerSSH
  • DellIsilonSSH
  • EricssonIposSSH
  • +
  • EricssonMinilinkBase
  • F5TmshSSH
  • FlexvnfSSH
  • JuniperBase
  • @@ -4929,6 +5111,7 @@

    Subclasses

  • PaloAltoPanosBase
  • PluribusSSH
  • RadETXBase
  • +
  • TeldatCITBase
  • TerminalServer
  • WatchguardFirewareSSH
  • YamahaBase
  • @@ -4968,7 +5151,9 @@

    Methods

    :param check_string: Identification of configuration mode from the device :type check_string: str

    :param pattern: Pattern to terminate reading of channel -:type pattern: str

    +:type pattern: str

    +

    :param force_regex: Use regular expression pattern to find check_string in output +:type force_regex: bool

    Expand source code @@ -4983,6 +5168,10 @@

    Methods

    :param pattern: Pattern to terminate reading of channel :type pattern: str + + :param force_regex: Use regular expression pattern to find check_string in output + :type force_regex: bool + """ self.write_channel(self.RETURN) # You can encounter an issue here (on router name changes) prefer delay-based solution @@ -5164,7 +5353,9 @@

    Methods

    Disable paging default to a Cisco CLI method.

    :param command: Device command to disable pagination of output

    -

    :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5.

    +

    :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5.

    +

    :param cmd_verify: Verify command echo before proceeding (default: True).

    +

    :param pattern: Pattern to terminate reading of channel

    Expand source code @@ -5181,6 +5372,10 @@

    Methods

    :param command: Device command to disable pagination of output :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. + + :param cmd_verify: Verify command echo before proceeding (default: True). + + :param pattern: Pattern to terminate reading of channel """ if delay_factor is not None: warnings.warn(DELAY_FACTOR_DEPR_SIMPLE_MSG, DeprecationWarning) @@ -5240,13 +5435,15 @@

    Methods

    -def enable(self, cmd: str = '', pattern: str = 'ssword', enable_pattern: Optional[str] = None, re_flags: int = re.IGNORECASE) ‑> str +def enable(self, cmd: str = '', pattern: str = 'ssword', enable_pattern: Optional[str] = None, check_state: bool = True, re_flags: int = re.IGNORECASE) ‑> str

    Enter enable mode.

    :param cmd: Device command to enter enable mode

    :param pattern: pattern to search for indicating device is waiting for password

    :param enable_pattern: pattern indicating you have entered enable mode

    +

    :param check_state: Determine whether we are already in enable_mode using +check_enable_mode() before trying to elevate privileges (default: True)

    :param re_flags: Regular expression flags used in conjunction with pattern

    @@ -5257,6 +5454,7 @@

    Methods

    cmd: str = "", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Enter enable mode. @@ -5267,6 +5465,9 @@

    Methods

    :param enable_pattern: pattern indicating you have entered enable mode + :param check_state: Determine whether we are already in enable_mode using + check_enable_mode() before trying to elevate privileges (default: True) + :param re_flags: Regular expression flags used in conjunction with pattern """ output = "" @@ -5275,35 +5476,37 @@

    Methods

    "the 'secret' argument to ConnectHandler." ) - # Check if in enable mode - if not self.check_enable_mode(): - # Send "enable" mode command - self.write_channel(self.normalize_cmd(cmd)) - try: - # Read the command echo - end_data = "" - if self.global_cmd_verify is not False: - output += self.read_until_pattern(pattern=re.escape(cmd.strip())) - end_data = output.split(cmd.strip())[-1] + # Check if in enable mode already. + if check_state and self.check_enable_mode(): + return output - # Search for trailing prompt or password pattern - if pattern not in output and self.base_prompt not in end_data: - output += self.read_until_prompt_or_pattern( - pattern=pattern, re_flags=re_flags - ) - # Send the "secret" in response to password pattern - if re.search(pattern, output): - self.write_channel(self.normalize_cmd(self.secret)) - output += self.read_until_prompt() + # Send "enable" mode command + self.write_channel(self.normalize_cmd(cmd)) + try: + # Read the command echo + if self.global_cmd_verify is not False: + output += self.read_until_pattern(pattern=re.escape(cmd.strip())) + + # Search for trailing prompt or password pattern + output += self.read_until_prompt_or_pattern( + pattern=pattern, re_flags=re_flags + ) + + # Send the "secret" in response to password pattern + if re.search(pattern, output): + self.write_channel(self.normalize_cmd(self.secret)) + output += self.read_until_prompt() + + # Search for terminating pattern if defined + if enable_pattern and not re.search(enable_pattern, output): + output += self.read_until_pattern(pattern=enable_pattern) + else: + if not self.check_enable_mode(): + raise ValueError(msg) + + except NetmikoTimeoutException: + raise ValueError(msg) - # Search for terminating pattern if defined - if enable_pattern and not re.search(enable_pattern, output): - output += self.read_until_pattern(pattern=enable_pattern) - else: - if not self.check_enable_mode(): - raise ValueError(msg) - except NetmikoTimeoutException: - raise ValueError(msg) return output
    @@ -5685,7 +5888,20 @@

    Methods

    def read_channel(self) -> str: """Generic handler that will read all the data from given channel.""" new_data = self.channel.read_channel() - new_data = self.normalize_linefeeds(new_data) + + if self.disable_lf_normalization is False: + start = time.time() + # Data blocks shouldn't end in '\r' (can cause problems with normalize_linefeeds) + # Only do the extra read if '\n' exists in the output + # this avoids devices that only use \r. + while ("\n" in new_data) and (time.time() - start < 1.0): + if new_data[-1] == "\r": + time.sleep(0.01) + new_data += self.channel.read_channel() + else: + break + new_data = self.normalize_linefeeds(new_data) + if self.ansi_escape_codes: new_data = self.strip_ansi_escape_codes(new_data) log.debug(f"read_channel: {new_data}") @@ -5707,14 +5923,20 @@

    Methods

    Read data on the channel based on timing delays.

    -

    General pattern is keep reading until no new data is read. -Once no new data is read wait last_read amount of time (one last read). +

    General pattern is keep reading until no new data is read.

    +

    Once no new data is read wait last_read amount of time (one last read). As long as no new data, then return data.

    -

    read_timeout is an absolute timer for how long to keep reading (which presupposes -we are still getting new data).

    Setting read_timeout to zero will cause read_channel_timing to never expire based -on an absolute timeout. It will only complete based on timeout based on their being +on an absolute timeout. It will only complete based on timeout based on there being no new data.

    +

    :param last_read: Amount of time to wait before performing one last read (under the +idea that we should be done reading at this point and there should be no new +data).

    +

    :param read_timeout: Absolute timer for how long Netmiko should keep reading data on +the channel (waiting for there to be no new data). Will raise ReadTimeout if this +timeout expires. A read_timeout value of 0 will cause the read-loop to never timeout +(i.e. Netmiko will keep reading indefinitely until there is no new data and last_read +passes).

    :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5.

    :param max_loops: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5.

    @@ -5731,16 +5953,24 @@

    Methods

    """Read data on the channel based on timing delays. General pattern is keep reading until no new data is read. + Once no new data is read wait `last_read` amount of time (one last read). As long as no new data, then return data. - `read_timeout` is an absolute timer for how long to keep reading (which presupposes - we are still getting new data). - Setting `read_timeout` to zero will cause read_channel_timing to never expire based - on an absolute timeout. It will only complete based on timeout based on their being + on an absolute timeout. It will only complete based on timeout based on there being no new data. + :param last_read: Amount of time to wait before performing one last read (under the + idea that we should be done reading at this point and there should be no new + data). + + :param read_timeout: Absolute timer for how long Netmiko should keep reading data on + the channel (waiting for there to be no new data). Will raise ReadTimeout if this + timeout expires. A read_timeout value of 0 will cause the read-loop to never timeout + (i.e. Netmiko will keep reading indefinitely until there is no new data and last_read + passes). + :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. :param max_loops: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. @@ -5847,8 +6077,21 @@

    Methods

    start_time = time.time() # if read_timeout == 0 or 0.0 keep reading indefinitely while (time.time() - start_time < read_timeout) or (not read_timeout): + output += self.read_channel() + if re.search(pattern, output, flags=re_flags): + if "(" in pattern and "(?:" not in pattern: + msg = f""" +Parenthesis found in pattern. + +pattern: {pattern}\n + +This can be problemtic when used in read_until_pattern(). + +You should ensure that you use either non-capture groups i.e. '(?:' or that the +parenthesis completely wrap the pattern '(pattern)'""" + log.debug(msg) results = re.split(pattern, output, maxsplit=1, flags=re_flags) # The string matched by pattern must be retained in the output string. @@ -6067,8 +6310,11 @@

    Methods

    :param command_string: The command to be executed on the remote device.

    :param expect_string: Regular expression pattern to use for determining end of output. If left blank will default to being based on router prompt.

    +

    :param read_timeout: Maximum time to wait looking for pattern. Will raise ReadTimeout +if timeout is exceeded.

    :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5.

    :param max_loops: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5.

    +

    :param auto_find_prompt: Use find_prompt() to override base prompt

    :param strip_prompt: Remove the trailing router prompt from the output (default: True).

    :param strip_command: Remove the echo of the command from the output (default: True).

    :param normalize: Ensure the proper enter is sent at end of command (default: True).

    @@ -6113,10 +6359,15 @@

    Methods

    :param expect_string: Regular expression pattern to use for determining end of output. If left blank will default to being based on router prompt. + :param read_timeout: Maximum time to wait looking for pattern. Will raise ReadTimeout + if timeout is exceeded. + :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. :param max_loops: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. + :param auto_find_prompt: Use find_prompt() to override base prompt + :param strip_prompt: Remove the trailing router prompt from the output (default: True). :param strip_command: Remove the echo of the command from the output (default: True). @@ -6298,6 +6549,12 @@

    Methods

    Execute command_string on the SSH channel using a delay-based mechanism. Generally used for show commands.

    :param command_string: The command to be executed on the remote device.

    +

    :param last_read: Time waited after end of data

    +

    :param read_timeout: Absolute timer for how long Netmiko should keep reading data on +the channel (waiting for there to be no new data). Will raise ReadTimeout if this +timeout expires. A read_timeout value of 0 will cause the read-loop to never timeout +(i.e. Netmiko will keep reading indefinitely until there is no new data and last_read +passes).

    :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5.

    :param max_loops: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5.

    :param strip_prompt: Remove the trailing router prompt from the output (default: True).

    @@ -6338,6 +6595,14 @@

    Methods

    :param command_string: The command to be executed on the remote device. + :param last_read: Time waited after end of data + + :param read_timeout: Absolute timer for how long Netmiko should keep reading data on + the channel (waiting for there to be no new data). Will raise ReadTimeout if this + timeout expires. A read_timeout value of 0 will cause the read-loop to never timeout + (i.e. Netmiko will keep reading indefinitely until there is no new data and last_read + passes). + :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. :param max_loops: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. @@ -6446,7 +6711,8 @@

    Methods

    :param max_loops: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5.

    :param strip_prompt: Determines whether or not to strip the prompt

    :param strip_command: Determines whether or not to strip the command

    -

    :param read_timeout: Absolute timer to send to read_channel_timing. Should be rarely needed.

    +

    :param read_timeout: Absolute timer to send to read_channel_timing. Also adjusts +read_timeout in read_until_pattern calls.

    :param config_mode_command: The command to enter into config mode

    :param cmd_verify: Whether or not to verify command echo for each command in config_set

    :param enter_config_mode: Do you enter config mode before sending config commands

    @@ -6497,7 +6763,8 @@

    Methods

    :param strip_command: Determines whether or not to strip the command - :param read_timeout: Absolute timer to send to read_channel_timing. Should be rarely needed. + :param read_timeout: Absolute timer to send to read_channel_timing. Also adjusts + read_timeout in read_until_pattern calls. :param config_mode_command: The command to enter into config mode @@ -6603,11 +6870,15 @@

    Methods

    self.write_channel(self.normalize_cmd(cmd)) # Make sure command is echoed - output += self.read_until_pattern(pattern=re.escape(cmd.strip())) + output += self.read_until_pattern( + pattern=re.escape(cmd.strip()), read_timeout=read_timeout + ) # Read until next prompt or terminator (#); the .*$ forces read of entire line pattern = f"(?:{re.escape(self.base_prompt)}.*$|{terminator}.*$)" - output += self.read_until_pattern(pattern=pattern, re_flags=re.M) + output += self.read_until_pattern( + pattern=pattern, read_timeout=read_timeout, re_flags=re.M + ) if error_pattern: if re.search(error_pattern, output, flags=re.M): @@ -6787,12 +7058,7 @@

    Methods

    Expand source code -
    @retry(
    -    wait=wait_exponential(multiplier=0.33, min=0, max=5),
    -    stop=stop_after_attempt(5),
    -    reraise=True,
    -)
    -def set_base_prompt(
    +
    def set_base_prompt(
         self,
         pri_prompt_terminator: str = "#",
         alt_prompt_terminator: str = ">",
    @@ -7139,6 +7405,7 @@ 

    Methods

    :param pri_prompt_terminator: Primary trailing delimiter for identifying a device prompt

    :param alt_prompt_terminator: Alternate trailing delimiter for identifying a device prompt

    :param username_pattern: Pattern used to identify the username prompt

    +

    :param pwd_pattern: Pattern used to identify the pwd prompt

    :param delay_factor: See init: global_delay_factor

    :param max_loops: Controls the wait time in conjunction with the delay_factor

    @@ -7162,6 +7429,8 @@

    Methods

    :param username_pattern: Pattern used to identify the username prompt + :param pwd_pattern: Pattern used to identify the pwd prompt + :param delay_factor: See __init__: global_delay_factor :param max_loops: Controls the wait time in conjunction with the delay_factor @@ -7317,7 +7586,7 @@

    Methods

    class TelnetConnection -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Defines vendor independent methods.

    @@ -7359,6 +7628,9 @@

    Methods

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -7373,7 +7645,7 @@

    Methods

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -7381,6 +7653,10 @@

    Methods

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -7392,7 +7668,9 @@

    Methods

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -7424,6 +7702,9 @@ 

    Methods

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/broadcom/broadcom_icos_ssh.html b/docs/netmiko/broadcom/broadcom_icos_ssh.html index 5bef3d957..138eda1e0 100644 --- a/docs/netmiko/broadcom/broadcom_icos_ssh.html +++ b/docs/netmiko/broadcom/broadcom_icos_ssh.html @@ -88,7 +88,7 @@

    Classes

    class BroadcomIcosSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Implements support for Broadcom Icos devices. @@ -130,6 +130,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -144,7 +147,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -152,6 +155,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -163,7 +170,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -195,6 +204,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -255,22 +267,6 @@

    Ancestors

    Methods

    -
    -def check_config_mode(self, check_string: str = ')#', pattern: str = '', force_regex: bool = False) ‑> bool -
    -
    -

    Checks if the device is in configuration mode or not.

    -
    - -Expand source code - -
    def check_config_mode(
    -    self, check_string: str = ")#", pattern: str = "", force_regex: bool = False
    -) -> bool:
    -    """Checks if the device is in configuration mode or not."""
    -    return super().check_config_mode(check_string=check_string, pattern=pattern)
    -
    -
    def config_mode(self, config_command: str = 'configure', pattern: str = '', re_flags: int = 0) ‑> str
    @@ -343,6 +339,7 @@

    Inherited members

    • CiscoSSHConnection:
        +
      • check_config_mode
      • check_enable_mode
      • cleanup
      • clear_buffer
      • @@ -402,7 +399,6 @@

        Index

      • BroadcomIcosSSH

          -
        • check_config_mode
        • config_mode
        • exit_config_mode
        • exit_enable_mode
        • diff --git a/docs/netmiko/broadcom/index.html b/docs/netmiko/broadcom/index.html index 8310a446a..951e649e1 100644 --- a/docs/netmiko/broadcom/index.html +++ b/docs/netmiko/broadcom/index.html @@ -50,7 +50,7 @@

          Classes

          class BroadcomIcosSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

          Implements support for Broadcom Icos devices. @@ -92,6 +92,9 @@

          Classes

          :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -106,7 +109,7 @@

          Classes

          :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -114,6 +117,10 @@

          Classes

          :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -125,7 +132,9 @@

          Classes

          enter key (default:

          )

          -
              :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
          +
              :param serial_settings: Dictionary of settings for use with serial port (pySerial).
          +
          +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                       to select smallest of global and specific. Sets default global_delay_factor to .1
                       (default: True)
           
          @@ -157,6 +166,9 @@ 

          Classes

          :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
          @@ -217,22 +229,6 @@

          Ancestors

        Methods

        -
        -def check_config_mode(self, check_string: str = ')#', pattern: str = '', force_regex: bool = False) ‑> bool -
        -
        -

        Checks if the device is in configuration mode or not.

        -
        - -Expand source code - -
        def check_config_mode(
        -    self, check_string: str = ")#", pattern: str = "", force_regex: bool = False
        -) -> bool:
        -    """Checks if the device is in configuration mode or not."""
        -    return super().check_config_mode(check_string=check_string, pattern=pattern)
        -
        -
        def config_mode(self, config_command: str = 'configure', pattern: str = '', re_flags: int = 0) ‑> str
        @@ -305,6 +301,7 @@

        Inherited members

        • CiscoSSHConnection:
            +
          • check_config_mode
          • check_enable_mode
          • cleanup
          • clear_buffer
          • @@ -369,7 +366,6 @@

            Index

          • BroadcomIcosSSH

              -
            • check_config_mode
            • config_mode
            • exit_config_mode
            • exit_enable_mode
            • diff --git a/docs/netmiko/calix/calix_b6.html b/docs/netmiko/calix/calix_b6.html index 3c04e691d..199cac654 100644 --- a/docs/netmiko/calix/calix_b6.html +++ b/docs/netmiko/calix/calix_b6.html @@ -193,6 +193,9 @@

              Classes

              :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -207,7 +210,7 @@

              Classes

              :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -215,6 +218,10 @@

              Classes

              :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -226,7 +233,9 @@

              Classes

              enter key (default:

              )

              -
                  :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
              +
                  :param serial_settings: Dictionary of settings for use with serial port (pySerial).
              +
              +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                           to select smallest of global and specific. Sets default global_delay_factor to .1
                           (default: True)
               
              @@ -258,6 +267,9 @@ 

              Classes

              :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
              @@ -518,6 +530,9 @@

              Inherited members

              :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -532,7 +547,7 @@

              Inherited members

              :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -540,6 +555,10 @@

              Inherited members

              :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -551,7 +570,9 @@

              Inherited members

              enter key (default:

              )

              -
                  :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
              +
                  :param serial_settings: Dictionary of settings for use with serial port (pySerial).
              +
              +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                           to select smallest of global and specific. Sets default global_delay_factor to .1
                           (default: True)
               
              @@ -583,6 +604,9 @@ 

              Inherited members

              :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
              @@ -713,6 +737,9 @@

              Inherited members

              :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -727,7 +754,7 @@

              Inherited members

              :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -735,6 +762,10 @@

              Inherited members

              :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -746,7 +777,9 @@

              Inherited members

              enter key (default:

              )

              -
                  :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
              +
                  :param serial_settings: Dictionary of settings for use with serial port (pySerial).
              +
              +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                           to select smallest of global and specific. Sets default global_delay_factor to .1
                           (default: True)
               
              @@ -778,6 +811,9 @@ 

              Inherited members

              :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
              diff --git a/docs/netmiko/calix/index.html b/docs/netmiko/calix/index.html index 0ae4964bc..8f6c2e545 100644 --- a/docs/netmiko/calix/index.html +++ b/docs/netmiko/calix/index.html @@ -92,6 +92,9 @@

              Classes

              :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -106,7 +109,7 @@

              Classes

              :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -114,6 +117,10 @@

              Classes

              :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -125,7 +132,9 @@

              Classes

              enter key (default:

              )

              -
                  :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
              +
                  :param serial_settings: Dictionary of settings for use with serial port (pySerial).
              +
              +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                           to select smallest of global and specific. Sets default global_delay_factor to .1
                           (default: True)
               
              @@ -157,6 +166,9 @@ 

              Classes

              :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
              @@ -287,6 +299,9 @@

              Inherited members

              :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -301,7 +316,7 @@

              Inherited members

              :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -309,6 +324,10 @@

              Inherited members

              :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -320,7 +339,9 @@

              Inherited members

              enter key (default:

              )

              -
                  :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
              +
                  :param serial_settings: Dictionary of settings for use with serial port (pySerial).
              +
              +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                           to select smallest of global and specific. Sets default global_delay_factor to .1
                           (default: True)
               
              @@ -352,6 +373,9 @@ 

              Inherited members

              :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
              diff --git a/docs/netmiko/casa/casa_cmts.html b/docs/netmiko/casa/casa_cmts.html new file mode 100644 index 000000000..dacf1d5a3 --- /dev/null +++ b/docs/netmiko/casa/casa_cmts.html @@ -0,0 +1,658 @@ + + + + + + +netmiko.casa.casa_cmts API documentation + + + + + + + + + + + +
              +
              +
              +

              Module netmiko.casa.casa_cmts

              +
              +
              +
              + +Expand source code + +
              from typing import Optional
              +from netmiko.cisco_base_connection import CiscoSSHConnection
              +from netmiko.no_enable import NoEnable
              +
              +
              +class CasaCMTSBase(NoEnable, CiscoSSHConnection):
              +    """
              +    Casa CMTS support.
              +
              +    Implements methods for interacting with Casa CMTS platforms.
              +    """
              +
              +    def disable_paging(
              +        self,
              +        command: str = "page-off",
              +        delay_factor: Optional[float] = None,
              +        cmd_verify: bool = True,
              +        pattern: Optional[str] = None,
              +    ) -> str:
              +        """Disables paging."""
              +        return super().disable_paging(
              +            command=command,
              +            delay_factor=delay_factor,
              +            cmd_verify=cmd_verify,
              +            pattern=pattern,
              +        )
              +
              +    def config_mode(
              +        self,
              +        config_command: str = "config",
              +        pattern: str = "",
              +        re_flags: int = 0,
              +    ) -> str:
              +        """Enters configuration mode."""
              +        return super().config_mode(
              +            config_command=config_command,
              +            pattern=pattern,
              +            re_flags=re_flags,
              +        )
              +
              +    def exit_config_mode(
              +        self, exit_config: str = chr(26), pattern: str = r"#.*"
              +    ) -> str:
              +        """
              +        Exits configuration mode.
              +
              +        Must use CTRL-Z (ASCII 26) to reliably exit from any
              +        tier in the configuration hierarchy.
              +
              +        Since CTRL-Z is a non-printable character, we must temporarily disable
              +        global_cmd_verify to prevent an exception trying to read the
              +        echoed input.
              +        """
              +        if self.global_cmd_verify is not False and exit_config == chr(26):
              +            global_cmd_verify_tmp = self.global_cmd_verify
              +            self.global_cmd_verify = False
              +            output = super().exit_config_mode(exit_config, pattern)
              +            self.global_cmd_verify = global_cmd_verify_tmp
              +        else:
              +            output = super().exit_config_mode(exit_config, pattern)
              +        return output
              +
              +
              +class CasaCMTSSSH(CasaCMTSBase):
              +    """Casa CMTS SSH Driver."""
              +
              +    pass
              +
              +
              +
              +
              +
              +
              +
              +
              +
              +

              Classes

              +
              +
              +class CasaCMTSBase +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False) +
              +
              +

              Casa CMTS support.

              +

              Implements methods for interacting with Casa CMTS platforms.

              +
                  Initialize attributes for establishing connection to target device.
              +
              +    :param ip: IP address of target device. Not required if <code>host</code> is
              +        provided.
              +
              +    :param host: Hostname of target device. Not required if <code>ip</code> is
              +            provided.
              +
              +    :param username: Username to authenticate against target device if
              +            required.
              +
              +    :param password: Password to authenticate against target device if
              +            required.
              +
              +    :param secret: The enable password if target device requires one.
              +
              +    :param port: The destination port used to connect to the target
              +            device.
              +
              +    :param device_type: Class selection based on device type.
              +
              +    :param verbose: Enable additional messages to standard output.
              +
              +    :param global_delay_factor: Multiplication factor affecting Netmiko delays (default: 1).
              +
              +    :param use_keys: Connect to target device using SSH keys.
              +
              +    :param key_file: Filename path of the SSH key file to use.
              +
              +    :param pkey: SSH key object to use.
              +
              +    :param passphrase: Passphrase to use for encrypted key; password will be used for key
              +            decryption if not specified.
              +
              +    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko
              +            documentation for a description of the expected format.
              +
              +    :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs
              +        <https://github.com/paramiko/paramiko/issues/1961> (default: False)
              +
              +    :param allow_agent: Enable use of SSH key-agent.
              +
              +    :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which
              +            means unknown SSH host keys will be accepted).
              +
              +    :param system_host_keys: Load host keys from the users known_hosts file.
              +
              +    :param alt_host_keys: If <code>True</code> host keys will be loaded from the file specified in
              +            alt_key_file.
              +
              +    :param alt_key_file: SSH host key file to use (if alt_host_keys=True).
              +
              +    :param ssh_config_file: File name of OpenSSH configuration file.
              +
              +    :param conn_timeout: TCP connection timeout.
              +
              +    :param session_timeout: Set a timeout for parallel requests.
              +
              +    :param auth_timeout: Set a timeout (in seconds) to wait for an authentication response.
              +
              +    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko).
              +
              +    :param read_timeout_override: Set a timeout that will override the default read_timeout
              +            of both send_command and send_command_timing. This is useful for 3rd party
              +            libraries where directly accessing method arguments might be impractical.
              +
              +    :param keepalive: Send SSH keepalive packets at a specific interval, in seconds.
              +            Currently defaults to 0, for backwards compatibility (it will not attempt
              +            to keep the connection alive).
              +
              +    :param default_enter: Character(s) to send to correspond to enter key (default:
              +
              +

              ).

              +
                  :param response_return: Character(s) to use in normalized return data to represent
              +            enter key (default:
              +
              +

              )

              +
                  :param serial_settings: Dictionary of settings for use with serial port (pySerial).
              +
              +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
              +            to select smallest of global and specific. Sets default global_delay_factor to .1
              +            (default: True)
              +
              +    :param session_log: File path or BufferedIOBase subclass object to write the session log to.
              +
              +    :param session_log_record_writes: The session log generally only records channel reads due
              +            to eliminate command duplication due to command echo. You can enable this if you
              +            want to record both channel reads and channel writes in the log (default: False).
              +
              +    :param session_log_file_mode: "write" or "append" for session_log file mode
              +            (default: "write")
              +
              +    :param allow_auto_change: Allow automatic configuration changes for terminal settings.
              +            (default: False)
              +
              +    :param encoding: Encoding to be used when writing bytes to the output channel.
              +            (default: ascii)
              +
              +    :param sock: An open socket or socket-like object (such as a <code>.Channel</code>) to use for
              +            communication to the target host (default: None).
              +
              +    :param global_cmd_verify: Control whether command echo verification is enabled or disabled
              +            (default: None). Global attribute takes precedence over function <code>cmd\_verify</code>
              +            argument. Value of <code>None</code> indicates to use function <code>cmd\_verify</code> argument.
              +
              +    :param auto_connect: Control whether Netmiko automatically establishes the connection as
              +            part of the object creation (default: True).
              +
              +    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko
              +            3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be
              +            eliminated in Netmiko 5.x (default: False).
              +
              +    :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior
              +            (default: False)
              +
              +
              + +Expand source code + +
              class CasaCMTSBase(NoEnable, CiscoSSHConnection):
              +    """
              +    Casa CMTS support.
              +
              +    Implements methods for interacting with Casa CMTS platforms.
              +    """
              +
              +    def disable_paging(
              +        self,
              +        command: str = "page-off",
              +        delay_factor: Optional[float] = None,
              +        cmd_verify: bool = True,
              +        pattern: Optional[str] = None,
              +    ) -> str:
              +        """Disables paging."""
              +        return super().disable_paging(
              +            command=command,
              +            delay_factor=delay_factor,
              +            cmd_verify=cmd_verify,
              +            pattern=pattern,
              +        )
              +
              +    def config_mode(
              +        self,
              +        config_command: str = "config",
              +        pattern: str = "",
              +        re_flags: int = 0,
              +    ) -> str:
              +        """Enters configuration mode."""
              +        return super().config_mode(
              +            config_command=config_command,
              +            pattern=pattern,
              +            re_flags=re_flags,
              +        )
              +
              +    def exit_config_mode(
              +        self, exit_config: str = chr(26), pattern: str = r"#.*"
              +    ) -> str:
              +        """
              +        Exits configuration mode.
              +
              +        Must use CTRL-Z (ASCII 26) to reliably exit from any
              +        tier in the configuration hierarchy.
              +
              +        Since CTRL-Z is a non-printable character, we must temporarily disable
              +        global_cmd_verify to prevent an exception trying to read the
              +        echoed input.
              +        """
              +        if self.global_cmd_verify is not False and exit_config == chr(26):
              +            global_cmd_verify_tmp = self.global_cmd_verify
              +            self.global_cmd_verify = False
              +            output = super().exit_config_mode(exit_config, pattern)
              +            self.global_cmd_verify = global_cmd_verify_tmp
              +        else:
              +            output = super().exit_config_mode(exit_config, pattern)
              +        return output
              +
              +

              Ancestors

              + +

              Subclasses

              + +

              Methods

              +
              +
              +def config_mode(self, config_command: str = 'config', pattern: str = '', re_flags: int = 0) ‑> str +
              +
              +

              Enters configuration mode.

              +
              + +Expand source code + +
              def config_mode(
              +    self,
              +    config_command: str = "config",
              +    pattern: str = "",
              +    re_flags: int = 0,
              +) -> str:
              +    """Enters configuration mode."""
              +    return super().config_mode(
              +        config_command=config_command,
              +        pattern=pattern,
              +        re_flags=re_flags,
              +    )
              +
              +
              +
              +def disable_paging(self, command: str = 'page-off', delay_factor: Optional[float] = None, cmd_verify: bool = True, pattern: Optional[str] = None) ‑> str +
              +
              +

              Disables paging.

              +
              + +Expand source code + +
              def disable_paging(
              +    self,
              +    command: str = "page-off",
              +    delay_factor: Optional[float] = None,
              +    cmd_verify: bool = True,
              +    pattern: Optional[str] = None,
              +) -> str:
              +    """Disables paging."""
              +    return super().disable_paging(
              +        command=command,
              +        delay_factor=delay_factor,
              +        cmd_verify=cmd_verify,
              +        pattern=pattern,
              +    )
              +
              +
              +
              +def exit_config_mode(self, exit_config: str = '\x1a', pattern: str = '#.*') ‑> str +
              +
              +

              Exits configuration mode.

              +

              Must use CTRL-Z (ASCII 26) to reliably exit from any +tier in the configuration hierarchy.

              +

              Since CTRL-Z is a non-printable character, we must temporarily disable +global_cmd_verify to prevent an exception trying to read the +echoed input.

              +
              + +Expand source code + +
              def exit_config_mode(
              +    self, exit_config: str = chr(26), pattern: str = r"#.*"
              +) -> str:
              +    """
              +    Exits configuration mode.
              +
              +    Must use CTRL-Z (ASCII 26) to reliably exit from any
              +    tier in the configuration hierarchy.
              +
              +    Since CTRL-Z is a non-printable character, we must temporarily disable
              +    global_cmd_verify to prevent an exception trying to read the
              +    echoed input.
              +    """
              +    if self.global_cmd_verify is not False and exit_config == chr(26):
              +        global_cmd_verify_tmp = self.global_cmd_verify
              +        self.global_cmd_verify = False
              +        output = super().exit_config_mode(exit_config, pattern)
              +        self.global_cmd_verify = global_cmd_verify_tmp
              +    else:
              +        output = super().exit_config_mode(exit_config, pattern)
              +    return output
              +
              +
              +
              +

              Inherited members

              + +
              +
              +class CasaCMTSSSH +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False) +
              +
              +

              Casa CMTS SSH Driver.

              +
                  Initialize attributes for establishing connection to target device.
              +
              +    :param ip: IP address of target device. Not required if <code>host</code> is
              +        provided.
              +
              +    :param host: Hostname of target device. Not required if <code>ip</code> is
              +            provided.
              +
              +    :param username: Username to authenticate against target device if
              +            required.
              +
              +    :param password: Password to authenticate against target device if
              +            required.
              +
              +    :param secret: The enable password if target device requires one.
              +
              +    :param port: The destination port used to connect to the target
              +            device.
              +
              +    :param device_type: Class selection based on device type.
              +
              +    :param verbose: Enable additional messages to standard output.
              +
              +    :param global_delay_factor: Multiplication factor affecting Netmiko delays (default: 1).
              +
              +    :param use_keys: Connect to target device using SSH keys.
              +
              +    :param key_file: Filename path of the SSH key file to use.
              +
              +    :param pkey: SSH key object to use.
              +
              +    :param passphrase: Passphrase to use for encrypted key; password will be used for key
              +            decryption if not specified.
              +
              +    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko
              +            documentation for a description of the expected format.
              +
              +    :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs
              +        <https://github.com/paramiko/paramiko/issues/1961> (default: False)
              +
              +    :param allow_agent: Enable use of SSH key-agent.
              +
              +    :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which
              +            means unknown SSH host keys will be accepted).
              +
              +    :param system_host_keys: Load host keys from the users known_hosts file.
              +
              +    :param alt_host_keys: If <code>True</code> host keys will be loaded from the file specified in
              +            alt_key_file.
              +
              +    :param alt_key_file: SSH host key file to use (if alt_host_keys=True).
              +
              +    :param ssh_config_file: File name of OpenSSH configuration file.
              +
              +    :param conn_timeout: TCP connection timeout.
              +
              +    :param session_timeout: Set a timeout for parallel requests.
              +
              +    :param auth_timeout: Set a timeout (in seconds) to wait for an authentication response.
              +
              +    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko).
              +
              +    :param read_timeout_override: Set a timeout that will override the default read_timeout
              +            of both send_command and send_command_timing. This is useful for 3rd party
              +            libraries where directly accessing method arguments might be impractical.
              +
              +    :param keepalive: Send SSH keepalive packets at a specific interval, in seconds.
              +            Currently defaults to 0, for backwards compatibility (it will not attempt
              +            to keep the connection alive).
              +
              +    :param default_enter: Character(s) to send to correspond to enter key (default:
              +
              +

              ).

              +
                  :param response_return: Character(s) to use in normalized return data to represent
              +            enter key (default:
              +
              +

              )

              +
                  :param serial_settings: Dictionary of settings for use with serial port (pySerial).
              +
              +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
              +            to select smallest of global and specific. Sets default global_delay_factor to .1
              +            (default: True)
              +
              +    :param session_log: File path or BufferedIOBase subclass object to write the session log to.
              +
              +    :param session_log_record_writes: The session log generally only records channel reads due
              +            to eliminate command duplication due to command echo. You can enable this if you
              +            want to record both channel reads and channel writes in the log (default: False).
              +
              +    :param session_log_file_mode: "write" or "append" for session_log file mode
              +            (default: "write")
              +
              +    :param allow_auto_change: Allow automatic configuration changes for terminal settings.
              +            (default: False)
              +
              +    :param encoding: Encoding to be used when writing bytes to the output channel.
              +            (default: ascii)
              +
              +    :param sock: An open socket or socket-like object (such as a <code>.Channel</code>) to use for
              +            communication to the target host (default: None).
              +
              +    :param global_cmd_verify: Control whether command echo verification is enabled or disabled
              +            (default: None). Global attribute takes precedence over function <code>cmd\_verify</code>
              +            argument. Value of <code>None</code> indicates to use function <code>cmd\_verify</code> argument.
              +
              +    :param auto_connect: Control whether Netmiko automatically establishes the connection as
              +            part of the object creation (default: True).
              +
              +    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko
              +            3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be
              +            eliminated in Netmiko 5.x (default: False).
              +
              +    :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior
              +            (default: False)
              +
              +
              + +Expand source code + +
              class CasaCMTSSSH(CasaCMTSBase):
              +    """Casa CMTS SSH Driver."""
              +
              +    pass
              +
              +

              Ancestors

              + +

              Inherited members

              + +
              +
              +
              +
              + +
              + + + \ No newline at end of file diff --git a/docs/netmiko/casa/index.html b/docs/netmiko/casa/index.html new file mode 100644 index 000000000..d83c3f0fc --- /dev/null +++ b/docs/netmiko/casa/index.html @@ -0,0 +1,606 @@ + + + + + + +netmiko.casa API documentation + + + + + + + + + + + +
              +
              +
              +

              Module netmiko.casa

              +
              +
              +
              + +Expand source code + +
              from netmiko.casa.casa_cmts import CasaCMTSBase, CasaCMTSSSH
              +
              +__all__ = ["CasaCMTSBase", "CasaCMTSSSH"]
              +
              +
              +
              +

              Sub-modules

              +
              +
              netmiko.casa.casa_cmts
              +
              +
              +
              +
              +
              +
              +
              +
              +
              +
              +

              Classes

              +
              +
              +class CasaCMTSBase +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False) +
              +
              +

              Casa CMTS support.

              +

              Implements methods for interacting with Casa CMTS platforms.

              +
                  Initialize attributes for establishing connection to target device.
              +
              +    :param ip: IP address of target device. Not required if <code>host</code> is
              +        provided.
              +
              +    :param host: Hostname of target device. Not required if <code>ip</code> is
              +            provided.
              +
              +    :param username: Username to authenticate against target device if
              +            required.
              +
              +    :param password: Password to authenticate against target device if
              +            required.
              +
              +    :param secret: The enable password if target device requires one.
              +
              +    :param port: The destination port used to connect to the target
              +            device.
              +
              +    :param device_type: Class selection based on device type.
              +
              +    :param verbose: Enable additional messages to standard output.
              +
              +    :param global_delay_factor: Multiplication factor affecting Netmiko delays (default: 1).
              +
              +    :param use_keys: Connect to target device using SSH keys.
              +
              +    :param key_file: Filename path of the SSH key file to use.
              +
              +    :param pkey: SSH key object to use.
              +
              +    :param passphrase: Passphrase to use for encrypted key; password will be used for key
              +            decryption if not specified.
              +
              +    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko
              +            documentation for a description of the expected format.
              +
              +    :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs
              +        <https://github.com/paramiko/paramiko/issues/1961> (default: False)
              +
              +    :param allow_agent: Enable use of SSH key-agent.
              +
              +    :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which
              +            means unknown SSH host keys will be accepted).
              +
              +    :param system_host_keys: Load host keys from the users known_hosts file.
              +
              +    :param alt_host_keys: If <code>True</code> host keys will be loaded from the file specified in
              +            alt_key_file.
              +
              +    :param alt_key_file: SSH host key file to use (if alt_host_keys=True).
              +
              +    :param ssh_config_file: File name of OpenSSH configuration file.
              +
              +    :param conn_timeout: TCP connection timeout.
              +
              +    :param session_timeout: Set a timeout for parallel requests.
              +
              +    :param auth_timeout: Set a timeout (in seconds) to wait for an authentication response.
              +
              +    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko).
              +
              +    :param read_timeout_override: Set a timeout that will override the default read_timeout
              +            of both send_command and send_command_timing. This is useful for 3rd party
              +            libraries where directly accessing method arguments might be impractical.
              +
              +    :param keepalive: Send SSH keepalive packets at a specific interval, in seconds.
              +            Currently defaults to 0, for backwards compatibility (it will not attempt
              +            to keep the connection alive).
              +
              +    :param default_enter: Character(s) to send to correspond to enter key (default:
              +
              +

              ).

              +
                  :param response_return: Character(s) to use in normalized return data to represent
              +            enter key (default:
              +
              +

              )

              +
                  :param serial_settings: Dictionary of settings for use with serial port (pySerial).
              +
              +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
              +            to select smallest of global and specific. Sets default global_delay_factor to .1
              +            (default: True)
              +
              +    :param session_log: File path or BufferedIOBase subclass object to write the session log to.
              +
              +    :param session_log_record_writes: The session log generally only records channel reads due
              +            to eliminate command duplication due to command echo. You can enable this if you
              +            want to record both channel reads and channel writes in the log (default: False).
              +
              +    :param session_log_file_mode: "write" or "append" for session_log file mode
              +            (default: "write")
              +
              +    :param allow_auto_change: Allow automatic configuration changes for terminal settings.
              +            (default: False)
              +
              +    :param encoding: Encoding to be used when writing bytes to the output channel.
              +            (default: ascii)
              +
              +    :param sock: An open socket or socket-like object (such as a <code>.Channel</code>) to use for
              +            communication to the target host (default: None).
              +
              +    :param global_cmd_verify: Control whether command echo verification is enabled or disabled
              +            (default: None). Global attribute takes precedence over function <code>cmd\_verify</code>
              +            argument. Value of <code>None</code> indicates to use function <code>cmd\_verify</code> argument.
              +
              +    :param auto_connect: Control whether Netmiko automatically establishes the connection as
              +            part of the object creation (default: True).
              +
              +    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko
              +            3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be
              +            eliminated in Netmiko 5.x (default: False).
              +
              +    :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior
              +            (default: False)
              +
              +
              + +Expand source code + +
              class CasaCMTSBase(NoEnable, CiscoSSHConnection):
              +    """
              +    Casa CMTS support.
              +
              +    Implements methods for interacting with Casa CMTS platforms.
              +    """
              +
              +    def disable_paging(
              +        self,
              +        command: str = "page-off",
              +        delay_factor: Optional[float] = None,
              +        cmd_verify: bool = True,
              +        pattern: Optional[str] = None,
              +    ) -> str:
              +        """Disables paging."""
              +        return super().disable_paging(
              +            command=command,
              +            delay_factor=delay_factor,
              +            cmd_verify=cmd_verify,
              +            pattern=pattern,
              +        )
              +
              +    def config_mode(
              +        self,
              +        config_command: str = "config",
              +        pattern: str = "",
              +        re_flags: int = 0,
              +    ) -> str:
              +        """Enters configuration mode."""
              +        return super().config_mode(
              +            config_command=config_command,
              +            pattern=pattern,
              +            re_flags=re_flags,
              +        )
              +
              +    def exit_config_mode(
              +        self, exit_config: str = chr(26), pattern: str = r"#.*"
              +    ) -> str:
              +        """
              +        Exits configuration mode.
              +
              +        Must use CTRL-Z (ASCII 26) to reliably exit from any
              +        tier in the configuration hierarchy.
              +
              +        Since CTRL-Z is a non-printable character, we must temporarily disable
              +        global_cmd_verify to prevent an exception trying to read the
              +        echoed input.
              +        """
              +        if self.global_cmd_verify is not False and exit_config == chr(26):
              +            global_cmd_verify_tmp = self.global_cmd_verify
              +            self.global_cmd_verify = False
              +            output = super().exit_config_mode(exit_config, pattern)
              +            self.global_cmd_verify = global_cmd_verify_tmp
              +        else:
              +            output = super().exit_config_mode(exit_config, pattern)
              +        return output
              +
              +

              Ancestors

              + +

              Subclasses

              + +

              Methods

              +
              +
              +def config_mode(self, config_command: str = 'config', pattern: str = '', re_flags: int = 0) ‑> str +
              +
              +

              Enters configuration mode.

              +
              + +Expand source code + +
              def config_mode(
              +    self,
              +    config_command: str = "config",
              +    pattern: str = "",
              +    re_flags: int = 0,
              +) -> str:
              +    """Enters configuration mode."""
              +    return super().config_mode(
              +        config_command=config_command,
              +        pattern=pattern,
              +        re_flags=re_flags,
              +    )
              +
              +
              +
              +def disable_paging(self, command: str = 'page-off', delay_factor: Optional[float] = None, cmd_verify: bool = True, pattern: Optional[str] = None) ‑> str +
              +
              +

              Disables paging.

              +
              + +Expand source code + +
              def disable_paging(
              +    self,
              +    command: str = "page-off",
              +    delay_factor: Optional[float] = None,
              +    cmd_verify: bool = True,
              +    pattern: Optional[str] = None,
              +) -> str:
              +    """Disables paging."""
              +    return super().disable_paging(
              +        command=command,
              +        delay_factor=delay_factor,
              +        cmd_verify=cmd_verify,
              +        pattern=pattern,
              +    )
              +
              +
              +
              +def exit_config_mode(self, exit_config: str = '\x1a', pattern: str = '#.*') ‑> str +
              +
              +

              Exits configuration mode.

              +

              Must use CTRL-Z (ASCII 26) to reliably exit from any +tier in the configuration hierarchy.

              +

              Since CTRL-Z is a non-printable character, we must temporarily disable +global_cmd_verify to prevent an exception trying to read the +echoed input.

              +
              + +Expand source code + +
              def exit_config_mode(
              +    self, exit_config: str = chr(26), pattern: str = r"#.*"
              +) -> str:
              +    """
              +    Exits configuration mode.
              +
              +    Must use CTRL-Z (ASCII 26) to reliably exit from any
              +    tier in the configuration hierarchy.
              +
              +    Since CTRL-Z is a non-printable character, we must temporarily disable
              +    global_cmd_verify to prevent an exception trying to read the
              +    echoed input.
              +    """
              +    if self.global_cmd_verify is not False and exit_config == chr(26):
              +        global_cmd_verify_tmp = self.global_cmd_verify
              +        self.global_cmd_verify = False
              +        output = super().exit_config_mode(exit_config, pattern)
              +        self.global_cmd_verify = global_cmd_verify_tmp
              +    else:
              +        output = super().exit_config_mode(exit_config, pattern)
              +    return output
              +
              +
              +
              +

              Inherited members

              + +
              +
              +class CasaCMTSSSH +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False) +
              +
              +

              Casa CMTS SSH Driver.

              +
                  Initialize attributes for establishing connection to target device.
              +
              +    :param ip: IP address of target device. Not required if <code>host</code> is
              +        provided.
              +
              +    :param host: Hostname of target device. Not required if <code>ip</code> is
              +            provided.
              +
              +    :param username: Username to authenticate against target device if
              +            required.
              +
              +    :param password: Password to authenticate against target device if
              +            required.
              +
              +    :param secret: The enable password if target device requires one.
              +
              +    :param port: The destination port used to connect to the target
              +            device.
              +
              +    :param device_type: Class selection based on device type.
              +
              +    :param verbose: Enable additional messages to standard output.
              +
              +    :param global_delay_factor: Multiplication factor affecting Netmiko delays (default: 1).
              +
              +    :param use_keys: Connect to target device using SSH keys.
              +
              +    :param key_file: Filename path of the SSH key file to use.
              +
              +    :param pkey: SSH key object to use.
              +
              +    :param passphrase: Passphrase to use for encrypted key; password will be used for key
              +            decryption if not specified.
              +
              +    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko
              +            documentation for a description of the expected format.
              +
              +    :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs
              +        <https://github.com/paramiko/paramiko/issues/1961> (default: False)
              +
              +    :param allow_agent: Enable use of SSH key-agent.
              +
              +    :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which
              +            means unknown SSH host keys will be accepted).
              +
              +    :param system_host_keys: Load host keys from the users known_hosts file.
              +
              +    :param alt_host_keys: If <code>True</code> host keys will be loaded from the file specified in
              +            alt_key_file.
              +
              +    :param alt_key_file: SSH host key file to use (if alt_host_keys=True).
              +
              +    :param ssh_config_file: File name of OpenSSH configuration file.
              +
              +    :param conn_timeout: TCP connection timeout.
              +
              +    :param session_timeout: Set a timeout for parallel requests.
              +
              +    :param auth_timeout: Set a timeout (in seconds) to wait for an authentication response.
              +
              +    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko).
              +
              +    :param read_timeout_override: Set a timeout that will override the default read_timeout
              +            of both send_command and send_command_timing. This is useful for 3rd party
              +            libraries where directly accessing method arguments might be impractical.
              +
              +    :param keepalive: Send SSH keepalive packets at a specific interval, in seconds.
              +            Currently defaults to 0, for backwards compatibility (it will not attempt
              +            to keep the connection alive).
              +
              +    :param default_enter: Character(s) to send to correspond to enter key (default:
              +
              +

              ).

              +
                  :param response_return: Character(s) to use in normalized return data to represent
              +            enter key (default:
              +
              +

              )

              +
                  :param serial_settings: Dictionary of settings for use with serial port (pySerial).
              +
              +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
              +            to select smallest of global and specific. Sets default global_delay_factor to .1
              +            (default: True)
              +
              +    :param session_log: File path or BufferedIOBase subclass object to write the session log to.
              +
              +    :param session_log_record_writes: The session log generally only records channel reads due
              +            to eliminate command duplication due to command echo. You can enable this if you
              +            want to record both channel reads and channel writes in the log (default: False).
              +
              +    :param session_log_file_mode: "write" or "append" for session_log file mode
              +            (default: "write")
              +
              +    :param allow_auto_change: Allow automatic configuration changes for terminal settings.
              +            (default: False)
              +
              +    :param encoding: Encoding to be used when writing bytes to the output channel.
              +            (default: ascii)
              +
              +    :param sock: An open socket or socket-like object (such as a <code>.Channel</code>) to use for
              +            communication to the target host (default: None).
              +
              +    :param global_cmd_verify: Control whether command echo verification is enabled or disabled
              +            (default: None). Global attribute takes precedence over function <code>cmd\_verify</code>
              +            argument. Value of <code>None</code> indicates to use function <code>cmd\_verify</code> argument.
              +
              +    :param auto_connect: Control whether Netmiko automatically establishes the connection as
              +            part of the object creation (default: True).
              +
              +    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko
              +            3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be
              +            eliminated in Netmiko 5.x (default: False).
              +
              +    :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior
              +            (default: False)
              +
              +
              + +Expand source code + +
              class CasaCMTSSSH(CasaCMTSBase):
              +    """Casa CMTS SSH Driver."""
              +
              +    pass
              +
              +

              Ancestors

              + +

              Inherited members

              + +
              +
              +
              +
              + +
              + + + \ No newline at end of file diff --git a/docs/netmiko/cdot/cdot_cros_ssh.html b/docs/netmiko/cdot/cdot_cros_ssh.html index 921a2289f..5aaa3e7e4 100644 --- a/docs/netmiko/cdot/cdot_cros_ssh.html +++ b/docs/netmiko/cdot/cdot_cros_ssh.html @@ -157,7 +157,7 @@

              Classes

              class CdotCrosSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

              Implement methods for interacting with CROS network devices.

              @@ -198,6 +198,9 @@

              Classes

              :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -212,7 +215,7 @@

              Classes

              :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -220,6 +223,10 @@

              Classes

              :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -231,7 +238,9 @@

              Classes

              enter key (default:

              )

              -
                  :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
              +
                  :param serial_settings: Dictionary of settings for use with serial port (pySerial).
              +
              +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                           to select smallest of global and specific. Sets default global_delay_factor to .1
                           (default: True)
               
              @@ -263,6 +272,9 @@ 

              Classes

              :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
              diff --git a/docs/netmiko/cdot/index.html b/docs/netmiko/cdot/index.html index 48675d206..3184c52ac 100644 --- a/docs/netmiko/cdot/index.html +++ b/docs/netmiko/cdot/index.html @@ -49,7 +49,7 @@

              Classes

              class CdotCrosSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

              Implement methods for interacting with CROS network devices.

              @@ -90,6 +90,9 @@

              Classes

              :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -104,7 +107,7 @@

              Classes

              :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -112,6 +115,10 @@

              Classes

              :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -123,7 +130,9 @@

              Classes

              enter key (default:

              )

              -
                  :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
              +
                  :param serial_settings: Dictionary of settings for use with serial port (pySerial).
              +
              +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                           to select smallest of global and specific. Sets default global_delay_factor to .1
                           (default: True)
               
              @@ -155,6 +164,9 @@ 

              Classes

              :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
              diff --git a/docs/netmiko/centec/centec_os.html b/docs/netmiko/centec/centec_os.html index 39762410d..7cc1d14b0 100644 --- a/docs/netmiko/centec/centec_os.html +++ b/docs/netmiko/centec/centec_os.html @@ -68,7 +68,7 @@

              Classes

              class CentecOSBase -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

              Base Class for cisco-like behavior.

              @@ -109,6 +109,9 @@

              Classes

              :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -123,7 +126,7 @@

              Classes

              :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -131,6 +134,10 @@

              Classes

              :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -142,7 +149,9 @@

              Classes

              enter key (default:

              )

              -
                  :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
              +
                  :param serial_settings: Dictionary of settings for use with serial port (pySerial).
              +
              +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                           to select smallest of global and specific. Sets default global_delay_factor to .1
                           (default: True)
               
              @@ -174,6 +183,9 @@ 

              Classes

              :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
              @@ -290,7 +302,7 @@

              Inherited members

    class CentecOSSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Base Class for cisco-like behavior.

    @@ -331,6 +343,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -345,7 +360,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -353,6 +368,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -364,7 +383,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -396,6 +417,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -462,7 +486,7 @@

    Inherited members

    class CentecOSTelnet -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Base Class for cisco-like behavior.

    @@ -503,6 +527,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -517,7 +544,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -525,6 +552,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -536,7 +567,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -568,6 +601,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/centec/index.html b/docs/netmiko/centec/index.html index 56fedca45..90572912f 100644 --- a/docs/netmiko/centec/index.html +++ b/docs/netmiko/centec/index.html @@ -49,7 +49,7 @@

    Classes

    class CentecOSSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Base Class for cisco-like behavior.

    @@ -90,6 +90,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -104,7 +107,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -112,6 +115,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -123,7 +130,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -155,6 +164,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -221,7 +233,7 @@

    Inherited members

    class CentecOSTelnet -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Base Class for cisco-like behavior.

    @@ -262,6 +274,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -276,7 +291,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -284,6 +299,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -295,7 +314,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -327,6 +348,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/checkpoint/checkpoint_gaia_ssh.html b/docs/netmiko/checkpoint/checkpoint_gaia_ssh.html index 0da1ec18d..e5634025d 100644 --- a/docs/netmiko/checkpoint/checkpoint_gaia_ssh.html +++ b/docs/netmiko/checkpoint/checkpoint_gaia_ssh.html @@ -63,7 +63,7 @@

    Classes

    class CheckPointGaiaSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Implements methods for communicating with Check Point Gaia @@ -105,6 +105,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -119,7 +122,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -127,6 +130,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -138,7 +145,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -170,6 +179,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/checkpoint/index.html b/docs/netmiko/checkpoint/index.html index b359b3eee..65cbafeca 100644 --- a/docs/netmiko/checkpoint/index.html +++ b/docs/netmiko/checkpoint/index.html @@ -49,7 +49,7 @@

    Classes

    class CheckPointGaiaSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Implements methods for communicating with Check Point Gaia @@ -91,6 +91,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -105,7 +108,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -113,6 +116,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -124,7 +131,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -156,6 +165,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/ciena/ciena_saos.html b/docs/netmiko/ciena/ciena_saos.html index 8247a5a87..8ebd655f6 100644 --- a/docs/netmiko/ciena/ciena_saos.html +++ b/docs/netmiko/ciena/ciena_saos.html @@ -44,14 +44,33 @@

    Module netmiko.ciena.ciena_saos

    Implements methods for interacting Ciena Saos devices. """ + prompt_pattern = r"[>#$]" + + def set_base_prompt( + self, + pri_prompt_terminator: str = "", + alt_prompt_terminator: str = "", + delay_factor: float = 1.0, + pattern: Optional[str] = None, + ) -> str: + """Ciena can use '>', '$', '#' for prompt terminator depending on the device.""" + prompt = self.find_prompt(delay_factor=delay_factor) + + pattern = rf"^.+{self.prompt_pattern}$" + if re.search(pattern, prompt): + raise ValueError(f"Router prompt not found: {repr(prompt)}") + # Strip off trailing terminator + self.base_prompt = prompt[:-1] + return self.base_prompt + def session_preparation(self) -> None: - self._test_channel_read(pattern=r"[>#]") + self._test_channel_read(pattern=self.prompt_pattern) self.set_base_prompt() self.disable_paging(command="system shell session set more off") def _enter_shell(self) -> str: """Enter the Bourne Shell.""" - output = self._send_command_str("diag shell", expect_string=r"[$#>]") + output = self._send_command_str("diag shell", expect_string=self.prompt_pattern) if "SHELL PARSER FAILURE" in output: msg = "SCP support on Ciena SAOS requires 'diag shell' permissions" raise ValueError(msg) @@ -239,7 +258,7 @@

    Classes

    class CienaSaosBase -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Ciena SAOS support.

    @@ -281,6 +300,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -295,7 +317,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -303,6 +325,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -314,7 +340,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -346,6 +374,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -358,14 +389,33 @@

    Classes

    Implements methods for interacting Ciena Saos devices. """ + prompt_pattern = r"[>#$]" + + def set_base_prompt( + self, + pri_prompt_terminator: str = "", + alt_prompt_terminator: str = "", + delay_factor: float = 1.0, + pattern: Optional[str] = None, + ) -> str: + """Ciena can use '>', '$', '#' for prompt terminator depending on the device.""" + prompt = self.find_prompt(delay_factor=delay_factor) + + pattern = rf"^.+{self.prompt_pattern}$" + if re.search(pattern, prompt): + raise ValueError(f"Router prompt not found: {repr(prompt)}") + # Strip off trailing terminator + self.base_prompt = prompt[:-1] + return self.base_prompt + def session_preparation(self) -> None: - self._test_channel_read(pattern=r"[>#]") + self._test_channel_read(pattern=self.prompt_pattern) self.set_base_prompt() self.disable_paging(command="system shell session set more off") def _enter_shell(self) -> str: """Enter the Bourne Shell.""" - output = self._send_command_str("diag shell", expect_string=r"[$#>]") + output = self._send_command_str("diag shell", expect_string=self.prompt_pattern) if "SHELL PARSER FAILURE" in output: msg = "SCP support on Ciena SAOS requires 'diag shell' permissions" raise ValueError(msg) @@ -397,6 +447,13 @@

    Subclasses

  • CienaSaosSSH
  • CienaSaosTelnet
  • +

    Class variables

    +
    +
    var prompt_pattern
    +
    +
    +
    +

    Methods

    @@ -420,6 +477,33 @@

    Methods

    )
    +
    +def set_base_prompt(self, pri_prompt_terminator: str = '', alt_prompt_terminator: str = '', delay_factor: float = 1.0, pattern: Optional[str] = None) ‑> str +
    +
    +

    Ciena can use '>', '$', '#' for prompt terminator depending on the device.

    +
    + +Expand source code + +
    def set_base_prompt(
    +    self,
    +    pri_prompt_terminator: str = "",
    +    alt_prompt_terminator: str = "",
    +    delay_factor: float = 1.0,
    +    pattern: Optional[str] = None,
    +) -> str:
    +    """Ciena can use '>', '$', '#' for prompt terminator depending on the device."""
    +    prompt = self.find_prompt(delay_factor=delay_factor)
    +
    +    pattern = rf"^.+{self.prompt_pattern}$"
    +    if re.search(pattern, prompt):
    +        raise ValueError(f"Router prompt not found: {repr(prompt)}")
    +    # Strip off trailing terminator
    +    self.base_prompt = prompt[:-1]
    +    return self.base_prompt
    +
    +

    Inherited members

    class CienaSaosSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Ciena SAOS support.

    @@ -756,6 +839,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -770,7 +856,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -778,6 +864,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -789,7 +879,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -821,6 +913,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -872,7 +967,7 @@

    Inherited members

  • send_config_set
  • send_multiline
  • session_preparation
  • -
  • set_base_prompt
  • +
  • set_base_prompt
  • set_terminal_width
  • special_login_handler
  • strip_ansi_escape_codes
  • @@ -929,6 +1024,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -943,7 +1041,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -951,6 +1049,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -962,7 +1064,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -994,6 +1098,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -1048,7 +1155,7 @@

    Inherited members

  • send_config_set
  • send_multiline
  • session_preparation
  • -
  • set_base_prompt
  • +
  • set_base_prompt
  • set_terminal_width
  • special_login_handler
  • strip_ansi_escape_codes
  • @@ -1080,7 +1187,9 @@

    Index

  • CienaSaosBase

  • diff --git a/docs/netmiko/ciena/index.html b/docs/netmiko/ciena/index.html index d941cd790..5636ea9a6 100644 --- a/docs/netmiko/ciena/index.html +++ b/docs/netmiko/ciena/index.html @@ -296,7 +296,7 @@

    Inherited members

  • class CienaSaosSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Ciena SAOS support.

    @@ -338,6 +338,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -352,7 +355,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -360,6 +363,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -371,7 +378,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -403,6 +412,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -454,7 +466,7 @@

    Inherited members

  • send_config_set
  • send_multiline
  • session_preparation
  • -
  • set_base_prompt
  • +
  • set_base_prompt
  • set_terminal_width
  • special_login_handler
  • strip_ansi_escape_codes
  • @@ -511,6 +523,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -525,7 +540,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -533,6 +548,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -544,7 +563,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -576,6 +597,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -630,7 +654,7 @@

    Inherited members

  • send_config_set
  • send_multiline
  • session_preparation
  • -
  • set_base_prompt
  • +
  • set_base_prompt
  • set_terminal_width
  • special_login_handler
  • strip_ansi_escape_codes
  • diff --git a/docs/netmiko/cisco/cisco_asa_ssh.html b/docs/netmiko/cisco/cisco_asa_ssh.html index 79f079aec..48b2ea847 100644 --- a/docs/netmiko/cisco/cisco_asa_ssh.html +++ b/docs/netmiko/cisco/cisco_asa_ssh.html @@ -83,10 +83,15 @@

    Module netmiko.cisco.cisco_asa_ssh

    cmd: str = "enable", pattern: str = "ssword", enable_pattern: Optional[str] = r"\#", + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: return super().enable( - cmd=cmd, pattern=pattern, enable_pattern=enable_pattern, re_flags=re_flags + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, ) def send_command_timing( @@ -302,6 +307,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -316,7 +324,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -324,6 +332,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -335,7 +347,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -367,6 +381,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -420,10 +437,15 @@

    Inherited members

    cmd: str = "enable", pattern: str = "ssword", enable_pattern: Optional[str] = r"\#", + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: return super().enable( - cmd=cmd, pattern=pattern, enable_pattern=enable_pattern, re_flags=re_flags + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, ) def send_command_timing( diff --git a/docs/netmiko/cisco/cisco_ftd_ssh.html b/docs/netmiko/cisco/cisco_ftd_ssh.html index f6c712b76..5895b8c23 100644 --- a/docs/netmiko/cisco/cisco_ftd_ssh.html +++ b/docs/netmiko/cisco/cisco_ftd_ssh.html @@ -64,7 +64,7 @@

    Classes

    class CiscoFtdSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Subclass specific to Cisco FTD.

    @@ -105,6 +105,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -119,7 +122,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -127,6 +130,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -138,7 +145,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -170,6 +179,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/cisco/cisco_ios.html b/docs/netmiko/cisco/cisco_ios.html index 1e07fb403..b1a09f011 100644 --- a/docs/netmiko/cisco/cisco_ios.html +++ b/docs/netmiko/cisco/cisco_ios.html @@ -330,7 +330,7 @@

    Classes

    class CiscoIosBase -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Common Methods for IOS (both SSH and telnet).

    @@ -371,6 +371,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -385,7 +388,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -393,6 +396,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -404,7 +411,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -436,6 +445,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -508,6 +520,30 @@

    Subclasses

    Methods

    +
    +def check_config_mode(self, check_string: str = ')#', pattern: str = '[>#]', force_regex: bool = False) ‑> bool +
    +
    +

    Checks if the device is in configuration mode or not.

    +

    Cisco IOS devices abbreviate the prompt at 20 chars in config mode

    +
    + +Expand source code + +
    def check_config_mode(
    +    self,
    +    check_string: str = ")#",
    +    pattern: str = r"[>#]",
    +    force_regex: bool = False,
    +) -> bool:
    +    """
    +    Checks if the device is in configuration mode or not.
    +
    +    Cisco IOS devices abbreviate the prompt at 20 chars in config mode
    +    """
    +    return super().check_config_mode(check_string=check_string, pattern=pattern)
    +
    +
    def save_config(self, cmd: str = 'write mem', confirm: bool = False, confirm_response: str = '') ‑> str
    @@ -580,7 +616,6 @@

    Inherited members

    class CiscoIosSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Cisco IOS SSH driver.

    @@ -714,6 +749,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -728,7 +766,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -736,6 +774,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -747,7 +789,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -779,6 +823,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -799,7 +846,7 @@

    Inherited members

    class CiscoIosSerial -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Cisco IOS Serial driver.

    @@ -887,6 +934,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -901,7 +951,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -909,6 +959,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -920,7 +974,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -952,6 +1008,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -972,7 +1031,7 @@

    Inherited members

    class CiscoIosTelnet -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Cisco IOS Telnet driver.

    @@ -1060,6 +1119,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -1074,7 +1136,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -1082,6 +1144,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -1093,7 +1159,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -1125,6 +1193,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -1145,7 +1216,7 @@

    Inherited members

    class CiscoNxosSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Base Class for cisco-like behavior.

    @@ -428,6 +428,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -442,7 +445,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -450,6 +453,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -461,7 +468,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -493,6 +502,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -565,25 +577,6 @@

    Ancestors

    Methods

    -
    -def check_config_mode(self, check_string: str = ')#', pattern: str = '[>#]', force_regex: bool = False) ‑> bool -
    -
    -

    Checks if the device is in configuration mode or not.

    -
    - -Expand source code - -
    def check_config_mode(
    -    self,
    -    check_string: str = ")#",
    -    pattern: str = r"[>#]",
    -    force_regex: bool = False,
    -) -> bool:
    -    """Checks if the device is in configuration mode or not."""
    -    return super().check_config_mode(check_string=check_string, pattern=pattern)
    -
    -
    def normalize_linefeeds(self, a_string: str) ‑> str
    @@ -630,6 +623,7 @@

    Inherited members

    • CiscoSSHConnection:
        +
      • check_config_mode
      • check_enable_mode
      • cleanup
      • clear_buffer
      • @@ -697,7 +691,6 @@

        CiscoNxosSSH

        diff --git a/docs/netmiko/cisco/cisco_s200.html b/docs/netmiko/cisco/cisco_s200.html new file mode 100644 index 000000000..3de677f41 --- /dev/null +++ b/docs/netmiko/cisco/cisco_s200.html @@ -0,0 +1,914 @@ + + + + + + +netmiko.cisco.cisco_s200 API documentation + + + + + + + + + + + +
        +
        +
        +

        Module netmiko.cisco.cisco_s200

        +
        +
        +
        + +Expand source code + +
        import re
        +from os import path
        +
        +from paramiko import SSHClient
        +from netmiko.ssh_auth import SSHClient_noauth
        +from netmiko.cisco_base_connection import CiscoSSHConnection
        +from netmiko.exceptions import NetmikoAuthenticationException
        +
        +
        +class CiscoS200Base(CiscoSSHConnection):
        +    """
        +    Support for Cisco SG200 series of devices.
        +
        +    This connection class writes for low cost switches SG200 series, in which there is no command:
        +
        +    ip ssh password-auth
        +
        +    Consequently, Netmiko must handle the SSH authentication itself.
        +    """
        +
        +    prompt_pattern = r"(?m:[>#]\s*$)"  # force re.Multiline
        +
        +    def _build_ssh_client(self) -> SSHClient:
        +        """Allow passwordless authentication for Cisco SG200 devices being provisioned."""
        +
        +        # Create instance of SSHClient object. Use noauth
        +        remote_conn_pre = SSHClient_noauth()
        +
        +        # Load host_keys for better SSH security
        +        if self.system_host_keys:
        +            remote_conn_pre.load_system_host_keys()
        +        if self.alt_host_keys and path.isfile(self.alt_key_file):
        +            remote_conn_pre.load_host_keys(self.alt_key_file)
        +
        +        # Default is to automatically add untrusted hosts (make sure appropriate for your env)
        +        remote_conn_pre.set_missing_host_key_policy(self.key_policy)
        +        return remote_conn_pre
        +
        +    def special_login_handler(self, delay_factor: float = 1.0) -> None:
        +        """Cisco SG2xx presents with the following on login
        +
        +        login as: user
        +
        +        Welcome to Layer 2 Managed Switch
        +
        +        Username: user
        +        Password:****
        +        """
        +        output = ""
        +        uname = "Username:"
        +        login = "login as"
        +        password = "ssword"
        +        pattern = rf"(?:{uname}|{login}|{password}|{self.prompt_pattern})"
        +
        +        while True:
        +            new_data = self.read_until_pattern(pattern=pattern, read_timeout=25.0)
        +            output += new_data
        +
        +            # Fully logged-in, switch prompt detected.
        +            if re.search(self.prompt_pattern, new_data):
        +                return
        +
        +            if uname in new_data or login in new_data:
        +                assert isinstance(self.username, str)
        +                self.write_channel(self.username + self.RETURN)
        +            elif password in new_data:
        +                assert isinstance(self.password, str)
        +                self.write_channel(self.password + self.RETURN)
        +            else:
        +                msg = f"""
        +Failed to login to Cisco SG2xx.
        +
        +Pattern not detected: {pattern}
        +output:
        +
        +{output}
        +
        +"""
        +                raise NetmikoAuthenticationException(msg)
        +
        +    def session_preparation(self) -> None:
        +        """Prepare the session after the connection has been established."""
        +        self.ansi_escape_codes = True
        +        self._test_channel_read(pattern=r"[>#]")
        +        self.set_base_prompt()
        +        self.disable_paging(command="terminal length 0")
        +
        +    def save_config(
        +        self,
        +        cmd: str = "write memory",
        +        confirm: bool = True,
        +        confirm_response: str = "Y",
        +    ) -> str:
        +        return super().save_config(
        +            cmd=cmd, confirm=confirm, confirm_response=confirm_response
        +        )
        +
        +
        +class CiscoS200SSH(CiscoS200Base):
        +    pass
        +
        +
        +class CiscoS200Telnet(CiscoS200Base):
        +    pass
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +

        Classes

        +
        +
        +class CiscoS200Base +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False) +
        +
        +

        Support for Cisco SG200 series of devices.

        +

        This connection class writes for low cost switches SG200 series, in which there is no command:

        +

        ip ssh password-auth

        +

        Consequently, Netmiko must handle the SSH authentication itself.

        +
            Initialize attributes for establishing connection to target device.
        +
        +    :param ip: IP address of target device. Not required if <code>host</code> is
        +        provided.
        +
        +    :param host: Hostname of target device. Not required if <code>ip</code> is
        +            provided.
        +
        +    :param username: Username to authenticate against target device if
        +            required.
        +
        +    :param password: Password to authenticate against target device if
        +            required.
        +
        +    :param secret: The enable password if target device requires one.
        +
        +    :param port: The destination port used to connect to the target
        +            device.
        +
        +    :param device_type: Class selection based on device type.
        +
        +    :param verbose: Enable additional messages to standard output.
        +
        +    :param global_delay_factor: Multiplication factor affecting Netmiko delays (default: 1).
        +
        +    :param use_keys: Connect to target device using SSH keys.
        +
        +    :param key_file: Filename path of the SSH key file to use.
        +
        +    :param pkey: SSH key object to use.
        +
        +    :param passphrase: Passphrase to use for encrypted key; password will be used for key
        +            decryption if not specified.
        +
        +    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko
        +            documentation for a description of the expected format.
        +
        +    :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs
        +        <https://github.com/paramiko/paramiko/issues/1961> (default: False)
        +
        +    :param allow_agent: Enable use of SSH key-agent.
        +
        +    :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which
        +            means unknown SSH host keys will be accepted).
        +
        +    :param system_host_keys: Load host keys from the users known_hosts file.
        +
        +    :param alt_host_keys: If <code>True</code> host keys will be loaded from the file specified in
        +            alt_key_file.
        +
        +    :param alt_key_file: SSH host key file to use (if alt_host_keys=True).
        +
        +    :param ssh_config_file: File name of OpenSSH configuration file.
        +
        +    :param conn_timeout: TCP connection timeout.
        +
        +    :param session_timeout: Set a timeout for parallel requests.
        +
        +    :param auth_timeout: Set a timeout (in seconds) to wait for an authentication response.
        +
        +    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko).
        +
        +    :param read_timeout_override: Set a timeout that will override the default read_timeout
        +            of both send_command and send_command_timing. This is useful for 3rd party
        +            libraries where directly accessing method arguments might be impractical.
        +
        +    :param keepalive: Send SSH keepalive packets at a specific interval, in seconds.
        +            Currently defaults to 0, for backwards compatibility (it will not attempt
        +            to keep the connection alive).
        +
        +    :param default_enter: Character(s) to send to correspond to enter key (default:
        +
        +

        ).

        +
            :param response_return: Character(s) to use in normalized return data to represent
        +            enter key (default:
        +
        +

        )

        +
            :param serial_settings: Dictionary of settings for use with serial port (pySerial).
        +
        +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
        +            to select smallest of global and specific. Sets default global_delay_factor to .1
        +            (default: True)
        +
        +    :param session_log: File path or BufferedIOBase subclass object to write the session log to.
        +
        +    :param session_log_record_writes: The session log generally only records channel reads due
        +            to eliminate command duplication due to command echo. You can enable this if you
        +            want to record both channel reads and channel writes in the log (default: False).
        +
        +    :param session_log_file_mode: "write" or "append" for session_log file mode
        +            (default: "write")
        +
        +    :param allow_auto_change: Allow automatic configuration changes for terminal settings.
        +            (default: False)
        +
        +    :param encoding: Encoding to be used when writing bytes to the output channel.
        +            (default: ascii)
        +
        +    :param sock: An open socket or socket-like object (such as a <code>.Channel</code>) to use for
        +            communication to the target host (default: None).
        +
        +    :param global_cmd_verify: Control whether command echo verification is enabled or disabled
        +            (default: None). Global attribute takes precedence over function <code>cmd\_verify</code>
        +            argument. Value of <code>None</code> indicates to use function <code>cmd\_verify</code> argument.
        +
        +    :param auto_connect: Control whether Netmiko automatically establishes the connection as
        +            part of the object creation (default: True).
        +
        +    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko
        +            3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be
        +            eliminated in Netmiko 5.x (default: False).
        +
        +    :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior
        +            (default: False)
        +
        +
        + +Expand source code + +
        class CiscoS200Base(CiscoSSHConnection):
        +    """
        +    Support for Cisco SG200 series of devices.
        +
        +    This connection class writes for low cost switches SG200 series, in which there is no command:
        +
        +    ip ssh password-auth
        +
        +    Consequently, Netmiko must handle the SSH authentication itself.
        +    """
        +
        +    prompt_pattern = r"(?m:[>#]\s*$)"  # force re.Multiline
        +
        +    def _build_ssh_client(self) -> SSHClient:
        +        """Allow passwordless authentication for Cisco SG200 devices being provisioned."""
        +
        +        # Create instance of SSHClient object. Use noauth
        +        remote_conn_pre = SSHClient_noauth()
        +
        +        # Load host_keys for better SSH security
        +        if self.system_host_keys:
        +            remote_conn_pre.load_system_host_keys()
        +        if self.alt_host_keys and path.isfile(self.alt_key_file):
        +            remote_conn_pre.load_host_keys(self.alt_key_file)
        +
        +        # Default is to automatically add untrusted hosts (make sure appropriate for your env)
        +        remote_conn_pre.set_missing_host_key_policy(self.key_policy)
        +        return remote_conn_pre
        +
        +    def special_login_handler(self, delay_factor: float = 1.0) -> None:
        +        """Cisco SG2xx presents with the following on login
        +
        +        login as: user
        +
        +        Welcome to Layer 2 Managed Switch
        +
        +        Username: user
        +        Password:****
        +        """
        +        output = ""
        +        uname = "Username:"
        +        login = "login as"
        +        password = "ssword"
        +        pattern = rf"(?:{uname}|{login}|{password}|{self.prompt_pattern})"
        +
        +        while True:
        +            new_data = self.read_until_pattern(pattern=pattern, read_timeout=25.0)
        +            output += new_data
        +
        +            # Fully logged-in, switch prompt detected.
        +            if re.search(self.prompt_pattern, new_data):
        +                return
        +
        +            if uname in new_data or login in new_data:
        +                assert isinstance(self.username, str)
        +                self.write_channel(self.username + self.RETURN)
        +            elif password in new_data:
        +                assert isinstance(self.password, str)
        +                self.write_channel(self.password + self.RETURN)
        +            else:
        +                msg = f"""
        +Failed to login to Cisco SG2xx.
        +
        +Pattern not detected: {pattern}
        +output:
        +
        +{output}
        +
        +"""
        +                raise NetmikoAuthenticationException(msg)
        +
        +    def session_preparation(self) -> None:
        +        """Prepare the session after the connection has been established."""
        +        self.ansi_escape_codes = True
        +        self._test_channel_read(pattern=r"[>#]")
        +        self.set_base_prompt()
        +        self.disable_paging(command="terminal length 0")
        +
        +    def save_config(
        +        self,
        +        cmd: str = "write memory",
        +        confirm: bool = True,
        +        confirm_response: str = "Y",
        +    ) -> str:
        +        return super().save_config(
        +            cmd=cmd, confirm=confirm, confirm_response=confirm_response
        +        )
        +
        +

        Ancestors

        + +

        Subclasses

        + +

        Class variables

        +
        +
        var prompt_pattern
        +
        +
        +
        +
        +

        Methods

        +
        +
        +def session_preparation(self) ‑> None +
        +
        +

        Prepare the session after the connection has been established.

        +
        + +Expand source code + +
        def session_preparation(self) -> None:
        +    """Prepare the session after the connection has been established."""
        +    self.ansi_escape_codes = True
        +    self._test_channel_read(pattern=r"[>#]")
        +    self.set_base_prompt()
        +    self.disable_paging(command="terminal length 0")
        +
        +
        +
        +def special_login_handler(self, delay_factor: float = 1.0) ‑> None +
        +
        +

        Cisco SG2xx presents with the following on login

        +

        login as: user

        +

        Welcome to Layer 2 Managed Switch

        +

        Username: user +Password:****

        +
        + +Expand source code + +
            def special_login_handler(self, delay_factor: float = 1.0) -> None:
        +        """Cisco SG2xx presents with the following on login
        +
        +        login as: user
        +
        +        Welcome to Layer 2 Managed Switch
        +
        +        Username: user
        +        Password:****
        +        """
        +        output = ""
        +        uname = "Username:"
        +        login = "login as"
        +        password = "ssword"
        +        pattern = rf"(?:{uname}|{login}|{password}|{self.prompt_pattern})"
        +
        +        while True:
        +            new_data = self.read_until_pattern(pattern=pattern, read_timeout=25.0)
        +            output += new_data
        +
        +            # Fully logged-in, switch prompt detected.
        +            if re.search(self.prompt_pattern, new_data):
        +                return
        +
        +            if uname in new_data or login in new_data:
        +                assert isinstance(self.username, str)
        +                self.write_channel(self.username + self.RETURN)
        +            elif password in new_data:
        +                assert isinstance(self.password, str)
        +                self.write_channel(self.password + self.RETURN)
        +            else:
        +                msg = f"""
        +Failed to login to Cisco SG2xx.
        +
        +Pattern not detected: {pattern}
        +output:
        +
        +{output}
        +
        +"""
        +                raise NetmikoAuthenticationException(msg)
        +
        +
        +
        +

        Inherited members

        + +
        +
        +class CiscoS200SSH +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False) +
        +
        +

        Support for Cisco SG200 series of devices.

        +

        This connection class writes for low cost switches SG200 series, in which there is no command:

        +

        ip ssh password-auth

        +

        Consequently, Netmiko must handle the SSH authentication itself.

        +
            Initialize attributes for establishing connection to target device.
        +
        +    :param ip: IP address of target device. Not required if <code>host</code> is
        +        provided.
        +
        +    :param host: Hostname of target device. Not required if <code>ip</code> is
        +            provided.
        +
        +    :param username: Username to authenticate against target device if
        +            required.
        +
        +    :param password: Password to authenticate against target device if
        +            required.
        +
        +    :param secret: The enable password if target device requires one.
        +
        +    :param port: The destination port used to connect to the target
        +            device.
        +
        +    :param device_type: Class selection based on device type.
        +
        +    :param verbose: Enable additional messages to standard output.
        +
        +    :param global_delay_factor: Multiplication factor affecting Netmiko delays (default: 1).
        +
        +    :param use_keys: Connect to target device using SSH keys.
        +
        +    :param key_file: Filename path of the SSH key file to use.
        +
        +    :param pkey: SSH key object to use.
        +
        +    :param passphrase: Passphrase to use for encrypted key; password will be used for key
        +            decryption if not specified.
        +
        +    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko
        +            documentation for a description of the expected format.
        +
        +    :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs
        +        <https://github.com/paramiko/paramiko/issues/1961> (default: False)
        +
        +    :param allow_agent: Enable use of SSH key-agent.
        +
        +    :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which
        +            means unknown SSH host keys will be accepted).
        +
        +    :param system_host_keys: Load host keys from the users known_hosts file.
        +
        +    :param alt_host_keys: If <code>True</code> host keys will be loaded from the file specified in
        +            alt_key_file.
        +
        +    :param alt_key_file: SSH host key file to use (if alt_host_keys=True).
        +
        +    :param ssh_config_file: File name of OpenSSH configuration file.
        +
        +    :param conn_timeout: TCP connection timeout.
        +
        +    :param session_timeout: Set a timeout for parallel requests.
        +
        +    :param auth_timeout: Set a timeout (in seconds) to wait for an authentication response.
        +
        +    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko).
        +
        +    :param read_timeout_override: Set a timeout that will override the default read_timeout
        +            of both send_command and send_command_timing. This is useful for 3rd party
        +            libraries where directly accessing method arguments might be impractical.
        +
        +    :param keepalive: Send SSH keepalive packets at a specific interval, in seconds.
        +            Currently defaults to 0, for backwards compatibility (it will not attempt
        +            to keep the connection alive).
        +
        +    :param default_enter: Character(s) to send to correspond to enter key (default:
        +
        +

        ).

        +
            :param response_return: Character(s) to use in normalized return data to represent
        +            enter key (default:
        +
        +

        )

        +
            :param serial_settings: Dictionary of settings for use with serial port (pySerial).
        +
        +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
        +            to select smallest of global and specific. Sets default global_delay_factor to .1
        +            (default: True)
        +
        +    :param session_log: File path or BufferedIOBase subclass object to write the session log to.
        +
        +    :param session_log_record_writes: The session log generally only records channel reads due
        +            to eliminate command duplication due to command echo. You can enable this if you
        +            want to record both channel reads and channel writes in the log (default: False).
        +
        +    :param session_log_file_mode: "write" or "append" for session_log file mode
        +            (default: "write")
        +
        +    :param allow_auto_change: Allow automatic configuration changes for terminal settings.
        +            (default: False)
        +
        +    :param encoding: Encoding to be used when writing bytes to the output channel.
        +            (default: ascii)
        +
        +    :param sock: An open socket or socket-like object (such as a <code>.Channel</code>) to use for
        +            communication to the target host (default: None).
        +
        +    :param global_cmd_verify: Control whether command echo verification is enabled or disabled
        +            (default: None). Global attribute takes precedence over function <code>cmd\_verify</code>
        +            argument. Value of <code>None</code> indicates to use function <code>cmd\_verify</code> argument.
        +
        +    :param auto_connect: Control whether Netmiko automatically establishes the connection as
        +            part of the object creation (default: True).
        +
        +    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko
        +            3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be
        +            eliminated in Netmiko 5.x (default: False).
        +
        +    :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior
        +            (default: False)
        +
        +
        + +Expand source code + +
        class CiscoS200SSH(CiscoS200Base):
        +    pass
        +
        +

        Ancestors

        + +

        Inherited members

        + +
        +
        +class CiscoS200Telnet +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False) +
        +
        +

        Support for Cisco SG200 series of devices.

        +

        This connection class writes for low cost switches SG200 series, in which there is no command:

        +

        ip ssh password-auth

        +

        Consequently, Netmiko must handle the SSH authentication itself.

        +
            Initialize attributes for establishing connection to target device.
        +
        +    :param ip: IP address of target device. Not required if <code>host</code> is
        +        provided.
        +
        +    :param host: Hostname of target device. Not required if <code>ip</code> is
        +            provided.
        +
        +    :param username: Username to authenticate against target device if
        +            required.
        +
        +    :param password: Password to authenticate against target device if
        +            required.
        +
        +    :param secret: The enable password if target device requires one.
        +
        +    :param port: The destination port used to connect to the target
        +            device.
        +
        +    :param device_type: Class selection based on device type.
        +
        +    :param verbose: Enable additional messages to standard output.
        +
        +    :param global_delay_factor: Multiplication factor affecting Netmiko delays (default: 1).
        +
        +    :param use_keys: Connect to target device using SSH keys.
        +
        +    :param key_file: Filename path of the SSH key file to use.
        +
        +    :param pkey: SSH key object to use.
        +
        +    :param passphrase: Passphrase to use for encrypted key; password will be used for key
        +            decryption if not specified.
        +
        +    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko
        +            documentation for a description of the expected format.
        +
        +    :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs
        +        <https://github.com/paramiko/paramiko/issues/1961> (default: False)
        +
        +    :param allow_agent: Enable use of SSH key-agent.
        +
        +    :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which
        +            means unknown SSH host keys will be accepted).
        +
        +    :param system_host_keys: Load host keys from the users known_hosts file.
        +
        +    :param alt_host_keys: If <code>True</code> host keys will be loaded from the file specified in
        +            alt_key_file.
        +
        +    :param alt_key_file: SSH host key file to use (if alt_host_keys=True).
        +
        +    :param ssh_config_file: File name of OpenSSH configuration file.
        +
        +    :param conn_timeout: TCP connection timeout.
        +
        +    :param session_timeout: Set a timeout for parallel requests.
        +
        +    :param auth_timeout: Set a timeout (in seconds) to wait for an authentication response.
        +
        +    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko).
        +
        +    :param read_timeout_override: Set a timeout that will override the default read_timeout
        +            of both send_command and send_command_timing. This is useful for 3rd party
        +            libraries where directly accessing method arguments might be impractical.
        +
        +    :param keepalive: Send SSH keepalive packets at a specific interval, in seconds.
        +            Currently defaults to 0, for backwards compatibility (it will not attempt
        +            to keep the connection alive).
        +
        +    :param default_enter: Character(s) to send to correspond to enter key (default:
        +
        +

        ).

        +
            :param response_return: Character(s) to use in normalized return data to represent
        +            enter key (default:
        +
        +

        )

        +
            :param serial_settings: Dictionary of settings for use with serial port (pySerial).
        +
        +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
        +            to select smallest of global and specific. Sets default global_delay_factor to .1
        +            (default: True)
        +
        +    :param session_log: File path or BufferedIOBase subclass object to write the session log to.
        +
        +    :param session_log_record_writes: The session log generally only records channel reads due
        +            to eliminate command duplication due to command echo. You can enable this if you
        +            want to record both channel reads and channel writes in the log (default: False).
        +
        +    :param session_log_file_mode: "write" or "append" for session_log file mode
        +            (default: "write")
        +
        +    :param allow_auto_change: Allow automatic configuration changes for terminal settings.
        +            (default: False)
        +
        +    :param encoding: Encoding to be used when writing bytes to the output channel.
        +            (default: ascii)
        +
        +    :param sock: An open socket or socket-like object (such as a <code>.Channel</code>) to use for
        +            communication to the target host (default: None).
        +
        +    :param global_cmd_verify: Control whether command echo verification is enabled or disabled
        +            (default: None). Global attribute takes precedence over function <code>cmd\_verify</code>
        +            argument. Value of <code>None</code> indicates to use function <code>cmd\_verify</code> argument.
        +
        +    :param auto_connect: Control whether Netmiko automatically establishes the connection as
        +            part of the object creation (default: True).
        +
        +    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko
        +            3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be
        +            eliminated in Netmiko 5.x (default: False).
        +
        +    :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior
        +            (default: False)
        +
        +
        + +Expand source code + +
        class CiscoS200Telnet(CiscoS200Base):
        +    pass
        +
        +

        Ancestors

        + +

        Inherited members

        + +
        +
        +
        +
        + +
        + + + \ No newline at end of file diff --git a/docs/netmiko/cisco/cisco_s300.html b/docs/netmiko/cisco/cisco_s300.html index f310ddd5e..eb4ee45ff 100644 --- a/docs/netmiko/cisco/cisco_s300.html +++ b/docs/netmiko/cisco/cisco_s300.html @@ -82,7 +82,7 @@

        Classes

        class CiscoS300Base -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

        Support for Cisco SG300 series of devices.

        @@ -126,6 +126,9 @@

        Classes

        :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -140,7 +143,7 @@

        Classes

        :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -148,6 +151,10 @@

        Classes

        :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -159,7 +166,9 @@

        Classes

        enter key (default:

        )

        -
            :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
        +
            :param serial_settings: Dictionary of settings for use with serial port (pySerial).
        +
        +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                     to select smallest of global and specific. Sets default global_delay_factor to .1
                     (default: True)
         
        @@ -191,6 +200,9 @@ 

        Classes

        :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
        @@ -306,7 +318,7 @@

        Inherited members

        class CiscoS300SSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

        Support for Cisco SG300 series of devices.

        @@ -350,6 +362,9 @@

        Inherited members

        :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -364,7 +379,7 @@

        Inherited members

        :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -372,6 +387,10 @@

        Inherited members

        :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -383,7 +402,9 @@

        Inherited members

        enter key (default:

        )

        -
            :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
        +
            :param serial_settings: Dictionary of settings for use with serial port (pySerial).
        +
        +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                     to select smallest of global and specific. Sets default global_delay_factor to .1
                     (default: True)
         
        @@ -415,6 +436,9 @@ 

        Inherited members

        :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
        @@ -481,7 +505,7 @@

        Inherited members

        class CiscoS300Telnet -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

        Support for Cisco SG300 series of devices, with telnet. @@ -523,6 +547,9 @@

        Inherited members

        :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -537,7 +564,7 @@

        Inherited members

        :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -545,6 +572,10 @@

        Inherited members

        :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -556,7 +587,9 @@

        Inherited members

        enter key (default:

        )

        -
            :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
        +
            :param serial_settings: Dictionary of settings for use with serial port (pySerial).
        +
        +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                     to select smallest of global and specific. Sets default global_delay_factor to .1
                     (default: True)
         
        @@ -588,6 +621,9 @@ 

        Inherited members

        :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
        diff --git a/docs/netmiko/cisco/cisco_tp_tcce.html b/docs/netmiko/cisco/cisco_tp_tcce.html index 2eb8c15b8..20bc17be2 100644 --- a/docs/netmiko/cisco/cisco_tp_tcce.html +++ b/docs/netmiko/cisco/cisco_tp_tcce.html @@ -176,6 +176,9 @@

        Classes

        :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -190,7 +193,7 @@

        Classes

        :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -198,6 +201,10 @@

        Classes

        :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -209,7 +216,9 @@

        Classes

        enter key (default:

        )

        -
            :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
        +
            :param serial_settings: Dictionary of settings for use with serial port (pySerial).
        +
        +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                     to select smallest of global and specific. Sets default global_delay_factor to .1
                     (default: True)
         
        @@ -241,6 +250,9 @@ 

        Classes

        :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
        diff --git a/docs/netmiko/cisco/cisco_viptela.html b/docs/netmiko/cisco/cisco_viptela.html index a74f26f17..378fac506 100644 --- a/docs/netmiko/cisco/cisco_viptela.html +++ b/docs/netmiko/cisco/cisco_viptela.html @@ -122,7 +122,7 @@

        Classes

        class CiscoViptelaSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

        Subclass specific to Cisco Viptela.

        @@ -163,6 +163,9 @@

        Classes

        :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -177,7 +180,7 @@

        Classes

        :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -185,6 +188,10 @@

        Classes

        :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -196,7 +203,9 @@

        Classes

        enter key (default:

        )

        -
            :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
        +
            :param serial_settings: Dictionary of settings for use with serial port (pySerial).
        +
        +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                     to select smallest of global and specific. Sets default global_delay_factor to .1
                     (default: True)
         
        @@ -228,6 +237,9 @@ 

        Classes

        :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
        @@ -317,22 +329,6 @@

        Ancestors

      Methods

      -
      -def check_config_mode(self, check_string: str = ')#', pattern: str = '#', force_regex: bool = False) ‑> bool -
      -
      -

      Checks if the device is in configuration mode or not.

      -
      - -Expand source code - -
      def check_config_mode(
      -    self, check_string: str = ")#", pattern: str = "#", force_regex: bool = False
      -) -> bool:
      -    """Checks if the device is in configuration mode or not."""
      -    return super().check_config_mode(check_string=check_string, pattern=pattern)
      -
      -
      def exit_config_mode(self, exit_config: str = 'end', pattern: str = '#') ‑> str
      @@ -411,6 +407,7 @@

      Inherited members

      • CiscoSSHConnection:
          +
        • check_config_mode
        • check_enable_mode
        • cleanup
        • clear_buffer
        • @@ -471,7 +468,6 @@

          Index

        • CiscoViptelaSSH

            -
          • check_config_mode
          • exit_config_mode
          • save_config
          • session_preparation
          • diff --git a/docs/netmiko/cisco/cisco_wlc_ssh.html b/docs/netmiko/cisco/cisco_wlc_ssh.html index 1a5f91750..ecf9cb019 100644 --- a/docs/netmiko/cisco/cisco_wlc_ssh.html +++ b/docs/netmiko/cisco/cisco_wlc_ssh.html @@ -226,6 +226,8 @@

            Module netmiko.cisco.cisco_wlc_ssh

            self._session_log_fin = True self.write_channel("n" + self.RETURN) + time.sleep(0.5) + try: self.write_channel(self.RETURN) except socket.error: @@ -298,7 +300,7 @@

            Classes

            class CiscoWlcSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

            Netmiko Cisco WLC support.

            @@ -339,6 +341,9 @@

            Classes

            :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -353,7 +358,7 @@

            Classes

            :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -361,6 +366,10 @@

            Classes

            :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -372,7 +381,9 @@

            Classes

            enter key (default:

            )

            -
                :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
            +
                :param serial_settings: Dictionary of settings for use with serial port (pySerial).
            +
            +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                         to select smallest of global and specific. Sets default global_delay_factor to .1
                         (default: True)
             
            @@ -404,6 +415,9 @@ 

            Classes

            :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
            @@ -598,6 +612,8 @@

            Classes

            self._session_log_fin = True self.write_channel("n" + self.RETURN) + time.sleep(0.5) + try: self.write_channel(self.RETURN) except socket.error: @@ -728,6 +744,8 @@

            Methods

            self._session_log_fin = True self.write_channel("n" + self.RETURN) + time.sleep(0.5) + try: self.write_channel(self.RETURN) except socket.error: diff --git a/docs/netmiko/cisco/cisco_xr.html b/docs/netmiko/cisco/cisco_xr.html index 021af7ce8..9026064ff 100644 --- a/docs/netmiko/cisco/cisco_xr.html +++ b/docs/netmiko/cisco/cisco_xr.html @@ -174,6 +174,7 @@

            Module netmiko.cisco.cisco_xr

            strip_prompt=False, strip_command=False, read_timeout=read_timeout, + cmd_verify=False, ) output += new_data if error_marker in output: @@ -181,7 +182,7 @@

            Module netmiko.cisco.cisco_xr

            if alt_error_marker in output: # Other commits occurred, don't proceed with commit output += self._send_command_timing_str( - "no", strip_prompt=False, strip_command=False + "no", strip_prompt=False, strip_command=False, cmd_verify=False ) raise ValueError(f"Commit failed with the following errors:\n\n{output}") @@ -299,7 +300,7 @@

            Classes

            class CiscoXrBase -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

            Base Class for cisco-like behavior.

            @@ -340,6 +341,9 @@

            Classes

            :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -354,7 +358,7 @@

            Classes

            :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -362,6 +366,10 @@

            Classes

            :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -373,7 +381,9 @@

            Classes

            enter key (default:

            )

            -
                :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
            +
                :param serial_settings: Dictionary of settings for use with serial port (pySerial).
            +
            +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                         to select smallest of global and specific. Sets default global_delay_factor to .1
                         (default: True)
             
            @@ -405,6 +415,9 @@ 

            Classes

            :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
            @@ -551,6 +564,7 @@

            Classes

            strip_prompt=False, strip_command=False, read_timeout=read_timeout, + cmd_verify=False, ) output += new_data if error_marker in output: @@ -558,7 +572,7 @@

            Classes

            if alt_error_marker in output: # Other commits occurred, don't proceed with commit output += self._send_command_timing_str( - "no", strip_prompt=False, strip_command=False + "no", strip_prompt=False, strip_command=False, cmd_verify=False ) raise ValueError(f"Commit failed with the following errors:\n\n{output}") @@ -778,6 +792,7 @@

            Methods

            strip_prompt=False, strip_command=False, read_timeout=read_timeout, + cmd_verify=False, ) output += new_data if error_marker in output: @@ -785,7 +800,7 @@

            Methods

            if alt_error_marker in output: # Other commits occurred, don't proceed with commit output += self._send_command_timing_str( - "no", strip_prompt=False, strip_command=False + "no", strip_prompt=False, strip_command=False, cmd_verify=False ) raise ValueError(f"Commit failed with the following errors:\n\n{output}") @@ -1115,7 +1130,7 @@

            Inherited members

            class CiscoXrSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

            Cisco XR SSH driver.

            @@ -1156,6 +1171,9 @@

            Inherited members

            :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -1170,7 +1188,7 @@

            Inherited members

            :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -1178,6 +1196,10 @@

            Inherited members

            :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -1189,7 +1211,9 @@

            Inherited members

            enter key (default:

            )

            -
                :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
            +
                :param serial_settings: Dictionary of settings for use with serial port (pySerial).
            +
            +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                         to select smallest of global and specific. Sets default global_delay_factor to .1
                         (default: True)
             
            @@ -1221,6 +1245,9 @@ 

            Inherited members

            :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
            @@ -1288,7 +1315,7 @@

            Inherited members

            class CiscoXrTelnet -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

            Cisco XR Telnet driver.

            @@ -1329,6 +1356,9 @@

            Inherited members

            :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -1343,7 +1373,7 @@

            Inherited members

            :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -1351,6 +1381,10 @@

            Inherited members

            :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -1362,7 +1396,9 @@

            Inherited members

            enter key (default:

            )

            -
                :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
            +
                :param serial_settings: Dictionary of settings for use with serial port (pySerial).
            +
            +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                         to select smallest of global and specific. Sets default global_delay_factor to .1
                         (default: True)
             
            @@ -1394,6 +1430,9 @@ 

            Inherited members

            :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
            diff --git a/docs/netmiko/cisco/index.html b/docs/netmiko/cisco/index.html index eff4b4f09..fea7e9caa 100644 --- a/docs/netmiko/cisco/index.html +++ b/docs/netmiko/cisco/index.html @@ -39,6 +39,8 @@

            Module netmiko.cisco

            from netmiko.cisco.cisco_nxos_ssh import CiscoNxosSSH, CiscoNxosFileTransfer from netmiko.cisco.cisco_xr import CiscoXrSSH, CiscoXrTelnet, CiscoXrFileTransfer from netmiko.cisco.cisco_wlc_ssh import CiscoWlcSSH +from netmiko.cisco.cisco_s200 import CiscoS200SSH +from netmiko.cisco.cisco_s200 import CiscoS200Telnet from netmiko.cisco.cisco_s300 import CiscoS300SSH from netmiko.cisco.cisco_s300 import CiscoS300Telnet from netmiko.cisco.cisco_tp_tcce import CiscoTpTcCeSSH @@ -53,6 +55,8 @@

            Module netmiko.cisco

            "CiscoXrSSH", "CiscoXrTelnet", "CiscoWlcSSH", + "CiscoS200SSH", + "CiscoS200Telnet", "CiscoS300SSH", "CiscoS300Telnet", "CiscoTpTcCeSSH", @@ -86,6 +90,10 @@

            Sub-modules

            +
            netmiko.cisco.cisco_s200
            +
            +
            +
            netmiko.cisco.cisco_s300
            @@ -205,6 +213,9 @@

            Inherited members

            :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -219,7 +230,7 @@

            Inherited members

            :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -227,6 +238,10 @@

            Inherited members

            :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -238,7 +253,9 @@

            Inherited members

            enter key (default:

            )

            -
                :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
            +
                :param serial_settings: Dictionary of settings for use with serial port (pySerial).
            +
            +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                         to select smallest of global and specific. Sets default global_delay_factor to .1
                         (default: True)
             
            @@ -270,6 +287,9 @@ 

            Inherited members

            :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
            @@ -323,10 +343,15 @@

            Inherited members

            cmd: str = "enable", pattern: str = "ssword", enable_pattern: Optional[str] = r"\#", + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: return super().enable( - cmd=cmd, pattern=pattern, enable_pattern=enable_pattern, re_flags=re_flags + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, ) def send_command_timing( @@ -708,7 +733,7 @@

            Inherited members

            class CiscoFtdSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

            Subclass specific to Cisco FTD.

            @@ -749,6 +774,9 @@

            Inherited members

            :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -763,7 +791,7 @@

            Inherited members

            :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -771,6 +799,10 @@

            Inherited members

            :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -782,7 +814,9 @@

            Inherited members

            enter key (default:

            )

            -
                :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
            +
                :param serial_settings: Dictionary of settings for use with serial port (pySerial).
            +
            +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                         to select smallest of global and specific. Sets default global_delay_factor to .1
                         (default: True)
             
            @@ -814,6 +848,9 @@ 

            Inherited members

            :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
            @@ -941,7 +978,7 @@

            Inherited members

            class CiscoIosBase -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

            Common Methods for IOS (both SSH and telnet).

            @@ -982,6 +1019,9 @@

            Inherited members

            :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -996,7 +1036,7 @@

            Inherited members

            :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -1004,6 +1044,10 @@

            Inherited members

            :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -1015,7 +1059,9 @@

            Inherited members

            enter key (default:

            )

            -
                :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
            +
                :param serial_settings: Dictionary of settings for use with serial port (pySerial).
            +
            +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                         to select smallest of global and specific. Sets default global_delay_factor to .1
                         (default: True)
             
            @@ -1047,6 +1093,9 @@ 

            Inherited members

            :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
            @@ -1119,6 +1168,30 @@

            Subclasses

          Methods

          +
          +def check_config_mode(self, check_string: str = ')#', pattern: str = '[>#]', force_regex: bool = False) ‑> bool +
          +
          +

          Checks if the device is in configuration mode or not.

          +

          Cisco IOS devices abbreviate the prompt at 20 chars in config mode

          +
          + +Expand source code + +
          def check_config_mode(
          +    self,
          +    check_string: str = ")#",
          +    pattern: str = r"[>#]",
          +    force_regex: bool = False,
          +) -> bool:
          +    """
          +    Checks if the device is in configuration mode or not.
          +
          +    Cisco IOS devices abbreviate the prompt at 20 chars in config mode
          +    """
          +    return super().check_config_mode(check_string=check_string, pattern=pattern)
          +
          +
          def save_config(self, cmd: str = 'write mem', confirm: bool = False, confirm_response: str = '') ‑> str
          @@ -1191,7 +1264,6 @@

          Inherited members

    class CiscoIosSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Cisco IOS SSH driver.

    @@ -1325,6 +1397,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -1339,7 +1414,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -1347,6 +1422,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -1358,7 +1437,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -1390,6 +1471,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -1410,7 +1494,7 @@

    Inherited members

    class CiscoIosSerial -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Cisco IOS Serial driver.

    @@ -1498,6 +1582,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -1512,7 +1599,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -1520,6 +1607,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -1531,7 +1622,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -1563,6 +1656,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -1583,7 +1679,7 @@

    Inherited members

    class CiscoIosTelnet -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Cisco IOS Telnet driver.

    @@ -1671,6 +1767,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -1685,7 +1784,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -1693,6 +1792,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -1704,7 +1807,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -1736,6 +1841,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -1756,7 +1864,7 @@

    Inherited members

    class CiscoNxosSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Base Class for cisco-like behavior.

    @@ -2013,6 +2121,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -2027,7 +2138,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -2035,6 +2146,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -2046,7 +2161,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -2078,6 +2195,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -2150,25 +2270,6 @@

    Ancestors

    Methods

    -
    -def check_config_mode(self, check_string: str = ')#', pattern: str = '[>#]', force_regex: bool = False) ‑> bool -
    -
    -

    Checks if the device is in configuration mode or not.

    -
    - -Expand source code - -
    def check_config_mode(
    -    self,
    -    check_string: str = ")#",
    -    pattern: str = r"[>#]",
    -    force_regex: bool = False,
    -) -> bool:
    -    """Checks if the device is in configuration mode or not."""
    -    return super().check_config_mode(check_string=check_string, pattern=pattern)
    -
    -
    def normalize_linefeeds(self, a_string: str) ‑> str
    @@ -2215,6 +2316,7 @@

    Inherited members

    +
    +class CiscoS200SSH +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False) +
    +
    +

    Support for Cisco SG200 series of devices.

    +

    This connection class writes for low cost switches SG200 series, in which there is no command:

    +

    ip ssh password-auth

    +

    Consequently, Netmiko must handle the SSH authentication itself.

    +
        Initialize attributes for establishing connection to target device.
    +
    +    :param ip: IP address of target device. Not required if <code>host</code> is
    +        provided.
    +
    +    :param host: Hostname of target device. Not required if <code>ip</code> is
    +            provided.
    +
    +    :param username: Username to authenticate against target device if
    +            required.
    +
    +    :param password: Password to authenticate against target device if
    +            required.
    +
    +    :param secret: The enable password if target device requires one.
    +
    +    :param port: The destination port used to connect to the target
    +            device.
    +
    +    :param device_type: Class selection based on device type.
    +
    +    :param verbose: Enable additional messages to standard output.
    +
    +    :param global_delay_factor: Multiplication factor affecting Netmiko delays (default: 1).
    +
    +    :param use_keys: Connect to target device using SSH keys.
    +
    +    :param key_file: Filename path of the SSH key file to use.
    +
    +    :param pkey: SSH key object to use.
    +
    +    :param passphrase: Passphrase to use for encrypted key; password will be used for key
    +            decryption if not specified.
    +
    +    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko
    +            documentation for a description of the expected format.
    +
    +    :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs
    +        <https://github.com/paramiko/paramiko/issues/1961> (default: False)
    +
    +    :param allow_agent: Enable use of SSH key-agent.
    +
    +    :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which
    +            means unknown SSH host keys will be accepted).
    +
    +    :param system_host_keys: Load host keys from the users known_hosts file.
    +
    +    :param alt_host_keys: If <code>True</code> host keys will be loaded from the file specified in
    +            alt_key_file.
    +
    +    :param alt_key_file: SSH host key file to use (if alt_host_keys=True).
    +
    +    :param ssh_config_file: File name of OpenSSH configuration file.
    +
    +    :param conn_timeout: TCP connection timeout.
    +
    +    :param session_timeout: Set a timeout for parallel requests.
    +
    +    :param auth_timeout: Set a timeout (in seconds) to wait for an authentication response.
    +
    +    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko).
    +
    +    :param read_timeout_override: Set a timeout that will override the default read_timeout
    +            of both send_command and send_command_timing. This is useful for 3rd party
    +            libraries where directly accessing method arguments might be impractical.
    +
    +    :param keepalive: Send SSH keepalive packets at a specific interval, in seconds.
    +            Currently defaults to 0, for backwards compatibility (it will not attempt
    +            to keep the connection alive).
    +
    +    :param default_enter: Character(s) to send to correspond to enter key (default:
    +
    +

    ).

    +
        :param response_return: Character(s) to use in normalized return data to represent
    +            enter key (default:
    +
    +

    )

    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +            to select smallest of global and specific. Sets default global_delay_factor to .1
    +            (default: True)
    +
    +    :param session_log: File path or BufferedIOBase subclass object to write the session log to.
    +
    +    :param session_log_record_writes: The session log generally only records channel reads due
    +            to eliminate command duplication due to command echo. You can enable this if you
    +            want to record both channel reads and channel writes in the log (default: False).
    +
    +    :param session_log_file_mode: "write" or "append" for session_log file mode
    +            (default: "write")
    +
    +    :param allow_auto_change: Allow automatic configuration changes for terminal settings.
    +            (default: False)
    +
    +    :param encoding: Encoding to be used when writing bytes to the output channel.
    +            (default: ascii)
    +
    +    :param sock: An open socket or socket-like object (such as a <code>.Channel</code>) to use for
    +            communication to the target host (default: None).
    +
    +    :param global_cmd_verify: Control whether command echo verification is enabled or disabled
    +            (default: None). Global attribute takes precedence over function <code>cmd\_verify</code>
    +            argument. Value of <code>None</code> indicates to use function <code>cmd\_verify</code> argument.
    +
    +    :param auto_connect: Control whether Netmiko automatically establishes the connection as
    +            part of the object creation (default: True).
    +
    +    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko
    +            3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be
    +            eliminated in Netmiko 5.x (default: False).
    +
    +    :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior
    +            (default: False)
    +
    +
    + +Expand source code + +
    class CiscoS200SSH(CiscoS200Base):
    +    pass
    +
    +

    Ancestors

    + +

    Inherited members

    + +
    +
    +class CiscoS200Telnet +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False) +
    +
    +

    Support for Cisco SG200 series of devices.

    +

    This connection class writes for low cost switches SG200 series, in which there is no command:

    +

    ip ssh password-auth

    +

    Consequently, Netmiko must handle the SSH authentication itself.

    +
        Initialize attributes for establishing connection to target device.
    +
    +    :param ip: IP address of target device. Not required if <code>host</code> is
    +        provided.
    +
    +    :param host: Hostname of target device. Not required if <code>ip</code> is
    +            provided.
    +
    +    :param username: Username to authenticate against target device if
    +            required.
    +
    +    :param password: Password to authenticate against target device if
    +            required.
    +
    +    :param secret: The enable password if target device requires one.
    +
    +    :param port: The destination port used to connect to the target
    +            device.
    +
    +    :param device_type: Class selection based on device type.
    +
    +    :param verbose: Enable additional messages to standard output.
    +
    +    :param global_delay_factor: Multiplication factor affecting Netmiko delays (default: 1).
    +
    +    :param use_keys: Connect to target device using SSH keys.
    +
    +    :param key_file: Filename path of the SSH key file to use.
    +
    +    :param pkey: SSH key object to use.
    +
    +    :param passphrase: Passphrase to use for encrypted key; password will be used for key
    +            decryption if not specified.
    +
    +    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko
    +            documentation for a description of the expected format.
    +
    +    :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs
    +        <https://github.com/paramiko/paramiko/issues/1961> (default: False)
    +
    +    :param allow_agent: Enable use of SSH key-agent.
    +
    +    :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which
    +            means unknown SSH host keys will be accepted).
    +
    +    :param system_host_keys: Load host keys from the users known_hosts file.
    +
    +    :param alt_host_keys: If <code>True</code> host keys will be loaded from the file specified in
    +            alt_key_file.
    +
    +    :param alt_key_file: SSH host key file to use (if alt_host_keys=True).
    +
    +    :param ssh_config_file: File name of OpenSSH configuration file.
    +
    +    :param conn_timeout: TCP connection timeout.
    +
    +    :param session_timeout: Set a timeout for parallel requests.
    +
    +    :param auth_timeout: Set a timeout (in seconds) to wait for an authentication response.
    +
    +    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko).
    +
    +    :param read_timeout_override: Set a timeout that will override the default read_timeout
    +            of both send_command and send_command_timing. This is useful for 3rd party
    +            libraries where directly accessing method arguments might be impractical.
    +
    +    :param keepalive: Send SSH keepalive packets at a specific interval, in seconds.
    +            Currently defaults to 0, for backwards compatibility (it will not attempt
    +            to keep the connection alive).
    +
    +    :param default_enter: Character(s) to send to correspond to enter key (default:
    +
    +

    ).

    +
        :param response_return: Character(s) to use in normalized return data to represent
    +            enter key (default:
    +
    +

    )

    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +            to select smallest of global and specific. Sets default global_delay_factor to .1
    +            (default: True)
    +
    +    :param session_log: File path or BufferedIOBase subclass object to write the session log to.
    +
    +    :param session_log_record_writes: The session log generally only records channel reads due
    +            to eliminate command duplication due to command echo. You can enable this if you
    +            want to record both channel reads and channel writes in the log (default: False).
    +
    +    :param session_log_file_mode: "write" or "append" for session_log file mode
    +            (default: "write")
    +
    +    :param allow_auto_change: Allow automatic configuration changes for terminal settings.
    +            (default: False)
    +
    +    :param encoding: Encoding to be used when writing bytes to the output channel.
    +            (default: ascii)
    +
    +    :param sock: An open socket or socket-like object (such as a <code>.Channel</code>) to use for
    +            communication to the target host (default: None).
    +
    +    :param global_cmd_verify: Control whether command echo verification is enabled or disabled
    +            (default: None). Global attribute takes precedence over function <code>cmd\_verify</code>
    +            argument. Value of <code>None</code> indicates to use function <code>cmd\_verify</code> argument.
    +
    +    :param auto_connect: Control whether Netmiko automatically establishes the connection as
    +            part of the object creation (default: True).
    +
    +    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko
    +            3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be
    +            eliminated in Netmiko 5.x (default: False).
    +
    +    :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior
    +            (default: False)
    +
    +
    + +Expand source code + +
    class CiscoS200Telnet(CiscoS200Base):
    +    pass
    +
    +

    Ancestors

    + +

    Inherited members

    + +
    class CiscoS300SSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Support for Cisco SG300 series of devices.

    @@ -2303,6 +2779,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -2317,7 +2796,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -2325,6 +2804,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -2336,7 +2819,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -2368,6 +2853,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -2434,7 +2922,7 @@

    Inherited members

    class CiscoS300Telnet -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Support for Cisco SG300 series of devices, with telnet. @@ -2476,6 +2964,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -2490,7 +2981,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -2498,6 +2989,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -2509,7 +3004,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -2541,6 +3038,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -2653,6 +3153,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -2667,7 +3170,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -2675,6 +3178,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -2686,7 +3193,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -2718,6 +3227,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -3000,7 +3512,7 @@

    Inherited members

    class CiscoViptelaSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Subclass specific to Cisco Viptela.

    @@ -3041,6 +3553,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -3055,7 +3570,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -3063,6 +3578,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -3074,7 +3593,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -3106,6 +3627,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -3195,22 +3719,6 @@

    Ancestors

    Methods

    -
    -def check_config_mode(self, check_string: str = ')#', pattern: str = '#', force_regex: bool = False) ‑> bool -
    -
    -

    Checks if the device is in configuration mode or not.

    -
    - -Expand source code - -
    def check_config_mode(
    -    self, check_string: str = ")#", pattern: str = "#", force_regex: bool = False
    -) -> bool:
    -    """Checks if the device is in configuration mode or not."""
    -    return super().check_config_mode(check_string=check_string, pattern=pattern)
    -
    -
    def exit_config_mode(self, exit_config: str = 'end', pattern: str = '#') ‑> str
    @@ -3289,6 +3797,7 @@

    Inherited members

    class CiscoWlcSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Netmiko Cisco WLC support.

    @@ -3373,6 +3882,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -3387,7 +3899,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -3395,6 +3907,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -3406,7 +3922,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -3438,6 +3956,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -3632,6 +4153,8 @@

    Inherited members

    self._session_log_fin = True self.write_channel("n" + self.RETURN) + time.sleep(0.5) + try: self.write_channel(self.RETURN) except socket.error: @@ -3762,6 +4285,8 @@

    Methods

    self._session_log_fin = True self.write_channel("n" + self.RETURN) + time.sleep(0.5) + try: self.write_channel(self.RETURN) except socket.error: @@ -4173,7 +4698,7 @@

    Inherited members

    class CiscoXrSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Cisco XR SSH driver.

    @@ -4214,6 +4739,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -4228,7 +4756,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -4236,6 +4764,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -4247,7 +4779,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -4279,6 +4813,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -4346,7 +4883,7 @@

    Inherited members

    class CiscoXrTelnet -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Cisco XR Telnet driver.

    @@ -4387,6 +4924,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -4401,7 +4941,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -4409,6 +4949,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -4420,7 +4964,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -4452,6 +4998,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -4820,6 +5369,7 @@

    Index

  • netmiko.cisco.cisco_ftd_ssh
  • netmiko.cisco.cisco_ios
  • netmiko.cisco.cisco_nxos_ssh
  • +
  • netmiko.cisco.cisco_s200
  • netmiko.cisco.cisco_s300
  • netmiko.cisco.cisco_tp_tcce
  • netmiko.cisco.cisco_viptela
  • @@ -4855,6 +5405,7 @@

    CiscoIosBase

      +
    • check_config_mode
    • save_config
    • session_preparation
    • set_base_prompt
    • @@ -4881,12 +5432,17 @@

      CiscoNxosSSH

    • +

      CiscoS200SSH

      +
    • +
    • +

      CiscoS200Telnet

      +
    • +
    • CiscoS300SSH

    • @@ -4907,7 +5463,6 @@

      CiscoViptelaSSH

        -
      • check_config_mode
      • exit_config_mode
      • save_config
      • session_preparation
      • diff --git a/docs/netmiko/cisco_base_connection.html b/docs/netmiko/cisco_base_connection.html index 150d9201c..a9e52a5a6 100644 --- a/docs/netmiko/cisco_base_connection.html +++ b/docs/netmiko/cisco_base_connection.html @@ -48,11 +48,16 @@

        Module netmiko.cisco_base_connection

        cmd: str = "enable", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Enter enable mode.""" return super().enable( - cmd=cmd, pattern=pattern, enable_pattern=enable_pattern, re_flags=re_flags + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, ) def exit_enable_mode(self, exit_command: str = "disable") -> str: @@ -62,12 +67,10 @@

        Module netmiko.cisco_base_connection

        def check_config_mode( self, check_string: str = ")#", pattern: str = "", force_regex: bool = False ) -> bool: - """ - Checks if the device is in configuration mode or not. - - Cisco IOS devices abbreviate the prompt at 20 chars in config mode - """ - return super().check_config_mode(check_string=check_string, pattern=pattern) + """Checks if the device is in configuration mode or not.""" + return super().check_config_mode( + check_string=check_string, pattern=pattern, force_regex=force_regex + ) def config_mode( self, @@ -308,7 +311,7 @@

        Classes

        class CiscoBaseConnection -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

        Base Class for cisco-like behavior.

        @@ -349,6 +352,9 @@

        Classes

        :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -363,7 +369,7 @@

        Classes

        :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -371,6 +377,10 @@

        Classes

        :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -382,7 +392,9 @@

        Classes

        enter key (default:

        )

        -
            :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
        +
            :param serial_settings: Dictionary of settings for use with serial port (pySerial).
        +
        +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                     to select smallest of global and specific. Sets default global_delay_factor to .1
                     (default: True)
         
        @@ -414,6 +426,9 @@ 

        Classes

        :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
        @@ -431,11 +446,16 @@

        Classes

        cmd: str = "enable", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Enter enable mode.""" return super().enable( - cmd=cmd, pattern=pattern, enable_pattern=enable_pattern, re_flags=re_flags + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, ) def exit_enable_mode(self, exit_command: str = "disable") -> str: @@ -445,12 +465,10 @@

        Classes

        def check_config_mode( self, check_string: str = ")#", pattern: str = "", force_regex: bool = False ) -> bool: - """ - Checks if the device is in configuration mode or not. - - Cisco IOS devices abbreviate the prompt at 20 chars in config mode - """ - return super().check_config_mode(check_string=check_string, pattern=pattern) + """Checks if the device is in configuration mode or not.""" + return super().check_config_mode( + check_string=check_string, pattern=pattern, force_regex=force_regex + ) def config_mode( self, @@ -685,6 +703,7 @@

        Subclasses

      • CiscoXrBase
      • CiscoSSHConnection
      • DellPowerConnectBase
      • +
      • HillstoneStoneosBase
      • HuaweiBase
      • HuaweiSmartAXSSH
      • IpInfusionOcNOSBase
      • @@ -701,8 +720,7 @@

        Methods

        def check_config_mode(self, check_string: str = ')#', pattern: str = '', force_regex: bool = False) ‑> bool
        -

        Checks if the device is in configuration mode or not.

        -

        Cisco IOS devices abbreviate the prompt at 20 chars in config mode

        +

        Checks if the device is in configuration mode or not.

        Expand source code @@ -710,12 +728,10 @@

        Methods

        def check_config_mode(
             self, check_string: str = ")#", pattern: str = "", force_regex: bool = False
         ) -> bool:
        -    """
        -    Checks if the device is in configuration mode or not.
        -
        -    Cisco IOS devices abbreviate the prompt at 20 chars in config mode
        -    """
        -    return super().check_config_mode(check_string=check_string, pattern=pattern)
        + """Checks if the device is in configuration mode or not.""" + return super().check_config_mode( + check_string=check_string, pattern=pattern, force_regex=force_regex + )
        @@ -755,7 +771,7 @@

        Methods

        -def enable(self, cmd: str = 'enable', pattern: str = 'ssword', enable_pattern: Optional[str] = None, re_flags: int = re.IGNORECASE) ‑> str +def enable(self, cmd: str = 'enable', pattern: str = 'ssword', enable_pattern: Optional[str] = None, check_state: bool = True, re_flags: int = re.IGNORECASE) ‑> str

        Enter enable mode.

        @@ -768,11 +784,16 @@

        Methods

        cmd: str = "enable", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Enter enable mode.""" return super().enable( - cmd=cmd, pattern=pattern, enable_pattern=enable_pattern, re_flags=re_flags + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, )

    @@ -1096,7 +1117,7 @@

    Inherited members

    class CiscoSSHConnection -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Base Class for cisco-like behavior.

    @@ -1137,6 +1158,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -1151,7 +1175,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -1159,6 +1183,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -1170,7 +1198,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -1202,6 +1232,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -1219,16 +1252,21 @@

    Subclasses

    • A10SSH
    • AccedianSSH
    • +
    • AdvaAosFsp150F2SSH
    • +
    • AdvaAosFsp150F3SSH
    • AlcatelAosSSH
    • ApresiaAeosBase
    • AristaBase
    • +
    • ArrisCERBase
    • ArubaSSH
    • BroadcomIcosSSH
    • BrocadeFOSSSH
    • CalixB6Base
    • +
    • CasaCMTSBase
    • CiscoAsaSSH
    • CiscoFtdSSH
    • CiscoNxosSSH
    • +
    • CiscoS200Base
    • CiscoS300Base
    • CiscoTpTcCeSSH
    • CiscoViptelaSSH
    • diff --git a/docs/netmiko/citrix/index.html b/docs/netmiko/citrix/index.html index 24849768a..78ecc9466 100644 --- a/docs/netmiko/citrix/index.html +++ b/docs/netmiko/citrix/index.html @@ -49,7 +49,7 @@

      Classes

      class NetscalerSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Netscaler SSH class.

      @@ -90,6 +90,9 @@

      Classes

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -104,7 +107,7 @@

      Classes

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -112,6 +115,10 @@

      Classes

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -123,7 +130,9 @@

      Classes

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -155,6 +164,9 @@ 

      Classes

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      diff --git a/docs/netmiko/citrix/netscaler_ssh.html b/docs/netmiko/citrix/netscaler_ssh.html index ee4242575..4109e6a35 100644 --- a/docs/netmiko/citrix/netscaler_ssh.html +++ b/docs/netmiko/citrix/netscaler_ssh.html @@ -85,7 +85,7 @@

      Classes

      class NetscalerSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Netscaler SSH class.

      @@ -126,6 +126,9 @@

      Classes

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -140,7 +143,7 @@

      Classes

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -148,6 +151,10 @@

      Classes

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -159,7 +166,9 @@

      Classes

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -191,6 +200,9 @@ 

      Classes

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      diff --git a/docs/netmiko/cloudgenix/cloudgenix_ion.html b/docs/netmiko/cloudgenix/cloudgenix_ion.html index 0e212d92f..6bf677cb5 100644 --- a/docs/netmiko/cloudgenix/cloudgenix_ion.html +++ b/docs/netmiko/cloudgenix/cloudgenix_ion.html @@ -85,7 +85,7 @@

      Classes

      class CloudGenixIonSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Class for platforms that have no config mode.

      @@ -131,6 +131,9 @@

      Classes

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -145,7 +148,7 @@

      Classes

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -153,6 +156,10 @@

      Classes

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -164,7 +171,9 @@

      Classes

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -196,6 +205,9 @@ 

      Classes

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      diff --git a/docs/netmiko/cloudgenix/index.html b/docs/netmiko/cloudgenix/index.html index b9e40c4d7..013a72816 100644 --- a/docs/netmiko/cloudgenix/index.html +++ b/docs/netmiko/cloudgenix/index.html @@ -49,7 +49,7 @@

      Classes

      class CloudGenixIonSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Class for platforms that have no config mode.

      @@ -95,6 +95,9 @@

      Classes

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -109,7 +112,7 @@

      Classes

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -117,6 +120,10 @@

      Classes

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -128,7 +135,9 @@

      Classes

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -160,6 +169,9 @@ 

      Classes

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      diff --git a/docs/netmiko/coriant/coriant_ssh.html b/docs/netmiko/coriant/coriant_ssh.html index ac35a26a8..e64221320 100644 --- a/docs/netmiko/coriant/coriant_ssh.html +++ b/docs/netmiko/coriant/coriant_ssh.html @@ -69,7 +69,7 @@

      Classes

      class CoriantSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Class for platforms that have no enable mode.

      @@ -117,6 +117,9 @@

      Classes

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -131,7 +134,7 @@

      Classes

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -139,6 +142,10 @@

      Classes

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -150,7 +157,9 @@

      Classes

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -182,6 +191,9 @@ 

      Classes

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      diff --git a/docs/netmiko/coriant/index.html b/docs/netmiko/coriant/index.html index 6b8fdc6e0..c7cb05ac9 100644 --- a/docs/netmiko/coriant/index.html +++ b/docs/netmiko/coriant/index.html @@ -49,7 +49,7 @@

      Classes

      class CoriantSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Class for platforms that have no enable mode.

      @@ -97,6 +97,9 @@

      Classes

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -111,7 +114,7 @@

      Classes

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -119,6 +122,10 @@

      Classes

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -130,7 +137,9 @@

      Classes

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -162,6 +171,9 @@ 

      Classes

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      diff --git a/docs/netmiko/dell/dell_dnos6.html b/docs/netmiko/dell/dell_dnos6.html index a9069ece9..143e8cc0e 100644 --- a/docs/netmiko/dell/dell_dnos6.html +++ b/docs/netmiko/dell/dell_dnos6.html @@ -72,7 +72,7 @@

      Classes

      class DellDNOS6Base -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Dell PowerConnect Driver.

      @@ -113,6 +113,9 @@

      Classes

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -127,7 +130,7 @@

      Classes

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -135,6 +138,10 @@

      Classes

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -146,7 +153,9 @@

      Classes

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -178,6 +187,9 @@ 

      Classes

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      @@ -289,7 +301,7 @@

      Inherited members

      class DellDNOS6SSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Dell PowerConnect Driver.

      @@ -330,6 +342,9 @@

      Inherited members

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -344,7 +359,7 @@

      Inherited members

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -352,6 +367,10 @@

      Inherited members

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -363,7 +382,9 @@

      Inherited members

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -395,6 +416,9 @@ 

      Inherited members

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      @@ -461,7 +485,7 @@

      Inherited members

      class DellDNOS6Telnet -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Dell PowerConnect Driver.

      @@ -502,6 +526,9 @@

      Inherited members

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -516,7 +543,7 @@

      Inherited members

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -524,6 +551,10 @@

      Inherited members

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -535,7 +566,9 @@

      Inherited members

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -567,6 +600,9 @@ 

      Inherited members

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      diff --git a/docs/netmiko/dell/dell_force10_ssh.html b/docs/netmiko/dell/dell_force10_ssh.html index 656a315fa..04b517752 100644 --- a/docs/netmiko/dell/dell_force10_ssh.html +++ b/docs/netmiko/dell/dell_force10_ssh.html @@ -34,9 +34,29 @@

      Module netmiko.dell.dell_force10_ssh

      class DellForce10SSH(CiscoSSHConnection): """Dell Force10 Driver - supports DNOS9.""" + def session_preparation(self) -> None: + """Prepare the session after the connection has been established.""" + self._test_channel_read(pattern=r"[>#]") + self.set_base_prompt() + self.set_terminal_width() + self.disable_paging() + + def check_config_mode( + self, + check_string: str = ")#", + pattern: str = r"[>#]", + force_regex: bool = False, + ) -> bool: + """ + Checks if the device is in configuration mode or not. + """ + return super().check_config_mode( + check_string=check_string, pattern=pattern, force_regex=force_regex + ) + def save_config( self, - cmd: str = "copy running-configuration startup-configuration", + cmd: str = "write memory", confirm: bool = False, confirm_response: str = "", ) -> str: @@ -57,7 +77,7 @@

      Classes

      class DellForce10SSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Dell Force10 Driver - supports DNOS9.

      @@ -98,6 +118,9 @@

      Classes

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -112,7 +135,7 @@

      Classes

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -120,6 +143,10 @@

      Classes

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -131,7 +158,9 @@

      Classes

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -163,6 +192,9 @@ 

      Classes

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      @@ -171,9 +203,29 @@

      Classes

      class DellForce10SSH(CiscoSSHConnection):
           """Dell Force10 Driver - supports DNOS9."""
       
      +    def session_preparation(self) -> None:
      +        """Prepare the session after the connection has been established."""
      +        self._test_channel_read(pattern=r"[>#]")
      +        self.set_base_prompt()
      +        self.set_terminal_width()
      +        self.disable_paging()
      +
      +    def check_config_mode(
      +        self,
      +        check_string: str = ")#",
      +        pattern: str = r"[>#]",
      +        force_regex: bool = False,
      +    ) -> bool:
      +        """
      +        Checks if the device is in configuration mode or not.
      +        """
      +        return super().check_config_mode(
      +            check_string=check_string, pattern=pattern, force_regex=force_regex
      +        )
      +
           def save_config(
               self,
      -        cmd: str = "copy running-configuration startup-configuration",
      +        cmd: str = "write memory",
               confirm: bool = False,
               confirm_response: str = "",
           ) -> str:
      @@ -191,7 +243,7 @@ 

      Ancestors

      Methods

      -def save_config(self, cmd: str = 'copy running-configuration startup-configuration', confirm: bool = False, confirm_response: str = '') ‑> str +def save_config(self, cmd: str = 'write memory', confirm: bool = False, confirm_response: str = '') ‑> str

      Saves Config

      @@ -201,7 +253,7 @@

      Methods

      def save_config(
           self,
      -    cmd: str = "copy running-configuration startup-configuration",
      +    cmd: str = "write memory",
           confirm: bool = False,
           confirm_response: str = "",
       ) -> str:
      @@ -211,6 +263,23 @@ 

      Methods

      )
      +
      +def session_preparation(self) ‑> None +
      +
      +

      Prepare the session after the connection has been established.

      +
      + +Expand source code + +
      def session_preparation(self) -> None:
      +    """Prepare the session after the connection has been established."""
      +    self._test_channel_read(pattern=r"[>#]")
      +    self.set_base_prompt()
      +    self.set_terminal_width()
      +    self.disable_paging()
      +
      +

      Inherited members

      diff --git a/docs/netmiko/dell/dell_isilon_ssh.html b/docs/netmiko/dell/dell_isilon_ssh.html index 9bdb4b1bb..4a6b56baa 100644 --- a/docs/netmiko/dell/dell_isilon_ssh.html +++ b/docs/netmiko/dell/dell_isilon_ssh.html @@ -92,21 +92,27 @@

      Module netmiko.dell.dell_isilon_ssh

      cmd: str = "sudo su", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: + delay_factor = self.select_delay_factor(delay_factor=1) output = "" + + if check_state and self.check_enable_mode(): + return output + + output += self._send_command_timing_str( + cmd, strip_prompt=False, strip_command=False + ) + if re.search(pattern, output, flags=re_flags): + self.write_channel(self.normalize_cmd(self.secret)) + output += self.read_until_pattern(pattern=r"#.*$") + time.sleep(1 * delay_factor) + self._set_prompt(prompt_terminator="#") if not self.check_enable_mode(): - output += self._send_command_timing_str( - cmd, strip_prompt=False, strip_command=False - ) - if re.search(pattern, output, flags=re_flags): - self.write_channel(self.normalize_cmd(self.secret)) - output += self.read_until_pattern(pattern=r"#.*$") - time.sleep(1 * delay_factor) - self._set_prompt(prompt_terminator="#") - if not self.check_enable_mode(): - raise ValueError("Failed to enter enable mode") + raise ValueError("Failed to enter enable mode") + return output def exit_enable_mode(self, exit_command: str = "exit") -> str: @@ -143,7 +149,7 @@

      Classes

      class DellIsilonSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Defines vendor independent methods.

      @@ -185,6 +191,9 @@

      Classes

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -199,7 +208,7 @@

      Classes

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -207,6 +216,10 @@

      Classes

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -218,7 +231,9 @@

      Classes

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -250,6 +265,9 @@ 

      Classes

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      @@ -314,21 +332,27 @@

      Classes

      cmd: str = "sudo su", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: + delay_factor = self.select_delay_factor(delay_factor=1) output = "" + + if check_state and self.check_enable_mode(): + return output + + output += self._send_command_timing_str( + cmd, strip_prompt=False, strip_command=False + ) + if re.search(pattern, output, flags=re_flags): + self.write_channel(self.normalize_cmd(self.secret)) + output += self.read_until_pattern(pattern=r"#.*$") + time.sleep(1 * delay_factor) + self._set_prompt(prompt_terminator="#") if not self.check_enable_mode(): - output += self._send_command_timing_str( - cmd, strip_prompt=False, strip_command=False - ) - if re.search(pattern, output, flags=re_flags): - self.write_channel(self.normalize_cmd(self.secret)) - output += self.read_until_pattern(pattern=r"#.*$") - time.sleep(1 * delay_factor) - self._set_prompt(prompt_terminator="#") - if not self.check_enable_mode(): - raise ValueError("Failed to enter enable mode") + raise ValueError("Failed to enter enable mode") + return output def exit_enable_mode(self, exit_command: str = "exit") -> str: diff --git a/docs/netmiko/dell/dell_os10_ssh.html b/docs/netmiko/dell/dell_os10_ssh.html index 00701b9e3..e74e48e4f 100644 --- a/docs/netmiko/dell/dell_os10_ssh.html +++ b/docs/netmiko/dell/dell_os10_ssh.html @@ -39,6 +39,26 @@

      Module netmiko.dell.dell_os10_ssh

      class DellOS10SSH(CiscoSSHConnection): """Dell EMC Networking OS10 Driver - supports dellos10.""" + def session_preparation(self) -> None: + """Prepare the session after the connection has been established.""" + self._test_channel_read(pattern=r"[>#]") + self.set_base_prompt() + self.set_terminal_width() + self.disable_paging() + + def check_config_mode( + self, + check_string: str = ")#", + pattern: str = r"[>#]", + force_regex: bool = False, + ) -> bool: + """ + Checks if the device is in configuration mode or not. + """ + return super().check_config_mode( + check_string=check_string, pattern=pattern, force_regex=force_regex + ) + def save_config( self, cmd: str = "copy running-configuration startup-configuration", @@ -330,7 +350,7 @@

      Inherited members

      class DellOS10SSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Dell EMC Networking OS10 Driver - supports dellos10.

      @@ -371,6 +391,9 @@

      Inherited members

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -385,7 +408,7 @@

      Inherited members

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -393,6 +416,10 @@

      Inherited members

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -404,7 +431,9 @@

      Inherited members

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -436,6 +465,9 @@ 

      Inherited members

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      @@ -444,6 +476,26 @@

      Inherited members

      class DellOS10SSH(CiscoSSHConnection):
           """Dell EMC Networking OS10 Driver - supports dellos10."""
       
      +    def session_preparation(self) -> None:
      +        """Prepare the session after the connection has been established."""
      +        self._test_channel_read(pattern=r"[>#]")
      +        self.set_base_prompt()
      +        self.set_terminal_width()
      +        self.disable_paging()
      +
      +    def check_config_mode(
      +        self,
      +        check_string: str = ")#",
      +        pattern: str = r"[>#]",
      +        force_regex: bool = False,
      +    ) -> bool:
      +        """
      +        Checks if the device is in configuration mode or not.
      +        """
      +        return super().check_config_mode(
      +            check_string=check_string, pattern=pattern, force_regex=force_regex
      +        )
      +
           def save_config(
               self,
               cmd: str = "copy running-configuration startup-configuration",
      @@ -484,6 +536,23 @@ 

      Methods

      )
      +
      +def session_preparation(self) ‑> None +
      +
      +

      Prepare the session after the connection has been established.

      +
      + +Expand source code + +
      def session_preparation(self) -> None:
      +    """Prepare the session after the connection has been established."""
      +    self._test_channel_read(pattern=r"[>#]")
      +    self.set_base_prompt()
      +    self.set_terminal_width()
      +    self.disable_paging()
      +
      +

      Inherited members

      diff --git a/docs/netmiko/dell/dell_powerconnect.html b/docs/netmiko/dell/dell_powerconnect.html index b5d8344b7..56fafff57 100644 --- a/docs/netmiko/dell/dell_powerconnect.html +++ b/docs/netmiko/dell/dell_powerconnect.html @@ -158,7 +158,7 @@

      Classes

      class DellPowerConnectBase -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Dell PowerConnect Driver.

      @@ -199,6 +199,9 @@

      Classes

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -213,7 +216,7 @@

      Classes

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -221,6 +224,10 @@

      Classes

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -232,7 +239,9 @@

      Classes

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -264,6 +273,9 @@ 

      Classes

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      @@ -441,7 +453,7 @@

      Inherited members

      class DellPowerConnectSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Dell PowerConnect Driver.

      @@ -484,6 +496,9 @@

      Inherited members

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -498,7 +513,7 @@

      Inherited members

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -506,6 +521,10 @@

      Inherited members

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -517,7 +536,9 @@

      Inherited members

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -549,6 +570,9 @@ 

      Inherited members

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      @@ -711,7 +735,7 @@

      Inherited members

      class DellPowerConnectTelnet -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Dell PowerConnect Telnet Driver.

      @@ -752,6 +776,9 @@

      Inherited members

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -766,7 +793,7 @@

      Inherited members

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -774,6 +801,10 @@

      Inherited members

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -785,7 +816,9 @@

      Inherited members

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -817,6 +850,9 @@ 

      Inherited members

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      diff --git a/docs/netmiko/dell/dell_sonic_ssh.html b/docs/netmiko/dell/dell_sonic_ssh.html index 81348d63f..38fc54135 100644 --- a/docs/netmiko/dell/dell_sonic_ssh.html +++ b/docs/netmiko/dell/dell_sonic_ssh.html @@ -82,7 +82,7 @@

      Classes

      class DellSonicSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Dell EMC PowerSwitch platforms running Enterprise SONiC Distribution @@ -124,6 +124,9 @@

      Classes

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -138,7 +141,7 @@

      Classes

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -146,6 +149,10 @@

      Classes

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -157,7 +164,9 @@

      Classes

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -189,6 +198,9 @@ 

      Classes

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      diff --git a/docs/netmiko/dell/index.html b/docs/netmiko/dell/index.html index 5d87d7758..b33070e66 100644 --- a/docs/netmiko/dell/index.html +++ b/docs/netmiko/dell/index.html @@ -87,7 +87,7 @@

      Classes

      class DellDNOS6SSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Dell PowerConnect Driver.

      @@ -128,6 +128,9 @@

      Classes

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -142,7 +145,7 @@

      Classes

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -150,6 +153,10 @@

      Classes

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -161,7 +168,9 @@

      Classes

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -193,6 +202,9 @@ 

      Classes

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      @@ -259,7 +271,7 @@

      Inherited members

      class DellDNOS6Telnet -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Dell PowerConnect Driver.

      @@ -300,6 +312,9 @@

      Inherited members

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -314,7 +329,7 @@

      Inherited members

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -322,6 +337,10 @@

      Inherited members

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -333,7 +352,9 @@

      Inherited members

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -365,6 +386,9 @@ 

      Inherited members

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      @@ -431,7 +455,7 @@

      Inherited members

      class DellForce10SSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Dell Force10 Driver - supports DNOS9.

      @@ -472,6 +496,9 @@

      Inherited members

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -486,7 +513,7 @@

      Inherited members

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -494,6 +521,10 @@

      Inherited members

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -505,7 +536,9 @@

      Inherited members

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -537,6 +570,9 @@ 

      Inherited members

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      @@ -545,9 +581,29 @@

      Inherited members

      class DellForce10SSH(CiscoSSHConnection):
           """Dell Force10 Driver - supports DNOS9."""
       
      +    def session_preparation(self) -> None:
      +        """Prepare the session after the connection has been established."""
      +        self._test_channel_read(pattern=r"[>#]")
      +        self.set_base_prompt()
      +        self.set_terminal_width()
      +        self.disable_paging()
      +
      +    def check_config_mode(
      +        self,
      +        check_string: str = ")#",
      +        pattern: str = r"[>#]",
      +        force_regex: bool = False,
      +    ) -> bool:
      +        """
      +        Checks if the device is in configuration mode or not.
      +        """
      +        return super().check_config_mode(
      +            check_string=check_string, pattern=pattern, force_regex=force_regex
      +        )
      +
           def save_config(
               self,
      -        cmd: str = "copy running-configuration startup-configuration",
      +        cmd: str = "write memory",
               confirm: bool = False,
               confirm_response: str = "",
           ) -> str:
      @@ -565,7 +621,7 @@ 

      Ancestors

      Methods

      -def save_config(self, cmd: str = 'copy running-configuration startup-configuration', confirm: bool = False, confirm_response: str = '') ‑> str +def save_config(self, cmd: str = 'write memory', confirm: bool = False, confirm_response: str = '') ‑> str

      Saves Config

      @@ -575,7 +631,7 @@

      Methods

      def save_config(
           self,
      -    cmd: str = "copy running-configuration startup-configuration",
      +    cmd: str = "write memory",
           confirm: bool = False,
           confirm_response: str = "",
       ) -> str:
      @@ -585,6 +641,23 @@ 

      Methods

      )
      +
      +def session_preparation(self) ‑> None +
      +
      +

      Prepare the session after the connection has been established.

      +
      + +Expand source code + +
      def session_preparation(self) -> None:
      +    """Prepare the session after the connection has been established."""
      +    self._test_channel_read(pattern=r"[>#]")
      +    self.set_base_prompt()
      +    self.set_terminal_width()
      +    self.disable_paging()
      +
      +

      Inherited members

      class DellIsilonSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Defines vendor independent methods.

      @@ -678,6 +750,9 @@

      Inherited members

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -692,7 +767,7 @@

      Inherited members

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -700,6 +775,10 @@

      Inherited members

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -711,7 +790,9 @@

      Inherited members

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -743,6 +824,9 @@ 

      Inherited members

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      @@ -807,21 +891,27 @@

      Inherited members

      cmd: str = "sudo su", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: + delay_factor = self.select_delay_factor(delay_factor=1) output = "" + + if check_state and self.check_enable_mode(): + return output + + output += self._send_command_timing_str( + cmd, strip_prompt=False, strip_command=False + ) + if re.search(pattern, output, flags=re_flags): + self.write_channel(self.normalize_cmd(self.secret)) + output += self.read_until_pattern(pattern=r"#.*$") + time.sleep(1 * delay_factor) + self._set_prompt(prompt_terminator="#") if not self.check_enable_mode(): - output += self._send_command_timing_str( - cmd, strip_prompt=False, strip_command=False - ) - if re.search(pattern, output, flags=re_flags): - self.write_channel(self.normalize_cmd(self.secret)) - output += self.read_until_pattern(pattern=r"#.*$") - time.sleep(1 * delay_factor) - self._set_prompt(prompt_terminator="#") - if not self.check_enable_mode(): - raise ValueError("Failed to enter enable mode") + raise ValueError("Failed to enter enable mode") + return output def exit_enable_mode(self, exit_command: str = "exit") -> str: @@ -1185,7 +1275,7 @@

      Inherited members

      class DellOS10SSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Dell EMC Networking OS10 Driver - supports dellos10.

      @@ -1226,6 +1316,9 @@

      Inherited members

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -1240,7 +1333,7 @@

      Inherited members

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -1248,6 +1341,10 @@

      Inherited members

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -1259,7 +1356,9 @@

      Inherited members

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -1291,6 +1390,9 @@ 

      Inherited members

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      @@ -1299,6 +1401,26 @@

      Inherited members

      class DellOS10SSH(CiscoSSHConnection):
           """Dell EMC Networking OS10 Driver - supports dellos10."""
       
      +    def session_preparation(self) -> None:
      +        """Prepare the session after the connection has been established."""
      +        self._test_channel_read(pattern=r"[>#]")
      +        self.set_base_prompt()
      +        self.set_terminal_width()
      +        self.disable_paging()
      +
      +    def check_config_mode(
      +        self,
      +        check_string: str = ")#",
      +        pattern: str = r"[>#]",
      +        force_regex: bool = False,
      +    ) -> bool:
      +        """
      +        Checks if the device is in configuration mode or not.
      +        """
      +        return super().check_config_mode(
      +            check_string=check_string, pattern=pattern, force_regex=force_regex
      +        )
      +
           def save_config(
               self,
               cmd: str = "copy running-configuration startup-configuration",
      @@ -1339,6 +1461,23 @@ 

      Methods

      )
      +
      +def session_preparation(self) ‑> None +
      +
      +

      Prepare the session after the connection has been established.

      +
      + +Expand source code + +
      def session_preparation(self) -> None:
      +    """Prepare the session after the connection has been established."""
      +    self._test_channel_read(pattern=r"[>#]")
      +    self.set_base_prompt()
      +    self.set_terminal_width()
      +    self.disable_paging()
      +
      +

      Inherited members

      class DellPowerConnectSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Dell PowerConnect Driver.

      @@ -1433,6 +1571,9 @@

      Inherited members

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -1447,7 +1588,7 @@

      Inherited members

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -1455,6 +1596,10 @@

      Inherited members

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -1466,7 +1611,9 @@

      Inherited members

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -1498,6 +1645,9 @@ 

      Inherited members

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      @@ -1660,7 +1810,7 @@

      Inherited members

      class DellPowerConnectTelnet -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Dell PowerConnect Telnet Driver.

      @@ -1701,6 +1851,9 @@

      Inherited members

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -1715,7 +1868,7 @@

      Inherited members

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -1723,6 +1876,10 @@

      Inherited members

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -1734,7 +1891,9 @@

      Inherited members

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -1766,6 +1925,9 @@ 

      Inherited members

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      @@ -1833,7 +1995,7 @@

      Inherited members

      class DellSonicSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Dell EMC PowerSwitch platforms running Enterprise SONiC Distribution @@ -1875,6 +2037,9 @@

      Inherited members

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -1889,7 +2054,7 @@

      Inherited members

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -1897,6 +2062,10 @@

      Inherited members

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -1908,7 +2077,9 @@

      Inherited members

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -1940,6 +2111,9 @@ 

      Inherited members

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      @@ -2088,6 +2262,7 @@

      DellForce10SSH

    • @@ -2112,6 +2287,7 @@

      DellOS10SSH

    • diff --git a/docs/netmiko/dlink/dlink_ds.html b/docs/netmiko/dlink/dlink_ds.html index 5456c8033..bcdaab28a 100644 --- a/docs/netmiko/dlink/dlink_ds.html +++ b/docs/netmiko/dlink/dlink_ds.html @@ -78,7 +78,7 @@

      Classes

      Supports D-Link DGS/DES device series (there are some DGS/DES devices that are web-only)

      @@ -119,6 +119,9 @@

      Classes

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -133,7 +136,7 @@

      Classes

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -141,6 +144,10 @@

      Classes

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -152,7 +159,9 @@

      Classes

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -184,6 +193,9 @@ 

      Classes

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      @@ -326,7 +338,7 @@

      Inherited members

      Supports D-Link DGS/DES device series (there are some DGS/DES devices that are web-only)

      @@ -367,6 +379,9 @@

      Inherited members

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -381,7 +396,7 @@

      Inherited members

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -389,6 +404,10 @@

      Inherited members

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -400,7 +419,9 @@

      Inherited members

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -432,6 +453,9 @@ 

      Inherited members

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      @@ -541,6 +565,9 @@

      Inherited members

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -555,7 +582,7 @@

      Inherited members

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -563,6 +590,10 @@

      Inherited members

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -574,7 +605,9 @@

      Inherited members

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -606,6 +639,9 @@ 

      Inherited members

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      diff --git a/docs/netmiko/dlink/index.html b/docs/netmiko/dlink/index.html index f3b048885..a5076e889 100644 --- a/docs/netmiko/dlink/index.html +++ b/docs/netmiko/dlink/index.html @@ -49,7 +49,7 @@

      Classes

      class DlinkDSSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Supports D-Link DGS/DES device series (there are some DGS/DES devices that are web-only)

      @@ -90,6 +90,9 @@

      Classes

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -104,7 +107,7 @@

      Classes

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -112,6 +115,10 @@

      Classes

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -123,7 +130,9 @@

      Classes

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -155,6 +164,9 @@ 

      Classes

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      @@ -264,6 +276,9 @@

      Inherited members

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -278,7 +293,7 @@

      Inherited members

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -286,6 +301,10 @@

      Inherited members

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -297,7 +316,9 @@

      Inherited members

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -329,6 +350,9 @@ 

      Inherited members

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      diff --git a/docs/netmiko/eltex/eltex_esr_ssh.html b/docs/netmiko/eltex/eltex_esr_ssh.html index de0132468..cfb0546ea 100644 --- a/docs/netmiko/eltex/eltex_esr_ssh.html +++ b/docs/netmiko/eltex/eltex_esr_ssh.html @@ -173,7 +173,7 @@

      Classes

      class EltexEsrSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Netmiko support for routers Eltex ESR.

      @@ -214,6 +214,9 @@

      Classes

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -228,7 +231,7 @@

      Classes

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -236,6 +239,10 @@

      Classes

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -247,7 +254,9 @@

      Classes

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -279,6 +288,9 @@ 

      Classes

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      diff --git a/docs/netmiko/eltex/eltex_ssh.html b/docs/netmiko/eltex/eltex_ssh.html index b98d164f3..158211fa5 100644 --- a/docs/netmiko/eltex/eltex_ssh.html +++ b/docs/netmiko/eltex/eltex_ssh.html @@ -54,7 +54,7 @@

      Classes

      class EltexSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Base Class for cisco-like behavior.

      @@ -95,6 +95,9 @@

      Classes

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -109,7 +112,7 @@

      Classes

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -117,6 +120,10 @@

      Classes

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -128,7 +135,9 @@

      Classes

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -160,6 +169,9 @@ 

      Classes

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      diff --git a/docs/netmiko/eltex/index.html b/docs/netmiko/eltex/index.html index 7130af5c7..e7edbe029 100644 --- a/docs/netmiko/eltex/index.html +++ b/docs/netmiko/eltex/index.html @@ -54,7 +54,7 @@

      Classes

      class EltexEsrSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Netmiko support for routers Eltex ESR.

      @@ -95,6 +95,9 @@

      Classes

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -109,7 +112,7 @@

      Classes

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -117,6 +120,10 @@

      Classes

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -128,7 +135,9 @@

      Classes

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -160,6 +169,9 @@ 

      Classes

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      @@ -470,7 +482,7 @@

      Inherited members

      class EltexSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Base Class for cisco-like behavior.

      @@ -511,6 +523,9 @@

      Inherited members

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -525,7 +540,7 @@

      Inherited members

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -533,6 +548,10 @@

      Inherited members

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -544,7 +563,9 @@

      Inherited members

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -576,6 +597,9 @@ 

      Inherited members

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      diff --git a/docs/netmiko/endace/endace_ssh.html b/docs/netmiko/endace/endace_ssh.html index 1178a7fbe..96bec98e7 100644 --- a/docs/netmiko/endace/endace_ssh.html +++ b/docs/netmiko/endace/endace_ssh.html @@ -43,10 +43,15 @@

      Module netmiko.endace.endace_ssh

      cmd: str = "enable", pattern: str = "", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: return super().enable( - cmd=cmd, pattern=pattern, enable_pattern=enable_pattern, re_flags=re_flags + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, ) def check_config_mode( @@ -100,7 +105,7 @@

      Classes

      class EndaceSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Base Class for cisco-like behavior.

      @@ -141,6 +146,9 @@

      Classes

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -155,7 +163,7 @@

      Classes

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -163,6 +171,10 @@

      Classes

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -174,7 +186,9 @@

      Classes

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -206,6 +220,9 @@ 

      Classes

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      @@ -223,10 +240,15 @@

      Classes

      cmd: str = "enable", pattern: str = "", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: return super().enable( - cmd=cmd, pattern=pattern, enable_pattern=enable_pattern, re_flags=re_flags + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, ) def check_config_mode( diff --git a/docs/netmiko/endace/index.html b/docs/netmiko/endace/index.html index c30a660aa..d8af1e555 100644 --- a/docs/netmiko/endace/index.html +++ b/docs/netmiko/endace/index.html @@ -49,7 +49,7 @@

      Classes

      class EndaceSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Base Class for cisco-like behavior.

      @@ -90,6 +90,9 @@

      Classes

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -104,7 +107,7 @@

      Classes

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -112,6 +115,10 @@

      Classes

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -123,7 +130,9 @@

      Classes

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -155,6 +164,9 @@ 

      Classes

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      @@ -172,10 +184,15 @@

      Classes

      cmd: str = "enable", pattern: str = "", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: return super().enable( - cmd=cmd, pattern=pattern, enable_pattern=enable_pattern, re_flags=re_flags + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, ) def check_config_mode( diff --git a/docs/netmiko/enterasys/enterasys_ssh.html b/docs/netmiko/enterasys/enterasys_ssh.html index a237542dd..22cb3bfc7 100644 --- a/docs/netmiko/enterasys/enterasys_ssh.html +++ b/docs/netmiko/enterasys/enterasys_ssh.html @@ -57,7 +57,7 @@

      Classes

      class EnterasysSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Enterasys support.

      @@ -98,6 +98,9 @@

      Classes

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -112,7 +115,7 @@

      Classes

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -120,6 +123,10 @@

      Classes

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -131,7 +138,9 @@

      Classes

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -163,6 +172,9 @@ 

      Classes

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      diff --git a/docs/netmiko/enterasys/index.html b/docs/netmiko/enterasys/index.html index 89a4bb022..cd88eaaf8 100644 --- a/docs/netmiko/enterasys/index.html +++ b/docs/netmiko/enterasys/index.html @@ -49,7 +49,7 @@

      Classes

      class EnterasysSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Enterasys support.

      @@ -90,6 +90,9 @@

      Classes

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -104,7 +107,7 @@

      Classes

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -112,6 +115,10 @@

      Classes

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -123,7 +130,9 @@

      Classes

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -155,6 +164,9 @@ 

      Classes

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      diff --git a/docs/netmiko/ericsson/ericsson_ipos.html b/docs/netmiko/ericsson/ericsson_ipos.html index dd3735f05..8617013a0 100644 --- a/docs/netmiko/ericsson/ericsson_ipos.html +++ b/docs/netmiko/ericsson/ericsson_ipos.html @@ -52,10 +52,15 @@

      Module netmiko.ericsson.ericsson_ipos

      cmd: str = "enable 15", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: return super().enable( - cmd=cmd, pattern=pattern, enable_pattern=enable_pattern, re_flags=re_flags + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, ) def exit_enable_mode(self, exit_command: str = "disable") -> str: @@ -188,7 +193,7 @@

      Classes

      class EricssonIposSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Defines vendor independent methods.

      @@ -230,6 +235,9 @@

      Classes

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -244,7 +252,7 @@

      Classes

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -252,6 +260,10 @@

      Classes

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -263,7 +275,9 @@

      Classes

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -295,6 +309,9 @@ 

      Classes

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      @@ -315,10 +332,15 @@

      Classes

      cmd: str = "enable 15", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: return super().enable( - cmd=cmd, pattern=pattern, enable_pattern=enable_pattern, re_flags=re_flags + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, ) def exit_enable_mode(self, exit_command: str = "disable") -> str: diff --git a/docs/netmiko/ericsson/ericsson_mltn.html b/docs/netmiko/ericsson/ericsson_mltn.html new file mode 100644 index 000000000..285388b8a --- /dev/null +++ b/docs/netmiko/ericsson/ericsson_mltn.html @@ -0,0 +1,680 @@ + + + + + + +netmiko.ericsson.ericsson_mltn API documentation + + + + + + + + + + + +
      +
      +
      +

      Module netmiko.ericsson.ericsson_mltn

      +
      +
      +

      Ericsson MiniLink driver.

      +
      + +Expand source code + +
      """Ericsson MiniLink driver."""
      +import time
      +import re
      +from os import path
      +from typing import Any
      +from paramiko import SSHClient
      +from netmiko.ssh_auth import SSHClient_noauth
      +from netmiko.base_connection import BaseConnection
      +from netmiko.exceptions import NetmikoTimeoutException
      +from netmiko.no_enable import NoEnable
      +
      +
      +class EricssonMinilinkBase(NoEnable, BaseConnection):
      +    """Ericsson MiniLink Base class"""
      +
      +    prompt_pattern = r"[>#]"
      +
      +    def __init__(
      +        self,
      +        *args: Any,
      +        **kwargs: Any,
      +    ) -> None:
      +
      +        # Set default auth_timeout
      +        if kwargs.get("auth_timeout") is None:
      +            kwargs["auth_timeout"] = 20
      +
      +        # Remove username from kwargs to avoid duplicates
      +        self._real_username = ""
      +        if "username" in kwargs:
      +            # Saving the username for the acutal login prompt
      +            self._real_username = kwargs["username"]
      +            # Setting CLI as the default ssh username
      +            kwargs["username"] = "cli"
      +
      +        super().__init__(*args, **kwargs)
      +
      +        # Add back the username
      +        if self._real_username:
      +            kwargs["username"] = self._real_username
      +
      +    def _build_ssh_client(self) -> SSHClient:
      +        remote_conn_pre: SSHClient
      +        if not self.use_keys:
      +            remote_conn_pre = SSHClient_noauth()
      +        else:
      +            remote_conn_pre = SSHClient()
      +
      +        if self.system_host_keys:
      +            remote_conn_pre.load_system_host_keys()
      +        if self.alt_host_keys and path.isfile(self.alt_key_file):
      +            remote_conn_pre.load_host_keys(self.alt_key_file)
      +
      +        remote_conn_pre.set_missing_host_key_policy(self.key_policy)
      +        return remote_conn_pre
      +
      +    def session_preparation(self) -> None:
      +        self._test_channel_read(pattern=self.prompt_pattern)
      +        self.set_base_prompt(
      +            pri_prompt_terminator="#", alt_prompt_terminator=">", delay_factor=1
      +        )
      +
      +    def special_login_handler(self, delay_factor: float = 1.0) -> None:
      +        """Handle Ericcsons Special MINI-LINK CLI login
      +        ------------------------------------------
      +        MINI-LINK <model>  Command Line Interface
      +        ------------------------------------------
      +
      +        Welcome to <hostname>
      +        User:
      +        Password:
      +        """
      +
      +        start = time.time()
      +        output = ""
      +        assert self.auth_timeout is not None
      +        while time.time() - start < self.auth_timeout:
      +            username_pattern = r"(?:login:|User:)"
      +            password_pattern = "ssword"
      +            busy = "busy"
      +            combined_pattern = rf"(?:{username_pattern}|{password_pattern}|{busy})"
      +
      +            new_output = self.read_until_pattern(
      +                pattern=combined_pattern, read_timeout=self.auth_timeout
      +            )
      +            output += new_output
      +            if re.search(username_pattern, new_output):
      +                self.write_channel(self._real_username + self.RETURN)
      +                continue
      +            elif re.search(password_pattern, new_output):
      +                assert isinstance(self.password, str)
      +                self.write_channel(self.password + self.RETURN)
      +                break
      +            elif re.search(busy, new_output):
      +                self.disconnect()
      +                raise ValueError("CLI is currently busy")
      +        else:  # no-break
      +            msg = f"""Login process failed to device:
      +Timeout reached (auth_timeout={self.auth_timeout} seconds)"""
      +            raise NetmikoTimeoutException(msg)
      +
      +    def save_config(
      +        self, cmd: str = "write", confirm: bool = False, confirm_response: str = ""
      +    ) -> str:
      +        """Saves Config."""
      +        if self.check_config_mode():
      +            self.exit_config_mode()
      +
      +        self.send_command(command_string=cmd, strip_prompt=False, strip_command=False)
      +        return "success"
      +
      +    def config_mode(
      +        self,
      +        config_command: str = "config",
      +        pattern: str = r"\(config\)#",
      +        re_flags: int = 0,
      +    ) -> str:
      +        return super().config_mode(config_command, pattern, re_flags=re_flags)
      +
      +    def check_config_mode(
      +        self,
      +        check_string: str = "(config)#",
      +        pattern: str = "",
      +        force_regex: bool = False,
      +    ) -> bool:
      +        return super().check_config_mode(check_string, pattern, force_regex=force_regex)
      +
      +    def exit_config_mode(self, exit_config: str = "exit", pattern: str = "") -> str:
      +        return super().exit_config_mode(exit_config, pattern)
      +
      +    def cleanup(self, command: str = "exit") -> None:
      +        """Gracefully exit the SSH session."""
      +        try:
      +            if self.check_config_mode():
      +                self.exit_config_mode()
      +        except Exception:
      +            pass
      +        # Always try to send final 'exit' (command)
      +        if self.session_log:
      +            self.session_log.fin = True
      +        self.write_channel(command + self.RETURN)
      +
      +
      +class EricssonMinilink63SSH(EricssonMinilinkBase):
      +    """Common Methods for Ericsson Minilink 63XX (SSH)"""
      +
      +    def cleanup(self, command: str = "quit") -> None:
      +        """Gracefully exit the SSH session."""
      +        return super().cleanup(command)
      +
      +
      +class EricssonMinilink66SSH(EricssonMinilinkBase):
      +    """Common Methods for Ericsson Minilink 66XX (SSH)"""
      +
      +    pass
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +

      Classes

      +
      +
      +class EricssonMinilink63SSH +(*args: Any, **kwargs: Any) +
      +
      +

      Common Methods for Ericsson Minilink 63XX (SSH)

      +
      + +Expand source code + +
      class EricssonMinilink63SSH(EricssonMinilinkBase):
      +    """Common Methods for Ericsson Minilink 63XX (SSH)"""
      +
      +    def cleanup(self, command: str = "quit") -> None:
      +        """Gracefully exit the SSH session."""
      +        return super().cleanup(command)
      +
      +

      Ancestors

      + +

      Inherited members

      + +
      +
      +class EricssonMinilink66SSH +(*args: Any, **kwargs: Any) +
      +
      +

      Common Methods for Ericsson Minilink 66XX (SSH)

      +
      + +Expand source code + +
      class EricssonMinilink66SSH(EricssonMinilinkBase):
      +    """Common Methods for Ericsson Minilink 66XX (SSH)"""
      +
      +    pass
      +
      +

      Ancestors

      + +

      Inherited members

      + +
      +
      +class EricssonMinilinkBase +(*args: Any, **kwargs: Any) +
      +
      +

      Ericsson MiniLink Base class

      +
      + +Expand source code + +
      class EricssonMinilinkBase(NoEnable, BaseConnection):
      +    """Ericsson MiniLink Base class"""
      +
      +    prompt_pattern = r"[>#]"
      +
      +    def __init__(
      +        self,
      +        *args: Any,
      +        **kwargs: Any,
      +    ) -> None:
      +
      +        # Set default auth_timeout
      +        if kwargs.get("auth_timeout") is None:
      +            kwargs["auth_timeout"] = 20
      +
      +        # Remove username from kwargs to avoid duplicates
      +        self._real_username = ""
      +        if "username" in kwargs:
      +            # Saving the username for the acutal login prompt
      +            self._real_username = kwargs["username"]
      +            # Setting CLI as the default ssh username
      +            kwargs["username"] = "cli"
      +
      +        super().__init__(*args, **kwargs)
      +
      +        # Add back the username
      +        if self._real_username:
      +            kwargs["username"] = self._real_username
      +
      +    def _build_ssh_client(self) -> SSHClient:
      +        remote_conn_pre: SSHClient
      +        if not self.use_keys:
      +            remote_conn_pre = SSHClient_noauth()
      +        else:
      +            remote_conn_pre = SSHClient()
      +
      +        if self.system_host_keys:
      +            remote_conn_pre.load_system_host_keys()
      +        if self.alt_host_keys and path.isfile(self.alt_key_file):
      +            remote_conn_pre.load_host_keys(self.alt_key_file)
      +
      +        remote_conn_pre.set_missing_host_key_policy(self.key_policy)
      +        return remote_conn_pre
      +
      +    def session_preparation(self) -> None:
      +        self._test_channel_read(pattern=self.prompt_pattern)
      +        self.set_base_prompt(
      +            pri_prompt_terminator="#", alt_prompt_terminator=">", delay_factor=1
      +        )
      +
      +    def special_login_handler(self, delay_factor: float = 1.0) -> None:
      +        """Handle Ericcsons Special MINI-LINK CLI login
      +        ------------------------------------------
      +        MINI-LINK <model>  Command Line Interface
      +        ------------------------------------------
      +
      +        Welcome to <hostname>
      +        User:
      +        Password:
      +        """
      +
      +        start = time.time()
      +        output = ""
      +        assert self.auth_timeout is not None
      +        while time.time() - start < self.auth_timeout:
      +            username_pattern = r"(?:login:|User:)"
      +            password_pattern = "ssword"
      +            busy = "busy"
      +            combined_pattern = rf"(?:{username_pattern}|{password_pattern}|{busy})"
      +
      +            new_output = self.read_until_pattern(
      +                pattern=combined_pattern, read_timeout=self.auth_timeout
      +            )
      +            output += new_output
      +            if re.search(username_pattern, new_output):
      +                self.write_channel(self._real_username + self.RETURN)
      +                continue
      +            elif re.search(password_pattern, new_output):
      +                assert isinstance(self.password, str)
      +                self.write_channel(self.password + self.RETURN)
      +                break
      +            elif re.search(busy, new_output):
      +                self.disconnect()
      +                raise ValueError("CLI is currently busy")
      +        else:  # no-break
      +            msg = f"""Login process failed to device:
      +Timeout reached (auth_timeout={self.auth_timeout} seconds)"""
      +            raise NetmikoTimeoutException(msg)
      +
      +    def save_config(
      +        self, cmd: str = "write", confirm: bool = False, confirm_response: str = ""
      +    ) -> str:
      +        """Saves Config."""
      +        if self.check_config_mode():
      +            self.exit_config_mode()
      +
      +        self.send_command(command_string=cmd, strip_prompt=False, strip_command=False)
      +        return "success"
      +
      +    def config_mode(
      +        self,
      +        config_command: str = "config",
      +        pattern: str = r"\(config\)#",
      +        re_flags: int = 0,
      +    ) -> str:
      +        return super().config_mode(config_command, pattern, re_flags=re_flags)
      +
      +    def check_config_mode(
      +        self,
      +        check_string: str = "(config)#",
      +        pattern: str = "",
      +        force_regex: bool = False,
      +    ) -> bool:
      +        return super().check_config_mode(check_string, pattern, force_regex=force_regex)
      +
      +    def exit_config_mode(self, exit_config: str = "exit", pattern: str = "") -> str:
      +        return super().exit_config_mode(exit_config, pattern)
      +
      +    def cleanup(self, command: str = "exit") -> None:
      +        """Gracefully exit the SSH session."""
      +        try:
      +            if self.check_config_mode():
      +                self.exit_config_mode()
      +        except Exception:
      +            pass
      +        # Always try to send final 'exit' (command)
      +        if self.session_log:
      +            self.session_log.fin = True
      +        self.write_channel(command + self.RETURN)
      +
      +

      Ancestors

      + +

      Subclasses

      + +

      Class variables

      +
      +
      var prompt_pattern
      +
      +
      +
      +
      +

      Methods

      +
      +
      +def cleanup(self, command: str = 'exit') ‑> None +
      +
      +

      Gracefully exit the SSH session.

      +
      + +Expand source code + +
      def cleanup(self, command: str = "exit") -> None:
      +    """Gracefully exit the SSH session."""
      +    try:
      +        if self.check_config_mode():
      +            self.exit_config_mode()
      +    except Exception:
      +        pass
      +    # Always try to send final 'exit' (command)
      +    if self.session_log:
      +        self.session_log.fin = True
      +    self.write_channel(command + self.RETURN)
      +
      +
      +
      +def save_config(self, cmd: str = 'write', confirm: bool = False, confirm_response: str = '') ‑> str +
      +
      +

      Saves Config.

      +
      + +Expand source code + +
      def save_config(
      +    self, cmd: str = "write", confirm: bool = False, confirm_response: str = ""
      +) -> str:
      +    """Saves Config."""
      +    if self.check_config_mode():
      +        self.exit_config_mode()
      +
      +    self.send_command(command_string=cmd, strip_prompt=False, strip_command=False)
      +    return "success"
      +
      +
      +
      +def special_login_handler(self, delay_factor: float = 1.0) ‑> None +
      +
      +
      + +

      Welcome to +User: +Password:

      +
      + +Expand source code + +
          def special_login_handler(self, delay_factor: float = 1.0) -> None:
      +        """Handle Ericcsons Special MINI-LINK CLI login
      +        ------------------------------------------
      +        MINI-LINK <model>  Command Line Interface
      +        ------------------------------------------
      +
      +        Welcome to <hostname>
      +        User:
      +        Password:
      +        """
      +
      +        start = time.time()
      +        output = ""
      +        assert self.auth_timeout is not None
      +        while time.time() - start < self.auth_timeout:
      +            username_pattern = r"(?:login:|User:)"
      +            password_pattern = "ssword"
      +            busy = "busy"
      +            combined_pattern = rf"(?:{username_pattern}|{password_pattern}|{busy})"
      +
      +            new_output = self.read_until_pattern(
      +                pattern=combined_pattern, read_timeout=self.auth_timeout
      +            )
      +            output += new_output
      +            if re.search(username_pattern, new_output):
      +                self.write_channel(self._real_username + self.RETURN)
      +                continue
      +            elif re.search(password_pattern, new_output):
      +                assert isinstance(self.password, str)
      +                self.write_channel(self.password + self.RETURN)
      +                break
      +            elif re.search(busy, new_output):
      +                self.disconnect()
      +                raise ValueError("CLI is currently busy")
      +        else:  # no-break
      +            msg = f"""Login process failed to device:
      +Timeout reached (auth_timeout={self.auth_timeout} seconds)"""
      +            raise NetmikoTimeoutException(msg)
      +
      +
      +
      +

      Inherited members

      + +
      +
      +
      +
      + +
      + + + \ No newline at end of file diff --git a/docs/netmiko/ericsson/index.html b/docs/netmiko/ericsson/index.html index 1b786c7a4..9d8399b7f 100644 --- a/docs/netmiko/ericsson/index.html +++ b/docs/netmiko/ericsson/index.html @@ -27,8 +27,9 @@

      Module netmiko.ericsson

      Expand source code
      from netmiko.ericsson.ericsson_ipos import EricssonIposSSH
      +from netmiko.ericsson.ericsson_mltn import EricssonMinilink63SSH, EricssonMinilink66SSH
       
      -__all__ = ["EricssonIposSSH"]
      +__all__ = ["EricssonIposSSH", "EricssonMinilink63SSH", "EricssonMinilink66SSH"]
      @@ -38,6 +39,10 @@

      Sub-modules

      Ericsson Ipos looks like it was RedBack equipment.

      +
      netmiko.ericsson.ericsson_mltn
      +
      +

      Ericsson MiniLink driver.

      +
      @@ -49,7 +54,7 @@

      Classes

      class EricssonIposSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Defines vendor independent methods.

      @@ -91,6 +96,9 @@

      Classes

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -105,7 +113,7 @@

      Classes

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -113,6 +121,10 @@

      Classes

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -124,7 +136,9 @@

      Classes

      enter key (default:

      )

      -
          :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
      +
          :param serial_settings: Dictionary of settings for use with serial port (pySerial).
      +
      +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                   to select smallest of global and specific. Sets default global_delay_factor to .1
                   (default: True)
       
      @@ -156,6 +170,9 @@ 

      Classes

      :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
      @@ -176,10 +193,15 @@

      Classes

      cmd: str = "enable 15", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: return super().enable( - cmd=cmd, pattern=pattern, enable_pattern=enable_pattern, re_flags=re_flags + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, ) def exit_enable_mode(self, exit_command: str = "disable") -> str: @@ -502,6 +524,148 @@

      Inherited members

    +
    +class EricssonMinilink63SSH +(*args: Any, **kwargs: Any) +
    +
    +

    Common Methods for Ericsson Minilink 63XX (SSH)

    +
    + +Expand source code + +
    class EricssonMinilink63SSH(EricssonMinilinkBase):
    +    """Common Methods for Ericsson Minilink 63XX (SSH)"""
    +
    +    def cleanup(self, command: str = "quit") -> None:
    +        """Gracefully exit the SSH session."""
    +        return super().cleanup(command)
    +
    +

    Ancestors

    + +

    Inherited members

    + +
    +
    +class EricssonMinilink66SSH +(*args: Any, **kwargs: Any) +
    +
    +

    Common Methods for Ericsson Minilink 66XX (SSH)

    +
    + +Expand source code + +
    class EricssonMinilink66SSH(EricssonMinilinkBase):
    +    """Common Methods for Ericsson Minilink 66XX (SSH)"""
    +
    +    pass
    +
    +

    Ancestors

    + +

    Inherited members

    + +
    @@ -519,6 +683,7 @@

    Index

  • Sub-modules

  • Classes

    @@ -532,6 +697,12 @@

    send_config_set

  • +
  • +

    EricssonMinilink63SSH

    +
  • +
  • +

    EricssonMinilink66SSH

    +
  • diff --git a/docs/netmiko/extreme/extreme_ers_ssh.html b/docs/netmiko/extreme/extreme_ers_ssh.html index 29d165b64..773831a26 100644 --- a/docs/netmiko/extreme/extreme_ers_ssh.html +++ b/docs/netmiko/extreme/extreme_ers_ssh.html @@ -34,6 +34,7 @@

    Module netmiko.extreme.extreme_ers_ssh

    # Extreme ERS presents Enter Ctrl-Y to begin. CTRL_Y = "\x19" +CTRL_C = "\x63" class ExtremeErsSSH(CiscoSSHConnection): @@ -62,7 +63,10 @@

    Module netmiko.extreme.extreme_ers_ssh

    uname = "sername" password = "ssword" cntl_y = "Ctrl-Y" - pattern = rf"(?:{uname}|{password}|{cntl_y}|{self.prompt_pattern})" + enter_msg = "Press ENTER to continue" + pattern = ( + rf"(?:{uname}|{password}|{cntl_y}|{enter_msg}|{self.prompt_pattern}|Menu)" + ) while True: new_data = self.read_until_pattern(pattern=pattern, read_timeout=25.0) output += new_data @@ -71,14 +75,19 @@

    Module netmiko.extreme.extreme_ers_ssh

    if cntl_y in new_data: self.write_channel(CTRL_Y) + elif "Press ENTER" in new_data: + self.write_channel(self.RETURN) elif uname in new_data: assert isinstance(self.username, str) self.write_channel(self.username + self.RETURN) elif password in new_data: assert isinstance(self.password, str) self.write_channel(self.password + self.RETURN) + elif "Menu" in new_data: + self.write_channel(CTRL_C) else: msg = f""" + Failed to login to Extreme ERS Device. Pattern not detected: {pattern} @@ -112,7 +121,7 @@

    Classes

    class ExtremeErsSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Netmiko support for Extreme Ethernet Routing Switch.

    @@ -153,6 +162,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -167,7 +179,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -175,6 +187,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -186,7 +202,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -218,6 +236,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -249,7 +270,10 @@

    Classes

    uname = "sername" password = "ssword" cntl_y = "Ctrl-Y" - pattern = rf"(?:{uname}|{password}|{cntl_y}|{self.prompt_pattern})" + enter_msg = "Press ENTER to continue" + pattern = ( + rf"(?:{uname}|{password}|{cntl_y}|{enter_msg}|{self.prompt_pattern}|Menu)" + ) while True: new_data = self.read_until_pattern(pattern=pattern, read_timeout=25.0) output += new_data @@ -258,14 +282,19 @@

    Classes

    if cntl_y in new_data: self.write_channel(CTRL_Y) + elif "Press ENTER" in new_data: + self.write_channel(self.RETURN) elif uname in new_data: assert isinstance(self.username, str) self.write_channel(self.username + self.RETURN) elif password in new_data: assert isinstance(self.password, str) self.write_channel(self.password + self.RETURN) + elif "Menu" in new_data: + self.write_channel(CTRL_C) else: msg = f""" + Failed to login to Extreme ERS Device. Pattern not detected: {pattern} @@ -350,7 +379,10 @@

    Methods

    uname = "sername" password = "ssword" cntl_y = "Ctrl-Y" - pattern = rf"(?:{uname}|{password}|{cntl_y}|{self.prompt_pattern})" + enter_msg = "Press ENTER to continue" + pattern = ( + rf"(?:{uname}|{password}|{cntl_y}|{enter_msg}|{self.prompt_pattern}|Menu)" + ) while True: new_data = self.read_until_pattern(pattern=pattern, read_timeout=25.0) output += new_data @@ -359,14 +391,19 @@

    Methods

    if cntl_y in new_data: self.write_channel(CTRL_Y) + elif "Press ENTER" in new_data: + self.write_channel(self.RETURN) elif uname in new_data: assert isinstance(self.username, str) self.write_channel(self.username + self.RETURN) elif password in new_data: assert isinstance(self.password, str) self.write_channel(self.password + self.RETURN) + elif "Menu" in new_data: + self.write_channel(CTRL_C) else: msg = f""" + Failed to login to Extreme ERS Device. Pattern not detected: {pattern} diff --git a/docs/netmiko/extreme/extreme_exos.html b/docs/netmiko/extreme/extreme_exos.html index e6415ce57..e6064ecad 100644 --- a/docs/netmiko/extreme/extreme_exos.html +++ b/docs/netmiko/extreme/extreme_exos.html @@ -258,7 +258,7 @@

    Classes

    class ExtremeExosBase -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Extreme Exos support.

    @@ -300,6 +300,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -314,7 +317,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -322,6 +325,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -333,7 +340,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -365,6 +374,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -782,7 +794,7 @@

    Inherited members

    class ExtremeExosSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Extreme Exos support.

    @@ -824,6 +836,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -838,7 +853,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -846,6 +861,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -857,7 +876,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -889,6 +910,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -998,6 +1022,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -1012,7 +1039,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -1020,6 +1047,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -1031,7 +1062,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -1063,6 +1096,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/extreme/extreme_netiron.html b/docs/netmiko/extreme/extreme_netiron.html index c8c16af19..af02e5839 100644 --- a/docs/netmiko/extreme/extreme_netiron.html +++ b/docs/netmiko/extreme/extreme_netiron.html @@ -72,7 +72,7 @@

    Classes

    class ExtremeNetironBase -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Base Class for cisco-like behavior.

    @@ -113,6 +113,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -127,7 +130,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -135,6 +138,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -146,7 +153,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -178,6 +187,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -303,7 +315,7 @@

    Inherited members

    class ExtremeNetironSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Base Class for cisco-like behavior.

    @@ -344,6 +356,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -358,7 +373,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -366,6 +381,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -377,7 +396,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -409,6 +430,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -516,6 +540,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -530,7 +557,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -538,6 +565,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -549,7 +580,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -581,6 +614,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/extreme/extreme_nos_ssh.html b/docs/netmiko/extreme/extreme_nos_ssh.html index d47f035ae..8028c87e4 100644 --- a/docs/netmiko/extreme/extreme_nos_ssh.html +++ b/docs/netmiko/extreme/extreme_nos_ssh.html @@ -71,7 +71,7 @@

    Classes

    class ExtremeNosSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Support for Extreme NOS/VDX.

    @@ -112,6 +112,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -126,7 +129,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -134,6 +137,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -145,7 +152,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -177,6 +186,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/extreme/extreme_slx_ssh.html b/docs/netmiko/extreme/extreme_slx_ssh.html index c80d89ad6..d2b666f80 100644 --- a/docs/netmiko/extreme/extreme_slx_ssh.html +++ b/docs/netmiko/extreme/extreme_slx_ssh.html @@ -71,7 +71,7 @@

    Classes

    class ExtremeSlxSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Support for Extreme SLX.

    @@ -112,6 +112,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -126,7 +129,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -134,6 +137,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -145,7 +152,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -177,6 +186,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/extreme/extreme_tierraos_ssh.html b/docs/netmiko/extreme/extreme_tierraos_ssh.html index 5bcc2221f..4ce29edb4 100644 --- a/docs/netmiko/extreme/extreme_tierraos_ssh.html +++ b/docs/netmiko/extreme/extreme_tierraos_ssh.html @@ -71,7 +71,7 @@

    Classes

    class ExtremeTierraSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Support for Extreme TierraOS.

    @@ -112,6 +112,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -126,7 +129,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -134,6 +137,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -145,7 +152,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -177,6 +186,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/extreme/extreme_vsp_ssh.html b/docs/netmiko/extreme/extreme_vsp_ssh.html index 9aadd6c2a..59a94587d 100644 --- a/docs/netmiko/extreme/extreme_vsp_ssh.html +++ b/docs/netmiko/extreme/extreme_vsp_ssh.html @@ -63,7 +63,7 @@

    Classes

    class ExtremeVspSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Extreme Virtual Services Platform Support.

    @@ -104,6 +104,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -118,7 +121,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -126,6 +129,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -137,7 +144,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -169,6 +178,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/extreme/extreme_wing_ssh.html b/docs/netmiko/extreme/extreme_wing_ssh.html index 55c24aa9a..38149a335 100644 --- a/docs/netmiko/extreme/extreme_wing_ssh.html +++ b/docs/netmiko/extreme/extreme_wing_ssh.html @@ -51,7 +51,7 @@

    Classes

    class ExtremeWingSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Extreme WiNG support.

    @@ -92,6 +92,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -106,7 +109,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -114,6 +117,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -125,7 +132,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -157,6 +166,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/extreme/index.html b/docs/netmiko/extreme/index.html index c5b39dd9b..0b70e14f9 100644 --- a/docs/netmiko/extreme/index.html +++ b/docs/netmiko/extreme/index.html @@ -98,7 +98,7 @@

    Classes

    class ExtremeErsSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Netmiko support for Extreme Ethernet Routing Switch.

    @@ -139,6 +139,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -153,7 +156,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -161,6 +164,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -172,7 +179,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -204,6 +213,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -235,7 +247,10 @@

    Classes

    uname = "sername" password = "ssword" cntl_y = "Ctrl-Y" - pattern = rf"(?:{uname}|{password}|{cntl_y}|{self.prompt_pattern})" + enter_msg = "Press ENTER to continue" + pattern = ( + rf"(?:{uname}|{password}|{cntl_y}|{enter_msg}|{self.prompt_pattern}|Menu)" + ) while True: new_data = self.read_until_pattern(pattern=pattern, read_timeout=25.0) output += new_data @@ -244,14 +259,19 @@

    Classes

    if cntl_y in new_data: self.write_channel(CTRL_Y) + elif "Press ENTER" in new_data: + self.write_channel(self.RETURN) elif uname in new_data: assert isinstance(self.username, str) self.write_channel(self.username + self.RETURN) elif password in new_data: assert isinstance(self.password, str) self.write_channel(self.password + self.RETURN) + elif "Menu" in new_data: + self.write_channel(CTRL_C) else: msg = f""" + Failed to login to Extreme ERS Device. Pattern not detected: {pattern} @@ -336,7 +356,10 @@

    Methods

    uname = "sername" password = "ssword" cntl_y = "Ctrl-Y" - pattern = rf"(?:{uname}|{password}|{cntl_y}|{self.prompt_pattern})" + enter_msg = "Press ENTER to continue" + pattern = ( + rf"(?:{uname}|{password}|{cntl_y}|{enter_msg}|{self.prompt_pattern}|Menu)" + ) while True: new_data = self.read_until_pattern(pattern=pattern, read_timeout=25.0) output += new_data @@ -345,14 +368,19 @@

    Methods

    if cntl_y in new_data: self.write_channel(CTRL_Y) + elif "Press ENTER" in new_data: + self.write_channel(self.RETURN) elif uname in new_data: assert isinstance(self.username, str) self.write_channel(self.username + self.RETURN) elif password in new_data: assert isinstance(self.password, str) self.write_channel(self.password + self.RETURN) + elif "Menu" in new_data: + self.write_channel(CTRL_C) else: msg = f""" + Failed to login to Extreme ERS Device. Pattern not detected: {pattern} @@ -617,7 +645,7 @@

    Inherited members

    class ExtremeExosSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Extreme Exos support.

    @@ -659,6 +687,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -673,7 +704,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -681,6 +712,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -692,7 +727,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -724,6 +761,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -833,6 +873,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -847,7 +890,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -855,6 +898,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -866,7 +913,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -898,6 +947,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -968,7 +1020,7 @@

    Inherited members

    class ExtremeNetironSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Base Class for cisco-like behavior.

    @@ -1009,6 +1061,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -1023,7 +1078,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -1031,6 +1086,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -1042,7 +1101,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -1074,6 +1135,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -1181,6 +1245,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -1195,7 +1262,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -1203,6 +1270,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -1214,7 +1285,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -1246,6 +1319,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -1315,7 +1391,7 @@

    Inherited members

    class ExtremeNosSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Support for Extreme NOS/VDX.

    @@ -1356,6 +1432,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -1370,7 +1449,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -1378,6 +1457,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -1389,7 +1472,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -1421,6 +1506,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -1548,7 +1636,7 @@

    Inherited members

    class ExtremeSlxSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Support for Extreme SLX.

    @@ -1589,6 +1677,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -1603,7 +1694,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -1611,6 +1702,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -1622,7 +1717,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -1654,6 +1751,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -1781,7 +1881,7 @@

    Inherited members

    class ExtremeTierraSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Support for Extreme TierraOS.

    @@ -1822,6 +1922,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -1836,7 +1939,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -1844,6 +1947,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -1855,7 +1962,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -1887,6 +1996,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -2014,7 +2126,7 @@

    Inherited members

    class ExtremeVspSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Extreme Virtual Services Platform Support.

    @@ -2055,6 +2167,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -2069,7 +2184,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -2077,6 +2192,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -2088,7 +2207,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -2120,6 +2241,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -2240,7 +2364,7 @@

    Inherited members

    class ExtremeWingSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Extreme WiNG support.

    @@ -2281,6 +2405,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -2295,7 +2422,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -2303,6 +2430,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -2314,7 +2445,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -2346,6 +2479,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/f5/f5_linux_ssh.html b/docs/netmiko/f5/f5_linux_ssh.html index 78b9ec940..5174dee02 100644 --- a/docs/netmiko/f5/f5_linux_ssh.html +++ b/docs/netmiko/f5/f5_linux_ssh.html @@ -44,7 +44,7 @@

    Classes

    class F5LinuxSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Base Class for cisco-like behavior.

    @@ -85,6 +85,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -99,7 +102,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -107,6 +110,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -118,7 +125,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -150,6 +159,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/f5/f5_tmsh_ssh.html b/docs/netmiko/f5/f5_tmsh_ssh.html index d649db9ff..892877268 100644 --- a/docs/netmiko/f5/f5_tmsh_ssh.html +++ b/docs/netmiko/f5/f5_tmsh_ssh.html @@ -77,7 +77,7 @@

    Classes

    class F5TmshSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Class for platforms that have no config mode.

    @@ -123,6 +123,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -137,7 +140,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -145,6 +148,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -156,7 +163,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -188,6 +197,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/f5/index.html b/docs/netmiko/f5/index.html index 08988b52c..366ee06a5 100644 --- a/docs/netmiko/f5/index.html +++ b/docs/netmiko/f5/index.html @@ -54,7 +54,7 @@

    Classes

    class F5LinuxSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Base Class for cisco-like behavior.

    @@ -95,6 +95,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -109,7 +112,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -117,6 +120,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -128,7 +135,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -160,6 +169,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -226,7 +238,7 @@

    Inherited members

    class F5TmshSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Class for platforms that have no config mode.

    @@ -272,6 +284,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -286,7 +301,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -294,6 +309,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -305,7 +324,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -337,6 +358,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/flexvnf/flexvnf_ssh.html b/docs/netmiko/flexvnf/flexvnf_ssh.html index e392eafa2..3a0f83de0 100644 --- a/docs/netmiko/flexvnf/flexvnf_ssh.html +++ b/docs/netmiko/flexvnf/flexvnf_ssh.html @@ -244,7 +244,7 @@

    Classes

    class FlexvnfSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Class for platforms that have no enable mode.

    @@ -292,6 +292,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -306,7 +309,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -314,6 +317,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -325,7 +332,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -357,6 +366,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/flexvnf/index.html b/docs/netmiko/flexvnf/index.html index bcd9279d7..43963aa4c 100644 --- a/docs/netmiko/flexvnf/index.html +++ b/docs/netmiko/flexvnf/index.html @@ -49,7 +49,7 @@

    Classes

    class FlexvnfSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Class for platforms that have no enable mode.

    @@ -97,6 +97,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -111,7 +114,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -119,6 +122,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -130,7 +137,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -162,6 +171,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/fortinet/fortinet_ssh.html b/docs/netmiko/fortinet/fortinet_ssh.html index d96a20e0c..db4ba4a3e 100644 --- a/docs/netmiko/fortinet/fortinet_ssh.html +++ b/docs/netmiko/fortinet/fortinet_ssh.html @@ -31,10 +31,13 @@

    Module netmiko.fortinet.fortinet_ssh

    from typing import Optional from netmiko.no_config import NoConfig +from netmiko.no_enable import NoEnable from netmiko.cisco_base_connection import CiscoSSHConnection -class FortinetSSH(NoConfig, CiscoSSHConnection): +class FortinetSSH(NoConfig, NoEnable, CiscoSSHConnection): + prompt_pattern = r"[#$]" + def _modify_connection_params(self) -> None: """Modify connection parameters prior to SSH connection.""" paramiko_transport = getattr(paramiko, "Transport") @@ -45,19 +48,84 @@

    Module netmiko.fortinet.fortinet_ssh

    "diffie-hellman-group1-sha1", ) + def _try_session_preparation(self, force_data: bool = False) -> None: + super()._try_session_preparation(force_data=force_data) + def session_preparation(self) -> None: """Prepare the session after the connection has been established.""" - data = self._test_channel_read(pattern="to accept|[#$]") + data = self._test_channel_read(pattern=f"to accept|{self.prompt_pattern}") # If "set post-login-banner enable" is set it will require you to press 'a' # to accept the banner before you login. This will accept if it occurs if "to accept" in data: self.write_channel("a\r") - self._test_channel_read(pattern=r"[#$]") - - self.set_base_prompt(alt_prompt_terminator="$") + self._test_channel_read(pattern=self.prompt_pattern) + + self.set_base_prompt() + self._vdoms = self._vdoms_enabled() + self._os_version = self._determine_os_version() + # Retain how the 'output mode' was original configured. + self._original_output_mode = self._get_output_mode() + self._output_mode = self._original_output_mode self.disable_paging() + def set_base_prompt( + self, + pri_prompt_terminator: str = r"#", + alt_prompt_terminator: str = r"$", + delay_factor: float = 1.0, + pattern: Optional[str] = None, + ) -> str: + if not pattern: + pattern = self.prompt_pattern + return super().set_base_prompt( + pri_prompt_terminator=pri_prompt_terminator, + alt_prompt_terminator=alt_prompt_terminator, + delay_factor=delay_factor, + pattern=pattern, + ) + + def find_prompt( + self, delay_factor: float = 1.0, pattern: Optional[str] = None + ) -> str: + if not pattern: + pattern = self.prompt_pattern + return super().find_prompt( + delay_factor=delay_factor, + pattern=pattern, + ) + + def _vdoms_enabled(self) -> bool: + """Determine whether virtual domains are enabled or not.""" + check_command = "get system status | grep Virtual" + output = self._send_command_str( + check_command, expect_string=self.prompt_pattern + ) + return bool( + re.search(r"Virtual domain configuration: (multiple|enable)", output) + ) + + def _config_global(self) -> str: + """Enter 'config global' mode, raise a ValueError exception on failure.""" + try: + return self._send_command_str( + "config global", expect_string=self.prompt_pattern + ) + except Exception: + msg = """ +Netmiko may require 'config global' access to properly disable output paging. +Alternatively you can try configuring 'configure system console -> set output standard'. +""" + raise ValueError(msg) + + def _exit_config_global(self) -> str: + """Exit 'config global' mode.""" + try: + return self._send_command_str("end", expect_string=self.prompt_pattern) + except Exception: + msg = "Unable to properly exit 'config global' mode." + raise ValueError(msg) + def disable_paging( self, command: str = "terminal length 0", @@ -66,63 +134,117 @@

    Module netmiko.fortinet.fortinet_ssh

    pattern: Optional[str] = None, ) -> str: """Disable paging is only available with specific roles so it may fail.""" - check_command = "get system status | grep Virtual" - output = self._send_command_timing_str(check_command) - self.allow_disable_global = True - self.vdoms = False - self._output_mode = "more" - - if re.search(r"Virtual domain configuration: (multiple|enable)", output): - self.vdoms = True - vdom_additional_command = "config global" - output = self._send_command_timing_str(vdom_additional_command, last_read=3) - if "Command fail" in output: - self.allow_disable_global = False - if self.remote_conn is not None: - self.remote_conn.close() - self.establish_connection(width=100, height=1000) - - new_output = "" - if self.allow_disable_global: - self._retrieve_output_mode() - disable_paging_commands = [ - "config system console", - "set output standard", - "end", - ] - # There is an extra 'end' required if in multi-vdoms are enabled - if self.vdoms: - disable_paging_commands.append("end") - outputlist = [ - self._send_command_timing_str(command, last_read=3) - for command in disable_paging_commands - ] - # Should test output is valid - new_output = self.RETURN.join(outputlist) - return output + new_output + output = "" + if self._output_mode == "standard": + # Do nothing - already correct. + return "" - def _retrieve_output_mode(self) -> None: - """Save the state of the output mode so it can be reset at the end of the session.""" - reg_mode = re.compile(r"output\s+:\s+(?P<mode>.*)\s+\n") - output = self._send_command_str("get system console") - result_mode_re = reg_mode.search(output) + if self._vdoms: + output += self._config_global() + disable_paging_commands = [ + "config system console", + "set output standard", + "end", + ] + output += self.send_multiline( + disable_paging_commands, expect_string=self.prompt_pattern + ) + self._output_mode = "standard" + + if self._vdoms: + output += self._exit_config_global() + return output + + def _determine_os_version(self) -> str: + check_command = "get system status | grep Version" + output = self._send_command_str( + check_command, expect_string=self.prompt_pattern + ) + if re.search(r"^Version: .* (v[78]\.).*$", output, flags=re.M): + return "v7_or_later" + elif re.search(r"^Version: .* (v[654]\.).*$", output, flags=re.M): + return "v6_or_earlier" + else: + raise ValueError("Unexpected FortiOS Version encountered.") + + def _get_output_mode_v6(self) -> str: + """ + FortiOS V6 and earlier. + Retrieve the current output mode. + """ + if self._vdoms: + self._config_global() + + self._send_command_str( + "config system console", expect_string=self.prompt_pattern + ) + output = self._send_command_str( + "show full-configuration", expect_string=self.prompt_pattern + ) + self._send_command_str("end", expect_string=self.prompt_pattern) + + if self._vdoms: + self._exit_config_global() + + pattern = r"^\s+set output (?P<mode>\S+)\s*$" + result_mode_re = re.search(pattern, output, flags=re.M) if result_mode_re: result_mode = result_mode_re.group("mode").strip() if result_mode in ["more", "standard"]: - self._output_mode = result_mode + return result_mode + + raise ValueError("Unable to determine the output mode on the Fortinet device.") + + def _get_output_mode_v7(self) -> str: + """ + FortiOS V7 and later. + Retrieve the current output mode. + """ + if self._vdoms: + self._config_global() + + output = self._send_command_str( + "get system console", expect_string=self.prompt_pattern + ) + + if self._vdoms: + self._exit_config_global() + + pattern = r"output\s+:\s+(?P<mode>\S+)\s*$" + result_mode_re = re.search(pattern, output, flags=re.M) + if result_mode_re: + result_mode = result_mode_re.group("mode").strip() + if result_mode in ["more", "standard"]: + return result_mode + + raise ValueError("Unable to determine the output mode on the Fortinet device.") + + def _get_output_mode(self) -> str: + """Save the state of the output mode so it can be reset at the end of the session.""" + + # Fortios Version6 does not support 'get system console' + if "v6" in self._os_version: + return self._get_output_mode_v6() + elif "v7" in self._os_version: + return self._get_output_mode_v7() + else: + raise ValueError("Unexpected FortiOS Version encountered.") def cleanup(self, command: str = "exit") -> None: """Re-enable paging globally.""" - if self.allow_disable_global: - # Return paging state - output_mode_cmd = f"set output {self._output_mode}" - enable_paging_commands = ["config system console", output_mode_cmd, "end"] - if self.vdoms: - enable_paging_commands.insert(0, "config global") - # Should test output is valid - for command in enable_paging_commands: - self.send_command_timing(command) + output = "" + if self._original_output_mode == "more": + if self._vdoms: + output += self._config_global() + commands = [ + "config system console", + "set output more", + "end", + ] + output += self.send_multiline(commands, expect_string=self.prompt_pattern) + if self._vdoms: + self._exit_config_global() return super().cleanup(command=command) def save_config( @@ -143,7 +265,7 @@

    Classes

    class FortinetSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Class for platforms that have no config mode.

    @@ -189,6 +311,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -203,7 +328,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -211,6 +336,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -222,7 +351,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -254,12 +385,17 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    Expand source code -
    class FortinetSSH(NoConfig, CiscoSSHConnection):
    +
    class FortinetSSH(NoConfig, NoEnable, CiscoSSHConnection):
    +    prompt_pattern = r"[#$]"
    +
         def _modify_connection_params(self) -> None:
             """Modify connection parameters prior to SSH connection."""
             paramiko_transport = getattr(paramiko, "Transport")
    @@ -270,19 +406,84 @@ 

    Classes

    "diffie-hellman-group1-sha1", ) + def _try_session_preparation(self, force_data: bool = False) -> None: + super()._try_session_preparation(force_data=force_data) + def session_preparation(self) -> None: """Prepare the session after the connection has been established.""" - data = self._test_channel_read(pattern="to accept|[#$]") + data = self._test_channel_read(pattern=f"to accept|{self.prompt_pattern}") # If "set post-login-banner enable" is set it will require you to press 'a' # to accept the banner before you login. This will accept if it occurs if "to accept" in data: self.write_channel("a\r") - self._test_channel_read(pattern=r"[#$]") - - self.set_base_prompt(alt_prompt_terminator="$") + self._test_channel_read(pattern=self.prompt_pattern) + + self.set_base_prompt() + self._vdoms = self._vdoms_enabled() + self._os_version = self._determine_os_version() + # Retain how the 'output mode' was original configured. + self._original_output_mode = self._get_output_mode() + self._output_mode = self._original_output_mode self.disable_paging() + def set_base_prompt( + self, + pri_prompt_terminator: str = r"#", + alt_prompt_terminator: str = r"$", + delay_factor: float = 1.0, + pattern: Optional[str] = None, + ) -> str: + if not pattern: + pattern = self.prompt_pattern + return super().set_base_prompt( + pri_prompt_terminator=pri_prompt_terminator, + alt_prompt_terminator=alt_prompt_terminator, + delay_factor=delay_factor, + pattern=pattern, + ) + + def find_prompt( + self, delay_factor: float = 1.0, pattern: Optional[str] = None + ) -> str: + if not pattern: + pattern = self.prompt_pattern + return super().find_prompt( + delay_factor=delay_factor, + pattern=pattern, + ) + + def _vdoms_enabled(self) -> bool: + """Determine whether virtual domains are enabled or not.""" + check_command = "get system status | grep Virtual" + output = self._send_command_str( + check_command, expect_string=self.prompt_pattern + ) + return bool( + re.search(r"Virtual domain configuration: (multiple|enable)", output) + ) + + def _config_global(self) -> str: + """Enter 'config global' mode, raise a ValueError exception on failure.""" + try: + return self._send_command_str( + "config global", expect_string=self.prompt_pattern + ) + except Exception: + msg = """ +Netmiko may require 'config global' access to properly disable output paging. +Alternatively you can try configuring 'configure system console -> set output standard'. +""" + raise ValueError(msg) + + def _exit_config_global(self) -> str: + """Exit 'config global' mode.""" + try: + return self._send_command_str("end", expect_string=self.prompt_pattern) + except Exception: + msg = "Unable to properly exit 'config global' mode." + raise ValueError(msg) + def disable_paging( self, command: str = "terminal length 0", @@ -291,63 +492,117 @@

    Classes

    pattern: Optional[str] = None, ) -> str: """Disable paging is only available with specific roles so it may fail.""" - check_command = "get system status | grep Virtual" - output = self._send_command_timing_str(check_command) - self.allow_disable_global = True - self.vdoms = False - self._output_mode = "more" - - if re.search(r"Virtual domain configuration: (multiple|enable)", output): - self.vdoms = True - vdom_additional_command = "config global" - output = self._send_command_timing_str(vdom_additional_command, last_read=3) - if "Command fail" in output: - self.allow_disable_global = False - if self.remote_conn is not None: - self.remote_conn.close() - self.establish_connection(width=100, height=1000) - - new_output = "" - if self.allow_disable_global: - self._retrieve_output_mode() - disable_paging_commands = [ - "config system console", - "set output standard", - "end", - ] - # There is an extra 'end' required if in multi-vdoms are enabled - if self.vdoms: - disable_paging_commands.append("end") - outputlist = [ - self._send_command_timing_str(command, last_read=3) - for command in disable_paging_commands - ] - # Should test output is valid - new_output = self.RETURN.join(outputlist) - return output + new_output + output = "" + if self._output_mode == "standard": + # Do nothing - already correct. + return "" - def _retrieve_output_mode(self) -> None: - """Save the state of the output mode so it can be reset at the end of the session.""" - reg_mode = re.compile(r"output\s+:\s+(?P<mode>.*)\s+\n") - output = self._send_command_str("get system console") - result_mode_re = reg_mode.search(output) + if self._vdoms: + output += self._config_global() + disable_paging_commands = [ + "config system console", + "set output standard", + "end", + ] + output += self.send_multiline( + disable_paging_commands, expect_string=self.prompt_pattern + ) + self._output_mode = "standard" + + if self._vdoms: + output += self._exit_config_global() + return output + + def _determine_os_version(self) -> str: + check_command = "get system status | grep Version" + output = self._send_command_str( + check_command, expect_string=self.prompt_pattern + ) + if re.search(r"^Version: .* (v[78]\.).*$", output, flags=re.M): + return "v7_or_later" + elif re.search(r"^Version: .* (v[654]\.).*$", output, flags=re.M): + return "v6_or_earlier" + else: + raise ValueError("Unexpected FortiOS Version encountered.") + + def _get_output_mode_v6(self) -> str: + """ + FortiOS V6 and earlier. + Retrieve the current output mode. + """ + if self._vdoms: + self._config_global() + + self._send_command_str( + "config system console", expect_string=self.prompt_pattern + ) + output = self._send_command_str( + "show full-configuration", expect_string=self.prompt_pattern + ) + self._send_command_str("end", expect_string=self.prompt_pattern) + + if self._vdoms: + self._exit_config_global() + + pattern = r"^\s+set output (?P<mode>\S+)\s*$" + result_mode_re = re.search(pattern, output, flags=re.M) if result_mode_re: result_mode = result_mode_re.group("mode").strip() if result_mode in ["more", "standard"]: - self._output_mode = result_mode + return result_mode + + raise ValueError("Unable to determine the output mode on the Fortinet device.") + + def _get_output_mode_v7(self) -> str: + """ + FortiOS V7 and later. + Retrieve the current output mode. + """ + if self._vdoms: + self._config_global() + + output = self._send_command_str( + "get system console", expect_string=self.prompt_pattern + ) + + if self._vdoms: + self._exit_config_global() + + pattern = r"output\s+:\s+(?P<mode>\S+)\s*$" + result_mode_re = re.search(pattern, output, flags=re.M) + if result_mode_re: + result_mode = result_mode_re.group("mode").strip() + if result_mode in ["more", "standard"]: + return result_mode + + raise ValueError("Unable to determine the output mode on the Fortinet device.") + + def _get_output_mode(self) -> str: + """Save the state of the output mode so it can be reset at the end of the session.""" + + # Fortios Version6 does not support 'get system console' + if "v6" in self._os_version: + return self._get_output_mode_v6() + elif "v7" in self._os_version: + return self._get_output_mode_v7() + else: + raise ValueError("Unexpected FortiOS Version encountered.") def cleanup(self, command: str = "exit") -> None: """Re-enable paging globally.""" - if self.allow_disable_global: - # Return paging state - output_mode_cmd = f"set output {self._output_mode}" - enable_paging_commands = ["config system console", output_mode_cmd, "end"] - if self.vdoms: - enable_paging_commands.insert(0, "config global") - # Should test output is valid - for command in enable_paging_commands: - self.send_command_timing(command) + output = "" + if self._original_output_mode == "more": + if self._vdoms: + output += self._config_global() + commands = [ + "config system console", + "set output more", + "end", + ] + output += self.send_multiline(commands, expect_string=self.prompt_pattern) + if self._vdoms: + self._exit_config_global() return super().cleanup(command=command) def save_config( @@ -359,10 +614,18 @@

    Classes

    Ancestors

    +

    Class variables

    +
    +
    var prompt_pattern
    +
    +
    +
    +

    Methods

    @@ -376,15 +639,18 @@

    Methods

    def cleanup(self, command: str = "exit") -> None:
         """Re-enable paging globally."""
    -    if self.allow_disable_global:
    -        # Return paging state
    -        output_mode_cmd = f"set output {self._output_mode}"
    -        enable_paging_commands = ["config system console", output_mode_cmd, "end"]
    -        if self.vdoms:
    -            enable_paging_commands.insert(0, "config global")
    -        # Should test output is valid
    -        for command in enable_paging_commands:
    -            self.send_command_timing(command)
    +    output = ""
    +    if self._original_output_mode == "more":
    +        if self._vdoms:
    +            output += self._config_global()
    +        commands = [
    +            "config system console",
    +            "set output more",
    +            "end",
    +        ]
    +        output += self.send_multiline(commands, expect_string=self.prompt_pattern)
    +        if self._vdoms:
    +            self._exit_config_global()
         return super().cleanup(command=command)
    @@ -405,41 +671,27 @@

    Methods

    pattern: Optional[str] = None, ) -> str: """Disable paging is only available with specific roles so it may fail.""" - check_command = "get system status | grep Virtual" - output = self._send_command_timing_str(check_command) - self.allow_disable_global = True - self.vdoms = False - self._output_mode = "more" - - if re.search(r"Virtual domain configuration: (multiple|enable)", output): - self.vdoms = True - vdom_additional_command = "config global" - output = self._send_command_timing_str(vdom_additional_command, last_read=3) - if "Command fail" in output: - self.allow_disable_global = False - if self.remote_conn is not None: - self.remote_conn.close() - self.establish_connection(width=100, height=1000) - - new_output = "" - if self.allow_disable_global: - self._retrieve_output_mode() - disable_paging_commands = [ - "config system console", - "set output standard", - "end", - ] - # There is an extra 'end' required if in multi-vdoms are enabled - if self.vdoms: - disable_paging_commands.append("end") - outputlist = [ - self._send_command_timing_str(command, last_read=3) - for command in disable_paging_commands - ] - # Should test output is valid - new_output = self.RETURN.join(outputlist) - return output + new_output
    + output = "" + if self._output_mode == "standard": + # Do nothing - already correct. + return "" + + if self._vdoms: + output += self._config_global() + disable_paging_commands = [ + "config system console", + "set output standard", + "end", + ] + output += self.send_multiline( + disable_paging_commands, expect_string=self.prompt_pattern + ) + self._output_mode = "standard" + + if self._vdoms: + output += self._exit_config_global() + return output
    @@ -470,14 +722,19 @@

    Methods

    def session_preparation(self) -> None:
         """Prepare the session after the connection has been established."""
     
    -    data = self._test_channel_read(pattern="to accept|[#$]")
    +    data = self._test_channel_read(pattern=f"to accept|{self.prompt_pattern}")
         # If "set post-login-banner enable" is set it will require you to press 'a'
         # to accept the banner before you login. This will accept if it occurs
         if "to accept" in data:
             self.write_channel("a\r")
    -        self._test_channel_read(pattern=r"[#$]")
    -
    -    self.set_base_prompt(alt_prompt_terminator="$")
    +        self._test_channel_read(pattern=self.prompt_pattern)
    +
    +    self.set_base_prompt()
    +    self._vdoms = self._vdoms_enabled()
    +    self._os_version = self._determine_os_version()
    +    # Retain how the 'output mode' was original configured.
    +    self._original_output_mode = self._get_output_mode()
    +    self._output_mode = self._original_output_mode
         self.disable_paging()
    @@ -548,6 +805,7 @@

  • cleanup
  • disable_paging
  • +
  • prompt_pattern
  • save_config
  • session_preparation
  • diff --git a/docs/netmiko/fortinet/index.html b/docs/netmiko/fortinet/index.html index 9e13dcea0..f8076a39f 100644 --- a/docs/netmiko/fortinet/index.html +++ b/docs/netmiko/fortinet/index.html @@ -49,7 +49,7 @@

    Classes

    class FortinetSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Class for platforms that have no config mode.

    @@ -95,6 +95,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -109,7 +112,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -117,6 +120,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -128,7 +135,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -160,12 +169,17 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    Expand source code -
    class FortinetSSH(NoConfig, CiscoSSHConnection):
    +
    class FortinetSSH(NoConfig, NoEnable, CiscoSSHConnection):
    +    prompt_pattern = r"[#$]"
    +
         def _modify_connection_params(self) -> None:
             """Modify connection parameters prior to SSH connection."""
             paramiko_transport = getattr(paramiko, "Transport")
    @@ -176,19 +190,84 @@ 

    Classes

    "diffie-hellman-group1-sha1", ) + def _try_session_preparation(self, force_data: bool = False) -> None: + super()._try_session_preparation(force_data=force_data) + def session_preparation(self) -> None: """Prepare the session after the connection has been established.""" - data = self._test_channel_read(pattern="to accept|[#$]") + data = self._test_channel_read(pattern=f"to accept|{self.prompt_pattern}") # If "set post-login-banner enable" is set it will require you to press 'a' # to accept the banner before you login. This will accept if it occurs if "to accept" in data: self.write_channel("a\r") - self._test_channel_read(pattern=r"[#$]") - - self.set_base_prompt(alt_prompt_terminator="$") + self._test_channel_read(pattern=self.prompt_pattern) + + self.set_base_prompt() + self._vdoms = self._vdoms_enabled() + self._os_version = self._determine_os_version() + # Retain how the 'output mode' was original configured. + self._original_output_mode = self._get_output_mode() + self._output_mode = self._original_output_mode self.disable_paging() + def set_base_prompt( + self, + pri_prompt_terminator: str = r"#", + alt_prompt_terminator: str = r"$", + delay_factor: float = 1.0, + pattern: Optional[str] = None, + ) -> str: + if not pattern: + pattern = self.prompt_pattern + return super().set_base_prompt( + pri_prompt_terminator=pri_prompt_terminator, + alt_prompt_terminator=alt_prompt_terminator, + delay_factor=delay_factor, + pattern=pattern, + ) + + def find_prompt( + self, delay_factor: float = 1.0, pattern: Optional[str] = None + ) -> str: + if not pattern: + pattern = self.prompt_pattern + return super().find_prompt( + delay_factor=delay_factor, + pattern=pattern, + ) + + def _vdoms_enabled(self) -> bool: + """Determine whether virtual domains are enabled or not.""" + check_command = "get system status | grep Virtual" + output = self._send_command_str( + check_command, expect_string=self.prompt_pattern + ) + return bool( + re.search(r"Virtual domain configuration: (multiple|enable)", output) + ) + + def _config_global(self) -> str: + """Enter 'config global' mode, raise a ValueError exception on failure.""" + try: + return self._send_command_str( + "config global", expect_string=self.prompt_pattern + ) + except Exception: + msg = """ +Netmiko may require 'config global' access to properly disable output paging. +Alternatively you can try configuring 'configure system console -> set output standard'. +""" + raise ValueError(msg) + + def _exit_config_global(self) -> str: + """Exit 'config global' mode.""" + try: + return self._send_command_str("end", expect_string=self.prompt_pattern) + except Exception: + msg = "Unable to properly exit 'config global' mode." + raise ValueError(msg) + def disable_paging( self, command: str = "terminal length 0", @@ -197,63 +276,117 @@

    Classes

    pattern: Optional[str] = None, ) -> str: """Disable paging is only available with specific roles so it may fail.""" - check_command = "get system status | grep Virtual" - output = self._send_command_timing_str(check_command) - self.allow_disable_global = True - self.vdoms = False - self._output_mode = "more" - - if re.search(r"Virtual domain configuration: (multiple|enable)", output): - self.vdoms = True - vdom_additional_command = "config global" - output = self._send_command_timing_str(vdom_additional_command, last_read=3) - if "Command fail" in output: - self.allow_disable_global = False - if self.remote_conn is not None: - self.remote_conn.close() - self.establish_connection(width=100, height=1000) - - new_output = "" - if self.allow_disable_global: - self._retrieve_output_mode() - disable_paging_commands = [ - "config system console", - "set output standard", - "end", - ] - # There is an extra 'end' required if in multi-vdoms are enabled - if self.vdoms: - disable_paging_commands.append("end") - outputlist = [ - self._send_command_timing_str(command, last_read=3) - for command in disable_paging_commands - ] - # Should test output is valid - new_output = self.RETURN.join(outputlist) - return output + new_output + output = "" + if self._output_mode == "standard": + # Do nothing - already correct. + return "" - def _retrieve_output_mode(self) -> None: - """Save the state of the output mode so it can be reset at the end of the session.""" - reg_mode = re.compile(r"output\s+:\s+(?P<mode>.*)\s+\n") - output = self._send_command_str("get system console") - result_mode_re = reg_mode.search(output) + if self._vdoms: + output += self._config_global() + disable_paging_commands = [ + "config system console", + "set output standard", + "end", + ] + output += self.send_multiline( + disable_paging_commands, expect_string=self.prompt_pattern + ) + self._output_mode = "standard" + + if self._vdoms: + output += self._exit_config_global() + return output + + def _determine_os_version(self) -> str: + check_command = "get system status | grep Version" + output = self._send_command_str( + check_command, expect_string=self.prompt_pattern + ) + if re.search(r"^Version: .* (v[78]\.).*$", output, flags=re.M): + return "v7_or_later" + elif re.search(r"^Version: .* (v[654]\.).*$", output, flags=re.M): + return "v6_or_earlier" + else: + raise ValueError("Unexpected FortiOS Version encountered.") + + def _get_output_mode_v6(self) -> str: + """ + FortiOS V6 and earlier. + Retrieve the current output mode. + """ + if self._vdoms: + self._config_global() + + self._send_command_str( + "config system console", expect_string=self.prompt_pattern + ) + output = self._send_command_str( + "show full-configuration", expect_string=self.prompt_pattern + ) + self._send_command_str("end", expect_string=self.prompt_pattern) + + if self._vdoms: + self._exit_config_global() + + pattern = r"^\s+set output (?P<mode>\S+)\s*$" + result_mode_re = re.search(pattern, output, flags=re.M) + if result_mode_re: + result_mode = result_mode_re.group("mode").strip() + if result_mode in ["more", "standard"]: + return result_mode + + raise ValueError("Unable to determine the output mode on the Fortinet device.") + + def _get_output_mode_v7(self) -> str: + """ + FortiOS V7 and later. + Retrieve the current output mode. + """ + if self._vdoms: + self._config_global() + + output = self._send_command_str( + "get system console", expect_string=self.prompt_pattern + ) + + if self._vdoms: + self._exit_config_global() + + pattern = r"output\s+:\s+(?P<mode>\S+)\s*$" + result_mode_re = re.search(pattern, output, flags=re.M) if result_mode_re: result_mode = result_mode_re.group("mode").strip() if result_mode in ["more", "standard"]: - self._output_mode = result_mode + return result_mode + + raise ValueError("Unable to determine the output mode on the Fortinet device.") + + def _get_output_mode(self) -> str: + """Save the state of the output mode so it can be reset at the end of the session.""" + + # Fortios Version6 does not support 'get system console' + if "v6" in self._os_version: + return self._get_output_mode_v6() + elif "v7" in self._os_version: + return self._get_output_mode_v7() + else: + raise ValueError("Unexpected FortiOS Version encountered.") def cleanup(self, command: str = "exit") -> None: """Re-enable paging globally.""" - if self.allow_disable_global: - # Return paging state - output_mode_cmd = f"set output {self._output_mode}" - enable_paging_commands = ["config system console", output_mode_cmd, "end"] - if self.vdoms: - enable_paging_commands.insert(0, "config global") - # Should test output is valid - for command in enable_paging_commands: - self.send_command_timing(command) + output = "" + if self._original_output_mode == "more": + if self._vdoms: + output += self._config_global() + commands = [ + "config system console", + "set output more", + "end", + ] + output += self.send_multiline(commands, expect_string=self.prompt_pattern) + if self._vdoms: + self._exit_config_global() return super().cleanup(command=command) def save_config( @@ -265,10 +398,18 @@

    Classes

    Ancestors

    +

    Class variables

    +
    +
    var prompt_pattern
    +
    +
    +
    +

    Methods

    @@ -282,15 +423,18 @@

    Methods

    def cleanup(self, command: str = "exit") -> None:
         """Re-enable paging globally."""
    -    if self.allow_disable_global:
    -        # Return paging state
    -        output_mode_cmd = f"set output {self._output_mode}"
    -        enable_paging_commands = ["config system console", output_mode_cmd, "end"]
    -        if self.vdoms:
    -            enable_paging_commands.insert(0, "config global")
    -        # Should test output is valid
    -        for command in enable_paging_commands:
    -            self.send_command_timing(command)
    +    output = ""
    +    if self._original_output_mode == "more":
    +        if self._vdoms:
    +            output += self._config_global()
    +        commands = [
    +            "config system console",
    +            "set output more",
    +            "end",
    +        ]
    +        output += self.send_multiline(commands, expect_string=self.prompt_pattern)
    +        if self._vdoms:
    +            self._exit_config_global()
         return super().cleanup(command=command)
    @@ -311,41 +455,27 @@

    Methods

    pattern: Optional[str] = None, ) -> str: """Disable paging is only available with specific roles so it may fail.""" - check_command = "get system status | grep Virtual" - output = self._send_command_timing_str(check_command) - self.allow_disable_global = True - self.vdoms = False - self._output_mode = "more" - - if re.search(r"Virtual domain configuration: (multiple|enable)", output): - self.vdoms = True - vdom_additional_command = "config global" - output = self._send_command_timing_str(vdom_additional_command, last_read=3) - if "Command fail" in output: - self.allow_disable_global = False - if self.remote_conn is not None: - self.remote_conn.close() - self.establish_connection(width=100, height=1000) - - new_output = "" - if self.allow_disable_global: - self._retrieve_output_mode() - disable_paging_commands = [ - "config system console", - "set output standard", - "end", - ] - # There is an extra 'end' required if in multi-vdoms are enabled - if self.vdoms: - disable_paging_commands.append("end") - outputlist = [ - self._send_command_timing_str(command, last_read=3) - for command in disable_paging_commands - ] - # Should test output is valid - new_output = self.RETURN.join(outputlist) - return output + new_output
    + output = "" + if self._output_mode == "standard": + # Do nothing - already correct. + return "" + + if self._vdoms: + output += self._config_global() + disable_paging_commands = [ + "config system console", + "set output standard", + "end", + ] + output += self.send_multiline( + disable_paging_commands, expect_string=self.prompt_pattern + ) + self._output_mode = "standard" + + if self._vdoms: + output += self._exit_config_global() + return output
    @@ -376,14 +506,19 @@

    Methods

    def session_preparation(self) -> None:
         """Prepare the session after the connection has been established."""
     
    -    data = self._test_channel_read(pattern="to accept|[#$]")
    +    data = self._test_channel_read(pattern=f"to accept|{self.prompt_pattern}")
         # If "set post-login-banner enable" is set it will require you to press 'a'
         # to accept the banner before you login. This will accept if it occurs
         if "to accept" in data:
             self.write_channel("a\r")
    -        self._test_channel_read(pattern=r"[#$]")
    -
    -    self.set_base_prompt(alt_prompt_terminator="$")
    +        self._test_channel_read(pattern=self.prompt_pattern)
    +
    +    self.set_base_prompt()
    +    self._vdoms = self._vdoms_enabled()
    +    self._os_version = self._determine_os_version()
    +    # Retain how the 'output mode' was original configured.
    +    self._original_output_mode = self._get_output_mode()
    +    self._output_mode = self._original_output_mode
         self.disable_paging()
    @@ -459,6 +594,7 @@

  • cleanup
  • disable_paging
  • +
  • prompt_pattern
  • save_config
  • session_preparation
  • diff --git a/docs/netmiko/hillstone/hillstone.html b/docs/netmiko/hillstone/hillstone.html new file mode 100644 index 000000000..0880bf6b2 --- /dev/null +++ b/docs/netmiko/hillstone/hillstone.html @@ -0,0 +1,592 @@ + + + + + + +netmiko.hillstone.hillstone API documentation + + + + + + + + + + + +
    +
    +
    +

    Module netmiko.hillstone.hillstone

    +
    +
    +
    + +Expand source code + +
    from netmiko.no_enable import NoEnable
    +from netmiko.cisco_base_connection import CiscoBaseConnection
    +
    +
    +class HillstoneStoneosBase(NoEnable, CiscoBaseConnection):
    +    def session_preparation(self) -> None:
    +        """Prepare the session after the connection has been established."""
    +        self._test_channel_read(pattern=r"#")
    +        self.set_base_prompt()
    +        self.disable_paging(command="terminal length 0")
    +
    +    def config_mode(
    +        self,
    +        config_command: str = "configure",
    +        pattern: str = "",
    +        re_flags: int = 0,
    +    ) -> str:
    +        """Enter configuration mode."""
    +        return super().config_mode(
    +            config_command=config_command, pattern=pattern, re_flags=re_flags
    +        )
    +
    +    def check_config_mode(
    +        self, check_string: str = ")#", pattern: str = "#", force_regex: bool = False
    +    ) -> bool:
    +        """
    +        Checks if the device is in configuration mode or not.
    +        """
    +        return super().check_config_mode(
    +            check_string=check_string, pattern=pattern, force_regex=force_regex
    +        )
    +
    +    def save_config(
    +        self, cmd: str = "save all", confirm: bool = True, confirm_response: str = "y"
    +    ) -> str:
    +        """Saves Config Using Copy Run Start"""
    +        return super().save_config(
    +            cmd=cmd, confirm=confirm, confirm_response=confirm_response
    +        )
    +
    +
    +class HillstoneStoneosSSH(HillstoneStoneosBase):
    +    pass
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +

    Classes

    +
    +
    +class HillstoneStoneosBase +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False) +
    +
    +

    Class for platforms that have no enable mode.

    +

    Netmiko translates the meaning of "enable" mode to be a proxy for "can +go into config mode". In other words, that you ultimately have privileges +to execute configuration changes.

    +

    The expectation on platforms that have no method for elevating privileges +is that the standard default privileges allow configuration changes.

    +

    Consequently check_enable_mode returns True by default for platforms that +don't explicitly support enable mode.

    +
        Initialize attributes for establishing connection to target device.
    +
    +    :param ip: IP address of target device. Not required if <code>host</code> is
    +        provided.
    +
    +    :param host: Hostname of target device. Not required if <code>ip</code> is
    +            provided.
    +
    +    :param username: Username to authenticate against target device if
    +            required.
    +
    +    :param password: Password to authenticate against target device if
    +            required.
    +
    +    :param secret: The enable password if target device requires one.
    +
    +    :param port: The destination port used to connect to the target
    +            device.
    +
    +    :param device_type: Class selection based on device type.
    +
    +    :param verbose: Enable additional messages to standard output.
    +
    +    :param global_delay_factor: Multiplication factor affecting Netmiko delays (default: 1).
    +
    +    :param use_keys: Connect to target device using SSH keys.
    +
    +    :param key_file: Filename path of the SSH key file to use.
    +
    +    :param pkey: SSH key object to use.
    +
    +    :param passphrase: Passphrase to use for encrypted key; password will be used for key
    +            decryption if not specified.
    +
    +    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko
    +            documentation for a description of the expected format.
    +
    +    :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs
    +        <https://github.com/paramiko/paramiko/issues/1961> (default: False)
    +
    +    :param allow_agent: Enable use of SSH key-agent.
    +
    +    :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which
    +            means unknown SSH host keys will be accepted).
    +
    +    :param system_host_keys: Load host keys from the users known_hosts file.
    +
    +    :param alt_host_keys: If <code>True</code> host keys will be loaded from the file specified in
    +            alt_key_file.
    +
    +    :param alt_key_file: SSH host key file to use (if alt_host_keys=True).
    +
    +    :param ssh_config_file: File name of OpenSSH configuration file.
    +
    +    :param conn_timeout: TCP connection timeout.
    +
    +    :param session_timeout: Set a timeout for parallel requests.
    +
    +    :param auth_timeout: Set a timeout (in seconds) to wait for an authentication response.
    +
    +    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko).
    +
    +    :param read_timeout_override: Set a timeout that will override the default read_timeout
    +            of both send_command and send_command_timing. This is useful for 3rd party
    +            libraries where directly accessing method arguments might be impractical.
    +
    +    :param keepalive: Send SSH keepalive packets at a specific interval, in seconds.
    +            Currently defaults to 0, for backwards compatibility (it will not attempt
    +            to keep the connection alive).
    +
    +    :param default_enter: Character(s) to send to correspond to enter key (default:
    +
    +

    ).

    +
        :param response_return: Character(s) to use in normalized return data to represent
    +            enter key (default:
    +
    +

    )

    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +            to select smallest of global and specific. Sets default global_delay_factor to .1
    +            (default: True)
    +
    +    :param session_log: File path or BufferedIOBase subclass object to write the session log to.
    +
    +    :param session_log_record_writes: The session log generally only records channel reads due
    +            to eliminate command duplication due to command echo. You can enable this if you
    +            want to record both channel reads and channel writes in the log (default: False).
    +
    +    :param session_log_file_mode: "write" or "append" for session_log file mode
    +            (default: "write")
    +
    +    :param allow_auto_change: Allow automatic configuration changes for terminal settings.
    +            (default: False)
    +
    +    :param encoding: Encoding to be used when writing bytes to the output channel.
    +            (default: ascii)
    +
    +    :param sock: An open socket or socket-like object (such as a <code>.Channel</code>) to use for
    +            communication to the target host (default: None).
    +
    +    :param global_cmd_verify: Control whether command echo verification is enabled or disabled
    +            (default: None). Global attribute takes precedence over function <code>cmd\_verify</code>
    +            argument. Value of <code>None</code> indicates to use function <code>cmd\_verify</code> argument.
    +
    +    :param auto_connect: Control whether Netmiko automatically establishes the connection as
    +            part of the object creation (default: True).
    +
    +    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko
    +            3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be
    +            eliminated in Netmiko 5.x (default: False).
    +
    +    :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior
    +            (default: False)
    +
    +
    + +Expand source code + +
    class HillstoneStoneosBase(NoEnable, CiscoBaseConnection):
    +    def session_preparation(self) -> None:
    +        """Prepare the session after the connection has been established."""
    +        self._test_channel_read(pattern=r"#")
    +        self.set_base_prompt()
    +        self.disable_paging(command="terminal length 0")
    +
    +    def config_mode(
    +        self,
    +        config_command: str = "configure",
    +        pattern: str = "",
    +        re_flags: int = 0,
    +    ) -> str:
    +        """Enter configuration mode."""
    +        return super().config_mode(
    +            config_command=config_command, pattern=pattern, re_flags=re_flags
    +        )
    +
    +    def check_config_mode(
    +        self, check_string: str = ")#", pattern: str = "#", force_regex: bool = False
    +    ) -> bool:
    +        """
    +        Checks if the device is in configuration mode or not.
    +        """
    +        return super().check_config_mode(
    +            check_string=check_string, pattern=pattern, force_regex=force_regex
    +        )
    +
    +    def save_config(
    +        self, cmd: str = "save all", confirm: bool = True, confirm_response: str = "y"
    +    ) -> str:
    +        """Saves Config Using Copy Run Start"""
    +        return super().save_config(
    +            cmd=cmd, confirm=confirm, confirm_response=confirm_response
    +        )
    +
    +

    Ancestors

    + +

    Subclasses

    + +

    Methods

    +
    +
    +def config_mode(self, config_command: str = 'configure', pattern: str = '', re_flags: int = 0) ‑> str +
    +
    +

    Enter configuration mode.

    +
    + +Expand source code + +
    def config_mode(
    +    self,
    +    config_command: str = "configure",
    +    pattern: str = "",
    +    re_flags: int = 0,
    +) -> str:
    +    """Enter configuration mode."""
    +    return super().config_mode(
    +        config_command=config_command, pattern=pattern, re_flags=re_flags
    +    )
    +
    +
    +
    +def save_config(self, cmd: str = 'save all', confirm: bool = True, confirm_response: str = 'y') ‑> str +
    +
    +

    Saves Config Using Copy Run Start

    +
    + +Expand source code + +
    def save_config(
    +    self, cmd: str = "save all", confirm: bool = True, confirm_response: str = "y"
    +) -> str:
    +    """Saves Config Using Copy Run Start"""
    +    return super().save_config(
    +        cmd=cmd, confirm=confirm, confirm_response=confirm_response
    +    )
    +
    +
    +
    +def session_preparation(self) ‑> None +
    +
    +

    Prepare the session after the connection has been established.

    +
    + +Expand source code + +
    def session_preparation(self) -> None:
    +    """Prepare the session after the connection has been established."""
    +    self._test_channel_read(pattern=r"#")
    +    self.set_base_prompt()
    +    self.disable_paging(command="terminal length 0")
    +
    +
    +
    +

    Inherited members

    + +
    +
    +class HillstoneStoneosSSH +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False) +
    +
    +

    Class for platforms that have no enable mode.

    +

    Netmiko translates the meaning of "enable" mode to be a proxy for "can +go into config mode". In other words, that you ultimately have privileges +to execute configuration changes.

    +

    The expectation on platforms that have no method for elevating privileges +is that the standard default privileges allow configuration changes.

    +

    Consequently check_enable_mode returns True by default for platforms that +don't explicitly support enable mode.

    +
        Initialize attributes for establishing connection to target device.
    +
    +    :param ip: IP address of target device. Not required if <code>host</code> is
    +        provided.
    +
    +    :param host: Hostname of target device. Not required if <code>ip</code> is
    +            provided.
    +
    +    :param username: Username to authenticate against target device if
    +            required.
    +
    +    :param password: Password to authenticate against target device if
    +            required.
    +
    +    :param secret: The enable password if target device requires one.
    +
    +    :param port: The destination port used to connect to the target
    +            device.
    +
    +    :param device_type: Class selection based on device type.
    +
    +    :param verbose: Enable additional messages to standard output.
    +
    +    :param global_delay_factor: Multiplication factor affecting Netmiko delays (default: 1).
    +
    +    :param use_keys: Connect to target device using SSH keys.
    +
    +    :param key_file: Filename path of the SSH key file to use.
    +
    +    :param pkey: SSH key object to use.
    +
    +    :param passphrase: Passphrase to use for encrypted key; password will be used for key
    +            decryption if not specified.
    +
    +    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko
    +            documentation for a description of the expected format.
    +
    +    :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs
    +        <https://github.com/paramiko/paramiko/issues/1961> (default: False)
    +
    +    :param allow_agent: Enable use of SSH key-agent.
    +
    +    :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which
    +            means unknown SSH host keys will be accepted).
    +
    +    :param system_host_keys: Load host keys from the users known_hosts file.
    +
    +    :param alt_host_keys: If <code>True</code> host keys will be loaded from the file specified in
    +            alt_key_file.
    +
    +    :param alt_key_file: SSH host key file to use (if alt_host_keys=True).
    +
    +    :param ssh_config_file: File name of OpenSSH configuration file.
    +
    +    :param conn_timeout: TCP connection timeout.
    +
    +    :param session_timeout: Set a timeout for parallel requests.
    +
    +    :param auth_timeout: Set a timeout (in seconds) to wait for an authentication response.
    +
    +    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko).
    +
    +    :param read_timeout_override: Set a timeout that will override the default read_timeout
    +            of both send_command and send_command_timing. This is useful for 3rd party
    +            libraries where directly accessing method arguments might be impractical.
    +
    +    :param keepalive: Send SSH keepalive packets at a specific interval, in seconds.
    +            Currently defaults to 0, for backwards compatibility (it will not attempt
    +            to keep the connection alive).
    +
    +    :param default_enter: Character(s) to send to correspond to enter key (default:
    +
    +

    ).

    +
        :param response_return: Character(s) to use in normalized return data to represent
    +            enter key (default:
    +
    +

    )

    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +            to select smallest of global and specific. Sets default global_delay_factor to .1
    +            (default: True)
    +
    +    :param session_log: File path or BufferedIOBase subclass object to write the session log to.
    +
    +    :param session_log_record_writes: The session log generally only records channel reads due
    +            to eliminate command duplication due to command echo. You can enable this if you
    +            want to record both channel reads and channel writes in the log (default: False).
    +
    +    :param session_log_file_mode: "write" or "append" for session_log file mode
    +            (default: "write")
    +
    +    :param allow_auto_change: Allow automatic configuration changes for terminal settings.
    +            (default: False)
    +
    +    :param encoding: Encoding to be used when writing bytes to the output channel.
    +            (default: ascii)
    +
    +    :param sock: An open socket or socket-like object (such as a <code>.Channel</code>) to use for
    +            communication to the target host (default: None).
    +
    +    :param global_cmd_verify: Control whether command echo verification is enabled or disabled
    +            (default: None). Global attribute takes precedence over function <code>cmd\_verify</code>
    +            argument. Value of <code>None</code> indicates to use function <code>cmd\_verify</code> argument.
    +
    +    :param auto_connect: Control whether Netmiko automatically establishes the connection as
    +            part of the object creation (default: True).
    +
    +    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko
    +            3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be
    +            eliminated in Netmiko 5.x (default: False).
    +
    +    :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior
    +            (default: False)
    +
    +
    + +Expand source code + +
    class HillstoneStoneosSSH(HillstoneStoneosBase):
    +    pass
    +
    +

    Ancestors

    + +

    Inherited members

    + +
    +
    +
    +
    + +
    + + + \ No newline at end of file diff --git a/docs/netmiko/hillstone/index.html b/docs/netmiko/hillstone/index.html new file mode 100644 index 000000000..66f095acb --- /dev/null +++ b/docs/netmiko/hillstone/index.html @@ -0,0 +1,274 @@ + + + + + + +netmiko.hillstone API documentation + + + + + + + + + + + +
    +
    +
    +

    Module netmiko.hillstone

    +
    +
    +
    + +Expand source code + +
    from netmiko.hillstone.hillstone import HillstoneStoneosSSH
    +
    +__all__ = ["HillstoneStoneosSSH"]
    +
    +
    +
    +

    Sub-modules

    +
    +
    netmiko.hillstone.hillstone
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +

    Classes

    +
    +
    +class HillstoneStoneosSSH +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False) +
    +
    +

    Class for platforms that have no enable mode.

    +

    Netmiko translates the meaning of "enable" mode to be a proxy for "can +go into config mode". In other words, that you ultimately have privileges +to execute configuration changes.

    +

    The expectation on platforms that have no method for elevating privileges +is that the standard default privileges allow configuration changes.

    +

    Consequently check_enable_mode returns True by default for platforms that +don't explicitly support enable mode.

    +
        Initialize attributes for establishing connection to target device.
    +
    +    :param ip: IP address of target device. Not required if <code>host</code> is
    +        provided.
    +
    +    :param host: Hostname of target device. Not required if <code>ip</code> is
    +            provided.
    +
    +    :param username: Username to authenticate against target device if
    +            required.
    +
    +    :param password: Password to authenticate against target device if
    +            required.
    +
    +    :param secret: The enable password if target device requires one.
    +
    +    :param port: The destination port used to connect to the target
    +            device.
    +
    +    :param device_type: Class selection based on device type.
    +
    +    :param verbose: Enable additional messages to standard output.
    +
    +    :param global_delay_factor: Multiplication factor affecting Netmiko delays (default: 1).
    +
    +    :param use_keys: Connect to target device using SSH keys.
    +
    +    :param key_file: Filename path of the SSH key file to use.
    +
    +    :param pkey: SSH key object to use.
    +
    +    :param passphrase: Passphrase to use for encrypted key; password will be used for key
    +            decryption if not specified.
    +
    +    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko
    +            documentation for a description of the expected format.
    +
    +    :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs
    +        <https://github.com/paramiko/paramiko/issues/1961> (default: False)
    +
    +    :param allow_agent: Enable use of SSH key-agent.
    +
    +    :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which
    +            means unknown SSH host keys will be accepted).
    +
    +    :param system_host_keys: Load host keys from the users known_hosts file.
    +
    +    :param alt_host_keys: If <code>True</code> host keys will be loaded from the file specified in
    +            alt_key_file.
    +
    +    :param alt_key_file: SSH host key file to use (if alt_host_keys=True).
    +
    +    :param ssh_config_file: File name of OpenSSH configuration file.
    +
    +    :param conn_timeout: TCP connection timeout.
    +
    +    :param session_timeout: Set a timeout for parallel requests.
    +
    +    :param auth_timeout: Set a timeout (in seconds) to wait for an authentication response.
    +
    +    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko).
    +
    +    :param read_timeout_override: Set a timeout that will override the default read_timeout
    +            of both send_command and send_command_timing. This is useful for 3rd party
    +            libraries where directly accessing method arguments might be impractical.
    +
    +    :param keepalive: Send SSH keepalive packets at a specific interval, in seconds.
    +            Currently defaults to 0, for backwards compatibility (it will not attempt
    +            to keep the connection alive).
    +
    +    :param default_enter: Character(s) to send to correspond to enter key (default:
    +
    +

    ).

    +
        :param response_return: Character(s) to use in normalized return data to represent
    +            enter key (default:
    +
    +

    )

    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +            to select smallest of global and specific. Sets default global_delay_factor to .1
    +            (default: True)
    +
    +    :param session_log: File path or BufferedIOBase subclass object to write the session log to.
    +
    +    :param session_log_record_writes: The session log generally only records channel reads due
    +            to eliminate command duplication due to command echo. You can enable this if you
    +            want to record both channel reads and channel writes in the log (default: False).
    +
    +    :param session_log_file_mode: "write" or "append" for session_log file mode
    +            (default: "write")
    +
    +    :param allow_auto_change: Allow automatic configuration changes for terminal settings.
    +            (default: False)
    +
    +    :param encoding: Encoding to be used when writing bytes to the output channel.
    +            (default: ascii)
    +
    +    :param sock: An open socket or socket-like object (such as a <code>.Channel</code>) to use for
    +            communication to the target host (default: None).
    +
    +    :param global_cmd_verify: Control whether command echo verification is enabled or disabled
    +            (default: None). Global attribute takes precedence over function <code>cmd\_verify</code>
    +            argument. Value of <code>None</code> indicates to use function <code>cmd\_verify</code> argument.
    +
    +    :param auto_connect: Control whether Netmiko automatically establishes the connection as
    +            part of the object creation (default: True).
    +
    +    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko
    +            3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be
    +            eliminated in Netmiko 5.x (default: False).
    +
    +    :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior
    +            (default: False)
    +
    +
    + +Expand source code + +
    class HillstoneStoneosSSH(HillstoneStoneosBase):
    +    pass
    +
    +

    Ancestors

    + +

    Inherited members

    + +
    +
    +
    +
    + +
    + + + \ No newline at end of file diff --git a/docs/netmiko/hp/hp_comware.html b/docs/netmiko/hp/hp_comware.html index 183d77dbf..43644fded 100644 --- a/docs/netmiko/hp/hp_comware.html +++ b/docs/netmiko/hp/hp_comware.html @@ -137,6 +137,7 @@

    Module netmiko.hp.hp_comware

    cmd: str = "system-view", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """enable mode on Comware is system-view.""" @@ -225,6 +226,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -239,7 +243,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -247,6 +251,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -258,7 +266,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -290,6 +300,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -400,6 +413,7 @@

    Classes

    cmd: str = "system-view", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """enable mode on Comware is system-view.""" @@ -468,7 +482,7 @@

    Methods

    -def enable(self, cmd: str = 'system-view', pattern: str = 'ssword', enable_pattern: Optional[str] = None, re_flags: int = re.IGNORECASE) ‑> str +def enable(self, cmd: str = 'system-view', pattern: str = 'ssword', enable_pattern: Optional[str] = None, check_state: bool = True, re_flags: int = re.IGNORECASE) ‑> str

    enable mode on Comware is system-view.

    @@ -481,6 +495,7 @@

    Methods

    cmd: str = "system-view", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """enable mode on Comware is system-view.""" @@ -685,6 +700,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -699,7 +717,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -707,6 +725,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -718,7 +740,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -750,6 +774,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -857,6 +884,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -871,7 +901,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -879,6 +909,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -890,7 +924,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -922,6 +958,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/hp/hp_procurve.html b/docs/netmiko/hp/hp_procurve.html index 2f2079600..d5bc6ffb7 100644 --- a/docs/netmiko/hp/hp_procurve.html +++ b/docs/netmiko/hp/hp_procurve.html @@ -108,13 +108,15 @@

    Module netmiko.hp.hp_procurve

    cmd: str = "enable", pattern: str = "password", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, default_username: str = "", ) -> str: """Enter enable mode""" - if self.check_enable_mode(): + if check_state and self.check_enable_mode(): return "" + if not default_username: default_username = self.username @@ -307,6 +309,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -321,7 +326,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -329,6 +334,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -340,7 +349,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -372,6 +383,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -446,13 +460,15 @@

    Classes

    cmd: str = "enable", pattern: str = "password", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, default_username: str = "", ) -> str: """Enter enable mode""" - if self.check_enable_mode(): + if check_state and self.check_enable_mode(): return "" + if not default_username: default_username = self.username @@ -587,7 +603,7 @@

    Methods

    -def enable(self, cmd: str = 'enable', pattern: str = 'password', enable_pattern: Optional[str] = None, re_flags: int = re.IGNORECASE, default_username: str = '') ‑> str +def enable(self, cmd: str = 'enable', pattern: str = 'password', enable_pattern: Optional[str] = None, check_state: bool = True, re_flags: int = re.IGNORECASE, default_username: str = '') ‑> str

    Enter enable mode

    @@ -600,13 +616,15 @@

    Methods

    cmd: str = "enable", pattern: str = "password", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, default_username: str = "", ) -> str: """Enter enable mode""" - if self.check_enable_mode(): + if check_state and self.check_enable_mode(): return "" + if not default_username: default_username = self.username @@ -808,6 +826,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -822,7 +843,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -830,6 +851,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -841,7 +866,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -873,6 +900,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -998,6 +1028,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -1012,7 +1045,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -1020,6 +1053,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -1031,7 +1068,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -1063,6 +1102,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/hp/index.html b/docs/netmiko/hp/index.html index 2475c450f..f8fcc116f 100644 --- a/docs/netmiko/hp/index.html +++ b/docs/netmiko/hp/index.html @@ -95,6 +95,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -109,7 +112,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -117,6 +120,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -128,7 +135,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -160,6 +169,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -267,6 +279,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -281,7 +296,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -289,6 +304,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -300,7 +319,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -332,6 +353,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -442,6 +466,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -456,7 +483,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -464,6 +491,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -475,7 +506,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -507,6 +540,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -632,6 +668,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -646,7 +685,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -654,6 +693,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -665,7 +708,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -697,6 +742,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/huawei/huawei.html b/docs/netmiko/huawei/huawei.html index fc30c2e55..e135c979e 100644 --- a/docs/netmiko/huawei/huawei.html +++ b/docs/netmiko/huawei/huawei.html @@ -27,7 +27,6 @@

    Module netmiko.huawei.huawei

    Expand source code
    from typing import Optional, Any, Union, Sequence, Iterator, TextIO
    -import time
     import re
     import warnings
     
    @@ -39,6 +38,10 @@ 

    Module netmiko.huawei.huawei

    class HuaweiBase(NoEnable, CiscoBaseConnection): + prompt_pattern = r"[\]>]" + password_change_prompt = r"(?:Change now|Please choose)" + prompt_or_password_change = rf"(?:Change now|Please choose|{prompt_pattern})" + def session_preparation(self) -> None: """Prepare the session after the connection has been established.""" self.ansi_escape_codes = True @@ -118,10 +121,48 @@

    Module netmiko.huawei.huawei

    def save_config( self, cmd: str = "save", confirm: bool = True, confirm_response: str = "y" ) -> str: - """Save Config for HuaweiSSH""" - return super().save_config( - cmd=cmd, confirm=confirm, confirm_response=confirm_response - ) + """Save Config for HuaweiSSH + + Expected behavior: + + ###################################################################### + Warning: The current configuration will be written to the device. + Are you sure to continue?[Y/N]:y + It will take several minutes to save configuration file, please wait..................... + Configuration file had been saved successfully + Note: The configuration file will take effect after being activated + ###################################################################### + """ + + # Huawei devices might break if you try to use send_command_timing() so use send_command() + # instead. + if confirm: + pattern = rf"(?:Are you sure|{self.prompt_pattern})" + output = self._send_command_str( + command_string=cmd, + expect_string=pattern, + strip_prompt=False, + strip_command=False, + read_timeout=100.0, + ) + if confirm_response and "Are you sure" in output: + output += self._send_command_str( + command_string=confirm_response, + expect_string=self.prompt_pattern, + strip_prompt=False, + strip_command=False, + read_timeout=100.0, + ) + # no confirm. + else: + # Some devices are slow so match on trailing-prompt if you can + output = self._send_command_str( + command_string=cmd, + strip_prompt=False, + strip_command=False, + read_timeout=100.0, + ) + return output def cleanup(self, command: str = "quit") -> None: return super().cleanup(command=command) @@ -133,12 +174,10 @@

    Module netmiko.huawei.huawei

    def special_login_handler(self, delay_factor: float = 1.0) -> None: # Huawei prompts for password change before displaying the initial base prompt. # Search for that password change prompt or for base prompt. - password_change_prompt = r"(Change now|Please choose)" - prompt_or_password_change = r"(?:Change now|Please choose|[>\]])" - data = self.read_until_pattern(pattern=prompt_or_password_change) - if re.search(password_change_prompt, data): + data = self.read_until_pattern(pattern=self.prompt_or_password_change) + if re.search(self.password_change_prompt, data): self.write_channel("N" + self.RETURN) - self.read_until_pattern(pattern=r"[>\]]") + self.read_until_pattern(pattern=self.prompt_pattern) class HuaweiTelnet(HuaweiBase): @@ -146,79 +185,49 @@

    Module netmiko.huawei.huawei

    def telnet_login( self, - pri_prompt_terminator: str = r"]\s*$", - alt_prompt_terminator: str = r">\s*$", + pri_prompt_terminator: str = r"", + alt_prompt_terminator: str = r"", username_pattern: str = r"(?:user:|username|login|user name)", pwd_pattern: str = r"assword", delay_factor: float = 1.0, max_loops: int = 20, ) -> str: """Telnet login for Huawei Devices""" - - delay_factor = self.select_delay_factor(delay_factor) - password_change_prompt = r"(Change now|Please choose 'YES' or 'NO').+" - combined_pattern = r"({}|{}|{})".format( - pri_prompt_terminator, alt_prompt_terminator, password_change_prompt - ) - output = "" return_msg = "" - i = 1 - while i <= max_loops: - try: - # Search for username pattern / send username - output = self.read_until_pattern( - pattern=username_pattern, re_flags=re.I - ) - return_msg += output - self.write_channel(self.username + self.TELNET_RETURN) + try: + # Search for username pattern / send username + output = self.read_until_pattern(pattern=username_pattern, re_flags=re.I) + return_msg += output + self.write_channel(self.username + self.TELNET_RETURN) - # Search for password pattern / send password - output = self.read_until_pattern(pattern=pwd_pattern, re_flags=re.I) - return_msg += output - assert self.password is not None - self.write_channel(self.password + self.TELNET_RETURN) + # Search for password pattern / send password + output = self.read_until_pattern(pattern=pwd_pattern, re_flags=re.I) + return_msg += output + assert self.password is not None + self.write_channel(self.password + self.TELNET_RETURN) - # Waiting for combined output - output = self.read_until_pattern(pattern=combined_pattern) + # Waiting for the prompt or password change message + output = self.read_until_pattern(pattern=self.prompt_or_password_change) + return_msg += output + + # If password change prompt, send "N" + if re.search(self.password_change_prompt, output): + self.write_channel("N" + self.TELNET_RETURN) + output = self.read_until_pattern(pattern=self.prompt_pattern) return_msg += output + return return_msg + elif re.search(self.prompt_pattern, output): + return return_msg - # Search for password change prompt, send "N" - if re.search(password_change_prompt, output): - self.write_channel("N" + self.TELNET_RETURN) - output = self.read_until_pattern(pattern=combined_pattern) - return_msg += output - - # Check if proper data received - if re.search(pri_prompt_terminator, output, flags=re.M) or re.search( - alt_prompt_terminator, output, flags=re.M - ): - return return_msg - - self.write_channel(self.TELNET_RETURN) - time.sleep(0.5 * delay_factor) - i += 1 - - except EOFError: - assert self.remote_conn is not None - self.remote_conn.close() - msg = f"Login failed: {self.host}" - raise NetmikoAuthenticationException(msg) - - # Last try to see if we already logged in - self.write_channel(self.TELNET_RETURN) - time.sleep(0.5 * delay_factor) - output = self.read_channel() - return_msg += output - if re.search(pri_prompt_terminator, output, flags=re.M) or re.search( - alt_prompt_terminator, output, flags=re.M - ): - return return_msg + # Should never be here + raise EOFError - assert self.remote_conn is not None - self.remote_conn.close() - msg = f"Login failed: {self.host}" - raise NetmikoAuthenticationException(msg) + except EOFError: + assert self.remote_conn is not None + self.remote_conn.close() + msg = f"Login failed: {self.host}" + raise NetmikoAuthenticationException(msg) class HuaweiVrpv8SSH(HuaweiSSH): @@ -292,7 +301,7 @@

    Classes

    class HuaweiBase -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Class for platforms that have no enable mode.

    @@ -340,6 +349,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -354,7 +366,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -362,6 +374,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -373,7 +389,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -405,12 +423,19 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    Expand source code
    class HuaweiBase(NoEnable, CiscoBaseConnection):
    +    prompt_pattern = r"[\]>]"
    +    password_change_prompt = r"(?:Change now|Please choose)"
    +    prompt_or_password_change = rf"(?:Change now|Please choose|{prompt_pattern})"
    +
         def session_preparation(self) -> None:
             """Prepare the session after the connection has been established."""
             self.ansi_escape_codes = True
    @@ -490,10 +515,48 @@ 

    Classes

    def save_config( self, cmd: str = "save", confirm: bool = True, confirm_response: str = "y" ) -> str: - """Save Config for HuaweiSSH""" - return super().save_config( - cmd=cmd, confirm=confirm, confirm_response=confirm_response - ) + """Save Config for HuaweiSSH + + Expected behavior: + + ###################################################################### + Warning: The current configuration will be written to the device. + Are you sure to continue?[Y/N]:y + It will take several minutes to save configuration file, please wait..................... + Configuration file had been saved successfully + Note: The configuration file will take effect after being activated + ###################################################################### + """ + + # Huawei devices might break if you try to use send_command_timing() so use send_command() + # instead. + if confirm: + pattern = rf"(?:Are you sure|{self.prompt_pattern})" + output = self._send_command_str( + command_string=cmd, + expect_string=pattern, + strip_prompt=False, + strip_command=False, + read_timeout=100.0, + ) + if confirm_response and "Are you sure" in output: + output += self._send_command_str( + command_string=confirm_response, + expect_string=self.prompt_pattern, + strip_prompt=False, + strip_command=False, + read_timeout=100.0, + ) + # no confirm. + else: + # Some devices are slow so match on trailing-prompt if you can + output = self._send_command_str( + command_string=cmd, + strip_prompt=False, + strip_command=False, + read_timeout=100.0, + ) + return output def cleanup(self, command: str = "quit") -> None: return super().cleanup(command=command)
    @@ -509,6 +572,21 @@

    Subclasses

  • HuaweiSSH
  • HuaweiTelnet
  • +

    Class variables

    +
    +
    var password_change_prompt
    +
    +
    +
    +
    var prompt_or_password_change
    +
    +
    +
    +
    var prompt_pattern
    +
    +
    +
    +

    Methods

    @@ -545,7 +623,15 @@

    Methods

    def save_config(self, cmd: str = 'save', confirm: bool = True, confirm_response: str = 'y') ‑> str
    -

    Save Config for HuaweiSSH

    +

    Save Config for HuaweiSSH

    +

    Expected behavior:

    +
    +

    Warning: The current configuration will be written to the device. +Are you sure to continue?[Y/N]:y +It will take several minutes to save configuration file, please wait..................... +Configuration file had been saved successfully +Note: The configuration file will take effect after being activated

    +
    Expand source code @@ -553,10 +639,48 @@

    Methods

    def save_config(
         self, cmd: str = "save", confirm: bool = True, confirm_response: str = "y"
     ) -> str:
    -    """Save Config for HuaweiSSH"""
    -    return super().save_config(
    -        cmd=cmd, confirm=confirm, confirm_response=confirm_response
    -    )
    + """Save Config for HuaweiSSH + + Expected behavior: + + ###################################################################### + Warning: The current configuration will be written to the device. + Are you sure to continue?[Y/N]:y + It will take several minutes to save configuration file, please wait..................... + Configuration file had been saved successfully + Note: The configuration file will take effect after being activated + ###################################################################### + """ + + # Huawei devices might break if you try to use send_command_timing() so use send_command() + # instead. + if confirm: + pattern = rf"(?:Are you sure|{self.prompt_pattern})" + output = self._send_command_str( + command_string=cmd, + expect_string=pattern, + strip_prompt=False, + strip_command=False, + read_timeout=100.0, + ) + if confirm_response and "Are you sure" in output: + output += self._send_command_str( + command_string=confirm_response, + expect_string=self.prompt_pattern, + strip_prompt=False, + strip_command=False, + read_timeout=100.0, + ) + # no confirm. + else: + # Some devices are slow so match on trailing-prompt if you can + output = self._send_command_str( + command_string=cmd, + strip_prompt=False, + strip_command=False, + read_timeout=100.0, + ) + return output
    @@ -697,7 +821,7 @@

    Inherited members

    class HuaweiSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Huawei SSH driver.

    @@ -738,6 +862,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -752,7 +879,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -760,6 +887,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -771,7 +902,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -803,6 +936,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -814,12 +950,10 @@

    Inherited members

    def special_login_handler(self, delay_factor: float = 1.0) -> None: # Huawei prompts for password change before displaying the initial base prompt. # Search for that password change prompt or for base prompt. - password_change_prompt = r"(Change now|Please choose)" - prompt_or_password_change = r"(?:Change now|Please choose|[>\]])" - data = self.read_until_pattern(pattern=prompt_or_password_change) - if re.search(password_change_prompt, data): + data = self.read_until_pattern(pattern=self.prompt_or_password_change) + if re.search(self.password_change_prompt, data): self.write_channel("N" + self.RETURN) - self.read_until_pattern(pattern=r"[>\]]")
    + self.read_until_pattern(pattern=self.prompt_pattern)

    Ancestors

      @@ -883,7 +1017,7 @@

      Inherited members

    class HuaweiTelnet -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Huawei Telnet driver.

    @@ -924,6 +1058,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -938,7 +1075,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -946,6 +1083,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -957,7 +1098,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -989,6 +1132,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -999,79 +1145,49 @@

    Inherited members

    def telnet_login( self, - pri_prompt_terminator: str = r"]\s*$", - alt_prompt_terminator: str = r">\s*$", + pri_prompt_terminator: str = r"", + alt_prompt_terminator: str = r"", username_pattern: str = r"(?:user:|username|login|user name)", pwd_pattern: str = r"assword", delay_factor: float = 1.0, max_loops: int = 20, ) -> str: """Telnet login for Huawei Devices""" - - delay_factor = self.select_delay_factor(delay_factor) - password_change_prompt = r"(Change now|Please choose 'YES' or 'NO').+" - combined_pattern = r"({}|{}|{})".format( - pri_prompt_terminator, alt_prompt_terminator, password_change_prompt - ) - output = "" return_msg = "" - i = 1 - while i <= max_loops: - try: - # Search for username pattern / send username - output = self.read_until_pattern( - pattern=username_pattern, re_flags=re.I - ) - return_msg += output - self.write_channel(self.username + self.TELNET_RETURN) + try: + # Search for username pattern / send username + output = self.read_until_pattern(pattern=username_pattern, re_flags=re.I) + return_msg += output + self.write_channel(self.username + self.TELNET_RETURN) - # Search for password pattern / send password - output = self.read_until_pattern(pattern=pwd_pattern, re_flags=re.I) - return_msg += output - assert self.password is not None - self.write_channel(self.password + self.TELNET_RETURN) + # Search for password pattern / send password + output = self.read_until_pattern(pattern=pwd_pattern, re_flags=re.I) + return_msg += output + assert self.password is not None + self.write_channel(self.password + self.TELNET_RETURN) + + # Waiting for the prompt or password change message + output = self.read_until_pattern(pattern=self.prompt_or_password_change) + return_msg += output - # Waiting for combined output - output = self.read_until_pattern(pattern=combined_pattern) + # If password change prompt, send "N" + if re.search(self.password_change_prompt, output): + self.write_channel("N" + self.TELNET_RETURN) + output = self.read_until_pattern(pattern=self.prompt_pattern) return_msg += output + return return_msg + elif re.search(self.prompt_pattern, output): + return return_msg - # Search for password change prompt, send "N" - if re.search(password_change_prompt, output): - self.write_channel("N" + self.TELNET_RETURN) - output = self.read_until_pattern(pattern=combined_pattern) - return_msg += output - - # Check if proper data received - if re.search(pri_prompt_terminator, output, flags=re.M) or re.search( - alt_prompt_terminator, output, flags=re.M - ): - return return_msg - - self.write_channel(self.TELNET_RETURN) - time.sleep(0.5 * delay_factor) - i += 1 - - except EOFError: - assert self.remote_conn is not None - self.remote_conn.close() - msg = f"Login failed: {self.host}" - raise NetmikoAuthenticationException(msg) - - # Last try to see if we already logged in - self.write_channel(self.TELNET_RETURN) - time.sleep(0.5 * delay_factor) - output = self.read_channel() - return_msg += output - if re.search(pri_prompt_terminator, output, flags=re.M) or re.search( - alt_prompt_terminator, output, flags=re.M - ): - return return_msg + # Should never be here + raise EOFError - assert self.remote_conn is not None - self.remote_conn.close() - msg = f"Login failed: {self.host}" - raise NetmikoAuthenticationException(msg)
    + except EOFError: + assert self.remote_conn is not None + self.remote_conn.close() + msg = f"Login failed: {self.host}" + raise NetmikoAuthenticationException(msg)

    Ancestors

      @@ -1083,7 +1199,7 @@

      Ancestors

      Methods

      -def telnet_login(self, pri_prompt_terminator: str = ']\\s*$', alt_prompt_terminator: str = '>\\s*$', username_pattern: str = '(?:user:|username|login|user name)', pwd_pattern: str = 'assword', delay_factor: float = 1.0, max_loops: int = 20) ‑> str +def telnet_login(self, pri_prompt_terminator: str = '', alt_prompt_terminator: str = '', username_pattern: str = '(?:user:|username|login|user name)', pwd_pattern: str = 'assword', delay_factor: float = 1.0, max_loops: int = 20) ‑> str

      Telnet login for Huawei Devices

      @@ -1093,79 +1209,49 @@

      Methods

    def telnet_login(
         self,
    -    pri_prompt_terminator: str = r"]\s*$",
    -    alt_prompt_terminator: str = r">\s*$",
    +    pri_prompt_terminator: str = r"",
    +    alt_prompt_terminator: str = r"",
         username_pattern: str = r"(?:user:|username|login|user name)",
         pwd_pattern: str = r"assword",
         delay_factor: float = 1.0,
         max_loops: int = 20,
     ) -> str:
         """Telnet login for Huawei Devices"""
    -
    -    delay_factor = self.select_delay_factor(delay_factor)
    -    password_change_prompt = r"(Change now|Please choose 'YES' or 'NO').+"
    -    combined_pattern = r"({}|{}|{})".format(
    -        pri_prompt_terminator, alt_prompt_terminator, password_change_prompt
    -    )
    -
         output = ""
         return_msg = ""
    -    i = 1
    -    while i <= max_loops:
    -        try:
    -            # Search for username pattern / send username
    -            output = self.read_until_pattern(
    -                pattern=username_pattern, re_flags=re.I
    -            )
    -            return_msg += output
    -            self.write_channel(self.username + self.TELNET_RETURN)
    -
    -            # Search for password pattern / send password
    -            output = self.read_until_pattern(pattern=pwd_pattern, re_flags=re.I)
    -            return_msg += output
    -            assert self.password is not None
    -            self.write_channel(self.password + self.TELNET_RETURN)
    -
    -            # Waiting for combined output
    -            output = self.read_until_pattern(pattern=combined_pattern)
    -            return_msg += output
    +    try:
    +        # Search for username pattern / send username
    +        output = self.read_until_pattern(pattern=username_pattern, re_flags=re.I)
    +        return_msg += output
    +        self.write_channel(self.username + self.TELNET_RETURN)
     
    -            # Search for password change prompt, send "N"
    -            if re.search(password_change_prompt, output):
    -                self.write_channel("N" + self.TELNET_RETURN)
    -                output = self.read_until_pattern(pattern=combined_pattern)
    -                return_msg += output
    +        # Search for password pattern / send password
    +        output = self.read_until_pattern(pattern=pwd_pattern, re_flags=re.I)
    +        return_msg += output
    +        assert self.password is not None
    +        self.write_channel(self.password + self.TELNET_RETURN)
     
    -            # Check if proper data received
    -            if re.search(pri_prompt_terminator, output, flags=re.M) or re.search(
    -                alt_prompt_terminator, output, flags=re.M
    -            ):
    -                return return_msg
    +        # Waiting for the prompt or password change message
    +        output = self.read_until_pattern(pattern=self.prompt_or_password_change)
    +        return_msg += output
     
    -            self.write_channel(self.TELNET_RETURN)
    -            time.sleep(0.5 * delay_factor)
    -            i += 1
    +        # If password change prompt, send "N"
    +        if re.search(self.password_change_prompt, output):
    +            self.write_channel("N" + self.TELNET_RETURN)
    +            output = self.read_until_pattern(pattern=self.prompt_pattern)
    +            return_msg += output
    +            return return_msg
    +        elif re.search(self.prompt_pattern, output):
    +            return return_msg
     
    -        except EOFError:
    -            assert self.remote_conn is not None
    -            self.remote_conn.close()
    -            msg = f"Login failed: {self.host}"
    -            raise NetmikoAuthenticationException(msg)
    +        # Should never be here
    +        raise EOFError
     
    -    # Last try to see if we already logged in
    -    self.write_channel(self.TELNET_RETURN)
    -    time.sleep(0.5 * delay_factor)
    -    output = self.read_channel()
    -    return_msg += output
    -    if re.search(pri_prompt_terminator, output, flags=re.M) or re.search(
    -        alt_prompt_terminator, output, flags=re.M
    -    ):
    -        return return_msg
    -
    -    assert self.remote_conn is not None
    -    self.remote_conn.close()
    -    msg = f"Login failed: {self.host}"
    -    raise NetmikoAuthenticationException(msg)
    + except EOFError: + assert self.remote_conn is not None + self.remote_conn.close() + msg = f"Login failed: {self.host}" + raise NetmikoAuthenticationException(msg)
    @@ -1219,7 +1305,7 @@

    Inherited members

    class HuaweiVrpv8SSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Huawei SSH driver.

    @@ -1260,6 +1346,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -1274,7 +1363,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -1282,6 +1371,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -1293,7 +1386,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -1325,6 +1420,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -1562,6 +1660,9 @@

  • check_config_mode
  • exit_config_mode
  • +
  • password_change_prompt
  • +
  • prompt_or_password_change
  • +
  • prompt_pattern
  • save_config
  • session_preparation
  • set_base_prompt
  • diff --git a/docs/netmiko/huawei/huawei_smartax.html b/docs/netmiko/huawei/huawei_smartax.html index c919e0319..068b4d6ae 100644 --- a/docs/netmiko/huawei/huawei_smartax.html +++ b/docs/netmiko/huawei/huawei_smartax.html @@ -37,10 +37,18 @@

    Module netmiko.huawei.huawei_smartax

    class HuaweiSmartAXSSH(CiscoBaseConnection): """Supports Huawei SmartAX and OLT.""" + prompt_pattern = r"[>$]" + def session_preparation(self) -> None: """Prepare the session after the connection has been established.""" self.ansi_escape_codes = True - self._test_channel_read(pattern=r"[>#]") + + data = self._test_channel_read(pattern=f"YES.NO|{self.prompt_pattern}") + # Huawei OLT might put a post-login banner that requires 'yes' to be sent. + if re.search(r"YES.NO", data): + self.write_channel(f"yes{self.RETURN}") + self._test_channel_read(pattern=self.prompt_pattern) + self.set_base_prompt() self._disable_smart_interaction() self.disable_paging() @@ -119,10 +127,15 @@

    Module netmiko.huawei.huawei_smartax

    cmd: str = "enable", pattern: str = "", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: return super().enable( - cmd=cmd, pattern=pattern, re_flags=re_flags, enable_pattern=enable_pattern + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, ) def set_base_prompt( @@ -159,7 +172,7 @@

    Classes

    class HuaweiSmartAXSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Supports Huawei SmartAX and OLT.

    @@ -200,6 +213,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -214,7 +230,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -222,6 +238,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -233,7 +253,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -265,6 +287,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -273,10 +298,18 @@

    Classes

    class HuaweiSmartAXSSH(CiscoBaseConnection):
         """Supports Huawei SmartAX and OLT."""
     
    +    prompt_pattern = r"[>$]"
    +
         def session_preparation(self) -> None:
             """Prepare the session after the connection has been established."""
             self.ansi_escape_codes = True
    -        self._test_channel_read(pattern=r"[>#]")
    +
    +        data = self._test_channel_read(pattern=f"YES.NO|{self.prompt_pattern}")
    +        # Huawei OLT might put a post-login banner that requires 'yes' to be sent.
    +        if re.search(r"YES.NO", data):
    +            self.write_channel(f"yes{self.RETURN}")
    +            self._test_channel_read(pattern=self.prompt_pattern)
    +
             self.set_base_prompt()
             self._disable_smart_interaction()
             self.disable_paging()
    @@ -355,10 +388,15 @@ 

    Classes

    cmd: str = "enable", pattern: str = "", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: return super().enable( - cmd=cmd, pattern=pattern, re_flags=re_flags, enable_pattern=enable_pattern + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, ) def set_base_prompt( @@ -388,6 +426,13 @@

    Ancestors

  • CiscoBaseConnection
  • BaseConnection
  • +

    Class variables

    +
    +
    var prompt_pattern
    +
    +
    +
    +

    Methods

    @@ -420,7 +465,13 @@

    Methods

    def session_preparation(self) -> None:
         """Prepare the session after the connection has been established."""
         self.ansi_escape_codes = True
    -    self._test_channel_read(pattern=r"[>#]")
    +
    +    data = self._test_channel_read(pattern=f"YES.NO|{self.prompt_pattern}")
    +    # Huawei OLT might put a post-login banner that requires 'yes' to be sent.
    +    if re.search(r"YES.NO", data):
    +        self.write_channel(f"yes{self.RETURN}")
    +        self._test_channel_read(pattern=self.prompt_pattern)
    +
         self.set_base_prompt()
         self._disable_smart_interaction()
         self.disable_paging()
    @@ -520,6 +571,7 @@

    Index

  • HuaweiSmartAXSSH

      +
    • prompt_pattern
    • save_config
    • session_preparation
    • strip_ansi_escape_codes
    • diff --git a/docs/netmiko/huawei/index.html b/docs/netmiko/huawei/index.html index 9718c059e..67b4d7ca9 100644 --- a/docs/netmiko/huawei/index.html +++ b/docs/netmiko/huawei/index.html @@ -55,7 +55,7 @@

      Classes

      class HuaweiSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

      Huawei SSH driver.

      @@ -96,6 +96,9 @@

      Classes

      :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -110,7 +113,7 @@

      Classes

      :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -118,6 +121,10 @@

      Classes

      :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -129,7 +136,9 @@

      Classes

      enter key (default:
  • )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -161,6 +170,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -172,12 +184,10 @@

    Classes

    def special_login_handler(self, delay_factor: float = 1.0) -> None: # Huawei prompts for password change before displaying the initial base prompt. # Search for that password change prompt or for base prompt. - password_change_prompt = r"(Change now|Please choose)" - prompt_or_password_change = r"(?:Change now|Please choose|[>\]])" - data = self.read_until_pattern(pattern=prompt_or_password_change) - if re.search(password_change_prompt, data): + data = self.read_until_pattern(pattern=self.prompt_or_password_change) + if re.search(self.password_change_prompt, data): self.write_channel("N" + self.RETURN) - self.read_until_pattern(pattern=r"[>\]]")
    + self.read_until_pattern(pattern=self.prompt_pattern)

    Ancestors

      @@ -241,7 +251,7 @@

      Inherited members

    class HuaweiSmartAXSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Supports Huawei SmartAX and OLT.

    @@ -282,6 +292,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -296,7 +309,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -304,6 +317,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -315,7 +332,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -347,6 +366,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -355,10 +377,18 @@

    Inherited members

    class HuaweiSmartAXSSH(CiscoBaseConnection):
         """Supports Huawei SmartAX and OLT."""
     
    +    prompt_pattern = r"[>$]"
    +
         def session_preparation(self) -> None:
             """Prepare the session after the connection has been established."""
             self.ansi_escape_codes = True
    -        self._test_channel_read(pattern=r"[>#]")
    +
    +        data = self._test_channel_read(pattern=f"YES.NO|{self.prompt_pattern}")
    +        # Huawei OLT might put a post-login banner that requires 'yes' to be sent.
    +        if re.search(r"YES.NO", data):
    +            self.write_channel(f"yes{self.RETURN}")
    +            self._test_channel_read(pattern=self.prompt_pattern)
    +
             self.set_base_prompt()
             self._disable_smart_interaction()
             self.disable_paging()
    @@ -437,10 +467,15 @@ 

    Inherited members

    cmd: str = "enable", pattern: str = "", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: return super().enable( - cmd=cmd, pattern=pattern, re_flags=re_flags, enable_pattern=enable_pattern + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, ) def set_base_prompt( @@ -470,6 +505,13 @@

    Ancestors

  • CiscoBaseConnection
  • BaseConnection
  • +

    Class variables

    +
    +
    var prompt_pattern
    +
    +
    +
    +

    Methods

    @@ -502,7 +544,13 @@

    Methods

    def session_preparation(self) -> None:
         """Prepare the session after the connection has been established."""
         self.ansi_escape_codes = True
    -    self._test_channel_read(pattern=r"[>#]")
    +
    +    data = self._test_channel_read(pattern=f"YES.NO|{self.prompt_pattern}")
    +    # Huawei OLT might put a post-login banner that requires 'yes' to be sent.
    +    if re.search(r"YES.NO", data):
    +        self.write_channel(f"yes{self.RETURN}")
    +        self._test_channel_read(pattern=self.prompt_pattern)
    +
         self.set_base_prompt()
         self._disable_smart_interaction()
         self.disable_paging()
    @@ -585,7 +633,7 @@

    Inherited members

    class HuaweiTelnet -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Huawei Telnet driver.

    @@ -626,6 +674,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -640,7 +691,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -648,6 +699,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -659,7 +714,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -691,6 +748,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -701,79 +761,49 @@

    Inherited members

    def telnet_login( self, - pri_prompt_terminator: str = r"]\s*$", - alt_prompt_terminator: str = r">\s*$", + pri_prompt_terminator: str = r"", + alt_prompt_terminator: str = r"", username_pattern: str = r"(?:user:|username|login|user name)", pwd_pattern: str = r"assword", delay_factor: float = 1.0, max_loops: int = 20, ) -> str: """Telnet login for Huawei Devices""" - - delay_factor = self.select_delay_factor(delay_factor) - password_change_prompt = r"(Change now|Please choose 'YES' or 'NO').+" - combined_pattern = r"({}|{}|{})".format( - pri_prompt_terminator, alt_prompt_terminator, password_change_prompt - ) - output = "" return_msg = "" - i = 1 - while i <= max_loops: - try: - # Search for username pattern / send username - output = self.read_until_pattern( - pattern=username_pattern, re_flags=re.I - ) - return_msg += output - self.write_channel(self.username + self.TELNET_RETURN) + try: + # Search for username pattern / send username + output = self.read_until_pattern(pattern=username_pattern, re_flags=re.I) + return_msg += output + self.write_channel(self.username + self.TELNET_RETURN) - # Search for password pattern / send password - output = self.read_until_pattern(pattern=pwd_pattern, re_flags=re.I) - return_msg += output - assert self.password is not None - self.write_channel(self.password + self.TELNET_RETURN) + # Search for password pattern / send password + output = self.read_until_pattern(pattern=pwd_pattern, re_flags=re.I) + return_msg += output + assert self.password is not None + self.write_channel(self.password + self.TELNET_RETURN) - # Waiting for combined output - output = self.read_until_pattern(pattern=combined_pattern) + # Waiting for the prompt or password change message + output = self.read_until_pattern(pattern=self.prompt_or_password_change) + return_msg += output + + # If password change prompt, send "N" + if re.search(self.password_change_prompt, output): + self.write_channel("N" + self.TELNET_RETURN) + output = self.read_until_pattern(pattern=self.prompt_pattern) return_msg += output + return return_msg + elif re.search(self.prompt_pattern, output): + return return_msg - # Search for password change prompt, send "N" - if re.search(password_change_prompt, output): - self.write_channel("N" + self.TELNET_RETURN) - output = self.read_until_pattern(pattern=combined_pattern) - return_msg += output - - # Check if proper data received - if re.search(pri_prompt_terminator, output, flags=re.M) or re.search( - alt_prompt_terminator, output, flags=re.M - ): - return return_msg - - self.write_channel(self.TELNET_RETURN) - time.sleep(0.5 * delay_factor) - i += 1 - - except EOFError: - assert self.remote_conn is not None - self.remote_conn.close() - msg = f"Login failed: {self.host}" - raise NetmikoAuthenticationException(msg) - - # Last try to see if we already logged in - self.write_channel(self.TELNET_RETURN) - time.sleep(0.5 * delay_factor) - output = self.read_channel() - return_msg += output - if re.search(pri_prompt_terminator, output, flags=re.M) or re.search( - alt_prompt_terminator, output, flags=re.M - ): - return return_msg + # Should never be here + raise EOFError - assert self.remote_conn is not None - self.remote_conn.close() - msg = f"Login failed: {self.host}" - raise NetmikoAuthenticationException(msg)
    + except EOFError: + assert self.remote_conn is not None + self.remote_conn.close() + msg = f"Login failed: {self.host}" + raise NetmikoAuthenticationException(msg)

    Ancestors

      @@ -785,7 +815,7 @@

      Ancestors

      Methods

      -def telnet_login(self, pri_prompt_terminator: str = ']\\s*$', alt_prompt_terminator: str = '>\\s*$', username_pattern: str = '(?:user:|username|login|user name)', pwd_pattern: str = 'assword', delay_factor: float = 1.0, max_loops: int = 20) ‑> str +def telnet_login(self, pri_prompt_terminator: str = '', alt_prompt_terminator: str = '', username_pattern: str = '(?:user:|username|login|user name)', pwd_pattern: str = 'assword', delay_factor: float = 1.0, max_loops: int = 20) ‑> str

      Telnet login for Huawei Devices

      @@ -795,79 +825,49 @@

      Methods

    def telnet_login(
         self,
    -    pri_prompt_terminator: str = r"]\s*$",
    -    alt_prompt_terminator: str = r">\s*$",
    +    pri_prompt_terminator: str = r"",
    +    alt_prompt_terminator: str = r"",
         username_pattern: str = r"(?:user:|username|login|user name)",
         pwd_pattern: str = r"assword",
         delay_factor: float = 1.0,
         max_loops: int = 20,
     ) -> str:
         """Telnet login for Huawei Devices"""
    -
    -    delay_factor = self.select_delay_factor(delay_factor)
    -    password_change_prompt = r"(Change now|Please choose 'YES' or 'NO').+"
    -    combined_pattern = r"({}|{}|{})".format(
    -        pri_prompt_terminator, alt_prompt_terminator, password_change_prompt
    -    )
    -
         output = ""
         return_msg = ""
    -    i = 1
    -    while i <= max_loops:
    -        try:
    -            # Search for username pattern / send username
    -            output = self.read_until_pattern(
    -                pattern=username_pattern, re_flags=re.I
    -            )
    -            return_msg += output
    -            self.write_channel(self.username + self.TELNET_RETURN)
    -
    -            # Search for password pattern / send password
    -            output = self.read_until_pattern(pattern=pwd_pattern, re_flags=re.I)
    -            return_msg += output
    -            assert self.password is not None
    -            self.write_channel(self.password + self.TELNET_RETURN)
    +    try:
    +        # Search for username pattern / send username
    +        output = self.read_until_pattern(pattern=username_pattern, re_flags=re.I)
    +        return_msg += output
    +        self.write_channel(self.username + self.TELNET_RETURN)
     
    -            # Waiting for combined output
    -            output = self.read_until_pattern(pattern=combined_pattern)
    -            return_msg += output
    +        # Search for password pattern / send password
    +        output = self.read_until_pattern(pattern=pwd_pattern, re_flags=re.I)
    +        return_msg += output
    +        assert self.password is not None
    +        self.write_channel(self.password + self.TELNET_RETURN)
     
    -            # Search for password change prompt, send "N"
    -            if re.search(password_change_prompt, output):
    -                self.write_channel("N" + self.TELNET_RETURN)
    -                output = self.read_until_pattern(pattern=combined_pattern)
    -                return_msg += output
    +        # Waiting for the prompt or password change message
    +        output = self.read_until_pattern(pattern=self.prompt_or_password_change)
    +        return_msg += output
     
    -            # Check if proper data received
    -            if re.search(pri_prompt_terminator, output, flags=re.M) or re.search(
    -                alt_prompt_terminator, output, flags=re.M
    -            ):
    -                return return_msg
    +        # If password change prompt, send "N"
    +        if re.search(self.password_change_prompt, output):
    +            self.write_channel("N" + self.TELNET_RETURN)
    +            output = self.read_until_pattern(pattern=self.prompt_pattern)
    +            return_msg += output
    +            return return_msg
    +        elif re.search(self.prompt_pattern, output):
    +            return return_msg
     
    -            self.write_channel(self.TELNET_RETURN)
    -            time.sleep(0.5 * delay_factor)
    -            i += 1
    +        # Should never be here
    +        raise EOFError
     
    -        except EOFError:
    -            assert self.remote_conn is not None
    -            self.remote_conn.close()
    -            msg = f"Login failed: {self.host}"
    -            raise NetmikoAuthenticationException(msg)
    -
    -    # Last try to see if we already logged in
    -    self.write_channel(self.TELNET_RETURN)
    -    time.sleep(0.5 * delay_factor)
    -    output = self.read_channel()
    -    return_msg += output
    -    if re.search(pri_prompt_terminator, output, flags=re.M) or re.search(
    -        alt_prompt_terminator, output, flags=re.M
    -    ):
    -        return return_msg
    -
    -    assert self.remote_conn is not None
    -    self.remote_conn.close()
    -    msg = f"Login failed: {self.host}"
    -    raise NetmikoAuthenticationException(msg)
    + except EOFError: + assert self.remote_conn is not None + self.remote_conn.close() + msg = f"Login failed: {self.host}" + raise NetmikoAuthenticationException(msg)
    @@ -921,7 +921,7 @@

    Inherited members

    class HuaweiVrpv8SSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Huawei SSH driver.

    @@ -962,6 +962,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -976,7 +979,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -984,6 +987,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -995,7 +1002,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -1027,6 +1036,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -1271,6 +1283,7 @@

    H
  • HuaweiSmartAXSSH

  • import sys
     
    -__version__ = "4.1.2"
    +__version__ = "4.1.3"
     PY_MAJ_VER = 3
     PY_MIN_VER = 7
     MIN_PYTHON_VER = "3.7"
    @@ -137,6 +137,10 @@ 

    Sub-modules

    +
    netmiko.adva
    +
    +

    Adva Device Drivers

    +
    netmiko.alcatel
    @@ -153,6 +157,10 @@

    Sub-modules

    +
    netmiko.arris
    +
    +
    +
    netmiko.aruba
    @@ -177,6 +185,10 @@

    Sub-modules

    +
    netmiko.casa
    +
    +
    +
    netmiko.cdot
    @@ -265,6 +277,10 @@

    Sub-modules

    +
    netmiko.hillstone
    +
    +
    +
    netmiko.hp
    @@ -399,6 +415,10 @@

    Sub-modules

    +
    netmiko.teldat
    +
    +
    +
    netmiko.terminal_server
    @@ -499,6 +519,8 @@

    Functions

    elif "TCP connection to device failed" in str(e): msg = f"Netmiko was unable to reach the provided host and port: {hostname}:{port}" msg += f"\n\n{str(e)}" + else: + msg = f"An unknown NetmikoTimeoutException occurred:\n\n{str(e)}" logger.error(msg) return None except Exception as e: @@ -519,7 +541,6 @@

    Functions

    def ConnUnify(
         **kwargs: Any,
     ) -> "BaseConnection":
    -
         try:
             kwargs["auto_connect"] = False
             net_connect = ConnectHandler(**kwargs)
    @@ -821,7 +842,7 @@ 

    Classes

    class BaseConnection -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Defines vendor independent methods.

    @@ -863,6 +884,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -877,7 +901,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -885,6 +909,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -896,7 +924,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -928,6 +958,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -957,6 +990,7 @@

    Classes

    pkey: Optional[paramiko.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, + disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, @@ -990,6 +1024,7 @@

    Classes

    sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, + disable_lf_normalization: bool = False, ) -> None: """ Initialize attributes for establishing connection to target device. @@ -1029,6 +1064,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + https://github.com/paramiko/paramiko/issues/1961 (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -1043,7 +1081,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -1051,6 +1089,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -1060,6 +1102,8 @@

    Classes

    :param response_return: Character(s) to use in normalized return data to represent enter key (default: \n) + :param serial_settings: Dictionary of settings for use with serial port (pySerial). + :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor to select smallest of global and specific. Sets default global_delay_factor to .1 (default: True) @@ -1092,6 +1136,9 @@

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False) """ self.remote_conn: Union[ @@ -1113,6 +1160,8 @@

    Classes

    # Line Separator in response lines self.RESPONSE_RETURN = "\n" if response_return is None else response_return + self.disable_lf_normalization = True if disable_lf_normalization else False + if ip: self.host = ip.strip() elif host: @@ -1236,7 +1285,15 @@

    Classes

    self.system_host_keys = system_host_keys self.alt_host_keys = alt_host_keys self.alt_key_file = alt_key_file - self.disabled_algorithms = disabled_algorithms or {} + + if disabled_algorithms: + self.disabled_algorithms = disabled_algorithms + else: + self.disabled_algorithms = ( + {"pubkeys": ["rsa-sha2-256", "rsa-sha2-512"]} + if disable_sha2_fix + else {} + ) # For SSH proxy support self.ssh_config_file = ssh_config_file @@ -1384,7 +1441,20 @@

    Classes

    def read_channel(self) -> str: """Generic handler that will read all the data from given channel.""" new_data = self.channel.read_channel() - new_data = self.normalize_linefeeds(new_data) + + if self.disable_lf_normalization is False: + start = time.time() + # Data blocks shouldn't end in '\r' (can cause problems with normalize_linefeeds) + # Only do the extra read if '\n' exists in the output + # this avoids devices that only use \r. + while ("\n" in new_data) and (time.time() - start < 1.0): + if new_data[-1] == "\r": + time.sleep(0.01) + new_data += self.channel.read_channel() + else: + break + new_data = self.normalize_linefeeds(new_data) + if self.ansi_escape_codes: new_data = self.strip_ansi_escape_codes(new_data) log.debug(f"read_channel: {new_data}") @@ -1438,8 +1508,21 @@

    Classes

    start_time = time.time() # if read_timeout == 0 or 0.0 keep reading indefinitely while (time.time() - start_time < read_timeout) or (not read_timeout): + output += self.read_channel() + if re.search(pattern, output, flags=re_flags): + if "(" in pattern and "(?:" not in pattern: + msg = f""" +Parenthesis found in pattern. + +pattern: {pattern}\n + +This can be problemtic when used in read_until_pattern(). + +You should ensure that you use either non-capture groups i.e. '(?:' or that the +parenthesis completely wrap the pattern '(pattern)'""" + log.debug(msg) results = re.split(pattern, output, maxsplit=1, flags=re_flags) # The string matched by pattern must be retained in the output string. @@ -1488,16 +1571,24 @@

    Classes

    """Read data on the channel based on timing delays. General pattern is keep reading until no new data is read. + Once no new data is read wait `last_read` amount of time (one last read). As long as no new data, then return data. - `read_timeout` is an absolute timer for how long to keep reading (which presupposes - we are still getting new data). - Setting `read_timeout` to zero will cause read_channel_timing to never expire based - on an absolute timeout. It will only complete based on timeout based on their being + on an absolute timeout. It will only complete based on timeout based on there being no new data. + :param last_read: Amount of time to wait before performing one last read (under the + idea that we should be done reading at this point and there should be no new + data). + + :param read_timeout: Absolute timer for how long Netmiko should keep reading data on + the channel (waiting for there to be no new data). Will raise ReadTimeout if this + timeout expires. A read_timeout value of 0 will cause the read-loop to never timeout + (i.e. Netmiko will keep reading indefinitely until there is no new data and last_read + passes). + :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. :param max_loops: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. @@ -1624,6 +1715,8 @@

    Classes

    :param username_pattern: Pattern used to identify the username prompt + :param pwd_pattern: Pattern used to identify the pwd prompt + :param delay_factor: See __init__: global_delay_factor :param max_loops: Controls the wait time in conjunction with the delay_factor @@ -1813,7 +1906,6 @@

    Classes

    ) -> str: """Strip out command echo and trailing router prompt.""" if strip_command and command_string: - command_string = self.normalize_linefeeds(command_string) output = self.strip_command(command_string, output) if strip_prompt: output = self.strip_prompt(output) @@ -2015,6 +2107,10 @@

    Classes

    :param command: Device command to disable pagination of output :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. + + :param cmd_verify: Verify command echo before proceeding (default: True). + + :param pattern: Pattern to terminate reading of channel """ if delay_factor is not None: warnings.warn(DELAY_FACTOR_DEPR_SIMPLE_MSG, DeprecationWarning) @@ -2069,12 +2165,6 @@

    Classes

    output = self.read_until_prompt() return output - # Retry by sleeping .33 and then double sleep until 5 attempts (.33, .66, 1.32, etc) - @retry( - wait=wait_exponential(multiplier=0.33, min=0, max=5), - stop=stop_after_attempt(5), - reraise=True, - ) def set_base_prompt( self, pri_prompt_terminator: str = "#", @@ -2238,6 +2328,14 @@

    Classes

    :param command_string: The command to be executed on the remote device. + :param last_read: Time waited after end of data + + :param read_timeout: Absolute timer for how long Netmiko should keep reading data on + the channel (waiting for there to be no new data). Will raise ReadTimeout if this + timeout expires. A read_timeout value of 0 will cause the read-loop to never timeout + (i.e. Netmiko will keep reading indefinitely until there is no new data and last_read + passes). + :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. :param max_loops: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. @@ -2384,10 +2482,15 @@

    Classes

    :param expect_string: Regular expression pattern to use for determining end of output. If left blank will default to being based on router prompt. + :param read_timeout: Maximum time to wait looking for pattern. Will raise ReadTimeout + if timeout is exceeded. + :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. :param max_loops: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. + :param auto_find_prompt: Use find_prompt() to override base prompt + :param strip_prompt: Remove the trailing router prompt from the output (default: True). :param strip_command: Remove the echo of the command from the output (default: True). @@ -2702,6 +2805,7 @@

    Classes

    cmd: str = "", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Enter enable mode. @@ -2712,6 +2816,9 @@

    Classes

    :param enable_pattern: pattern indicating you have entered enable mode + :param check_state: Determine whether we are already in enable_mode using + check_enable_mode() before trying to elevate privileges (default: True) + :param re_flags: Regular expression flags used in conjunction with pattern """ output = "" @@ -2720,35 +2827,37 @@

    Classes

    "the 'secret' argument to ConnectHandler." ) - # Check if in enable mode - if not self.check_enable_mode(): - # Send "enable" mode command - self.write_channel(self.normalize_cmd(cmd)) - try: - # Read the command echo - end_data = "" - if self.global_cmd_verify is not False: - output += self.read_until_pattern(pattern=re.escape(cmd.strip())) - end_data = output.split(cmd.strip())[-1] - - # Search for trailing prompt or password pattern - if pattern not in output and self.base_prompt not in end_data: - output += self.read_until_prompt_or_pattern( - pattern=pattern, re_flags=re_flags - ) - # Send the "secret" in response to password pattern - if re.search(pattern, output): - self.write_channel(self.normalize_cmd(self.secret)) - output += self.read_until_prompt() - - # Search for terminating pattern if defined - if enable_pattern and not re.search(enable_pattern, output): - output += self.read_until_pattern(pattern=enable_pattern) - else: - if not self.check_enable_mode(): - raise ValueError(msg) - except NetmikoTimeoutException: - raise ValueError(msg) + # Check if in enable mode already. + if check_state and self.check_enable_mode(): + return output + + # Send "enable" mode command + self.write_channel(self.normalize_cmd(cmd)) + try: + # Read the command echo + if self.global_cmd_verify is not False: + output += self.read_until_pattern(pattern=re.escape(cmd.strip())) + + # Search for trailing prompt or password pattern + output += self.read_until_prompt_or_pattern( + pattern=pattern, re_flags=re_flags + ) + + # Send the "secret" in response to password pattern + if re.search(pattern, output): + self.write_channel(self.normalize_cmd(self.secret)) + output += self.read_until_prompt() + + # Search for terminating pattern if defined + if enable_pattern and not re.search(enable_pattern, output): + output += self.read_until_pattern(pattern=enable_pattern) + else: + if not self.check_enable_mode(): + raise ValueError(msg) + + except NetmikoTimeoutException: + raise ValueError(msg) + return output def exit_enable_mode(self, exit_command: str = "") -> str: @@ -2775,6 +2884,10 @@

    Classes

    :param pattern: Pattern to terminate reading of channel :type pattern: str + + :param force_regex: Use regular expression pattern to find check_string in output + :type force_regex: bool + """ self.write_channel(self.RETURN) # You can encounter an issue here (on router name changes) prefer delay-based solution @@ -2900,7 +3013,8 @@

    Classes

    :param strip_command: Determines whether or not to strip the command - :param read_timeout: Absolute timer to send to read_channel_timing. Should be rarely needed. + :param read_timeout: Absolute timer to send to read_channel_timing. Also adjusts + read_timeout in read_until_pattern calls. :param config_mode_command: The command to enter into config mode @@ -3006,11 +3120,15 @@

    Classes

    self.write_channel(self.normalize_cmd(cmd)) # Make sure command is echoed - output += self.read_until_pattern(pattern=re.escape(cmd.strip())) + output += self.read_until_pattern( + pattern=re.escape(cmd.strip()), read_timeout=read_timeout + ) # Read until next prompt or terminator (#); the .*$ forces read of entire line pattern = f"(?:{re.escape(self.base_prompt)}.*$|{terminator}.*$)" - output += self.read_until_pattern(pattern=pattern, re_flags=re.M) + output += self.read_until_pattern( + pattern=pattern, read_timeout=read_timeout, re_flags=re.M + ) if error_pattern: if re.search(error_pattern, output, flags=re.M): @@ -3226,6 +3344,7 @@

    Subclasses

  • NetscalerSSH
  • DellIsilonSSH
  • EricssonIposSSH
  • +
  • EricssonMinilinkBase
  • F5TmshSSH
  • FlexvnfSSH
  • JuniperBase
  • @@ -3236,6 +3355,7 @@

    Subclasses

  • PaloAltoPanosBase
  • PluribusSSH
  • RadETXBase
  • +
  • TeldatCITBase
  • TerminalServer
  • WatchguardFirewareSSH
  • YamahaBase
  • @@ -3275,7 +3395,9 @@

    Methods

    :param check_string: Identification of configuration mode from the device :type check_string: str

    :param pattern: Pattern to terminate reading of channel -:type pattern: str

    +:type pattern: str

    +

    :param force_regex: Use regular expression pattern to find check_string in output +:type force_regex: bool

    Expand source code @@ -3290,6 +3412,10 @@

    Methods

    :param pattern: Pattern to terminate reading of channel :type pattern: str + + :param force_regex: Use regular expression pattern to find check_string in output + :type force_regex: bool + """ self.write_channel(self.RETURN) # You can encounter an issue here (on router name changes) prefer delay-based solution @@ -3471,7 +3597,9 @@

    Methods

    Disable paging default to a Cisco CLI method.

    :param command: Device command to disable pagination of output

    -

    :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5.

    +

    :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5.

    +

    :param cmd_verify: Verify command echo before proceeding (default: True).

    +

    :param pattern: Pattern to terminate reading of channel

    Expand source code @@ -3488,6 +3616,10 @@

    Methods

    :param command: Device command to disable pagination of output :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. + + :param cmd_verify: Verify command echo before proceeding (default: True). + + :param pattern: Pattern to terminate reading of channel """ if delay_factor is not None: warnings.warn(DELAY_FACTOR_DEPR_SIMPLE_MSG, DeprecationWarning) @@ -3547,13 +3679,15 @@

    Methods

    -def enable(self, cmd: str = '', pattern: str = 'ssword', enable_pattern: Optional[str] = None, re_flags: int = re.IGNORECASE) ‑> str +def enable(self, cmd: str = '', pattern: str = 'ssword', enable_pattern: Optional[str] = None, check_state: bool = True, re_flags: int = re.IGNORECASE) ‑> str

    Enter enable mode.

    :param cmd: Device command to enter enable mode

    :param pattern: pattern to search for indicating device is waiting for password

    :param enable_pattern: pattern indicating you have entered enable mode

    +

    :param check_state: Determine whether we are already in enable_mode using +check_enable_mode() before trying to elevate privileges (default: True)

    :param re_flags: Regular expression flags used in conjunction with pattern

    @@ -3564,6 +3698,7 @@

    Methods

    cmd: str = "", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Enter enable mode. @@ -3574,6 +3709,9 @@

    Methods

    :param enable_pattern: pattern indicating you have entered enable mode + :param check_state: Determine whether we are already in enable_mode using + check_enable_mode() before trying to elevate privileges (default: True) + :param re_flags: Regular expression flags used in conjunction with pattern """ output = "" @@ -3582,35 +3720,37 @@

    Methods

    "the 'secret' argument to ConnectHandler." ) - # Check if in enable mode - if not self.check_enable_mode(): - # Send "enable" mode command - self.write_channel(self.normalize_cmd(cmd)) - try: - # Read the command echo - end_data = "" - if self.global_cmd_verify is not False: - output += self.read_until_pattern(pattern=re.escape(cmd.strip())) - end_data = output.split(cmd.strip())[-1] + # Check if in enable mode already. + if check_state and self.check_enable_mode(): + return output - # Search for trailing prompt or password pattern - if pattern not in output and self.base_prompt not in end_data: - output += self.read_until_prompt_or_pattern( - pattern=pattern, re_flags=re_flags - ) - # Send the "secret" in response to password pattern - if re.search(pattern, output): - self.write_channel(self.normalize_cmd(self.secret)) - output += self.read_until_prompt() + # Send "enable" mode command + self.write_channel(self.normalize_cmd(cmd)) + try: + # Read the command echo + if self.global_cmd_verify is not False: + output += self.read_until_pattern(pattern=re.escape(cmd.strip())) + + # Search for trailing prompt or password pattern + output += self.read_until_prompt_or_pattern( + pattern=pattern, re_flags=re_flags + ) + + # Send the "secret" in response to password pattern + if re.search(pattern, output): + self.write_channel(self.normalize_cmd(self.secret)) + output += self.read_until_prompt() + + # Search for terminating pattern if defined + if enable_pattern and not re.search(enable_pattern, output): + output += self.read_until_pattern(pattern=enable_pattern) + else: + if not self.check_enable_mode(): + raise ValueError(msg) + + except NetmikoTimeoutException: + raise ValueError(msg) - # Search for terminating pattern if defined - if enable_pattern and not re.search(enable_pattern, output): - output += self.read_until_pattern(pattern=enable_pattern) - else: - if not self.check_enable_mode(): - raise ValueError(msg) - except NetmikoTimeoutException: - raise ValueError(msg) return output
    @@ -3992,7 +4132,20 @@

    Methods

    def read_channel(self) -> str: """Generic handler that will read all the data from given channel.""" new_data = self.channel.read_channel() - new_data = self.normalize_linefeeds(new_data) + + if self.disable_lf_normalization is False: + start = time.time() + # Data blocks shouldn't end in '\r' (can cause problems with normalize_linefeeds) + # Only do the extra read if '\n' exists in the output + # this avoids devices that only use \r. + while ("\n" in new_data) and (time.time() - start < 1.0): + if new_data[-1] == "\r": + time.sleep(0.01) + new_data += self.channel.read_channel() + else: + break + new_data = self.normalize_linefeeds(new_data) + if self.ansi_escape_codes: new_data = self.strip_ansi_escape_codes(new_data) log.debug(f"read_channel: {new_data}") @@ -4014,14 +4167,20 @@

    Methods

    Read data on the channel based on timing delays.

    -

    General pattern is keep reading until no new data is read. -Once no new data is read wait last_read amount of time (one last read). +

    General pattern is keep reading until no new data is read.

    +

    Once no new data is read wait last_read amount of time (one last read). As long as no new data, then return data.

    -

    read_timeout is an absolute timer for how long to keep reading (which presupposes -we are still getting new data).

    Setting read_timeout to zero will cause read_channel_timing to never expire based -on an absolute timeout. It will only complete based on timeout based on their being +on an absolute timeout. It will only complete based on timeout based on there being no new data.

    +

    :param last_read: Amount of time to wait before performing one last read (under the +idea that we should be done reading at this point and there should be no new +data).

    +

    :param read_timeout: Absolute timer for how long Netmiko should keep reading data on +the channel (waiting for there to be no new data). Will raise ReadTimeout if this +timeout expires. A read_timeout value of 0 will cause the read-loop to never timeout +(i.e. Netmiko will keep reading indefinitely until there is no new data and last_read +passes).

    :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5.

    :param max_loops: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5.

    @@ -4038,16 +4197,24 @@

    Methods

    """Read data on the channel based on timing delays. General pattern is keep reading until no new data is read. + Once no new data is read wait `last_read` amount of time (one last read). As long as no new data, then return data. - `read_timeout` is an absolute timer for how long to keep reading (which presupposes - we are still getting new data). - Setting `read_timeout` to zero will cause read_channel_timing to never expire based - on an absolute timeout. It will only complete based on timeout based on their being + on an absolute timeout. It will only complete based on timeout based on there being no new data. + :param last_read: Amount of time to wait before performing one last read (under the + idea that we should be done reading at this point and there should be no new + data). + + :param read_timeout: Absolute timer for how long Netmiko should keep reading data on + the channel (waiting for there to be no new data). Will raise ReadTimeout if this + timeout expires. A read_timeout value of 0 will cause the read-loop to never timeout + (i.e. Netmiko will keep reading indefinitely until there is no new data and last_read + passes). + :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. :param max_loops: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. @@ -4154,8 +4321,21 @@

    Methods

    start_time = time.time() # if read_timeout == 0 or 0.0 keep reading indefinitely while (time.time() - start_time < read_timeout) or (not read_timeout): + output += self.read_channel() + if re.search(pattern, output, flags=re_flags): + if "(" in pattern and "(?:" not in pattern: + msg = f""" +Parenthesis found in pattern. + +pattern: {pattern}\n + +This can be problemtic when used in read_until_pattern(). + +You should ensure that you use either non-capture groups i.e. '(?:' or that the +parenthesis completely wrap the pattern '(pattern)'""" + log.debug(msg) results = re.split(pattern, output, maxsplit=1, flags=re_flags) # The string matched by pattern must be retained in the output string. @@ -4374,8 +4554,11 @@

    Methods

    :param command_string: The command to be executed on the remote device.

    :param expect_string: Regular expression pattern to use for determining end of output. If left blank will default to being based on router prompt.

    +

    :param read_timeout: Maximum time to wait looking for pattern. Will raise ReadTimeout +if timeout is exceeded.

    :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5.

    :param max_loops: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5.

    +

    :param auto_find_prompt: Use find_prompt() to override base prompt

    :param strip_prompt: Remove the trailing router prompt from the output (default: True).

    :param strip_command: Remove the echo of the command from the output (default: True).

    :param normalize: Ensure the proper enter is sent at end of command (default: True).

    @@ -4420,10 +4603,15 @@

    Methods

    :param expect_string: Regular expression pattern to use for determining end of output. If left blank will default to being based on router prompt. + :param read_timeout: Maximum time to wait looking for pattern. Will raise ReadTimeout + if timeout is exceeded. + :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. :param max_loops: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. + :param auto_find_prompt: Use find_prompt() to override base prompt + :param strip_prompt: Remove the trailing router prompt from the output (default: True). :param strip_command: Remove the echo of the command from the output (default: True). @@ -4605,6 +4793,12 @@

    Methods

    Execute command_string on the SSH channel using a delay-based mechanism. Generally used for show commands.

    :param command_string: The command to be executed on the remote device.

    +

    :param last_read: Time waited after end of data

    +

    :param read_timeout: Absolute timer for how long Netmiko should keep reading data on +the channel (waiting for there to be no new data). Will raise ReadTimeout if this +timeout expires. A read_timeout value of 0 will cause the read-loop to never timeout +(i.e. Netmiko will keep reading indefinitely until there is no new data and last_read +passes).

    :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5.

    :param max_loops: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5.

    :param strip_prompt: Remove the trailing router prompt from the output (default: True).

    @@ -4645,6 +4839,14 @@

    Methods

    :param command_string: The command to be executed on the remote device. + :param last_read: Time waited after end of data + + :param read_timeout: Absolute timer for how long Netmiko should keep reading data on + the channel (waiting for there to be no new data). Will raise ReadTimeout if this + timeout expires. A read_timeout value of 0 will cause the read-loop to never timeout + (i.e. Netmiko will keep reading indefinitely until there is no new data and last_read + passes). + :param delay_factor: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. :param max_loops: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5. @@ -4753,7 +4955,8 @@

    Methods

    :param max_loops: Deprecated in Netmiko 4.x. Will be eliminated in Netmiko 5.

    :param strip_prompt: Determines whether or not to strip the prompt

    :param strip_command: Determines whether or not to strip the command

    -

    :param read_timeout: Absolute timer to send to read_channel_timing. Should be rarely needed.

    +

    :param read_timeout: Absolute timer to send to read_channel_timing. Also adjusts +read_timeout in read_until_pattern calls.

    :param config_mode_command: The command to enter into config mode

    :param cmd_verify: Whether or not to verify command echo for each command in config_set

    :param enter_config_mode: Do you enter config mode before sending config commands

    @@ -4804,7 +5007,8 @@

    Methods

    :param strip_command: Determines whether or not to strip the command - :param read_timeout: Absolute timer to send to read_channel_timing. Should be rarely needed. + :param read_timeout: Absolute timer to send to read_channel_timing. Also adjusts + read_timeout in read_until_pattern calls. :param config_mode_command: The command to enter into config mode @@ -4910,11 +5114,15 @@

    Methods

    self.write_channel(self.normalize_cmd(cmd)) # Make sure command is echoed - output += self.read_until_pattern(pattern=re.escape(cmd.strip())) + output += self.read_until_pattern( + pattern=re.escape(cmd.strip()), read_timeout=read_timeout + ) # Read until next prompt or terminator (#); the .*$ forces read of entire line pattern = f"(?:{re.escape(self.base_prompt)}.*$|{terminator}.*$)" - output += self.read_until_pattern(pattern=pattern, re_flags=re.M) + output += self.read_until_pattern( + pattern=pattern, read_timeout=read_timeout, re_flags=re.M + ) if error_pattern: if re.search(error_pattern, output, flags=re.M): @@ -5094,12 +5302,7 @@

    Methods

    Expand source code -
    @retry(
    -    wait=wait_exponential(multiplier=0.33, min=0, max=5),
    -    stop=stop_after_attempt(5),
    -    reraise=True,
    -)
    -def set_base_prompt(
    +
    def set_base_prompt(
         self,
         pri_prompt_terminator: str = "#",
         alt_prompt_terminator: str = ">",
    @@ -5446,6 +5649,7 @@ 

    Methods

    :param pri_prompt_terminator: Primary trailing delimiter for identifying a device prompt

    :param alt_prompt_terminator: Alternate trailing delimiter for identifying a device prompt

    :param username_pattern: Pattern used to identify the username prompt

    +

    :param pwd_pattern: Pattern used to identify the pwd prompt

    :param delay_factor: See init: global_delay_factor

    :param max_loops: Controls the wait time in conjunction with the delay_factor

    @@ -5469,6 +5673,8 @@

    Methods

    :param username_pattern: Pattern used to identify the username prompt + :param pwd_pattern: Pattern used to identify the pwd prompt + :param delay_factor: See __init__: global_delay_factor :param max_loops: Controls the wait time in conjunction with the delay_factor @@ -6268,6 +6474,10 @@

    Methods

    # Always set cmd_verify to False for autodetect kwargs["global_cmd_verify"] = False self.connection = ConnectHandler(*args, **kwargs) + + # Add additional sleep to let the login complete. + time.sleep(3) + # Call the _test_channel_read() in base to clear initial data output = BaseConnection._test_channel_read(self.connection) self.initial_buffer = output @@ -6298,7 +6508,9 @@

    Methods

    # WLC needs two different auto-dectect solutions if "cisco_wlc_85" in best_match[0]: best_match[0] = ("cisco_wlc", 99) - + # IOS XR needs two different auto-dectect solutions + if "cisco_xr_2" in best_match[0]: + best_match[0] = ("cisco_xr", 99) self.connection.disconnect() return best_match[0][0] @@ -6328,7 +6540,7 @@

    Methods

    """ self.connection.write_channel(cmd + "\n") time.sleep(1) - output = self.connection.read_channel_timing() + output = self.connection.read_channel_timing(last_read=6.0) output = self.connection.strip_backspaces(output) return output @@ -6489,7 +6701,9 @@

    Returns

    # WLC needs two different auto-dectect solutions if "cisco_wlc_85" in best_match[0]: best_match[0] = ("cisco_wlc", 99) - + # IOS XR needs two different auto-dectect solutions + if "cisco_xr_2" in best_match[0]: + best_match[0] = ("cisco_xr", 99) self.connection.disconnect() return best_match[0][0] @@ -6520,16 +6734,19 @@

    Index

  • netmiko.a10
  • netmiko.accedian
  • netmiko.adtran
  • +
  • netmiko.adva
  • netmiko.alcatel
  • netmiko.allied_telesis
  • netmiko.apresia
  • netmiko.arista
  • +
  • netmiko.arris
  • netmiko.aruba
  • netmiko.audiocode
  • netmiko.base_connection
  • netmiko.broadcom
  • netmiko.brocade
  • netmiko.calix
  • +
  • netmiko.casa
  • netmiko.cdot
  • netmiko.centec
  • netmiko.channel
  • @@ -6552,6 +6769,7 @@

    Index

  • netmiko.f5
  • netmiko.flexvnf
  • netmiko.fortinet
  • +
  • netmiko.hillstone
  • netmiko.hp
  • netmiko.huawei
  • netmiko.ipinfusion
  • @@ -6585,6 +6803,7 @@

    Index

  • netmiko.ssh_auth
  • netmiko.ssh_autodetect
  • netmiko.supermicro
  • +
  • netmiko.teldat
  • netmiko.terminal_server
  • netmiko.tplink
  • netmiko.ubiquiti
  • diff --git a/docs/netmiko/ipinfusion/index.html b/docs/netmiko/ipinfusion/index.html index e2eb97e96..5273b6ea3 100644 --- a/docs/netmiko/ipinfusion/index.html +++ b/docs/netmiko/ipinfusion/index.html @@ -93,6 +93,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -107,7 +110,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -115,6 +118,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -126,7 +133,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -158,6 +167,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -267,6 +279,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -281,7 +296,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -289,6 +304,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -300,7 +319,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -332,6 +353,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/ipinfusion/ipinfusion_ocnos.html b/docs/netmiko/ipinfusion/ipinfusion_ocnos.html index b7ca9eaf3..89759b609 100644 --- a/docs/netmiko/ipinfusion/ipinfusion_ocnos.html +++ b/docs/netmiko/ipinfusion/ipinfusion_ocnos.html @@ -158,6 +158,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -172,7 +175,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -180,6 +183,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -191,7 +198,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -223,6 +232,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -375,6 +387,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -389,7 +404,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -397,6 +412,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -408,7 +427,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -440,6 +461,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -549,6 +573,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -563,7 +590,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -571,6 +598,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -582,7 +613,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -614,6 +647,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/juniper/index.html b/docs/netmiko/juniper/index.html index df76c1177..4b9852716 100644 --- a/docs/netmiko/juniper/index.html +++ b/docs/netmiko/juniper/index.html @@ -141,7 +141,7 @@

    Inherited members

    class JuniperSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Implement methods for interacting with Juniper Networks devices.

    @@ -184,6 +184,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -198,7 +201,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -206,6 +209,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -217,7 +224,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -249,6 +258,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -316,7 +328,7 @@

    Inherited members

    class JuniperScreenOsSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Implement methods for interacting with Juniper ScreenOS devices.

    @@ -357,6 +369,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -371,7 +386,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -379,6 +394,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -390,7 +409,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -422,6 +443,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -599,6 +623,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -613,7 +640,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -621,6 +648,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -632,7 +663,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -664,6 +697,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/juniper/juniper.html b/docs/netmiko/juniper/juniper.html index ce2fe205a..4b010b01b 100644 --- a/docs/netmiko/juniper/juniper.html +++ b/docs/netmiko/juniper/juniper.html @@ -221,8 +221,9 @@

    Module netmiko.juniper.juniper

    output = self.config_mode() # and_quit will get out of config mode on commit - expect_string = re.escape(self.base_prompt) if and_quit else None - + # hostname might change on commit, and-quit might result in exiting config mode. + re_prompt = re.escape(self.base_prompt) + expect_string = rf"(?:{re_prompt}|[>#])" output += self._send_command_str( command_string, expect_string=expect_string, @@ -351,7 +352,7 @@

    Classes

    class JuniperBase -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Implement methods for interacting with Juniper Networks devices.

    @@ -394,6 +395,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -408,7 +412,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -416,6 +420,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -427,7 +435,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -459,6 +469,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -650,8 +663,9 @@

    Classes

    output = self.config_mode() # and_quit will get out of config mode on commit - expect_string = re.escape(self.base_prompt) if and_quit else None - + # hostname might change on commit, and-quit might result in exiting config mode. + re_prompt = re.escape(self.base_prompt) + expect_string = rf"(?:{re_prompt}|[>#])" output += self._send_command_str( command_string, expect_string=expect_string, @@ -867,8 +881,9 @@

    Methods

    output = self.config_mode() # and_quit will get out of config mode on commit - expect_string = re.escape(self.base_prompt) if and_quit else None - + # hostname might change on commit, and-quit might result in exiting config mode. + re_prompt = re.escape(self.base_prompt) + expect_string = rf"(?:{re_prompt}|[>#])" output += self._send_command_str( command_string, expect_string=expect_string, @@ -1181,7 +1196,7 @@

    Inherited members

    class JuniperSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Implement methods for interacting with Juniper Networks devices.

    @@ -1224,6 +1239,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -1238,7 +1256,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -1246,6 +1264,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -1257,7 +1279,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -1289,6 +1313,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -1399,6 +1426,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -1413,7 +1443,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -1421,6 +1451,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -1432,7 +1466,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -1464,6 +1500,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/juniper/juniper_screenos.html b/docs/netmiko/juniper/juniper_screenos.html index 3287235fb..7382f8d6c 100644 --- a/docs/netmiko/juniper/juniper_screenos.html +++ b/docs/netmiko/juniper/juniper_screenos.html @@ -71,7 +71,7 @@

    Classes

    class JuniperScreenOsSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Implement methods for interacting with Juniper ScreenOS devices.

    @@ -112,6 +112,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -126,7 +129,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -134,6 +137,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -145,7 +152,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -177,6 +186,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    diff --git a/docs/netmiko/keymile/index.html b/docs/netmiko/keymile/index.html index de92acc7a..818e4ed2a 100644 --- a/docs/netmiko/keymile/index.html +++ b/docs/netmiko/keymile/index.html @@ -54,7 +54,7 @@

    Classes

    class KeymileNOSSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Common Methods for IOS (both SSH and telnet).

    @@ -95,6 +95,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -109,7 +112,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -117,6 +120,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -128,7 +135,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -160,6 +169,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -221,7 +233,7 @@

    Inherited members

    • CiscoIosBase:
        -
      • check_config_mode
      • +
      • check_config_mode
      • check_enable_mode
      • cleanup
      • clear_buffer
      • @@ -387,7 +399,7 @@

        Inherited members

        • CiscoIosBase:
            -
          • check_config_mode
          • +
          • check_config_mode
          • check_enable_mode
          • cleanup
          • clear_buffer
          • diff --git a/docs/netmiko/keymile/keymile_nos_ssh.html b/docs/netmiko/keymile/keymile_nos_ssh.html index 712724def..75685ddfb 100644 --- a/docs/netmiko/keymile/keymile_nos_ssh.html +++ b/docs/netmiko/keymile/keymile_nos_ssh.html @@ -73,7 +73,7 @@

            Classes

            class KeymileNOSSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

            Common Methods for IOS (both SSH and telnet).

            @@ -114,6 +114,9 @@

            Classes

            :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -128,7 +131,7 @@

            Classes

            :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -136,6 +139,10 @@

            Classes

            :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -147,7 +154,9 @@

            Classes

            enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -179,6 +188,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -240,7 +252,7 @@

    Inherited members

    class LinuxSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Base Class for cisco-like behavior.

    @@ -197,6 +197,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -211,7 +214,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -219,6 +222,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -230,7 +237,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -262,6 +271,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -368,6 +380,7 @@

    Inherited members

    cmd: str = "sudo -s", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Attempt to become root.""" @@ -382,22 +395,25 @@

    Inherited members

    """ output = "" - if not self.check_enable_mode(): - self.write_channel(self.normalize_cmd(cmd)) - # Failed "sudo -s" will put "#" in output so have to delineate further - root_prompt = rf"(?m:{LINUX_PROMPT_ROOT}\s*$)" - prompt_or_password = rf"({root_prompt}|{pattern})" - output += self.read_until_pattern(pattern=prompt_or_password) - if re.search(pattern, output, flags=re_flags): - self.write_channel(self.normalize_cmd(self.secret)) - try: - output += self.read_until_pattern(pattern=root_prompt) - except ReadTimeout: - raise ValueError(msg) - # Nature of prompt might change with the privilege escalation - self.set_base_prompt(pattern=root_prompt) - if not self.check_enable_mode(): + if check_state and self.check_enable_mode(): + return output + + self.write_channel(self.normalize_cmd(cmd)) + + # Failed "sudo -s" will put "#" in output so have to delineate further + root_prompt = rf"(?m:{LINUX_PROMPT_ROOT}\s*$)" + prompt_or_password = rf"({root_prompt}|{pattern})" + output += self.read_until_pattern(pattern=prompt_or_password) + if re.search(pattern, output, flags=re_flags): + self.write_channel(self.normalize_cmd(self.secret)) + try: + output += self.read_until_pattern(pattern=root_prompt) + except ReadTimeout: raise ValueError(msg) + # Nature of prompt might change with the privilege escalation + self.set_base_prompt(pattern=root_prompt) + if not self.check_enable_mode(): + raise ValueError(msg) return output def cleanup(self, command: str = "exit") -> None: @@ -509,7 +525,7 @@

    Methods

    -def enable(self, cmd: str = 'sudo -s', pattern: str = 'ssword', enable_pattern: Optional[str] = None, re_flags: int = re.IGNORECASE) ‑> str +def enable(self, cmd: str = 'sudo -s', pattern: str = 'ssword', enable_pattern: Optional[str] = None, check_state: bool = True, re_flags: int = re.IGNORECASE) ‑> str

    Attempt to become root.

    @@ -522,6 +538,7 @@

    Methods

    cmd: str = "sudo -s", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Attempt to become root.""" @@ -536,22 +553,25 @@

    Methods

    """ output = "" - if not self.check_enable_mode(): - self.write_channel(self.normalize_cmd(cmd)) - # Failed "sudo -s" will put "#" in output so have to delineate further - root_prompt = rf"(?m:{LINUX_PROMPT_ROOT}\s*$)" - prompt_or_password = rf"({root_prompt}|{pattern})" - output += self.read_until_pattern(pattern=prompt_or_password) - if re.search(pattern, output, flags=re_flags): - self.write_channel(self.normalize_cmd(self.secret)) - try: - output += self.read_until_pattern(pattern=root_prompt) - except ReadTimeout: - raise ValueError(msg) - # Nature of prompt might change with the privilege escalation - self.set_base_prompt(pattern=root_prompt) - if not self.check_enable_mode(): + if check_state and self.check_enable_mode(): + return output + + self.write_channel(self.normalize_cmd(cmd)) + + # Failed "sudo -s" will put "#" in output so have to delineate further + root_prompt = rf"(?m:{LINUX_PROMPT_ROOT}\s*$)" + prompt_or_password = rf"({root_prompt}|{pattern})" + output += self.read_until_pattern(pattern=prompt_or_password) + if re.search(pattern, output, flags=re_flags): + self.write_channel(self.normalize_cmd(self.secret)) + try: + output += self.read_until_pattern(pattern=root_prompt) + except ReadTimeout: raise ValueError(msg) + # Nature of prompt might change with the privilege escalation + self.set_base_prompt(pattern=root_prompt) + if not self.check_enable_mode(): + raise ValueError(msg) return output
    diff --git a/docs/netmiko/linux/linux_ssh.html b/docs/netmiko/linux/linux_ssh.html index 03a85e5f8..23dba4ed1 100644 --- a/docs/netmiko/linux/linux_ssh.html +++ b/docs/netmiko/linux/linux_ssh.html @@ -143,6 +143,7 @@

    Module netmiko.linux.linux_ssh

    cmd: str = "sudo -s", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Attempt to become root.""" @@ -157,22 +158,25 @@

    Module netmiko.linux.linux_ssh

    """ output = "" - if not self.check_enable_mode(): - self.write_channel(self.normalize_cmd(cmd)) - # Failed "sudo -s" will put "#" in output so have to delineate further - root_prompt = rf"(?m:{LINUX_PROMPT_ROOT}\s*$)" - prompt_or_password = rf"({root_prompt}|{pattern})" - output += self.read_until_pattern(pattern=prompt_or_password) - if re.search(pattern, output, flags=re_flags): - self.write_channel(self.normalize_cmd(self.secret)) - try: - output += self.read_until_pattern(pattern=root_prompt) - except ReadTimeout: - raise ValueError(msg) - # Nature of prompt might change with the privilege escalation - self.set_base_prompt(pattern=root_prompt) - if not self.check_enable_mode(): + if check_state and self.check_enable_mode(): + return output + + self.write_channel(self.normalize_cmd(cmd)) + + # Failed "sudo -s" will put "#" in output so have to delineate further + root_prompt = rf"(?m:{LINUX_PROMPT_ROOT}\s*$)" + prompt_or_password = rf"({root_prompt}|{pattern})" + output += self.read_until_pattern(pattern=prompt_or_password) + if re.search(pattern, output, flags=re_flags): + self.write_channel(self.normalize_cmd(self.secret)) + try: + output += self.read_until_pattern(pattern=root_prompt) + except ReadTimeout: raise ValueError(msg) + # Nature of prompt might change with the privilege escalation + self.set_base_prompt(pattern=root_prompt) + if not self.check_enable_mode(): + raise ValueError(msg) return output def cleanup(self, command: str = "exit") -> None: @@ -369,7 +373,7 @@

    Inherited members

    class LinuxSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Base Class for cisco-like behavior.

    @@ -410,6 +414,9 @@

    Inherited members

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -424,7 +431,7 @@

    Inherited members

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -432,6 +439,10 @@

    Inherited members

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -443,7 +454,9 @@

    Inherited members

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -475,6 +488,9 @@ 

    Inherited members

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -581,6 +597,7 @@

    Inherited members

    cmd: str = "sudo -s", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Attempt to become root.""" @@ -595,22 +612,25 @@

    Inherited members

    """ output = "" - if not self.check_enable_mode(): - self.write_channel(self.normalize_cmd(cmd)) - # Failed "sudo -s" will put "#" in output so have to delineate further - root_prompt = rf"(?m:{LINUX_PROMPT_ROOT}\s*$)" - prompt_or_password = rf"({root_prompt}|{pattern})" - output += self.read_until_pattern(pattern=prompt_or_password) - if re.search(pattern, output, flags=re_flags): - self.write_channel(self.normalize_cmd(self.secret)) - try: - output += self.read_until_pattern(pattern=root_prompt) - except ReadTimeout: - raise ValueError(msg) - # Nature of prompt might change with the privilege escalation - self.set_base_prompt(pattern=root_prompt) - if not self.check_enable_mode(): + if check_state and self.check_enable_mode(): + return output + + self.write_channel(self.normalize_cmd(cmd)) + + # Failed "sudo -s" will put "#" in output so have to delineate further + root_prompt = rf"(?m:{LINUX_PROMPT_ROOT}\s*$)" + prompt_or_password = rf"({root_prompt}|{pattern})" + output += self.read_until_pattern(pattern=prompt_or_password) + if re.search(pattern, output, flags=re_flags): + self.write_channel(self.normalize_cmd(self.secret)) + try: + output += self.read_until_pattern(pattern=root_prompt) + except ReadTimeout: raise ValueError(msg) + # Nature of prompt might change with the privilege escalation + self.set_base_prompt(pattern=root_prompt) + if not self.check_enable_mode(): + raise ValueError(msg) return output def cleanup(self, command: str = "exit") -> None: @@ -722,7 +742,7 @@

    Methods

    -def enable(self, cmd: str = 'sudo -s', pattern: str = 'ssword', enable_pattern: Optional[str] = None, re_flags: int = re.IGNORECASE) ‑> str +def enable(self, cmd: str = 'sudo -s', pattern: str = 'ssword', enable_pattern: Optional[str] = None, check_state: bool = True, re_flags: int = re.IGNORECASE) ‑> str

    Attempt to become root.

    @@ -735,6 +755,7 @@

    Methods

    cmd: str = "sudo -s", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Attempt to become root.""" @@ -749,22 +770,25 @@

    Methods

    """ output = "" - if not self.check_enable_mode(): - self.write_channel(self.normalize_cmd(cmd)) - # Failed "sudo -s" will put "#" in output so have to delineate further - root_prompt = rf"(?m:{LINUX_PROMPT_ROOT}\s*$)" - prompt_or_password = rf"({root_prompt}|{pattern})" - output += self.read_until_pattern(pattern=prompt_or_password) - if re.search(pattern, output, flags=re_flags): - self.write_channel(self.normalize_cmd(self.secret)) - try: - output += self.read_until_pattern(pattern=root_prompt) - except ReadTimeout: - raise ValueError(msg) - # Nature of prompt might change with the privilege escalation - self.set_base_prompt(pattern=root_prompt) - if not self.check_enable_mode(): + if check_state and self.check_enable_mode(): + return output + + self.write_channel(self.normalize_cmd(cmd)) + + # Failed "sudo -s" will put "#" in output so have to delineate further + root_prompt = rf"(?m:{LINUX_PROMPT_ROOT}\s*$)" + prompt_or_password = rf"({root_prompt}|{pattern})" + output += self.read_until_pattern(pattern=prompt_or_password) + if re.search(pattern, output, flags=re_flags): + self.write_channel(self.normalize_cmd(self.secret)) + try: + output += self.read_until_pattern(pattern=root_prompt) + except ReadTimeout: raise ValueError(msg) + # Nature of prompt might change with the privilege escalation + self.set_base_prompt(pattern=root_prompt) + if not self.check_enable_mode(): + raise ValueError(msg) return output
    diff --git a/docs/netmiko/mellanox/index.html b/docs/netmiko/mellanox/index.html index c4db642cd..2cbe74762 100644 --- a/docs/netmiko/mellanox/index.html +++ b/docs/netmiko/mellanox/index.html @@ -49,7 +49,7 @@

    Classes

    class MellanoxMlnxosSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Mellanox MLNX-OS Switch support.

    @@ -90,6 +90,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -104,7 +107,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -112,6 +115,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -123,7 +130,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -155,6 +164,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -168,17 +180,21 @@

    Classes

    cmd: str = "enable", pattern: str = "#", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Enter into enable mode.""" + output = "" + if check_state and self.check_enable_mode(): + return output + + self.write_channel(self.normalize_cmd(cmd)) + output += self.read_until_prompt_or_pattern( + pattern=pattern, re_flags=re_flags, read_entire_line=True + ) if not self.check_enable_mode(): - self.write_channel(self.normalize_cmd(cmd)) - output += self.read_until_prompt_or_pattern( - pattern=pattern, re_flags=re_flags, read_entire_line=True - ) - if not self.check_enable_mode(): - raise ValueError("Failed to enter enable mode.") + raise ValueError("Failed to enter enable mode.") return output def config_mode( @@ -257,7 +273,7 @@

    Ancestors

    Methods

    -def enable(self, cmd: str = 'enable', pattern: str = '#', enable_pattern: Optional[str] = None, re_flags: int = re.IGNORECASE) ‑> str +def enable(self, cmd: str = 'enable', pattern: str = '#', enable_pattern: Optional[str] = None, check_state: bool = True, re_flags: int = re.IGNORECASE) ‑> str

    Enter into enable mode.

    @@ -270,17 +286,21 @@

    Methods

    cmd: str = "enable", pattern: str = "#", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Enter into enable mode.""" + output = "" + if check_state and self.check_enable_mode(): + return output + + self.write_channel(self.normalize_cmd(cmd)) + output += self.read_until_prompt_or_pattern( + pattern=pattern, re_flags=re_flags, read_entire_line=True + ) if not self.check_enable_mode(): - self.write_channel(self.normalize_cmd(cmd)) - output += self.read_until_prompt_or_pattern( - pattern=pattern, re_flags=re_flags, read_entire_line=True - ) - if not self.check_enable_mode(): - raise ValueError("Failed to enter enable mode.") + raise ValueError("Failed to enter enable mode.") return output
    diff --git a/docs/netmiko/mellanox/mellanox_mlnxos_ssh.html b/docs/netmiko/mellanox/mellanox_mlnxos_ssh.html index bf7a8bc32..21d5c31ce 100644 --- a/docs/netmiko/mellanox/mellanox_mlnxos_ssh.html +++ b/docs/netmiko/mellanox/mellanox_mlnxos_ssh.html @@ -43,17 +43,21 @@

    Module netmiko.mellanox.mellanox_mlnxos_ssh

    cmd: str = "enable", pattern: str = "#", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Enter into enable mode.""" + output = "" + if check_state and self.check_enable_mode(): + return output + + self.write_channel(self.normalize_cmd(cmd)) + output += self.read_until_prompt_or_pattern( + pattern=pattern, re_flags=re_flags, read_entire_line=True + ) if not self.check_enable_mode(): - self.write_channel(self.normalize_cmd(cmd)) - output += self.read_until_prompt_or_pattern( - pattern=pattern, re_flags=re_flags, read_entire_line=True - ) - if not self.check_enable_mode(): - raise ValueError("Failed to enter enable mode.") + raise ValueError("Failed to enter enable mode.") return output def config_mode( @@ -135,7 +139,7 @@

    Classes

    class MellanoxMlnxosSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

    Mellanox MLNX-OS Switch support.

    @@ -176,6 +180,9 @@

    Classes

    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -190,7 +197,7 @@

    Classes

    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -198,6 +205,10 @@

    Classes

    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -209,7 +220,9 @@

    Classes

    enter key (default:

    )

    -
        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
    +
        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
    +
    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                 to select smallest of global and specific. Sets default global_delay_factor to .1
                 (default: True)
     
    @@ -241,6 +254,9 @@ 

    Classes

    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
    @@ -254,17 +270,21 @@

    Classes

    cmd: str = "enable", pattern: str = "#", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Enter into enable mode.""" + output = "" + if check_state and self.check_enable_mode(): + return output + + self.write_channel(self.normalize_cmd(cmd)) + output += self.read_until_prompt_or_pattern( + pattern=pattern, re_flags=re_flags, read_entire_line=True + ) if not self.check_enable_mode(): - self.write_channel(self.normalize_cmd(cmd)) - output += self.read_until_prompt_or_pattern( - pattern=pattern, re_flags=re_flags, read_entire_line=True - ) - if not self.check_enable_mode(): - raise ValueError("Failed to enter enable mode.") + raise ValueError("Failed to enter enable mode.") return output def config_mode( @@ -343,7 +363,7 @@

    Ancestors

    Methods

    -def enable(self, cmd: str = 'enable', pattern: str = '#', enable_pattern: Optional[str] = None, re_flags: int = re.IGNORECASE) ‑> str +def enable(self, cmd: str = 'enable', pattern: str = '#', enable_pattern: Optional[str] = None, check_state: bool = True, re_flags: int = re.IGNORECASE) ‑> str

    Enter into enable mode.

    @@ -356,17 +376,21 @@

    Methods

    cmd: str = "enable", pattern: str = "#", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Enter into enable mode.""" + output = "" + if check_state and self.check_enable_mode(): + return output + + self.write_channel(self.normalize_cmd(cmd)) + output += self.read_until_prompt_or_pattern( + pattern=pattern, re_flags=re_flags, read_entire_line=True + ) if not self.check_enable_mode(): - self.write_channel(self.normalize_cmd(cmd)) - output += self.read_until_prompt_or_pattern( - pattern=pattern, re_flags=re_flags, read_entire_line=True - ) - if not self.check_enable_mode(): - raise ValueError("Failed to enter enable mode.") + raise ValueError("Failed to enter enable mode.") return output
    diff --git a/docs/netmiko/mikrotik/index.html b/docs/netmiko/mikrotik/index.html index fdd7a68ba..0ae3c7463 100644 --- a/docs/netmiko/mikrotik/index.html +++ b/docs/netmiko/mikrotik/index.html @@ -323,6 +323,7 @@

    Ancestors

    • MikrotikBase
    • NoEnable
    • +
    • NoConfig
    • CiscoSSHConnection
    • CiscoBaseConnection
    • BaseConnection
    • @@ -331,17 +332,17 @@

      Inherited members

      • MikrotikBase:
          -
        • check_config_mode
        • +
        • check_config_mode
        • check_enable_mode
        • cleanup
        • clear_buffer
        • commit
        • -
        • config_mode
        • +
        • config_mode
        • disable_paging
        • disconnect
        • enable
        • establish_connection
        • -
        • exit_config_mode
        • +
        • exit_config_mode
        • exit_enable_mode
        • find_prompt
        • is_alive
        • @@ -354,7 +355,7 @@

          Inherited members

        • read_until_prompt
        • read_until_prompt_or_pattern
        • run_ttp
        • -
        • save_config
        • +
        • save_config
        • select_delay_factor
        • send_command
        • send_command_expect
        • @@ -395,6 +396,7 @@

          Ancestors

          • MikrotikBase
          • NoEnable
          • +
          • NoConfig
          • CiscoSSHConnection
          • CiscoBaseConnection
          • BaseConnection
          • @@ -403,17 +405,17 @@

            Inherited members

            • MikrotikBase:
                -
              • check_config_mode
              • +
              • check_config_mode
              • check_enable_mode
              • cleanup
              • clear_buffer
              • commit
              • -
              • config_mode
              • +
              • config_mode
              • disable_paging
              • disconnect
              • enable
              • establish_connection
              • -
              • exit_config_mode
              • +
              • exit_config_mode
              • exit_enable_mode
              • find_prompt
              • is_alive
              • @@ -426,7 +428,7 @@

                Inherited members

              • read_until_prompt
              • read_until_prompt_or_pattern
              • run_ttp
              • -
              • save_config
              • +
              • save_config
              • select_delay_factor
              • send_command
              • send_command_expect
              • diff --git a/docs/netmiko/mikrotik/mikrotik_ssh.html b/docs/netmiko/mikrotik/mikrotik_ssh.html index 6350bae76..836748c3b 100644 --- a/docs/netmiko/mikrotik/mikrotik_ssh.html +++ b/docs/netmiko/mikrotik/mikrotik_ssh.html @@ -31,26 +31,35 @@

                Module netmiko.mikrotik.mikrotik_ssh

                import os from netmiko.no_enable import NoEnable +from netmiko.no_config import NoConfig from netmiko.cisco_base_connection import CiscoSSHConnection from netmiko.base_connection import BaseConnection from netmiko.scp_handler import BaseFileTransfer -class MikrotikBase(NoEnable, CiscoSSHConnection): +class MikrotikBase(NoEnable, NoConfig, CiscoSSHConnection): """Common Methods for Mikrotik RouterOS and SwitchOS""" + prompt_pattern = r"\].*>" + def __init__(self, **kwargs: Any) -> None: if kwargs.get("default_enter") is None: kwargs["default_enter"] = "\r\n" - self._in_config_mode = False - return super().__init__(**kwargs) + def special_login_handler(self, delay_factor: float = 1.0) -> None: + # Mikrotik might prompt to read software licenses before displaying the initial prompt. + license_prompt = "Do you want to see the software license" + combined_pattern = rf"(?:{self.prompt_pattern}|{license_prompt})" + data = self.read_until_pattern(pattern=combined_pattern, re_flags=re.I) + if license_prompt in data: + self.write_channel("n") + self.read_until_pattern(pattern=self.prompt_pattern) + def session_preparation(self, *args: Any, **kwargs: Any) -> None: """Prepare the session after the connection has been established.""" self.ansi_escape_codes = True - self._test_channel_read(pattern=r"\].*>") self.set_base_prompt() def _modify_connection_params(self) -> None: @@ -67,28 +76,6 @@

                Module netmiko.mikrotik.mikrotik_ssh

                """Mikrotik does not have paging by default.""" return "" - def save_config(self, *args: Any, **kwargs: Any) -> str: - """No save command, all configuration is atomic""" - return "" - - def config_mode( - self, config_command: str = "", pattern: str = "", re_flags: int = 0 - ) -> str: - """No configuration mode on Mikrotik""" - self._in_config_mode = True - return "" - - def check_config_mode( - self, check_string: str = "", pattern: str = "", force_regex: bool = False - ) -> bool: - """Checks whether in configuration mode. Returns a boolean.""" - return self._in_config_mode - - def exit_config_mode(self, exit_config: str = ">", pattern: str = "") -> str: - """No configuration mode on Mikrotik""" - self._in_config_mode = False - return "" - def strip_prompt(self, a_string: str) -> str: """Strip the trailing router prompt from the output. @@ -346,21 +333,29 @@

                Classes

                Expand source code -
                class MikrotikBase(NoEnable, CiscoSSHConnection):
                +
                class MikrotikBase(NoEnable, NoConfig, CiscoSSHConnection):
                     """Common Methods for Mikrotik RouterOS and SwitchOS"""
                 
                +    prompt_pattern = r"\].*>"
                +
                     def __init__(self, **kwargs: Any) -> None:
                         if kwargs.get("default_enter") is None:
                             kwargs["default_enter"] = "\r\n"
                 
                -        self._in_config_mode = False
                -
                         return super().__init__(**kwargs)
                 
                +    def special_login_handler(self, delay_factor: float = 1.0) -> None:
                +        # Mikrotik might prompt to read software licenses before displaying the initial prompt.
                +        license_prompt = "Do you want to see the software license"
                +        combined_pattern = rf"(?:{self.prompt_pattern}|{license_prompt})"
                +        data = self.read_until_pattern(pattern=combined_pattern, re_flags=re.I)
                +        if license_prompt in data:
                +            self.write_channel("n")
                +            self.read_until_pattern(pattern=self.prompt_pattern)
                +
                     def session_preparation(self, *args: Any, **kwargs: Any) -> None:
                         """Prepare the session after the connection has been established."""
                         self.ansi_escape_codes = True
                -        self._test_channel_read(pattern=r"\].*>")
                         self.set_base_prompt()
                 
                     def _modify_connection_params(self) -> None:
                @@ -377,28 +372,6 @@ 

                Classes

                """Mikrotik does not have paging by default.""" return "" - def save_config(self, *args: Any, **kwargs: Any) -> str: - """No save command, all configuration is atomic""" - return "" - - def config_mode( - self, config_command: str = "", pattern: str = "", re_flags: int = 0 - ) -> str: - """No configuration mode on Mikrotik""" - self._in_config_mode = True - return "" - - def check_config_mode( - self, check_string: str = "", pattern: str = "", force_regex: bool = False - ) -> bool: - """Checks whether in configuration mode. Returns a boolean.""" - return self._in_config_mode - - def exit_config_mode(self, exit_config: str = ">", pattern: str = "") -> str: - """No configuration mode on Mikrotik""" - self._in_config_mode = False - return "" - def strip_prompt(self, a_string: str) -> str: """Strip the trailing router prompt from the output. @@ -476,6 +449,7 @@

                Classes

                Ancestors

                -

                Methods

                +

                Class variables

                -
                -def check_config_mode(self, check_string: str = '', pattern: str = '', force_regex: bool = False) ‑> bool -
                -
                -

                Checks whether in configuration mode. Returns a boolean.

                -
                - -Expand source code - -
                def check_config_mode(
                -    self, check_string: str = "", pattern: str = "", force_regex: bool = False
                -) -> bool:
                -    """Checks whether in configuration mode. Returns a boolean."""
                -    return self._in_config_mode
                -
                -
                -
                -def config_mode(self, config_command: str = '', pattern: str = '', re_flags: int = 0) ‑> str -
                +
                var prompt_pattern
                -

                No configuration mode on Mikrotik

                -
                - -Expand source code - -
                def config_mode(
                -    self, config_command: str = "", pattern: str = "", re_flags: int = 0
                -) -> str:
                -    """No configuration mode on Mikrotik"""
                -    self._in_config_mode = True
                -    return ""
                -
                +
                +
                +

                Methods

                +
                def disable_paging(self, *args: Any, **kwargs: Any) ‑> str
                @@ -534,35 +482,6 @@

                Methods

                return ""
                -
                -def exit_config_mode(self, exit_config: str = '>', pattern: str = '') ‑> str -
                -
                -

                No configuration mode on Mikrotik

                -
                - -Expand source code - -
                def exit_config_mode(self, exit_config: str = ">", pattern: str = "") -> str:
                -    """No configuration mode on Mikrotik"""
                -    self._in_config_mode = False
                -    return ""
                -
                -
                -
                -def save_config(self, *args: Any, **kwargs: Any) ‑> str -
                -
                -

                No save command, all configuration is atomic

                -
                - -Expand source code - -
                def save_config(self, *args: Any, **kwargs: Any) -> str:
                -    """No save command, all configuration is atomic"""
                -    return ""
                -
                -
                def send_command_timing(self, command_string: str, cmd_verify: bool = True, **kwargs: Any) ‑> Union[str, List[Any], Dict[str, Any]]
                @@ -596,7 +515,6 @@

                Methods

                def session_preparation(self, *args: Any, **kwargs: Any) -> None:
                     """Prepare the session after the connection has been established."""
                     self.ansi_escape_codes = True
                -    self._test_channel_read(pattern=r"\].*>")
                     self.set_base_prompt()
                @@ -705,13 +623,16 @@

                Inherited members

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -160,6 +169,9 @@ 

                Classes

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                @@ -187,10 +199,17 @@

                Classes

                cmd: str = "enable", pattern: str = "assword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Enter enable mode.""" - return super().enable(cmd=cmd, pattern=pattern, re_flags=re_flags) + return super().enable( + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, + ) def save_config( self, @@ -315,7 +334,7 @@

                Inherited members

                class MrvOptiswitchSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                MRV Communications Driver (OptiSwitch).

                @@ -356,6 +375,9 @@

                Inherited members

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -370,7 +392,7 @@

                Inherited members

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -378,6 +400,10 @@

                Inherited members

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -389,7 +415,9 @@

                Inherited members

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -421,6 +449,9 @@ 

                Inherited members

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                @@ -445,21 +476,24 @@

                Inherited members

                cmd: str = "enable", pattern: str = r"#", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Enable mode on MRV uses no password.""" output = "" + if check_state and self.check_enable_mode(): + return output + + self.write_channel(self.normalize_cmd(cmd)) + output += self.read_until_prompt_or_pattern( + pattern=pattern, re_flags=re_flags, read_entire_line=True + ) if not self.check_enable_mode(): - self.write_channel(self.normalize_cmd(cmd)) - output += self.read_until_prompt_or_pattern( - pattern=pattern, re_flags=re_flags, read_entire_line=True + msg = ( + "Failed to enter enable mode. Please ensure you pass " + "the 'secret' argument to ConnectHandler." ) - if not self.check_enable_mode(): - msg = ( - "Failed to enter enable mode. Please ensure you pass " - "the 'secret' argument to ConnectHandler." - ) - raise ValueError(msg) + raise ValueError(msg) return output def save_config( @@ -482,7 +516,7 @@

                Ancestors

                Methods

                -def enable(self, cmd: str = 'enable', pattern: str = '#', enable_pattern: Optional[str] = None, re_flags: int = re.IGNORECASE) ‑> str +def enable(self, cmd: str = 'enable', pattern: str = '#', enable_pattern: Optional[str] = None, check_state: bool = True, re_flags: int = re.IGNORECASE) ‑> str

                Enable mode on MRV uses no password.

                @@ -495,21 +529,24 @@

                Methods

                cmd: str = "enable", pattern: str = r"#", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Enable mode on MRV uses no password.""" output = "" + if check_state and self.check_enable_mode(): + return output + + self.write_channel(self.normalize_cmd(cmd)) + output += self.read_until_prompt_or_pattern( + pattern=pattern, re_flags=re_flags, read_entire_line=True + ) if not self.check_enable_mode(): - self.write_channel(self.normalize_cmd(cmd)) - output += self.read_until_prompt_or_pattern( - pattern=pattern, re_flags=re_flags, read_entire_line=True + msg = ( + "Failed to enter enable mode. Please ensure you pass " + "the 'secret' argument to ConnectHandler." ) - if not self.check_enable_mode(): - msg = ( - "Failed to enter enable mode. Please ensure you pass " - "the 'secret' argument to ConnectHandler." - ) - raise ValueError(msg) + raise ValueError(msg) return output
                diff --git a/docs/netmiko/mrv/mrv_lx.html b/docs/netmiko/mrv/mrv_lx.html index e2e00f810..2c9ddbfe2 100644 --- a/docs/netmiko/mrv/mrv_lx.html +++ b/docs/netmiko/mrv/mrv_lx.html @@ -57,10 +57,17 @@

                Module netmiko.mrv.mrv_lx

                cmd: str = "enable", pattern: str = "assword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Enter enable mode.""" - return super().enable(cmd=cmd, pattern=pattern, re_flags=re_flags) + return super().enable( + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, + ) def save_config( self, @@ -85,7 +92,7 @@

                Classes

                class MrvLxSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                MRV Communications Driver (LX).

                @@ -126,6 +133,9 @@

                Classes

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -140,7 +150,7 @@

                Classes

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -148,6 +158,10 @@

                Classes

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -159,7 +173,9 @@

                Classes

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -191,6 +207,9 @@ 

                Classes

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                @@ -218,10 +237,17 @@

                Classes

                cmd: str = "enable", pattern: str = "assword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Enter enable mode.""" - return super().enable(cmd=cmd, pattern=pattern, re_flags=re_flags) + return super().enable( + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, + ) def save_config( self, diff --git a/docs/netmiko/mrv/mrv_ssh.html b/docs/netmiko/mrv/mrv_ssh.html index 216509a1d..1c97e4799 100644 --- a/docs/netmiko/mrv/mrv_ssh.html +++ b/docs/netmiko/mrv/mrv_ssh.html @@ -54,21 +54,24 @@

                Module netmiko.mrv.mrv_ssh

                cmd: str = "enable", pattern: str = r"#", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Enable mode on MRV uses no password.""" output = "" + if check_state and self.check_enable_mode(): + return output + + self.write_channel(self.normalize_cmd(cmd)) + output += self.read_until_prompt_or_pattern( + pattern=pattern, re_flags=re_flags, read_entire_line=True + ) if not self.check_enable_mode(): - self.write_channel(self.normalize_cmd(cmd)) - output += self.read_until_prompt_or_pattern( - pattern=pattern, re_flags=re_flags, read_entire_line=True + msg = ( + "Failed to enter enable mode. Please ensure you pass " + "the 'secret' argument to ConnectHandler." ) - if not self.check_enable_mode(): - msg = ( - "Failed to enter enable mode. Please ensure you pass " - "the 'secret' argument to ConnectHandler." - ) - raise ValueError(msg) + raise ValueError(msg) return output def save_config( @@ -94,7 +97,7 @@

                Classes

                class MrvOptiswitchSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                MRV Communications Driver (OptiSwitch).

                @@ -135,6 +138,9 @@

                Classes

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -149,7 +155,7 @@

                Classes

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -157,6 +163,10 @@

                Classes

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -168,7 +178,9 @@

                Classes

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -200,6 +212,9 @@ 

                Classes

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                @@ -224,21 +239,24 @@

                Classes

                cmd: str = "enable", pattern: str = r"#", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Enable mode on MRV uses no password.""" output = "" + if check_state and self.check_enable_mode(): + return output + + self.write_channel(self.normalize_cmd(cmd)) + output += self.read_until_prompt_or_pattern( + pattern=pattern, re_flags=re_flags, read_entire_line=True + ) if not self.check_enable_mode(): - self.write_channel(self.normalize_cmd(cmd)) - output += self.read_until_prompt_or_pattern( - pattern=pattern, re_flags=re_flags, read_entire_line=True + msg = ( + "Failed to enter enable mode. Please ensure you pass " + "the 'secret' argument to ConnectHandler." ) - if not self.check_enable_mode(): - msg = ( - "Failed to enter enable mode. Please ensure you pass " - "the 'secret' argument to ConnectHandler." - ) - raise ValueError(msg) + raise ValueError(msg) return output def save_config( @@ -261,7 +279,7 @@

                Ancestors

                Methods

                -def enable(self, cmd: str = 'enable', pattern: str = '#', enable_pattern: Optional[str] = None, re_flags: int = re.IGNORECASE) ‑> str +def enable(self, cmd: str = 'enable', pattern: str = '#', enable_pattern: Optional[str] = None, check_state: bool = True, re_flags: int = re.IGNORECASE) ‑> str

                Enable mode on MRV uses no password.

                @@ -274,21 +292,24 @@

                Methods

                cmd: str = "enable", pattern: str = r"#", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Enable mode on MRV uses no password.""" output = "" + if check_state and self.check_enable_mode(): + return output + + self.write_channel(self.normalize_cmd(cmd)) + output += self.read_until_prompt_or_pattern( + pattern=pattern, re_flags=re_flags, read_entire_line=True + ) if not self.check_enable_mode(): - self.write_channel(self.normalize_cmd(cmd)) - output += self.read_until_prompt_or_pattern( - pattern=pattern, re_flags=re_flags, read_entire_line=True + msg = ( + "Failed to enter enable mode. Please ensure you pass " + "the 'secret' argument to ConnectHandler." ) - if not self.check_enable_mode(): - msg = ( - "Failed to enter enable mode. Please ensure you pass " - "the 'secret' argument to ConnectHandler." - ) - raise ValueError(msg) + raise ValueError(msg) return output
                diff --git a/docs/netmiko/netapp/index.html b/docs/netmiko/netapp/index.html index 5208e5ce8..3d6c6d49b 100644 --- a/docs/netmiko/netapp/index.html +++ b/docs/netmiko/netapp/index.html @@ -49,7 +49,7 @@

                Classes

                class NetAppcDotSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                Class for platforms that have no enable mode.

                @@ -97,6 +97,9 @@

                Classes

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -111,7 +114,7 @@

                Classes

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -119,6 +122,10 @@

                Classes

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -130,7 +137,9 @@

                Classes

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -162,6 +171,9 @@ 

                Classes

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                diff --git a/docs/netmiko/netapp/netapp_cdot_ssh.html b/docs/netmiko/netapp/netapp_cdot_ssh.html index 84b50f189..1778af4ab 100644 --- a/docs/netmiko/netapp/netapp_cdot_ssh.html +++ b/docs/netmiko/netapp/netapp_cdot_ssh.html @@ -81,7 +81,7 @@

                Classes

                class NetAppcDotSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                Class for platforms that have no enable mode.

                @@ -129,6 +129,9 @@

                Classes

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -143,7 +146,7 @@

                Classes

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -151,6 +154,10 @@

                Classes

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -162,7 +169,9 @@

                Classes

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -194,6 +203,9 @@ 

                Classes

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                diff --git a/docs/netmiko/netgear/index.html b/docs/netmiko/netgear/index.html index 64c5a4e19..387a3790b 100644 --- a/docs/netmiko/netgear/index.html +++ b/docs/netmiko/netgear/index.html @@ -90,6 +90,9 @@

                Classes

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -104,7 +107,7 @@

                Classes

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -112,6 +115,10 @@

                Classes

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -123,7 +130,9 @@

                Classes

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -155,6 +164,9 @@ 

                Classes

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                diff --git a/docs/netmiko/netgear/netgear_prosafe_ssh.html b/docs/netmiko/netgear/netgear_prosafe_ssh.html index 4e48142cb..96c37cf5d 100644 --- a/docs/netmiko/netgear/netgear_prosafe_ssh.html +++ b/docs/netmiko/netgear/netgear_prosafe_ssh.html @@ -142,6 +142,9 @@

                Classes

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -156,7 +159,7 @@

                Classes

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -164,6 +167,10 @@

                Classes

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -175,7 +182,9 @@

                Classes

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -207,6 +216,9 @@ 

                Classes

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                diff --git a/docs/netmiko/no_config.html b/docs/netmiko/no_config.html index 93d16948a..2a115bbd7 100644 --- a/docs/netmiko/no_config.html +++ b/docs/netmiko/no_config.html @@ -103,6 +103,8 @@

                Classes

                Subclasses

                -def enable(self, cmd: str = '', pattern: str = '', enable_pattern: Optional[str] = None, re_flags: int = re.IGNORECASE) ‑> str +def enable(self, cmd: str = '', pattern: str = '', enable_pattern: Optional[str] = None, check_state: bool = True, re_flags: int = re.IGNORECASE) ‑> str
                @@ -176,6 +185,7 @@

                Methods

                cmd: str = "", pattern: str = "", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: return ""
                diff --git a/docs/netmiko/nokia/index.html b/docs/netmiko/nokia/index.html index 3489a2c81..df39eccc3 100644 --- a/docs/netmiko/nokia/index.html +++ b/docs/netmiko/nokia/index.html @@ -59,7 +59,7 @@

                Classes

                class NokiaSrlSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                Implement methods for interacting with Nokia SRL devices for SSH.

                @@ -116,6 +116,9 @@

                Classes

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -130,7 +133,7 @@

                Classes

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -138,6 +141,10 @@

                Classes

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -149,7 +156,9 @@

                Classes

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -181,6 +190,9 @@ 

                Classes

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                @@ -698,7 +710,7 @@

                Inherited members

                class NokiaSrosSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                Nokia SR OS SSH driver.

                @@ -739,6 +751,9 @@

                Inherited members

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -753,7 +768,7 @@

                Inherited members

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -761,6 +776,10 @@

                Inherited members

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -772,7 +791,9 @@

                Inherited members

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -804,6 +825,9 @@ 

                Inherited members

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                @@ -870,7 +894,7 @@

                Inherited members

                class NokiaSrosTelnet -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                Nokia SR OS Telnet driver.

                @@ -911,6 +935,9 @@

                Inherited members

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -925,7 +952,7 @@

                Inherited members

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -933,6 +960,10 @@

                Inherited members

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -944,7 +975,9 @@

                Inherited members

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -976,6 +1009,9 @@ 

                Inherited members

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                diff --git a/docs/netmiko/nokia/nokia_srl.html b/docs/netmiko/nokia/nokia_srl.html index ef536899b..c1dd963b3 100644 --- a/docs/netmiko/nokia/nokia_srl.html +++ b/docs/netmiko/nokia/nokia_srl.html @@ -204,7 +204,7 @@

                Classes

                class NokiaSrlSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                Implement methods for interacting with Nokia SRL devices for SSH.

                @@ -261,6 +261,9 @@

                Classes

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -275,7 +278,7 @@

                Classes

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -283,6 +286,10 @@

                Classes

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -294,7 +301,9 @@

                Classes

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -326,6 +335,9 @@ 

                Classes

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                diff --git a/docs/netmiko/nokia/nokia_sros.html b/docs/netmiko/nokia/nokia_sros.html index 4fa16b720..09cb627f5 100644 --- a/docs/netmiko/nokia/nokia_sros.html +++ b/docs/netmiko/nokia/nokia_sros.html @@ -119,12 +119,19 @@

                Module netmiko.nokia.nokia_sros

                cmd: str = "enable", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Enable SR OS administrative mode""" if "@" not in self.base_prompt: cmd = "enable-admin" - return super().enable(cmd=cmd, pattern=pattern, re_flags=re_flags) + return super().enable( + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, + ) def check_enable_mode(self, check_string: str = "in admin mode") -> bool: """Check if in enable mode.""" @@ -203,13 +210,13 @@

                Module netmiko.nokia.nokia_sros

                def send_config_set( self, config_commands: Union[str, Sequence[str], Iterator[str], TextIO, None] = None, - exit_config_mode: bool = None, + exit_config_mode: bool = True, **kwargs: Any, ) -> str: """Model driven CLI requires you not exit from configuration mode.""" - if exit_config_mode is None: - # Set to False if model-driven CLI - exit_config_mode = False if "@" in self.base_prompt else True + # Set to False if model-driven CLI + if "@" in self.base_prompt: + exit_config_mode = False return super().send_config_set( config_commands=config_commands, exit_config_mode=exit_config_mode, **kwargs ) @@ -435,7 +442,7 @@

                Classes

                class NokiaSros -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                Implement methods for interacting with Nokia SR OS devices @@ -490,6 +497,9 @@

                Classes

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -504,7 +514,7 @@

                Classes

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -512,6 +522,10 @@

                Classes

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -523,7 +537,9 @@

                Classes

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -555,6 +571,9 @@ 

                Classes

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                @@ -634,12 +653,19 @@

                Classes

                cmd: str = "enable", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Enable SR OS administrative mode""" if "@" not in self.base_prompt: cmd = "enable-admin" - return super().enable(cmd=cmd, pattern=pattern, re_flags=re_flags) + return super().enable( + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, + ) def check_enable_mode(self, check_string: str = "in admin mode") -> bool: """Check if in enable mode.""" @@ -718,13 +744,13 @@

                Classes

                def send_config_set( self, config_commands: Union[str, Sequence[str], Iterator[str], TextIO, None] = None, - exit_config_mode: bool = None, + exit_config_mode: bool = True, **kwargs: Any, ) -> str: """Model driven CLI requires you not exit from configuration mode.""" - if exit_config_mode is None: - # Set to False if model-driven CLI - exit_config_mode = False if "@" in self.base_prompt else True + # Set to False if model-driven CLI + if "@" in self.base_prompt: + exit_config_mode = False return super().send_config_set( config_commands=config_commands, exit_config_mode=exit_config_mode, **kwargs ) @@ -932,7 +958,7 @@

                Methods

                -def enable(self, cmd: str = 'enable', pattern: str = 'ssword', enable_pattern: Optional[str] = None, re_flags: int = re.IGNORECASE) ‑> str +def enable(self, cmd: str = 'enable', pattern: str = 'ssword', enable_pattern: Optional[str] = None, check_state: bool = True, re_flags: int = re.IGNORECASE) ‑> str

                Enable SR OS administrative mode

                @@ -945,12 +971,19 @@

                Methods

                cmd: str = "enable", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Enable SR OS administrative mode""" if "@" not in self.base_prompt: cmd = "enable-admin" - return super().enable(cmd=cmd, pattern=pattern, re_flags=re_flags)
                + return super().enable( + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, + )
                @@ -1012,7 +1045,7 @@

                Methods

                -def send_config_set(self, config_commands: Union[str, Sequence[str], Iterator[str], TextIO, ForwardRef(None)] = None, exit_config_mode: bool = None, **kwargs: Any) ‑> str +def send_config_set(self, config_commands: Union[str, Sequence[str], Iterator[str], TextIO, ForwardRef(None)] = None, exit_config_mode: bool = True, **kwargs: Any) ‑> str

                Model driven CLI requires you not exit from configuration mode.

                @@ -1023,13 +1056,13 @@

                Methods

                def send_config_set(
                     self,
                     config_commands: Union[str, Sequence[str], Iterator[str], TextIO, None] = None,
                -    exit_config_mode: bool = None,
                +    exit_config_mode: bool = True,
                     **kwargs: Any,
                 ) -> str:
                     """Model driven CLI requires you not exit from configuration mode."""
                -    if exit_config_mode is None:
                -        # Set to False if model-driven CLI
                -        exit_config_mode = False if "@" in self.base_prompt else True
                +    # Set to False if model-driven CLI
                +    if "@" in self.base_prompt:
                +        exit_config_mode = False
                     return super().send_config_set(
                         config_commands=config_commands, exit_config_mode=exit_config_mode, **kwargs
                     )
                @@ -1342,7 +1375,7 @@

                Inherited members

                class NokiaSrosSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                Nokia SR OS SSH driver.

                @@ -1383,6 +1416,9 @@

                Inherited members

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -1397,7 +1433,7 @@

                Inherited members

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -1405,6 +1441,10 @@

                Inherited members

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -1416,7 +1456,9 @@

                Inherited members

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -1448,6 +1490,9 @@ 

                Inherited members

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                @@ -1514,7 +1559,7 @@

                Inherited members

                class NokiaSrosTelnet -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                Nokia SR OS Telnet driver.

                @@ -1555,6 +1600,9 @@

                Inherited members

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -1569,7 +1617,7 @@

                Inherited members

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -1577,6 +1625,10 @@

                Inherited members

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -1588,7 +1640,9 @@

                Inherited members

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -1620,6 +1674,9 @@ 

                Inherited members

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                diff --git a/docs/netmiko/oneaccess/oneaccess_oneos.html b/docs/netmiko/oneaccess/oneaccess_oneos.html index f1a44b212..fc10f24f5 100644 --- a/docs/netmiko/oneaccess/oneaccess_oneos.html +++ b/docs/netmiko/oneaccess/oneaccess_oneos.html @@ -28,7 +28,6 @@

                Module netmiko.oneaccess.oneaccess_oneos

                Expand source code
                """Netmiko driver for OneAccess ONEOS"""
                -import time
                 from typing import Any
                 
                 from netmiko.cisco_base_connection import CiscoBaseConnection
                @@ -43,13 +42,21 @@ 

                Module netmiko.oneaccess.oneaccess_oneos

                def session_preparation(self) -> None: """Prepare connection - disable paging""" - self._test_channel_read() - self.set_base_prompt() - self.set_terminal_width(command="stty columns 255", pattern="stty") + + self._test_channel_read(pattern=r"[>#]") self.disable_paging(command="term len 0") - # Clear the read buffer - time.sleep(0.3 * self.global_delay_factor) - self.clear_buffer() + + # try ONEOS6 command first - fallback to ONEOS5 if it fails + self.set_terminal_width(command="screen-width 512", cmd_verify=True) + output = self._test_channel_read(pattern=r"[>#]") + if "error" in output.lower(): + self.set_terminal_width(command="stty columns 255", cmd_verify=True) + else: + # ONEOS6 uses different enter + self.RETURN = "\n" + + self._test_channel_read(pattern=r"[>#]") + self.set_base_prompt() def save_config( self, cmd: str = "write mem", confirm: bool = False, confirm_response: str = "" @@ -97,13 +104,21 @@

                Classes

                def session_preparation(self) -> None: """Prepare connection - disable paging""" - self._test_channel_read() - self.set_base_prompt() - self.set_terminal_width(command="stty columns 255", pattern="stty") + + self._test_channel_read(pattern=r"[>#]") self.disable_paging(command="term len 0") - # Clear the read buffer - time.sleep(0.3 * self.global_delay_factor) - self.clear_buffer() + + # try ONEOS6 command first - fallback to ONEOS5 if it fails + self.set_terminal_width(command="screen-width 512", cmd_verify=True) + output = self._test_channel_read(pattern=r"[>#]") + if "error" in output.lower(): + self.set_terminal_width(command="stty columns 255", cmd_verify=True) + else: + # ONEOS6 uses different enter + self.RETURN = "\n" + + self._test_channel_read(pattern=r"[>#]") + self.set_base_prompt() def save_config( self, cmd: str = "write mem", confirm: bool = False, confirm_response: str = "" @@ -154,13 +169,21 @@

                Methods

                def session_preparation(self) -> None:
                     """Prepare connection - disable paging"""
                -    self._test_channel_read()
                -    self.set_base_prompt()
                -    self.set_terminal_width(command="stty columns 255", pattern="stty")
                +
                +    self._test_channel_read(pattern=r"[>#]")
                     self.disable_paging(command="term len 0")
                -    # Clear the read buffer
                -    time.sleep(0.3 * self.global_delay_factor)
                -    self.clear_buffer()
                + + # try ONEOS6 command first - fallback to ONEOS5 if it fails + self.set_terminal_width(command="screen-width 512", cmd_verify=True) + output = self._test_channel_read(pattern=r"[>#]") + if "error" in output.lower(): + self.set_terminal_width(command="stty columns 255", cmd_verify=True) + else: + # ONEOS6 uses different enter + self.RETURN = "\n" + + self._test_channel_read(pattern=r"[>#]") + self.set_base_prompt()
                diff --git a/docs/netmiko/ovs/index.html b/docs/netmiko/ovs/index.html index 1b7920709..af0f85b51 100644 --- a/docs/netmiko/ovs/index.html +++ b/docs/netmiko/ovs/index.html @@ -49,7 +49,7 @@

                Classes

                class OvsLinuxSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                Base Class for cisco-like behavior.

                @@ -90,6 +90,9 @@

                Classes

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -104,7 +107,7 @@

                Classes

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -112,6 +115,10 @@

                Classes

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -123,7 +130,9 @@

                Classes

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -155,6 +164,9 @@ 

                Classes

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                diff --git a/docs/netmiko/ovs/ovs_linux_ssh.html b/docs/netmiko/ovs/ovs_linux_ssh.html index 94acf563b..9143e69c9 100644 --- a/docs/netmiko/ovs/ovs_linux_ssh.html +++ b/docs/netmiko/ovs/ovs_linux_ssh.html @@ -44,7 +44,7 @@

                Classes

                class OvsLinuxSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                Base Class for cisco-like behavior.

                @@ -85,6 +85,9 @@

                Classes

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -99,7 +102,7 @@

                Classes

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -107,6 +110,10 @@

                Classes

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -118,7 +125,9 @@

                Classes

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -150,6 +159,9 @@ 

                Classes

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                diff --git a/docs/netmiko/paloalto/index.html b/docs/netmiko/paloalto/index.html index 48ace0572..5b2ee65a2 100644 --- a/docs/netmiko/paloalto/index.html +++ b/docs/netmiko/paloalto/index.html @@ -49,7 +49,7 @@

                Classes

                class PaloAltoPanosSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                Implement methods for interacting with PaloAlto devices.

                @@ -93,6 +93,9 @@

                Classes

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -107,7 +110,7 @@

                Classes

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -115,6 +118,10 @@

                Classes

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -126,7 +133,9 @@

                Classes

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -158,6 +167,9 @@ 

                Classes

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                @@ -242,7 +254,7 @@

                Inherited members

                class PaloAltoPanosTelnet -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                Implement methods for interacting with PaloAlto devices.

                @@ -286,6 +298,9 @@

                Inherited members

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -300,7 +315,7 @@

                Inherited members

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -308,6 +323,10 @@

                Inherited members

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -319,7 +338,9 @@

                Inherited members

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -351,6 +372,9 @@ 

                Inherited members

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                diff --git a/docs/netmiko/paloalto/paloalto_panos.html b/docs/netmiko/paloalto/paloalto_panos.html index 5e946f90a..a20d282fc 100644 --- a/docs/netmiko/paloalto/paloalto_panos.html +++ b/docs/netmiko/paloalto/paloalto_panos.html @@ -95,7 +95,9 @@

                Module netmiko.paloalto.paloalto_panos

                self.ansi_escape_codes = True self._test_channel_read(pattern=r"[>#]") self.disable_paging( - command="set cli scripting-mode on", cmd_verify=False, pattern=r" on" + command="set cli scripting-mode on", + cmd_verify=False, + pattern=r"[>#].*mode on", ) self.set_terminal_width( command="set cli terminal width 500", pattern=r"set cli terminal width 500" @@ -293,7 +295,7 @@

                Classes

                class PaloAltoPanosBase -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                Implement methods for interacting with PaloAlto devices.

                @@ -337,6 +339,9 @@

                Classes

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -351,7 +356,7 @@

                Classes

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -359,6 +364,10 @@

                Classes

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -370,7 +379,9 @@

                Classes

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -402,6 +413,9 @@ 

                Classes

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                @@ -425,7 +439,9 @@

                Classes

                self.ansi_escape_codes = True self._test_channel_read(pattern=r"[>#]") self.disable_paging( - command="set cli scripting-mode on", cmd_verify=False, pattern=r" on" + command="set cli scripting-mode on", + cmd_verify=False, + pattern=r"[>#].*mode on", ) self.set_terminal_width( command="set cli terminal width 500", pattern=r"set cli terminal width 500" @@ -799,7 +815,9 @@

                Methods

                self.ansi_escape_codes = True self._test_channel_read(pattern=r"[>#]") self.disable_paging( - command="set cli scripting-mode on", cmd_verify=False, pattern=r" on" + command="set cli scripting-mode on", + cmd_verify=False, + pattern=r"[>#].*mode on", ) self.set_terminal_width( command="set cli terminal width 500", pattern=r"set cli terminal width 500" @@ -924,7 +942,7 @@

                Inherited members

                class PaloAltoPanosSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                Implement methods for interacting with PaloAlto devices.

                @@ -968,6 +986,9 @@

                Inherited members

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -982,7 +1003,7 @@

                Inherited members

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -990,6 +1011,10 @@

                Inherited members

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -1001,7 +1026,9 @@

                Inherited members

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -1033,6 +1060,9 @@ 

                Inherited members

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                @@ -1117,7 +1147,7 @@

                Inherited members

                class PaloAltoPanosTelnet -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                Implement methods for interacting with PaloAlto devices.

                @@ -1161,6 +1191,9 @@

                Inherited members

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -1175,7 +1208,7 @@

                Inherited members

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -1183,6 +1216,10 @@

                Inherited members

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -1194,7 +1231,9 @@

                Inherited members

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -1226,6 +1265,9 @@ 

                Inherited members

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                diff --git a/docs/netmiko/quanta/index.html b/docs/netmiko/quanta/index.html index 343285b22..05f98c0e8 100644 --- a/docs/netmiko/quanta/index.html +++ b/docs/netmiko/quanta/index.html @@ -49,7 +49,7 @@

                Classes

                class QuantaMeshSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                Base Class for cisco-like behavior.

                @@ -90,6 +90,9 @@

                Classes

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -104,7 +107,7 @@

                Classes

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -112,6 +115,10 @@

                Classes

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -123,7 +130,9 @@

                Classes

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -155,6 +164,9 @@ 

                Classes

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                diff --git a/docs/netmiko/quanta/quanta_mesh_ssh.html b/docs/netmiko/quanta/quanta_mesh_ssh.html index 1084b4b43..517b4a36a 100644 --- a/docs/netmiko/quanta/quanta_mesh_ssh.html +++ b/docs/netmiko/quanta/quanta_mesh_ssh.html @@ -66,7 +66,7 @@

                Classes

                class QuantaMeshSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                Base Class for cisco-like behavior.

                @@ -107,6 +107,9 @@

                Classes

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -121,7 +124,7 @@

                Classes

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -129,6 +132,10 @@

                Classes

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -140,7 +147,9 @@

                Classes

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -172,6 +181,9 @@ 

                Classes

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                diff --git a/docs/netmiko/rad/index.html b/docs/netmiko/rad/index.html index b0c280834..981d0e797 100644 --- a/docs/netmiko/rad/index.html +++ b/docs/netmiko/rad/index.html @@ -91,6 +91,9 @@

                Classes

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -105,7 +108,7 @@

                Classes

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -113,6 +116,10 @@

                Classes

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -124,7 +131,9 @@

                Classes

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -156,6 +165,9 @@ 

                Classes

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                @@ -226,7 +238,7 @@

                Inherited members

                class RadETXTelnet -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                RAD ETX Telnet Support.

                @@ -267,6 +279,9 @@

                Inherited members

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -281,7 +296,7 @@

                Inherited members

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -289,6 +304,10 @@

                Inherited members

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -300,7 +319,9 @@

                Inherited members

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -332,6 +353,9 @@ 

                Inherited members

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                diff --git a/docs/netmiko/rad/rad_etx.html b/docs/netmiko/rad/rad_etx.html index dc0c1f614..9726e2562 100644 --- a/docs/netmiko/rad/rad_etx.html +++ b/docs/netmiko/rad/rad_etx.html @@ -141,7 +141,7 @@

                Classes

                class RadETXBase -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                RAD ETX Support, Tested on RAD 203AX, 205A and 220A.

                @@ -182,6 +182,9 @@

                Classes

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -196,7 +199,7 @@

                Classes

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -204,6 +207,10 @@

                Classes

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -215,7 +222,9 @@

                Classes

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -247,6 +256,9 @@ 

                Classes

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                @@ -497,6 +509,9 @@

                Inherited members

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -511,7 +526,7 @@

                Inherited members

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -519,6 +534,10 @@

                Inherited members

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -530,7 +549,9 @@

                Inherited members

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -562,6 +583,9 @@ 

                Inherited members

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                @@ -632,7 +656,7 @@

                Inherited members

                class RadETXTelnet -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                RAD ETX Telnet Support.

                @@ -673,6 +697,9 @@

                Inherited members

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -687,7 +714,7 @@

                Inherited members

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -695,6 +722,10 @@

                Inherited members

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -706,7 +737,9 @@

                Inherited members

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -738,6 +771,9 @@ 

                Inherited members

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                diff --git a/docs/netmiko/raisecom/index.html b/docs/netmiko/raisecom/index.html index 692ca3bec..1261aad8d 100644 --- a/docs/netmiko/raisecom/index.html +++ b/docs/netmiko/raisecom/index.html @@ -50,7 +50,7 @@

                Classes

                class RaisecomRoapSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                Base Class for cisco-like behavior.

                @@ -91,6 +91,9 @@

                Classes

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -105,7 +108,7 @@

                Classes

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -113,6 +116,10 @@

                Classes

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -124,7 +131,9 @@

                Classes

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -156,6 +165,9 @@ 

                Classes

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                @@ -237,7 +249,7 @@

                Inherited members

                class RaisecomRoapTelnet -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                Base Class for cisco-like behavior.

                @@ -324,6 +336,9 @@

                Inherited members

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -338,7 +353,7 @@

                Inherited members

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -346,6 +361,10 @@

                Inherited members

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -357,7 +376,9 @@

                Inherited members

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -389,6 +410,9 @@ 

                Inherited members

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                @@ -495,7 +519,7 @@

                Inherited members

                • RaisecomRoapBase:
                    -
                  • check_config_mode
                  • +
                  • check_config_mode
                  • check_enable_mode
                  • cleanup
                  • clear_buffer
                  • diff --git a/docs/netmiko/raisecom/raisecom_roap.html b/docs/netmiko/raisecom/raisecom_roap.html index a8d4852c8..dd077e21a 100644 --- a/docs/netmiko/raisecom/raisecom_roap.html +++ b/docs/netmiko/raisecom/raisecom_roap.html @@ -198,7 +198,7 @@

                    Classes

                    class RaisecomRoapBase -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                    Base Class for cisco-like behavior.

                    @@ -239,6 +239,9 @@

                    Classes

                    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -253,7 +256,7 @@

                    Classes

                    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -261,6 +264,10 @@

                    Classes

                    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -272,7 +279,9 @@

                    Classes

                    enter key (default:

                    )

                    -
                        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                    +
                        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                    +
                    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                                 to select smallest of global and specific. Sets default global_delay_factor to .1
                                 (default: True)
                     
                    @@ -304,6 +313,9 @@ 

                    Classes

                    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                    @@ -353,24 +365,6 @@

                    Subclasses

                  Methods

                  -
                  -def check_config_mode(self, check_string: str = ')#', pattern: str = '#', force_regex: bool = False) ‑> bool -
                  -
                  -

                  Checks if the device is in configuration mode or not.

                  -
                  - -Expand source code - -
                  def check_config_mode(
                  -    self, check_string: str = ")#", pattern: str = "#", force_regex: bool = False
                  -) -> bool:
                  -    """
                  -    Checks if the device is in configuration mode or not.
                  -    """
                  -    return super().check_config_mode(check_string=check_string, pattern=pattern)
                  -
                  -
                  def session_preparation(self) ‑> None
                  @@ -396,6 +390,7 @@

                  Inherited members

                class RaisecomRoapSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                Base Class for cisco-like behavior.

                @@ -482,6 +477,9 @@

                Inherited members

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -496,7 +494,7 @@

                Inherited members

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -504,6 +502,10 @@

                Inherited members

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -515,7 +517,9 @@

                Inherited members

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -547,6 +551,9 @@ 

                Inherited members

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                @@ -628,7 +635,7 @@

                Inherited members

                class RaisecomRoapTelnet -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                Base Class for cisco-like behavior.

                @@ -715,6 +722,9 @@

                Inherited members

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -729,7 +739,7 @@

                Inherited members

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -737,6 +747,10 @@

                Inherited members

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -748,7 +762,9 @@

                Inherited members

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -780,6 +796,9 @@ 

                Inherited members

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                @@ -886,7 +905,7 @@

                Inherited members

                • RaisecomRoapBase:
                    -
                  • check_config_mode
                  • +
                  • check_config_mode
                  • check_enable_mode
                  • cleanup
                  • clear_buffer
                  • @@ -950,7 +969,6 @@

                    Index

                  • RaisecomRoapBase

                  • diff --git a/docs/netmiko/ruckus/index.html b/docs/netmiko/ruckus/index.html index 96c5dd7b8..d5715f324 100644 --- a/docs/netmiko/ruckus/index.html +++ b/docs/netmiko/ruckus/index.html @@ -50,7 +50,7 @@

                    Classes

                    class RuckusFastironSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                    Ruckus FastIron aka ICX support.

                    @@ -91,6 +91,9 @@

                    Classes

                    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -105,7 +108,7 @@

                    Classes

                    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -113,6 +116,10 @@

                    Classes

                    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -124,7 +131,9 @@

                    Classes

                    enter key (default:

                    )

                    -
                        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                    +
                        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                    +
                    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                                 to select smallest of global and specific. Sets default global_delay_factor to .1
                                 (default: True)
                     
                    @@ -156,6 +165,9 @@ 

                    Classes

                    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                    @@ -263,6 +275,9 @@

                    Inherited members

                    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -277,7 +292,7 @@

                    Inherited members

                    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -285,6 +300,10 @@

                    Inherited members

                    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -296,7 +315,9 @@

                    Inherited members

                    enter key (default:

                    )

                    -
                        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                    +
                        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                    +
                    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                                 to select smallest of global and specific. Sets default global_delay_factor to .1
                                 (default: True)
                     
                    @@ -328,6 +349,9 @@ 

                    Inherited members

                    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                    diff --git a/docs/netmiko/ruckus/ruckus_fastiron.html b/docs/netmiko/ruckus/ruckus_fastiron.html index f75e66d40..9b97c621c 100644 --- a/docs/netmiko/ruckus/ruckus_fastiron.html +++ b/docs/netmiko/ruckus/ruckus_fastiron.html @@ -51,44 +51,45 @@

                    Module netmiko.ruckus.ruckus_fastiron

                    def enable( self, cmd: str = "enable", - pattern: str = r"(ssword|User Name)", + pattern: str = r"(ssword|User Name|Login)", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Enter enable mode. - With RADIUS can prompt for User Name + With RADIUS can prompt for User Name or Login SSH@Lab-ICX7250>en User Name:service_netmiko Password: SSH@Lab-ICX7250# """ output = "" - if not self.check_enable_mode(): - count = 4 - i = 1 - while i < count: - self.write_channel(self.normalize_cmd(cmd)) + if check_state and self.check_enable_mode(): + return output + + count = 4 + i = 1 + while i < count: + self.write_channel(self.normalize_cmd(cmd)) + new_data = self.read_until_prompt_or_pattern( + pattern=pattern, re_flags=re_flags, read_entire_line=True + ) + output += new_data + if "User Name" in new_data or "Login" in new_data: + self.write_channel(self.normalize_cmd(self.username)) new_data = self.read_until_prompt_or_pattern( pattern=pattern, re_flags=re_flags, read_entire_line=True ) output += new_data - if "User Name" in new_data: - self.write_channel(self.normalize_cmd(self.username)) - new_data = self.read_until_prompt_or_pattern( - pattern=pattern, re_flags=re_flags, read_entire_line=True - ) - output += new_data - if "ssword" in new_data: - self.write_channel(self.normalize_cmd(self.secret)) - new_data = self.read_until_prompt(read_entire_line=True) - output += new_data - if not re.search( - r"error.*incorrect.*password", new_data, flags=re.I - ): - break - - time.sleep(1) - i += 1 + if "ssword" in new_data: + self.write_channel(self.normalize_cmd(self.secret)) + new_data = self.read_until_prompt(read_entire_line=True) + output += new_data + if not re.search(r"error.*incorrect.*password", new_data, flags=re.I): + break + + time.sleep(1) + i += 1 if not self.check_enable_mode(): msg = ( @@ -149,7 +150,7 @@

                    Classes

                    class RuckusFastironBase -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                    Ruckus FastIron aka ICX support.

                    @@ -190,6 +191,9 @@

                    Classes

                    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -204,7 +208,7 @@

                    Classes

                    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -212,6 +216,10 @@

                    Classes

                    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -223,7 +231,9 @@

                    Classes

                    enter key (default:

                    )

                    -
                        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                    +
                        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                    +
                    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                                 to select smallest of global and specific. Sets default global_delay_factor to .1
                                 (default: True)
                     
                    @@ -255,6 +265,9 @@ 

                    Classes

                    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                    @@ -276,44 +289,45 @@

                    Classes

                    def enable( self, cmd: str = "enable", - pattern: str = r"(ssword|User Name)", + pattern: str = r"(ssword|User Name|Login)", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """Enter enable mode. - With RADIUS can prompt for User Name + With RADIUS can prompt for User Name or Login SSH@Lab-ICX7250>en User Name:service_netmiko Password: SSH@Lab-ICX7250# """ output = "" - if not self.check_enable_mode(): - count = 4 - i = 1 - while i < count: - self.write_channel(self.normalize_cmd(cmd)) + if check_state and self.check_enable_mode(): + return output + + count = 4 + i = 1 + while i < count: + self.write_channel(self.normalize_cmd(cmd)) + new_data = self.read_until_prompt_or_pattern( + pattern=pattern, re_flags=re_flags, read_entire_line=True + ) + output += new_data + if "User Name" in new_data or "Login" in new_data: + self.write_channel(self.normalize_cmd(self.username)) new_data = self.read_until_prompt_or_pattern( pattern=pattern, re_flags=re_flags, read_entire_line=True ) output += new_data - if "User Name" in new_data: - self.write_channel(self.normalize_cmd(self.username)) - new_data = self.read_until_prompt_or_pattern( - pattern=pattern, re_flags=re_flags, read_entire_line=True - ) - output += new_data - if "ssword" in new_data: - self.write_channel(self.normalize_cmd(self.secret)) - new_data = self.read_until_prompt(read_entire_line=True) - output += new_data - if not re.search( - r"error.*incorrect.*password", new_data, flags=re.I - ): - break - - time.sleep(1) - i += 1 + if "ssword" in new_data: + self.write_channel(self.normalize_cmd(self.secret)) + new_data = self.read_until_prompt(read_entire_line=True) + output += new_data + if not re.search(r"error.*incorrect.*password", new_data, flags=re.I): + break + + time.sleep(1) + i += 1 if not self.check_enable_mode(): msg = ( @@ -346,11 +360,11 @@

                    Subclasses

                    Methods

                    -def enable(self, cmd: str = 'enable', pattern: str = '(ssword|User Name)', enable_pattern: Optional[str] = None, re_flags: int = re.IGNORECASE) ‑> str +def enable(self, cmd: str = 'enable', pattern: str = '(ssword|User Name|Login)', enable_pattern: Optional[str] = None, check_state: bool = True, re_flags: int = re.IGNORECASE) ‑> str

                    Enter enable mode. -With RADIUS can prompt for User Name +With RADIUS can prompt for User Name or Login SSH@Lab-ICX7250>en User Name:service_netmiko Password: @@ -362,44 +376,45 @@

                    Methods

                    def enable(
                         self,
                         cmd: str = "enable",
                    -    pattern: str = r"(ssword|User Name)",
                    +    pattern: str = r"(ssword|User Name|Login)",
                         enable_pattern: Optional[str] = None,
                    +    check_state: bool = True,
                         re_flags: int = re.IGNORECASE,
                     ) -> str:
                         """Enter enable mode.
                    -    With RADIUS can prompt for User Name
                    +    With RADIUS can prompt for User Name or Login
                         SSH@Lab-ICX7250>en
                         User Name:service_netmiko
                         Password:
                         SSH@Lab-ICX7250#
                         """
                         output = ""
                    -    if not self.check_enable_mode():
                    -        count = 4
                    -        i = 1
                    -        while i < count:
                    -            self.write_channel(self.normalize_cmd(cmd))
                    +    if check_state and self.check_enable_mode():
                    +        return output
                    +
                    +    count = 4
                    +    i = 1
                    +    while i < count:
                    +        self.write_channel(self.normalize_cmd(cmd))
                    +        new_data = self.read_until_prompt_or_pattern(
                    +            pattern=pattern, re_flags=re_flags, read_entire_line=True
                    +        )
                    +        output += new_data
                    +        if "User Name" in new_data or "Login" in new_data:
                    +            self.write_channel(self.normalize_cmd(self.username))
                                 new_data = self.read_until_prompt_or_pattern(
                                     pattern=pattern, re_flags=re_flags, read_entire_line=True
                                 )
                                 output += new_data
                    -            if "User Name" in new_data:
                    -                self.write_channel(self.normalize_cmd(self.username))
                    -                new_data = self.read_until_prompt_or_pattern(
                    -                    pattern=pattern, re_flags=re_flags, read_entire_line=True
                    -                )
                    -                output += new_data
                    -            if "ssword" in new_data:
                    -                self.write_channel(self.normalize_cmd(self.secret))
                    -                new_data = self.read_until_prompt(read_entire_line=True)
                    -                output += new_data
                    -                if not re.search(
                    -                    r"error.*incorrect.*password", new_data, flags=re.I
                    -                ):
                    -                    break
                    +        if "ssword" in new_data:
                    +            self.write_channel(self.normalize_cmd(self.secret))
                    +            new_data = self.read_until_prompt(read_entire_line=True)
                    +            output += new_data
                    +            if not re.search(r"error.*incorrect.*password", new_data, flags=re.I):
                    +                break
                     
                    -            time.sleep(1)
                    -            i += 1
                    +        time.sleep(1)
                    +        i += 1
                     
                         if not self.check_enable_mode():
                             msg = (
                    @@ -498,7 +513,7 @@ 

                    Inherited members

                    class RuckusFastironSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                    Ruckus FastIron aka ICX support.

                    @@ -539,6 +554,9 @@

                    Inherited members

                    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -553,7 +571,7 @@

                    Inherited members

                    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -561,6 +579,10 @@

                    Inherited members

                    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -572,7 +594,9 @@

                    Inherited members

                    enter key (default:

                    )

                    -
                        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                    +
                        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                    +
                    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                                 to select smallest of global and specific. Sets default global_delay_factor to .1
                                 (default: True)
                     
                    @@ -604,6 +628,9 @@ 

                    Inherited members

                    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                    @@ -711,6 +738,9 @@

                    Inherited members

                    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -725,7 +755,7 @@

                    Inherited members

                    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -733,6 +763,10 @@

                    Inherited members

                    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -744,7 +778,9 @@

                    Inherited members

                    enter key (default:

                    )

                    -
                        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                    +
                        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                    +
                    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                                 to select smallest of global and specific. Sets default global_delay_factor to .1
                                 (default: True)
                     
                    @@ -776,6 +812,9 @@ 

                    Inherited members

                    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                    diff --git a/docs/netmiko/ruijie/index.html b/docs/netmiko/ruijie/index.html index e942ac255..7babe842f 100644 --- a/docs/netmiko/ruijie/index.html +++ b/docs/netmiko/ruijie/index.html @@ -49,7 +49,7 @@

                    Classes

                    class RuijieOSSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                    Base Class for cisco-like behavior.

                    @@ -90,6 +90,9 @@

                    Classes

                    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -104,7 +107,7 @@

                    Classes

                    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -112,6 +115,10 @@

                    Classes

                    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -123,7 +130,9 @@

                    Classes

                    enter key (default:

                    )

                    -
                        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                    +
                        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                    +
                    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                                 to select smallest of global and specific. Sets default global_delay_factor to .1
                                 (default: True)
                     
                    @@ -155,6 +164,9 @@ 

                    Classes

                    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                    @@ -262,6 +274,9 @@

                    Inherited members

                    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -276,7 +291,7 @@

                    Inherited members

                    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -284,6 +299,10 @@

                    Inherited members

                    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -295,7 +314,9 @@

                    Inherited members

                    enter key (default:

                    )

                    -
                        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                    +
                        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                    +
                    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                                 to select smallest of global and specific. Sets default global_delay_factor to .1
                                 (default: True)
                     
                    @@ -327,6 +348,9 @@ 

                    Inherited members

                    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                    diff --git a/docs/netmiko/ruijie/ruijie_os.html b/docs/netmiko/ruijie/ruijie_os.html index dc0085845..33125cbf4 100644 --- a/docs/netmiko/ruijie/ruijie_os.html +++ b/docs/netmiko/ruijie/ruijie_os.html @@ -79,7 +79,7 @@

                    Classes

                    class RuijieOSBase -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                    Base Class for cisco-like behavior.

                    @@ -120,6 +120,9 @@

                    Classes

                    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -134,7 +137,7 @@

                    Classes

                    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -142,6 +145,10 @@

                    Classes

                    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -153,7 +160,9 @@

                    Classes

                    enter key (default:

                    )

                    -
                        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                    +
                        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                    +
                    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                                 to select smallest of global and specific. Sets default global_delay_factor to .1
                                 (default: True)
                     
                    @@ -185,6 +194,9 @@ 

                    Classes

                    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                    @@ -313,7 +325,7 @@

                    Inherited members

                    class RuijieOSSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                    Base Class for cisco-like behavior.

                    @@ -354,6 +366,9 @@

                    Inherited members

                    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -368,7 +383,7 @@

                    Inherited members

                    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -376,6 +391,10 @@

                    Inherited members

                    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -387,7 +406,9 @@

                    Inherited members

                    enter key (default:

                    )

                    -
                        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                    +
                        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                    +
                    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                                 to select smallest of global and specific. Sets default global_delay_factor to .1
                                 (default: True)
                     
                    @@ -419,6 +440,9 @@ 

                    Inherited members

                    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                    @@ -526,6 +550,9 @@

                    Inherited members

                    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -540,7 +567,7 @@

                    Inherited members

                    :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -548,6 +575,10 @@

                    Inherited members

                    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -559,7 +590,9 @@

                    Inherited members

                    enter key (default:

                    )

                    -
                        :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                    +
                        :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                    +
                    +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                                 to select smallest of global and specific. Sets default global_delay_factor to .1
                                 (default: True)
                     
                    @@ -591,6 +624,9 @@ 

                    Inherited members

                    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                    diff --git a/docs/netmiko/scp_handler.html b/docs/netmiko/scp_handler.html index 8a1d72f45..df980421b 100644 --- a/docs/netmiko/scp_handler.html +++ b/docs/netmiko/scp_handler.html @@ -274,7 +274,7 @@

                    Module netmiko.scp_handler

                    """Check if the dest_file already exists on the file system (return boolean).""" if self.direction == "put": self.ssh_ctl_chan._enter_shell() - remote_cmd = f"/bin/ls {self.file_system}" + remote_cmd = f"/bin/ls {self.file_system}/{self.dest_file} 2> /dev/null" remote_out = self.ssh_ctl_chan._send_command_str( remote_cmd, expect_string=r"[\$#]" ) @@ -654,7 +654,7 @@

                    Classes

                    """Check if the dest_file already exists on the file system (return boolean).""" if self.direction == "put": self.ssh_ctl_chan._enter_shell() - remote_cmd = f"/bin/ls {self.file_system}" + remote_cmd = f"/bin/ls {self.file_system}/{self.dest_file} 2> /dev/null" remote_out = self.ssh_ctl_chan._send_command_str( remote_cmd, expect_string=r"[\$#]" ) @@ -848,6 +848,7 @@

                    Subclasses

                  • JuniperFileTransfer
                  • MikrotikRouterOsFileTransfer
                  • NokiaSrosFileTransfer
                  • +
                  • UbiquitiEdgeRouterFileTransfer

                  Static methods

                  diff --git a/docs/netmiko/session_log.html b/docs/netmiko/session_log.html index da58de640..dff277ab6 100644 --- a/docs/netmiko/session_log.html +++ b/docs/netmiko/session_log.html @@ -38,7 +38,7 @@

                  Module netmiko.session_log

                  buffered_io: Optional[io.BufferedIOBase] = None, file_mode: str = "write", file_encoding: str = "utf-8", - no_log: Dict[str, Any] = None, + no_log: Optional[Dict[str, Any]] = None, record_writes: bool = False, ) -> None: if no_log is None: @@ -109,7 +109,7 @@

                  Classes

                  class SessionLog -(file_name: Optional[str] = None, buffered_io: Optional[io.BufferedIOBase] = None, file_mode: str = 'write', file_encoding: str = 'utf-8', no_log: Dict[str, Any] = None, record_writes: bool = False) +(file_name: Optional[str] = None, buffered_io: Optional[io.BufferedIOBase] = None, file_mode: str = 'write', file_encoding: str = 'utf-8', no_log: Optional[Dict[str, Any]] = None, record_writes: bool = False)
                  @@ -124,7 +124,7 @@

                  Classes

                  buffered_io: Optional[io.BufferedIOBase] = None, file_mode: str = "write", file_encoding: str = "utf-8", - no_log: Dict[str, Any] = None, + no_log: Optional[Dict[str, Any]] = None, record_writes: bool = False, ) -> None: if no_log is None: diff --git a/docs/netmiko/sixwind/index.html b/docs/netmiko/sixwind/index.html index 28d9e6824..0bfcacca9 100644 --- a/docs/netmiko/sixwind/index.html +++ b/docs/netmiko/sixwind/index.html @@ -49,7 +49,7 @@

                  Classes

                  class SixwindOSSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                  Class for platforms that have no enable mode.

                  @@ -97,6 +97,9 @@

                  Classes

                  :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -111,7 +114,7 @@

                  Classes

                  :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -119,6 +122,10 @@

                  Classes

                  :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -130,7 +137,9 @@

                  Classes

                  enter key (default:

                  )

                  -
                      :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                  +
                      :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                  +
                  +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                               to select smallest of global and specific. Sets default global_delay_factor to .1
                               (default: True)
                   
                  @@ -162,6 +171,9 @@ 

                  Classes

                  :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                  diff --git a/docs/netmiko/sixwind/sixwind_os.html b/docs/netmiko/sixwind/sixwind_os.html index f11f72163..8a88b3693 100644 --- a/docs/netmiko/sixwind/sixwind_os.html +++ b/docs/netmiko/sixwind/sixwind_os.html @@ -46,7 +46,7 @@

                  Module netmiko.sixwind.sixwind_os

                  def disable_paging(self, *args: Any, **kwargs: Any) -> str: """6WIND requires no-pager at the end of command, not implemented at this time.""" - pass + return "" def set_base_prompt( self, @@ -151,7 +151,7 @@

                  Classes

                  class SixwindOSBase -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                  Class for platforms that have no enable mode.

                  @@ -199,6 +199,9 @@

                  Classes

                  :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -213,7 +216,7 @@

                  Classes

                  :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -221,6 +224,10 @@

                  Classes

                  :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -232,7 +239,9 @@

                  Classes

                  enter key (default:

                  )

                  -
                      :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                  +
                      :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                  +
                  +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                               to select smallest of global and specific. Sets default global_delay_factor to .1
                               (default: True)
                   
                  @@ -264,6 +273,9 @@ 

                  Classes

                  :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                  @@ -281,7 +293,7 @@

                  Classes

                  def disable_paging(self, *args: Any, **kwargs: Any) -> str: """6WIND requires no-pager at the end of command, not implemented at this time.""" - pass + return "" def set_base_prompt( self, @@ -457,7 +469,7 @@

                  Methods

                  def disable_paging(self, *args: Any, **kwargs: Any) -> str:
                       """6WIND requires no-pager at the end of command, not implemented at this time."""
                  -    pass
                  + return ""
                  @@ -590,7 +602,7 @@

                  Inherited members

                  class SixwindOSSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                  Class for platforms that have no enable mode.

                  @@ -638,6 +650,9 @@

                  Inherited members

                  :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -652,7 +667,7 @@

                  Inherited members

                  :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -660,6 +675,10 @@

                  Inherited members

                  :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -671,7 +690,9 @@

                  Inherited members

                  enter key (default:

                  )

                  -
                      :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                  +
                      :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                  +
                  +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                               to select smallest of global and specific. Sets default global_delay_factor to .1
                               (default: True)
                   
                  @@ -703,6 +724,9 @@ 

                  Inherited members

                  :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                  diff --git a/docs/netmiko/snmp_autodetect.html b/docs/netmiko/snmp_autodetect.html index f4dbd0b4f..d386fc87d 100644 --- a/docs/netmiko/snmp_autodetect.html +++ b/docs/netmiko/snmp_autodetect.html @@ -62,6 +62,7 @@

                  Example:

                  Note, pysnmp is a required dependency for SNMPDetect and is intentionally not included in netmiko requirements. So installation of pysnmp might be required. """ +import ipaddress from typing import Optional, Dict from typing.re import Pattern import re @@ -98,7 +99,7 @@

                  Example:

                  }, "cisco_ios": { "oid": ".1.3.6.1.2.1.1.1.0", - "expr": re.compile(r".*Cisco IOS Software,.*", re.IGNORECASE), + "expr": re.compile(r".*Cisco IOS Software.*,.*", re.IGNORECASE), "priority": 60, }, "cisco_xe": { @@ -156,6 +157,11 @@

                  Example:

                  "expr": re.compile(r"PowerConnect.*", re.IGNORECASE), "priority": 50, }, + "mikrotik_routeros": { + "oid": ".1.3.6.1.2.1.1.1.0", + "expr": re.compile(r".*RouterOS.*", re.IGNORECASE), + "priority": 60, + }, } # Ensure all SNMP device types are supported by Netmiko @@ -279,6 +285,16 @@

                  Example:

                  self.auth_proto = self._snmp_v3_authentication[auth_proto] self.encryp_proto = self._snmp_v3_encryption[encrypt_proto] self._response_cache: Dict[str, str] = {} + self.snmp_target = (self.hostname, self.snmp_port) + + if ipaddress.ip_address(self.hostname).version == 6: + self.udp_transport_target = cmdgen.Udp6TransportTarget( + self.snmp_target, timeout=1.5, retries=2 + ) + else: + self.udp_transport_target = cmdgen.UdpTransportTarget( + self.snmp_target, timeout=1.5, retries=2 + ) def _get_snmpv3(self, oid: str) -> str: """ @@ -294,7 +310,6 @@

                  Example:

                  string : str The string as part of the value from the OID you are trying to retrieve. """ - snmp_target = (self.hostname, self.snmp_port) cmd_gen = cmdgen.CommandGenerator() (error_detected, error_status, error_index, snmp_data) = cmd_gen.getCmd( @@ -305,7 +320,7 @@

                  Example:

                  authProtocol=self.auth_proto, privProtocol=self.encryp_proto, ), - cmdgen.UdpTransportTarget(snmp_target, timeout=1.5, retries=2), + self.udp_transport_target, oid, lookupNames=True, lookupValues=True, @@ -329,12 +344,11 @@

                  Example:

                  string : str The string as part of the value from the OID you are trying to retrieve. """ - snmp_target = (self.hostname, self.snmp_port) cmd_gen = cmdgen.CommandGenerator() (error_detected, error_status, error_index, snmp_data) = cmd_gen.getCmd( cmdgen.CommunityData(self.community), - cmdgen.UdpTransportTarget(snmp_target, timeout=1.5, retries=2), + self.udp_transport_target, oid, lookupNames=True, lookupValues=True, @@ -572,6 +586,16 @@

                  Methods

                  self.auth_proto = self._snmp_v3_authentication[auth_proto] self.encryp_proto = self._snmp_v3_encryption[encrypt_proto] self._response_cache: Dict[str, str] = {} + self.snmp_target = (self.hostname, self.snmp_port) + + if ipaddress.ip_address(self.hostname).version == 6: + self.udp_transport_target = cmdgen.Udp6TransportTarget( + self.snmp_target, timeout=1.5, retries=2 + ) + else: + self.udp_transport_target = cmdgen.UdpTransportTarget( + self.snmp_target, timeout=1.5, retries=2 + ) def _get_snmpv3(self, oid: str) -> str: """ @@ -587,7 +611,6 @@

                  Methods

                  string : str The string as part of the value from the OID you are trying to retrieve. """ - snmp_target = (self.hostname, self.snmp_port) cmd_gen = cmdgen.CommandGenerator() (error_detected, error_status, error_index, snmp_data) = cmd_gen.getCmd( @@ -598,7 +621,7 @@

                  Methods

                  authProtocol=self.auth_proto, privProtocol=self.encryp_proto, ), - cmdgen.UdpTransportTarget(snmp_target, timeout=1.5, retries=2), + self.udp_transport_target, oid, lookupNames=True, lookupValues=True, @@ -622,12 +645,11 @@

                  Methods

                  string : str The string as part of the value from the OID you are trying to retrieve. """ - snmp_target = (self.hostname, self.snmp_port) cmd_gen = cmdgen.CommandGenerator() (error_detected, error_status, error_index, snmp_data) = cmd_gen.getCmd( cmdgen.CommunityData(self.community), - cmdgen.UdpTransportTarget(snmp_target, timeout=1.5, retries=2), + self.udp_transport_target, oid, lookupNames=True, lookupValues=True, diff --git a/docs/netmiko/sophos/index.html b/docs/netmiko/sophos/index.html index 5d4f6b4d8..51ff78183 100644 --- a/docs/netmiko/sophos/index.html +++ b/docs/netmiko/sophos/index.html @@ -49,7 +49,7 @@

                  Classes

                  class SophosSfosSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                  Class for platforms that have no enable mode.

                  @@ -97,6 +97,9 @@

                  Classes

                  :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -111,7 +114,7 @@

                  Classes

                  :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -119,6 +122,10 @@

                  Classes

                  :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -130,7 +137,9 @@

                  Classes

                  enter key (default:

                  )

                  -
                      :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                  +
                      :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                  +
                  +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                               to select smallest of global and specific. Sets default global_delay_factor to .1
                               (default: True)
                   
                  @@ -162,6 +171,9 @@ 

                  Classes

                  :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                  diff --git a/docs/netmiko/sophos/sophos_sfos_ssh.html b/docs/netmiko/sophos/sophos_sfos_ssh.html index 4362e3d12..38bb8315a 100644 --- a/docs/netmiko/sophos/sophos_sfos_ssh.html +++ b/docs/netmiko/sophos/sophos_sfos_ssh.html @@ -79,7 +79,7 @@

                  Classes

                  class SophosSfosSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                  Class for platforms that have no enable mode.

                  @@ -127,6 +127,9 @@

                  Classes

                  :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -141,7 +144,7 @@

                  Classes

                  :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -149,6 +152,10 @@

                  Classes

                  :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -160,7 +167,9 @@

                  Classes

                  enter key (default:

                  )

                  -
                      :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                  +
                      :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                  +
                  +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                               to select smallest of global and specific. Sets default global_delay_factor to .1
                               (default: True)
                   
                  @@ -192,6 +201,9 @@ 

                  Classes

                  :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                  diff --git a/docs/netmiko/ssh_autodetect.html b/docs/netmiko/ssh_autodetect.html index b56a63dc6..bf791dfbc 100644 --- a/docs/netmiko/ssh_autodetect.html +++ b/docs/netmiko/ssh_autodetect.html @@ -138,6 +138,18 @@

                  Netmiko connection creation section "priority": 99, "dispatch": "_autodetect_std", }, + "arris_cer": { + "cmd": "show version", + "search_patterns": [r"CER"], + "priority": 99, + "dispatch": "_autodetect_std", + }, + "casa_cmts": { + "cmd": "show version", + "search_patterns": [r"Casa"], + "priority": 99, + "dispatch": "_autodetect_std", + }, "ciena_saos": { "cmd": "software show", "search_patterns": [r"saos"], @@ -159,6 +171,12 @@

                  Netmiko connection creation section "priority": 99, "dispatch": "_autodetect_std", }, + "cisco_xe": { + "cmd": "show version", + "search_patterns": [r"Cisco IOS XE Software"], + "priority": 99, + "dispatch": "_autodetect_std", + }, "cisco_nxos": { "cmd": "show version", "search_patterns": [r"Cisco Nexus Operating System", r"NX-OS"], @@ -171,6 +189,12 @@

                  Netmiko connection creation section "priority": 99, "dispatch": "_autodetect_std", }, + "cisco_xr_2": { + "cmd": "show version brief", + "search_patterns": [r"Cisco IOS XR"], + "priority": 99, + "dispatch": "_autodetect_std", + }, "dell_force10": { "cmd": "show version", "search_patterns": [r"Real Time Operating System Software"], @@ -216,6 +240,12 @@

                  Netmiko connection creation section "priority": 99, "dispatch": "_autodetect_std", }, + "hp_procurve": { + "cmd": "show version", + "search_patterns": [r"Image stamp.*/code/build"], + "priority": 99, + "dispatch": "_autodetect_std", + }, "huawei": { "cmd": "display version", "search_patterns": [ @@ -242,6 +272,12 @@

                  Netmiko connection creation section "priority": 99, "dispatch": "_autodetect_std", }, + "ericsson_ipos": { + "cmd": "show version", + "search_patterns": [r"Ericsson IPOS Version"], + "priority": 99, + "dispatch": "_autodetect_std", + }, "extreme_exos": { "cmd": "show version", "search_patterns": [r"ExtremeXOS"], @@ -281,7 +317,7 @@

                  Netmiko connection creation section "cisco_wlc_85": { "cmd": "show inventory", "dispatch": "_autodetect_std", - "search_patterns": [r"Cisco Wireless Controller"], + "search_patterns": [r"Cisco.*Wireless.*Controller"], "priority": 99, }, "mellanox_mlnxos": { @@ -320,6 +356,18 @@

                  Netmiko connection creation section "priority": 99, "dispatch": "_autodetect_std", }, + "cisco_viptela": { + "cmd": "show system status", + "search_patterns": [r"Viptela, Inc"], + "priority": 99, + "dispatch": "_autodetect_std", + }, + "oneaccess_oneos": { + "cmd": "show version", + "search_patterns": [r"OneOS"], + "priority": 99, + "dispatch": "_autodetect_std", + }, } # Sort SSH_MAPPER_DICT such that the most common commands are first @@ -374,6 +422,10 @@

                  Netmiko connection creation section # Always set cmd_verify to False for autodetect kwargs["global_cmd_verify"] = False self.connection = ConnectHandler(*args, **kwargs) + + # Add additional sleep to let the login complete. + time.sleep(3) + # Call the _test_channel_read() in base to clear initial data output = BaseConnection._test_channel_read(self.connection) self.initial_buffer = output @@ -404,7 +456,9 @@

                  Netmiko connection creation section # WLC needs two different auto-dectect solutions if "cisco_wlc_85" in best_match[0]: best_match[0] = ("cisco_wlc", 99) - + # IOS XR needs two different auto-dectect solutions + if "cisco_xr_2" in best_match[0]: + best_match[0] = ("cisco_xr", 99) self.connection.disconnect() return best_match[0][0] @@ -434,7 +488,7 @@

                  Netmiko connection creation section """ self.connection.write_channel(cmd + "\n") time.sleep(1) - output = self.connection.read_channel_timing() + output = self.connection.read_channel_timing(last_read=6.0) output = self.connection.strip_backspaces(output) return output @@ -632,6 +686,10 @@

                  Methods

                  # Always set cmd_verify to False for autodetect kwargs["global_cmd_verify"] = False self.connection = ConnectHandler(*args, **kwargs) + + # Add additional sleep to let the login complete. + time.sleep(3) + # Call the _test_channel_read() in base to clear initial data output = BaseConnection._test_channel_read(self.connection) self.initial_buffer = output @@ -662,7 +720,9 @@

                  Methods

                  # WLC needs two different auto-dectect solutions if "cisco_wlc_85" in best_match[0]: best_match[0] = ("cisco_wlc", 99) - + # IOS XR needs two different auto-dectect solutions + if "cisco_xr_2" in best_match[0]: + best_match[0] = ("cisco_xr", 99) self.connection.disconnect() return best_match[0][0] @@ -692,7 +752,7 @@

                  Methods

                  """ self.connection.write_channel(cmd + "\n") time.sleep(1) - output = self.connection.read_channel_timing() + output = self.connection.read_channel_timing(last_read=6.0) output = self.connection.strip_backspaces(output) return output @@ -853,7 +913,9 @@

                  Returns

                  # WLC needs two different auto-dectect solutions if "cisco_wlc_85" in best_match[0]: best_match[0] = ("cisco_wlc", 99) - + # IOS XR needs two different auto-dectect solutions + if "cisco_xr_2" in best_match[0]: + best_match[0] = ("cisco_xr", 99) self.connection.disconnect() return best_match[0][0] diff --git a/docs/netmiko/supermicro/index.html b/docs/netmiko/supermicro/index.html index 32d424896..bab8d0077 100644 --- a/docs/netmiko/supermicro/index.html +++ b/docs/netmiko/supermicro/index.html @@ -49,7 +49,7 @@

                  Classes

                  class SmciSwitchSmisSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                  Class for platforms that have no enable mode.

                  @@ -97,6 +97,9 @@

                  Classes

                  :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -111,7 +114,7 @@

                  Classes

                  :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -119,6 +122,10 @@

                  Classes

                  :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -130,7 +137,9 @@

                  Classes

                  enter key (default:

                  )

                  -
                      :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                  +
                      :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                  +
                  +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                               to select smallest of global and specific. Sets default global_delay_factor to .1
                               (default: True)
                   
                  @@ -162,6 +171,9 @@ 

                  Classes

                  :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                  @@ -228,7 +240,7 @@

                  Inherited members

                  class SmciSwitchSmisTelnet -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                  Class for platforms that have no enable mode.

                  @@ -276,6 +288,9 @@

                  Inherited members

                  :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -290,7 +305,7 @@

                  Inherited members

                  :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -298,6 +313,10 @@

                  Inherited members

                  :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -309,7 +328,9 @@

                  Inherited members

                  enter key (default:

                  )

                  -
                      :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                  +
                      :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                  +
                  +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                               to select smallest of global and specific. Sets default global_delay_factor to .1
                               (default: True)
                   
                  @@ -341,6 +362,9 @@ 

                  Inherited members

                  :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                  diff --git a/docs/netmiko/supermicro/smci_smis.html b/docs/netmiko/supermicro/smci_smis.html index 8bcd9d5cd..d21ce98a9 100644 --- a/docs/netmiko/supermicro/smci_smis.html +++ b/docs/netmiko/supermicro/smci_smis.html @@ -79,7 +79,7 @@

                  Classes

                  class SmciSwitchSmisBase -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                  Class for platforms that have no enable mode.

                  @@ -127,6 +127,9 @@

                  Classes

                  :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -141,7 +144,7 @@

                  Classes

                  :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -149,6 +152,10 @@

                  Classes

                  :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -160,7 +167,9 @@

                  Classes

                  enter key (default:

                  )

                  -
                      :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                  +
                      :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                  +
                  +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                               to select smallest of global and specific. Sets default global_delay_factor to .1
                               (default: True)
                   
                  @@ -192,6 +201,9 @@ 

                  Classes

                  :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                  @@ -331,7 +343,7 @@

                  Inherited members

                  class SmciSwitchSmisSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                  Class for platforms that have no enable mode.

                  @@ -379,6 +391,9 @@

                  Inherited members

                  :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -393,7 +408,7 @@

                  Inherited members

                  :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -401,6 +416,10 @@

                  Inherited members

                  :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -412,7 +431,9 @@

                  Inherited members

                  enter key (default:

                  )

                  -
                      :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                  +
                      :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                  +
                  +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                               to select smallest of global and specific. Sets default global_delay_factor to .1
                               (default: True)
                   
                  @@ -444,6 +465,9 @@ 

                  Inherited members

                  :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                  @@ -510,7 +534,7 @@

                  Inherited members

                  class SmciSwitchSmisTelnet -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                  Class for platforms that have no enable mode.

                  @@ -558,6 +582,9 @@

                  Inherited members

                  :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -572,7 +599,7 @@

                  Inherited members

                  :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -580,6 +607,10 @@

                  Inherited members

                  :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -591,7 +622,9 @@

                  Inherited members

                  enter key (default:

                  )

                  -
                      :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                  +
                      :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                  +
                  +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                               to select smallest of global and specific. Sets default global_delay_factor to .1
                               (default: True)
                   
                  @@ -623,6 +656,9 @@ 

                  Inherited members

                  :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                  diff --git a/docs/netmiko/teldat/index.html b/docs/netmiko/teldat/index.html new file mode 100644 index 000000000..df8a7ce41 --- /dev/null +++ b/docs/netmiko/teldat/index.html @@ -0,0 +1,482 @@ + + + + + + +netmiko.teldat API documentation + + + + + + + + + + + +
                  +
                  +
                  +

                  Module netmiko.teldat

                  +
                  +
                  +
                  + +Expand source code + +
                  from netmiko.teldat.teldat_cit import TeldatCITSSH, TeldatCITTelnet
                  +
                  +__all__ = ["TeldatCITSSH", "TeldatCITTelnet"]
                  +
                  +
                  +
                  +

                  Sub-modules

                  +
                  +
                  netmiko.teldat.teldat_cit
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  +

                  Classes

                  +
                  +
                  +class TeldatCITSSH +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False) +
                  +
                  +

                  Class for platforms that have no enable mode.

                  +

                  Netmiko translates the meaning of "enable" mode to be a proxy for "can +go into config mode". In other words, that you ultimately have privileges +to execute configuration changes.

                  +

                  The expectation on platforms that have no method for elevating privileges +is that the standard default privileges allow configuration changes.

                  +

                  Consequently check_enable_mode returns True by default for platforms that +don't explicitly support enable mode.

                  +
                      Initialize attributes for establishing connection to target device.
                  +
                  +    :param ip: IP address of target device. Not required if <code>host</code> is
                  +        provided.
                  +
                  +    :param host: Hostname of target device. Not required if <code>ip</code> is
                  +            provided.
                  +
                  +    :param username: Username to authenticate against target device if
                  +            required.
                  +
                  +    :param password: Password to authenticate against target device if
                  +            required.
                  +
                  +    :param secret: The enable password if target device requires one.
                  +
                  +    :param port: The destination port used to connect to the target
                  +            device.
                  +
                  +    :param device_type: Class selection based on device type.
                  +
                  +    :param verbose: Enable additional messages to standard output.
                  +
                  +    :param global_delay_factor: Multiplication factor affecting Netmiko delays (default: 1).
                  +
                  +    :param use_keys: Connect to target device using SSH keys.
                  +
                  +    :param key_file: Filename path of the SSH key file to use.
                  +
                  +    :param pkey: SSH key object to use.
                  +
                  +    :param passphrase: Passphrase to use for encrypted key; password will be used for key
                  +            decryption if not specified.
                  +
                  +    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko
                  +            documentation for a description of the expected format.
                  +
                  +    :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs
                  +        <https://github.com/paramiko/paramiko/issues/1961> (default: False)
                  +
                  +    :param allow_agent: Enable use of SSH key-agent.
                  +
                  +    :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which
                  +            means unknown SSH host keys will be accepted).
                  +
                  +    :param system_host_keys: Load host keys from the users known_hosts file.
                  +
                  +    :param alt_host_keys: If <code>True</code> host keys will be loaded from the file specified in
                  +            alt_key_file.
                  +
                  +    :param alt_key_file: SSH host key file to use (if alt_host_keys=True).
                  +
                  +    :param ssh_config_file: File name of OpenSSH configuration file.
                  +
                  +    :param conn_timeout: TCP connection timeout.
                  +
                  +    :param session_timeout: Set a timeout for parallel requests.
                  +
                  +    :param auth_timeout: Set a timeout (in seconds) to wait for an authentication response.
                  +
                  +    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko).
                  +
                  +    :param read_timeout_override: Set a timeout that will override the default read_timeout
                  +            of both send_command and send_command_timing. This is useful for 3rd party
                  +            libraries where directly accessing method arguments might be impractical.
                  +
                  +    :param keepalive: Send SSH keepalive packets at a specific interval, in seconds.
                  +            Currently defaults to 0, for backwards compatibility (it will not attempt
                  +            to keep the connection alive).
                  +
                  +    :param default_enter: Character(s) to send to correspond to enter key (default:
                  +
                  +

                  ).

                  +
                      :param response_return: Character(s) to use in normalized return data to represent
                  +            enter key (default:
                  +
                  +

                  )

                  +
                      :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                  +
                  +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                  +            to select smallest of global and specific. Sets default global_delay_factor to .1
                  +            (default: True)
                  +
                  +    :param session_log: File path or BufferedIOBase subclass object to write the session log to.
                  +
                  +    :param session_log_record_writes: The session log generally only records channel reads due
                  +            to eliminate command duplication due to command echo. You can enable this if you
                  +            want to record both channel reads and channel writes in the log (default: False).
                  +
                  +    :param session_log_file_mode: "write" or "append" for session_log file mode
                  +            (default: "write")
                  +
                  +    :param allow_auto_change: Allow automatic configuration changes for terminal settings.
                  +            (default: False)
                  +
                  +    :param encoding: Encoding to be used when writing bytes to the output channel.
                  +            (default: ascii)
                  +
                  +    :param sock: An open socket or socket-like object (such as a <code>.Channel</code>) to use for
                  +            communication to the target host (default: None).
                  +
                  +    :param global_cmd_verify: Control whether command echo verification is enabled or disabled
                  +            (default: None). Global attribute takes precedence over function <code>cmd\_verify</code>
                  +            argument. Value of <code>None</code> indicates to use function <code>cmd\_verify</code> argument.
                  +
                  +    :param auto_connect: Control whether Netmiko automatically establishes the connection as
                  +            part of the object creation (default: True).
                  +
                  +    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko
                  +            3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be
                  +            eliminated in Netmiko 5.x (default: False).
                  +
                  +    :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior
                  +            (default: False)
                  +
                  +
                  + +Expand source code + +
                  class TeldatCITSSH(TeldatCITBase):
                  +    pass
                  +
                  +

                  Ancestors

                  + +

                  Inherited members

                  + +
                  +
                  +class TeldatCITTelnet +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False) +
                  +
                  +

                  Class for platforms that have no enable mode.

                  +

                  Netmiko translates the meaning of "enable" mode to be a proxy for "can +go into config mode". In other words, that you ultimately have privileges +to execute configuration changes.

                  +

                  The expectation on platforms that have no method for elevating privileges +is that the standard default privileges allow configuration changes.

                  +

                  Consequently check_enable_mode returns True by default for platforms that +don't explicitly support enable mode.

                  +
                      Initialize attributes for establishing connection to target device.
                  +
                  +    :param ip: IP address of target device. Not required if <code>host</code> is
                  +        provided.
                  +
                  +    :param host: Hostname of target device. Not required if <code>ip</code> is
                  +            provided.
                  +
                  +    :param username: Username to authenticate against target device if
                  +            required.
                  +
                  +    :param password: Password to authenticate against target device if
                  +            required.
                  +
                  +    :param secret: The enable password if target device requires one.
                  +
                  +    :param port: The destination port used to connect to the target
                  +            device.
                  +
                  +    :param device_type: Class selection based on device type.
                  +
                  +    :param verbose: Enable additional messages to standard output.
                  +
                  +    :param global_delay_factor: Multiplication factor affecting Netmiko delays (default: 1).
                  +
                  +    :param use_keys: Connect to target device using SSH keys.
                  +
                  +    :param key_file: Filename path of the SSH key file to use.
                  +
                  +    :param pkey: SSH key object to use.
                  +
                  +    :param passphrase: Passphrase to use for encrypted key; password will be used for key
                  +            decryption if not specified.
                  +
                  +    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko
                  +            documentation for a description of the expected format.
                  +
                  +    :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs
                  +        <https://github.com/paramiko/paramiko/issues/1961> (default: False)
                  +
                  +    :param allow_agent: Enable use of SSH key-agent.
                  +
                  +    :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which
                  +            means unknown SSH host keys will be accepted).
                  +
                  +    :param system_host_keys: Load host keys from the users known_hosts file.
                  +
                  +    :param alt_host_keys: If <code>True</code> host keys will be loaded from the file specified in
                  +            alt_key_file.
                  +
                  +    :param alt_key_file: SSH host key file to use (if alt_host_keys=True).
                  +
                  +    :param ssh_config_file: File name of OpenSSH configuration file.
                  +
                  +    :param conn_timeout: TCP connection timeout.
                  +
                  +    :param session_timeout: Set a timeout for parallel requests.
                  +
                  +    :param auth_timeout: Set a timeout (in seconds) to wait for an authentication response.
                  +
                  +    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko).
                  +
                  +    :param read_timeout_override: Set a timeout that will override the default read_timeout
                  +            of both send_command and send_command_timing. This is useful for 3rd party
                  +            libraries where directly accessing method arguments might be impractical.
                  +
                  +    :param keepalive: Send SSH keepalive packets at a specific interval, in seconds.
                  +            Currently defaults to 0, for backwards compatibility (it will not attempt
                  +            to keep the connection alive).
                  +
                  +    :param default_enter: Character(s) to send to correspond to enter key (default:
                  +
                  +

                  ).

                  +
                      :param response_return: Character(s) to use in normalized return data to represent
                  +            enter key (default:
                  +
                  +

                  )

                  +
                      :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                  +
                  +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                  +            to select smallest of global and specific. Sets default global_delay_factor to .1
                  +            (default: True)
                  +
                  +    :param session_log: File path or BufferedIOBase subclass object to write the session log to.
                  +
                  +    :param session_log_record_writes: The session log generally only records channel reads due
                  +            to eliminate command duplication due to command echo. You can enable this if you
                  +            want to record both channel reads and channel writes in the log (default: False).
                  +
                  +    :param session_log_file_mode: "write" or "append" for session_log file mode
                  +            (default: "write")
                  +
                  +    :param allow_auto_change: Allow automatic configuration changes for terminal settings.
                  +            (default: False)
                  +
                  +    :param encoding: Encoding to be used when writing bytes to the output channel.
                  +            (default: ascii)
                  +
                  +    :param sock: An open socket or socket-like object (such as a <code>.Channel</code>) to use for
                  +            communication to the target host (default: None).
                  +
                  +    :param global_cmd_verify: Control whether command echo verification is enabled or disabled
                  +            (default: None). Global attribute takes precedence over function <code>cmd\_verify</code>
                  +            argument. Value of <code>None</code> indicates to use function <code>cmd\_verify</code> argument.
                  +
                  +    :param auto_connect: Control whether Netmiko automatically establishes the connection as
                  +            part of the object creation (default: True).
                  +
                  +    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko
                  +            3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be
                  +            eliminated in Netmiko 5.x (default: False).
                  +
                  +    :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior
                  +            (default: False)
                  +
                  +
                  + +Expand source code + +
                  class TeldatCITTelnet(TeldatCITBase):
                  +    def telnet_login(
                  +        self,
                  +        pri_prompt_terminator: str = r"\*",
                  +        alt_prompt_terminator: str = r"\*",
                  +        username_pattern: str = "Username:",
                  +        pwd_pattern: str = "Password:",
                  +        delay_factor: float = 1.0,
                  +        max_loops: int = 60,
                  +    ) -> str:
                  +        return super().telnet_login(
                  +            pri_prompt_terminator=pri_prompt_terminator,
                  +            alt_prompt_terminator=alt_prompt_terminator,
                  +            username_pattern=username_pattern,
                  +            pwd_pattern=pwd_pattern,
                  +            delay_factor=delay_factor,
                  +            max_loops=max_loops,
                  +        )
                  +
                  +

                  Ancestors

                  + +

                  Inherited members

                  + +
                  +
                  +
                  +
                  + +
                  + + + \ No newline at end of file diff --git a/docs/netmiko/teldat/teldat_cit.html b/docs/netmiko/teldat/teldat_cit.html new file mode 100644 index 000000000..eccb3bdf7 --- /dev/null +++ b/docs/netmiko/teldat/teldat_cit.html @@ -0,0 +1,1115 @@ + + + + + + +netmiko.teldat.teldat_cit API documentation + + + + + + + + + + + +
                  +
                  +
                  +

                  Module netmiko.teldat.teldat_cit

                  +
                  +
                  +
                  + +Expand source code + +
                  from typing import Optional, Any, Union, Sequence, Iterator, TextIO
                  +from netmiko.base_connection import BaseConnection
                  +from netmiko.no_enable import NoEnable
                  +import time
                  +import re
                  +from netmiko import log
                  +
                  +
                  +class TeldatCITBase(NoEnable, BaseConnection):
                  +    def session_preparation(self) -> None:
                  +        # Prompt is "*"
                  +        self._test_channel_read(pattern=r"\*")
                  +        self.set_base_prompt()
                  +        # Clear the read buffer
                  +        time.sleep(0.3 * self.global_delay_factor)
                  +        self.clear_buffer()
                  +
                  +    def disable_paging(
                  +        self,
                  +        command: str = "",
                  +        delay_factor: Optional[float] = None,
                  +        cmd_verify: bool = True,
                  +        pattern: Optional[str] = None,
                  +    ) -> str:
                  +        """Teldat doesn't have pagging"""
                  +        return ""
                  +
                  +    def set_base_prompt(
                  +        self,
                  +        pri_prompt_terminator: str = "*",
                  +        alt_prompt_terminator: str = "*",
                  +        delay_factor: float = 1.0,
                  +        pattern: Optional[str] = None,
                  +    ) -> str:
                  +        """
                  +        Teldat base prompt is "hostname *"
                  +        """
                  +        return super().set_base_prompt(
                  +            pri_prompt_terminator=pri_prompt_terminator,
                  +            alt_prompt_terminator=alt_prompt_terminator,
                  +            delay_factor=delay_factor,
                  +            pattern=pattern,
                  +        )
                  +
                  +    def cleanup(self, command: str = "logout") -> None:
                  +        """Gracefully exit the SSH session."""
                  +        self._base_mode()
                  +
                  +        if self.session_log:
                  +            self.session_log.fin = True
                  +
                  +        # Always try to send final 'logout'
                  +        self.write_channel(command + self.RETURN)
                  +        output = ""
                  +        for _ in range(30):
                  +            time.sleep(0.1)
                  +            output += self.read_channel()
                  +            if "Do you wish to end" in output:
                  +                self.write_channel("yes" + self.RETURN)
                  +                break
                  +
                  +    def _check_monitor_mode(self, check_string: str = "+", pattern: str = "") -> bool:
                  +        return super().check_config_mode(check_string=check_string, pattern=pattern)
                  +
                  +    def check_config_mode(
                  +        self, check_string: str = ">", pattern: str = "", force_regex: bool = False
                  +    ) -> bool:
                  +        return super().check_config_mode(
                  +            check_string=check_string, pattern=pattern, force_regex=force_regex
                  +        )
                  +
                  +    def _check_running_config_mode(
                  +        self, check_string: str = "$", pattern: str = ""
                  +    ) -> bool:
                  +        return super().check_config_mode(check_string=check_string, pattern=pattern)
                  +
                  +    def _monitor_mode(
                  +        self, monitor_command: str = "p 3", pattern: str = r"\+", re_flags: int = 0
                  +    ) -> str:
                  +        """
                  +        Enter into monitor_mode.
                  +        On Teldat devices always go to base mode before entering other modes
                  +        Cannot reuse super.config_mode() because config mode check is called only with
                  +        defaults in BaseConnection
                  +        """
                  +        self._base_mode()  # Teldat does not allow mode switching, go to base mode first
                  +
                  +        output = ""
                  +        self.write_channel(self.normalize_cmd(monitor_command))
                  +        # Make sure you read until you detect the command echo (avoid getting out of sync)
                  +        if self.global_cmd_verify is not False:
                  +            output += self.read_until_pattern(
                  +                pattern=re.escape(monitor_command.strip())
                  +            )
                  +        if not re.search(pattern, output, flags=re_flags):
                  +            output += self.read_until_pattern(pattern=pattern, re_flags=re_flags)
                  +        if not self._check_monitor_mode():
                  +            raise ValueError("Failed to enter monitor mode.")
                  +        return output
                  +
                  +    def config_mode(
                  +        self, config_command: str = "p 4", pattern: str = "onfig>", re_flags: int = 0
                  +    ) -> str:
                  +        self._base_mode()
                  +        return super().config_mode(
                  +            config_command=config_command, pattern=pattern, re_flags=re_flags
                  +        )
                  +
                  +    def _running_config_mode(
                  +        self, config_command: str = "p 5", pattern: str = r"onfig\$", re_flags: int = 0
                  +    ) -> str:
                  +        """Enter running config mode."""
                  +        self._base_mode()
                  +
                  +        output = ""
                  +        self.write_channel(self.normalize_cmd(config_command))
                  +        # Make sure you read until you detect the command echo (avoid getting out of sync)
                  +        if self.global_cmd_verify is not False:
                  +            output += self.read_until_pattern(pattern=re.escape(config_command.strip()))
                  +        if not re.search(pattern, output, flags=re_flags):
                  +            output += self.read_until_pattern(pattern=pattern, re_flags=re_flags)
                  +        if not self._check_running_config_mode():
                  +            raise ValueError("Failed to enter running config mode.")
                  +        return output
                  +
                  +    def send_config_set(
                  +        self,
                  +        config_commands: Union[str, Sequence[str], Iterator[str], TextIO, None] = None,
                  +        *,
                  +        exit_config_mode: bool = False,
                  +        **kwargs: Any,
                  +    ) -> str:
                  +        """
                  +        For Teldat devices always enter config mode
                  +        """
                  +        return super().send_config_set(
                  +            config_commands=config_commands,
                  +            exit_config_mode=exit_config_mode,
                  +            **kwargs,
                  +        )
                  +
                  +    def save_config(
                  +        self, cmd: str = "save yes", confirm: bool = False, confirm_response: str = ""
                  +    ) -> str:
                  +        if not self.check_config_mode() or not self._check_running_config_mode():
                  +            raise ValueError("Cannot save if not in config or running config mode")
                  +        # Some devices are slow so match on trailing-prompt if you can
                  +        output = self._send_command_str(
                  +            command_string=cmd, strip_prompt=False, strip_command=False
                  +        )
                  +        return output
                  +
                  +    def exit_config_mode(self, exit_config: str = "", pattern: str = "") -> str:
                  +        return self._base_mode()
                  +
                  +    def _base_mode(self, exit_cmd: str = "\x10", pattern: str = r"\*") -> str:
                  +        """
                  +        Exit from other modes (monitor, config, running config).
                  +        Send CTRL+P to the device
                  +        """
                  +        output = ""
                  +        self.write_channel(self.normalize_cmd(exit_cmd))
                  +        # Teldat - exit_cmd not printable
                  +        output += self.read_until_pattern(pattern=pattern)
                  +        log.debug(f"_base_mode: {output}")
                  +        return output
                  +
                  +
                  +class TeldatCITSSH(TeldatCITBase):
                  +    pass
                  +
                  +
                  +class TeldatCITTelnet(TeldatCITBase):
                  +    def telnet_login(
                  +        self,
                  +        pri_prompt_terminator: str = r"\*",
                  +        alt_prompt_terminator: str = r"\*",
                  +        username_pattern: str = "Username:",
                  +        pwd_pattern: str = "Password:",
                  +        delay_factor: float = 1.0,
                  +        max_loops: int = 60,
                  +    ) -> str:
                  +        return super().telnet_login(
                  +            pri_prompt_terminator=pri_prompt_terminator,
                  +            alt_prompt_terminator=alt_prompt_terminator,
                  +            username_pattern=username_pattern,
                  +            pwd_pattern=pwd_pattern,
                  +            delay_factor=delay_factor,
                  +            max_loops=max_loops,
                  +        )
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  +

                  Classes

                  +
                  +
                  +class TeldatCITBase +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False) +
                  +
                  +

                  Class for platforms that have no enable mode.

                  +

                  Netmiko translates the meaning of "enable" mode to be a proxy for "can +go into config mode". In other words, that you ultimately have privileges +to execute configuration changes.

                  +

                  The expectation on platforms that have no method for elevating privileges +is that the standard default privileges allow configuration changes.

                  +

                  Consequently check_enable_mode returns True by default for platforms that +don't explicitly support enable mode.

                  +
                      Initialize attributes for establishing connection to target device.
                  +
                  +    :param ip: IP address of target device. Not required if <code>host</code> is
                  +        provided.
                  +
                  +    :param host: Hostname of target device. Not required if <code>ip</code> is
                  +            provided.
                  +
                  +    :param username: Username to authenticate against target device if
                  +            required.
                  +
                  +    :param password: Password to authenticate against target device if
                  +            required.
                  +
                  +    :param secret: The enable password if target device requires one.
                  +
                  +    :param port: The destination port used to connect to the target
                  +            device.
                  +
                  +    :param device_type: Class selection based on device type.
                  +
                  +    :param verbose: Enable additional messages to standard output.
                  +
                  +    :param global_delay_factor: Multiplication factor affecting Netmiko delays (default: 1).
                  +
                  +    :param use_keys: Connect to target device using SSH keys.
                  +
                  +    :param key_file: Filename path of the SSH key file to use.
                  +
                  +    :param pkey: SSH key object to use.
                  +
                  +    :param passphrase: Passphrase to use for encrypted key; password will be used for key
                  +            decryption if not specified.
                  +
                  +    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko
                  +            documentation for a description of the expected format.
                  +
                  +    :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs
                  +        <https://github.com/paramiko/paramiko/issues/1961> (default: False)
                  +
                  +    :param allow_agent: Enable use of SSH key-agent.
                  +
                  +    :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which
                  +            means unknown SSH host keys will be accepted).
                  +
                  +    :param system_host_keys: Load host keys from the users known_hosts file.
                  +
                  +    :param alt_host_keys: If <code>True</code> host keys will be loaded from the file specified in
                  +            alt_key_file.
                  +
                  +    :param alt_key_file: SSH host key file to use (if alt_host_keys=True).
                  +
                  +    :param ssh_config_file: File name of OpenSSH configuration file.
                  +
                  +    :param conn_timeout: TCP connection timeout.
                  +
                  +    :param session_timeout: Set a timeout for parallel requests.
                  +
                  +    :param auth_timeout: Set a timeout (in seconds) to wait for an authentication response.
                  +
                  +    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko).
                  +
                  +    :param read_timeout_override: Set a timeout that will override the default read_timeout
                  +            of both send_command and send_command_timing. This is useful for 3rd party
                  +            libraries where directly accessing method arguments might be impractical.
                  +
                  +    :param keepalive: Send SSH keepalive packets at a specific interval, in seconds.
                  +            Currently defaults to 0, for backwards compatibility (it will not attempt
                  +            to keep the connection alive).
                  +
                  +    :param default_enter: Character(s) to send to correspond to enter key (default:
                  +
                  +

                  ).

                  +
                      :param response_return: Character(s) to use in normalized return data to represent
                  +            enter key (default:
                  +
                  +

                  )

                  +
                      :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                  +
                  +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                  +            to select smallest of global and specific. Sets default global_delay_factor to .1
                  +            (default: True)
                  +
                  +    :param session_log: File path or BufferedIOBase subclass object to write the session log to.
                  +
                  +    :param session_log_record_writes: The session log generally only records channel reads due
                  +            to eliminate command duplication due to command echo. You can enable this if you
                  +            want to record both channel reads and channel writes in the log (default: False).
                  +
                  +    :param session_log_file_mode: "write" or "append" for session_log file mode
                  +            (default: "write")
                  +
                  +    :param allow_auto_change: Allow automatic configuration changes for terminal settings.
                  +            (default: False)
                  +
                  +    :param encoding: Encoding to be used when writing bytes to the output channel.
                  +            (default: ascii)
                  +
                  +    :param sock: An open socket or socket-like object (such as a <code>.Channel</code>) to use for
                  +            communication to the target host (default: None).
                  +
                  +    :param global_cmd_verify: Control whether command echo verification is enabled or disabled
                  +            (default: None). Global attribute takes precedence over function <code>cmd\_verify</code>
                  +            argument. Value of <code>None</code> indicates to use function <code>cmd\_verify</code> argument.
                  +
                  +    :param auto_connect: Control whether Netmiko automatically establishes the connection as
                  +            part of the object creation (default: True).
                  +
                  +    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko
                  +            3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be
                  +            eliminated in Netmiko 5.x (default: False).
                  +
                  +    :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior
                  +            (default: False)
                  +
                  +
                  + +Expand source code + +
                  class TeldatCITBase(NoEnable, BaseConnection):
                  +    def session_preparation(self) -> None:
                  +        # Prompt is "*"
                  +        self._test_channel_read(pattern=r"\*")
                  +        self.set_base_prompt()
                  +        # Clear the read buffer
                  +        time.sleep(0.3 * self.global_delay_factor)
                  +        self.clear_buffer()
                  +
                  +    def disable_paging(
                  +        self,
                  +        command: str = "",
                  +        delay_factor: Optional[float] = None,
                  +        cmd_verify: bool = True,
                  +        pattern: Optional[str] = None,
                  +    ) -> str:
                  +        """Teldat doesn't have pagging"""
                  +        return ""
                  +
                  +    def set_base_prompt(
                  +        self,
                  +        pri_prompt_terminator: str = "*",
                  +        alt_prompt_terminator: str = "*",
                  +        delay_factor: float = 1.0,
                  +        pattern: Optional[str] = None,
                  +    ) -> str:
                  +        """
                  +        Teldat base prompt is "hostname *"
                  +        """
                  +        return super().set_base_prompt(
                  +            pri_prompt_terminator=pri_prompt_terminator,
                  +            alt_prompt_terminator=alt_prompt_terminator,
                  +            delay_factor=delay_factor,
                  +            pattern=pattern,
                  +        )
                  +
                  +    def cleanup(self, command: str = "logout") -> None:
                  +        """Gracefully exit the SSH session."""
                  +        self._base_mode()
                  +
                  +        if self.session_log:
                  +            self.session_log.fin = True
                  +
                  +        # Always try to send final 'logout'
                  +        self.write_channel(command + self.RETURN)
                  +        output = ""
                  +        for _ in range(30):
                  +            time.sleep(0.1)
                  +            output += self.read_channel()
                  +            if "Do you wish to end" in output:
                  +                self.write_channel("yes" + self.RETURN)
                  +                break
                  +
                  +    def _check_monitor_mode(self, check_string: str = "+", pattern: str = "") -> bool:
                  +        return super().check_config_mode(check_string=check_string, pattern=pattern)
                  +
                  +    def check_config_mode(
                  +        self, check_string: str = ">", pattern: str = "", force_regex: bool = False
                  +    ) -> bool:
                  +        return super().check_config_mode(
                  +            check_string=check_string, pattern=pattern, force_regex=force_regex
                  +        )
                  +
                  +    def _check_running_config_mode(
                  +        self, check_string: str = "$", pattern: str = ""
                  +    ) -> bool:
                  +        return super().check_config_mode(check_string=check_string, pattern=pattern)
                  +
                  +    def _monitor_mode(
                  +        self, monitor_command: str = "p 3", pattern: str = r"\+", re_flags: int = 0
                  +    ) -> str:
                  +        """
                  +        Enter into monitor_mode.
                  +        On Teldat devices always go to base mode before entering other modes
                  +        Cannot reuse super.config_mode() because config mode check is called only with
                  +        defaults in BaseConnection
                  +        """
                  +        self._base_mode()  # Teldat does not allow mode switching, go to base mode first
                  +
                  +        output = ""
                  +        self.write_channel(self.normalize_cmd(monitor_command))
                  +        # Make sure you read until you detect the command echo (avoid getting out of sync)
                  +        if self.global_cmd_verify is not False:
                  +            output += self.read_until_pattern(
                  +                pattern=re.escape(monitor_command.strip())
                  +            )
                  +        if not re.search(pattern, output, flags=re_flags):
                  +            output += self.read_until_pattern(pattern=pattern, re_flags=re_flags)
                  +        if not self._check_monitor_mode():
                  +            raise ValueError("Failed to enter monitor mode.")
                  +        return output
                  +
                  +    def config_mode(
                  +        self, config_command: str = "p 4", pattern: str = "onfig>", re_flags: int = 0
                  +    ) -> str:
                  +        self._base_mode()
                  +        return super().config_mode(
                  +            config_command=config_command, pattern=pattern, re_flags=re_flags
                  +        )
                  +
                  +    def _running_config_mode(
                  +        self, config_command: str = "p 5", pattern: str = r"onfig\$", re_flags: int = 0
                  +    ) -> str:
                  +        """Enter running config mode."""
                  +        self._base_mode()
                  +
                  +        output = ""
                  +        self.write_channel(self.normalize_cmd(config_command))
                  +        # Make sure you read until you detect the command echo (avoid getting out of sync)
                  +        if self.global_cmd_verify is not False:
                  +            output += self.read_until_pattern(pattern=re.escape(config_command.strip()))
                  +        if not re.search(pattern, output, flags=re_flags):
                  +            output += self.read_until_pattern(pattern=pattern, re_flags=re_flags)
                  +        if not self._check_running_config_mode():
                  +            raise ValueError("Failed to enter running config mode.")
                  +        return output
                  +
                  +    def send_config_set(
                  +        self,
                  +        config_commands: Union[str, Sequence[str], Iterator[str], TextIO, None] = None,
                  +        *,
                  +        exit_config_mode: bool = False,
                  +        **kwargs: Any,
                  +    ) -> str:
                  +        """
                  +        For Teldat devices always enter config mode
                  +        """
                  +        return super().send_config_set(
                  +            config_commands=config_commands,
                  +            exit_config_mode=exit_config_mode,
                  +            **kwargs,
                  +        )
                  +
                  +    def save_config(
                  +        self, cmd: str = "save yes", confirm: bool = False, confirm_response: str = ""
                  +    ) -> str:
                  +        if not self.check_config_mode() or not self._check_running_config_mode():
                  +            raise ValueError("Cannot save if not in config or running config mode")
                  +        # Some devices are slow so match on trailing-prompt if you can
                  +        output = self._send_command_str(
                  +            command_string=cmd, strip_prompt=False, strip_command=False
                  +        )
                  +        return output
                  +
                  +    def exit_config_mode(self, exit_config: str = "", pattern: str = "") -> str:
                  +        return self._base_mode()
                  +
                  +    def _base_mode(self, exit_cmd: str = "\x10", pattern: str = r"\*") -> str:
                  +        """
                  +        Exit from other modes (monitor, config, running config).
                  +        Send CTRL+P to the device
                  +        """
                  +        output = ""
                  +        self.write_channel(self.normalize_cmd(exit_cmd))
                  +        # Teldat - exit_cmd not printable
                  +        output += self.read_until_pattern(pattern=pattern)
                  +        log.debug(f"_base_mode: {output}")
                  +        return output
                  +
                  +

                  Ancestors

                  + +

                  Subclasses

                  + +

                  Methods

                  +
                  +
                  +def cleanup(self, command: str = 'logout') ‑> None +
                  +
                  +

                  Gracefully exit the SSH session.

                  +
                  + +Expand source code + +
                  def cleanup(self, command: str = "logout") -> None:
                  +    """Gracefully exit the SSH session."""
                  +    self._base_mode()
                  +
                  +    if self.session_log:
                  +        self.session_log.fin = True
                  +
                  +    # Always try to send final 'logout'
                  +    self.write_channel(command + self.RETURN)
                  +    output = ""
                  +    for _ in range(30):
                  +        time.sleep(0.1)
                  +        output += self.read_channel()
                  +        if "Do you wish to end" in output:
                  +            self.write_channel("yes" + self.RETURN)
                  +            break
                  +
                  +
                  +
                  +def disable_paging(self, command: str = '', delay_factor: Optional[float] = None, cmd_verify: bool = True, pattern: Optional[str] = None) ‑> str +
                  +
                  +

                  Teldat doesn't have pagging

                  +
                  + +Expand source code + +
                  def disable_paging(
                  +    self,
                  +    command: str = "",
                  +    delay_factor: Optional[float] = None,
                  +    cmd_verify: bool = True,
                  +    pattern: Optional[str] = None,
                  +) -> str:
                  +    """Teldat doesn't have pagging"""
                  +    return ""
                  +
                  +
                  +
                  +def send_config_set(self, config_commands: Union[str, Sequence[str], Iterator[str], TextIO, ForwardRef(None)] = None, *, exit_config_mode: bool = False, **kwargs: Any) ‑> str +
                  +
                  +

                  For Teldat devices always enter config mode

                  +
                  + +Expand source code + +
                  def send_config_set(
                  +    self,
                  +    config_commands: Union[str, Sequence[str], Iterator[str], TextIO, None] = None,
                  +    *,
                  +    exit_config_mode: bool = False,
                  +    **kwargs: Any,
                  +) -> str:
                  +    """
                  +    For Teldat devices always enter config mode
                  +    """
                  +    return super().send_config_set(
                  +        config_commands=config_commands,
                  +        exit_config_mode=exit_config_mode,
                  +        **kwargs,
                  +    )
                  +
                  +
                  +
                  +def set_base_prompt(self, pri_prompt_terminator: str = '*', alt_prompt_terminator: str = '*', delay_factor: float = 1.0, pattern: Optional[str] = None) ‑> str +
                  +
                  +

                  Teldat base prompt is "hostname *"

                  +
                  + +Expand source code + +
                  def set_base_prompt(
                  +    self,
                  +    pri_prompt_terminator: str = "*",
                  +    alt_prompt_terminator: str = "*",
                  +    delay_factor: float = 1.0,
                  +    pattern: Optional[str] = None,
                  +) -> str:
                  +    """
                  +    Teldat base prompt is "hostname *"
                  +    """
                  +    return super().set_base_prompt(
                  +        pri_prompt_terminator=pri_prompt_terminator,
                  +        alt_prompt_terminator=alt_prompt_terminator,
                  +        delay_factor=delay_factor,
                  +        pattern=pattern,
                  +    )
                  +
                  +
                  +
                  +

                  Inherited members

                  + +
                  +
                  +class TeldatCITSSH +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False) +
                  +
                  +

                  Class for platforms that have no enable mode.

                  +

                  Netmiko translates the meaning of "enable" mode to be a proxy for "can +go into config mode". In other words, that you ultimately have privileges +to execute configuration changes.

                  +

                  The expectation on platforms that have no method for elevating privileges +is that the standard default privileges allow configuration changes.

                  +

                  Consequently check_enable_mode returns True by default for platforms that +don't explicitly support enable mode.

                  +
                      Initialize attributes for establishing connection to target device.
                  +
                  +    :param ip: IP address of target device. Not required if <code>host</code> is
                  +        provided.
                  +
                  +    :param host: Hostname of target device. Not required if <code>ip</code> is
                  +            provided.
                  +
                  +    :param username: Username to authenticate against target device if
                  +            required.
                  +
                  +    :param password: Password to authenticate against target device if
                  +            required.
                  +
                  +    :param secret: The enable password if target device requires one.
                  +
                  +    :param port: The destination port used to connect to the target
                  +            device.
                  +
                  +    :param device_type: Class selection based on device type.
                  +
                  +    :param verbose: Enable additional messages to standard output.
                  +
                  +    :param global_delay_factor: Multiplication factor affecting Netmiko delays (default: 1).
                  +
                  +    :param use_keys: Connect to target device using SSH keys.
                  +
                  +    :param key_file: Filename path of the SSH key file to use.
                  +
                  +    :param pkey: SSH key object to use.
                  +
                  +    :param passphrase: Passphrase to use for encrypted key; password will be used for key
                  +            decryption if not specified.
                  +
                  +    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko
                  +            documentation for a description of the expected format.
                  +
                  +    :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs
                  +        <https://github.com/paramiko/paramiko/issues/1961> (default: False)
                  +
                  +    :param allow_agent: Enable use of SSH key-agent.
                  +
                  +    :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which
                  +            means unknown SSH host keys will be accepted).
                  +
                  +    :param system_host_keys: Load host keys from the users known_hosts file.
                  +
                  +    :param alt_host_keys: If <code>True</code> host keys will be loaded from the file specified in
                  +            alt_key_file.
                  +
                  +    :param alt_key_file: SSH host key file to use (if alt_host_keys=True).
                  +
                  +    :param ssh_config_file: File name of OpenSSH configuration file.
                  +
                  +    :param conn_timeout: TCP connection timeout.
                  +
                  +    :param session_timeout: Set a timeout for parallel requests.
                  +
                  +    :param auth_timeout: Set a timeout (in seconds) to wait for an authentication response.
                  +
                  +    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko).
                  +
                  +    :param read_timeout_override: Set a timeout that will override the default read_timeout
                  +            of both send_command and send_command_timing. This is useful for 3rd party
                  +            libraries where directly accessing method arguments might be impractical.
                  +
                  +    :param keepalive: Send SSH keepalive packets at a specific interval, in seconds.
                  +            Currently defaults to 0, for backwards compatibility (it will not attempt
                  +            to keep the connection alive).
                  +
                  +    :param default_enter: Character(s) to send to correspond to enter key (default:
                  +
                  +

                  ).

                  +
                      :param response_return: Character(s) to use in normalized return data to represent
                  +            enter key (default:
                  +
                  +

                  )

                  +
                      :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                  +
                  +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                  +            to select smallest of global and specific. Sets default global_delay_factor to .1
                  +            (default: True)
                  +
                  +    :param session_log: File path or BufferedIOBase subclass object to write the session log to.
                  +
                  +    :param session_log_record_writes: The session log generally only records channel reads due
                  +            to eliminate command duplication due to command echo. You can enable this if you
                  +            want to record both channel reads and channel writes in the log (default: False).
                  +
                  +    :param session_log_file_mode: "write" or "append" for session_log file mode
                  +            (default: "write")
                  +
                  +    :param allow_auto_change: Allow automatic configuration changes for terminal settings.
                  +            (default: False)
                  +
                  +    :param encoding: Encoding to be used when writing bytes to the output channel.
                  +            (default: ascii)
                  +
                  +    :param sock: An open socket or socket-like object (such as a <code>.Channel</code>) to use for
                  +            communication to the target host (default: None).
                  +
                  +    :param global_cmd_verify: Control whether command echo verification is enabled or disabled
                  +            (default: None). Global attribute takes precedence over function <code>cmd\_verify</code>
                  +            argument. Value of <code>None</code> indicates to use function <code>cmd\_verify</code> argument.
                  +
                  +    :param auto_connect: Control whether Netmiko automatically establishes the connection as
                  +            part of the object creation (default: True).
                  +
                  +    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko
                  +            3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be
                  +            eliminated in Netmiko 5.x (default: False).
                  +
                  +    :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior
                  +            (default: False)
                  +
                  +
                  + +Expand source code + +
                  class TeldatCITSSH(TeldatCITBase):
                  +    pass
                  +
                  +

                  Ancestors

                  + +

                  Inherited members

                  + +
                  +
                  +class TeldatCITTelnet +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False) +
                  +
                  +

                  Class for platforms that have no enable mode.

                  +

                  Netmiko translates the meaning of "enable" mode to be a proxy for "can +go into config mode". In other words, that you ultimately have privileges +to execute configuration changes.

                  +

                  The expectation on platforms that have no method for elevating privileges +is that the standard default privileges allow configuration changes.

                  +

                  Consequently check_enable_mode returns True by default for platforms that +don't explicitly support enable mode.

                  +
                      Initialize attributes for establishing connection to target device.
                  +
                  +    :param ip: IP address of target device. Not required if <code>host</code> is
                  +        provided.
                  +
                  +    :param host: Hostname of target device. Not required if <code>ip</code> is
                  +            provided.
                  +
                  +    :param username: Username to authenticate against target device if
                  +            required.
                  +
                  +    :param password: Password to authenticate against target device if
                  +            required.
                  +
                  +    :param secret: The enable password if target device requires one.
                  +
                  +    :param port: The destination port used to connect to the target
                  +            device.
                  +
                  +    :param device_type: Class selection based on device type.
                  +
                  +    :param verbose: Enable additional messages to standard output.
                  +
                  +    :param global_delay_factor: Multiplication factor affecting Netmiko delays (default: 1).
                  +
                  +    :param use_keys: Connect to target device using SSH keys.
                  +
                  +    :param key_file: Filename path of the SSH key file to use.
                  +
                  +    :param pkey: SSH key object to use.
                  +
                  +    :param passphrase: Passphrase to use for encrypted key; password will be used for key
                  +            decryption if not specified.
                  +
                  +    :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko
                  +            documentation for a description of the expected format.
                  +
                  +    :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs
                  +        <https://github.com/paramiko/paramiko/issues/1961> (default: False)
                  +
                  +    :param allow_agent: Enable use of SSH key-agent.
                  +
                  +    :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which
                  +            means unknown SSH host keys will be accepted).
                  +
                  +    :param system_host_keys: Load host keys from the users known_hosts file.
                  +
                  +    :param alt_host_keys: If <code>True</code> host keys will be loaded from the file specified in
                  +            alt_key_file.
                  +
                  +    :param alt_key_file: SSH host key file to use (if alt_host_keys=True).
                  +
                  +    :param ssh_config_file: File name of OpenSSH configuration file.
                  +
                  +    :param conn_timeout: TCP connection timeout.
                  +
                  +    :param session_timeout: Set a timeout for parallel requests.
                  +
                  +    :param auth_timeout: Set a timeout (in seconds) to wait for an authentication response.
                  +
                  +    :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko).
                  +
                  +    :param read_timeout_override: Set a timeout that will override the default read_timeout
                  +            of both send_command and send_command_timing. This is useful for 3rd party
                  +            libraries where directly accessing method arguments might be impractical.
                  +
                  +    :param keepalive: Send SSH keepalive packets at a specific interval, in seconds.
                  +            Currently defaults to 0, for backwards compatibility (it will not attempt
                  +            to keep the connection alive).
                  +
                  +    :param default_enter: Character(s) to send to correspond to enter key (default:
                  +
                  +

                  ).

                  +
                      :param response_return: Character(s) to use in normalized return data to represent
                  +            enter key (default:
                  +
                  +

                  )

                  +
                      :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                  +
                  +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                  +            to select smallest of global and specific. Sets default global_delay_factor to .1
                  +            (default: True)
                  +
                  +    :param session_log: File path or BufferedIOBase subclass object to write the session log to.
                  +
                  +    :param session_log_record_writes: The session log generally only records channel reads due
                  +            to eliminate command duplication due to command echo. You can enable this if you
                  +            want to record both channel reads and channel writes in the log (default: False).
                  +
                  +    :param session_log_file_mode: "write" or "append" for session_log file mode
                  +            (default: "write")
                  +
                  +    :param allow_auto_change: Allow automatic configuration changes for terminal settings.
                  +            (default: False)
                  +
                  +    :param encoding: Encoding to be used when writing bytes to the output channel.
                  +            (default: ascii)
                  +
                  +    :param sock: An open socket or socket-like object (such as a <code>.Channel</code>) to use for
                  +            communication to the target host (default: None).
                  +
                  +    :param global_cmd_verify: Control whether command echo verification is enabled or disabled
                  +            (default: None). Global attribute takes precedence over function <code>cmd\_verify</code>
                  +            argument. Value of <code>None</code> indicates to use function <code>cmd\_verify</code> argument.
                  +
                  +    :param auto_connect: Control whether Netmiko automatically establishes the connection as
                  +            part of the object creation (default: True).
                  +
                  +    :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko
                  +            3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be
                  +            eliminated in Netmiko 5.x (default: False).
                  +
                  +    :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior
                  +            (default: False)
                  +
                  +
                  + +Expand source code + +
                  class TeldatCITTelnet(TeldatCITBase):
                  +    def telnet_login(
                  +        self,
                  +        pri_prompt_terminator: str = r"\*",
                  +        alt_prompt_terminator: str = r"\*",
                  +        username_pattern: str = "Username:",
                  +        pwd_pattern: str = "Password:",
                  +        delay_factor: float = 1.0,
                  +        max_loops: int = 60,
                  +    ) -> str:
                  +        return super().telnet_login(
                  +            pri_prompt_terminator=pri_prompt_terminator,
                  +            alt_prompt_terminator=alt_prompt_terminator,
                  +            username_pattern=username_pattern,
                  +            pwd_pattern=pwd_pattern,
                  +            delay_factor=delay_factor,
                  +            max_loops=max_loops,
                  +        )
                  +
                  +

                  Ancestors

                  + +

                  Inherited members

                  + +
                  +
                  +
                  +
                  + +
                  + + + \ No newline at end of file diff --git a/docs/netmiko/terminal_server/index.html b/docs/netmiko/terminal_server/index.html index d873ec193..9819b6ccf 100644 --- a/docs/netmiko/terminal_server/index.html +++ b/docs/netmiko/terminal_server/index.html @@ -50,7 +50,7 @@

                  Classes

                  class TerminalServerSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                  Generic Terminal Server driver SSH.

                  @@ -91,6 +91,9 @@

                  Classes

                  :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -105,7 +108,7 @@

                  Classes

                  :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -113,6 +116,10 @@

                  Classes

                  :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -124,7 +131,9 @@

                  Classes

                  enter key (default:

                  )

                  -
                      :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                  +
                      :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                  +
                  +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                               to select smallest of global and specific. Sets default global_delay_factor to .1
                               (default: True)
                   
                  @@ -156,6 +165,9 @@ 

                  Classes

                  :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                  @@ -222,7 +234,7 @@

                  Inherited members

                  class TerminalServerTelnet -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                  Generic Terminal Server driver telnet.

                  @@ -263,6 +275,9 @@

                  Inherited members

                  :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -277,7 +292,7 @@

                  Inherited members

                  :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -285,6 +300,10 @@

                  Inherited members

                  :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -296,7 +315,9 @@

                  Inherited members

                  enter key (default:

                  )

                  -
                      :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                  +
                      :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                  +
                  +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                               to select smallest of global and specific. Sets default global_delay_factor to .1
                               (default: True)
                   
                  @@ -328,6 +349,9 @@ 

                  Inherited members

                  :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                  @@ -338,7 +362,7 @@

                  Inherited members

                  def telnet_login(self, *args: Any, **kwargs: Any) -> str: # Disable automatic handling of username and password when using terminal server driver - pass + return "" def std_login(self, *args: Any, **kwargs: Any) -> str: return super().telnet_login(*args, **kwargs)
                  diff --git a/docs/netmiko/terminal_server/terminal_server.html b/docs/netmiko/terminal_server/terminal_server.html index 956432450..c61b6916b 100644 --- a/docs/netmiko/terminal_server/terminal_server.html +++ b/docs/netmiko/terminal_server/terminal_server.html @@ -56,7 +56,7 @@

                  Module netmiko.terminal_server.terminal_server @@ -73,7 +73,7 @@

                  Classes

                  class TerminalServer -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                  Generic Terminal Server driver.

                  @@ -116,6 +116,9 @@

                  Classes

                  :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -130,7 +133,7 @@

                  Classes

                  :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -138,6 +141,10 @@

                  Classes

                  :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -149,7 +156,9 @@

                  Classes

                  enter key (default:

                  )

                  -
                      :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                  +
                      :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                  +
                  +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                               to select smallest of global and specific. Sets default global_delay_factor to .1
                               (default: True)
                   
                  @@ -181,6 +190,9 @@ 

                  Classes

                  :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                  @@ -273,7 +285,7 @@

                  Inherited members

                  class TerminalServerSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                  Generic Terminal Server driver SSH.

                  @@ -314,6 +326,9 @@

                  Inherited members

                  :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -328,7 +343,7 @@

                  Inherited members

                  :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -336,6 +351,10 @@

                  Inherited members

                  :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -347,7 +366,9 @@

                  Inherited members

                  enter key (default:

                  )

                  -
                      :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                  +
                      :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                  +
                  +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                               to select smallest of global and specific. Sets default global_delay_factor to .1
                               (default: True)
                   
                  @@ -379,6 +400,9 @@ 

                  Inherited members

                  :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                  @@ -445,7 +469,7 @@

                  Inherited members

                  class TerminalServerTelnet -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                  Generic Terminal Server driver telnet.

                  @@ -486,6 +510,9 @@

                  Inherited members

                  :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -500,7 +527,7 @@

                  Inherited members

                  :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -508,6 +535,10 @@

                  Inherited members

                  :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -519,7 +550,9 @@

                  Inherited members

                  enter key (default:

                  )

                  -
                      :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                  +
                      :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                  +
                  +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                               to select smallest of global and specific. Sets default global_delay_factor to .1
                               (default: True)
                   
                  @@ -551,6 +584,9 @@ 

                  Inherited members

                  :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                  @@ -561,7 +597,7 @@

                  Inherited members

                  def telnet_login(self, *args: Any, **kwargs: Any) -> str: # Disable automatic handling of username and password when using terminal server driver - pass + return "" def std_login(self, *args: Any, **kwargs: Any) -> str: return super().telnet_login(*args, **kwargs)
                  diff --git a/docs/netmiko/tplink/index.html b/docs/netmiko/tplink/index.html index e08b5783e..03af3f0d0 100644 --- a/docs/netmiko/tplink/index.html +++ b/docs/netmiko/tplink/index.html @@ -90,6 +90,9 @@

                  Classes

                  :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -104,7 +107,7 @@

                  Classes

                  :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -112,6 +115,10 @@

                  Classes

                  :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -123,7 +130,9 @@

                  Classes

                  enter key (default:

                  )

                  -
                      :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                  +
                      :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                  +
                  +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                               to select smallest of global and specific. Sets default global_delay_factor to .1
                               (default: True)
                   
                  @@ -155,6 +164,9 @@ 

                  Classes

                  :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                  @@ -288,6 +300,9 @@

                  Inherited members

                  :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -302,7 +317,7 @@

                  Inherited members

                  :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -310,6 +325,10 @@

                  Inherited members

                  :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -321,7 +340,9 @@

                  Inherited members

                  enter key (default:

                  )

                  -
                      :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                  +
                      :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                  +
                  +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                               to select smallest of global and specific. Sets default global_delay_factor to .1
                               (default: True)
                   
                  @@ -353,6 +374,9 @@ 

                  Inherited members

                  :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                  diff --git a/docs/netmiko/tplink/tplink_jetstream.html b/docs/netmiko/tplink/tplink_jetstream.html index 7e6df6b8c..0ab3f3b81 100644 --- a/docs/netmiko/tplink/tplink_jetstream.html +++ b/docs/netmiko/tplink/tplink_jetstream.html @@ -35,7 +35,7 @@

                  Module netmiko.tplink.tplink_jetstream

                  from netmiko import log from netmiko.cisco_base_connection import CiscoSSHConnection -from netmiko.exceptions import NetmikoTimeoutException +from netmiko.exceptions import ReadTimeout class TPLinkJetStreamBase(CiscoSSHConnection): @@ -68,6 +68,7 @@

                  Module netmiko.tplink.tplink_jetstream

                  cmd: str = "", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """ @@ -78,30 +79,40 @@

                  Module netmiko.tplink.tplink_jetstream

                  enable all functions. """ + msg = """ +Failed to enter enable mode. Please ensure you pass +the 'secret' argument to ConnectHandler. +""" + # If end-user passes in "cmd" execute that using normal process. if cmd: - return super().enable(cmd=cmd, pattern=pattern, re_flags=re_flags) + return super().enable( + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, + ) output = "" - msg = ( - "Failed to enter enable mode. Please ensure you pass " - "the 'secret' argument to ConnectHandler." - ) + if check_state and self.check_enable_mode(): + return output - cmds = ["enable", "enable-admin"] - if not self.check_enable_mode(): - for cmd in cmds: - self.write_channel(self.normalize_cmd(cmd)) - try: - output += self.read_until_prompt_or_pattern( - pattern=pattern, re_flags=re_flags, read_entire_line=True - ) + for cmd in ("enable", "enable-admin"): + self.write_channel(self.normalize_cmd(cmd)) + try: + new_data = self.read_until_prompt_or_pattern( + pattern=pattern, re_flags=re_flags, read_entire_line=True + ) + output += new_data + if re.search(pattern, new_data): self.write_channel(self.normalize_cmd(self.secret)) output += self.read_until_prompt(read_entire_line=True) - except NetmikoTimeoutException: - raise ValueError(msg) - if not self.check_enable_mode(): - raise ValueError(msg) + except ReadTimeout: + raise ValueError(msg) + + if not self.check_enable_mode(): + raise ValueError(msg) return output def config_mode( @@ -274,6 +285,9 @@

                  Classes

                  :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -288,7 +302,7 @@

                  Classes

                  :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -296,6 +310,10 @@

                  Classes

                  :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -307,7 +325,9 @@

                  Classes

                  enter key (default:

                  )

                  -
                      :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                  +
                      :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                  +
                  +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                               to select smallest of global and specific. Sets default global_delay_factor to .1
                               (default: True)
                   
                  @@ -339,6 +359,9 @@ 

                  Classes

                  :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                  @@ -374,6 +397,7 @@

                  Classes

                  cmd: str = "", pattern: str = "ssword", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: """ @@ -384,30 +408,40 @@

                  Classes

                  enable all functions. """ + msg = """ +Failed to enter enable mode. Please ensure you pass +the 'secret' argument to ConnectHandler. +""" + # If end-user passes in "cmd" execute that using normal process. if cmd: - return super().enable(cmd=cmd, pattern=pattern, re_flags=re_flags) + return super().enable( + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, + ) output = "" - msg = ( - "Failed to enter enable mode. Please ensure you pass " - "the 'secret' argument to ConnectHandler." - ) + if check_state and self.check_enable_mode(): + return output - cmds = ["enable", "enable-admin"] - if not self.check_enable_mode(): - for cmd in cmds: - self.write_channel(self.normalize_cmd(cmd)) - try: - output += self.read_until_prompt_or_pattern( - pattern=pattern, re_flags=re_flags, read_entire_line=True - ) + for cmd in ("enable", "enable-admin"): + self.write_channel(self.normalize_cmd(cmd)) + try: + new_data = self.read_until_prompt_or_pattern( + pattern=pattern, re_flags=re_flags, read_entire_line=True + ) + output += new_data + if re.search(pattern, new_data): self.write_channel(self.normalize_cmd(self.secret)) output += self.read_until_prompt(read_entire_line=True) - except NetmikoTimeoutException: - raise ValueError(msg) - if not self.check_enable_mode(): - raise ValueError(msg) + except ReadTimeout: + raise ValueError(msg) + + if not self.check_enable_mode(): + raise ValueError(msg) return output def config_mode( @@ -509,7 +543,7 @@

                  Methods

                  TPLink JetStream requires you to first execute "enable" and then execute "enable-admin". @@ -520,46 +554,57 @@

                  Methods

                  Expand source code -
                  def enable(
                  -    self,
                  -    cmd: str = "",
                  -    pattern: str = "ssword",
                  -    enable_pattern: Optional[str] = None,
                  -    re_flags: int = re.IGNORECASE,
                  -) -> str:
                  -    """
                  -    TPLink JetStream requires you to first execute "enable" and then execute "enable-admin".
                  -    This is necessary as "configure" is generally only available at "enable-admin" level
                  +
                      def enable(
                  +        self,
                  +        cmd: str = "",
                  +        pattern: str = "ssword",
                  +        enable_pattern: Optional[str] = None,
                  +        check_state: bool = True,
                  +        re_flags: int = re.IGNORECASE,
                  +    ) -> str:
                  +        """
                  +        TPLink JetStream requires you to first execute "enable" and then execute "enable-admin".
                  +        This is necessary as "configure" is generally only available at "enable-admin" level
                   
                  -    If the user does not have the Admin role, he will need to execute enable-admin to really
                  -    enable all functions.
                  -    """
                  +        If the user does not have the Admin role, he will need to execute enable-admin to really
                  +        enable all functions.
                  +        """
                   
                  -    # If end-user passes in "cmd" execute that using normal process.
                  -    if cmd:
                  -        return super().enable(cmd=cmd, pattern=pattern, re_flags=re_flags)
                  +        msg = """
                  +Failed to enter enable mode. Please ensure you pass
                  +the 'secret' argument to ConnectHandler.
                  +"""
                   
                  -    output = ""
                  -    msg = (
                  -        "Failed to enter enable mode. Please ensure you pass "
                  -        "the 'secret' argument to ConnectHandler."
                  -    )
                  -
                  -    cmds = ["enable", "enable-admin"]
                  -    if not self.check_enable_mode():
                  -        for cmd in cmds:
                  +        # If end-user passes in "cmd" execute that using normal process.
                  +        if cmd:
                  +            return super().enable(
                  +                cmd=cmd,
                  +                pattern=pattern,
                  +                enable_pattern=enable_pattern,
                  +                check_state=check_state,
                  +                re_flags=re_flags,
                  +            )
                  +
                  +        output = ""
                  +        if check_state and self.check_enable_mode():
                  +            return output
                  +
                  +        for cmd in ("enable", "enable-admin"):
                               self.write_channel(self.normalize_cmd(cmd))
                               try:
                  -                output += self.read_until_prompt_or_pattern(
                  +                new_data = self.read_until_prompt_or_pattern(
                                       pattern=pattern, re_flags=re_flags, read_entire_line=True
                                   )
                  -                self.write_channel(self.normalize_cmd(self.secret))
                  -                output += self.read_until_prompt(read_entire_line=True)
                  -            except NetmikoTimeoutException:
                  -                raise ValueError(msg)
                  -            if not self.check_enable_mode():
                  +                output += new_data
                  +                if re.search(pattern, new_data):
                  +                    self.write_channel(self.normalize_cmd(self.secret))
                  +                    output += self.read_until_prompt(read_entire_line=True)
                  +            except ReadTimeout:
                                   raise ValueError(msg)
                  -    return output
                  + + if not self.check_enable_mode(): + raise ValueError(msg) + return output

                Methods

                -
                -def check_config_mode(self, check_string: str = ')#', pattern: str = '', force_regex: bool = False) ‑> bool -
                -
                -

                Checks if the device is in configuration mode or not.

                -
                - -Expand source code - -
                def check_config_mode(
                -    self, check_string: str = ")#", pattern: str = "", force_regex: bool = False
                -) -> bool:
                -    """Checks if the device is in configuration mode or not."""
                -    return super().check_config_mode(check_string=check_string, pattern=pattern)
                -
                -
                def config_mode(self, config_command: str = 'configure', pattern: str = '', re_flags: int = 0) ‑> str
                @@ -450,6 +446,7 @@

                Inherited members

                import time
                +import re
                +from typing import Any, Optional
                +from netmiko.base_connection import BaseConnection
                 from netmiko.vyos.vyos_ssh import VyOSSSH
                +from netmiko.scp_handler import BaseFileTransfer
                 
                 
                 class UbiquitiEdgeRouterSSH(VyOSSSH):
                     """Implement methods for interacting with EdgeOS EdgeRouter network devices."""
                 
                +    def _enter_shell(self) -> str:
                +        """Already in shell."""
                +        return ""
                +
                +    def _return_cli(self) -> str:
                +        """The shell is the CLI."""
                +        return ""
                +
                     def session_preparation(self) -> None:
                         """Prepare the session after the connection has been established."""
                         self._test_channel_read()
                @@ -52,7 +64,60 @@ 

                Module netmiko.ubiquiti.edgerouter_ssh

                output = self._send_command_str(command_string=cmd) if "Done" not in output: raise ValueError(f"Save failed with following errors:\n\n{output}") - return output
                + return output + + +class UbiquitiEdgeRouterFileTransfer(BaseFileTransfer): + """Ubiquiti EdgeRouter SCP File Transfer driver.""" + + def __init__( + self, + ssh_conn: "BaseConnection", + source_file: str, + dest_file: str, + file_system: Optional[str] = "/", + direction: str = "put", + **kwargs: Any, + ) -> None: + super().__init__( + ssh_conn=ssh_conn, + source_file=source_file, + dest_file=dest_file, + file_system=file_system, + direction=direction, + **kwargs, + ) + + def check_file_exists(self, remote_cmd: str = "") -> bool: + """Check if the dest_file already exists on the file system.""" + return self._check_file_exists_unix(remote_cmd=remote_cmd) + + def remote_space_available(self, search_pattern: str = "") -> int: + """Return space available on remote device.""" + return self._remote_space_available_unix(search_pattern=search_pattern) + + def remote_md5( + self, base_cmd: str = "md5sum", remote_file: Optional[str] = None + ) -> str: + """Calculate remote MD5 and returns the hash.""" + return super().remote_md5(base_cmd=base_cmd, remote_file=remote_file) + + def remote_file_size( + self, remote_cmd: str = "", remote_file: Optional[str] = None + ) -> int: + """Get the file size of the remote file.""" + return self._remote_file_size_unix( + remote_cmd=remote_cmd, remote_file=remote_file + ) + + @staticmethod + def process_md5(md5_output: str, pattern: str = r"(\S+)\s+") -> str: + """Process the string to retrieve the MD5 hash""" + match = re.search(pattern, md5_output) + if match: + return match.group(1) + else: + raise ValueError(f"Invalid output from MD5 command: {md5_output}")
                @@ -64,9 +129,152 @@

                Module netmiko.ubiquiti.edgerouter_ssh

                Classes

                +
                +class UbiquitiEdgeRouterFileTransfer +(ssh_conn: BaseConnection, source_file: str, dest_file: str, file_system: Optional[str] = '/', direction: str = 'put', **kwargs: Any) +
                +
                +

                Ubiquiti EdgeRouter SCP File Transfer driver.

                +
                + +Expand source code + +
                class UbiquitiEdgeRouterFileTransfer(BaseFileTransfer):
                +    """Ubiquiti EdgeRouter SCP File Transfer driver."""
                +
                +    def __init__(
                +        self,
                +        ssh_conn: "BaseConnection",
                +        source_file: str,
                +        dest_file: str,
                +        file_system: Optional[str] = "/",
                +        direction: str = "put",
                +        **kwargs: Any,
                +    ) -> None:
                +        super().__init__(
                +            ssh_conn=ssh_conn,
                +            source_file=source_file,
                +            dest_file=dest_file,
                +            file_system=file_system,
                +            direction=direction,
                +            **kwargs,
                +        )
                +
                +    def check_file_exists(self, remote_cmd: str = "") -> bool:
                +        """Check if the dest_file already exists on the file system."""
                +        return self._check_file_exists_unix(remote_cmd=remote_cmd)
                +
                +    def remote_space_available(self, search_pattern: str = "") -> int:
                +        """Return space available on remote device."""
                +        return self._remote_space_available_unix(search_pattern=search_pattern)
                +
                +    def remote_md5(
                +        self, base_cmd: str = "md5sum", remote_file: Optional[str] = None
                +    ) -> str:
                +        """Calculate remote MD5 and returns the hash."""
                +        return super().remote_md5(base_cmd=base_cmd, remote_file=remote_file)
                +
                +    def remote_file_size(
                +        self, remote_cmd: str = "", remote_file: Optional[str] = None
                +    ) -> int:
                +        """Get the file size of the remote file."""
                +        return self._remote_file_size_unix(
                +            remote_cmd=remote_cmd, remote_file=remote_file
                +        )
                +
                +    @staticmethod
                +    def process_md5(md5_output: str, pattern: str = r"(\S+)\s+") -> str:
                +        """Process the string to retrieve the MD5 hash"""
                +        match = re.search(pattern, md5_output)
                +        if match:
                +            return match.group(1)
                +        else:
                +            raise ValueError(f"Invalid output from MD5 command: {md5_output}")
                +
                +

                Ancestors

                + +

                Static methods

                +
                +
                +def process_md5(md5_output: str, pattern: str = '(\\S+)\\s+') ‑> str +
                +
                +

                Process the string to retrieve the MD5 hash

                +
                + +Expand source code + +
                @staticmethod
                +def process_md5(md5_output: str, pattern: str = r"(\S+)\s+") -> str:
                +    """Process the string to retrieve the MD5 hash"""
                +    match = re.search(pattern, md5_output)
                +    if match:
                +        return match.group(1)
                +    else:
                +        raise ValueError(f"Invalid output from MD5 command: {md5_output}")
                +
                +
                +
                +

                Methods

                +
                +
                +def check_file_exists(self, remote_cmd: str = '') ‑> bool +
                +
                +

                Check if the dest_file already exists on the file system.

                +
                + +Expand source code + +
                def check_file_exists(self, remote_cmd: str = "") -> bool:
                +    """Check if the dest_file already exists on the file system."""
                +    return self._check_file_exists_unix(remote_cmd=remote_cmd)
                +
                +
                +
                +def remote_md5(self, base_cmd: str = 'md5sum', remote_file: Optional[str] = None) ‑> str +
                +
                +

                Calculate remote MD5 and returns the hash.

                +
                + +Expand source code + +
                def remote_md5(
                +    self, base_cmd: str = "md5sum", remote_file: Optional[str] = None
                +) -> str:
                +    """Calculate remote MD5 and returns the hash."""
                +    return super().remote_md5(base_cmd=base_cmd, remote_file=remote_file)
                +
                +
                +
                +

                Inherited members

                + +
                class UbiquitiEdgeRouterSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                Implement methods for interacting with EdgeOS EdgeRouter network devices.

                @@ -107,6 +315,9 @@

                Classes

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -121,7 +332,7 @@

                Classes

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -129,6 +340,10 @@

                Classes

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -140,7 +355,9 @@

                Classes

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -172,6 +389,9 @@ 

                Classes

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                @@ -180,6 +400,14 @@

                Classes

                class UbiquitiEdgeRouterSSH(VyOSSSH):
                     """Implement methods for interacting with EdgeOS EdgeRouter network devices."""
                 
                +    def _enter_shell(self) -> str:
                +        """Already in shell."""
                +        return ""
                +
                +    def _return_cli(self) -> str:
                +        """The shell is the CLI."""
                +        return ""
                +
                     def session_preparation(self) -> None:
                         """Prepare the session after the connection has been established."""
                         self._test_channel_read()
                @@ -275,6 +503,14 @@ 

                Index

              • Classes

                diff --git a/docs/netmiko/ubiquiti/index.html b/docs/netmiko/ubiquiti/index.html index 0ccd17b6d..c27566d2f 100644 --- a/docs/netmiko/ubiquiti/index.html +++ b/docs/netmiko/ubiquiti/index.html @@ -27,11 +27,15 @@

                Module netmiko.ubiquiti

                Expand source code
              • from netmiko.ubiquiti.edge_ssh import UbiquitiEdgeSSH
                -from netmiko.ubiquiti.edgerouter_ssh import UbiquitiEdgeRouterSSH
                +from netmiko.ubiquiti.edgerouter_ssh import (
                +    UbiquitiEdgeRouterSSH,
                +    UbiquitiEdgeRouterFileTransfer,
                +)
                 from netmiko.ubiquiti.unifiswitch_ssh import UbiquitiUnifiSwitchSSH
                 
                 __all__ = [
                     "UbiquitiEdgeRouterSSH",
                +    "UbiquitiEdgeRouterFileTransfer",
                     "UbiquitiEdgeSSH",
                     "UbiquitiUnifiSwitchSSH",
                 ]
                @@ -61,9 +65,152 @@

                Sub-modules

                Classes

                +
                +class UbiquitiEdgeRouterFileTransfer +(ssh_conn: BaseConnection, source_file: str, dest_file: str, file_system: Optional[str] = '/', direction: str = 'put', **kwargs: Any) +
                +
                +

                Ubiquiti EdgeRouter SCP File Transfer driver.

                +
                + +Expand source code + +
                class UbiquitiEdgeRouterFileTransfer(BaseFileTransfer):
                +    """Ubiquiti EdgeRouter SCP File Transfer driver."""
                +
                +    def __init__(
                +        self,
                +        ssh_conn: "BaseConnection",
                +        source_file: str,
                +        dest_file: str,
                +        file_system: Optional[str] = "/",
                +        direction: str = "put",
                +        **kwargs: Any,
                +    ) -> None:
                +        super().__init__(
                +            ssh_conn=ssh_conn,
                +            source_file=source_file,
                +            dest_file=dest_file,
                +            file_system=file_system,
                +            direction=direction,
                +            **kwargs,
                +        )
                +
                +    def check_file_exists(self, remote_cmd: str = "") -> bool:
                +        """Check if the dest_file already exists on the file system."""
                +        return self._check_file_exists_unix(remote_cmd=remote_cmd)
                +
                +    def remote_space_available(self, search_pattern: str = "") -> int:
                +        """Return space available on remote device."""
                +        return self._remote_space_available_unix(search_pattern=search_pattern)
                +
                +    def remote_md5(
                +        self, base_cmd: str = "md5sum", remote_file: Optional[str] = None
                +    ) -> str:
                +        """Calculate remote MD5 and returns the hash."""
                +        return super().remote_md5(base_cmd=base_cmd, remote_file=remote_file)
                +
                +    def remote_file_size(
                +        self, remote_cmd: str = "", remote_file: Optional[str] = None
                +    ) -> int:
                +        """Get the file size of the remote file."""
                +        return self._remote_file_size_unix(
                +            remote_cmd=remote_cmd, remote_file=remote_file
                +        )
                +
                +    @staticmethod
                +    def process_md5(md5_output: str, pattern: str = r"(\S+)\s+") -> str:
                +        """Process the string to retrieve the MD5 hash"""
                +        match = re.search(pattern, md5_output)
                +        if match:
                +            return match.group(1)
                +        else:
                +            raise ValueError(f"Invalid output from MD5 command: {md5_output}")
                +
                +

                Ancestors

                + +

                Static methods

                +
                +
                +def process_md5(md5_output: str, pattern: str = '(\\S+)\\s+') ‑> str +
                +
                +

                Process the string to retrieve the MD5 hash

                +
                + +Expand source code + +
                @staticmethod
                +def process_md5(md5_output: str, pattern: str = r"(\S+)\s+") -> str:
                +    """Process the string to retrieve the MD5 hash"""
                +    match = re.search(pattern, md5_output)
                +    if match:
                +        return match.group(1)
                +    else:
                +        raise ValueError(f"Invalid output from MD5 command: {md5_output}")
                +
                +
                +
                +

                Methods

                +
                +
                +def check_file_exists(self, remote_cmd: str = '') ‑> bool +
                +
                +

                Check if the dest_file already exists on the file system.

                +
                + +Expand source code + +
                def check_file_exists(self, remote_cmd: str = "") -> bool:
                +    """Check if the dest_file already exists on the file system."""
                +    return self._check_file_exists_unix(remote_cmd=remote_cmd)
                +
                +
                +
                +def remote_md5(self, base_cmd: str = 'md5sum', remote_file: Optional[str] = None) ‑> str +
                +
                +

                Calculate remote MD5 and returns the hash.

                +
                + +Expand source code + +
                def remote_md5(
                +    self, base_cmd: str = "md5sum", remote_file: Optional[str] = None
                +) -> str:
                +    """Calculate remote MD5 and returns the hash."""
                +    return super().remote_md5(base_cmd=base_cmd, remote_file=remote_file)
                +
                +
                +
                +

                Inherited members

                + +
                class UbiquitiEdgeRouterSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                Implement methods for interacting with EdgeOS EdgeRouter network devices.

                @@ -104,6 +251,9 @@

                Classes

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -118,7 +268,7 @@

                Classes

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -126,6 +276,10 @@

                Classes

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -137,7 +291,9 @@

                Classes

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -169,6 +325,9 @@ 

                Classes

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                @@ -177,6 +336,14 @@

                Classes

                class UbiquitiEdgeRouterSSH(VyOSSSH):
                     """Implement methods for interacting with EdgeOS EdgeRouter network devices."""
                 
                +    def _enter_shell(self) -> str:
                +        """Already in shell."""
                +        return ""
                +
                +    def _return_cli(self) -> str:
                +        """The shell is the CLI."""
                +        return ""
                +
                     def session_preparation(self) -> None:
                         """Prepare the session after the connection has been established."""
                         self._test_channel_read()
                @@ -257,7 +424,7 @@ 

                Inherited members

                class UbiquitiEdgeSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                Implements support for Ubiquity EdgeSwitch devices.

                @@ -300,6 +467,9 @@

                Inherited members

                :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -314,7 +484,7 @@

                Inherited members

                :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -322,6 +492,10 @@

                Inherited members

                :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -333,7 +507,9 @@

                Inherited members

                enter key (default:

                )

                -
                    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                +
                    :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                +
                +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                             to select smallest of global and specific. Sets default global_delay_factor to .1
                             (default: True)
                 
                @@ -365,6 +541,9 @@ 

                Inherited members

                :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                @@ -464,22 +643,6 @@

                Subclasses

              Methods

              -
              -def check_config_mode(self, check_string: str = ')#', pattern: str = '', force_regex: bool = False) ‑> bool -
              -
              -

              Checks if the device is in configuration mode or not.

              -
              - -Expand source code - -
              def check_config_mode(
              -    self, check_string: str = ")#", pattern: str = "", force_regex: bool = False
              -) -> bool:
              -    """Checks if the device is in configuration mode or not."""
              -    return super().check_config_mode(check_string=check_string, pattern=pattern)
              -
              -
              def config_mode(self, config_command: str = 'configure', pattern: str = '', re_flags: int = 0) ‑> str
              @@ -583,6 +746,7 @@

              Inherited members

              • CiscoSSHConnection:
                  +
                • check_config_mode
                • check_enable_mode
                • cleanup
                • clear_buffer
                • @@ -625,7 +789,7 @@

                  Inherited members

                  class UbiquitiUnifiSwitchSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                  Implements support for Ubiquity EdgeSwitch devices.

                  @@ -668,6 +832,9 @@

                  Inherited members

                  :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -682,7 +849,7 @@

                  Inherited members

                  :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -690,6 +857,10 @@

                  Inherited members

                  :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -701,7 +872,9 @@

                  Inherited members

                  enter key (default:

                  )

                  -
                      :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                  +
                      :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                  +
                  +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                               to select smallest of global and specific. Sets default global_delay_factor to .1
                               (default: True)
                   
                  @@ -733,6 +906,9 @@ 

                  Inherited members

                  :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                  @@ -825,7 +1001,7 @@

                  Inherited members

                  • UbiquitiEdgeSSH:
                      -
                    • check_config_mode
                    • +
                    • check_config_mode
                    • check_enable_mode
                    • cleanup
                    • clear_buffer
                    • @@ -893,12 +1069,19 @@

                      Index

                    • Classes

                      • +

                        UbiquitiEdgeRouterFileTransfer

                        + +
                      • +
                      • UbiquitiEdgeRouterSSH

                      • UbiquitiEdgeSSH

                          -
                        • check_config_mode
                        • config_mode
                        • exit_config_mode
                        • exit_enable_mode
                        • diff --git a/docs/netmiko/ubiquiti/unifiswitch_ssh.html b/docs/netmiko/ubiquiti/unifiswitch_ssh.html index 90ca95ef9..543f92cf8 100644 --- a/docs/netmiko/ubiquiti/unifiswitch_ssh.html +++ b/docs/netmiko/ubiquiti/unifiswitch_ssh.html @@ -79,7 +79,7 @@

                          Classes

                          class UbiquitiUnifiSwitchSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                          Implements support for Ubiquity EdgeSwitch devices.

                          @@ -122,6 +122,9 @@

                          Classes

                          :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -136,7 +139,7 @@

                          Classes

                          :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -144,6 +147,10 @@

                          Classes

                          :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -155,7 +162,9 @@

                          Classes

                          enter key (default:

                          )

                          -
                              :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                          +
                              :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                          +
                          +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                                       to select smallest of global and specific. Sets default global_delay_factor to .1
                                       (default: True)
                           
                          @@ -187,6 +196,9 @@ 

                          Classes

                          :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                          @@ -279,7 +291,7 @@

                          Inherited members

                          • UbiquitiEdgeSSH:
                              -
                            • check_config_mode
                            • +
                            • check_config_mode
                            • check_enable_mode
                            • cleanup
                            • clear_buffer
                            • diff --git a/docs/netmiko/vyos/index.html b/docs/netmiko/vyos/index.html index 904d5c50c..bb82b5388 100644 --- a/docs/netmiko/vyos/index.html +++ b/docs/netmiko/vyos/index.html @@ -49,7 +49,7 @@

                              Classes

                              class VyOSSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                              Implement methods for interacting with VyOS network devices.

                              @@ -90,6 +90,9 @@

                              Classes

                              :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -104,7 +107,7 @@

                              Classes

                              :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -112,6 +115,10 @@

                              Classes

                              :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -123,7 +130,9 @@

                              Classes

                              enter key (default:

                              )

                              -
                                  :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                              +
                                  :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                              +
                              +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                                           to select smallest of global and specific. Sets default global_delay_factor to .1
                                           (default: True)
                               
                              @@ -155,6 +164,9 @@ 

                              Classes

                              :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                              diff --git a/docs/netmiko/vyos/vyos_ssh.html b/docs/netmiko/vyos/vyos_ssh.html index 51c13650e..6facbe0c6 100644 --- a/docs/netmiko/vyos/vyos_ssh.html +++ b/docs/netmiko/vyos/vyos_ssh.html @@ -183,7 +183,7 @@

                              Classes

                              class VyOSSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                              Implement methods for interacting with VyOS network devices.

                              @@ -224,6 +224,9 @@

                              Classes

                              :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -238,7 +241,7 @@

                              Classes

                              :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -246,6 +249,10 @@

                              Classes

                              :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -257,7 +264,9 @@

                              Classes

                              enter key (default:

                              )

                              -
                                  :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                              +
                                  :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                              +
                              +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                                           to select smallest of global and specific. Sets default global_delay_factor to .1
                                           (default: True)
                               
                              @@ -289,6 +298,9 @@ 

                              Classes

                              :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                              diff --git a/docs/netmiko/watchguard/fireware_ssh.html b/docs/netmiko/watchguard/fireware_ssh.html index 26553d066..91eff6a3d 100644 --- a/docs/netmiko/watchguard/fireware_ssh.html +++ b/docs/netmiko/watchguard/fireware_ssh.html @@ -69,7 +69,7 @@

                              Module netmiko.watchguard.fireware_ssh

                              def save_config(self, *args: Any, **kwargs: Any) -> str: """No save config on Watchguard.""" - pass
                              + return ""
                              @@ -83,7 +83,7 @@

                              Classes

                              class WatchguardFirewareSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                              Implements methods for communicating with Watchguard Firebox firewalls.

                              @@ -124,6 +124,9 @@

                              Classes

                              :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -138,7 +141,7 @@

                              Classes

                              :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -146,6 +149,10 @@

                              Classes

                              :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -157,7 +164,9 @@

                              Classes

                              enter key (default:

                              )

                              -
                                  :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                              +
                                  :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                              +
                              +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                                           to select smallest of global and specific. Sets default global_delay_factor to .1
                                           (default: True)
                               
                              @@ -189,6 +198,9 @@ 

                              Classes

                              :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                              @@ -231,7 +243,7 @@

                              Classes

                              def save_config(self, *args: Any, **kwargs: Any) -> str: """No save config on Watchguard.""" - pass
                              + return ""

                              Ancestors

                                @@ -268,7 +280,7 @@

                                Methods

                              def save_config(self, *args: Any, **kwargs: Any) -> str:
                                   """No save config on Watchguard."""
                              -    pass
                              + return ""
                              diff --git a/docs/netmiko/watchguard/index.html b/docs/netmiko/watchguard/index.html index bcd31d359..a1e78495f 100644 --- a/docs/netmiko/watchguard/index.html +++ b/docs/netmiko/watchguard/index.html @@ -49,7 +49,7 @@

                              Classes

                              class WatchguardFirewareSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                              Implements methods for communicating with Watchguard Firebox firewalls.

                              @@ -90,6 +90,9 @@

                              Classes

                              :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -104,7 +107,7 @@

                              Classes

                              :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -112,6 +115,10 @@

                              Classes

                              :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -123,7 +130,9 @@

                              Classes

                              enter key (default:

                              )

                              -
                                  :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                              +
                                  :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                              +
                              +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                                           to select smallest of global and specific. Sets default global_delay_factor to .1
                                           (default: True)
                               
                              @@ -155,6 +164,9 @@ 

                              Classes

                              :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                              @@ -197,7 +209,7 @@

                              Classes

                              def save_config(self, *args: Any, **kwargs: Any) -> str: """No save config on Watchguard.""" - pass
                              + return ""

                              Ancestors

                                @@ -234,7 +246,7 @@

                                Methods

                          def save_config(self, *args: Any, **kwargs: Any) -> str:
                               """No save config on Watchguard."""
                          -    pass
                          + return ""
                          diff --git a/docs/netmiko/yamaha/index.html b/docs/netmiko/yamaha/index.html index cd72bde51..733f7d1b2 100644 --- a/docs/netmiko/yamaha/index.html +++ b/docs/netmiko/yamaha/index.html @@ -50,7 +50,7 @@

                          Classes

                          class YamahaSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                          Yamaha SSH driver.

                          @@ -91,6 +91,9 @@

                          Classes

                          :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -105,7 +108,7 @@

                          Classes

                          :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -113,6 +116,10 @@

                          Classes

                          :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -124,7 +131,9 @@

                          Classes

                          enter key (default:

                          )

                          -
                              :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                          +
                              :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                          +
                          +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                                       to select smallest of global and specific. Sets default global_delay_factor to .1
                                       (default: True)
                           
                          @@ -156,6 +165,9 @@ 

                          Classes

                          :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                          @@ -263,6 +275,9 @@

                          Inherited members

                          :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -277,7 +292,7 @@

                          Inherited members

                          :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -285,6 +300,10 @@

                          Inherited members

                          :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -296,7 +315,9 @@

                          Inherited members

                          enter key (default:

                          )

                          -
                              :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                          +
                              :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                          +
                          +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                                       to select smallest of global and specific. Sets default global_delay_factor to .1
                                       (default: True)
                           
                          @@ -328,6 +349,9 @@ 

                          Inherited members

                          :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                          diff --git a/docs/netmiko/yamaha/yamaha.html b/docs/netmiko/yamaha/yamaha.html index 4af4182f1..331d59177 100644 --- a/docs/netmiko/yamaha/yamaha.html +++ b/docs/netmiko/yamaha/yamaha.html @@ -50,10 +50,15 @@

                          Module netmiko.yamaha.yamaha

                          cmd: str = "administrator", pattern: str = r"Password", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: return super().enable( - cmd=cmd, pattern=pattern, enable_pattern=enable_pattern, re_flags=re_flags + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, ) def exit_enable_mode(self, exit_command: str = "exit") -> str: @@ -132,7 +137,7 @@

                          Classes

                          class YamahaBase -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                          Defines vendor independent methods.

                          @@ -174,6 +179,9 @@

                          Classes

                          :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -188,7 +196,7 @@

                          Classes

                          :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -196,6 +204,10 @@

                          Classes

                          :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -207,7 +219,9 @@

                          Classes

                          enter key (default:

                          )

                          -
                              :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                          +
                              :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                          +
                          +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                                       to select smallest of global and specific. Sets default global_delay_factor to .1
                                       (default: True)
                           
                          @@ -239,6 +253,9 @@ 

                          Classes

                          :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                          @@ -261,10 +278,15 @@

                          Classes

                          cmd: str = "administrator", pattern: str = r"Password", enable_pattern: Optional[str] = None, + check_state: bool = True, re_flags: int = re.IGNORECASE, ) -> str: return super().enable( - cmd=cmd, pattern=pattern, enable_pattern=enable_pattern, re_flags=re_flags + cmd=cmd, + pattern=pattern, + enable_pattern=enable_pattern, + check_state=check_state, + re_flags=re_flags, ) def exit_enable_mode(self, exit_command: str = "exit") -> str: @@ -475,7 +497,7 @@

                          Inherited members

                          class YamahaSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                          Yamaha SSH driver.

                          @@ -516,6 +538,9 @@

                          Inherited members

                          :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -530,7 +555,7 @@

                          Inherited members

                          :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -538,6 +563,10 @@

                          Inherited members

                          :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -549,7 +578,9 @@

                          Inherited members

                          enter key (default:

                          )

                          -
                              :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                          +
                              :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                          +
                          +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                                       to select smallest of global and specific. Sets default global_delay_factor to .1
                                       (default: True)
                           
                          @@ -581,6 +612,9 @@ 

                          Inherited members

                          :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                          @@ -688,6 +722,9 @@

                          Inherited members

                          :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -702,7 +739,7 @@

                          Inherited members

                          :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -710,6 +747,10 @@

                          Inherited members

                          :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -721,7 +762,9 @@

                          Inherited members

                          enter key (default:

                          )

                          -
                              :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                          +
                              :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                          +
                          +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                                       to select smallest of global and specific. Sets default global_delay_factor to .1
                                       (default: True)
                           
                          @@ -753,6 +796,9 @@ 

                          Inherited members

                          :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                          diff --git a/docs/netmiko/zte/index.html b/docs/netmiko/zte/index.html index 232b0a093..a15087df6 100644 --- a/docs/netmiko/zte/index.html +++ b/docs/netmiko/zte/index.html @@ -50,7 +50,7 @@

                          Classes

                          class ZteZxrosSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                          Base Class for cisco-like behavior.

                          @@ -91,6 +91,9 @@

                          Classes

                          :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -105,7 +108,7 @@

                          Classes

                          :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -113,6 +116,10 @@

                          Classes

                          :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -124,7 +131,9 @@

                          Classes

                          enter key (default:

                          )

                          -
                              :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                          +
                              :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                          +
                          +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                                       to select smallest of global and specific. Sets default global_delay_factor to .1
                                       (default: True)
                           
                          @@ -156,6 +165,9 @@ 

                          Classes

                          :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                          @@ -174,7 +186,7 @@

                          Inherited members

                          class ZteZxrosTelnet -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                          Base Class for cisco-like behavior.

                          @@ -262,6 +274,9 @@

                          Inherited members

                          :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -276,7 +291,7 @@

                          Inherited members

                          :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -284,6 +299,10 @@

                          Inherited members

                          :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -295,7 +314,9 @@

                          Inherited members

                          enter key (default:

                          )

                          -
                              :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                          +
                              :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                          +
                          +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                                       to select smallest of global and specific. Sets default global_delay_factor to .1
                                       (default: True)
                           
                          @@ -327,6 +348,9 @@ 

                          Inherited members

                          :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                          @@ -370,7 +394,7 @@

                          Inherited members

                          • ZteZxrosBase:
                              -
                            • check_config_mode
                            • +
                            • check_config_mode
                            • check_enable_mode
                            • cleanup
                            • clear_buffer
                            • diff --git a/docs/netmiko/zte/zte_zxros.html b/docs/netmiko/zte/zte_zxros.html index 72f3a0b19..6986670f7 100644 --- a/docs/netmiko/zte/zte_zxros.html +++ b/docs/netmiko/zte/zte_zxros.html @@ -105,7 +105,7 @@

                              Classes

                              class ZteZxrosBase -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                              Base Class for cisco-like behavior.

                              @@ -146,6 +146,9 @@

                              Classes

                              :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -160,7 +163,7 @@

                              Classes

                              :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -168,6 +171,10 @@

                              Classes

                              :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -179,7 +186,9 @@

                              Classes

                              enter key (default:

                              )

                              -
                                  :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                              +
                                  :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                              +
                              +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                                           to select smallest of global and specific. Sets default global_delay_factor to .1
                                           (default: True)
                               
                              @@ -211,6 +220,9 @@ 

                              Classes

                              :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                              @@ -254,24 +266,6 @@

                              Subclasses

                            Methods

                            -
                            -def check_config_mode(self, check_string: str = ')#', pattern: str = '#', force_regex: bool = False) ‑> bool -
                            -
                            -

                            Checks if the device is in configuration mode or not.

                            -
                            - -Expand source code - -
                            def check_config_mode(
                            -    self, check_string: str = ")#", pattern: str = "#", force_regex: bool = False
                            -) -> bool:
                            -    """
                            -    Checks if the device is in configuration mode or not.
                            -    """
                            -    return super().check_config_mode(check_string=check_string, pattern=pattern)
                            -
                            -
                            def save_config(self, cmd: str = 'write', confirm: bool = False, confirm_response: str = '') ‑> str
                            @@ -314,6 +308,7 @@

                            Inherited members

                          class ZteZxrosSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                          Base Class for cisco-like behavior.

                          @@ -399,6 +394,9 @@

                          Inherited members

                          :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -413,7 +411,7 @@

                          Inherited members

                          :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -421,6 +419,10 @@

                          Inherited members

                          :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -432,7 +434,9 @@

                          Inherited members

                          enter key (default:

                          )

                          -
                              :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                          +
                              :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                          +
                          +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                                       to select smallest of global and specific. Sets default global_delay_factor to .1
                                       (default: True)
                           
                          @@ -464,6 +468,9 @@ 

                          Inherited members

                          :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                          @@ -482,7 +489,7 @@

                          Inherited members

                          class ZteZxrosTelnet -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                          Base Class for cisco-like behavior.

                          @@ -570,6 +577,9 @@

                          Inherited members

                          :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -584,7 +594,7 @@

                          Inherited members

                          :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -592,6 +602,10 @@

                          Inherited members

                          :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -603,7 +617,9 @@

                          Inherited members

                          enter key (default:

                          )

                          -
                              :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                          +
                              :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                          +
                          +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                                       to select smallest of global and specific. Sets default global_delay_factor to .1
                                       (default: True)
                           
                          @@ -635,6 +651,9 @@ 

                          Inherited members

                          :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                          @@ -678,7 +697,7 @@

                          Inherited members

                          • ZteZxrosBase:
                              -
                            • check_config_mode
                            • +
                            • check_config_mode
                            • check_enable_mode
                            • cleanup
                            • clear_buffer
                            • @@ -742,7 +761,6 @@

                              Index

                            • ZteZxrosBase

                              diff --git a/docs/netmiko/zyxel/index.html b/docs/netmiko/zyxel/index.html index 8f0a628b1..9ab8498bb 100644 --- a/docs/netmiko/zyxel/index.html +++ b/docs/netmiko/zyxel/index.html @@ -50,7 +50,7 @@

                              Classes

                              class ZyxelSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                              Class for platforms that have no enable mode.

                              @@ -98,6 +98,9 @@

                              Classes

                              :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -112,7 +115,7 @@

                              Classes

                              :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -120,6 +123,10 @@

                              Classes

                              :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -131,7 +138,9 @@

                              Classes

                              enter key (default:

                              )

                              -
                                  :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                              +
                                  :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                              +
                              +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                                           to select smallest of global and specific. Sets default global_delay_factor to .1
                                           (default: True)
                               
                              @@ -163,6 +172,9 @@ 

                              Classes

                              :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                              diff --git a/docs/netmiko/zyxel/zyxel_ssh.html b/docs/netmiko/zyxel/zyxel_ssh.html index b984e9ec4..961b18164 100644 --- a/docs/netmiko/zyxel/zyxel_ssh.html +++ b/docs/netmiko/zyxel/zyxel_ssh.html @@ -69,7 +69,7 @@

                              Classes

                              class ZyxelSSH -(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False) +(ip: str = '', host: str = '', username: str = '', password: Optional[str] = None, secret: str = '', port: Optional[int] = None, device_type: str = '', verbose: bool = False, global_delay_factor: float = 1.0, global_cmd_verify: Optional[bool] = None, use_keys: bool = False, key_file: Optional[str] = None, pkey: Optional[paramiko.pkey.PKey] = None, passphrase: Optional[str] = None, disabled_algorithms: Optional[Dict[str, Any]] = None, disable_sha2_fix: bool = False, allow_agent: bool = False, ssh_strict: bool = False, system_host_keys: bool = False, alt_host_keys: bool = False, alt_key_file: str = '', ssh_config_file: Optional[str] = None, conn_timeout: int = 10, auth_timeout: Optional[int] = None, banner_timeout: int = 15, blocking_timeout: int = 20, timeout: int = 100, session_timeout: int = 60, read_timeout_override: Optional[float] = None, keepalive: int = 0, default_enter: Optional[str] = None, response_return: Optional[str] = None, serial_settings: Optional[Dict[str, Any]] = None, fast_cli: bool = True, session_log: Optional[SessionLog] = None, session_log_record_writes: bool = False, session_log_file_mode: str = 'write', allow_auto_change: bool = False, encoding: str = 'utf-8', sock: Optional[socket.socket] = None, auto_connect: bool = True, delay_factor_compat: bool = False, disable_lf_normalization: bool = False)

                              Class for platforms that have no enable mode.

                              @@ -117,6 +117,9 @@

                              Classes

                              :param disabled_algorithms: Dictionary of SSH algorithms to disable. Refer to the Paramiko documentation for a description of the expected format. + :param disable_sha2_fix: Boolean that fixes Paramiko issue with missing server-sig-algs + <https://github.com/paramiko/paramiko/issues/1961> (default: False) + :param allow_agent: Enable use of SSH key-agent. :param ssh_strict: Automatically reject unknown SSH host keys (default: False, which @@ -131,7 +134,7 @@

                              Classes

                              :param ssh_config_file: File name of OpenSSH configuration file. - :param timeout: Connection timeout. + :param conn_timeout: TCP connection timeout. :param session_timeout: Set a timeout for parallel requests. @@ -139,6 +142,10 @@

                              Classes

                              :param banner_timeout: Set a timeout to wait for the SSH banner (pass to Paramiko). + :param read_timeout_override: Set a timeout that will override the default read_timeout + of both send_command and send_command_timing. This is useful for 3rd party + libraries where directly accessing method arguments might be impractical. + :param keepalive: Send SSH keepalive packets at a specific interval, in seconds. Currently defaults to 0, for backwards compatibility (it will not attempt to keep the connection alive). @@ -150,7 +157,9 @@

                              Classes

                              enter key (default:

                              )

                              -
                                  :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                              +
                                  :param serial_settings: Dictionary of settings for use with serial port (pySerial).
                              +
                              +    :param fast_cli: Provide a way to optimize for performance. Converts select_delay_factor
                                           to select smallest of global and specific. Sets default global_delay_factor to .1
                                           (default: True)
                               
                              @@ -182,6 +191,9 @@ 

                              Classes

                              :param delay_factor_compat: Set send_command and send_command_timing back to using Netmiko 3.x behavior for delay_factor/global_delay_factor/max_loops. This argument will be eliminated in Netmiko 5.x (default: False). + + :param disable_lf_normalization: Disable Netmiko's linefeed normalization behavior + (default: False)
                              From 88232d81e09817d2a47cf5a40b94a0fd3e528cda Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Fri, 5 May 2023 09:21:43 -0700 Subject: [PATCH 67/70] Roll version (#3197) --- netmiko/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netmiko/__init__.py b/netmiko/__init__.py index 2c171c754..13d586d51 100644 --- a/netmiko/__init__.py +++ b/netmiko/__init__.py @@ -1,6 +1,6 @@ import sys -__version__ = "4.1.3" +__version__ = "4.2.0" PY_MAJ_VER = 3 PY_MIN_VER = 7 MIN_PYTHON_VER = "3.7" From 9c84582d1bed6614c7027219bb59033cfaed7458 Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Fri, 5 May 2023 10:54:07 -0700 Subject: [PATCH 68/70] Performance graph updates for Netmiko 4.2.0 (#3201) --- _release.sh | 4 ++-- release_process.txt | 6 +++--- tests/performance/graphs/netmiko_arista_eos.svg | 6 +++--- tests/performance/graphs/netmiko_cisco_ios.svg | 6 +++--- tests/performance/graphs/netmiko_cisco_nxos.svg | 6 +++--- tests/performance/graphs/netmiko_cisco_xe.svg | 6 +++--- tests/performance/graphs/netmiko_cisco_xr.svg | 6 +++--- tests/performance/graphs/netmiko_hp_procurve.svg | 6 +++--- tests/performance/graphs/netmiko_juniper_junos.svg | 6 +++--- tests/performance/netmiko_performance.csv | 10 ++++++++-- tests/performance/performance_report.md | 10 +++++----- tests/performance/requirements.txt | 1 - tests/performance/test_netmiko.py | 4 +--- tests/performance/test_performance.sh | 2 +- 14 files changed, 41 insertions(+), 38 deletions(-) diff --git a/_release.sh b/_release.sh index d92864337..11f531dc3 100755 --- a/_release.sh +++ b/_release.sh @@ -20,7 +20,7 @@ while true; do esac done -pylama +pylama . if [ $? -eq 0 ]; then echo echo "pylama ... [OK]" @@ -32,7 +32,7 @@ else fi echo -python setup.py sdist bdist_wheel > /dev/null +poetry build > /dev/null if [ $? -eq 0 ]; then echo "creating distribution ... [OK]" ls -ltr $DIR_PACKAGE diff --git a/release_process.txt b/release_process.txt index f6d476429..fca57d72f 100644 --- a/release_process.txt +++ b/release_process.txt @@ -13,13 +13,13 @@ $ pdoc3 --html --output-dir docs netmiko --force # Merge into master / checkout master (use PR in GitHub for this) -# python setup.py sdist bdist_wheel +# poetry build # Run ./_release.sh # Create a tag for the version -git tag -a v4.1.0 -m "Version 4.1.0 Release" -git push origin_ssh v4.1.0 +git tag -a v4.2.0 -m "Version 4.2.0 Release" +git push origin_ssh v4.2.0 # Make sure to run the performance tests for the new release and to update the graphs! diff --git a/tests/performance/graphs/netmiko_arista_eos.svg b/tests/performance/graphs/netmiko_arista_eos.svg index d2b08c962..5a9f0f0a8 100644 --- a/tests/performance/graphs/netmiko_arista_eos.svg +++ b/tests/performance/graphs/netmiko_arista_eos.svg @@ -1,4 +1,4 @@ -Netmiko: Arista EOS Performance (vEOS)00101020203030404050502.4.23.0.03.1.03.2.03.3.33.4.04.0.04.1.0Netmiko: Arista EOS Performance (vEOS)5.60085111.669230769230769455.27317052090252.4.26.2156595.0208791208791449.91181661538463.0.06.25804178.37252747252745449.542154673750253.1.08.236209261.7241758241758432.29153439960483.2.01.904317345.0758241758241487.508790614265543.3.32.280802428.4274725274725484.225653645729663.4.01.687836511.77912087912074489.396612902233474.0.01.788259595.1307692307691488.52087425715794.1.06.61593711.669230769230769446.421114335813572.4.26.97108895.0208791208791443.324020487419943.0.06.7046178.37252747252745445.64792875593313.1.08.897231261.7241758241758426.527092880777963.2.02.497181345.0758241758241482.33872084863333.3.32.81286428.4274725274725479.58584252654763.4.02.167681511.77912087912074485.212125183819474.0.02.563968595.1307692307691481.75630489921274.1.08.65136811.669230769230769428.67114086275642.4.27.13095995.0208791208791441.929865633184533.0.07.223195178.37252747252745441.12552171130223.1.017.371332261.7241758241758352.62870577848493.2.03.357669345.0758241758241474.834836327917973.3.32.930811428.4274725274725478.557250979538373.4.03.117634511.77912087912074476.928061243233344.0.02.715299595.1307692307691480.436623104226164.1.017.73959411.669230769230769349.4172774710972.4.234.85695295.0208791208791200.145378581464573.0.034.630821178.37252747252745202.117353682283983.1.056.674599261.72417582417589.8846153846154153.2.032.008313345.0758241758241224.986931394758763.3.330.11219428.4274725274725241.522069629193483.4.021.231472511.77912087912074318.966359768088644.0.028.07229595.1307692307691259.311015011124544.1.0ConnectShow CommandSimple ConfigLarge ACL \ No newline at end of file +Netmiko: Arista EOS Performance (vEOS)00101020203030404050502.4.23.0.03.1.03.2.03.3.33.4.04.0.04.1.04.2.0Netmiko: Arista EOS Performance (vEOS)5.60085111.669230769230769455.27317052090252.4.26.2156584.60192307692306449.91181661538463.0.06.25804157.53461538461536449.542154673750253.1.08.236209230.46730769230766432.29153439960483.2.01.904317303.4487.508790614265543.3.32.280802376.33269230769224484.225653645729663.4.01.687836449.26538461538456489.396612902233474.0.01.788259522.1980769230769488.52087425715794.1.00.959298595.1307692307691495.74982761406314.2.06.61593711.669230769230769446.421114335813572.4.26.97108884.60192307692306443.324020487419943.0.06.7046157.53461538461536445.64792875593313.1.08.897231230.46730769230766426.527092880777963.2.02.497181303.4482.33872084863333.3.32.81286376.33269230769224479.58584252654763.4.02.167681449.26538461538456485.212125183819474.0.02.563968522.1980769230769481.75630489921274.1.01.146205595.1307692307691494.11990535586394.2.08.65136811.669230769230769428.67114086275642.4.27.13095984.60192307692306441.929865633184533.0.07.223195157.53461538461536441.12552171130223.1.017.371332230.46730769230766352.62870577848493.2.03.357669303.4474.834836327917973.3.32.930811376.33269230769224478.557250979538373.4.03.117634449.26538461538456476.928061243233344.0.02.715299522.1980769230769480.436623104226164.1.01.126909595.1307692307691494.28817609957184.2.017.73959411.669230769230769349.4172774710972.4.234.85695284.60192307692306200.145378581464573.0.034.630821157.53461538461536202.117353682283983.1.056.674599230.467307692307669.8846153846154153.2.032.008313303.4224.986931394758763.3.330.11219376.33269230769224241.522069629193483.4.021.231472449.26538461538456318.966359768088644.0.028.07229522.1980769230769259.311015011124544.1.05.723498595.1307692307691454.20362751180514.2.0ConnectShow CommandSimple ConfigLarge ACL \ No newline at end of file diff --git a/tests/performance/graphs/netmiko_cisco_ios.svg b/tests/performance/graphs/netmiko_cisco_ios.svg index 3f3d86a6f..6d5444a9e 100644 --- a/tests/performance/graphs/netmiko_cisco_ios.svg +++ b/tests/performance/graphs/netmiko_cisco_ios.svg @@ -1,4 +1,4 @@ -Netmiko: Cisco IOS Performance (Cisco 881)0022446688101012121414161618182.4.23.0.03.1.03.2.03.3.34.0.04.1.0Netmiko: Cisco IOS Performance (Cisco 881)5.01569911.669230769230769369.84056107192772.4.25.692225108.91282051282049351.72934481422153.0.07.7883206.15641025641023295.61551087824343.1.07.71581303.4297.556134101181043.2.03.047461400.64358974358964422.53208226200043.3.33.050436497.88717948717954422.45243880651364.0.01.055904595.1307692307691475.847874288542764.1.05.43730211.669230769230769358.55386535306742.4.26.039594108.91282051282049342.42996078430523.0.08.142923206.15641025641023286.12193067148633.1.08.145355303.4286.05682381980773.2.03.134423400.64358974358964420.204030438119843.3.33.110452497.88717948717954420.8457559075234.0.00.927821595.1307692307691479.27677267816244.1.07.71222111.669230769230769297.6522148950442.4.25.965445108.91282051282049344.414996945949673.0.08.065553206.15641025641023288.193195932331833.1.08.06323303.4288.2553847548853.2.03.140944400.64358974358964420.02945733787463.3.33.111018497.88717948717954420.83060357279854.0.00.930841595.1307692307691479.19592453175224.1.012.72949511.669230769230769163.335227169270522.4.216.356528108.9128205128204966.236255308858863.0.018.461486206.156410256410239.8846153846154153.1.018.446518303.410.2853223566243063.2.05.528239400.64358974358964356.119399164292643.3.36.266658497.88717948717954336.35125101063834.0.04.036946595.1307692307691396.04266896708434.1.0ConnectShow CommandSimple ConfigLarge ACL \ No newline at end of file +Netmiko: Cisco IOS Performance (Cisco 881)0022446688101012121414161618182.4.23.0.03.1.03.2.03.3.34.0.04.1.04.2.0Netmiko: Cisco IOS Performance (Cisco 881)5.01569911.669230769230769369.84056107192772.4.25.69222595.0208791208791351.72934481422153.0.07.7883178.37252747252745295.61551087824343.1.07.71581261.7241758241758297.556134101181043.2.03.047461345.0758241758241422.53208226200043.3.33.050436428.4274725274725422.45243880651364.0.01.055904511.77912087912074475.847874288542764.1.00.950239595.1307692307691478.67662243106874.2.05.43730211.669230769230769358.55386535306742.4.26.03959495.0208791208791342.42996078430523.0.08.142923178.37252747252745286.12193067148633.1.08.145355261.7241758241758286.05682381980773.2.03.134423345.0758241758241420.204030438119843.3.33.110452428.4274725274725420.8457559075234.0.00.927821511.77912087912074479.27677267816244.1.01.018443595.1307692307691476.85073932585094.2.07.71222111.669230769230769297.6522148950442.4.25.96544595.0208791208791344.414996945949673.0.08.065553178.37252747252745288.193195932331833.1.08.06323261.7241758241758288.2553847548853.2.03.140944345.0758241758241420.02945733787463.3.33.111018428.4274725274725420.83060357279854.0.00.930841511.77912087912074479.19592453175224.1.01.222409595.1307692307691471.39038401767464.2.012.72949511.669230769230769163.335227169270522.4.216.35652895.020879120879166.236255308858863.0.018.461486178.372527472527459.8846153846154153.1.018.446518261.724175824175810.2853223566243063.2.05.528239345.0758241758241356.119399164292643.3.36.266658428.4274725274725336.35125101063834.0.04.036946511.77912087912074396.04266896708434.1.04.19027595.1307692307691391.93804605311424.2.0ConnectShow CommandSimple ConfigLarge ACL \ No newline at end of file diff --git a/tests/performance/graphs/netmiko_cisco_nxos.svg b/tests/performance/graphs/netmiko_cisco_nxos.svg index 69b0a37c9..14c784f38 100644 --- a/tests/performance/graphs/netmiko_cisco_nxos.svg +++ b/tests/performance/graphs/netmiko_cisco_nxos.svg @@ -1,4 +1,4 @@ -Netmiko: Cisco NX-OS Performance (nx9k virtual)002244668810101212141416161818202022222.4.23.0.03.1.03.2.03.3.33.4.04.0.04.1.0Netmiko: Cisco NX-OS Performance (nx9k virtual)4.98773411.669230769230769400.14917640346182.4.25.70400395.0208791208791385.21899528519333.0.07.65255178.37252747252745344.602746882067273.1.07.812037261.7241758241758341.27833971658993.2.07.945623345.0758241758241338.49382276155623.3.37.719243428.4274725274725343.212572842257263.4.05.363876511.77912087912074392.308730724271754.0.03.346325595.1307692307691434.36332452261254.1.05.3627611.669230769230769392.33199304907992.4.26.28916695.0208791208791373.02163706682933.0.08.914154178.37252747252745318.30539739530743.1.08.36903261.7241758241758329.66816760023733.2.07.960268345.0758241758241338.188556859392353.3.38.21612428.4274725274725332.85548129773713.4.04.947016511.77912087912074400.99791774892514.0.02.827452595.1307692307691445.178908985124964.1.07.67416711.669230769230769344.15215398298382.4.25.93520995.0208791208791380.399650240761163.0.07.975704178.37252747252745337.86680305496753.1.08.20709261.7241758241758333.0437060226633.2.08.498077345.0758241758241326.97826327271633.3.38.309425428.4274725274725330.910596695387943.4.05.532515511.77912087912074388.79355581986624.0.03.765265595.1307692307691425.63078119365734.1.015.17274111.669230769230769187.849050053120832.4.217.16278295.0208791208791146.367885067926583.0.021.243036178.3725274725274561.317532157861423.1.021.62422261.724175824175853.37198912949353.2.022.775075345.075824175824129.383133558660633.3.322.034908428.427472527472544.811453600105153.4.023.038316511.7791208791207423.8960388948485164.0.023.710508595.13076923076919.8846153846153584.1.0ConnectShow CommandSimple ConfigLarge ACL \ No newline at end of file +Netmiko: Cisco NX-OS Performance (nx9k virtual)002244668810101212141416161818202022222424262628282.4.23.0.03.1.03.2.03.3.33.4.04.0.04.1.04.2.0Netmiko: Cisco NX-OS Performance (nx9k virtual)4.98773411.669230769230769417.320794230013632.4.25.70400384.60192307692306404.85656208356413.0.07.65255157.53461538461536370.94871160243513.1.07.812037230.46730769230766368.17338139501193.2.07.945623303.4365.84877022865463.3.37.719243376.33269230769224369.788146180026563.4.05.363876449.26538461538456410.775318706111534.0.03.346325522.1980769230769445.88394972504634.1.02.870104595.1307692307691454.17096074606554.2.05.3627611.669230769230769410.7947389003062.4.26.28916684.60192307692306394.67378511637323.0.08.914154157.53461538461536348.994773720313563.1.08.36903230.46730769230766358.480807716760643.2.07.960268303.4365.593923683872163.3.38.21612376.33269230769224361.14168755033383.4.04.947016449.26538461538456418.02935289238654.0.02.827452522.1980769230769454.91317411773224.1.02.917957595.1307692307691453.33824161274544.2.07.67416711.669230769230769370.572541048760742.4.25.93520984.60192307692306400.83320597342673.0.07.975704157.53461538461536365.32531246739823.1.08.20709230.46730769230766361.29882406787463.2.08.498077303.4356.23518244775863.3.38.309425376.33269230769224359.518030543783943.4.05.532515449.26538461538456407.8407289850084.0.03.765265522.1980769230769438.593720194753134.1.04.182973595.1307692307691431.324929445147754.2.015.17274111.669230769230769240.08529798319372.4.217.16278284.60192307692306205.45538519211593.0.021.243036157.53461538461536134.452405763326853.1.021.62422230.46730769230766127.81919133339593.2.022.775075303.4107.792464102562013.3.322.034908376.33269230769224120.672559869852083.4.023.038316449.26538461538456103.211647489720354.0.023.710508522.198076923076991.514426005911564.1.028.401443595.13076923076919.8846153846153584.2.0ConnectShow CommandSimple ConfigLarge ACL \ No newline at end of file diff --git a/tests/performance/graphs/netmiko_cisco_xe.svg b/tests/performance/graphs/netmiko_cisco_xe.svg index 7d28a82ae..23a76be92 100644 --- a/tests/performance/graphs/netmiko_cisco_xe.svg +++ b/tests/performance/graphs/netmiko_cisco_xe.svg @@ -1,4 +1,4 @@ -Netmiko: Cisco IOS-XE Performance (Cisco C1111-4P)0022446688101012121414161618182.4.23.0.03.1.03.2.03.3.33.4.04.0.04.1.0Netmiko: Cisco IOS-XE Performance (Cisco C1111-4P)4.82433811.669230769230769375.79041728981432.4.25.34021395.0208791208791362.068401436223843.0.07.53684178.37252747252745303.639226697334153.1.07.527892261.7241758241758303.87723900236533.2.03.070582345.0758241758241422.439445902034833.3.33.067946428.4274725274725422.509562177857563.4.03.077292511.77912087912074422.26096327275914.0.00.883392595.1307692307691480.61760118153934.1.05.34378211.669230769230769361.97346782908752.4.25.96110895.0208791208791345.55290633873893.0.07.961087178.37252747252745292.35446961502133.1.07.963046261.7241758241758292.302361199111943.2.03.149141345.0758241758241420.34981596563123.3.32.977177428.4274725274725424.923971980648053.4.02.965434511.77912087912074425.236329881629334.0.00.982203595.1307692307691477.989278218594564.1.07.5380311.669230769230769303.607573295122852.4.25.81018295.0208791208791349.56746212205663.0.07.810232178.37252747252745296.367136834005243.1.07.80769261.7241758241758296.43475275704833.2.03.024375345.0758241758241423.66852889025263.3.33.222384428.4274725274725418.401588958770053.4.03.015565511.77912087912074423.90287046460714.0.01.027332595.1307692307691476.78886948885064.1.015.06086611.669230769230769103.503914742255122.4.216.61302795.020879120879162.217211860113713.0.018.580455178.372527472527459.8846153846154153.1.018.531863261.724175824175811.177138174744133.2.08.902653345.0758241758241267.30928700450183.3.310.138406428.4274725274725234.438877976884843.4.010.685372511.77912087912074219.889857141653644.0.07.759537595.1307692307691297.715598367705754.1.0ConnectShow CommandSimple ConfigLarge ACL \ No newline at end of file +Netmiko: Cisco IOS-XE Performance (Cisco C1111-4P)0022446688101012121414161618182.4.23.0.03.1.03.2.03.3.33.4.04.0.04.1.04.2.0Netmiko: Cisco IOS-XE Performance (Cisco C1111-4P)4.82433811.669230769230769375.79041728981432.4.25.34021384.60192307692306362.068401436223843.0.07.53684157.53461538461536303.639226697334153.1.07.527892230.46730769230766303.87723900236533.2.03.070582303.4422.439445902034833.3.33.067946376.33269230769224422.509562177857563.4.03.077292449.26538461538456422.26096327275914.0.00.883392522.1980769230769480.61760118153934.1.00.794856595.1307692307691482.972614306062674.2.05.34378211.669230769230769361.97346782908752.4.25.96110884.60192307692306345.55290633873893.0.07.961087157.53461538461536292.35446961502133.1.07.963046230.46730769230766292.302361199111943.2.03.149141303.4420.34981596563123.3.32.977177376.33269230769224424.923971980648053.4.02.965434449.26538461538456425.236329881629334.0.00.982203522.1980769230769477.989278218594564.1.00.889877595.1307692307691480.44510343923644.2.07.5380311.669230769230769303.607573295122852.4.25.81018284.60192307692306349.56746212205663.0.07.810232157.53461538461536296.367136834005243.1.07.80769230.46730769230766296.43475275704833.2.03.024375303.4423.66852889025263.3.33.222384376.33269230769224418.401588958770053.4.03.015565449.26538461538456423.90287046460714.0.01.027332522.1980769230769476.78886948885064.1.00.923853595.1307692307691479.541358906856264.2.015.06086611.669230769230769103.503914742255122.4.216.61302784.6019230769230662.217211860113713.0.018.580455157.534615384615369.8846153846154153.1.018.531863230.4673076923076611.177138174744133.2.08.902653303.4267.30928700450183.3.310.138406376.33269230769224234.438877976884843.4.010.685372449.26538461538456219.889857141653644.0.07.759537522.1980769230769297.715598367705754.1.09.778762595.1307692307691244.005227712089444.2.0ConnectShow CommandSimple ConfigLarge ACL \ No newline at end of file diff --git a/tests/performance/graphs/netmiko_cisco_xr.svg b/tests/performance/graphs/netmiko_cisco_xr.svg index cf60993ca..ca59878fa 100644 --- a/tests/performance/graphs/netmiko_cisco_xr.svg +++ b/tests/performance/graphs/netmiko_cisco_xr.svg @@ -1,4 +1,4 @@ -Netmiko: Cisco IOS-XR Performance (cisco IOS-XRv 9000)00224466881010121214141616181820202.4.23.0.03.1.03.2.03.3.33.4.04.0.04.1.0Netmiko: Cisco IOS-XR Performance (cisco IOS-XRv 9000)5.73379111.669230769230769363.85217273268252.4.26.26668195.0208791208791350.81631862147183.0.06.264205178.37252747252745350.87688792241453.1.06.273295261.7241758241758350.6545232432673.2.08.140628345.0758241758241304.97477589381493.3.38.07315428.4274725274725306.62546058243043.4.02.767007511.77912087912074436.42730719471834.0.02.700028595.1307692307691438.06578506541354.1.06.082411.669230769230769355.32430381816912.4.26.90005795.0208791208791335.322319609401353.0.06.999404178.37252747252745332.89203756547773.1.06.88443261.7241758241758335.704596049559543.2.08.500045345.0758241758241296.182515620420763.3.38.433702428.4274725274725297.8054353023443.4.02.512359511.77912087912074442.656649418651174.0.02.412279595.1307692307691445.104862519760164.1.013.66281911.669230769230769169.887841910739722.4.211.73262495.0208791208791217.105354767405173.0.012.024759178.37252747252745209.95898452067783.1.011.881486261.7241758241758213.463809017432253.2.09.143244345.0758241758241280.44822087201753.3.39.295759428.4274725274725276.717313386849243.4.03.235152511.77912087912074424.975281593012944.0.03.156762595.1307692307691426.892901746849254.1.018.55698911.66923076923076950.163909925781812.4.219.81228795.020879120879119.4561060749033463.0.019.590199178.3725274725274524.888947313903093.1.020.203558261.72417582417589.8846153846153583.2.016.494184345.0758241758241100.62540299166043.3.317.251342428.427472527472582.103379258552143.4.011.773506511.77912087912074216.105276350143584.0.012.579465595.1307692307691196.389455179513054.1.0ConnectShow CommandSimple ConfigLarge ACL \ No newline at end of file +Netmiko: Cisco IOS-XR Performance (cisco IOS-XRv 9000)00224466881010121214141616181820202.4.23.0.03.1.03.2.03.3.33.4.04.0.04.1.04.2.0Netmiko: Cisco IOS-XR Performance (cisco IOS-XRv 9000)5.73379111.669230769230769363.85217273268252.4.26.26668184.60192307692306350.81631862147183.0.06.264205157.53461538461536350.87688792241453.1.06.273295230.46730769230766350.6545232432673.2.08.140628303.4304.97477589381493.3.38.07315376.33269230769224306.62546058243043.4.02.767007449.26538461538456436.42730719471834.0.02.700028522.1980769230769438.06578506541354.1.02.106241595.1307692307691452.591335751546644.2.06.082411.669230769230769355.32430381816912.4.26.90005784.60192307692306335.322319609401353.0.06.999404157.53461538461536332.89203756547773.1.06.88443230.46730769230766335.704596049559543.2.08.500045303.4296.182515620420763.3.38.433702376.33269230769224297.8054353023443.4.02.512359449.26538461538456442.656649418651174.0.02.412279522.1980769230769445.104862519760164.1.02.385522595.1307692307691445.759407263428954.2.013.66281911.669230769230769169.887841910739722.4.211.73262484.60192307692306217.105354767405173.0.012.024759157.53461538461536209.95898452067783.1.011.881486230.46730769230766213.463809017432253.2.09.143244303.4280.44822087201753.3.39.295759376.33269230769224276.717313386849243.4.03.235152449.26538461538456424.975281593012944.0.03.156762522.1980769230769426.892901746849254.1.03.130367595.1307692307691427.53859104344964.2.018.55698911.66923076923076950.163909925781812.4.219.81228784.6019230769230619.4561060749033463.0.019.590199157.5346153846153624.888947313903093.1.020.203558230.467307692307669.8846153846153583.2.016.494184303.4100.62540299166043.3.317.251342376.3326923076922482.103379258552143.4.011.773506449.26538461538456216.105276350143584.0.012.579465522.1980769230769196.389455179513054.1.011.63506595.1307692307691219.492020065132984.2.0ConnectShow CommandSimple ConfigLarge ACL \ No newline at end of file diff --git a/tests/performance/graphs/netmiko_hp_procurve.svg b/tests/performance/graphs/netmiko_hp_procurve.svg index 04f367988..bb2997c69 100644 --- a/tests/performance/graphs/netmiko_hp_procurve.svg +++ b/tests/performance/graphs/netmiko_hp_procurve.svg @@ -1,4 +1,4 @@ -Netmiko: HPE ProCurve Performance0010102020303040402.4.23.0.03.1.03.2.03.3.33.4.04.1.0Netmiko: HPE ProCurve Performance11.25826911.669230769230769373.595712950305942.4.217.901763108.91282051282049296.576176857419973.0.018.419321206.15641025641023290.576009315888033.1.018.353988303.4291.33342963591193.2.018.020695400.64358974358964295.197371146660033.3.318.010017497.88717948717954295.321163627905553.4.01.873823595.1307692307691482.39172863252684.1.021.83115511.669230769230769251.02184220052142.4.222.221532108.91282051282049246.496112901852263.0.022.93706206.15641025641023238.200834149215383.1.022.718488303.4240.734789029417583.2.022.391657400.64358974358964244.523815105270783.3.322.410676497.88717948717954244.30332351500963.4.02.322253595.1307692307691477.192977708670644.1.032.21674111.669230769230769130.619382926414742.4.230.53423108.91282051282049150.125115405615823.0.031.002139206.15641025641023144.700540006934663.1.030.893432303.4145.960804968421663.2.030.752905400.64358974358964147.589966423000423.3.330.529921497.88717948717954150.175070622106433.4.02.099819595.1307692307691479.771705632754734.1.042.48894511.66923076923076911.5313869514821482.4.242.045111108.9128205128204916.676855402609023.0.042.630991206.156410256410239.8846153846154153.1.042.584148303.410.4276769316265363.2.042.227986400.6435897435896414.5567439577899343.3.342.211889497.8871794871795414.7433601378432973.4.010.649204595.1307692307691380.65674194354564.1.0ConnectShow CommandSimple ConfigLarge ACL \ No newline at end of file +Netmiko: HPE ProCurve Performance0010102020303040402.4.23.0.03.1.03.2.03.3.33.4.04.1.04.2.0Netmiko: HPE ProCurve Performance11.25826911.669230769230769373.595712950305942.4.217.90176395.0208791208791296.576176857419973.0.018.419321178.37252747252745290.576009315888033.1.018.353988261.7241758241758291.33342963591193.2.018.020695345.0758241758241295.197371146660033.3.318.010017428.4274725274725295.321163627905553.4.01.873823511.77912087912074482.39172863252684.1.01.922824595.1307692307691481.82364890097484.2.021.83115511.669230769230769251.02184220052142.4.222.22153295.0208791208791246.496112901852263.0.022.93706178.37252747252745238.200834149215383.1.022.718488261.7241758241758240.734789029417583.2.022.391657345.0758241758241244.523815105270783.3.322.410676428.4274725274725244.30332351500963.4.02.322253511.77912087912074477.192977708670644.1.02.093454595.1307692307691479.84549652460044.2.032.21674111.669230769230769130.619382926414742.4.230.5342395.0208791208791150.125115405615823.0.031.002139178.37252747252745144.700540006934663.1.030.893432261.7241758241758145.960804968421663.2.030.752905345.0758241758241147.589966423000423.3.330.529921428.4274725274725150.175070622106433.4.02.099819511.77912087912074479.771705632754734.1.02.080615595.1307692307691479.99434197006874.2.042.48894511.66923076923076911.5313869514821482.4.242.04511195.020879120879116.676855402609023.0.042.630991178.372527472527459.8846153846154153.1.042.584148261.724175824175810.4276769316265363.2.042.227986345.075824175824114.5567439577899343.3.342.211889428.427472527472514.7433601378432973.4.010.649204511.77912087912074380.65674194354564.1.010.503179595.1307692307691382.349642961889864.2.0ConnectShow CommandSimple ConfigLarge ACL \ No newline at end of file diff --git a/tests/performance/graphs/netmiko_juniper_junos.svg b/tests/performance/graphs/netmiko_juniper_junos.svg index bc04f966e..107594272 100644 --- a/tests/performance/graphs/netmiko_juniper_junos.svg +++ b/tests/performance/graphs/netmiko_juniper_junos.svg @@ -1,4 +1,4 @@ -Netmiko: Juniper Junos Performance00448812121616202024242828323236362.4.23.0.03.1.03.2.03.3.33.4.04.0.04.1.0Netmiko: Juniper Junos Performance6.95582711.669230769230769413.133807933398432.4.28.24596695.0208791208791396.25890860670143.0.07.763991178.37252747252745402.56309722745063.1.07.762834261.7241758241758402.57823068091653.2.03.517362345.0758241758241458.108613526726973.3.33.991287428.4274725274725451.909718164750533.4.05.92602511.77912087912074426.603588670921974.0.03.491516595.1307692307691458.44667682688134.1.07.79519311.669230769230769402.15497794046562.4.28.63810495.0208791208791391.12977967394893.0.08.640627178.37252747252745391.09677906626153.1.08.832251261.7241758241758388.5903547905993.2.04.262974345.0758241758241448.35607722112173.3.34.1622428.4274725274725449.67419186206243.4.06.641656511.77912087912074417.243135685189264.0.03.979298595.1307692307691452.066533180828464.1.020.18372611.669230769230769240.11410701069452.4.218.75418795.0208791208791258.81234550173093.0.018.747711178.37252747252745258.897050985434363.1.018.852219261.7241758241758257.530095968312543.2.014.697604345.0758241758241311.872077620045733.3.316.79162428.4274725274725284.482541152662863.4.017.185611511.77912087912074279.32917515053084.0.03.606049595.1307692307691456.948595732840544.1.035.18357611.66923076923076943.917450165535572.4.237.20446995.020879120879117.4843558051397853.0.037.257378178.3725274725274516.7923109568899353.1.037.785493261.72417582417589.8846153846154153.2.029.58927345.0758241758241117.090457533530243.3.327.660851428.4274725274725142.31400048873873.4.032.165569511.7791208791207483.392703833758164.0.017.841704595.1307692307691270.74753912220314.1.0ConnectShow CommandSimple ConfigLarge ACL \ No newline at end of file +Netmiko: Juniper Junos Performance00448812121616202024242828323236362.4.23.0.03.1.03.2.03.3.33.4.04.0.04.1.04.2.0Netmiko: Juniper Junos Performance6.95582711.669230769230769413.133807933398432.4.28.24596684.60192307692306396.25890860670143.0.07.763991157.53461538461536402.56309722745063.1.07.762834230.46730769230766402.57823068091653.2.03.517362303.4458.108613526726973.3.33.991287376.33269230769224451.909718164750533.4.05.92602449.26538461538456426.603588670921974.0.03.491516522.1980769230769458.44667682688134.1.03.352394595.1307692307691460.266379776818274.2.07.79519311.669230769230769402.15497794046562.4.28.63810484.60192307692306391.12977967394893.0.08.640627157.53461538461536391.09677906626153.1.08.832251230.46730769230766388.5903547905993.2.04.262974303.4448.35607722112173.3.34.1622376.33269230769224449.67419186206243.4.06.641656449.26538461538456417.243135685189264.0.03.979298522.1980769230769452.066533180828464.1.03.991835595.1307692307691451.90255037520924.2.020.18372611.669230769230769240.11410701069452.4.218.75418784.60192307692306258.81234550173093.0.018.747711157.53461538461536258.897050985434363.1.018.852219230.46730769230766257.530095968312543.2.014.697604303.4311.872077620045733.3.316.79162376.33269230769224284.482541152662863.4.017.185611449.26538461538456279.32917515053084.0.03.606049522.1980769230769456.948595732840544.1.03.718561595.1307692307691455.47694913271044.2.035.18357611.66923076923076943.917450165535572.4.237.20446984.6019230769230617.4843558051397853.0.037.257378157.5346153846153616.7923109568899353.1.037.785493230.467307692307669.8846153846154153.2.029.58927303.4117.090457533530243.3.327.660851376.33269230769224142.31400048873873.4.032.165569449.2653846153845683.392703833758164.0.017.841704522.1980769230769270.74753912220314.1.018.232042595.1307692307691265.641954023710474.2.0ConnectShow CommandSimple ConfigLarge ACL \ No newline at end of file diff --git a/tests/performance/netmiko_performance.csv b/tests/performance/netmiko_performance.csv index 6e3288e81..37de1d1fb 100644 --- a/tests/performance/netmiko_performance.csv +++ b/tests/performance/netmiko_performance.csv @@ -68,5 +68,11 @@ date,netmiko_version,device_name,connect,send_command_simple,send_config_simple, 2022-4-27 14:26:2,4.1.0,arista1,0:00:01.788259,0:00:02.563968,0:00:02.715299,0:00:28.072290 2022-4-27 14:26:34,4.1.0,juniper_vmx,0:00:03.491516,0:00:03.979298,0:00:03.606049,0:00:17.841704 2022-4-27 14:29:21,4.1.0,hp_procurve,0:00:01.873823,0:00:02.322253,0:00:02.099819,0:00:10.649204 -2022-5-20 11:38:5,4.1.0,linux_srv1,0:00:03.349217,0:00:03.523378,0:00:04.188625,0:00:10.252565 -2022-5-20 13:8:5,4.1.1-a1,linux_srv1,0:00:01.082305,0:00:01.244256,0:00:01.651606,0:00:07.775715 +2023-5-5 10:41:36,4.2.0,cisco1,0:00:00.950239,0:00:01.018443,0:00:01.222409,0:00:04.190270 +2023-5-5 10:41:49,4.2.0,cisco3,0:00:00.794856,0:00:00.889877,0:00:00.923853,0:00:09.778762 +2023-5-5 10:42:7,4.2.0,cisco5,0:00:01.488929,0:00:01.200243,0:00:01.568345,0:00:12.064722 +2023-5-5 10:42:50,4.2.0,nxos1,0:00:02.870104,0:00:02.917957,0:00:04.182973,0:00:28.401443 +2023-5-5 10:43:12,4.2.0,cisco_xr_azure,0:00:02.106241,0:00:02.385522,0:00:03.130367,0:00:11.635060 +2023-5-5 10:43:22,4.2.0,arista1,0:00:00.959298,0:00:01.146205,0:00:01.126909,0:00:05.723498 +2023-5-5 10:43:55,4.2.0,juniper_vmx,0:00:03.352394,0:00:03.991835,0:00:03.718561,0:00:18.232042 +2023-5-5 10:46:42,4.2.0,hp_procurve,0:00:01.922824,0:00:02.093454,0:00:02.080615,0:00:10.503179 diff --git a/tests/performance/performance_report.md b/tests/performance/performance_report.md index e4fff7b9c..b527ca8d7 100644 --- a/tests/performance/performance_report.md +++ b/tests/performance/performance_report.md @@ -1,10 +1,10 @@ # Netmiko performance ![](graphs/netmiko_arista_eos.svg) -![](graphs/netmiko_cisco_xr.svg) -![](graphs/netmiko_cisco_xe.svg) -![](graphs/netmiko_cisco_ios.svg) ![](graphs/netmiko_cisco_asa.svg) -![](graphs/netmiko_juniper_junos.svg) +![](graphs/netmiko_cisco_ios.svg) ![](graphs/netmiko_cisco_nxos.svg) -![](graphs/netmiko_hp_procurve.svg) \ No newline at end of file +![](graphs/netmiko_cisco_xe.svg) +![](graphs/netmiko_cisco_xr.svg) +![](graphs/netmiko_hp_procurve.svg) +![](graphs/netmiko_juniper_junos.svg) \ No newline at end of file diff --git a/tests/performance/requirements.txt b/tests/performance/requirements.txt index f831c367e..1e61c5755 100644 --- a/tests/performance/requirements.txt +++ b/tests/performance/requirements.txt @@ -1,3 +1,2 @@ -pyaml pygal jinja2 diff --git a/tests/performance/test_netmiko.py b/tests/performance/test_netmiko.py index 433bba473..180301eb0 100644 --- a/tests/performance/test_netmiko.py +++ b/tests/performance/test_netmiko.py @@ -176,10 +176,8 @@ def main(): for dev_name, params in devices.items(): remove_old_data(dev_name) dev_dict = params["device"] - if dev_name != "linux_srv1": + if dev_name == "linux_srv1": continue - # if dev_name != "cisco_xr_azure": - # continue print("-" * 80) print(f"Device name: {dev_name}") print("-" * 12) diff --git a/tests/performance/test_performance.sh b/tests/performance/test_performance.sh index a318610e4..766ffa525 100755 --- a/tests/performance/test_performance.sh +++ b/tests/performance/test_performance.sh @@ -2,7 +2,7 @@ export PYTHONPATH=~/netmiko/tests -pip show pyaml pygal jinja2 +pip show pygal jinja2 if [ $? -eq 0 ]; then echo echo "Checking dependencies ... [OK]" From f5bf592d894b1b2177b347e2116202f72cdbf95b Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Fri, 5 May 2023 11:00:31 -0700 Subject: [PATCH 69/70] Updating platforms.md for new drivers (#3202) --- PLATFORMS.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/PLATFORMS.md b/PLATFORMS.md index 19e6291be..5f5aad830 100644 --- a/PLATFORMS.md +++ b/PLATFORMS.md @@ -3,7 +3,6 @@ ###### Regularly tested - Arista vEOS -- Cisco ASA - Cisco IOS - Cisco IOS-XE - Cisco IOS-XR @@ -17,7 +16,7 @@ - 6Wind - Adtran OS -- Adva AOS FSP150 +- Adva AOS FSP150 F2 & F3 - Alcatel AOS6/AOS8 - Apresia Systems AEOS - AudioCodes Gateways & Controllers @@ -25,11 +24,14 @@ - Calix B6 - Centec Networks - Cisco AireOS (Wireless LAN Controllers) +- Cisco ASA +- Cisco S200 - CloudGenix ION - Dell OS9 (Force10) - Dell OS10 - Dell PowerConnect - Ericsson IPOS +- Ericsson MINI-LINK 66XX & 63XX - Extreme ERS (Avaya) - Extreme MLX/NetIron (Brocade/Foundry) - Extreme TierraOS @@ -55,6 +57,7 @@ - Ruckus ICX/FastIron - Ruijie Networks - Supermicro SMIS +- Teldat CIT - TPLink JetStream - Ubiquiti EdgeSwitch - Vyatta VyOS From e489d99132af4a17546aea9dfe283f35854aa95a Mon Sep 17 00:00:00 2001 From: Kirk Byers Date: Fri, 5 May 2023 11:09:06 -0700 Subject: [PATCH 70/70] Update the supported device types in PLATFORMS.md (#3203) --- PLATFORMS.md | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/PLATFORMS.md b/PLATFORMS.md index 5f5aad830..73673644e 100644 --- a/PLATFORMS.md +++ b/PLATFORMS.md @@ -121,6 +121,9 @@ - aruba_os - aruba_osswitch - aruba_procurve +- audiocode_66 +- audiocode_72 +- audiocode_shell - avaya_ers - avaya_vsp - broadcom_icos @@ -140,6 +143,7 @@ - cisco_ftd - cisco_ios - cisco_nxos +- cisco_s200 - cisco_s300 - cisco_tp - cisco_viptela @@ -162,6 +166,8 @@ - endace - enterasys - ericsson_ipos +- ericsson_mltn63 +- ericsson_mltn66 - extreme - extreme_ers - extreme_exos @@ -185,6 +191,7 @@ - huawei - huawei_olt - huawei_smartax +- huawei_vrp - huawei_vrpv8 - ipinfusion_ocnos - juniper @@ -202,8 +209,8 @@ - netapp_cdot - netgear_prosafe - netscaler -- nokia_sros - nokia_srl +- nokia_sros - oneaccess_oneos - ovs_linux - paloalto_panos @@ -216,6 +223,7 @@ - sixwind_os - sophos_sfos - supermicro_smis +- teldat_cit - tplink_jetstream - ubiquiti_edge - ubiquiti_edgerouter @@ -234,6 +242,9 @@ - apresia_aeos_telnet - arista_eos_telnet - aruba_procurve_telnet +- audiocode_72_telnet +- audiocode_66_telnet +- audiocode_shell_telnet - brocade_fastiron_telnet - brocade_netiron_telnet - calix_b6_telnet @@ -241,6 +252,7 @@ - ciena_saos_telnet - cisco_ios_telnet - cisco_xr_telnet +- cisco_s200_telnet - cisco_s300_telnet - dell_dnos6_telnet - dell_powerconnect_telnet @@ -264,6 +276,7 @@ - ruckus_fastiron_telnet - ruijie_os_telnet - supermicro_smis_telnet +- teldat_cit_telnet - tplink_jetstream_telnet - yamaha_telnet - zte_zxros_telnet @@ -282,4 +295,4 @@ - juniper_junos - linux - nokia_sros - +- ubiquiti_edgerouter