summaryrefslogtreecommitdiff
path: root/reconfigure/items/bind9.py
diff options
context:
space:
mode:
authorAndrew Shadura <andrew@shadura.me>2015-08-20 15:58:26 +0200
committerAndrew Shadura <andrew@shadura.me>2015-08-20 15:58:26 +0200
commitff1408420159488a106492ccd11dd234967029b6 (patch)
tree473420cee1c5229a427ec4cafead1aa6c0a26800 /reconfigure/items/bind9.py
Imported Upstream version 0.1.29
Diffstat (limited to 'reconfigure/items/bind9.py')
-rw-r--r--reconfigure/items/bind9.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/reconfigure/items/bind9.py b/reconfigure/items/bind9.py
new file mode 100644
index 0000000..a42bb90
--- /dev/null
+++ b/reconfigure/items/bind9.py
@@ -0,0 +1,25 @@
+from reconfigure.nodes import Node, PropertyNode
+from reconfigure.items.bound import BoundData
+
+
+class BIND9Data (BoundData):
+ pass
+
+
+class ZoneData (BoundData):
+ def template(self):
+ return Node(
+ 'zone',
+ PropertyNode('type', 'master'),
+ PropertyNode('file', 'db.example.com'),
+ parameter='"example.com"',
+ )
+
+
+quote = lambda x: '"%s"' % x
+unquote = lambda x: x.strip('"')
+
+BIND9Data.bind_collection('zones', selector=lambda x: x.name == 'zone', item_class=ZoneData)
+ZoneData.bind_attribute('parameter', 'name', getter=unquote, setter=quote)
+ZoneData.bind_property('type', 'type')
+ZoneData.bind_property('file', 'file', getter=unquote, setter=quote)