001
002 /*
003 * Licensed to the Apache Software Foundation (ASF) under one
004 * or more contributor license agreements. See the NOTICE file
005 * distributed with this work for additional information
006 * regarding copyright ownership. The ASF licenses this file
007 * to you under the Apache License, Version 2.0 (the
008 * "License"); you may not use this file except in compliance
009 * with the License. You may obtain a copy of the License at
010 *
011 * http://www.apache.org/licenses/LICENSE-2.0
012 *
013 * Unless required by applicable law or agreed to in writing,
014 * software distributed under the License is distributed on an
015 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
016 * KIND, either express or implied. See the License for the
017 * specific language governing permissions and limitations
018 * under the License.
019 *
020 */
021 package org.apache.directory.server.schema.bootstrap;
022
023
024 import java.util.ArrayList;
025 import javax.naming.NamingException;
026
027 import org.apache.directory.server.schema.registries.Registries;
028 import org.apache.directory.shared.ldap.schema.UsageEnum;
029
030
031 /**
032 * A producer of schema attributeType definations for the dhcp schema. This
033 * code has been automatically generated using schema files in the OpenLDAP
034 * format along with the directory plugin for maven. This has been done
035 * to facilitate Eve<->OpenLDAP schema interoperability.
036 *
037 * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
038 */
039 public class DhcpAttributeTypeProducer extends AbstractBootstrapProducer
040 {
041
042 public DhcpAttributeTypeProducer()
043 {
044 super( ProducerTypeEnum.ATTRIBUTE_TYPE_PRODUCER );
045 }
046
047
048 // ------------------------------------------------------------------------
049 // BootstrapProducer Methods
050 // ------------------------------------------------------------------------
051
052
053 /**
054 * @see BootstrapProducer#produce( Registries, ProducerCallback )
055 */
056 public void produce( Registries registries, ProducerCallback cb )
057 throws NamingException
058 {
059 ArrayList<String> names = new ArrayList<String>();
060 BootstrapAttributeType attributeType;
061
062
063 // --------------------------------------------------------------------
064 // AttributeType 2.16.840.1.113719.1.203.4.1
065 // --------------------------------------------------------------------
066
067 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.1", registries );
068 attributeType.setDescription( "The DN of the dhcpServer which is the primary server for the configuration." );
069 attributeType.setCanUserModify( ! false );
070 attributeType.setSingleValue( true );
071 attributeType.setCollective( false );
072 attributeType.setObsolete( false );
073 attributeType.setLength( 0 );
074 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
075 attributeType.setEqualityId( "distinguishedNameMatch" );
076 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.12" );
077
078 names.clear();
079 names.add( "dhcpPrimaryDN" );
080 attributeType.setNames( names.toArray( EMPTY ) );
081 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.1", attributeType );
082
083 // --------------------------------------------------------------------
084 // AttributeType 2.16.840.1.113719.1.203.4.2
085 // --------------------------------------------------------------------
086
087 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.2", registries );
088 attributeType.setDescription( "The DN of dhcpServer(s) which provide backup service for the configuration." );
089 attributeType.setCanUserModify( ! false );
090 attributeType.setSingleValue( false );
091 attributeType.setCollective( false );
092 attributeType.setObsolete( false );
093 attributeType.setLength( 0 );
094 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
095 attributeType.setEqualityId( "distinguishedNameMatch" );
096 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.12" );
097
098 names.clear();
099 names.add( "dhcpSecondaryDN" );
100 attributeType.setNames( names.toArray( EMPTY ) );
101 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.2", attributeType );
102
103 // --------------------------------------------------------------------
104 // AttributeType 2.16.840.1.113719.1.203.4.3
105 // --------------------------------------------------------------------
106
107 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.3", registries );
108 attributeType.setDescription( "Flexible storage for specific data depending on what object this exists in. Like conditional statements, server parameters, etc. This allows the standard to evolve without needing to adjust the schema." );
109 attributeType.setCanUserModify( ! false );
110 attributeType.setSingleValue( false );
111 attributeType.setCollective( false );
112 attributeType.setObsolete( false );
113 attributeType.setLength( 0 );
114 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
115 attributeType.setEqualityId( "caseIgnoreIA5Match" );
116 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.26" );
117
118 names.clear();
119 names.add( "dhcpStatements" );
120 attributeType.setNames( names.toArray( EMPTY ) );
121 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.3", attributeType );
122
123 // --------------------------------------------------------------------
124 // AttributeType 2.16.840.1.113719.1.203.4.4
125 // --------------------------------------------------------------------
126
127 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.4", registries );
128 attributeType.setDescription( "The starting & ending IP Addresses in the range (inclusive), separated by a hyphen; if the range only contains one address, then just the address can be specified with no hyphen. Each range is defined as a separate value." );
129 attributeType.setCanUserModify( ! false );
130 attributeType.setSingleValue( false );
131 attributeType.setCollective( false );
132 attributeType.setObsolete( false );
133 attributeType.setLength( 0 );
134 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
135 attributeType.setEqualityId( "caseIgnoreIA5Match" );
136 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.26" );
137
138 names.clear();
139 names.add( "dhcpRange" );
140 attributeType.setNames( names.toArray( EMPTY ) );
141 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.4", attributeType );
142
143 // --------------------------------------------------------------------
144 // AttributeType 2.16.840.1.113719.1.203.4.5
145 // --------------------------------------------------------------------
146
147 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.5", registries );
148 attributeType.setDescription( "This attribute contains the permit lists associated with a pool. Each permit list is defined as a separate value." );
149 attributeType.setCanUserModify( ! false );
150 attributeType.setSingleValue( false );
151 attributeType.setCollective( false );
152 attributeType.setObsolete( false );
153 attributeType.setLength( 0 );
154 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
155 attributeType.setEqualityId( "caseIgnoreIA5Match" );
156 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.26" );
157
158 names.clear();
159 names.add( "dhcpPermitList" );
160 attributeType.setNames( names.toArray( EMPTY ) );
161 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.5", attributeType );
162
163 // --------------------------------------------------------------------
164 // AttributeType 2.16.840.1.113719.1.203.4.6
165 // --------------------------------------------------------------------
166
167 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.6", registries );
168 attributeType.setDescription( "The subnet mask length for the subnet. The mask can be easily computed from this length." );
169 attributeType.setCanUserModify( ! false );
170 attributeType.setSingleValue( true );
171 attributeType.setCollective( false );
172 attributeType.setObsolete( false );
173 attributeType.setLength( 0 );
174 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
175 attributeType.setEqualityId( "integerMatch" );
176 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.27" );
177
178 names.clear();
179 names.add( "dhcpNetMask" );
180 attributeType.setNames( names.toArray( EMPTY ) );
181 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.6", attributeType );
182
183 // --------------------------------------------------------------------
184 // AttributeType 2.16.840.1.113719.1.203.4.7
185 // --------------------------------------------------------------------
186
187 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.7", registries );
188 attributeType.setDescription( "Encoded option values to be sent to clients. Each value represents a single option and contains (OptionTag, Length, OptionValue) encoded in the format used by DHCP." );
189 attributeType.setCanUserModify( ! false );
190 attributeType.setSingleValue( false );
191 attributeType.setCollective( false );
192 attributeType.setObsolete( false );
193 attributeType.setLength( 0 );
194 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
195 attributeType.setEqualityId( "caseIgnoreIA5Match" );
196 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.40" );
197
198 names.clear();
199 names.add( "dhcpOption" );
200 attributeType.setNames( names.toArray( EMPTY ) );
201 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.7", attributeType );
202
203 // --------------------------------------------------------------------
204 // AttributeType 2.16.840.1.113719.1.203.4.8
205 // --------------------------------------------------------------------
206
207 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.8", registries );
208 attributeType.setDescription( "Encoded text string or list of bytes expressed in hexadecimal, separated by colons. Clients match subclasses based on matching the class data with the results of match or spawn with statements in the class name declarations." );
209 attributeType.setCanUserModify( ! false );
210 attributeType.setSingleValue( true );
211 attributeType.setCollective( false );
212 attributeType.setObsolete( false );
213 attributeType.setLength( 0 );
214 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
215 attributeType.setEqualityId( "caseIgnoreIA5Match" );
216 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.26" );
217
218 names.clear();
219 names.add( "dhcpClassData" );
220 attributeType.setNames( names.toArray( EMPTY ) );
221 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.8", attributeType );
222
223 // --------------------------------------------------------------------
224 // AttributeType 2.16.840.1.113719.1.203.4.9
225 // --------------------------------------------------------------------
226
227 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.9", registries );
228 attributeType.setDescription( "The distinguished name(s) of the dhcpOption objects containing the configuration options provided by the server." );
229 attributeType.setCanUserModify( ! false );
230 attributeType.setSingleValue( false );
231 attributeType.setCollective( false );
232 attributeType.setObsolete( false );
233 attributeType.setLength( 0 );
234 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
235 attributeType.setEqualityId( "distinguishedNameMatch" );
236 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.12" );
237
238 names.clear();
239 names.add( "dhcpOptionsDN" );
240 attributeType.setNames( names.toArray( EMPTY ) );
241 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.9", attributeType );
242
243 // --------------------------------------------------------------------
244 // AttributeType 2.16.840.1.113719.1.203.4.10
245 // --------------------------------------------------------------------
246
247 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.10", registries );
248 attributeType.setDescription( "the distinguished name(s) of the dhcpHost objects." );
249 attributeType.setCanUserModify( ! false );
250 attributeType.setSingleValue( false );
251 attributeType.setCollective( false );
252 attributeType.setObsolete( false );
253 attributeType.setLength( 0 );
254 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
255 attributeType.setEqualityId( "distinguishedNameMatch" );
256 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.12" );
257
258 names.clear();
259 names.add( "dhcpHostDN" );
260 attributeType.setNames( names.toArray( EMPTY ) );
261 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.10", attributeType );
262
263 // --------------------------------------------------------------------
264 // AttributeType 2.16.840.1.113719.1.203.4.11
265 // --------------------------------------------------------------------
266
267 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.11", registries );
268 attributeType.setDescription( "The distinguished name(s) of pools." );
269 attributeType.setCanUserModify( ! false );
270 attributeType.setSingleValue( false );
271 attributeType.setCollective( false );
272 attributeType.setObsolete( false );
273 attributeType.setLength( 0 );
274 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
275 attributeType.setEqualityId( "distinguishedNameMatch" );
276 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.12" );
277
278 names.clear();
279 names.add( "dhcpPoolDN" );
280 attributeType.setNames( names.toArray( EMPTY ) );
281 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.11", attributeType );
282
283 // --------------------------------------------------------------------
284 // AttributeType 2.16.840.1.113719.1.203.4.12
285 // --------------------------------------------------------------------
286
287 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.12", registries );
288 attributeType.setDescription( "The distinguished name(s) of the groups." );
289 attributeType.setCanUserModify( ! false );
290 attributeType.setSingleValue( false );
291 attributeType.setCollective( false );
292 attributeType.setObsolete( false );
293 attributeType.setLength( 0 );
294 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
295 attributeType.setEqualityId( "distinguishedNameMatch" );
296 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.12" );
297
298 names.clear();
299 names.add( "dhcpGroupDN" );
300 attributeType.setNames( names.toArray( EMPTY ) );
301 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.12", attributeType );
302
303 // --------------------------------------------------------------------
304 // AttributeType 2.16.840.1.113719.1.203.4.13
305 // --------------------------------------------------------------------
306
307 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.13", registries );
308 attributeType.setDescription( "The distinguished name(s) of the subnets." );
309 attributeType.setCanUserModify( ! false );
310 attributeType.setSingleValue( false );
311 attributeType.setCollective( false );
312 attributeType.setObsolete( false );
313 attributeType.setLength( 0 );
314 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
315 attributeType.setEqualityId( "distinguishedNameMatch" );
316 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.12" );
317
318 names.clear();
319 names.add( "dhcpSubnetDN" );
320 attributeType.setNames( names.toArray( EMPTY ) );
321 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.13", attributeType );
322
323 // --------------------------------------------------------------------
324 // AttributeType 2.16.840.1.113719.1.203.4.14
325 // --------------------------------------------------------------------
326
327 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.14", registries );
328 attributeType.setDescription( "The distinguished name of a client address." );
329 attributeType.setCanUserModify( ! false );
330 attributeType.setSingleValue( true );
331 attributeType.setCollective( false );
332 attributeType.setObsolete( false );
333 attributeType.setLength( 0 );
334 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
335 attributeType.setEqualityId( "distinguishedNameMatch" );
336 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.12" );
337
338 names.clear();
339 names.add( "dhcpLeaseDN" );
340 attributeType.setNames( names.toArray( EMPTY ) );
341 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.14", attributeType );
342
343 // --------------------------------------------------------------------
344 // AttributeType 2.16.840.1.113719.1.203.4.15
345 // --------------------------------------------------------------------
346
347 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.15", registries );
348 attributeType.setDescription( "The distinguished name(s) client addresses." );
349 attributeType.setCanUserModify( ! false );
350 attributeType.setSingleValue( false );
351 attributeType.setCollective( false );
352 attributeType.setObsolete( false );
353 attributeType.setLength( 0 );
354 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
355 attributeType.setEqualityId( "distinguishedNameMatch" );
356 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.12" );
357
358 names.clear();
359 names.add( "dhcpLeasesDN" );
360 attributeType.setNames( names.toArray( EMPTY ) );
361 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.15", attributeType );
362
363 // --------------------------------------------------------------------
364 // AttributeType 2.16.840.1.113719.1.203.4.16
365 // --------------------------------------------------------------------
366
367 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.16", registries );
368 attributeType.setDescription( "The distinguished name(s) of a class(es) in a subclass." );
369 attributeType.setCanUserModify( ! false );
370 attributeType.setSingleValue( false );
371 attributeType.setCollective( false );
372 attributeType.setObsolete( false );
373 attributeType.setLength( 0 );
374 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
375 attributeType.setEqualityId( "distinguishedNameMatch" );
376 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.12" );
377
378 names.clear();
379 names.add( "dhcpClassesDN" );
380 attributeType.setNames( names.toArray( EMPTY ) );
381 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.16", attributeType );
382
383 // --------------------------------------------------------------------
384 // AttributeType 2.16.840.1.113719.1.203.4.17
385 // --------------------------------------------------------------------
386
387 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.17", registries );
388 attributeType.setDescription( "The distinguished name(s) of subclass(es)." );
389 attributeType.setCanUserModify( ! false );
390 attributeType.setSingleValue( false );
391 attributeType.setCollective( false );
392 attributeType.setObsolete( false );
393 attributeType.setLength( 0 );
394 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
395 attributeType.setEqualityId( "distinguishedNameMatch" );
396 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.12" );
397
398 names.clear();
399 names.add( "dhcpSubclassesDN" );
400 attributeType.setNames( names.toArray( EMPTY ) );
401 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.17", attributeType );
402
403 // --------------------------------------------------------------------
404 // AttributeType 2.16.840.1.113719.1.203.4.18
405 // --------------------------------------------------------------------
406
407 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.18", registries );
408 attributeType.setDescription( "The distinguished name(s) of sharedNetworks." );
409 attributeType.setCanUserModify( ! false );
410 attributeType.setSingleValue( false );
411 attributeType.setCollective( false );
412 attributeType.setObsolete( false );
413 attributeType.setLength( 0 );
414 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
415 attributeType.setEqualityId( "distinguishedNameMatch" );
416 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.12" );
417
418 names.clear();
419 names.add( "dhcpSharedNetworkDN" );
420 attributeType.setNames( names.toArray( EMPTY ) );
421 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.18", attributeType );
422
423 // --------------------------------------------------------------------
424 // AttributeType 2.16.840.1.113719.1.203.4.19
425 // --------------------------------------------------------------------
426
427 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.19", registries );
428 attributeType.setDescription( "The DN of dhcpService object(s)which contain the configuration information. Each dhcpServer object has this attribute identifying the DHCP configuration(s) that the server is associated with." );
429 attributeType.setCanUserModify( ! false );
430 attributeType.setSingleValue( false );
431 attributeType.setCollective( false );
432 attributeType.setObsolete( false );
433 attributeType.setLength( 0 );
434 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
435 attributeType.setEqualityId( "distinguishedNameMatch" );
436 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.12" );
437
438 names.clear();
439 names.add( "dhcpServiceDN" );
440 attributeType.setNames( names.toArray( EMPTY ) );
441 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.19", attributeType );
442
443 // --------------------------------------------------------------------
444 // AttributeType 2.16.840.1.113719.1.203.4.20
445 // --------------------------------------------------------------------
446
447 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.20", registries );
448 attributeType.setDescription( "The version attribute of this object." );
449 attributeType.setCanUserModify( ! false );
450 attributeType.setSingleValue( true );
451 attributeType.setCollective( false );
452 attributeType.setObsolete( false );
453 attributeType.setLength( 0 );
454 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
455 attributeType.setEqualityId( "caseIgnoreIA5Match" );
456 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.26" );
457
458 names.clear();
459 names.add( "dhcpVersion" );
460 attributeType.setNames( names.toArray( EMPTY ) );
461 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.20", attributeType );
462
463 // --------------------------------------------------------------------
464 // AttributeType 2.16.840.1.113719.1.203.4.21
465 // --------------------------------------------------------------------
466
467 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.21", registries );
468 attributeType.setDescription( "Description of the DHCP Server implementation e.g. DHCP Servers vendor." );
469 attributeType.setCanUserModify( ! false );
470 attributeType.setSingleValue( true );
471 attributeType.setCollective( false );
472 attributeType.setObsolete( false );
473 attributeType.setLength( 0 );
474 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
475 attributeType.setEqualityId( "caseIgnoreIA5Match" );
476 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.26" );
477
478 names.clear();
479 names.add( "dhcpImplementation" );
480 attributeType.setNames( names.toArray( EMPTY ) );
481 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.21", attributeType );
482
483 // --------------------------------------------------------------------
484 // AttributeType 2.16.840.1.113719.1.203.4.22
485 // --------------------------------------------------------------------
486
487 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.22", registries );
488 attributeType.setDescription( "This stores information about the current binding-status of an address. For dynamic addresses managed by DHCP, the values should be restricted to the following: \"FREE\", \"ACTIVE\", \"EXPIRED\", \"RELEASED\", \"RESET\", \"ABANDONED\", \"BACKUP\". For other addresses, it SHOULD be one of the following: \"UNKNOWN\", \"RESERVED\" (an address that is managed by DHCP that is reserved for a specific client), \"RESERVED-ACTIVE\" (same as reserved, but address is currently in use), \"ASSIGNED\" (assigned manually or by some other mechanism), \"UNASSIGNED\", \"NOTASSIGNABLE\"." );
489 attributeType.setCanUserModify( ! false );
490 attributeType.setSingleValue( true );
491 attributeType.setCollective( false );
492 attributeType.setObsolete( false );
493 attributeType.setLength( 0 );
494 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
495 attributeType.setEqualityId( "caseIgnoreIA5Match" );
496 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.26" );
497
498 names.clear();
499 names.add( "dhcpAddressState" );
500 attributeType.setNames( names.toArray( EMPTY ) );
501 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.22", attributeType );
502
503 // --------------------------------------------------------------------
504 // AttributeType 2.16.840.1.113719.1.203.4.23
505 // --------------------------------------------------------------------
506
507 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.23", registries );
508 attributeType.setDescription( "This is the time the current lease for an address expires." );
509 attributeType.setCanUserModify( ! false );
510 attributeType.setSingleValue( true );
511 attributeType.setCollective( false );
512 attributeType.setObsolete( false );
513 attributeType.setLength( 0 );
514 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
515 attributeType.setEqualityId( "integerMatch" );
516 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.24" );
517
518 names.clear();
519 names.add( "dhcpExpirationTime" );
520 attributeType.setNames( names.toArray( EMPTY ) );
521 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.23", attributeType );
522
523 // --------------------------------------------------------------------
524 // AttributeType 2.16.840.1.113719.1.203.4.24
525 // --------------------------------------------------------------------
526
527 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.24", registries );
528 attributeType.setDescription( "This is the time of the last state change for a leased address." );
529 attributeType.setCanUserModify( ! false );
530 attributeType.setSingleValue( true );
531 attributeType.setCollective( false );
532 attributeType.setObsolete( false );
533 attributeType.setLength( 0 );
534 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
535 attributeType.setEqualityId( "integerMatch" );
536 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.24" );
537
538 names.clear();
539 names.add( "dhcpStartTimeOfState" );
540 attributeType.setNames( names.toArray( EMPTY ) );
541 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.24", attributeType );
542
543 // --------------------------------------------------------------------
544 // AttributeType 2.16.840.1.113719.1.203.4.25
545 // --------------------------------------------------------------------
546
547 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.25", registries );
548 attributeType.setDescription( "This is the last time a valid DHCP packet was received from the client." );
549 attributeType.setCanUserModify( ! false );
550 attributeType.setSingleValue( true );
551 attributeType.setCollective( false );
552 attributeType.setObsolete( false );
553 attributeType.setLength( 0 );
554 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
555 attributeType.setEqualityId( "integerMatch" );
556 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.24" );
557
558 names.clear();
559 names.add( "dhcpLastTransactionTime" );
560 attributeType.setNames( names.toArray( EMPTY ) );
561 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.25", attributeType );
562
563 // --------------------------------------------------------------------
564 // AttributeType 2.16.840.1.113719.1.203.4.26
565 // --------------------------------------------------------------------
566
567 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.26", registries );
568 attributeType.setDescription( "This indicates whether the address was assigned via BOOTP." );
569 attributeType.setCanUserModify( ! false );
570 attributeType.setSingleValue( true );
571 attributeType.setCollective( false );
572 attributeType.setObsolete( false );
573 attributeType.setLength( 0 );
574 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
575 attributeType.setEqualityId( "integerMatch" );
576 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.7" );
577
578 names.clear();
579 names.add( "dhcpBootpFlag" );
580 attributeType.setNames( names.toArray( EMPTY ) );
581 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.26", attributeType );
582
583 // --------------------------------------------------------------------
584 // AttributeType 2.16.840.1.113719.1.203.4.27
585 // --------------------------------------------------------------------
586
587 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.27", registries );
588 attributeType.setDescription( "This is the name of the domain sent to the client by the server. It is essentially the same as the value for DHCP option 15 sent to the client, and represents only the domain - not the full FQDN. To obtain the full FQDN assigned to the client you must prepend the \"dhcpAssignedHostName\" to this value with a \".\"." );
589 attributeType.setCanUserModify( ! false );
590 attributeType.setSingleValue( true );
591 attributeType.setCollective( false );
592 attributeType.setObsolete( false );
593 attributeType.setLength( 0 );
594 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
595 attributeType.setEqualityId( "caseIgnoreIA5Match" );
596 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.26" );
597
598 names.clear();
599 names.add( "dhcpDomainName" );
600 attributeType.setNames( names.toArray( EMPTY ) );
601 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.27", attributeType );
602
603 // --------------------------------------------------------------------
604 // AttributeType 2.16.840.1.113719.1.203.4.28
605 // --------------------------------------------------------------------
606
607 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.28", registries );
608 attributeType.setDescription( "This indicates the status of updating DNS resource records on behalf of the client by the DHCP server for this address. The value is a 16-bit bitmask." );
609 attributeType.setCanUserModify( ! false );
610 attributeType.setSingleValue( true );
611 attributeType.setCollective( false );
612 attributeType.setObsolete( false );
613 attributeType.setLength( 0 );
614 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
615 attributeType.setEqualityId( "integerMatch" );
616 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.27" );
617
618 names.clear();
619 names.add( "dhcpDnsStatus" );
620 attributeType.setNames( names.toArray( EMPTY ) );
621 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.28", attributeType );
622
623 // --------------------------------------------------------------------
624 // AttributeType 2.16.840.1.113719.1.203.4.29
625 // --------------------------------------------------------------------
626
627 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.29", registries );
628 attributeType.setDescription( "This is the hostname that was requested by the client." );
629 attributeType.setCanUserModify( ! false );
630 attributeType.setSingleValue( true );
631 attributeType.setCollective( false );
632 attributeType.setObsolete( false );
633 attributeType.setLength( 0 );
634 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
635 attributeType.setEqualityId( "caseIgnoreIA5Match" );
636 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.26" );
637
638 names.clear();
639 names.add( "dhcpRequestedHostName" );
640 attributeType.setNames( names.toArray( EMPTY ) );
641 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.29", attributeType );
642
643 // --------------------------------------------------------------------
644 // AttributeType 2.16.840.1.113719.1.203.4.30
645 // --------------------------------------------------------------------
646
647 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.30", registries );
648 attributeType.setDescription( "This is the actual hostname that was assigned to a client. It may not be the name that was requested by the client. The fully qualified domain name can be determined by appending the value of \"dhcpDomainName\" (with a dot separator) to this name." );
649 attributeType.setCanUserModify( ! false );
650 attributeType.setSingleValue( true );
651 attributeType.setCollective( false );
652 attributeType.setObsolete( false );
653 attributeType.setLength( 0 );
654 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
655 attributeType.setEqualityId( "caseIgnoreIA5Match" );
656 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.26" );
657
658 names.clear();
659 names.add( "dhcpAssignedHostName" );
660 attributeType.setNames( names.toArray( EMPTY ) );
661 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.30", attributeType );
662
663 // --------------------------------------------------------------------
664 // AttributeType 2.16.840.1.113719.1.203.4.31
665 // --------------------------------------------------------------------
666
667 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.31", registries );
668 attributeType.setDescription( "The distinguished name of a \"dhcpClient\" that an address is reserved for. This may not be the same as the \"dhcpAssignedToClient\" attribute if the address is being reassigned but the current lease has not yet expired." );
669 attributeType.setCanUserModify( ! false );
670 attributeType.setSingleValue( true );
671 attributeType.setCollective( false );
672 attributeType.setObsolete( false );
673 attributeType.setLength( 0 );
674 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
675 attributeType.setEqualityId( "distinguishedNameMatch" );
676 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.12" );
677
678 names.clear();
679 names.add( "dhcpReservedForClient" );
680 attributeType.setNames( names.toArray( EMPTY ) );
681 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.31", attributeType );
682
683 // --------------------------------------------------------------------
684 // AttributeType 2.16.840.1.113719.1.203.4.32
685 // --------------------------------------------------------------------
686
687 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.32", registries );
688 attributeType.setDescription( "This is the distinguished name of a \"dhcpClient\" that an address is currently assigned to. This attribute is only present in the class when the address is leased." );
689 attributeType.setCanUserModify( ! false );
690 attributeType.setSingleValue( true );
691 attributeType.setCollective( false );
692 attributeType.setObsolete( false );
693 attributeType.setLength( 0 );
694 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
695 attributeType.setEqualityId( "distinguishedNameMatch" );
696 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.12" );
697
698 names.clear();
699 names.add( "dhcpAssignedToClient" );
700 attributeType.setNames( names.toArray( EMPTY ) );
701 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.32", attributeType );
702
703 // --------------------------------------------------------------------
704 // AttributeType 2.16.840.1.113719.1.203.4.33
705 // --------------------------------------------------------------------
706
707 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.33", registries );
708 attributeType.setDescription( "If the client request was received via a relay agent, this contains information about the relay agent that was available from the DHCP request. This is a hex-encoded option value." );
709 attributeType.setCanUserModify( ! false );
710 attributeType.setSingleValue( true );
711 attributeType.setCollective( false );
712 attributeType.setObsolete( false );
713 attributeType.setLength( 0 );
714 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
715 attributeType.setEqualityId( "caseIgnoreIA5Match" );
716 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.40" );
717
718 names.clear();
719 names.add( "dhcpRelayAgentInfo" );
720 attributeType.setNames( names.toArray( EMPTY ) );
721 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.33", attributeType );
722
723 // --------------------------------------------------------------------
724 // AttributeType 2.16.840.1.113719.1.203.4.34
725 // --------------------------------------------------------------------
726
727 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.34", registries );
728 attributeType.setDescription( "The clients hardware address that requested this IP address." );
729 attributeType.setCanUserModify( ! false );
730 attributeType.setSingleValue( true );
731 attributeType.setCollective( false );
732 attributeType.setObsolete( false );
733 attributeType.setLength( 0 );
734 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
735 attributeType.setEqualityId( "caseIgnoreIA5Match" );
736 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.40" );
737
738 names.clear();
739 names.add( "dhcpHWAddress" );
740 attributeType.setNames( names.toArray( EMPTY ) );
741 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.34", attributeType );
742
743 // --------------------------------------------------------------------
744 // AttributeType 2.16.840.1.113719.1.203.4.35
745 // --------------------------------------------------------------------
746
747 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.35", registries );
748 attributeType.setDescription( "HashBucketAssignment bit map for the DHCP Server, as defined in DHC Load Balancing Algorithm [RFC 3074]." );
749 attributeType.setCanUserModify( ! false );
750 attributeType.setSingleValue( true );
751 attributeType.setCollective( false );
752 attributeType.setObsolete( false );
753 attributeType.setLength( 0 );
754 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
755 attributeType.setEqualityId( "caseIgnoreIA5Match" );
756 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.40" );
757
758 names.clear();
759 names.add( "dhcpHashBucketAssignment" );
760 attributeType.setNames( names.toArray( EMPTY ) );
761 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.35", attributeType );
762
763 // --------------------------------------------------------------------
764 // AttributeType 2.16.840.1.113719.1.203.4.36
765 // --------------------------------------------------------------------
766
767 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.36", registries );
768 attributeType.setDescription( "Delay in seconds corresponding to Delayed Service Parameter configuration, as defined in DHC Load Balancing Algorithm [RFC 3074]. " );
769 attributeType.setCanUserModify( ! false );
770 attributeType.setSingleValue( true );
771 attributeType.setCollective( false );
772 attributeType.setObsolete( false );
773 attributeType.setLength( 0 );
774 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
775 attributeType.setEqualityId( "integerMatch" );
776 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.27" );
777
778 names.clear();
779 names.add( "dhcpDelayedServiceParameter" );
780 attributeType.setNames( names.toArray( EMPTY ) );
781 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.36", attributeType );
782
783 // --------------------------------------------------------------------
784 // AttributeType 2.16.840.1.113719.1.203.4.37
785 // --------------------------------------------------------------------
786
787 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.37", registries );
788 attributeType.setDescription( "Maximum Client Lead Time configuration in seconds, as defined in DHCP Failover Protocol [FAILOVR]" );
789 attributeType.setCanUserModify( ! false );
790 attributeType.setSingleValue( true );
791 attributeType.setCollective( false );
792 attributeType.setObsolete( false );
793 attributeType.setLength( 0 );
794 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
795 attributeType.setEqualityId( "integerMatch" );
796 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.27" );
797
798 names.clear();
799 names.add( "dhcpMaxClientLeadTime" );
800 attributeType.setNames( names.toArray( EMPTY ) );
801 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.37", attributeType );
802
803 // --------------------------------------------------------------------
804 // AttributeType 2.16.840.1.113719.1.203.4.38
805 // --------------------------------------------------------------------
806
807 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.38", registries );
808 attributeType.setDescription( "Server (Failover Endpoint) state, as defined in DHCP Failover Protocol [FAILOVR]" );
809 attributeType.setCanUserModify( ! false );
810 attributeType.setSingleValue( true );
811 attributeType.setCollective( false );
812 attributeType.setObsolete( false );
813 attributeType.setLength( 0 );
814 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
815 attributeType.setEqualityId( "integerMatch" );
816 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.26" );
817
818 names.clear();
819 names.add( "dhcpFailOverEndpointState" );
820 attributeType.setNames( names.toArray( EMPTY ) );
821 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.38", attributeType );
822
823 // --------------------------------------------------------------------
824 // AttributeType 2.16.840.1.113719.1.203.4.39
825 // --------------------------------------------------------------------
826
827 attributeType = newAttributeType( "2.16.840.1.113719.1.203.4.39", registries );
828 attributeType.setDescription( "Generic error log attribute that allows logging error conditions within a dhcpService or a dhcpSubnet, like no IP addresses available for lease." );
829 attributeType.setCanUserModify( ! false );
830 attributeType.setSingleValue( true );
831 attributeType.setCollective( false );
832 attributeType.setObsolete( false );
833 attributeType.setLength( 0 );
834 attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
835 attributeType.setEqualityId( "caseIgnoreIA5Match" );
836 attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.26" );
837
838 names.clear();
839 names.add( "dhcpErrorLog" );
840 attributeType.setNames( names.toArray( EMPTY ) );
841 cb.schemaObjectProduced( this, "2.16.840.1.113719.1.203.4.39", attributeType );
842 }
843 }