IonToLdif
Combine ION entries into an LDIF file for an LDAP server.
Transform .ion files to .ldif ones.
yaml
type: "io.kestra.plugin.ldap.IonToLdif"Examples
YAML: Make LDIF entries from ION ones.
yaml
id: ldap_ion_to_ldif
namespace: company.team
inputs:
- id: file1
type: FILE
- id: file2
type: FILE
tasks:
- id: ion_to_ldiff
type: io.kestra.plugin.ldap.IonToLdif
inputs:
- "{{ inputs.file1 }}"
- "{{ inputs.file2 }}"
INPUT example: here's an ION file content that may be inputted:
yaml
# 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}}
OUTPUT example: here's an LDIF file content that may be outputted:
yaml
# 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 with new superior
dn: [email protected],ou=diffusion_list,dc=orga,dc=com
changetype: moddn
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
Properties
inputs *Requiredarray
SubType string
URI(s) of file(s) containing ION entries.
Outputs
urisList array
SubType string
LDIF transformed file(s) URI(s).
Metrics
entries.found counter
The total number of entries found in the input ION files.
entries.translated counter
The total number of entries successfully translated to LDIF.