summaryrefslogtreecommitdiffstats
path: root/acf2/modules/net.lua
blob: f0da354ca05f7a5d3b76a676d04382987d6c30f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
--[[
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')