univention.admin package

UDM basic functionality

univention.admin.ucr_overwrite_properties(module, lo)[source]

Overwrite properties in property_descriptions by UCR variables

univention.admin.pattern_replace(pattern, object)[source]

Replaces patterns like <attribute:command,...>[range] with values of the specified UDM attribute.

class univention.admin.property(short_description='', long_description='', syntax=None, module_search=None, multivalue=False, one_only=False, parent=None, options=[], license=[], required=False, may_change=True, identifies=False, unique=False, default=None, prevent_umc_default_popup=False, dontsearch=False, show_in_lists=False, editable=True, configObjectPosition=None, configAttributeName=None, include_in_default_search=False, nonempty_is_default=False, readonly_when_synced=False, size=None, copyable=False, type_class=None)[source]

UDM property.

Parameters:
  • short_description – a short descriptive text - shown below the input filed in UMC by default.
  • long_description – a long descriptive text - shown only on demand in UMC.
  • syntax – a syntax class or instance to validate the value.
  • module_search – UNUSED?
  • multivalue – allow only a single value (False) or multiple values (True) .
  • one_only – UNUSED?
  • parent – UNUSED?
  • options – List of options, which enable this property.
  • license – List of license strings, which are required to use this property.
  • requiredTrue for a required property, False for an optional property.
  • may_changeTrue if the property can be changed after the object has been created, False when the property can only be specified when the object is created.
  • identifiesTrue if the property is part of the set of properties, which are required to uniquely identify the object. The properties are used by default to build |RDN| for a new object.
  • uniqueTrue if the property must be unique for all object instances.
  • default – The default value for the property when a new object is created.
  • prevent_umc_default_popupTrue to prevent a pop-up dialog in UMC when the default value is not set.
  • dontsearchTrue to prevent searches using the property.
  • show_in_lists – UNUSED?
  • editableFalse prevents the property from being modified by the user; it still can be modified by code.
  • configObjectPosition – UNUSED?
  • configAttributeName – UNUSED?
  • include_in_default_search – The default search searches this property when set to True.
  • nonempty_is_defaultTrue selects the first non-empty value as the default. False always selects the first default value, even if it is empty.
  • readonly_when_syncedTrue only shows the value as read-only when synchronized from some upstream database.
  • size – The UMC widget size; one of univention.admin.syntax.SIZES.
  • copyable – With True the property is copied when the object is cloned; with False the new object will use the default value.
  • type_class – An optional Typing class which overwrites the syntax class specific type.
UMLAUTS = {'\xc3\x8b': 'E', '\xc3\x8a': 'E', '\xc3\x89': 'E', '\xc3\x88': 'E', '\xc3\x8f': 'I', '\xc3\x8e': 'I', '\xc3\x8d': 'I', '\xc3\x8c': 'I', '\xc3\x83': 'A', '\xc3\x82': 'A', '\xc3\x81': 'A', '\xc3\x80': 'A', '\xc3\x87': 'C', '\xc3\x86': 'AE', '\xc3\x85': 'A', '\xc3\x84': 'Ae', '\xc3\x9b': 'U', '\xc3\x9a': 'U', '\xc3\x99': 'U', '\xc3\x98': 'O', '\xc3\x9f': 'ss', '\xc3\x9e': 'P', '\xc3\x9d': 'Y', '\xc3\x9c': 'Ue', '\xc3\x93': 'O', '\xc3\x92': 'O', '\xc3\x91': 'N', '\xc3\x90': 'D', '\xc3\x96': 'Oe', '\xc3\x95': 'O', '\xc3\x94': 'O', '\xc3\xab': 'e', '\xc3\xaa': 'e', '\xc3\xa9': 'e', '\xc3\xa8': 'e', '\xc3\xaf': 'i', '\xc3\xae': 'i', '\xc3\xad': 'i', '\xc3\xac': 'i', '\xc3\xa3': 'a', '\xc3\xa2': 'a', '\xc3\xa1': 'a', '\xc3\xa0': 'a', '\xc3\xa7': 'c', '\xc3\xa6': 'ae', '\xc3\xa5': 'a', '\xc3\xa4': 'ae', '\xc3\xbb': 'u', '\xc3\xba': 'u', '\xc3\xb9': 'u', '\xc3\xb8': 'o', '\xc3\xbf': 'y', '\xc3\xbe': 'p', '\xc3\xbd': 'y', '\xc3\xbc': 'ue', '\xc3\xb3': 'o', '\xc3\xb2': 'o', '\xc3\xb1': 'n', '\xc3\xb0': 'o', '\xc3\xb6': 'oe', '\xc3\xb5': 'o', '\xc3\xb4': 'o'}
new()[source]
_replace(res, object)[source]
default(object)[source]
safe_default(object)[source]
check_default(object)[source]
matches(options)[source]
class univention.admin.option(short_description='', long_description='', default=0, editable=False, disabled=False, objectClasses=None, is_app_option=False)[source]

Bases: object

UDM option to make properties conditional.

matches(objectClasses)[source]
univention.admin.ucr_overwrite_layout(module, ucr_property, tab)[source]

Overwrite the advanced setting in the layout

univention.admin.ucr_overwrite_module_layout(module)[source]

Overwrite the tab layout through UCR variables.

class univention.admin.extended_attribute(name, objClass, ldapMapping, deleteObjClass=False, syntax='string', hook=None)[source]

Bases: object

Extended attributes extend UDM and UMC with additional properties defined in LDAP.

class univention.admin.tab(short_description='', long_description='', fields=[], advanced=False, help_text=None)[source]

UDM tab to group related properties together in UMC.

is_app_tab = False
set_fields(fields)[source]
get_fields()[source]
class univention.admin.field(property='', type='', first_only=0, short_description='', long_description='', hide_in_resultmode=0, hide_in_normalmode=0, colspan=None, width=None)[source]
class univention.admin.policiesGroup(id, short_description=None, long_description='', members=[])[source]

Subpackages

Submodules

univention.admin.allocators module

UDM allocators to allocate and lock resources for LDAP object creation.

univention.admin.allocators.requestUserSid(lo, position, uid_s)[source]
univention.admin.allocators.requestGroupSid(lo, position, gid_s, generateDomainLocalSid=False)[source]
univention.admin.allocators.acquireRange(lo, position, atype, attr, ranges, scope='base')[source]
univention.admin.allocators.acquireUnique(lo, position, type, value, attr, scope='base')[source]
univention.admin.allocators.request(lo, position, type, value=None)[source]
univention.admin.allocators.confirm(lo, position, type, value, updateLastUsedValue=True)[source]
univention.admin.allocators.release(lo, position, type, value)[source]

univention.admin.config module

UDM configuration basics

Deprecated since version UCS: 4.4

class univention.admin.config.config(host='')[source]

UDM configuration object.

Deprecated since version UCS: 4.4 use None instead

has_key(key)[source]
items()[source]
univention.admin.config.getDefaultContainer(lo, module)[source]

Return any random default container for a UDM module.

Deprecated since version UCS: 4.4

Parameters:
Returns:

A distinguished name.

Return type:

str

univention.admin.config.getDefaultValue(lo, name, position=None)[source]

Return the default value for a UDM module.

Parameters:
Returns:

The default value.

Return type:

str

univention.admin.cron module

UDM functions for creating crontab entries.

univention.admin.cron.month_map(month)[source]

Map English month name to 1-based numeric month-in-year.

>>> month_map('*')
'*'
>>> month_map('January')
1
univention.admin.cron.weekday_map(weekday)[source]

Map English day-of-week name to numeric value 1-7.

>>> weekday_map('*')
'*'
>>> weekday_map('Monday')
1
univention.admin.cron.month_reverse_map(month)[source]

Map 1-based numeric month-in-year to English month name.

See also

month_map()

>>> month_reverse_map('*')
'*'
>>> month_reverse_map(1)
'January'
univention.admin.cron.weekday_reverse_map(weekday)[source]

Map numeric day-of-week value 1-7 to English name.

See also

weekday_map()

>>> weekday_reverse_map('*')
'*'
>>> weekday_reverse_map(1)
'Monday'
univention.admin.cron.cron_create(cronlist)[source]

Create a crontab time string.

Parameters:cronlist – A mapping of strings to lists.

See also

cron_split()

>>> cron_create(dict(minute=[], hour=[], day=[], month=[], weekday=[]))
'* * * * * '
>>> cron_create(dict(minute=[0], hour=[1], day=[2], month=['March'], weekday=['Thursday']))
'0 1 2 3 4 '
>>> cron_create(dict(minute=['all'], hour=['all'], day=['all'], month=['all'], weekday=['all']))
'0,5,10,15,20,25,30,35,40,45,50,55 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31 1,2,3,4,5,6,7,8,9,10,11,12 1,2,3,4,5,6,7 '
univention.admin.cron.cron_split(cronlist)[source]

Split a crontab time string into its parts.

Parameters:cronlist – a crontab time string ‘minute hour day month weekday’.

See also

cron_create()

>>> cron_split('* * * * * ') == {'minute': ['*'], 'hour': ['*'], 'day': ['*'], 'month': ['*'], 'weekday': ['*']}
True
>>> cron_split('* * * 1 *')['month']
['January']
>>> cron_split('* * * * 1')['weekday']
['Monday']

univention.admin.filter module

UDM functions to parse, modify and create LDAP-style search filters

class univention.admin.filter.conjunction(type, expressions)[source]

Bases: object

LDAP filter conjunction (&) or disjunction (|).

Create LDAP filter conjunction or disjunction.

>>> c = conjunction('&', '(objectClass=*)')
>>> c = conjunction('|', '(objectClass=*)')
_type_ = 'conjunction'
append_unmapped_filter_string(filter_s, rewrite_function, mapping)[source]
class univention.admin.filter.expression(variable='', value='', operator='=', escape=False)[source]

Bases: object

LDAP filter expression.

Create LDAP filter expression.

>>> e = expression('objectClass', '*', escape=False)
>>> e = expression('objectClass', '*', '!=', escape=False)
>>> e = expression('uidNumber', '10', '<') # < <= > >=
_type_ = 'expression'
escape(string, args)[source]
transform_to_conjunction(con)[source]
univention.admin.filter.parse(filter_s, begin=0, end=-1)[source]

Parse LDAP filter string.

>>> filter_s='(|(&(!(zone=univention.de))(soa=test))(nameserver=bar))'
>>> parse(filter_s)
conjunction('|', [conjunction('&', [conjunction('!', [expression('zone', 'univention.de', '=')]), expression('soa', 'test', '=')]), expression('nameserver', 'bar', '=')])
>>> parse('(!(key>=29))')
conjunction('!', [expression('key', '29', '>=')])
>>> parse('(&(key=va\\28!\\29ue))')
conjunction('&', [expression('key', 'va\\28!\\29ue', '=')])

Bug: This will break if parentheses are not quoted correctly: >> parse(‘(&(key=va)!(ue))’) conjunction(‘&’, [expression(‘key’, ‘va)!(ue’, ‘=’)])

univention.admin.filter.walk(filter, expression_walk_function=None, conjunction_walk_function=None, arg=None)[source]

Walk LDAP filter expression tree.

>>> filter='(|(&(!(zone=univention.de))(soa=test))(nameserver=bar))'
>>> tree = parse(filter)
>>> def trace(e, a): print a, e
>>> walk(tree, trace, None, 'e')
e (zone=univention.de)
e (soa=test)
e (nameserver=bar)
>>> walk(tree, None, trace, 'c')
c (!(zone=univention.de))
c (&(!(zone=univention.de))(soa=test))
c (|(&(!(zone=univention.de))(soa=test))(nameserver=bar))
univention.admin.filter.replace_fqdn_filter(filter_s)[source]

Replaces a filter expression for the read-only attribute fqdn. If no such expression can be found the unmodified filter is returned.

>>> replace_fqdn_filter('fqdn=host.domain.tld')
'(&(cn=host)(associatedDomain=domain.tld))'
>>> replace_fqdn_filter('(fqdn=host.domain.tld)')
'(&(cn=host)(associatedDomain=domain.tld))'
>>> replace_fqdn_filter('fqdn=domain')
'(|(cn=domain)(associatedDomain=domain))'
>>> replace_fqdn_filter('(|(fqdn=host.domain.tld)(fqdn=other.domain.tld2))')
'(|(&(cn=host)(associatedDomain=domain.tld))(&(cn=other)(associatedDomain=domain.tld2)))'
univention.admin.filter._replace_fqdn_filter(match)[source]

univention.admin.hook module

UDM hook definitions for modifying LDAP calls when objects are created, modifier or deleted.

univention.admin.hook.import_hook_files()[source]

Load all additional hook files from .../univention/admin/hooks.d/*.py

class univention.admin.hook.simpleHook[source]

Bases: object

Base class for a UDM hook performing logging.

type = 'simpleHook'
hook_open(obj)[source]

This method is called by the default open handler just before the current state of all properties is saved.

Parameters:obj – The UDM object instance.
hook_ldap_pre_create(obj)[source]

This method is called before an UDM object is created. It is called after the module validated all properties but before the add-list is created.

Parameters:obj – The UDM object instance.
hook_ldap_addlist(obj, al=[])[source]

This method is called before an UDM object is created.

Notice that hook_ldap_modlist() will also be called next.

Parameters:
  • obj – The UDM object instance.
  • al – A list of two-tuples (ldap-attribute-name, list-of-values) which will be used to create the LDAP object.
Returns:

The (modified) add-list.

hook_ldap_post_create(obj)[source]

This method is called after the object was created in LDAP.

Parameters:obj – The UDM object instance.
hook_ldap_pre_modify(obj)[source]

This method is called before an UDM object is modified. It is called after the module validated all properties but before the modification-list is created.

Parameters:obj – The UDM object instance.
hook_ldap_modlist(obj, ml=[])[source]

This method is called before an UDM object is created or modified.

Parameters:
  • obj – The UDM object instance.
  • ml – A list of tuples, which are either two-tuples (ldap-attribute-name, list-of-new-values) or three-tuples (ldap-attribute-name, list-of-old-values, list-of-new-values). It will be used to create or modify the LDAP object.
Returns:

The (modified) modification-list.

hook_ldap_post_modify(obj)[source]

This method is called after the object was modified in LDAP.

Parameters:obj – The UDM object instance.
hook_ldap_pre_remove(obj)[source]

This method is called before an UDM object is removed.

Parameters:obj – The UDM object instance.
hook_ldap_post_remove(obj)[source]

This method is called after the object was removed from LDAP.

Parameters:obj – The UDM object instance.
class univention.admin.hook.AttributeHook[source]

Bases: univention.admin.hook.simpleHook

Convenience Hook that essentially implements a mapping between UDM and LDAP for your extended attributes. Derive from this class, set attribute_name to the name of the UDM attribute and implement map_attribute_value_to_udm() and map_attribute_value_to_ldap().

Warning

Only derive from this class when you are sure every system in your domain has the update installed that introduced this hook. (Nov 2018; UCS 4.3-2) Otherwise you will get errors when you are distributing your new hook via ucs_registerLDAPExtension –udm_hook

udm_attribute_name = None
ldap_attribute_name = None
hook_open(obj)[source]

Open UDM object by loading value from LDAP.

Parameters:obj – The UDM object instance.
hook_ldap_addlist(obj, al)[source]

Extend LDAP add list.

Parameters:
  • obj – The UDM object instance.
  • al – The add list to extend.
Returns:

The extended add list.

hook_ldap_modlist(obj, ml)[source]

Extend LDAP modification list.

Parameters:
  • obj – The UDM object instance.
  • ml – The modification list to extend.
Returns:

The extended modification list.

map_attribute_value_to_ldap(value)[source]

Return value as it shall be saved in LDAP.

Parameters:value – The UDM value.
Returns:The LDAP value.
map_attribute_value_to_udm(value)[source]

Return value as it shall be used in UDM objects.

The mapped value needs to be syntax compliant.

Parameters:value – The LDAP value.
Returns:The UDM value.

univention.admin.ipaddress module

UDM functions for checking/manipulating IP addresses and ranges.

univention.admin.ipaddress.dotted2int(ds)[source]

Convert dotted-quad IPv4 address to integer.

Parameters:ds – An IPv4 address in dotted-quad notation.
Returns:The numeric IPv4 address.
>>> dotted2int('0.0.0.0')
0
univention.admin.ipaddress.int2dotted(i)[source]

Convert integer address to dotted-quad IPv4 address.

Parameters:i – A numeric IPv4 address.
Returns:An IPv4 address in dotted-quad notation.
>>> int2dotted(0)
'0.0.0.0'
univention.admin.ipaddress.ip_plus_one(ip)[source]

Return logical next IPv4 address.

Parameters:ip – An IPv4 address in dotted-quad notation.
Returns:An IPv4 address in dotted-quad notation.
>>> ip_plus_one('0.0.0.0')
'0.0.0.1'
>>> ip_plus_one('0.0.0.254')
'0.0.1.0'
>>> ip_plus_one('0.0.0.255')
'0.0.1.1'
univention.admin.ipaddress.ip_is_in_network(subnet, subnetmask, ip)[source]

Check if the given IPv4 address is inside the given subnet.

Parameters:
  • subnet – A IPv4 network address.
  • subnetmask – The IPv4 network prefix length.
  • ip – The IPv4 address to check.
Returns:

1 if the IP address is inside the subnet, 0 otherwise.

>>> ip_is_in_network('192.0.2.0', 24, '192.0.2.42')
1
univention.admin.ipaddress.ip_is_network_address(subnet, subnetmask, ip)[source]

Check if the given IPv4 address is the network address (host bits are all zero).

Parameters:
  • subnet – A IPv4 network address.
  • subnetmask – The IPv4 network prefix length.
  • ip – The IPv4 address to check.
Returns:

1 if the IP address is the network address, 0 otherwise.

>>> ip_is_network_address('192.0.2.0', 24, '192.0.2.0')
1
univention.admin.ipaddress.ip_is_broadcast_address(subnet, subnetmask, ip)[source]

Check if the given IPv4 address is the network broadcast address (host bits are all one).

Parameters:
  • subnet – The IPv4 network address.
  • subnetmask – The IPv4 network prefix length.
  • ip – The IPv4 address to check.
Returns:

1 if the IP address is the network broadcast address, 0 otherwise.

>>> ip_is_broadcast_address('192.0.2.0', 24, '192.0.2.255')
1
univention.admin.ipaddress.ip_compare(ip1, ip2)[source]

Compare two IPv4 addresses in dotted-quad format.

Parameters:
  • ip1 – The first IPv4 address.
  • ip2 – The second IPv4 address.
Returns:

1 if the first address is before the second, -1 if the first is after the second, or 0 when they are equal.

>>> ip_compare('192.0.2.1', '192.0.2.2')
1
>>> ip_compare('192.0.2.2', '192.0.2.2')
0
>>> ip_compare('192.0.2.3', '192.0.2.2')
-1
univention.admin.ipaddress.is_ip_in_range(ip, range)[source]

Check if a IPv4 address is inside the given range.

Parameters:
  • ip – The IPv4 address to check.
  • range – The inclusive range as a 2-tuple (low, hight) of IPv4 addresses.
Returns:

1 if the address is inside the range, 0 otherwise.

>>> is_ip_in_range('192.0.2.10', ('192.0.2.0', '192.0.2.255'))
1
univention.admin.ipaddress.is_range_overlapping(range1, range2)[source]

Check if two IPv4 addresses overlap.

Parameters:
  • range1 – The first range as a 2-tuple (low, high) of IPv4 addresses.
  • range2 – The second range as a 2-tuple (low, high) of IPv4 addresses.
Returns:

1 if the ranges overlap, 0 otherwise.

>>> is_range_overlapping(('192.0.2.0', '192.0.2.127'), ('192.0.2.128', '192.0.2.255'))
0
>>> is_range_overlapping(('192.0.2.0', '192.0.2.127'), ('192.0.2.64', '192.0.2.191'))
1
>>> is_range_overlapping(('192.0.2.0', '192.0.2.255'), ('192.0.2.64', '192.0.2.191'))
1
>>> is_range_overlapping(('192.0.2.128', '192.0.2.255'), ('192.0.2.64', '192.0.2.191'))
1

univention.admin.layout module

UDM classes to define layouts

class univention.admin.layout.ILayoutElement(label, description='', layout=[])[source]

Bases: dict

Describes the layout information for a tab or a groupbox.

label
description
layout
replace(old, new, recursive=True)[source]
remove(field, recursive=True)[source]
exists(field)[source]
insert(position, field)[source]
class univention.admin.layout.Tab(label, description='', advanced=False, layout=[], is_app_tab=False, help_text=None)[source]

Bases: univention.admin.layout.ILayoutElement

is_app_tab
advanced
class univention.admin.layout.Group(label, description='', layout=[])[source]

Bases: univention.admin.layout.ILayoutElement

univention.admin.license module

UDM wrapper around univention.license that translates error codes to exceptions

univention.admin.license.ldap_filter_not_objectflag(flag_string_list)[source]
class univention.admin.license.License[source]

Bases: object

SYSACCOUNTS = 5
_load_license_via_c_module(module)[source]
_load_license_via_python(module, lo)[source]
select(module, lo=None)[source]
isValidFor(module)[source]
modifyOptions(mod)[source]
checkModules()[source]
compare(val1, val2)[source]
set_values(lo, module)[source]
init_select(lo, module)[source]
checkObjectCounts(lic, real)[source]
ACCOUNT = 0
CLIENT = 1
CORPORATECLIENTS = 3
DESKTOP = 2
GROUPWARE = 3
MANAGEDCLIENTS = 2
SERVERS = 1
USERS = 0
VIRTUALDESKTOPCLIENTS = 5
VIRTUALDESKTOPUSERS = 4
_License__cmp_eq(val1, val2)
_License__cmp_gt(val1, val2)
_License__countObject(obj, lo)
_License__countSysAccounts(lo)
_License__getValue(key, default, name='', errormsg='')
_License__raiseException()
_License__readLicense()

univention.admin.license_data module

UDM licence data.

class univention.admin.license_data.Attributes(required_license=None, options={})[source]
options(license_type)[source]
valid(license_type)[source]
univention.admin.license_data.moreGroupware(license)[source]

univention.admin.localization module

UDM localization.

usage:

translation = univention.admin.localization.translation()
_ = translation.translate
univention.admin.localization.translation

alias of Translation

univention.admin.locking module

LDAP locking methods for UDM.

univention.admin.locking.lockDn(lo, position, type, value, scope)[source]

Build DN of lock object.

Parameters:
  • loLDAP connection.
  • positionUDM position specifying the LDAP base container.
  • type – A string describing the type of object, e.g. user.
  • value – A unique value for the object, e.g. uid.
  • scope – The scope for the lock, e.g. domain.
Returns:

A LDAP DN.

univention.admin.locking.lock(lo, position, type, value, scope='domain', timeout=300)[source]

Lock an UDM object.

Parameters:
  • loLDAP connection.
  • positionUDM position specifying the LDAP base container.
  • type – A string describing the type of object, e.g. user.
  • value – A unique value for the object, e.g. uid.
  • scope – The scope for the lock, e.g. domain.
  • timeout – Number of seconds for the lock being valid.
Raises:
Returns:

Number of seconds since the UNIX epoch until which the lock is acquired.

univention.admin.locking.relock(lo, position, type, value, scope='domain', timeout=300)[source]

Extend a lock of an UDM object.

Parameters:
  • loLDAP connection.
  • positionUDM position specifying the LDAP base container.
  • type – A string describing the type of object, e.g. user.
  • value – A unique value for the object, e.g. uid.
  • scope – The scope for the lock, e.g. domain.
  • timeout – Number of seconds for the lock being valid.
Raises:
Returns:

Number of seconds since the UNIX epoch until which the lock is acquired.

univention.admin.locking.unlock(lo, position, type, value, scope='domain')[source]

Unlock an UDM object.

Parameters:
  • loLDAP connection.
  • positionUDM position specifying the LDAP base container.
  • type – A string describing the type of object, e.g. user.
  • value – A unique value for the object, e.g. uid.
  • scope – The scope for the lock, e.g. domain.
univention.admin.locking.getLock(lo, position, type, value, scope='domain')[source]

Check if an UDM object is locked.

Parameters:
  • loLDAP connection.
  • positionUDM position specifying the LDAP base container.
  • type – A string describing the type of object, e.g. user.
  • value – A unique value for the object, e.g. uid.
  • scope – The scope for the lock, e.g. domain.
Returns:

Number of seconds since the UNIX epoch until which the lock is acquired or 0.

univention.admin.mapping module

Functions to map between UDM properties and LDAP attributes.

univention.admin.mapping.DaysToSeconds(days)[source]

Convert number of days to seconds.

Parameters:day – the number of days.
Returns:the number of seconds.
>>> DaysToSeconds('1')
'86400'
univention.admin.mapping.SecondsToDays(seconds)[source]

Convert number of seconds to number of complete days.

Parameters:seconds – 1-tuple with the number of seconds.
Returns:the number of complete days.
>>> SecondsToDays(('86401',))
'1'
univention.admin.mapping.StringToLower(string)[source]

Convert string to lower-case.

Parameters:string – a string.
Returns:the lower-cased string.
>>> StringToLower("Aa")
'aa'
univention.admin.mapping.ListUniq(list)[source]

Return list of unique items.

Parameters:list – A list of elements.
Returns:a list with duplicate elements removed.
>>> ListUniq(['1', '1', '2'])
['1', '2']
univention.admin.mapping.ListToString(list)[source]

Return first element from list. This is right mapping for single-valued properties, as LDAP always returns lists of values.

Parameters:list – A list of elements.
Returns:the first element or the empty string.
>>> ListToString([])
''
>>> ListToString(['value'])
'value'
univention.admin.mapping.ListToIntToString(list_)[source]

Return first element from list if it is an integer.

Parameters:list – A list of elements.
Returns:the first element or the empty string.
>>> ListToIntToString([])
''
>>> ListToIntToString(['1'])
'1'
univention.admin.mapping.ListToLowerString(list)[source]

Return first element from list lower-cased.

Parameters:list – A list of elements.
Returns:the first element lower-cased or the empty string.
>>> ListToLowerString([])
''
>>> ListToLowerString(['Value'])
'value'
univention.admin.mapping.ListToLowerList(list)[source]

Return the list with all elements converted to lower-case.

Parameters:list – A list of elements.
Returns:a list of the elemets converted to lower case.
>>> ListToLowerList(['A', 'a'])
['a', 'a']
univention.admin.mapping.ListToLowerListUniq(list)[source]

Return the list with all elements converted to lower-case and duplicates removed.

Parameters:list – A list of elements.
Returns:a list of the elemets converted to lower case with duplicates removed.
>>> ListToLowerListUniq(['A', 'a'])
['a']
univention.admin.mapping.nothing(a)[source]

‘Do nothing’ mapping returning None.

univention.admin.mapping.IgnoreNone(list)[source]

Return the value if it is not the sting None.

Parameters:list – Some element(s).
Returns:The element(s) if it is not None.
>>> IgnoreNone('1')
'1'
>>> IgnoreNone('None')
univention.admin.mapping._stringToInt(value)[source]

Try to convert string into integer.

Parameters:value – a srting.
Returns:the integer value or 0.
>>> _stringToInt('1')
1
>>> _stringToInt('ucs')
0
univention.admin.mapping.unmapUNIX_TimeInterval(value)[source]

Map number of seconds to a human understandable time interval.

Parameters:value – number of seconds
Returns:a 2-tuple (value, unit)
>>> unmapUNIX_TimeInterval(['0'])
[u'0', 'days']
>>> unmapUNIX_TimeInterval(('1',))
[u'1', 'seconds']
>>> unmapUNIX_TimeInterval('60')
[u'1', 'minutes']
>>> unmapUNIX_TimeInterval('3600')
[u'1', 'hours']
>>> unmapUNIX_TimeInterval('86400')
[u'1', 'days']
univention.admin.mapping.mapUNIX_TimeInterval(value)[source]

Unmap a human understandable time interval back to number of seconds.

Parameters:value – a 2-tuple (value, unit)
Returns:the number of seconds.
>>> mapUNIX_TimeInterval(0)
u'0'
>>> mapUNIX_TimeInterval([1, 'days'])
u'86400'
>>> mapUNIX_TimeInterval((1, 'hours'))
u'3600'
>>> mapUNIX_TimeInterval((1, 'minutes'))
u'60'
univention.admin.mapping.unmapBase64(value)[source]

Convert binary data (as found in LDAP) to Base64 encoded UDM property value(s).

Parameters:value – some binary data.
Returns:the base64 encoded data or the empty string on errors.
>>> unmapBase64(['a'])
'YQ=='
>>> unmapBase64(['a', 'b'])
['YQ==', 'Yg==']
>>> unmapBase64([None])
''
univention.admin.mapping.mapBase64(value)[source]

Convert Base64 encoded UDM property values to binary data (for storage in LDAP).

Parameters:value – some base64 encoded value.
Returns:the decoded binary data.
>>> mapBase64('*')
'*'
>>> mapBase64(['YQ=='])
['a']
>>> mapBase64('YQ==')
'a'
univention.admin.mapping.BooleanListToString(list)[source]

Convert LDAP boolean to UDM.

Parameters:list – list of LDAP attribute values.
Returns:the empty string for False or otherwise the first element.
>>> BooleanListToString(['0'])
''
>>> BooleanListToString(['1'])
'1'
univention.admin.mapping.BooleanUnMap(value)[source]

Convert LDAP boolean to UDM.

Parameters:list – One LDAP attribute values.
Returns:the empty string for False or otherwise the first element.
>>> BooleanUnMap('0')
''
>>> BooleanUnMap('1')
'1'
class univention.admin.mapping.dontMap[source]

Bases: object

‘Do nothing’ mapping.

class univention.admin.mapping.mapping[source]

Bases: object

Map LDAP attribute names and values to UDM property names and values and back.

register(map_name, unmap_name, map_value=None, unmap_value=None)[source]

Register a new mapping.

Parameters:
  • map_nameUDM property name.
  • unmap_nameLDAP attribute name.
  • map_value – function to map UDM property values to LDAP attribute values.
  • unmap_value – function to map LDAP attribute values to UDM property values.
unregister(map_name, pop_unmap=True)[source]

Remove a mapping UDM to LDAP (and also the reverse).

Parameters:
  • map_nameUDM property name.
  • pop_unmapFalse prevents the removal of the mapping from LDAP to UDM, which the default True also does.
registerUnmapping(unmap_name, unmap_value)[source]

Register a new unmapping from LDAP to UDM.

Parameters:
  • unmap_nameLDAP attribute name.
  • unmap_value – function to map LDAP attribute values to UDM property values.
mapName(map_name)[source]

Map UDM property name to LDAP attribute name.

>>> map = mapping()
>>> map.mapName('unknown')
''
>>> map.register('udm', 'ldap')
>>> map.mapName('udm')
'ldap'
unmapName(unmap_name)[source]

Map LDAP attribute name to UDM property name.

>>> map = mapping()
>>> map.unmapName('unknown')
''
>>> map.register('udm', 'ldap')
>>> map.unmapName('ldap')
'udm'
mapValue(map_name, value)[source]

Map UDM property value to LDAP attribute value.

>>> map = mapping()
>>> map.mapValue('unknown', None) 
Traceback (most recent call last):
...
KeyError:
>>> map.register('udm', 'ldap')
>>> map.mapValue('udm', 'value')
'value'
>>> map.register('udm', 'ldap', lambda udm: udm.lower(), None)
>>> map.mapValue('udm', None)
''
>>> map.mapValue('udm', [0])
''
>>> map.mapValue('udm', 'UDM')
'udm'
>>> map.register('sambaLogonHours', 'ldap')
>>> map.mapValue('sambaLogonHours', [0])
[0]
unmapValue(unmap_name, value)[source]

Map LDAP attribute value to UDM property value.

>>> map = mapping()
>>> map.unmapValue('unknown', None) 
Traceback (most recent call last):
...
KeyError:
>>> map.register('udm', 'ldap')
>>> map.unmapValue('ldap', 'value')
'value'
>>> map.register('udm', 'ldap', None, lambda ldap: ldap.upper())
>>> map.unmapValue('ldap', 'ldap')
'LDAP'
unmapValues(oldattr)[source]

Unmaps LDAP attribute values to UDM property values.

shouldMap(map_name)[source]
shouldUnmap(unmap_name)[source]
univention.admin.mapping.mapCmp(mapping, key, old, new)[source]

Compare old and new for equality (mapping back to LDAP value if possible).

>>> map = mapping()
>>> mapCmp(map, 'unknown', 'old', 'new')
False
>>> mapCmp(map, 'unknown', 'same', 'same')
True
>>> map.register('udm', 'ldap')
>>> mapCmp(map, 'udm', 'old', 'new')
False
>>> mapCmp(map, 'udm', 'same', 'same')
True
>>> map.register('udm', 'ldap', lambda udm: udm.lower(), None)
>>> mapCmp(map, 'udm', 'case', 'CASE')
True
univention.admin.mapping.mapDict(mapping, old)[source]

Convert dictionary mapping LDAP_attriute_name to LDAP_value to a (partial) dictionary mapping UDM_property_name to UDM_value.

>>> map = mapping()
>>> map.register('udm', 'ldap', None, lambda ldap: ldap.upper())
>>> mapDict(map, {'ldap': 'ldap', 'unknown': None})
{'udm': 'LDAP'}
univention.admin.mapping.mapList(mapping, old)[source]

Convert list of LDAP attribute names to list of UDM property names.

>>> map = mapping()
>>> mapList(map, None)
[]
>>> mapList(map, ['unknown'])
['']
>>> map.register('udm', 'ldap', None, None)
>>> mapList(map, ['ldap', 'unknown'])
['udm', '']
univention.admin.mapping.mapDiff(mapping, diff)[source]

Convert mod-list of UDM property names/values to mod-list of LDAP attribute names/values.

>>> map = mapping()
>>> mapDiff(map, None)
[]
>>> mapDiff(map, [('unknown', None, None)])
[]
>>> map.register('udm', 'ldap', lambda udm: udm.lower(), None)
>>> mapDiff(map, [('udm', 'OLD', 'NEW')])
[('ldap', 'old', 'new')]
>>> mapDiff(map, [('udm', 'case', 'CASE')])
[]
univention.admin.mapping.mapDiffAl(mapping, diff)[source]

Convert mod-list of UDM property names/values to add-list of LDAP attribute names/values.

>>> map = mapping()
>>> mapDiffAl(map, None)
[]
>>> mapDiffAl(map, [('unknown', None, None)])
[]
>>> map.register('udm', 'ldap', lambda udm: udm.lower(), None)
>>> mapDiffAl(map, [('udm', 'OLD', 'NEW'), ('unknown', None, None)])
[('ldap', 'new')]
univention.admin.mapping.mapRewrite(filter, mapping)[source]

Re-write UDM property name/value in UDM filter expression to LDAP attribute name/value.

>>> from argparse import Namespace
>>> map = mapping()
>>> f = Namespace(variable='unknown', value=None); mapRewrite(f, map); (f.variable, f.value)
('unknown', None)
>>> map.register('udm', 'ldap', lambda udm: udm.lower(), None)
>>> f = Namespace(variable='udm', value='UDM'); mapRewrite(f, map); (f.variable, f.value)
('ldap', 'udm')

univention.admin.modules module

UDM access to handler modules.

univention.admin.modules.modules = {'policies/pwhistory': <module 'univention.admin.handlers.policies.pwhistory' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/policies/pwhistory.py'>, 'settings/xconfig_choices': <module 'univention.admin.handlers.settings.xconfig_choices' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/settings/xconfig_choices.py'>, 'settings/directory': <module 'univention.admin.handlers.settings.directory' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/settings/directory.py'>, 'ms/gpwl-wireless': <module 'univention.admin.handlers.ms.gpwl-wireless' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/ms/gpwl-wireless.py'>, 'policies/share_userquota': <module 'univention.admin.handlers.policies.share_userquota' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/policies/share_userquota.py'>, 'nagios/nagios': <module 'univention.admin.handlers.nagios.nagios' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/nagios/nagios.py'>, 'settings/prohibited_username': <module 'univention.admin.handlers.settings.prohibited_username' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/settings/prohibited_username.py'>, 'users/user': <module 'univention.admin.handlers.users.user' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/users/user.py'>, 'computers/linux': <module 'univention.admin.handlers.computers.linux' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/computers/linux.py'>, 'settings/udm_syntax': <module 'univention.admin.handlers.settings.udm_syntax' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/settings/udm_syntax.py'>, 'settings/ldapacl': <module 'univention.admin.handlers.settings.ldapacl' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/settings/ldapacl.py'>, 'computers/windows': <module 'univention.admin.handlers.computers.windows' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/computers/windows.py'>, 'settings/license': <module 'univention.admin.handlers.settings.license' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/settings/license.py'>, 'policies/policy': <module 'univention.admin.handlers.policies.policy' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/policies/policy.py'>, 'settings/lock': <module 'univention.admin.handlers.settings.lock' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/settings/lock.py'>, 'policies/dhcp_leasetime': <module 'univention.admin.handlers.policies.dhcp_leasetime' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/policies/dhcp_leasetime.py'>, 'dhcp/sharedsubnet': <module 'univention.admin.handlers.dhcp.sharedsubnet' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/dhcp/sharedsubnet.py'>, 'policies/masterpackages': <module 'univention.admin.handlers.policies.masterpackages' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/policies/masterpackages.py'>, 'ms/gpipsec-nfa': <module 'univention.admin.handlers.ms.gpipsec-nfa' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/ms/gpipsec-nfa.py'>, 'policies/release': <module 'univention.admin.handlers.policies.release' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/policies/release.py'>, 'ms/gpsi-class-store': <module 'univention.admin.handlers.ms.gpsi-class-store' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/ms/gpsi-class-store.py'>, 'mail/folder': <module 'univention.admin.handlers.mail.folder' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/mail/folder.py'>, 'computers/ubuntu': <module 'univention.admin.handlers.computers.ubuntu' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/computers/ubuntu.py'>, 'policies/autostart': <module 'univention.admin.handlers.policies.autostart' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/policies/autostart.py'>, 'test/ip_phone': <module 'univention.admin.handlers.test.ip_phone' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/test/ip_phone.py'>, 'container/dc': <module 'univention.admin.handlers.container.dc' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/container/dc.py'>, 'users/self': <module 'univention.admin.handlers.users.self' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/users/self.py'>, 'settings/settings': <module 'univention.admin.handlers.settings.settings' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/settings/settings.py'>, 'uvmm/cloudconnection': <module 'univention.admin.handlers.uvmm.cloudconnection' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/uvmm/cloudconnection.py'>, 'ms/gpsi-category-registration': <module 'univention.admin.handlers.ms.gpsi-category-registration' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/ms/gpsi-category-registration.py'>, 'computers/trustaccount': <module 'univention.admin.handlers.computers.trustaccount' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/computers/trustaccount.py'>, 'dns/dns': <module 'univention.admin.handlers.dns.dns' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/dns/dns.py'>, 'settings/portal_all': <module 'univention.admin.handlers.settings.portal_all' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/settings/portal_all.py'>, 'settings/sambadomain': <module 'univention.admin.handlers.settings.sambadomain' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/settings/sambadomain.py'>, 'computers/windows_domaincontroller': <module 'univention.admin.handlers.computers.windows_domaincontroller' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/computers/windows_domaincontroller.py'>, 'settings/data': <module 'univention.admin.handlers.settings.data' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/settings/data.py'>, 'policies/admin_container': <module 'univention.admin.handlers.policies.admin_container' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/policies/admin_container.py'>, 'policies/umc': <module 'univention.admin.handlers.policies.umc' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/policies/umc.py'>, 'settings/printeruri': <module 'univention.admin.handlers.settings.printeruri' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/settings/printeruri.py'>, 'container/ou': <module 'univention.admin.handlers.container.ou' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/container/ou.py'>, 'policies/dhcp_statements': <module 'univention.admin.handlers.policies.dhcp_statements' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/policies/dhcp_statements.py'>, 'dhcp/pool': <module 'univention.admin.handlers.dhcp.pool' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/dhcp/pool.py'>, 'policies/dhcp_dns': <module 'univention.admin.handlers.policies.dhcp_dns' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/policies/dhcp_dns.py'>, 'policies/repositoryserver': <module 'univention.admin.handlers.policies.repositoryserver' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/policies/repositoryserver.py'>, 'saml/serviceprovider': <module 'univention.admin.handlers.saml.serviceprovider' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/saml/serviceprovider.py'>, 'uvmm/profile': <module 'univention.admin.handlers.uvmm.profile' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/uvmm/profile.py'>, 'mail/mail': <module 'univention.admin.handlers.mail.mail' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/mail/mail.py'>, 'mail/domain': <module 'univention.admin.handlers.mail.domain' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/mail/domain.py'>, 'shares/printer': <module 'univention.admin.handlers.shares.printer' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/shares/printer.py'>, 'settings/service': <module 'univention.admin.handlers.settings.service' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/settings/service.py'>, 'policies/nfsmounts': <module 'univention.admin.handlers.policies.nfsmounts' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/policies/nfsmounts.py'>, 'settings/portal': <module 'univention.admin.handlers.settings.portal' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/settings/portal.py'>, 'ms/gpipsec-filter': <module 'univention.admin.handlers.ms.gpipsec-filter' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/ms/gpipsec-filter.py'>, 'computers/domaincontroller_master': <module 'univention.admin.handlers.computers.domaincontroller_master' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/computers/domaincontroller_master.py'>, 'dhcp/dhcp': <module 'univention.admin.handlers.dhcp.dhcp' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/dhcp/dhcp.py'>, 'appcenter/app': <module 'univention.admin.handlers.appcenter.app' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/appcenter/app.py'>, 'settings/syntax': <module 'univention.admin.handlers.settings.syntax' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/settings/syntax.py'>, 'dhcp/service': <module 'univention.admin.handlers.dhcp.service' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/dhcp/service.py'>, 'policies/ldapserver': <module 'univention.admin.handlers.policies.ldapserver' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/policies/ldapserver.py'>, 'computers/macos': <module 'univention.admin.handlers.computers.macos' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/computers/macos.py'>, 'users/passwd': <module 'univention.admin.handlers.users.passwd' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/users/passwd.py'>, 'saml/idpconfig': <module 'univention.admin.handlers.saml.idpconfig' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/saml/idpconfig.py'>, 'settings/mswmifilter': <module 'univention.admin.handlers.settings.mswmifilter' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/settings/mswmifilter.py'>, 'groups/group': <module 'univention.admin.handlers.groups.group' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/groups/group.py'>, 'ms/gpipsec-negotiation-policy': <module 'univention.admin.handlers.ms.gpipsec-negotiation-policy' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/ms/gpipsec-negotiation-policy.py'>, 'computers/domaincontroller_slave': <module 'univention.admin.handlers.computers.domaincontroller_slave' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/computers/domaincontroller_slave.py'>, 'ms/gpwl-wireless-blob': <module 'univention.admin.handlers.ms.gpwl-wireless-blob' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/ms/gpwl-wireless-blob.py'>, 'policies/dhcp_routing': <module 'univention.admin.handlers.policies.dhcp_routing' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/policies/dhcp_routing.py'>, 'settings/ldapschema': <module 'univention.admin.handlers.settings.ldapschema' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/settings/ldapschema.py'>, 'shares/print': <module 'univention.admin.handlers.shares.print' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/shares/print.py'>, 'ms/gpipsec-isakmp-policy': <module 'univention.admin.handlers.ms.gpipsec-isakmp-policy' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/ms/gpipsec-isakmp-policy.py'>, 'dns/forward_zone': <module 'univention.admin.handlers.dns.forward_zone' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/dns/forward_zone.py'>, 'computers/computer': <module 'univention.admin.handlers.computers.computer' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/computers/computer.py'>, 'policies/repositorysync': <module 'univention.admin.handlers.policies.repositorysync' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/policies/repositorysync.py'>, 'nagios/timeperiod': <module 'univention.admin.handlers.nagios.timeperiod' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/nagios/timeperiod.py'>, 'users/ldap': <module 'univention.admin.handlers.users.ldap' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/users/ldap.py'>, 'dhcp/host': <module 'univention.admin.handlers.dhcp.host' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/dhcp/host.py'>, 'policies/dhcp_netbios': <module 'univention.admin.handlers.policies.dhcp_netbios' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/policies/dhcp_netbios.py'>, 'uvmm/info': <module 'univention.admin.handlers.uvmm.info' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/uvmm/info.py'>, 'ms/gpwl-wired': <module 'univention.admin.handlers.ms.gpwl-wired' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/ms/gpwl-wired.py'>, 'ms/gpsi-package-registration': <module 'univention.admin.handlers.ms.gpsi-package-registration' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/ms/gpsi-package-registration.py'>, 'settings/udm_module': <module 'univention.admin.handlers.settings.udm_module' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/settings/udm_module.py'>, 'policies/dhcp_dnsupdate': <module 'univention.admin.handlers.policies.dhcp_dnsupdate' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/policies/dhcp_dnsupdate.py'>, 'policies/dhcp_scope': <module 'univention.admin.handlers.policies.dhcp_scope' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/policies/dhcp_scope.py'>, 'settings/usertemplate': <module 'univention.admin.handlers.settings.usertemplate' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/settings/usertemplate.py'>, 'shares/share': <module 'univention.admin.handlers.shares.share' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/shares/share.py'>, 'policies/memberpackages': <module 'univention.admin.handlers.policies.memberpackages' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/policies/memberpackages.py'>, 'container/msgpo': <module 'univention.admin.handlers.container.msgpo' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/container/msgpo.py'>, 'settings/extended_attribute': <module 'univention.admin.handlers.settings.extended_attribute' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/settings/extended_attribute.py'>, 'policies/desktop': <module 'univention.admin.handlers.policies.desktop' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/policies/desktop.py'>, 'computers/ipmanagedclient': <module 'univention.admin.handlers.computers.ipmanagedclient' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/computers/ipmanagedclient.py'>, 'settings/sambaconfig': <module 'univention.admin.handlers.settings.sambaconfig' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/settings/sambaconfig.py'>, 'nagios/service': <module 'univention.admin.handlers.nagios.service' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/nagios/service.py'>, 'computers/domaincontroller_backup': <module 'univention.admin.handlers.computers.domaincontroller_backup' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/computers/domaincontroller_backup.py'>, 'policies/slavepackages': <module 'univention.admin.handlers.policies.slavepackages' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/policies/slavepackages.py'>, 'settings/udm_hook': <module 'univention.admin.handlers.settings.udm_hook' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/settings/udm_hook.py'>, 'policies/registry': <module 'univention.admin.handlers.policies.registry' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/policies/registry.py'>, 'settings/cn': <module 'univention.admin.handlers.settings.cn' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/settings/cn.py'>, 'dns/reverse_zone': <module 'univention.admin.handlers.dns.reverse_zone' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/dns/reverse_zone.py'>, 'container/cn': <module 'univention.admin.handlers.container.cn' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/container/cn.py'>, 'users/contact': <module 'univention.admin.handlers.users.contact' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/users/contact.py'>, 'uvmm/cloudtype': <module 'univention.admin.handlers.uvmm.cloudtype' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/uvmm/cloudtype.py'>, 'settings/default': <module 'univention.admin.handlers.settings.default' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/settings/default.py'>, 'settings/extended_options': <module 'univention.admin.handlers.settings.extended_options' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/settings/extended_options.py'>, 'kerberos/kdcentry': <module 'univention.admin.handlers.kerberos.kdcentry' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/kerberos/kdcentry.py'>, 'settings/printermodel': <module 'univention.admin.handlers.settings.printermodel' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/settings/printermodel.py'>, 'settings/umc_operationset': <module 'univention.admin.handlers.settings.umc_operationset' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/settings/umc_operationset.py'>, 'dns/ns_record': <module 'univention.admin.handlers.dns.ns_record' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/dns/ns_record.py'>, 'ms/gpipsec-policy': <module 'univention.admin.handlers.ms.gpipsec-policy' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/ms/gpipsec-policy.py'>, 'policies/dhcp_boot': <module 'univention.admin.handlers.policies.dhcp_boot' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/policies/dhcp_boot.py'>, 'settings/portal_category': <module 'univention.admin.handlers.settings.portal_category' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/settings/portal_category.py'>, 'policies/printserver': <module 'univention.admin.handlers.policies.printserver' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/policies/printserver.py'>, 'dns/ptr_record': <module 'univention.admin.handlers.dns.ptr_record' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/dns/ptr_record.py'>, 'shares/printergroup': <module 'univention.admin.handlers.shares.printergroup' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/shares/printergroup.py'>, 'networks/network': <module 'univention.admin.handlers.networks.network' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/networks/network.py'>, 'dhcp/subnet': <module 'univention.admin.handlers.dhcp.subnet' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/dhcp/subnet.py'>, 'dns/alias': <module 'univention.admin.handlers.dns.alias' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/dns/alias.py'>, 'dhcp/server': <module 'univention.admin.handlers.dhcp.server' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/dhcp/server.py'>, 'dhcp/shared': <module 'univention.admin.handlers.dhcp.shared' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/dhcp/shared.py'>, 'settings/portal_entry': <module 'univention.admin.handlers.settings.portal_entry' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/settings/portal_entry.py'>, 'settings/packages': <module 'univention.admin.handlers.settings.packages' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/settings/packages.py'>, 'dns/host_record': <module 'univention.admin.handlers.dns.host_record' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/dns/host_record.py'>, 'policies/maintenance': <module 'univention.admin.handlers.policies.maintenance' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/policies/maintenance.py'>, 'dns/srv_record': <module 'univention.admin.handlers.dns.srv_record' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/dns/srv_record.py'>, 'mail/lists': <module 'univention.admin.handlers.mail.lists' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/mail/lists.py'>, 'dns/txt_record': <module 'univention.admin.handlers.dns.txt_record' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/dns/txt_record.py'>, 'computers/memberserver': <module 'univention.admin.handlers.computers.memberserver' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/computers/memberserver.py'>, 'settings/msprintconnectionpolicy': <module 'univention.admin.handlers.settings.msprintconnectionpolicy' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/settings/msprintconnectionpolicy.py'>, 'policies/print_quota': <module 'univention.admin.handlers.policies.print_quota' from '/var/lib/jenkins/workspace/Mitarbeiter/phahn/UCS-API-Doc/py/univention/admin/handlers/policies/print_quota.py'>}

Mapping from module name to Python module.

univention.admin.modules.update()[source]

Scan file system and update internal list of UDM handler modules.

univention.admin.modules.get(module)[source]

Get UDM module.

Parameters:module – either the name (str) of a module or the module itself.
Returns:the module or None if no module exists with the requested name.
univention.admin.modules.get_module(module)[source]

interim function, must only be used by univention-directory-manager-modules!

Deprecated since version UCS: 4.4

Parameters:module – either the name (str) of a module or the module itself.
Returns:the module or None if no module exists with the requested name.
univention.admin.modules.init(lo, position, module, template_object=None, force_reload=False)[source]

Initialize UDM handler module.

Parameters:
  • loLDAP connection.
  • positionUDM position instance.
  • moduleUDM handler module.
  • template_object – Reference to a instance, from which the default values are used.
  • force_reload – With True force Python to reload the module from the file system.
univention.admin.modules.update_extended_options(lo, module, position)[source]

Overwrite options defined via LDAP.

class univention.admin.modules.EA_Layout(**kwargs)[source]

Bases: dict

Extended attribute layout.

name
overwrite
tabName
groupName
position
groupPosition
advanced
is_app_tab
univention.admin.modules.update_extended_attributes(lo, module, position)[source]

Load extended attribute from LDAP and modify UDM handler.

univention.admin.modules.identify(dn, attr, module_name='', canonical=0, module_base=None)[source]

Return list of UDM handlers capable of handling the given LDAP object.

Parameters:
  • dnDN of the LDAP object.
  • atrLDAP attributes.
  • module_name – If given only the given module name is used if it is capable to handle the object.
  • canonical – UNUSED!
  • module_base – Optional string the module names must start with.
Returns:

the list of UDM modules.

univention.admin.modules.identifyOne(dn, attr, type='')[source]

Return the UDM handler capable of handling the given LDAP object.

Parameters:
  • dnDN of the LDAP object.
  • atrLDAP attributes.
  • type – If given only the given module name is used if it is capable to handle the object.
Returns:

the UDM modules or None.

univention.admin.modules.recognize(module_name, dn, attr)[source]
univention.admin.modules.name(module)[source]

Return name of module.

univention.admin.modules.superordinate_names(module_name)[source]

Return name of superordinate module.

univention.admin.modules.superordinate_name(module_name)[source]

Return name of first superordinate module.

Deprecated since version UCS: 4.2 Use superordinate_names() instead.

univention.admin.modules.superordinate(module)[source]

Return instance of superordinate module.

Deprecated since version UCS: 4.2 Use superordinates() instead.

univention.admin.modules.superordinates(module)[source]

Return instance of superordinate module.

univention.admin.modules.subordinates(module)[source]

Return list of instances of subordinate modules.

Parameters:module

???

Returns:list of UDM handler modules.
univention.admin.modules.find_superordinate(dn, co, lo)[source]

For a given DN, search in the LDAP path whether this LDAP object is below an object that is a superordinate or is a superordinate itself.

Parameters:
  • dnDN.
  • coUDM configuation object.
  • loLDAP connection.
Returns:

the superordinate module or None.

univention.admin.modules.layout(module_name, object=None)[source]

return layout of properties

univention.admin.modules.options(module_name)[source]

return options available for module

univention.admin.modules.attributes(module_name)[source]

Return attributes for module.

Parameters:module_name – the name of the UDM module, e.g. users/user.
univention.admin.modules.short_description(module_name)[source]

Return short description for module.

Parameters:module_name – the name of the UDM module, e.g. users/user.
Returns:The short descriptive text.
univention.admin.modules.policy_short_description(module_name)[source]

Return short description for policy module primarily used for tab headers.

Parameters:module_name – the name of the UDM policy module, e.g. policies/pwhistory.
Returns:The short descriptive text.
univention.admin.modules.long_description(module_name)[source]

Return long description for module.

Parameters:module_name – the name of the UDM module, e.g. users/user.
Returns:The long descriptive text.
univention.admin.modules.childs(module_name)[source]

Return whether module may have subordinate modules.

Parameters:module_name – the name of the UDM module, e.g. users/user.
Returns:1 if the module has children, 0 otherwise.
univention.admin.modules.virtual(module_name)[source]

Return whether module may have subordinate modules.

Parameters:module_name – the name of the UDM module, e.g. users/user.
Returns:True if the module is virtual, False otherwise.
univention.admin.modules.lookup(module_name, co, lo, filter='', base='', superordinate=None, scope='base+one', unique=False, required=False, timeout=-1, sizelimit=0)[source]

Return objects of module that match the given criteria.

Parameters:module_name – the name of the UDM module, e.g. users/user.
univention.admin.modules.quickDescription(module_name, dn)[source]
univention.admin.modules.isSuperordinate(module)[source]

Check if the module is a UDM superoridnate module.

Parameters:module – A UDM handler class.
Returns:True if the handler is a superoridnate module, False otherwise.
univention.admin.modules.isContainer(module)[source]

Check if the module is a UDM container module.

Parameters:module – A UDM handler class.
Returns:True if the handler is a container module, False otherwise.
univention.admin.modules.isPolicy(module)[source]

Check if the module is a UDM policy module.

Parameters:module – A UDM handler class.
Returns:True if the handler is a policy module, False otherwise.
univention.admin.modules.defaultPosition(module, superordinate=None)[source]

Returns default position for object of module.

Parameters:
  • module – A UDM handler class.
  • superordinate – A optional superordinate UDM object instance.
Returns:

The DN of the container for the object.

univention.admin.modules.supports(module_name, operation)[source]

Check if module supports operation

Parameters:
  • module_name – the name of the UDM module, e.g. users/user.
  • operation – the name of the operation, e.g. ‘modify’.
Returns:

True if the operation is supported, False otherwise.

univention.admin.modules.objectType(co, lo, dn, attr=None, modules=[], module_base=None)[source]
univention.admin.modules.objectShadowType(co, lo, dn, attr=None, modules=[])[source]
univention.admin.modules.findObject(co, lo, dn, type, attr=None, module_base=None)[source]
univention.admin.modules.policyOc(module_name)[source]

Return the LDAP objectClass used to store the policy.

Parameters:module_name – the name of the UDM policy module, e.g. policies/pwhistory.
Returns:the objectClass.
univention.admin.modules.policiesGroup(module_name)[source]

Return the name of the group the UDM policy belongs to.

Parameters:module_name – the name of the UDM policy module, e.g. policies/pwhistory.
Returns:the group name.
univention.admin.modules.policies()[source]
univention.admin.modules.policyTypes(module_name)[source]

Returns a list of policy types applying to the given module.

Parameters:module_name – the name of the UDM module, e.g. users/user.
Returns:a list of UDM policy modules, e.g. policies/pwhistory.
univention.admin.modules.policyPositionDnPrefix(module_name)[source]

Return the relative DN for a policy.

Parameters:module_name – the name of the UDM policy module, e.g. policies/pwhistory.
Returns:A DN string to append to the LDAP base to get the container for the policy.
univention.admin.modules.defaultContainers(module)[source]

Checks for the attribute default_containers that should contain a list of RDNs of default containers.

Parameters:moduleUDM
Returns:a list of DNs.
univention.admin.modules.childModules(module_name)[source]

Return child modules if module is a super module.

Parameters:module_name – the name of the UDM module, e.g. users/user.
Returns:List of child module names.
univention.admin.modules._get_translation(locale, attrs, name, defaultname, default='')[source]

univention.admin.nagios module

UDM methods and defines for Nagios related attributes.

univention.admin.nagios.addPropertiesMappingOptionsAndLayout(new_property, new_mapping, new_options, new_layout)[source]

Add Nagios properties.

class univention.admin.nagios.Support[source]

Bases: object

nagiosGetAssignedServices()[source]
nagiosGetParentHosts()[source]
nagios_open()[source]
nagiosSaveParentHostList(ml)[source]
nagios_ldap_modlist(ml)[source]
nagios_ldap_pre_modify()[source]
nagios_ldap_pre_create()[source]
nagiosModifyServiceList()[source]
nagiosRemoveHostFromServices()[source]
nagiosRemoveHostFromParent()[source]
nagios_ldap_post_modify()[source]
nagios_ldap_post_create()[source]
nagios_ldap_post_remove()[source]
nagios_cleanup()[source]
_Support__change_fqdn(oldfqdn, newfqdn)
_Support__getFQDN()

univention.admin.objects module

UDM objects.

univention.admin.objects.module(object)[source]

Return handler name for UDM object.

Parameters:objectUDM object instance
Returns:UDM handler name or None.
univention.admin.objects.get_superordinate(module, co, lo, dn)[source]

Searches for the superordinate object for the given DN.

Parameters:
  • module

    ???

  • coUDM configuation object.
  • loLDAP connection.
  • dnDN.
Returns:

the superoridnate or None if the object does not require a superordinate object or it is not found.

univention.admin.objects.get(module, co, lo, position, dn='', attr=None, superordinate=None, attributes=None)[source]

Return object of module while trying to create objects of superordinate modules as well.

Parameters:
  • moduleUDM handler.
  • coUDM configuation object.
  • loLDAP connection.
  • positionUDM position instance.
univention.admin.objects.open(object)[source]

Initialization of properties not necessary for browsing etc.

Parameters:objectUDM object.
univention.admin.objects.default(module, co, lo, position)[source]

Create UDM object and initialize default values.

Parameters:
  • moduleUDM handler.
  • coUDM configuation object.
  • loLDAP connection.
  • positionUDM position instance.
Returns:

An initialized UDM object.

univention.admin.objects.description(object)[source]

Return short description for object.

Parameters:objectUDM object.
univention.admin.objects.shadow(lo, module, object, position)[source]

If object is a container, return object and module the container shadows (that is usually the one that is subordinate in the LDAP tree).

Parameters:
  • loLDAP connection.
  • moduleUDM handler.
  • objectUDM object.
  • positionUDM position instance.
Returnd:

2-tuple (module, object) or (None, None)

univention.admin.objects.dn(object)[source]

Return the DN of the object.

Parameters:objectUDM object.
Returns:the DN or None.
univention.admin.objects.ocToType(oc)[source]

Return the UDM module capabale of handling the given LDAP objectClass.

Parameters:ocLDAP object class.
Returns:name of the UDM module.
univention.admin.objects.fixedAttribute(object, key)[source]

Check if the named property is a fixed attribute (not overwritten my more specific policies).

Parameters:
  • objectUDM object.
  • keyUDM property name
Returns:

1 if the property is fixed, 0 otherwise.

univention.admin.objects.emptyAttribute(object, key)[source]

Check if the named property is an empty attribute (reset to empty by a general policy).

Parameters:
  • objectUDM object.
  • keyUDM property name
Returns:

1 if the property is empty, 0 otherwise.

univention.admin.objects.getPolicyReference(object, policy_type)[source]

Return the policy of the requested type.

Parameters:
  • objectUDM object.
  • policy_type – Name of the UDM policy to lookup.
Returns:

The policy applying to the object or None.

univention.admin.objects.removePolicyReference(object, policy_type)[source]

Remove the policy of the requested type.

Parameters:
  • objectUDM object.
  • policy_type – Name of the UDM policy to lookup.
univention.admin.objects.replacePolicyReference(object, policy_type, new_reference)[source]

Replace the policy of the requested type with a new instance.

Parameters:
  • objectUDM object.
  • policy_type – Name of the UDM policy to lookup.
univention.admin.objects.restorePolicyReference(object, policy_type)[source]

Restore the policy of the requested type.

Parameters:
  • objectUDM object.
  • policy_type – Name of the UDM policy to lookup.
univention.admin.objects.wantsCleanup(object)[source]

Check if the given object wants to perform a cleanup (delete other objects, etc.) before it is deleted itself.

Parameters:object – parent object.
Returns:1´ if a cleanup is requested, `0 otherwise.
univention.admin.objects.performCleanup(object)[source]

some objects create other objects. remove those if necessary.

Parameters:object – parent object.

univention.admin.password module

UDM password encryption methods.

univention.admin.password.crypt(password, method_id=None, salt=None)[source]

Return crypt hash.

Parameters:
  • password – password string.
  • method_id – optional hash type, MD5, SHA256/SHA-256, SHA512/SHA-512.
  • salt – salt for randomize the hashing.
Returns:

the hashed password string.

univention.admin.password.ntlm(password)[source]

Return tuple with NT and LanMan hash.

Parameters:password – password string.
Returns:2-tuple (NT, LanMan)
univention.admin.password.krb5_asn1(principal, password, krb5_context=None)[source]

Generate Kerberos password hashes.

Parameters:
  • principal – Kerberos principal name.
  • password – password string.
  • krb5_context – optional Kerberos context.
Returns:

list of ASN1 encoded Kerberos hashes.

univention.admin.password.is_locked(password)[source]

Check is the password (hash) is locked

Parameters:password – password hash.
Returns:True when locked, False otherwise.
>>> is_locked('foo')
False
>>> is_locked('{crypt}$1$foo')
False
>>> is_locked('{crypt}!$1$foo')
True
>>> is_locked('{KINIT}')
False
>>> is_locked('{LANMAN}!')
True
univention.admin.password.unlock_password(password)[source]

Remove prefix from password used for locking.

Parameters:password – password hash.
Returns:the unlocked password hash.
>>> unlock_password('{crypt}!$1$foo')
'{crypt}$1$foo'
>>> unlock_password('{LANMAN}!')
'{LANMAN}'
>>> unlock_password('{SASL}!')
'{SASL}'
>>> unlock_password('{KINIT}!')
'{KINIT}'
univention.admin.password.lock_password(password)[source]

Add prefix to password used for locking.

Parameters:password – password hash.
Returns:the locked password hash.
>>> lock_password('{crypt}$1$foo')
'{crypt}!$1$foo'
>>> lock_password('{LANMAN}')
'{LANMAN}!'
>>> lock_password('{SASL}')
'{SASL}!'
>>> lock_password('{KINIT}')
'{KINIT}!'
>>> lock_password('foo').startswith('{crypt}!$')
True
univention.admin.password.password_is_auth_saslpassthrough(password)[source]

Check if the password hash indicates the use of |SASL|.

Parameters:apssword – password hash.
Returns:True is |SASL| shall be used, False otherwise.
univention.admin.password.get_password_history(newpwhash, pwhistory, pwhlen)[source]

Append the given password hash to the history of password hashed

Parameters:
  • newpwhash – new password hash.
  • pwhistory – history of previous password hashes.
  • pwhlen – length of the password history.
Returns:

modified password hash history.

univention.admin.password.password_already_used(password, pwhistory)[source]

Check if the password is already used in the password hash history.

Parameters:
  • password – new password hash.
  • pwhistory – history of previous password hashes.
Returns:

True when already used, False otherwise,

class univention.admin.password.PasswortHistoryPolicy(pwhistoryPolicy)[source]

Bases: object

Policy for handling history of password hashes.

univention.admin.policy module

UDM policy utilities

univention.admin.policy.register_policy_mapping(mapping)[source]
univention.admin.policy.policy_object_tab()[source]
univention.admin.policy.requiredObjectClassesProperty(**kwargs)[source]
univention.admin.policy.prohibitedObjectClassesProperty(**kwargs)[source]
univention.admin.policy.fixedAttributesProperty(**kwargs)[source]
univention.admin.policy.emptyAttributesProperty(**kwargs)[source]
univention.admin.policy.ldapFilterProperty(**kwargs)[source]

univention.admin.samba module

UDM samba related code

class univention.admin.samba.acctFlags(flagstring=None, flags=None, fallbackflags=None)[source]
decode()[source]
set(flag)[source]
unset(flag)[source]

univention.admin.syntax module

UDM syntax definitions.

univention.admin.syntax.import_syntax_files()[source]

Load all additional syntax files from */univention/admin/syntax.d/*.py.

univention.admin.syntax.__register_choice_update_function(func)[source]

Register a function to be called when the syntax classes are to be re-loaded.

univention.admin.syntax.update_choices()[source]

Update choices which are defined in LDAP

univention.admin.syntax.is_syntax(syntax_obj, syntax_type)[source]

Returns True if the syntax object/class matches the given type.

Parameters:
  • syntax_obj – The instance to check.
  • syntax_type – A syntax class type.
class univention.admin.syntax.ClassProperty(getter)[source]

Bases: object

A decorator that can be used to define read-only class properties.

univention.admin.syntax.SIZES = ('OneThird', 'Half', 'TwoThirds', 'One', 'FourThirds', 'OneAndAHalf', 'FiveThirds')

Widget sizes. UDM uses a two-column layout and by default any widget uses one column. Widgets can also be configured to span (partly) both columns.

class univention.admin.syntax.ISyntax[source]

Bases: object

Base class for all syntax classes.

size = 'One'

Widget size. See SIZES.

type_class = None
type_class_multivalue = None
name = 'ISyntax'
type = 'ISyntax'
classmethod tostring(text)[source]

Convert from internal representation to textual representation.

Parameters:text – internal representation.
Returns:textual representation.
parse_command_line(value)[source]
class univention.admin.syntax.simple[source]

Bases: univention.admin.syntax.ISyntax

Base class for single value entries.

regex = None

Regular expression to validate the value.

error_message = 'Invalid value'

Error message when an invalid item is selected.

type_class

alias of StringType

classmethod parse(text)[source]

Validate the value by parsing it.

Returns:the parsed textual value.
Raises:univention.admin.uexceptions.valueError – if the value is invalid.
classmethod new()[source]

Return the initial value.

classmethod any()[source]

Return the default search filter.

classmethod checkLdap(lo, value)[source]

Check the given value against the current LDAP state by reading directly from LDAP directory. The function returns nothing or raises an exception, if the value does not match with predefined constrains.

Parameters:
  • lo – LDAP connection.
  • value – The value to check.
Returns:

None on errors.

Raises:

Exception – on errors.

class univention.admin.syntax.select[source]

Bases: univention.admin.syntax.ISyntax

Select item from list of choices:

self.choices = [(id, _("Display text"), ...]
empty_value = False

Allow the empty value.

type_class

alias of StringType

classmethod parse(text)[source]
classmethod new()[source]
classmethod any()[source]
class univention.admin.syntax.combobox[source]

Bases: univention.admin.syntax.select

Select item from list of choices but accept all kind of values:

self.choices = [(id, _("Display text"), ...]
classmethod parse(text)[source]
class univention.admin.syntax.MultiSelect[source]

Bases: univention.admin.syntax.ISyntax

Select multiple items from a list of choices.

choices = ()

The list of choices.

empty_value = True

Allow the empty value.

error_message = 'Invalid value'

Error message when an invalid item is selected.

classmethod parse(value)[source]
class univention.admin.syntax.complex[source]

Bases: univention.admin.syntax.ISyntax

Base class for complex syntax classes consisting of multiple sub-items.

delimiter = ' '

Delimiter to separate the sub-items. Two possibilities:

  1. Either a single string like =, which is used to concatenate all subitems.
  2. A sequence of n+1 strings like [‘’, ‘: ‘, ‘=’, ‘’] to concatenate n sub-items. The first and last value is used as a prefix/suffix.
min_elements = None

Minimum number of required values.

all_required = True

All sub-values must contain a value.

subsyntaxes = []
subsyntax_names = ()
subsyntax_key_value = False
classmethod parse(texts, minn=None)[source]
classmethod fromdict(value)[source]
classmethod todict(value)[source]
type_class
type_class_multivalue
classmethod tostring(texts)[source]
classmethod new()[source]
any()[source]
class univention.admin.syntax.UDM_Objects[source]

Bases: univention.admin.syntax.ISyntax

Base class to lookup selectable items from LDAP entries using their DN.

See UDM_Attribute for an alternative to use values from one LDAP entry..

udm_modules = ()

Sequence of UDM module names to search for.

udm_filter = ''

A LDAP filter string to further restrict the matching LDAP objects.

key = 'dn'

Either ‘dn’ or the UDM property name enclosed in %()s to use as the value for this syntax class.

label = None

The UDM property name, which is used as the displayed value.

regex = <_sre.SRE_Pattern object>

Regular expression for validating the values.

static_values = None

Sequence of additional static items.

empty_value = False

Allow to select no entry.

depends = None

The name of another UDM property this syntax depends on.

error_message = 'Not a valid LDAP DN'

Error message when an invalid item is selected.

simple = False

With True, only a single object can be selected using a ComboBox. With False multiple entries can be selected using a MultiObjectSelect widget.

use_objects = True

By default with True create Python UDM instance for each LDAP entry. With False only work with the LDAP attribute data.

type_class
classmethod parse(text)[source]
class univention.admin.syntax.UDM_Attribute[source]

Bases: univention.admin.syntax.ISyntax

Base class to lookup selectable items from LDAP entries using attribute values.

See UDM_Objects for an alternative to use multiple LDAP entries.

udm_module = None

UDM module name to search for.

udm_filter = ''

A LDAP filter string to further restrict the matching LDAP objects.

attribute = None

The UDM property name to use as the value for this syntax class.

is_complex = False

True for a complex item consisting of multiple sub-items.

key_index = 0

When the UDM property is complex: The number of the sub-item, which is used as the value for this syntax class.

label_index = 0

When the UDM property is complex: The number of the sub-item, which is used as the display value.

label_format = None

Python format string used to convert the UDM properties to the displayed value.

regex = None

Regular expression for validating the values.

static_values = None

Sequence of additional static items.

empty_value = False

Allow to select no entry.

depends = None

The name of another UDM property this syntax depends on.

error_message = 'Invalid value'

Error message when an invalid item is selected.

classmethod parse(text)[source]
class univention.admin.syntax.none[source]

Bases: univention.admin.syntax.simple

class univention.admin.syntax.string[source]

Bases: univention.admin.syntax.simple

Syntax for a string with unlimited length.

min_length = 0
max_length = 0
type_class

alias of StringType

classmethod parse(text)[source]
class univention.admin.syntax.string64[source]

Bases: univention.admin.syntax.simple

Syntax for a string with up to 64 characters.

classmethod parse(text)[source]
class univention.admin.syntax.OneThirdString[source]

Bases: univention.admin.syntax.string

Syntax for a string with an input field spanning 1/3 of the width.

size = 'OneThird'
class univention.admin.syntax.string6[source]

Bases: univention.admin.syntax.OneThirdString

Syntax for a string with up to 6 characters.

classmethod parse(text)[source]
class univention.admin.syntax.HalfString[source]

Bases: univention.admin.syntax.string

Syntax for a string with an input field spanning 1/2 of the width.

size = 'Half'
class univention.admin.syntax.TwoThirdsString[source]

Bases: univention.admin.syntax.string

Syntax for a string with an input field spanning 2/3 of the width.

size = 'TwoThirds'
class univention.admin.syntax.FourThirdsString[source]

Bases: univention.admin.syntax.string

Syntax for a string with an input field spanning 4/3 of the width.

size = 'FourThirds'
class univention.admin.syntax.OneAndAHalfString[source]

Bases: univention.admin.syntax.string

Syntax for a string with an input field spanning 3/2 of the width.

size = 'OneAndAHalf'
class univention.admin.syntax.FiveThirdsString[source]

Bases: univention.admin.syntax.string

Syntax for a string with an input field spanning 5/3 of the width.

size = 'FiveThirds'
class univention.admin.syntax.TwoString[source]

Bases: univention.admin.syntax.string

Syntax for a string with an input field spanning 2/1 of the width.

size = 'Two'
class univention.admin.syntax.TextArea[source]

Bases: univention.admin.syntax.string

Syntax for a string with an input allowing multi-line input.

class univention.admin.syntax.Editor[source]

Bases: univention.admin.syntax.string

class univention.admin.syntax.TwoEditor[source]

Bases: univention.admin.syntax.Editor

size = 'Two'
class univention.admin.syntax.UCSVersion[source]

Bases: univention.admin.syntax.string

Syntax for an UCS release version major.minor-patchlevel.

classmethod parse(value)[source]
class univention.admin.syntax.DebianPackageVersion[source]

Bases: univention.admin.syntax.string

Syntax for a Debian package version.

invalid_chars_regex = <_sre.SRE_Pattern object>
classmethod parse(value)[source]
class univention.admin.syntax.BaseFilename[source]

Bases: univention.admin.syntax.string

Syntax for a file name. Sub- and parent directories are not allowed.

classmethod parse(value)[source]
class univention.admin.syntax.Upload[source]

Bases: univention.admin.syntax.ISyntax

Syntax to allow uploading a binary file.

type_class

alias of BinaryType

classmethod parse(value)[source]
class univention.admin.syntax.Base64GzipText[source]

Bases: univention.admin.syntax.TextArea

Syntax for some gzip-compressed and base64-encoded data.

type_class

alias of Base64Type

classmethod parse(text)[source]
class univention.admin.syntax.Base64Bzip2Text[source]

Bases: univention.admin.syntax.TextArea

Syntax for some bzip2-compressed and base64-encoded data.

type_class

alias of Base64Type

classmethod parse(text)[source]
class univention.admin.syntax.Base64Upload[source]

Bases: univention.admin.syntax.Upload

Syntax to allow uploading a base64 encoded file.

type_class

alias of Base64Type

classmethod parse(text)[source]
class univention.admin.syntax.Base64BaseUpload[source]

Bases: univention.admin.syntax.Base64Upload

Syntax to allow uploading a base64 encoded file.

classmethod parse(text)[source]
class univention.admin.syntax.jpegPhoto[source]

Bases: univention.admin.syntax.Upload

Syntax to allow uploading a JPEG or PNG photo.

type_class

alias of Base64Type

classmethod tostring(value)[source]
classmethod parse(text)[source]
class univention.admin.syntax.Base64Bzip2XML[source]

Bases: univention.admin.syntax.TextArea

Syntax for some bzip2-compressed XML data.

type_class

alias of Base64Type

classmethod parse(text)[source]
class univention.admin.syntax.Base64UMCIcon[source]

Bases: univention.admin.syntax.TextArea

Syntax for a base64 encoded icon (SVG, PNG, JPEG).

type_class

alias of Base64Type

classmethod parse(text)[source]
class univention.admin.syntax.GNUMessageCatalog[source]

Bases: univention.admin.syntax.TextArea

Syntax for a base64 encoded binary message catalog .mo.

type_class

alias of Base64Type

classmethod parse(text)[source]
class univention.admin.syntax.Localesubdirname[source]

Bases: univention.admin.syntax.string

Syntax for a locale, e.g. language[_COUNTRY][.encoding][@variant].

Must match a directory in /usr/share/locale/.

classmethod parse(text)[source]
class univention.admin.syntax.Localesubdirname_and_GNUMessageCatalog[source]

Bases: univention.admin.syntax.complex

Syntax for a message catalog and its language.

See GNUMessageCatalog and Localesubdirname.

delimiter = ': '
subsyntaxes = [('Locale subdir name', <class 'univention.admin.syntax.Localesubdirname'>), ('GNU message catalog', <class 'univention.admin.syntax.GNUMessageCatalog'>)]
subsyntax_key_value = True
all_required = True
class univention.admin.syntax.integer[source]

Bases: univention.admin.syntax.simple

Syntax for positive numeric values.

>>> integer.parse('1')
'1'
>>> integer.parse('0')
'0'
>>> integer.parse(2)
'2'
>>> integer.parse('-1') 
Traceback (most recent call last):
        ...
valueError:
>>> integer.parse('1.1') 
Traceback (most recent call last):
        ...
valueError:
>>> integer.parse('text') 
Traceback (most recent call last):
        ...
valueError:
>>> integer.parse('') 
Traceback (most recent call last):
        ...
valueError:
min_length = 1
max_length = 0
_re = <_sre.SRE_Pattern object>
size = 'Half'
type_class

alias of IntegerType

classmethod parse(text)[source]
class univention.admin.syntax.integerOrEmpty[source]

Bases: univention.admin.syntax.integer

Syntax for positive numeric values or the empty value. >>> integerOrEmpty.parse(None) >>> integerOrEmpty.parse(“”) >>> integerOrEmpty.parse(0) ‘0’ >>> integer.parse(“0”) ‘0’

classmethod parse(text)[source]
class univention.admin.syntax.boolean[source]

Bases: univention.admin.syntax.simple

Syntax for a boolean checkbox, which internally stores the state as 0 and 1.

>>> boolean.parse('')
''
>>> boolean.parse('0')
'0'
>>> boolean.parse('1')
'1'
>>> boolean.parse(True)
'1'
>>> boolean.parse(False)
'0'
>>> boolean.parse('2') 
Traceback (most recent call last):
        ...
valueError:
>>> boolean.parse('0.1') 
Traceback (most recent call last):
        ...
valueError:
>>> boolean.parse('text') 
Traceback (most recent call last):
        ...
valueError:
min_length = 1
max_length = 1
regex = <_sre.SRE_Pattern object>
error_message = 'Value must be 0 or 1'
type_class

alias of BooleanType

classmethod parse(text)[source]
classmethod get_object_property_filter(object_property, object_property_value)[source]
classmethod sanitize_property_search_value(search_value)[source]
class univention.admin.syntax.AppActivatedBoolean[source]

Bases: univention.admin.syntax.boolean

class univention.admin.syntax.filesize[source]

Bases: univention.admin.syntax.simple

Syntax class for a file size supporting SI suffixes like KB.

>>> filesize.parse('0')
'0'
>>> filesize.parse('1b')
'1b'
>>> filesize.parse('2kB')
'2kB'
>>> filesize.parse('3Mb')
'3Mb'
>>> filesize.parse('4GB')
'4GB'
>>> filesize.parse('5pb') 
Traceback (most recent call last):
        ...
valueError:
>>> filesize.parse('-6') 
Traceback (most recent call last):
        ...
valueError:
>>> filesize.parse('-7.8') 
Traceback (most recent call last):
        ...
valueError:
>>> filesize.parse('text') 
Traceback (most recent call last):
        ...
valueError:
min_length = 1
max_length = 0
regex = <_sre.SRE_Pattern object>
error_message = 'Value must be an integer followed by one of GB,MB,KB,B or nothing (equals B)!'
class univention.admin.syntax.mail_folder_name[source]

Bases: univention.admin.syntax.simple

Syntax for IMAP mail folder names.

>>> mail_folder_name.parse('folder_name')
'folder_name'
>>> mail_folder_name.parse('folder name') 
Traceback (most recent call last):
        ...
valueError:
>>> mail_folder_name.parse('folder      name') 
Traceback (most recent call last):
        ...
valueError:
>>> mail_folder_name.parse('folder!name') 
Traceback (most recent call last):
        ...
valueError:
classmethod parse(text)[source]
class univention.admin.syntax.mail_folder_type[source]

Bases: univention.admin.syntax.select

Syntax for IMAP mail folder types.

>>> mail_folder_type.parse('')
''
>>> mail_folder_type.parse('mail')
'mail'
>>> mail_folder_type.parse('event')
'event'
>>> mail_folder_type.parse('contact')
'contact'
>>> mail_folder_type.parse('task')
'task'
>>> mail_folder_type.parse('note')
'note'
>>> mail_folder_type.parse('journal')
'journal'
>>> mail_folder_type.parse('invalid')
name = 'mail_folder_type'
choices = [('', 'undefined'), ('mail', 'mails'), ('event', 'events'), ('contact', 'contacts'), ('task', 'tasks'), ('note', 'notes'), ('journal', 'journals')]
class univention.admin.syntax.string_numbers_letters_dots[source]

Bases: univention.admin.syntax.simple

Syntax for string consisting of only digits, letters and dots.

>>> string_numbers_letters_dots.parse('a') 
Traceback (most recent call last):
        ...
valueError:
>>> string_numbers_letters_dots.parse('A') 
Traceback (most recent call last):
        ...
valueError:
>>> string_numbers_letters_dots.parse('0') 
Traceback (most recent call last):
        ...
valueError:
>>> string_numbers_letters_dots.parse('aA')
'aA'
>>> string_numbers_letters_dots.parse('a.A')
'a.A'
>>> string_numbers_letters_dots.parse('a_A')
'a_A'
>>> string_numbers_letters_dots.parse('a-A')
'a-A'
>>> string_numbers_letters_dots.parse('.') 
Traceback (most recent call last):
        ...
valueError:
>>> string_numbers_letters_dots.parse('_') 
Traceback (most recent call last):
        ...
valueError:
>>> string_numbers_letters_dots.parse('-') 
Traceback (most recent call last):
        ...
valueError:
>>> string_numbers_letters_dots.parse('/') 
Traceback (most recent call last):
        ...
valueError:
regex = <_sre.SRE_Pattern object>
error_message = 'Value must not contain anything other than digits, letters or dots, must be at least 2 characters long, and start and end with a digit or letter!'
class univention.admin.syntax.string_numbers_letters_dots_spaces[source]

Bases: univention.admin.syntax.simple

Syntax for string consisting of only digits, letters, dots and spaces. The later two are not allowed at the beginning and at the end.

>>> string_numbers_letters_dots_spaces.parse('a') 
Traceback (most recent call last):
        ...
valueError:
>>> string_numbers_letters_dots_spaces.parse('A') 
Traceback (most recent call last):
        ...
valueError:
>>> string_numbers_letters_dots_spaces.parse('0') 
Traceback (most recent call last):
        ...
valueError:
>>> string_numbers_letters_dots_spaces.parse('aA')
'aA'
>>> string_numbers_letters_dots_spaces.parse('a.A')
'a.A'
>>> string_numbers_letters_dots_spaces.parse('a_A')
'a_A'
>>> string_numbers_letters_dots_spaces.parse('a-A')
'a-A'
>>> string_numbers_letters_dots_spaces.parse('a A')
'a A'
>>> string_numbers_letters_dots_spaces.parse('.') 
Traceback (most recent call last):
        ...
valueError:
>>> string_numbers_letters_dots_spaces.parse('_') 
Traceback (most recent call last):
        ...
valueError:
>>> string_numbers_letters_dots_spaces.parse('-') 
Traceback (most recent call last):
        ...
valueError:
>>> string_numbers_letters_dots_spaces.parse(' ') 
Traceback (most recent call last):
        ...
valueError:
>>> string_numbers_letters_dots_spaces.parse('/') 
Traceback (most recent call last):
        ...
valueError:
regex = <_sre.SRE_Pattern object>
error_message = 'Value must not contain anything other than digits, letters, dots or spaces, must be at least 2 characters long, and start and end with a digit or letter!'
class univention.admin.syntax.phone[source]

Bases: univention.admin.syntax.simple

Syntax for (international) telephone numbers.

>>> phone.parse('+49 421 22232-0')
'+49 421 22232-0'
>>> phone.parse('++49 (0)700 Vanity')
'++49 (0)700 Vanity'
>>> phone.parse('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789._ ()\/+-')
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789._ ()\\/+-'
>>> phone.parse('^°!$§%&[]{}<>|*~#",.;:') 
Traceback (most recent call last):
        ...
valueError:
min_length = 1
max_length = 16
regex = <_sre.SRE_Pattern object>
error_message = 'Value must not contain anything other than digits, letters, dots, brackets, slash, plus, or minus!'
class univention.admin.syntax.IA5string[source]

Bases: univention.admin.syntax.string

Syntax for string from International Alphabet 5 (printable ASCII)

>>> IA5string.parse(''' !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~''')
' !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~'
>>> IA5string.parse('öäüÖÄÜ߀') 
Traceback (most recent call last):
        ...
valueError:
classmethod parse(text)[source]
class univention.admin.syntax.uid[source]

Bases: univention.admin.syntax.simple

Syntax for user account names.

>>> uid.parse('a') 
Traceback (most recent call last):
        ...
valueError:
>>> uid.parse('A') 
Traceback (most recent call last):
        ...
valueError:
>>> uid.parse('0') 
Traceback (most recent call last):
        ...
valueError:
>>> uid.parse('aA')
'aA'
>>> uid.parse('a.A')
'a.A'
>>> uid.parse('a_A')
'a_A'
>>> uid.parse('a-A')
'a-A'
>>> uid.parse('.') 
Traceback (most recent call last):
        ...
valueError:
>>> uid.parse('_') 
Traceback (most recent call last):
        ...
valueError:
>>> uid.parse('-') 
Traceback (most recent call last):
        ...
valueError:
>>> uid.parse('/') 
Traceback (most recent call last):
        ...
valueError:
>>> uid.parse('admin') 
Traceback (most recent call last):
        ...
valueError:
>>> uid.parse('Admin')
'Admin'
min_length = 1
max_length = 16
regex = <_sre.SRE_Pattern object>
error_message = 'Value must not contain anything other than digits, letters, dots, dash or underscore, must be at least 2 characters long, must start and end with a digit or letter, and must not be admin!'
class univention.admin.syntax.uid_umlauts[source]

Bases: univention.admin.syntax.simple

Syntax for user account names supporting umlauts.

name = 'uid'
min_length = 1
max_length = 16
_re = <_sre.SRE_Pattern object>
classmethod parse(text)[source]
class univention.admin.syntax.uid_umlauts_lower_except_first_letter[source]

Bases: univention.admin.syntax.simple

Syntax for user account names supporting umlauts expecpt for the first character.

min_length = 1
max_length = 16
_re = <_sre.SRE_Pattern object>
classmethod parse(text)[source]
class univention.admin.syntax.gid[source]

Bases: univention.admin.syntax.simple

Syntax for group account names.

min_length = 1
max_length = 32
regex = <_sre.SRE_Pattern object>
error_message = 'A group name must start and end with a letter, number or underscore. In between additionally spaces, dashes and dots are allowed.'
class univention.admin.syntax.sharePath[source]

Bases: univention.admin.syntax.simple

Syntax for file share paths. The path must be absolute and the following paths are not allowed:

  • /dev/
  • /proc/
  • /root/
  • /sys/
  • /tmp/
regex = <_sre.SRE_Pattern object>
error_message = 'Value may not contain double quotes (")!'
classmethod parse(text)[source]
class univention.admin.syntax.passwd[source]

Bases: univention.admin.syntax.simple

Syntax for passwords.

min_length = 8
max_length = 0
_re1 = <_sre.SRE_Pattern object>
_re2 = <_sre.SRE_Pattern object>
_re3 = <_sre.SRE_Pattern object>
type_class

alias of PasswordType

classmethod parse(text)[source]
class univention.admin.syntax.userPasswd[source]

Bases: univention.admin.syntax.simple

Syntax for user account passwords.

type_class

alias of PasswordType

classmethod parse(text)[source]
class univention.admin.syntax.hostName[source]

Bases: univention.admin.syntax.simple

hostname based upon RFC 1123:

<let-or-digit>[*[<let-or-digit-or-hyphen>]<let-or-digit>]

also allow _ for Microsoft.

>>> hostName.parse('a')
'a'
>>> hostName.parse('0')
'0'
>>> hostName.parse('')
Traceback (most recent call last):
...
valueError: This is not a valid hostname.
>>> hostName.parse('a' * 64)
Traceback (most recent call last):
...
valueError: This is not a valid hostname.
>>> hostName.parse('!')
Traceback (most recent call last):
...
valueError: This is not a valid hostname.
>>> hostName.parse('-')
Traceback (most recent call last):
...
valueError: This is not a valid hostname.
min_length = 1
max_length = 63
regex = <_sre.SRE_Pattern object>
error_message = 'This is not a valid hostname.'
univention.admin.syntax.windowsHostName

alias of hostName

class univention.admin.syntax.ipv4Address[source]

Bases: univention.admin.syntax.simple

Syntax class for an IPv4 address. 0.0.0.0 is allowed.

>>> ipv4Address.parse('0.0.0.0')
'0.0.0.0'
classmethod parse(text)[source]
class univention.admin.syntax.ipAddress[source]

Bases: univention.admin.syntax.simple

Syntax class for an IPv4 or IPv6 address. 0.0.0.0 and IPv4-mapped IPv6 addresses are allowed.

>>> ipAddress.parse('0.0.0.0')
'0.0.0.0'
>>> ipAddress.parse('::1')
'::1'
classmethod parse(text)[source]
class univention.admin.syntax.hostOrIP[source]

Bases: univention.admin.syntax.simple

Syntax class for an IPv4 or IPv6 address or a host name. 0.0.0.0 and IPv4-mapped IPv6 addresses are allowed.

>>> hostOrIP.parse('1.2.3.4')
'1.2.3.4'
>>> hostOrIP.parse('1:2:3:4:5:6:7:8')
'1:2:3:4:5:6:7:8'
>>> hostOrIP.parse('0x7f000001')
'0x7f000001'
>>> hostOrIP.parse('example')
'example'
min_length = 0
max_length = 0
classmethod ipAddress(text)[source]
classmethod hostName(text)[source]
classmethod parse(text)[source]
class univention.admin.syntax.v4netmask[source]

Bases: univention.admin.syntax.simple

Syntax for a IPv4 network mask. May be entered as a bit mask or the number of bits.

>>> v4netmask.parse('255.255.255.0')
'24'
>>> v4netmask.parse('24')
'24'
>>> v4netmask.parse('0.0.0.0')
'0'
>>> v4netmask.parse('255.255.255.255')
'32'
>>> v4netmask.parse('33') 
Traceback (most recent call last):
...
valueError: Not a valid netmask!
min_length = 1
max_length = 15
classmethod netmaskBits(dotted)[source]
classmethod parse(text)[source]
class univention.admin.syntax.netmask[source]

Bases: univention.admin.syntax.simple

Syntax for a IPv4 network mask. May be entered as a bit mask or the number of bits.

>>> netmask.parse('255.255.255.0')
'24'
>>> netmask.parse('1')
'1'
>>> netmask.parse('127')
'127'
>>> netmask.parse('0') 
Traceback (most recent call last):
...
valueError: Not a valid netmask!
>>> netmask.parse('128') 
Traceback (most recent call last):
...
valueError: Not a valid netmask!
classmethod parse(text)[source]
class univention.admin.syntax.ipnetwork[source]

Bases: univention.admin.syntax.simple

Syntax for a IPv4 or IPv6 network address block.

>>> ipnetwork.parse('1.2.3.4/255.255.255.0') 
'1.2.3.0/24'
>>> ipnetwork.parse('1.2.3.4/24') 
'1.2.3.0/24'
>>> ipnetwork.parse('1:2:3:4:5:6:7:8/64') 
'1:2:3:4/64'
classmethod parse(text)[source]
class univention.admin.syntax.IP_AddressRange[source]

Bases: univention.admin.syntax.complex

Syntax for an IPv4 or IPv6 address range.

>>> IP_AddressRange.parse(('1.2.3.4', '')) 
['1.2.3.4']
>>> IP_AddressRange.parse(('1.2.3.4', '5.6.7.8'))
['1.2.3.4', '5.6.7.8']
>>> IP_AddressRange.parse(('::1', '::2'))
['::1', '::2']
>>> IP_AddressRange.parse(('5.6.7.8', '1.2.3.4')) 
Traceback (most recent call last):
...
valueInvalidSyntax: Illegal range
>>> IP_AddressRange.parse(('::2', '::1'))  
Traceback (most recent call last):
...
valueInvalidSyntax: Illegal range
>>> IP_AddressRange.parse(('1.2.3.4', '::1')) 
Traceback (most recent call last):
...
valueError: Not a valid IP address!
subsyntaxes = (('First address', <class 'univention.admin.syntax.ipAddress'>), ('Last address', <class 'univention.admin.syntax.ipAddress'>))
subsyntax_names = ('first', 'last')
classmethod parse(texts)[source]
class univention.admin.syntax.IPv4_AddressRange[source]

Bases: univention.admin.syntax.IP_AddressRange

Syntax for an IPv4 address range.

>>> IPv4_AddressRange.parse(('1.2.3.4',))
['1.2.3.4']
>>> IPv4_AddressRange.parse(('1.2.3.4', '5.6.7.8'))
['1.2.3.4', '5.6.7.8']
>>> IPv4_AddressRange.parse(('5.6.7.8', '1.2.3.4')) 
Traceback (most recent call last):
...
valueInvalidSyntax: Illegal range
min_elements = 1
all_required = False
subsyntaxes = (('First address', <class 'univention.admin.syntax.ipv4Address'>), ('Last address', <class 'univention.admin.syntax.ipv4Address'>))
subsyntax_names = ('first', 'last')
class univention.admin.syntax.ipProtocol[source]

Bases: univention.admin.syntax.select

Syntax class to choose between TCP und UDP.

choices = [('tcp', 'TCP'), ('udp', 'UDP')]
class univention.admin.syntax.ipProtocolSRV[source]

Bases: univention.admin.syntax.select

Syntax for DNS service record.

choices = [('tcp', 'TCP'), ('udp', 'UDP'), ('msdcs', 'MSDCS'), ('sites', 'SITES'), ('DomainDnsZones', 'DOMAINDNSZONES'), ('ForestDnsZones', 'FORESTDNSZONES')]
size = 'OneThird'
class univention.admin.syntax.absolutePath[source]

Bases: univention.admin.syntax.simple

Syntax for an absolute file system path.

min_length = 1
max_length = 0
_re = <_sre.SRE_Pattern object>
classmethod parse(text)[source]
class univention.admin.syntax.emailForwardSetting[source]

Bases: univention.admin.syntax.select

Syntax for selecting the e-mail forwarding setting.

choices = [('0', 'Redirect all e-mails to forward addresses'), ('1', 'Keep e-mails and forward a copy')]
class univention.admin.syntax.emailAddress[source]

Bases: univention.admin.syntax.simple

Syntax class for an e-mail address.

min_length = 3
max_length = 0
type_class

alias of EMailAddressType

classmethod parse(text)[source]
class univention.admin.syntax.emailAddressTemplate[source]

Bases: univention.admin.syntax.emailAddress

Syntax class for an e-mail address in the UDM univention.admin.handlers.settings.usertemplate module.

class univention.admin.syntax.emailAddressValidDomain[source]

Bases: univention.admin.syntax.emailAddress

Syntax class for an e-mail address in one of the registered e-mail domains.

name = 'emailAddressValidDomain'
errMsgDomain = 'The domain part of the following mail addresses is not in list of configured mail domains: %s'
classmethod checkLdap(lo, mailaddresses)[source]
class univention.admin.syntax.primaryEmailAddressValidDomain[source]

Bases: univention.admin.syntax.emailAddressValidDomain

Syntax class for the primary e-mail address in one of the registered e-mail domains.

name = 'primaryEmailAddressValidDomain'
errMsgDomain = 'The domain part of the primary mail address is not in list of configured mail domains: %s'
class univention.admin.syntax.iso8601Date[source]

Bases: univention.admin.syntax.simple

A date of the format:

  • yyyy-ddd (2009-213)
  • yyyy-mm (2009-05)
  • yyyy-mm-dd (2009-05-13)
  • yyyy-Www (2009-W21)
  • yyyy-Www-D (2009-W21-4)

with the dashes being optional

regex = <_sre.SRE_Pattern object>
error_message = 'The given date does not conform to iso8601, example: "2009-01-01".'
type_class

alias of DateType

classmethod to_datetime(value)[source]
classmethod from_datetime(value)[source]
class univention.admin.syntax.date[source]

Bases: univention.admin.syntax.simple

Syntax for a German date (DD.MM.YY). Also accepts the ISO format (YYYY-MM-DD).

Warning

Centuries are always stripped! See date2.

>>> date.parse('21.12.03')
'21.12.03'
>>> date.parse('1961-01-01')
'01.01.61'
>>> date.parse('2061-01-01')
'01.01.61'
>>> date.parse('01.02.00')
'01.02.00'
>>> date.parse('01.02.99')
'01.02.99'
>>> date.parse('00.00.01') 
Traceback (most recent call last):
...
valueError:
>>> date.parse('01x02y03') 
Traceback (most recent call last):
...
valueError:

Bug #20230: >>> date.parse(‘31.2.1’) #doctest: +IGNORE_EXCEPTION_DETAIL +SKIP Traceback (most recent call last): ... valueError:

name = 'date'
min_length = 5
max_length = 0
_re_iso = <_sre.SRE_Pattern object>
_re_de = <_sre.SRE_Pattern object>
type_class

alias of DateType

classmethod parse(text)[source]
classmethod to_datetime(value)[source]
classmethod from_datetime(value)[source]
class univention.admin.syntax.date2[source]

Bases: univention.admin.syntax.date

Syntax for an ISO date (YYYY-MM-DD). Also accepts the German format (DD.MM.YY). If no century is specified, the date is mapped to 1970..2069.

>>> date2.parse('21.12.75')
'1975-12-21'
>>> date2.parse('21.12.03')
'2003-12-21'
>>> date2.parse('1961-01-01')
'1961-01-01'
>>> date2.parse('2001-02-31')  
'2001-02-31'
classmethod parse(text)[source]
classmethod to_datetime(value)[source]
class univention.admin.syntax.reverseLookupSubnet[source]

Bases: univention.admin.syntax.simple

Syntax for IPv4 or IPv6 sub-network.

>>> reverseLookupSubnet.parse('1.2.3')
'1.2.3'
>>> reverseLookupSubnet.parse('1')
'1'
>>> reverseLookupSubnet.parse('1000:2000:3000:4000:5000:6000:7000:800')
'1000:2000:3000:4000:5000:6000:7000:800'
regex_IPv4 = '((([1-9]?[0-9])|(1[0-9]{0,2})|(2([0-4][0-9]|5[0-5])))\\.){1,2}(([1-9]?[0-9])|(1[0-9]{0,2})|(2([0-4][0-9]|5[0-5])))'
regex_IPv6 = '(([0-9a-f]{4}:){0,7}[0-9a-f]{1,3})|(([0-9a-f]{4}:){0,6}[0-9a-f]{1,4})'
regex = <_sre.SRE_Pattern object>
error_message = 'A subnet for reverse lookup consists of the first 1-3 octets of an IPv4 address (example: "192.168.0") or of the first 1 to 31 nibbles of an expanded (with leading zeroes and without ::-substitution) IPv6 address (example: "2001:0db8:010" for "2001:db8:100::/24")'
class univention.admin.syntax.reverseLookupZoneName[source]

Bases: univention.admin.syntax.simple

Syntax for a DNS reverse zone name.

>>> reverseLookupZoneName.parse('3.2.1.in-addr.arpa')
'3.2.1.in-addr.arpa'
>>> reverseLookupZoneName.parse('8.7.6.5.4.3.2.1.ip6.arpa')
'8.7.6.5.4.3.2.1.ip6.arpa'
regex = <_sre.SRE_Pattern object>
error_message = 'The name of a reverse zone for IPv4 consists of the reversed subnet address followed by .in-addr.arpa (example: "0.168.192.in-addr.arpa") or for IPv6 in nibble format followed by .ip6.arpa (example: "0.0.0.0.0.0.1.0.8.b.d.0.1.0.0.2.ip6.arpa")'
class univention.admin.syntax.dnsName[source]

Bases: univention.admin.syntax.simple

RFC 1123: a ‘.’ separated FQDN

>>> dnsName.parse('')
Traceback (most recent call last):
...
valueError: Missing value!

A host name (label) can be up to 63 characters

>>> dnsName.parse('0123456789-ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz')
Traceback (most recent call last):
...
valueError: Labels must be between 1 and 63 characters long!
>>> dnsName.parse('a..')
Traceback (most recent call last):
...
valueError: Labels must be between 1 and 63 characters long!

A full domain name is limited to 253 octets (including the separators).

>>> dnsName.parse('a.' * 128)
Traceback (most recent call last):
...
valueError: Full domain name must be between 1 and 253 characters long!
min_length = 1
max_length = 253
classmethod parse(text)[source]
univention.admin.syntax.DNS_Name

alias of dnsName

univention.admin.syntax.dnsZone

alias of dnsName

class univention.admin.syntax.dnsHostname[source]

Bases: univention.admin.syntax.dnsName

RFC 1123: a ‘.’ separated FQHN

A host name (label) can start or end with a letter or a number

>>> dnsHostname.parse('a')
'a'
>>> dnsHostname.parse('A.')
'A.'
>>> dnsName.parse('0123456789-ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz')
'0123456789-ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
>>> dnsName.parse('0.example.com')
'0.example.com'

A host name (label) MUST NOT consist of all numeric values

>>> dnsHostname.parse('0')
Traceback (most recent call last):
...
valueError: Full name must not be all numeric!

A host name (label) MUST NOT start or end with a ‘-‘ (dash)

>>> dnsHostname.parse('-')
Traceback (most recent call last):
...
valueError: A host name or FQDN must start and end with a letter or number. In between additionally dashes, dots and underscores are allowed.
LABEL = <_sre.SRE_Pattern object>
NUMERIC = <_sre.SRE_Pattern object>
classmethod parse(text)[source]
class univention.admin.syntax.dnsName_umlauts[source]

Bases: univention.admin.syntax.simple

>>> dnsName_umlauts.parse(u'ä')
u'\xe4'
>>> dnsName_umlauts.parse('a_0-A')
'a_0-A'
>>> dnsName_umlauts.parse('0')
Traceback (most recent call last):
...
valueError: A host name or FQDN must start and end with a letter or number. In between additionally dashes, dots and underscores are allowed.
>>> dnsName_umlauts.parse('-')
Traceback (most recent call last):
...
valueError: A host name or FQDN must start and end with a letter or number. In between additionally dashes, dots and underscores are allowed.
>>> dnsName_umlauts.parse('_')
Traceback (most recent call last):
...
valueError: A host name or FQDN must start and end with a letter or number. In between additionally dashes, dots and underscores are allowed.
min_length = 1
max_length = 63
regex = <_sre.SRE_Pattern object>
error_message = 'A host name or FQDN must start and end with a letter or number. In between additionally dashes, dots and underscores are allowed.'
class univention.admin.syntax.keyAndValue[source]

Bases: univention.admin.syntax.complex

Syntax for key-value-pairs separated by =.

>>> keyAndValue.parse(('key', 'value'))
['key', 'value']
delimiter = ' = '
subsyntaxes = [('Key', <class 'univention.admin.syntax.string'>), ('Value', <class 'univention.admin.syntax.string'>)]
subsyntax_key_value = True
all_required = 1
class univention.admin.syntax.dnsMX[source]

Bases: univention.admin.syntax.complex

Syntax for DNS mail exchange record.

>>> dnsMX.parse(('10', 'mail.my.domain'))
['10', 'mail.my.domain']
subsyntaxes = [('Priority', <class 'univention.admin.syntax.integer'>), ('Mail server', <class 'univention.admin.syntax.dnsHostname'>)]
subsyntax_names = ('priority', 'mailserver')
all_required = True
class univention.admin.syntax.dnsSRVName[source]

Bases: univention.admin.syntax.complex

Syntax for the name of a DNS service record.

>>> dnsSRVName.parse(('ldap', 'tcp'))
['ldap', 'tcp']
>>> dnsSRVName.parse(('ldap', 'tcp'))
['ldap', 'tcp']

See also

min_elements = 2
all_required = False
subsyntaxes = (('Service', <class 'univention.admin.syntax.string'>), ('Protocol', <class 'univention.admin.syntax.ipProtocolSRV'>), ('Extension', <class 'univention.admin.syntax.string'>))
subsyntax_names = ('service', 'protocol', 'extension')
size = ('Half', 'Half', 'One')
class univention.admin.syntax.dnsPTR[source]

Bases: univention.admin.syntax.simple

DNS pointer record.

>>> dnsPTR.parse('1')
'1'
>>> dnsPTR.parse('1.2.3')
'1.2.3'
>>> dnsPTR.parse('f')
'f'
>>> dnsPTR.parse('1.2.3.4.5.6.7.8.9.a.b.c.d.e.f.0.1.2.3.4.5.6.7.8.9.a.b.c.d.e.f')
'1.2.3.4.5.6.7.8.9.a.b.c.d.e.f.0.1.2.3.4.5.6.7.8.9.a.b.c.d.e.f'
regexp = <_sre.SRE_Pattern object>
error_message = 'The reversed host name for IPv4 consists of the reversed host address (example: "4.3") or for IPv6 in nibble format (example: "8.0.0.0.7.0.0.0.0.6.0.0.0.0.5.0").'
class univention.admin.syntax.postalAddress[source]

Bases: univention.admin.syntax.complex

Syntax for a postal address consisting of street, postal code and city name.

>>> postalAddress.parse(('street', 'zip', 'city'))
['street', 'zip', 'city']
delimiter = ', '
subsyntaxes = [('Street', <class 'univention.admin.syntax.string'>), ('Postal code', <class 'univention.admin.syntax.OneThirdString'>), ('City', <class 'univention.admin.syntax.TwoThirdsString'>)]
subsyntax_names = ('street', 'zipcode', 'city')
all_required = True
class univention.admin.syntax.dnsSRVLocation[source]

Bases: univention.admin.syntax.complex

Syntax for DNS service record.

>>> dnsSRVLocation.parse(('10', '100', '389', 'server.my.domain'))
['10', '100', '389', 'server.my.domain']
subsyntaxes = [('Priority', <class 'univention.admin.syntax.integer'>), ('Weighting', <class 'univention.admin.syntax.integer'>), ('Port', <class 'univention.admin.syntax.integer'>), ('Server', <class 'univention.admin.syntax.dnsHostname'>)]
subsyntax_names = ('priority', 'weigtht', 'port', 'server')
size = ('OneThird', 'OneThird', 'OneThird', 'One')
all_required = True
class univention.admin.syntax.unixTime[source]

Bases: univention.admin.syntax.simple

Syntax for a UNIX time stamp - seconds since 1970-01-01.

regex = <_sre.SRE_Pattern object>
error_message = 'Not a valid time format'
type_class

alias of DateTimeType

class univention.admin.syntax.TimeUnits[source]

Bases: univention.admin.syntax.select

Syntax to select a time unit.

size = 'Half'
choices = (('seconds', 'seconds'), ('minutes', 'minutes'), ('hours', 'hours'), ('days', 'days'))
class univention.admin.syntax.TimeString[source]

Bases: univention.admin.syntax.simple

Syntax for the time of day, e.g. hour, minute and optional seconds.

>>> TimeString.parse('00:00')
'00:00'
>>> TimeString.parse('23:59:59')
'23:59:59'
error_message = 'Not a valid time format'
regex = <_sre.SRE_Pattern object>
type_class

alias of TimeType

class univention.admin.syntax.UNIX_TimeInterval[source]

Bases: univention.admin.syntax.complex

Syntax for a time interval.

>>> UNIX_TimeInterval.parse(('1',))
['1']
>>> UNIX_TimeInterval.parse(('2', 'seconds'))
['2', 'seconds']
>>> UNIX_TimeInterval.parse(('3', 'minutes'))
['3', 'minutes']
>>> UNIX_TimeInterval.parse(('4', 'hours'))
['4', 'hours']
>>> UNIX_TimeInterval.parse(('5', 'days'))
['5', 'days']
min_elements = 1
subsyntaxes = (('', <class 'univention.admin.syntax.integerOrEmpty'>), ('', <class 'univention.admin.syntax.TimeUnits'>))
subsyntax_names = ('amount', 'unit')
size = ('Half', 'Half')
type_class

alias of UnixTimeinterval

classmethod parse(texts)[source]
classmethod from_integer(value)[source]
classmethod to_integer(value)[source]
class univention.admin.syntax.UNIX_BoundedTimeInterval[source]

Bases: univention.admin.syntax.UNIX_TimeInterval

Syntax for a time interval with additional constraints.

lower_bound = -1
upper_bound = -1
error_message = 'Value out of bounds (%d - %d seconds)'
classmethod parse(texts)[source]
class univention.admin.syntax.SambaMinPwdAge[source]

Bases: univention.admin.syntax.UNIX_BoundedTimeInterval

Syntax for the minimum password age in Samba: 0..998 days

lower_bound = 0
upper_bound = 86227200
class univention.admin.syntax.SambaMaxPwdAge[source]

Bases: univention.admin.syntax.UNIX_BoundedTimeInterval

Syntax for the maximum password age in Samba: 0..999 days

lower_bound = 0
upper_bound = 86313600
class univention.admin.syntax.NetworkType[source]

Bases: univention.admin.syntax.select

Syntax to select network technology type.

choices = (('ethernet', 'Ethernet'), ('fddi', 'FDDI'), ('token-ring', 'Token-Ring'))
class univention.admin.syntax.MAC_Address[source]

Bases: univention.admin.syntax.simple

Syntax to enter MAC address. The address is stored with octets separated by :.

>>> MAC_Address.parse('86:f5:d1:f5:6b:3e')
'86:f5:d1:f5:6b:3e'
>>> MAC_Address.parse('86-f5-d1-f5-6b-3e')
'86:f5:d1:f5:6b:3e'
>>> MAC_Address.parse('86f5d1f56b3e')
'86:f5:d1:f5:6b:3e'
>>> MAC_Address.parse('86f5.d1f5.6b3e')
'86:f5:d1:f5:6b:3e'
regexLinuxFormat = <_sre.SRE_Pattern object>
regexWindowsFormat = <_sre.SRE_Pattern object>
regexRawFormat = <_sre.SRE_Pattern object>
regexCiscoFormat = <_sre.SRE_Pattern object>
error_message = 'This is not a valid MAC address (valid examples are 86:f5:d1:f5:6b:3e, 86-f5-d1-f5-6b-3e, 86f5d1f56b3e, 86f5.d1f5.6b3e)'
classmethod parse(text)[source]
class univention.admin.syntax.DHCP_HardwareAddress[source]

Bases: univention.admin.syntax.complex

Syntax to enter DHCP hardware address consisting of network technology type and MAC address.

subsyntaxes = (('Type', <class 'univention.admin.syntax.NetworkType'>), ('Address', <class 'univention.admin.syntax.MAC_Address'>))
subsyntax_names = ('type', 'address')
size = ('One', 'One')
all_required = True
class univention.admin.syntax.Packages[source]

Bases: univention.admin.syntax.UDM_Attribute

Syntax to select a Debian package name from lists stored in LDAP using univention.admin.handlers.settings.packages.

udm_module = 'settings/packages'
attribute = 'packageList'
label_format = '%(name)s: %($attribute$)s'
class univention.admin.syntax.PackagesRemove[source]

Bases: univention.admin.syntax.Packages

Syntax to select a Debian package name from lists stored in LDAP using univention.admin.handlers.settings.packages. This blacklists some important packages to prevent their removal.

classmethod parse(text)[source]
class univention.admin.syntax.userAttributeList[source]

Bases: univention.admin.syntax.string

Syntax to enter a users attribute.

Note

unused

classmethod parse(text)[source]
class univention.admin.syntax.ldapDn[source]

Bases: univention.admin.syntax.simple

LDAP distinguished name.

>>> ldapDn.parse('dc=foo,dc=bar,dc=test')
'dc=foo,dc=bar,dc=test'

Deprecated since version 3.1-0: Use UDM_Objects.

regex = <_sre.SRE_Pattern object>
error_message = 'Not a valid LDAP DN'
type_class

alias of DistinguishedNameType

class univention.admin.syntax.UMC_OperationSet[source]

Bases: univention.admin.syntax.UDM_Objects

Syntax to select a UMC operation set from lists stored in LDAP using univention.admin.handlers.settings.umc_operationset.

udm_modules = ('settings/umc_operationset',)
label = '%(description)s (%(name)s)'
simple = True
class univention.admin.syntax.UMC_CommandPattern[source]

Bases: univention.admin.syntax.complex

Syntax to enter a UMC command pattern.

subsyntaxes = (('Command pattern', <class 'univention.admin.syntax.string'>), ('Option Pattern', <class 'univention.admin.syntax.string'>))
subsyntax_names = ('command', 'option')
min_elements = 1
all_required = False
size = ('One', 'One')
class univention.admin.syntax.LDAP_Server[source]

Bases: univention.admin.syntax.UDM_Objects

Syntax to select a LDAP server.

udm_modules = ('computers/domaincontroller_master', 'computers/domaincontroller_backup', 'computers/domaincontroller_slave')
udm_filter = '!(univentionObjectFlag=docker)'
label = '%(fqdn)s'
simple = True
class univention.admin.syntax.IMAP_POP3[source]

Bases: univention.admin.syntax.select

Syntax to select between IMAP and POP3.

choices = (('IMAP', 'IMAP'), ('POP3', 'POP3'))
class univention.admin.syntax.IMAP_Right[source]

Bases: univention.admin.syntax.select

Syntax to select an IMAP access control permission.

choices = (('none', 'No access'), ('read', 'Read'), ('post', 'Post'), ('append', 'Append'), ('write', 'Write'), ('all', 'All'))
class univention.admin.syntax.UserMailAddress[source]

Bases: univention.admin.syntax.UDM_Objects

Syntax to select a primary e-mail address of an user name from LDAP.

udm_modules = ('users/user',)
udm_filter = '(mailPrimaryAddress=*)'
key = '%(mailPrimaryAddress)s'
static_values = (('anyone', 'Anyone'),)
regex = <_sre.SRE_Pattern object>
error_message = 'Not a valid e-mail address'
class univention.admin.syntax.GroupName[source]

Bases: univention.admin.syntax.UDM_Objects

Syntax to select a group name from LDAP.

udm_modules = ('groups/group',)
key = '%(name)s'
regex = <_sre.SRE_Pattern object>
simple = True
use_objects = False
class univention.admin.syntax.UserName[source]

Bases: univention.admin.syntax.UDM_Objects

Syntax to select an user name from LDAP.

udm_modules = ('users/user',)
key = '%(username)s'
regex = <_sre.SRE_Pattern object>
simple = True
use_objects = False
class univention.admin.syntax.SharedFolderUserACL[source]

Bases: univention.admin.syntax.complex

Syntax to assign an IMAP access control permission for an user from LDAP.

subsyntaxes = (('User', <class 'univention.admin.syntax.UserMailAddress'>), ('Access right', <class 'univention.admin.syntax.IMAP_Right'>))
subsyntax_key_value = True
class univention.admin.syntax.SharedFolderGroupACL[source]

Bases: univention.admin.syntax.complex

Syntax to assign an IMAP access control permission for a group from LDAP.

subsyntaxes = (('Group', <class 'univention.admin.syntax.GroupName'>), ('Access right', <class 'univention.admin.syntax.IMAP_Right'>))
subsyntax_key_value = True
class univention.admin.syntax.SharedFolderSimpleUserACL[source]

Bases: univention.admin.syntax.complex

Syntax to assign an IMAP access control permission for any user.

subsyntaxes = (('User', <class 'univention.admin.syntax.string'>), ('Access right', <class 'univention.admin.syntax.IMAP_Right'>))
subsyntax_key_value = True
class univention.admin.syntax.SharedFolderSimpleGroupACL[source]

Bases: univention.admin.syntax.complex

Syntax to assign an IMAP access control permission for any group.

subsyntaxes = (('Group', <class 'univention.admin.syntax.string'>), ('Access right', <class 'univention.admin.syntax.IMAP_Right'>))
subsyntax_key_value = True
class univention.admin.syntax.ldapDnOrNone[source]

Bases: univention.admin.syntax.simple

LDAP distinguished name or None.

>>> ldapDnOrNone.parse('dc=foo,dc=bar,dc=test')
'dc=foo,dc=bar,dc=test'
>>> ldapDnOrNone.parse('None')
'None'

Deprecated since version 3.1-0: Use UDM_Objects.

_re = <_sre.SRE_Pattern object>
classmethod parse(text)[source]
class univention.admin.syntax.ldapObjectClass[source]

Bases: univention.admin.syntax.simple

Syntax to enter a LDAP objectClass name.

classmethod parse(text)[source]
class univention.admin.syntax.ldapAttribute[source]

Bases: univention.admin.syntax.simple

Syntax to enter a LDAP attribute name.

classmethod parse(text)[source]
class univention.admin.syntax.ldapFilter[source]

Bases: univention.admin.syntax.simple

Syntax to enter a LDAP search filter.

type_class

alias of LDAPFilterType

classmethod parse(text)[source]
class univention.admin.syntax.XResolution[source]

Bases: univention.admin.syntax.simple

Syntax to enter display resolution for X11.

regex = <_sre.SRE_Pattern object>
error_message = 'Value consists of two integer numbers separated by an "x" (e.g. "1024x768")'
class univention.admin.syntax.XSync[source]

Bases: univention.admin.syntax.simple

Syntax to enter display timing settings for X11.

regex = <_sre.SRE_Pattern object>
error_message = 'Value consists of two integer numbers separated by a "-" (e.g. "30-70")'
class univention.admin.syntax.XColorDepth[source]

Bases: univention.admin.syntax.simple

Syntax to enter color depth for X11.

regex = <_sre.SRE_Pattern object>
class univention.admin.syntax.XModule[source]

Bases: univention.admin.syntax.select

Syntax to select graphics driver for X11.

choices = [('', ''), ('apm', 'apm'), ('ark', 'Ark'), ('ati', 'ATI'), ('chips', 'chips'), ('cirrus', 'Cirrus'), ('cyrix', 'Cyrix'), ('dummy', 'dummy'), ('fbdev', 'fbdev'), ('fglrx', 'fglrx (AMD/ATI closed source)'), ('geode', 'Geode GX2/LX'), ('glide', 'glide'), ('glint', 'glint'), ('i128', 'I128'), ('i740', 'I740'), ('i810', 'I810'), ('imstt', 'IMSTT'), ('intel', 'Intel'), ('mach64', 'Mach64 (ATI)'), ('mga', 'MGA'), ('neomagic', 'Neomagic'), ('newport', 'Newport'), ('nouveau', 'nouveau - new Nvidia OSS driver'), ('nsc', 'NSC'), ('nv', 'NV'), ('nvidia', 'NVidia (closed source)'), ('openchrome', 'OpenChrome (VIA)'), ('r128', 'ATI Rage'), ('radeonhd', 'Radeon (AMD/ATI)'), ('rendition', 'Rendition'), ('s3', 'S3'), ('s3virge', 'S3 Virge'), ('savage', 'S3 Savage'), ('siliconmotion', 'Siliconmotion'), ('sis', 'SiS'), ('sisusb', 'SiS USB'), ('tdfx', 'tdfx'), ('tga', 'Tga'), ('trident', 'Trident'), ('tseng', 'Tseng'), ('vesa', 'Vesa'), ('vga', 'VGA'), ('via', 'VIA'), ('vmware', 'VMWare')]
class univention.admin.syntax.XMouseProtocol[source]

Bases: univention.admin.syntax.select

Syntax to select mouse protocol for X11.

choices = [('', ''), ('Auto', 'Auto'), ('IMPS/2', 'IMPS/2'), ('PS/2', 'PS/2'), ('ExplorerPS/2', 'ExplorerPS/2'), ('usb', 'USB'), ('ThinkingMouse', 'ThinkingMouse'), ('ThinkingMousePS/2', 'ThinkingMousePS/2'), ('NetScrollPS/2', 'NetScrollPS/2'), ('IntelliMouse', 'IntelliMouse'), ('NetMousePS/2', 'NetMousePS/2'), ('GlidePoint', 'GlidePoint'), ('GlidePointPS/2', 'GlidePointPS/2'), ('MouseManPlusPS/2', 'MouseManPlusPS/2'), ('ms', 'Serial')]
class univention.admin.syntax.XDisplayPosition[source]

Bases: univention.admin.syntax.select

Syntax to select display position for X11.

choices = [('', ''), ('left', 'Left of primary display'), ('right', 'Right of primary display'), ('above', 'Above primary display'), ('below', 'Below primary display')]
class univention.admin.syntax.XMouseDevice[source]

Bases: univention.admin.syntax.select

Syntax to select mouse device for X11.

choices = [('', ''), ('/dev/psaux', 'PS/2'), ('/dev/input/mice', 'USB'), ('/dev/ttyS0', 'Serial')]
class univention.admin.syntax.XKeyboardLayout[source]

Bases: univention.admin.syntax.select

Syntax to select keyboard layout for X11.

choices = [('', ''), ('ad', 'Andorra'), ('af', 'Afghanistan'), ('al', 'Albania'), ('am', 'Armenia'), ('ara', 'Arabic'), ('az', 'Azerbaijan'), ('ba', 'Bosnia and Herzegovina'), ('bd', 'Bangladesh'), ('be', 'Belgium'), ('bg', 'Bulgaria'), ('brai', 'Braille'), ('br', 'Brazil'), ('bt', 'Bhutan'), ('by', 'Belarus'), ('ca', 'Canada'), ('cd', 'Congo, Democratic Republic of the'), ('ch', 'Switzerland'), ('cn', 'China'), ('cz', 'Czechia'), ('de', 'Germany'), ('dk', 'Denmark'), ('ee', 'Estonia'), ('epo', 'Esperanto'), ('es', 'Spain'), ('et', 'Ethiopia'), ('fi', 'Finland'), ('fo', 'Faroe Islands'), ('fr', 'France'), ('gb', 'United Kingdom'), ('ge', 'Georgia'), ('gh', 'Ghana'), ('gn', 'Guinea'), ('gr', 'Greece'), ('hr', 'Croatia'), ('hu', 'Hungary'), ('ie', 'Ireland'), ('il', 'Israel'), ('in', 'India'), ('iq', 'Iraq'), ('ir', 'Iran'), ('is', 'Iceland'), ('it', 'Italy'), ('jp', 'Japan'), ('kg', 'Kyrgyzstan'), ('kh', 'Cambodia'), ('kr', 'Korea, Republic of'), ('kz', 'Kazakhstan'), ('la', 'Laos'), ('latam', 'Latin American'), ('lk', 'Sri Lanka'), ('lt', 'Lithuania'), ('lv', 'Latvia'), ('ma', 'Morocco'), ('mao', 'Maori'), ('me', 'Montenegro'), ('mk', 'Macedonia'), ('mm', 'Myanmar'), ('mn', 'Mongolia'), ('mt', 'Malta'), ('mv', 'Maldives'), ('nec_vndr/jp', 'Japan (PC-98xx Series)'), ('ng', 'Nigeria'), ('nl', 'Netherlands'), ('no', 'Norway'), ('np', 'Nepal'), ('pk', 'Pakistan'), ('pl', 'Poland'), ('pt', 'Portugal'), ('ro', 'Romania'), ('rs', 'Serbia'), ('ru', 'Russia'), ('se', 'Sweden'), ('si', 'Slovenia'), ('sk', 'Slovakia'), ('sn', 'Senegal'), ('sy', 'Syria'), ('th', 'Thailand'), ('tj', 'Tajikistan'), ('tm', 'Turkmenistan'), ('tr', 'Turkey'), ('ua', 'Ukraine'), ('us', 'USA'), ('uz', 'Uzbekistan'), ('vn', 'Vietnam'), ('za', 'South Africa')]
class univention.admin.syntax.soundModule[source]

Bases: univention.admin.syntax.select

Syntax to select ALSA audio device driver.

choices = [('', ''), ('auto', 'auto detect'), ('snd-ad1816a', 'AD1816A, AD1815'), ('snd-adlib', 'AdLib FM'), ('snd-ak4114', 'AK4114 IEC958 (S/PDIF) receiver by Asahi Kasei'), ('snd-ak4117', 'AK4117 IEC958 (S/PDIF) receiver by Asahi Kasei'), ('snd-ali5451', 'ALI M5451'), ('snd-opl3-synth', 'ALSA driver for OPL3 FM synth'), ('snd-sb16-csp', 'ALSA driver for SB16 Creative Signal Processor'), ('snd-sb-common', 'ALSA lowlevel driver for Sound Blaster cards'), ('snd-interwave', 'AMD InterWave'), ('snd-interwave-stb', 'AMD InterWave STB with TEA6330T'), ('snd-ad1889', 'Analog Devices AD1889 ALSA sound driver'), ('snd-atiixp', 'ATI IXP AC97 controller'), ('snd-atiixp-modem', 'ATI IXP MC97 controller'), ('aedsp16', 'Audio Excel DSP 16 Driver Version 1.3'), ('snd-au8810', 'Aureal vortex 8810'), ('snd-au8820', 'Aureal vortex 8820'), ('snd-au8830', 'Aureal vortex 8830'), ('snd-als100', 'Avance Logic ALS1X0'), ('snd-als300', 'Avance Logic ALS300'), ('snd-als4000', 'Avance Logic ALS4000'), ('snd-azt3328', 'Aztech AZF3328 (PCI168)'), ('snd-sgalaxy', 'Aztech Sound Galaxy'), ('snd-azt2320', 'Aztech Systems AZT2320'), ('snd-bt87x', 'Brooktree Bt87x audio driver'), ('snd-ca0106', 'CA0106'), ('snd-cs4232', 'Cirrus Logic CS4232'), ('snd-cs4236', 'Cirrus Logic CS4235-9'), ('snd-cs4281', 'Cirrus Logic CS4281'), ('snd-cmi8330', 'C-Media CMI8330'), ('snd-cmipci', 'C-Media CMI8x38 PCI'), ('snd-vx-lib', 'Common routines for Digigram VX drivers'), ('snd-cs5535audio', 'CS5535 Audio'), ('snd-dt019x', 'Diamond Technologies DT-019X / Avance Logic ALS-007'), ('snd-mixart', 'Digigram miXart'), ('snd-pcxhr', 'Digigram pcxhr 0.8.4'), ('snd-vx222', 'Digigram VX222 V2/Mic'), ('snd-vxpocket', 'Digigram VXPocket'), ('snd-dummy', 'Dummy soundcard (/dev/null)'), ('snd-virmidi', 'Dummy soundcard for virtual rawmidi devices'), ('snd-darla20', 'Echoaudio Darla20 soundcards driver'), ('snd-darla24', 'Echoaudio Darla24 soundcards driver'), ('snd-echo3g', 'Echoaudio Echo3G soundcards driver'), ('snd-gina20', 'Echoaudio Gina20 soundcards driver'), ('snd-gina24', 'Echoaudio Gina24 soundcards driver'), ('snd-indigodj', 'Echoaudio Indigo DJ soundcards driver'), ('snd-indigoio', 'Echoaudio Indigo IO soundcards driver'), ('snd-indigo', 'Echoaudio Indigo soundcards driver'), ('snd-layla20', 'Echoaudio Layla20 soundcards driver'), ('snd-layla24', 'Echoaudio Layla24 soundcards driver'), ('snd-mia', 'Echoaudio Mia soundcards driver'), ('snd-mona', 'Echoaudio Mona soundcards driver'), ('snd-emu10k1', 'EMU10K1'), ('snd-emu10k1x', 'EMU10K1X'), ('snd-emu8000-synth', 'Emu8000 synth plug-in routine'), ('snd-ens1370', 'Ensoniq AudioPCI ES1370'), ('snd-ens1371', 'Ensoniq/Creative AudioPCI ES1371+'), ('snd-sscape', 'ENSONIQ SoundScape PnP driver'), ('snd-es968', 'ESS AudioDrive ES968'), ('snd-es18xx', 'ESS ES18xx AudioDrive'), ('snd-es1688-lib', 'ESS ESx688 lowlevel module'), ('snd-es1968', 'ESS Maestro'), ('snd-maestro3', 'ESS Maestro3 PCI'), ('snd-es1938', 'ESS Solo-1'), ('snd-fm801', 'ForteMedia FM801'), ('snd-ad1848', 'Generic AD1848/AD1847/CS4248'), ('snd-cs4231', 'Generic CS4231'), ('snd-es1688', 'Generic ESS ES1688/ES688 AudioDrive'), ('snd-i2c', 'Generic i2c interface for ALSA'), ('snd-util-mem', 'Generic memory management routines for soundcard memory allocation'), ('snd-gusclassic', 'Gravis UltraSound Classic'), ('snd-gusextreme', 'Gravis UltraSound Extreme'), ('snd-gusmax', 'Gravis UltraSound MAX'), ('snd-ice1712', 'ICEnsemble ICE1712 (Envy24)'), ('snd-ice17xx-ak4xxx', 'ICEnsemble ICE17xx <-> AK4xxx AD/DA chip interface'), ('snd-cs8427', 'IEC958 (S/PDIF) receiver & transmitter by Cirrus Logic'), ('snd-intel8x0', 'Intel 82801AA,82901AB,i810,i820,i830,i840,i845,MX440; SiS 7012; Ali 5455'), ('snd-intel8x0m', 'Intel 82801AA,82901AB,i810,i820,i830,i840,i845,MX440; SiS 7013; NVidia MCP/2/2S/3 modems'), ('snd-hda-intel', 'Intel HDA driver'), ('kahlua', 'Kahlua VSA1 PCI Audio'), ('snd-korg1212', 'korg1212'), ('snd-serial-u16550', 'MIDI serial u16550'), ('snd-miro', 'Miro miroSOUND PCM1 pro, PCM12, PCM20 Radio'), ('pss', 'Module for PSS sound cards (based on AD1848, ADSP-2115 and ESC614).'), ('snd-mtpav', 'MOTU MidiTimePiece AV multiport MIDI'), ('snd-mpu401', 'MPU-401 UART'), ('snd-nm256', 'NeoMagic NM256AV/ZX'), ('snd-opl4-lib', 'OPL4 driver'), ('snd-opl4-synth', 'OPL4 wavetable synth driver'), ('snd-opti92x-ad1848', 'OPTi92X - AD1848'), ('snd-opti92x-cs4231', 'OPTi92X - CS4231'), ('snd-opti93x', 'OPTi93X'), ('sb', 'OSS Soundblaster ISA PnP and legacy sound driver'), ('snd-riptide', 'riptide'), ('snd-rme32', 'RME Digi32, Digi32/8, Digi32 PRO'), ('snd-rme9652', 'RME Digi9652/Digi9636'), ('snd-rme96', 'RME Digi96, Digi96/8, Digi96/8 PRO, Digi96/8 PST, Digi96/8 PAD'), ('snd-hdsp', 'RME Hammerfall DSP'), ('snd-hdspm', 'RME HDSPM'), ('snd-sb16-dsp', 'Routines for control of 16-bit SoundBlaster cards and clones'), ('snd-sb8-dsp', 'Routines for control of 8-bit SoundBlaster cards and clones'), ('snd-ad1848-lib', 'Routines for control of AD1848/AD1847/CS4248'), ('snd-opl3-lib', 'Routines for control of AdLib FM cards (OPL2/OPL3/OPL4 chips)'), ('snd-ak4xxx-adda', 'Routines for control of AK452x / AK43xx AD/DA converters'), ('snd-cs4231-lib', 'Routines for control of CS4231(A)/CS4232/InterWave & compatible chips'), ('snd-cs4236-lib', 'Routines for control of CS4235/4236B/4237B/4238B/4239 chips'), ('snd-emu10k1-synth', 'Routines for control of EMU10K1 WaveTable synth'), ('snd-emux-synth', 'Routines for control of EMU WaveTable chip'), ('snd-mpu401-uart', 'Routines for control of MPU-401 in UART mode'), ('snd-tea575x-tuner', 'Routines for control of TEA5757/5759 Philips AM/FM radio tuner chips'), ('snd-tea6330t', 'Routines for control of the TEA6330T circuit via i2c bus'), ('snd-gus-lib', 'Routines for Gravis UltraSound soundcards'), ('snd-sonicvibes', 'S3 SonicVibes PCI'), ('snd-sb8', 'Sound Blaster 1.0/2.0/Pro'), ('snd-sb16', 'Sound Blaster 16'), ('snd-sbawe', 'Sound Blaster AWE'), ('snd-pdaudiocf', 'Sound Core PDAudio-CF'), ('snd-usb-usx2y', 'TASCAM US-X2Y Version 0.8.7.2'), ('snd-trident', 'Trident 4D-WaveDX/NX & SiS SI7018'), ('trident', 'Trident 4DWave/SiS 7018/ALi 5451 and Tvia/IGST CyberPro5050 PCI Audio Driver'), ('snd-wavefront', 'Turtle Beach Wavefront'), ('snd-ac97-codec', "Universal interface for Audio Codec '97"), ('snd-ak4531-codec', 'Universal routines for AK4531 codec'), ('snd-usb-audio', 'USB Audio'), ('snd-usb-lib', 'USB Audio/MIDI helper module'), ('snd-ice1724', 'VIA ICEnsemble ICE1724/1720 (Envy24HT/PT)'), ('snd-via82xx', 'VIA VT82xx audio'), ('snd-via82xx-modem', 'VIA VT82xx modem'), ('snd-ymfpci', 'Yamaha DS-1 PCI'), ('snd-opl3sa2', 'Yamaha OPL3SA2+')]
class univention.admin.syntax.GroupDN[source]

Bases: univention.admin.syntax.UDM_Objects

Syntax to select a group from LDAP by DN.

udm_modules = ('groups/group',)
use_objects = False
class univention.admin.syntax.GroupDNOrEmpty[source]

Bases: univention.admin.syntax.GroupDN

Syntax to select a group from LDAP by DN or none.

See also

empty_value = True
class univention.admin.syntax.UserDN[source]

Bases: univention.admin.syntax.UDM_Objects

Syntax to select an user from LDAP by DN.

See also

udm_modules = ('users/user',)
use_objects = False
class univention.admin.syntax.HostDN[source]

Bases: univention.admin.syntax.UDM_Objects

Syntax to select a host from LDAP by DN.

See also

udm_modules = ('computers/computer',)
udm_filter = '!(univentionObjectFlag=docker)'
class univention.admin.syntax.UserID[source]

Bases: univention.admin.syntax.UDM_Objects

Syntax to select an user from LDAP by numeric user identifier.

See also

udm_modules = ('users/user',)
key = '%(uidNumber)s'
label = '%(username)s'
regex = <_sre.SRE_Pattern object>
static_values = (('0', 'root'),)
use_objects = False
type_class

alias of IntegerType

classmethod parse(text)[source]
class univention.admin.syntax.GroupID[source]

Bases: univention.admin.syntax.UDM_Objects

Syntax to select a group from LDAP by numeric user identifier.

udm_modules = ('groups/group',)
key = '%(gidNumber)s'
label = '%(name)s'
regex = <_sre.SRE_Pattern object>
static_values = (('0', 'root'),)
use_objects = False
type_class

alias of IntegerType

classmethod parse(text)[source]
class univention.admin.syntax.PortalComputer[source]

Bases: univention.admin.syntax.UDM_Objects

Syntax to select a UCS host from LDAP by FQDN running the portal service.

udm_modules = ('computers/domaincontroller_master', 'computers/domaincontroller_backup', 'computers/domaincontroller_slave', 'computers/memberserver')
udm_filter = '!(univentionObjectFlag=docker)'
use_objects = False
class univention.admin.syntax.IComputer_FQDN[source]

Bases: univention.admin.syntax.UDM_Objects

Syntax to select a host from LDAP by FQDN.

See also

udm_modules = ()
key = '%(name)s.%(domain)s'
label = '%(name)s.%(domain)s'
regex = <_sre.SRE_Pattern object>
error_message = 'Not a valid FQDN'
udm_filter = '!(univentionObjectFlag=docker)'
simple = True
class univention.admin.syntax.DomainController[source]

Bases: univention.admin.syntax.IComputer_FQDN

Syntax to select a UCS domain controller from LDAP by FQDN.

udm_modules = ('computers/domaincontroller_master', 'computers/domaincontroller_backup', 'computers/domaincontroller_slave')
use_objects = False
class univention.admin.syntax.Windows_Server[source]

Bases: univention.admin.syntax.IComputer_FQDN

Syntax to select a Windows server from LDAP by FQDN.

udm_modules = ('computers/windows', 'computers/windows_domaincontroller')
class univention.admin.syntax.UCS_Server[source]

Bases: univention.admin.syntax.IComputer_FQDN

Syntax to select a UCS host from LDAP by FQDN.

udm_modules = ('computers/domaincontroller_master', 'computers/domaincontroller_backup', 'computers/domaincontroller_slave', 'computers/memberserver')
use_objects = False
class univention.admin.syntax.ServicePrint_FQDN[source]

Bases: univention.admin.syntax.IComputer_FQDN

Syntax to select a UCS host from LDAP by FQDN offering print services.

See also

udm_modules = ('computers/domaincontroller_master', 'computers/domaincontroller_backup', 'computers/domaincontroller_slave', 'computers/memberserver')
udm_filter = '(&(!(univentionObjectFlag=docker))(service=Print))'
class univention.admin.syntax.MailHomeServer[source]

Bases: univention.admin.syntax.IComputer_FQDN

Syntax to select a UCS host from LDAP by FQDN offering IMAP services.

See also

udm_modules = ('computers/computer',)
udm_filter = '(&(!(univentionObjectFlag=docker))(objectClass=univentionHost)(service=IMAP))'
empty_value = True
class univention.admin.syntax.KDE_Profile[source]

Bases: univention.admin.syntax.UDM_Attribute

Syntax to select a KDE profile from lists stored in LDAP using univention.admin.handlers.settings.default.

udm_module = 'settings/default'
attribute = 'defaultKdeProfiles'
class univention.admin.syntax.primaryGroup[source]

Bases: univention.admin.syntax.ldapDn

Syntax to select a group from LDAP.

Deprecated since version 3.1-0: Use GroupDN.

searchFilter = 'objectClass=posixGroup'
description = 'Primary Group'
class univention.admin.syntax.primaryGroup2[source]

Bases: univention.admin.syntax.ldapDn

Syntax to select a group from LDAP.

Deprecated since version 3.1-0: Use GroupDN.

searchFilter = 'objectClass=posixGroup'
description = 'Primary Group'
class univention.admin.syntax.network[source]

Bases: univention.admin.syntax.UDM_Objects

Syntax to select a network declaration from LDAP using univention.admin.handlers.networks.network.

udm_modules = ('networks/network',)
description = 'Network'
label = '%(name)s'
empty_value = True
class univention.admin.syntax.IP_AddressList[source]

Bases: univention.admin.syntax.ipAddress, univention.admin.syntax.select

Syntax to select an IP address from the lists of addresses stored with the machine account.

choices = ()
depends = 'ip'
class univention.admin.syntax.IP_AddressListEmpty[source]

Bases: univention.admin.syntax.IP_AddressList

Syntax to select no or an IP address from the lists of addresses stored with the machine account.

choices = [('', 'From known-hosts pool')]
empty_value = True
classmethod parse(text)[source]
class univention.admin.syntax.MAC_AddressList[source]

Bases: univention.admin.syntax.MAC_Address, univention.admin.syntax.select

Syntax to select a MAC address from the lists of addresses stored with the machine account.

choices = ()
depends = 'mac'
class univention.admin.syntax.DNS_ForwardZone[source]

Bases: univention.admin.syntax.UDM_Objects

Syntax to select no or one DNS forward zone from LDAP using univention.admin.handlers.dns.forward_zone.

description = 'DNS forward zone'
udm_modules = ('dns/forward_zone',)
empty_value = True
use_objects = False
class univention.admin.syntax.DNS_ReverseZone[source]

Bases: univention.admin.syntax.UDM_Objects

Syntax to select no or one DNS reverse zone from LDAP using univention.admin.handlers.dns.reverse_zone.

description = 'DNS reverse zone'
udm_modules = ('dns/reverse_zone',)
label = '%(subnet)s'
empty_value = True
use_objects = False
class univention.admin.syntax.DNS_ReverseZoneNonempty[source]

Bases: univention.admin.syntax.DNS_ReverseZone

Syntax to select one DNS reverse zone from LDAP using univention.admin.handlers.dns.reverse_zone.

empty_value = False
class univention.admin.syntax.DNS_ForwardZoneNonempty[source]

Bases: univention.admin.syntax.DNS_ForwardZone

Syntax to select one DNS forward zone from LDAP using univention.admin.handlers.dns.forward_zone.

empty_value = False
class univention.admin.syntax.dnsEntry[source]

Bases: univention.admin.syntax.complex

Syntax to configure a DNS forward zone entry for a computer.

description = 'DNS Entry'
subsyntaxes = (('DNS forward zone', <class 'univention.admin.syntax.DNS_ForwardZoneNonempty'>), ('IP address', <class 'univention.admin.syntax.IP_AddressList'>))
subsyntax_names = ('forward-zone', 'ip')
size = ('One', 'One')
min_elements = 1
class univention.admin.syntax.dnsEntryReverse[source]

Bases: univention.admin.syntax.complex

Syntax to configure a DNS reverse zone entry for a computer.

description = 'DNS Entry Reverse'
subsyntaxes = (('DNS reverse zone', <class 'univention.admin.syntax.DNS_ReverseZoneNonempty'>), ('IP address', <class 'univention.admin.syntax.IP_AddressList'>))
subsyntax_names = ('reverse-zone', 'ip')
size = ('One', 'One')
min_elements = 1
class univention.admin.syntax.DNS_ForwardZoneList[source]

Bases: univention.admin.syntax.select

Syntax to select DNS forward zone for alias entries.

depends = 'dnsEntryZoneForward'
class univention.admin.syntax.dnsEntryAlias[source]

Bases: univention.admin.syntax.complex

Syntax to configure a DNS alias record.

description = 'DNS Entry Alias'
subsyntaxes = (('Zone of existing host record', <class 'univention.admin.syntax.DNS_ForwardZoneList'>), ('DNS forward zone', <class 'univention.admin.syntax.DNS_ForwardZone'>), ('Alias', <class 'univention.admin.syntax.dnsName'>))
subsyntax_names = ('zone', 'forward-zone', 'alias')
size = ('TwoThirds', 'TwoThirds', 'TwoThirds')
class univention.admin.syntax.dhcpService[source]

Bases: univention.admin.syntax.UDM_Objects

Syntax to select a DHCP service from LDAP using univention.admin.handlers.dhcp.service.

udm_modules = ('dhcp/service',)
description = 'DHCP service'
label = '%(name)s'
empty_value = True
class univention.admin.syntax.dhcpEntry[source]

Bases: univention.admin.syntax.complex

Syntax to configure a DHCP host entry.

min_elements = 1
all_required = False
subsyntaxes = (('DHCP service', <class 'univention.admin.syntax.dhcpService'>), ('IP address', <class 'univention.admin.syntax.IP_AddressListEmpty'>), ('MAC address', <class 'univention.admin.syntax.MAC_AddressList'>))
subsyntax_names = ('service', 'ip', 'mac')
description = 'DHCP Entry'
size = ('TwoThirds', 'TwoThirds', 'TwoThirds')
classmethod parse(text)[source]
class univention.admin.syntax.DHCP_Option[source]

Bases: univention.admin.syntax.complex

Syntax to enter free-form DHCP options.

subsyntaxes = (('Name', <class 'univention.admin.syntax.string'>), ('Value', <class 'univention.admin.syntax.string'>))
subsyntax_key_value = True
description = 'DHCP option'
size = ('One', 'One')
class univention.admin.syntax.WritableShare[source]

Bases: univention.admin.syntax.UDM_Objects

Syntax for selecting defined writeable NFS shares.

See also

udm_modules = ('shares/share',)
udm_filter = 'writeable=1'
label = '%(name)s (%(path)s on %(host)s)'
size = 'OneAndAHalf'
empty_value = True
use_objects = False
class univention.admin.syntax.AllowDenyIgnore[source]

Bases: univention.admin.syntax.select

Syntax class for a tri-state select between allow, deny and ignore.

choices = [('', ''), ('allow', 'allow'), ('deny', 'deny'), ('ignore', 'ignore')]
class univention.admin.syntax.IStates[source]

Bases: univention.admin.syntax.select

Base syntax to select item from list of choices with a mapping between Python and LDAP values.

values = []

Map Python type to 2-tuple (LDAP-value, translated-text).

choices = []
classmethod parse(text)[source]
classmethod get_object_property_filter(object_property, object_property_value)[source]
classmethod sanitize_property_search_value(search_value)[source]
class univention.admin.syntax.AllowDeny[source]

Bases: univention.admin.syntax.IStates

Syntax class for a tri-state select between None, “allow” and “deny”.

values = ((None, ('', '')), (True, ('allow', 'allow')), (False, ('deny', 'deny')))
type_class

alias of TriBooleanType

class univention.admin.syntax.booleanNone[source]

Bases: univention.admin.syntax.IStates

Syntax class for a tri-state select between None, “yes” and “no”.

values = ((None, ('', '')), (True, ('yes', 'Yes')), (False, ('no', 'No')))
type_class

alias of TriBooleanType

class univention.admin.syntax.auto_one_zero[source]

Bases: univention.admin.syntax.select

Syntax class for a tri-state select between “Auto”, “Yes” and “No”.

choices = [('Auto', 'Auto'), ('1', 'Yes'), ('0', 'No')]
class univention.admin.syntax.TrueFalse[source]

Bases: univention.admin.syntax.IStates

Syntax class for a tri-state select between None, “true” and “false”.

values = ((None, ('', '')), (True, ('true', 'True')), (False, ('false', 'False')))
type_class

alias of TriBooleanType

class univention.admin.syntax.TrueFalseUpper[source]

Bases: univention.admin.syntax.IStates

Syntax class for a tri-state select between None, “TRUE” and “FALSE”.

values = ((None, ('', '')), (True, ('TRUE', 'True')), (False, ('FALSE', 'False')))
type_class

alias of TriBooleanType

class univention.admin.syntax.TrueFalseUp[source]

Bases: univention.admin.syntax.IStates

Syntax for bool’ean value matching LDAP boolean (OID 1.3.6.1.4.1.1466.115.121.1.7).

values = ((True, ('TRUE', 'True')), (False, ('FALSE', 'False')))
type_class

alias of BooleanType

class univention.admin.syntax.AppActivatedTrue[source]

Bases: univention.admin.syntax.TrueFalseUp

class univention.admin.syntax.OkOrNot[source]

Bases: univention.admin.syntax.IStates

Syntax class to a boolean select between “OK” and “Not”.

values = ((True, ('OK', 'OK')), (False, ('Not', 'Not OK')))
type_class

alias of BooleanType

class univention.admin.syntax.AppActivatedOK[source]

Bases: univention.admin.syntax.OkOrNot

class univention.admin.syntax.ddnsUpdateStyle[source]

Bases: univention.admin.syntax.select

Syntax to select the DHCP dynamic DNS update style.

choices = [('', ''), ('ad-hoc', 'ad-hoc'), ('interim', 'interim'), ('none', 'none')]
class univention.admin.syntax.ddnsUpdates[source]

Bases: univention.admin.syntax.IStates

Syntax class for a tri-state select between None, “on” and “off”.

values = ((None, ('', '')), (True, ('on', 'on')), (False, ('off', 'off')))
type_class

alias of TriBooleanType

class univention.admin.syntax.netbiosNodeType[source]

Bases: univention.admin.syntax.select

Syntax to select the Windows name server mode.

choices = [('', ''), ('1', '1 B-node: Broadcast - no WINS'), ('2', '2 P-node: Peer - WINS only'), ('4', '4 M-node: Mixed - broadcast, then WINS'), ('8', '8 H-node: Hybrid - WINS, then broadcast')]
class univention.admin.syntax.kdeProfile[source]

Bases: univention.admin.syntax.select

Syntax to select KDE profile type.

choices = [('', 'none'), ('/home/kde.restricted', 'restricted'), ('/home/kde.lockeddown', 'locked down')]
class univention.admin.syntax.language[source]

Bases: univention.admin.syntax.select

Syntax for selecting a language by name.

choices = [('', ''), ('af_ZA', 'Afrikaans/South Africa'), ('af_ZA.UTF-8', 'Afrikaans/South Africa(UTF-8)'), ('sq_AL', 'Albanian/Albania'), ('sq_AL.UTF-8', 'Albanian/Albania(UTF-8)'), ('am_ET', 'Amharic/Ethiopia'), ('ar_DZ', 'Arabic/Algeria'), ('ar_DZ.UTF-8', 'Arabic/Algeria(UTF-8)'), ('ar_BH', 'Arabic/Bahrain'), ('ar_BH.UTF-8', 'Arabic/Bahrain(UTF-8)'), ('ar_EG', 'Arabic/Egypt'), ('ar_EG.UTF-8', 'Arabic/Egypt(UTF-8)'), ('ar_IN', 'Arabic/India'), ('ar_IQ', 'Arabic/Iraq'), ('ar_IQ.UTF-8', 'Arabic/Iraq(UTF-8)'), ('ar_JO', 'Arabic/Jordan'), ('ar_JO.UTF-8', 'Arabic/Jordan(UTF-8)'), ('ar_KW', 'Arabic/Kuwait'), ('ar_KW.UTF-8', 'Arabic/Kuwait(UTF-8)'), ('ar_LB', 'Arabic/Lebanon'), ('ar_LB.UTF-8', 'Arabic/Lebanon(UTF-8)'), ('ar_LY', 'Arabic/Libyan Arab Jamahiriya'), ('ar_LY.UTF-8', 'Arabic/Libyan Arab Jamahiriya(UTF-8)'), ('ar_MA', 'Arabic/Morocco'), ('ar_MA.UTF-8', 'Arabic/Morocco(UTF-8)'), ('ar_OM', 'Arabic/Oman'), ('ar_OM.UTF-8', 'Arabic/Oman(UTF-8)'), ('ar_QA', 'Arabic/Qatar'), ('ar_QA.UTF-8', 'Arabic/Qatar(UTF-8)'), ('ar_SA', 'Arabic/Saudi Arabia'), ('ar_SA.UTF-8', 'Arabic/Saudi Arabia(UTF-8)'), ('ar_SD', 'Arabic/Sudan'), ('ar_SD.UTF-8', 'Arabic/Sudan(UTF-8)'), ('ar_SY', 'Arabic/Syrian Arab Republic'), ('ar_SY.UTF-8', 'Arabic/Syrian Arab Republic(UTF-8)'), ('ar_TN', 'Arabic/Tunisia'), ('ar_TN.UTF-8', 'Arabic/Tunisia(UTF-8)'), ('ar_AE', 'Arabic/United Arab Emirates'), ('ar_AE.UTF-8', 'Arabic/United Arab Emirates(UTF-8)'), ('ar_YE', 'Arabic/Yemen'), ('ar_YE.UTF-8', 'Arabic/Yemen(UTF-8)'), ('an_ES', 'Aragonese/Spain'), ('an_ES.UTF-8', 'Aragonese/Spain(UTF-8)'), ('hy_AM', 'Armenian/Armenia'), ('az_AZ', 'Azeri/Azerbaijan'), ('eu_ES@euro', 'Basque/Spain'), ('eu_ES.UTF-8', 'Basque/Spain(UTF-8)'), ('be_BY', 'Belarusian/Belarus'), ('be_BY.UTF-8', 'Belarusian/Belarus(UTF-8)'), ('bn_BD', 'Bengali/BD'), ('bn_IN', 'Bengali/India'), ('bs_BA', 'Bosnian/Bosnia and Herzegowina'), ('bs_BA.UTF-8', 'Bosnian/Bosnia and Herzegowina(UTF-8)'), ('br_FR@euro', 'Breton/France'), ('br_FR.UTF-8', 'Breton/France(UTF-8)'), ('bg_BG', 'Bulgarian/Bulgaria'), ('bg_BG.UTF-8', 'Bulgarian/Bulgaria(UTF-8)'), ('ca_ES@euro', 'Catalan/Spain'), ('ca_ES.UTF-8', 'Catalan/Spain(UTF-8)'), ('zh_HK', 'Chinese/Hong Kong'), ('zh_HK.UTF-8', 'Chinese/Hong Kong(UTF-8)'), ('zh_CN', 'Chinese/P.R. of China'), ('zh_CN.UTF-8', 'Chinese/P.R. of China(UTF-8)'), ('zh_SG', 'Chinese/Singapore'), ('zh_SG.UTF-8', 'Chinese/Singapore(UTF-8)'), ('zh_TW', 'Chinese/Taiwan R.O.C.'), ('zh_TW.UTF-8', 'Chinese/Taiwan R.O.C.(UTF-8)'), ('kw_GB', 'Cornish/Britain'), ('kw_GB.UTF-8', 'Cornish/Britain(UTF-8)'), ('hr_HR', 'Croatian/Croatia'), ('hr_HR.UTF-8', 'Croatian/Croatia(UTF-8)'), ('cs_CZ', 'Czech/Czech Republic'), ('cs_CZ.UTF-8', 'Czech/Czech Republic(UTF-8)'), ('da_DK', 'Danish/Denmark'), ('da_DK.UTF-8', 'Danish/Denmark(UTF-8)'), ('nl_BE@euro', 'Dutch/Belgium'), ('nl_BE.UTF-8', 'Dutch/Belgium(UTF-8)'), ('nl_NL@euro', 'Dutch/Netherlands'), ('nl_NL.UTF-8', 'Dutch/Netherlands(UTF-8)'), ('en_AU', 'English/Australia'), ('en_AU.UTF-8', 'English/Australia(UTF-8)'), ('en_BW', 'English/Botswana'), ('en_BW.UTF-8', 'English/Botswana(UTF-8)'), ('en_CA', 'English/Canada'), ('en_CA.UTF-8', 'English/Canada(UTF-8)'), ('en_DK', 'English/Denmark'), ('en_DK.UTF-8', 'English/Denmark(UTF-8)'), ('en_GB', 'English/Great Britain'), ('en_GB.UTF-8', 'English/Great Britain(UTF-8)'), ('en_HK', 'English/Hong Kong'), ('en_HK.UTF-8', 'English/Hong Kong(UTF-8)'), ('en_IN', 'English/India'), ('en_IE@euro', 'English/Ireland'), ('en_IE.UTF-8', 'English/Ireland(UTF-8)'), ('en_NZ', 'English/New Zealand'), ('en_NZ.UTF-8', 'English/New Zealand(UTF-8)'), ('en_PH', 'English/Philippines'), ('en_PH.UTF-8', 'English/Philippines(UTF-8)'), ('en_SG', 'English/Singapore'), ('en_SG.UTF-8', 'English/Singapore(UTF-8)'), ('en_ZA', 'English/South Africa'), ('en_ZA.UTF-8', 'English/South Africa(UTF-8)'), ('en_US', 'English/USA'), ('en_US.UTF-8', 'English/USA(UTF-8)'), ('en_ZW', 'English/Zimbabwe'), ('en_ZW.UTF-8', 'English/Zimbabwe(UTF-8)'), ('eo_EO', 'Esperanto/Esperanto'), ('et_EE', 'Estonian/Estonia'), ('et_EE.UTF-8', 'Estonian/Estonia(UTF-8)'), ('fo_FO', 'Faroese/Faroe Islands'), ('fo_FO.UTF-8', 'Faroese/Faroe Islands(UTF-8)'), ('fi_FI@euro', 'Finnish/Finland'), ('fi_FI.UTF-8', 'Finnish/Finland(UTF-8)'), ('fr_BE@euro', 'French/Belgium'), ('fr_BE.UTF-8', 'French/Belgium(UTF-8)'), ('fr_CA', 'French/Canada'), ('fr_CA.UTF-8', 'French/Canada(UTF-8)'), ('fr_FR@euro', 'French/France'), ('fr_FR.UTF-8', 'French/France(UTF-8)'), ('fr_LU@euro', 'French/Luxemburg'), ('fr_LU.UTF-8', 'French/Luxemburg(UTF-8)'), ('fr_CH', 'French/Switzerland'), ('fr_CH.UTF-8', 'French/Switzerland(UTF-8)'), ('gl_ES@euro', 'Galician/Spain'), ('gl_ES.UTF-8', 'Galician/Spain(UTF-8)'), ('ka_GE', 'Georgian/Georgia'), ('ka_GE.UTF-8', 'Georgian/Georgia(UTF-8)'), ('de_AT@euro', 'German/Austria'), ('de_AT.UTF-8', 'German/Austria(UTF-8)'), ('de_BE@euro', 'German/Belgium'), ('de_BE.UTF-8', 'German/Belgium(UTF-8)'), ('de_DE', 'German/Germany'), ('de_DE.UTF-8', 'German/Germany(UTF-8)'), ('de_DE@euro', 'German/Germany(euro)'), ('de_LU@euro', 'German/Luxemburg'), ('de_LU.UTF-8', 'German/Luxemburg(UTF-8)'), ('de_CH', 'German/Switzerland'), ('de_CH.UTF-8', 'German/Switzerland(UTF-8)'), ('el_GR@euro', 'Greek/Greece'), ('el_GR.UTF-8', 'Greek/Greece(UTF-8)'), ('kl_GL', 'Greenlandic/Greenland'), ('kl_GL.UTF-8', 'Greenlandic/Greenland(UTF-8)'), ('iw_IL', 'Hebrew/Israel'), ('iw_IL.UTF-8', 'Hebrew/Israel(UTF-8)'), ('he_IL', 'Hebrew/Israel'), ('he_IL.UTF-8', 'Hebrew/Israel(UTF-8)'), ('hi_IN', 'Hindi/India'), ('hu_HU', 'Hungarian/Hungary'), ('hu_HU.UTF-8', 'Hungarian/Hungary(UTF-8)'), ('is_IS', 'Icelandic/Iceland'), ('is_IS.UTF-8', 'Icelandic/Iceland(UTF-8)'), ('id_ID', 'Indonesian/Indonesia'), ('id_ID.UTF-8', 'Indonesian/Indonesia(UTF-8)'), ('ga_IE@euro', 'Irish/Ireland'), ('ga_IE.UTF-8', 'Irish/Ireland(UTF-8)'), ('it_IT@euro', 'Italian/Italy'), ('it_IT.UTF-8', 'Italian/Italy(UTF-8)'), ('it_CH', 'Italian/Switzerland'), ('it_CH.UTF-8', 'Italian/Switzerland(UTF-8)'), ('ja_JP', 'Japanese/Japan'), ('ko_KR', 'Korean/Republic of Korea'), ('lo_LA', 'Lao/Laos'), ('lv_LV', 'Latvian/Latvia'), ('lv_LV.UTF-8', 'Latvian/Latvia(UTF-8)'), ('lt_LT', 'Lithuanian/Lithuania'), ('lt_LT.UTF-8', 'Lithuanian/Lithuania(UTF-8)'), ('lug_UG', 'Luganda/Uganda'), ('mk_MK', 'Macedonian/Macedonia'), ('mk_MK.UTF-8', 'Macedonian/Macedonia(UTF-8)'), ('ms_MY', 'Malay/Malaysia'), ('ms_MY.UTF-8', 'Malay/Malaysia(UTF-8)'), ('ml_IN', 'Malayalam/India'), ('mt_MT', 'Maltese/malta'), ('mt_MT.UTF-8', 'Maltese/malta(UTF-8)'), ('gv_GB', 'Manx Gaelic/Britain'), ('gv_GB.UTF-8', 'Manx Gaelic/Britain(UTF-8)'), ('mi_NZ', 'Maori/New Zealand'), ('mi_NZ.UTF-8', 'Maori/New Zealand(UTF-8)'), ('mr_IN', 'Marathi/India'), ('mn_MN', 'Mongolian/Mongolia'), ('se_NO', 'Northern Saami/Norway'), ('nn_NO', 'Norwegian, Nynorsk/Norway'), ('nn_NO.UTF-8', 'Norwegian, Nynorsk/Norway(UTF-8)'), ('no_NO', 'Norwegian/Norway'), ('no_NO.UTF-8', 'Norwegian/Norway(UTF-8)'), ('oc_FR', 'Occitan/France'), ('oc_FR.UTF-8', 'Occitan/France(UTF-8)'), ('fa_IR', 'Persian/Iran'), ('pl_PL', 'Polish/Poland'), ('pl_PL.UTF-8', 'Polish/Poland(UTF-8)'), ('pt_BR', 'Portuguese/Brasil'), ('pt_BR.UTF-8', 'Portuguese/Brasil(UTF-8)'), ('pt_PT@euro', 'Portuguese/Portugal'), ('pt_PT.UTF-8', 'Portuguese/Portugal(UTF-8)'), ('ro_RO', 'Romanian/Romania'), ('ro_RO.UTF-8', 'Romanian/Romania(UTF-8)'), ('ru_RU', 'Russian/Russia'), ('ru_RU.UTF-8', 'Russian/Russia(UTF-8)'), ('ru_UA', 'Russian/Ukraine'), ('ru_UA.UTF-8', 'Russian/Ukraine(UTF-8)'), ('gd_GB', 'Scots Gaelic/Great Britain'), ('gd_GB.UTF-8', 'Scots Gaelic/Great Britain(UTF-8)'), ('sr_YU@cyrillic', 'Serbian/Yugoslavia'), ('sk_SK', 'Slovak/Slovak'), ('sk_SK.UTF-8', 'Slovak/Slovak(UTF-8)'), ('sl_SI', 'Slovenian/Slovenia'), ('sl_SI.UTF-8', 'Slovenian/Slovenia(UTF-8)'), ('st_ZA', 'Sotho/South Africa'), ('st_ZA.UTF-8', 'Sotho/South Africa(UTF-8)'), ('es_AR', 'Spanish/Argentina'), ('es_AR.UTF-8', 'Spanish/Argentina(UTF-8)'), ('es_BO', 'Spanish/Bolivia'), ('es_BO.UTF-8', 'Spanish/Bolivia(UTF-8)'), ('es_CL', 'Spanish/Chile'), ('es_CL.UTF-8', 'Spanish/Chile(UTF-8)'), ('es_CO', 'Spanish/Colombia'), ('es_CO.UTF-8', 'Spanish/Colombia(UTF-8)'), ('es_CR', 'Spanish/Costa Rica'), ('es_CR.UTF-8', 'Spanish/Costa Rica(UTF-8)'), ('es_DO', 'Spanish/Dominican Republic'), ('es_DO.UTF-8', 'Spanish/Dominican Republic(UTF-8)'), ('es_EC', 'Spanish/Ecuador'), ('es_EC.UTF-8', 'Spanish/Ecuador(UTF-8)'), ('es_SV', 'Spanish/El Salvador'), ('es_SV.UTF-8', 'Spanish/El Salvador(UTF-8)'), ('es_GT', 'Spanish/Guatemala'), ('es_GT.UTF-8', 'Spanish/Guatemala(UTF-8)'), ('es_HN', 'Spanish/Honduras'), ('es_HN.UTF-8', 'Spanish/Honduras(UTF-8)'), ('es_MX', 'Spanish/Mexico'), ('es_MX.UTF-8', 'Spanish/Mexico(UTF-8)'), ('es_NI', 'Spanish/Nicaragua'), ('es_NI.UTF-8', 'Spanish/Nicaragua(UTF-8)'), ('es_PA', 'Spanish/Panama'), ('es_PA.UTF-8', 'Spanish/Panama(UTF-8)'), ('es_PY', 'Spanish/Paraguay'), ('es_PY.UTF-8', 'Spanish/Paraguay(UTF-8)'), ('es_PE', 'Spanish/Peru'), ('es_PE.UTF-8', 'Spanish/Peru(UTF-8)'), ('es_PR', 'Spanish/Puerto Rico'), ('es_PR.UTF-8', 'Spanish/Puerto Rico(UTF-8)'), ('es_ES@euro', 'Spanish/Spain'), ('es_ES.UTF-8', 'Spanish/Spain(UTF-8)'), ('es_US', 'Spanish/USA'), ('es_US.UTF-8', 'Spanish/USA(UTF-8)'), ('es_UY', 'Spanish/Uruguay'), ('es_UY.UTF-8', 'Spanish/Uruguay(UTF-8)'), ('es_VE', 'Spanish/Venezuela'), ('es_VE.UTF-8', 'Spanish/Venezuela(UTF-8)'), ('sv_FI@euro', 'Swedish/Finland'), ('sv_FI.UTF-8', 'Swedish/Finland(UTF-8)'), ('sv_SE', 'Swedish/Sweden'), ('sv_SE.UTF-8', 'Swedish/Sweden(UTF-8)'), ('tl_PH', 'Tagalog/Philippines'), ('tl_PH.UTF-8', 'Tagalog/Philippines(UTF-8)'), ('tg_TJ', 'Tajik/Tajikistan'), ('tg_TJ.UTF-8', 'Tajik/Tajikistan(UTF-8)'), ('ta_IN', 'Tamil/India'), ('tt_RU', 'Tatar/Tatarstan'), ('te_IN', 'Telgu/India'), ('th_TH', 'Thai/Thailand'), ('th_TH.UTF-8', 'Thai/Thailand(UTF-8)'), ('ti_ER', 'Tigrigna/Eritrea'), ('ti_ET', 'Tigrigna/Ethiopia'), ('tr_TR', 'Turkish/Turkey'), ('tr_TR.UTF-8', 'Turkish/Turkey(UTF-8)'), ('uk_UA', 'Ukrainian/Ukraine'), ('uk_UA.UTF-8', 'Ukrainian/Ukraine(UTF-8)'), ('ur_PK', 'Urdu/Pakistan'), ('uz_UZ', 'Uzbek/Uzbekistan'), ('uz_UZ.UTF-8', 'Uzbek/Uzbekistan(UTF-8)'), ('vi_VN', 'Vietnamese/Vietnam'), ('wa_BE@euro', 'Walloon/Belgium'), ('wa_BE.UTF-8', 'Walloon/Belgium(UTF-8)'), ('cy_GB', 'Welsh/Great Britain'), ('cy_GB.UTF-8', 'Welsh/Great Britain(UTF-8)'), ('xh_ZA', 'Xhosa/South Africa'), ('xh_ZA.UTF-8', 'Xhosa/South Africa(UTF-8)'), ('yi_US', 'Yiddish/USA'), ('yi_US.UTF-8', 'Yiddish/USA(UTF-8)'), ('zu_ZA', 'Zulu/South Africa'), ('zu_ZA.UTF-8', 'Zulu/South Africa(UTF-8)')]
class univention.admin.syntax.Month[source]

Bases: univention.admin.syntax.select

Syntax to select the month of a year.

choices = [('', ''), ('all', 'all'), ('January', 'January'), ('February', 'February'), ('March', 'March'), ('April', 'April'), ('May', 'May'), ('June', 'June'), ('July', 'July'), ('August', 'August'), ('September', 'September'), ('October', 'October'), ('November', 'November'), ('December', 'December')]
class univention.admin.syntax.Weekday[source]

Bases: univention.admin.syntax.select

Syntax to select the day of a week.

choices = [('', ''), ('all', 'all'), ('Monday', 'Monday'), ('Tuesday', 'Tuesday'), ('Wednesday', 'Wednesday'), ('Thursday', 'Thursday'), ('Friday', 'Friday'), ('Saturday', 'Saturday'), ('Sunday', 'Sunday')]
class univention.admin.syntax.Day[source]

Bases: univention.admin.syntax.select

Syntax to select the day of a month.

choices = [('', ''), ('all', 'all'), ('1', '1'), ('2', '2'), ('3', '3'), ('4', '4'), ('5', '5'), ('6', '6'), ('7', '7'), ('8', '8'), ('9', '9'), ('10', '10'), ('11', '11'), ('12', '12'), ('13', '13'), ('14', '14'), ('15', '15'), ('16', '16'), ('17', '17'), ('18', '18'), ('19', '19'), ('20', '20'), ('21', '21'), ('22', '22'), ('23', '23'), ('24', '24'), ('25', '25'), ('26', '26'), ('27', '27'), ('28', '28'), ('29', '29'), ('30', '30'), ('31', '31')]
class univention.admin.syntax.Hour[source]

Bases: univention.admin.syntax.select

Syntax to select the hour of a day or all or none.

choices = [('', ''), ('all', 'all'), ('00', '0'), ('1', '1'), ('2', '2'), ('3', '3'), ('4', '4'), ('5', '5'), ('6', '6'), ('7', '7'), ('8', '8'), ('9', '9'), ('10', '10'), ('11', '11'), ('12', '12'), ('13', '13'), ('14', '14'), ('15', '15'), ('16', '16'), ('17', '17'), ('18', '18'), ('19', '19'), ('20', '20'), ('21', '21'), ('22', '22'), ('23', '23')]
class univention.admin.syntax.HourSimple[source]

Bases: univention.admin.syntax.select

Syntax to select the hour of a day.

choices = [('00', '0'), ('1', '1'), ('2', '2'), ('3', '3'), ('4', '4'), ('5', '5'), ('6', '6'), ('7', '7'), ('8', '8'), ('9', '9'), ('10', '10'), ('11', '11'), ('12', '12'), ('13', '13'), ('14', '14'), ('15', '15'), ('16', '16'), ('17', '17'), ('18', '18'), ('19', '19'), ('20', '20'), ('21', '21'), ('22', '22'), ('23', '23')]
class univention.admin.syntax.Minute[source]

Bases: univention.admin.syntax.select

Syntax to select the minute of a hour or all or none.

choices = [('', ''), ('all', 'all'), ('00', '0'), ('5', '5'), ('10', '10'), ('15', '15'), ('20', '20'), ('25', '25'), ('30', '30'), ('35', '35'), ('40', '40'), ('45', '45'), ('50', '50'), ('55', '55')]
class univention.admin.syntax.MinuteSimple[source]

Bases: univention.admin.syntax.select

Syntax to select the minute of a hour.

choices = [('00', '0'), ('5', '5'), ('10', '10'), ('15', '15'), ('20', '20'), ('25', '25'), ('30', '30'), ('35', '35'), ('40', '40'), ('45', '45'), ('50', '50'), ('55', '55')]
class univention.admin.syntax.UNIX_AccessRight[source]

Bases: univention.admin.syntax.simple

Syntax to configure UNIX file permissions.

class univention.admin.syntax.UNIX_AccessRight_extended[source]

Bases: univention.admin.syntax.simple

Syntax to configure UNIX file permissions including setUID, setGID and sticky bits.

See also

class univention.admin.syntax.sambaGroupType[source]

Bases: univention.admin.syntax.select

Syntax to select Samba group type.

choices = [('', ''), ('2', 'Domain Group'), ('3', 'Local Group'), ('5', 'Well-Known Group')]
class univention.admin.syntax.adGroupType[source]

Bases: univention.admin.syntax.select

Syntax to select Active Directory group type.

choices = [('', ''), ('-2147483643', 'Local (Type: Security)'), ('-2147483646', 'Global (Type: Security)'), ('-2147483640', 'Universal (Type: Security)'), ('-2147483644', 'Domain local (Type: Security)'), ('4', 'Local (Type: Distribution)'), ('2', 'Global (Type: Distribution)'), ('8', 'Universal (Type: Distribution)')]
class univention.admin.syntax.SambaLogonHours[source]

Bases: univention.admin.syntax.MultiSelect

Syntax to select hour slots per day for Samba login.

choices = [(0, 'Sun 0-1'), (1, 'Sun 1-2'), (2, 'Sun 2-3'), (3, 'Sun 3-4'), (4, 'Sun 4-5'), (5, 'Sun 5-6'), (6, 'Sun 6-7'), (7, 'Sun 7-8'), (8, 'Sun 8-9'), (9, 'Sun 9-10'), (10, 'Sun 10-11'), (11, 'Sun 11-12'), (12, 'Sun 12-13'), (13, 'Sun 13-14'), (14, 'Sun 14-15'), (15, 'Sun 15-16'), (16, 'Sun 16-17'), (17, 'Sun 17-18'), (18, 'Sun 18-19'), (19, 'Sun 19-20'), (20, 'Sun 20-21'), (21, 'Sun 21-22'), (22, 'Sun 22-23'), (23, 'Sun 23-24'), (24, 'Mon 0-1'), (25, 'Mon 1-2'), (26, 'Mon 2-3'), (27, 'Mon 3-4'), (28, 'Mon 4-5'), (29, 'Mon 5-6'), (30, 'Mon 6-7'), (31, 'Mon 7-8'), (32, 'Mon 8-9'), (33, 'Mon 9-10'), (34, 'Mon 10-11'), (35, 'Mon 11-12'), (36, 'Mon 12-13'), (37, 'Mon 13-14'), (38, 'Mon 14-15'), (39, 'Mon 15-16'), (40, 'Mon 16-17'), (41, 'Mon 17-18'), (42, 'Mon 18-19'), (43, 'Mon 19-20'), (44, 'Mon 20-21'), (45, 'Mon 21-22'), (46, 'Mon 22-23'), (47, 'Mon 23-24'), (48, 'Tue 0-1'), (49, 'Tue 1-2'), (50, 'Tue 2-3'), (51, 'Tue 3-4'), (52, 'Tue 4-5'), (53, 'Tue 5-6'), (54, 'Tue 6-7'), (55, 'Tue 7-8'), (56, 'Tue 8-9'), (57, 'Tue 9-10'), (58, 'Tue 10-11'), (59, 'Tue 11-12'), (60, 'Tue 12-13'), (61, 'Tue 13-14'), (62, 'Tue 14-15'), (63, 'Tue 15-16'), (64, 'Tue 16-17'), (65, 'Tue 17-18'), (66, 'Tue 18-19'), (67, 'Tue 19-20'), (68, 'Tue 20-21'), (69, 'Tue 21-22'), (70, 'Tue 22-23'), (71, 'Tue 23-24'), (72, 'Wed 0-1'), (73, 'Wed 1-2'), (74, 'Wed 2-3'), (75, 'Wed 3-4'), (76, 'Wed 4-5'), (77, 'Wed 5-6'), (78, 'Wed 6-7'), (79, 'Wed 7-8'), (80, 'Wed 8-9'), (81, 'Wed 9-10'), (82, 'Wed 10-11'), (83, 'Wed 11-12'), (84, 'Wed 12-13'), (85, 'Wed 13-14'), (86, 'Wed 14-15'), (87, 'Wed 15-16'), (88, 'Wed 16-17'), (89, 'Wed 17-18'), (90, 'Wed 18-19'), (91, 'Wed 19-20'), (92, 'Wed 20-21'), (93, 'Wed 21-22'), (94, 'Wed 22-23'), (95, 'Wed 23-24'), (96, 'Thu 0-1'), (97, 'Thu 1-2'), (98, 'Thu 2-3'), (99, 'Thu 3-4'), (100, 'Thu 4-5'), (101, 'Thu 5-6'), (102, 'Thu 6-7'), (103, 'Thu 7-8'), (104, 'Thu 8-9'), (105, 'Thu 9-10'), (106, 'Thu 10-11'), (107, 'Thu 11-12'), (108, 'Thu 12-13'), (109, 'Thu 13-14'), (110, 'Thu 14-15'), (111, 'Thu 15-16'), (112, 'Thu 16-17'), (113, 'Thu 17-18'), (114, 'Thu 18-19'), (115, 'Thu 19-20'), (116, 'Thu 20-21'), (117, 'Thu 21-22'), (118, 'Thu 22-23'), (119, 'Thu 23-24'), (120, 'Fri 0-1'), (121, 'Fri 1-2'), (122, 'Fri 2-3'), (123, 'Fri 3-4'), (124, 'Fri 4-5'), (125, 'Fri 5-6'), (126, 'Fri 6-7'), (127, 'Fri 7-8'), (128, 'Fri 8-9'), (129, 'Fri 9-10'), (130, 'Fri 10-11'), (131, 'Fri 11-12'), (132, 'Fri 12-13'), (133, 'Fri 13-14'), (134, 'Fri 14-15'), (135, 'Fri 15-16'), (136, 'Fri 16-17'), (137, 'Fri 17-18'), (138, 'Fri 18-19'), (139, 'Fri 19-20'), (140, 'Fri 20-21'), (141, 'Fri 21-22'), (142, 'Fri 22-23'), (143, 'Fri 23-24'), (144, 'Sat 0-1'), (145, 'Sat 1-2'), (146, 'Sat 2-3'), (147, 'Sat 3-4'), (148, 'Sat 4-5'), (149, 'Sat 5-6'), (150, 'Sat 6-7'), (151, 'Sat 7-8'), (152, 'Sat 8-9'), (153, 'Sat 9-10'), (154, 'Sat 10-11'), (155, 'Sat 11-12'), (156, 'Sat 12-13'), (157, 'Sat 13-14'), (158, 'Sat 14-15'), (159, 'Sat 15-16'), (160, 'Sat 16-17'), (161, 'Sat 17-18'), (162, 'Sat 18-19'), (163, 'Sat 19-20'), (164, 'Sat 20-21'), (165, 'Sat 21-22'), (166, 'Sat 22-23'), (167, 'Sat 23-24')]
type_class

alias of SambaLogonHours

classmethod parse(value)[source]
day = 'Sat'
hour = 23
idx = 6
class univention.admin.syntax.SambaPrivileges[source]

Bases: univention.admin.syntax.select

Syntax to select Samba privileges.

empty_value = True
choices = [('SeMachineAccountPrivilege', 'Add machines to domain'), ('SeSecurityPrivilege', 'Manage auditing and security log'), ('SeTakeOwnershipPrivilege', 'Take ownership of files or other objects'), ('SeBackupPrivilege', 'Back up files and directories'), ('SeRestorePrivilege', 'Restore files and directories'), ('SeRemoteShutdownPrivilege', 'Force shutdown from a remote system'), ('SePrintOperatorPrivilege', 'Manage printers'), ('SeAddUsersPrivilege', 'Add users and groups to the domain'), ('SeDiskOperatorPrivilege', 'Manage disk shares')]
class univention.admin.syntax.UCSServerRole[source]

Bases: univention.admin.syntax.select

Syntax to select UCS server role.

empty_value = True
choices = [('domaincontroller_master', 'Domaincontroller Master'), ('domaincontroller_backup', 'Domaincontroller Backup'), ('domaincontroller_slave', 'Domaincontroller Slave'), ('memberserver', 'Memberserver')]
class univention.admin.syntax.ServiceMail[source]

Bases: univention.admin.syntax.UDM_Objects

Syntax to select a UCS host from LDAP by DN offering SMTP services.

See also

udm_modules = ('computers/domaincontroller_master', 'computers/domaincontroller_backup', 'computers/domaincontroller_slave', 'computers/memberserver')
udm_filter = '(&(!(univentionObjectFlag=docker))(service=SMTP))'
class univention.admin.syntax.ServicePrint[source]

Bases: univention.admin.syntax.UDM_Objects

Syntax to select a UCS host from LDAP by DN offering print services.

udm_modules = ('computers/domaincontroller_master', 'computers/domaincontroller_backup', 'computers/domaincontroller_slave', 'computers/memberserver')
udm_filter = '(&(!(univentionObjectFlag=docker))(service=Print))'
class univention.admin.syntax.Service[source]

Bases: univention.admin.syntax.UDM_Objects

Syntax to select a UCS service types from LDAP using univention.admin.handlers.settings.service.

udm_modules = ('settings/service',)
regex = None
key = '%(name)s'
label = '%(name)s'
simple = True
class univention.admin.syntax.nfssync[source]

Bases: univention.admin.syntax.select

Syntax to select the NFS synchronization type.

choices = [('sync', 'synchronous'), ('async', 'asynchronous')]
class univention.admin.syntax.univentionAdminModules[source]

Bases: univention.admin.syntax.select

Syntax for selecting an UDM module.

choices = [('appcenter/app', 'Appcenter: App Metadata'), ('computers/domaincontroller_backup', 'Computer: Domain Controller Backup'), ('computers/domaincontroller_master', 'Computer: Domain Controller Master'), ('computers/domaincontroller_slave', 'Computer: Domain Controller Slave'), ('computers/trustaccount', 'Computer: Domain trust account'), ('computers/ipmanagedclient', 'Computer: IP managed client'), ('computers/linux', 'Computer: Linux'), ('computers/macos', 'Computer: Mac OS X Client'), ('computers/memberserver', 'Computer: Member Server'), ('computers/ubuntu', 'Computer: Ubuntu'), ('computers/windows_domaincontroller', 'Computer: Windows Domaincontroller'), ('computers/windows', 'Computer: Windows Workstation/Server'), ('users/contact', 'Contact'), ('container/cn', 'Container: Container'), ('container/dc', 'Container: Domain'), ('container/msgpo', 'Container: MS Group Policy'), ('container/ou', 'Container: Organisational Unit'), ('dhcp/host', 'DHCP: Host'), ('dhcp/pool', 'DHCP: Pool'), ('dhcp/server', 'DHCP: Server'), ('dhcp/service', 'DHCP: Service'), ('dhcp/shared', 'DHCP: Shared network'), ('dhcp/sharedsubnet', 'DHCP: Shared subnet'), ('dhcp/subnet', 'DHCP: Subnet'), ('dns/alias', 'DNS: Alias record'), ('dns/forward_zone', 'DNS: Forward lookup zone'), ('dns/host_record', 'DNS: Host Record'), ('dns/ns_record', 'DNS: NS Record'), ('dns/ptr_record', 'DNS: Pointer record'), ('dns/reverse_zone', 'DNS: Reverse lookup zone'), ('dns/srv_record', 'DNS: Service record'), ('dns/txt_record', 'DNS: TXT Record'), ('settings/data', 'Data'), ('groups/group', 'Group'), ('test/ip_phone', u'IP-Phone'), ('kerberos/kdcentry', 'Kerberos: KDC Entry'), ('ms/gpipsec-policy', 'MS IPsec policy'), ('ms/gpipsec-isakmp-policy', 'MS IPsec policy: ISAKMP Policy'), ('ms/gpipsec-nfa', 'MS IPsec policy: NFA'), ('ms/gpipsec-negotiation-policy', 'MS IPsec policy: Negotiation Policy'), ('ms/gpipsec-filter', 'MS IPsec policy: filter'), ('ms/gpsi-category-registration', 'MS Software Installation Group Policy: Category Registration'), ('ms/gpwl-wired', 'MS wired Group Policy'), ('ms/gpwl-wireless', 'MS wireless Group Policy'), ('ms/gpwl-wireless-blob', 'MS wireless Group Policy blob'), ('mail/domain', 'Mail domain'), ('mail/folder', 'Mail folder (IMAP)'), ('mail/lists', 'Mailing list'), ('nagios/service', 'Nagios service'), ('nagios/timeperiod', 'Nagios time period'), ('networks/network', 'Networks: Network'), ('policies/release', 'Policy: Automatic updates'), ('policies/autostart', 'Policy: Autostart'), ('policies/dhcp_scope', 'Policy: DHCP Allow/Deny'), ('policies/dhcp_boot', 'Policy: DHCP Boot'), ('policies/dhcp_dns', 'Policy: DHCP DNS'), ('policies/dhcp_dnsupdate', 'Policy: DHCP Dynamic DNS'), ('policies/dhcp_netbios', 'Policy: DHCP NetBIOS'), ('policies/dhcp_leasetime', 'Policy: DHCP lease time'), ('policies/dhcp_routing', 'Policy: DHCP routing'), ('policies/dhcp_statements', 'Policy: DHCP statements'), ('policies/desktop', 'Policy: Desktop'), ('policies/ldapserver', 'Policy: LDAP server'), ('policies/maintenance', 'Policy: Maintenance'), ('policies/masterpackages', 'Policy: Master packages'), ('policies/memberpackages', 'Policy: Member Server packages'), ('policies/nfsmounts', 'Policy: NFS mounts'), ('policies/pwhistory', 'Policy: Passwords'), ('policies/print_quota', 'Policy: Print quota'), ('policies/printserver', 'Policy: Print server'), ('policies/repositoryserver', 'Policy: Repository server'), ('policies/repositorysync', 'Policy: Repository synchronisation'), ('policies/slavepackages', 'Policy: Slave packages'), ('policies/umc', 'Policy: UMC'), ('policies/registry', 'Policy: Univention Configuration Registry'), ('policies/admin_container', 'Policy: Univention Directory Manager container settings'), ('policies/share_userquota', 'Policy: User quota'), ('settings/portal_category', 'Portal: Category'), ('settings/portal_entry', 'Portal: Entry'), ('settings/portal', 'Portal: Portal'), ('settings/default', 'Preferences: Default'), ('settings/directory', 'Preferences: Default Container'), ('settings/xconfig_choices', 'Preferences: X Configuration Choices'), ('shares/printer', 'Printer share: Printer'), ('shares/printergroup', 'Printer share: Printer group'), ('saml/idpconfig', u'SAML IdP configuration'), ('saml/serviceprovider', u'SAML service provider'), ('settings/extended_attribute', 'Settings: Extended attribute'), ('settings/extended_options', 'Settings: Extended option'), ('settings/ldapacl', 'Settings: LDAP ACL Extension'), ('settings/ldapschema', 'Settings: LDAP Schema Extension'), ('settings/license', 'Settings: License'), ('settings/lock', 'Settings: Lock'), ('settings/msprintconnectionpolicy', 'Settings: MS Print Connection Policy'), ('settings/mswmifilter', 'Settings: MS WMI Filter'), ('settings/packages', 'Settings: Package List'), ('settings/printermodel', 'Settings: Printer Driver List'), ('settings/printeruri', 'Settings: Printer URI List'), ('settings/prohibited_username', 'Settings: Prohibited user names'), ('settings/sambaconfig', 'Settings: Samba Configuration'), ('settings/sambadomain', 'Settings: Samba Domain'), ('settings/service', 'Settings: Service'), ('settings/syntax', 'Settings: Syntax Definition'), ('settings/udm_hook', 'Settings: UDM Hook'), ('settings/udm_module', 'Settings: UDM Module'), ('settings/udm_syntax', 'Settings: UDM Syntax'), ('settings/umc_operationset', 'Settings: UMC operation set'), ('settings/usertemplate', 'Settings: User Template'), ('shares/share', 'Share: Directory'), ('users/ldap', 'Simple authentication account'), ('ms/gpsi-class-store', 'Software Installation Group Policy: Class Store'), ('ms/gpsi-package-registration', 'Software Installation Group Policy: Package Registration'), ('uvmm/cloudconnection', 'UVMM: Cloud Connection'), ('uvmm/cloudtype', 'UVMM: Cloud Type'), ('uvmm/info', 'UVMM: Machine information'), ('uvmm/profile', 'UVMM: Profile'), ('settings/cn', 'Univention Settings'), ('users/user', 'User'), ('users/passwd', 'User: Password'), ('users/self', 'User: Self')]
classmethod parse(text)[source]
univention.admin.syntax.univentionAdminModules_update()[source]

Update internal list of UDM modules in univentionAdminModules.

class univention.admin.syntax.UDM_PropertySelect[source]

Bases: univention.admin.syntax.complex

Syntax to enter UDM module and property name.

subsyntaxes = (('UDM module', <class 'univention.admin.syntax.string'>), ('property', <class 'univention.admin.syntax.string'>))
subsyntax_names = ('module', 'property')
class univention.admin.syntax.listAttributes[source]

Bases: univention.admin.syntax.string

Syntax to enter UDM property name.

Deprecated since version Old: syntax required by univention.admin.handler.settings.syntax. Should be removed after migrating to UDM_PropertySelect.

classmethod parse(text)[source]
class univention.admin.syntax.timeSpec[source]

Bases: univention.admin.syntax.select

Time format used by at.

_times = [('00:00', '00:00'), ('00:15', '00:15'), ('00:30', '00:30'), ('00:45', '00:45'), ('01:00', '01:00'), ('01:15', '01:15'), ('01:30', '01:30'), ('01:45', '01:45'), ('02:00', '02:00'), ('02:15', '02:15'), ('02:30', '02:30'), ('02:45', '02:45'), ('03:00', '03:00'), ('03:15', '03:15'), ('03:30', '03:30'), ('03:45', '03:45'), ('04:00', '04:00'), ('04:15', '04:15'), ('04:30', '04:30'), ('04:45', '04:45'), ('05:00', '05:00'), ('05:15', '05:15'), ('05:30', '05:30'), ('05:45', '05:45'), ('06:00', '06:00'), ('06:15', '06:15'), ('06:30', '06:30'), ('06:45', '06:45'), ('07:00', '07:00'), ('07:15', '07:15'), ('07:30', '07:30'), ('07:45', '07:45'), ('08:00', '08:00'), ('08:15', '08:15'), ('08:30', '08:30'), ('08:45', '08:45'), ('09:00', '09:00'), ('09:15', '09:15'), ('09:30', '09:30'), ('09:45', '09:45'), ('10:00', '10:00'), ('10:15', '10:15'), ('10:30', '10:30'), ('10:45', '10:45'), ('11:00', '11:00'), ('11:15', '11:15'), ('11:30', '11:30'), ('11:45', '11:45'), ('12:00', '12:00'), ('12:15', '12:15'), ('12:30', '12:30'), ('12:45', '12:45'), ('13:00', '13:00'), ('13:15', '13:15'), ('13:30', '13:30'), ('13:45', '13:45'), ('14:00', '14:00'), ('14:15', '14:15'), ('14:30', '14:30'), ('14:45', '14:45'), ('15:00', '15:00'), ('15:15', '15:15'), ('15:30', '15:30'), ('15:45', '15:45'), ('16:00', '16:00'), ('16:15', '16:15'), ('16:30', '16:30'), ('16:45', '16:45'), ('17:00', '17:00'), ('17:15', '17:15'), ('17:30', '17:30'), ('17:45', '17:45'), ('18:00', '18:00'), ('18:15', '18:15'), ('18:30', '18:30'), ('18:45', '18:45'), ('19:00', '19:00'), ('19:15', '19:15'), ('19:30', '19:30'), ('19:45', '19:45'), ('20:00', '20:00'), ('20:15', '20:15'), ('20:30', '20:30'), ('20:45', '20:45'), ('21:00', '21:00'), ('21:15', '21:15'), ('21:30', '21:30'), ('21:45', '21:45'), ('22:00', '22:00'), ('22:15', '22:15'), ('22:30', '22:30'), ('22:45', '22:45'), ('23:00', '23:00'), ('23:15', '23:15'), ('23:30', '23:30'), ('23:45', '23:45')]
choices = [('', 'No Reboot'), ('now', 'Immediately'), ('00:00', '00:00'), ('00:15', '00:15'), ('00:30', '00:30'), ('00:45', '00:45'), ('01:00', '01:00'), ('01:15', '01:15'), ('01:30', '01:30'), ('01:45', '01:45'), ('02:00', '02:00'), ('02:15', '02:15'), ('02:30', '02:30'), ('02:45', '02:45'), ('03:00', '03:00'), ('03:15', '03:15'), ('03:30', '03:30'), ('03:45', '03:45'), ('04:00', '04:00'), ('04:15', '04:15'), ('04:30', '04:30'), ('04:45', '04:45'), ('05:00', '05:00'), ('05:15', '05:15'), ('05:30', '05:30'), ('05:45', '05:45'), ('06:00', '06:00'), ('06:15', '06:15'), ('06:30', '06:30'), ('06:45', '06:45'), ('07:00', '07:00'), ('07:15', '07:15'), ('07:30', '07:30'), ('07:45', '07:45'), ('08:00', '08:00'), ('08:15', '08:15'), ('08:30', '08:30'), ('08:45', '08:45'), ('09:00', '09:00'), ('09:15', '09:15'), ('09:30', '09:30'), ('09:45', '09:45'), ('10:00', '10:00'), ('10:15', '10:15'), ('10:30', '10:30'), ('10:45', '10:45'), ('11:00', '11:00'), ('11:15', '11:15'), ('11:30', '11:30'), ('11:45', '11:45'), ('12:00', '12:00'), ('12:15', '12:15'), ('12:30', '12:30'), ('12:45', '12:45'), ('13:00', '13:00'), ('13:15', '13:15'), ('13:30', '13:30'), ('13:45', '13:45'), ('14:00', '14:00'), ('14:15', '14:15'), ('14:30', '14:30'), ('14:45', '14:45'), ('15:00', '15:00'), ('15:15', '15:15'), ('15:30', '15:30'), ('15:45', '15:45'), ('16:00', '16:00'), ('16:15', '16:15'), ('16:30', '16:30'), ('16:45', '16:45'), ('17:00', '17:00'), ('17:15', '17:15'), ('17:30', '17:30'), ('17:45', '17:45'), ('18:00', '18:00'), ('18:15', '18:15'), ('18:30', '18:30'), ('18:45', '18:45'), ('19:00', '19:00'), ('19:15', '19:15'), ('19:30', '19:30'), ('19:45', '19:45'), ('20:00', '20:00'), ('20:15', '20:15'), ('20:30', '20:30'), ('20:45', '20:45'), ('21:00', '21:00'), ('21:15', '21:15'), ('21:30', '21:30'), ('21:45', '21:45'), ('22:00', '22:00'), ('22:15', '22:15'), ('22:30', '22:30'), ('22:45', '22:45'), ('23:00', '23:00'), ('23:15', '23:15'), ('23:30', '23:30'), ('23:45', '23:45')]
_time = '23:45'
hour = 23
minute = 45
class univention.admin.syntax.optionsUsersUser[source]

Bases: univention.admin.syntax.select

Syntax to select options for UDM module univention.admin.handlers.users.user.

choices = [('pki', 'Public key infrastructure account')]
classmethod update_choices()[source]
class univention.admin.syntax.nagiosHostsEnabledDn[source]

Bases: univention.admin.syntax.UDM_Objects

Syntax to select Nagios enabled hosts from LDAP.

udm_modules = ('computers/computer',)
udm_filter = '(&(!(univentionObjectFlag=docker))(objectClass=univentionNagiosHostClass)(univentionNagiosEnabled=1)(aRecord=*))'
class univention.admin.syntax.nagiosServiceDn[source]

Bases: univention.admin.syntax.UDM_Objects

Syntax to select a Nagios services from LDAP using univention.admin.handlers.nagios.service.

udm_modules = ('nagios/service',)
class univention.admin.syntax.UCR_Variable[source]

Bases: univention.admin.syntax.complex

Syntax to enter UCR variable name and value.

subsyntaxes = (('Variable', <class 'univention.admin.syntax.string'>), ('Value', <class 'univention.admin.syntax.string'>))
subsyntax_names = ('variable', 'value')
subsyntax_key_value = True

Bases: univention.admin.syntax.select

Selection list from LDAP search.

Searches can be either defined dynamically via a UDM settings/syntax definition and using

LDAP_Search( syntax_name = ‘<NAME>’ )

or programmatically by directly instantiating

LDAP_Search( filter = ‘<LDAP-Search-Filter>’, attribute = [ ‘<LDAP attributes>’, ... ], value = ‘<LDAP attribute>’, base = ‘<LDAP base>’ )

Creates an syntax object providing a list of choices defined by a LDAP objects

Parameters:
  • syntax_name – name of the syntax LDAP object.
  • filter – an LDAP filter to find the LDAP objects providing the list of choices. The filter may contain patterns, that are ...
  • attribute – a list of UDM module attributes definitions like shares/share: dn to be used as human readable representation for each element of the choices.
  • value – the UDM module attribute that will be stored to identify the selected element. The value is specified like shares/share: dn.
  • viewonly – If set to True the values can not be changed.
  • addEmptyValue – If set to True an empty value is add to the list of choices.
  • appendEmptyValue – Same as addEmptyValue but added at the end. Used to automatically choose an existing entry in frontend.
FILTER_PATTERN = '(&(objectClass=univentionSyntax)(cn=%s))'
classmethod parse(text)[source]
_load(lo)[source]

Loads an LDAP_Search object from the LDAP directory. If no syntax name is given the object is expected to be created with the required settings programmatically.

_prepare(lo, filter=None)[source]
class univention.admin.syntax.nfsShare[source]

Bases: univention.admin.syntax.UDM_Objects

Syntax for selecting defined NFS shares.

See also

udm_modules = ('shares/share',)
label = '%(name)s (%(host)s)'
udm_filter = 'objectClass=univentionShareNFS'
use_objects = False
class univention.admin.syntax.nfsMounts[source]

Bases: univention.admin.syntax.complex

Syntax to define a NFS mount point.

subsyntaxes = [('NFS share', <class 'univention.admin.syntax.nfsShare'>), ('Mount point', <class 'univention.admin.syntax.string'>)]
subsyntax_names = ('nfs-share', 'mount-point')
all_required = True
class univention.admin.syntax.languageCode[source]

Bases: univention.admin.syntax.string

Syntax for a language, e.g. language_COUNTRY.

min_length = 5
max_length = 5
_re = <_sre.SRE_Pattern object>
classmethod parse(text)[source]
class univention.admin.syntax.translationTuple[source]

Bases: univention.admin.syntax.complex

Syntax for some translatable text.

delimiter = ': '
subsyntaxes = [('Language code (e.g. en_US)', <class 'univention.admin.syntax.languageCode'>), ('Text', <class 'univention.admin.syntax.string'>)]
subsyntax_key_value = True
all_required = 1
class univention.admin.syntax.translationTupleShortDescription[source]

Bases: univention.admin.syntax.translationTuple

Syntax for a translated short description of an UDM property.

subsyntaxes = [('Language code (e.g. en_US)', <class 'univention.admin.syntax.languageCode'>), ('Translated short description', <class 'univention.admin.syntax.string'>)]
class univention.admin.syntax.translationTupleLongDescription[source]

Bases: univention.admin.syntax.translationTuple

Syntax for a translated long description of an UDM property.

subsyntaxes = [('Language code (e.g. en_US)', <class 'univention.admin.syntax.languageCode'>), ('Translated long description', <class 'univention.admin.syntax.string'>)]
class univention.admin.syntax.translationTupleTabName[source]

Bases: univention.admin.syntax.translationTuple

Syntax for a translated UMC tab name for an UDM property.

subsyntaxes = [('Language code (e.g. en_US)', <class 'univention.admin.syntax.languageCode'>), ('Translated tab name', <class 'univention.admin.syntax.string'>)]
class univention.admin.syntax.I18N_GroupName[source]

Bases: univention.admin.syntax.translationTuple

Syntax for a translated group name.

subsyntaxes = [('Language code (e.g. en_US)', <class 'univention.admin.syntax.languageCode'>), ('Translated group name', <class 'univention.admin.syntax.string'>)]
class univention.admin.syntax.disabled[source]

Bases: univention.admin.syntax.boolean

Syntax to select account disabled state.

classmethod parse(text)[source]
class univention.admin.syntax.locked[source]

Bases: univention.admin.syntax.boolean

Syntax to select account locked state.

classmethod parse(text)[source]
class univention.admin.syntax.Printers[source]

Bases: univention.admin.syntax.UDM_Objects

Syntax to select a printers from LDAP using univention.admin.handlers.shares.printer.

See also

udm_modules = ('shares/printer',)
depends = 'spoolHost'
simple = True
key = '%(name)s'
classmethod udm_filter(options)[source]
class univention.admin.syntax.PrinterNames[source]

Bases: univention.admin.syntax.UDM_Objects

Syntax to select a printers from LDAP using univention.admin.handlers.shares.printer.

See also

udm_modules = ('shares/printer',)
depends = 'spoolHost'
simple = True
key = '%(name)s'
regex = <_sre.SRE_Pattern object>
classmethod udm_filter(options)[source]
class univention.admin.syntax.PrintQuotaGroup[source]

Bases: univention.admin.syntax.complex

Syntax to configure a page quota for all users of a group together.

subsyntaxes = (('Soft limit (pages)', <class 'univention.admin.syntax.integer'>), ('Hard limit (pages)', <class 'univention.admin.syntax.integer'>), ('Group', <class 'univention.admin.syntax.GroupName'>))
subsyntax_names = ('soft-limit', 'hard-limit', 'group')
class univention.admin.syntax.PrintQuotaGroupPerUser[source]

Bases: univention.admin.syntax.complex

Syntax to configure a page quota for all individual users of a group.

subsyntaxes = (('Soft limit (pages)', <class 'univention.admin.syntax.integer'>), ('Hard limit (pages)', <class 'univention.admin.syntax.integer'>), ('Group', <class 'univention.admin.syntax.GroupName'>))
subsyntax_names = ('soft-limit', 'hard-limit', 'group')
class univention.admin.syntax.PrintQuotaUser[source]

Bases: univention.admin.syntax.complex

Syntax to configure a page quota for an individual user.

subsyntaxes = (('Soft limit (pages)', <class 'univention.admin.syntax.integer'>), ('Hard limit (pages)', <class 'univention.admin.syntax.integer'>), ('User', <class 'univention.admin.syntax.UserName'>))
subsyntax_names = ('soft-limit', 'hard-limit', 'group')
class univention.admin.syntax.printerName[source]

Bases: univention.admin.syntax.simple

Syntax to enter a printer name.

min_length = 1
max_length = 16
_re = <_sre.SRE_Pattern object>
classmethod parse(text)[source]
class univention.admin.syntax.printerModel[source]

Bases: univention.admin.syntax.complex

Syntax to enter a printer model description.

subsyntaxes = [('Driver', <class 'univention.admin.syntax.string'>), ('Description', <class 'univention.admin.syntax.string'>)]
subsyntax_names = ('driver', 'description')
all_required = True
class univention.admin.syntax.PrinterDriverList[source]

Bases: univention.admin.syntax.UDM_Attribute

Syntax to select a printer driver from LDAP using univention.admin.handlers.settings.printermodel.

udm_module = 'settings/printermodel'
attribute = 'printmodel'
is_complex = True
key_index = 0
label_index = 1
udm_filter = 'dn'
depends = 'producer'
class univention.admin.syntax.PrinterProducerList[source]

Bases: univention.admin.syntax.UDM_Objects

Syntax to select a printer producer from LDAP using univention.admin.handlers.settings.printermodel.

udm_modules = ('settings/printermodel',)
label = '%(name)s'
class univention.admin.syntax.PrinterProtocol[source]

Bases: univention.admin.syntax.UDM_Attribute

Syntax to select a printer URI from LDAP using univention.admin.handlers.settings.printeruri.

udm_module = 'settings/printeruri'
attribute = 'printeruri'
is_complex = False
class univention.admin.syntax.PrinterURI[source]

Bases: univention.admin.syntax.complex

Syntax to configure printer.

subsyntaxes = (('Protocol', <class 'univention.admin.syntax.PrinterProtocol'>), ('Destination', <class 'univention.admin.syntax.string'>))
subsyntax_names = ('protocol', 'destination')
classmethod parse(texts)[source]
class univention.admin.syntax.policyName[source]

Bases: univention.admin.syntax.string

Syntax to enter UDM policy name.

_re = <_sre.SRE_Pattern object>
classmethod parse(text)[source]
class univention.admin.syntax.Portals[source]

Bases: univention.admin.syntax.UDM_Objects

Syntax to select a portal from LDAP using univention.admin.handlers.settings.portal.

udm_modules = ('settings/portal',)
label = '%(name)s'
empty_value = True
class univention.admin.syntax.PortalEntries[source]

Bases: univention.admin.syntax.UDM_Objects

Syntax to select a portal entries from LDAP using univention.admin.handlers.settings.portal_entry.

udm_modules = ('settings/portal_entry',)
label = '%(name)s'
empty_value = True
class univention.admin.syntax.PortalLinksPosition[source]

Bases: univention.admin.syntax.select

Syntax to select the position of links on the portal.

choices = [('footer', 'Footer')]

Bases: univention.admin.syntax.complex

Syntax to configure links on the portal.

delimiter = '$$'
subsyntaxes = [('Position', <class 'univention.admin.syntax.PortalLinksPosition'>), ('Link', <class 'univention.admin.syntax.string'>), ('Locale', <class 'univention.admin.syntax.languageCode'>), ('Name', <class 'univention.admin.syntax.string'>)]
subsyntax_names = ('position', 'link', 'locale', 'name')
all_required = True
class univention.admin.syntax.PortalCategory[source]

Bases: univention.admin.syntax.select

Syntax to select a portal category version 1 from a static list with just 2 categories.

See also

choices = [('admin', 'Shown in category "Administration"'), ('service', 'Shown in category "Installed services"')]
class univention.admin.syntax.PortalCategoryV2[source]

Bases: univention.admin.syntax.UDM_Objects

Syntax to select a portal category version 2 from LDAP using univention.admin.handlers.settings.portal_category.

See also

udm_modules = ('settings/portal_category',)
label = '%(name)s'
empty_value = True
class univention.admin.syntax.PortalEntrySelection[source]

Bases: univention.admin.syntax.complex

Syntax to select a portal entry.

subsyntaxes = [('Portal Entry', <class 'univention.admin.syntax.PortalEntries'>)]
subsyntax_names = ('portal-entry',)
class univention.admin.syntax.ExampleSyntax

Bases: univention.admin.syntax.select

This is an example for a syntax having 3 values.

choices = [('value1', 'This item selects value 1'), ('value2', 'This item selects value 2'), ('value3', 'This item selects value 3')]
class univention.admin.syntax.SignedInteger

Bases: univention.admin.syntax.integer

classmethod parse(text)
class univention.admin.syntax.UvmmCapacity

Bases: univention.admin.syntax.simple

error_message = 'Value must be an positive capacity (xx.x [kmgtp][[i]B])'
max_length = 0
min_length = 1
regex = <_sre.SRE_Pattern object>
class univention.admin.syntax.UvmmCloudType

Bases: univention.admin.syntax.UDM_Objects

description = 'UVMM: Cloud Types'
label = '%(name)s'
udm_modules = ('uvmm/cloudtype',)
use_objects = False
class univention.admin.syntax.UvmmProfiles

Bases: univention.admin.syntax.UDM_Objects

description = 'UVMM: Profile'
empty_value = True
label = '%(name)s (%(virttech)s)'
udm_modules = ('uvmm/profile',)
use_objects = False
class univention.admin.syntax.attributeMapping

Bases: univention.admin.syntax.complex

Syntax for key-value-pairs separated by = where the value is optional.

all_required = 0
delimiter = ' = '
min_elements = 1
subsyntax_key_value = True
subsyntaxes = [('LDAP Attribute Name', <class 'univention.admin.syntax.string'>), ('Service Attribute Name', <class 'univention.admin.syntax.string'>)]
class univention.admin.syntax.samlserviceprovider

Bases: univention.admin.syntax.UDM_Objects

regex = None
udm_modules = ('saml/serviceprovider',)
class univention.admin.syntax.PortalCategorySelection[source]

Bases: univention.admin.syntax.simple

Syntax to select a portal category.

subsyntaxes = [('Portal Category', <class 'univention.admin.syntax.PortalCategoryV2'>), ('Portal Entry', <class 'univention.admin.syntax.PortalEntrySelection'>)]
subsyntax_names = ('portal-category', 'portal-entry')
classmethod parse(texts, minn=None)[source]
classmethod tostring(texts)[source]
class univention.admin.syntax.AuthRestriction[source]

Bases: univention.admin.syntax.select

Syntax to select the authentication restriction for the portal.

choices = [('admin', 'Visible for Admins only'), ('authenticated', 'Visible for authenticated users'), ('anonymous', 'Visible for everyone')]
class univention.admin.syntax.PortalFontColor[source]

Bases: univention.admin.syntax.select

Syntax to select the color of the font in the portal.

choices = [('white', 'White'), ('black', 'Black')]
class univention.admin.syntax.PortalDefaultLinkTarget[source]

Bases: univention.admin.syntax.select

choices = [('samewindow', 'Same tab'), ('newwindow', 'New tab')]
class univention.admin.syntax.PortalEntryLinkTarget[source]

Bases: univention.admin.syntax.select

choices = [('useportaldefault', 'Use default of portal'), ('samewindow', 'Same tab'), ('newwindow', 'New tab')]
class univention.admin.syntax.LocalizedDisplayName[source]

Bases: univention.admin.syntax.translationTuple

Syntax for a translated display name of a portal entry.

subsyntaxes = [('Language code (e.g. en_US)', <class 'univention.admin.syntax.languageCode'>), ('Display Name', <class 'univention.admin.syntax.string'>)]
class univention.admin.syntax.LocalizedDescription[source]

Bases: univention.admin.syntax.translationTuple

Syntax for a translated description of a portal entry.

subsyntaxes = [('Language code (e.g. en_US)', <class 'univention.admin.syntax.languageCode'>), ('Description', <class 'univention.admin.syntax.string'>)]
class univention.admin.syntax.LocalizedAnonymousEmpty[source]

Bases: univention.admin.syntax.translationTuple

Syntax for a translated description of a portal entry. In addition to LocalizedDescription it allows to specify a fallback for anonymous visitors.

subsyntaxes = [('Language code (e.g. en_US)', <class 'univention.admin.syntax.languageCode'>), ('Message that is shown to anonymous visitors when the portal is empty', <class 'univention.admin.syntax.TwoEditor'>)]
class univention.admin.syntax.mailHomeServer[source]

Bases: univention.admin.syntax.LDAP_Search

Syntax to select UCS servers providing the IMAP service.

Deprecated since version 3.2-1: Use MailHomeServer.

class univention.admin.syntax.hostname_or_ipadress_or_network[source]

Bases: univention.admin.syntax.simple

Syntax for (fully qualified) host name or IP address or IP network.

>>> hostname_or_ipadress_or_network.parse('hostname')
'hostname'
>>> hostname_or_ipadress_or_network.parse('10.10.10.0/24')
'10.10.10.0/24'
>>> hostname_or_ipadress_or_network.parse('10.10.10.0/255.255.255.0')
'10.10.10.0/255.255.255.0'
>>> hostname_or_ipadress_or_network.parse('illegalhostname$!"§%&/(') 
Traceback (most recent call last):
...
valueError:
>>> hostname_or_ipadress_or_network.parse('10.10.10.0/') 
Traceback (most recent call last):
...
valueError:
>>> hostname_or_ipadress_or_network.parse('/24') 
Traceback (most recent call last):
...
valueError:
>>> hostname_or_ipadress_or_network.parse('10.10.10.0/255') 
Traceback (most recent call last):
...
valueError:
classmethod parse(text)[source]
class univention.admin.syntax.ObjectFlag[source]

Bases: univention.admin.syntax.select

Syntax for UDM object flags.

empty_value = True
choices = [('hidden', 'Mark this object as hidden'), ('temporary', 'Mark this object as temporary'), ('functional', 'Ignore this object in standard UDM modules'), ('docker', 'This object is related to a Docker App container'), ('synced', 'This object is synchronized from Active Directory')]
class univention.admin.syntax.Country[source]

Bases: univention.admin.syntax.select

Syntax for selecting a country by name. Stored as the ISO 3166-1 two-letter country code.

empty_value = True
choices = [('AF', u'Afghanistan'), ('AL', u'Albania'), ('DZ', u'Algeria'), ('AS', u'American Samoa'), ('AD', u'Andorra'), ('AO', u'Angola'), ('AI', u'Anguilla'), ('AQ', u'Antarctica'), ('AG', u'Antigua and Barbuda'), ('AR', u'Argentina'), ('AM', u'Armenia'), ('AW', u'Aruba'), ('AU', u'Australia'), ('AT', u'Austria'), ('AZ', u'Azerbaijan'), ('BS', u'Bahamas'), ('BH', u'Bahrain'), ('BD', u'Bangladesh'), ('BB', u'Barbados'), ('BY', u'Belarus'), ('BE', u'Belgium'), ('BZ', u'Belize'), ('BJ', u'Benin'), ('BM', u'Bermuda'), ('BT', u'Bhutan'), ('BO', u'Bolivia, Plurinational State of'), ('BQ', u'Bonaire, Sint Eustatius and Saba'), ('BA', u'Bosnia and Herzegovina'), ('BW', u'Botswana'), ('BV', u'Bouvet Island'), ('BR', u'Brazil'), ('IO', u'British Indian Ocean Territory'), ('BN', u'Brunei Darussalam'), ('BG', u'Bulgaria'), ('BF', u'Burkina Faso'), ('BI', u'Burundi'), ('CV', u'Cabo Verde'), ('KH', u'Cambodia'), ('CM', u'Cameroon'), ('CA', u'Canada'), ('KY', u'Cayman Islands'), ('CF', u'Central African Republic'), ('TD', u'Chad'), ('CL', u'Chile'), ('CN', u'China'), ('CX', u'Christmas Island'), ('CC', u'Cocos (Keeling) Islands'), ('CO', u'Colombia'), ('KM', u'Comoros'), ('CG', u'Congo'), ('CD', u'Congo, The Democratic Republic of the'), ('CK', u'Cook Islands'), ('CR', u'Costa Rica'), ('HR', u'Croatia'), ('CU', u'Cuba'), ('CW', u'Cura\xe7ao'), ('CY', u'Cyprus'), ('CZ', u'Czechia'), ('CI', u"C\xf4te d'Ivoire"), ('DK', u'Denmark'), ('DJ', u'Djibouti'), ('DM', u'Dominica'), ('DO', u'Dominican Republic'), ('EC', u'Ecuador'), ('EG', u'Egypt'), ('SV', u'El Salvador'), ('GQ', u'Equatorial Guinea'), ('ER', u'Eritrea'), ('EE', u'Estonia'), ('ET', u'Ethiopia'), ('FK', u'Falkland Islands (Malvinas)'), ('FO', u'Faroe Islands'), ('FJ', u'Fiji'), ('FI', u'Finland'), ('FR', u'France'), ('GF', u'French Guiana'), ('PF', u'French Polynesia'), ('TF', u'French Southern Territories'), ('GA', u'Gabon'), ('GM', u'Gambia'), ('GE', u'Georgia'), ('DE', u'Germany'), ('GH', u'Ghana'), ('GI', u'Gibraltar'), ('GR', u'Greece'), ('GL', u'Greenland'), ('GD', u'Grenada'), ('GP', u'Guadeloupe'), ('GU', u'Guam'), ('GT', u'Guatemala'), ('GG', u'Guernsey'), ('GN', u'Guinea'), ('GW', u'Guinea-Bissau'), ('GY', u'Guyana'), ('HT', u'Haiti'), ('HM', u'Heard Island and McDonald Islands'), ('VA', u'Holy See (Vatican City State)'), ('HN', u'Honduras'), ('HK', u'Hong Kong'), ('HU', u'Hungary'), ('IS', u'Iceland'), ('IN', u'India'), ('ID', u'Indonesia'), ('IR', u'Iran, Islamic Republic of'), ('IQ', u'Iraq'), ('IE', u'Ireland'), ('IM', u'Isle of Man'), ('IL', u'Israel'), ('IT', u'Italy'), ('JM', u'Jamaica'), ('JP', u'Japan'), ('JE', u'Jersey'), ('JO', u'Jordan'), ('KZ', u'Kazakhstan'), ('KE', u'Kenya'), ('KI', u'Kiribati'), ('KP', u"Korea, Democratic People's Republic of"), ('KR', u'Korea, Republic of'), ('KW', u'Kuwait'), ('KG', u'Kyrgyzstan'), ('LA', u"Lao People's Democratic Republic"), ('LV', u'Latvia'), ('LB', u'Lebanon'), ('LS', u'Lesotho'), ('LR', u'Liberia'), ('LY', u'Libya'), ('LI', u'Liechtenstein'), ('LT', u'Lithuania'), ('LU', u'Luxembourg'), ('MO', u'Macao'), ('MK', u'Macedonia, Republic of'), ('MG', u'Madagascar'), ('MW', u'Malawi'), ('MY', u'Malaysia'), ('MV', u'Maldives'), ('ML', u'Mali'), ('MT', u'Malta'), ('MH', u'Marshall Islands'), ('MQ', u'Martinique'), ('MR', u'Mauritania'), ('MU', u'Mauritius'), ('YT', u'Mayotte'), ('MX', u'Mexico'), ('FM', u'Micronesia, Federated States of'), ('MD', u'Moldova, Republic of'), ('MC', u'Monaco'), ('MN', u'Mongolia'), ('ME', u'Montenegro'), ('MS', u'Montserrat'), ('MA', u'Morocco'), ('MZ', u'Mozambique'), ('MM', u'Myanmar'), ('NA', u'Namibia'), ('NR', u'Nauru'), ('NP', u'Nepal'), ('NL', u'Netherlands'), ('NC', u'New Caledonia'), ('NZ', u'New Zealand'), ('NI', u'Nicaragua'), ('NE', u'Niger'), ('NG', u'Nigeria'), ('NU', u'Niue'), ('NF', u'Norfolk Island'), ('MP', u'Northern Mariana Islands'), ('NO', u'Norway'), ('OM', u'Oman'), ('PK', u'Pakistan'), ('PW', u'Palau'), ('PS', u'Palestine, State of'), ('PA', u'Panama'), ('PG', u'Papua New Guinea'), ('PY', u'Paraguay'), ('PE', u'Peru'), ('PH', u'Philippines'), ('PN', u'Pitcairn'), ('PL', u'Poland'), ('PT', u'Portugal'), ('PR', u'Puerto Rico'), ('QA', u'Qatar'), ('RO', u'Romania'), ('RU', u'Russian Federation'), ('RW', u'Rwanda'), ('RE', u'R\xe9union'), ('BL', u'Saint Barth\xe9lemy'), ('SH', u'Saint Helena, Ascension and Tristan da Cunha'), ('KN', u'Saint Kitts and Nevis'), ('LC', u'Saint Lucia'), ('MF', u'Saint Martin (French part)'), ('PM', u'Saint Pierre and Miquelon'), ('VC', u'Saint Vincent and the Grenadines'), ('WS', u'Samoa'), ('SM', u'San Marino'), ('ST', u'Sao Tome and Principe'), ('SA', u'Saudi Arabia'), ('SN', u'Senegal'), ('RS', u'Serbia'), ('SC', u'Seychelles'), ('SL', u'Sierra Leone'), ('SG', u'Singapore'), ('SX', u'Sint Maarten (Dutch part)'), ('SK', u'Slovakia'), ('SI', u'Slovenia'), ('SB', u'Solomon Islands'), ('SO', u'Somalia'), ('ZA', u'South Africa'), ('GS', u'South Georgia and the South Sandwich Islands'), ('SS', u'South Sudan'), ('ES', u'Spain'), ('LK', u'Sri Lanka'), ('SD', u'Sudan'), ('SR', u'Suriname'), ('SJ', u'Svalbard and Jan Mayen'), ('SZ', u'Swaziland'), ('SE', u'Sweden'), ('CH', u'Switzerland'), ('SY', u'Syrian Arab Republic'), ('TW', u'Taiwan, Province of China'), ('TJ', u'Tajikistan'), ('TZ', u'Tanzania, United Republic of'), ('TH', u'Thailand'), ('TL', u'Timor-Leste'), ('TG', u'Togo'), ('TK', u'Tokelau'), ('TO', u'Tonga'), ('TT', u'Trinidad and Tobago'), ('TN', u'Tunisia'), ('TR', u'Turkey'), ('TM', u'Turkmenistan'), ('TC', u'Turks and Caicos Islands'), ('TV', u'Tuvalu'), ('UG', u'Uganda'), ('UA', u'Ukraine'), ('AE', u'United Arab Emirates'), ('GB', u'United Kingdom'), ('US', u'United States'), ('UM', u'United States Minor Outlying Islands'), ('UY', u'Uruguay'), ('UZ', u'Uzbekistan'), ('VU', u'Vanuatu'), ('VE', u'Venezuela, Bolivarian Republic of'), ('VN', u'Viet Nam'), ('VG', u'Virgin Islands, British'), ('VI', u'Virgin Islands, U.S.'), ('WF', u'Wallis and Futuna'), ('EH', u'Western Sahara'), ('YE', u'Yemen'), ('ZM', u'Zambia'), ('ZW', u'Zimbabwe'), ('AX', u'\xc5land Islands')]
classmethod update_choices()[source]
class univention.admin.syntax.RadiusClientType[source]

Bases: univention.admin.syntax.select

choices = [('other', 'other'), ('cisco', 'cisco'), ('computone', 'computone'), ('livingston', 'livingston'), ('juniper', 'juniper'), ('max40xx', 'max40xx'), ('multitech', 'multitech'), ('netserver', 'netserver'), ('pathras', 'pathras'), ('patton', 'patton'), ('portslave', 'portslave'), ('tc', 'tc'), ('usrhiper', 'usrhiper')]
class univention.admin.syntax.mailinglist_name[source]

Bases: univention.admin.syntax.gid

error_message = 'A mailing list name must start and end with a letter, number or underscore. In between additionally spaces, dashes and dots are allowed.'

univention.admin.types module

UDM type definitions.

class univention.admin.types.TypeHint(property, property_name)[source]

Bases: object

_python_types

alias of object

_json_type
_openapi_type = None
_openapi_format = None
_openapi_regex = None
_openapi_example = None
_openapi_readonly = None
_openapi_writeonly = None
_openapi_nullable = True
_umc_widget = None
_umc_widget_size = None
_html_element = None
_html_input_type = None
_encoding = None
_minimum = -inf
_maximum = inf
_required = False
_default_value = None
_default_search_value = None
_only_printable = False
_allow_empty_value = False
_encodes_none = False

None is a valid value for the syntax class, otherwise None means remove

_blacklist = ()
_dependencies = None
_syntax
decode(value)[source]

Decode the given value from an UDM object’s property into a python type. This must be graceful. Invalid values set at UDM object properties should not cause an exception!

Note

Do not overwrite in subclass!

encode(value)[source]

Encode a value of python type into a string / list / None / etc. suitable for setting at the UDM object.

Note

Do not overwrite in subclass!

decode_json(value)[source]
encode_json(value)[source]
to_json_type(value)[source]

Transform the value resulting from self.decode() into something suitable to transmit via JSON.

For example, a python datetime.date object into the JSON string with a date format “2019-08-30”.

from_json_type(value)[source]

Transform a value from a JSON object into the internal python type.

For example, converts a JSON string “2019-08-30” into a python datetime.date object.

Warning

When overwriting the type must be checked!

decode_value(value)[source]

Decode the value into a python object.

Note

suitable for subclassing.

encode_value(value)[source]

Encode the value into a UDM property value.

Note

suitable for subclassing.

_from_json_type(value)[source]
_to_json_type(value)[source]
type_check(value, types=None)[source]

Checks if the value has the correct python type

type_check_json(value)[source]
type_check_subitems(value)[source]
tostring(value)[source]

A printable representation for e.g. the CLI or grid columns in UMC

parse_command_line(value)[source]

Parse a string from the command line

get_openapi_definition()[source]
openapi_definition()[source]
get_choices()[source]
has_dynamic_choices()[source]
get_dynamic_choices()[source]
reload_dynamic_choices()[source]
classmethod detect(property, name)[source]

Detect the univention.admin.types.TypeHint type of a property automatically.

We need this to be backwards compatible, with handlers, we don’t influence.

First considered is the property.type_class which can be explicit set in the module handler.

Otherwise, it depends on wheather the field is multivalue or not: multivalue: A unordered Set of syntax.type_class items singlevalue: syntax.type_class is used.

class univention.admin.types.NoneType(property, property_name)[source]

Bases: univention.admin.types.TypeHint

_python_types

alias of NoneType

_openapi_type = 'void'
_encodes_none = True
class univention.admin.types.BooleanType(property, property_name)[source]

Bases: univention.admin.types.TypeHint

_python_types

alias of bool

_openapi_type = 'boolean'
decode_value(value)[source]
class univention.admin.types.TriBooleanType(property, property_name)[source]

Bases: univention.admin.types.BooleanType

_encodes_none = True
_python_types = (<type 'bool'>, <type 'NoneType'>)
class univention.admin.types.IntegerType(property, property_name)[source]

Bases: univention.admin.types.TypeHint

_python_types = (<type 'int'>, <type 'long'>)
_openapi_type = 'integer'
decode_value(value)[source]
class univention.admin.types.NumberType(property, property_name)[source]

Bases: univention.admin.types.TypeHint

_python_types

alias of float

_openapi_type = 'number'
_openapi_format = 'double'
class univention.admin.types.StringType(property, property_name)[source]

Bases: univention.admin.types.TypeHint

_python_types

alias of unicode

_encoding = 'UTF-8'
_openapi_type = 'string'
decode_value(value)[source]
class univention.admin.types.Base64Type(property, property_name)[source]

Bases: univention.admin.types.StringType

_openapi_format = 'byte'
class univention.admin.types.PasswordType(property, property_name)[source]

Bases: univention.admin.types.StringType

_openapi_format = 'password'
_openapi_example = 'univention'
_openapi_readonly = True
class univention.admin.types.DistinguishedNameType(property, property_name)[source]

Bases: univention.admin.types.StringType

_openapi_format = 'ldap-dn'
_openapi_example = 'dc=example,dc=net'
encode_value(value)[source]
class univention.admin.types.LDAPFilterType(property, property_name)[source]

Bases: univention.admin.types.StringType

_openapi_format = 'ldap-filter'
class univention.admin.types.EMailAddressType(property, property_name)[source]

Bases: univention.admin.types.StringType

_openapi_format = 'email'
_minimum = 3
class univention.admin.types.BinaryType(property, property_name)[source]

Bases: univention.admin.types.TypeHint

Warning

Using this type bloats up the JSON value with a high factor for non ascii data.

See also

use univention.admin.types.Base64Type instead

_python_types

alias of str

_encoding = 'ISO8859-1'
_json_type

alias of unicode

_json_encoding = 'ISO8859-1'
_openapi_type = 'string'
_openapi_format = 'binary'
_to_json_type(value)[source]
_from_json_type(value)[source]
class univention.admin.types.DateType(property, property_name)[source]

Bases: univention.admin.types.StringType

_python_types

alias of date

_json_type

alias of unicode

_openapi_format = 'date'
decode_value(value)[source]
encode_value(value)[source]
_to_json_type(value)[source]
_from_json_type(value)[source]
class univention.admin.types.TimeType(property, property_name)[source]

Bases: univention.admin.types.StringType

_python_types

alias of time

_json_type

alias of unicode

_openapi_format = 'time'
decode_value(value)[source]
encode_value(value)[source]
_to_json_type(value)[source]
_from_json_type(value)[source]
class univention.admin.types.DateTimeType(property, property_name)[source]

Bases: univention.admin.types.StringType

A DateTime syntax classes using this type must support the method from_datetime(), which returns something valid for syntax.parse()

_python_types

alias of datetime

_json_type

alias of unicode

_openapi_format = 'date-time'
decode_value(value)[source]
encode_value(value)[source]
_to_json_type(value)[source]
_from_json_type(value)[source]
class univention.admin.types.ArrayType(property, property_name)[source]

Bases: univention.admin.types.TypeHint

_python_types

alias of list

_openapi_type = 'array'
_openapi_unique = False
class univention.admin.types.ListType(property, property_name)[source]

Bases: univention.admin.types.ArrayType

item_type = None
type_check_subitems(value)[source]
openapi_definition()[source]
encode_value(value)[source]
decode_value(value)[source]
class univention.admin.types.SetType(property, property_name)[source]

Bases: univention.admin.types.ListType

_openapi_unique = True
_SetType__encode_value(value)
class univention.admin.types.ListOfItems(property, property_name)[source]

Bases: univention.admin.types.ArrayType

item_types = None
minimum
maximum
type_check_subitems(value)[source]
encode_value(value)[source]
decode_value(value)[source]
openapi_definition()[source]
class univention.admin.types.DictionaryType(property, property_name)[source]

Bases: univention.admin.types.TypeHint

_python_types

alias of dict

_openapi_type = 'object'
properties = None
decode_value(value)[source]
encode_value(value)[source]
openapi_definition()[source]
class univention.admin.types.KeyValueDictionaryType(property, property_name)[source]

Bases: univention.admin.types.DictionaryType

key_type = None
value_type = None
class univention.admin.types.SambaLogonHours(property, property_name)[source]

Bases: univention.admin.types.ListType

item_type

alias of StringType

_weekdays = ('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat')
decode_value(value)[source]
encode_value(value)[source]
class univention.admin.types.AppcenterTranslation(property, property_name)[source]

Bases: univention.admin.types.KeyValueDictionaryType

key_type

alias of StringType

value_type

alias of StringType

decode_value(value)[source]
encode_value(value)[source]
class univention.admin.types.UnixTimeinterval(property, property_name)[source]

Bases: univention.admin.types.IntegerType

decode_value(value)[source]
encode_value(value)[source]

univention.admin.uexceptions module

UDM exceptions.

exception univention.admin.uexceptions.base[source]

Bases: exceptions.Exception

message = ''
exception univention.admin.uexceptions.objectExists[source]

Bases: univention.admin.uexceptions.base

message = 'Object exists.'
exception univention.admin.uexceptions.noObject[source]

Bases: univention.admin.uexceptions.base

message = 'No such object.'
exception univention.admin.uexceptions.permissionDenied[source]

Bases: univention.admin.uexceptions.base

message = 'Permission denied.'
exception univention.admin.uexceptions.ldapError(*args, **kwargs)[source]

Bases: univention.admin.uexceptions.base

message = 'LDAP Error'
exception univention.admin.uexceptions.ldapTimeout[source]

Bases: univention.admin.uexceptions.base

message = 'The specified timeout for the LDAP search has been exceeded.'
exception univention.admin.uexceptions.ldapSizelimitExceeded[source]

Bases: univention.admin.uexceptions.base

message = 'The specified size limit for the LDAP search has been exceeded.'
exception univention.admin.uexceptions.insufficientInformation[source]

Bases: univention.admin.uexceptions.base

message = 'Information provided is not sufficient.'
exception univention.admin.uexceptions.noProperty[source]

Bases: univention.admin.uexceptions.base

message = 'No such property.'
exception univention.admin.uexceptions.valueError(*args, **kwargs)[source]

Bases: univention.admin.uexceptions.base

exception univention.admin.uexceptions.valueMayNotChange(*args, **kwargs)[source]

Bases: univention.admin.uexceptions.valueError

message = 'Value may not change.'
exception univention.admin.uexceptions.valueInvalidSyntax(*args, **kwargs)[source]

Bases: univention.admin.uexceptions.valueError

message = 'Invalid syntax.'
exception univention.admin.uexceptions.valueRequired(*args, **kwargs)[source]

Bases: univention.admin.uexceptions.valueError

message = 'Value is required.'
exception univention.admin.uexceptions.valueMismatch(*args, **kwargs)[source]

Bases: univention.admin.uexceptions.valueError

message = 'Values do not match.'
exception univention.admin.uexceptions.noLock[source]

Bases: univention.admin.uexceptions.base

message = 'Could not acquire lock.'
exception univention.admin.uexceptions.authFail[source]

Bases: univention.admin.uexceptions.base

message = 'Authentication Failed.'
exception univention.admin.uexceptions.uidAlreadyUsed[source]

Bases: univention.admin.uexceptions.base

message = 'The username is already in use as username or as groupname'
exception univention.admin.uexceptions.sidAlreadyUsed[source]

Bases: univention.admin.uexceptions.base

message = 'The relative ID (SAMBA) is already in use.'
exception univention.admin.uexceptions.groupNameAlreadyUsed[source]

Bases: univention.admin.uexceptions.base

message = 'The groupname is already in use as groupname or as username'
exception univention.admin.uexceptions.uidNumberAlreadyUsedAsGidNumber[source]

Bases: univention.admin.uexceptions.base

message = 'The uidNumber is already in use as a gidNumber'
exception univention.admin.uexceptions.gidNumberAlreadyUsedAsUidNumber[source]

Bases: univention.admin.uexceptions.base

message = 'The gidNumber is already in use as a uidNumber'
exception univention.admin.uexceptions.adGroupTypeChangeLocalToAny[source]

Bases: univention.admin.uexceptions.base

message = 'The AD group type can not be changed from type local to any other type.'
exception univention.admin.uexceptions.adGroupTypeChangeToLocal[source]

Bases: univention.admin.uexceptions.base

message = 'The AD group type can not be changed to type local.'
exception univention.admin.uexceptions.adGroupTypeChangeGlobalToUniversal[source]

Bases: univention.admin.uexceptions.base

message = 'The AD group type can not be changed from global to universal, because the group is member of another global group.'
exception univention.admin.uexceptions.adGroupTypeChangeDomainLocalToUniversal[source]

Bases: univention.admin.uexceptions.base

message = 'The AD group type can not be changed from domain local to universal, because the group has another domain local group as member.'
exception univention.admin.uexceptions.adGroupTypeChangeUniversalToGlobal[source]

Bases: univention.admin.uexceptions.base

message = 'The AD group type can not be changed from universal to global, because the group has another universal group as member.'
exception univention.admin.uexceptions.adGroupTypeChangeGlobalToDomainLocal[source]

Bases: univention.admin.uexceptions.base

message = 'The AD group type can not be changed from global to domain local.'
exception univention.admin.uexceptions.adGroupTypeChangeDomainLocalToGlobal[source]

Bases: univention.admin.uexceptions.base

message = 'The AD group type can not be changed from domain local to global.'
exception univention.admin.uexceptions.prohibitedUsername[source]

Bases: univention.admin.uexceptions.base

message = 'Prohibited username.'
exception univention.admin.uexceptions.ipAlreadyUsed[source]

Bases: univention.admin.uexceptions.base

message = 'IP address is already in use.'
exception univention.admin.uexceptions.dnsAliasAlreadyUsed[source]

Bases: univention.admin.uexceptions.base

message = 'DNS alias is already in use.'
exception univention.admin.uexceptions.invalidDhcpEntry[source]

Bases: univention.admin.uexceptions.base

message = 'The DHCP entry for this host should contain the zone DN, the IP address and the MAC address.'
exception univention.admin.uexceptions.invalidDNSAliasEntry[source]

Bases: univention.admin.uexceptions.base

message = 'The DNS alias entry for this host should contain the zone name, the alias zone container DN and the alias.'
exception univention.admin.uexceptions.InvalidDNS_Information[source]

Bases: univention.admin.uexceptions.base

message = 'The provided DNS information are invalid.'
exception univention.admin.uexceptions.nextFreeIp[source]

Bases: univention.admin.uexceptions.base

message = 'Next IP address not found.'
exception univention.admin.uexceptions.ipOverridesNetwork[source]

Bases: univention.admin.uexceptions.base

message = 'The given IP address is not within the range of the selected network'