class_docstr: Abstract class that defines API interfaces for storing Model Registry metadata.
class_docstr_tok: ["Abstract","class","that","defines","API","interfaces","for","storing","Model","Registry","metadata","."]
docstr: Copy a model version from one registered model to another as a new model version.
  
  :param src_mv: A :py:class:`mlflow.entities.model_registry.ModelVersion` object representing
                 the source model version.
  :param dst_name: the name of the registered model to copy the model version to. If a
                   registered model with this name does not exist, it will be created.
  :return: Single :py:class:`mlflow.entities.model_registry.ModelVersion` object representing
           the cloned model version.
docstr_tok: ["Copy","a","model","version","from","one","registered","model","to","another","as","a","new","model","version",".",":","param","src_mv",":","A",":","py",":","class",":","`","mlflow.entities.model_registry.ModelVersion","`","object","representing","the","source","model","version",".",":","param","dst_name",":","the","name","of","the","registered","model","to","copy","the","model","version","to",".","If","a","registered","model","with","this","name","does","not","exist",",","it","will","be","created",".",":","return",":","Single",":","py",":","class",":","`","mlflow.entities.model_registry.ModelVersion","`","object","representing","the","cloned","model","version","."]
code: def copy_model_version(self, src_mv, dst_name):
      """
      Copy a model version from one registered model to another as a new model version.
  
      :param src_mv: A :py:class:`mlflow.entities.model_registry.ModelVersion` object representing
                     the source model version.
      :param dst_name: the name of the registered model to copy the model version to. If a
                       registered model with this name does not exist, it will be created.
      :return: Single :py:class:`mlflow.entities.model_registry.ModelVersion` object representing
               the cloned model version.
      """
      try:
          self.create_registered_model(dst_name)
      except MlflowException as e:
          if e.error_code != ErrorCode.Name(RESOURCE_ALREADY_EXISTS):
              raise
  
      try:
          mv_copy = self.create_model_version(
              name=dst_name,
              source=f"models:/{src_mv.name}/{src_mv.version}",
              run_id=src_mv.run_id,
              tags=[
                  ModelVersionTag(k, v) for k, v in src_mv.tags.items()
              ],
              run_link=src_mv.run_link,
              description=src_mv.description,
          )
      except MlflowException as e:
          raise MlflowException(
              f"Failed to create model version copy. The current model registry backend "
              f"may not yet support model version URI sources.\nError: {e}"
          ) from e
  
      return mv_copy
  
imports: import logging
  from abc import ABCMeta, abstractmethod
  from time import sleep, time
  from mlflow.entities.model_registry import ModelVersionTag
  from mlflow.entities.model_registry.model_version_status import ModelVersionStatus
  from mlflow.exceptions import MlflowException
  from mlflow.protos.databricks_pb2 import RESOURCE_ALREADY_EXISTS, ErrorCode
  from mlflow.utils.annotations import developer_stable
label_desc: Use image node_id 23 for calling the AbstractStore obj's underlying member method code with example usage: obj.copy_model_version(src_mv, dst_name) and returns: mv_copy