X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=contrib%2Fopenldap%2Ffai.schema;h=d86f1e677018551b2dd6901c2ecea8a14ad62e84;hb=450c53d4413706b564374c519f4344fb5e5aee36;hp=610c6252a1e1f4fb14e7ab7a52cc328579f414c2;hpb=e9e15d19498e2ce6cd97465bcda6ef6bba661b54;p=gosa.git diff --git a/contrib/openldap/fai.schema b/contrib/openldap/fai.schema index 610c6252a..d86f1e677 100644 --- a/contrib/openldap/fai.schema +++ b/contrib/openldap/fai.schema @@ -3,7 +3,7 @@ # F A I - Fully automatic installation LDAP schema file # # # #-----------------------------------------------------------------------------# -# Date: 20050902 # +# Last modified: Cajus Pollmeier / 20050902 # #-----------------------------------------------------------------------------# # Copyright 2005, Cajus Pollmeier # # Thomas Lange # @@ -33,9 +33,8 @@ # # Objectclasses | Attributes # ----------------------------------------------------------------------------- -# FAIclass | cn,description -# FAIprofile | (inherit from FAIclass) -# FAIprofileEntry | FAIclass, FAIpriority +# FAIclass | cn,description,FAIclassType +# FAIprofile | FAIclass # FAIhook | (inherit from FAIclass) # FAIhookEntry | FAIscript, FAItask # FAIscript | (inherit from FAIclass) @@ -44,93 +43,21 @@ # FAIvariableEntry | FAIvariableContent # FAItemplate | (inherit from FAIclass) # FAItemplateEntry | FAItemplateFile, FAItemplatePath, FAIowner, FAImode -# FAIpartition | (inherit from FAIclass) +# FAIpartitionTable | (inherit from FAIclass) # FAIpartitionDisk | (inherit from FAIclass) # FAIpartitionEntry | FAIpartitionType, FAIpartitionNr, FAImountOptions, -# | FAIfsOptions, FAIfsType, FAImountPoint +# | FAIfsOptions, FAIfsType, FAImountPoint,FAIpartitionSize, +# | FAIpartitionFlag # FAIpackageList | FAIinstallMethod, FAIpackage # FAIdebconfInfo | FAIvariable, FAIvariableContent, FAIvariableType # FAIobject | FAIclass, FAIstatus, macAddress +# FAIrepository | FAIdebianMirror, FAIdebianRelease, FAIdebianSection +# FAIrepositoryServer | FAIrepository # # Rem.: Except of FAIdebconfInfo and FAIobject, all object classes are inherited # from FAIclass, so ALL cn's MUST be unique in your tree. -# Example tree in foobar.org, dn's of subtrees have been stripped for reasons -# of a better readability. The tree may be used to get an idea of how data is -# organized in the tree, use the contributed ldif file to load more detailed -# entries in your LDAP server or brain. -# -# dc=foobar,dc=org -# |-ou=somewhere -# | |-ou=accounts -# | |-ou=hosts -# | | |-cn=detritus -# | | | |-objectClass: FAIobject -# | | | |-description: Host entry for a rock solid server -# | | | |-macAddress: 00:11:8C:70:AC:01 -# | | | |-FAIclass: FAIBASE -# | | | |-FAIclass: SRVPART -# | | | |-FAIclass: SRVBASE -# | | | |-FAIClass: SRVWWW -# | | | `-... -# | | `-cn=rincewind -# | | |-objectClass: FAIobject -# | | |-description: Hostentry for a casemodded workstation -# | | |-macAddress: 00:08:15:47:11:00 -# | | `-FAIclass: WSDEFAULT -# ¦ `-ou=fai-configs -# . |-cn=WSDEFAULT -# | |-objectClass: FAIprofile -# | |-description: Workstation default profile -# | |-cn=FAIBASE -# | | |-objectClass: FAIprofileEntry -# | | |-FAIclass: FAIBASE -# | | `-FAIpriority: 0 -# | |-cn=WSPART -# | | |-objectClass: FAIprofileEntry -# | | |-FAIclass: WSPART -# | ¦ `-FAIpriority: 1 -# | -# |-cn=SRVPART -# | |-objectClass: FAIpartition -# | |-description: Common partition table for servers -# | |-cn=disk1 -# | | |-objectClass: FAIpartitionDisk -# | | |-FAImountPoint=/ -# | | | |-objectClass: FAIpartitionEntry -# | | | |-FAIpartitionType: primary -# | | | |-FAIpartitionNr: 1 -# | | | `-FAIfsType: ext3 -# | ¦ `-... -# | -# |-cn=SRVBASE -# | |-objectClass: FAIpackageList -# | |-description: Server base package list -# | |-FAIinstallMethod: recommend -# | |-FAIpackage=adduser -# | | |-FAIvariable=adduser/homedir-permission -# | | | |-FAIvariableContent: false -# | | | `-FAIvariableType: boolean -# | | `-... -# | |-FAIpackage: apache2-common -# | `-... -# | -# |-cn=SRVWWW -# | |-objectClass: FAIscript -# | |-description: A set of scripts that configure something -# | |-cn=apache -# | | |-objectClass: FAIscriptEntry -# | ¦ `-FAIscript:: [base64 encoded sciript] -# | -# |-cn=WSVARSET -# | |-objectClass: FAIvariable -# | |-description: Variable set for workstations -# | |-cn=rootpw -# ¦ | |-objectClass: FAIvariableEntry -# ¦ `-FAIvariableContent: i00u1aVIB4cIo - - ## ## Attribute definitions (allocated from the GONICUS oid space) ## @@ -211,9 +138,7 @@ attributetype ( 1.3.6.1.4.1.10098.1.1.5.8 NAME 'FAIfsType' # Description: Store multiline text, mostly used for scripts and hooks. attributetype ( 1.3.6.1.4.1.10098.1.1.5.9 NAME 'FAIscript' DESC 'General storage field for multiline text aka scripts' - EQUALITY caseIgnoreIA5Match - SUBSTR caseIgnoreIA5SubstringsMatch - SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) + SYNTAX 1.3.6.1.4.1.1466.115.121.1.5 SINGLE-VALUE) # Name : FAItask # Description: Assign a hook to a special task. You can use it i.e. to alter @@ -298,7 +223,6 @@ attributetype ( 1.3.6.1.4.1.10098.1.1.5.18 NAME 'FAIowner' # way like 775. attributetype ( 1.3.6.1.4.1.10098.1.1.5.19 NAME 'FAImode' DESC 'Store template file storage path' - EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 SINGLE-VALUE) # Name : FAIstatus @@ -327,6 +251,64 @@ attributetype ( 1.3.6.1.4.1.10098.1.1.5.21 NAME 'FAIpackagelistDependency' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) +# Name : FAIpartitionSize +# Description: Store a size or a size range for partitions. I.e. 50, +# 50-200. +attributetype ( 1.3.6.1.4.1.10098.1.1.5.22 NAME 'FAIpartitionSize' + DESC 'Store size range for partition size' + EQUALITY caseIgnoreIA5Match + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) + +# Name : FAIpartitionFlags +# Description: Optionally this flag contains the "preserve" keyword, in +# order to influence partitioning. +attributetype ( 1.3.6.1.4.1.10098.1.1.5.23 NAME 'FAIpartitionFlags' + DESC 'Optional flags like "preserve"' + EQUALITY caseIgnoreIA5Match + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) + +# Name : FAIdebianMirror +# Description: Used for bootstrap sources.list settings. It contains +# the mirror server url. +attributetype ( 1.3.6.1.4.1.10098.1.1.5.24 NAME 'FAIdebianMirror' + DESC 'TODO' + EQUALITY caseIgnoreIA5Match + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) + +# Name : FAIdebianRelease +# Description: Used for bootstrap sources.list settings. It contains +# the release. +attributetype ( 1.3.6.1.4.1.10098.1.1.5.25 NAME 'FAIdebianRelease' + DESC 'TODO' + EQUALITY caseIgnoreIA5Match + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) + +# Name : FAIdebianSection +# Description: Used for bootstrap sources.list settings. It contains +# the section. Multiple Sections get appended. +attributetype ( 1.3.6.1.4.1.10098.1.1.5.26 NAME 'FAIdebianSection' + DESC 'TODO' + EQUALITY caseIgnoreIA5Match + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26) + +# Name : FAIrepository +# Description: Used to store repository settings +attributetype ( 1.3.6.1.4.1.10098.1.1.5.27 NAME 'FAIrepository' + DESC 'TODO' + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26) + +# Name : FAIstate +# Description: Used to store repository state (branched/freezed) +attributetype ( 1.3.6.1.4.1.10098.1.1.5.28 NAME 'FAIstate' + DESC 'TODO' + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26) + +# Name : FAIrelease +# Description: Used to store the release +attributetype ( 1.3.6.1.4.1.10098.1.1.5.29 NAME 'FAIrelease' + DESC 'TODO' + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26) + ## ## Object class definitions (allocated from the GONICUS oid space) ## @@ -337,7 +319,7 @@ attributetype ( 1.3.6.1.4.1.10098.1.1.5.21 NAME 'FAIpackagelistDependency' objectclass (1.3.6.1.4.1.10098.1.2.1.40.1 NAME 'FAIclass' SUP top STRUCTURAL DESC 'Generic class parent for FAI objects' - MUST ( cn ) MAY ( description ) ) + MUST ( cn ) MAY ( FAIstate $ description ) ) # Name : FAIprofile # Description: FAIprofile which bundles a set of FAIclass entries @@ -345,117 +327,146 @@ objectclass (1.3.6.1.4.1.10098.1.2.1.40.1 NAME 'FAIclass' # to simplify administration tasks for so called junior # administrators. objectclass (1.3.6.1.4.1.10098.1.2.1.40.2 NAME 'FAIprofile' - SUP FAIclass STRUCTURAL - DESC 'FAI profile container for multiple class objects' ) - -# Name : FAIprofileEntry -# Description: FAIprofileEntry is one subentry inside a FAIprofile. -objectclass (1.3.6.1.4.1.10098.1.2.1.40.3 NAME 'FAIprofileEntry' - SUP FAIprofile STRUCTURAL - DESC 'One class object stored under FAIprofile' - MUST ( FAIclass $ FAIpriority ) ) + SUP top AUXILIARY + DESC 'FAI profile container for multiple class objects' + MUST ( cn $ FAIclass ) MAY ( FAIstate $ description ) ) -# Name : FAIpartition +# Name : FAIpartitionTable # Description: Each installation profile should contain a partition # table in order to perform well. FAIpartitionTable is # a container for partition entries. -objectclass (1.3.6.1.4.1.10098.1.2.1.40.4 NAME 'FAIpartitionTable' - SUP FAIclass STRUCTURAL - DESC 'Stores FAI partition tables' ) +objectclass (1.3.6.1.4.1.10098.1.2.1.40.3 NAME 'FAIpartitionTable' + SUP top AUXILIARY + DESC 'Stores FAI partition tables' + MUST ( cn ) MAY ( FAIstate $ description ) ) # Name : FAIpartitionDisk # Description: Each installation profile should contain a partition # table in order to perform well. FAIpartitionTable is # a container for partition entries. -objectclass (1.3.6.1.4.1.10098.1.2.1.40.5 NAME 'FAIpartitionDisk' - SUP FAIclass STRUCTURAL - DESC 'Stores FAI partition tables' ) +objectclass (1.3.6.1.4.1.10098.1.2.1.40.4 NAME 'FAIpartitionDisk' + SUP top AUXILIARY + DESC 'Stores FAI partition tables' + MUST ( cn ) MAY ( FAIstate $ description ) ) # Name : FAIpartitionEntry # Description: This object defines a single partition entry for the # FAI partitioner. -objectclass (1.3.6.1.4.1.10098.1.2.1.40.6 NAME 'FAIpartitionEntry' - SUP FAIpartitionTable STRUCTURAL +objectclass (1.3.6.1.4.1.10098.1.2.1.40.5 NAME 'FAIpartitionEntry' + SUP top AUXILIARY DESC 'One partition table entry' MUST ( FAIpartitionType $ FAIpartitionNr $ FAIfsType $ - FAImountPoint ) - MAY ( FAImountOptions $ FAIfsOptions ) ) + FAImountPoint $ FAIpartitionSize $ cn ) + MAY ( FAImountOptions $ FAIfsOptions $ FAIpartitionFlags $ + description $ FAIstate ) ) # Name : FAIhook # Description: Container for hooks -objectclass (1.3.6.1.4.1.10098.1.2.1.40.7 NAME 'FAIhook' - SUP FAIclass STRUCTURAL - DESC 'Stores FAI partition tables' ) +objectclass (1.3.6.1.4.1.10098.1.2.1.40.6 NAME 'FAIhook' + SUP top AUXILIARY + DESC 'Stores FAI partition tables' + MUST ( cn ) MAY ( FAIstate $ description ) ) # Name : FAIhookEntry # Description: Hooks are stored with their FAI task inside the # FAIhook object. -objectclass (1.3.6.1.4.1.10098.1.2.1.40.8 NAME 'FAIhookEntry' - SUP FAIclass STRUCTURAL +objectclass (1.3.6.1.4.1.10098.1.2.1.40.7 NAME 'FAIhookEntry' + SUP top AUXILIARY DESC 'FAI hook storage' - MUST ( FAIscript $ FAItask ) ) + MUST ( cn $ FAIscript $ FAItask ) MAY ( FAIstate $ description ) ) -# Name : FAIscript +# Name : FAIscriptEntry # Description: Container for scripts -objectclass (1.3.6.1.4.1.10098.1.2.1.40.9 NAME 'FAIscript' - SUP FAIclass STRUCTURAL +objectclass (1.3.6.1.4.1.10098.1.2.1.40.8 NAME 'FAIscriptEntry' + SUP top AUXILIARY DESC 'FAI script storage' - MUST ( FAIscript $ FAIpriority ) ) + MUST ( cn $ FAIscript $ FAIpriority ) MAY ( FAIstate $ description ) ) -# Name : FAIscriptEntry +# Name : FAIscript # Description: Hooks and scripts are somewhat similar. -objectclass (1.3.6.1.4.1.10098.1.2.1.40.10 NAME 'FAIscriptEntry' - SUP FAIclass STRUCTURAL +objectclass (1.3.6.1.4.1.10098.1.2.1.40.9 NAME 'FAIscript' + SUP top AUXILIARY DESC 'FAI script storage' - MUST ( FAIscript $ FAIpriority ) ) + MUST ( cn ) MAY ( FAIstate $ description ) ) # Name : FAIvariable # Description: Store a set of variables in this container. -objectclass (1.3.6.1.4.1.10098.1.2.1.40.11 NAME 'FAIvariable' - SUP FAIclass STRUCTURAL - DESC 'Stores FAI variables sub entries' ) +objectclass (1.3.6.1.4.1.10098.1.2.1.40.10 NAME 'FAIvariable' + SUP top AUXILIARY + DESC 'Stores FAI variables sub entries' + MUST ( cn ) MAY ( FAIstate $ description ) ) # Name : FAIvariableEntry # Description: Stores a single variable. -objectclass (1.3.6.1.4.1.10098.1.2.1.40.12 NAME 'FAIvariableEntry' - SUP FAIvariable STRUCTURAL +objectclass (1.3.6.1.4.1.10098.1.2.1.40.11 NAME 'FAIvariableEntry' + SUP top AUXILIARY DESC 'Stores single variable entries' - MUST ( FAIvariableContent ) ) + MUST ( cn $ FAIvariableContent ) MAY ( FAIstate $ description ) ) # Name : FAIpackagelist # Description: Stores a complete package list and is container # for several FAIdebconfInfo scripts -objectclass (1.3.6.1.4.1.10098.1.2.1.40.13 NAME 'FAIpackageList' - SUP FAIclass STRUCTURAL +objectclass (1.3.6.1.4.1.10098.1.2.1.40.12 NAME 'FAIpackageList' + SUP top AUXILIARY DESC 'Stores complete package lists' - MUST ( FAIpackage ) MAY ( FAIpackagelistDependency $ FAIinstallMethod ) ) + MUST ( cn $ FAIpackage ) MAY ( FAIpackagelistDependency $ FAIinstallMethod $ description $ FAIstate ) ) # Name : FAItemplate # Description: Container for template objects. -objectclass (1.3.6.1.4.1.10098.1.2.1.40.14 NAME 'FAItemplate' - SUP FAIclass STRUCTURAL - DESC 'Container for template objects' ) +objectclass (1.3.6.1.4.1.10098.1.2.1.40.13 NAME 'FAItemplate' + SUP top AUXILIARY + DESC 'Container for template objects' + MUST ( cn ) MAY ( FAIstate $ description ) ) # Name : FAItemplateEntry # Description: Stores FAI templates and the corresponding path. -objectclass (1.3.6.1.4.1.10098.1.2.1.40.15 NAME 'FAItemplateEntry' - SUP FAItemplate STRUCTURAL +objectclass (1.3.6.1.4.1.10098.1.2.1.40.14 NAME 'FAItemplateEntry' + SUP top AUXILIARY DESC 'Stores real file templates' - MUST ( FAItemplateFile $ FAItemplatePath ) ) + MUST ( cn $ FAItemplateFile $ FAItemplatePath $ FAIowner $ FAImode ) + MAY ( FAIstate $ description ) ) # Name : FAIdebconfInfo # Description: Stores debconf information like shown in # debconf-getselections. -objectclass (1.3.6.1.4.1.10098.1.2.1.40.16 NAME 'FAIdebconfInfo' - SUP FAIclass STRUCTURAL +objectclass (1.3.6.1.4.1.10098.1.2.1.40.15 NAME 'FAIdebconfInfo' + SUP top STRUCTURAL DESC 'Stores debconf informations for single packages' - MUST ( FAIvariable $ FAIvariableType ) MAY ( FAIvariableContent ) ) + MUST ( FAIpackage $ FAIvariable $ FAIvariableType ) MAY ( FAIvariableContent $ FAIstate ) ) # Name : FAIobject # Description: Marks objects to have a set of FAI classes. -objectclass (1.3.6.1.4.1.10098.1.2.1.40.17 NAME 'FAIobject' +objectclass (1.3.6.1.4.1.10098.1.2.1.40.16 NAME 'FAIobject' SUP top AUXILIARY DESC 'Marks an object as an FAI object.' - MUST ( FAIclass $ macAddress ) MAY ( FAIstatus ) ) + MAY ( FAIstate $ FAIstatus $ FAIclass $ FAIdebianMirror $ macAddress) ) + +# Name : FAIrepository +# Description: Marks objects to have a set of FAI classes. +objectclass (1.3.6.1.4.1.10098.1.2.1.40.17 NAME 'FAIrepository' + SUP top AUXILIARY + DESC 'Provides per object repository informations.' + MUST ( FAIdebianRelease $ FAIdebianSection ) MAY ( FAIdebianMirror ) ) + +# Name : FAIrepositoryServer +# Description: FAIrepositoryServer stores information about repository settings. +objectclass (1.3.6.1.4.1.10098.1.2.1.40.18 NAME 'FAIrepositoryServer' + SUP top AUXILIARY + DESC 'Provides repository informations.' + MAY ( FAIrepository ) ) + +# Name : FAIbranch +# Description: FAIbranch stores information about the state of a set of FAI classes. +objectclass (1.3.6.1.4.1.10098.1.2.1.40.19 NAME 'FAIbranch' + SUP top AUXILIARY + DESC 'Provides information for versioning.' + MAY ( FAIstate ) ) + +# Name : FAIreleaseTag +# Description: FAIreleaseTag stores information about the fai release of an object. +objectclass (1.3.6.1.4.1.10098.1.2.1.40.20 NAME 'FAIreleaseTag' + SUP top AUXILIARY + DESC 'Provides information for versioning.' + MAY ( FAIrelease ) ) ### END of FAI schema file