跳转到主要内容

Easy Zone - DNS区域抽象模块

项目描述

概述

Easyzone是一个用于管理区域文件常见记录类型的包,包括SOA记录。此模块位于dnspython包之上,为常见的区域文件操作用例提供更高层次的抽象。

http://www.psychofx.com/easyzone/ http://pypi.python.org/pypi/easyzone https://bitbucket.org/chrismiles/easyzone/

主要功能

  • 在dnspython之上的高级抽象。

  • 将区域文件加载到对象中。

  • 修改/添加/删除区域/记录对象。

  • 保存回区域文件。

  • 自动更新序列号(如果需要)。

需求

构建/测试/安装

构建

$ python setup.py build

测试

$ python setup.py test

安装

$ python setup.py install

或使用setuptools

$ easy_install easyzone

示例

easyzone

>>> from easyzone import easyzone
>>> z = easyzone.zone_from_file('example.com', '/var/namedb/example.com')
>>> z.domain
'example.com.'
>>> z.root.soa.serial
2007012902L
>>> z.root.records('NS').items
['ns1.example.com.', 'ns2.example.com.']
>>> z.root.records('MX').items
[(10, 'mail.example.com.'), (20, 'mail2.example.com.')]
>>> z.names['foo.example.com.'].records('A').items
['10.0.0.1']

>>> ns = z.root.records('NS')
>>> ns.add('ns3.example.com.')
>>> ns.items
['ns1.example.com.', 'ns2.example.com.', 'ns3.example.com.']
>>> ns.delete('ns2.example.com')
>>> ns.items
['ns1.example.com.', 'ns3.example.com.']

>>> z.save(autoserial=True)

ZoneCheck

>>> from easyzone.zone_check import ZoneCheck
>>> c = ZoneCheck()
>>> c.isValid('example.com', '/var/named/zones/example.com')
True
>>> c.isValid('foo.com', '/var/named/zones/example.com')
False
>>> c.error
'Bad syntax'
>>>
>>> c = ZoneCheck(checkzone='/usr/sbin/named-checkzone')
>>> c.isValid('example.com', '/var/named/zones/example.com')
True
>>>

ZoneReload

>>> from easyzone.zone_reload import ZoneReload
>>> r = ZoneReload()
>>> r.reload('example.com')
zone reload up-to-date
>>> r.reload('foo.com')
rndc: 'reload' failed: not found
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "easyzone/zone_reload.py", line 51, in reload
    raise ZoneReloadError("rndc failed with return code %d" % r)
easyzone.zone_reload.ZoneReloadError: rndc failed with return code 1
>>>
>>> r = ZoneReload(rndc='/usr/sbin/rndc')
>>> r.reload('example.com')
zone reload up-to-date
>>>

项目详情


下载文件

下载适用于您平台的应用程序。如果您不确定要选择哪一个,请了解更多关于安装包的信息。

源分布

easyzone-1.2.2.tar.gz (6.8 kB 查看哈希值)

上传时间:

支持者