Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changes/418.added
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Added the `arista_eos_ssh` device type, an SSH-only Arista EOS driver for environments where eAPI is not enabled; it exposes the same API as `arista_eos_eapi` and obtains structured data via the CLI's `| json` pipe.
5 changes: 4 additions & 1 deletion docs/user/lib_getting_started.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,19 @@ The first way is to use the `ntc_device` object. Just pass in all required param

Like many libraries, we need to pass in the host/IP and credentials. Because this is a multi-vendor/API library, we also use the `device_type` parameter to identify which device we are building an instance of.

pyntc currently supports seven device types:
pyntc currently supports the following device types:

- cisco_aireos_ssh
- cisco_asa_ssh
- cisco_ios_ssh
- cisco_nxos_nxapi
- arista_eos_eapi
- arista_eos_ssh
- juniper_junos_netconf
- f5_tmos_icontrol

Arista EOS is supported over two transports. `arista_eos_eapi` uses eAPI (JSON-RPC over HTTP/HTTPS) and requires `management api http-commands` to be enabled on the device. `arista_eos_ssh` uses SSH only, for environments where eAPI is not available; it exposes exactly the same methods and properties as the eAPI driver, so the two are interchangeable.

The example below shows how to build a device object when working with a Cisco IOS router.

```python
Expand Down
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,7 @@ nav:
- pyntc.devices.asa_device: "code-reference/pyntc/devices/asa_device.md"
- pyntc.devices.base_device: "code-reference/pyntc/devices/base_device.md"
- pyntc.devices.eos_device: "code-reference/pyntc/devices/eos_device.md"
- pyntc.devices.eos_ssh_device: "code-reference/pyntc/devices/eos_ssh_device.md"
- pyntc.devices.f5_device: "code-reference/pyntc/devices/f5_device.md"
- pyntc.devices.ios_device: "code-reference/pyntc/devices/ios_device.md"
- pyntc.devices.iosxewlc_device: "code-reference/pyntc/devices/iosxewlc_device.md"
Expand Down
2 changes: 2 additions & 0 deletions pyntc/devices/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
from .aireos_device import AIREOSDevice
from .asa_device import ASADevice
from .eos_device import EOSDevice
from .eos_ssh_device import EOSSSHDevice
from .f5_device import F5Device
from .ios_device import IOSDevice
from .iosxewlc_device import IOSXEWLCDevice
Expand All @@ -13,6 +14,7 @@
supported_devices = {
"cisco_asa_ssh": ASADevice,
"arista_eos_eapi": EOSDevice,
"arista_eos_ssh": EOSSSHDevice,
"f5_tmos_icontrol": F5Device,
"cisco_ios_ssh": IOSDevice,
"cisco_iosxr_ssh": IOSXRDevice,
Expand Down
Loading
Loading