Difference between revisions of "Ansible Conditions"
Jump to navigation
Jump to search
Line 51: | Line 51: | ||
ansible localhost -m setup | ansible localhost -m setup | ||
==Loops== | |||
<pre. | |||
--- | |||
- name: Install packages thru loop | |||
hosts: localhost | |||
vars: | |||
packages: [ftp,telnet,htop) | |||
tasks: | |||
- name: Install package | |||
yum | |||
name: ‘{{items}}’ | |||
state: present | |||
with_items: ‘{{packages}}’ | |||
</pre> | |||
<pre> | |||
--- | |||
- name: Install packages thru loop | |||
hosts: localhost | |||
vars: | |||
packages: [ftp,telnet,htop) | |||
tasks: | |||
- name: Install packages | |||
yum | |||
name: ‘{{packages}}’ | |||
state: present | |||
</pre> | |||
--- | |||
- name: Create users thru loop | |||
hosts: localhost | |||
tasks: | |||
- name: Create users | |||
user: | |||
name: ”{{ item }}”” | |||
loop: | |||
- jerry | |||
- kramer | |||
- eliane | |||
<pre> | |||
</pre> | |||
--- | |||
- name: Create users thru loop | |||
hosts: localhost | |||
vars: | |||
users: [jerry,kramer,eliane] | |||
tasks: | |||
- name: Create users | |||
user: | |||
name: ‘{{item}}‘ | |||
with_items: ‘{{users}}’ | |||
<pre> | |||
</pre> | |||
<pre> | |||
</pre> | |||
=[[Ansible| Ansible Menu]]= | =[[Ansible| Ansible Menu]]= | ||
[[Category:Ansible]] | [[Category:Ansible]] |
Revision as of 18:56, 14 July 2022
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: ‘Template:Item‘ with_items: ‘Template:Users’