code: def _get_basic_ray_cr_workers_to_delete(
      cpu_workers_to_delete: List[NodeID],
      gpu_workers_to_delete: List[NodeID],
  ):
      """Generate a Ray cluster with non-empty workersToDelete field."""
      raycluster = get_basic_ray_cr()
      raycluster["spec"]["workerGroupSpecs"][0]["scaleStrategy"] = {
          "workersToDelete": cpu_workers_to_delete
      }
      raycluster["spec"]["workerGroupSpecs"][1]["scaleStrategy"] = {
          "workersToDelete": gpu_workers_to_delete
      }
      return raycluster
  
imports: import copy
  import mock
  import sys
  import jsonpatch
  import pytest
  from ray.autoscaler.batching_node_provider import NodeData
  from ray.autoscaler._private.kuberay.node_provider import _worker_group_index, _worker_group_max_replicas, _worker_group_replicas, KubeRayNodeProvider, ScaleRequest
  from ray.autoscaler._private.util import NodeID
  from pathlib import Path
  import yaml
  from ray.tests.kuberay.test_autoscaling_config import get_basic_ray_cr
  from typing import Set, List
label_desc: Use image node_id 1 for calling a global function with example usage: _get_basic_ray_cr_workers_to_delete(cpu_workers_to_delete, gpu_workers_to_delete) and returns: raycluster