lib/mihari/schemas/enricher.rb in mihari-5.4.9 vs lib/mihari/schemas/enricher.rb in mihari-5.5.0

- old
+ new

@@ -1,9 +1,35 @@ # frozen_string_literal: true module Mihari module Schemas - Enricher = Dry::Schema.Params do - required(:enricher).value(Types::EnricherTypes) + module Enrichers + EnricherOptions = Dry::Schema.Params do + optional(:retry_times).value(:integer).default(Mihari.config.retry_times) + optional(:retry_interval).value(:integer).default(Mihari.config.retry_interval) + optional(:retry_exponential_backoff).value(:bool).default(Mihari.config.retry_exponential_backoff) + optional(:timeout).value(:integer) + end + + IPInfo = Dry::Schema.Params do + required(:enricher).value(Types::String.enum("ipinfo")) + optional(:api_key).value(:string) + optional(:options).hash(EnricherOptions) + end + + Whois = Dry::Schema.Params do + required(:enricher).value(Types::String.enum("whois")) + optional(:options).hash(EnricherOptions) + end + + Shodan = Dry::Schema.Params do + required(:enricher).value(Types::String.enum("shodan")) + optional(:options).hash(EnricherOptions) + end + + GooglePublicDNS = Dry::Schema.Params do + required(:enricher).value(Types::String.enum("google_public_dns")) + optional(:options).hash(EnricherOptions) + end end end end