x[hkddlZddlmZmZddlmZddlmZddlmZm Z ddl m Z m Z ejeZdeej fdZd edefd Zd e j*defd Zdefd Zy)N)datetimetimezone)Optional)version)handlersinstantiated_handler_registry)errorsidentityreturncztjjd}t|tj sy|S)z'Get instantiated KVP telemetry handler. telemetryN)rregistered_itemsget isinstancerHyperVKvpReportingHandler) kvp_handlers =/usr/lib/python3/dist-packages/cloudinit/sources/azure/kvp.pyget_kvp_handlerrs6/@@DDK k8#E#E F reportclt}|tjdy|jd|y)z/Report to host via PROVISIONING_REPORT KVP key.z.KVP handler not enabled, skipping host report.FPROVISIONING_REPORTT)rLOGdebug write_key)rrs rreport_via_kvprs4!#K BC/8 rerrorc4t|jS)N)ras_encoded_report)rs rreport_failure_to_hostr &s %113 44rc> tj}tjddt j dtjtjjd|g}t|S#t$r}d|}Yd}~d}~wwxYw)Nzfailed to read vm id: zresult=successzagent=Cloud-Init/z timestamp=zvm_id=) r query_vm_id Exceptionr encode_reportrversion_stringrnowrutc isoformatr)vm_idid_errorrs rreport_success_to_hostr+*s6$$& ! !  6 6 89 :hll3==?@ AUG   F & !! 6( 56sB B BB)loggingrrtypingr cloudinitrcloudinit.reportingrrcloudinit.sources.azurer r getLogger__name__rrrstrboolrReportableErrorr r+rrr7sz 'G4g!("D"DE345&"8"85T5""r