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
File details
Details for the file ansible-filters-ldif-0.0.11.tar.gz
.
File metadata
- Download URL: ansible-filters-ldif-0.0.11.tar.gz
- Upload date:
- Size: 18.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69eeabef5bd754e926a8ef220c29eff2143476a1053635bca886569ed43e28ef |
|
MD5 | 10b642416339db4eddbca08d9d335079 |
|
BLAKE2b-256 | c6485da9ead126e7395cb43f3f4c21be41192b4b5e7ff993f0fa6af4c7921554 |
File details
Details for the file ansible_filters_ldif-0.0.11-py3-none-any.whl
.
File metadata
- Download URL: ansible_filters_ldif-0.0.11-py3-none-any.whl
- Upload date:
- Size: 16.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef00708a7893e0f933941a65fa3069b387d297ae01135c84e9ed887145c5df59 |
|
MD5 | 2871086ecf4ec8d23de906218f5c88bc |
|
BLAKE2b-256 | 0f54433641546448c3bb856908a33455dabaf5b529d49955b23071f0cb31af9f |