code: def test_fake_autoscaler_basic_e2e(shutdown_only):
      # __example_begin__
      cluster = AutoscalingCluster(
          head_resources={"CPU": 2},
          worker_node_types={
              "cpu_node": {
                  "resources": {
                      "CPU": 4,
                      "object_store_memory": 1024 * 1024 * 1024,
                  },
                  "node_config": {},
                  "min_workers": 0,
                  "max_workers": 2,
              },
              "gpu_node": {
                  "resources": {
                      "CPU": 2,
                      "GPU": 1,
                      "object_store_memory": 1024 * 1024 * 1024,
                  },
                  "node_config": {},
                  "min_workers": 0,
                  "max_workers": 2,
              },
              "tpu_node": {
                  "resources": {
                      "CPU": 2,
                      "TPU": 4,
                      "object_store_memory": 1024 * 1024 * 1024,
                  },
                  "node_config": {},
                  "min_workers": 0,
                  "max_workers": 2,
              },
          },
      )
  
      try:
          cluster.start()
          ray.init("auto")
  
          # Triggers the addition of a GPU node.
          @ray.remote(num_gpus=1)
          def f():
              print("gpu ok")
  
          # Triggers the addition of a CPU node.
          @ray.remote(num_cpus=3)
          def g():
              print("cpu ok")
  
          # Triggers the addition of a TPU node.
          @ray.remote(resources={"TPU": 4})
          def h():
              print("tpu ok")
  
          ray.get(f.remote())
          ray.get(g.remote())
          ray.get(h.remote())
          ray.shutdown()
      finally:
          cluster.shutdown()
  
imports: import pytest
  import platform
  import ray
  from ray.cluster_utils import AutoscalingCluster
label_desc: Use image node_id 1 for calling a global function with example usage: test_fake_autoscaler_basic_e2e(shutdown_only) without return types