Coverage for watcher/decision_engine/model/notification/base.py: 100%

9 statements  

« prev     ^ index     » next       coverage.py v7.8.2, created at 2025-06-17 12:22 +0000

1# -*- encoding: utf-8 -*- 

2# Copyright (c) 2016 b<>com 

3# 

4# Authors: Vincent FRANCOISE <Vincent.FRANCOISE@b-com.com> 

5# 

6# Licensed under the Apache License, Version 2.0 (the "License"); 

7# you may not use this file except in compliance with the License. 

8# You may obtain a copy of the License at 

9# 

10# http://www.apache.org/licenses/LICENSE-2.0 

11# 

12# Unless required by applicable law or agreed to in writing, software 

13# distributed under the License is distributed on an "AS IS" BASIS, 

14# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 

15# implied. 

16# See the License for the specific language governing permissions and 

17# limitations under the License. 

18 

19import abc 

20 

21 

22class NotificationEndpoint(object, metaclass=abc.ABCMeta): 

23 

24 def __init__(self, collector): 

25 super(NotificationEndpoint, self).__init__() 

26 self.collector = collector 

27 self._notifier = None 

28 

29 @property 

30 @abc.abstractmethod 

31 def filter_rule(self): 

32 """Notification Filter""" 

33 raise NotImplementedError() 

34 

35 @property 

36 def cluster_data_model(self): 

37 return self.collector.cluster_data_model