nextcloud.ymlΒΆ

---
- name: βœ… Ensure custom LDAP schema snippet via ldapsm
  vars:
    schema_name: "nextcloud"
    attribute_defs:
      - "( 1.3.6.1.4.1.99999.1 NAME '{{ LDAP.USER.ATTRIBUTES.NEXTCLOUD_QUOTA }}' DESC 'Quota for Nextcloud' EQUALITY integerMatch ORDERING integerOrderingMatch SYNTAX
        1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )"
    objectclass_defs:
      - "( 1.3.6.1.4.1.99999.2 NAME '{{ LDAP.USER.OBJECTS.AUXILIARY.NEXTCLOUD_USER }}' DESC 'Auxiliary class for Nextcloud attributes' AUXILIARY MAY ( {{ LDAP.USER.ATTRIBUTES.NEXTCLOUD_QUOTA
        }} ) )"
  command:
    cmd: >
      {{ OPENLDAP_LDAPSM_COMMAND }}
        -s {{ OPENLDAP_SERVER_URI }}
        -D '{{ OPENLDAP_BIND_DN }}'
        -n {{ schema_name }}
        {% for at in attribute_defs %}
        -a "{{ at }}"
        {% endfor %}
        {% for oc in objectclass_defs %}
        -c "{{ oc }}"
        {% endfor %}
    stdin: "{{ OPENLDAP_BIND_PW }}"
  register: ldapsm_result
  changed_when: "'Created schema entry' in ldapsm_result.stdout"
  check_mode: false

- name: πŸ‘οΈ Show ldapsm output
  debug:
    var: ldapsm_result.stdout_lines