
    x[h                          S SK r  " S S5      rg)    Nc                   D    \ rS rSrSrS rS rS rS
S jr\	S 5       r
Srg	)DictRegistry   z+A simple registry for a mapping of objects.c                 $    U R                  5         g N)resetselfs    4/usr/lib/python3/dist-packages/cloudinit/registry.py__init__DictRegistry.__init__   s    

    c                     0 U l         g r   _itemsr	   s    r   r   DictRegistry.reset   s	    r   c                 r    XR                   ;   a  [        SR                  U5      5      eX R                   U'   g)zAdd item to the registry.z$Item already registered with key {0}N)r   
ValueErrorformat)r
   keyitems      r   register_itemDictRegistry.register_item   s5    ++6==cB   Cr   c                 h    XR                   ;   a  U R                   U	 gU(       d  [        SU-  5      eg)zRemove item from the registry.z!%s: key not present to unregisterN)r   KeyError)r
   r   forces      r   unregister_itemDictRegistry.unregister_item   s1    ++C >DEE r   c                 B    [         R                   " U R                  5      $ )zfAll the items that have been registered.

This cannot be used to modify the contents of the registry.
)copyr   r	   s    r   registered_itemsDictRegistry.registered_items    s     yy%%r   r   N)T)__name__
__module____qualname____firstlineno____doc__r   r   r   r   propertyr!   __static_attributes__ r   r   r   r      s.    5 F & &r   r   )r    r   r*   r   r   <module>r+      s   
 & &r   