+ def get_alarm_defination_by_name(self, alarm_name):
+ """Get alarm details based on alarm name
+ """
+ status = False
+ alert_match_list = []
+
+ if alarm_name is None:
+ self.logger.warn("get_alarm_defination_by_name: Alarm name not provided")
+ return alert_match_list
+
+ json_data = {}
+ api_url = '/suite-api/api/alertdefinitions'
+ headers = {'Accept': 'application/json'}
+
+ resp = requests.get(self.vrops_site + api_url,
+ auth=(self.vrops_user, self.vrops_password),
+ verify = False, headers = headers)
+
+ if resp.status_code is not 200:
+ self.logger.warn("get_alarm_defination_by_name: Error in response: {}\nResponse code:{}"\
+ "\nResponse Content: {}".format(alarm_name, resp.status_code, resp.content))
+ return alert_match_list
+
+ try:
+ json_data = json.loads(resp.content)
+ if json_data['alertDefinitions'] is not None:
+ alerts_list = json_data['alertDefinitions']
+ alert_match_list = filter(lambda alert: alert['name'] == alarm_name, alerts_list)
+ status = False if not alert_match_list else True
+ #self.logger.debug("Found alert_match_list: {}for larm_name: {},\nstatus: {}".format(alert_match_list, alarm_name,status))
+
+ return alert_match_list
+
+ except Exception as exp:
+ self.logger.warn("Exception while searching alarm defination: {}".format(exp))
+ return alert_match_list
+
+