code: def show_usage_stats_prompt(cli: bool) -> None:
      if not usage_stats_prompt_enabled():
          return
  
      from ray.autoscaler._private.cli_logger import cli_logger
  
      prompt_print = cli_logger.print if cli else print
  
      usage_stats_enabledness = _usage_stats_enabledness()
      if (
          usage_stats_enabledness
          is UsageStatsEnabledness.DISABLED_EXPLICITLY
      ):
          prompt_print(usage_constant.USAGE_STATS_DISABLED_MESSAGE)
      elif (
          usage_stats_enabledness
          is UsageStatsEnabledness.ENABLED_BY_DEFAULT
      ):
          if not cli:
              prompt_print(
                  usage_constant.USAGE_STATS_ENABLED_BY_DEFAULT_FOR_RAY_INIT_MESSAGE
              )
          elif cli_logger.interactive:
              enabled = cli_logger.confirm(
                  False,
                  usage_constant.USAGE_STATS_CONFIRMATION_MESSAGE,
                  _default=True,
                  _timeout_s=10,
              )
              set_usage_stats_enabled_via_env_var(enabled)
              # Remember user's choice.
              try:
                  set_usage_stats_enabled_via_config(enabled)
              except Exception as e:
                  logger.debug(
                      f"Failed to persist usage stats choice for future clusters: {e}"
                  )
              if enabled:
                  prompt_print(
                      usage_constant.USAGE_STATS_ENABLED_FOR_CLI_MESSAGE
                  )
              else:
                  prompt_print(
                      usage_constant.USAGE_STATS_DISABLED_MESSAGE
                  )
          else:
              prompt_print(
                  usage_constant.USAGE_STATS_ENABLED_BY_DEFAULT_FOR_CLI_MESSAGE,
              )
      else:
          assert (
              usage_stats_enabledness
              is UsageStatsEnabledness.ENABLED_EXPLICITLY
          )
          prompt_print(
              usage_constant.USAGE_STATS_ENABLED_FOR_CLI_MESSAGE
              if cli
              else usage_constant.USAGE_STATS_ENABLED_FOR_RAY_INIT_MESSAGE
          )
  
imports: import json
  import logging
  import threading
  import os
  import platform
  import sys
  import time
  import uuid
  from dataclasses import asdict, dataclass
  from enum import Enum, auto
  from pathlib import Path
  from typing import Dict, List, Optional, Set
  import requests
  import yaml
  import ray
  import ray._private.ray_constants
  import ray._private.usage.usage_constants
  from ray.experimental.internal_kv import _internal_kv_initialized, _internal_kv_put
  from ray.core.generated import usage_pb2, gcs_pb2
label_desc: Use image node_id 21 for calling a global function with example usage: show_usage_stats_prompt(cli) without return types