File tree Expand file tree Collapse file tree 1 file changed +31
-3
lines changed Expand file tree Collapse file tree 1 file changed +31
-3
lines changed Original file line number Diff line number Diff line change 2525# 
2626sdclient  =  SdcClient (sdc_token )
2727
28+ # 
29+ # If the dump we're restoring from has an Alert with the same name 
30+ # as one that's already configured, we'll update the existing Alert 
31+ # so it will have the config from the dump. When we do this, however, 
32+ # we need to give the ID and Version # of the existing Alert as a 
33+ # basis. We save them off here so we can refer to them later. 
34+ # 
35+ existing_alerts  =  {}
36+ res  =  sdclient .get_alerts ()
37+ if  res [0 ]:
38+     for  alert  in  res [1 ]['alerts' ]:
39+         existing_alerts [alert ['name' ]] =  { 'id' : alert ['id' ], 'version' : alert ['version' ] }
40+ else :
41+     print  res [1 ]
42+     sys .exit (1 )
43+ 
44+ created_count  =  0 
45+ updated_count  =  0 
46+ 
2847with  open (alerts_dump_file , 'r' ) as  f :
2948    j  =  json .load (f )
3049    for  a  in  j ['alerts' ]:
31-         a ['description' ] +=  ' (created via restore_alerts.py)' 
32-         res  =  sdclient .create_alert (alert_obj = a )
50+         if  a ['name' ] in  existing_alerts :
51+             a ['id' ] =  existing_alerts [a ['name' ]]['id' ]
52+             a ['version' ] =  existing_alerts [a ['name' ]]['version' ]
53+             a ['description' ] +=  ' (updated via restore_alerts.py)' 
54+             res  =  sdclient .update_alert (a )
55+             updated_count  +=  1 
56+         else :
57+             a ['description' ] +=  ' (created via restore_alerts.py)' 
58+             res  =  sdclient .create_alert (alert_obj = a )
59+             created_count  +=  1 
3360        if  not  res [0 ]:
3461            print  res [1 ]
3562            sys .exit (1 )
3663
37- print  'All Alerts in '  +  alerts_dump_file  +  ' created successfully.' 
64+ print  ('All Alerts in '  +  alerts_dump_file  +  ' restored successfully ('  + 
65+       str (created_count ) +  ' created, '  +  str (updated_count ) +  ' updated)' )
    
 
   
 
     
   
   
          
     
  
    
     
 
    
      
     
 
     
    You can’t perform that action at this time.
  
 
    
  
     
    
      
        
     
 
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments