smplkit 2.0.6 → 2.0.7
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 +4 -4
- data/lib/smplkit/audit/forwarders.rb +38 -3
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 66338107727fee0497df67e431293bb53baa012406628418beaed8d5c5259b0c
|
|
4
|
+
data.tar.gz: 4f0bce38478dbd008262b8e246aaaaef9ba49d902e274c0ac77ca4ba9d4ea5a1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 48f6367192217db87109c0a463b876f6bf1b1b505f7d6040df03c59cf86f4b5d06c2aa8154fc31c32e14aa9f1c70b67edb530575649eab2d2c3e7b6f16d74f6d
|
|
7
|
+
data.tar.gz: 5a78484ff0e1ab4505e64bc4909006de56cd5ee2b362a3918450e5a352efd684a09faed7fa23bf2735eabcbdca1e9dfffc89319c9f3319863d26ccbffc5c1eff
|
|
@@ -2,6 +2,39 @@
|
|
|
2
2
|
|
|
3
3
|
module Smplkit
|
|
4
4
|
module Audit
|
|
5
|
+
# Public-facing enum for SIEM streaming destination types.
|
|
6
|
+
#
|
|
7
|
+
# Mirrors the +ForwarderType+ enum the audit OpenAPI spec emits
|
|
8
|
+
# (ADR-047 §2.12). Customers pass these constants — or any string
|
|
9
|
+
# in {VALUES} — to {Forwarders#create} / {Forwarders#update} /
|
|
10
|
+
# {Forwarders#list}. The wrapper validates membership before
|
|
11
|
+
# round-tripping to the wire.
|
|
12
|
+
module ForwarderType
|
|
13
|
+
HTTP = "http"
|
|
14
|
+
DATADOG = "datadog"
|
|
15
|
+
SPLUNK_HEC = "splunk_hec"
|
|
16
|
+
SUMO_LOGIC = "sumo_logic"
|
|
17
|
+
NEW_RELIC = "new_relic"
|
|
18
|
+
HONEYCOMB = "honeycomb"
|
|
19
|
+
ELASTIC = "elastic"
|
|
20
|
+
|
|
21
|
+
# Every supported value, in spec order. Useful for membership
|
|
22
|
+
# checks, dropdown population, or test parametrization.
|
|
23
|
+
VALUES = [HTTP, DATADOG, SPLUNK_HEC, SUMO_LOGIC, NEW_RELIC, HONEYCOMB, ELASTIC].freeze
|
|
24
|
+
|
|
25
|
+
# Coerce +value+ to a known wire-format slug, or raise ArgumentError.
|
|
26
|
+
# Strings round-trip transparently; nil passes through.
|
|
27
|
+
def self.coerce(value)
|
|
28
|
+
return nil if value.nil?
|
|
29
|
+
|
|
30
|
+
s = value.to_s
|
|
31
|
+
return s if VALUES.include?(s)
|
|
32
|
+
|
|
33
|
+
raise ArgumentError,
|
|
34
|
+
"Unknown ForwarderType #{value.inspect}; expected one of #{VALUES.inspect}"
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
5
38
|
# SIEM streaming forwarders for the authenticated account.
|
|
6
39
|
#
|
|
7
40
|
# Pro tier only — every method here raises a wrapped 402
|
|
@@ -17,14 +50,15 @@ module Smplkit
|
|
|
17
50
|
|
|
18
51
|
def create(name:, forwarder_type:, http:, enabled: true,
|
|
19
52
|
filter: nil, transform: nil, data: nil)
|
|
20
|
-
body = wrap_forwarder(nil, name, forwarder_type,
|
|
53
|
+
body = wrap_forwarder(nil, name, ForwarderType.coerce(forwarder_type),
|
|
54
|
+
http, enabled, filter, transform, data)
|
|
21
55
|
resp = @api.create_forwarder(body)
|
|
22
56
|
Forwarder.from_resource(resp.data)
|
|
23
57
|
end
|
|
24
58
|
|
|
25
59
|
def list(forwarder_type: nil, enabled: nil, page_size: nil, page_after: nil)
|
|
26
60
|
opts = {}
|
|
27
|
-
opts[:filter_forwarder_type] = forwarder_type if forwarder_type
|
|
61
|
+
opts[:filter_forwarder_type] = ForwarderType.coerce(forwarder_type) if forwarder_type
|
|
28
62
|
opts[:filter_enabled] = enabled unless enabled.nil?
|
|
29
63
|
opts[:page_size] = page_size if page_size
|
|
30
64
|
opts[:page_after] = page_after if page_after
|
|
@@ -40,7 +74,8 @@ module Smplkit
|
|
|
40
74
|
|
|
41
75
|
def update(forwarder_id, name:, forwarder_type:, http:, enabled: true,
|
|
42
76
|
filter: nil, transform: nil, data: nil)
|
|
43
|
-
body = wrap_forwarder(forwarder_id, name, forwarder_type,
|
|
77
|
+
body = wrap_forwarder(forwarder_id, name, ForwarderType.coerce(forwarder_type),
|
|
78
|
+
http, enabled, filter, transform, data)
|
|
44
79
|
resp = @api.update_forwarder(forwarder_id, body)
|
|
45
80
|
Forwarder.from_resource(resp.data)
|
|
46
81
|
end
|