def enter_enable_mode(session): session.hardware_expect('enable', re_string=DEFAULT_PROMPT + '|' + ENABLE_PROMPT, expect_map={'[Pp]assword': lambda session: session.send_line( get_decrypted_password_by_attribute_name_wrapper('Enable Password')())}) result = session.hardware_expect('', re_string=DEFAULT_PROMPT + '|' + ENABLE_PROMPT) if not re.search(ENABLE_PROMPT, result): raise Exception('enter_enable_mode', 'Enable password is incorrect')
def enter_enable_mode(session): session.hardware_expect( 'enable', re_string=DEFAULT_PROMPT + '|' + ENABLE_PROMPT, expect_map={ '[Pp]assword': lambda session: session.send_line( get_decrypted_password_by_attribute_name_wrapper( 'Enable Password')()) }) result = session.hardware_expect('', re_string=DEFAULT_PROMPT + '|' + ENABLE_PROMPT) if not re.search(ENABLE_PROMPT, result): raise Exception('enter_enable_mode', 'Enable password is incorrect') return result
get_decrypted_password_by_attribute_name_wrapper """Session types implemented in current package""" CONNECTION_TYPE_SSH = 'ssh' CONNECTION_TYPE_TELNET = 'telnet' CONNECTION_TYPE_TCP = 'tcp' CONNECTION_TYPE_AUTO = 'auto' """Connection map, defines SessionCreator objects which used for session creation""" CONNECTION_MAP = OrderedDict() """Definition for SSH session""" ssh_session = SessionCreator(SSHSession) ssh_session.proxy = ReturnToPoolProxy ssh_session.kwargs = {'username': get_attribute_by_name_wrapper('User'), 'password': get_decrypted_password_by_attribute_name_wrapper('Password'), 'host': get_resource_address, 'port': get_attribute_by_name_wrapper('CLI TCP Port')} CONNECTION_MAP[CONNECTION_TYPE_SSH] = ssh_session """Definition for TCP session""" tcp_session = SessionCreator(TCPSession) tcp_session.proxy = ReturnToPoolProxy tcp_session.kwargs = {'host': get_resource_address, 'port': get_attribute_by_name_wrapper('CLI TCP Port')} CONNECTION_MAP[CONNECTION_TYPE_TCP] = tcp_session """Definition for Telnet session""" telnet_session = SessionCreator(TelnetSession) telnet_session.proxy = ReturnToPoolProxy telnet_session.kwargs = {'username': get_attribute_by_name_wrapper('User'), 'password': get_decrypted_password_by_attribute_name_wrapper('Password'),
from collections import OrderedDict from cloudshell.cli.session.session_creator import SessionCreator from cloudshell.cli.session.session_proxy import ReturnToPoolProxy from cloudshell.configuration.cloudshell_cli_configuration import CONNECTION_TYPE_SSH from cloudshell.networking.cisco.aireos.cli.aireos_ssh_session import AireOSSSHSession from cloudshell.shell.core.context_utils import get_attribute_by_name_wrapper, \ get_resource_address, get_attribute_by_name, get_decrypted_password_by_attribute_name_wrapper from cloudshell.shell.core.dependency_injection.context_based_logger import get_logger_with_thread_id from cloudshell.configuration.cloudshell_cli_configuration import CONNECTION_MAP """Definition for SSH session""" ssh_session = SessionCreator(AireOSSSHSession) ssh_session.proxy = ReturnToPoolProxy ssh_session.kwargs = {'username': get_attribute_by_name_wrapper('User'), 'password': get_decrypted_password_by_attribute_name_wrapper('Password'), 'host': get_resource_address} CONNECTION_MAP[CONNECTION_TYPE_SSH] = ssh_session CONNECTION_EXPECTED_MAP = OrderedDict({r'[Uu]ser:': lambda session: session.send_line(get_attribute_by_name('User')), r'[Pp]assword:': lambda session: session.send_line( get_decrypted_password_by_attribute_name_wrapper('Password')())}) GET_LOGGER_FUNCTION = get_logger_with_thread_id DEFAULT_PROMPT = r'[>$#]\s*$' CONFIG_MODE_PROMPT = DEFAULT_PROMPT ENTER_CONFIG_MODE_PROMPT_COMMAND = '' EXIT_CONFIG_MODE_PROMPT_COMMAND = ''