Book Image

Ansible 2 Cloud Automation Cookbook

By : Aditya Patawari, Vikas Aggarwal
Book Image

Ansible 2 Cloud Automation Cookbook

By: Aditya Patawari, Vikas Aggarwal

Overview of this book

Ansible has a large collection of inbuilt modules to manage various cloud resources. The book begins with the concepts needed to safeguard your credentials and explain how you interact with cloud providers to manage resources. Each chapter begins with an introduction and prerequisites to use the right modules to manage a given cloud provider. Learn about Amazon Web Services, Google Cloud, Microsoft Azure, and other providers. Each chapter shows you how to create basic computing resources, which you can then use to deploy an application. Finally, you will be able to deploy a sample application to demonstrate various usage patterns and utilities of resources.
Table of Contents (11 chapters)

Using a dynamic inventory

In this recipe, we will use dynamic inventory to target hosts and build an Ansible inventory using the Azure Resource Manager API. Dynamic inventory enables us to leverage its dynamic nature by not hardcoding the host's addresses in a static inventory file.

Ansible packages Azure's inventory script within an Ansible repository. We can find the inventory script at https://github.com/ansible/ansible/blob/devel/contrib/inventory/azure_rm.py. The inventory script also requires the same credentials located at ~/.azure/credentials, as required for other Azure Cloud modules.

Ansible can target the hosts present in a group, and by default, the Azure inventory creates the following groups:

  • azure (all hosts): This will contain all hosts, and can be accessed using hosts: azure.
  • location name: This will group hosts by their location-for example, westus...