ciscoconfarse.

Analysieren Sie durch Cisco IOS-Style-Konfigurationen und rufen Sie Portionen der Konfiguration mit einer Vielzahl von Abfragemethoden ab
Jetzt downloaden

ciscoconfarse. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • GPL
  • Preis:
  • FREE
  • Name des Herausgebers:
  • David Michael Pennington
  • Website des Verlags:
  • http://pennington.net

ciscoconfarse. Stichworte


ciscoconfarse. Beschreibung

Analysieren Sie durch Cisco IOS-Style-Konfigurationen und rufen Sie Portionen der Konfiguration mit einer Vielzahl von Abfragemethoden ab CISCOCONFPARSE ist eine Python-Bibliothek, um über Cisco IOS-Struktur-Konfigurationen zu analysieren und Teile der Konfiguration basierend auf einer Vielzahl von Abfragemethoden abzurufen. Das Paket verarbeitet eine iOS-Style-Konfiguration und bricht es in eine Reihe verknüpfter Eltern- / Kinderbeziehungen. Dann gibt Sie Anfragen gegen diese Beziehungen mit einem bekannten Familiensyntaxmodell aus. Abfragen können entweder in Form einer einfachen Zeichenfolge sein oder reguläre Ausdrücke verwenden. Die API bietet leistungsstarke Abfragetools, einschließlich der Fähigkeit, alle Eltern zu finden, die keine Kinder haben, die zu einem bestimmten Kriterien entsprechen. Dies bedeutet, dass es einfach ist, die Schnittstellennamen aller Layer2-Trunks in einem Katalysator 6500 zu finden, oder eine Liste aller Schnittstellen mit CDP deaktiviert abzurufen. Bis zu diesem Paket kenne ich keine einfache Config-Parsing-APIs, um dasselbe zu tun; Es wurde traditionell als die Domäne des Screen-Scraping angesehen. In Verbindung mit den ausgefeilten Set-Manipulationsfunktionen von Python ist Ihre Fantasie das Limit. Das Paket bietet auch eine Reihe von Methoden zur Abfrage und manipuliert die ISOSCONFIGLine-Objekte selbst. Dadurch erhalten Sie einen flexiblen Mechanismus, um Ihre eigenen benutzerdefinierten Abfragen aufzubauen, da die ISOSCONFIGLine-Objekte die gesamte Eltern- / Kinderhierarchie in ihnen speichern. Execampyple of Config-Familienbeziehungen sind unten gezeigt 10line04: Klasse Silverline05: Bandbreite 30line06: Random-DetectLine07: Klasse Defaultline08 :! line09: Schnittstelle Serie 1 / 0line10: Verkapselung PPPLine11: IP-Adresse 1.1.1.1255.255.255.252Line12 :! line13: Zugangsliste 101 Deny TCP Jeder EQ 25 Logline14: Zugangsliste 101 Erlaubnis-IP-IP jederzeit: 01, 02, 04, 09Children: von 01 = 02, 04, 07, 02 = 0304 = 05, 06, 09 = 10, 11Siblings: 02, 04, 0705, 0610, 11Aundest_ancestors: 01, 09Familien: 01, 02, 03, 04, 05, 06, 0709, 10, 11Family_endPoints: 07, 11Note Die 01, 09, 13 und 14 sind nicht als Geschwister, noch sind sie Teil derselben Familie. In der Tat gehören 13 und 14 nicht zu einer Familie; Sie haben keine Kinder. Das Paket bietet verschiedene Arten von Methoden: 1. Query-Methoden, die eine Liste der Textleitungen zurückgeben.1.1 Find_lines (Self, LinsionePec, exactmatch = false, ignore_ws = FALSE): 1.2 Find_Children (Self, LinesPec, exactmatch = false, ignore_ws = false): 1.3 find_all_children (self, linienpec, exactmatch = FALSE, Ignore_ws = FALSE): 1.4 find_blocks (self, blockspec, exactmatch = false, ignore_ws = false): 1.5 find_parents_w_child (self, elternpec, childspec, ignore_ws = false): 1.6 find_parents_wo_child (self, elternpec, childspec, ignore_ws = false) : 1.7 REQ_CFGSPEC_ALL_DIFF (Self, CFGSPEC): 1.8 REQ_CFGSPEC_EXCL_DIFF (Self, LinesPec, UNCFGSPEC, CFGSPEC): 2. Abfragemethoden, die eine Liste der isosconfigline-Objekte zurückgeben.2.1 Find_Line_OBJ (Self, LinesPec): 2.2 Find_Sibling_OBJ (Self, LineObject): 2.3 Find_Child_OBJ (Self, LineObject): 2.4 find_all_child_obj (self, lineobject): 2.5 find_parent_obj (self, lineobject): 3 . Methoden zum Manipulieren von isconfigline-Objekten3.1 Unique_OBJ (Self, ObjectList): 3.2 Objektliste (Self, ObjectList): 3.3 Objects_to_uncfg (Self, ObjectList, Unbillist): 4. Abfragemethoden auf isconfigline-Objekten4.1 Elternteil (Selbst): 4.2 Kinder (Selbst): 4.3 has_children (selbst): 4.4 child_indent (selbst): 4.5 oldest_ancestor (self): 4.6 familien_end point (self): 4.7 leinenum (self): 4.8 text (SELBST): 4.9 UNCFGTEXT (SELBST): 5. Methoden zum Analysieren der Konfiguration: Ich werde hier nicht stören ") # Gibt eine Liste aller ATM-Schnittstellen und Subinterfreces # ATM_INTFS = parse.find_lines (" ^ interfacesatm ") # zurück, die eine Liste aller Schnittstellen mit einer bestimmten QoS-Richtlinie zurückgibt # QOS_INTFS = parse.find_parents_w_child (" ^ interfigur "," service) -Policy qos_01 ") # Gibt eine Liste aller aktiven Schnittstellen zurück (dh nicht heruntergefahren) #Active_intfs = parse.find_parents_wo_child (" ^ ^ interf), "shutdown") # Alle Schnittstellen finden, die auf eine Sprache verfügen, wenn sie dem DSCP # Build konfiguriert sind Eine neue Konfiguration für den Vertrauen von COS ## Sie müssen ein Caret (^) anmelden ^ ist ein regulärer Ausdruck, der den Anfang # einer Zeile entspricht. # newcfg = [] voice_infs = parse.find_parents_w_child ("^ Schnittstelle", "SwitchPort Voice") für intf in voice_intfs: famobj = ciscoconfarse (parse.find_children (Intf, exaktmatch = true)), wenn (famobj.find_lines ("mls qos trust dsc")): newcfg.append (intf) newcfg.append ("mls qos trust cos") Die Beispiele / das Verzeichnis in der Verteilung enthalten mehr Nutzungsfälle, einschließlich Beispielkonfigurationen zum Analysieren. Bei der Durchsetzung von Konfigurationsstandards ist die Methode REQ_CFGSPEC_EXCL_DIFF () sehr nützlich; Beispiele für seine Verwendung sind enthalten. Anforderungen: · Python


ciscoconfarse. Zugehörige Software