docs: def check_type(value, type_def):
          """Check if the value is in the type given in type_def.
  
          Args:
              value: the var to test.
              type_def: string representing the type in swagger.
  
          Returns:
              True if the type is correct, False otherwise.
          """
          if type_def == 'integer':
              try:
                  # We accept string with integer ex: '123'
                  int(value)
                  return True
              except ValueError:
                  return isinstance(value, six.integer_types) and not isinstance(value, bool)
          elif type_def == 'number':
              return isinstance(value, (six.integer_types, float)) and not isinstance(value, bool)
          elif type_def == 'string':
              return isinstance(value, (six.text_type, six.string_types, datetime.datetime))
          elif type_def == 'boolean':
              return (isinstance(value, bool) or
                      (isinstance(value, (six.text_type, six.string_types,)) and
                       value.lower() in ['true', 'false'])
                      )
          else:
              return False