#
#  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.
#
#   EXAMPLE.COM is reserved for testing according to this RFC:
#
#   http://www.rfc-editor.org/rfc/rfc2606.txt
#

dn: ou=config
objectClass: organizationalUnit
objectClass: extensibleObject
objectClass: top
ou: config

dn: ou=directoryService,ou=config
objectClass: organizationalUnit
objectClass: top
ou: directoryService

dn: ou=interceptors,ou=directoryService,ou=config
objectClass: organizationalUnit
objectClass: top
ou: interceptors

dn: ou=partitions,ou=directoryService,ou=config
objectClass: organizationalUnit
objectClass: top
ou: partitions

dn: ads-partitionId=system,ou=partitions,ou=directoryService,ou=config
objectClass: ads-partition
objectClass: ads-jdbmPartition
objectClass: top
ads-partitionId: system
ads-partitionIndexedAttributes: ou=system
ads-partitionSuffix: ou=system

dn: ou=indexes,ads-partitionId=system,ou=partitions,ou=directoryService,ou=c
 onfig
objectClass: organizationalUnit
objectClass: top
ou: indexes

dn: ads-indexAttributeId=ou,ou=indexes,ads-partitionId=system,ou=partitions,
 ou=directoryService,ou=config
objectClass: ads-jdbmIndex
objectClass: ads-index
objectClass: top
ads-indexAttributeId: ou
ads-indexHasReverse: FALSE

