fluent/fluentd · error · ArgumentError

#{name}: #{key} must be a #{klass}, but #{opts[key].class}

Error message

#{name}: #{key} must be a #{klass}, but #{opts[key].class}

What it means

Error "#{name}: #{key} must be a #{klass}, but #{opts[key].class}" thrown in fluent/fluentd.

Source

Thrown at lib/fluent/config/configure_proxy.rb:214

          merged.sections[section_key] = merged_section
        end

        merged
      end

      def overwrite_defaults(other) # other is owner plugin's corresponding proxy
        self.defaults = self.defaults.merge(other.defaults)
        self.sections.each_key do |section_key|
          if other.sections.has_key?(section_key)
            self.sections[section_key].overwrite_defaults(other.sections[section_key])
          end
        end
      end

      def option_value_type!(name, opts, key, klass=nil, type: nil)
        if opts.has_key?(key)
          if klass && !opts[key].is_a?(klass)
            raise ArgumentError, "#{name}: #{key} must be a #{klass}, but #{opts[key].class}"
          end
          case type
          when :boolean
            unless opts[key].is_a?(TrueClass) || opts[key].is_a?(FalseClass)
              raise ArgumentError, "#{name}: #{key} must be true or false, but #{opts[key].class}"
            end
          when nil
            # ignore
          else
            raise "unknown type: #{type} for option #{key}"
          end
        end
      end

      def config_parameter_option_validate!(name, type, **kwargs, &block)
        if type.nil? && !block
          type = :string
        end

View on GitHub (pinned to dd45c6e18d)

When it happens

Trigger: Thrown at lib/fluent/config/configure_proxy.rb:214 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of fluent/fluentd@dd45c6e18d (2026-08-21). Data as JSON: /api/errors/c8a144ea54dc8439. Report an issue: GitHub.