code: def create(
      obj,
      tags=None,
      user_namespace=None,
      only_json=False,
      authorize=None,
      generate_new_token=False,
      given_token=None,
      max_workers=None,
      workflow_timeout=None,
      log_execution_history=False,
  ):
      validate_tags(tags)
  
      obj.echo(
          "Deploying *%s* to AWS Step Functions..."
          % obj.state_machine_name,
          bold=True,
      )
  
      if SERVICE_VERSION_CHECK:
          check_metadata_service_version(obj)
  
      token = resolve_token(
          obj.state_machine_name,
          obj.token_prefix,
          obj,
          authorize,
          given_token,
          generate_new_token,
          obj.is_project,
      )
  
      flow = make_flow(
          obj,
          token,
          obj.state_machine_name,
          tags,
          user_namespace,
          max_workers,
          workflow_timeout,
          obj.is_project,
      )
  
      if only_json:
          obj.echo_always(flow.to_json(), err=False, no_bold=True)
      else:
          flow.deploy(log_execution_history)
          obj.echo(
              "State Machine *{state_machine}* "
              "for flow *{name}* pushed to "
              "AWS Step Functions successfully.\n".format(
                  state_machine=obj.state_machine_name,
                  name=current.flow_name,
              ),
              bold=True,
          )
          if obj._is_state_machine_name_hashed:
              obj.echo(
                  "Note that the flow was deployed with a truncated name "
                  "due to a length limit on AWS Step Functions. The "
                  "original long name is stored in task metadata.\n"
              )
          flow.schedule()
          obj.echo(
              "What will trigger execution of the workflow:", bold=True
          )
          obj.echo(flow.trigger_explanation(), indent=True)
  
imports: import base64
  from metaflow._vendor import click
  from hashlib import sha1
  import json
  import re
  from metaflow import current, decorators, parameters, JSONType
  from metaflow.metaflow_config import SERVICE_VERSION_CHECK, SFN_STATE_MACHINE_PREFIX, UI_URL
  from metaflow.exception import MetaflowException, MetaflowInternalError
  from metaflow.package import MetaflowPackage
  from metaflow.plugins.aws.batch.batch_decorator import BatchDecorator
  from metaflow.tagging_util import validate_tags
  from metaflow.util import get_username, to_bytes, to_unicode, version_parse
  from .step_functions import StepFunctions
  from .production_token import load_token, store_token, new_token
label_desc: Use image node_id 3 for calling a global function with example usage: create(obj, tags, user_namespace, only_json, authorize, generate_new_token, given_token, max_workers, workflow_timeout, log_execution_history) without return types