class_docstr: This entity may change or be removed in a future release without warning.
  SQLAlchemy compliant backend store for tracking meta data for MLflow entities. MLflow
  supports the database dialects ``mysql``, ``mssql``, ``sqlite``, and ``postgresql``.
  As specified in the
  `SQLAlchemy docs <https://docs.sqlalchemy.org/en/latest/core/engines.html#database-urls>`_ ,
  the database URI is expected in the format
  ``<dialect>+<driver>://<username>:<password>@<host>:<port>/<database>``. If you do not
  specify a driver, SQLAlchemy uses a dialect's default driver.
  
  This store interacts with SQL store using SQLAlchemy abstractions defined for MLflow entities.
  :py:class:`mlflow.store.model_registry.models.RegisteredModel` and
  :py:class:`mlflow.store.model_registry.models.ModelVersion`
docstr: Create a new registered model in backend store.
  
  :param name: Name of the new model. This is expected to be unique in the backend store.
  :param tags: A list of :py:class:`mlflow.entities.model_registry.RegisteredModelTag`
               instances associated with this registered model.
  :param description: Description of the version.
  :return: A single object of :py:class:`mlflow.entities.model_registry.RegisteredModel`
           created in the backend.
docstr_tok: ["Create","a","new","registered","model","in","backend","store",".",":","param","name",":","Name","of","the","new","model",".","This","is","expected","to","be","unique","in","the","backend","store",".",":","param","tags",":","A","list","of",":","py",":","class",":","`","mlflow.entities.model_registry.RegisteredModelTag","`","instances","associated","with","this","registered","model",".",":","param","description",":","Description","of","the","version",".",":","return",":","A","single","object","of",":","py",":","class",":","`","mlflow.entities.model_registry.RegisteredModel","`","created","in","the","backend","."]
code: def create_registered_model(self, name, tags=None, description=None):
      """
      Create a new registered model in backend store.
  
      :param name: Name of the new model. This is expected to be unique in the backend store.
      :param tags: A list of :py:class:`mlflow.entities.model_registry.RegisteredModelTag`
                   instances associated with this registered model.
      :param description: Description of the version.
      :return: A single object of :py:class:`mlflow.entities.model_registry.RegisteredModel`
               created in the backend.
      """
      _validate_model_name(name)
      for tag in tags or []:
          _validate_registered_model_tag(tag.key, tag.value)
      with self.ManagedSessionMaker() as session:
          try:
              creation_time = get_current_time_millis()
              registered_model = SqlRegisteredModel(
                  name=name,
                  creation_time=creation_time,
                  last_updated_time=creation_time,
                  description=description,
              )
              tags_dict = {}
              for tag in tags or []:
                  tags_dict[tag.key] = tag.value
              registered_model.registered_model_tags = [
                  SqlRegisteredModelTag(key=key, value=value)
                  for key, value in tags_dict.items()
              ]
              session.add(registered_model)
              session.flush()
              return registered_model.to_mlflow_entity()
          except sqlalchemy.exc.IntegrityError as e:
              raise MlflowException(
                  f"Registered Model (name={name}) already exists. Error: {e}",
                  RESOURCE_ALREADY_EXISTS,
              )
  
imports: import logging
  import urllib
  import sqlalchemy
  from sqlalchemy.future import select
  import mlflow.store.db.utils
  from mlflow.entities.model_registry.model_version_stages import ALL_STAGES, DEFAULT_STAGES_FOR_GET_LATEST_VERSIONS, STAGE_ARCHIVED, STAGE_DELETED_INTERNAL, get_canonical_stage
  from mlflow.exceptions import MlflowException
  from mlflow.protos.databricks_pb2 import INVALID_PARAMETER_VALUE, INVALID_STATE, RESOURCE_ALREADY_EXISTS, RESOURCE_DOES_NOT_EXIST
  from mlflow.store.artifact.utils.models import _parse_model_uri
  from mlflow.store.entities.paged_list import PagedList
  from mlflow.store.model_registry import SEARCH_MODEL_VERSION_MAX_RESULTS_DEFAULT, SEARCH_MODEL_VERSION_MAX_RESULTS_THRESHOLD, SEARCH_REGISTERED_MODEL_MAX_RESULTS_DEFAULT, SEARCH_REGISTERED_MODEL_MAX_RESULTS_THRESHOLD
  from mlflow.store.model_registry.abstract_store import AbstractStore
  from mlflow.store.model_registry.dbmodels.models import SqlModelVersion, SqlModelVersionTag, SqlRegisteredModel, SqlRegisteredModelAlias, SqlRegisteredModelTag
  from mlflow.utils.search_utils import SearchModelUtils, SearchModelVersionUtils, SearchUtils
  from mlflow.utils.time import get_current_time_millis
  from mlflow.utils.uri import extract_db_type_from_uri
  from mlflow.utils.validation import _validate_model_alias_name, _validate_model_name, _validate_model_version, _validate_model_version_tag, _validate_registered_model_tag, _validate_tag_name
label_desc: Use image node_id 7 for calling the SqlAlchemyStore obj's underlying member method code with example usage: obj.create_registered_model(name, tags, description) and returns: registered_model