зеркало из https://github.com/Azure/azure-cli.git
[Monitor] Metric Alerts commands (#7037)
* Metric Alerts commands * Code review feedback.
This commit is contained in:
Родитель
6deace240a
Коммит
0a5587d951
2
.flake8
2
.flake8
|
@ -14,4 +14,4 @@ exclude =
|
|||
scripts
|
||||
doc
|
||||
build_scripts
|
||||
|
||||
*/grammar/
|
|
@ -26,6 +26,7 @@
|
|||
<Compile Include="azure-cli-command_modules-nspkg\azure\cli\command_modules\__init__.py" />
|
||||
<Compile Include="azure-cli-command_modules-nspkg\setup.py" />
|
||||
<Compile Include="azure-cli-core\azure\cli\core\adal_authentication.py" />
|
||||
<Compile Include="azure-cli-core\azure\cli\core\api.py" />
|
||||
<Compile Include="azure-cli-core\azure\cli\core\azlogging.py" />
|
||||
<Compile Include="azure-cli-core\azure\cli\core\cloud.py" />
|
||||
<Compile Include="azure-cli-core\azure\cli\core\commands\arm.py" />
|
||||
|
@ -46,6 +47,7 @@
|
|||
<Compile Include="azure-cli-core\azure\cli\core\extensions\__init__.py" />
|
||||
<Compile Include="azure-cli-core\azure\cli\core\file_util.py" />
|
||||
<Compile Include="azure-cli-core\azure\cli\core\keys.py" />
|
||||
<Compile Include="azure-cli-core\azure\cli\core\mock.py" />
|
||||
<Compile Include="azure-cli-core\azure\cli\core\parser.py" />
|
||||
<Compile Include="azure-cli-core\azure\cli\core\profiles\_shared.py" />
|
||||
<Compile Include="azure-cli-core\azure\cli\core\profiles\__init__.py" />
|
||||
|
@ -69,6 +71,7 @@
|
|||
<Compile Include="azure-cli-core\azure\cli\core\tests\test_util.py" />
|
||||
<Compile Include="azure-cli-core\azure\cli\core\tests\test_core_validators.py" />
|
||||
<Compile Include="azure-cli-core\azure\cli\core\util.py" />
|
||||
<Compile Include="azure-cli-core\azure\cli\core\_completers.py" />
|
||||
<Compile Include="azure-cli-core\azure\cli\core\_config.py" />
|
||||
<Compile Include="azure-cli-core\azure\cli\core\_debug.py" />
|
||||
<Compile Include="azure-cli-core\azure\cli\core\_environment.py" />
|
||||
|
@ -405,6 +408,14 @@
|
|||
<Compile Include="command_modules\azure-cli-interactive\azure\cli\command_modules\interactive\__init__.py" />
|
||||
<Compile Include="command_modules\azure-cli-interactive\azure_bdist_wheel.py" />
|
||||
<Compile Include="command_modules\azure-cli-interactive\setup.py" />
|
||||
<Compile Include="command_modules\azure-cli-iotcentral\azure\cli\command_modules\iotcentral\commands.py" />
|
||||
<Compile Include="command_modules\azure-cli-iotcentral\azure\cli\command_modules\iotcentral\custom.py" />
|
||||
<Compile Include="command_modules\azure-cli-iotcentral\azure\cli\command_modules\iotcentral\tests\latest\test_iotcentral_commands.py" />
|
||||
<Compile Include="command_modules\azure-cli-iotcentral\azure\cli\command_modules\iotcentral\_client_factory.py" />
|
||||
<Compile Include="command_modules\azure-cli-iotcentral\azure\cli\command_modules\iotcentral\_help.py" />
|
||||
<Compile Include="command_modules\azure-cli-iotcentral\azure\cli\command_modules\iotcentral\_params.py" />
|
||||
<Compile Include="command_modules\azure-cli-iotcentral\azure\cli\command_modules\iotcentral\__init__.py" />
|
||||
<Compile Include="command_modules\azure-cli-iotcentral\setup.py" />
|
||||
<Compile Include="command_modules\azure-cli-iot\azure\cli\command_modules\iot\custom.py" />
|
||||
<Compile Include="command_modules\azure-cli-iot\azure\cli\command_modules\iot\commands.py" />
|
||||
<Compile Include="command_modules\azure-cli-iot\azure\cli\command_modules\iot\mgmt_iot_hub_device\lib\credentials.py" />
|
||||
|
@ -480,6 +491,11 @@
|
|||
<Compile Include="command_modules\azure-cli-maps\__init__.py" />
|
||||
<Compile Include="command_modules\azure-cli-monitor\azure\cli\command_modules\monitor\commands.py" />
|
||||
<Compile Include="command_modules\azure-cli-monitor\azure\cli\command_modules\monitor\actions.py" />
|
||||
<Compile Include="command_modules\azure-cli-monitor\azure\cli\command_modules\monitor\grammar\MetricAlertConditionLexer.py" />
|
||||
<Compile Include="command_modules\azure-cli-monitor\azure\cli\command_modules\monitor\grammar\MetricAlertConditionListener.py" />
|
||||
<Compile Include="command_modules\azure-cli-monitor\azure\cli\command_modules\monitor\grammar\MetricAlertConditionParser.py" />
|
||||
<Compile Include="command_modules\azure-cli-monitor\azure\cli\command_modules\monitor\grammar\MetricAlertConditionValidator.py" />
|
||||
<Compile Include="command_modules\azure-cli-monitor\azure\cli\command_modules\monitor\grammar\__init__.py" />
|
||||
<Compile Include="command_modules\azure-cli-monitor\azure\cli\command_modules\monitor\operations\action_groups.py" />
|
||||
<Compile Include="command_modules\azure-cli-monitor\azure\cli\command_modules\monitor\operations\activity_log.py" />
|
||||
<Compile Include="command_modules\azure-cli-monitor\azure\cli\command_modules\monitor\operations\activity_log_alerts.py" />
|
||||
|
@ -507,7 +523,6 @@
|
|||
<Compile Include="command_modules\azure-cli-monitor\azure\cli\command_modules\monitor\_help.py" />
|
||||
<Compile Include="command_modules\azure-cli-monitor\azure\cli\command_modules\monitor\_params.py" />
|
||||
<Compile Include="command_modules\azure-cli-monitor\azure\cli\command_modules\monitor\__init__.py" />
|
||||
<Compile Include="command_modules\azure-cli-monitor\azure_bdist_wheel.py" />
|
||||
<Compile Include="command_modules\azure-cli-monitor\setup.py" />
|
||||
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\tests\latest\test_dns_commands.py" />
|
||||
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\tests\latest\test_network_commands.py" />
|
||||
|
@ -936,6 +951,13 @@
|
|||
<Folder Include="command_modules\azure-cli-interactive\azure\cli\command_modules\interactive\tests\" />
|
||||
<Folder Include="command_modules\azure-cli-interactive\azure\cli\command_modules\interactive\tests\latest\" />
|
||||
<Folder Include="command_modules\azure-cli-interactive\docs\" />
|
||||
<Folder Include="command_modules\azure-cli-iotcentral\" />
|
||||
<Folder Include="command_modules\azure-cli-iotcentral\azure\" />
|
||||
<Folder Include="command_modules\azure-cli-iotcentral\azure\cli\" />
|
||||
<Folder Include="command_modules\azure-cli-iotcentral\azure\cli\command_modules\" />
|
||||
<Folder Include="command_modules\azure-cli-iotcentral\azure\cli\command_modules\iotcentral\" />
|
||||
<Folder Include="command_modules\azure-cli-iotcentral\azure\cli\command_modules\iotcentral\tests\" />
|
||||
<Folder Include="command_modules\azure-cli-iotcentral\azure\cli\command_modules\iotcentral\tests\latest\" />
|
||||
<Folder Include="command_modules\azure-cli-iot\" />
|
||||
<Folder Include="command_modules\azure-cli-iot\azure\" />
|
||||
<Folder Include="command_modules\azure-cli-iot\azure\cli\" />
|
||||
|
@ -984,6 +1006,7 @@
|
|||
<Folder Include="command_modules\azure-cli-monitor\azure\cli\" />
|
||||
<Folder Include="command_modules\azure-cli-monitor\azure\cli\command_modules\" />
|
||||
<Folder Include="command_modules\azure-cli-monitor\azure\cli\command_modules\monitor\" />
|
||||
<Folder Include="command_modules\azure-cli-monitor\azure\cli\command_modules\monitor\grammar\" />
|
||||
<Folder Include="command_modules\azure-cli-monitor\azure\cli\command_modules\monitor\operations\" />
|
||||
<Folder Include="command_modules\azure-cli-monitor\azure\cli\command_modules\monitor\tests\" />
|
||||
<Folder Include="command_modules\azure-cli-monitor\azure\cli\command_modules\monitor\tests\latest\" />
|
||||
|
@ -1228,6 +1251,7 @@
|
|||
<Content Include="command_modules\azure-cli-interactive\README.md" />
|
||||
<Content Include="command_modules\azure-cli-interactive\README.rst" />
|
||||
<Content Include="command_modules\azure-cli-interactive\setup.cfg" />
|
||||
<Content Include="command_modules\azure-cli-iotcentral\HISTORY.rst" />
|
||||
<Content Include="command_modules\azure-cli-iot\azure\cli\command_modules\iot\mgmt_iot_hub_device\swagger_iot_hub_device_identity.json" />
|
||||
<Content Include="command_modules\azure-cli-iot\HISTORY.rst" />
|
||||
<Content Include="command_modules\azure-cli-keyvault\azure\cli\command_modules\keyvault\tests\latest\policy.json" />
|
||||
|
@ -1244,15 +1268,15 @@
|
|||
<Content Include="command_modules\azure-cli-lab\README.rst" />
|
||||
<Content Include="command_modules\azure-cli-lab\setup.cfg" />
|
||||
<Content Include="command_modules\azure-cli-maps\HISTORY.rst" />
|
||||
<Content Include="command_modules\azure-cli-monitor\azure\cli\command_modules\monitor\grammar\MetricAlertCondition.g4" />
|
||||
<Content Include="command_modules\azure-cli-monitor\azure\cli\command_modules\monitor\grammar\build_python.bat" />
|
||||
<Content Include="command_modules\azure-cli-monitor\azure\cli\command_modules\monitor\grammar\run_test.bat" />
|
||||
<Content Include="command_modules\azure-cli-monitor\azure\cli\command_modules\monitor\operations\autoscale-parameters-template.json" />
|
||||
<Content Include="command_modules\azure-cli-monitor\azure\cli\command_modules\monitor\_autoscale_util.py">
|
||||
<SubType>Code</SubType>
|
||||
</Content>
|
||||
<Content Include="command_modules\azure-cli-monitor\HISTORY.rst" />
|
||||
<Content Include="command_modules\azure-cli-monitor\linter_exclusions.yml" />
|
||||
<Content Include="command_modules\azure-cli-monitor\MANIFEST.in" />
|
||||
<Content Include="command_modules\azure-cli-monitor\README.rst" />
|
||||
<Content Include="command_modules\azure-cli-monitor\setup.cfg" />
|
||||
<Content Include="command_modules\azure-cli-network\azure\cli\command_modules\network\tests\latest\zone_files\fail1.txt" />
|
||||
<Content Include="command_modules\azure-cli-network\azure\cli\command_modules\network\tests\latest\zone_files\fail2.txt" />
|
||||
<Content Include="command_modules\azure-cli-network\azure\cli\command_modules\network\tests\latest\zone_files\fail3.txt" />
|
||||
|
|
|
@ -83,6 +83,11 @@ if sys.version_info < (2, 7, 9):
|
|||
DEPENDENCIES.append('ndg-httpsclient')
|
||||
DEPENDENCIES.append('pyasn1')
|
||||
|
||||
if sys.version_info < (3, 0):
|
||||
DEPENDENCIES.append('antlr4-python2-runtime')
|
||||
else:
|
||||
DEPENDENCIES.append('antlr4-python3-runtime')
|
||||
|
||||
with open('README.rst', 'r', encoding='utf-8') as f:
|
||||
README = f.read()
|
||||
with open('HISTORY.rst', 'r', encoding='utf-8') as f:
|
||||
|
|
|
@ -5,7 +5,8 @@ Release History
|
|||
|
||||
0.2.3
|
||||
+++++
|
||||
* Minor fixes
|
||||
* Added `monitor metrics alert` commands for near-realtime metric alerts.
|
||||
* Deprecated `monitor alert` commands.
|
||||
|
||||
0.2.2
|
||||
+++++
|
||||
|
|
|
@ -53,3 +53,7 @@ def cf_activity_log(cli_ctx, _):
|
|||
|
||||
def cf_event_categories(cli_ctx, _):
|
||||
return cf_monitor(cli_ctx, _).event_categories
|
||||
|
||||
|
||||
def cf_metric_alerts(cli_ctx, _):
|
||||
return cf_monitor(cli_ctx, _).metric_alerts
|
||||
|
|
|
@ -12,6 +12,8 @@ def monitor_exception_handler(ex):
|
|||
# work around for issue: https://github.com/Azure/azure-sdk-for-python/issues/1556
|
||||
error_payload = ex.response.json()
|
||||
error_payload = {k.lower(): v for k, v in error_payload.items()}
|
||||
if 'error' in error_payload:
|
||||
error_payload = error_payload['error']
|
||||
if 'code' in error_payload and 'message' in error_payload:
|
||||
message = '{}.'.format(error_payload['message']) if error_payload['message'] else 'Operation failed.'
|
||||
code = '[Code: "{}"]'.format(error_payload['code']) if error_payload['code'] else ''
|
||||
|
|
|
@ -194,7 +194,95 @@ helps['monitor metrics list-definitions'] = """
|
|||
short-summary: Lists the metric definitions for the resource.
|
||||
"""
|
||||
|
||||
# endregion
|
||||
helps['monitor metrics alert'] = """
|
||||
type: group
|
||||
short-summary: Manage near-realtime metric alert rules.
|
||||
"""
|
||||
|
||||
helps['monitor metrics alert create'] = """
|
||||
type: command
|
||||
short-summary: Create an alert rule.
|
||||
parameters:
|
||||
- name: --action -a
|
||||
short-summary: Add an action group and optional webhook properties to fire when the alert is triggered.
|
||||
long-summary: |
|
||||
Usage: --action ACTION_GROUP_NAME_OR_ID [KEY=VAL [KEY=VAL ...]]
|
||||
|
||||
Multiple action groups can be specified by using more than one `--action` argument.
|
||||
- name: --disabled
|
||||
short-summary: Create the rule in a disabled state.
|
||||
- name: --condition
|
||||
short-summary: The condition which triggers the rule.
|
||||
long-summary: |
|
||||
Usage: --conditon {avg,min,max,total} [NAMESPACE.]METRIC {=,!=,>,>=,<,<=} THRESHOLD
|
||||
[where DIMENSION {includes,excludes} VALUE [or VALUE ...]
|
||||
[and DIMENSION {includes,excludes} VALUE [or VALUE ...] ...]]
|
||||
|
||||
Dimensions can be queried by adding the 'where' keyword and multiple dimensions can be queried by combining them with the 'and' keyword.
|
||||
|
||||
Values for METRIC, DIMENSION and appropriate THRESHOLD values can be obtained from `az monitor metrics list-definition` command.
|
||||
|
||||
Multiple conditons can be specified by using more than one `--condition` argument.
|
||||
examples:
|
||||
- name: Create a high CPU usage alert on a VM with no actions.
|
||||
text: >
|
||||
az monitor metrics alert create -n alert1 -g {ResourceGroup} --scopes {VirtualMachineID} --condition "avg Percentage CPU > 90"
|
||||
- name: Create a high CPU usage alert on a VM with email and webhook actions.
|
||||
text: |
|
||||
az monitor metrics alert create -n alert1 -g {ResourceGroup} --scopes {VirtualMachineID} \\
|
||||
--condition "avg Percentage CPU > 90" --window-size 5m --evaluation-frequency 1m \\
|
||||
--action {actionGroupId} apiKey={APIKey} type=HighCPU
|
||||
- name: Create an alert when a storage account shows a high number of slow transactions, using multi-dimensional filters.
|
||||
text: |
|
||||
az monitor metrics alert create -g {ResourceGroup} -n alert1 --scopes {StorageAccountId} \\
|
||||
--description "Storage Slow Transactions" \\
|
||||
--condition "total transactions > 5 where ResponseType includes Success" \\
|
||||
--condition "avg SuccessE2ELatency > 250 where ApiName includes GetBlob or PutBlob"
|
||||
"""
|
||||
|
||||
|
||||
helps['monitor metrics alert update'] = """
|
||||
type: command
|
||||
short-summary: Update an alert rule.
|
||||
parameters:
|
||||
- name: --add-condition
|
||||
short-summary: Add a condition which triggers the rule.
|
||||
long-summary: |
|
||||
Usage: --add-conditon {avg,min,max,total} [NAMESPACE.]METRIC {=,!=,>,>=,<,<=} THRESHOLD
|
||||
[where DIMENSION {includes,excludes} VALUE [or VALUE ...]
|
||||
[and DIMENSION {includes,excludes} VALUE [or VALUE ...] ...]]
|
||||
|
||||
Dimensions can be queried by adding the 'where' keyword and multiple dimensions can be queried by combining them with the 'and' keyword.
|
||||
|
||||
Values for METRIC, DIMENSION and appropriate THRESHOLD values can be obtained from `az monitor metrics list-definition` command.
|
||||
|
||||
Multiple conditons can be specified by using more than one `--condition` argument.
|
||||
- name: --remove-conditions
|
||||
short-summary: Space-separated list of condition names to remove.
|
||||
- name: --add-action
|
||||
short-summary: Add an action group and optional webhook properties to fire when the alert is triggered.
|
||||
long-summary: |
|
||||
Usage: --add-action ACTION_GROUP_NAME_OR_ID [KEY=VAL [KEY=VAL ...]]
|
||||
|
||||
Multiple action groups can be specified by using more than one `--action` argument.
|
||||
- name: --remove-actions
|
||||
short-summary: Space-separated list of action group names to remove.
|
||||
"""
|
||||
|
||||
helps['monitor metrics alert delete'] = """
|
||||
type: command
|
||||
short-summary: Delete an alert rule.
|
||||
"""
|
||||
|
||||
helps['monitor metrics alert list'] = """
|
||||
type: command
|
||||
short-summary: List alert rules.
|
||||
"""
|
||||
|
||||
helps['monitor metrics alert show'] = """
|
||||
type: command
|
||||
short-summary: Show an alert rule.
|
||||
"""
|
||||
|
||||
helps['monitor log-profiles'] = """
|
||||
type: group
|
||||
|
|
|
@ -14,10 +14,11 @@ from azure.cli.core.commands.validators import get_default_location_from_resourc
|
|||
from azure.cli.command_modules.monitor.actions import (
|
||||
AlertAddAction, AlertRemoveAction, ConditionAction, AutoscaleAddAction, AutoscaleRemoveAction,
|
||||
AutoscaleScaleAction, AutoscaleConditionAction, period_type,
|
||||
timezone_offset_type, timezone_name_type)
|
||||
timezone_offset_type, timezone_name_type, MetricAlertConditionAction, MetricAlertAddAction)
|
||||
from azure.cli.command_modules.monitor.util import get_operator_map, get_aggregation_map
|
||||
from azure.cli.command_modules.monitor.validators import (
|
||||
process_webhook_prop, validate_autoscale_recurrence, validate_autoscale_timegrain)
|
||||
process_webhook_prop, validate_autoscale_recurrence, validate_autoscale_timegrain, get_action_group_validator,
|
||||
get_action_group_id_validator)
|
||||
|
||||
|
||||
# pylint: disable=line-too-long, too-many-statements
|
||||
|
@ -105,6 +106,31 @@ def load_arguments(self, _):
|
|||
c.ignore('timespan', 'result_type')
|
||||
# endregion
|
||||
|
||||
# region MetricAlerts
|
||||
with self.argument_context('monitor metrics alert') as c:
|
||||
c.argument('rule_name', name_arg_type, id_part='name', help='Name of the alert rule.')
|
||||
c.argument('severity', type=int, help='Severity of the alert from 0 (low) to 4 (high).')
|
||||
c.argument('window_size', type=period_type, help='Time over which to aggregate metrics in "##h##m##s" format.')
|
||||
c.argument('evaluation_frequency', type=period_type, help='Frequency with which to evaluate the rule in "##h##m##s" format.')
|
||||
c.argument('auto_mitigate', arg_type=get_three_state_flag(), help='Automatically resolve the alert.')
|
||||
c.argument('condition', options_list=['--condition'], action=MetricAlertConditionAction, nargs='+')
|
||||
c.argument('description', help='Free-text description of the rule.')
|
||||
c.argument('scopes', nargs='+', help='Space-separated list of scopes the rule applies to.')
|
||||
c.argument('disabled', arg_type=get_three_state_flag())
|
||||
c.argument('enabled', arg_type=get_three_state_flag(), help='Whether the metric alert rule is enabled.')
|
||||
|
||||
with self.argument_context('monitor metrics alert create', arg_group=None) as c:
|
||||
c.argument('actions', options_list=['--action', '-a'], action=MetricAlertAddAction, nargs='+', validator=get_action_group_validator('actions'))
|
||||
|
||||
with self.argument_context('monitor metrics alert update', arg_group='Action') as c:
|
||||
c.argument('add_actions', options_list='--add-action', action=MetricAlertAddAction, nargs='+', validator=get_action_group_validator('add_actions'))
|
||||
c.argument('remove_actions', nargs='+', validator=get_action_group_id_validator('remove_actions'))
|
||||
|
||||
with self.argument_context('monitor metrics alert update', arg_group='Condition') as c:
|
||||
c.argument('add_conditions', options_list='--add-condition', action=MetricAlertConditionAction, nargs='+')
|
||||
c.argument('remove_conditions', nargs='+')
|
||||
# endregion
|
||||
|
||||
# region Autoscale
|
||||
with self.argument_context('monitor autoscale') as c:
|
||||
c.argument('autoscale_name', arg_type=autoscale_name_type, options_list=['--name', '-n'])
|
||||
|
|
|
@ -5,6 +5,8 @@
|
|||
|
||||
import argparse
|
||||
|
||||
import antlr4
|
||||
|
||||
from azure.cli.command_modules.monitor.util import (
|
||||
get_aggregation_map, get_operator_map, get_autoscale_operator_map,
|
||||
get_autoscale_aggregation_map, get_autoscale_scale_direction_map)
|
||||
|
@ -74,6 +76,41 @@ def period_type(value):
|
|||
return 'P{}T{}{}{}'.format(days, minutes, hours, seconds).upper()
|
||||
|
||||
|
||||
# pylint: disable=protected-access, too-few-public-methods
|
||||
class MetricAlertConditionAction(argparse._AppendAction):
|
||||
|
||||
def __call__(self, parser, namespace, values, option_string=None):
|
||||
from azure.cli.command_modules.monitor.grammar import (
|
||||
MetricAlertConditionLexer, MetricAlertConditionParser, MetricAlertConditionValidator)
|
||||
|
||||
string_val = ' '.join(values)
|
||||
|
||||
lexer = MetricAlertConditionLexer(antlr4.InputStream(string_val))
|
||||
stream = antlr4.CommonTokenStream(lexer)
|
||||
parser = MetricAlertConditionParser(stream)
|
||||
tree = parser.expression()
|
||||
|
||||
validator = MetricAlertConditionValidator()
|
||||
walker = antlr4.ParseTreeWalker()
|
||||
walker.walk(validator, tree)
|
||||
metric_condition = validator.result()
|
||||
super(MetricAlertConditionAction, self).__call__(parser, namespace, metric_condition, option_string)
|
||||
|
||||
|
||||
# pylint: disable=protected-access, too-few-public-methods
|
||||
class MetricAlertAddAction(argparse._AppendAction):
|
||||
|
||||
def __call__(self, parser, namespace, values, option_string=None):
|
||||
from azure.mgmt.monitor.models import MetricAlertAction
|
||||
action = MetricAlertAction(
|
||||
action_group_id=values[0],
|
||||
webhook_properties=dict(x.split('=', 1) for x in values[1:]) if len(values) > 1 else None
|
||||
)
|
||||
action.odatatype = 'Microsoft.WindowsAzure.Management.Monitoring.Alerts.Models.Microsoft.AppInsights.Nexus.' \
|
||||
'DataContracts.Resources.ScheduledQueryRules.Action'
|
||||
super(MetricAlertAddAction, self).__call__(parser, namespace, action, option_string)
|
||||
|
||||
|
||||
# pylint: disable=too-few-public-methods
|
||||
class ConditionAction(argparse.Action):
|
||||
def __call__(self, parser, namespace, values, option_string=None):
|
||||
|
@ -266,15 +303,26 @@ class MultiObjectsDeserializeAction(argparse._AppendAction): # pylint: disable=
|
|||
class ActionGroupReceiverParameterAction(MultiObjectsDeserializeAction):
|
||||
def deserialize_object(self, type_name, type_properties):
|
||||
from azure.mgmt.monitor.models import EmailReceiver, SmsReceiver, WebhookReceiver
|
||||
from knack.util import CLIError
|
||||
|
||||
if type_name == 'email':
|
||||
return EmailReceiver(name=type_properties[0], email_address=type_properties[1])
|
||||
try:
|
||||
return EmailReceiver(name=type_properties[0], email_address=type_properties[1])
|
||||
except IndexError:
|
||||
raise CLIError('usage error: --action email NAME EMAIL_ADDRESS')
|
||||
elif type_name == 'sms':
|
||||
return SmsReceiver(
|
||||
name=type_properties[0],
|
||||
country_code=type_properties[1],
|
||||
phone_number=type_properties[2]
|
||||
)
|
||||
try:
|
||||
return SmsReceiver(
|
||||
name=type_properties[0],
|
||||
country_code=type_properties[1],
|
||||
phone_number=type_properties[2]
|
||||
)
|
||||
except IndexError:
|
||||
raise CLIError('usage error: --action sms NAME COUNTRY_CODE PHONE_NUMBER')
|
||||
elif type_name == 'webhook':
|
||||
return WebhookReceiver(name=type_properties[0], service_uri=type_properties[1])
|
||||
try:
|
||||
return WebhookReceiver(name=type_properties[0], service_uri=type_properties[1])
|
||||
except IndexError:
|
||||
raise CLIError('usage error: --action webhook NAME URI')
|
||||
else:
|
||||
raise ValueError('usage error: the type "{}" is not recognizable.'.format(type_name))
|
||||
|
|
|
@ -11,7 +11,8 @@ def load_command_table(self, _):
|
|||
|
||||
from ._client_factory import (
|
||||
cf_alert_rules, cf_metrics, cf_metric_def, cf_alert_rule_incidents, cf_log_profiles, cf_autoscale,
|
||||
cf_diagnostics, cf_activity_log, cf_action_groups, cf_activity_log_alerts, cf_event_categories)
|
||||
cf_diagnostics, cf_activity_log, cf_action_groups, cf_activity_log_alerts, cf_event_categories,
|
||||
cf_metric_alerts)
|
||||
from ._exception_handler import monitor_exception_handler, missing_resource_handler
|
||||
from .transformers import (action_group_list_table)
|
||||
from .validators import process_autoscale_create_namespace
|
||||
|
@ -96,6 +97,11 @@ def load_command_table(self, _):
|
|||
client_factory=cf_alert_rules,
|
||||
exception_handler=monitor_exception_handler)
|
||||
|
||||
metric_alert_sdk = CliCommandType(
|
||||
operations_tmpl='azure.mgmt.monitor.operations.metric_alerts_operations#MetricAlertsOperations.{}',
|
||||
client_factory=cf_metric_alerts,
|
||||
exception_handler=monitor_exception_handler)
|
||||
|
||||
metric_definitions_sdk = CliCommandType(
|
||||
operations_tmpl='azure.mgmt.monitor.operations.metric_definitions_operations#MetricDefinitionsOperations.{}',
|
||||
client_factory=cf_metric_def,
|
||||
|
@ -125,7 +131,7 @@ def load_command_table(self, _):
|
|||
g.custom_command('scope add', 'add_scope')
|
||||
g.custom_command('scope remove', 'remove_scope')
|
||||
|
||||
with self.command_group('monitor alert', alert_sdk, custom_command_type=alert_custom) as g:
|
||||
with self.command_group('monitor alert', alert_sdk, custom_command_type=alert_custom, deprecate_info=self.deprecate(redirect='monitor metrics alert', hide='2.0.44')) as g:
|
||||
g.custom_command('create', 'create_metric_rule')
|
||||
g.command('delete', 'delete')
|
||||
g.show_command('show', 'get')
|
||||
|
@ -187,3 +193,10 @@ def load_command_table(self, _):
|
|||
from .transformers import metrics_table, metrics_definitions_table
|
||||
g.command('list', 'list', command_type=metric_operations_sdk, table_transformer=metrics_table)
|
||||
g.command('list-definitions', 'list', command_type=metric_definitions_sdk, table_transformer=metrics_definitions_table)
|
||||
|
||||
with self.command_group('monitor metrics alert', metric_alert_sdk, custom_command_type=alert_custom, client_factory=cf_metric_alerts) as g:
|
||||
g.custom_command('create', 'create_metric_alert', custom_command_type=alert_custom)
|
||||
g.command('delete', 'delete')
|
||||
g.custom_command('list', 'list_metric_alerts', custom_command_type=alert_custom)
|
||||
g.command('show', 'get')
|
||||
g.generic_update_command('update', custom_func_name='update_metric_alert', custom_func_type=alert_custom)
|
||||
|
|
|
@ -0,0 +1,71 @@
|
|||
/* PARSER RULES */
|
||||
|
||||
grammar MetricAlertCondition ;
|
||||
|
||||
/* Main Rules */
|
||||
|
||||
expression : aggregation (namespace '.')* (QUOTE metric QUOTE WHITESPACE | metric) operator threshold (WHITESPACE dimensions)* NEWLINE* ;
|
||||
|
||||
aggregation : WORD WHITESPACE ;
|
||||
|
||||
namespace : WORD ;
|
||||
|
||||
metric : (WORD | WHITESPACE)+;
|
||||
|
||||
operator : OPERATOR WHITESPACE ;
|
||||
|
||||
threshold : NUMBER ;
|
||||
|
||||
/* Dimensions */
|
||||
|
||||
where : WHERE WHITESPACE ;
|
||||
|
||||
dimensions : where dimension (dim_separator dimension)* ;
|
||||
|
||||
dimension : dim_name dim_operator dim_values ;
|
||||
|
||||
dim_separator : (AND | ',') WHITESPACE ;
|
||||
|
||||
dim_operator : (INCLUDES | EXCLUDES) WHITESPACE ;
|
||||
|
||||
dim_val_separator : (OR | ',') WHITESPACE ;
|
||||
|
||||
dim_name : WORD WHITESPACE ;
|
||||
|
||||
dim_values : dim_value (dim_val_separator dim_value)* ;
|
||||
|
||||
dim_value : (NUMBER | WORD | WHITESPACE)+ ;
|
||||
|
||||
/* LEXER RULES */
|
||||
|
||||
fragment A : ('a'|'A') ;
|
||||
fragment C : ('c'|'C') ;
|
||||
fragment D : ('d'|'D') ;
|
||||
fragment E : ('e'|'E') ;
|
||||
fragment H : ('h'|'H') ;
|
||||
fragment I : ('i'|'I') ;
|
||||
fragment L : ('l'|'L') ;
|
||||
fragment N : ('n'|'N') ;
|
||||
fragment O : ('o'|'O') ;
|
||||
fragment R : ('r'|'R') ;
|
||||
fragment S : ('s'|'S') ;
|
||||
fragment U : ('u'|'U') ;
|
||||
fragment W : ('w'|'W') ;
|
||||
fragment X : ('x'|'X') ;
|
||||
|
||||
fragment DIGIT : [0-9] ;
|
||||
fragment LOWERCASE : [a-z] ;
|
||||
fragment UPPERCASE : [A-Z] ;
|
||||
|
||||
WHERE : W H E R E ;
|
||||
AND : A N D ;
|
||||
INCLUDES : I N C L U D E S ;
|
||||
EXCLUDES : E X C L U D E S ;
|
||||
OR : O R ;
|
||||
|
||||
OPERATOR : ('<' | '<=' | '=' | '>=' | '>' | '!=') ;
|
||||
NUMBER : DIGIT+ ([.,] DIGIT+)? ;
|
||||
QUOTE : ('\'' | '"') ;
|
||||
WHITESPACE : (' ' | '\t')+ ;
|
||||
NEWLINE : ('\r'? '\n' | '\r')+ ;
|
||||
WORD : (LOWERCASE | UPPERCASE | DIGIT | '_')+ ;
|
|
@ -0,0 +1,15 @@
|
|||
T__0=1
|
||||
T__1=2
|
||||
WHERE=3
|
||||
AND=4
|
||||
IN=5
|
||||
IS=6
|
||||
OR=7
|
||||
OPERATOR=8
|
||||
NUMBER=9
|
||||
QUOTE=10
|
||||
WHITESPACE=11
|
||||
NEWLINE=12
|
||||
WORD=13
|
||||
'.'=1
|
||||
','=2
|
|
@ -0,0 +1,141 @@
|
|||
# --------------------------------------------------------------------------------------------
|
||||
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
# Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
# --------------------------------------------------------------------------------------------
|
||||
|
||||
# pylint: disable=all
|
||||
|
||||
# Generated from MetricAlertCondition.g4 by ANTLR 4.7.1
|
||||
# encoding: utf-8
|
||||
from __future__ import print_function
|
||||
from antlr4 import *
|
||||
from io import StringIO
|
||||
import sys
|
||||
|
||||
|
||||
def serializedATN():
|
||||
with StringIO() as buf:
|
||||
buf.write(u"\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2")
|
||||
buf.write(u"\17\u00b4\b\1\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6")
|
||||
buf.write(u"\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t\13\4\f\t\f\4")
|
||||
buf.write(u"\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t")
|
||||
buf.write(u"\22\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27")
|
||||
buf.write(u"\4\30\t\30\4\31\t\31\4\32\t\32\4\33\t\33\4\34\t\34\4")
|
||||
buf.write(u"\35\t\35\4\36\t\36\4\37\t\37\3\2\3\2\3\3\3\3\3\4\3\4")
|
||||
buf.write(u"\3\5\3\5\3\6\3\6\3\7\3\7\3\b\3\b\3\t\3\t\3\n\3\n\3\13")
|
||||
buf.write(u"\3\13\3\f\3\f\3\r\3\r\3\16\3\16\3\17\3\17\3\20\3\20\3")
|
||||
buf.write(u"\21\3\21\3\22\3\22\3\23\3\23\3\24\3\24\3\25\3\25\3\25")
|
||||
buf.write(u"\3\25\3\25\3\25\3\26\3\26\3\26\3\26\3\27\3\27\3\27\3")
|
||||
buf.write(u"\27\3\27\3\27\3\27\3\27\3\27\3\30\3\30\3\30\3\30\3\30")
|
||||
buf.write(u"\3\30\3\30\3\30\3\30\3\31\3\31\3\31\3\32\3\32\3\32\3")
|
||||
buf.write(u"\32\3\32\3\32\3\32\3\32\3\32\5\32\u008e\n\32\3\33\6\33")
|
||||
buf.write(u"\u0091\n\33\r\33\16\33\u0092\3\33\3\33\6\33\u0097\n\33")
|
||||
buf.write(u"\r\33\16\33\u0098\5\33\u009b\n\33\3\34\3\34\3\35\6\35")
|
||||
buf.write(u"\u00a0\n\35\r\35\16\35\u00a1\3\36\5\36\u00a5\n\36\3\36")
|
||||
buf.write(u"\3\36\6\36\u00a9\n\36\r\36\16\36\u00aa\3\37\3\37\3\37")
|
||||
buf.write(u"\3\37\6\37\u00b1\n\37\r\37\16\37\u00b2\2\2 \3\3\5\4\7")
|
||||
buf.write(u"\2\t\2\13\2\r\2\17\2\21\2\23\2\25\2\27\2\31\2\33\2\35")
|
||||
buf.write(u"\2\37\2!\2#\2%\2\'\2)\5+\6-\7/\b\61\t\63\n\65\13\67\f")
|
||||
buf.write(u"9\r;\16=\17\3\2\26\4\2CCcc\4\2EEee\4\2FFff\4\2GGgg\4")
|
||||
buf.write(u"\2JJjj\4\2KKkk\4\2NNnn\4\2PPpp\4\2QQqq\4\2TTtt\4\2UU")
|
||||
buf.write(u"uu\4\2WWww\4\2YYyy\4\2ZZzz\3\2\62;\3\2c|\3\2C\\\4\2.")
|
||||
buf.write(u".\60\60\4\2$$))\4\2\13\13\"\"\2\u00b2\2\3\3\2\2\2\2\5")
|
||||
buf.write(u"\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2/\3\2\2\2")
|
||||
buf.write(u"\2\61\3\2\2\2\2\63\3\2\2\2\2\65\3\2\2\2\2\67\3\2\2\2")
|
||||
buf.write(u"\29\3\2\2\2\2;\3\2\2\2\2=\3\2\2\2\3?\3\2\2\2\5A\3\2\2")
|
||||
buf.write(u"\2\7C\3\2\2\2\tE\3\2\2\2\13G\3\2\2\2\rI\3\2\2\2\17K\3")
|
||||
buf.write(u"\2\2\2\21M\3\2\2\2\23O\3\2\2\2\25Q\3\2\2\2\27S\3\2\2")
|
||||
buf.write(u"\2\31U\3\2\2\2\33W\3\2\2\2\35Y\3\2\2\2\37[\3\2\2\2!]")
|
||||
buf.write(u"\3\2\2\2#_\3\2\2\2%a\3\2\2\2\'c\3\2\2\2)e\3\2\2\2+k\3")
|
||||
buf.write(u"\2\2\2-o\3\2\2\2/x\3\2\2\2\61\u0081\3\2\2\2\63\u008d")
|
||||
buf.write(u"\3\2\2\2\65\u0090\3\2\2\2\67\u009c\3\2\2\29\u009f\3\2")
|
||||
buf.write(u"\2\2;\u00a8\3\2\2\2=\u00b0\3\2\2\2?@\7\60\2\2@\4\3\2")
|
||||
buf.write(u"\2\2AB\7.\2\2B\6\3\2\2\2CD\t\2\2\2D\b\3\2\2\2EF\t\3\2")
|
||||
buf.write(u"\2F\n\3\2\2\2GH\t\4\2\2H\f\3\2\2\2IJ\t\5\2\2J\16\3\2")
|
||||
buf.write(u"\2\2KL\t\6\2\2L\20\3\2\2\2MN\t\7\2\2N\22\3\2\2\2OP\t")
|
||||
buf.write(u"\b\2\2P\24\3\2\2\2QR\t\t\2\2R\26\3\2\2\2ST\t\n\2\2T\30")
|
||||
buf.write(u"\3\2\2\2UV\t\13\2\2V\32\3\2\2\2WX\t\f\2\2X\34\3\2\2\2")
|
||||
buf.write(u"YZ\t\r\2\2Z\36\3\2\2\2[\\\t\16\2\2\\ \3\2\2\2]^\t\17")
|
||||
buf.write(u"\2\2^\"\3\2\2\2_`\t\20\2\2`$\3\2\2\2ab\t\21\2\2b&\3\2")
|
||||
buf.write(u"\2\2cd\t\22\2\2d(\3\2\2\2ef\5\37\20\2fg\5\17\b\2gh\5")
|
||||
buf.write(u"\r\7\2hi\5\31\r\2ij\5\r\7\2j*\3\2\2\2kl\5\7\4\2lm\5\25")
|
||||
buf.write(u"\13\2mn\5\13\6\2n,\3\2\2\2op\5\21\t\2pq\5\25\13\2qr\5")
|
||||
buf.write(u"\t\5\2rs\5\23\n\2st\5\35\17\2tu\5\13\6\2uv\5\r\7\2vw")
|
||||
buf.write(u"\5\33\16\2w.\3\2\2\2xy\5\r\7\2yz\5!\21\2z{\5\t\5\2{|")
|
||||
buf.write(u"\5\23\n\2|}\5\35\17\2}~\5\13\6\2~\177\5\r\7\2\177\u0080")
|
||||
buf.write(u"\5\33\16\2\u0080\60\3\2\2\2\u0081\u0082\5\27\f\2\u0082")
|
||||
buf.write(u"\u0083\5\31\r\2\u0083\62\3\2\2\2\u0084\u008e\7>\2\2\u0085")
|
||||
buf.write(u"\u0086\7>\2\2\u0086\u008e\7?\2\2\u0087\u008e\7?\2\2\u0088")
|
||||
buf.write(u"\u0089\7@\2\2\u0089\u008e\7?\2\2\u008a\u008e\7@\2\2\u008b")
|
||||
buf.write(u"\u008c\7#\2\2\u008c\u008e\7?\2\2\u008d\u0084\3\2\2\2")
|
||||
buf.write(u"\u008d\u0085\3\2\2\2\u008d\u0087\3\2\2\2\u008d\u0088")
|
||||
buf.write(u"\3\2\2\2\u008d\u008a\3\2\2\2\u008d\u008b\3\2\2\2\u008e")
|
||||
buf.write(u"\64\3\2\2\2\u008f\u0091\5#\22\2\u0090\u008f\3\2\2\2\u0091")
|
||||
buf.write(u"\u0092\3\2\2\2\u0092\u0090\3\2\2\2\u0092\u0093\3\2\2")
|
||||
buf.write(u"\2\u0093\u009a\3\2\2\2\u0094\u0096\t\23\2\2\u0095\u0097")
|
||||
buf.write(u"\5#\22\2\u0096\u0095\3\2\2\2\u0097\u0098\3\2\2\2\u0098")
|
||||
buf.write(u"\u0096\3\2\2\2\u0098\u0099\3\2\2\2\u0099\u009b\3\2\2")
|
||||
buf.write(u"\2\u009a\u0094\3\2\2\2\u009a\u009b\3\2\2\2\u009b\66\3")
|
||||
buf.write(u"\2\2\2\u009c\u009d\t\24\2\2\u009d8\3\2\2\2\u009e\u00a0")
|
||||
buf.write(u"\t\25\2\2\u009f\u009e\3\2\2\2\u00a0\u00a1\3\2\2\2\u00a1")
|
||||
buf.write(u"\u009f\3\2\2\2\u00a1\u00a2\3\2\2\2\u00a2:\3\2\2\2\u00a3")
|
||||
buf.write(u"\u00a5\7\17\2\2\u00a4\u00a3\3\2\2\2\u00a4\u00a5\3\2\2")
|
||||
buf.write(u"\2\u00a5\u00a6\3\2\2\2\u00a6\u00a9\7\f\2\2\u00a7\u00a9")
|
||||
buf.write(u"\7\17\2\2\u00a8\u00a4\3\2\2\2\u00a8\u00a7\3\2\2\2\u00a9")
|
||||
buf.write(u"\u00aa\3\2\2\2\u00aa\u00a8\3\2\2\2\u00aa\u00ab\3\2\2")
|
||||
buf.write(u"\2\u00ab<\3\2\2\2\u00ac\u00b1\5%\23\2\u00ad\u00b1\5\'")
|
||||
buf.write(u"\24\2\u00ae\u00b1\5#\22\2\u00af\u00b1\7a\2\2\u00b0\u00ac")
|
||||
buf.write(u"\3\2\2\2\u00b0\u00ad\3\2\2\2\u00b0\u00ae\3\2\2\2\u00b0")
|
||||
buf.write(u"\u00af\3\2\2\2\u00b1\u00b2\3\2\2\2\u00b2\u00b0\3\2\2")
|
||||
buf.write(u"\2\u00b2\u00b3\3\2\2\2\u00b3>\3\2\2\2\r\2\u008d\u0092")
|
||||
buf.write(u"\u0098\u009a\u00a1\u00a4\u00a8\u00aa\u00b0\u00b2\2")
|
||||
return buf.getvalue()
|
||||
|
||||
|
||||
class MetricAlertConditionLexer(Lexer):
|
||||
|
||||
atn = ATNDeserializer().deserialize(serializedATN())
|
||||
|
||||
decisionsToDFA = [ DFA(ds, i) for i, ds in enumerate(atn.decisionToState) ]
|
||||
|
||||
T__0 = 1
|
||||
T__1 = 2
|
||||
WHERE = 3
|
||||
AND = 4
|
||||
INCLUDES = 5
|
||||
EXCLUDES = 6
|
||||
OR = 7
|
||||
OPERATOR = 8
|
||||
NUMBER = 9
|
||||
QUOTE = 10
|
||||
WHITESPACE = 11
|
||||
NEWLINE = 12
|
||||
WORD = 13
|
||||
|
||||
channelNames = [ u"DEFAULT_TOKEN_CHANNEL", u"HIDDEN" ]
|
||||
|
||||
modeNames = [ u"DEFAULT_MODE" ]
|
||||
|
||||
literalNames = [ u"<INVALID>",
|
||||
u"'.'", u"','" ]
|
||||
|
||||
symbolicNames = [ u"<INVALID>",
|
||||
u"WHERE", u"AND", u"INCLUDES", u"EXCLUDES", u"OR", u"OPERATOR",
|
||||
u"NUMBER", u"QUOTE", u"WHITESPACE", u"NEWLINE", u"WORD" ]
|
||||
|
||||
ruleNames = [ u"T__0", u"T__1", u"A", u"C", u"D", u"E", u"H", u"I",
|
||||
u"L", u"N", u"O", u"R", u"S", u"U", u"W", u"X", u"DIGIT",
|
||||
u"LOWERCASE", u"UPPERCASE", u"WHERE", u"AND", u"INCLUDES",
|
||||
u"EXCLUDES", u"OR", u"OPERATOR", u"NUMBER", u"QUOTE",
|
||||
u"WHITESPACE", u"NEWLINE", u"WORD" ]
|
||||
|
||||
grammarFileName = u"MetricAlertCondition.g4"
|
||||
|
||||
def __init__(self, input=None, output=sys.stdout):
|
||||
super(MetricAlertConditionLexer, self).__init__(input, output=output)
|
||||
self.checkVersion("4.7.1")
|
||||
self._interp = LexerATNSimulator(self, self.atn, self.decisionsToDFA, PredictionContextCache())
|
||||
self._actions = None
|
||||
self._predicates = None
|
||||
|
||||
|
|
@ -0,0 +1,148 @@
|
|||
# --------------------------------------------------------------------------------------------
|
||||
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
# Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
# --------------------------------------------------------------------------------------------
|
||||
|
||||
# pylint: disable=all
|
||||
|
||||
# Generated from MetricAlertCondition.g4 by ANTLR 4.7.1
|
||||
from antlr4 import *
|
||||
|
||||
# This class defines a complete listener for a parse tree produced by MetricAlertConditionParser.
|
||||
class MetricAlertConditionListener(ParseTreeListener):
|
||||
|
||||
# Enter a parse tree produced by MetricAlertConditionParser#expression.
|
||||
def enterExpression(self, ctx):
|
||||
pass
|
||||
|
||||
# Exit a parse tree produced by MetricAlertConditionParser#expression.
|
||||
def exitExpression(self, ctx):
|
||||
pass
|
||||
|
||||
|
||||
# Enter a parse tree produced by MetricAlertConditionParser#aggregation.
|
||||
def enterAggregation(self, ctx):
|
||||
pass
|
||||
|
||||
# Exit a parse tree produced by MetricAlertConditionParser#aggregation.
|
||||
def exitAggregation(self, ctx):
|
||||
pass
|
||||
|
||||
|
||||
# Enter a parse tree produced by MetricAlertConditionParser#namespace.
|
||||
def enterNamespace(self, ctx):
|
||||
pass
|
||||
|
||||
# Exit a parse tree produced by MetricAlertConditionParser#namespace.
|
||||
def exitNamespace(self, ctx):
|
||||
pass
|
||||
|
||||
|
||||
# Enter a parse tree produced by MetricAlertConditionParser#metric.
|
||||
def enterMetric(self, ctx):
|
||||
pass
|
||||
|
||||
# Exit a parse tree produced by MetricAlertConditionParser#metric.
|
||||
def exitMetric(self, ctx):
|
||||
pass
|
||||
|
||||
|
||||
# Enter a parse tree produced by MetricAlertConditionParser#operator.
|
||||
def enterOperator(self, ctx):
|
||||
pass
|
||||
|
||||
# Exit a parse tree produced by MetricAlertConditionParser#operator.
|
||||
def exitOperator(self, ctx):
|
||||
pass
|
||||
|
||||
|
||||
# Enter a parse tree produced by MetricAlertConditionParser#threshold.
|
||||
def enterThreshold(self, ctx):
|
||||
pass
|
||||
|
||||
# Exit a parse tree produced by MetricAlertConditionParser#threshold.
|
||||
def exitThreshold(self, ctx):
|
||||
pass
|
||||
|
||||
|
||||
# Enter a parse tree produced by MetricAlertConditionParser#where.
|
||||
def enterWhere(self, ctx):
|
||||
pass
|
||||
|
||||
# Exit a parse tree produced by MetricAlertConditionParser#where.
|
||||
def exitWhere(self, ctx):
|
||||
pass
|
||||
|
||||
|
||||
# Enter a parse tree produced by MetricAlertConditionParser#dimensions.
|
||||
def enterDimensions(self, ctx):
|
||||
pass
|
||||
|
||||
# Exit a parse tree produced by MetricAlertConditionParser#dimensions.
|
||||
def exitDimensions(self, ctx):
|
||||
pass
|
||||
|
||||
|
||||
# Enter a parse tree produced by MetricAlertConditionParser#dimension.
|
||||
def enterDimension(self, ctx):
|
||||
pass
|
||||
|
||||
# Exit a parse tree produced by MetricAlertConditionParser#dimension.
|
||||
def exitDimension(self, ctx):
|
||||
pass
|
||||
|
||||
|
||||
# Enter a parse tree produced by MetricAlertConditionParser#dim_separator.
|
||||
def enterDim_separator(self, ctx):
|
||||
pass
|
||||
|
||||
# Exit a parse tree produced by MetricAlertConditionParser#dim_separator.
|
||||
def exitDim_separator(self, ctx):
|
||||
pass
|
||||
|
||||
|
||||
# Enter a parse tree produced by MetricAlertConditionParser#dim_operator.
|
||||
def enterDim_operator(self, ctx):
|
||||
pass
|
||||
|
||||
# Exit a parse tree produced by MetricAlertConditionParser#dim_operator.
|
||||
def exitDim_operator(self, ctx):
|
||||
pass
|
||||
|
||||
|
||||
# Enter a parse tree produced by MetricAlertConditionParser#dim_val_separator.
|
||||
def enterDim_val_separator(self, ctx):
|
||||
pass
|
||||
|
||||
# Exit a parse tree produced by MetricAlertConditionParser#dim_val_separator.
|
||||
def exitDim_val_separator(self, ctx):
|
||||
pass
|
||||
|
||||
|
||||
# Enter a parse tree produced by MetricAlertConditionParser#dim_name.
|
||||
def enterDim_name(self, ctx):
|
||||
pass
|
||||
|
||||
# Exit a parse tree produced by MetricAlertConditionParser#dim_name.
|
||||
def exitDim_name(self, ctx):
|
||||
pass
|
||||
|
||||
|
||||
# Enter a parse tree produced by MetricAlertConditionParser#dim_values.
|
||||
def enterDim_values(self, ctx):
|
||||
pass
|
||||
|
||||
# Exit a parse tree produced by MetricAlertConditionParser#dim_values.
|
||||
def exitDim_values(self, ctx):
|
||||
pass
|
||||
|
||||
|
||||
# Enter a parse tree produced by MetricAlertConditionParser#dim_value.
|
||||
def enterDim_value(self, ctx):
|
||||
pass
|
||||
|
||||
# Exit a parse tree produced by MetricAlertConditionParser#dim_value.
|
||||
def exitDim_value(self, ctx):
|
||||
pass
|
||||
|
||||
|
|
@ -0,0 +1,992 @@
|
|||
# --------------------------------------------------------------------------------------------
|
||||
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
# Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
# --------------------------------------------------------------------------------------------
|
||||
|
||||
# pylint: disable=all
|
||||
|
||||
# Generated from MetricAlertCondition.g4 by ANTLR 4.7.1
|
||||
# encoding: utf-8
|
||||
from __future__ import print_function
|
||||
from antlr4 import *
|
||||
from io import StringIO
|
||||
import sys
|
||||
|
||||
def serializedATN():
|
||||
with StringIO() as buf:
|
||||
buf.write(u"\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3")
|
||||
buf.write(u"\17{\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7")
|
||||
buf.write(u"\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t\13\4\f\t\f\4\r\t\r\4")
|
||||
buf.write(u"\16\t\16\4\17\t\17\4\20\t\20\3\2\3\2\3\2\3\2\7\2%\n\2")
|
||||
buf.write(u"\f\2\16\2(\13\2\3\2\3\2\3\2\3\2\3\2\3\2\5\2\60\n\2\3")
|
||||
buf.write(u"\2\3\2\3\2\3\2\7\2\66\n\2\f\2\16\29\13\2\3\2\7\2<\n\2")
|
||||
buf.write(u"\f\2\16\2?\13\2\3\3\3\3\3\3\3\4\3\4\3\5\6\5G\n\5\r\5")
|
||||
buf.write(u"\16\5H\3\6\3\6\3\6\3\7\3\7\3\b\3\b\3\b\3\t\3\t\3\t\3")
|
||||
buf.write(u"\t\3\t\7\tX\n\t\f\t\16\t[\13\t\3\n\3\n\3\n\3\n\3\13\3")
|
||||
buf.write(u"\13\3\13\3\f\3\f\3\f\3\r\3\r\3\r\3\16\3\16\3\16\3\17")
|
||||
buf.write(u"\3\17\3\17\3\17\7\17q\n\17\f\17\16\17t\13\17\3\20\6\20")
|
||||
buf.write(u"w\n\20\r\20\16\20x\3\20\2\2\21\2\4\6\b\n\f\16\20\22\24")
|
||||
buf.write(u"\26\30\32\34\36\2\7\4\2\r\r\17\17\4\2\4\4\6\6\3\2\7\b")
|
||||
buf.write(u"\4\2\4\4\t\t\5\2\13\13\r\r\17\17\2s\2 \3\2\2\2\4@\3\2")
|
||||
buf.write(u"\2\2\6C\3\2\2\2\bF\3\2\2\2\nJ\3\2\2\2\fM\3\2\2\2\16O")
|
||||
buf.write(u"\3\2\2\2\20R\3\2\2\2\22\\\3\2\2\2\24`\3\2\2\2\26c\3\2")
|
||||
buf.write(u"\2\2\30f\3\2\2\2\32i\3\2\2\2\34l\3\2\2\2\36v\3\2\2\2")
|
||||
buf.write(u" &\5\4\3\2!\"\5\6\4\2\"#\7\3\2\2#%\3\2\2\2$!\3\2\2\2")
|
||||
buf.write(u"%(\3\2\2\2&$\3\2\2\2&\'\3\2\2\2\'/\3\2\2\2(&\3\2\2\2")
|
||||
buf.write(u")*\7\f\2\2*+\5\b\5\2+,\7\f\2\2,-\7\r\2\2-\60\3\2\2\2")
|
||||
buf.write(u".\60\5\b\5\2/)\3\2\2\2/.\3\2\2\2\60\61\3\2\2\2\61\62")
|
||||
buf.write(u"\5\n\6\2\62\67\5\f\7\2\63\64\7\r\2\2\64\66\5\20\t\2\65")
|
||||
buf.write(u"\63\3\2\2\2\669\3\2\2\2\67\65\3\2\2\2\678\3\2\2\28=\3")
|
||||
buf.write(u"\2\2\29\67\3\2\2\2:<\7\16\2\2;:\3\2\2\2<?\3\2\2\2=;\3")
|
||||
buf.write(u"\2\2\2=>\3\2\2\2>\3\3\2\2\2?=\3\2\2\2@A\7\17\2\2AB\7")
|
||||
buf.write(u"\r\2\2B\5\3\2\2\2CD\7\17\2\2D\7\3\2\2\2EG\t\2\2\2FE\3")
|
||||
buf.write(u"\2\2\2GH\3\2\2\2HF\3\2\2\2HI\3\2\2\2I\t\3\2\2\2JK\7\n")
|
||||
buf.write(u"\2\2KL\7\r\2\2L\13\3\2\2\2MN\7\13\2\2N\r\3\2\2\2OP\7")
|
||||
buf.write(u"\5\2\2PQ\7\r\2\2Q\17\3\2\2\2RS\5\16\b\2SY\5\22\n\2TU")
|
||||
buf.write(u"\5\24\13\2UV\5\22\n\2VX\3\2\2\2WT\3\2\2\2X[\3\2\2\2Y")
|
||||
buf.write(u"W\3\2\2\2YZ\3\2\2\2Z\21\3\2\2\2[Y\3\2\2\2\\]\5\32\16")
|
||||
buf.write(u"\2]^\5\26\f\2^_\5\34\17\2_\23\3\2\2\2`a\t\3\2\2ab\7\r")
|
||||
buf.write(u"\2\2b\25\3\2\2\2cd\t\4\2\2de\7\r\2\2e\27\3\2\2\2fg\t")
|
||||
buf.write(u"\5\2\2gh\7\r\2\2h\31\3\2\2\2ij\7\17\2\2jk\7\r\2\2k\33")
|
||||
buf.write(u"\3\2\2\2lr\5\36\20\2mn\5\30\r\2no\5\36\20\2oq\3\2\2\2")
|
||||
buf.write(u"pm\3\2\2\2qt\3\2\2\2rp\3\2\2\2rs\3\2\2\2s\35\3\2\2\2")
|
||||
buf.write(u"tr\3\2\2\2uw\t\6\2\2vu\3\2\2\2wx\3\2\2\2xv\3\2\2\2xy")
|
||||
buf.write(u"\3\2\2\2y\37\3\2\2\2\n&/\67=HYrx")
|
||||
return buf.getvalue()
|
||||
|
||||
|
||||
class MetricAlertConditionParser ( Parser ):
|
||||
|
||||
grammarFileName = "MetricAlertCondition.g4"
|
||||
|
||||
atn = ATNDeserializer().deserialize(serializedATN())
|
||||
|
||||
decisionsToDFA = [ DFA(ds, i) for i, ds in enumerate(atn.decisionToState) ]
|
||||
|
||||
sharedContextCache = PredictionContextCache()
|
||||
|
||||
literalNames = [ u"<INVALID>", u"'.'", u"','" ]
|
||||
|
||||
symbolicNames = [ u"<INVALID>", u"<INVALID>", u"<INVALID>", u"WHERE",
|
||||
u"AND", u"INCLUDES", u"EXCLUDES", u"OR", u"OPERATOR",
|
||||
u"NUMBER", u"QUOTE", u"WHITESPACE", u"NEWLINE", u"WORD" ]
|
||||
|
||||
RULE_expression = 0
|
||||
RULE_aggregation = 1
|
||||
RULE_namespace = 2
|
||||
RULE_metric = 3
|
||||
RULE_operator = 4
|
||||
RULE_threshold = 5
|
||||
RULE_where = 6
|
||||
RULE_dimensions = 7
|
||||
RULE_dimension = 8
|
||||
RULE_dim_separator = 9
|
||||
RULE_dim_operator = 10
|
||||
RULE_dim_val_separator = 11
|
||||
RULE_dim_name = 12
|
||||
RULE_dim_values = 13
|
||||
RULE_dim_value = 14
|
||||
|
||||
ruleNames = [ u"expression", u"aggregation", u"namespace", u"metric",
|
||||
u"operator", u"threshold", u"where", u"dimensions", u"dimension",
|
||||
u"dim_separator", u"dim_operator", u"dim_val_separator",
|
||||
u"dim_name", u"dim_values", u"dim_value" ]
|
||||
|
||||
EOF = Token.EOF
|
||||
T__0=1
|
||||
T__1=2
|
||||
WHERE=3
|
||||
AND=4
|
||||
INCLUDES=5
|
||||
EXCLUDES=6
|
||||
OR=7
|
||||
OPERATOR=8
|
||||
NUMBER=9
|
||||
QUOTE=10
|
||||
WHITESPACE=11
|
||||
NEWLINE=12
|
||||
WORD=13
|
||||
|
||||
def __init__(self, input, output=sys.stdout):
|
||||
super(MetricAlertConditionParser, self).__init__(input, output=output)
|
||||
self.checkVersion("4.7.1")
|
||||
self._interp = ParserATNSimulator(self, self.atn, self.decisionsToDFA, self.sharedContextCache)
|
||||
self._predicates = None
|
||||
|
||||
|
||||
|
||||
class ExpressionContext(ParserRuleContext):
|
||||
|
||||
def __init__(self, parser, parent=None, invokingState=-1):
|
||||
super(MetricAlertConditionParser.ExpressionContext, self).__init__(parent, invokingState)
|
||||
self.parser = parser
|
||||
|
||||
def aggregation(self):
|
||||
return self.getTypedRuleContext(MetricAlertConditionParser.AggregationContext,0)
|
||||
|
||||
|
||||
def operator(self):
|
||||
return self.getTypedRuleContext(MetricAlertConditionParser.OperatorContext,0)
|
||||
|
||||
|
||||
def threshold(self):
|
||||
return self.getTypedRuleContext(MetricAlertConditionParser.ThresholdContext,0)
|
||||
|
||||
|
||||
def QUOTE(self, i=None):
|
||||
if i is None:
|
||||
return self.getTokens(MetricAlertConditionParser.QUOTE)
|
||||
else:
|
||||
return self.getToken(MetricAlertConditionParser.QUOTE, i)
|
||||
|
||||
def metric(self):
|
||||
return self.getTypedRuleContext(MetricAlertConditionParser.MetricContext,0)
|
||||
|
||||
|
||||
def WHITESPACE(self, i=None):
|
||||
if i is None:
|
||||
return self.getTokens(MetricAlertConditionParser.WHITESPACE)
|
||||
else:
|
||||
return self.getToken(MetricAlertConditionParser.WHITESPACE, i)
|
||||
|
||||
def namespace(self, i=None):
|
||||
if i is None:
|
||||
return self.getTypedRuleContexts(MetricAlertConditionParser.NamespaceContext)
|
||||
else:
|
||||
return self.getTypedRuleContext(MetricAlertConditionParser.NamespaceContext,i)
|
||||
|
||||
|
||||
def dimensions(self, i=None):
|
||||
if i is None:
|
||||
return self.getTypedRuleContexts(MetricAlertConditionParser.DimensionsContext)
|
||||
else:
|
||||
return self.getTypedRuleContext(MetricAlertConditionParser.DimensionsContext,i)
|
||||
|
||||
|
||||
def NEWLINE(self, i=None):
|
||||
if i is None:
|
||||
return self.getTokens(MetricAlertConditionParser.NEWLINE)
|
||||
else:
|
||||
return self.getToken(MetricAlertConditionParser.NEWLINE, i)
|
||||
|
||||
def getRuleIndex(self):
|
||||
return MetricAlertConditionParser.RULE_expression
|
||||
|
||||
def enterRule(self, listener):
|
||||
if hasattr(listener, "enterExpression"):
|
||||
listener.enterExpression(self)
|
||||
|
||||
def exitRule(self, listener):
|
||||
if hasattr(listener, "exitExpression"):
|
||||
listener.exitExpression(self)
|
||||
|
||||
|
||||
|
||||
|
||||
def expression(self):
|
||||
|
||||
localctx = MetricAlertConditionParser.ExpressionContext(self, self._ctx, self.state)
|
||||
self.enterRule(localctx, 0, self.RULE_expression)
|
||||
self._la = 0 # Token type
|
||||
try:
|
||||
self.enterOuterAlt(localctx, 1)
|
||||
self.state = 30
|
||||
self.aggregation()
|
||||
self.state = 36
|
||||
self._errHandler.sync(self)
|
||||
_alt = self._interp.adaptivePredict(self._input,0,self._ctx)
|
||||
while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER:
|
||||
if _alt==1:
|
||||
self.state = 31
|
||||
self.namespace()
|
||||
self.state = 32
|
||||
self.match(MetricAlertConditionParser.T__0)
|
||||
self.state = 38
|
||||
self._errHandler.sync(self)
|
||||
_alt = self._interp.adaptivePredict(self._input,0,self._ctx)
|
||||
|
||||
self.state = 45
|
||||
self._errHandler.sync(self)
|
||||
token = self._input.LA(1)
|
||||
if token in [MetricAlertConditionParser.QUOTE]:
|
||||
self.state = 39
|
||||
self.match(MetricAlertConditionParser.QUOTE)
|
||||
self.state = 40
|
||||
self.metric()
|
||||
self.state = 41
|
||||
self.match(MetricAlertConditionParser.QUOTE)
|
||||
self.state = 42
|
||||
self.match(MetricAlertConditionParser.WHITESPACE)
|
||||
pass
|
||||
elif token in [MetricAlertConditionParser.WHITESPACE, MetricAlertConditionParser.WORD]:
|
||||
self.state = 44
|
||||
self.metric()
|
||||
pass
|
||||
else:
|
||||
raise NoViableAltException(self)
|
||||
|
||||
self.state = 47
|
||||
self.operator()
|
||||
self.state = 48
|
||||
self.threshold()
|
||||
self.state = 53
|
||||
self._errHandler.sync(self)
|
||||
_la = self._input.LA(1)
|
||||
while _la==MetricAlertConditionParser.WHITESPACE:
|
||||
self.state = 49
|
||||
self.match(MetricAlertConditionParser.WHITESPACE)
|
||||
self.state = 50
|
||||
self.dimensions()
|
||||
self.state = 55
|
||||
self._errHandler.sync(self)
|
||||
_la = self._input.LA(1)
|
||||
|
||||
self.state = 59
|
||||
self._errHandler.sync(self)
|
||||
_la = self._input.LA(1)
|
||||
while _la==MetricAlertConditionParser.NEWLINE:
|
||||
self.state = 56
|
||||
self.match(MetricAlertConditionParser.NEWLINE)
|
||||
self.state = 61
|
||||
self._errHandler.sync(self)
|
||||
_la = self._input.LA(1)
|
||||
|
||||
except RecognitionException as re:
|
||||
localctx.exception = re
|
||||
self._errHandler.reportError(self, re)
|
||||
self._errHandler.recover(self, re)
|
||||
finally:
|
||||
self.exitRule()
|
||||
return localctx
|
||||
|
||||
class AggregationContext(ParserRuleContext):
|
||||
|
||||
def __init__(self, parser, parent=None, invokingState=-1):
|
||||
super(MetricAlertConditionParser.AggregationContext, self).__init__(parent, invokingState)
|
||||
self.parser = parser
|
||||
|
||||
def WORD(self):
|
||||
return self.getToken(MetricAlertConditionParser.WORD, 0)
|
||||
|
||||
def WHITESPACE(self):
|
||||
return self.getToken(MetricAlertConditionParser.WHITESPACE, 0)
|
||||
|
||||
def getRuleIndex(self):
|
||||
return MetricAlertConditionParser.RULE_aggregation
|
||||
|
||||
def enterRule(self, listener):
|
||||
if hasattr(listener, "enterAggregation"):
|
||||
listener.enterAggregation(self)
|
||||
|
||||
def exitRule(self, listener):
|
||||
if hasattr(listener, "exitAggregation"):
|
||||
listener.exitAggregation(self)
|
||||
|
||||
|
||||
|
||||
|
||||
def aggregation(self):
|
||||
|
||||
localctx = MetricAlertConditionParser.AggregationContext(self, self._ctx, self.state)
|
||||
self.enterRule(localctx, 2, self.RULE_aggregation)
|
||||
try:
|
||||
self.enterOuterAlt(localctx, 1)
|
||||
self.state = 62
|
||||
self.match(MetricAlertConditionParser.WORD)
|
||||
self.state = 63
|
||||
self.match(MetricAlertConditionParser.WHITESPACE)
|
||||
except RecognitionException as re:
|
||||
localctx.exception = re
|
||||
self._errHandler.reportError(self, re)
|
||||
self._errHandler.recover(self, re)
|
||||
finally:
|
||||
self.exitRule()
|
||||
return localctx
|
||||
|
||||
class NamespaceContext(ParserRuleContext):
|
||||
|
||||
def __init__(self, parser, parent=None, invokingState=-1):
|
||||
super(MetricAlertConditionParser.NamespaceContext, self).__init__(parent, invokingState)
|
||||
self.parser = parser
|
||||
|
||||
def WORD(self):
|
||||
return self.getToken(MetricAlertConditionParser.WORD, 0)
|
||||
|
||||
def getRuleIndex(self):
|
||||
return MetricAlertConditionParser.RULE_namespace
|
||||
|
||||
def enterRule(self, listener):
|
||||
if hasattr(listener, "enterNamespace"):
|
||||
listener.enterNamespace(self)
|
||||
|
||||
def exitRule(self, listener):
|
||||
if hasattr(listener, "exitNamespace"):
|
||||
listener.exitNamespace(self)
|
||||
|
||||
|
||||
|
||||
|
||||
def namespace(self):
|
||||
|
||||
localctx = MetricAlertConditionParser.NamespaceContext(self, self._ctx, self.state)
|
||||
self.enterRule(localctx, 4, self.RULE_namespace)
|
||||
try:
|
||||
self.enterOuterAlt(localctx, 1)
|
||||
self.state = 65
|
||||
self.match(MetricAlertConditionParser.WORD)
|
||||
except RecognitionException as re:
|
||||
localctx.exception = re
|
||||
self._errHandler.reportError(self, re)
|
||||
self._errHandler.recover(self, re)
|
||||
finally:
|
||||
self.exitRule()
|
||||
return localctx
|
||||
|
||||
class MetricContext(ParserRuleContext):
|
||||
|
||||
def __init__(self, parser, parent=None, invokingState=-1):
|
||||
super(MetricAlertConditionParser.MetricContext, self).__init__(parent, invokingState)
|
||||
self.parser = parser
|
||||
|
||||
def WORD(self, i=None):
|
||||
if i is None:
|
||||
return self.getTokens(MetricAlertConditionParser.WORD)
|
||||
else:
|
||||
return self.getToken(MetricAlertConditionParser.WORD, i)
|
||||
|
||||
def WHITESPACE(self, i=None):
|
||||
if i is None:
|
||||
return self.getTokens(MetricAlertConditionParser.WHITESPACE)
|
||||
else:
|
||||
return self.getToken(MetricAlertConditionParser.WHITESPACE, i)
|
||||
|
||||
def getRuleIndex(self):
|
||||
return MetricAlertConditionParser.RULE_metric
|
||||
|
||||
def enterRule(self, listener):
|
||||
if hasattr(listener, "enterMetric"):
|
||||
listener.enterMetric(self)
|
||||
|
||||
def exitRule(self, listener):
|
||||
if hasattr(listener, "exitMetric"):
|
||||
listener.exitMetric(self)
|
||||
|
||||
|
||||
|
||||
|
||||
def metric(self):
|
||||
|
||||
localctx = MetricAlertConditionParser.MetricContext(self, self._ctx, self.state)
|
||||
self.enterRule(localctx, 6, self.RULE_metric)
|
||||
self._la = 0 # Token type
|
||||
try:
|
||||
self.enterOuterAlt(localctx, 1)
|
||||
self.state = 68
|
||||
self._errHandler.sync(self)
|
||||
_la = self._input.LA(1)
|
||||
while True:
|
||||
self.state = 67
|
||||
_la = self._input.LA(1)
|
||||
if not(_la==MetricAlertConditionParser.WHITESPACE or _la==MetricAlertConditionParser.WORD):
|
||||
self._errHandler.recoverInline(self)
|
||||
else:
|
||||
self._errHandler.reportMatch(self)
|
||||
self.consume()
|
||||
self.state = 70
|
||||
self._errHandler.sync(self)
|
||||
_la = self._input.LA(1)
|
||||
if not (_la==MetricAlertConditionParser.WHITESPACE or _la==MetricAlertConditionParser.WORD):
|
||||
break
|
||||
|
||||
except RecognitionException as re:
|
||||
localctx.exception = re
|
||||
self._errHandler.reportError(self, re)
|
||||
self._errHandler.recover(self, re)
|
||||
finally:
|
||||
self.exitRule()
|
||||
return localctx
|
||||
|
||||
class OperatorContext(ParserRuleContext):
|
||||
|
||||
def __init__(self, parser, parent=None, invokingState=-1):
|
||||
super(MetricAlertConditionParser.OperatorContext, self).__init__(parent, invokingState)
|
||||
self.parser = parser
|
||||
|
||||
def OPERATOR(self):
|
||||
return self.getToken(MetricAlertConditionParser.OPERATOR, 0)
|
||||
|
||||
def WHITESPACE(self):
|
||||
return self.getToken(MetricAlertConditionParser.WHITESPACE, 0)
|
||||
|
||||
def getRuleIndex(self):
|
||||
return MetricAlertConditionParser.RULE_operator
|
||||
|
||||
def enterRule(self, listener):
|
||||
if hasattr(listener, "enterOperator"):
|
||||
listener.enterOperator(self)
|
||||
|
||||
def exitRule(self, listener):
|
||||
if hasattr(listener, "exitOperator"):
|
||||
listener.exitOperator(self)
|
||||
|
||||
|
||||
|
||||
|
||||
def operator(self):
|
||||
|
||||
localctx = MetricAlertConditionParser.OperatorContext(self, self._ctx, self.state)
|
||||
self.enterRule(localctx, 8, self.RULE_operator)
|
||||
try:
|
||||
self.enterOuterAlt(localctx, 1)
|
||||
self.state = 72
|
||||
self.match(MetricAlertConditionParser.OPERATOR)
|
||||
self.state = 73
|
||||
self.match(MetricAlertConditionParser.WHITESPACE)
|
||||
except RecognitionException as re:
|
||||
localctx.exception = re
|
||||
self._errHandler.reportError(self, re)
|
||||
self._errHandler.recover(self, re)
|
||||
finally:
|
||||
self.exitRule()
|
||||
return localctx
|
||||
|
||||
class ThresholdContext(ParserRuleContext):
|
||||
|
||||
def __init__(self, parser, parent=None, invokingState=-1):
|
||||
super(MetricAlertConditionParser.ThresholdContext, self).__init__(parent, invokingState)
|
||||
self.parser = parser
|
||||
|
||||
def NUMBER(self):
|
||||
return self.getToken(MetricAlertConditionParser.NUMBER, 0)
|
||||
|
||||
def getRuleIndex(self):
|
||||
return MetricAlertConditionParser.RULE_threshold
|
||||
|
||||
def enterRule(self, listener):
|
||||
if hasattr(listener, "enterThreshold"):
|
||||
listener.enterThreshold(self)
|
||||
|
||||
def exitRule(self, listener):
|
||||
if hasattr(listener, "exitThreshold"):
|
||||
listener.exitThreshold(self)
|
||||
|
||||
|
||||
|
||||
|
||||
def threshold(self):
|
||||
|
||||
localctx = MetricAlertConditionParser.ThresholdContext(self, self._ctx, self.state)
|
||||
self.enterRule(localctx, 10, self.RULE_threshold)
|
||||
try:
|
||||
self.enterOuterAlt(localctx, 1)
|
||||
self.state = 75
|
||||
self.match(MetricAlertConditionParser.NUMBER)
|
||||
except RecognitionException as re:
|
||||
localctx.exception = re
|
||||
self._errHandler.reportError(self, re)
|
||||
self._errHandler.recover(self, re)
|
||||
finally:
|
||||
self.exitRule()
|
||||
return localctx
|
||||
|
||||
class WhereContext(ParserRuleContext):
|
||||
|
||||
def __init__(self, parser, parent=None, invokingState=-1):
|
||||
super(MetricAlertConditionParser.WhereContext, self).__init__(parent, invokingState)
|
||||
self.parser = parser
|
||||
|
||||
def WHERE(self):
|
||||
return self.getToken(MetricAlertConditionParser.WHERE, 0)
|
||||
|
||||
def WHITESPACE(self):
|
||||
return self.getToken(MetricAlertConditionParser.WHITESPACE, 0)
|
||||
|
||||
def getRuleIndex(self):
|
||||
return MetricAlertConditionParser.RULE_where
|
||||
|
||||
def enterRule(self, listener):
|
||||
if hasattr(listener, "enterWhere"):
|
||||
listener.enterWhere(self)
|
||||
|
||||
def exitRule(self, listener):
|
||||
if hasattr(listener, "exitWhere"):
|
||||
listener.exitWhere(self)
|
||||
|
||||
|
||||
|
||||
|
||||
def where(self):
|
||||
|
||||
localctx = MetricAlertConditionParser.WhereContext(self, self._ctx, self.state)
|
||||
self.enterRule(localctx, 12, self.RULE_where)
|
||||
try:
|
||||
self.enterOuterAlt(localctx, 1)
|
||||
self.state = 77
|
||||
self.match(MetricAlertConditionParser.WHERE)
|
||||
self.state = 78
|
||||
self.match(MetricAlertConditionParser.WHITESPACE)
|
||||
except RecognitionException as re:
|
||||
localctx.exception = re
|
||||
self._errHandler.reportError(self, re)
|
||||
self._errHandler.recover(self, re)
|
||||
finally:
|
||||
self.exitRule()
|
||||
return localctx
|
||||
|
||||
class DimensionsContext(ParserRuleContext):
|
||||
|
||||
def __init__(self, parser, parent=None, invokingState=-1):
|
||||
super(MetricAlertConditionParser.DimensionsContext, self).__init__(parent, invokingState)
|
||||
self.parser = parser
|
||||
|
||||
def where(self):
|
||||
return self.getTypedRuleContext(MetricAlertConditionParser.WhereContext,0)
|
||||
|
||||
|
||||
def dimension(self, i=None):
|
||||
if i is None:
|
||||
return self.getTypedRuleContexts(MetricAlertConditionParser.DimensionContext)
|
||||
else:
|
||||
return self.getTypedRuleContext(MetricAlertConditionParser.DimensionContext,i)
|
||||
|
||||
|
||||
def dim_separator(self, i=None):
|
||||
if i is None:
|
||||
return self.getTypedRuleContexts(MetricAlertConditionParser.Dim_separatorContext)
|
||||
else:
|
||||
return self.getTypedRuleContext(MetricAlertConditionParser.Dim_separatorContext,i)
|
||||
|
||||
|
||||
def getRuleIndex(self):
|
||||
return MetricAlertConditionParser.RULE_dimensions
|
||||
|
||||
def enterRule(self, listener):
|
||||
if hasattr(listener, "enterDimensions"):
|
||||
listener.enterDimensions(self)
|
||||
|
||||
def exitRule(self, listener):
|
||||
if hasattr(listener, "exitDimensions"):
|
||||
listener.exitDimensions(self)
|
||||
|
||||
|
||||
|
||||
|
||||
def dimensions(self):
|
||||
|
||||
localctx = MetricAlertConditionParser.DimensionsContext(self, self._ctx, self.state)
|
||||
self.enterRule(localctx, 14, self.RULE_dimensions)
|
||||
self._la = 0 # Token type
|
||||
try:
|
||||
self.enterOuterAlt(localctx, 1)
|
||||
self.state = 80
|
||||
self.where()
|
||||
self.state = 81
|
||||
self.dimension()
|
||||
self.state = 87
|
||||
self._errHandler.sync(self)
|
||||
_la = self._input.LA(1)
|
||||
while _la==MetricAlertConditionParser.T__1 or _la==MetricAlertConditionParser.AND:
|
||||
self.state = 82
|
||||
self.dim_separator()
|
||||
self.state = 83
|
||||
self.dimension()
|
||||
self.state = 89
|
||||
self._errHandler.sync(self)
|
||||
_la = self._input.LA(1)
|
||||
|
||||
except RecognitionException as re:
|
||||
localctx.exception = re
|
||||
self._errHandler.reportError(self, re)
|
||||
self._errHandler.recover(self, re)
|
||||
finally:
|
||||
self.exitRule()
|
||||
return localctx
|
||||
|
||||
class DimensionContext(ParserRuleContext):
|
||||
|
||||
def __init__(self, parser, parent=None, invokingState=-1):
|
||||
super(MetricAlertConditionParser.DimensionContext, self).__init__(parent, invokingState)
|
||||
self.parser = parser
|
||||
|
||||
def dim_name(self):
|
||||
return self.getTypedRuleContext(MetricAlertConditionParser.Dim_nameContext,0)
|
||||
|
||||
|
||||
def dim_operator(self):
|
||||
return self.getTypedRuleContext(MetricAlertConditionParser.Dim_operatorContext,0)
|
||||
|
||||
|
||||
def dim_values(self):
|
||||
return self.getTypedRuleContext(MetricAlertConditionParser.Dim_valuesContext,0)
|
||||
|
||||
|
||||
def getRuleIndex(self):
|
||||
return MetricAlertConditionParser.RULE_dimension
|
||||
|
||||
def enterRule(self, listener):
|
||||
if hasattr(listener, "enterDimension"):
|
||||
listener.enterDimension(self)
|
||||
|
||||
def exitRule(self, listener):
|
||||
if hasattr(listener, "exitDimension"):
|
||||
listener.exitDimension(self)
|
||||
|
||||
|
||||
|
||||
|
||||
def dimension(self):
|
||||
|
||||
localctx = MetricAlertConditionParser.DimensionContext(self, self._ctx, self.state)
|
||||
self.enterRule(localctx, 16, self.RULE_dimension)
|
||||
try:
|
||||
self.enterOuterAlt(localctx, 1)
|
||||
self.state = 90
|
||||
self.dim_name()
|
||||
self.state = 91
|
||||
self.dim_operator()
|
||||
self.state = 92
|
||||
self.dim_values()
|
||||
except RecognitionException as re:
|
||||
localctx.exception = re
|
||||
self._errHandler.reportError(self, re)
|
||||
self._errHandler.recover(self, re)
|
||||
finally:
|
||||
self.exitRule()
|
||||
return localctx
|
||||
|
||||
class Dim_separatorContext(ParserRuleContext):
|
||||
|
||||
def __init__(self, parser, parent=None, invokingState=-1):
|
||||
super(MetricAlertConditionParser.Dim_separatorContext, self).__init__(parent, invokingState)
|
||||
self.parser = parser
|
||||
|
||||
def WHITESPACE(self):
|
||||
return self.getToken(MetricAlertConditionParser.WHITESPACE, 0)
|
||||
|
||||
def AND(self):
|
||||
return self.getToken(MetricAlertConditionParser.AND, 0)
|
||||
|
||||
def getRuleIndex(self):
|
||||
return MetricAlertConditionParser.RULE_dim_separator
|
||||
|
||||
def enterRule(self, listener):
|
||||
if hasattr(listener, "enterDim_separator"):
|
||||
listener.enterDim_separator(self)
|
||||
|
||||
def exitRule(self, listener):
|
||||
if hasattr(listener, "exitDim_separator"):
|
||||
listener.exitDim_separator(self)
|
||||
|
||||
|
||||
|
||||
|
||||
def dim_separator(self):
|
||||
|
||||
localctx = MetricAlertConditionParser.Dim_separatorContext(self, self._ctx, self.state)
|
||||
self.enterRule(localctx, 18, self.RULE_dim_separator)
|
||||
self._la = 0 # Token type
|
||||
try:
|
||||
self.enterOuterAlt(localctx, 1)
|
||||
self.state = 94
|
||||
_la = self._input.LA(1)
|
||||
if not(_la==MetricAlertConditionParser.T__1 or _la==MetricAlertConditionParser.AND):
|
||||
self._errHandler.recoverInline(self)
|
||||
else:
|
||||
self._errHandler.reportMatch(self)
|
||||
self.consume()
|
||||
self.state = 95
|
||||
self.match(MetricAlertConditionParser.WHITESPACE)
|
||||
except RecognitionException as re:
|
||||
localctx.exception = re
|
||||
self._errHandler.reportError(self, re)
|
||||
self._errHandler.recover(self, re)
|
||||
finally:
|
||||
self.exitRule()
|
||||
return localctx
|
||||
|
||||
class Dim_operatorContext(ParserRuleContext):
|
||||
|
||||
def __init__(self, parser, parent=None, invokingState=-1):
|
||||
super(MetricAlertConditionParser.Dim_operatorContext, self).__init__(parent, invokingState)
|
||||
self.parser = parser
|
||||
|
||||
def WHITESPACE(self):
|
||||
return self.getToken(MetricAlertConditionParser.WHITESPACE, 0)
|
||||
|
||||
def INCLUDES(self):
|
||||
return self.getToken(MetricAlertConditionParser.INCLUDES, 0)
|
||||
|
||||
def EXCLUDES(self):
|
||||
return self.getToken(MetricAlertConditionParser.EXCLUDES, 0)
|
||||
|
||||
def getRuleIndex(self):
|
||||
return MetricAlertConditionParser.RULE_dim_operator
|
||||
|
||||
def enterRule(self, listener):
|
||||
if hasattr(listener, "enterDim_operator"):
|
||||
listener.enterDim_operator(self)
|
||||
|
||||
def exitRule(self, listener):
|
||||
if hasattr(listener, "exitDim_operator"):
|
||||
listener.exitDim_operator(self)
|
||||
|
||||
|
||||
|
||||
|
||||
def dim_operator(self):
|
||||
|
||||
localctx = MetricAlertConditionParser.Dim_operatorContext(self, self._ctx, self.state)
|
||||
self.enterRule(localctx, 20, self.RULE_dim_operator)
|
||||
self._la = 0 # Token type
|
||||
try:
|
||||
self.enterOuterAlt(localctx, 1)
|
||||
self.state = 97
|
||||
_la = self._input.LA(1)
|
||||
if not(_la==MetricAlertConditionParser.INCLUDES or _la==MetricAlertConditionParser.EXCLUDES):
|
||||
self._errHandler.recoverInline(self)
|
||||
else:
|
||||
self._errHandler.reportMatch(self)
|
||||
self.consume()
|
||||
self.state = 98
|
||||
self.match(MetricAlertConditionParser.WHITESPACE)
|
||||
except RecognitionException as re:
|
||||
localctx.exception = re
|
||||
self._errHandler.reportError(self, re)
|
||||
self._errHandler.recover(self, re)
|
||||
finally:
|
||||
self.exitRule()
|
||||
return localctx
|
||||
|
||||
class Dim_val_separatorContext(ParserRuleContext):
|
||||
|
||||
def __init__(self, parser, parent=None, invokingState=-1):
|
||||
super(MetricAlertConditionParser.Dim_val_separatorContext, self).__init__(parent, invokingState)
|
||||
self.parser = parser
|
||||
|
||||
def WHITESPACE(self):
|
||||
return self.getToken(MetricAlertConditionParser.WHITESPACE, 0)
|
||||
|
||||
def OR(self):
|
||||
return self.getToken(MetricAlertConditionParser.OR, 0)
|
||||
|
||||
def getRuleIndex(self):
|
||||
return MetricAlertConditionParser.RULE_dim_val_separator
|
||||
|
||||
def enterRule(self, listener):
|
||||
if hasattr(listener, "enterDim_val_separator"):
|
||||
listener.enterDim_val_separator(self)
|
||||
|
||||
def exitRule(self, listener):
|
||||
if hasattr(listener, "exitDim_val_separator"):
|
||||
listener.exitDim_val_separator(self)
|
||||
|
||||
|
||||
|
||||
|
||||
def dim_val_separator(self):
|
||||
|
||||
localctx = MetricAlertConditionParser.Dim_val_separatorContext(self, self._ctx, self.state)
|
||||
self.enterRule(localctx, 22, self.RULE_dim_val_separator)
|
||||
self._la = 0 # Token type
|
||||
try:
|
||||
self.enterOuterAlt(localctx, 1)
|
||||
self.state = 100
|
||||
_la = self._input.LA(1)
|
||||
if not(_la==MetricAlertConditionParser.T__1 or _la==MetricAlertConditionParser.OR):
|
||||
self._errHandler.recoverInline(self)
|
||||
else:
|
||||
self._errHandler.reportMatch(self)
|
||||
self.consume()
|
||||
self.state = 101
|
||||
self.match(MetricAlertConditionParser.WHITESPACE)
|
||||
except RecognitionException as re:
|
||||
localctx.exception = re
|
||||
self._errHandler.reportError(self, re)
|
||||
self._errHandler.recover(self, re)
|
||||
finally:
|
||||
self.exitRule()
|
||||
return localctx
|
||||
|
||||
class Dim_nameContext(ParserRuleContext):
|
||||
|
||||
def __init__(self, parser, parent=None, invokingState=-1):
|
||||
super(MetricAlertConditionParser.Dim_nameContext, self).__init__(parent, invokingState)
|
||||
self.parser = parser
|
||||
|
||||
def WORD(self):
|
||||
return self.getToken(MetricAlertConditionParser.WORD, 0)
|
||||
|
||||
def WHITESPACE(self):
|
||||
return self.getToken(MetricAlertConditionParser.WHITESPACE, 0)
|
||||
|
||||
def getRuleIndex(self):
|
||||
return MetricAlertConditionParser.RULE_dim_name
|
||||
|
||||
def enterRule(self, listener):
|
||||
if hasattr(listener, "enterDim_name"):
|
||||
listener.enterDim_name(self)
|
||||
|
||||
def exitRule(self, listener):
|
||||
if hasattr(listener, "exitDim_name"):
|
||||
listener.exitDim_name(self)
|
||||
|
||||
|
||||
|
||||
|
||||
def dim_name(self):
|
||||
|
||||
localctx = MetricAlertConditionParser.Dim_nameContext(self, self._ctx, self.state)
|
||||
self.enterRule(localctx, 24, self.RULE_dim_name)
|
||||
try:
|
||||
self.enterOuterAlt(localctx, 1)
|
||||
self.state = 103
|
||||
self.match(MetricAlertConditionParser.WORD)
|
||||
self.state = 104
|
||||
self.match(MetricAlertConditionParser.WHITESPACE)
|
||||
except RecognitionException as re:
|
||||
localctx.exception = re
|
||||
self._errHandler.reportError(self, re)
|
||||
self._errHandler.recover(self, re)
|
||||
finally:
|
||||
self.exitRule()
|
||||
return localctx
|
||||
|
||||
class Dim_valuesContext(ParserRuleContext):
|
||||
|
||||
def __init__(self, parser, parent=None, invokingState=-1):
|
||||
super(MetricAlertConditionParser.Dim_valuesContext, self).__init__(parent, invokingState)
|
||||
self.parser = parser
|
||||
|
||||
def dim_value(self, i=None):
|
||||
if i is None:
|
||||
return self.getTypedRuleContexts(MetricAlertConditionParser.Dim_valueContext)
|
||||
else:
|
||||
return self.getTypedRuleContext(MetricAlertConditionParser.Dim_valueContext,i)
|
||||
|
||||
|
||||
def dim_val_separator(self, i=None):
|
||||
if i is None:
|
||||
return self.getTypedRuleContexts(MetricAlertConditionParser.Dim_val_separatorContext)
|
||||
else:
|
||||
return self.getTypedRuleContext(MetricAlertConditionParser.Dim_val_separatorContext,i)
|
||||
|
||||
|
||||
def getRuleIndex(self):
|
||||
return MetricAlertConditionParser.RULE_dim_values
|
||||
|
||||
def enterRule(self, listener):
|
||||
if hasattr(listener, "enterDim_values"):
|
||||
listener.enterDim_values(self)
|
||||
|
||||
def exitRule(self, listener):
|
||||
if hasattr(listener, "exitDim_values"):
|
||||
listener.exitDim_values(self)
|
||||
|
||||
|
||||
|
||||
|
||||
def dim_values(self):
|
||||
|
||||
localctx = MetricAlertConditionParser.Dim_valuesContext(self, self._ctx, self.state)
|
||||
self.enterRule(localctx, 26, self.RULE_dim_values)
|
||||
try:
|
||||
self.enterOuterAlt(localctx, 1)
|
||||
self.state = 106
|
||||
self.dim_value()
|
||||
self.state = 112
|
||||
self._errHandler.sync(self)
|
||||
_alt = self._interp.adaptivePredict(self._input,6,self._ctx)
|
||||
while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER:
|
||||
if _alt==1:
|
||||
self.state = 107
|
||||
self.dim_val_separator()
|
||||
self.state = 108
|
||||
self.dim_value()
|
||||
self.state = 114
|
||||
self._errHandler.sync(self)
|
||||
_alt = self._interp.adaptivePredict(self._input,6,self._ctx)
|
||||
|
||||
except RecognitionException as re:
|
||||
localctx.exception = re
|
||||
self._errHandler.reportError(self, re)
|
||||
self._errHandler.recover(self, re)
|
||||
finally:
|
||||
self.exitRule()
|
||||
return localctx
|
||||
|
||||
class Dim_valueContext(ParserRuleContext):
|
||||
|
||||
def __init__(self, parser, parent=None, invokingState=-1):
|
||||
super(MetricAlertConditionParser.Dim_valueContext, self).__init__(parent, invokingState)
|
||||
self.parser = parser
|
||||
|
||||
def NUMBER(self, i=None):
|
||||
if i is None:
|
||||
return self.getTokens(MetricAlertConditionParser.NUMBER)
|
||||
else:
|
||||
return self.getToken(MetricAlertConditionParser.NUMBER, i)
|
||||
|
||||
def WORD(self, i=None):
|
||||
if i is None:
|
||||
return self.getTokens(MetricAlertConditionParser.WORD)
|
||||
else:
|
||||
return self.getToken(MetricAlertConditionParser.WORD, i)
|
||||
|
||||
def WHITESPACE(self, i=None):
|
||||
if i is None:
|
||||
return self.getTokens(MetricAlertConditionParser.WHITESPACE)
|
||||
else:
|
||||
return self.getToken(MetricAlertConditionParser.WHITESPACE, i)
|
||||
|
||||
def getRuleIndex(self):
|
||||
return MetricAlertConditionParser.RULE_dim_value
|
||||
|
||||
def enterRule(self, listener):
|
||||
if hasattr(listener, "enterDim_value"):
|
||||
listener.enterDim_value(self)
|
||||
|
||||
def exitRule(self, listener):
|
||||
if hasattr(listener, "exitDim_value"):
|
||||
listener.exitDim_value(self)
|
||||
|
||||
|
||||
|
||||
|
||||
def dim_value(self):
|
||||
|
||||
localctx = MetricAlertConditionParser.Dim_valueContext(self, self._ctx, self.state)
|
||||
self.enterRule(localctx, 28, self.RULE_dim_value)
|
||||
self._la = 0 # Token type
|
||||
try:
|
||||
self.enterOuterAlt(localctx, 1)
|
||||
self.state = 116
|
||||
self._errHandler.sync(self)
|
||||
_alt = 1
|
||||
while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER:
|
||||
if _alt == 1:
|
||||
self.state = 115
|
||||
_la = self._input.LA(1)
|
||||
if not((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << MetricAlertConditionParser.NUMBER) | (1 << MetricAlertConditionParser.WHITESPACE) | (1 << MetricAlertConditionParser.WORD))) != 0)):
|
||||
self._errHandler.recoverInline(self)
|
||||
else:
|
||||
self._errHandler.reportMatch(self)
|
||||
self.consume()
|
||||
|
||||
else:
|
||||
raise NoViableAltException(self)
|
||||
self.state = 118
|
||||
self._errHandler.sync(self)
|
||||
_alt = self._interp.adaptivePredict(self._input,7,self._ctx)
|
||||
|
||||
except RecognitionException as re:
|
||||
localctx.exception = re
|
||||
self._errHandler.reportError(self, re)
|
||||
self._errHandler.recover(self, re)
|
||||
finally:
|
||||
self.exitRule()
|
||||
return localctx
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,90 @@
|
|||
# --------------------------------------------------------------------------------------------
|
||||
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
# Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
# --------------------------------------------------------------------------------------------
|
||||
|
||||
# Generated from MetricAlertCondition.g4 by ANTLR 4.7.1
|
||||
from .MetricAlertConditionListener import MetricAlertConditionListener
|
||||
|
||||
|
||||
op_conversion = {
|
||||
'=': 'Equals',
|
||||
'!=': 'NotEquals',
|
||||
'>': 'GreaterThan',
|
||||
'>=': 'GreaterThanOrEqual',
|
||||
'<': 'LessThan',
|
||||
'<=': 'LessThanOrEqual'
|
||||
}
|
||||
|
||||
agg_conversion = {
|
||||
'avg': 'Average',
|
||||
'min': 'Minimum',
|
||||
'max': 'Maximum',
|
||||
'total': 'Total'
|
||||
}
|
||||
|
||||
# This class defines a complete listener for a parse tree produced by MetricAlertConditionParser.
|
||||
class MetricAlertConditionValidator(MetricAlertConditionListener):
|
||||
|
||||
def __init__(self):
|
||||
super(MetricAlertConditionValidator, self).__init__()
|
||||
self.parameters = {}
|
||||
self._dimension_index = 0
|
||||
|
||||
# Exit a parse tree produced by MetricAlertConditionParser#aggregation.
|
||||
def exitAggregation(self, ctx):
|
||||
aggregation = agg_conversion[ctx.getText().strip()]
|
||||
self.parameters['time_aggregation'] = aggregation
|
||||
|
||||
# Exit a parse tree produced by MetricAlertConditionParser#namespace.
|
||||
def exitNamespace(self, ctx):
|
||||
self.parameters['metric_namespace'] = ctx.getText().strip()
|
||||
|
||||
# Exit a parse tree produced by MetricAlertConditionParser#metric.
|
||||
def exitMetric(self, ctx):
|
||||
self.parameters['metric_name'] = ctx.getText().strip()
|
||||
|
||||
# Exit a parse tree produced by MetricAlertConditionParser#operator.
|
||||
def exitOperator(self, ctx):
|
||||
operator = op_conversion[ctx.getText().strip()]
|
||||
self.parameters['operator'] = operator
|
||||
|
||||
# Exit a parse tree produced by MetricAlertConditionParser#threshold.
|
||||
def exitThreshold(self, ctx):
|
||||
self.parameters['threshold'] = ctx.getText().strip()
|
||||
|
||||
# Enter a parse tree produced by MetricAlertConditionParser#dimensions.
|
||||
def enterDimensions(self, ctx):
|
||||
self.parameters['dimensions'] = []
|
||||
|
||||
# Enter a parse tree produced by MetricAlertConditionParser#dimension.
|
||||
def enterDimension(self, ctx):
|
||||
self.parameters['dimensions'].append({})
|
||||
|
||||
# Exit a parse tree produced by MetricAlertConditionParser#dimension.
|
||||
def exitDimension(self, ctx):
|
||||
self._dimension_index = self._dimension_index + 1
|
||||
|
||||
# Exit a parse tree produced by MetricAlertConditionParser#dname.
|
||||
def exitDim_name(self, ctx):
|
||||
self.parameters['dimensions'][self._dimension_index]['name'] = ctx.getText().strip()
|
||||
|
||||
# Exit a parse tree produced by MetricAlertConditionParser#dop.
|
||||
def exitDim_operator(self, ctx):
|
||||
op_text = ctx.getText().strip()
|
||||
self.parameters['dimensions'][self._dimension_index]['operator'] = op_text.lower()
|
||||
|
||||
# Exit a parse tree produced by MetricAlertConditionParser#dvalues.
|
||||
def exitDim_values(self, ctx):
|
||||
dvalues = ctx.getText().strip().split(' ')
|
||||
self.parameters['dimensions'][self._dimension_index]['values'] = [x for x in dvalues if x not in ['', 'or']]
|
||||
|
||||
def result(self):
|
||||
from azure.mgmt.monitor.models import MetricCriteria, MetricDimension
|
||||
dim_params = self.parameters.get('dimensions', [])
|
||||
dimensions = []
|
||||
for dim in dim_params:
|
||||
dimensions.append(MetricDimension(**dim))
|
||||
self.parameters['dimensions'] = dimensions
|
||||
self.parameters['name'] = '' # will be auto-populated later
|
||||
return MetricCriteria(**self.parameters)
|
|
@ -0,0 +1,10 @@
|
|||
# --------------------------------------------------------------------------------------------
|
||||
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
# Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
# --------------------------------------------------------------------------------------------
|
||||
|
||||
# pylint: disable=unused-import
|
||||
from .MetricAlertConditionLexer import MetricAlertConditionLexer
|
||||
from .MetricAlertConditionParser import MetricAlertConditionParser
|
||||
from .MetricAlertConditionListener import MetricAlertConditionListener
|
||||
from .MetricAlertConditionValidator import MetricAlertConditionValidator
|
|
@ -0,0 +1,3 @@
|
|||
echo off
|
||||
echo Building MetricAlertCondition
|
||||
call antlr -Dlanguage=Python2 MetricAlertCondition.g4
|
|
@ -0,0 +1,5 @@
|
|||
echo off
|
||||
echo Testing MetricAlertCondition
|
||||
call antlr MetricAlertCondition.g4
|
||||
call javac Metric*.java
|
||||
call grun MetricAlertCondition expression test.txt -gui
|
|
@ -3,9 +3,97 @@
|
|||
# Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
# --------------------------------------------------------------------------------------------
|
||||
|
||||
from knack.log import get_logger
|
||||
|
||||
from azure.cli.command_modules.monitor.util import get_operator_map, get_aggregation_map
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
|
||||
def create_metric_alert(client, resource_group_name, rule_name, scopes, description, condition, disabled=False,
|
||||
tags=None, actions=None, severity=2, window_size='5m', evaluation_frequency='1m',
|
||||
auto_mitigate=None):
|
||||
from azure.mgmt.monitor.models import MetricAlertResource, MetricAlertSingleResourceMultipleMetricCriteria
|
||||
# generate names for the conditions
|
||||
for i, cond in enumerate(condition):
|
||||
cond.name = 'cond{}'.format(i)
|
||||
kwargs = {
|
||||
'description': description,
|
||||
'severity': severity,
|
||||
'enabled': not disabled,
|
||||
'scopes': scopes,
|
||||
'evaluation_frequency': evaluation_frequency,
|
||||
'window_size': window_size,
|
||||
'criteria': MetricAlertSingleResourceMultipleMetricCriteria(all_of=condition),
|
||||
'actions': actions,
|
||||
'tags': tags,
|
||||
'location': 'global',
|
||||
'auto_mitigate': auto_mitigate
|
||||
}
|
||||
return client.create_or_update(resource_group_name, rule_name, MetricAlertResource(**kwargs))
|
||||
|
||||
|
||||
def update_metric_alert(instance, scopes=None, description=None, enabled=None, tags=None,
|
||||
severity=None, window_size=None, evaluation_frequency=None, auto_mitigate=None,
|
||||
add_actions=None, remove_actions=None, add_conditions=None, remove_conditions=None):
|
||||
if scopes is not None:
|
||||
instance.scopes = scopes
|
||||
if description is not None:
|
||||
instance.description = description
|
||||
if enabled is not None:
|
||||
instance.enabled = enabled
|
||||
if tags is not None:
|
||||
instance.tags = tags
|
||||
if severity is not None:
|
||||
instance.severity = severity
|
||||
if window_size is not None:
|
||||
instance.window_size = window_size
|
||||
if evaluation_frequency is not None:
|
||||
instance.evaluation_frequency = evaluation_frequency
|
||||
if auto_mitigate is not None:
|
||||
instance.auto_mitigate = auto_mitigate
|
||||
|
||||
# process action removals
|
||||
if remove_actions is not None:
|
||||
instance.actions = [x for x in instance.actions if x.action_group_id not in remove_actions]
|
||||
|
||||
# process action additions
|
||||
if add_actions is not None:
|
||||
for action in add_actions:
|
||||
match = next((x for x in instance.actions if action.action_group_id == x.action_group_id), None)
|
||||
if match:
|
||||
match.webhook_properties = action.webhook_properties
|
||||
else:
|
||||
instance.actions.append(action)
|
||||
|
||||
# process condition removals
|
||||
if remove_conditions is not None:
|
||||
instance.criteria.all_of = [x for x in instance.criteria.all_of if x.name not in remove_conditions]
|
||||
|
||||
def _get_next_name():
|
||||
i = 0
|
||||
while True:
|
||||
possible_name = 'cond{}'.format(i)
|
||||
match = next((x for x in instance.criteria.all_of if x.name == possible_name), None)
|
||||
if match:
|
||||
i = i + 1
|
||||
continue
|
||||
return possible_name
|
||||
|
||||
# process condition additions
|
||||
if add_conditions is not None:
|
||||
for condition in add_conditions:
|
||||
condition.name = _get_next_name()
|
||||
instance.criteria.all_of.append(condition)
|
||||
|
||||
return instance
|
||||
|
||||
|
||||
def list_metric_alerts(client, resource_group_name=None):
|
||||
if resource_group_name:
|
||||
return client.list_by_resource_group(resource_group_name)
|
||||
return client.list_by_subscription()
|
||||
|
||||
|
||||
def create_metric_rule(client, resource_group_name, rule_name, target, condition, description=None, disabled=False,
|
||||
location=None, tags=None, email_service_owners=False, actions=None):
|
||||
|
|
|
@ -0,0 +1,553 @@
|
|||
interactions:
|
||||
- request:
|
||||
body: '{"location": "westus", "tags": {"product": "azurecli", "cause": "automation",
|
||||
"date": "2018-08-13T23:24:35Z"}}'
|
||||
headers:
|
||||
Accept: [application/json]
|
||||
Accept-Encoding: ['gzip, deflate']
|
||||
CommandName: [group create]
|
||||
Connection: [keep-alive]
|
||||
Content-Length: ['110']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 resourcemanagementclient/2.0.0 Azure-SDK-For-Python AZURECLI/2.0.44]
|
||||
accept-language: [en-US]
|
||||
method: PUT
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_metric_alert_v2000001?api-version=2018-05-01
|
||||
response:
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_metric_alert_v2000001","name":"cli_test_metric_alert_v2000001","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2018-08-13T23:24:35Z"},"properties":{"provisioningState":"Succeeded"}}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['384']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Mon, 13 Aug 2018 23:24:37 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
x-content-type-options: [nosniff]
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1199']
|
||||
status: {code: 201, message: Created}
|
||||
- request:
|
||||
body: '{"sku": {"name": "Standard_LRS"}, "kind": "Storage", "location": "westus",
|
||||
"properties": {"supportsHttpsTrafficOnly": false, "isHnsEnabled": false}}'
|
||||
headers:
|
||||
Accept: [application/json]
|
||||
Accept-Encoding: ['gzip, deflate']
|
||||
CommandName: [storage account create]
|
||||
Connection: [keep-alive]
|
||||
Content-Length: ['148']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-storage/2.0.0rc4 Azure-SDK-For-Python AZURECLI/2.0.44]
|
||||
accept-language: [en-US]
|
||||
method: PUT
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_metric_alert_v2000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2018-03-01-preview
|
||||
response:
|
||||
body: {string: ''}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['0']
|
||||
content-type: [text/plain; charset=utf-8]
|
||||
date: ['Mon, 13 Aug 2018 23:24:40 GMT']
|
||||
expires: ['-1']
|
||||
location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/a6f57ad7-8cb0-4ac7-a520-1e16f6239531?monitor=true&api-version=2018-03-01-preview']
|
||||
pragma: [no-cache]
|
||||
server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0
|
||||
Microsoft-HTTPAPI/2.0']
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
x-content-type-options: [nosniff]
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1198']
|
||||
status: {code: 202, message: Accepted}
|
||||
- request:
|
||||
body: null
|
||||
headers:
|
||||
Accept: [application/json]
|
||||
Accept-Encoding: ['gzip, deflate']
|
||||
CommandName: [storage account create]
|
||||
Connection: [keep-alive]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-storage/2.0.0rc4 Azure-SDK-For-Python AZURECLI/2.0.44]
|
||||
method: GET
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/a6f57ad7-8cb0-4ac7-a520-1e16f6239531?monitor=true&api-version=2018-03-01-preview
|
||||
response:
|
||||
body: {string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_metric_alert_v2000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"enabled":true,"lastEnabledTime":"2018-08-13T23:24:39.9662638Z"},"blob":{"enabled":true,"lastEnabledTime":"2018-08-13T23:24:39.9662638Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2018-08-13T23:24:39.8412539Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['1252']
|
||||
content-type: [application/json]
|
||||
date: ['Mon, 13 Aug 2018 23:24:56 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0
|
||||
Microsoft-HTTPAPI/2.0']
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
transfer-encoding: [chunked]
|
||||
vary: [Accept-Encoding]
|
||||
x-content-type-options: [nosniff]
|
||||
status: {code: 200, message: OK}
|
||||
- request:
|
||||
body: null
|
||||
headers:
|
||||
Accept: [application/json]
|
||||
Accept-Encoding: ['gzip, deflate']
|
||||
CommandName: [storage account keys list]
|
||||
Connection: [keep-alive]
|
||||
Content-Length: ['0']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-storage/2.0.0rc4 Azure-SDK-For-Python AZURECLI/2.0.44]
|
||||
accept-language: [en-US]
|
||||
method: POST
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_metric_alert_v2000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2018-03-01-preview
|
||||
response:
|
||||
body: {string: '{"keys":[{"keyName":"key1","value":"LwGSD1u4Aot4/e+bFn0SZqDg9S/CVrc2KKPA08nrHT/3x8aW6u84Eq7Fpb3I23Nggpg6sV+a38gnYT5yiwYzKA==","permissions":"FULL"},{"keyName":"key2","value":"arxAGN/ojPcAmdPcmvTrS+TWS1208Z3vNN3cXXUvbJ8w7r7sX+trJeCVA85kFLyHZ0liqsxQq5xrLZs2utT7Lg==","permissions":"FULL"}]}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['288']
|
||||
content-type: [application/json]
|
||||
date: ['Mon, 13 Aug 2018 23:24:57 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: ['Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0
|
||||
Microsoft-HTTPAPI/2.0']
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
transfer-encoding: [chunked]
|
||||
vary: [Accept-Encoding]
|
||||
x-content-type-options: [nosniff]
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1199']
|
||||
status: {code: 200, message: OK}
|
||||
- request:
|
||||
body: '{"location": "global", "properties": {"groupShortName": "ag1", "enabled":
|
||||
true, "emailReceivers": [], "smsReceivers": [], "webhookReceivers": []}}'
|
||||
headers:
|
||||
Accept: [application/json]
|
||||
Accept-Encoding: ['gzip, deflate']
|
||||
CommandName: [monitor action-group create]
|
||||
Connection: [keep-alive]
|
||||
Content-Length: ['146']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.44]
|
||||
accept-language: [en-US]
|
||||
method: PUT
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_metric_alert_v2000001/providers/microsoft.insights/actionGroups/ag1?api-version=2018-03-01
|
||||
response:
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_metric_alert_v2000001/providers/microsoft.insights/actionGroups/ag1","type":"Microsoft.Insights/ActionGroups","name":"ag1","location":"Global","kind":null,"tags":null,"properties":{"groupShortName":"ag1","enabled":true,"emailReceivers":[],"smsReceivers":[],"webhookReceivers":[],"itsmReceivers":[],"azureAppPushReceivers":[],"automationRunbookReceivers":[],"voiceReceivers":[],"logicAppReceivers":[],"azureFunctionReceivers":[]},"identity":null}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['573']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Mon, 13 Aug 2018 23:24:59 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
x-content-type-options: [nosniff]
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1196']
|
||||
status: {code: 201, message: Created}
|
||||
- request:
|
||||
body: '{"location": "global", "properties": {"groupShortName": "ag2", "enabled":
|
||||
true, "emailReceivers": [], "smsReceivers": [], "webhookReceivers": []}}'
|
||||
headers:
|
||||
Accept: [application/json]
|
||||
Accept-Encoding: ['gzip, deflate']
|
||||
CommandName: [monitor action-group create]
|
||||
Connection: [keep-alive]
|
||||
Content-Length: ['146']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.44]
|
||||
accept-language: [en-US]
|
||||
method: PUT
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_metric_alert_v2000001/providers/microsoft.insights/actionGroups/ag2?api-version=2018-03-01
|
||||
response:
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_metric_alert_v2000001/providers/microsoft.insights/actionGroups/ag2","type":"Microsoft.Insights/ActionGroups","name":"ag2","location":"Global","kind":null,"tags":null,"properties":{"groupShortName":"ag2","enabled":true,"emailReceivers":[],"smsReceivers":[],"webhookReceivers":[],"itsmReceivers":[],"azureAppPushReceivers":[],"automationRunbookReceivers":[],"voiceReceivers":[],"logicAppReceivers":[],"azureFunctionReceivers":[]},"identity":null}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['573']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Mon, 13 Aug 2018 23:25:01 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
x-content-type-options: [nosniff]
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1199']
|
||||
status: {code: 201, message: Created}
|
||||
- request:
|
||||
body: 'b''b\''{"location": "global", "properties": {"description": "Test", "severity":
|
||||
2, "enabled": true, "scopes": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_metric_alert_v2000001/providers/Microsoft.Storage/storageAccounts/clitest000002"],
|
||||
"evaluationFrequency": "PT1M", "windowSize": "PT5M", "criteria": {"odata.type":
|
||||
"Microsoft.Azure.Monitor.SingleResourceMultipleMetricCriteria", "allOf": [{"name":
|
||||
"cond0", "metricName": "transactions", "operator": "GreaterThan", "timeAggregation":
|
||||
"Total", "threshold": 5.0, "dimensions": [{"name": "ResponseType", "operator":
|
||||
"includes", "values": ["Success"]}, {"name": "ApiName", "operator": "includes",
|
||||
"values": ["GetBlob"]}]}, {"name": "cond1", "metricName": "SuccessE2ELatency",
|
||||
"operator": "GreaterThan", "timeAggregation": "Average", "threshold": 250.0,
|
||||
"dimensions": [{"name": "ApiName", "operator": "includes", "values": ["GetBlob",
|
||||
"PutBlob"]}]}]}, "actions": [{"actionGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_metric_alert_v2000001/providers/microsoft.insights/actionGroups/ag1"}]}}\'''''
|
||||
headers:
|
||||
Accept: [application/json]
|
||||
Accept-Encoding: ['gzip, deflate']
|
||||
CommandName: [monitor metrics alert create]
|
||||
Connection: [keep-alive]
|
||||
Content-Length: ['1205']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.44]
|
||||
accept-language: [en-US]
|
||||
method: PUT
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_metric_alert_v2000001/providers/Microsoft.Insights/metricAlerts/alert1?api-version=2018-03-01
|
||||
response:
|
||||
body: {string: "{\r\n \"location\": \"global\",\r\n \"type\": \"Microsoft.Insights/metricAlerts\",\r\n
|
||||
\ \"name\": \"alert1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_metric_alert_v2000001/providers/Microsoft.Insights/metricAlerts/alert1\",\r\n
|
||||
\ \"properties\": {\r\n \"description\": \"Test\",\r\n \"severity\":
|
||||
2,\r\n \"enabled\": true,\r\n \"scopes\": [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_metric_alert_v2000001/providers/Microsoft.Storage/storageAccounts/clitest000002\"\r\n
|
||||
\ ],\r\n \"evaluationFrequency\": \"PT1M\",\r\n \"windowSize\": \"PT5M\",\r\n
|
||||
\ \"templateType\": 8,\r\n \"criteria\": {\r\n \"allOf\": [\r\n
|
||||
\ {\r\n \"name\": \"cond0\",\r\n \"metricNamespace\":
|
||||
\"microsoft.storage/storageaccounts\",\r\n \"metricName\": \"transactions\",\r\n
|
||||
\ \"dimensions\": [\r\n {\r\n \"name\": \"ResponseType\",\r\n
|
||||
\ \"operator\": \"includes\",\r\n \"values\": [\r\n
|
||||
\ \"Success\"\r\n ]\r\n },\r\n {\r\n
|
||||
\ \"name\": \"ApiName\",\r\n \"operator\": \"includes\",\r\n
|
||||
\ \"values\": [\r\n \"GetBlob\"\r\n ]\r\n
|
||||
\ }\r\n ],\r\n \"operator\": \"GreaterThan\",\r\n
|
||||
\ \"threshold\": 5.0,\r\n \"timeAggregation\": \"Total\"\r\n
|
||||
\ },\r\n {\r\n \"name\": \"cond1\",\r\n \"metricNamespace\":
|
||||
\"microsoft.storage/storageaccounts\",\r\n \"metricName\": \"SuccessE2ELatency\",\r\n
|
||||
\ \"dimensions\": [\r\n {\r\n \"name\": \"ApiName\",\r\n
|
||||
\ \"operator\": \"includes\",\r\n \"values\": [\r\n
|
||||
\ \"GetBlob\",\r\n \"PutBlob\"\r\n ]\r\n
|
||||
\ }\r\n ],\r\n \"operator\": \"GreaterThan\",\r\n
|
||||
\ \"threshold\": 250.0,\r\n \"timeAggregation\": \"Average\"\r\n
|
||||
\ }\r\n ],\r\n \"odata.type\": \"Microsoft.Azure.Monitor.SingleResourceMultipleMetricCriteria\"\r\n
|
||||
\ },\r\n \"actions\": [\r\n {\r\n \"actionGroupId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_metric_alert_v2000001/providers/microsoft.insights/actionGroups/ag1\"\r\n
|
||||
\ }\r\n ]\r\n }\r\n}"}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['2300']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Mon, 13 Aug 2018 23:25:05 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/10.0]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
transfer-encoding: [chunked]
|
||||
vary: [Accept-Encoding]
|
||||
x-aspnet-version: [4.0.30319]
|
||||
x-content-type-options: [nosniff]
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1199']
|
||||
x-powered-by: [ASP.NET]
|
||||
status: {code: 200, message: OK}
|
||||
- request:
|
||||
body: null
|
||||
headers:
|
||||
Accept: [application/json]
|
||||
Accept-Encoding: ['gzip, deflate']
|
||||
CommandName: [monitor metrics alert update]
|
||||
Connection: [keep-alive]
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.44]
|
||||
accept-language: [en-US]
|
||||
method: GET
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_metric_alert_v2000001/providers/Microsoft.Insights/metricAlerts/alert1?api-version=2018-03-01
|
||||
response:
|
||||
body: {string: "{\r\n \"location\": \"global\",\r\n \"type\": \"Microsoft.Insights/metricAlerts\",\r\n
|
||||
\ \"name\": \"alert1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_metric_alert_v2000001/providers/Microsoft.Insights/metricAlerts/alert1\",\r\n
|
||||
\ \"properties\": {\r\n \"description\": \"Test\",\r\n \"severity\":
|
||||
2,\r\n \"enabled\": true,\r\n \"scopes\": [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_metric_alert_v2000001/providers/Microsoft.Storage/storageAccounts/clitest000002\"\r\n
|
||||
\ ],\r\n \"evaluationFrequency\": \"PT1M\",\r\n \"windowSize\": \"PT5M\",\r\n
|
||||
\ \"templateType\": 8,\r\n \"criteria\": {\r\n \"allOf\": [\r\n
|
||||
\ {\r\n \"name\": \"cond0\",\r\n \"metricNamespace\":
|
||||
\"microsoft.storage/storageaccounts\",\r\n \"metricName\": \"transactions\",\r\n
|
||||
\ \"dimensions\": [\r\n {\r\n \"name\": \"ResponseType\",\r\n
|
||||
\ \"operator\": \"includes\",\r\n \"values\": [\r\n
|
||||
\ \"Success\"\r\n ]\r\n },\r\n {\r\n
|
||||
\ \"name\": \"ApiName\",\r\n \"operator\": \"includes\",\r\n
|
||||
\ \"values\": [\r\n \"GetBlob\"\r\n ]\r\n
|
||||
\ }\r\n ],\r\n \"operator\": \"GreaterThan\",\r\n
|
||||
\ \"threshold\": 5.0,\r\n \"timeAggregation\": \"Total\"\r\n
|
||||
\ },\r\n {\r\n \"name\": \"cond1\",\r\n \"metricNamespace\":
|
||||
\"microsoft.storage/storageaccounts\",\r\n \"metricName\": \"SuccessE2ELatency\",\r\n
|
||||
\ \"dimensions\": [\r\n {\r\n \"name\": \"ApiName\",\r\n
|
||||
\ \"operator\": \"includes\",\r\n \"values\": [\r\n
|
||||
\ \"GetBlob\",\r\n \"PutBlob\"\r\n ]\r\n
|
||||
\ }\r\n ],\r\n \"operator\": \"GreaterThan\",\r\n
|
||||
\ \"threshold\": 250.0,\r\n \"timeAggregation\": \"Average\"\r\n
|
||||
\ }\r\n ],\r\n \"odata.type\": \"Microsoft.Azure.Monitor.SingleResourceMultipleMetricCriteria\"\r\n
|
||||
\ },\r\n \"actions\": [\r\n {\r\n \"actionGroupId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_metric_alert_v2000001/providers/microsoft.insights/actionGroups/ag1\"\r\n
|
||||
\ }\r\n ]\r\n }\r\n}"}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['2300']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Mon, 13 Aug 2018 23:25:06 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/10.0]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
transfer-encoding: [chunked]
|
||||
vary: [Accept-Encoding]
|
||||
x-aspnet-version: [4.0.30319]
|
||||
x-content-type-options: [nosniff]
|
||||
x-powered-by: [ASP.NET]
|
||||
status: {code: 200, message: OK}
|
||||
- request:
|
||||
body: 'b''b\''{"location": "global", "tags": {"foo": "boo"}, "properties": {"description":
|
||||
"alt desc", "severity": 3, "enabled": true, "scopes": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_metric_alert_v2000001/providers/Microsoft.Storage/storageAccounts/clitest000002"],
|
||||
"evaluationFrequency": "PT5M", "windowSize": "PT15M", "criteria": {"odata.type":
|
||||
"Microsoft.Azure.Monitor.SingleResourceMultipleMetricCriteria", "allOf": [{"name":
|
||||
"cond1", "metricName": "SuccessE2ELatency", "metricNamespace": "microsoft.storage/storageaccounts",
|
||||
"operator": "GreaterThan", "timeAggregation": "Average", "threshold": 250.0,
|
||||
"dimensions": [{"name": "ApiName", "operator": "includes", "values": ["GetBlob",
|
||||
"PutBlob"]}]}, {"name": "cond0", "metricName": "transactions", "operator": "LessThan",
|
||||
"timeAggregation": "Total", "threshold": 100.0, "dimensions": []}]}, "autoMitigate":
|
||||
true, "actions": [{"actionGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_metric_alert_v2000001/providers/microsoft.insights/actionGroups/ag2",
|
||||
"webhookProperties": {"test": "best"}}]}}\'''''
|
||||
headers:
|
||||
Accept: [application/json]
|
||||
Accept-Encoding: ['gzip, deflate']
|
||||
CommandName: [monitor metrics alert update]
|
||||
Connection: [keep-alive]
|
||||
Content-Length: ['1211']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.44]
|
||||
accept-language: [en-US]
|
||||
method: PUT
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_metric_alert_v2000001/providers/Microsoft.Insights/metricAlerts/alert1?api-version=2018-03-01
|
||||
response:
|
||||
body: {string: "{\r\n \"location\": \"global\",\r\n \"type\": \"Microsoft.Insights/metricAlerts\",\r\n
|
||||
\ \"name\": \"alert1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_metric_alert_v2000001/providers/Microsoft.Insights/metricAlerts/alert1\",\r\n
|
||||
\ \"tags\": {\r\n \"foo\": \"boo\"\r\n },\r\n \"properties\": {\r\n \"description\":
|
||||
\"alt desc\",\r\n \"severity\": 3,\r\n \"enabled\": true,\r\n \"scopes\":
|
||||
[\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_metric_alert_v2000001/providers/Microsoft.Storage/storageAccounts/clitest000002\"\r\n
|
||||
\ ],\r\n \"evaluationFrequency\": \"PT5M\",\r\n \"windowSize\": \"PT15M\",\r\n
|
||||
\ \"templateType\": 8,\r\n \"criteria\": {\r\n \"allOf\": [\r\n
|
||||
\ {\r\n \"name\": \"cond1\",\r\n \"metricNamespace\":
|
||||
\"microsoft.storage/storageaccounts\",\r\n \"metricName\": \"SuccessE2ELatency\",\r\n
|
||||
\ \"dimensions\": [\r\n {\r\n \"name\": \"ApiName\",\r\n
|
||||
\ \"operator\": \"includes\",\r\n \"values\": [\r\n
|
||||
\ \"GetBlob\",\r\n \"PutBlob\"\r\n ]\r\n
|
||||
\ }\r\n ],\r\n \"operator\": \"GreaterThan\",\r\n
|
||||
\ \"threshold\": 250.0,\r\n \"timeAggregation\": \"Average\"\r\n
|
||||
\ },\r\n {\r\n \"name\": \"cond0\",\r\n \"metricNamespace\":
|
||||
\"microsoft.storage/storageaccounts\",\r\n \"metricName\": \"transactions\",\r\n
|
||||
\ \"dimensions\": [],\r\n \"operator\": \"LessThan\",\r\n
|
||||
\ \"threshold\": 100.0,\r\n \"timeAggregation\": \"Total\"\r\n
|
||||
\ }\r\n ],\r\n \"odata.type\": \"Microsoft.Azure.Monitor.SingleResourceMultipleMetricCriteria\"\r\n
|
||||
\ },\r\n \"autoMitigate\": true,\r\n \"actions\": [\r\n {\r\n
|
||||
\ \"actionGroupId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_metric_alert_v2000001/providers/microsoft.insights/actionGroups/ag2\",\r\n
|
||||
\ \"webHookProperties\": {\r\n \"test\": \"best\"\r\n }\r\n
|
||||
\ }\r\n ]\r\n }\r\n}"}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['2072']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Mon, 13 Aug 2018 23:25:15 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/10.0]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
transfer-encoding: [chunked]
|
||||
vary: [Accept-Encoding]
|
||||
x-aspnet-version: [4.0.30319]
|
||||
x-content-type-options: [nosniff]
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1199']
|
||||
x-powered-by: [ASP.NET]
|
||||
status: {code: 200, message: OK}
|
||||
- request:
|
||||
body: null
|
||||
headers:
|
||||
Accept: [application/json]
|
||||
Accept-Encoding: ['gzip, deflate']
|
||||
CommandName: [monitor metrics alert list]
|
||||
Connection: [keep-alive]
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.44]
|
||||
accept-language: [en-US]
|
||||
method: GET
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_metric_alert_v2000001/providers/Microsoft.Insights/metricAlerts?api-version=2018-03-01
|
||||
response:
|
||||
body: {string: "{\r\n \"value\": [\r\n {\r\n \"location\": \"global\",\r\n
|
||||
\ \"type\": \"Microsoft.Insights/metricAlerts\",\r\n \"name\": \"alert1\",\r\n
|
||||
\ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_metric_alert_v2000001/providers/Microsoft.Insights/metricAlerts/alert1\",\r\n
|
||||
\ \"tags\": {\r\n \"foo\": \"boo\"\r\n },\r\n \"properties\":
|
||||
{\r\n \"description\": \"alt desc\",\r\n \"severity\": 3,\r\n
|
||||
\ \"enabled\": true,\r\n \"scopes\": [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_metric_alert_v2000001/providers/Microsoft.Storage/storageAccounts/clitest000002\"\r\n
|
||||
\ ],\r\n \"evaluationFrequency\": \"PT5M\",\r\n \"windowSize\":
|
||||
\"PT15M\",\r\n \"templateType\": 8,\r\n \"criteria\": {\r\n
|
||||
\ \"allOf\": [\r\n {\r\n \"name\": \"cond1\",\r\n
|
||||
\ \"metricNamespace\": \"microsoft.storage/storageaccounts\",\r\n
|
||||
\ \"metricName\": \"SuccessE2ELatency\",\r\n \"dimensions\":
|
||||
[\r\n {\r\n \"name\": \"ApiName\",\r\n \"operator\":
|
||||
\"includes\",\r\n \"values\": [\r\n \"GetBlob\",\r\n
|
||||
\ \"PutBlob\"\r\n ]\r\n }\r\n
|
||||
\ ],\r\n \"operator\": \"GreaterThan\",\r\n \"threshold\":
|
||||
250.0,\r\n \"timeAggregation\": \"Average\"\r\n },\r\n
|
||||
\ {\r\n \"name\": \"cond0\",\r\n \"metricNamespace\":
|
||||
\"microsoft.storage/storageaccounts\",\r\n \"metricName\": \"transactions\",\r\n
|
||||
\ \"dimensions\": [],\r\n \"operator\": \"LessThan\",\r\n
|
||||
\ \"threshold\": 100.0,\r\n \"timeAggregation\":
|
||||
\"Total\"\r\n }\r\n ],\r\n \"odata.type\": \"Microsoft.Azure.Monitor.SingleResourceMultipleMetricCriteria\"\r\n
|
||||
\ },\r\n \"autoMitigate\": true,\r\n \"actions\": [\r\n
|
||||
\ {\r\n \"actionGroupId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_metric_alert_v2000001/providers/microsoft.insights/actionGroups/ag2\",\r\n
|
||||
\ \"webHookProperties\": {\r\n \"test\": \"best\"\r\n
|
||||
\ }\r\n }\r\n ]\r\n }\r\n }\r\n ]\r\n}"}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['2341']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Mon, 13 Aug 2018 23:25:15 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/10.0]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
transfer-encoding: [chunked]
|
||||
vary: [Accept-Encoding]
|
||||
x-aspnet-version: [4.0.30319]
|
||||
x-content-type-options: [nosniff]
|
||||
x-powered-by: [ASP.NET]
|
||||
status: {code: 200, message: OK}
|
||||
- request:
|
||||
body: null
|
||||
headers:
|
||||
Accept: [application/json]
|
||||
Accept-Encoding: ['gzip, deflate']
|
||||
CommandName: [monitor metrics alert show]
|
||||
Connection: [keep-alive]
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.44]
|
||||
accept-language: [en-US]
|
||||
method: GET
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_metric_alert_v2000001/providers/Microsoft.Insights/metricAlerts/alert1?api-version=2018-03-01
|
||||
response:
|
||||
body: {string: "{\r\n \"location\": \"global\",\r\n \"type\": \"Microsoft.Insights/metricAlerts\",\r\n
|
||||
\ \"name\": \"alert1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_metric_alert_v2000001/providers/Microsoft.Insights/metricAlerts/alert1\",\r\n
|
||||
\ \"tags\": {\r\n \"foo\": \"boo\"\r\n },\r\n \"properties\": {\r\n \"description\":
|
||||
\"alt desc\",\r\n \"severity\": 3,\r\n \"enabled\": true,\r\n \"scopes\":
|
||||
[\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_metric_alert_v2000001/providers/Microsoft.Storage/storageAccounts/clitest000002\"\r\n
|
||||
\ ],\r\n \"evaluationFrequency\": \"PT5M\",\r\n \"windowSize\": \"PT15M\",\r\n
|
||||
\ \"templateType\": 8,\r\n \"criteria\": {\r\n \"allOf\": [\r\n
|
||||
\ {\r\n \"name\": \"cond1\",\r\n \"metricNamespace\":
|
||||
\"microsoft.storage/storageaccounts\",\r\n \"metricName\": \"SuccessE2ELatency\",\r\n
|
||||
\ \"dimensions\": [\r\n {\r\n \"name\": \"ApiName\",\r\n
|
||||
\ \"operator\": \"includes\",\r\n \"values\": [\r\n
|
||||
\ \"GetBlob\",\r\n \"PutBlob\"\r\n ]\r\n
|
||||
\ }\r\n ],\r\n \"operator\": \"GreaterThan\",\r\n
|
||||
\ \"threshold\": 250.0,\r\n \"timeAggregation\": \"Average\"\r\n
|
||||
\ },\r\n {\r\n \"name\": \"cond0\",\r\n \"metricNamespace\":
|
||||
\"microsoft.storage/storageaccounts\",\r\n \"metricName\": \"transactions\",\r\n
|
||||
\ \"dimensions\": [],\r\n \"operator\": \"LessThan\",\r\n
|
||||
\ \"threshold\": 100.0,\r\n \"timeAggregation\": \"Total\"\r\n
|
||||
\ }\r\n ],\r\n \"odata.type\": \"Microsoft.Azure.Monitor.SingleResourceMultipleMetricCriteria\"\r\n
|
||||
\ },\r\n \"autoMitigate\": true,\r\n \"actions\": [\r\n {\r\n
|
||||
\ \"actionGroupId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_metric_alert_v2000001/providers/microsoft.insights/actionGroups/ag2\",\r\n
|
||||
\ \"webHookProperties\": {\r\n \"test\": \"best\"\r\n }\r\n
|
||||
\ }\r\n ]\r\n }\r\n}"}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['2072']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Mon, 13 Aug 2018 23:25:16 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/10.0]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
transfer-encoding: [chunked]
|
||||
vary: [Accept-Encoding]
|
||||
x-aspnet-version: [4.0.30319]
|
||||
x-content-type-options: [nosniff]
|
||||
x-powered-by: [ASP.NET]
|
||||
status: {code: 200, message: OK}
|
||||
- request:
|
||||
body: null
|
||||
headers:
|
||||
Accept: [application/json]
|
||||
Accept-Encoding: ['gzip, deflate']
|
||||
CommandName: [monitor metrics alert delete]
|
||||
Connection: [keep-alive]
|
||||
Content-Length: ['0']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.44]
|
||||
accept-language: [en-US]
|
||||
method: DELETE
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_metric_alert_v2000001/providers/Microsoft.Insights/metricAlerts/alert1?api-version=2018-03-01
|
||||
response:
|
||||
body: {string: ''}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['0']
|
||||
date: ['Mon, 13 Aug 2018 23:25:22 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/10.0]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
x-aspnet-version: [4.0.30319]
|
||||
x-content-type-options: [nosniff]
|
||||
x-ms-ratelimit-remaining-subscription-deletes: ['14999']
|
||||
x-powered-by: [ASP.NET]
|
||||
status: {code: 200, message: OK}
|
||||
- request:
|
||||
body: null
|
||||
headers:
|
||||
Accept: [application/json]
|
||||
Accept-Encoding: ['gzip, deflate']
|
||||
CommandName: [monitor metrics alert list]
|
||||
Connection: [keep-alive]
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.44]
|
||||
accept-language: [en-US]
|
||||
method: GET
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_metric_alert_v2000001/providers/Microsoft.Insights/metricAlerts?api-version=2018-03-01
|
||||
response:
|
||||
body: {string: "{\r\n \"value\": []\r\n}"}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['19']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Mon, 13 Aug 2018 23:25:22 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/10.0]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
transfer-encoding: [chunked]
|
||||
vary: [Accept-Encoding]
|
||||
x-aspnet-version: [4.0.30319]
|
||||
x-content-type-options: [nosniff]
|
||||
x-powered-by: [ASP.NET]
|
||||
status: {code: 200, message: OK}
|
||||
- request:
|
||||
body: null
|
||||
headers:
|
||||
Accept: [application/json]
|
||||
Accept-Encoding: ['gzip, deflate']
|
||||
CommandName: [group delete]
|
||||
Connection: [keep-alive]
|
||||
Content-Length: ['0']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 resourcemanagementclient/2.0.0 Azure-SDK-For-Python AZURECLI/2.0.44]
|
||||
accept-language: [en-US]
|
||||
method: DELETE
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_metric_alert_v2000001?api-version=2018-05-01
|
||||
response:
|
||||
body: {string: ''}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['0']
|
||||
date: ['Mon, 13 Aug 2018 23:25:23 GMT']
|
||||
expires: ['-1']
|
||||
location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTEk6NUZURVNUOjVGTUVUUklDOjVGQUxFUlQ6NUZWMk9GRElXN0dLSEc3TlNXV3xGNjM2NTc5QzQyQ0IzOTY3LVdFU1RVUyIsImpvYkxvY2F0aW9uIjoid2VzdHVzIn0?api-version=2018-05-01']
|
||||
pragma: [no-cache]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
x-content-type-options: [nosniff]
|
||||
x-ms-ratelimit-remaining-subscription-deletes: ['14999']
|
||||
status: {code: 202, message: Accepted}
|
||||
version: 1
|
|
@ -1,26 +1,26 @@
|
|||
interactions:
|
||||
- request:
|
||||
body: '{"location": "southcentralus", "tags": {"use": "az-test"}}'
|
||||
body: '{"location": "southcentralus", "tags": {"product": "azurecli", "cause":
|
||||
"automation", "date": "2018-08-14T20:56:42Z"}}'
|
||||
headers:
|
||||
Accept: [application/json]
|
||||
Accept-Encoding: ['gzip, deflate']
|
||||
CommandName: [group create]
|
||||
Connection: [keep-alive]
|
||||
Content-Length: ['58']
|
||||
Content-Length: ['118']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 resourcemanagementclient/1.2.1 Azure-SDK-For-Python
|
||||
AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 resourcemanagementclient/2.0.0 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: PUT
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01
|
||||
response:
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"use":"az-test"},"properties":{"provisioningState":"Succeeded"}}'}
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"product":"azurecli","cause":"automation","date":"2018-08-14T20:56:42Z"},"properties":{"provisioningState":"Succeeded"}}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['336']
|
||||
content-length: ['392']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:42:31 GMT']
|
||||
date: ['Tue, 14 Aug 2018 20:56:46 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
|
@ -38,24 +38,24 @@ interactions:
|
|||
Connection: [keep-alive]
|
||||
Content-Length: ['155']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: PUT
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups/cliactiongrouptest000002?api-version=2017-04-01
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups/cliactiongrouptest000002?api-version=2018-03-01
|
||||
response:
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups/cliactiongrouptest000002","type":"Microsoft.Insights/ActionGroups","name":"cliactiongrouptest000002","location":"Global","kind":null,"tags":null,"properties":{"groupShortName":"cliactiongro","enabled":true,"emailReceivers":[],"smsReceivers":[],"webhookReceivers":[],"itsmReceivers":[],"azureAppPushReceivers":[],"automationRunbookReceivers":[],"voiceReceivers":[],"logicAppReceivers":[],"azureFunctionReceivers":[]},"identity":null}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['640']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:42:34 GMT']
|
||||
date: ['Tue, 14 Aug 2018 20:56:48 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
x-content-type-options: [nosniff]
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1197']
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1198']
|
||||
status: {code: 201, message: Created}
|
||||
- request:
|
||||
body: null
|
||||
|
@ -65,18 +65,18 @@ interactions:
|
|||
CommandName: [monitor action-group list]
|
||||
Connection: [keep-alive]
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: GET
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups?api-version=2017-04-01
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups?api-version=2018-03-01
|
||||
response:
|
||||
body: {string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups/cliactiongrouptest000002","type":"Microsoft.Insights/ActionGroups","name":"cliactiongrouptest000002","location":"Global","kind":null,"tags":null,"properties":{"groupShortName":"cliactiongro","enabled":true,"emailReceivers":[],"smsReceivers":[],"webhookReceivers":[],"itsmReceivers":[],"azureAppPushReceivers":[],"automationRunbookReceivers":[],"voiceReceivers":[],"logicAppReceivers":[],"azureFunctionReceivers":[]},"identity":null}]}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['652']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:42:34 GMT']
|
||||
date: ['Tue, 14 Aug 2018 20:56:48 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
|
@ -93,18 +93,18 @@ interactions:
|
|||
CommandName: [monitor action-group update]
|
||||
Connection: [keep-alive]
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: GET
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups/cliactiongrouptest000002?api-version=2017-04-01
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups/cliactiongrouptest000002?api-version=2018-03-01
|
||||
response:
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups/cliactiongrouptest000002","type":"Microsoft.Insights/ActionGroups","name":"cliactiongrouptest000002","location":"Global","kind":null,"tags":null,"properties":{"groupShortName":"cliactiongro","enabled":true,"emailReceivers":[],"smsReceivers":[],"webhookReceivers":[],"itsmReceivers":[],"azureAppPushReceivers":[],"automationRunbookReceivers":[],"voiceReceivers":[],"logicAppReceivers":[],"azureFunctionReceivers":[]},"identity":null}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['640']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:42:35 GMT']
|
||||
date: ['Tue, 14 Aug 2018 20:56:49 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
|
@ -117,26 +117,27 @@ interactions:
|
|||
body: '{"location": "Global", "tags": {"owner": "alice"}, "properties": {"groupShortName":
|
||||
"new_name", "enabled": true, "emailReceivers": [], "smsReceivers": [], "webhookReceivers":
|
||||
[], "itsmReceivers": [], "azureAppPushReceivers": [], "automationRunbookReceivers":
|
||||
[], "voiceReceivers": [], "logicAppReceivers": [], "azureFunctionReceivers":
|
||||
[]}}'
|
||||
headers:
|
||||
Accept: [application/json]
|
||||
Accept-Encoding: ['gzip, deflate']
|
||||
CommandName: [monitor action-group update]
|
||||
Connection: [keep-alive]
|
||||
Content-Length: ['263']
|
||||
Content-Length: ['340']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: PUT
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups/cliactiongrouptest000002?api-version=2017-04-01
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups/cliactiongrouptest000002?api-version=2018-03-01
|
||||
response:
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups/cliactiongrouptest000002","type":"Microsoft.Insights/ActionGroups","name":"cliactiongrouptest000002","location":"Global","kind":null,"tags":{"owner":"alice"},"properties":{"groupShortName":"new_name","enabled":true,"emailReceivers":[],"smsReceivers":[],"webhookReceivers":[],"itsmReceivers":[],"azureAppPushReceivers":[],"automationRunbookReceivers":[],"voiceReceivers":[],"logicAppReceivers":[],"azureFunctionReceivers":[]},"identity":null}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['649']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:42:36 GMT']
|
||||
date: ['Tue, 14 Aug 2018 20:56:50 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
|
@ -144,7 +145,7 @@ interactions:
|
|||
transfer-encoding: [chunked]
|
||||
vary: [Accept-Encoding]
|
||||
x-content-type-options: [nosniff]
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1199']
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1198']
|
||||
status: {code: 200, message: OK}
|
||||
- request:
|
||||
body: null
|
||||
|
@ -154,18 +155,18 @@ interactions:
|
|||
CommandName: [monitor action-group update]
|
||||
Connection: [keep-alive]
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: GET
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups/cliactiongrouptest000002?api-version=2017-04-01
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups/cliactiongrouptest000002?api-version=2018-03-01
|
||||
response:
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups/cliactiongrouptest000002","type":"Microsoft.Insights/ActionGroups","name":"cliactiongrouptest000002","location":"Global","kind":null,"tags":{"owner":"alice"},"properties":{"groupShortName":"new_name","enabled":true,"emailReceivers":[],"smsReceivers":[],"webhookReceivers":[],"itsmReceivers":[],"azureAppPushReceivers":[],"automationRunbookReceivers":[],"voiceReceivers":[],"logicAppReceivers":[],"azureFunctionReceivers":[]},"identity":null}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['649']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:42:37 GMT']
|
||||
date: ['Tue, 14 Aug 2018 20:56:51 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
|
@ -180,26 +181,27 @@ interactions:
|
|||
"alice@example.com"}], "smsReceivers": [{"name": "alice_sms", "countryCode":
|
||||
"1", "phoneNumber": "5551234567"}], "webhookReceivers": [{"name": "alice_web",
|
||||
"serviceUri": "https://www.example.com/alert?name=alice"}], "itsmReceivers":
|
||||
[], "azureAppPushReceivers": [], "automationRunbookReceivers": []}}'
|
||||
[], "azureAppPushReceivers": [], "automationRunbookReceivers": [], "voiceReceivers":
|
||||
[], "logicAppReceivers": [], "azureFunctionReceivers": []}}'
|
||||
headers:
|
||||
Accept: [application/json]
|
||||
Accept-Encoding: ['gzip, deflate']
|
||||
CommandName: [monitor action-group update]
|
||||
Connection: [keep-alive]
|
||||
Content-Length: ['466']
|
||||
Content-Length: ['543']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: PUT
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups/cliactiongrouptest000002?api-version=2017-04-01
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups/cliactiongrouptest000002?api-version=2018-03-01
|
||||
response:
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups/cliactiongrouptest000002","type":"Microsoft.Insights/ActionGroups","name":"cliactiongrouptest000002","location":"Global","kind":null,"tags":{"owner":"alice"},"properties":{"groupShortName":"new_name","enabled":true,"emailReceivers":[{"name":"alice","emailAddress":"alice@example.com","status":"Enabled"}],"smsReceivers":[{"name":"alice_sms","countryCode":"1","phoneNumber":"5551234567","status":"Enabled"}],"webhookReceivers":[{"name":"alice_web","serviceUri":"https://www.example.com/alert?name=alice"}],"itsmReceivers":[],"azureAppPushReceivers":[],"automationRunbookReceivers":[],"voiceReceivers":[],"logicAppReceivers":[],"azureFunctionReceivers":[]},"identity":null}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['879']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:42:38 GMT']
|
||||
date: ['Tue, 14 Aug 2018 20:56:52 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
|
@ -217,18 +219,18 @@ interactions:
|
|||
CommandName: [monitor action-group update]
|
||||
Connection: [keep-alive]
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: GET
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups/cliactiongrouptest000002?api-version=2017-04-01
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups/cliactiongrouptest000002?api-version=2018-03-01
|
||||
response:
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups/cliactiongrouptest000002","type":"Microsoft.Insights/ActionGroups","name":"cliactiongrouptest000002","location":"Global","kind":null,"tags":{"owner":"alice"},"properties":{"groupShortName":"new_name","enabled":true,"emailReceivers":[{"name":"alice","emailAddress":"alice@example.com","status":"Enabled"}],"smsReceivers":[{"name":"alice_sms","countryCode":"1","phoneNumber":"5551234567","status":"Enabled"}],"webhookReceivers":[{"name":"alice_web","serviceUri":"https://www.example.com/alert?name=alice"}],"itsmReceivers":[],"azureAppPushReceivers":[],"automationRunbookReceivers":[],"voiceReceivers":[],"logicAppReceivers":[],"azureFunctionReceivers":[]},"identity":null}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['879']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:42:39 GMT']
|
||||
date: ['Tue, 14 Aug 2018 20:56:53 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
|
@ -242,26 +244,27 @@ interactions:
|
|||
"new_name", "enabled": true, "emailReceivers": [{"name": "alice", "emailAddress":
|
||||
"alice@example.com"}], "smsReceivers": [{"name": "alice_sms", "countryCode":
|
||||
"1", "phoneNumber": "5551234567"}], "webhookReceivers": [], "itsmReceivers":
|
||||
[], "azureAppPushReceivers": [], "automationRunbookReceivers": []}}'
|
||||
[], "azureAppPushReceivers": [], "automationRunbookReceivers": [], "voiceReceivers":
|
||||
[], "logicAppReceivers": [], "azureFunctionReceivers": []}}'
|
||||
headers:
|
||||
Accept: [application/json]
|
||||
Accept-Encoding: ['gzip, deflate']
|
||||
CommandName: [monitor action-group update]
|
||||
Connection: [keep-alive]
|
||||
Content-Length: ['387']
|
||||
Content-Length: ['464']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: PUT
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups/cliactiongrouptest000002?api-version=2017-04-01
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups/cliactiongrouptest000002?api-version=2018-03-01
|
||||
response:
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups/cliactiongrouptest000002","type":"Microsoft.Insights/ActionGroups","name":"cliactiongrouptest000002","location":"Global","kind":null,"tags":{"owner":"alice"},"properties":{"groupShortName":"new_name","enabled":true,"emailReceivers":[{"name":"alice","emailAddress":"alice@example.com","status":"Enabled"}],"smsReceivers":[{"name":"alice_sms","countryCode":"1","phoneNumber":"5551234567","status":"Enabled"}],"webhookReceivers":[],"itsmReceivers":[],"azureAppPushReceivers":[],"automationRunbookReceivers":[],"voiceReceivers":[],"logicAppReceivers":[],"azureFunctionReceivers":[]},"identity":null}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['803']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:42:40 GMT']
|
||||
date: ['Tue, 14 Aug 2018 20:56:54 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
|
@ -280,18 +283,18 @@ interactions:
|
|||
Connection: [keep-alive]
|
||||
Content-Length: ['28']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: POST
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups/cliactiongrouptest000002/subscribe?api-version=2017-04-01
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups/cliactiongrouptest000002/subscribe?api-version=2018-03-01
|
||||
response:
|
||||
body: {string: '{"Code":"ReceiverNotFound","Message":null}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['42']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:42:41 GMT']
|
||||
date: ['Tue, 14 Aug 2018 20:56:54 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
|
@ -308,24 +311,24 @@ interactions:
|
|||
Connection: [keep-alive]
|
||||
Content-Length: ['25']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: POST
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups/cliactiongrouptest000002/subscribe?api-version=2017-04-01
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups/cliactiongrouptest000002/subscribe?api-version=2018-03-01
|
||||
response:
|
||||
body: {string: '{"Code":"ReceiverAlreadyEnabled","Message":null}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['48']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:42:41 GMT']
|
||||
date: ['Tue, 14 Aug 2018 20:56:55 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
x-content-type-options: [nosniff]
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1189']
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1198']
|
||||
status: {code: 409, message: Conflict}
|
||||
- request:
|
||||
body: null
|
||||
|
@ -336,23 +339,23 @@ interactions:
|
|||
Connection: [keep-alive]
|
||||
Content-Length: ['0']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: DELETE
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups/cliactiongrouptest000002?api-version=2017-04-01
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups/cliactiongrouptest000002?api-version=2018-03-01
|
||||
response:
|
||||
body: {string: ''}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['0']
|
||||
date: ['Thu, 15 Mar 2018 16:42:43 GMT']
|
||||
date: ['Tue, 14 Aug 2018 20:56:57 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
x-content-type-options: [nosniff]
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1199']
|
||||
x-ms-ratelimit-remaining-subscription-deletes: ['14999']
|
||||
status: {code: 200, message: OK}
|
||||
- request:
|
||||
body: null
|
||||
|
@ -362,18 +365,18 @@ interactions:
|
|||
CommandName: [monitor action-group list]
|
||||
Connection: [keep-alive]
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: GET
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups?api-version=2017-04-01
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups?api-version=2018-03-01
|
||||
response:
|
||||
body: {string: '{"value":[]}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['12']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:42:43 GMT']
|
||||
date: ['Tue, 14 Aug 2018 20:56:58 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
|
@ -391,9 +394,8 @@ interactions:
|
|||
Connection: [keep-alive]
|
||||
Content-Length: ['0']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 resourcemanagementclient/1.2.1 Azure-SDK-For-Python
|
||||
AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 resourcemanagementclient/2.0.0 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: DELETE
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01
|
||||
|
@ -402,12 +404,12 @@ interactions:
|
|||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['0']
|
||||
date: ['Thu, 15 Mar 2018 16:42:45 GMT']
|
||||
date: ['Tue, 14 Aug 2018 20:56:58 GMT']
|
||||
expires: ['-1']
|
||||
location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdRTzVUWUFSQkdGVlJUVlBISlFNN1dFNzZEU0hRNk9TNTNXNHw2MDUzNEUyNjVDNURDOEZGLVNPVVRIQ0VOVFJBTFVTIiwiam9iTG9jYXRpb24iOiJzb3V0aGNlbnRyYWx1cyJ9?api-version=2018-05-01']
|
||||
location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdXVUEyUzc3Uk5WMlZXRTZETDZaVDVIVVRNVVFDVTY2WTJPR3xCQ0IwNjc2RTE1RThFOTlBLVNPVVRIQ0VOVFJBTFVTIiwiam9iTG9jYXRpb24iOiJzb3V0aGNlbnRyYWx1cyJ9?api-version=2018-05-01']
|
||||
pragma: [no-cache]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
x-content-type-options: [nosniff]
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1199']
|
||||
x-ms-ratelimit-remaining-subscription-deletes: ['14999']
|
||||
status: {code: 202, message: Accepted}
|
||||
version: 1
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -1,31 +1,31 @@
|
|||
interactions:
|
||||
- request:
|
||||
body: '{"location": "southcentralus", "tags": {"use": "az-test"}}'
|
||||
body: '{"location": "southcentralus", "tags": {"product": "azurecli", "cause":
|
||||
"automation", "date": "2018-08-15T00:26:11Z"}}'
|
||||
headers:
|
||||
Accept: [application/json]
|
||||
Accept-Encoding: ['gzip, deflate']
|
||||
CommandName: [group create]
|
||||
Connection: [keep-alive]
|
||||
Content-Length: ['58']
|
||||
Content-Length: ['118']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 resourcemanagementclient/1.2.1 Azure-SDK-For-Python
|
||||
AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 resourcemanagementclient/2.0.0 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: PUT
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01
|
||||
response:
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"use":"az-test"},"properties":{"provisioningState":"Succeeded"}}'}
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"product":"azurecli","cause":"automation","date":"2018-08-15T00:26:11Z"},"properties":{"provisioningState":"Succeeded"}}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['336']
|
||||
content-length: ['392']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:05 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:12 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
x-content-type-options: [nosniff]
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1199']
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1198']
|
||||
status: {code: 201, message: Created}
|
||||
- request:
|
||||
body: null
|
||||
|
@ -35,19 +35,18 @@ interactions:
|
|||
CommandName: [group show]
|
||||
Connection: [keep-alive]
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 resourcemanagementclient/1.2.1 Azure-SDK-For-Python
|
||||
AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 resourcemanagementclient/2.0.0 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: GET
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01
|
||||
response:
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"use":"az-test"},"properties":{"provisioningState":"Succeeded"}}'}
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"product":"azurecli","cause":"automation","date":"2018-08-15T00:26:11Z"},"properties":{"provisioningState":"Succeeded"}}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['336']
|
||||
content-length: ['392']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:04 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:13 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
|
@ -62,8 +61,8 @@ interactions:
|
|||
CommandName: [monitor activity-log alert create]
|
||||
Connection: [keep-alive]
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: GET
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002?api-version=2017-04-01
|
||||
|
@ -74,7 +73,7 @@ interactions:
|
|||
cache-control: [no-cache]
|
||||
content-length: ['248']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:06 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:13 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
|
@ -92,8 +91,8 @@ interactions:
|
|||
Connection: [keep-alive]
|
||||
Content-Length: ['322']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: PUT
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002?api-version=2017-04-01
|
||||
|
@ -103,13 +102,13 @@ interactions:
|
|||
cache-control: [no-cache]
|
||||
content-length: ['701']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:07 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:15 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
x-content-type-options: [nosniff]
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1197']
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1199']
|
||||
status: {code: 201, message: Created}
|
||||
- request:
|
||||
body: null
|
||||
|
@ -119,8 +118,8 @@ interactions:
|
|||
CommandName: [monitor activity-log alert show]
|
||||
Connection: [keep-alive]
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: GET
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002?api-version=2017-04-01
|
||||
|
@ -130,7 +129,7 @@ interactions:
|
|||
cache-control: [no-cache]
|
||||
content-length: ['701']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:13 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:22 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
|
@ -147,8 +146,8 @@ interactions:
|
|||
CommandName: [monitor activity-log alert update]
|
||||
Connection: [keep-alive]
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: GET
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002?api-version=2017-04-01
|
||||
|
@ -158,7 +157,7 @@ interactions:
|
|||
cache-control: [no-cache]
|
||||
content-length: ['701']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:14 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:22 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
|
@ -179,8 +178,8 @@ interactions:
|
|||
Connection: [keep-alive]
|
||||
Content-Length: ['376']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: PUT
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002?api-version=2017-04-01
|
||||
|
@ -190,7 +189,7 @@ interactions:
|
|||
cache-control: [no-cache]
|
||||
content-length: ['758']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:15 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:23 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
|
@ -208,8 +207,8 @@ interactions:
|
|||
CommandName: [monitor activity-log alert update]
|
||||
Connection: [keep-alive]
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: GET
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002?api-version=2017-04-01
|
||||
|
@ -219,7 +218,7 @@ interactions:
|
|||
cache-control: [no-cache]
|
||||
content-length: ['758']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:14 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:24 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
|
@ -240,8 +239,8 @@ interactions:
|
|||
Connection: [keep-alive]
|
||||
Content-Length: ['485']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: PUT
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002?api-version=2017-04-01
|
||||
|
@ -251,7 +250,7 @@ interactions:
|
|||
cache-control: [no-cache]
|
||||
content-length: ['882']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:16 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:24 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
|
@ -259,7 +258,7 @@ interactions:
|
|||
transfer-encoding: [chunked]
|
||||
vary: ['Accept-Encoding,Accept-Encoding']
|
||||
x-content-type-options: [nosniff]
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1197']
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1198']
|
||||
status: {code: 200, message: OK}
|
||||
- request:
|
||||
body: null
|
||||
|
@ -270,9 +269,8 @@ interactions:
|
|||
Connection: [keep-alive]
|
||||
Content-Length: ['0']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 resourcemanagementclient/1.2.1 Azure-SDK-For-Python
|
||||
AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 resourcemanagementclient/2.0.0 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: DELETE
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01
|
||||
|
@ -281,12 +279,12 @@ interactions:
|
|||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['0']
|
||||
date: ['Thu, 15 Mar 2018 16:43:17 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:26 GMT']
|
||||
expires: ['-1']
|
||||
location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdQNFkyWlBSQkFKUDNQNEtXVkdLWkZEREtVWDJRUFRSS1REMnxDMDM3OUE5QjUyNzdCMDc2LVNPVVRIQ0VOVFJBTFVTIiwiam9iTG9jYXRpb24iOiJzb3V0aGNlbnRyYWx1cyJ9?api-version=2018-05-01']
|
||||
location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdVVUhCWEVONkhZNzVETjNSSk9UUlVKT1REV0xLU0JFNVZRMnxBOUYzMjk1OEZDMDk5NTNBLVNPVVRIQ0VOVFJBTFVTIiwiam9iTG9jYXRpb24iOiJzb3V0aGNlbnRyYWx1cyJ9?api-version=2018-05-01']
|
||||
pragma: [no-cache]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
x-content-type-options: [nosniff]
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1199']
|
||||
x-ms-ratelimit-remaining-subscription-deletes: ['14999']
|
||||
status: {code: 202, message: Accepted}
|
||||
version: 1
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
interactions:
|
||||
- request:
|
||||
body: '{"location": "southcentralus", "tags": {"use": "az-test"}}'
|
||||
body: '{"location": "southcentralus", "tags": {"product": "azurecli", "cause":
|
||||
"automation", "date": "2018-08-15T00:26:26Z"}}'
|
||||
headers:
|
||||
Accept: [application/json]
|
||||
Accept-Encoding: ['gzip, deflate']
|
||||
CommandName: [group create]
|
||||
Connection: [keep-alive]
|
||||
Content-Length: ['58']
|
||||
Content-Length: ['118']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 resourcemanagementclient/1.2.1 Azure-SDK-For-Python
|
||||
AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 resourcemanagementclient/2.0.0 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: PUT
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01
|
||||
response:
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"use":"az-test"},"properties":{"provisioningState":"Succeeded"}}'}
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"product":"azurecli","cause":"automation","date":"2018-08-15T00:26:26Z"},"properties":{"provisioningState":"Succeeded"}}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['336']
|
||||
content-length: ['392']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:19 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:28 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
|
@ -35,19 +35,18 @@ interactions:
|
|||
CommandName: [group show]
|
||||
Connection: [keep-alive]
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 resourcemanagementclient/1.2.1 Azure-SDK-For-Python
|
||||
AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 resourcemanagementclient/2.0.0 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: GET
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01
|
||||
response:
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"use":"az-test"},"properties":{"provisioningState":"Succeeded"}}'}
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"product":"azurecli","cause":"automation","date":"2018-08-15T00:26:26Z"},"properties":{"provisioningState":"Succeeded"}}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['336']
|
||||
content-length: ['392']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:19 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:28 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
|
@ -62,8 +61,8 @@ interactions:
|
|||
CommandName: [monitor activity-log alert create]
|
||||
Connection: [keep-alive]
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: GET
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002?api-version=2017-04-01
|
||||
|
@ -74,7 +73,7 @@ interactions:
|
|||
cache-control: [no-cache]
|
||||
content-length: ['248']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:19 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:28 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
|
@ -92,8 +91,8 @@ interactions:
|
|||
Connection: [keep-alive]
|
||||
Content-Length: ['322']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: PUT
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002?api-version=2017-04-01
|
||||
|
@ -103,13 +102,13 @@ interactions:
|
|||
cache-control: [no-cache]
|
||||
content-length: ['701']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:20 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:30 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
x-content-type-options: [nosniff]
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1198']
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1197']
|
||||
status: {code: 201, message: Created}
|
||||
- request:
|
||||
body: null
|
||||
|
@ -119,8 +118,8 @@ interactions:
|
|||
CommandName: [monitor activity-log alert show]
|
||||
Connection: [keep-alive]
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: GET
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002?api-version=2017-04-01
|
||||
|
@ -130,7 +129,7 @@ interactions:
|
|||
cache-control: [no-cache]
|
||||
content-length: ['701']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:27 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:36 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
|
@ -147,8 +146,8 @@ interactions:
|
|||
CommandName: [monitor activity-log alert scope add]
|
||||
Connection: [keep-alive]
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: GET
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002?api-version=2017-04-01
|
||||
|
@ -158,7 +157,7 @@ interactions:
|
|||
cache-control: [no-cache]
|
||||
content-length: ['701']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:27 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:37 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
|
@ -168,8 +167,8 @@ interactions:
|
|||
x-content-type-options: [nosniff]
|
||||
status: {code: 200, message: OK}
|
||||
- request:
|
||||
body: 'b''{"location": "Global", "tags": {}, "properties": {"scopes": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001",
|
||||
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggxz5k7km4noy7ul4grh55eqr4ypja3rzenavcg6d65g6mjm5bbp2vmjr6ashmdlo"],
|
||||
body: 'b''{"location": "Global", "tags": {}, "properties": {"scopes": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgfvt7isgkbrf6gqvjl6mor7z4agev5lxtcso6736oivotpqnwf6ziuuhdvp4dlpnv",
|
||||
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001"],
|
||||
"enabled": true, "condition": {"allOf": [{"field": "category", "equals": "ServiceHealth"}]},
|
||||
"actions": {"actionGroups": []}}}'''
|
||||
headers:
|
||||
|
@ -179,18 +178,18 @@ interactions:
|
|||
Connection: [keep-alive]
|
||||
Content-Length: ['479']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: PUT
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002?api-version=2017-04-01
|
||||
response:
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002","type":"Microsoft.Insights/ActivityLogAlerts","name":"clialert000002","location":"Global","kind":null,"tags":{},"properties":{"scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggxz5k7km4noy7ul4grh55eqr4ypja3rzenavcg6d65g6mjm5bbp2vmjr6ashmdlo"],"condition":{"allOf":[{"field":"category","equals":"ServiceHealth","containsAny":null}]},"actions":{"actionGroups":[]},"enabled":true,"description":null},"identity":null}'}
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002","type":"Microsoft.Insights/ActivityLogAlerts","name":"clialert000002","location":"Global","kind":null,"tags":{},"properties":{"scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgfvt7isgkbrf6gqvjl6mor7z4agev5lxtcso6736oivotpqnwf6ziuuhdvp4dlpnv","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001"],"condition":{"allOf":[{"field":"category","equals":"ServiceHealth","containsAny":null}]},"actions":{"actionGroups":[]},"enabled":true,"description":null},"identity":null}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['845']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:29 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:37 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
|
@ -208,18 +207,18 @@ interactions:
|
|||
CommandName: [monitor activity-log alert scope add]
|
||||
Connection: [keep-alive]
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: GET
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002?api-version=2017-04-01
|
||||
response:
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002","type":"Microsoft.Insights/ActivityLogAlerts","name":"clialert000002","location":"Global","kind":null,"tags":{},"properties":{"scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggxz5k7km4noy7ul4grh55eqr4ypja3rzenavcg6d65g6mjm5bbp2vmjr6ashmdlo"],"condition":{"allOf":[{"field":"category","equals":"ServiceHealth","containsAny":null}]},"actions":{"actionGroups":[]},"enabled":true,"description":null},"identity":null}'}
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002","type":"Microsoft.Insights/ActivityLogAlerts","name":"clialert000002","location":"Global","kind":null,"tags":{},"properties":{"scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgfvt7isgkbrf6gqvjl6mor7z4agev5lxtcso6736oivotpqnwf6ziuuhdvp4dlpnv","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001"],"condition":{"allOf":[{"field":"category","equals":"ServiceHealth","containsAny":null}]},"actions":{"actionGroups":[]},"enabled":true,"description":null},"identity":null}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['845']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:29 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:37 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
|
@ -229,9 +228,9 @@ interactions:
|
|||
x-content-type-options: [nosniff]
|
||||
status: {code: 200, message: OK}
|
||||
- request:
|
||||
body: 'b''{"location": "Global", "tags": {}, "properties": {"scopes": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001",
|
||||
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggxz5k7km4noy7ul4grh55eqr4ypja3rzenavcg6d65g6mjm5bbp2vmjr6ashmdlo",
|
||||
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggxz5k7km4noy7ul4grh55eqr4ypja3rzenavcg6d65g6mjm5bbp2vmjr6ashmdl"],
|
||||
body: 'b''{"location": "Global", "tags": {}, "properties": {"scopes": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgfvt7isgkbrf6gqvjl6mor7z4agev5lxtcso6736oivotpqnwf6ziuuhdvp4dlpnv",
|
||||
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001",
|
||||
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgfvt7isgkbrf6gqvjl6mor7z4agev5lxtcso6736oivotpqnwf6ziuuhdvp4dlpn"],
|
||||
"enabled": true, "condition": {"allOf": [{"field": "category", "equals": "ServiceHealth"}]},
|
||||
"actions": {"actionGroups": []}}}'''
|
||||
headers:
|
||||
|
@ -241,18 +240,18 @@ interactions:
|
|||
Connection: [keep-alive]
|
||||
Content-Length: ['623']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: PUT
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002?api-version=2017-04-01
|
||||
response:
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002","type":"Microsoft.Insights/ActivityLogAlerts","name":"clialert000002","location":"Global","kind":null,"tags":{},"properties":{"scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggxz5k7km4noy7ul4grh55eqr4ypja3rzenavcg6d65g6mjm5bbp2vmjr6ashmdlo","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggxz5k7km4noy7ul4grh55eqr4ypja3rzenavcg6d65g6mjm5bbp2vmjr6ashmdl"],"condition":{"allOf":[{"field":"category","equals":"ServiceHealth","containsAny":null}]},"actions":{"actionGroups":[]},"enabled":true,"description":null},"identity":null}'}
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002","type":"Microsoft.Insights/ActivityLogAlerts","name":"clialert000002","location":"Global","kind":null,"tags":{},"properties":{"scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgfvt7isgkbrf6gqvjl6mor7z4agev5lxtcso6736oivotpqnwf6ziuuhdvp4dlpnv","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgfvt7isgkbrf6gqvjl6mor7z4agev5lxtcso6736oivotpqnwf6ziuuhdvp4dlpn"],"condition":{"allOf":[{"field":"category","equals":"ServiceHealth","containsAny":null}]},"actions":{"actionGroups":[]},"enabled":true,"description":null},"identity":null}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['988']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:29 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:37 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
|
@ -260,7 +259,7 @@ interactions:
|
|||
transfer-encoding: [chunked]
|
||||
vary: ['Accept-Encoding,Accept-Encoding']
|
||||
x-content-type-options: [nosniff]
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1199']
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1197']
|
||||
status: {code: 200, message: OK}
|
||||
- request:
|
||||
body: null
|
||||
|
@ -270,18 +269,18 @@ interactions:
|
|||
CommandName: [monitor activity-log alert scope add]
|
||||
Connection: [keep-alive]
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: GET
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002?api-version=2017-04-01
|
||||
response:
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002","type":"Microsoft.Insights/ActivityLogAlerts","name":"clialert000002","location":"Global","kind":null,"tags":{},"properties":{"scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggxz5k7km4noy7ul4grh55eqr4ypja3rzenavcg6d65g6mjm5bbp2vmjr6ashmdlo","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggxz5k7km4noy7ul4grh55eqr4ypja3rzenavcg6d65g6mjm5bbp2vmjr6ashmdl"],"condition":{"allOf":[{"field":"category","equals":"ServiceHealth","containsAny":null}]},"actions":{"actionGroups":[]},"enabled":true,"description":null},"identity":null}'}
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002","type":"Microsoft.Insights/ActivityLogAlerts","name":"clialert000002","location":"Global","kind":null,"tags":{},"properties":{"scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgfvt7isgkbrf6gqvjl6mor7z4agev5lxtcso6736oivotpqnwf6ziuuhdvp4dlpnv","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgfvt7isgkbrf6gqvjl6mor7z4agev5lxtcso6736oivotpqnwf6ziuuhdvp4dlpn"],"condition":{"allOf":[{"field":"category","equals":"ServiceHealth","containsAny":null}]},"actions":{"actionGroups":[]},"enabled":true,"description":null},"identity":null}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['988']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:29 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:38 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
|
@ -291,7 +290,7 @@ interactions:
|
|||
x-content-type-options: [nosniff]
|
||||
status: {code: 200, message: OK}
|
||||
- request:
|
||||
body: '{"location": "Global", "tags": {}, "properties": {"scopes": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggxz5k7km4noy7ul4grh55eqr4ypja3rzenavcg6d65g6mjm5bbp2vmjr6ashmdl"],
|
||||
body: '{"location": "Global", "tags": {}, "properties": {"scopes": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgfvt7isgkbrf6gqvjl6mor7z4agev5lxtcso6736oivotpqnwf6ziuuhdvp4dlpn"],
|
||||
"enabled": true, "condition": {"allOf": [{"field": "category", "equals": "ServiceHealth"}]},
|
||||
"actions": {"actionGroups": []}}}'
|
||||
headers:
|
||||
|
@ -301,18 +300,18 @@ interactions:
|
|||
Connection: [keep-alive]
|
||||
Content-Length: ['332']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: PUT
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002?api-version=2017-04-01
|
||||
response:
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002","type":"Microsoft.Insights/ActivityLogAlerts","name":"clialert000002","location":"Global","kind":null,"tags":{},"properties":{"scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggxz5k7km4noy7ul4grh55eqr4ypja3rzenavcg6d65g6mjm5bbp2vmjr6ashmdl"],"condition":{"allOf":[{"field":"category","equals":"ServiceHealth","containsAny":null}]},"actions":{"actionGroups":[]},"enabled":true,"description":null},"identity":null}'}
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002","type":"Microsoft.Insights/ActivityLogAlerts","name":"clialert000002","location":"Global","kind":null,"tags":{},"properties":{"scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgfvt7isgkbrf6gqvjl6mor7z4agev5lxtcso6736oivotpqnwf6ziuuhdvp4dlpn"],"condition":{"allOf":[{"field":"category","equals":"ServiceHealth","containsAny":null}]},"actions":{"actionGroups":[]},"enabled":true,"description":null},"identity":null}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['699']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:29 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:39 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
|
@ -320,7 +319,7 @@ interactions:
|
|||
transfer-encoding: [chunked]
|
||||
vary: ['Accept-Encoding,Accept-Encoding']
|
||||
x-content-type-options: [nosniff]
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1197']
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1199']
|
||||
status: {code: 200, message: OK}
|
||||
- request:
|
||||
body: null
|
||||
|
@ -330,18 +329,18 @@ interactions:
|
|||
CommandName: [monitor activity-log alert scope add]
|
||||
Connection: [keep-alive]
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: GET
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002?api-version=2017-04-01
|
||||
response:
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002","type":"Microsoft.Insights/ActivityLogAlerts","name":"clialert000002","location":"Global","kind":null,"tags":{},"properties":{"scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggxz5k7km4noy7ul4grh55eqr4ypja3rzenavcg6d65g6mjm5bbp2vmjr6ashmdl"],"condition":{"allOf":[{"field":"category","equals":"ServiceHealth","containsAny":null}]},"actions":{"actionGroups":[]},"enabled":true,"description":null},"identity":null}'}
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002","type":"Microsoft.Insights/ActivityLogAlerts","name":"clialert000002","location":"Global","kind":null,"tags":{},"properties":{"scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgfvt7isgkbrf6gqvjl6mor7z4agev5lxtcso6736oivotpqnwf6ziuuhdvp4dlpn"],"condition":{"allOf":[{"field":"category","equals":"ServiceHealth","containsAny":null}]},"actions":{"actionGroups":[]},"enabled":true,"description":null},"identity":null}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['699']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:30 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:39 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
|
@ -351,9 +350,9 @@ interactions:
|
|||
x-content-type-options: [nosniff]
|
||||
status: {code: 200, message: OK}
|
||||
- request:
|
||||
body: 'b''{"location": "Global", "tags": {}, "properties": {"scopes": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001",
|
||||
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggxz5k7km4noy7ul4grh55eqr4ypja3rzenavcg6d65g6mjm5bbp2vmjr6ashmdlo",
|
||||
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggxz5k7km4noy7ul4grh55eqr4ypja3rzenavcg6d65g6mjm5bbp2vmjr6ashmdl"],
|
||||
body: 'b''{"location": "Global", "tags": {}, "properties": {"scopes": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgfvt7isgkbrf6gqvjl6mor7z4agev5lxtcso6736oivotpqnwf6ziuuhdvp4dlpnv",
|
||||
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001",
|
||||
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgfvt7isgkbrf6gqvjl6mor7z4agev5lxtcso6736oivotpqnwf6ziuuhdvp4dlpn"],
|
||||
"enabled": true, "condition": {"allOf": [{"field": "category", "equals": "ServiceHealth"}]},
|
||||
"actions": {"actionGroups": []}}}'''
|
||||
headers:
|
||||
|
@ -363,18 +362,18 @@ interactions:
|
|||
Connection: [keep-alive]
|
||||
Content-Length: ['623']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: PUT
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002?api-version=2017-04-01
|
||||
response:
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002","type":"Microsoft.Insights/ActivityLogAlerts","name":"clialert000002","location":"Global","kind":null,"tags":{},"properties":{"scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggxz5k7km4noy7ul4grh55eqr4ypja3rzenavcg6d65g6mjm5bbp2vmjr6ashmdlo","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggxz5k7km4noy7ul4grh55eqr4ypja3rzenavcg6d65g6mjm5bbp2vmjr6ashmdl"],"condition":{"allOf":[{"field":"category","equals":"ServiceHealth","containsAny":null}]},"actions":{"actionGroups":[]},"enabled":true,"description":null},"identity":null}'}
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002","type":"Microsoft.Insights/ActivityLogAlerts","name":"clialert000002","location":"Global","kind":null,"tags":{},"properties":{"scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgfvt7isgkbrf6gqvjl6mor7z4agev5lxtcso6736oivotpqnwf6ziuuhdvp4dlpnv","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgfvt7isgkbrf6gqvjl6mor7z4agev5lxtcso6736oivotpqnwf6ziuuhdvp4dlpn"],"condition":{"allOf":[{"field":"category","equals":"ServiceHealth","containsAny":null}]},"actions":{"actionGroups":[]},"enabled":true,"description":null},"identity":null}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['988']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:32 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:39 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
|
@ -382,7 +381,7 @@ interactions:
|
|||
transfer-encoding: [chunked]
|
||||
vary: ['Accept-Encoding,Accept-Encoding']
|
||||
x-content-type-options: [nosniff]
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1199']
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1196']
|
||||
status: {code: 200, message: OK}
|
||||
- request:
|
||||
body: null
|
||||
|
@ -392,18 +391,18 @@ interactions:
|
|||
CommandName: [monitor activity-log alert scope remove]
|
||||
Connection: [keep-alive]
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: GET
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002?api-version=2017-04-01
|
||||
response:
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002","type":"Microsoft.Insights/ActivityLogAlerts","name":"clialert000002","location":"Global","kind":null,"tags":{},"properties":{"scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggxz5k7km4noy7ul4grh55eqr4ypja3rzenavcg6d65g6mjm5bbp2vmjr6ashmdlo","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggxz5k7km4noy7ul4grh55eqr4ypja3rzenavcg6d65g6mjm5bbp2vmjr6ashmdl"],"condition":{"allOf":[{"field":"category","equals":"ServiceHealth","containsAny":null}]},"actions":{"actionGroups":[]},"enabled":true,"description":null},"identity":null}'}
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002","type":"Microsoft.Insights/ActivityLogAlerts","name":"clialert000002","location":"Global","kind":null,"tags":{},"properties":{"scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgfvt7isgkbrf6gqvjl6mor7z4agev5lxtcso6736oivotpqnwf6ziuuhdvp4dlpnv","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgfvt7isgkbrf6gqvjl6mor7z4agev5lxtcso6736oivotpqnwf6ziuuhdvp4dlpn"],"condition":{"allOf":[{"field":"category","equals":"ServiceHealth","containsAny":null}]},"actions":{"actionGroups":[]},"enabled":true,"description":null},"identity":null}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['988']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:32 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:40 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
|
@ -413,8 +412,8 @@ interactions:
|
|||
x-content-type-options: [nosniff]
|
||||
status: {code: 200, message: OK}
|
||||
- request:
|
||||
body: '{"location": "Global", "tags": {}, "properties": {"scopes": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggxz5k7km4noy7ul4grh55eqr4ypja3rzenavcg6d65g6mjm5bbp2vmjr6ashmdlo",
|
||||
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggxz5k7km4noy7ul4grh55eqr4ypja3rzenavcg6d65g6mjm5bbp2vmjr6ashmdl"],
|
||||
body: '{"location": "Global", "tags": {}, "properties": {"scopes": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgfvt7isgkbrf6gqvjl6mor7z4agev5lxtcso6736oivotpqnwf6ziuuhdvp4dlpnv",
|
||||
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgfvt7isgkbrf6gqvjl6mor7z4agev5lxtcso6736oivotpqnwf6ziuuhdvp4dlpn"],
|
||||
"enabled": true, "condition": {"allOf": [{"field": "category", "equals": "ServiceHealth"}]},
|
||||
"actions": {"actionGroups": []}}}'
|
||||
headers:
|
||||
|
@ -424,18 +423,18 @@ interactions:
|
|||
Connection: [keep-alive]
|
||||
Content-Length: ['477']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: PUT
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002?api-version=2017-04-01
|
||||
response:
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002","type":"Microsoft.Insights/ActivityLogAlerts","name":"clialert000002","location":"Global","kind":null,"tags":{},"properties":{"scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggxz5k7km4noy7ul4grh55eqr4ypja3rzenavcg6d65g6mjm5bbp2vmjr6ashmdlo","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggxz5k7km4noy7ul4grh55eqr4ypja3rzenavcg6d65g6mjm5bbp2vmjr6ashmdl"],"condition":{"allOf":[{"field":"category","equals":"ServiceHealth","containsAny":null}]},"actions":{"actionGroups":[]},"enabled":true,"description":null},"identity":null}'}
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002","type":"Microsoft.Insights/ActivityLogAlerts","name":"clialert000002","location":"Global","kind":null,"tags":{},"properties":{"scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgfvt7isgkbrf6gqvjl6mor7z4agev5lxtcso6736oivotpqnwf6ziuuhdvp4dlpnv","/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgfvt7isgkbrf6gqvjl6mor7z4agev5lxtcso6736oivotpqnwf6ziuuhdvp4dlpn"],"condition":{"allOf":[{"field":"category","equals":"ServiceHealth","containsAny":null}]},"actions":{"actionGroups":[]},"enabled":true,"description":null},"identity":null}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['843']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:33 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:40 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
|
@ -443,7 +442,7 @@ interactions:
|
|||
transfer-encoding: [chunked]
|
||||
vary: ['Accept-Encoding,Accept-Encoding']
|
||||
x-content-type-options: [nosniff]
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1199']
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1198']
|
||||
status: {code: 200, message: OK}
|
||||
- request:
|
||||
body: null
|
||||
|
@ -454,9 +453,8 @@ interactions:
|
|||
Connection: [keep-alive]
|
||||
Content-Length: ['0']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 resourcemanagementclient/1.2.1 Azure-SDK-For-Python
|
||||
AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 resourcemanagementclient/2.0.0 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: DELETE
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01
|
||||
|
@ -465,12 +463,12 @@ interactions:
|
|||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['0']
|
||||
date: ['Thu, 15 Mar 2018 16:43:33 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:41 GMT']
|
||||
expires: ['-1']
|
||||
location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdHWFo1SzdLTTROT1k3VUw0R1JINTVFUVI0WVBKQTNSWkVOQXw1NkEwMTJDNTNGRjQ3M0FFLVNPVVRIQ0VOVFJBTFVTIiwiam9iTG9jYXRpb24iOiJzb3V0aGNlbnRyYWx1cyJ9?api-version=2018-05-01']
|
||||
location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdGVlQ3SVNHS0JSRjZHUVZKTDZNT1I3WjRBR0VWNUxYVENTT3xBRjQ1Q0VDMERCQzhFNzI5LVNPVVRIQ0VOVFJBTFVTIiwiam9iTG9jYXRpb24iOiJzb3V0aGNlbnRyYWx1cyJ9?api-version=2018-05-01']
|
||||
pragma: [no-cache]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
x-content-type-options: [nosniff]
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1198']
|
||||
x-ms-ratelimit-remaining-subscription-deletes: ['14999']
|
||||
status: {code: 202, message: Accepted}
|
||||
version: 1
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
interactions:
|
||||
- request:
|
||||
body: '{"location": "southcentralus", "tags": {"use": "az-test"}}'
|
||||
body: '{"location": "southcentralus", "tags": {"product": "azurecli", "cause":
|
||||
"automation", "date": "2018-08-15T00:26:42Z"}}'
|
||||
headers:
|
||||
Accept: [application/json]
|
||||
Accept-Encoding: ['gzip, deflate']
|
||||
CommandName: [group create]
|
||||
Connection: [keep-alive]
|
||||
Content-Length: ['58']
|
||||
Content-Length: ['118']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 resourcemanagementclient/1.2.1 Azure-SDK-For-Python
|
||||
AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 resourcemanagementclient/2.0.0 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: PUT
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01
|
||||
response:
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"use":"az-test"},"properties":{"provisioningState":"Succeeded"}}'}
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"product":"azurecli","cause":"automation","date":"2018-08-15T00:26:42Z"},"properties":{"provisioningState":"Succeeded"}}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['336']
|
||||
content-length: ['392']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:35 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:43 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
|
@ -35,19 +35,18 @@ interactions:
|
|||
CommandName: [group show]
|
||||
Connection: [keep-alive]
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 resourcemanagementclient/1.2.1 Azure-SDK-For-Python
|
||||
AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 resourcemanagementclient/2.0.0 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: GET
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01
|
||||
response:
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"use":"az-test"},"properties":{"provisioningState":"Succeeded"}}'}
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"product":"azurecli","cause":"automation","date":"2018-08-15T00:26:42Z"},"properties":{"provisioningState":"Succeeded"}}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['336']
|
||||
content-length: ['392']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:35 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:44 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
|
@ -62,8 +61,8 @@ interactions:
|
|||
CommandName: [monitor activity-log alert create]
|
||||
Connection: [keep-alive]
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: GET
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002?api-version=2017-04-01
|
||||
|
@ -74,7 +73,7 @@ interactions:
|
|||
cache-control: [no-cache]
|
||||
content-length: ['248']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:36 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:44 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
|
@ -92,8 +91,8 @@ interactions:
|
|||
Connection: [keep-alive]
|
||||
Content-Length: ['322']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: PUT
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002?api-version=2017-04-01
|
||||
|
@ -103,13 +102,13 @@ interactions:
|
|||
cache-control: [no-cache]
|
||||
content-length: ['701']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:38 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:46 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
x-content-type-options: [nosniff]
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1179']
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1198']
|
||||
status: {code: 201, message: Created}
|
||||
- request:
|
||||
body: null
|
||||
|
@ -119,8 +118,8 @@ interactions:
|
|||
CommandName: [monitor activity-log alert show]
|
||||
Connection: [keep-alive]
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: GET
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002?api-version=2017-04-01
|
||||
|
@ -130,7 +129,7 @@ interactions:
|
|||
cache-control: [no-cache]
|
||||
content-length: ['701']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:43 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:53 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
|
@ -147,8 +146,8 @@ interactions:
|
|||
CommandName: [monitor activity-log alert create]
|
||||
Connection: [keep-alive]
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: GET
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002?api-version=2017-04-01
|
||||
|
@ -158,7 +157,7 @@ interactions:
|
|||
cache-control: [no-cache]
|
||||
content-length: ['701']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:44 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:53 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
|
@ -176,9 +175,8 @@ interactions:
|
|||
Connection: [keep-alive]
|
||||
Content-Length: ['0']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 resourcemanagementclient/1.2.1 Azure-SDK-For-Python
|
||||
AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 resourcemanagementclient/2.0.0 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: DELETE
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01
|
||||
|
@ -187,12 +185,12 @@ interactions:
|
|||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['0']
|
||||
date: ['Thu, 15 Mar 2018 16:43:45 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:53 GMT']
|
||||
expires: ['-1']
|
||||
location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdGM01TQlRZT0VCVFlIQTZWRkpBSURLREhGTFRTVENRRjNSRHxCOTUwNzEzMTBBMUI1QTJCLVNPVVRIQ0VOVFJBTFVTIiwiam9iTG9jYXRpb24iOiJzb3V0aGNlbnRyYWx1cyJ9?api-version=2018-05-01']
|
||||
location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdVQTRZUVA2Rkc3TVpFNVBSSERQT09GNExLV1pVUk9RVEJCNXwwNjBGQTRERjc5Rjk0QkVCLVNPVVRIQ0VOVFJBTFVTIiwiam9iTG9jYXRpb24iOiJzb3V0aGNlbnRyYWx1cyJ9?api-version=2018-05-01']
|
||||
pragma: [no-cache]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
x-content-type-options: [nosniff]
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1197']
|
||||
x-ms-ratelimit-remaining-subscription-deletes: ['14998']
|
||||
status: {code: 202, message: Accepted}
|
||||
version: 1
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
interactions:
|
||||
- request:
|
||||
body: '{"location": "southcentralus", "tags": {"use": "az-test"}}'
|
||||
body: '{"location": "southcentralus", "tags": {"product": "azurecli", "cause":
|
||||
"automation", "date": "2018-08-15T00:26:54Z"}}'
|
||||
headers:
|
||||
Accept: [application/json]
|
||||
Accept-Encoding: ['gzip, deflate']
|
||||
CommandName: [group create]
|
||||
Connection: [keep-alive]
|
||||
Content-Length: ['58']
|
||||
Content-Length: ['118']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 resourcemanagementclient/1.2.1 Azure-SDK-For-Python
|
||||
AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 resourcemanagementclient/2.0.0 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: PUT
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01
|
||||
response:
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"use":"az-test"},"properties":{"provisioningState":"Succeeded"}}'}
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"product":"azurecli","cause":"automation","date":"2018-08-15T00:26:54Z"},"properties":{"provisioningState":"Succeeded"}}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['336']
|
||||
content-length: ['392']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:47 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:55 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
|
@ -35,8 +35,8 @@ interactions:
|
|||
CommandName: [monitor activity-log alert create]
|
||||
Connection: [keep-alive]
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: GET
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002?api-version=2017-04-01
|
||||
|
@ -47,7 +47,7 @@ interactions:
|
|||
cache-control: [no-cache]
|
||||
content-length: ['248']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:47 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:56 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
|
@ -65,8 +65,8 @@ interactions:
|
|||
Connection: [keep-alive]
|
||||
Content-Length: ['323']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: PUT
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000002?api-version=2017-04-01
|
||||
|
@ -76,13 +76,13 @@ interactions:
|
|||
cache-control: [no-cache]
|
||||
content-length: ['702']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:50 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:57 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
x-content-type-options: [nosniff]
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1198']
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1199']
|
||||
status: {code: 201, message: Created}
|
||||
- request:
|
||||
body: null
|
||||
|
@ -93,9 +93,8 @@ interactions:
|
|||
Connection: [keep-alive]
|
||||
Content-Length: ['0']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 resourcemanagementclient/1.2.1 Azure-SDK-For-Python
|
||||
AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 resourcemanagementclient/2.0.0 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: DELETE
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01
|
||||
|
@ -104,12 +103,12 @@ interactions:
|
|||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['0']
|
||||
date: ['Thu, 15 Mar 2018 16:43:51 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:26:59 GMT']
|
||||
expires: ['-1']
|
||||
location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdLTzRIR1FCMzVLWlVaSkhQSlJPNlVHVTZJNkpHNFRNVkpDTXxFRUExN0YxQzc4MkMwNUE5LVNPVVRIQ0VOVFJBTFVTIiwiam9iTG9jYXRpb24iOiJzb3V0aGNlbnRyYWx1cyJ9?api-version=2018-05-01']
|
||||
location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdPNVJRUDZSVFRQUVhVV0tWR1VPN0pPRjQ3WFVQSU9CM0tWV3w4OUM3REQwRENFRTY1OTk3LVNPVVRIQ0VOVFJBTFVTIiwiam9iTG9jYXRpb24iOiJzb3V0aGNlbnRyYWx1cyJ9?api-version=2018-05-01']
|
||||
pragma: [no-cache]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
x-content-type-options: [nosniff]
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1199']
|
||||
x-ms-ratelimit-remaining-subscription-deletes: ['14998']
|
||||
status: {code: 202, message: Accepted}
|
||||
version: 1
|
||||
|
|
|
@ -1,31 +1,31 @@
|
|||
interactions:
|
||||
- request:
|
||||
body: '{"location": "southcentralus", "tags": {"use": "az-test"}}'
|
||||
body: '{"location": "southcentralus", "tags": {"product": "azurecli", "cause":
|
||||
"automation", "date": "2018-08-15T00:26:59Z"}}'
|
||||
headers:
|
||||
Accept: [application/json]
|
||||
Accept-Encoding: ['gzip, deflate']
|
||||
CommandName: [group create]
|
||||
Connection: [keep-alive]
|
||||
Content-Length: ['58']
|
||||
Content-Length: ['118']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 resourcemanagementclient/1.2.1 Azure-SDK-For-Python
|
||||
AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 resourcemanagementclient/2.0.0 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: PUT
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01
|
||||
response:
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"use":"az-test"},"properties":{"provisioningState":"Succeeded"}}'}
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"product":"azurecli","cause":"automation","date":"2018-08-15T00:26:59Z"},"properties":{"provisioningState":"Succeeded"}}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['336']
|
||||
content-length: ['392']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:53 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:27:01 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
x-content-type-options: [nosniff]
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1189']
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1199']
|
||||
status: {code: 201, message: Created}
|
||||
- request:
|
||||
body: null
|
||||
|
@ -35,19 +35,18 @@ interactions:
|
|||
CommandName: [group show]
|
||||
Connection: [keep-alive]
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 resourcemanagementclient/1.2.1 Azure-SDK-For-Python
|
||||
AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 resourcemanagementclient/2.0.0 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: GET
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01
|
||||
response:
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"use":"az-test"},"properties":{"provisioningState":"Succeeded"}}'}
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","location":"southcentralus","tags":{"product":"azurecli","cause":"automation","date":"2018-08-15T00:26:59Z"},"properties":{"provisioningState":"Succeeded"}}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['336']
|
||||
content-length: ['392']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:54 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:27:01 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
|
@ -55,7 +54,7 @@ interactions:
|
|||
x-content-type-options: [nosniff]
|
||||
status: {code: 200, message: OK}
|
||||
- request:
|
||||
body: '{"location": "global", "properties": {"groupShortName": "cliactnviawe",
|
||||
body: '{"location": "global", "properties": {"groupShortName": "cliactgssprq",
|
||||
"enabled": true, "emailReceivers": [], "smsReceivers": [], "webhookReceivers":
|
||||
[]}}'
|
||||
headers:
|
||||
|
@ -65,18 +64,18 @@ interactions:
|
|||
Connection: [keep-alive]
|
||||
Content-Length: ['155']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: PUT
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups/cliact000002?api-version=2017-04-01
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups/cliact000002?api-version=2018-03-01
|
||||
response:
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups/cliact000002","type":"Microsoft.Insights/ActionGroups","name":"cliact000002","location":"Global","kind":null,"tags":null,"properties":{"groupShortName":"cliactnviawe","enabled":true,"emailReceivers":[],"smsReceivers":[],"webhookReceivers":[],"itsmReceivers":[],"azureAppPushReceivers":[],"automationRunbookReceivers":[],"voiceReceivers":[],"logicAppReceivers":[],"azureFunctionReceivers":[]},"identity":null}'}
|
||||
body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/actionGroups/cliact000002","type":"Microsoft.Insights/ActionGroups","name":"cliact000002","location":"Global","kind":null,"tags":null,"properties":{"groupShortName":"cliactgssprq","enabled":true,"emailReceivers":[],"smsReceivers":[],"webhookReceivers":[],"itsmReceivers":[],"azureAppPushReceivers":[],"automationRunbookReceivers":[],"voiceReceivers":[],"logicAppReceivers":[],"azureFunctionReceivers":[]},"identity":null}'}
|
||||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['640']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:55 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:27:03 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
|
@ -92,8 +91,8 @@ interactions:
|
|||
CommandName: [monitor activity-log alert create]
|
||||
Connection: [keep-alive]
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: GET
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000003?api-version=2017-04-01
|
||||
|
@ -104,7 +103,7 @@ interactions:
|
|||
cache-control: [no-cache]
|
||||
content-length: ['248']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:56 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:27:03 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
|
@ -123,8 +122,8 @@ interactions:
|
|||
Connection: [keep-alive]
|
||||
Content-Length: ['595']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 azure-mgmt-monitor/0.5.0 Azure-SDK-For-Python AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 azure-mgmt-monitor/0.5.2 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: PUT
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/activityLogAlerts/clialert000003?api-version=2017-04-01
|
||||
|
@ -134,13 +133,13 @@ interactions:
|
|||
cache-control: [no-cache]
|
||||
content-length: ['1013']
|
||||
content-type: [application/json; charset=utf-8]
|
||||
date: ['Thu, 15 Mar 2018 16:43:57 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:27:04 GMT']
|
||||
expires: ['-1']
|
||||
pragma: [no-cache]
|
||||
server: [Microsoft-IIS/8.5]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
x-content-type-options: [nosniff]
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1198']
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1197']
|
||||
status: {code: 201, message: Created}
|
||||
- request:
|
||||
body: null
|
||||
|
@ -151,9 +150,8 @@ interactions:
|
|||
Connection: [keep-alive]
|
||||
Content-Length: ['0']
|
||||
Content-Type: [application/json; charset=utf-8]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27
|
||||
msrest_azure/0.4.22 resourcemanagementclient/1.2.1 Azure-SDK-For-Python
|
||||
AZURECLI/2.0.30]
|
||||
User-Agent: [python/3.6.1 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4
|
||||
msrest_azure/0.5.0 resourcemanagementclient/2.0.0 Azure-SDK-For-Python AZURECLI/2.0.45]
|
||||
accept-language: [en-US]
|
||||
method: DELETE
|
||||
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2018-05-01
|
||||
|
@ -162,12 +160,12 @@ interactions:
|
|||
headers:
|
||||
cache-control: [no-cache]
|
||||
content-length: ['0']
|
||||
date: ['Thu, 15 Mar 2018 16:43:59 GMT']
|
||||
date: ['Wed, 15 Aug 2018 00:27:05 GMT']
|
||||
expires: ['-1']
|
||||
location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdUV1hESVpYU0s1VjVJWEgyM1pPNFo2TzVSTjNPVTJGUUk1SHxDRDBBMDQyMjlBMjBENDExLVNPVVRIQ0VOVFJBTFVTIiwiam9iTG9jYXRpb24iOiJzb3V0aGNlbnRyYWx1cyJ9?api-version=2018-05-01']
|
||||
location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjJFUkdITFVXM0dNSVJKUVdMM1VDQTNWN0ZNNjJIQkNKMzJZWUhMRnxDNTI3MDVGOUE2MDUwREMwLVNPVVRIQ0VOVFJBTFVTIiwiam9iTG9jYXRpb24iOiJzb3V0aGNlbnRyYWx1cyJ9?api-version=2018-05-01']
|
||||
pragma: [no-cache]
|
||||
strict-transport-security: [max-age=31536000; includeSubDomains]
|
||||
x-content-type-options: [nosniff]
|
||||
x-ms-ratelimit-remaining-subscription-writes: ['1196']
|
||||
x-ms-ratelimit-remaining-subscription-deletes: ['14999']
|
||||
status: {code: 202, message: Accepted}
|
||||
version: 1
|
||||
|
|
|
@ -3,10 +3,59 @@
|
|||
# Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
# --------------------------------------------------------------------------------------------
|
||||
|
||||
from azure.cli.testsdk import ScenarioTest, JMESPathCheck, ResourceGroupPreparer
|
||||
from azure.cli.testsdk import ScenarioTest, JMESPathCheck, ResourceGroupPreparer, StorageAccountPreparer
|
||||
|
||||
|
||||
class MonitorTests(ScenarioTest):
|
||||
|
||||
@ResourceGroupPreparer(name_prefix='cli_test_metric_alert_v2')
|
||||
@StorageAccountPreparer()
|
||||
def test_metric_alert_v2_scenario(self, resource_group, storage_account):
|
||||
|
||||
from msrestazure.tools import resource_id
|
||||
self.kwargs.update({
|
||||
'alert': 'alert1',
|
||||
'sa': storage_account,
|
||||
'ag1': 'ag1',
|
||||
'ag2': 'ag2',
|
||||
'webhooks': '{{test=banoodle}}',
|
||||
'sub': self.get_subscription_id(),
|
||||
'sa_id': resource_id(
|
||||
resource_group=resource_group,
|
||||
subscription=self.get_subscription_id(),
|
||||
name=storage_account,
|
||||
namespace='Microsoft.Storage',
|
||||
type='storageAccounts')
|
||||
})
|
||||
self.cmd('monitor action-group create -g {rg} -n {ag1}')
|
||||
self.cmd('monitor action-group create -g {rg} -n {ag2}')
|
||||
self.cmd('monitor metrics alert create -g {rg} -n {alert} --scopes {sa_id} --action {ag1} --description "Test" --condition "total transactions > 5 where ResponseType includes Success and ApiName includes GetBlob" --condition "avg SuccessE2ELatency > 250 where ApiName includes GetBlob or PutBlob"', checks=[
|
||||
self.check('description', 'Test'),
|
||||
self.check('severity', 2),
|
||||
self.check('autoMitigate', None),
|
||||
self.check('windowSize', '0:05:00'),
|
||||
self.check('evaluationFrequency', '0:01:00'),
|
||||
self.check('length(criteria.allOf)', 2),
|
||||
self.check('length(criteria.allOf[0].dimensions)', 2),
|
||||
self.check('length(criteria.allOf[1].dimensions)', 1)
|
||||
])
|
||||
self.cmd('monitor metrics alert update -g {rg} -n {alert} --severity 3 --description "alt desc" --add-action ag2 test=best --remove-action ag1 --remove-condition cond0 --add-condition "total transactions < 100" --evaluation-frequency 5m --window-size 15m --tags foo=boo --auto-mitigate', checks=[
|
||||
self.check('description', 'alt desc'),
|
||||
self.check('severity', 3),
|
||||
self.check('autoMitigate', True),
|
||||
self.check('windowSize', '0:15:00'),
|
||||
self.check('evaluationFrequency', '0:05:00'),
|
||||
self.check('length(criteria.allOf)', 2),
|
||||
self.check('length(criteria.allOf[0].dimensions)', 1),
|
||||
self.check('length(criteria.allOf[1].dimensions)', 0)
|
||||
])
|
||||
self.cmd('monitor metrics alert list -g {rg}',
|
||||
checks=self.check('length(@)', 1))
|
||||
self.cmd('monitor metrics alert show -g {rg} -n {alert}')
|
||||
self.cmd('monitor metrics alert delete -g {rg} -n {alert}')
|
||||
self.cmd('monitor metrics alert list -g {rg}',
|
||||
checks=self.check('length(@)', 0))
|
||||
|
||||
@ResourceGroupPreparer(name_prefix='cli_test_monitor')
|
||||
def test_metric_alert_basic_scenarios(self, resource_group):
|
||||
vm = 'vm1'
|
||||
|
|
|
@ -273,3 +273,54 @@ def process_webhook_prop(namespace):
|
|||
result[key] = value
|
||||
|
||||
namespace.webhook_properties = result
|
||||
|
||||
|
||||
def get_action_group_validator(dest):
|
||||
def validate_action_groups(cmd, namespace):
|
||||
action_groups = getattr(namespace, dest, None)
|
||||
|
||||
if not action_groups:
|
||||
return
|
||||
|
||||
from msrestazure.tools import is_valid_resource_id, resource_id
|
||||
from azure.cli.core.commands.client_factory import get_subscription_id
|
||||
|
||||
subscription = get_subscription_id(cmd.cli_ctx)
|
||||
resource_group = namespace.resource_group_name
|
||||
for group in action_groups:
|
||||
if not is_valid_resource_id(group.action_group_id):
|
||||
group.action_group_id = resource_id(
|
||||
subscription=subscription,
|
||||
resource_group=resource_group,
|
||||
namespace='microsoft.insights',
|
||||
type='actionGroups',
|
||||
name=group.action_group_id
|
||||
)
|
||||
return validate_action_groups
|
||||
|
||||
|
||||
def get_action_group_id_validator(dest):
|
||||
def validate_action_group_ids(cmd, namespace):
|
||||
action_groups = getattr(namespace, dest, None)
|
||||
|
||||
if not action_groups:
|
||||
return
|
||||
|
||||
from msrestazure.tools import is_valid_resource_id, resource_id
|
||||
from azure.cli.core.commands.client_factory import get_subscription_id
|
||||
|
||||
action_group_ids = []
|
||||
subscription = get_subscription_id(cmd.cli_ctx)
|
||||
resource_group = namespace.resource_group_name
|
||||
for group in action_groups:
|
||||
if not is_valid_resource_id(group):
|
||||
group = resource_id(
|
||||
subscription=subscription,
|
||||
resource_group=resource_group,
|
||||
namespace='microsoft.insights',
|
||||
type='actionGroups',
|
||||
name=group
|
||||
)
|
||||
action_group_ids.append(group)
|
||||
setattr(namespace, dest, action_group_ids)
|
||||
return validate_action_group_ids
|
||||
|
|
|
@ -29,7 +29,7 @@ CLASSIFIERS = [
|
|||
|
||||
DEPENDENCIES = [
|
||||
'azure-cli-core',
|
||||
'azure-mgmt-monitor==0.5.0'
|
||||
'azure-mgmt-monitor==0.5.2'
|
||||
]
|
||||
|
||||
with open('README.rst', 'r', encoding='utf-8') as f:
|
||||
|
@ -52,7 +52,8 @@ setup(
|
|||
'azure.cli',
|
||||
'azure.cli.command_modules',
|
||||
'azure.cli.command_modules.monitor',
|
||||
'azure.cli.command_modules.monitor.operations'
|
||||
'azure.cli.command_modules.monitor.operations',
|
||||
'azure.cli.command_modules.monitor.grammar'
|
||||
],
|
||||
package_data={'azure.cli.command_modules.monitor.operations': ['autoscale-parameters-template.json']},
|
||||
install_requires=DEPENDENCIES,
|
||||
|
|
|
@ -2,6 +2,11 @@
|
|||
|
||||
Release History
|
||||
===============
|
||||
2.1.4
|
||||
++++++
|
||||
* Minor fixes.
|
||||
|
||||
|
||||
2.1.3
|
||||
++++++
|
||||
* role assignment: fix a recent regression that principalName is missing
|
||||
|
|
|
@ -14,7 +14,7 @@ except ImportError:
|
|||
logger.warn("Wheel is not available, disabling bdist_wheel hook")
|
||||
cmdclass = {}
|
||||
|
||||
VERSION = "2.1.3"
|
||||
VERSION = "2.1.4"
|
||||
|
||||
CLASSIFIERS = [
|
||||
'Development Status :: 5 - Production/Stable',
|
||||
|
@ -33,7 +33,7 @@ CLASSIFIERS = [
|
|||
DEPENDENCIES = [
|
||||
'azure-cli-core',
|
||||
'azure-mgmt-authorization==0.50.0',
|
||||
'azure-mgmt-monitor==0.5.0',
|
||||
'azure-mgmt-monitor==0.5.2',
|
||||
'azure-graphrbac==0.40.0',
|
||||
'azure-keyvault==1.1.0',
|
||||
'pytz'
|
||||
|
|
|
@ -24,7 +24,7 @@ CLASSIFIERS = [
|
|||
# Until https://gitlab.com/pycqa/flake8/issues/415 is resolved, pin version of pycodestyle
|
||||
DEPENDENCIES = [
|
||||
'autopep8>=1.2.4',
|
||||
'pylint>=1.7.1',
|
||||
'pylint==1.9.2',
|
||||
'coverage>=4.2',
|
||||
'flake8==3.5.0',
|
||||
'pycodestyle==2.3.1',
|
||||
|
|
Загрузка…
Ссылка в новой задаче