LDAP IonToLdif

LDAP IonToLdif

Certified

Convert Ion records to LDIF for LDAP

Transforms Ion files containing LDAP entries or change records into LDIF files stored in internal storage. Handles add/delete/modify/moddn records and logs malformed items while continuing.

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

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_ldif
    type: io.kestra.plugin.ldap.IonToLdif
    inputs:
      - "{{ inputs.file1 }}"
      - "{{ inputs.file2 }}"
Properties
SubTypestring

Ion input URIs

URIs to Ion files in internal storage; each entry or change record is translated to LDIF.

Example of an ION file content that may be inputted:

# 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"}}

Assets this task consumes as inputs or produces as outputs, for lineage tracking and the asset graph (Enterprise Edition). A flow declaring this property on a task is rejected in the open-source edition.

Definitions
assetFailureBehaviorstring
Possible Values
IGNOREFAILWARN

Asset failure behavior

Behavior applied to the task state when a declared asset fails to render, emit, or be persisted (e.g. a lock conflict): FAIL escalates it to FAILED, WARN (default) warns it if it would otherwise succeed, IGNORE leaves the state untouched.

enableAutobooleanstring

Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.

inputsarray

The assets consumed as inputs.

id*string
Min length1
typestring
outputs

The assets produced as outputs.

id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*string
Min length1

Custom asset type

descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
SubTypestring

LDIF output URIs

URIs in internal storage for the generated LDIF files.

Example of an LDIF file content that may be outputted:

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

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

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

# moddn (newrdn, then deleteoldrdn, then optional newsuperior)
dn: cn=triss@orga.com,ou=diffusion_list,dc=orga,dc=com
changetype: moddn
newrdn: cn=triss@orga.com
deleteoldrdn: 1

The total number of entries found in the input ION files.

The total number of entries successfully translated to LDIF.