code: def _is_string_resource(cls, name, values):
      # If any one of the values provided for a resource is not an int, we
      # can't process it in any way. So we constrain all such resource to be
      # the same
      if all([isinstance(val, int) for val in values]):
          return False
      else:
          unique = set(values)
          if len(unique) > 1:
              raise WorkflowError(
                  "Resource {name} is a string but not all group jobs require the "
                  "same value. Observed values: {values}.".format(
                      name=name, values=unique
                  )
              )
          return True
  
imports: from collections import UserDict, defaultdict
  import itertools
  import operator
  import re
  import tempfile
  from snakemake.exceptions import ResourceScopesException, WorkflowError
  from snakemake.common.tbdstring import TBDString
label_desc: Use image node_id 3 for calling the GroupResources obj's underlying member method code with example usage: obj._is_string_resource(cls, name, values) and returns: False, True