@usex/mikrotik-mcp 1.0.0 → 2.1.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 (196) hide show
  1. package/README.md +23 -8
  2. package/dist/cli.js +8571 -2330
  3. package/dist/index.d.ts +42 -2
  4. package/dist/index.js +7798 -2226
  5. package/dist/ui/dashboard.html +19 -0
  6. package/dist/ui/firewall.html +20 -0
  7. package/dist/ui/interfaces.html +20 -0
  8. package/dist/ui/observability.html +27 -0
  9. package/dist/ui/records.html +20 -0
  10. package/package.json +63 -50
  11. package/schemas/README.md +1 -1
  12. package/schemas/config.schema.json +112 -21
  13. package/schemas/tool-catalog.json +11783 -5555
  14. package/schemas/tools/add_dot1x_client.json +42 -0
  15. package/schemas/tools/add_dot1x_server.json +60 -0
  16. package/schemas/tools/add_graphing_interface.json +23 -0
  17. package/schemas/tools/add_graphing_queue.json +22 -0
  18. package/schemas/tools/add_graphing_resource.json +14 -0
  19. package/schemas/tools/add_ipv6_address.json +43 -0
  20. package/schemas/tools/add_ipv6_address_list_entry.json +32 -0
  21. package/schemas/tools/add_ipv6_default_route.json +34 -0
  22. package/schemas/tools/add_ipv6_dhcp_binding.json +42 -0
  23. package/schemas/tools/add_ipv6_dhcp_client.json +69 -0
  24. package/schemas/tools/add_ipv6_dhcp_option.json +29 -0
  25. package/schemas/tools/add_ipv6_dhcp_relay.json +35 -0
  26. package/schemas/tools/add_ipv6_nd.json +68 -0
  27. package/schemas/tools/add_ipv6_nd_prefix.json +35 -0
  28. package/schemas/tools/add_ipv6_route.json +64 -0
  29. package/schemas/tools/add_romon_port.json +34 -0
  30. package/schemas/tools/add_switch_port_isolation.json +23 -0
  31. package/schemas/tools/add_switch_rule.json +96 -0
  32. package/schemas/tools/add_traffic_generator_port.json +23 -0
  33. package/schemas/tools/add_traffic_generator_stream.json +39 -0
  34. package/schemas/tools/add_traffic_monitor.json +54 -0
  35. package/schemas/tools/create_ipv6_dhcp_server.json +60 -0
  36. package/schemas/tools/create_ipv6_filter_rule.json +103 -0
  37. package/schemas/tools/create_ipv6_mangle_rule.json +110 -0
  38. package/schemas/tools/create_ipv6_nat_rule.json +88 -0
  39. package/schemas/tools/create_ipv6_pool.json +29 -0
  40. package/schemas/tools/create_ipv6_raw_rule.json +78 -0
  41. package/schemas/tools/delete_s3_backup.json +15 -0
  42. package/schemas/tools/disable_ipv6_address_list_entry.json +15 -0
  43. package/schemas/tools/disable_ipv6_dhcp_relay.json +14 -0
  44. package/schemas/tools/disable_ipv6_filter_rule.json +14 -0
  45. package/schemas/tools/disable_ipv6_mangle_rule.json +14 -0
  46. package/schemas/tools/disable_ipv6_nat_rule.json +14 -0
  47. package/schemas/tools/disable_ipv6_raw_rule.json +14 -0
  48. package/schemas/tools/disable_ipv6_route.json +14 -0
  49. package/schemas/tools/disable_switch_rule.json +14 -0
  50. package/schemas/tools/disable_traffic_monitor.json +14 -0
  51. package/schemas/tools/download_backup_from_s3.json +25 -0
  52. package/schemas/tools/enable_ipv6_address_list_entry.json +15 -0
  53. package/schemas/tools/enable_ipv6_dhcp_relay.json +14 -0
  54. package/schemas/tools/enable_ipv6_filter_rule.json +14 -0
  55. package/schemas/tools/enable_ipv6_mangle_rule.json +14 -0
  56. package/schemas/tools/enable_ipv6_nat_rule.json +14 -0
  57. package/schemas/tools/enable_ipv6_raw_rule.json +14 -0
  58. package/schemas/tools/enable_ipv6_route.json +14 -0
  59. package/schemas/tools/enable_switch_rule.json +14 -0
  60. package/schemas/tools/enable_traffic_monitor.json +14 -0
  61. package/schemas/tools/flood_ping.json +37 -0
  62. package/schemas/tools/get_bandwidth_server.json +7 -0
  63. package/schemas/tools/get_dot1x_client.json +15 -0
  64. package/schemas/tools/get_dot1x_server.json +15 -0
  65. package/schemas/tools/get_ipv6_address.json +15 -0
  66. package/schemas/tools/get_ipv6_address_list_entry.json +15 -0
  67. package/schemas/tools/get_ipv6_dhcp_client.json +15 -0
  68. package/schemas/tools/get_ipv6_dhcp_relay.json +14 -0
  69. package/schemas/tools/get_ipv6_dhcp_server.json +14 -0
  70. package/schemas/tools/get_ipv6_filter_rule.json +15 -0
  71. package/schemas/tools/get_ipv6_mangle_rule.json +15 -0
  72. package/schemas/tools/get_ipv6_nat_rule.json +15 -0
  73. package/schemas/tools/get_ipv6_nd.json +15 -0
  74. package/schemas/tools/get_ipv6_neighbor.json +15 -0
  75. package/schemas/tools/get_ipv6_pool.json +14 -0
  76. package/schemas/tools/get_ipv6_raw_rule.json +15 -0
  77. package/schemas/tools/get_ipv6_route.json +15 -0
  78. package/schemas/tools/get_ipv6_settings.json +7 -0
  79. package/schemas/tools/get_mac_ping.json +7 -0
  80. package/schemas/tools/get_mac_server.json +7 -0
  81. package/schemas/tools/get_mac_winbox.json +7 -0
  82. package/schemas/tools/get_queue_interface.json +15 -0
  83. package/schemas/tools/get_romon.json +7 -0
  84. package/schemas/tools/get_sms_settings.json +7 -0
  85. package/schemas/tools/get_sniffer_settings.json +7 -0
  86. package/schemas/tools/get_switch.json +15 -0
  87. package/schemas/tools/get_switch_port.json +15 -0
  88. package/schemas/tools/get_switch_port_isolation.json +15 -0
  89. package/schemas/tools/get_switch_rule.json +15 -0
  90. package/schemas/tools/get_traffic_monitor.json +14 -0
  91. package/schemas/tools/ip_scan.json +26 -0
  92. package/schemas/tools/list_bandwidth_server_sessions.json +12 -0
  93. package/schemas/tools/list_dot1x_clients.json +22 -0
  94. package/schemas/tools/list_dot1x_servers.json +18 -0
  95. package/schemas/tools/list_graphing.json +20 -0
  96. package/schemas/tools/list_ipv6_address_lists.json +24 -0
  97. package/schemas/tools/list_ipv6_addresses.json +31 -0
  98. package/schemas/tools/list_ipv6_dhcp_bindings.json +21 -0
  99. package/schemas/tools/list_ipv6_dhcp_clients.json +27 -0
  100. package/schemas/tools/list_ipv6_dhcp_options.json +11 -0
  101. package/schemas/tools/list_ipv6_dhcp_relays.json +21 -0
  102. package/schemas/tools/list_ipv6_dhcp_servers.json +26 -0
  103. package/schemas/tools/list_ipv6_filter_rules.json +43 -0
  104. package/schemas/tools/list_ipv6_mangle_rules.json +37 -0
  105. package/schemas/tools/list_ipv6_nat_rules.json +37 -0
  106. package/schemas/tools/list_ipv6_nd.json +18 -0
  107. package/schemas/tools/list_ipv6_nd_prefixes.json +21 -0
  108. package/schemas/tools/list_ipv6_neighbors.json +29 -0
  109. package/schemas/tools/list_ipv6_pool_used.json +12 -0
  110. package/schemas/tools/list_ipv6_pools.json +14 -0
  111. package/schemas/tools/list_ipv6_raw_rules.json +37 -0
  112. package/schemas/tools/list_ipv6_routes.json +34 -0
  113. package/schemas/tools/list_mac_server_sessions.json +11 -0
  114. package/schemas/tools/list_queue_interfaces.json +16 -0
  115. package/schemas/tools/list_romon_ports.json +11 -0
  116. package/schemas/tools/list_s3_backups.json +22 -0
  117. package/schemas/tools/list_sms_inbox.json +12 -0
  118. package/schemas/tools/list_sniffer_connections.json +7 -0
  119. package/schemas/tools/list_sniffer_hosts.json +11 -0
  120. package/schemas/tools/list_sniffer_packets.json +15 -0
  121. package/schemas/tools/list_sniffer_protocols.json +7 -0
  122. package/schemas/tools/list_switch_port_isolation.json +12 -0
  123. package/schemas/tools/list_switch_ports.json +16 -0
  124. package/schemas/tools/list_switch_rules.json +21 -0
  125. package/schemas/tools/list_switches.json +16 -0
  126. package/schemas/tools/list_traffic_generator_ports.json +11 -0
  127. package/schemas/tools/list_traffic_generator_streams.json +14 -0
  128. package/schemas/tools/list_traffic_monitors.json +21 -0
  129. package/schemas/tools/move_ipv6_filter_rule.json +21 -0
  130. package/schemas/tools/move_ipv6_mangle_rule.json +21 -0
  131. package/schemas/tools/move_ipv6_nat_rule.json +21 -0
  132. package/schemas/tools/move_ipv6_raw_rule.json +21 -0
  133. package/schemas/tools/profile_cpu.json +22 -0
  134. package/schemas/tools/release_ipv6_dhcp_client.json +14 -0
  135. package/schemas/tools/remove_dot1x_client.json +15 -0
  136. package/schemas/tools/remove_dot1x_server.json +15 -0
  137. package/schemas/tools/remove_graphing.json +24 -0
  138. package/schemas/tools/remove_ipv6_address.json +14 -0
  139. package/schemas/tools/remove_ipv6_address_list_entry.json +15 -0
  140. package/schemas/tools/remove_ipv6_dhcp_binding.json +15 -0
  141. package/schemas/tools/remove_ipv6_dhcp_client.json +14 -0
  142. package/schemas/tools/remove_ipv6_dhcp_option.json +14 -0
  143. package/schemas/tools/remove_ipv6_dhcp_relay.json +14 -0
  144. package/schemas/tools/remove_ipv6_dhcp_server.json +14 -0
  145. package/schemas/tools/remove_ipv6_filter_rule.json +14 -0
  146. package/schemas/tools/remove_ipv6_mangle_rule.json +14 -0
  147. package/schemas/tools/remove_ipv6_nat_rule.json +14 -0
  148. package/schemas/tools/remove_ipv6_nd.json +15 -0
  149. package/schemas/tools/remove_ipv6_nd_prefix.json +15 -0
  150. package/schemas/tools/remove_ipv6_neighbor.json +15 -0
  151. package/schemas/tools/remove_ipv6_pool.json +14 -0
  152. package/schemas/tools/remove_ipv6_raw_rule.json +14 -0
  153. package/schemas/tools/remove_ipv6_route.json +15 -0
  154. package/schemas/tools/remove_romon_port.json +15 -0
  155. package/schemas/tools/remove_switch_port_isolation.json +15 -0
  156. package/schemas/tools/remove_switch_rule.json +14 -0
  157. package/schemas/tools/remove_traffic_generator_port.json +15 -0
  158. package/schemas/tools/remove_traffic_generator_stream.json +15 -0
  159. package/schemas/tools/remove_traffic_monitor.json +14 -0
  160. package/schemas/tools/renew_ipv6_dhcp_client.json +14 -0
  161. package/schemas/tools/s3_backup_info.json +15 -0
  162. package/schemas/tools/s3_backup_status.json +7 -0
  163. package/schemas/tools/save_sniffer.json +15 -0
  164. package/schemas/tools/send_sms.json +34 -0
  165. package/schemas/tools/show_firewall_filter.json +7 -0
  166. package/schemas/tools/show_interfaces.json +7 -0
  167. package/schemas/tools/show_system_dashboard.json +7 -0
  168. package/schemas/tools/speed_test.json +47 -0
  169. package/schemas/tools/start_sniffer.json +7 -0
  170. package/schemas/tools/start_traffic_generator.json +14 -0
  171. package/schemas/tools/stop_sniffer.json +7 -0
  172. package/schemas/tools/stop_traffic_generator.json +7 -0
  173. package/schemas/tools/update_bandwidth_server.json +24 -0
  174. package/schemas/tools/update_dot1x_client.json +36 -0
  175. package/schemas/tools/update_dot1x_server.json +54 -0
  176. package/schemas/tools/update_ipv6_filter_rule.json +77 -0
  177. package/schemas/tools/update_ipv6_mangle_rule.json +80 -0
  178. package/schemas/tools/update_ipv6_nat_rule.json +65 -0
  179. package/schemas/tools/update_ipv6_nd.json +64 -0
  180. package/schemas/tools/update_ipv6_pool.json +28 -0
  181. package/schemas/tools/update_ipv6_raw_rule.json +59 -0
  182. package/schemas/tools/update_ipv6_settings.json +35 -0
  183. package/schemas/tools/update_mac_ping.json +15 -0
  184. package/schemas/tools/update_mac_server.json +15 -0
  185. package/schemas/tools/update_mac_winbox.json +15 -0
  186. package/schemas/tools/update_queue_interface.json +20 -0
  187. package/schemas/tools/update_romon.json +19 -0
  188. package/schemas/tools/update_sms_settings.json +30 -0
  189. package/schemas/tools/update_sniffer_settings.json +39 -0
  190. package/schemas/tools/update_switch.json +34 -0
  191. package/schemas/tools/update_switch_port.json +39 -0
  192. package/schemas/tools/update_switch_port_isolation.json +22 -0
  193. package/schemas/tools/update_switch_rule.json +83 -0
  194. package/schemas/tools/update_traffic_monitor.json +46 -0
  195. package/schemas/tools/upload_backup_to_s3.json +25 -0
  196. package/schemas/tools/wake_on_lan.json +19 -0
@@ -0,0 +1,64 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "update_ipv6_nd",
4
+ "type": "object",
5
+ "properties": {
6
+ "nd_id": {
7
+ "type": "string",
8
+ "description": "Interface name (e.g. 'all', 'ether1') or '.id'"
9
+ },
10
+ "ra_interval": {
11
+ "type": "string"
12
+ },
13
+ "ra_delay": {
14
+ "type": "string"
15
+ },
16
+ "ra_lifetime": {
17
+ "type": "string"
18
+ },
19
+ "ra_preference": {
20
+ "type": "string",
21
+ "enum": [
22
+ "low",
23
+ "medium",
24
+ "high"
25
+ ]
26
+ },
27
+ "hop_limit": {
28
+ "type": "string"
29
+ },
30
+ "mtu": {
31
+ "type": "integer",
32
+ "minimum": -9007199254740991,
33
+ "maximum": 9007199254740991
34
+ },
35
+ "reachable_time": {
36
+ "type": "string"
37
+ },
38
+ "retransmit_interval": {
39
+ "type": "string"
40
+ },
41
+ "managed_address_configuration": {
42
+ "type": "boolean"
43
+ },
44
+ "other_configuration": {
45
+ "type": "boolean"
46
+ },
47
+ "advertise_dns": {
48
+ "type": "boolean"
49
+ },
50
+ "advertise_mac_address": {
51
+ "type": "boolean"
52
+ },
53
+ "comment": {
54
+ "type": "string"
55
+ },
56
+ "disabled": {
57
+ "type": "boolean"
58
+ }
59
+ },
60
+ "required": [
61
+ "nd_id"
62
+ ],
63
+ "additionalProperties": false
64
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "update_ipv6_pool",
4
+ "type": "object",
5
+ "properties": {
6
+ "name": {
7
+ "type": "string"
8
+ },
9
+ "new_name": {
10
+ "type": "string"
11
+ },
12
+ "prefix": {
13
+ "type": "string"
14
+ },
15
+ "prefix_length": {
16
+ "type": "integer",
17
+ "minimum": 1,
18
+ "maximum": 128
19
+ },
20
+ "comment": {
21
+ "type": "string"
22
+ }
23
+ },
24
+ "required": [
25
+ "name"
26
+ ],
27
+ "additionalProperties": false
28
+ }
@@ -0,0 +1,59 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "update_ipv6_raw_rule",
4
+ "type": "object",
5
+ "properties": {
6
+ "rule_id": {
7
+ "type": "string"
8
+ },
9
+ "chain": {
10
+ "type": "string"
11
+ },
12
+ "action": {
13
+ "type": "string"
14
+ },
15
+ "src_address": {
16
+ "type": "string"
17
+ },
18
+ "dst_address": {
19
+ "type": "string"
20
+ },
21
+ "src_port": {
22
+ "type": "string"
23
+ },
24
+ "dst_port": {
25
+ "type": "string"
26
+ },
27
+ "protocol": {
28
+ "type": "string"
29
+ },
30
+ "in_interface": {
31
+ "type": "string"
32
+ },
33
+ "out_interface": {
34
+ "type": "string"
35
+ },
36
+ "src_address_list": {
37
+ "type": "string"
38
+ },
39
+ "dst_address_list": {
40
+ "type": "string"
41
+ },
42
+ "comment": {
43
+ "type": "string"
44
+ },
45
+ "disabled": {
46
+ "type": "boolean"
47
+ },
48
+ "log": {
49
+ "type": "boolean"
50
+ },
51
+ "log_prefix": {
52
+ "type": "string"
53
+ }
54
+ },
55
+ "required": [
56
+ "rule_id"
57
+ ],
58
+ "additionalProperties": false
59
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "update_ipv6_settings",
4
+ "type": "object",
5
+ "properties": {
6
+ "disable_ipv6": {
7
+ "type": "boolean"
8
+ },
9
+ "forward": {
10
+ "type": "boolean"
11
+ },
12
+ "accept_redirects": {
13
+ "type": "string",
14
+ "enum": [
15
+ "yes",
16
+ "no",
17
+ "yes-if-forwarding-disabled"
18
+ ]
19
+ },
20
+ "accept_router_advertisements": {
21
+ "type": "string",
22
+ "enum": [
23
+ "yes",
24
+ "no",
25
+ "yes-if-forwarding-disabled"
26
+ ]
27
+ },
28
+ "max_neighbor_entries": {
29
+ "type": "integer",
30
+ "minimum": -9007199254740991,
31
+ "maximum": 9007199254740991
32
+ }
33
+ },
34
+ "additionalProperties": false
35
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "update_mac_ping",
4
+ "type": "object",
5
+ "properties": {
6
+ "enabled": {
7
+ "type": "boolean",
8
+ "description": "Whether MAC-ping is enabled"
9
+ }
10
+ },
11
+ "required": [
12
+ "enabled"
13
+ ],
14
+ "additionalProperties": false
15
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "update_mac_server",
4
+ "type": "object",
5
+ "properties": {
6
+ "allowed_interface_list": {
7
+ "type": "string",
8
+ "description": "Interface-list name, or 'all' / 'none'"
9
+ }
10
+ },
11
+ "required": [
12
+ "allowed_interface_list"
13
+ ],
14
+ "additionalProperties": false
15
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "update_mac_winbox",
4
+ "type": "object",
5
+ "properties": {
6
+ "allowed_interface_list": {
7
+ "type": "string",
8
+ "description": "Interface-list name, or 'all' / 'none'"
9
+ }
10
+ },
11
+ "required": [
12
+ "allowed_interface_list"
13
+ ],
14
+ "additionalProperties": false
15
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "update_queue_interface",
4
+ "type": "object",
5
+ "properties": {
6
+ "interface_id": {
7
+ "type": "string",
8
+ "description": "Interface name (e.g. 'ether1') or RouterOS '.id'"
9
+ },
10
+ "queue": {
11
+ "type": "string",
12
+ "description": "Queue-type name to apply to the interface"
13
+ }
14
+ },
15
+ "required": [
16
+ "interface_id",
17
+ "queue"
18
+ ],
19
+ "additionalProperties": false
20
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "update_romon",
4
+ "type": "object",
5
+ "properties": {
6
+ "enabled": {
7
+ "type": "boolean"
8
+ },
9
+ "id": {
10
+ "description": "RoMON ID (MAC-style)",
11
+ "type": "string"
12
+ },
13
+ "secrets": {
14
+ "description": "Comma-separated shared secret(s)",
15
+ "type": "string"
16
+ }
17
+ },
18
+ "additionalProperties": false
19
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "update_sms_settings",
4
+ "type": "object",
5
+ "properties": {
6
+ "port": {
7
+ "description": "LTE/modem port, e.g. 'lte1'",
8
+ "type": "string"
9
+ },
10
+ "receive_enabled": {
11
+ "type": "boolean"
12
+ },
13
+ "secret": {
14
+ "description": "Secret for remote SMS commands",
15
+ "type": "string"
16
+ },
17
+ "allowed_number": {
18
+ "type": "string"
19
+ },
20
+ "channel": {
21
+ "type": "integer",
22
+ "minimum": -9007199254740991,
23
+ "maximum": 9007199254740991
24
+ },
25
+ "sim_pin": {
26
+ "type": "string"
27
+ }
28
+ },
29
+ "additionalProperties": false
30
+ }
@@ -0,0 +1,39 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "update_sniffer_settings",
4
+ "type": "object",
5
+ "properties": {
6
+ "filter_interface": {
7
+ "type": "string"
8
+ },
9
+ "filter_ip_address": {
10
+ "description": "Match IP/CIDR, e.g. '10.0.0.0/24'",
11
+ "type": "string"
12
+ },
13
+ "filter_port": {
14
+ "type": "string"
15
+ },
16
+ "filter_mac_protocol": {
17
+ "type": "string"
18
+ },
19
+ "streaming_enabled": {
20
+ "type": "boolean"
21
+ },
22
+ "streaming_server": {
23
+ "description": "TZSP target, e.g. '192.168.88.2'",
24
+ "type": "string"
25
+ },
26
+ "memory_limit": {
27
+ "description": "Buffer size, e.g. '10M'",
28
+ "type": "string"
29
+ },
30
+ "file_name": {
31
+ "description": "Capture file name (.pcap)",
32
+ "type": "string"
33
+ },
34
+ "only_headers": {
35
+ "type": "boolean"
36
+ }
37
+ },
38
+ "additionalProperties": false
39
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "update_switch",
4
+ "type": "object",
5
+ "properties": {
6
+ "switch_id": {
7
+ "type": "string",
8
+ "description": "Switch name (e.g. 'switch1') or RouterOS '.id'"
9
+ },
10
+ "name": {
11
+ "description": "Rename the switch",
12
+ "type": "string"
13
+ },
14
+ "cpu_flow_control": {
15
+ "type": "boolean"
16
+ },
17
+ "mirror_source": {
18
+ "description": "Source port to mirror, or 'none'",
19
+ "type": "string"
20
+ },
21
+ "mirror_target": {
22
+ "description": "Monitor port, 'cpu', or 'none'",
23
+ "type": "string"
24
+ },
25
+ "mirror_egress": {
26
+ "description": "Egress mirror source port (newer chips), or 'none'",
27
+ "type": "string"
28
+ }
29
+ },
30
+ "required": [
31
+ "switch_id"
32
+ ],
33
+ "additionalProperties": false
34
+ }
@@ -0,0 +1,39 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "update_switch_port",
4
+ "type": "object",
5
+ "properties": {
6
+ "port_id": {
7
+ "type": "string",
8
+ "description": "Port name (e.g. 'ether1') or RouterOS '.id'"
9
+ },
10
+ "default_vlan_id": {
11
+ "description": "PVID: 'auto', 'none', or a VLAN id number",
12
+ "type": "string"
13
+ },
14
+ "vlan_mode": {
15
+ "type": "string",
16
+ "enum": [
17
+ "disabled",
18
+ "optional",
19
+ "enabled",
20
+ "secure"
21
+ ]
22
+ },
23
+ "vlan_header": {
24
+ "type": "string",
25
+ "enum": [
26
+ "leave-as-is",
27
+ "always-strip",
28
+ "add-if-missing"
29
+ ]
30
+ },
31
+ "force_vlan_id": {
32
+ "type": "boolean"
33
+ }
34
+ },
35
+ "required": [
36
+ "port_id"
37
+ ],
38
+ "additionalProperties": false
39
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "update_switch_port_isolation",
4
+ "type": "object",
5
+ "properties": {
6
+ "isolation_id": {
7
+ "type": "string",
8
+ "description": "Source port name or RouterOS '.id'"
9
+ },
10
+ "forwarding_override_ports": {
11
+ "description": "Comma-separated allowed destination ports",
12
+ "type": "string"
13
+ },
14
+ "comment": {
15
+ "type": "string"
16
+ }
17
+ },
18
+ "required": [
19
+ "isolation_id"
20
+ ],
21
+ "additionalProperties": false
22
+ }
@@ -0,0 +1,83 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "update_switch_rule",
4
+ "type": "object",
5
+ "properties": {
6
+ "rule_id": {
7
+ "type": "string"
8
+ },
9
+ "switch": {
10
+ "type": "string"
11
+ },
12
+ "ports": {
13
+ "type": "string"
14
+ },
15
+ "src_address": {
16
+ "type": "string"
17
+ },
18
+ "dst_address": {
19
+ "type": "string"
20
+ },
21
+ "src_mac_address": {
22
+ "type": "string"
23
+ },
24
+ "dst_mac_address": {
25
+ "type": "string"
26
+ },
27
+ "src_port": {
28
+ "type": "string"
29
+ },
30
+ "dst_port": {
31
+ "type": "string"
32
+ },
33
+ "protocol": {
34
+ "type": "string"
35
+ },
36
+ "mac_protocol": {
37
+ "type": "string"
38
+ },
39
+ "vlan_id": {
40
+ "type": "string"
41
+ },
42
+ "vlan_priority": {
43
+ "type": "string"
44
+ },
45
+ "dscp": {
46
+ "type": "string"
47
+ },
48
+ "flow_label": {
49
+ "type": "string"
50
+ },
51
+ "new_dst_ports": {
52
+ "type": "string"
53
+ },
54
+ "new_vlan_id": {
55
+ "type": "string"
56
+ },
57
+ "new_vlan_priority": {
58
+ "type": "string"
59
+ },
60
+ "redirect_to_cpu": {
61
+ "type": "boolean"
62
+ },
63
+ "copy_to_cpu": {
64
+ "type": "boolean"
65
+ },
66
+ "mirror": {
67
+ "type": "boolean"
68
+ },
69
+ "rate": {
70
+ "type": "string"
71
+ },
72
+ "comment": {
73
+ "type": "string"
74
+ },
75
+ "disabled": {
76
+ "type": "boolean"
77
+ }
78
+ },
79
+ "required": [
80
+ "rule_id"
81
+ ],
82
+ "additionalProperties": false
83
+ }
@@ -0,0 +1,46 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "update_traffic_monitor",
4
+ "type": "object",
5
+ "properties": {
6
+ "name": {
7
+ "type": "string"
8
+ },
9
+ "interface": {
10
+ "type": "string"
11
+ },
12
+ "traffic": {
13
+ "type": "string",
14
+ "enum": [
15
+ "received",
16
+ "transmitted"
17
+ ]
18
+ },
19
+ "trigger": {
20
+ "type": "string",
21
+ "enum": [
22
+ "above",
23
+ "below",
24
+ "always"
25
+ ]
26
+ },
27
+ "threshold": {
28
+ "type": "integer",
29
+ "minimum": -9007199254740991,
30
+ "maximum": 9007199254740991
31
+ },
32
+ "on_event": {
33
+ "type": "string"
34
+ },
35
+ "comment": {
36
+ "type": "string"
37
+ },
38
+ "disabled": {
39
+ "type": "boolean"
40
+ }
41
+ },
42
+ "required": [
43
+ "name"
44
+ ],
45
+ "additionalProperties": false
46
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "upload_backup_to_s3",
4
+ "type": "object",
5
+ "properties": {
6
+ "filename": {
7
+ "type": "string",
8
+ "description": "File on the device, e.g. 'daily.backup'"
9
+ },
10
+ "key": {
11
+ "description": "S3 object key (defaults to prefix + filename)",
12
+ "type": "string"
13
+ },
14
+ "expires_in": {
15
+ "description": "Presigned-URL lifetime in seconds",
16
+ "type": "integer",
17
+ "minimum": 60,
18
+ "maximum": 9007199254740991
19
+ }
20
+ },
21
+ "required": [
22
+ "filename"
23
+ ],
24
+ "additionalProperties": false
25
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "wake_on_lan",
4
+ "type": "object",
5
+ "properties": {
6
+ "mac": {
7
+ "type": "string",
8
+ "description": "Target MAC address, e.g. 'AA:BB:CC:DD:EE:FF'"
9
+ },
10
+ "interface": {
11
+ "description": "Interface to send the magic packet from",
12
+ "type": "string"
13
+ }
14
+ },
15
+ "required": [
16
+ "mac"
17
+ ],
18
+ "additionalProperties": false
19
+ }