class_docstr: The resources required by an operator.
  
  Resources that are not specified will use the default values from the airflow config.
  
  :param cpus: The number of cpu cores that are required
  :param ram: The amount of RAM required
  :param disk: The amount of disk space required
  :param gpus: The number of gpu units that are required
code: def to_dict(self):
      return {
          "cpus": self.cpus.to_dict(),
          "ram": self.ram.to_dict(),
          "disk": self.disk.to_dict(),
          "gpus": self.gpus.to_dict(),
      }
  
imports: from __future__ import annotations
  from airflow.configuration import conf
  from airflow.exceptions import AirflowException
label_desc: Use image node_id 4 for calling the Resources obj's underlying member method code with example usage: obj.to_dict() and returns: dict