Skip to content

Commit 5ed250a

Browse files
authored
[Scheduled-Query] update api version (Azure#3399)
* Update venderSDK * support new parameters * support new parameters * fix linter issue * Update HISTORY.rst * use auto-mitigate instead of disable-auto-mitigate * update tests * update tests * update tests
1 parent 436a0cd commit 5ed250a

File tree

19 files changed

+1687
-2078
lines changed

19 files changed

+1687
-2078
lines changed

src/scheduled-query/HISTORY.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ Release History
66
++++++
77
* Support query placeholder for `--condition` parameter.
88
* Add `--condition-query` parameter to support query placeholder.
9+
* Add `--skip-query-validation` parameter
10+
* Add `--check-ws-alerts-storage` parameter
11+
* [Breaking Change] the default value of `--mute-actions-duration` is changed to None, as alert `--auto-mitigate` is supported
912

1013
0.2.2
1114
++++++

src/scheduled-query/azext_scheduled_query/_client_factory.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@
66

77
def cf_scheduled_query(cli_ctx, *_):
88
from azure.cli.core.commands.client_factory import get_mgmt_service_client
9-
from .vendored_sdks.azure_mgmt_scheduled_query._monitor_client import MonitorClient
10-
return get_mgmt_service_client(cli_ctx, MonitorClient).scheduled_query_rules
9+
from .vendored_sdks.azure_mgmt_scheduled_query._monitor_management_client import MonitorManagementClient
10+
return get_mgmt_service_client(cli_ctx, MonitorManagementClient).scheduled_query_rules

src/scheduled-query/azext_scheduled_query/_params.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# --------------------------------------------------------------------------------------------
55
# pylint: disable=line-too-long
66

7-
from azure.cli.core.commands.parameters import tags_type, get_three_state_flag
7+
from azure.cli.core.commands.parameters import tags_type, get_three_state_flag, get_enum_type
88
from azure.cli.command_modules.monitor.actions import get_period_type
99
from azure.cli.command_modules.monitor.validators import get_action_group_validator
1010
from knack.arguments import CLIArgumentType
@@ -23,6 +23,7 @@ def load_arguments(self, _):
2323
c.argument('severity', type=int, help='Severity of the alert from 0 (critical) to 4 (verbose).')
2424
c.argument('window_size', type=get_period_type(), help='Time over which to aggregate metrics in "##h##m##s" format.')
2525
c.argument('evaluation_frequency', type=get_period_type(), help='Frequency with which to evaluate the rule in "##h##m##s" format.')
26+
c.argument('display_name', help='The display name of the alert rule')
2627
c.argument('condition', options_list=['--condition'], action=ScheduleQueryConditionAction, nargs='+')
2728
c.argument('condition_query', options_list=['--condition-query'], nargs='+', action=ScheduleQueryConditionQueryAction, help='Query deteils to replace the placeholders in `--condition` argument.')
2829
c.argument('description', help='Free-text description of the rule.')
@@ -36,3 +37,6 @@ def load_arguments(self, _):
3637
options_list=['--mute-actions-duration', '--mad'],
3738
help='Mute actions for the chosen period of time (in ISO 8601 duration format) after the alert is fired.')
3839
c.argument('actions', options_list=['--action', '-a'], action=ScheduleQueryAddAction, nargs='+', validator=get_action_group_validator('actions'))
40+
c.argument('auto_mitigate', arg_type=get_three_state_flag(), help='The flag that indicates whether the alert should be automatically resolved or not. The default is true.')
41+
c.argument('skip_query_validation', arg_type=get_three_state_flag(), help='The flag which indicates whether the provided query should be validated or not.')
42+
c.argument('check_workspace_alerts_storage', options_list=['--check-ws-alerts-storage', '--cwas'], arg_type=get_three_state_flag(), help="The flag which indicates whether this scheduled query rule should be stored in the customer's storage.")

src/scheduled-query/azext_scheduled_query/custom.py

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,14 @@ def _build_criteria(condition, condition_query):
2626

2727

2828
def create_scheduled_query(client, resource_group_name, rule_name, scopes, condition, condition_query=None,
29-
disabled=False, description=None, tags=None, location=None,
29+
disabled=False, description=None, tags=None, location=None, display_name=None,
30+
auto_mitigate=True, skip_query_validation=False, check_workspace_alerts_storage=False,
3031
actions=None, severity=2, window_size='5m', evaluation_frequency='5m',
31-
target_resource_type=None, mute_actions_duration='PT30M'):
32+
target_resource_type=None, mute_actions_duration=None):
3233
from .vendored_sdks.azure_mgmt_scheduled_query.models import ScheduledQueryRuleResource
3334
criteria = _build_criteria(condition, condition_query)
3435
kwargs = {
36+
'display_name': display_name,
3537
'description': description,
3638
'severity': severity,
3739
'enabled': not disabled,
@@ -43,7 +45,10 @@ def create_scheduled_query(client, resource_group_name, rule_name, scopes, condi
4345
'actions': actions,
4446
'tags': tags,
4547
'location': location,
46-
'mute_actions_duration': mute_actions_duration
48+
'mute_actions_duration': mute_actions_duration,
49+
'check_workspace_alerts_storage_configured': check_workspace_alerts_storage,
50+
'skip_query_validation': skip_query_validation,
51+
'auto_mitigate': auto_mitigate,
4752
}
4853
return client.create_or_update(resource_group_name, rule_name, ScheduledQueryRuleResource(**kwargs))
4954

@@ -54,12 +59,19 @@ def list_scheduled_query(client, resource_group_name=None):
5459
return client.list_by_subscription()
5560

5661

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):
62+
def update_scheduled_query(cmd, instance, tags=None, disabled=None, condition=None, condition_query=None,
63+
description=None, actions=None, severity=None, window_size=None, display_name=None,
64+
auto_mitigate=None, evaluation_frequency=None, mute_actions_duration=None,
65+
skip_query_validation=None, check_workspace_alerts_storage=None):
6066
with cmd.update_context(instance) as c:
6167
c.set_param('tags', tags)
62-
c.set_param('enabled', not disabled)
68+
c.set_param('display_name', display_name)
69+
if disabled is not None:
70+
c.set_param('enabled', not disabled)
71+
if auto_mitigate is not None:
72+
c.set_param('auto_mitigate', auto_mitigate)
73+
c.set_param('skip_query_validation', skip_query_validation)
74+
c.set_param('check_workspace_alerts_storage_configured', check_workspace_alerts_storage)
6375
c.set_param('description', description)
6476
c.set_param('actions', actions)
6577
c.set_param('severity', severity)

0 commit comments

Comments
 (0)