Sha256: 07920ece1464fc772039170f902ca5cea91c05cdc29aab2aebb81d7cf4977779

Contents?: true

Size: 1.15 KB

Versions: 1

Compression:

Stored size: 1.15 KB

Contents

# frozen_string_literal: true

module Mihari
  module Schemas
    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

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mihari-5.5.0 lib/mihari/schemas/enricher.rb