1414 See the License for the specific language governing permissions and
1515 limitations under the License.
1616"""
17- from hawkular .client import ApiObject , HawkularBaseClient
17+ from hawkular .client import ApiObject
1818
1919class Trigger (ApiObject ):
2020 __slots__ = [
@@ -34,7 +34,6 @@ class Condition(ApiObject):
3434 'in_range' , 'alerter_id' , 'expression' , 'direction' , 'period' , 'interval'
3535 ]
3636
37-
3837class Dampening (ApiObject ):
3938 __slots__ = [
4039 'trigger_id' , 'trigger_mode' , 'type' , 'eval_true_setting' ,
@@ -56,14 +55,12 @@ def __init__(self, dictionary=dict()):
5655 self .dampenings = Dampening .list_to_object_list (udict .get ('dampenings' ))
5756 self .conditions = Condition .list_to_object_list (udict .get ('conditions' ))
5857
59-
6058class GroupMemberInfo (ApiObject ):
6159 __slots__ = [
6260 'group_id' , 'member_id' , 'member_name' , 'member_description' , 'member_context' ,
6361 'member_tags' , 'data_id_map'
6462 ]
6563
66-
6764class GroupConditionsInfo (ApiObject ):
6865 __slots__ = [
6966 'conditions' , 'data_id_member_map'
@@ -77,28 +74,24 @@ def __init__(self, dictionary=dict()):
7774 def addCondition (self , c ):
7875 self .conditions .append (c )
7976
80-
8177class TriggerType :
8278 STANDARD = 'STANDARD'
8379 GROUP = 'GROUP'
8480 DATA_DRIVEN_GROUP = 'DATA_DRIVEN_GROUP'
8581 MEMBER = 'MEMBER'
8682 ORPHAN = 'ORPHAN'
8783
88-
8984class TriggerMode :
9085 FIRING = 'FIRING'
9186 AUTORESOLVE = 'AUTORESOLVE'
9287
93-
9488class DampeningType :
9589 STRICT = 'STRICT'
9690 RELAXED_COUNT = 'RELAXED_COUNT'
9791 RELAXED_TIME = 'RELAXED_TIME'
9892 STRICT_TIME = 'STRICT_TIME'
9993 STRICT_TIMEOUT = 'STRICT_TIMEOUT'
10094
101-
10295class ConditionType :
10396 AVAILABILITY = 'AVAILABILITY'
10497 COMPARE = 'COMPARE'
@@ -110,22 +103,27 @@ class ConditionType:
110103 RATE = 'RATE'
111104 MISSING = 'MISSING'
112105
113-
114106class Operator :
115107 LT = 'LT'
116108 GT = 'GT'
117109 LTE = 'LTE'
118110 GTE = 'GTE'
119111
120-
121112class Severity :
122113 LOW = 'LOW'
123114 MEDIUM = 'MEDIUM'
124115 HIGH = 'HIGH'
125116 CRITICAL = 'CRITICAL'
126117
118+ class AlertsTriggerClient (object ):
119+
120+ def __init__ (self , alerts_client ):
121+ self .__client = alerts_client
122+ pass
123+
124+ def __getattr__ (self , name ):
125+ return getattr (self .__client , name )
127126
128- class HawkularAlertsClient (HawkularBaseClient ):
129127 def list_triggers (self , tags = []):
130128 tags = ',' .join (tags )
131129 url = self ._service_url ('triggers' , {'tags' : tags })
@@ -189,6 +187,7 @@ def create_group_member(self, member):
189187 data = self ._serialize_object (member )
190188 return Trigger (self ._post (self ._service_url (['triggers' , 'groups' , 'members' ]), data ))
191189
190+ # TODO The API defines two, PUT which updates conditions and PUT which updates trigger mode also
192191 def put_trigger_conditions (self , trigger_id , trigger_mode , conditions ):
193192 data = self ._serialize_object (conditions )
194193 url = self ._service_url (['triggers' , trigger_id , 'conditions' , trigger_mode ])
@@ -243,3 +242,7 @@ def delete_group_dampening(self, group_id, dampening_id):
243242 :param dampening_id: id of the Dampening to be deleted
244243 """
245244 self ._delete (self ._service_url (['triggers' , 'groups' , group_id , 'dampenings' , dampening_id ]))
245+
246+ # def enable/disable_trigger (or should it be in the update?)
247+ # def orphan / deorphan trigger
248+ #
0 commit comments