////
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at
  http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
////
:documentationPath: /pipeline/transforms/
:language: en_US
:description: The LDAP Output transform allows you to write information like users, roles and other data to an LDAP server.

= image:transforms/icons/ldapoutput.svg[LDAP Output transform Icon, role="image-doc-icon"] LDAP Output

[%noheader,cols="3a,1a", role="table-no-borders" ]
|===
|
== Description

The LDAP Output transform allows you to write information like users, roles and other data to an LDAP server.

The following sections describe the available options for the LDAP Output transform.

|
== Supported Engines
[%noheader,cols="2,1a",frame=none, role="table-supported-engines"]
!===
!Hop Engine! image:check_mark.svg[Supported, 24]
!Spark! image:question_mark.svg[Maybe Supported, 24]
!Flink! image:question_mark.svg[Maybe Supported, 24]
!Dataflow! image:question_mark.svg[Maybe Supported, 24]
!===
|===

== General Tab

[options="header"]
|===
|Option|Description
|Transform name|Name of the transform; this name has to be unique in a single pipeline.
|Host|Host can be the IP address of the LDAP directory server or its DNS name.
|Port|Port number of LDAP directory server.
|Referral a|Determines how to handle referrals.

* Ignore: Ignore referrals.
* Follow: Automatically follow any referrals.

|Derefalias a|Determines how aliases are dereferenced.

* Always: Always dereference aliases.
* Never: Never dereference aliases.
* Finding: Dereference aliases only during name resolution.
* Searching: Dereference aliases only after name resolution.

|Protocol a|Determines which protocol is used.

* LDAP
* LDAP SSL
* LDAP TLS

|Use authentication|To enable LDAP authentication.
|Username|The username to be passed during authentication.
|Password|The password to be passed during authentication.
|Use certificate|To enable the use of a certificate.
|Trust store path|
|Trust store password|
|Trust all certificates|
|Test connection|Tests the configured connection to the LDAP server.
|===

== Settings

[options="header"]
|===
|Option|Description
|Operation|Insert, Update, Upsert, Add atribute, Delete, Rename DN (distinguished name).
|Multi valued field seperator|
|Fail if not exist|
|Dn fieldname|Field which contains the distinguished name.
|Old DN fieldname|Field which contains the old distinguished name (rename).
|New DN fieldname|Field which contains the new distinguished name (rename).
|Delete RDN|Whether or not to delete the RDN (relative distinguished name)
|===

== Fields Tab

[options="header"]
|===
|Option|Description
|Search base for fields|Where to start looking for fields
|Attributes|
|Stream field|
|Update|Whether or not to update the fields (Y/N)
|Get fields|
|Edit mapping|
|===