:py:mod:`viam.resource.manager` =============================== .. py:module:: viam.resource.manager Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: viam.resource.manager.ResourceManager Attributes ~~~~~~~~~~ .. autoapisummary:: viam.resource.manager.LOGGER viam.resource.manager.ResourceType .. py:data:: LOGGER .. py:data:: ResourceType .. py:class:: ResourceManager(components: List[viam.resource.base.ResourceBase] = []) Registry containing all components registered to this server. .. py:attribute:: resources :type: Dict[viam.proto.common.ResourceName, viam.resource.base.ResourceBase] .. py:method:: register(resource: viam.resource.base.ResourceBase) Register a new resource with the registry. Resources may not have the same name. If a resource is remote and the short name is unique, save a short name version. :raises DuplicateResourceError: Error if attempting to register resource with the name of an existing resource :raises ResourceNotFoundError: Raised if the subtype of the resource is not registered :param resource: The resource to register :type resource: ResourceBase .. py:method:: get_resource(of_type: Type[ResourceType], name: viam.proto.common.ResourceName) -> ResourceType Return a resource from the registry. If a unique short name version is given, return a remote resource with the name. :param of_type: The type of the resource :type of_type: Type[ResourceType] :param name: The name of the resource :type name: viam.proto.common.ResourceName :raises ResourceNotFoundError: Error if resource with the given type and name does not exist in the registry :returns: The resource :rtype: ResourceType .. py:method:: remove_resource(name: viam.proto.common.ResourceName) :async: Remove the resource with the specified ```ResourceName```. :param name: The ResourceName of the resource :type name: viam.proto.common.ResourceName .. py:method:: close() :async: Close the resourcce manager by removing all resources. Please note that any errors will not raise an exception. Errors will still be logged.