Hvis du er netværkskonsulent eller driftstekniker som lige har dyppet tæerne i søen med Python slanger – velkommen til netværksautomatiseringens vidunderlige verden! Du er heldigvis ikke alene. Flere og flere network engineers samler scripts op på vejen og er begyndt at automatisere de repetitive opgaver og frigøre lidt af den sjove tid til sig selv og de lidt tungere udfordringer.

Men det er ikke let at komme i gang. Særligt når man både skal sætte sig ind i detaljerne for Cisco infrastruktur APIer og Python samtidigt.

 

Eksisterende SDKer og virkeligheden

Cisco har et API til næsten alt – ISE, Catalyst Center, Meraki, FMC, APIC, osv. Men hver af dem kommer med deres eget SDK, deres særegne dokumentation, og hver deres måde at opføre sig på. Det bliver ret hurtigt overvældende at skulle forholde sig til.

Nogen gange finder du dig selv efter at have brugt timevis på at komme i gang med authentication eller rate limits og får ikke løst det egentligt problem i den tid du havde sat af. Og når det så endelig lykkedes så skal man til at bede om flere siders data og endnu mere frustration følger… Prøv bare at se oversigten herunder og se hvor stor forskel der er imellem platformene:

Cisco Platform API differences table

Det er lige præcis for at fjerne kompleksitet og frustration ved det beskrevne at vi har udviklet wingpy!

 

Hvad er wingpy egentlig?

Wingpy er en Python pakke der fungerer som en abstraktion til Ciscos APIer på en måde der er konsistent og begyndervenligt. Vi har designet det så du får hjælp til at komme i mål uden at skulle være en fuldblodsudvikler. For helt ærligt, så er det jo stadig netværk vi brænder for!

Vi satte os for at sænke barrieren og havde følgende krav:

  • Kun én måde at gøre det på: Lige meget om du arbejder med ISE, Catalyst Center, eller FMC, skal du kunne gå i gang med samme genkendelige opskrift.
  • Authentication, rate-limits og pagination skal bare virke. Importér wingpy, forbind, og gå i gang.
  • Simpel installation med de gængse standardværktøjer (f.eks. uv, pip, poetry)

Et FMC eksempel

Lad os sige at du vil hente en liste med alle host objekter i Cisco FMC. Hvis du skal have en liste med alle objekter, ville du normalt skulle hente flere sider, men med wingpy er det så simpelt her:

 

Bemærk {domainUUID} i adressen bare er kopieret direkte fra API dokumentationen? Wingpy erstatter automatisk domæne-id’et for dig så du bare kan bruge Ciscos dokumentation uden at spekulere. Det er en god tidsbesparende hjælp til nybegyndere.

En super simpel opskrift som alle kan lide! Vi synes i hvert fald ikke det bliver meget nemmere…

 

Hvorfor det er vigtigt

Hvis du er i gang med at lære Python, er det sidste du har brug mere kompleksitet. Det er allerede udfordrende nok at lære at læse API-dokumentation og lære sprogets syntaks. Wingpy giver dig en lettere vej ind i automatisering, så du kan fokusere på at løse reelle problemer i stedet for at rode rundt med skjulte detaljer ved en specifik platforms API.

Når først du har automatiseret én opgave, virker den næste meget mere overskuelig. Og før du ved af det, skriver du scripts som om du aldrig har lavet andet. En god start er vigtig for at få gang i snebolden.

Hvis du overvejer at automatisere dit Cisco controller-baserede miljø, men ikke ved hvor du skal starte, så kan Wingpy være det skub, du mangler. Det er open source, nemt at installere og udviklet med netværksfolk for øje.

Tjek dokumentationen, prøv et par eksempler og se hvad du kan bygge. God fornøjelse!