Skip to content

Commit 72e04b7

Browse files
committed
[fix] Updated modem-manager interface code
1 parent bb4534a commit 72e04b7

2 files changed

Lines changed: 53 additions & 41 deletions

File tree

netjsonconfig/backends/openwrt/converters/interfaces.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ def __intermediate_interface(self, interface, uci_name):
133133
def _intermediate_modem_manager(self, interface):
134134
interface['proto'] = 'modemmanager'
135135
interface['pincode'] = interface.pop('pin', None)
136+
return interface
136137

137138
def _intermediate_wireguard(self, interface):
138139
interface['proto'] = 'wireguard'
@@ -320,7 +321,7 @@ def _netjson_dialup(self, interface):
320321
interface['type'] = 'dialup'
321322
return interface
322323

323-
_modem_manager_schema = schema['definitions']['modemmanager_interface']
324+
_modem_manager_schema = schema['definitions']['modemmanager_interface']['allOf'][0]
324325

325326
def _netjson_modem_manager(self, interface):
326327
del interface['proto']

netjsonconfig/backends/openwrt/schema.py

Lines changed: 51 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -168,47 +168,58 @@
168168
"type": "object",
169169
"title": "Modem manager interface",
170170
"required": ["name", "device"],
171-
"properties": {
172-
"name": interface_settings["name"],
173-
"mtu": interface_settings["mtu"],
174-
"autostart": interface_settings["autostart"],
175-
"disabled": interface_settings["disabled"],
176-
"type": {
177-
"type": "string",
178-
"enum": ["modem-manager"],
179-
"default": "dialup",
180-
"propertyOrder": 1,
181-
},
182-
"apn": {"type": "string", "title": "APN", "propertyOrder": 1.1},
183-
"pin": {
184-
"type": "string",
185-
"title": "PIN code",
186-
"propertyOrder": 1.2,
187-
},
188-
"device": {
189-
"type": "string",
190-
"description": "Leave blank to use the hardware default",
191-
"propertyOrder": 1.3,
192-
},
193-
"username": {"type": "string", "propertyOrder": 1.4},
194-
"password": {"type": "string", "propertyOrder": 1.5},
195-
"metric": {"type": "integer", "default": 50, "propertyOrder": 1.6},
196-
"iptype": {
197-
"type": "string",
198-
"title": "IP type",
199-
"default": "ipv4",
200-
"enum": ["ipv4", "ipv6", "ipv4v6"],
201-
"options": {"enum_titles": ["IPv4", "IPv6", "IPv4 and IPv6"]},
202-
"propertyOrder": 1.7,
203-
},
204-
"lowpower": {
205-
"type": "boolean",
206-
"title": "Low power mode",
207-
"format": "checkbox",
208-
"default": False,
209-
"propertyOrder": 1.8,
171+
"allOf": [
172+
{
173+
"properties": {
174+
"type": {
175+
"type": "string",
176+
"enum": ["modem-manager"],
177+
"default": "dialup",
178+
"propertyOrder": 1,
179+
},
180+
"apn": {
181+
"type": "string",
182+
"title": "APN",
183+
"propertyOrder": 1.1,
184+
},
185+
"pin": {
186+
"type": "string",
187+
"title": "PIN code",
188+
"propertyOrder": 1.2,
189+
},
190+
"device": {
191+
"type": "string",
192+
"description": "Leave blank to use the hardware default",
193+
"propertyOrder": 1.3,
194+
},
195+
"username": {"type": "string", "propertyOrder": 1.4},
196+
"password": {"type": "string", "propertyOrder": 1.5},
197+
"metric": {
198+
"type": "integer",
199+
"default": 50,
200+
"propertyOrder": 1.6,
201+
},
202+
"iptype": {
203+
"type": "string",
204+
"title": "IP type",
205+
"default": "ipv4",
206+
"enum": ["ipv4", "ipv6", "ipv4v6"],
207+
"options": {
208+
"enum_titles": ["IPv4", "IPv6", "IPv4 and IPv6"]
209+
},
210+
"propertyOrder": 1.7,
211+
},
212+
"lowpower": {
213+
"type": "boolean",
214+
"title": "Low power mode",
215+
"format": "checkbox",
216+
"default": False,
217+
"propertyOrder": 1.8,
218+
},
219+
}
210220
},
211-
},
221+
{"$ref": "#/definitions/base_interface_settings"},
222+
],
212223
},
213224
"wireguard_interface": {
214225
"type": "object",

0 commit comments

Comments
 (0)