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
Mastering Python Networking

You're reading from   Mastering Python Networking Your one stop solution to using Python for network automation, DevOps, and SDN

Arrow left icon
Product type Paperback
Published in Jun 2017
Publisher Packt
ISBN-13 9781784397005
Length 446 pages
Edition 1st Edition
Languages
Tools
Concepts
Arrow right icon
Author (1):
Arrow left icon
Eric Chou Eric Chou
Author Profile Icon Eric Chou
Eric Chou
Arrow right icon
View More author details
Toc

Table of Contents (14) Chapters Close

Preface 1. Review of TCP/IP Protocol Suite and Python Language 2. Low-Level Network Device Interactions FREE CHAPTER 3. API and Intent-Driven Networking 4. The Python Automation Framework - Ansible Basics 5. The Python Automation Framework - Ansible Advance Topics 6. Network Security with Python 7. Network Monitoring with Python - Part 1 8. Network Monitoring with Python - Part 2 9. Building Network Web Services with Python 10. OpenFlow Basics 11. Advanced OpenFlow Topics 12. OpenStack, OpenDaylight, and NFV 13. Hybrid SDN

Ansible conditionals


Ansible conditionals are similar to programming conditionals, as they are used to control the flow of your playbooks. In many cases, the result of a play may depend on the value of a fact, variable, or the previous task result. For example, if you have a playbook for upgrading router images, you want to make sure the router image is presented before you move onto the play of rebooting the router.

In this section, we will discuss the when clause that is supported for all modules as well as unique conditional states supported in Ansible networking command modules, such as follows:

  • Equal (eq)
  • Not equal (neq)
  • Greater than (gt)
  • Greater than or equal (ge)
  • Less than (lt)
  • Less than or equal (le)
  • Contains

The when clause

The when clause is useful when you need to check the output from the result and act accordingly. Let's look at a simple example of its usage in chapter5_1.yml:

    ---
    - name: IOS Command Output
      hosts: "iosv-devices"
      gather_facts: false
      connection...
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 €18.99/month. Cancel anytime