Cisco Python Pakke er en samling af Python-biblioteker, som giver mulighed for at interagere med og konfigurere Cisco-netværksenheder, såsom switche og routere, ved hjælp af Python-scripts. Det er en del af Cisco Nexus 3600 NX-OS-programmerbarheds-API'en og giver mulighed for at automatisere konfigurationsopgaver og samtidig reducere risikoen for fejl, der kan opstå ved manuel konfiguration.

Man kan finde dokumentation her: https://developer.cisco.com/site/python/

For at konfigurere fysisk udstyr gennem Python med Cisco Python-pakken skal du først oprette en forbindelse til enheden ved hjælp af en API-nøgle. Derefter kan du bruge forskellige Python-biblioteker og metoder til at udføre forskellige handlinger på enheden, såsom at ændre konfigurationen af en port, tilføje en VLAN eller oprette en ny bruger.

En mulig måde at konfigurere en switch-port på kunne være ved at bruge "ciscocofig" biblioteket og følgende kode:

from ciscoconfparse import CiscoConfParse
from ciscoconfparse.ccp_util import IPv4Obj
from ciscoconfparse.ccp_util import IPv4Addr

config = CiscoConfParse("nexus.conf")
interface = config.find_objects_w_child(parentspec=r"^interface", childspec=r"ethernet 1/1")
interface[0].ioscfg.append("ip address 192.168.1.10/24")
interface[0].ioscfg.append("shutdown")
config.commit()

Denne kode vil tilføje en IP-adresse til Ethernet 1/1-porten og slukke for porten (shutdown).

Hvorfor ikke bare bruge en konfigurationsfil?

At bruge Python til at styre Cisco-udstyr er bedre end at bruge en konfigurationsfil, fordi Python-baseret automatisering giver mulighed for mere kompleks funktionalitet og fleksibilitet. Med Python kan du automatisere mange forskellige opgaver, og du kan bruge forskellige biblioteker og metoder til at udføre disse opgaver. Du kan også let tilpasse dine scripts til at imødekomme specifikke behov og krav til netværkskonfiguration. Desuden kan Python-baseret netværksautomatisering reducere risikoen for menneskelige fejl, der kan opstå ved manuel konfiguration, da det automatiserer mange af de opgaver, der normalt udføres manuelt. På denne måde kan Python-baseret netværksautomatisering også bidrage til at øge effektiviteten og pålideligheden af netværksdriften.

Vi kan blandt andet loope over alt udstyr inden for et specielt netværk,