@@ -53,10 +53,11 @@ def get_summary(self):
5353 """
5454 return self .client .call ('Account' , 'getObject' , mask = mask )
5555
56- def get_upcoming_events (self , event_type ):
56+ def get_upcoming_events (self , event_type , date_min = None ):
5757 """Retrieves a list of Notification_Occurrence_Events that have not ended yet
5858
5959 :param: String event_type: notification event type.
60+ :param: String date_min: greater Than Date to data recovery, default is 2 days ago.
6061 :return: SoftLayer_Notification_Occurrence_Event
6162 """
6263 mask = "mask[id, subject, startDate, endDate, modifyDate, statusCode, acknowledgedFlag, " \
@@ -70,21 +71,32 @@ def get_upcoming_events(self, event_type):
7071 }
7172 }
7273
73- self .add_event_filter (_filter , event_type )
74+ self .add_event_filter (_filter , event_type , date_min )
7475
7576 return self .client .call ('Notification_Occurrence_Event' , 'getAllObjects' , filter = _filter , mask = mask , iter = True )
7677
7778 @staticmethod
78- def add_event_filter (_filter , event_type ):
79+ def add_event_filter (_filter , event_type , date_min = None ):
7980 """Add data to the object filter.
8081
8182 :param: _filter: event filter.
8283 :param: string event_type: event type.
84+ :param: string date_min: greater Than Date to data recovery, default is 2 days ago.
8385 """
86+
8487 if event_type == 'PLANNED' :
85- _filter ['endDate' ] = {
86- 'operation' : '> sysdate - 2'
87- }
88+ if date_min :
89+ _filter ['endDate' ] = {
90+ 'operation' : 'greaterThanDate' ,
91+ 'options' : [{
92+ 'name' : 'date' ,
93+ 'value' : [date_min ]
94+ }]
95+ }
96+ else :
97+ _filter ['endDate' ] = {
98+ 'operation' : '> sysdate - 2'
99+ }
88100 _filter ['startDate' ] = {
89101 'operation' : 'orderBy' ,
90102 'options' : [{
@@ -94,9 +106,18 @@ def add_event_filter(_filter, event_type):
94106 }
95107
96108 if event_type == 'UNPLANNED_INCIDENT' :
97- _filter ['modifyDate' ] = {
98- 'operation' : '> sysdate - 2'
99- }
109+ if date_min :
110+ _filter ['modifyDate' ] = {
111+ 'operation' : 'greaterThanDate' ,
112+ 'options' : [{
113+ 'name' : 'date' ,
114+ 'value' : [date_min ]
115+ }]
116+ }
117+ else :
118+ _filter ['modifyDate' ] = {
119+ 'operation' : '> sysdate - 2'
120+ }
100121
101122 if event_type == 'ANNOUNCEMENT' :
102123 _filter ['statusCode' ] = {
0 commit comments