@@ -25,27 +25,52 @@ def _build_criteria(condition, condition_query):
2525 return ScheduledQueryRuleCriteria (all_of = condition )
2626
2727
28- def create_scheduled_query (client , resource_group_name , rule_name , scopes , condition , condition_query = None ,
29- disabled = False , description = None , tags = None , location = None ,
30- actions = None , severity = 2 , window_size = '5m' , evaluation_frequency = '5m' ,
31- target_resource_type = None , mute_actions_duration = 'PT30M' ):
32- from .vendored_sdks .azure_mgmt_scheduled_query .models import ScheduledQueryRuleResource
28+ def create_scheduled_query (client ,
29+ resource_group_name ,
30+ rule_name ,
31+ scopes ,
32+ condition ,
33+ action_groups = None ,
34+ custom_properties = None ,
35+ condition_query = None ,
36+ disabled = False ,
37+ description = None ,
38+ tags = None ,
39+ location = None ,
40+ severity = 2 ,
41+ window_size = '5m' ,
42+ evaluation_frequency = '5m' ,
43+ target_resource_type = None ,
44+ mute_actions_duration = None ,
45+ auto_mitigate = True ,
46+ skip_query_validation = False ,
47+ check_workspace_alerts_storage = False ):
3348 criteria = _build_criteria (condition , condition_query )
34- kwargs = {
35- 'description' : description ,
36- 'severity' : severity ,
37- 'enabled' : not disabled ,
38- 'scopes' : scopes ,
39- 'evaluation_frequency' : evaluation_frequency ,
40- 'window_size' : window_size ,
41- 'criteria' : criteria ,
42- 'target_resource_types' : [target_resource_type ] if target_resource_type else None ,
43- 'actions' : actions ,
44- 'tags' : tags ,
45- 'location' : location ,
46- 'mute_actions_duration' : mute_actions_duration
47- }
48- return client .create_or_update (resource_group_name , rule_name , ScheduledQueryRuleResource (** kwargs ))
49+ parameters = {}
50+ actions = {}
51+ actions ['action_groups' ] = action_groups if action_groups is not None else []
52+ actions ['custom_properties' ] = custom_properties if custom_properties is not None else {}
53+ parameters ['actions' ] = actions
54+ parameters ['scopes' ] = scopes
55+ parameters ['criteria' ] = criteria
56+ if actions is not None :
57+ parameters ['actions' ] = actions
58+ parameters ['enabled' ] = not disabled
59+ if description is not None :
60+ parameters ['description' ] = description
61+ if tags is not None :
62+ parameters ['tags' ] = tags
63+ if location is not None :
64+ parameters ['location' ] = location
65+ parameters ['severity' ] = severity
66+ parameters ['window_size' ] = window_size
67+ parameters ['evaluation_frequency' ] = evaluation_frequency
68+ parameters ['target_resource_types' ] = [target_resource_type ] if target_resource_type else None
69+ parameters ['mute_actions_duration' ] = mute_actions_duration
70+ parameters ['auto_mitigate' ] = auto_mitigate
71+ parameters ['skip_query_validation' ] = skip_query_validation
72+ parameters ['check_workspace_alerts_storage_configured' ] = check_workspace_alerts_storage
73+ return client .create_or_update (resource_group_name = resource_group_name , rule_name = rule_name , parameters = parameters )
4974
5075
5176def list_scheduled_query (client , resource_group_name = None ):
@@ -54,19 +79,43 @@ def list_scheduled_query(client, resource_group_name=None):
5479 return client .list_by_subscription ()
5580
5681
57- def update_scheduled_query (cmd , instance , tags = None , disabled = False , condition = None , condition_query = None ,
58- description = None , actions = None , severity = None , window_size = None ,
59- evaluation_frequency = None , mute_actions_duration = None ):
82+ def update_scheduled_query (cmd ,
83+ instance ,
84+ tags = None ,
85+ disabled = None ,
86+ condition = None ,
87+ action_groups = None ,
88+ custom_properties = None ,
89+ condition_query = None ,
90+ description = None ,
91+ severity = None ,
92+ window_size = None ,
93+ evaluation_frequency = None ,
94+ mute_actions_duration = None ,
95+ target_resource_type = None ,
96+ auto_mitigate = None ,
97+ skip_query_validation = None ,
98+ check_workspace_alerts_storage = None
99+ ):
60100 with cmd .update_context (instance ) as c :
61101 c .set_param ('tags' , tags )
62102 c .set_param ('enabled' , not disabled )
63103 c .set_param ('description' , description )
64- c .set_param ('actions' , actions )
104+ c .set_param ('actions.action_groups' , action_groups )
105+ c .set_param ('actions.custom_properties' , custom_properties )
65106 c .set_param ('severity' , severity )
66107 c .set_param ('window_size' , window_size )
67108 c .set_param ('evaluation_frequency' , evaluation_frequency )
68109 c .set_param ('mute_actions_duration' , mute_actions_duration )
110+ c .set_param ('target_resource_type' , target_resource_type )
111+ c .set_param ('auto_mitigate' , auto_mitigate )
112+ c .set_param ('skip_query_validation' , skip_query_validation )
113+ c .set_param ('check_workspace_alerts_storage_configured' , check_workspace_alerts_storage )
69114 if condition is not None :
70115 criteria = _build_criteria (condition , condition_query )
71116 c .set_param ('criteria' , criteria )
117+ if disabled is not None :
118+ c .set_param ('enabled' , not disabled )
119+ if auto_mitigate is not None :
120+ c .set_param ('auto_mitigate' , auto_mitigate )
72121 return instance
0 commit comments