Registers a connection plugin with a specified name

        Args:
            name: name of the connection plugin to register
            plugin: defined connection plugin class

        Raises:
            :obj:`nornir.core.exceptions.ConnectionPluginAlreadyRegistered` if
                another plugin with the specified name was already registered

def register(cls, name: str, plugin: Type[ConnectionPlugin]) -> None:
        """Registers a connection plugin with a specified name

        Args:
            name: name of the connection plugin to register
            plugin: defined connection plugin class

        Raises:
            :obj:`nornir.core.exceptions.ConnectionPluginAlreadyRegistered` if
                another plugin with the specified name was already registered
        """
        existing_plugin = cls.available.get(name)
        if existing_plugin is None:
            cls.available[name] = plugin
        elif existing_plugin != plugin:
            raise ConnectionPluginAlreadyRegistered(
                f"Connection plugin {plugin.__name__} can't be registered as "
                f"{name!r} because plugin {existing_plugin.__name__} "
                f"was already registered under this name"
            )