Ansible filter to read or write LDIF.
Project description
Ansible filter to read or write LDIF.
Install this Ansible Filter:
via pip:
pip install ansible-filters-ldif
via ansible-galaxy:
ansible-galaxy install 'git+https://github.com/atterdag/ansible-filters-ldif.git'
Ansible filters always runs on localhost.
Examples
Convert dictionary to LDIF
---
- name: Create dictionary with entries
set_fact:
dictionary:
- - dc=example,dc=com
- dc:
- example
description:
- This is a line longer than 79 characters, so LDIF breaks it up over multiple lines
o:
- example.com
objectClass:
- dcObject
- organization
- - ou=people,dc=example,dc=com
- objectClass:
- organizationalUnit
ou:
- people
- - cn=Jane Doe,ou=people,dc=example,dc=com
- cn:
- Jane Doe
mail:
- jane.doe@example.com
objectClass:
- inetOrgPerson
sn:
- Doe
- - cn=John Doe,ou=people,dc=example,dc=com
- cn:
- John Doe
mail:
- john.doe@example.com
objectClass:
- inetOrgPerson
sn:
- Doe
- - ou=groups,dc=example,dc=com
- objectClass:
- organizationalUnit
ou:
- groups
- - cn=users,ou=groups,dc=example,dc=com
- cn:
- users
member:
- cn=Jane Doe,ou=people,dc=example,dc=com
- cn=John Doe,ou=people,dc=example,dc=com
objectClass:
- groupOfNames
- name: "Convert dictionary to LDIF while writing it to /tmp/test.ldif using 'to_ldif' filter"
copy:
content: "{{ dictionary | to_ldif }}"
dest: "/tmp/test.ldif"
Convert LDIF to JSON
---
- name: "Create multi-line string variable with LDIF data"
set_fact:
ldif: |
dn: dc=example,dc=com
dc: example
description: This is one line which is longer than
79 characters, so LDIF breaks it up over multiple lines
objectClass: dcObject
objectClass: organization
o: example.com
dn: ou=people,dc=example,dc=com
objectClass: organizationalUnit
ou: people
dn: cn=Jane Doe,ou=people,dc=example,dc=com
objectClass: inetOrgPerson
cn: Jane Doe
sn: Doe
mail: jane.doe@example.com
dn: cn=John Doe,ou=people,dc=example,dc=com
objectClass: inetOrgPerson
cn: John Doe
sn: Doe
mail: john.doe@example.com
dn: ou=groups,dc=example,dc=com
objectClass: organizationalUnit
ou: groups
dn: cn=users,ou=groups,dc=example,dc=com
objectClass: groupOfNames
cn: users
member: cn=Jane Doe,ou=people,dc=example,dc=com
member: cn=John Doe,ou=people,dc=example,dc=com
- name: "Convert string to JSON while writing it to /tmp/test.json using 'from_ldif' filter"
copy:
content: "{{ (ldif | from_ldif) | to_nice_json }}"
dest: "/tmp/test.json"
Build dependencies
Install the following OS development packages first.
sudo apt-get install libssl-dev libldap2-dev libsasl2-dev python2-dev python3-dev mkvirtualenv --python=/usr/bin/python3 python3-development pip install --requirement requirements.txt gem install travis fry
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for ansible-filters-ldif-0.0.11.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69eeabef5bd754e926a8ef220c29eff2143476a1053635bca886569ed43e28ef |
|
MD5 | 10b642416339db4eddbca08d9d335079 |
|
BLAKE2b-256 | c6485da9ead126e7395cb43f3f4c21be41192b4b5e7ff993f0fa6af4c7921554 |
Close
Hashes for ansible_filters_ldif-0.0.11-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef00708a7893e0f933941a65fa3069b387d297ae01135c84e9ed887145c5df59 |
|
MD5 | 2871086ecf4ec8d23de906218f5c88bc |
|
BLAKE2b-256 | 0f54433641546448c3bb856908a33455dabaf5b529d49955b23071f0cb31af9f |