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,
      workflow_priority=None,
      auto_emit_argo_events=False,
      notify_on_error=False,
      notify_on_success=False,
      notify_slack_webhook_url=None,
      notify_pager_duty_integration_key=None,
  ):
      validate_tags(tags)
  
      obj.echo(
          "Deploying *%s* to Argo Workflows..." % obj.workflow_name,
          bold=True,
      )
  
      if SERVICE_VERSION_CHECK:
          # TODO: Consider dispelling with this check since it's been 2 years since the
          #       needed metadata service changes have been available in open-source. It's
          #       likely that Metaflow users may not have access to metadata service from
          #       within their workstations.
          check_metadata_service_version(obj)
  
      token = resolve_token(
          obj.workflow_name,
          obj.token_prefix,
          obj,
          authorize,
          given_token,
          generate_new_token,
          obj.is_project,
      )
  
      flow = make_flow(
          obj,
          token,
          obj.workflow_name,
          tags,
          user_namespace,
          max_workers,
          workflow_timeout,
          workflow_priority,
          auto_emit_argo_events,
          notify_on_error,
          notify_on_success,
          notify_slack_webhook_url,
          notify_pager_duty_integration_key,
      )
  
      if only_json:
          obj.echo_always(str(flow), err=False, no_bold=True)
          # TODO: Support echo-ing Argo Events Sensor template
      else:
          flow.deploy()
          obj.echo(
              "Workflow *{workflow_name}* "
              "for flow *{name}* pushed to "
              "Argo Workflows successfully.\n".format(
                  workflow_name=obj.workflow_name,
                  name=current.flow_name,
              ),
              bold=True,
          )
          if obj._is_workflow_name_modified:
              obj.echo(
                  "Note that the flow was deployed with a modified name "
                  "due to Kubernetes naming conventions\non Argo Workflows. The "
                  "original flow name is stored in the workflow annotation.\n"
              )
  
          if ARGO_WORKFLOWS_UI_URL:
              obj.echo("See the deployed workflow here:", bold=True)
              argo_workflowtemplate_link = (
                  "%s/workflow-templates/%s"
                  % (
                      ARGO_WORKFLOWS_UI_URL.rstrip("/"),
                      KUBERNETES_NAMESPACE,
                  )
              )
              obj.echo(
                  "%s/%s\n\n"
                  % (argo_workflowtemplate_link, obj.workflow_name),
                  indent=True,
              )
          flow.schedule()
          obj.echo(
              "What will trigger execution of the workflow:", bold=True
          )
          obj.echo(flow.trigger_explanation(), indent=True)
  
imports: import base64
  import json
  import platform
  import re
  import sys
  from hashlib import sha1
  from metaflow import JSONType, current, decorators, parameters
  from metaflow._vendor import click
  from metaflow.exception import MetaflowException, MetaflowInternalError
  from metaflow.metaflow_config import ARGO_WORKFLOWS_UI_URL, KUBERNETES_NAMESPACE, SERVICE_VERSION_CHECK, UI_URL
  from metaflow.package import MetaflowPackage
  from metaflow.plugins.aws.step_functions.production_token import load_token, new_token, store_token
  from metaflow.plugins.environment_decorator import EnvironmentDecorator
  from metaflow.plugins.kubernetes.kubernetes_decorator import KubernetesDecorator
  from metaflow.tagging_util import validate_tags
  from metaflow.util import get_username, to_bytes, to_unicode, version_parse
  from .argo_workflows import ArgoWorkflows
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, workflow_priority, auto_emit_argo_events, notify_on_error, notify_on_success, notify_slack_webhook_url, notify_pager_duty_integration_key) without return types