1dn: olcOverlay={0}variant,olcDatabase={1}@BACKEND@,cn=config
2changetype: add
3objectClass: olcOverlayConfig
4objectclass: olcVariantConfig
5
6dn: olcOverlay={0}variant,olcDatabase={1}@BACKEND@,cn=config
7changetype: modify
8replace: olcVariantPassReplication
9olcVariantPassReplication: TRUE
10
11dn: name={0}variant,olcOverlay={0}variant,olcDatabase={1}@BACKEND@,cn=config
12changetype: add
13objectclass: olcVariantVariant
14olcVariantEntry: ou=People,dc=example,dc=com
15
16# a basic variant
17dn: olcVariantVariantAttribute=description,name={0}variant,olcOverlay={0}variant,olcDatabase={1}@BACKEND@,cn=config
18changetype: add
19objectclass: olcVariantAttribute
20olcVariantAlternativeAttribute: description
21olcVariantAlternativeEntry: dc=example,dc=com
22
23# a nonexistent alternate
24dn: olcVariantVariantAttribute=seealso,name={0}variant,olcOverlay={0}variant,olcDatabase={1}@BACKEND@,cn=config
25changetype: add
26objectclass: olcVariantAttribute
27olcVariantAlternativeAttribute: seealso
28olcVariantAlternativeEntry: ou=Societies,dc=example,dc=com
29
30dn: name={1}variant,olcOverlay={0}variant,olcDatabase={1}@BACKEND@,cn=config
31changetype: add
32objectclass: olcVariantVariant
33olcVariantEntry: ou=Groups,dc=example,dc=com
34
35# recursive retrieval is not done
36dn: olcVariantVariantAttribute=description,name={1}variant,olcOverlay={0}variant,olcDatabase={1}@BACKEND@,cn=config
37changetype: add
38objectclass: olcVariantAttribute
39olcVariantAlternativeAttribute: description
40olcVariantAlternativeEntry: ou=People,dc=example,dc=com
41
42# a variant taking data from a different attribute (after the changes below)
43dn: olcVariantVariantAttribute=st,name={1}variant,olcOverlay={0}variant,olcDatabase={1}@BACKEND@,cn=config
44changetype: add
45objectclass: olcVariantAttribute
46olcVariantAlternativeAttribute: st
47olcVariantAlternativeEntry: cn=Manager,dc=example,dc=com
48
49# configuration changes
50dn: olcVariantVariantAttribute={1}st,name={1}variant,olcOverlay={0}variant,olcDatabase={1}@BACKEND@,cn=config
51changetype: modify
52replace: olcVariantAlternativeAttribute
53olcVariantAlternativeAttribute: ou
54-
55replace: olcVariantAlternativeEntry
56olcVariantAlternativeEntry: ou=Alumni Association,ou=People,dc=example,dc=com
57-
58
59# a regex variant
60dn: name={2}regex,olcOverlay={0}variant,olcDatabase={1}@BACKEND@,cn=config
61changetype: add
62objectclass: olcVariantRegex
63olcVariantEntryRegex: (.*),(ou=.*technology.*)(,)dc=example,dc=com
64
65dn: olcVariantVariantAttribute=ou,name={2}regex,olcOverlay={0}variant,olcDatabase={1}@BACKEND@,cn=config
66changetype: add
67objectclass: olcVariantAttributePattern
68olcVariantAlternativeAttribute: ou
69olcVariantAlternativeEntryPattern: $2$3dc=example$3dc=com
70
71# Duplicate description into title
72dn: olcVariantVariantAttribute=title,name={2}regex,olcOverlay={0}variant,olcDatabase={1}@BACKEND@,cn=config
73changetype: add
74objectclass: olcVariantAttributePattern
75olcVariantAlternativeAttribute: description
76olcVariantAlternativeEntryPattern: $0
77
78# everything
79dn: name={3}regex,olcOverlay={0}variant,olcDatabase={1}@BACKEND@,cn=config
80changetype: add
81objectclass: olcVariantRegex
82olcVariantEntryRegex: .*
83
84dn: olcVariantVariantAttribute=l,name={3}regex,olcOverlay={0}variant,olcDatabase={1}@BACKEND@,cn=config
85changetype: add
86objectclass: olcVariantAttributePattern
87olcVariantAlternativeAttribute: l
88olcVariantAlternativeEntryPattern: dc=example,dc=com
89
90