@usex/mikrotik-mcp 3.6.0 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@usex/mikrotik-mcp",
3
- "version": "3.6.0",
3
+ "version": "3.8.0",
4
4
  "description": "MCP server for MikroTik RouterOS — 660+ tools over SSH for firewall, NAT, routing, DHCP, DNS, WireGuard, wireless, QoS and more.",
5
5
  "keywords": [
6
6
  "ai",
package/schemas/README.md CHANGED
@@ -7,7 +7,7 @@ edit by hand — regenerate instead.
7
7
  | File | Contents |
8
8
  | -------------------- | ------------------------------------------------------------------------------------------ |
9
9
  | `config.schema.json` | The runtime configuration object (env vars / CLI flags). |
10
- | `tool-catalog.json` | Every one of the 693 tools: `name`, `risk`, `title`, `description`, and input JSON Schema. |
10
+ | `tool-catalog.json` | Every one of the 706 tools: `name`, `risk`, `title`, `description`, and input JSON Schema. |
11
11
  | `tools/<name>.json` | The input JSON Schema for a single tool. |
12
12
 
13
13
  `risk` is derived from the MCP tool annotations:
@@ -161,7 +161,7 @@
161
161
  "enabled": false,
162
162
  "host": "0.0.0.0",
163
163
  "port": 9090,
164
- "dbPath": "./.mikrotik-mcp/events.db",
164
+ "dbPath": "/Users/alimaster/.mikrotik-mcp/events.db",
165
165
  "maxEvents": 100000,
166
166
  "captureBody": true,
167
167
  "redactInput": false,
@@ -184,7 +184,7 @@
184
184
  "maximum": 9007199254740991
185
185
  },
186
186
  "dbPath": {
187
- "default": "./.mikrotik-mcp/events.db",
187
+ "default": "/Users/alimaster/.mikrotik-mcp/events.db",
188
188
  "type": "string"
189
189
  },
190
190
  "maxEvents": {
@@ -227,10 +227,51 @@
227
227
  "default": false,
228
228
  "type": "boolean"
229
229
  },
230
+ "tools": {
231
+ "default": {
232
+ "enabledModules": [],
233
+ "disabledModules": [],
234
+ "enabledGroups": [],
235
+ "disabledGroups": []
236
+ },
237
+ "type": "object",
238
+ "properties": {
239
+ "enabledModules": {
240
+ "default": [],
241
+ "type": "array",
242
+ "items": {
243
+ "type": "string"
244
+ }
245
+ },
246
+ "disabledModules": {
247
+ "default": [],
248
+ "type": "array",
249
+ "items": {
250
+ "type": "string"
251
+ }
252
+ },
253
+ "enabledGroups": {
254
+ "default": [],
255
+ "type": "array",
256
+ "items": {
257
+ "type": "string"
258
+ }
259
+ },
260
+ "disabledGroups": {
261
+ "default": [],
262
+ "type": "array",
263
+ "items": {
264
+ "type": "string"
265
+ }
266
+ }
267
+ },
268
+ "required": ["enabledModules", "disabledModules", "enabledGroups", "disabledGroups"],
269
+ "additionalProperties": false
270
+ },
230
271
  "backupDir": {
231
272
  "type": "string"
232
273
  }
233
274
  },
234
- "required": ["devices", "defaultDevice", "mcp", "dashboard", "readOnly"],
275
+ "required": ["devices", "defaultDevice", "mcp", "dashboard", "readOnly", "tools"],
235
276
  "additionalProperties": false
236
277
  }
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "version": "3.5.0",
3
+ "version": "3.7.0",
4
4
  "generated": "by scripts/gen-schemas.ts — do not edit by hand",
5
- "toolCount": 693,
5
+ "toolCount": 706,
6
6
  "tools": [
7
7
  {
8
8
  "name": "list_interfaces",
@@ -2942,6 +2942,175 @@
2942
2942
  "additionalProperties": false
2943
2943
  }
2944
2944
  },
2945
+ {
2946
+ "name": "list_dhcp_clients",
2947
+ "title": "List DHCP Clients",
2948
+ "risk": "read",
2949
+ "annotations": {
2950
+ "readOnlyHint": true,
2951
+ "idempotentHint": true,
2952
+ "openWorldHint": false
2953
+ },
2954
+ "description": "Lists IPv4 DHCP clients (`/ip dhcp-client print`) — each interface configured to obtain its address/gateway/DNS from an upstream DHCP server (typically a WAN port). Shows the bound address, status, and whether a default route / peer DNS is used. Optional `interface_filter`. For one client's detail use get_dhcp_client; to add one use add_dhcp_client.",
2955
+ "inputSchema": {
2956
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2957
+ "type": "object",
2958
+ "properties": {
2959
+ "interface_filter": {
2960
+ "description": "Substring match on interface",
2961
+ "type": "string"
2962
+ }
2963
+ },
2964
+ "additionalProperties": false
2965
+ }
2966
+ },
2967
+ {
2968
+ "name": "get_dhcp_client",
2969
+ "title": "Get DHCP Client Detail",
2970
+ "risk": "read",
2971
+ "annotations": {
2972
+ "readOnlyHint": true,
2973
+ "idempotentHint": true,
2974
+ "openWorldHint": false
2975
+ },
2976
+ "description": "Full detail for the DHCP client on an interface (`/ip dhcp-client print detail where interface=...`) — bound address, gateway, lease time, status, and options. Use list_dhcp_clients to find interfaces. Returns the detail block or a not-found message.",
2977
+ "inputSchema": {
2978
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2979
+ "type": "object",
2980
+ "properties": {
2981
+ "interface": {
2982
+ "type": "string",
2983
+ "description": "Interface name, e.g. 'ether1'"
2984
+ }
2985
+ },
2986
+ "required": ["interface"],
2987
+ "additionalProperties": false
2988
+ }
2989
+ },
2990
+ {
2991
+ "name": "add_dhcp_client",
2992
+ "title": "Add DHCP Client",
2993
+ "risk": "write",
2994
+ "annotations": {
2995
+ "destructiveHint": false,
2996
+ "openWorldHint": false
2997
+ },
2998
+ "description": "Adds an IPv4 DHCP client on an interface (`/ip dhcp-client add`) so it obtains an address from an upstream DHCP server — the usual way to configure a WAN port. `add_default_route` installs the received gateway; `use_peer_dns`/`use_peer_ntp` adopt the server's DNS/NTP. Returns the created client's detail.",
2999
+ "inputSchema": {
3000
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3001
+ "type": "object",
3002
+ "properties": {
3003
+ "interface": {
3004
+ "type": "string",
3005
+ "description": "Interface to run the DHCP client on, e.g. 'ether1'"
3006
+ },
3007
+ "add_default_route": {
3008
+ "default": true,
3009
+ "description": "Install the received default gateway",
3010
+ "type": "boolean"
3011
+ },
3012
+ "use_peer_dns": {
3013
+ "default": true,
3014
+ "type": "boolean"
3015
+ },
3016
+ "use_peer_ntp": {
3017
+ "default": true,
3018
+ "type": "boolean"
3019
+ },
3020
+ "disabled": {
3021
+ "default": false,
3022
+ "type": "boolean"
3023
+ },
3024
+ "comment": {
3025
+ "type": "string"
3026
+ }
3027
+ },
3028
+ "required": ["interface", "add_default_route", "use_peer_dns", "use_peer_ntp", "disabled"],
3029
+ "additionalProperties": false
3030
+ }
3031
+ },
3032
+ {
3033
+ "name": "set_dhcp_client",
3034
+ "title": "Update DHCP Client",
3035
+ "risk": "write-idempotent",
3036
+ "annotations": {
3037
+ "destructiveHint": false,
3038
+ "idempotentHint": true,
3039
+ "openWorldHint": false
3040
+ },
3041
+ "description": "Updates the DHCP client on an interface (`/ip dhcp-client set [find interface=...]`) — toggle `add_default_route`, `use_peer_dns`, `use_peer_ntp`, or `disabled`. No-ops if nothing is supplied. Returns the updated detail.",
3042
+ "inputSchema": {
3043
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3044
+ "type": "object",
3045
+ "properties": {
3046
+ "interface": {
3047
+ "type": "string"
3048
+ },
3049
+ "add_default_route": {
3050
+ "type": "boolean"
3051
+ },
3052
+ "use_peer_dns": {
3053
+ "type": "boolean"
3054
+ },
3055
+ "use_peer_ntp": {
3056
+ "type": "boolean"
3057
+ },
3058
+ "disabled": {
3059
+ "type": "boolean"
3060
+ }
3061
+ },
3062
+ "required": ["interface"],
3063
+ "additionalProperties": false
3064
+ }
3065
+ },
3066
+ {
3067
+ "name": "renew_dhcp_client",
3068
+ "title": "Renew / Release DHCP Lease",
3069
+ "risk": "write",
3070
+ "annotations": {
3071
+ "destructiveHint": false,
3072
+ "openWorldHint": false
3073
+ },
3074
+ "description": "Renews or releases the DHCP lease on an interface (`/ip dhcp-client renew|release`). `release=true` drops the current lease; otherwise it renews — use to re-pull WAN settings after an upstream change. Returns the client status afterward.",
3075
+ "inputSchema": {
3076
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3077
+ "type": "object",
3078
+ "properties": {
3079
+ "interface": {
3080
+ "type": "string"
3081
+ },
3082
+ "release": {
3083
+ "default": false,
3084
+ "description": "true = release the lease; false = renew",
3085
+ "type": "boolean"
3086
+ }
3087
+ },
3088
+ "required": ["interface", "release"],
3089
+ "additionalProperties": false
3090
+ }
3091
+ },
3092
+ {
3093
+ "name": "remove_dhcp_client",
3094
+ "title": "Remove DHCP Client",
3095
+ "risk": "destructive",
3096
+ "annotations": {
3097
+ "destructiveHint": true,
3098
+ "idempotentHint": true,
3099
+ "openWorldHint": false
3100
+ },
3101
+ "description": "Removes the DHCP client from an interface (`/ip dhcp-client remove [find interface=...]`) — the interface stops obtaining an address from DHCP (set a static address separately if needed). Confirms removal or reports not-found.",
3102
+ "inputSchema": {
3103
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3104
+ "type": "object",
3105
+ "properties": {
3106
+ "interface": {
3107
+ "type": "string"
3108
+ }
3109
+ },
3110
+ "required": ["interface"],
3111
+ "additionalProperties": false
3112
+ }
3113
+ },
2945
3114
  {
2946
3115
  "name": "build_guest_hotspot",
2947
3116
  "title": "Build Guest Hotspot (Captive Portal)",
@@ -10989,7 +11158,7 @@
10989
11158
  "idempotentHint": true,
10990
11159
  "openWorldHint": false
10991
11160
  },
10992
- "description": "Updates one or more attributes of a router management service (`/ip service set`) — port number, allowed source subnets (`address`, comma-separated CIDRs), TLS certificate name, or enabled/disabled state (`disabled: true/false`). Accepts a service name such as `ssh`, `winbox`, `api`, or `api-ssl`. To toggle only the enabled state use `enable_ip_service` or `disable_ip_service` instead. Returns updated service detail on success.",
11161
+ "description": "Updates one or more attributes of a router management service (`/ip service set`) — port number, allowed source subnets (`address`, comma-separated CIDRs), TLS certificate name, or enabled/disabled state (`disabled: true/false`). Accepts a service name such as `ssh`, `winbox`, `api`, or `api-ssl`. Note: two services cannot share a port — if the chosen port is already used by another service the device rejects it (list_ip_services shows current ports). To toggle only the enabled state use `enable_ip_service` or `disable_ip_service` instead. Returns updated service detail on success.",
10993
11162
  "inputSchema": {
10994
11163
  "$schema": "https://json-schema.org/draft/2020-12/schema",
10995
11164
  "type": "object",
@@ -11067,6 +11236,88 @@
11067
11236
  "additionalProperties": false
11068
11237
  }
11069
11238
  },
11239
+ {
11240
+ "name": "get_ip_cloud",
11241
+ "title": "Get IP Cloud (DDNS) Status",
11242
+ "risk": "read",
11243
+ "annotations": {
11244
+ "readOnlyHint": true,
11245
+ "idempotentHint": true,
11246
+ "openWorldHint": false
11247
+ },
11248
+ "description": "Reads the RouterOS cloud DDNS status (`/ip cloud print`) — whether `ddns-enabled` is on, the assigned `dns-name` (`<serial>.sn.mynetname.net`), the detected public IPv4/IPv6 address, the last `update-time`, and the service `status`/warnings. Use this to find the router's stable cloud hostname or check why DDNS isn't updating. To change it use set_ip_cloud; to push an update now use force_cloud_update. Returns the full cloud status block.",
11249
+ "inputSchema": {
11250
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
11251
+ "type": "object",
11252
+ "properties": {},
11253
+ "additionalProperties": false
11254
+ }
11255
+ },
11256
+ {
11257
+ "name": "set_ip_cloud",
11258
+ "title": "Configure IP Cloud (DDNS)",
11259
+ "risk": "write-idempotent",
11260
+ "annotations": {
11261
+ "destructiveHint": false,
11262
+ "idempotentHint": true,
11263
+ "openWorldHint": false
11264
+ },
11265
+ "description": "Configures RouterOS cloud DDNS (`/ip cloud set`). Enable/disable the dynamic DNS name with `ddns_enabled`, optionally also sync the router clock from the cloud with `update_time`. When enabled the router registers a `<serial>.sn.mynetname.net` name that follows its public IP. To read the resulting name/status use get_ip_cloud; to force an immediate refresh use force_cloud_update; for the local-vs-public address behaviour use set_ip_cloud_advanced. Returns the updated cloud status.",
11266
+ "inputSchema": {
11267
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
11268
+ "type": "object",
11269
+ "properties": {
11270
+ "ddns_enabled": {
11271
+ "description": "Enable (true) or disable (false) the DDNS name",
11272
+ "type": "boolean"
11273
+ },
11274
+ "update_time": {
11275
+ "description": "Also sync the router clock from the cloud",
11276
+ "type": "boolean"
11277
+ }
11278
+ },
11279
+ "additionalProperties": false
11280
+ }
11281
+ },
11282
+ {
11283
+ "name": "force_cloud_update",
11284
+ "title": "Force IP Cloud DDNS Update",
11285
+ "risk": "write",
11286
+ "annotations": {
11287
+ "destructiveHint": false,
11288
+ "openWorldHint": false
11289
+ },
11290
+ "description": "Forces an immediate cloud DDNS refresh (`/ip cloud force-update`) — pushes the router's current public IP to the cloud now instead of waiting for the next scheduled update. Use after a WAN IP change or to test connectivity to the cloud service. Requires DDNS to be enabled (see set_ip_cloud). Returns the cloud status after the update.",
11291
+ "inputSchema": {
11292
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
11293
+ "type": "object",
11294
+ "properties": {},
11295
+ "additionalProperties": false
11296
+ }
11297
+ },
11298
+ {
11299
+ "name": "set_ip_cloud_advanced",
11300
+ "title": "Set IP Cloud Advanced Options",
11301
+ "risk": "write-idempotent",
11302
+ "annotations": {
11303
+ "destructiveHint": false,
11304
+ "idempotentHint": true,
11305
+ "openWorldHint": false
11306
+ },
11307
+ "description": "Sets advanced cloud options (`/ip cloud advanced set`). `use_local_address=true` makes the cloud DDNS publish the router's LOCAL address instead of the detected public one (useful behind a private WAN / when you reach the router over a VPN). For the main DDNS toggle use set_ip_cloud. Returns the updated cloud status.",
11308
+ "inputSchema": {
11309
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
11310
+ "type": "object",
11311
+ "properties": {
11312
+ "use_local_address": {
11313
+ "type": "boolean",
11314
+ "description": "Publish the local address (true) instead of the public address (false)"
11315
+ }
11316
+ },
11317
+ "required": ["use_local_address"],
11318
+ "additionalProperties": false
11319
+ }
11320
+ },
11070
11321
  {
11071
11322
  "name": "add_dot1x_server",
11072
11323
  "title": "Add 802.1X Server (Authenticator) Entry",
@@ -17299,6 +17550,108 @@
17299
17550
  "additionalProperties": false
17300
17551
  }
17301
17552
  },
17553
+ {
17554
+ "name": "test_ssh_to_device",
17555
+ "title": "Test SSH to a Configured Device (from the MCP host)",
17556
+ "risk": "read",
17557
+ "annotations": {
17558
+ "readOnlyHint": true,
17559
+ "idempotentHint": true,
17560
+ "openWorldHint": false
17561
+ },
17562
+ "description": "Tests the SSH connection FROM THE MACHINE RUNNING THIS MCP SERVER to a CONFIGURED device, using that device's stored host/port/credentials. Use this to diagnose why a saved device is not responding — it confirms whether the MCP host can reach the device's SSH port AND authenticate, and reports the connect latency and identity. Targets the selected/default device (the `device` selector). NOTE: this opens a real SSH connection from the MCP host, not through the usual command channel, and is SSH-only (a MAC-Telnet device has no SSH). To test an UNSAVED host with ad-hoc credentials use test_ssh_to_host; to test SSH OUTBOUND from a router use test_ssh_from_device. Returns OK/failed with the reason.",
17563
+ "inputSchema": {
17564
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
17565
+ "type": "object",
17566
+ "properties": {},
17567
+ "additionalProperties": false
17568
+ }
17569
+ },
17570
+ {
17571
+ "name": "test_ssh_to_host",
17572
+ "title": "Test SSH to Any Host (from the MCP host)",
17573
+ "risk": "read",
17574
+ "annotations": {
17575
+ "readOnlyHint": true,
17576
+ "idempotentHint": true,
17577
+ "openWorldHint": false
17578
+ },
17579
+ "description": "Tests an SSH connection FROM THE MACHINE RUNNING THIS MCP SERVER to an ARBITRARY host:port with the supplied credentials — a pre-flight check BEFORE adding a device to the config, or to verify reachability/credentials for any SSH host. Confirms TCP reachability AND authentication and reports the connect latency. Provide a `password` and/or a private-key path (`key_path`). NOTE: this opens a real SSH connection from the MCP host. For a device that is ALREADY configured use test_ssh_to_device; to test SSH outbound FROM a router use test_ssh_from_device. Returns OK/failed with the reason.",
17580
+ "inputSchema": {
17581
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
17582
+ "type": "object",
17583
+ "properties": {
17584
+ "host": {
17585
+ "type": "string",
17586
+ "description": "Target IP or hostname"
17587
+ },
17588
+ "port": {
17589
+ "default": 22,
17590
+ "type": "integer",
17591
+ "minimum": 1,
17592
+ "maximum": 65535
17593
+ },
17594
+ "username": {
17595
+ "type": "string"
17596
+ },
17597
+ "password": {
17598
+ "description": "Password auth (omit if using a key)",
17599
+ "type": "string"
17600
+ },
17601
+ "key_path": {
17602
+ "description": "Path (on the MCP host) to a private key file",
17603
+ "type": "string"
17604
+ },
17605
+ "key_passphrase": {
17606
+ "type": "string"
17607
+ },
17608
+ "command": {
17609
+ "default": "/system identity print",
17610
+ "description": "Command to run once connected (a harmless RouterOS read by default)",
17611
+ "type": "string"
17612
+ }
17613
+ },
17614
+ "required": ["host", "port", "username", "command"],
17615
+ "additionalProperties": false
17616
+ }
17617
+ },
17618
+ {
17619
+ "name": "test_ssh_from_device",
17620
+ "title": "Test SSH Outbound From a RouterOS Device",
17621
+ "risk": "write",
17622
+ "annotations": {
17623
+ "destructiveHint": false,
17624
+ "openWorldHint": false
17625
+ },
17626
+ "description": "Tests SSH OUTBOUND FROM a RouterOS device to a remote host using the device's OWN SSH client (`/system ssh-exec`) — i.e. the connection is made BY the router, not by the MCP host. Use this to check whether a router can reach and log into another host over SSH (e.g. a jump path or another router). The router's user must be able to authenticate to the target NON-interactively (a stored key on the router) — a password-only target will prompt and time out. Runs the test `command` on the remote and returns its output. To test the MCP HOST's connection to a device instead, use test_ssh_to_device (configured) or test_ssh_to_host (ad-hoc). Returns the remote command output or the device's error.",
17627
+ "inputSchema": {
17628
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
17629
+ "type": "object",
17630
+ "properties": {
17631
+ "host": {
17632
+ "type": "string",
17633
+ "description": "Remote host the ROUTER should SSH to"
17634
+ },
17635
+ "port": {
17636
+ "default": 22,
17637
+ "type": "integer",
17638
+ "minimum": 1,
17639
+ "maximum": 65535
17640
+ },
17641
+ "user": {
17642
+ "type": "string",
17643
+ "description": "Username on the remote host"
17644
+ },
17645
+ "command": {
17646
+ "default": "/system identity print",
17647
+ "description": "Command to run on the remote host as the connectivity test",
17648
+ "type": "string"
17649
+ }
17650
+ },
17651
+ "required": ["host", "port", "user", "command"],
17652
+ "additionalProperties": false
17653
+ }
17654
+ },
17302
17655
  {
17303
17656
  "name": "list_neighbors",
17304
17657
  "title": "List Discovered Neighbor Devices (MNDP/CDP/LLDP)",
@@ -0,0 +1,33 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "add_dhcp_client",
4
+ "type": "object",
5
+ "properties": {
6
+ "interface": {
7
+ "type": "string",
8
+ "description": "Interface to run the DHCP client on, e.g. 'ether1'"
9
+ },
10
+ "add_default_route": {
11
+ "default": true,
12
+ "description": "Install the received default gateway",
13
+ "type": "boolean"
14
+ },
15
+ "use_peer_dns": {
16
+ "default": true,
17
+ "type": "boolean"
18
+ },
19
+ "use_peer_ntp": {
20
+ "default": true,
21
+ "type": "boolean"
22
+ },
23
+ "disabled": {
24
+ "default": false,
25
+ "type": "boolean"
26
+ },
27
+ "comment": {
28
+ "type": "string"
29
+ }
30
+ },
31
+ "required": ["interface", "add_default_route", "use_peer_dns", "use_peer_ntp", "disabled"],
32
+ "additionalProperties": false
33
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "force_cloud_update",
4
+ "type": "object",
5
+ "properties": {},
6
+ "additionalProperties": false
7
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "get_dhcp_client",
4
+ "type": "object",
5
+ "properties": {
6
+ "interface": {
7
+ "type": "string",
8
+ "description": "Interface name, e.g. 'ether1'"
9
+ }
10
+ },
11
+ "required": ["interface"],
12
+ "additionalProperties": false
13
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "get_ip_cloud",
4
+ "type": "object",
5
+ "properties": {},
6
+ "additionalProperties": false
7
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "list_dhcp_clients",
4
+ "type": "object",
5
+ "properties": {
6
+ "interface_filter": {
7
+ "description": "Substring match on interface",
8
+ "type": "string"
9
+ }
10
+ },
11
+ "additionalProperties": false
12
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "remove_dhcp_client",
4
+ "type": "object",
5
+ "properties": {
6
+ "interface": {
7
+ "type": "string"
8
+ }
9
+ },
10
+ "required": ["interface"],
11
+ "additionalProperties": false
12
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "renew_dhcp_client",
4
+ "type": "object",
5
+ "properties": {
6
+ "interface": {
7
+ "type": "string"
8
+ },
9
+ "release": {
10
+ "default": false,
11
+ "description": "true = release the lease; false = renew",
12
+ "type": "boolean"
13
+ }
14
+ },
15
+ "required": ["interface", "release"],
16
+ "additionalProperties": false
17
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "set_dhcp_client",
4
+ "type": "object",
5
+ "properties": {
6
+ "interface": {
7
+ "type": "string"
8
+ },
9
+ "add_default_route": {
10
+ "type": "boolean"
11
+ },
12
+ "use_peer_dns": {
13
+ "type": "boolean"
14
+ },
15
+ "use_peer_ntp": {
16
+ "type": "boolean"
17
+ },
18
+ "disabled": {
19
+ "type": "boolean"
20
+ }
21
+ },
22
+ "required": ["interface"],
23
+ "additionalProperties": false
24
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "set_ip_cloud",
4
+ "type": "object",
5
+ "properties": {
6
+ "ddns_enabled": {
7
+ "description": "Enable (true) or disable (false) the DDNS name",
8
+ "type": "boolean"
9
+ },
10
+ "update_time": {
11
+ "description": "Also sync the router clock from the cloud",
12
+ "type": "boolean"
13
+ }
14
+ },
15
+ "additionalProperties": false
16
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "set_ip_cloud_advanced",
4
+ "type": "object",
5
+ "properties": {
6
+ "use_local_address": {
7
+ "type": "boolean",
8
+ "description": "Publish the local address (true) instead of the public address (false)"
9
+ }
10
+ },
11
+ "required": ["use_local_address"],
12
+ "additionalProperties": false
13
+ }