
LdifToIon
Convert LDIF entries from an LDAP server into an ION file.
Convert LDIF entries from an LDAP server into an ION file.
Convert LDIF entries from an LDAP server into an ION file.
Transform .ldif files to .ion ones.
type: "io.kestra.plugin.ldap.LdifToIon"Examples
Make ION entries from LDIF ones.
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 }}"
INPUT example : here's an LDIF file content that may be inputted:
id: "ldiftoion"
type: "io.kestra.plugin.ldap.LdifToIon"
# simple entry
dn: [email protected],ou=diffusion_list,dc=orga,dc=com
description: Some description
someOtherAttribute: perhaps
description: Some other description
someOtherAttribute: perhapsAgain
# modify changeRecord
dn: [email protected],ou=diffusion_list,dc=orga,dc=com
changetype: modify
delete: description
description: Some description 3
-
add: description
description: Some description 4
-
replace: someOtherAttribute
someOtherAttribute: Loves herself more
-
# delete changeRecord
dn: [email protected],ou=diffusion_list,dc=orga,dc=com
changetype: delete
# moddn and modrdn are equals, what's mandatory is to specify in the following order : newrdn -> deleteoldrdn -> (optional) newsuperior
dn: [email protected],ou=diffusion_list,dc=orga,dc=com
changetype: modrdn
newrdn: [email protected]
deleteoldrdn: 0
newsuperior: ou=expeople,dc=example,dc=com
# moddn without new superior
dn: [email protected],ou=diffusion_list,dc=orga,dc=com
changetype: moddn
newrdn: [email protected]
deleteoldrdn: 1
OUTPUT example : here's an ION file content that may be outputted:
id: "ldiftoion"
type: "io.kestra.plugin.ldap.LdifToIon"
# simple entry
{dn:"[email protected],ou=diffusion_list,dc=orga,dc=com",attributes:{description:["Some description","Some other description"],someOtherAttribute:["perhaps","perhapsAgain"]}}
# modify changeRecord
{dn:"[email protected],ou=diffusion_list,dc=orga,dc=com",changeType:"modify",modifications:[{operation:"DELETE",attribute:"description",values:["Some description 3"]},{operation:"ADD",attribute:"description",values:["Some description 4"]},{operation:"REPLACE",attribute:"someOtherAttribute",values:["Loves herself more"]}]}
# delete changeRecord
{dn:"[email protected],ou=diffusion_list,dc=orga,dc=com",changeType:"delete"}
# moddn changeRecord (it is mandatory to specify a newrdn and a deleteoldrdn)
{dn:"[email protected],ou=diffusion_list,dc=orga,dc=com",changeType:"moddn",newDn:{newrdn:"[email protected]",deleteoldrdn:false,newsuperior:"ou=expeople,dc=example,dc=com"}}
# moddn changeRecord without new superior (it is optional to specify a new superior field)
{dn:"[email protected],ou=diffusion_list,dc=orga,dc=com",changeType:"moddn",newDn:{newrdn:"[email protected]",deleteoldrdn:true}}
Properties
inputs*Requiredarray
URI(s) of file(s) containing LDIF entries.
Outputs
urisListarray
URI(s) of ION translated file(s).
Metrics
entries.foundcounter
The total number of entries found in the LDIF file.
entries.translatedcounter
The total number of entries successfully translated to ION format.