Skip to content

ansible-extras

Filters

name description
dir_exists(path)
file_exists(path)
from_si_unit(number, base_unit) Converts a SI unit e.g. 1GB into a number with an optional base
is_empty(val)
jsonpath(data) transforms data using jsonpath_rw
map_to_entries(dict, key, value) Convert a dict into a list of entries
nestedelement(path) Returns an nested element from an object tree by path (seperated by / or .)
play_groups(play_hosts, groups, hostvars) Returns a list of groups that are active within a play
split(string, separator=' ')
sub_map(dict, prefix) Filter a map by key prefix and remove prefix from keys
to_map(map, key, value)
walk_up(object, path) Walks up an object tree from the lowest level collecting all attributes not available at lower levels

dir_exists

when: "'/path/to/dir' | dir_exists"

file_exists

when: "'/path/to/file' | file_exists"

from_si_unit

'1GB' | from_si_unit('MB') == 1024

is_empty

' ' | is_empty == true

jsonpath

map_to_entries

nestedelement

play_groups

split

'one two' | split == ['one', 'two']

to_map

walk_up

sub_map

sub_map({
        "elb.check": "/health",
        "elb.port": "100",
        "don.t": "match"
      }, "elb.") == {"check": "/health", "port": "100"}

Modules

cloudinit_iso

Example

- cloudinit_iso:
    dest: "{{playbook_dir}}/cloudinit.iso"
    user: |
      #cloud-config
      preserve_hostname: true
      hostname: ansible-hostname
      users:
          - name: hostname

Depdenencies

genisoimage

systemd_service

Option Default Required Description
ExecStart Yes
Name Yes
Description
Restart on-failure
RunAs root
ServiceArgs A dict of key values to add under the [service] section
UnitArgs A dict of key values to add under the [unit] section
WantedBy multi-user.target
state present

Example

- hosts: all
  roles:
    - moshloop.systemd
  tasks:
      - systemd_service:
          Name: test
          ExecStart: "/usr/bin/nc -l 200"
      - systemd_service:
          Name: test
          ExecStart: "/usr/bin/nc -l 200"
          UnitArgs:
              After: networking.service