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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e79d6f500b30d9903c058bf3c49543690a8c81d30010c0893660fc1e883fb38f
4
- data.tar.gz: b283b2a496cf5b69d2b02351f4836368d6aa5a7854407f294361d896ab05f156
3
+ metadata.gz: 66338107727fee0497df67e431293bb53baa012406628418beaed8d5c5259b0c
4
+ data.tar.gz: 4f0bce38478dbd008262b8e246aaaaef9ba49d902e274c0ac77ca4ba9d4ea5a1
5
5
  SHA512:
6
- metadata.gz: 3adb06b9ed8fb37d10a1bd884c9e6c00ab9e6659059396c4cfab0acf850efb69f076ce6c9f7ee1f54f34c2f999c64ebd35b917a46138d8e518adc61f8a62b794
7
- data.tar.gz: 92a295131a3007608ab8d193b761f8d1db2f38716b2b6d8b8fc4b0ee8613306944da0c26b75a720ece67d29d0a396029bea03bce927cde9fd9a72e5386d4686f
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, http, enabled, filter, transform, data)
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, http, enabled, filter, transform, data)
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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smplkit
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.6
4
+ version: 2.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Smpl Solutions LLC