Hands-on enterprise automation with python automate common administrative and security tasks with the most popular language python

Invent your own Python scripts to automate your infrastructure About This Book Make the most of Python libraries and modules to automate your infrastructure Leverage Python programming to automate server configurations and administration tasks Efficiently develop your Python skill set Who This Book...

Descripción completa

Detalles Bibliográficos
Otros Autores: Aly, Bassem, author (author)
Formato: Libro electrónico
Idioma:Inglés
Publicado: Birmingham, England ; Mumbai : Packt 2018.
Edición:1st edition
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009630398106719
Tabla de Contenidos:
  • Cover
  • Title Page
  • Copyright and Credits
  • Packt Upsell
  • Contributors
  • Table of Contents
  • Preface
  • Chapter 1: Setting Up Our Python Environment
  • An introduction to Python
  • Python versions
  • Why are there two active versions?
  • Should you only learn Python 3?
  • Does this mean I can't write code that runs on both Python 2 and Python 3?
  • Python installation
  • Installing the PyCharm IDE
  • Setting up a Python project inside PyCharm
  • Exploring some nifty PyCharm features
  • Code debugging
  • Code refactoring
  • Installing packages from the GUI
  • Summary
  • Chapter 2: Common Libraries Used in Automation
  • Understanding Python packages
  • Package search paths
  • Common Python libraries
  • Network Python Libraries
  • System and cloud Python libraries
  • Accessing module source code
  • Visualizing Python code
  • Summary
  • Chapter 3: Setting Up the Network Lab Environment
  • Technical requirements
  • When and why to automate the network
  • Why do we need automation?
  • Screen scraping versus API automation
  • Why use Python for network automation?
  • The future of network automation
  • Network lab setup
  • Getting ready - installing EVE-NG
  • Installation on VMware Workstation
  • Installation over VMware ESXi
  • Installation over Red Hat KVM
  • Accessing EVE-NG
  • Installing EVE-NG client pack
  • Loading network images into EVE-NG
  • Building an enterprise network topology
  • Adding new nodes
  • Connecting nodes together
  • Summary
  • Chapter 4: Using Python to Manage Network Devices
  • Technical requirements
  • Python and SSH
  • Paramiko module
  • Module installation
  • SSH to the network device
  • Netmiko module
  • Vendor support
  • Installation and verification
  • Using netmiko for SSH
  • Configuring devices using netmiko
  • Exception handling in netmiko
  • Device auto detect
  • Using the telnet protocol in Python.
  • Push configuration using telnetlib
  • Handling IP addresses and networks with netaddr
  • Netaddr installation
  • Exploring netaddr methods
  • Sample use cases
  • Backup device configuration
  • Building the python script
  • Creating your own access terminal
  • Reading data from an Excel sheet
  • More use cases
  • Summary
  • Chapter 5: Extracting Useful Data from Network Devices
  • Technical requirements
  • Understanding parsers
  • Introduction to regular expressions
  • Creating a regular expression in Python
  • Configuration auditing using CiscoConfParse
  • CiscoConfParse library
  • Supported vendors
  • CiscoConfParse installation
  • Working with CiscoConfParse
  • Visualizing returned data with matplotLib
  • Matplotlib installation
  • Hands-on with matplotlib
  • Visualizing SNMP using matplotlib
  • Summary
  • Chapter 6: Configuration Generator with Python and Jinja2
  • What is YAML?
  • YAML file formatting
  • Text editor tips
  • Building a golden configuration with Jinja2
  • Reading templates from the filesystem
  • Using Jinja2 loops and conditions
  • Summary
  • Chapter 7: Parallel Execution of Python Script
  • How a computer executes your Python script
  • Python multiprocessing library
  • Getting started with multiprocessing
  • Intercommunication between processes
  • Summary
  • Chapter 8: Preparing a Lab Environment
  • Getting the Linux operating system
  • Downloading CentOS
  • Downloading Ubuntu
  • Creating an automation machine on a hypervisor
  • Creating a Linux machine over VMware ESXi
  • Creating a Linux machine over KVM
  • Getting started with Cobbler
  • Understanding how Cobbler works
  • Installing Cobbler on an automation server
  • Provisioning servers through Cobbler
  • Summary
  • Chapter 9: Using the Subprocess Module
  • The popen() subprocess
  • Reading stdin, stdout, and stderr
  • The subprocess call suite
  • Summary.
  • Chapter 10: Running System Administration Tasks with Fabric
  • Technical requirements
  • What is Fabric?
  • Installation
  • Fabric operations
  • Using run operation
  • Using get operation
  • Using put operation
  • Using sudo operation
  • Using prompt operation
  • Using reboot operation
  • Executing your first Fabric file
  • More about the fab tool
  • Discover system health using Fabric
  • Other useful features in Fabric
  • Fabric roles
  • Fabric context managers
  • Summary
  • Chapter 11: Generating System Reports and System Monitoring
  • Collecting data from Linux
  • Sending generated data through email
  • Using the time and date modules
  • Running the script on a regular basis
  • Managing users in Ansible
  • Linux systems
  • Microsoft Windows
  • Summary
  • Chapter 12: Interacting with the Database
  • Installing MySQL on an automation server
  • Securing the installation
  • Verifying the database installation
  • Accessing the MySQL database from Python
  • Querying the database
  • Inserting records into the database
  • Summary
  • Chapter 13: Ansible for System Administration
  • Ansible terminology
  • Installing Ansible on Linux
  • On RHEL and CentOS
  • Ubuntu
  • Using Ansible in ad hoc mode
  • How Ansible actually works
  • Creating your first playbook
  • Understanding Ansible conditions, handlers, and loops
  • Designing conditions
  • Creating loops in ansible
  • Trigger tasks with handlers
  • Working with Ansible facts
  • Working with the Ansible template
  • Summary
  • Chapter 14: Creating and Managing VMware Virtual Machines
  • Setting up the environment
  • Generating a VMX file using Jinja2
  • Building the VMX template
  • Handling Microsoft Excel data
  • Generating VMX files
  • VMware Python clients
  • Installing PyVmomi
  • First steps with pyvmomi
  • Changing the virtual machine state
  • There's more
  • Using Ansible playbook to manage instances.
  • Summary
  • Chapter 15: Interacting with the OpenStack API
  • Understanding RESTful web services
  • Setting up the environment
  • Installing rdo-OpenStack package
  • On RHEL 7.4
  • On CentOS 7.4
  • Generating answer file
  • Editing answer file
  • Run the packstack
  • Access the OpenStack GUI
  • Sending requests to the OpenStack keystone
  • Creating instances from Python
  • Creating the image
  • Assigning a flavor
  • Creating the network and subnet
  • Launching the instance
  • Managing OpenStack instances from Ansible
  • Shade and Ansible installation
  • Building the Ansible playbook
  • Running the playbook
  • Summary
  • Chapter 16: Automating AWS with Boto3
  • AWS Python modules
  • Boto3 installation
  • Managing AWS instances
  • Instance termination
  • Automating AWS S3 services
  • Creating buckets
  • Uploading a file to a bucket
  • Deleting a bucket
  • Summary
  • Chapter 17: Using the Scapy Framework
  • Understanding Scapy
  • Installing Scapy
  • Unix-based systems
  • Installing in Debian and Ubuntu
  • Installing in Red Hat/CentOS
  • Windows and macOS X Support
  • Generating packets and network streams using Scapy
  • Capturing and replaying packets
  • Injecting data inside packets
  • Packet sniffing
  • Writing the packets to pcap
  • Summary
  • Chapter 18: Building a Network Scanner Using Python
  • Understanding the network scanner
  • Building a network scanner with Python
  • Enhancing the code
  • Scanning the services
  • Sharing your code on GitHub
  • Creating an account on GitHub
  • Creating and pushing your code
  • Summary
  • Other Books You May Enjoy
  • Index.