# Class: DirectoryService

## tibco.objectapi.service.DirectoryService

#### new DirectoryService()

### Methods

#### deleteContainer(request, callback)

Deletes the configuration of the identified LDAP Container. If deleteresources is true, and the caller has the required privileges for either of the system action "resourceAdmin" or "deleteResourceAdmin", any associated resources will be deleted before the LDAP Container is deleted.

##### Parameters:

Name | Type | Description
--- | --- | ---
`request` | tibco.objectapi.service.request.DeleteContainerRequest | A request set with data for this service call.
`callback` | tibco.objectapi.service.Callback | A callback to handle the service response of type `NoContentResponse`.

#### executeLargeLdapQuery(request, callback)

The same as the executeLdapQuery function, except this function is intended for complex or large LDAP queries.

##### Parameters:

Name | Type | Description
--- | --- | ---
`request` | tibco.objectapi.service.request.ExecuteLargeLdapQueryRequest | A request set with data for this service call.
`callback` | tibco.objectapi.service.Callback | A callback to handle the service response of type `ExecuteLdapQueryResponseType`.

#### executeLdapQuery(request, callback)

Executes a given LDAP Query against the LDAP Connection identified by its alias, and restricted to a given Base DN (may be null). The response will list the DNs of those entries evaluated by the query.

##### Parameters:

Name | Type | Description
--- | --- | ---
`request` | tibco.objectapi.service.request.ExecuteLdapQueryRequest | A request set with data for this service call.
`callback` | tibco.objectapi.service.Callback | A callback to handle the service response of type `ExecuteLdapQueryResponseType`.

#### executePagedLdapQuery(request, callback)

Returns the Distinguished Names (DNs) for LDAP entries that match the specified query, in a paged format.

##### Parameters:

Name | Type | Description
--- | --- | ---
`request` | tibco.objectapi.service.request.ExecutePagedLdapQueryRequest | A request set with data for this service call.
`callback` | tibco.objectapi.service.Callback | A callback to handle the service response of type `ExecuteLdapQueryResponseType`.

#### getCandidateDetail(request, callback)

Returns the detail (including LDAP attribute values) for the candidate Resource identified by the request. The candidate Resource details of the request can be taken from an entry in the response of the listCandidateResources function.

The attributes included in the response will be those to which Resource Attribute are mapped.

If the request parameters identify an existing Resource, the response will include the GUID of that Resource.

##### Parameters:

Name | Type | Description
--- | --- | ---
`request` | tibco.objectapi.service.request.GetCandidateDetailRequest | A request set with data for this service call.
`callback` | tibco.objectapi.service.Callback | A callback to handle the service response of type `GetCandidateDetailResponseType`.

#### getLdapEntry(request, callback)

Retrieves the values of a collection of named attributes from the LDAP entry identified by the LDAP Connection alias and its DN. Attributes holding binary values will be indicated.

##### Parameters:

Name | Type | Description
--- | --- | ---
`request` | tibco.objectapi.service.request.GetLdapEntryRequest | A request set with data for this service call.
`callback` | tibco.objectapi.service.Callback | A callback to handle the service response of type `GetLdapEntryResponseType`.

#### listAttributeNames(request, callback)

Identifies the names of the LDAP attributes belonging the entries identified by evaluating the given query against the LDAP Connection identified by its alias. This is used to aid the association of LDAP Attributes to Resource Attributes.

The response can also include a sample collection of LDAP Entries for which the values of the named attributes are listed. The number of sample entries is specified in the request.

##### Parameters:

Name | Type | Description
--- | --- | ---
`request` | tibco.objectapi.service.request.ListAttributeNamesRequest | A request set with data for this service call.
`callback` | tibco.objectapi.service.Callback | A callback to handle the service response of type `ListAttributeNamesResponseType`.

#### listAttributeNamesLargeQuery(request, callback)

The same as the listAttributeNames function, except this function is intended for complex or large LDAP queries.

##### Parameters:

Name | Type | Description
--- | --- | ---
`request` | tibco.objectapi.service.request.ListAttributeNamesLargeQueryRequest | A request set with data for this service call.
`callback` | tibco.objectapi.service.Callback | A callback to handle the service response of type `ListAttributeNamesResponseType`.

#### listCandidateResources(request, callback)

Lists the LDAP Entries, from the identified LDAP Container, that are candidates for Resources. The response may, if requested, include entries for which Resources already exist (indicated in the response by including their GUID).

Each entry in the response will carry the alias and DN of each LDAP Source, within the LDAP Container, from which it was derived.

If the response is to include existing Resources, those Resources that were originally derived from the LDAP Container, but can no longer be resolved, are highlighted with an error code.

Those candidates for which multiple entries were found in a secondary LDAP Source will indicate how many "duplicates" were found in that secondary LDAP Source. This may occur due to the inaccuracy of the foreign-key mappings that link entries in the primary LDAP Source to those of a secondary LDAP Source.

##### Parameters:

Name | Type | Description
--- | --- | ---
`request` | tibco.objectapi.service.request.ListCandidateResourcesRequest | A request set with data for this service call.
`callback` | tibco.objectapi.service.Callback | A callback to handle the service response of type `ListCandidateResourcesResponseType`.

#### listContainers(request, callback)

Lists the configuration detail of all LDAP containers to which the user has access permission. Access can be restricted by the organizations to which the calling user is associated.

##### Parameters:

Name | Type | Description
--- | --- | ---
`request` | tibco.objectapi.service.request.ListContainersRequest | A request set with data for this service call.
`callback` | tibco.objectapi.service.Callback | A callback to handle the service response of type `ListContainersResponseType`.

#### listLdapConnections(request, callback)

Lists details of all the LDAP connection shared resources available to Directory Engine.

##### Parameters:

Name | Type | Description
--- | --- | ---
`request` | tibco.objectapi.service.request.ListLdapConnectionsRequest | A request set with data for this service call.
`callback` | tibco.objectapi.service.Callback | A callback to handle the service response of type `ListLdapConnectionsResponseType`.

#### listPagedCandidateResources(request, callback)

Lists the LDAP Entries, from the identified LDAP Container, that are candidates for Resources. The response may, if requested, include entries for which Resources already exist (indicated in the response by including their GUID).

Each entry in the response will carry the alias and DN of each LDAP Source, within the LDAP Container, from which it was derived.

If the response is to include existing Resources, those Resources that were originally derived from the LDAP Container, but can no longer be resolved, are highlighted with an error code.

Those candidates for which multiple entries were found in a secondary LDAP Source will indicate how many "duplicates" were found in that secondary LDAP Source. This may occur due to the inaccuracy of the foreign-key mappings that link entries in the primary LDAP Source to those of a secondary LDAP Source.

##### Parameters:

Name | Type | Description
--- | --- | ---
`request` | tibco.objectapi.service.request.ListPagedCandidateResourcesRequest | A request set with data for this service call.
`callback` | tibco.objectapi.service.Callback | A callback to handle the service response of type `ListCandidateResourcesResponseType`.

#### saveContainer(request, callback)

Saves the given LDAP container configuration. Use this function to create a new LDAP container or to update an existing one.

##### Parameters:

Name | Type | Description
--- | --- | ---
`request` | tibco.objectapi.service.request.SaveContainerRequest | A request set with data for this service call.
`callback` | tibco.objectapi.service.Callback | A callback to handle the service response of type `SaveContainerResponseType`.

#### updateContainer(request, callback)

Saves the given LDAP container configuration. Use this function to update an existing container.

##### Parameters:

Name | Type | Description
--- | --- | ---
`request` | tibco.objectapi.service.request.UpdateContainerRequest | A request set with data for this service call.
`callback` | tibco.objectapi.service.Callback | A callback to handle the service response of type `SaveContainerResponseType`.