metric_name = self._get_metric_name(
vnf_monitoring_param
)
+ alarm_action = dict()
+ for action_type in ["ok", "insufficient-data", "alarm"]:
+ if "actions" in alarm_descriptor and action_type in alarm_descriptor["actions"]:
+ for url in alarm_descriptor["actions"][action_type]:
+ if "webhook" in alarm_action:
+ alarm_action["webhook"].append(url["url"])
+ else:
+ alarm_action["webhook"] = [url["url"]]
alarm_uuid = await self.mon_client.create_alarm(
metric_name=metric_name,
ns_id=nsr_id,
vnf_member_index=vnfr["member-vnf-index-ref"],
threshold=alarm_descriptor["value"],
operation=alarm_descriptor["operation"],
+ action=str(alarm_action),
)
alarm = VnfAlarmRepository.create(
alarm_id=alarm_descriptor["alarm-id"],