from netmiko.cisco_base_connection import CiscoSSHConnection import re class EndaceSSH(CiscoSSHConnection): def disable_paging(self, command="no cli session paging enable", delay_factor=1): return super().disable_paging(command=command, delay_factor=delay_factor) def enable(self, cmd="enable", pattern="", re_flags=re.IGNORECASE): return super().enable(cmd=cmd, pattern=pattern, re_flags=re_flags) def check_config_mode(self, check_string="(config) #"): return super().check_config_mode(check_string=check_string) def config_mode(self, config_command="conf t", pattern=""): output = "" if not self.check_config_mode(): output = self.send_command_timing( config_command, strip_command=False, strip_prompt=False ) if "to enter configuration mode anyway" in output: output += self.send_command_timing( "YES", strip_command=False, strip_prompt=False ) if not self.check_config_mode(): raise ValueError("Failed to enter configuration mode") return output def exit_config_mode(self, exit_config="exit", pattern="#"): return super().exit_config_mode(exit_config=exit_config, pattern=pattern) def save_config( self, cmd="configuration write", confirm=False, confirm_response="" ): self.enable() self.config_mode() return super().save_config( cmd=cmd, confirm=confirm, confirm_response=confirm_response )