code: def configure_aws_batch(existing_env):
      empty_profile = False
      if not existing_env:
          empty_profile = True
      env = {}
  
      # Set AWS Batch Job Queue.
      env["METAFLOW_BATCH_JOB_QUEUE"] = click.prompt(
          cyan("[METAFLOW_BATCH_JOB_QUEUE]") + " AWS Batch Job Queue.",
          default=existing_env.get("METAFLOW_BATCH_JOB_QUEUE"),
          show_default=True,
      )
      # Set IAM role for AWS Batch jobs to assume.
      env["METAFLOW_ECS_S3_ACCESS_IAM_ROLE"] = click.prompt(
          cyan("[METAFLOW_ECS_S3_ACCESS_IAM_ROLE]")
          + " IAM role for AWS Batch jobs to access AWS "
          + "resources (Amazon S3 etc.).",
          default=existing_env.get("METAFLOW_ECS_S3_ACCESS_IAM_ROLE"),
          show_default=True,
      )
      # Set default Docker repository for AWS Batch jobs.
      env["METAFLOW_BATCH_CONTAINER_REGISTRY"] = click.prompt(
          cyan("[METAFLOW_BATCH_CONTAINER_REGISTRY]")
          + yellow(" (optional)")
          + " Default Docker image repository for AWS "
          + "Batch jobs. If nothing is specified, "
          + "dockerhub (hub.docker.com/) is "
          + "used as default.",
          default=existing_env.get(
              "METAFLOW_BATCH_CONTAINER_REGISTRY", ""
          ),
          show_default=True,
      )
      # Set default Docker image for AWS Batch jobs.
      env["METAFLOW_BATCH_CONTAINER_IMAGE"] = click.prompt(
          cyan("[METAFLOW_BATCH_CONTAINER_IMAGE]")
          + yellow(" (optional)")
          + " Default Docker image for AWS Batch jobs. "
          + "If nothing is specified, an appropriate "
          + "python image is used as default.",
          default=existing_env.get(
              "METAFLOW_BATCH_CONTAINER_IMAGE", ""
          ),
          show_default=True,
      )
  
      # Configure AWS Step Functions for scheduling.
      if click.confirm(
          "\nMetaflow can "
          + yellow("schedule your flows on AWS Step " "Functions")
          + " and trigger them at a specific cadence using "
          "Amazon EventBridge.\nTo support flows involving "
          "foreach steps, you would need access to AWS "
          "DynamoDB.\nWould you like to configure AWS Step "
          "Functions for scheduling?",
          default=empty_profile
          or "METAFLOW_SFN_IAM_ROLE" in existing_env,
          abort=False,
      ):
          # Configure IAM role for AWS Step Functions.
          env["METAFLOW_SFN_IAM_ROLE"] = click.prompt(
              cyan("[METAFLOW_SFN_IAM_ROLE]")
              + " IAM role for AWS Step Functions to "
              + "access AWS resources (AWS Batch, "
              + "AWS DynamoDB).",
              default=existing_env.get("METAFLOW_SFN_IAM_ROLE"),
              show_default=True,
          )
          # Configure IAM role for AWS Events Bridge.
          env["METAFLOW_EVENTS_SFN_ACCESS_IAM_ROLE"] = click.prompt(
              cyan("[METAFLOW_EVENTS_SFN_ACCESS_IAM_ROLE]")
              + " IAM role for Amazon EventBridge to "
              + "access AWS Step Functions.",
              default=existing_env.get(
                  "METAFLOW_EVENTS_SFN_ACCESS_IAM_ROLE"
              ),
              show_default=True,
          )
          # Configure AWS DynamoDB Table for AWS Step Functions.
          env["METAFLOW_SFN_DYNAMO_DB_TABLE"] = click.prompt(
              cyan("[METAFLOW_SFN_DYNAMO_DB_TABLE]")
              + " AWS DynamoDB table name for tracking "
              + "AWS Step Functions execution metadata.",
              default=existing_env.get("METAFLOW_SFN_DYNAMO_DB_TABLE"),
              show_default=True,
          )
      return env
  
imports: import json
  import os
  import sys
  from os.path import expanduser
  from metaflow.util import to_unicode
  from metaflow._vendor import click
  from metaflow.util import to_unicode
  from .util import echo_always, makedirs
label_desc: Use image node_id 23 for calling a global function with example usage: configure_aws_batch(existing_env) and returns: env