Use group (minimal GUI) defaults similarly to the user template
[pyi2ncommon] / src / cnfline / build_nic.py
CommitLineData
11cbb815
PD
1# The software in this package is distributed under the GNU General
2# Public License version 2 (with a special exception described below).
3#
4# A copy of GNU General Public License (GPL) is included in this distribution,
5# in the file COPYING.GPL.
6#
7# As a special exception, if other files instantiate templates or use macros
8# or inline functions from this file, or you compile this file and link it
9# with other works to produce a work based on this file, this file
10# does not by itself cause the resulting work to be covered
11# by the GNU General Public License.
12#
13# However the source code for this file must still be made available
14# in accordance with section (3) of the GNU General Public License.
15#
16# This exception does not invalidate any other reasons why a work based
17# on this file might be covered by the GNU General Public License.
18#
19# Copyright (c) 2016-2018 Intra2net AG <info@intra2net.com>
20
f49f6323
PD
21from .build_cnfvar import BuildCnfVar
22"""Class to create user cnfvar objects on the fly"""
23
24
25class BuildNIC(BuildCnfVar):
26
27 def __init__(self, data='', instance=0, line_no=1):
07f762f8 28 BuildCnfVar.__init__(self, 'NIC', instance, '', line_no)
f49f6323
PD
29
30 # the bare defaults the UI adds upon
31 # creation of new groups
32 defaults = {
07f762f8 33 'NIC_COMMENT': data,
f49f6323
PD
34 'NIC_DRIVER': 'virtio_net',
35 'NIC_LAN_DNS_RELAYING_ALLOWED': "0",
36 'NIC_LAN_EMAIL_RELAYING_ALLOWED': "0",
37 'NIC_LAN_FIREWALL_RULESET_REF': "1",
38 'NIC_LAN_IP': "192.168.1.1",
39 'NIC_LAN_NAT_INTO': "0",
40 'NIC_LAN_NETMASK': "255.255.255.0",
41 'NIC_LAN_PROXY_PROFILE_REF': "-1",
42 'NIC_MAC': '02:00:00:00:20:00',
43 'NIC_TYPE': 'DSLROUTER',
44 }
45
46 self.add_defaults(defaults)
47
07f762f8
TJ
48 def comment(self, comment):
49 self.update_cnf('NIC_COMMENT', 0, comment)
50 return self
51
f49f6323
PD
52 def nic_type(self, nic_type):
53 self.update_cnf('NIC_TYPE', 0, nic_type)
54 return self
55
56 def lan_ip(self, lan_ip):
57 self.update_cnf('NIC_LAN_IP', 0, lan_ip)
58 return self
59
60 def add_group_member_ref(self, group_ref):
61 self.add_cnf('USER_GROUP_MEMBER_REF', -1, group_ref)
62 return self