class_docstr: And operator class for filtering JumpStart content.
class_docstr_tok: ["And","operator","class","for","filtering","JumpStart","content","."]
docstr: Evaluates operator.
  
  Raises:
      RuntimeError: If the operands remain unevaluated after calling ``eval``,
          or if the resolved value isn't a ``BooleanValues`` type.
code: def eval(self) -> None:
      """Evaluates operator.
  
      Raises:
          RuntimeError: If the operands remain unevaluated after calling ``eval``,
              or if the resolved value isn't a ``BooleanValues`` type.
      """
      incomplete_expression = False
      for operand in self.operands:
          if not issubclass(type(operand), Operand):
              raise RuntimeError(
                  f"Operand must be subclass of ``Operand``, but got {type(operand)}"
              )
          if operand.resolved_value == BooleanValues.UNEVALUATED:
              operand.eval()
              if operand.resolved_value == BooleanValues.UNEVALUATED:
                  raise RuntimeError(
                      "Operand remains unevaluated after calling ``eval`` function."
                  )
          if operand.resolved_value == BooleanValues.FALSE:
              self.resolved_value = BooleanValues.FALSE
              return
          if operand.resolved_value == BooleanValues.UNKNOWN:
              incomplete_expression = True
      if not incomplete_expression:
          self.resolved_value = BooleanValues.TRUE
      else:
          self.resolved_value = BooleanValues.UNKNOWN
  
imports: from __future__ import absolute_import
  from ast import literal_eval
  from enum import Enum
  from typing import Dict, List, Optional, Union, Any
  from sagemaker.jumpstart.types import JumpStartDataHolderType
label_desc: Use image node_id 2 for calling the And obj's underlying member method code with example usage: obj.eval() without return types