opnsense_api 0.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.
- checksums.yaml +7 -0
- data/lib/opnsense_api/client.rb +125 -0
- data/lib/opnsense_api/core/captive_portal/access.rb +25 -0
- data/lib/opnsense_api/core/captive_portal/service.rb +33 -0
- data/lib/opnsense_api/core/captive_portal/session.rb +29 -0
- data/lib/opnsense_api/core/captive_portal/settings.rb +41 -0
- data/lib/opnsense_api/core/captive_portal/voucher.rb +41 -0
- data/lib/opnsense_api/core/captive_portal.rb +36 -0
- data/lib/opnsense_api/core/core/firmware.rb +70 -0
- data/lib/opnsense_api/core/core/menu.rb +21 -0
- data/lib/opnsense_api/core/core/system.rb +29 -0
- data/lib/opnsense_api/core/core.rb +26 -0
- data/lib/opnsense_api/core/cron/service.rb +17 -0
- data/lib/opnsense_api/core/cron/settings.rb +45 -0
- data/lib/opnsense_api/core/cron.rb +21 -0
- data/lib/opnsense_api/core/diagnostics/activity.rb +17 -0
- data/lib/opnsense_api/core/diagnostics/dns.rb +17 -0
- data/lib/opnsense_api/core/diagnostics/dns_diagnostics.rb +25 -0
- data/lib/opnsense_api/core/diagnostics/firewall.rb +57 -0
- data/lib/opnsense_api/core/diagnostics/interface.rb +81 -0
- data/lib/opnsense_api/core/diagnostics/lv_template.rb +41 -0
- data/lib/opnsense_api/core/diagnostics/netflow.rb +37 -0
- data/lib/opnsense_api/core/diagnostics/network_insight.rb +29 -0
- data/lib/opnsense_api/core/diagnostics/packet_capture.rb +53 -0
- data/lib/opnsense_api/core/diagnostics/system.rb +17 -0
- data/lib/opnsense_api/core/diagnostics/system_health.rb +21 -0
- data/lib/opnsense_api/core/diagnostics/traffic.rb +21 -0
- data/lib/opnsense_api/core/diagnostics.rb +71 -0
- data/lib/opnsense_api/core/firewall/alias.rb +83 -0
- data/lib/opnsense_api/core/firewall/alias_util.rb +43 -0
- data/lib/opnsense_api/core/firewall/category.rb +46 -0
- data/lib/opnsense_api/core/firewall/filter_util.rb +18 -0
- data/lib/opnsense_api/core/firewall.rb +31 -0
- data/lib/opnsense_api/core/ids/service.rb +58 -0
- data/lib/opnsense_api/core/ids/settings.rb +142 -0
- data/lib/opnsense_api/core/ids.rb +21 -0
- data/lib/opnsense_api/core/interfaces/base.rb +44 -0
- data/lib/opnsense_api/core/interfaces/loopback_settings.rb +12 -0
- data/lib/opnsense_api/core/interfaces/vip_settings.rb +16 -0
- data/lib/opnsense_api/core/interfaces/vlan_settings.rb +12 -0
- data/lib/opnsense_api/core/interfaces/vxlan_settings.rb +12 -0
- data/lib/opnsense_api/core/interfaces.rb +32 -0
- data/lib/opnsense_api/core/ipsec/key_pairs.rb +46 -0
- data/lib/opnsense_api/core/ipsec/leases.rb +22 -0
- data/lib/opnsense_api/core/ipsec/legacy_subsystem.rb +22 -0
- data/lib/opnsense_api/core/ipsec/pre_shared_keys.rb +46 -0
- data/lib/opnsense_api/core/ipsec/sad.rb +22 -0
- data/lib/opnsense_api/core/ipsec/service.rb +34 -0
- data/lib/opnsense_api/core/ipsec/sessions.rb +30 -0
- data/lib/opnsense_api/core/ipsec/spd.rb +22 -0
- data/lib/opnsense_api/core/ipsec/tunnel.rb +42 -0
- data/lib/opnsense_api/core/ipsec.rb +56 -0
- data/lib/opnsense_api/core/monit/service.rb +38 -0
- data/lib/opnsense_api/core/monit/settings.rb +98 -0
- data/lib/opnsense_api/core/monit/status.rb +18 -0
- data/lib/opnsense_api/core/monit.rb +26 -0
- data/lib/opnsense_api/core/open_vpn/export.rb +38 -0
- data/lib/opnsense_api/core/open_vpn.rb +16 -0
- data/lib/opnsense_api/core/proxy/service.rb +50 -0
- data/lib/opnsense_api/core/proxy/settings.rb +114 -0
- data/lib/opnsense_api/core/proxy/template.rb +26 -0
- data/lib/opnsense_api/core/proxy.rb +26 -0
- data/lib/opnsense_api/core/routes/gateway.rb +18 -0
- data/lib/opnsense_api/core/routes/routes.rb +50 -0
- data/lib/opnsense_api/core/routes.rb +21 -0
- data/lib/opnsense_api/core/syslog/service.rb +38 -0
- data/lib/opnsense_api/core/syslog/settings.rb +46 -0
- data/lib/opnsense_api/core/syslog.rb +21 -0
- data/lib/opnsense_api/core/traffic_shaping/service.rb +26 -0
- data/lib/opnsense_api/core/traffic_shaping/settings.rb +94 -0
- data/lib/opnsense_api/core/traffic_shaping.rb +21 -0
- data/lib/opnsense_api/core/unbound/diagnostics.rb +38 -0
- data/lib/opnsense_api/core/unbound/service.rb +38 -0
- data/lib/opnsense_api/core/unbound/settings.rb +122 -0
- data/lib/opnsense_api/core/unbound.rb +26 -0
- data/lib/opnsense_api/core.rb +27 -0
- data/lib/opnsense_api/error.rb +5 -0
- data/lib/opnsense_api/version.rb +5 -0
- data/lib/opnsense_api.rb +10 -0
- data/sig/lib/opnsense_api/client.rbs +55 -0
- data/sig/lib/opnsense_api/core/captive_portal/access.rbs +17 -0
- data/sig/lib/opnsense_api/core/captive_portal/service.rbs +21 -0
- data/sig/lib/opnsense_api/core/captive_portal/session.rbs +19 -0
- data/sig/lib/opnsense_api/core/captive_portal/settings.rbs +25 -0
- data/sig/lib/opnsense_api/core/captive_portal/voucher.rbs +25 -0
- data/sig/lib/opnsense_api/core/captive_portal.rbs +17 -0
- data/sig/lib/opnsense_api/core/core/firmware.rbs +37 -0
- data/sig/lib/opnsense_api/core/core/menu.rbs +15 -0
- data/sig/lib/opnsense_api/core/core/system.rbs +19 -0
- data/sig/lib/opnsense_api/core/core.rbs +13 -0
- data/sig/lib/opnsense_api/core/cron/service.rbs +13 -0
- data/sig/lib/opnsense_api/core/cron/settings.rbs +27 -0
- data/sig/lib/opnsense_api/core/cron.rbs +11 -0
- data/sig/lib/opnsense_api/core/diagnostics/activity.rbs +13 -0
- data/sig/lib/opnsense_api/core/diagnostics/dns.rbs +13 -0
- data/sig/lib/opnsense_api/core/diagnostics/dns_diagnostics.rbs +15 -0
- data/sig/lib/opnsense_api/core/diagnostics/firewall.rbs +33 -0
- data/sig/lib/opnsense_api/core/diagnostics/interface.rbs +45 -0
- data/sig/lib/opnsense_api/core/diagnostics/lv_template.rbs +25 -0
- data/sig/lib/opnsense_api/core/diagnostics/netflow.rbs +23 -0
- data/sig/lib/opnsense_api/core/diagnostics/network_insight.rbs +19 -0
- data/sig/lib/opnsense_api/core/diagnostics/packet_capture.rbs +29 -0
- data/sig/lib/opnsense_api/core/diagnostics/system.rbs +13 -0
- data/sig/lib/opnsense_api/core/diagnostics/system_health.rbs +15 -0
- data/sig/lib/opnsense_api/core/diagnostics/traffic.rbs +15 -0
- data/sig/lib/opnsense_api/core/diagnostics.rbs +31 -0
- data/sig/lib/opnsense_api/core/firewall/alias.rbs +45 -0
- data/sig/lib/opnsense_api/core/firewall/alias_util.rbs +25 -0
- data/sig/lib/opnsense_api/core/firewall/category.rbs +27 -0
- data/sig/lib/opnsense_api/core/firewall/filter_util.rbs +13 -0
- data/sig/lib/opnsense_api/core/firewall.rbs +15 -0
- data/sig/lib/opnsense_api/core/ids/service.rbs +33 -0
- data/sig/lib/opnsense_api/core/ids/settings.rbs +75 -0
- data/sig/lib/opnsense_api/core/ids.rbs +11 -0
- data/sig/lib/opnsense_api/core/interfaces/base.rbs +25 -0
- data/sig/lib/opnsense_api/core/interfaces/loopback_settings.rbs +9 -0
- data/sig/lib/opnsense_api/core/interfaces/vip_settings.rbs +11 -0
- data/sig/lib/opnsense_api/core/interfaces/vlan_settings.rbs +9 -0
- data/sig/lib/opnsense_api/core/interfaces/vxlan_settings.rbs +9 -0
- data/sig/lib/opnsense_api/core/interfaces.rbs +15 -0
- data/sig/lib/opnsense_api/core/ipsec/key_pairs.rbs +27 -0
- data/sig/lib/opnsense_api/core/ipsec/leases.rbs +15 -0
- data/sig/lib/opnsense_api/core/ipsec/legacy_subsystem.rbs +15 -0
- data/sig/lib/opnsense_api/core/ipsec/pre_shared_keys.rbs +27 -0
- data/sig/lib/opnsense_api/core/ipsec/sad.rbs +15 -0
- data/sig/lib/opnsense_api/core/ipsec/service.rbs +21 -0
- data/sig/lib/opnsense_api/core/ipsec/sessions.rbs +19 -0
- data/sig/lib/opnsense_api/core/ipsec/spd.rbs +15 -0
- data/sig/lib/opnsense_api/core/ipsec/tunnel.rbs +25 -0
- data/sig/lib/opnsense_api/core/ipsec.rbs +25 -0
- data/sig/lib/opnsense_api/core/monit/service.rbs +23 -0
- data/sig/lib/opnsense_api/core/monit/settings.rbs +53 -0
- data/sig/lib/opnsense_api/core/monit/status.rbs +13 -0
- data/sig/lib/opnsense_api/core/monit.rbs +13 -0
- data/sig/lib/opnsense_api/core/open_vpn/export.rbs +23 -0
- data/sig/lib/opnsense_api/core/open_vpn.rbs +9 -0
- data/sig/lib/opnsense_api/core/proxy/service.rbs +29 -0
- data/sig/lib/opnsense_api/core/proxy/settings.rbs +61 -0
- data/sig/lib/opnsense_api/core/proxy/template.rbs +17 -0
- data/sig/lib/opnsense_api/core/proxy.rbs +13 -0
- data/sig/lib/opnsense_api/core/routes/gateway.rbs +13 -0
- data/sig/lib/opnsense_api/core/routes/routes.rbs +29 -0
- data/sig/lib/opnsense_api/core/routes.rbs +11 -0
- data/sig/lib/opnsense_api/core/syslog/service.rbs +23 -0
- data/sig/lib/opnsense_api/core/syslog/settings.rbs +27 -0
- data/sig/lib/opnsense_api/core/syslog.rbs +11 -0
- data/sig/lib/opnsense_api/core/traffic_shaping/service.rbs +17 -0
- data/sig/lib/opnsense_api/core/traffic_shaping/settings.rbs +51 -0
- data/sig/lib/opnsense_api/core/traffic_shaping.rbs +11 -0
- data/sig/lib/opnsense_api/core/unbound/diagnostics.rbs +23 -0
- data/sig/lib/opnsense_api/core/unbound/service.rbs +23 -0
- data/sig/lib/opnsense_api/core/unbound/settings.rbs +65 -0
- data/sig/lib/opnsense_api/core/unbound.rbs +13 -0
- data/sig/lib/opnsense_api/core.rbs +7 -0
- data/sig/lib/opnsense_api/version.rbs +3 -0
- metadata +242 -0
@@ -0,0 +1,98 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OPNsenseAPI
|
4
|
+
module Core
|
5
|
+
class Monit
|
6
|
+
# @see https://docs.opnsense.org/development/api/core/monit.html#id2
|
7
|
+
class Settings
|
8
|
+
include OPNsenseAPI::Core
|
9
|
+
|
10
|
+
BASE_PATH = '/monit/settings'
|
11
|
+
|
12
|
+
def add_alert(body = {})
|
13
|
+
@client.post("#{BASE_PATH}/addAlert", body)
|
14
|
+
end
|
15
|
+
|
16
|
+
def add_service(body = {})
|
17
|
+
@client.post("#{BASE_PATH}/addService", body)
|
18
|
+
end
|
19
|
+
|
20
|
+
def add_test(body = {})
|
21
|
+
@client.post("#{BASE_PATH}/addTest", body)
|
22
|
+
end
|
23
|
+
|
24
|
+
def del_alert(body = {}, uuid:)
|
25
|
+
@client.post("#{BASE_PATH}/delAlert/#{uuid}", body)
|
26
|
+
end
|
27
|
+
|
28
|
+
def del_service(body = {}, uuid:)
|
29
|
+
@client.post("#{BASE_PATH}/delService/#{uuid}", body)
|
30
|
+
end
|
31
|
+
|
32
|
+
def del_test(body = {}, uuid:)
|
33
|
+
@client.post("#{BASE_PATH}/delTest/#{uuid}", body)
|
34
|
+
end
|
35
|
+
|
36
|
+
def dirty(params = {})
|
37
|
+
@client.get("#{BASE_PATH}/dirty", params)
|
38
|
+
end
|
39
|
+
|
40
|
+
def get(params = {})
|
41
|
+
@client.get("#{BASE_PATH}/get", params)
|
42
|
+
end
|
43
|
+
|
44
|
+
def get_alert(params = {}, uuid: nil)
|
45
|
+
@client.get("#{BASE_PATH}/getAlert/#{uuid}", params)
|
46
|
+
end
|
47
|
+
|
48
|
+
def get_general(params = {})
|
49
|
+
@client.get("#{BASE_PATH}/getGeneral", params)
|
50
|
+
end
|
51
|
+
|
52
|
+
def get_service(params = {}, uuid: nil)
|
53
|
+
@client.get("#{BASE_PATH}/getService/#{uuid}", params)
|
54
|
+
end
|
55
|
+
|
56
|
+
def get_test(params = {}, uuid: nil)
|
57
|
+
@client.get("#{BASE_PATH}/getTest/#{uuid}", params)
|
58
|
+
end
|
59
|
+
|
60
|
+
def search_alert(body = {})
|
61
|
+
@client.post("#{BASE_PATH}/searchAlert", body)
|
62
|
+
end
|
63
|
+
|
64
|
+
def search_service(body = {})
|
65
|
+
@client.post("#{BASE_PATH}/searchService", body)
|
66
|
+
end
|
67
|
+
|
68
|
+
def search_test(body = {})
|
69
|
+
@client.post("#{BASE_PATH}/searchTest", body)
|
70
|
+
end
|
71
|
+
|
72
|
+
def set(body = {})
|
73
|
+
@client.post("#{BASE_PATH}/set", body)
|
74
|
+
end
|
75
|
+
|
76
|
+
def set_alert(body = {}, uuid:)
|
77
|
+
@client.post("#{BASE_PATH}/setAlert/#{uuid}", body)
|
78
|
+
end
|
79
|
+
|
80
|
+
def set_service(body = {}, uuid:)
|
81
|
+
@client.post("#{BASE_PATH}/setService/#{uuid}", body)
|
82
|
+
end
|
83
|
+
|
84
|
+
def set_test(body = {}, uuid:)
|
85
|
+
@client.post("#{BASE_PATH}/setTest/#{uuid}", body)
|
86
|
+
end
|
87
|
+
|
88
|
+
def toggle_alert(body = {}, uuid:, enabled: nil)
|
89
|
+
@client.post("#{BASE_PATH}/toggleAlert/#{uuid}/#{enabled}", body)
|
90
|
+
end
|
91
|
+
|
92
|
+
def toggle_service(body = {}, uuid:, enabled: nil)
|
93
|
+
@client.post("#{BASE_PATH}/toggleService/#{uuid}/#{enabled}", body)
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OPNsenseAPI
|
4
|
+
module Core
|
5
|
+
class Monit
|
6
|
+
# @see https://docs.opnsense.org/development/api/core/monit.html#id3
|
7
|
+
class Status
|
8
|
+
include OPNsenseAPI::Core
|
9
|
+
|
10
|
+
BASE_PATH = '/monit/status'
|
11
|
+
|
12
|
+
def get(params = {})
|
13
|
+
@client.get("#{BASE_PATH}/get", params)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OPNsenseAPI
|
4
|
+
module Core
|
5
|
+
# @see https://docs.opnsense.org/development/api/core/monit.html
|
6
|
+
class Monit
|
7
|
+
autoload :Service, 'opnsense_api/core/monit/service'
|
8
|
+
autoload :Settings, 'opnsense_api/core/monit/settings'
|
9
|
+
autoload :Status, 'opnsense_api/core/monit/status'
|
10
|
+
|
11
|
+
include OPNsenseAPI::Core
|
12
|
+
|
13
|
+
def service
|
14
|
+
Service.new(@client)
|
15
|
+
end
|
16
|
+
|
17
|
+
def settings
|
18
|
+
Settings.new(@client)
|
19
|
+
end
|
20
|
+
|
21
|
+
def status
|
22
|
+
Status.new(@client)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OPNsenseAPI
|
4
|
+
module Core
|
5
|
+
class OpenVPN
|
6
|
+
# @see https://docs.opnsense.org/development/api/core/openvpn.html#id1
|
7
|
+
class Export
|
8
|
+
include OPNsenseAPI::Core
|
9
|
+
|
10
|
+
BASE_PATH = '/openvpn/export'
|
11
|
+
|
12
|
+
def accounts(params = {}, vpnid: nil)
|
13
|
+
@client.get("#{BASE_PATH}/accounts/#{vpnid}", params)
|
14
|
+
end
|
15
|
+
|
16
|
+
def download(body = {}, vpnid:, certref: nil)
|
17
|
+
@client.post("#{BASE_PATH}/download/#{vpnid}/#{certref}", body)
|
18
|
+
end
|
19
|
+
|
20
|
+
def providers(params = {})
|
21
|
+
@client.get("#{BASE_PATH}/providers", params)
|
22
|
+
end
|
23
|
+
|
24
|
+
def store_presets(body = {}, vpnid:)
|
25
|
+
@client.post("#{BASE_PATH}/storePresets/#{vpnid}", body)
|
26
|
+
end
|
27
|
+
|
28
|
+
def templates(params = {})
|
29
|
+
@client.get("#{BASE_PATH}/templates", params)
|
30
|
+
end
|
31
|
+
|
32
|
+
def validate_presets(body = {}, vpnid:)
|
33
|
+
@client.post("#{BASE_PATH}/validatePresets/#{vpnid}", body)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OPNsenseAPI
|
4
|
+
module Core
|
5
|
+
# @see https://docs.opnsense.org/development/api/core/openvpn.html
|
6
|
+
class OpenVPN
|
7
|
+
autoload :Export, 'opnsense_api/core/open_vpn/export'
|
8
|
+
|
9
|
+
include OPNsenseAPI::Core
|
10
|
+
|
11
|
+
def export
|
12
|
+
Export.new(@client)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OPNsenseAPI
|
4
|
+
module Core
|
5
|
+
class Proxy
|
6
|
+
# @see https://docs.opnsense.org/development/api/core/proxy.html#id1
|
7
|
+
class Service
|
8
|
+
include OPNsenseAPI::Core
|
9
|
+
|
10
|
+
BASE_PATH = '/proxy/service'
|
11
|
+
|
12
|
+
def download_acls(body = {})
|
13
|
+
@client.post("#{BASE_PATH}/downloadacls", body)
|
14
|
+
end
|
15
|
+
|
16
|
+
def fetch_acls(body = {})
|
17
|
+
@client.post("#{BASE_PATH}/fetchacls", body)
|
18
|
+
end
|
19
|
+
|
20
|
+
def reconfigure(body = {})
|
21
|
+
@client.post("#{BASE_PATH}/reconfigure", body)
|
22
|
+
end
|
23
|
+
|
24
|
+
def refresh_template(body = {})
|
25
|
+
@client.post("#{BASE_PATH}/refreshTemplate", body)
|
26
|
+
end
|
27
|
+
|
28
|
+
def reset(body = {})
|
29
|
+
@client.post("#{BASE_PATH}/reset", body)
|
30
|
+
end
|
31
|
+
|
32
|
+
def restart(body = {})
|
33
|
+
@client.post("#{BASE_PATH}/restart", body)
|
34
|
+
end
|
35
|
+
|
36
|
+
def start(body = {})
|
37
|
+
@client.post("#{BASE_PATH}/start", body)
|
38
|
+
end
|
39
|
+
|
40
|
+
def status(body = {})
|
41
|
+
@client.post("#{BASE_PATH}/status", body)
|
42
|
+
end
|
43
|
+
|
44
|
+
def stop(body = {})
|
45
|
+
@client.post("#{BASE_PATH}/stop", body)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,114 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OPNsenseAPI
|
4
|
+
module Core
|
5
|
+
class Proxy
|
6
|
+
# @see https://docs.opnsense.org/development/api/core/proxy.html#id2
|
7
|
+
class Settings
|
8
|
+
include OPNsenseAPI::Core
|
9
|
+
|
10
|
+
BASE_PATH = '/proxy/settings'
|
11
|
+
|
12
|
+
def add_pac_match(body = {})
|
13
|
+
@client.post("#{BASE_PATH}/addPACMatch", body)
|
14
|
+
end
|
15
|
+
|
16
|
+
def add_pac_proxy(body = {})
|
17
|
+
@client.post("#{BASE_PATH}/addPACProxy", body)
|
18
|
+
end
|
19
|
+
|
20
|
+
def add_pac_rule(body = {})
|
21
|
+
@client.post("#{BASE_PATH}/addPACRule", body)
|
22
|
+
end
|
23
|
+
|
24
|
+
def add_remote_blacklist(body = {})
|
25
|
+
@client.post("#{BASE_PATH}/addRemoteBlacklist", body)
|
26
|
+
end
|
27
|
+
|
28
|
+
def del_pac_match(body = {}, uuid:)
|
29
|
+
@client.post("#{BASE_PATH}/delPACMatch/#{uuid}", body)
|
30
|
+
end
|
31
|
+
|
32
|
+
def del_pac_proxy(body = {}, uuid:)
|
33
|
+
@client.post("#{BASE_PATH}/delPACProxy/#{uuid}", body)
|
34
|
+
end
|
35
|
+
|
36
|
+
def del_pac_rule(body = {}, uuid:)
|
37
|
+
@client.post("#{BASE_PATH}/delPACRule/#{uuid}", body)
|
38
|
+
end
|
39
|
+
|
40
|
+
def del_remote_blacklist(body = {}, uuid:)
|
41
|
+
@client.post("#{BASE_PATH}/delRemoteBlacklist/#{uuid}", body)
|
42
|
+
end
|
43
|
+
|
44
|
+
def fetch_rb_cron(body = {})
|
45
|
+
@client.post("#{BASE_PATH}/fetchRBCron", body)
|
46
|
+
end
|
47
|
+
|
48
|
+
def get(params = {})
|
49
|
+
@client.get("#{BASE_PATH}/get", params)
|
50
|
+
end
|
51
|
+
|
52
|
+
def get_pac_match(params = {}, uuid: nil)
|
53
|
+
@client.get("#{BASE_PATH}/getPACMatch/#{uuid}", params)
|
54
|
+
end
|
55
|
+
|
56
|
+
def get_pac_proxy(params = {}, uuid: nil)
|
57
|
+
@client.get("#{BASE_PATH}/getPACProxy/#{uuid}", params)
|
58
|
+
end
|
59
|
+
|
60
|
+
def get_pac_rule(params = {}, uuid: nil)
|
61
|
+
@client.get("#{BASE_PATH}/getPACRule/#{uuid}", params)
|
62
|
+
end
|
63
|
+
|
64
|
+
def get_remote_blacklist(params = {}, uuid: nil)
|
65
|
+
@client.get("#{BASE_PATH}/getRemoteBlacklist/#{uuid}", params)
|
66
|
+
end
|
67
|
+
|
68
|
+
def search_pac_match(body = {})
|
69
|
+
@client.post("#{BASE_PATH}/searchPACMatch", body)
|
70
|
+
end
|
71
|
+
|
72
|
+
def search_pac_proxy(body = {})
|
73
|
+
@client.post("#{BASE_PATH}/searchPACProxy", body)
|
74
|
+
end
|
75
|
+
|
76
|
+
def search_pac_rule(body = {})
|
77
|
+
@client.post("#{BASE_PATH}/searchPACRule", body)
|
78
|
+
end
|
79
|
+
|
80
|
+
def search_remote_blacklists(body = {})
|
81
|
+
@client.post("#{BASE_PATH}/searchRemoteBlacklists", body)
|
82
|
+
end
|
83
|
+
|
84
|
+
def set(body = {})
|
85
|
+
@client.post("#{BASE_PATH}/set", body)
|
86
|
+
end
|
87
|
+
|
88
|
+
def set_pac_match(body = {}, uuid:)
|
89
|
+
@client.post("#{BASE_PATH}/setPACMatch/#{uuid}", body)
|
90
|
+
end
|
91
|
+
|
92
|
+
def set_pac_proxy(body = {}, uuid:)
|
93
|
+
@client.post("#{BASE_PATH}/setPACProxy/#{uuid}", body)
|
94
|
+
end
|
95
|
+
|
96
|
+
def set_pac_rule(body = {}, uuid:)
|
97
|
+
@client.post("#{BASE_PATH}/setPACRule/#{uuid}", body)
|
98
|
+
end
|
99
|
+
|
100
|
+
def set_remote_blacklist(body = {}, uuid:)
|
101
|
+
@client.post("#{BASE_PATH}/setRemoteBlacklist/#{uuid}", body)
|
102
|
+
end
|
103
|
+
|
104
|
+
def toggle_pac_rule(body = {}, uuid:)
|
105
|
+
@client.post("#{BASE_PATH}/togglePACRule/#{uuid}", body)
|
106
|
+
end
|
107
|
+
|
108
|
+
def toggle_remote_blacklist(body = {}, uuid:)
|
109
|
+
@client.post("#{BASE_PATH}/toggleRemoteBlacklist/#{uuid}", body)
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
114
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OPNsenseAPI
|
4
|
+
module Core
|
5
|
+
class Proxy
|
6
|
+
# @see https://docs.opnsense.org/development/api/core/proxy.html#id3
|
7
|
+
class Template
|
8
|
+
include OPNsenseAPI::Core
|
9
|
+
|
10
|
+
BASE_PATH = '/proxy/template'
|
11
|
+
|
12
|
+
def get(params = {})
|
13
|
+
@client.get("#{BASE_PATH}/get", params)
|
14
|
+
end
|
15
|
+
|
16
|
+
def reset(body = {})
|
17
|
+
@client.post("#{BASE_PATH}/reset", body)
|
18
|
+
end
|
19
|
+
|
20
|
+
def set(body = {})
|
21
|
+
@client.post("#{BASE_PATH}/set", body)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OPNsenseAPI
|
4
|
+
module Core
|
5
|
+
# @see https://docs.opnsense.org/development/api/core/proxy.html
|
6
|
+
class Proxy
|
7
|
+
autoload :Service, 'opnsense_api/core/proxy/service'
|
8
|
+
autoload :Settings, 'opnsense_api/core/proxy/settings'
|
9
|
+
autoload :Template, 'opnsense_api/core/proxy/template'
|
10
|
+
|
11
|
+
include OPNsenseAPI::Core
|
12
|
+
|
13
|
+
def service
|
14
|
+
Service.new(@client)
|
15
|
+
end
|
16
|
+
|
17
|
+
def settings
|
18
|
+
Settings.new(@client)
|
19
|
+
end
|
20
|
+
|
21
|
+
def template
|
22
|
+
Template.new(@client)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OPNsenseAPI
|
4
|
+
module Core
|
5
|
+
class Routes
|
6
|
+
# @see https://docs.opnsense.org/development/api/core/routes.html#id1
|
7
|
+
class Gateway
|
8
|
+
include OPNsenseAPI::Core
|
9
|
+
|
10
|
+
BASE_PATH = '/routes/gateway'
|
11
|
+
|
12
|
+
def status(params = {})
|
13
|
+
@client.get("#{BASE_PATH}/status", params)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OPNsenseAPI
|
4
|
+
module Core
|
5
|
+
class Routes
|
6
|
+
# @see https://docs.opnsense.org/development/api/core/routes.html#id2
|
7
|
+
class Routes
|
8
|
+
include OPNsenseAPI::Core
|
9
|
+
|
10
|
+
BASE_PATH = '/routes/routes'
|
11
|
+
|
12
|
+
def add_route(body = {})
|
13
|
+
@client.post("#{BASE_PATH}/addroute", body)
|
14
|
+
end
|
15
|
+
|
16
|
+
def del_route(body = {}, uuid:)
|
17
|
+
@client.post("#{BASE_PATH}/delroute/#{uuid}", body)
|
18
|
+
end
|
19
|
+
|
20
|
+
def get(params = {})
|
21
|
+
@client.get("#{BASE_PATH}/get", params)
|
22
|
+
end
|
23
|
+
|
24
|
+
def get_route(params = {}, uuid: nil)
|
25
|
+
@client.get("#{BASE_PATH}/getroute/#{uuid}", params)
|
26
|
+
end
|
27
|
+
|
28
|
+
def reconfigure(body = {})
|
29
|
+
@client.post("#{BASE_PATH}/reconfigure", body)
|
30
|
+
end
|
31
|
+
|
32
|
+
def search_route(body = {})
|
33
|
+
@client.post("#{BASE_PATH}/searchroute", body)
|
34
|
+
end
|
35
|
+
|
36
|
+
def set(body = {})
|
37
|
+
@client.post("#{BASE_PATH}/set", body)
|
38
|
+
end
|
39
|
+
|
40
|
+
def set_route(body = {}, uuid:)
|
41
|
+
@client.post("#{BASE_PATH}/setroute/#{uuid}", body)
|
42
|
+
end
|
43
|
+
|
44
|
+
def toggle_route(body = {}, uuid:, disabled: nil)
|
45
|
+
@client.post("#{BASE_PATH}/toggleRoute/#{uuid}/#{disabled}", body)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OPNsenseAPI
|
4
|
+
module Core
|
5
|
+
# @see https://docs.opnsense.org/development/api/core/routes.html
|
6
|
+
class Routes
|
7
|
+
autoload :Gateway, 'opnsense_api/core/routes/gateway'
|
8
|
+
autoload :Routes, 'opnsense_api/core/routes/routes'
|
9
|
+
|
10
|
+
include OPNsenseAPI::Core
|
11
|
+
|
12
|
+
def gateway
|
13
|
+
Gateway.new(@client)
|
14
|
+
end
|
15
|
+
|
16
|
+
def routes
|
17
|
+
Routes.new(@client)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OPNsenseAPI
|
4
|
+
module Core
|
5
|
+
class Syslog
|
6
|
+
# @see https://docs.opnsense.org/development/api/core/syslog.html#id1
|
7
|
+
class Service
|
8
|
+
include OPNsenseAPI::Core
|
9
|
+
|
10
|
+
BASE_PATH = '/syslog/service'
|
11
|
+
|
12
|
+
def reconfigure(body = {})
|
13
|
+
@client.post("#{BASE_PATH}/reconfigure", body)
|
14
|
+
end
|
15
|
+
|
16
|
+
def restart(body = {})
|
17
|
+
@client.post("#{BASE_PATH}/restart", body)
|
18
|
+
end
|
19
|
+
|
20
|
+
def start(body = {})
|
21
|
+
@client.post("#{BASE_PATH}/start", body)
|
22
|
+
end
|
23
|
+
|
24
|
+
def stats(params = {})
|
25
|
+
@client.get("#{BASE_PATH}/stats", params)
|
26
|
+
end
|
27
|
+
|
28
|
+
def status(params = {})
|
29
|
+
@client.get("#{BASE_PATH}/status", params)
|
30
|
+
end
|
31
|
+
|
32
|
+
def stop(body = {})
|
33
|
+
@client.post("#{BASE_PATH}/stop", body)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OPNsenseAPI
|
4
|
+
module Core
|
5
|
+
class Syslog
|
6
|
+
# @see https://docs.opnsense.org/development/api/core/syslog.html#id2
|
7
|
+
class Settings
|
8
|
+
include OPNsenseAPI::Core
|
9
|
+
|
10
|
+
BASE_PATH = '/syslog/settings'
|
11
|
+
|
12
|
+
def add_destination(body = {})
|
13
|
+
@client.post("#{BASE_PATH}/addDestination", body)
|
14
|
+
end
|
15
|
+
|
16
|
+
def del_destination(body = {})
|
17
|
+
@client.post("#{BASE_PATH}/delDestination", body)
|
18
|
+
end
|
19
|
+
|
20
|
+
def get(params = {})
|
21
|
+
@client.get("#{BASE_PATH}/get", params)
|
22
|
+
end
|
23
|
+
|
24
|
+
def get_destination(params = {})
|
25
|
+
@client.get("#{BASE_PATH}/getDestination", params)
|
26
|
+
end
|
27
|
+
|
28
|
+
def search_destination(body = {})
|
29
|
+
@client.post("#{BASE_PATH}/searchDestination", body)
|
30
|
+
end
|
31
|
+
|
32
|
+
def set(body = {})
|
33
|
+
@client.post("#{BASE_PATH}/set", body)
|
34
|
+
end
|
35
|
+
|
36
|
+
def set_destination(body = {}, uuid:)
|
37
|
+
@client.post("#{BASE_PATH}/setDestination/#{uuid}", body)
|
38
|
+
end
|
39
|
+
|
40
|
+
def toggle_destination(body = {}, uuid:, enabled: nil)
|
41
|
+
@client.post("#{BASE_PATH}/toggleDestination/#{uuid}/#{enabled}", body)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OPNsenseAPI
|
4
|
+
module Core
|
5
|
+
# @see https://docs.opnsense.org/development/api/core/syslog.html
|
6
|
+
class Syslog
|
7
|
+
autoload :Service, 'opnsense_api/core/syslog/service'
|
8
|
+
autoload :Settings, 'opnsense_api/core/syslog/settings'
|
9
|
+
|
10
|
+
include OPNsenseAPI::Core
|
11
|
+
|
12
|
+
def service
|
13
|
+
Service.new(@client)
|
14
|
+
end
|
15
|
+
|
16
|
+
def settings
|
17
|
+
Settings.new(@client)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OPNsenseAPI
|
4
|
+
module Core
|
5
|
+
class TrafficShaping
|
6
|
+
# @see https://docs.opnsense.org/development/api/core/trafficshaper.html#id1
|
7
|
+
class Service
|
8
|
+
include OPNsenseAPI::Core
|
9
|
+
|
10
|
+
BASE_PATH = '/trafficshaper/service'
|
11
|
+
|
12
|
+
def flush_reload(body = {})
|
13
|
+
@client.post("#{BASE_PATH}/flushReload", body)
|
14
|
+
end
|
15
|
+
|
16
|
+
def reconfigure(body = {})
|
17
|
+
@client.post("#{BASE_PATH}/reconfigure", body)
|
18
|
+
end
|
19
|
+
|
20
|
+
def statistics(params = {})
|
21
|
+
@client.get("#{BASE_PATH}/statistics", params)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|