Ansible Conditions

From rbachwiki
Revision as of 18:57, 14 July 2022 by Bacchas (talk | contribs)
Jump to navigation Jump to search

Conditions

When

---
- name: Install Apache WebServer
  hosts: localhost
  
  tasks:
    - name: Install Apache on Ubuntu Server
      apt-get:
        name: apache2
        state: present
      when: ansible_os_family == “Ubuntu“

- name: Install Apache on CentOS  Server
  yum:
    name: httpd
    state: present
  when: ansible_os_family == "RedHat"
---
- name: Enable service on firewalld
  hosts: localhost
  tasks:

- name: Open port for http
  firewalld:
   service: http
   permanent: true
   state: enabled
  notify:
  - Reload firewalld
 
- name: Ensure firewalld is running
    service:
     name: firewalld
     state: started

handlers:
  - name: Reload firewalld
    service:
     name: firewalld
     state: reloaded

ansible_os_family is a built in variable you can get a list of all ansible built in variables by running

ansible localhost -m setup

Loops

<pre. --- - name: Install packages thru loop

 hosts: localhost
 vars:
  packages: [ftp,telnet,htop)  
 tasks:

- name: Install package

 yum
   name: ‘Template:Items’
   state: present
 with_items: ‘Template:Packages


---
- name: Install packages thru loop
  hosts: localhost
  vars:
   packages: [ftp,telnet,htop)  

  tasks:
- name: Install packages
  yum
    name: ‘{{packages}}’
    state: present


--- - name: Create users thru loop

 hosts: localhost
 tasks:

- name: Create users

 user:
   name: ”Template:Item””
 loop:
     - jerry
     - kramer
     - eliane


---
- name: Create users thru loop
  hosts: localhost
  vars:
   users: [jerry,kramer,eliane]  

  tasks:
- name: Create users
  user:
    name: ‘{{item}}‘
  with_items: ‘{{users}}’






Ansible Menu