code: def set_platform_config(
      platform, experiment_config, port, config_file_name, rest_process
  ):
      """call set_cluster_metadata for specific platform"""
      print_normal("Setting {0} config...".format(platform))
      config_result, err_msg = None, None
      if platform == "adl":
          config_result, err_msg = set_adl_config(
              experiment_config, port, config_file_name
          )
      elif platform == "kubeflow":
          config_result, err_msg = set_kubeflow_config(
              experiment_config, port, config_file_name
          )
      elif platform == "frameworkcontroller":
          config_result, err_msg = set_frameworkcontroller_config(
              experiment_config, port, config_file_name
          )
      else:
          raise Exception(ERROR_INFO % "Unsupported platform!")
          exit(1)
      if config_result:
          config_result, err_msg = set_shared_storage(
              experiment_config, port, config_file_name
          )
      if config_result:
          print_normal("Successfully set {0} config!".format(platform))
      else:
          print_error("Failed! Error is: {}".format(err_msg))
          try:
              kill_command(rest_process.pid)
          except Exception:
              raise Exception(ERROR_INFO % "Rest server stopped!")
          exit(1)
  
imports: import json
  import os
  from pathlib import Path
  import sys
  import string
  import random
  import time
  import re
  from subprocess import Popen, check_call, CalledProcessError, PIPE, STDOUT
  from nni.experiment.config import ExperimentConfig, convert
  from nni.tools.package_utils.tuner_factory import get_builtin_module_class_name
  from .launcher_utils import validate_all_content
  from .rest_utils import rest_put, rest_post, check_rest_server, check_response
  from .url_utils import cluster_metadata_url, experiment_url, get_local_urls, set_prefix_url
  from .config_utils import Config, Experiments
  from .common_utils import get_yml_content, get_json_content, print_error, print_normal, detect_port
  from .constants import NNI_HOME_DIR, ERROR_INFO, REST_TIME_OUT, EXPERIMENT_SUCCESS_INFO, LOG_HEADER
  from .command_utils import check_output_command, kill_command
  from .nnictl_utils import update_experiment
label_desc: Use image node_id 14 for calling a global function with example usage: set_platform_config(platform, experiment_config, port, config_file_name, rest_process) without return types