Module: Smplkit::Audit::ForwarderType

Defined in:
lib/smplkit/audit/models.rb

Overview

Supported SIEM forwarder destination types (ADR-047 §2.12).

Members are declared in alphabetical order. Customers pass these constants — or the equivalent string — to the management forwarders surface; the wrapper validates membership via ForwarderType.coerce before round-tripping to the wire.

Constant Summary collapse

DATADOG =
"datadog"
ELASTIC =
"elastic"
HONEYCOMB =
"honeycomb"
HTTP =
"http"
NEW_RELIC =
"new_relic"
SPLUNK_HEC =
"splunk_hec"
SUMO_LOGIC =
"sumo_logic"
VALUES =
[DATADOG, ELASTIC, HONEYCOMB, HTTP, NEW_RELIC, SPLUNK_HEC, SUMO_LOGIC].freeze

Class Method Summary collapse

Class Method Details

.coerce(value) ⇒ String?

Validate and normalize an input to a wire-format string.

Parameters:

  • value (String, nil)

    a published constant or its literal string.

Returns:

  • (String, nil)

    the canonical wire value (or nil when input is nil).

Raises:

  • (ArgumentError)

    when value is not a member of VALUES.



74
75
76
77
78
79
80
81
82
# File 'lib/smplkit/audit/models.rb', line 74

def self.coerce(value)
  return nil if value.nil?

  s = value.to_s
  return s if VALUES.include?(s)

  raise ArgumentError,
        "Unknown ForwarderType #{value.inspect}; expected one of #{VALUES.inspect}"
end