Python & ARISTA eAPI

Von ARISTA wird ein Python Paket bereitgestellt um über die eAPI mit dem Switch arbeiten zu können. Dies ist eine Qickanleitung.

pyeapi Paket installieren

pip install pyeapi

ARISTA eAPI aktivieren

Auf dem Arista Switch muss die API Schnittstelle aktiviert werden.

!
management api http-commands
   protocol http
   protocol https
    no shutdown
   !
   vrf MANAGEMENT
      no shutdown
!

Beispiel: Aktuelle running-config auslesen

#!/usr/bin/env python3

import pyeapi
import os, ssl

username = "apiuser"
password = "supersecret"
ip = "10.1.1.1"

# redhat ssl verification patch
if (not os.environ.get('PYTHONHTTPSVERIFY', '') and getattr(ssl, '_create_unverified_context', None)):
    ssl._create_default_https_context = ssl._create_unverified_context


conn = pyeapi.client.connect(
    transport='https',
    host=ip,
    username=username,
    password=password,
    port=443,
    timeout=60)

node = pyeapi.client.Node(conn)

print(node.running_config)

Beispiel: Command execute & result

#!/usr/bin/env python3

import pyeapi
import os, ssl

username = "apiuser"
password = "supersecret"
ip = "10.1.1.1"

# redhat ssl verification patch
if (not os.environ.get('PYTHONHTTPSVERIFY', '') and getattr(ssl, '_create_unverified_context', None)):
    ssl._create_default_https_context = ssl._create_unverified_context


conn = pyeapi.client.connect(
    transport='https',
    host=ip,
    username=username,
    password=password,
    port=443,
    timeout=60)

node = pyeapi.client.Node(conn)

result = node.enable(commands=["show running-config"], encoding="text")

print result[0]['result']['output']

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.