Book Image

Hands-On Enterprise Automation with Python

By : Bassem Aly
Book Image

Hands-On Enterprise Automation with Python

By: Bassem Aly

Overview of this book

Hands-On Enterprise Automation with Python starts by covering the set up of a Python environment to perform automation tasks, as well as the modules, libraries, and tools you will be using. We’ll explore examples of network automation tasks using simple Python programs and Ansible. Next, we will walk you through automating administration tasks with Python Fabric, where you will learn to perform server configuration and administration, along with system administration tasks such as user management, database management, and process management. As you progress through this book, you’ll automate several testing services with Python scripts and perform automation tasks on virtual machines and cloud infrastructure with Python. In the concluding chapters, you will cover Python-based offensive security tools and learn how to automate your security tasks. By the end of this book, you will have mastered the skills of automating several system administration tasks with Python.
Table of Contents (20 chapters)

Working with the Ansible template

The last piece of working with Ansible is understanding how it handles the template. Ansible uses the Jinja2 template, which we discussed in Chapter 6, Configuration Generator with Python and Jinja2. It fills the parameters with either Ansible facts or the static values provided in the vars section, or even with the result of a task stored using the register flag.

In the following example, we will build an Ansible playbook that gathers the previous three cases. First, we define a variable called Header in the vars section, holding a welcome message as a static value. Then, we enable the gather_facts flag, to get all possible information from the target machine. Finally, we execute the date command, to get the current date in the server and store the output in the date_now variable:

- hosts: centos-servers
vars:
- Header: "Welcome to Server...