## All available configuration options, their descriptions and default values:
## https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/snmp_traps#readme

#jobs:
#  - name: local
#    update_every: 1
#    listen:
#      # UDP socket receive buffer in bytes, requested at job creation.
#      # Set 0 to keep the operating system default.
#      # Maximum is 268435456.
#      receive_buffer: 4194304
#      endpoints:
#        - protocol: udp
#          address: 0.0.0.0
#          # UDP/162 requires CAP_NET_BIND_SERVICE or root.
#          # Netdata packages grant this capability to go.d.plugin and
#          # allow it in netdata.service.
#          port: 162
#    versions:
#      - v1
#      - v2c
#    # Empty accepts all SNMPv1/v2c communities; set values to enforce an allowlist.
#    communities: []
#    # SNMPv3 USM users with auth and privacy protocols.
#    # Auth and privacy keys use Netdata secret references; minimum 8 characters.
#    #usm_users:
#    #  - username: trapuser
#    #    engine_id: 80001f8880e5a5c0d6c7b8a9
#    #    auth_proto: sha256
#    #    auth_key: netdata:sm_secret:snmp.trap.v3.user.auth.passphrase
#    #    priv_proto: aes
#    #    priv_key: netdata:sm_secret:snmp.trap.v3.user.priv.passphrase
#    # Static SNMPv3 engine IDs accepted for v3 Trap PDUs.
#    #engine_id_whitelist:
#    #  - 80001f8880e5a5c0d6c7b8a9
#    # Dynamic v3 Trap sender engine ID discovery (opt-in, default off).
#    # When enabled, engine_id_whitelist must be empty and usm_users may
#    # omit engine_id. The listener hot-registers new (engineID, username)
#    # pairs after the retry authenticates and decodes a v3 Trap.
#    #dynamic_engine_id_discovery: false
#    # Maximum in-memory dynamic (engineID, username) pairs per job.
#    # 0 or unset uses the default (4096). Negative values fail job creation.
#    #dynamic_engine_id_max_pairs: 4096
#    # Receiver-local SNMPv3 engine ID for v3 INFORM authentication.
#    # When omitted, Netdata generates and persists a stable per-job value.
#    #local_engine_id: "0123456789abcdef01234567"
#    # Optional PTR annotation emitted as TRAP_REVERSE_DNS. Disabled by default;
#    # never used for authoritative identity.
#    reverse_dns:
#      enabled: false
#    # Source identity policy. UDP peer is authoritative by default.
#    # Only trusted relays may override source identity via snmpTrapAddress.0.
#    source:
#      trusted_relays: []
#    # Optional suppression for repeated identical traps. Disabled by default;
#    # enabling it writes the first event immediately and summarizes repeats.
#    dedup:
#      enabled: false
#      window_sec: 5 # 0 or unset uses the default.
#      cache_max_entries: 100000 # 0 or unset uses the default.
#      # key_varbinds: []                # default: source device + trap OID only
#    # Direct local journal storage. Enabled by default for explicit jobs.
#    # Disable only when another output backend, such as OTLP, is enabled.
#    journal:
#      enabled: true
#    # Optional OTLP/gRPC Logs export. Disabled by default; when enabled the
#    # receiver is preflighted during job creation and apply fails on errors.
#    # May run with journal output or as the only output when journal.enabled is false.
#    otlp:
#      enabled: false
#      endpoint: "http://127.0.0.1:4317"
#      # headers:
#      #   authorization: "netdata:sm_secret:snmp.trap.otlp.authorization"
#      request_timeout: 5s
#      flush_interval: 200ms
#      batch_size: 512
#      queue_capacity: 10000
#    # Profile-defined metrics are disabled by default. Define metric rules in
#    # go.d/snmp.trap-profiles/*.yaml, then select their metric rule names here.
#    # Only stock profile files that own selected rules are loaded.
#    profile_metrics:
#      enabled: false
#      # include:
#      #   - cisco.config.changed
#    retention:
#      max_size: 10GB
#      # max_duration: null               # null disables age-based eviction
#      # rotation_size: null               # null = auto (max_size / 20, clamped 5MB-200MB)
#      rotation_duration: null             # null or 0 disables time-based rotation
