code: def update(
      asset_path, asset_spec, storage_prefix, bump_major, dry_run
  ):
      """
      Update an existing asset using versioning system
      set in MODELKIT_ASSETS_VERSIONING_SYSTEM (major/minor by default)
  
      Update an existing asset ASSET_SPEC with ASSET_PATH file.
  
  
      By default will upload a new minor version.
  
      ASSET_PATH is the path to the file. The file can be local remote (AWS or GCS)
      (starting with gs:// or s3://)
  
      ASSET_SPEC is and asset specification of the form
      [asset_name]:[version]
  
      Specific documentation depends on the choosen model
      """
      try:
          update_(
              asset_path,
              asset_spec,
              storage_prefix,
              bump_major,
              dry_run,
          )
      except ObjectDoesNotExistError:
          print("Remote asset not found. Create it first using `new`")
          sys.exit(1)
  
imports: import glob
  import os
  import re
  import sys
  import tempfile
  import click
  from rich.console import Console
  from rich.progress import Progress, SpinnerColumn
  from rich.table import Table
  from rich.tree import Tree
  from modelkit.assets.drivers.abc import StorageDriverSettings
  from modelkit.assets.errors import ObjectDoesNotExistError
  from modelkit.assets.manager import AssetsManager
  from modelkit.assets.remote import DriverNotInstalledError, StorageProvider
  from modelkit.assets.settings import AssetSpec
label_desc: Use image node_id 7 for calling a global function with example usage: update(asset_path, asset_spec, storage_prefix, bump_major, dry_run) without return types