--[[ Copyright (c) 2012-2014 Kaarle Ritvanen See LICENSE file for license details --]] local M = require('acf2.model') local Host = M.new() Host.address = M.net.IPAddress{addr='ipaddr'} Host.canonical = M.String{ui_name='Canonical name'} Host.alias = M.Set{ type=M.String, addr='alias/#', ui_name='Aliases', ui_member='Alias' } local Resolv = M.new() Resolv.servers = M.List{ type=M.net.IPAddress, addr='nameserver/#', widget='inline' } Resolv['search-domains'] = M.List{ type=M.String, addr='search/domain/#', widget='inline' } local Net = M.new() Net['host-name'] = M.String{addr='/augeas/etc/hostname/hostname'} Net.hosts = M.List{type=Host, addr='/augeas/etc/hosts', layout='tabular'} Net.resolver = M.Model{ model=Resolv, addr='/augeas/etc/resolv.conf', ui_name='DNS resolver' } M.register('net', Net, {ui_name='Network'}) M.permission.defaults('/net')