0
0
Fork 0
mirror of https://github.com/netdata/netdata.git synced 2025-04-07 14:55:41 +00:00
netdata_netdata/aclk/schema-wrappers/alarm_config.cc
Emmanuel Vasilakis 9493fa8682
Remove family from alerts ()
* remove loading and storing families from alert configs

* remove families from silencers

* remove from alarm log

* start remove from alarm-notify.sh.in

* fix test alarm

* rebase

* remove from api/v1/alarm_log

* remove from alert stream

* remove from config stream

* remove from more

* remove from swagger for health api

* revert md changes

* remove from health cmd api test
2023-10-06 00:57:53 +03:00

140 lines
4.2 KiB
C++

// SPDX-License-Identifier: GPL-3.0-or-later
#include "alarm_config.h"
#include "proto/alarm/v1/config.pb.h"
#include "libnetdata/libnetdata.h"
#include "schema_wrapper_utils.h"
using namespace alarms::v1;
void destroy_aclk_alarm_configuration(struct aclk_alarm_configuration *cfg)
{
freez(cfg->alarm);
freez(cfg->tmpl);
freez(cfg->on_chart);
freez(cfg->classification);
freez(cfg->type);
freez(cfg->component);
freez(cfg->os);
freez(cfg->hosts);
freez(cfg->plugin);
freez(cfg->module);
freez(cfg->charts);
freez(cfg->lookup);
freez(cfg->every);
freez(cfg->units);
freez(cfg->green);
freez(cfg->red);
freez(cfg->calculation_expr);
freez(cfg->warning_expr);
freez(cfg->critical_expr);
freez(cfg->recipient);
freez(cfg->exec);
freez(cfg->delay);
freez(cfg->repeat);
freez(cfg->info);
freez(cfg->options);
freez(cfg->host_labels);
freez(cfg->p_db_lookup_dimensions);
freez(cfg->p_db_lookup_method);
freez(cfg->p_db_lookup_options);
freez(cfg->chart_labels);
freez(cfg->summary);
}
char *generate_provide_alarm_configuration(size_t *len, struct provide_alarm_configuration *data)
{
ProvideAlarmConfiguration msg;
AlarmConfiguration *cfg = msg.mutable_config();
msg.set_config_hash(data->cfg_hash);
if (data->cfg.alarm)
cfg->set_alarm(data->cfg.alarm);
if (data->cfg.tmpl)
cfg->set_template_(data->cfg.tmpl);
if(data->cfg.on_chart)
cfg->set_on_chart(data->cfg.on_chart);
if (data->cfg.classification)
cfg->set_classification(data->cfg.classification);
if (data->cfg.type)
cfg->set_type(data->cfg.type);
if (data->cfg.component)
cfg->set_component(data->cfg.component);
if (data->cfg.os)
cfg->set_os(data->cfg.os);
if (data->cfg.hosts)
cfg->set_hosts(data->cfg.hosts);
if (data->cfg.plugin)
cfg->set_plugin(data->cfg.plugin);
if(data->cfg.module)
cfg->set_module(data->cfg.module);
if(data->cfg.charts)
cfg->set_charts(data->cfg.charts);
if(data->cfg.lookup)
cfg->set_lookup(data->cfg.lookup);
if(data->cfg.every)
cfg->set_every(data->cfg.every);
if(data->cfg.units)
cfg->set_units(data->cfg.units);
if (data->cfg.green)
cfg->set_green(data->cfg.green);
if (data->cfg.red)
cfg->set_red(data->cfg.red);
if (data->cfg.calculation_expr)
cfg->set_calculation_expr(data->cfg.calculation_expr);
if (data->cfg.warning_expr)
cfg->set_warning_expr(data->cfg.warning_expr);
if (data->cfg.critical_expr)
cfg->set_critical_expr(data->cfg.critical_expr);
if (data->cfg.recipient)
cfg->set_recipient(data->cfg.recipient);
if (data->cfg.exec)
cfg->set_exec(data->cfg.exec);
if (data->cfg.delay)
cfg->set_delay(data->cfg.delay);
if (data->cfg.repeat)
cfg->set_repeat(data->cfg.repeat);
if (data->cfg.info)
cfg->set_info(data->cfg.info);
if (data->cfg.options)
cfg->set_options(data->cfg.options);
if (data->cfg.host_labels)
cfg->set_host_labels(data->cfg.host_labels);
cfg->set_p_db_lookup_after(data->cfg.p_db_lookup_after);
cfg->set_p_db_lookup_before(data->cfg.p_db_lookup_before);
if (data->cfg.p_db_lookup_dimensions)
cfg->set_p_db_lookup_dimensions(data->cfg.p_db_lookup_dimensions);
if (data->cfg.p_db_lookup_method)
cfg->set_p_db_lookup_method(data->cfg.p_db_lookup_method);
if (data->cfg.p_db_lookup_options)
cfg->set_p_db_lookup_options(data->cfg.p_db_lookup_options);
cfg->set_p_update_every(data->cfg.p_update_every);
if (data->cfg.chart_labels)
cfg->set_chart_labels(data->cfg.chart_labels);
if (data->cfg.summary)
cfg->set_summary(data->cfg.summary);
*len = PROTO_COMPAT_MSG_SIZE(msg);
char *bin = (char*)mallocz(*len);
if (!msg.SerializeToArray(bin, *len))
return NULL;
return bin;
}
char *parse_send_alarm_configuration(const char *data, size_t len)
{
SendAlarmConfiguration msg;
if (!msg.ParseFromArray(data, len))
return NULL;
if (!msg.config_hash().c_str())
return NULL;
return strdupz(msg.config_hash().c_str());
}