code: def _build_label_filter(category, *args, **kwargs):
      
      terms = list(args)
      for key, value in six.iteritems(kwargs):
          if value is None:
              continue
  
          suffix = None
          if key.endswith(
              ("_prefix", "_suffix", "_greater", "_greaterequal", "_less", "_lessequal")
          ):
              key, suffix = key.rsplit("_", 1)
  
          if category == "resource" and key == "resource_type":
              key = "resource.type"
          else:
              key = ".".join((category, "label", key))
  
          if suffix == "prefix":
              term = '{key} = starts_with("{value}")'
          elif suffix == "suffix":
              term = '{key} = ends_with("{value}")'
          elif suffix == "greater":
              term = "{key} > {value}"
          elif suffix == "greaterequal":
              term = "{key} >= {value}"
          elif suffix == "less":
              term = "{key} < {value}"
          elif suffix == "lessequal":
              term = "{key} <= {value}"
          else:
              term = '{key} = "{value}"'
  
          terms.append(term.format(key=key, value=value))
  
      return " AND ".join(sorted(terms))
docs: Construct a filter string to filter on metric or resource labels.