Beispiel #1
0
    def report_vm_status(self, vm_status):
        validate_param('vmStatus', vm_status, VMStatus)
        data = get_properties(vm_status)
        # TODO code field is not implemented for metadata protocol yet.
        # Remove it
        handler_statuses = data['vmAgent']['extensionHandlers']
        for handler_status in handler_statuses:
            try:
                handler_status.pop('code', None)
            except KeyError:
                pass

        self._put_data(self.vm_status_uri, data)
Beispiel #2
0
 def report_event(self, events):
     validate_param('events', events, TelemetryEventList)
     data = get_properties(events)
     self._post_data(self.event_uri, data)
Beispiel #3
0
 def report_ext_status(self, ext_handler_name, ext_name, ext_status):
     validate_param('extensionStatus', ext_status, ExtensionStatus)
     data = get_properties(ext_status)
     uri = self.ext_status_uri.format(ext_name)
     self._put_data(uri, data)
Beispiel #4
0
 def report_provision_status(self, provision_status):
     validate_param('provisionStatus', provision_status, ProvisionStatus)
     data = get_properties(provision_status)
     self._put_data(self.provision_status_uri, data)