# Awesome Network Automation [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) A curated list of awesome about Network Automation - [Awesome Network Automation](#awesome-network-automation) - [Community](#community) - [Training](#training) - [Events / Meetup](#events--meetup) - [Blogs](#blogs) - [Programming Topics](#programming-topics) - [Open Source Projects](#open-source-projects) - [Hypervisor's](#hypervisors) - [Backups](#backups) - [IPAM](#ipam) - [Configuration Management](#configuration-management) - [Books](#books) - [Vendor Agnostic Products](#vendor-agnostic-products) - [Network Vendor Products](#network-vendor-products) - [Podcasts](#podcasts) - [Contributing](#contributing) - [License](#license) # Community - [NTC Slack](http://slack.networktocode.com) - Slack community around Network Automation - [IRC Ansible](http://docs.ansible.com/ansible/community.html#irc-channel) - Ansible IRC Channels - [Ansbile Google Groups](https://groups.google.com/forum/#!forum/ansible-project) - Welcome to Ansible's mailing list / forum! # Events / Meetup - [Ansible Fest](https://www.ansible.com/ansiblefest) - AnsibleFest is a day-long conference bringing together Ansible users, developers and industry partners to share best practices, case studies and Ansible news. - [Tech Field Day](http://techfieldday.com/) - Field Day events bring together innovative IT product vendors and independent thought leaders to share information and opinions in a presentation and discussion format. - [AWS Reinvent](https://reinvent.awsevents.com/) - AWS re:Invent Central is designed to facilitate connections between sponsors and attendees. # Training - [NTC](http://networktocode.com/products/training/) - Network Automation Training including Python, Ansible, DevOps, and much more. - [Python for Network Engineers](https://pynet.twb-tech.com/class.html) - You will learn skills that make you better at network automation and that improve your capability to use programming to scale your work. - [IP Space](http://www.ipspace.net/Training) - On ipSpace.net you'll find numerous courses, webinars, and videos covering SDN, cloud computing, virtualization technologies, IPv6 and VPNs. # Blogs - [cidrblock](https://cidrblock.github.io) - The Network Automation thoughts of Bradley A. Thornton - [Coding Networker](https://codingnetworker.com) - The Network Automation thoughts of Henry Ölsner - [Coding Packets](https://codingpackets.com) - The Network Automation thoughts of Brad Searle - [Jason Edelman](http://www.jedelman.com/) - The Network Automation thoughts of Jason Edelman - [mirceaulinic](https://mirceaulinic.net/) - The Network Automation thoughts of Mircea Ulinic - [Napalm-automation](https://napalm-automation.net) - News and updates about the NAPALM project - [Networklore](https://networklore.com/blog) - The Network Automation thoughts of Patrick Ogenstad - [Network OP](http://networkop.co.uk/) - The Network Automation thoughts of Michael Kashin - [Packet Life](http://packetlife.net/) - The Network Automation thoughts of Jeremy Strech - [Project 10](https://projectme10.wordpress.com) - The Network Automation thoughts of Gabriele Gerbino - [Scott Lowe](http://blog.scottlowe.org) - The Network Automation thoughts of Scott Lowe # Programming Topics ## Structured Data ### Yaml ##### Getting Started and Basics ##### Examples ##### Advanced and Tools ### JSON ##### Getting Started and Basics ##### Examples ##### Advanced and Tools ### XML ##### Getting Started and Basics ##### Examples ##### Advanced and Tools ### Yang ##### Getting Started and Basics ##### Examples ##### Advanced and Tools ## API ### RestConf ##### Getting Started and Basics ##### Examples ##### Advanced and Tools ### NETCONF ##### Getting Started and Basics ##### Examples ##### Advanced and Tools ### ## Python ##### Getting Started and Basics ##### Examples ##### Advanced and Tools ## Go ##### Getting Started and Basics ##### Examples ##### Advanced and Tools # Open Source Projects ## Ansible ##### Getting Started and Basics ##### Examples ##### Advanced and Tools ## Salt ##### Getting Started and Basics ##### Examples ##### Advanced and Tools ## Puppet ##### Getting Started and Basics ##### Examples ##### Advanced and Tools ## Chef ##### Getting Started and Basics ##### Examples ##### Advanced and Tools ## Products - [Trigger](https://github.com/trigger/trigger) - Trigger is a robust network automation toolkit written in Python that was designed for interfacing with network devices and managing network configuration and security policy. - [NSOT](https://github.com/dropbox/nsot) - Network Source of Truth (NSoT) a source of truth database and repository for tracking inventory and metadata of network entities to ease management and automation of network infrastructure - [ToDD](https://github.com/toddproject/todd) - ToDD is an extensible framework for providing natively distributed testing on demand. - [pyNMS](https://github.com/afourmy/pyNMS) - pyNMS is a vendor-agnostic Network Management System for network visualization, inventory and graphical automation. ## Library - [Napalm](https://github.com/napalm-automation/napalm) - NAPALM (Network Automation and Programmability Abstraction Layer with Multivendor support) is a Python library that implements a set of functions to interact with different router vendor devices using a unified API. - [Netmiko](https://github.com/ktbyers/netmiko) - Multi-vendor library to simplify Paramiko SSH connections to network devices - [NTC Ansible](https://github.com/networktocode/ntc-ansible) - Multi-vendor Ansible Modules for Network Automation - [py-junos-exnc](https://github.com/Juniper/py-junos-eznc) - Python library for Junos automation - [ciscoconfparse](https://github.com/mpenning/ciscoconfparse) - Parse, Audit, Query, Build, and Modify Cisco IOS-style configurations - [TextFSM](https://github.com/google/textfsm) - Python module for parsing semi-structured text into python tables. - [JINJA2](http://jinja.pocoo.org/) - Jinja2 is a full featured template engine for Python - [Condoor](https://github.com/kstaniek/condoor) - This is a python module providing access to Cisco devices over Telnet and SSH - [EasySNMP](https://github.com/kamakazikamikaze/easysnmp) - Easy to use and very fast SNMP library that uses Net-SNMP - [netaddr](https://github.com/drkjam/netaddr) - Network address manipulation that supports a number of techniques (supernetting and subnetting) ## Tools - [NetSpark-Scripts](https://github.com/admiralspark/NetSpark-Scripts) - Netmiko-based scripts to assist the Network Administrators and Engineers of the world! - [BGP-Dashboard](https://github.com/rhicks/bgp-dashboard) - BGP Dashboard and Monitoring Web Application - [NetTools](https://github.com/crisponions/NetTools) - Simple network python scripts - [Net-Config](https://github.com/SLAC/net-config/) - Automation framework for network devices - [Network-CI](https://github.com/networkop/network-ci) - Proof of Concept of CI/CD methodology applied to traditional non-SDN network topologies # Hypervisor's - Docker - Vagrant - Kubernetes - VirtualBox - ESX # Backups - [RANCID](www.shrubbery.net/rancid) - RANCID monitors a router's (or more generally a device's) configuration, including software and hardware (cards, serial numbers, etc) and uses CVS (Concurrent Version System), Subversion or Git to maintain history of changes - [Oxidized](https://github.com/ytti/oxidized) - Oxidized is a network device configuration backup tool. It's a RANCID replacement! - [Sweet](https://github.com/AppliedTrust/sweet) - Network device configuration backups and change alerts for the 21st century - inspired by RANCID! - [Gerty](https://github.com/ssinyagin/gerty) - A universal framework for device management automation. Eventually a replacement for RANCID... and much more - [Jazigo](https://github.com/udhos/jazigo) - Jazigo is a tool written in Go for retrieving configuration for multiple devices, similar to rancid, fetchconfig, oxidized, Sweet. - [Cidr](https://github.com/renard/cidr) - Cidr Is not as Dumb as Rancid # IPAM - [phpipam](https://phpipam.net/) - phpipam is an open-source web IP address management application (IPAM). Its goal is to provide light, modern and useful IP address management. - [netbox](https://github.com/digitalocean/netbox) - NetBox is an IP address management (IPAM) and data center infrastructure management (DCIM) tool. - [infoblox](https://www.infoblox.com/) - Industry leader in DNS, DHCP, and IP address management, the category known as DDI - [haci](http://haci.larsux.de/) - HaCi is an IP Address / Network Administration (IPAM) Tool with IPv6 support. - [bluecat](https://www.bluecatnetworks.com/products/ip-address-management/) - BlueCat provides network intelligence and insight into the relationship between devices, users and IP addresses that can be put into action to improve security and ensure reliable, always-on business connectivity. - [nipap](http://spritelink.github.io/NIPAP/) - nipap is a sleek, intuitive and powerful IP address management system built to handle large amounts of IP addresses. # Configuration Management - www.solarwinds.com/network-configuration-manager - https://www.manageengine.com/network-configuration-manager/ - http://www.rconfig.com/ # Books - [Network Programmability and Automation](http://shop.oreilly.com/product/0636920042082.do) - Skills for the Next-Generation Network Engineer - [Ansible: Up and Running](http://shop.oreilly.com/product/0636920035626.do) - Automating Configuration Management and Deployment the Easy Way # Vendor Agnostic Products - [Apstra](http://www.apstra.com/products/) - The Apstra Operating System (AOS) is a vendor-agnostic distributed operating system for the data center network that enables business agility, dramatically scales operational efficiency, and reduces downtime. - [Glue](http://gluenetworks.com/about-us-the-glue-team/) - With Gluware, the Glue Networks vision and team are continuing to trail-blaze at the forefront of the networking industry with multi-vendor orchestration solutions for Data Center, WAN and LAN networks. # Network Vendor Products - [Cisco Merkai](https://meraki.cisco.com/) - Cisco Meraki is the leader in cloud controlled WiFi, routing, and security. Secure and scalable, Cisco Meraki enterprise networks simply work - [Viptela](http://viptela.com/) - Viptela provides Software-Defined Wide Area Network (SD-WAN) technology that allows global companies to build cost-effective WANs - [Talari](https://www.talari.com/) - Talari Networks SD-WAN technology # Podcasts - [Software Gone Wild](https://www.ipspace.net/Podcast/Software_Gone_Wild) - Software Gone Wild is focusing on architectures, solutions and technologies that real networking engineers use in production networks. # Contributing Contributions about network automation are most welcome! This list is just getting started, please contribute to make it super awesome. # License