Source code for univention.udm.modules.settings_directory

# SPDX-FileCopyrightText: 2018-2025 Univention GmbH
# SPDX-License-Identifier: AGPL-3.0-only

"""Module and object specific for "settings/directory" UDM module."""


from ..encoders import dn_list_property_encoder_for
from .generic import GenericModule, GenericObject, GenericObjectProperties


[docs] class SettingsDirectoryObjectProperties(GenericObjectProperties): """settings/directory UDM properties.""" _encoders = { 'computers': dn_list_property_encoder_for('container/cn'), 'dhcp': dn_list_property_encoder_for('container/cn'), 'dns': dn_list_property_encoder_for('container/cn'), 'groups': dn_list_property_encoder_for('container/cn'), 'license': dn_list_property_encoder_for('container/cn'), 'mail': dn_list_property_encoder_for('container/cn'), 'networks': dn_list_property_encoder_for('container/cn'), 'policies': dn_list_property_encoder_for('auto'), 'printers': dn_list_property_encoder_for('container/cn'), 'shares': dn_list_property_encoder_for('container/cn'), 'users': dn_list_property_encoder_for('container/cn'), }
[docs] class SettingsDirectoryObject(GenericObject): """Better representation of settings/directory properties.""" udm_prop_class = SettingsDirectoryObjectProperties
[docs] class SettingsDirectoryModule(GenericModule): """SettingsDirectoryObject factory""" _udm_object_class = SettingsDirectoryObject class Meta: supported_api_versions = [1, 2, 3] suitable_for = ['settings/directory']