summaryrefslogtreecommitdiffstats
path: root/aconf/modules
diff options
context:
space:
mode:
Diffstat (limited to 'aconf/modules')
-rw-r--r--aconf/modules/dns-zone.lua28
1 files changed, 16 insertions, 12 deletions
diff --git a/aconf/modules/dns-zone.lua b/aconf/modules/dns-zone.lua
index 372260c..ea909fb 100644
--- a/aconf/modules/dns-zone.lua
+++ b/aconf/modules/dns-zone.lua
@@ -63,21 +63,25 @@ Record.port = M.net.Port{condition={type='SRV'}, required=true}
Record.target = RecordString{condition={type='SRV'}, required=true}
+local Zone = M.new()
+Zone.origin = M.String{addr='$ORIGIN'}
+Zone.ttl = M.String{addr='$TTL', ui_name='Time-to-live'}
+Zone.records = M.Collection{
+ key=M.String{pattern='[^$].*'},
+ type=M.List{
+ type=M.Model{model=Record, addr='*/*'},
+ be_mode='enumerate',
+ ui_member='Record'
+ },
+ addr='.',
+ ui_member=''
+}
+
+
M.register(
'dns-zone',
M.Collection{
- type=M.Collection{
- key=M.String{pattern='[^$].*'},
- type=M.List{
- type=M.Model{model=Record, addr='*/*'},
- be_mode='enumerate',
- ui_member='Record'
- },
- ui_member=''
- },
- addr='/augeas/var/bind/pri',
- ui_name='DNS zones',
- ui_member=''
+ type=Zone, addr='/augeas/var/bind/pri', ui_name='DNS zones', ui_member=''
}
)