Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Learning Ansible 2.7

You're reading from   Learning Ansible 2.7 Automate your organization's infrastructure using Ansible 2.7

Arrow left icon
Product type Paperback
Published in Apr 2019
Publisher Packt
ISBN-13 9781789954333
Length 266 pages
Edition 3rd Edition
Tools
Arrow right icon
Author (1):
Arrow left icon
Fabio Alessandro Locati Fabio Alessandro Locati
Author Profile Icon Fabio Alessandro Locati
Fabio Alessandro Locati
Arrow right icon
View More author details
Toc

Table of Contents (18) Chapters Close

Preface 1. Section 1: Creating a Web Server Using Ansible
2. Getting Started with Ansible FREE CHAPTER 3. Automating Simple Tasks 4. Section 2: Deploying Playbooks in a Production Environment
5. Scaling to Multiple Hosts 6. Handling Complex Deployment 7. Going Cloud 8. Getting Notification from Ansible 9. Section 3: Deploying an Application with Ansible
10. Creating a Custom Module 11. Debugging and Error Handling 12. Complex Environments 13. Section 4: Deploying an Application with Ansible
14. Introducing Ansible for Enterprises 15. Getting Started with AWX 16. Working with AWX Users, Permissions, and Organizations 17. Other Books You May Enjoy

Defaulting undefined variables

We have seen in the previous sections that it is always wise to check whether a variable is defined before using it. We can set a default value for the variable so that, instead of failing, Ansible will use that value if the variable is not defined. To do so, we use this:

{{ backup_disk | default("/dev/sdf") }}

This filter will not assign the default value to the variable; it will only pass the default value to the current task where it is being used. Let's look at a few more examples of Jinja filters themselves before closing this section:

  • Execute this to get a random character from a list:
{{ ['a', 'b', 'c', 'd'] | random }} 
  • Execute this to get a random number from 0 to 100:
{{ 100 | random }}
  • Execute this to get a random number from 10 to 50:
{{ 50  | random(10) }}
  • Execute this to...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime