ansible complex playbook example

Example 1: ansible playbook enable service

- name: Start service httpd, if not started
  service:
    name: httpd
    state: started

- name: Stop service httpd, if started
  service:
    name: httpd
    state: stopped

- name: Restart service httpd, in all cases
  service:
    name: httpd
    state: restarted

- name: Reload service httpd, in all cases
  service:
    name: httpd
    state: reloaded

- name: Enable service httpd, and not touch the state
  service:
    name: httpd
    enabled: yes

- name: Start service foo, based on running process /usr/bin/foo
  service:
    name: foo
    pattern: /usr/bin/foo
    state: started

- name: Restart network service for interface eth0
  service:
    name: network
    state: restarted
    args: eth0

Example 2: ansible playbook webserver

- hosts: "webserver"
  tasks:
  - name: "installing webserver"
    package:
        name: "httpd"
        state: "present"
  - name: "copying index.html"
    copy:
        src: "~/index.html"
        dest: "/var/www/html/"
  - name: "starting httpd service"
    service:
        name: "httpd"
        state: "started"

  - name: "stopping firewalld service"
    service:
        name: "firewalld"
        state: "stopped"