Pre-release
This release is a pre-release and may not be stable for production use.
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()
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
|