code: def validate_input(self, validation_definition):
          
          # Get the parameters from the ValidationDefinition object,
          # then typecast the values as floats
          minimum = float(validation_definition.parameters["min"])
          maximum = float(validation_definition.parameters["max"])
  
          if minimum >= maximum:
              raise ValueError("min must be less than max; found min=%f, max=%f" % minimum, maximum)
docs: In this example we are using external validation to verify that min is
          less than max. If validate_input does not raise an Exception, the input is
          assumed to be valid. Otherwise it prints the exception as an error message
          when telling splunkd that the configuration is invalid.
  
          When using external validation, after splunkd calls the modular input with
          --scheme to get a scheme, it calls it again with --validate-arguments for
          each instance of the modular input in its configuration files, feeding XML
          on stdin to the modular input to do validation. It is called the same way
          whenever a modular input's configuration is edited.
  
          :param validation_definition: a ValidationDefinition object