root / pykota / trunk / initscripts / ldap / pykota.schema @ 2024

Revision 2024, 11.0 kB (checked in by jalet, 19 years ago)

Added the billing code to the history

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
RevLine 
[1015]1# $Id$
2#
3# pykota.schema
4#
5# LDAP Schema for Pykota Quota System
6# Version 0.2
7#
[1098]8# Include it in OpenLDAP's configuration file (/etc/ldap/slapd.conf)
9# and restart slapd.
10#
[1015]11# Written 2003-05-28 by Wayne Godoy and John Flynn <wgodoy =AT= ub -DOT- edu -DOT- bz>
12#
13# Modified by Jerome Alet 2003-06-01
14#
15# 16868.x       => Conseil Internet & Logiciels Libres
16# 16868.1.x     => Pykota
17# 16868.1.1.x   => attributes
18# 16868.1.2.x   => classes
19#
[1108]20# Contributors : Leif Johansson - Stockholm University
[1017]21#
[1015]22
[1017]23#       
24# PyKota Attributes Types
25#
[1015]26
[1017]27# pykotaLimitBy
[1015]28attributetype ( 1.3.6.1.4.1.16868.1.1.1 NAME 'pykotaLimitBy'
29        DESC 'How to limit the user/group : quota or balance'
30        EQUALITY caseIgnoreIA5Match
31        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
32
[1017]33# pykotaBalance
[1015]34attributetype ( 1.3.6.1.4.1.16868.1.1.2 NAME 'pykotaBalance'
35        DESC 'Current account balance for the user, float'
36        EQUALITY caseIgnoreIA5Match
37        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
38
[1017]39# pykotaLifeTimePaid
[1015]40attributetype ( 1.3.6.1.4.1.16868.1.1.3 NAME 'pykotaLifeTimePaid'
41        DESC 'Total money paid by the user to fill his account balance, float'
42        EQUALITY caseIgnoreIA5Match
43        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
44
[1017]45# pykotaPricePerPage
[1015]46attributetype ( 1.3.6.1.4.1.16868.1.1.4 NAME 'pykotaPricePerPage'
47        DESC 'Price per page for a printer, float'
48        EQUALITY caseIgnoreIA5Match
49        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
50
[1017]51# pykotaPricePerJob
[1015]52attributetype ( 1.3.6.1.4.1.16868.1.1.5 NAME 'pykotaPricePerJob'
53        DESC 'Price per job for a printer, float'
54        EQUALITY caseIgnoreIA5Match
55        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
56
[1017]57# pykotaSoftLimit
58attributetype ( 1.3.6.1.4.1.16868.1.1.6 NAME 'pykotaSoftLimit'
[1015]59        DESC 'Soft limit in maximal number of pages'
[1041]60        EQUALITY caseIgnoreIA5Match
61        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
[1015]62       
[1017]63# pykotaHardLimit       
64attributetype ( 1.3.6.1.4.1.16868.1.1.7 NAME 'pykotaHardLimit'
[1015]65        DESC 'Hard limit in maximal number of pages'
[1041]66        EQUALITY caseIgnoreIA5Match
67        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
[1015]68
[1017]69# pykotaDateLimit
70attributetype ( 1.3.6.1.4.1.16868.1.1.8 NAME 'pykotaDateLimit'
[1015]71        DESC 'Date at which the soft limit becomes a hard one'
72        EQUALITY caseIgnoreIA5Match
73        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
74
[1017]75# pykotaPageCounter
76attributetype ( 1.3.6.1.4.1.16868.1.1.9 NAME 'pykotaPageCounter'
[1015]77        DESC 'Current page counter for the user on a particular printer'
78        EQUALITY integerMatch
79        SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
80
[1017]81# pykotaLifePageCounter
82attributetype ( 1.3.6.1.4.1.16868.1.1.10 NAME 'pykotaLifePageCounter'
[1015]83        DESC 'Total page counter for the user on a particular printer'
84        EQUALITY integerMatch
85        SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
86
[1017]87# pykotaJobId
88attributetype ( 1.3.6.1.4.1.16868.1.1.11 NAME 'pykotaJobId'
[1015]89        DESC 'Id of a job in a printer history of jobs'
[1017]90        EQUALITY caseExactIA5Match
91        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
[1015]92
[1017]93# pykotaPrinterPageCounter
94attributetype ( 1.3.6.1.4.1.16868.1.1.12 NAME 'pykotaPrinterPageCounter'
[1015]95        DESC 'Life time page counter of a printer when the job began'
96        EQUALITY integerMatch
97        SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
98
[1017]99# pykotaJobSize
100attributetype ( 1.3.6.1.4.1.16868.1.1.13 NAME 'pykotaJobSize'
[1015]101        DESC 'Current job size in number of pages in the history'
[1200]102        EQUALITY integerMatch
103        SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
[1015]104
[1017]105# pykotaAction
106attributetype ( 1.3.6.1.4.1.16868.1.1.14 NAME 'pykotaAction'
[1018]107        DESC 'Was the job allowed, or denied : ( "ALLOW" |  "DENY" )'
108        EQUALITY caseExactIA5Match
[1015]109        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
110       
[1017]111# pykotaPrinterName       
112attributetype ( 1.3.6.1.4.1.16868.1.1.15 NAME 'pykotaPrinterName'
113        DESC 'PyKota printer name as received from the printing subsystem'
[1200]114        EQUALITY caseExactIA5Match
115        SUBSTR caseExactIA5SubstringsMatch
[1015]116        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
[1017]117       
118# pykotaUserName       
119attributetype ( 1.3.6.1.4.1.16868.1.1.16 NAME 'pykotaUserName'
120        DESC 'PyKota user name'
121        EQUALITY caseExactIA5Match
[1200]122        SUBSTR caseExactIA5SubstringsMatch
[1017]123        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
124       
125# pykotaGroupName       
126attributetype ( 1.3.6.1.4.1.16868.1.1.17 NAME 'pykotaGroupName'
127        DESC 'PyKota group name'
128        EQUALITY caseExactIA5Match
[1200]129        SUBSTR caseExactIA5SubstringsMatch
[1017]130        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
131       
[1018]132# pykotaLastJobIdent       
133attributetype ( 1.3.6.1.4.1.16868.1.1.18 NAME 'pykotaLastJobIdent'
134        DESC 'Identifies the last job in the history'
[1017]135        EQUALITY caseExactIA5Match
136        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
137       
[1200]138# pykotaFileName       
139attributetype ( 1.3.6.1.4.1.16868.1.1.19 NAME 'pykotaFileName'
140        DESC 'Print job filename'
[1455]141        EQUALITY caseExactMatch
142        SUBSTR caseExactSubstringsMatch
143        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
[1200]144       
145# pykotaTitle       
146attributetype ( 1.3.6.1.4.1.16868.1.1.20 NAME 'pykotaTitle'
147        DESC 'Print job title'
[1455]148        EQUALITY caseIgnoreMatch
149        SUBSTR caseIgnoreSubstringsMatch
150        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
[1200]151       
152# pykotaCopies
153attributetype ( 1.3.6.1.4.1.16868.1.1.21 NAME 'pykotaCopies'
154        DESC 'Number of copies of the current print job'
155        EQUALITY integerMatch
156        SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
157       
158# pykotaOptions       
159attributetype ( 1.3.6.1.4.1.16868.1.1.22 NAME 'pykotaOptions'
160        DESC 'Print job options'
[1480]161        EQUALITY caseIgnoreMatch
162        SUBSTR caseIgnoreSubstringsMatch
163        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
[1200]164       
[1203]165# pykotaJobPrice
166attributetype ( 1.3.6.1.4.1.16868.1.1.23 NAME 'pykotaJobPrice'
167        DESC 'Price of a particular job in the history, float'
168        EQUALITY caseIgnoreIA5Match
169        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
170
[1473]171# pykotaHostName
172attributetype ( 1.3.6.1.4.1.16868.1.1.24 NAME 'pykotaHostName'
173        DESC 'The host the job is coming from'
174        EQUALITY caseIgnoreMatch
175        SUBSTR caseIgnoreSubstringsMatch
176        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )
[1520]177       
178# pykotaJobSizeBytes
179attributetype ( 1.3.6.1.4.1.16868.1.1.25 NAME 'pykotaJobSizeBytes'
180        DESC 'Current job size in number of bytes in the history'
181        EQUALITY integerMatch
182        SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
[1473]183
[1520]184# pykotaPayments
185attributetype ( 1.3.6.1.4.1.16868.1.1.26 NAME 'pykotaPayments'
[1522]186        DESC 'Stores all payments made by an user, encoded to store both date and amount, separated by a # between two spaces'
[1520]187        EQUALITY caseExactIA5Match
188        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
[1996]189       
190# pykotaUserCoefficient
191attributetype ( 1.3.6.1.4.1.16868.1.1.27 NAME 'pykotaUserCoefficient'
192        DESC 'Coefficient for a particular user, float'
193        EQUALITY caseIgnoreIA5Match
194        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
195       
196# pykotaWarnCount
197attributetype ( 1.3.6.1.4.1.16868.1.1.28 NAME 'pykotaWarnCount'
198        DESC 'Number of times the user was warned'
199        EQUALITY integerMatch
200        SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )
201       
202# pykotaMD5Sum       
203attributetype ( 1.3.6.1.4.1.16868.1.1.29 NAME 'pykotaMD5Sum'
[1997]204        DESC 'MD5 Sum of the job datas'
[1996]205        EQUALITY caseExactIA5Match
206        SUBSTR caseExactIA5SubstringsMatch
207        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
208       
209# pykotaPages       
210attributetype ( 1.3.6.1.4.1.16868.1.1.30 NAME 'pykotaPages'
[1997]211        DESC 'Descriptor for each page settings in the history'
[1996]212        EQUALITY caseExactIA5Match
213        SUBSTR caseExactIA5SubstringsMatch
214        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26)
215       
216# pykotaPrinterCoefficient
217attributetype ( 1.3.6.1.4.1.16868.1.1.31 NAME 'pykotaPrinterCoefficient'
218        DESC 'Coefficient for a particular page format. Contains label # coeff, e.g. A3 # 2.0'
219        EQUALITY caseIgnoreIA5Match
220        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
[1520]221
[2024]222# pykotaBillingCode
223attributetype ( 1.3.6.1.4.1.16868.1.1.32 NAME 'pykotaBillingCode'
224        DESC 'Optional billing code for the print job'
225        EQUALITY caseIgnoreMatch
226        SUBSTR caseIgnoreSubstringsMatch
227        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
228       
[1996]229
[1017]230#       
231# PyKota Object Classes
232#
[1015]233
[1223]234# pykotaAccount
[1017]235objectclass ( 1.3.6.1.4.1.16868.1.2.1 NAME 'pykotaAccount' SUP top AUXILIARY
[1015]236        DESC 'PyKota Auxiliary User Account'
[1018]237        MUST ( uid )
[1223]238        MAY  ( pykotaUserName $ pykotaLimitBy $ mail ) )
[1015]239       
[1017]240# pykotaGroup       
[1015]241objectclass ( 1.3.6.1.4.1.16868.1.2.2 NAME 'pykotaGroup' SUP top AUXILIARY
242        DESC 'PyKota Auxiliary Group'
[1018]243        MUST ( cn )
244        MAY  ( pykotaGroupName $ pykotaLimitBy $ memberUid $ uniqueMember $ member ) )
[1015]245       
[1017]246# pykotaPrinter       
247objectclass ( 1.3.6.1.4.1.16868.1.2.3 NAME 'pykotaPrinter' SUP top AUXILIARY
[1015]248        DESC 'PyKota Printer'
[1018]249        MUST ( cn )
[1996]250        MAY  ( description $ pykotaPrinterName $ pykotaPricePerPage $ pykotaPricePerJob $ pykotaPrinterCoefficient $ uniqueMember ) )
[1015]251       
[1017]252# pykotaUserPQuota       
253objectclass ( 1.3.6.1.4.1.16868.1.2.4 NAME 'pykotaUserPQuota' SUP top AUXILIARY
[1015]254        DESC 'PyKota User Quota on a Printer'
[1017]255        MUST ( cn $ pykotaUserName $ pykotaPrinterName )
[1996]256        MAY  ( pykotaPageCounter $ pykotaLifePageCounter $ pykotaSoftLimit $ pykotaHardLimit $ pykotaDateLimit $ pykotaWarnCount ) )
[1015]257       
[1017]258# pykotaGroupPQuota       
259objectclass ( 1.3.6.1.4.1.16868.1.2.5 NAME 'pykotaGroupPQuota' SUP top AUXILIARY
[1015]260        DESC 'PyKota Group Quota on a Printer'
[1017]261        MUST ( cn $ pykotaGroupName $ pykotaPrinterName )
[1015]262        MAY  ( pykotaSoftLimit $ pykotaHardLimit $ pykotaDateLimit ) )
263       
[1017]264# pykotaJob       
265objectclass ( 1.3.6.1.4.1.16868.1.2.6 NAME 'pykotaJob' SUP top AUXILIARY
[1015]266        DESC 'An entry in the job history for a printer'
[1017]267        MUST ( cn $ pykotaUserName $ pykotaPrinterName $ pykotaJobId )
[2024]268        MAY  ( pykotaBillingCode $ pykotaPrinterPageCounter $ pykotaJobSize $ pykotaAction $ pykotaJobPrice $ pykotaFileName $ pykotaTitle $ pykotaCopies $ pykotaOptions $ pykotaHostName $ pykotaJobSizeBytes $ pykotaMD5Sum $ pykotaPages ) )
[1015]269       
[1017]270# pykotaAccountBalance
271objectclass ( 1.3.6.1.4.1.16868.1.2.7 NAME 'pykotaAccountBalance' SUP top AUXILIARY
272        DESC 'PyKota User account balance'
[1996]273        MAY  ( pykotaUserName $ pykotaBalance $ pykotaLifeTimePaid $ pykotaUserCoefficient $ pykotaPayments ) )
[1017]274       
275# pykotaLastJob       
276objectclass ( 1.3.6.1.4.1.16868.1.2.8 NAME 'pykotaLastJob' SUP top AUXILIARY
277        DESC 'Last job information for a printer'
[1018]278        MUST ( pykotaLastJobIdent )
279        MAY ( pykotaPrinterName ) )
[1017]280       
[1018]281# pykotaObject - Use it if you have to
282objectclass ( 1.3.6.1.4.1.16868.1.2.9 NAME 'pykotaObject' SUP top STRUCTURAL
283        DESC 'PyKota Object'
[1017]284        MUST ( cn ) )
285       
286       
Note: See TracBrowser for help on using the browser.