Cyclium.Expectation (Cyclium v0.1.13)

Copy Markdown View Source

Declarative configuration for a single expectation.

Expectations are defined in code via the Actor DSL, not stored in the database.

Summary

Types

t()

@type t() :: %Cyclium.Expectation{
  actor_id: atom(),
  adaptive_budget: boolean(),
  audit_level: atom(),
  budget: map(),
  circuit_breaker: map() | nil,
  cooldown_ms: non_neg_integer() | nil,
  debounce_ms: non_neg_integer() | nil,
  description: binary(),
  domain: atom(),
  dry_run: keyword() | nil,
  escalation_rules: map() | nil,
  filter: map(),
  finding_enrichment:
    (map(), map() -> {:ok, map()} | :skip) | {module(), atom()} | nil,
  finding_ttl_seconds: pos_integer() | nil,
  id: atom(),
  log_strategy: atom(),
  loop_detection: boolean(),
  outputs: [atom()],
  recovery_policy: :fail | :restart,
  resources: [map()],
  retention_days: non_neg_integer() | nil,
  sample_rate: float() | nil,
  service_levels: map() | nil,
  strategy: module() | nil,
  strategy_config: map() | nil,
  subject_key: atom() | nil,
  subscribes_to: [binary()],
  synthesizer: module() | nil,
  trigger: tuple() | atom() | [tuple() | atom()],
  window: Cyclium.Window.window_size() | nil
}