�
܍~c( � �t � d Z ddlmZ ddlmZ ddlmZmZ dddiiZd� Z d � Z
e� � Z e e� � d
S )z�
cloud-init reporting framework
The reporting framework is intended to allow all parts of cloud-init to
report events in a structured manner.
� )�Type)�DictRegistry)�HandlerType�available_handlers�logging�type�logc �d � | � � � D ]�\ }}|st � |d�� � �$|� � � }t j |� d� � }t � |� � |di |��}t � ||� � ��dS )z�Update the instantiated_handler_registry.
:param config:
The dictionary containing changes to apply. If a key is given
with a False-ish value, the registered handler matching that name
will be unregistered.
T)�forcer N� )�items�instantiated_handler_registry�unregister_item�copyr �registered_items�pop�
register_item)�config�handler_name�handler_config�cls�instances �>/usr/lib/python3/dist-packages/cloudinit/reporting/__init__.py�update_configurationr s� � � )/����� L� L�$��n�� �)�9�9��D�
:�
�
�
�
�'�,�,�.�.��!3�!D����v�&�&�"
�� &�5�5�l�C�C�C��3�(�(��(�(��%�3�3�L�(�K�K�K�K�L� L� c �p � t j � � � D ]} | � � � �d S )N)r r �values�flush)�handlers r �flush_eventsr - s9 � �0�A�H�H�J�J� � ���
�
������ r N)�__doc__�typingr �cloudinit.registryr �cloudinit.reporting.handlersr r �DEFAULT_CONFIGr r r r r r �<module>r& |