docs: def Conditions(cls, artifact=None, os_name=None, cpe=None, labels=None):
      """Provide a series of condition tuples.
  
      A Target can specify multiple artifact, os_name, cpe or label entries. These
      are expanded to all distinct tuples. When an entry is undefined or None, it
      is treated as a single definition of None, meaning that the condition does
      not apply.
  
      Args:
        artifact: Names of artifacts that should trigger an action.
        os_name: Names of OS' that should trigger an action.
        cpe: CPE strings that should trigger an action.
        labels: Host labels that should trigger an action.
  
      Yields:
        a permuted series of (artifact, os_name, cpe, label) tuples.
      """
      artifact = cls._AsList(artifact)
      os_name = cls._AsList(os_name)
      cpe = cls._AsList(cpe)
      labels = cls._AsList(labels)
      for condition in itertools.product(artifact, os_name, cpe, labels):
        yield condition