ISC-DHCP LDAP Schema manipulation helper
Project description
Helper class that can simplyfy most of the tasks when managing ISC-DHCP configuration stored in a LDAP tree.
Modifying existing configuration
Example:
import ldap
from pydhcp_ldap_schema import DHCPEntry
con = ldap.initialize('ldap://localhost')
con.bind_s('user', 'pass')
subNet = DHCPEntry.ldap_load(con, 'cn=192.168.1.0,cn=DHCP Config,dc=example,dc=com')
print subNet['dhcpNetMask'] # prints ['24']
subNet['dhcpNetMask'] = ['25'] # set new value
subNet.ldap_modify(con) # automatic change detection and commit if nessesery
con.unbind_s()
Creating new nodes
Add fresh configuration:
import ldap
from pydhcp_ldap_schema import DHCPEntry
con = ldap.initialize('ldap://localhost')
con.bind_s('user', 'pass')
service = DHCPEntry(['top', 'dhcpService'], cn=['DHCP Config'])
service.ldap_add(con, 'cn=DHCP Config,dc=example,dc=com') # create base entry
dhcpServer = DHCPEntry(['top', 'dhcpServer'], cn=['dhcp.local'])
dhcpServer['dhcpServiceDN'] = [service.dn]
service.subobjects.insert_entry(dhcpServer) # DN will be calculated
dhcpServer.ldap_add(con)
# and most important subnet declaration
subnet = DHCPEntry(['top', 'dhcpSubnet'], cn=['192.168.1.0'])
subnet['dhcpNetMask'] = ['24']
service.subobjects.insert_entry(subnet)
subnet.ldap_add(con)
# Now you can start DHCPd server
con.unbind_s()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file pydhcp-ldap-schema-0.1beta.tar.gz.
File metadata
- Download URL: pydhcp-ldap-schema-0.1beta.tar.gz
- Upload date:
- Size: 6.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5968a137b7be33c7e052d49965cf3f29d602960ed66a3bfa0aff32656adadbc2
|
|
| MD5 |
e8cef12a64cdeaccdc56aadba87276ab
|
|
| BLAKE2b-256 |
15cb716c36081b9ae822bd6e382ef9a0ebe41441174e882cb8b6ccaf5875507d
|