
    x[h(                     f    d Z ddlmZ ddlmZ ddlmZmZ dddiiZd Z	d	 Z
 e       Z e	e       y
)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                 2   | j                         D ]  \  }}|st        j                  |d        |j                         }t        j
                  |j                  d         }t        j                  |        |di |}t        j                  ||        y)zUpdate 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$n)99D :  ',,.!3!D!Dv&"
 	&55lC((%33L(KL    c                  j    t         j                  j                         D ]  } | j                           y )N)r   r   valuesflush)handlers    r   flush_eventsr    -   s)    0AAHHJ r   N)__doc__typingr   cloudinit.registryr   cloudinit.reporting.handlersr   r   DEFAULT_CONFIGr   r    r   r   r   r   <module>r&      sD   
  + H 
L. !-  ^ $r   