Skip to content

Commit f9b000b

Browse files
authored
Merge pull request #3584 from ktbyers/cisco_ap
Driver for Cisco Access Points
2 parents b7a2f56 + 50088b3 commit f9b000b

File tree

7 files changed

+47
-2
lines changed

7 files changed

+47
-2
lines changed

netmiko/cisco/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
from netmiko.cisco.cisco_ios import CiscoIosFileTransfer
88
from netmiko.cisco.cisco_ios import InLineTransfer
99
from netmiko.cisco.cisco_asa_ssh import CiscoAsaSSH, CiscoAsaFileTransfer
10+
from netmiko.cisco.cisco_ap_ssh import CiscoApSSH
1011
from netmiko.cisco.cisco_ftd_ssh import CiscoFtdSSH
1112
from netmiko.cisco.cisco_nxos import (
1213
CiscoNxosSSH,
@@ -27,6 +28,7 @@
2728
"CiscoIosSSH",
2829
"CiscoIosTelnet",
2930
"CiscoAsaSSH",
31+
"CiscoApSSH",
3032
"CiscoFtdSSH",
3133
"CiscoNxosSSH",
3234
"CiscoNxosTelnet",

netmiko/cisco/cisco_ap_ssh.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
"""Subclass specific to Cisco AP."""
2+
3+
from netmiko.no_config import NoConfig
4+
from netmiko.cisco_base_connection import CiscoBaseConnection
5+
6+
7+
class CiscoApSSH(NoConfig, CiscoBaseConnection):
8+
"""Subclass specific to Cisco AP."""
9+
10+
def session_preparation(self) -> None:
11+
"""Prepare the session after the connection has been established."""
12+
cmd = "terminal width 132"
13+
self.set_terminal_width(command=cmd, pattern=cmd)
14+
self.disable_paging()
15+
self.set_base_prompt()

netmiko/ssh_autodetect.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,12 @@
101101
"priority": 99,
102102
"dispatch": "_autodetect_std",
103103
},
104+
"cisco_ap": {
105+
"cmd": "show version",
106+
"search_patterns": [r"Cisco AP Software"],
107+
"priority": 99,
108+
"dispatch": "_autodetect_std",
109+
},
104110
"cisco_asa": {
105111
"cmd": "show version",
106112
"search_patterns": [r"Cisco Adaptive Security Appliance", r"Cisco ASA"],

netmiko/ssh_dispatcher.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
CienaSaosFileTransfer,
4444
)
4545
from netmiko.cisco import CiscoAsaSSH, CiscoAsaFileTransfer
46-
from netmiko.cisco import CiscoApicSSH
46+
from netmiko.cisco import CiscoApicSSH, CiscoApSSH
4747
from netmiko.cisco import CiscoFtdSSH
4848
from netmiko.cisco import (
4949
CiscoIosSSH,
@@ -217,8 +217,9 @@
217217
"ciena_saos": CienaSaosSSH,
218218
"ciena_saos10": CienaSaos10SSH,
219219
"ciena_waveserver": CienaWaveserverSSH,
220-
"cisco_asa": CiscoAsaSSH,
220+
"cisco_ap": CiscoApSSH,
221221
"cisco_apic": CiscoApicSSH,
222+
"cisco_asa": CiscoAsaSSH,
222223
"cisco_ftd": CiscoFtdSSH,
223224
"cisco_ios": CiscoIosSSH,
224225
"cisco_nxos": CiscoNxosSSH,

tests/etc/commands.yml.example

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,12 @@ cisco_asa:
6767
config_verification: "show run | inc logging buffer"
6868
config_file: "cisco_asa_commands.txt"
6969

70+
cisco_ap:
71+
version: "show version"
72+
basic: "show ip interface brief"
73+
wide_command: "show configuration wlan myverybiglonglistthatdoesntexistandwherethisexceeds80characterssolinewrappingoccurs"
74+
extended_output: "show version" # requires paging to be disabled
75+
7076
arista_eos:
7177
version: "show version"
7278
basic: "show ip int brief"

tests/etc/responses.yml.example

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,14 @@ cisco_ios:
1010
file_check_cmd: "logging buffered 8880"
1111
save_config: 'OK'
1212

13+
cisco_ap:
14+
base_prompt: ap01-test
15+
router_prompt: ap01-test>
16+
enable_prompt: ap01-test#
17+
interface_ip: 10.10.10.100
18+
version_banner: "Cisco AP Software"
19+
multiple_line_output: "Cisco AP Software"
20+
1321
juniper:
1422
base_prompt: pyclass@pynet-jnpr-srx1
1523
router_prompt: pyclass@pynet-jnpr-srx1>

tests/etc/test_devices.yml.example

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,13 @@ cisco_asa_21: # the device_name does not have to match the device
1717
password: cisco123
1818
secret: cisco123
1919

20+
cisco_ap:
21+
device_type: cisco_ap
22+
ip: 10.10.10.100
23+
username: admin
24+
password: cisco123
25+
secret: cisco123
26+
2027
arista_eos:
2128
device_type: arista_eos
2229
ip: 10.10.10.12

0 commit comments

Comments
 (0)