@usex/mikrotik-mcp 3.22.0 → 3.24.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.
Files changed (136) hide show
  1. package/dist/cli.js +4222 -2660
  2. package/dist/index.d.ts +15 -4
  3. package/dist/index.js +4153 -2640
  4. package/dist/ui/connected-devices.html +21 -0
  5. package/dist/ui/dashboard.html +2 -1
  6. package/dist/ui/firewall-audit.html +4 -3
  7. package/dist/ui/firewall.html +4 -3
  8. package/dist/ui/interfaces.html +4 -3
  9. package/dist/ui/observability.html +43 -43
  10. package/dist/ui/records.html +4 -3
  11. package/package.json +1 -1
  12. package/schemas/README.md +1 -1
  13. package/schemas/tool-catalog.json +3833 -112
  14. package/schemas/tools/add_bfd_configuration.json +4 -0
  15. package/schemas/tools/add_bgp_connection.json +70 -0
  16. package/schemas/tools/add_bgp_template.json +35 -0
  17. package/schemas/tools/add_bridge_port.json +95 -0
  18. package/schemas/tools/add_bridge_vlan.json +7 -0
  19. package/schemas/tools/add_dhcp_client.json +22 -0
  20. package/schemas/tools/add_dns_static.json +20 -0
  21. package/schemas/tools/add_graphing_interface.json +8 -0
  22. package/schemas/tools/add_graphing_queue.json +8 -0
  23. package/schemas/tools/add_graphing_resource.json +8 -0
  24. package/schemas/tools/add_ipv6_dhcp_client.json +12 -0
  25. package/schemas/tools/add_ipv6_nd.json +4 -0
  26. package/schemas/tools/add_ipv6_route.json +10 -0
  27. package/schemas/tools/add_logging_action.json +26 -0
  28. package/schemas/tools/add_netwatch.json +15 -0
  29. package/schemas/tools/add_ospf_area.json +6 -0
  30. package/schemas/tools/add_ospf_area_range.json +3 -0
  31. package/schemas/tools/add_ospf_instance.json +22 -0
  32. package/schemas/tools/add_ospf_interface_template.json +26 -0
  33. package/schemas/tools/add_ovpn_server.json +5 -0
  34. package/schemas/tools/add_pimsm_instance.json +36 -0
  35. package/schemas/tools/add_pimsm_interface_template.json +24 -0
  36. package/schemas/tools/add_radius_server.json +15 -0
  37. package/schemas/tools/add_rip_instance.json +4 -0
  38. package/schemas/tools/add_rip_interface_template.json +8 -0
  39. package/schemas/tools/add_romon_port.json +4 -0
  40. package/schemas/tools/add_route.json +8 -0
  41. package/schemas/tools/add_routing_rule.json +0 -5
  42. package/schemas/tools/add_script.json +4 -0
  43. package/schemas/tools/add_switch_rule.json +13 -0
  44. package/schemas/tools/add_traffic_generator_stream.json +18 -0
  45. package/schemas/tools/add_user_manager_limitation.json +54 -0
  46. package/schemas/tools/add_user_manager_router.json +7 -0
  47. package/schemas/tools/add_user_manager_user.json +8 -0
  48. package/schemas/tools/add_wireguard_peer.json +34 -0
  49. package/schemas/tools/allow_device.json +13 -0
  50. package/schemas/tools/block_device.json +17 -0
  51. package/schemas/tools/create_bridge.json +75 -0
  52. package/schemas/tools/create_certificate.json +20 -0
  53. package/schemas/tools/create_dhcp_network.json +23 -0
  54. package/schemas/tools/create_dhcp_server.json +34 -0
  55. package/schemas/tools/create_eoip_tunnel.json +34 -0
  56. package/schemas/tools/create_filter_rule.json +124 -0
  57. package/schemas/tools/create_gre_tunnel.json +12 -0
  58. package/schemas/tools/create_ipip_tunnel.json +21 -0
  59. package/schemas/tools/create_ipsec_identity.json +22 -1
  60. package/schemas/tools/create_ipsec_peer.json +6 -0
  61. package/schemas/tools/create_ipsec_policy.json +27 -1
  62. package/schemas/tools/create_ipsec_profile.json +4 -0
  63. package/schemas/tools/create_ipsec_proposal.json +5 -1
  64. package/schemas/tools/create_ipv6_dhcp_server.json +12 -0
  65. package/schemas/tools/create_ipv6_filter_rule.json +123 -1
  66. package/schemas/tools/create_ipv6_mangle_rule.json +140 -0
  67. package/schemas/tools/create_ipv6_nat_rule.json +135 -1
  68. package/schemas/tools/create_ipv6_raw_rule.json +52 -0
  69. package/schemas/tools/create_l2tp_client.json +42 -0
  70. package/schemas/tools/create_mangle_rule.json +64 -0
  71. package/schemas/tools/create_nat_rule.json +144 -0
  72. package/schemas/tools/create_ovpn_client.json +22 -0
  73. package/schemas/tools/create_ppp_profile.json +64 -0
  74. package/schemas/tools/create_ppp_secret.json +16 -0
  75. package/schemas/tools/create_pptp_client.json +32 -0
  76. package/schemas/tools/create_queue_type.json +59 -0
  77. package/schemas/tools/create_scheduler.json +4 -0
  78. package/schemas/tools/create_simple_queue.json +4 -0
  79. package/schemas/tools/create_sstp_client.json +46 -0
  80. package/schemas/tools/create_vlan_interface.json +13 -0
  81. package/schemas/tools/create_vxlan_tunnel.json +32 -0
  82. package/schemas/tools/create_wireless_interface.json +74 -0
  83. package/schemas/tools/get_connected_device.json +16 -0
  84. package/schemas/tools/get_device_traffic.json +13 -0
  85. package/schemas/tools/list_connected_devices.json +27 -0
  86. package/schemas/tools/make_device_static.json +13 -0
  87. package/schemas/tools/remove_device_lease.json +13 -0
  88. package/schemas/tools/reset_configuration.json +4 -0
  89. package/schemas/tools/set_device_ip.json +17 -0
  90. package/schemas/tools/set_device_label.json +17 -0
  91. package/schemas/tools/set_dhcp_client.json +22 -0
  92. package/schemas/tools/set_dns_servers.json +34 -0
  93. package/schemas/tools/set_ip_cloud.json +4 -0
  94. package/schemas/tools/set_ip_service.json +4 -0
  95. package/schemas/tools/set_l2tp_server.json +27 -0
  96. package/schemas/tools/set_neighbor_discovery_settings.json +12 -0
  97. package/schemas/tools/set_ntp_client.json +9 -0
  98. package/schemas/tools/set_ntp_server.json +10 -0
  99. package/schemas/tools/set_ovpn_server.json +5 -0
  100. package/schemas/tools/set_pptp_server.json +8 -0
  101. package/schemas/tools/set_sstp_server.json +32 -0
  102. package/schemas/tools/set_system_clock.json +4 -0
  103. package/schemas/tools/set_user_manager_settings.json +16 -0
  104. package/schemas/tools/update_bfd_configuration.json +3 -0
  105. package/schemas/tools/update_bgp_connection.json +57 -0
  106. package/schemas/tools/update_bridge.json +75 -0
  107. package/schemas/tools/update_dns_static.json +20 -0
  108. package/schemas/tools/update_filter_rule.json +93 -0
  109. package/schemas/tools/update_ipsec_peer.json +5 -0
  110. package/schemas/tools/update_ipsec_profile.json +3 -0
  111. package/schemas/tools/update_ipsec_proposal.json +3 -0
  112. package/schemas/tools/update_ipv6_filter_rule.json +90 -0
  113. package/schemas/tools/update_ipv6_mangle_rule.json +107 -0
  114. package/schemas/tools/update_ipv6_nat_rule.json +99 -0
  115. package/schemas/tools/update_ipv6_nd.json +4 -0
  116. package/schemas/tools/update_ipv6_raw_rule.json +39 -0
  117. package/schemas/tools/update_ipv6_settings.json +29 -0
  118. package/schemas/tools/update_mangle_rule.json +48 -0
  119. package/schemas/tools/update_nat_rule.json +108 -0
  120. package/schemas/tools/update_ospf_instance.json +22 -0
  121. package/schemas/tools/update_ovpn_server.json +5 -0
  122. package/schemas/tools/update_ppp_profile.json +64 -0
  123. package/schemas/tools/update_ppp_secret.json +16 -0
  124. package/schemas/tools/update_queue_type.json +46 -0
  125. package/schemas/tools/update_radius_server.json +13 -0
  126. package/schemas/tools/update_rip_instance.json +4 -0
  127. package/schemas/tools/update_route.json +8 -0
  128. package/schemas/tools/update_routing_rule.json +5 -0
  129. package/schemas/tools/update_simple_queue.json +4 -0
  130. package/schemas/tools/update_sniffer_settings.json +32 -0
  131. package/schemas/tools/update_switch.json +8 -0
  132. package/schemas/tools/update_switch_rule.json +10 -0
  133. package/schemas/tools/update_user_manager_user.json +8 -0
  134. package/schemas/tools/update_vlan_interface.json +13 -0
  135. package/schemas/tools/update_wireguard_peer.json +34 -0
  136. package/schemas/tools/update_wireless_interface.json +91 -0
@@ -25,6 +25,38 @@
25
25
  "add_default_route": {
26
26
  "type": "boolean"
27
27
  },
28
+ "default_route_distance": {
29
+ "description": "Distance for the default route installed via this tunnel",
30
+ "type": "integer",
31
+ "minimum": -9007199254740991,
32
+ "maximum": 9007199254740991
33
+ },
34
+ "allow": {
35
+ "description": "Allowed auth protocols, comma-separated, e.g. 'mschap2,mschap1'",
36
+ "type": "string"
37
+ },
38
+ "dial_on_demand": {
39
+ "description": "Connect only when outbound traffic is generated",
40
+ "type": "boolean"
41
+ },
42
+ "max_mtu": {
43
+ "type": "integer",
44
+ "minimum": -9007199254740991,
45
+ "maximum": 9007199254740991
46
+ },
47
+ "max_mru": {
48
+ "type": "integer",
49
+ "minimum": -9007199254740991,
50
+ "maximum": 9007199254740991
51
+ },
52
+ "mrru": {
53
+ "description": "Max packet size for MP reassembly, or 'disabled'",
54
+ "type": "string"
55
+ },
56
+ "keepalive_timeout": {
57
+ "description": "Keepalive timeout in seconds, or 'disabled'",
58
+ "type": "string"
59
+ },
28
60
  "comment": {
29
61
  "type": "string"
30
62
  },
@@ -57,6 +57,23 @@
57
57
  "cake_overhead_scheme": {
58
58
  "type": "string"
59
59
  },
60
+ "cake_bandwidth": {
61
+ "description": "CAKE shaper bandwidth e.g. \"100M\", \"0\" for unlimited",
62
+ "type": "string"
63
+ },
64
+ "cake_atm": {
65
+ "description": "Link-layer ATM/PTM compensation",
66
+ "type": "string",
67
+ "enum": ["none", "atm", "ptm"]
68
+ },
69
+ "cake_autorate_ingress": {
70
+ "description": "Automatic ingress rate estimation",
71
+ "type": "boolean"
72
+ },
73
+ "cake_memlimit": {
74
+ "description": "Override CAKE buffer memory limit",
75
+ "type": "string"
76
+ },
60
77
  "pcq_rate": {
61
78
  "description": "Bandwidth per flow e.g. \"1M\", \"512k\"",
62
79
  "type": "string"
@@ -70,6 +87,48 @@
70
87
  "description": "Comma-separated classifiers e.g. \"src-address,dst-address\"",
71
88
  "type": "string"
72
89
  },
90
+ "pcq_total_limit": {
91
+ "description": "Total packet limit across all PCQ sub-queues",
92
+ "type": "integer",
93
+ "minimum": -9007199254740991,
94
+ "maximum": 9007199254740991
95
+ },
96
+ "pcq_burst_rate": {
97
+ "description": "PCQ burst rate e.g. \"1M\"",
98
+ "type": "string"
99
+ },
100
+ "pcq_burst_threshold": {
101
+ "description": "PCQ burst threshold e.g. \"512k\"",
102
+ "type": "string"
103
+ },
104
+ "pcq_burst_time": {
105
+ "description": "PCQ burst time e.g. \"10s\"",
106
+ "type": "string"
107
+ },
108
+ "pcq_src_address_mask": {
109
+ "description": "IPv4 src classifier mask bits (0-32)",
110
+ "type": "integer",
111
+ "minimum": -9007199254740991,
112
+ "maximum": 9007199254740991
113
+ },
114
+ "pcq_dst_address_mask": {
115
+ "description": "IPv4 dst classifier mask bits (0-32)",
116
+ "type": "integer",
117
+ "minimum": -9007199254740991,
118
+ "maximum": 9007199254740991
119
+ },
120
+ "pcq_src_address6_mask": {
121
+ "description": "IPv6 src classifier mask bits (0-128)",
122
+ "type": "integer",
123
+ "minimum": -9007199254740991,
124
+ "maximum": 9007199254740991
125
+ },
126
+ "pcq_dst_address6_mask": {
127
+ "description": "IPv6 dst classifier mask bits (0-128)",
128
+ "type": "integer",
129
+ "minimum": -9007199254740991,
130
+ "maximum": 9007199254740991
131
+ },
73
132
  "pfifo_limit": {
74
133
  "type": "integer",
75
134
  "minimum": -9007199254740991,
@@ -23,6 +23,10 @@
23
23
  "description": "Start date, e.g. 'jan/01/2026'",
24
24
  "type": "string"
25
25
  },
26
+ "policy": {
27
+ "description": "Permission policy list, e.g. 'read,write,test,policy'",
28
+ "type": "string"
29
+ },
26
30
  "comment": {
27
31
  "type": "string"
28
32
  },
@@ -49,6 +49,10 @@
49
49
  "packet_marks": {
50
50
  "type": "string"
51
51
  },
52
+ "time": {
53
+ "description": "Active time/days e.g. \"0s-1d,sun,mon,tue,wed,thu,fri,sat\"",
54
+ "type": "string"
55
+ },
52
56
  "comment": {
53
57
  "type": "string"
54
58
  },
@@ -33,9 +33,55 @@
33
33
  "verify_server_certificate": {
34
34
  "type": "boolean"
35
35
  },
36
+ "authentication": {
37
+ "description": "Comma-separated, e.g. 'mschap2,mschap1'",
38
+ "type": "string"
39
+ },
40
+ "tls_version": {
41
+ "type": "string",
42
+ "enum": ["any", "only-1.2"]
43
+ },
44
+ "pfs": {
45
+ "description": "Enable Perfect Forward Secrecy",
46
+ "type": "boolean"
47
+ },
36
48
  "add_default_route": {
37
49
  "type": "boolean"
38
50
  },
51
+ "default_route_distance": {
52
+ "description": "Distance of the auto-added default route",
53
+ "type": "integer",
54
+ "minimum": -9007199254740991,
55
+ "maximum": 9007199254740991
56
+ },
57
+ "dial_on_demand": {
58
+ "description": "Connect only when traffic is sent over the tunnel",
59
+ "type": "boolean"
60
+ },
61
+ "max_mtu": {
62
+ "description": "Maximum transmission unit",
63
+ "type": "integer",
64
+ "minimum": -9007199254740991,
65
+ "maximum": 9007199254740991
66
+ },
67
+ "max_mru": {
68
+ "description": "Maximum receive unit",
69
+ "type": "integer",
70
+ "minimum": -9007199254740991,
71
+ "maximum": 9007199254740991
72
+ },
73
+ "mrru": {
74
+ "description": "Max receive reconstructed unit for MP",
75
+ "type": "integer",
76
+ "minimum": -9007199254740991,
77
+ "maximum": 9007199254740991
78
+ },
79
+ "keepalive_timeout": {
80
+ "description": "Seconds before an idle connection is considered down",
81
+ "type": "integer",
82
+ "minimum": -9007199254740991,
83
+ "maximum": 9007199254740991
84
+ },
39
85
  "http_proxy": {
40
86
  "type": "string"
41
87
  },
@@ -41,6 +41,19 @@
41
41
  },
42
42
  "arp_timeout": {
43
43
  "type": "string"
44
+ },
45
+ "loop_protect": {
46
+ "description": "Loop protection: default, on, off",
47
+ "type": "string",
48
+ "enum": ["default", "on", "off"]
49
+ },
50
+ "loop_protect_disable_time": {
51
+ "description": "Time to disable interface on loop detection, e.g. '5m' (0 = forever)",
52
+ "type": "string"
53
+ },
54
+ "loop_protect_send_interval": {
55
+ "description": "Interval between loop-protect probe packets, e.g. '5s'",
56
+ "type": "string"
44
57
  }
45
58
  },
46
59
  "required": ["name", "vlan_id", "interface", "disabled", "use_service_tag", "arp"],
@@ -28,6 +28,38 @@
28
28
  "description": "Source interface",
29
29
  "type": "string"
30
30
  },
31
+ "group": {
32
+ "description": "Multicast group address for broadcast/unknown-unicast flooding",
33
+ "type": "string"
34
+ },
35
+ "vteps_ip_version": {
36
+ "description": "IP version used for VTEP addressing",
37
+ "type": "string",
38
+ "enum": ["ipv4", "ipv6"]
39
+ },
40
+ "mac_address": {
41
+ "description": "MAC address of the VXLAN interface",
42
+ "type": "string"
43
+ },
44
+ "arp": {
45
+ "description": "Address Resolution Protocol mode for the interface",
46
+ "type": "string",
47
+ "enum": ["disabled", "enabled", "local-proxy-arp", "proxy-arp", "reply-only"]
48
+ },
49
+ "arp_timeout": {
50
+ "description": "ARP entry timeout, e.g. '30s' or 'auto'",
51
+ "type": "string"
52
+ },
53
+ "max_fdb_size": {
54
+ "description": "Maximum forwarding database (FDB) size",
55
+ "type": "integer",
56
+ "minimum": -9007199254740991,
57
+ "maximum": 9007199254740991
58
+ },
59
+ "allow_fast_path": {
60
+ "description": "Allow FastPath processing for this interface",
61
+ "type": "boolean"
62
+ },
31
63
  "mtu": {
32
64
  "type": "integer",
33
65
  "minimum": -9007199254740991,
@@ -57,6 +57,80 @@
57
57
  },
58
58
  "security_profile": {
59
59
  "type": "string"
60
+ },
61
+ "mtu": {
62
+ "description": "Interface MTU in bytes",
63
+ "type": "integer",
64
+ "minimum": -9007199254740991,
65
+ "maximum": 9007199254740991
66
+ },
67
+ "arp": {
68
+ "description": "ARP mode for the interface",
69
+ "type": "string",
70
+ "enum": ["disabled", "enabled", "proxy-arp", "reply-only", "local-proxy-arp"]
71
+ },
72
+ "hide_ssid": {
73
+ "description": "Legacy: do not broadcast the SSID in beacons (AP modes)",
74
+ "type": "boolean"
75
+ },
76
+ "wireless_protocol": {
77
+ "description": "Legacy: wireless protocol, e.g. '802.11', 'nv2', 'nstreme'",
78
+ "type": "string"
79
+ },
80
+ "scan_list": {
81
+ "description": "Legacy: frequencies/ranges to scan (e.g. 'default' or '5180-5320')",
82
+ "type": "string"
83
+ },
84
+ "frequency_mode": {
85
+ "description": "Legacy: regulatory frequency mode",
86
+ "type": "string",
87
+ "enum": ["manual-txpower", "regulatory-domain", "superchannel"]
88
+ },
89
+ "country": {
90
+ "description": "Legacy: regulatory country setting (e.g. 'united states')",
91
+ "type": "string"
92
+ },
93
+ "antenna_gain": {
94
+ "description": "Legacy: antenna gain in dBi used for tx-power calculations",
95
+ "type": "integer",
96
+ "minimum": -9007199254740991,
97
+ "maximum": 9007199254740991
98
+ },
99
+ "wds_mode": {
100
+ "description": "Legacy: WDS mode",
101
+ "type": "string",
102
+ "enum": ["disabled", "dynamic", "dynamic-mesh", "static", "static-mesh"]
103
+ },
104
+ "wds_default_bridge": {
105
+ "description": "Legacy: bridge that dynamic WDS interfaces are added to",
106
+ "type": "string"
107
+ },
108
+ "default_authentication": {
109
+ "description": "Legacy: allow clients not in the access-list to authenticate",
110
+ "type": "boolean"
111
+ },
112
+ "default_forwarding": {
113
+ "description": "Legacy: allow client-to-client forwarding by default",
114
+ "type": "boolean"
115
+ },
116
+ "tx_power": {
117
+ "description": "Legacy: manual transmit power in dBm",
118
+ "type": "integer",
119
+ "minimum": -9007199254740991,
120
+ "maximum": 9007199254740991
121
+ },
122
+ "tx_power_mode": {
123
+ "description": "Legacy: how tx-power is determined",
124
+ "type": "string",
125
+ "enum": ["default", "card-rates", "all-rates-fixed", "manual-table"]
126
+ },
127
+ "distance": {
128
+ "description": "Legacy: link distance ('dynamic', 'indoors', or a km value)",
129
+ "type": "string"
130
+ },
131
+ "disconnect_timeout": {
132
+ "description": "Legacy: time before a non-responding client is disconnected",
133
+ "type": "string"
60
134
  }
61
135
  },
62
136
  "required": ["name", "disabled"],
@@ -0,0 +1,16 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "get_connected_device",
4
+ "type": "object",
5
+ "properties": {
6
+ "mac": {
7
+ "description": "Device MAC address",
8
+ "type": "string"
9
+ },
10
+ "ip": {
11
+ "description": "Device IP address (used if mac is omitted)",
12
+ "type": "string"
13
+ }
14
+ },
15
+ "additionalProperties": false
16
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "get_device_traffic",
4
+ "type": "object",
5
+ "properties": {
6
+ "ip": {
7
+ "type": "string",
8
+ "description": "Device IP address"
9
+ }
10
+ },
11
+ "required": ["ip"],
12
+ "additionalProperties": false
13
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "list_connected_devices",
4
+ "type": "object",
5
+ "properties": {
6
+ "name_filter": {
7
+ "description": "Match host-name or comment (substring)",
8
+ "type": "string"
9
+ },
10
+ "status_filter": {
11
+ "description": "e.g. \"bound\", \"waiting\", \"arp-only\"",
12
+ "type": "string"
13
+ },
14
+ "static_only": {
15
+ "default": false,
16
+ "description": "Only devices with a pinned/static IP",
17
+ "type": "boolean"
18
+ },
19
+ "blocked_only": {
20
+ "default": false,
21
+ "description": "Only blocked devices",
22
+ "type": "boolean"
23
+ }
24
+ },
25
+ "required": ["static_only", "blocked_only"],
26
+ "additionalProperties": false
27
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "make_device_static",
4
+ "type": "object",
5
+ "properties": {
6
+ "mac": {
7
+ "type": "string",
8
+ "description": "Device MAC address"
9
+ }
10
+ },
11
+ "required": ["mac"],
12
+ "additionalProperties": false
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "remove_device_lease",
4
+ "type": "object",
5
+ "properties": {
6
+ "mac": {
7
+ "type": "string",
8
+ "description": "Device MAC address"
9
+ }
10
+ },
11
+ "required": ["mac"],
12
+ "additionalProperties": false
13
+ }
@@ -19,6 +19,10 @@
19
19
  "description": "Skip the automatic backup before reset",
20
20
  "type": "boolean"
21
21
  },
22
+ "caps_mode": {
23
+ "description": "Reset into CAPsMAN-managed CAP mode instead of standalone",
24
+ "type": "boolean"
25
+ },
22
26
  "run_after_reset": {
23
27
  "description": "Script file to run after reset",
24
28
  "type": "string"
@@ -0,0 +1,17 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "set_device_ip",
4
+ "type": "object",
5
+ "properties": {
6
+ "mac": {
7
+ "type": "string",
8
+ "description": "Device MAC address"
9
+ },
10
+ "ip": {
11
+ "type": "string",
12
+ "description": "New reserved IP address"
13
+ }
14
+ },
15
+ "required": ["mac", "ip"],
16
+ "additionalProperties": false
17
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "set_device_label",
4
+ "type": "object",
5
+ "properties": {
6
+ "mac": {
7
+ "type": "string",
8
+ "description": "Device MAC address"
9
+ },
10
+ "label": {
11
+ "type": "string",
12
+ "description": "Friendly name, e.g. \"Ali phone\". Pass \"\" to clear."
13
+ }
14
+ },
15
+ "required": ["mac", "label"],
16
+ "additionalProperties": false
17
+ }
@@ -9,12 +9,34 @@
9
9
  "add_default_route": {
10
10
  "type": "boolean"
11
11
  },
12
+ "default_route_distance": {
13
+ "description": "Administrative distance of the installed default route",
14
+ "type": "integer",
15
+ "minimum": -9007199254740991,
16
+ "maximum": 9007199254740991
17
+ },
12
18
  "use_peer_dns": {
13
19
  "type": "boolean"
14
20
  },
15
21
  "use_peer_ntp": {
16
22
  "type": "boolean"
17
23
  },
24
+ "dhcp_options": {
25
+ "description": "Comma-separated DHCP options to send, e.g. 'hostname,clientid'",
26
+ "type": "string"
27
+ },
28
+ "client_id": {
29
+ "description": "Override the DHCP client identifier sent to the server",
30
+ "type": "string"
31
+ },
32
+ "host_name": {
33
+ "description": "Host name sent to the DHCP server",
34
+ "type": "string"
35
+ },
36
+ "script": {
37
+ "description": "Script run on lease bound/released",
38
+ "type": "string"
39
+ },
18
40
  "disabled": {
19
41
  "type": "boolean"
20
42
  }
@@ -24,6 +24,20 @@
24
24
  "minimum": -9007199254740991,
25
25
  "maximum": 9007199254740991
26
26
  },
27
+ "max_concurrent_tcp_sessions": {
28
+ "description": "Maximum number of simultaneous TCP DNS sessions",
29
+ "type": "integer",
30
+ "minimum": -9007199254740991,
31
+ "maximum": 9007199254740991
32
+ },
33
+ "query_server_timeout": {
34
+ "description": "Per-upstream-server query timeout, e.g. \"2s\"",
35
+ "type": "string"
36
+ },
37
+ "query_total_timeout": {
38
+ "description": "Total query timeout across all servers, e.g. \"10s\"",
39
+ "type": "string"
40
+ },
27
41
  "cache_size": {
28
42
  "type": "integer",
29
43
  "minimum": -9007199254740991,
@@ -42,6 +56,26 @@
42
56
  "verify_doh_cert": {
43
57
  "default": true,
44
58
  "type": "boolean"
59
+ },
60
+ "doh_max_server_connections": {
61
+ "description": "Maximum concurrent connections to the DoH server",
62
+ "type": "integer",
63
+ "minimum": -9007199254740991,
64
+ "maximum": 9007199254740991
65
+ },
66
+ "doh_max_concurrent_queries": {
67
+ "description": "Maximum concurrent queries over DoH",
68
+ "type": "integer",
69
+ "minimum": -9007199254740991,
70
+ "maximum": 9007199254740991
71
+ },
72
+ "doh_timeout": {
73
+ "description": "DoH request timeout, e.g. \"5s\"",
74
+ "type": "string"
75
+ },
76
+ "vrf": {
77
+ "description": "VRF the resolver uses for upstream queries",
78
+ "type": "string"
45
79
  }
46
80
  },
47
81
  "required": ["servers", "allow_remote_requests", "use_doh", "verify_doh_cert"],
@@ -10,6 +10,10 @@
10
10
  "update_time": {
11
11
  "description": "Also sync the router clock from the cloud",
12
12
  "type": "boolean"
13
+ },
14
+ "ddns_update_interval": {
15
+ "description": "How often to push DDNS updates (e.g. '1m', '1h') or 'none' for the default",
16
+ "type": "string"
13
17
  }
14
18
  },
15
19
  "additionalProperties": false
@@ -24,6 +24,10 @@
24
24
  "certificate": {
25
25
  "description": "Certificate name (for TLS services)",
26
26
  "type": "string"
27
+ },
28
+ "vrf": {
29
+ "description": "VRF the service is bound to (default 'main')",
30
+ "type": "string"
27
31
  }
28
32
  },
29
33
  "required": ["name"],
@@ -31,6 +31,33 @@
31
31
  "type": "integer",
32
32
  "minimum": -9007199254740991,
33
33
  "maximum": 9007199254740991
34
+ },
35
+ "mrru": {
36
+ "description": "Max receive reconstructed unit for MRRU (multilink)",
37
+ "type": "integer",
38
+ "minimum": -9007199254740991,
39
+ "maximum": 9007199254740991
40
+ },
41
+ "keepalive_timeout": {
42
+ "description": "Seconds before an idle tunnel is considered down",
43
+ "type": "integer",
44
+ "minimum": -9007199254740991,
45
+ "maximum": 9007199254740991
46
+ },
47
+ "max_sessions": {
48
+ "description": "Maximum simultaneous client sessions",
49
+ "type": "integer",
50
+ "minimum": -9007199254740991,
51
+ "maximum": 9007199254740991
52
+ },
53
+ "one_session_per_host": {
54
+ "description": "Allow only one active session per host",
55
+ "type": "boolean"
56
+ },
57
+ "caller_id_type": {
58
+ "description": "Caller ID format: ip-address or number",
59
+ "type": "string",
60
+ "enum": ["ip-address", "number"]
34
61
  }
35
62
  },
36
63
  "additionalProperties": false
@@ -19,6 +19,18 @@
19
19
  "lldp_med_net_policy_vlan": {
20
20
  "description": "LLDP-MED network-policy VLAN, e.g. \"auto\" or a VLAN id.",
21
21
  "type": "string"
22
+ },
23
+ "lldp_mac_phy_config": {
24
+ "description": "Include the IEEE 802.3 MAC/PHY Configuration/Status TLV in LLDP frames.",
25
+ "type": "boolean"
26
+ },
27
+ "lldp_max_frame_size": {
28
+ "description": "Include the Maximum Frame Size TLV in LLDP frames.",
29
+ "type": "boolean"
30
+ },
31
+ "lldp_vlan_info": {
32
+ "description": "Include the Port VLAN ID and VLAN Name TLVs in LLDP frames.",
33
+ "type": "boolean"
22
34
  }
23
35
  },
24
36
  "additionalProperties": false
@@ -10,6 +10,15 @@
10
10
  "servers": {
11
11
  "description": "Comma-separated NTP server list",
12
12
  "type": "string"
13
+ },
14
+ "mode": {
15
+ "description": "NTP client operating mode",
16
+ "type": "string",
17
+ "enum": ["unicast", "broadcast", "multicast", "manycast"]
18
+ },
19
+ "vrf": {
20
+ "description": "VRF the NTP client operates in (e.g. 'main')",
21
+ "type": "string"
13
22
  }
14
23
  },
15
24
  "additionalProperties": false
@@ -19,6 +19,16 @@
19
19
  "broadcast_address": {
20
20
  "description": "Broadcast address for NTP broadcasts",
21
21
  "type": "string"
22
+ },
23
+ "use_local_clock": {
24
+ "description": "Serve time from the device's local clock as reference",
25
+ "type": "boolean"
26
+ },
27
+ "local_clock_stratum": {
28
+ "description": "Stratum advertised when using the local clock (1-15)",
29
+ "type": "integer",
30
+ "minimum": -9007199254740991,
31
+ "maximum": 9007199254740991
22
32
  }
23
33
  },
24
34
  "additionalProperties": false