code: def generate_nodegroups(
      eks_hook: EksHook,
      cluster_name: str,
      num_nodegroups: int,
      minimal: bool,
  ) -> list[str]:
      """
      Generates a number of EKS Managed Nodegroups with data and adds them to the mocked backend.
  
      :param eks_hook: An EksHook object used to call the EKS API.
      :param cluster_name: The name of the EKS Cluster to attach the nodegroups to.
      :param num_nodegroups: Number of clusters to generate.
      :param minimal: If True, only the required values are generated; if False all values are generated.
      :return: Returns a list of the names of the generated nodegroups.
      """
      # Generates N nodegroups named nodegroup0, nodegroup1, .., nodegroupN
      return [
          eks_hook.create_nodegroup(
              nodegroupName=f"nodegroup{count}",
              clusterName=cluster_name,
              **_input_builder(NodegroupInputs, minimal),
          )[ResponseAttributes.NODEGROUP][
              NodegroupAttributes.NODEGROUP_NAME
          ]
          for count in range(num_nodegroups)
      ]
  
file_path: airflow/tests/providers/amazon/aws/utils/eks_test_utils.py
imports: from __future__ import annotations
  import re
  from copy import deepcopy
  from typing import TYPE_CHECKING, Pattern, Type, Union
  from ..utils.eks_test_constants import STATUS, ClusterAttributes, ClusterInputs, FargateProfileAttributes, FargateProfileInputs, NodegroupAttributes, NodegroupInputs, ResponseAttributes
label_desc: Use image node_id 4 for calling a global function with example usage: generate_nodegroups(eks_hook, cluster_name, num_nodegroups, minimal) and returns: unknown