LDAP LdifToIon

LDAP LdifToIon

Certified

Convert LDIF records to Ion

Reads LDIF entries or change records and emits Ion documents stored in internal storage. Supports add/delete/modify/moddn records; malformed items are logged and skipped.

yaml
type: io.kestra.plugin.ldap.LdifToIon

Make ION entries from LDIF ones.

yaml
id: ldap_ldif_to_ion
namespace: company.team

inputs:
  - id: file1
    type: FILE
  - id: file2
    type: FILE

tasks:
  - id: ldif_to_ion
    type: io.kestra.plugin.ldap.LdifToIon
    inputs:
      - "{{ inputs.file1 }}"
      - "{{ inputs.file2 }}"

Properties
SubTypestring

LDIF input URIs

URIs to LDIF files in internal storage; entries and change records are converted in order.

Example of an LDIF file content that may be inputted:

# simple entry
dn: cn=bob@orga.com,ou=diffusion_list,dc=orga,dc=com
description: Some description
someOtherAttribute: perhaps

# modify changeRecord
dn: cn=triss@orga.com,ou=diffusion_list,dc=orga,dc=com
changetype: modify
delete: description
description: Some description 3
-
add: description
description: Some description 4
-

# delete changeRecord
dn: cn=triss@orga.com,ou=diffusion_list,dc=orga,dc=com
changetype: delete

# moddn / modrdn must specify newrdn, then deleteoldrdn, then an optional newsuperior
dn: cn=triss@orga.com,ou=diffusion_list,dc=orga,dc=com
changetype: moddn
newrdn: cn=triss@orga.com
deleteoldrdn: 1
SubTypestring

Ion output URIs

URIs in internal storage for the generated Ion files.

Example of an ION file content that may be outputted:

# simple entry
{dn: "cn=bob@orga.com,...",attributes: {description: ["Some description","Some other description"]}}
# modify changeRecord
{dn: "cn=triss@orga.com,...",changeType: "modify",modifications: [{operation: "DELETE",attribute: "description",values: ["Some description 3"]}]}
# delete changeRecord
{dn: "cn=triss@orga.com,...",changeType: "delete"}
# moddn changeRecord (newrdn and deleteoldrdn are mandatory, newsuperior optional)
{dn: "cn=triss@orga.com,...",changeType: "moddn",newDn: {newrdn: "cn=triss@orga.com",deleteoldrdn: false,newsuperior: "ou=expeople,dc=example,dc=com"}}

The total number of entries found in the LDIF file.

The total number of entries successfully translated to ION format.