示例#1
0
    def hook_save_retention(self, scheduler):
        """
        Save retention data from alignak-backend

        :param scheduler: scheduler instance of alignak
        :type scheduler: object
        :return: None
        """
        backend = Backend()
        headers = {'Content-Type': 'application/json'}
        data_to_save = scheduler.get_retention_data()
        # clean all hosts first
        backend.method_delete(self.endpoint('retentionhost'))
        # Add all hosts after
        for host in data_to_save['hosts']:
            data_to_save['hosts'][host]['host'] = host
            backend.method_post(self.endpoint('retentionhost'),
                                ujson.dumps(data_to_save['hosts'][host]),
                                headers=headers)

        # clean all services first
        backend.method_delete(self.endpoint('retentionservice'))
        # Add all services after
        for service in data_to_save['services']:
            data_to_save['services'][service]['service'] = service
            backend.method_post(self.endpoint('retentionservice'),
                                ujson.dumps(data_to_save['services'][service]),
                                headers=headers)