microsoft-cdktfconstructs 0.0.3.dev11__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. microsoft_cdktfconstructs/__init__.py +217 -0
  2. microsoft_cdktfconstructs/_jsii/__init__.py +31 -0
  3. microsoft_cdktfconstructs/_jsii/terraform-cdk-constructs@0.0.3-pre.11.jsii.tgz +0 -0
  4. microsoft_cdktfconstructs/azure_applicationgateway/__init__.py +823 -0
  5. microsoft_cdktfconstructs/azure_applicationinsights/__init__.py +397 -0
  6. microsoft_cdktfconstructs/azure_containerregistry/__init__.py +320 -0
  7. microsoft_cdktfconstructs/azure_eventhub/__init__.py +2213 -0
  8. microsoft_cdktfconstructs/azure_functionapp/__init__.py +908 -0
  9. microsoft_cdktfconstructs/azure_keyvault/__init__.py +1982 -0
  10. microsoft_cdktfconstructs/azure_kubernetes/__init__.py +400 -0
  11. microsoft_cdktfconstructs/azure_kusto/__init__.py +2485 -0
  12. microsoft_cdktfconstructs/azure_loganalytics/__init__.py +652 -0
  13. microsoft_cdktfconstructs/azure_metricalert/__init__.py +1260 -0
  14. microsoft_cdktfconstructs/azure_networksecuritygroup/__init__.py +1742 -0
  15. microsoft_cdktfconstructs/azure_queryrulealert/__init__.py +1189 -0
  16. microsoft_cdktfconstructs/azure_resourcegroup/__init__.py +320 -0
  17. microsoft_cdktfconstructs/azure_storageaccount/__init__.py +1910 -0
  18. microsoft_cdktfconstructs/azure_virtualmachine/__init__.py +1460 -0
  19. microsoft_cdktfconstructs/azure_virtualmachinescaleset/__init__.py +1185 -0
  20. microsoft_cdktfconstructs/azure_virtualnetwork/__init__.py +707 -0
  21. microsoft_cdktfconstructs/core_azure/__init__.py +931 -0
  22. microsoft_cdktfconstructs/py.typed +1 -0
  23. microsoft_cdktfconstructs-0.0.3.dev11.dist-info/LICENSE +19 -0
  24. microsoft_cdktfconstructs-0.0.3.dev11.dist-info/METADATA +188 -0
  25. microsoft_cdktfconstructs-0.0.3.dev11.dist-info/RECORD +27 -0
  26. microsoft_cdktfconstructs-0.0.3.dev11.dist-info/WHEEL +5 -0
  27. microsoft_cdktfconstructs-0.0.3.dev11.dist-info/top_level.txt +1 -0
@@ -0,0 +1,1189 @@
1
+ '''
2
+ # Azure Scheduled Query Rule Alert Construct
3
+
4
+ This class represents a Scheduled Query Rule Alert resource (a.k.a. Log Query Alert) in Azure.
5
+
6
+ ## What is Azure Scheduled Query Rule Alert?
7
+
8
+ An Azure Scheduled Query Rule Alert lets us monitor a specific condition in Azure resources using log data. We can use KQL language to analyze logs, set alert triggering conditions when query results meet defined conditions, and configure notifications to respond to potential problems timely. This helps maintain the health, performance, and security of our Azure environment.
9
+
10
+ You can learn more about Azure Query Rule Alert in the [official Azure documentation](https://learn.microsoft.com/en-us/azure/azure-monitor/alerts/tutorial-log-alert).
11
+
12
+ ## Azure Scheduled Query Rule Alert Class Properties
13
+
14
+ This class has several properties that control the Alert Rules:
15
+
16
+ * `name`: The name of the Monitor Scheduled Query Rule.
17
+ * `resourceGroupName`: The name of the resource group in which the Monitor Scheduled Query Rule is created.
18
+ * `location`: The location of the Monitor Scheduled Query Rule.
19
+ * `criteriaOperator`: Specifies the criteria operator. Possible values are Equal, GreaterThan, GreaterThanOrEqual, LessThan,and LessThanOrEqual.
20
+ * `criteriaQuery`: The query to run on logs. The results returned by this query are used to populate the alert.
21
+ * `criteriaThreshold`: Specifies the criteria threshold value that activates the alert.
22
+ * `criteriatimeAggregationMethod`: The type of aggregation to apply to the data points in aggregation granularity. Possible values are Average, Count, Maximum, Minimum,and Total.
23
+ * `criteriaMetricMeasureColumn`: Specifies the column containing the metric measure number.
24
+ * `evaluationFrequency`: How often the scheduled query rule is evaluated, represented in ISO 8601 duration format. Possible values are PT1M, PT5M, PT10M, PT15M, PT30M, PT45M, PT1H, PT2H, PT3H, PT4H, PT5H, PT6H, P1D.
25
+ * `scopes`: Specifies the list of resource IDs that this scheduled query rule is scoped to.
26
+ * `severity`: Severity of the alert. Should be an integer between 0 and 4. Value of 0 is severest.
27
+ * `windowDuration`: Specifies the period of time in ISO 8601 duration format on which the Scheduled Query Rule will be executed (bin size).
28
+ * `criteriaDimension`: (Optional) Specifies the dimension of the criteria.
29
+
30
+ * `name`: Name of the dimension.
31
+ * `operator`: Operator for dimension values. Possible values are Exclude,and Include.
32
+ * `values`: List of dimension values. Use a wildcard * to collect all.
33
+ * `criteriaFailingPeriods`: (Optional) Specifies the number of evaluation periods.
34
+
35
+ * `minimumFailingPeriodsToTriggerAlert`: Specifies the number of violations to trigger an alert. Should be smaller or equal to number_of_evaluation_periods. Possible value is integer between 1 and 6.
36
+ * `numberOfEvaluationPeriods`: Specifies the number of evaluation periods. Possible value is integer between 1 and 6.
37
+ * `actionActionGroupId`: (Optional) Specifies the action group IDs to trigger when the alert fires.
38
+ * `autoMitigationEnabled`: (Optional) Specifies the flag that indicates whether the alert should be automatically resolved or not. Defaults to false.
39
+ * `workspaceAlertsStorageEnabled`: (Optional) Specifies the flag which indicates whether this scheduled query rule check if storage is configured. Defaults to false.
40
+ * `description`: (Optional) Specifies the description of the scheduled query rule.
41
+ * `displayName`: (Optional) Specifies the display name of the alert rule.
42
+ * `enabled`: (Optional) Specifies the flag which indicates whether this scheduled query rule is enabled. Defaults to true.
43
+ * `muteActionsAfterAlertDuration`: (Optional) Mute actions for the chosen period of time in ISO 8601 duration format after the alert is fired. Possible values are PT5M, PT10M, PT15M, PT30M, PT45M, PT1H, PT2H, PT3H, PT4H, PT5H, PT6H, P1D and P2D.
44
+ * `queryTimeRangeOverride`: (Optional) Set this if the alert evaluation period is different from the query time range. If not specified, the value is window_duration*number_of_evaluation_periods. Possible values are PT5M, PT10M, PT15M, PT20M, PT30M, PT45M, PT1H, PT2H, PT3H, PT4H, PT5H, PT6H, P1D and P2D.
45
+ * `skipQueryValidation`: (Optional) Specifies the flag which indicates whether the provided query should be validated or not. Defaults to true.
46
+ * `tags`: (Optional) A mapping of tags which should be assigned to the Monitor Scheduled Query Rule.
47
+
48
+ ## Deploying a Scheduled Query Rule Alert
49
+
50
+ You can deploy a Scheduled Query Rule Alert using this class like so:
51
+
52
+ ```python
53
+ // Create a Resource Group first
54
+ import * as rg from "../azure-resourcegroup";
55
+ const resourceGroup = new rg.Group(this, "myResourceGroup", {
56
+ name: 'myResourceGroup',
57
+ location: 'eastus',
58
+ });
59
+
60
+ // Create a Log Analytics Workspace
61
+ import * as law from "../azure-loganalytics";
62
+ const logAnalyticsWorkspace = new la.Workspace(this, 'myLogAnalytics', {
63
+ name: 'myLogAnalytics',
64
+ location: 'eastus',
65
+ resource_group_name: resourceGroup.name,
66
+ });
67
+
68
+ // Create a Scheduled Query Rule Alert with defult settings in Log Analytics Workspace
69
+ import * as queryalert from "../azure-queryrulealert";
70
+ const queryRuleAlert = new queryalert.QueryRuleAlert(this, 'queryRuleAlert', {
71
+ name: `qra-${this.name}`,
72
+ resourceGroupName: resourceGroup.name,
73
+ location: 'eastus',
74
+ criteriaOperator: "GreaterThan",
75
+ criteriaQuery: `
76
+ AppExceptions
77
+ | where Message has "file can not be reloaded"
78
+ `,
79
+ criteriaThreshold: 100,
80
+ criteriatimeAggregationMethod: "Count",
81
+ evaluationFrequency: "PT5M",
82
+ windowDuration: "PT30M",
83
+ scopes: [logAnalyticsWorkspace.id],
84
+ severity: 4,
85
+ criteriaFailingPeriods: {
86
+ minimumFailingPeriodsToTriggerAlert: 1,
87
+ numberOfEvaluationPeriods: 1,
88
+ },
89
+ });
90
+ ```
91
+
92
+ Full example can be found [here](test/ExampleAzureQueryRuleAlert.ts).
93
+ '''
94
+ from pkgutil import extend_path
95
+ __path__ = extend_path(__path__, __name__)
96
+
97
+ import abc
98
+ import builtins
99
+ import datetime
100
+ import enum
101
+ import typing
102
+
103
+ import jsii
104
+ import publication
105
+ import typing_extensions
106
+
107
+ from typeguard import check_type
108
+
109
+ from .._jsii import *
110
+
111
+ import cdktf_cdktf_provider_azurerm.resource_group as _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf
112
+ import constructs as _constructs_77d1e7e8
113
+
114
+
115
+ @jsii.data_type(
116
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_queryrulealert.BaseAzureQueryRuleAlertProps",
117
+ jsii_struct_bases=[],
118
+ name_mapping={
119
+ "criteria_operator": "criteriaOperator",
120
+ "criteria_query": "criteriaQuery",
121
+ "criteria_threshold": "criteriaThreshold",
122
+ "criteriatime_aggregation_method": "criteriatimeAggregationMethod",
123
+ "evaluation_frequency": "evaluationFrequency",
124
+ "location": "location",
125
+ "name": "name",
126
+ "resource_group": "resourceGroup",
127
+ "severity": "severity",
128
+ "window_duration": "windowDuration",
129
+ "action_action_group_id": "actionActionGroupId",
130
+ "auto_mitigation_enabled": "autoMitigationEnabled",
131
+ "criteria_dimension_name": "criteriaDimensionName",
132
+ "criteria_dimension_operator": "criteriaDimensionOperator",
133
+ "criteria_dimension_values": "criteriaDimensionValues",
134
+ "criteria_fail_minimum_failing_periods_to_trigger_alert": "criteriaFailMinimumFailingPeriodsToTriggerAlert",
135
+ "criteria_fail_number_of_evaluation_periods": "criteriaFailNumberOfEvaluationPeriods",
136
+ "criteria_metric_measure_column": "criteriaMetricMeasureColumn",
137
+ "description": "description",
138
+ "display_name": "displayName",
139
+ "enabled": "enabled",
140
+ "mute_actions_after_alert_duration": "muteActionsAfterAlertDuration",
141
+ "query_time_range_override": "queryTimeRangeOverride",
142
+ "skip_query_validation": "skipQueryValidation",
143
+ "tags": "tags",
144
+ "workspace_alerts_storage_enabled": "workspaceAlertsStorageEnabled",
145
+ },
146
+ )
147
+ class BaseAzureQueryRuleAlertProps:
148
+ def __init__(
149
+ self,
150
+ *,
151
+ criteria_operator: builtins.str,
152
+ criteria_query: builtins.str,
153
+ criteria_threshold: jsii.Number,
154
+ criteriatime_aggregation_method: builtins.str,
155
+ evaluation_frequency: builtins.str,
156
+ location: builtins.str,
157
+ name: builtins.str,
158
+ resource_group: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
159
+ severity: jsii.Number,
160
+ window_duration: builtins.str,
161
+ action_action_group_id: typing.Optional[typing.Sequence[builtins.str]] = None,
162
+ auto_mitigation_enabled: typing.Optional[builtins.bool] = None,
163
+ criteria_dimension_name: typing.Optional[builtins.str] = None,
164
+ criteria_dimension_operator: typing.Optional[builtins.str] = None,
165
+ criteria_dimension_values: typing.Optional[typing.Sequence[builtins.str]] = None,
166
+ criteria_fail_minimum_failing_periods_to_trigger_alert: typing.Optional[jsii.Number] = None,
167
+ criteria_fail_number_of_evaluation_periods: typing.Optional[jsii.Number] = None,
168
+ criteria_metric_measure_column: typing.Optional[builtins.str] = None,
169
+ description: typing.Optional[builtins.str] = None,
170
+ display_name: typing.Optional[builtins.str] = None,
171
+ enabled: typing.Optional[builtins.bool] = None,
172
+ mute_actions_after_alert_duration: typing.Optional[builtins.str] = None,
173
+ query_time_range_override: typing.Optional[builtins.str] = None,
174
+ skip_query_validation: typing.Optional[builtins.bool] = None,
175
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
176
+ workspace_alerts_storage_enabled: typing.Optional[builtins.bool] = None,
177
+ ) -> None:
178
+ '''
179
+ :param criteria_operator: Specifies the criteria operator. Possible values are Equal, GreaterThan, GreaterThanOrEqual, LessThan,and LessThanOrEqual.
180
+ :param criteria_query: The query to run on logs. The results returned by this query are used to populate the alert.
181
+ :param criteria_threshold: Specifies the criteria threshold value that activates the alert.
182
+ :param criteriatime_aggregation_method: The type of aggregation to apply to the data points in aggregation granularity. Possible values are Average, Count, Maximum, Minimum,and Total.
183
+ :param evaluation_frequency: How often the scheduled query rule is evaluated, represented in ISO 8601 duration format. Possible values are PT1M, PT5M, PT10M, PT15M, PT30M, PT45M, PT1H, PT2H, PT3H, PT4H, PT5H, PT6H, P1D.
184
+ :param location: The location of the Monitor Scheduled Query Rule.
185
+ :param name: The name of the Monitor Scheduled Query Rule.
186
+ :param resource_group: The name of the resource group in which the Monitor Scheduled Query Rule is created.
187
+ :param severity: Severity of the alert. Should be an integer between 0 and 4. Value of 0 is severest.
188
+ :param window_duration: Specifies the period of time in ISO 8601 duration format on which the Scheduled Query Rule will be executed (bin size).
189
+ :param action_action_group_id: Specifies the action group IDs to trigger when the alert fires.
190
+ :param auto_mitigation_enabled: Specifies the flag that indicates whether the alert should be automatically resolved or not. Default: false
191
+ :param criteria_dimension_name: Name of the dimension for criteria.
192
+ :param criteria_dimension_operator: Operator for dimension values. Possible values are Exclude, and Include.
193
+ :param criteria_dimension_values: List of dimension values. Use a wildcard * to collect all.
194
+ :param criteria_fail_minimum_failing_periods_to_trigger_alert: Specifies the number of violations to trigger an alert. Should be smaller or equal to number_of_evaluation_periods. Possible value is integer between 1 and 6.
195
+ :param criteria_fail_number_of_evaluation_periods: Specifies the number of evaluation periods. Possible value is integer between 1 and 6.
196
+ :param criteria_metric_measure_column: Specifies the column containing the metric measure number. criteriaMetricMeasureColumn is required if criteriatimeAggregationMethod is Average, Maximum, Minimum, or Total. And criteriaMetricMeasureColumn cannot be specified if criteriatimeAggregationMethod is Count.
197
+ :param description: Specifies the description of the scheduled query rule.
198
+ :param display_name: Specifies the display name of the alert rule.
199
+ :param enabled: Specifies the flag which indicates whether this scheduled query rule is enabled. Default: true
200
+ :param mute_actions_after_alert_duration: Mute actions for the chosen period of time in ISO 8601 duration format after the alert is fired. Possible values are PT5M, PT10M, PT15M, PT30M, PT45M, PT1H, PT2H, PT3H, PT4H, PT5H, PT6H, P1D and P2D.
201
+ :param query_time_range_override: Set this if the alert evaluation period is different from the query time range. If not specified, the value is window_duration*number_of_evaluation_periods. Possible values are PT5M, PT10M, PT15M, PT20M, PT30M, PT45M, PT1H, PT2H, PT3H, PT4H, PT5H, PT6H, P1D and P2D.
202
+ :param skip_query_validation: Specifies the flag which indicates whether the provided query should be validated or not. Default: true
203
+ :param tags: A mapping of tags which should be assigned to the Monitor Scheduled Query Rule.
204
+ :param workspace_alerts_storage_enabled: Specifies the flag which indicates whether this scheduled query rule check if storage is configured. Default: false
205
+ '''
206
+ if __debug__:
207
+ type_hints = typing.get_type_hints(_typecheckingstub__cfc4c48635f05a11dfa1bd2d50a2d15acf98f68750654cec7e5e36b3d1239110)
208
+ check_type(argname="argument criteria_operator", value=criteria_operator, expected_type=type_hints["criteria_operator"])
209
+ check_type(argname="argument criteria_query", value=criteria_query, expected_type=type_hints["criteria_query"])
210
+ check_type(argname="argument criteria_threshold", value=criteria_threshold, expected_type=type_hints["criteria_threshold"])
211
+ check_type(argname="argument criteriatime_aggregation_method", value=criteriatime_aggregation_method, expected_type=type_hints["criteriatime_aggregation_method"])
212
+ check_type(argname="argument evaluation_frequency", value=evaluation_frequency, expected_type=type_hints["evaluation_frequency"])
213
+ check_type(argname="argument location", value=location, expected_type=type_hints["location"])
214
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
215
+ check_type(argname="argument resource_group", value=resource_group, expected_type=type_hints["resource_group"])
216
+ check_type(argname="argument severity", value=severity, expected_type=type_hints["severity"])
217
+ check_type(argname="argument window_duration", value=window_duration, expected_type=type_hints["window_duration"])
218
+ check_type(argname="argument action_action_group_id", value=action_action_group_id, expected_type=type_hints["action_action_group_id"])
219
+ check_type(argname="argument auto_mitigation_enabled", value=auto_mitigation_enabled, expected_type=type_hints["auto_mitigation_enabled"])
220
+ check_type(argname="argument criteria_dimension_name", value=criteria_dimension_name, expected_type=type_hints["criteria_dimension_name"])
221
+ check_type(argname="argument criteria_dimension_operator", value=criteria_dimension_operator, expected_type=type_hints["criteria_dimension_operator"])
222
+ check_type(argname="argument criteria_dimension_values", value=criteria_dimension_values, expected_type=type_hints["criteria_dimension_values"])
223
+ check_type(argname="argument criteria_fail_minimum_failing_periods_to_trigger_alert", value=criteria_fail_minimum_failing_periods_to_trigger_alert, expected_type=type_hints["criteria_fail_minimum_failing_periods_to_trigger_alert"])
224
+ check_type(argname="argument criteria_fail_number_of_evaluation_periods", value=criteria_fail_number_of_evaluation_periods, expected_type=type_hints["criteria_fail_number_of_evaluation_periods"])
225
+ check_type(argname="argument criteria_metric_measure_column", value=criteria_metric_measure_column, expected_type=type_hints["criteria_metric_measure_column"])
226
+ check_type(argname="argument description", value=description, expected_type=type_hints["description"])
227
+ check_type(argname="argument display_name", value=display_name, expected_type=type_hints["display_name"])
228
+ check_type(argname="argument enabled", value=enabled, expected_type=type_hints["enabled"])
229
+ check_type(argname="argument mute_actions_after_alert_duration", value=mute_actions_after_alert_duration, expected_type=type_hints["mute_actions_after_alert_duration"])
230
+ check_type(argname="argument query_time_range_override", value=query_time_range_override, expected_type=type_hints["query_time_range_override"])
231
+ check_type(argname="argument skip_query_validation", value=skip_query_validation, expected_type=type_hints["skip_query_validation"])
232
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
233
+ check_type(argname="argument workspace_alerts_storage_enabled", value=workspace_alerts_storage_enabled, expected_type=type_hints["workspace_alerts_storage_enabled"])
234
+ self._values: typing.Dict[builtins.str, typing.Any] = {
235
+ "criteria_operator": criteria_operator,
236
+ "criteria_query": criteria_query,
237
+ "criteria_threshold": criteria_threshold,
238
+ "criteriatime_aggregation_method": criteriatime_aggregation_method,
239
+ "evaluation_frequency": evaluation_frequency,
240
+ "location": location,
241
+ "name": name,
242
+ "resource_group": resource_group,
243
+ "severity": severity,
244
+ "window_duration": window_duration,
245
+ }
246
+ if action_action_group_id is not None:
247
+ self._values["action_action_group_id"] = action_action_group_id
248
+ if auto_mitigation_enabled is not None:
249
+ self._values["auto_mitigation_enabled"] = auto_mitigation_enabled
250
+ if criteria_dimension_name is not None:
251
+ self._values["criteria_dimension_name"] = criteria_dimension_name
252
+ if criteria_dimension_operator is not None:
253
+ self._values["criteria_dimension_operator"] = criteria_dimension_operator
254
+ if criteria_dimension_values is not None:
255
+ self._values["criteria_dimension_values"] = criteria_dimension_values
256
+ if criteria_fail_minimum_failing_periods_to_trigger_alert is not None:
257
+ self._values["criteria_fail_minimum_failing_periods_to_trigger_alert"] = criteria_fail_minimum_failing_periods_to_trigger_alert
258
+ if criteria_fail_number_of_evaluation_periods is not None:
259
+ self._values["criteria_fail_number_of_evaluation_periods"] = criteria_fail_number_of_evaluation_periods
260
+ if criteria_metric_measure_column is not None:
261
+ self._values["criteria_metric_measure_column"] = criteria_metric_measure_column
262
+ if description is not None:
263
+ self._values["description"] = description
264
+ if display_name is not None:
265
+ self._values["display_name"] = display_name
266
+ if enabled is not None:
267
+ self._values["enabled"] = enabled
268
+ if mute_actions_after_alert_duration is not None:
269
+ self._values["mute_actions_after_alert_duration"] = mute_actions_after_alert_duration
270
+ if query_time_range_override is not None:
271
+ self._values["query_time_range_override"] = query_time_range_override
272
+ if skip_query_validation is not None:
273
+ self._values["skip_query_validation"] = skip_query_validation
274
+ if tags is not None:
275
+ self._values["tags"] = tags
276
+ if workspace_alerts_storage_enabled is not None:
277
+ self._values["workspace_alerts_storage_enabled"] = workspace_alerts_storage_enabled
278
+
279
+ @builtins.property
280
+ def criteria_operator(self) -> builtins.str:
281
+ '''Specifies the criteria operator.
282
+
283
+ Possible values are Equal, GreaterThan, GreaterThanOrEqual, LessThan,and LessThanOrEqual.
284
+ '''
285
+ result = self._values.get("criteria_operator")
286
+ assert result is not None, "Required property 'criteria_operator' is missing"
287
+ return typing.cast(builtins.str, result)
288
+
289
+ @builtins.property
290
+ def criteria_query(self) -> builtins.str:
291
+ '''The query to run on logs.
292
+
293
+ The results returned by this query are used to populate the alert.
294
+ '''
295
+ result = self._values.get("criteria_query")
296
+ assert result is not None, "Required property 'criteria_query' is missing"
297
+ return typing.cast(builtins.str, result)
298
+
299
+ @builtins.property
300
+ def criteria_threshold(self) -> jsii.Number:
301
+ '''Specifies the criteria threshold value that activates the alert.'''
302
+ result = self._values.get("criteria_threshold")
303
+ assert result is not None, "Required property 'criteria_threshold' is missing"
304
+ return typing.cast(jsii.Number, result)
305
+
306
+ @builtins.property
307
+ def criteriatime_aggregation_method(self) -> builtins.str:
308
+ '''The type of aggregation to apply to the data points in aggregation granularity.
309
+
310
+ Possible values are Average, Count, Maximum, Minimum,and Total.
311
+ '''
312
+ result = self._values.get("criteriatime_aggregation_method")
313
+ assert result is not None, "Required property 'criteriatime_aggregation_method' is missing"
314
+ return typing.cast(builtins.str, result)
315
+
316
+ @builtins.property
317
+ def evaluation_frequency(self) -> builtins.str:
318
+ '''How often the scheduled query rule is evaluated, represented in ISO 8601 duration format.
319
+
320
+ Possible values are PT1M, PT5M, PT10M, PT15M, PT30M, PT45M, PT1H, PT2H, PT3H, PT4H, PT5H, PT6H, P1D.
321
+ '''
322
+ result = self._values.get("evaluation_frequency")
323
+ assert result is not None, "Required property 'evaluation_frequency' is missing"
324
+ return typing.cast(builtins.str, result)
325
+
326
+ @builtins.property
327
+ def location(self) -> builtins.str:
328
+ '''The location of the Monitor Scheduled Query Rule.'''
329
+ result = self._values.get("location")
330
+ assert result is not None, "Required property 'location' is missing"
331
+ return typing.cast(builtins.str, result)
332
+
333
+ @builtins.property
334
+ def name(self) -> builtins.str:
335
+ '''The name of the Monitor Scheduled Query Rule.'''
336
+ result = self._values.get("name")
337
+ assert result is not None, "Required property 'name' is missing"
338
+ return typing.cast(builtins.str, result)
339
+
340
+ @builtins.property
341
+ def resource_group(
342
+ self,
343
+ ) -> _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup:
344
+ '''The name of the resource group in which the Monitor Scheduled Query Rule is created.'''
345
+ result = self._values.get("resource_group")
346
+ assert result is not None, "Required property 'resource_group' is missing"
347
+ return typing.cast(_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup, result)
348
+
349
+ @builtins.property
350
+ def severity(self) -> jsii.Number:
351
+ '''Severity of the alert.
352
+
353
+ Should be an integer between 0 and 4. Value of 0 is severest.
354
+ '''
355
+ result = self._values.get("severity")
356
+ assert result is not None, "Required property 'severity' is missing"
357
+ return typing.cast(jsii.Number, result)
358
+
359
+ @builtins.property
360
+ def window_duration(self) -> builtins.str:
361
+ '''Specifies the period of time in ISO 8601 duration format on which the Scheduled Query Rule will be executed (bin size).'''
362
+ result = self._values.get("window_duration")
363
+ assert result is not None, "Required property 'window_duration' is missing"
364
+ return typing.cast(builtins.str, result)
365
+
366
+ @builtins.property
367
+ def action_action_group_id(self) -> typing.Optional[typing.List[builtins.str]]:
368
+ '''Specifies the action group IDs to trigger when the alert fires.'''
369
+ result = self._values.get("action_action_group_id")
370
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
371
+
372
+ @builtins.property
373
+ def auto_mitigation_enabled(self) -> typing.Optional[builtins.bool]:
374
+ '''Specifies the flag that indicates whether the alert should be automatically resolved or not.
375
+
376
+ :default: false
377
+ '''
378
+ result = self._values.get("auto_mitigation_enabled")
379
+ return typing.cast(typing.Optional[builtins.bool], result)
380
+
381
+ @builtins.property
382
+ def criteria_dimension_name(self) -> typing.Optional[builtins.str]:
383
+ '''Name of the dimension for criteria.'''
384
+ result = self._values.get("criteria_dimension_name")
385
+ return typing.cast(typing.Optional[builtins.str], result)
386
+
387
+ @builtins.property
388
+ def criteria_dimension_operator(self) -> typing.Optional[builtins.str]:
389
+ '''Operator for dimension values.
390
+
391
+ Possible values are Exclude, and Include.
392
+ '''
393
+ result = self._values.get("criteria_dimension_operator")
394
+ return typing.cast(typing.Optional[builtins.str], result)
395
+
396
+ @builtins.property
397
+ def criteria_dimension_values(self) -> typing.Optional[typing.List[builtins.str]]:
398
+ '''List of dimension values.
399
+
400
+ Use a wildcard * to collect all.
401
+ '''
402
+ result = self._values.get("criteria_dimension_values")
403
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
404
+
405
+ @builtins.property
406
+ def criteria_fail_minimum_failing_periods_to_trigger_alert(
407
+ self,
408
+ ) -> typing.Optional[jsii.Number]:
409
+ '''Specifies the number of violations to trigger an alert.
410
+
411
+ Should be smaller or equal to number_of_evaluation_periods.
412
+ Possible value is integer between 1 and 6.
413
+ '''
414
+ result = self._values.get("criteria_fail_minimum_failing_periods_to_trigger_alert")
415
+ return typing.cast(typing.Optional[jsii.Number], result)
416
+
417
+ @builtins.property
418
+ def criteria_fail_number_of_evaluation_periods(
419
+ self,
420
+ ) -> typing.Optional[jsii.Number]:
421
+ '''Specifies the number of evaluation periods.
422
+
423
+ Possible value is integer between 1 and 6.
424
+ '''
425
+ result = self._values.get("criteria_fail_number_of_evaluation_periods")
426
+ return typing.cast(typing.Optional[jsii.Number], result)
427
+
428
+ @builtins.property
429
+ def criteria_metric_measure_column(self) -> typing.Optional[builtins.str]:
430
+ '''Specifies the column containing the metric measure number.
431
+
432
+ criteriaMetricMeasureColumn is required if criteriatimeAggregationMethod is Average, Maximum, Minimum, or Total.
433
+ And criteriaMetricMeasureColumn cannot be specified if criteriatimeAggregationMethod is Count.
434
+ '''
435
+ result = self._values.get("criteria_metric_measure_column")
436
+ return typing.cast(typing.Optional[builtins.str], result)
437
+
438
+ @builtins.property
439
+ def description(self) -> typing.Optional[builtins.str]:
440
+ '''Specifies the description of the scheduled query rule.'''
441
+ result = self._values.get("description")
442
+ return typing.cast(typing.Optional[builtins.str], result)
443
+
444
+ @builtins.property
445
+ def display_name(self) -> typing.Optional[builtins.str]:
446
+ '''Specifies the display name of the alert rule.'''
447
+ result = self._values.get("display_name")
448
+ return typing.cast(typing.Optional[builtins.str], result)
449
+
450
+ @builtins.property
451
+ def enabled(self) -> typing.Optional[builtins.bool]:
452
+ '''Specifies the flag which indicates whether this scheduled query rule is enabled.
453
+
454
+ :default: true
455
+ '''
456
+ result = self._values.get("enabled")
457
+ return typing.cast(typing.Optional[builtins.bool], result)
458
+
459
+ @builtins.property
460
+ def mute_actions_after_alert_duration(self) -> typing.Optional[builtins.str]:
461
+ '''Mute actions for the chosen period of time in ISO 8601 duration format after the alert is fired.
462
+
463
+ Possible values are PT5M, PT10M, PT15M, PT30M, PT45M, PT1H, PT2H, PT3H, PT4H, PT5H, PT6H, P1D and P2D.
464
+ '''
465
+ result = self._values.get("mute_actions_after_alert_duration")
466
+ return typing.cast(typing.Optional[builtins.str], result)
467
+
468
+ @builtins.property
469
+ def query_time_range_override(self) -> typing.Optional[builtins.str]:
470
+ '''Set this if the alert evaluation period is different from the query time range.
471
+
472
+ If not specified, the value is window_duration*number_of_evaluation_periods.
473
+ Possible values are PT5M, PT10M, PT15M, PT20M, PT30M, PT45M, PT1H, PT2H, PT3H, PT4H, PT5H, PT6H, P1D and P2D.
474
+ '''
475
+ result = self._values.get("query_time_range_override")
476
+ return typing.cast(typing.Optional[builtins.str], result)
477
+
478
+ @builtins.property
479
+ def skip_query_validation(self) -> typing.Optional[builtins.bool]:
480
+ '''Specifies the flag which indicates whether the provided query should be validated or not.
481
+
482
+ :default: true
483
+ '''
484
+ result = self._values.get("skip_query_validation")
485
+ return typing.cast(typing.Optional[builtins.bool], result)
486
+
487
+ @builtins.property
488
+ def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
489
+ '''A mapping of tags which should be assigned to the Monitor Scheduled Query Rule.'''
490
+ result = self._values.get("tags")
491
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
492
+
493
+ @builtins.property
494
+ def workspace_alerts_storage_enabled(self) -> typing.Optional[builtins.bool]:
495
+ '''Specifies the flag which indicates whether this scheduled query rule check if storage is configured.
496
+
497
+ :default: false
498
+ '''
499
+ result = self._values.get("workspace_alerts_storage_enabled")
500
+ return typing.cast(typing.Optional[builtins.bool], result)
501
+
502
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
503
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
504
+
505
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
506
+ return not (rhs == self)
507
+
508
+ def __repr__(self) -> str:
509
+ return "BaseAzureQueryRuleAlertProps(%s)" % ", ".join(
510
+ k + "=" + repr(v) for k, v in self._values.items()
511
+ )
512
+
513
+
514
+ class QueryRuleAlert(
515
+ _constructs_77d1e7e8.Construct,
516
+ metaclass=jsii.JSIIMeta,
517
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_queryrulealert.QueryRuleAlert",
518
+ ):
519
+ def __init__(
520
+ self,
521
+ scope: _constructs_77d1e7e8.Construct,
522
+ id: builtins.str,
523
+ *,
524
+ scopes: typing.Sequence[builtins.str],
525
+ criteria_operator: builtins.str,
526
+ criteria_query: builtins.str,
527
+ criteria_threshold: jsii.Number,
528
+ criteriatime_aggregation_method: builtins.str,
529
+ evaluation_frequency: builtins.str,
530
+ location: builtins.str,
531
+ name: builtins.str,
532
+ resource_group: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
533
+ severity: jsii.Number,
534
+ window_duration: builtins.str,
535
+ action_action_group_id: typing.Optional[typing.Sequence[builtins.str]] = None,
536
+ auto_mitigation_enabled: typing.Optional[builtins.bool] = None,
537
+ criteria_dimension_name: typing.Optional[builtins.str] = None,
538
+ criteria_dimension_operator: typing.Optional[builtins.str] = None,
539
+ criteria_dimension_values: typing.Optional[typing.Sequence[builtins.str]] = None,
540
+ criteria_fail_minimum_failing_periods_to_trigger_alert: typing.Optional[jsii.Number] = None,
541
+ criteria_fail_number_of_evaluation_periods: typing.Optional[jsii.Number] = None,
542
+ criteria_metric_measure_column: typing.Optional[builtins.str] = None,
543
+ description: typing.Optional[builtins.str] = None,
544
+ display_name: typing.Optional[builtins.str] = None,
545
+ enabled: typing.Optional[builtins.bool] = None,
546
+ mute_actions_after_alert_duration: typing.Optional[builtins.str] = None,
547
+ query_time_range_override: typing.Optional[builtins.str] = None,
548
+ skip_query_validation: typing.Optional[builtins.bool] = None,
549
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
550
+ workspace_alerts_storage_enabled: typing.Optional[builtins.bool] = None,
551
+ ) -> None:
552
+ '''Represents an Azure Monitor Scheduled Query Rule Alert.
553
+
554
+ This class is responsible for the creation and management of a Scheduled Query Rule Alert in Azure Monitor.
555
+ Scheduled Query Rule Alerts execute specified queries at regular intervals over the data collected in Log Analytics
556
+ Workspaces or Application Insights, and alert based on the results of these queries. These alerts can be used to monitor
557
+ application health, infrastructure changes, or compliance with certain conditions.
558
+
559
+ :param scope: - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
560
+ :param id: - The unique identifier for this instance of the Scheduled Query Rule Alert.
561
+ :param scopes: Specifies the list of resource IDs that this scheduled query rule is scoped to.
562
+ :param criteria_operator: Specifies the criteria operator. Possible values are Equal, GreaterThan, GreaterThanOrEqual, LessThan,and LessThanOrEqual.
563
+ :param criteria_query: The query to run on logs. The results returned by this query are used to populate the alert.
564
+ :param criteria_threshold: Specifies the criteria threshold value that activates the alert.
565
+ :param criteriatime_aggregation_method: The type of aggregation to apply to the data points in aggregation granularity. Possible values are Average, Count, Maximum, Minimum,and Total.
566
+ :param evaluation_frequency: How often the scheduled query rule is evaluated, represented in ISO 8601 duration format. Possible values are PT1M, PT5M, PT10M, PT15M, PT30M, PT45M, PT1H, PT2H, PT3H, PT4H, PT5H, PT6H, P1D.
567
+ :param location: The location of the Monitor Scheduled Query Rule.
568
+ :param name: The name of the Monitor Scheduled Query Rule.
569
+ :param resource_group: The name of the resource group in which the Monitor Scheduled Query Rule is created.
570
+ :param severity: Severity of the alert. Should be an integer between 0 and 4. Value of 0 is severest.
571
+ :param window_duration: Specifies the period of time in ISO 8601 duration format on which the Scheduled Query Rule will be executed (bin size).
572
+ :param action_action_group_id: Specifies the action group IDs to trigger when the alert fires.
573
+ :param auto_mitigation_enabled: Specifies the flag that indicates whether the alert should be automatically resolved or not. Default: false
574
+ :param criteria_dimension_name: Name of the dimension for criteria.
575
+ :param criteria_dimension_operator: Operator for dimension values. Possible values are Exclude, and Include.
576
+ :param criteria_dimension_values: List of dimension values. Use a wildcard * to collect all.
577
+ :param criteria_fail_minimum_failing_periods_to_trigger_alert: Specifies the number of violations to trigger an alert. Should be smaller or equal to number_of_evaluation_periods. Possible value is integer between 1 and 6.
578
+ :param criteria_fail_number_of_evaluation_periods: Specifies the number of evaluation periods. Possible value is integer between 1 and 6.
579
+ :param criteria_metric_measure_column: Specifies the column containing the metric measure number. criteriaMetricMeasureColumn is required if criteriatimeAggregationMethod is Average, Maximum, Minimum, or Total. And criteriaMetricMeasureColumn cannot be specified if criteriatimeAggregationMethod is Count.
580
+ :param description: Specifies the description of the scheduled query rule.
581
+ :param display_name: Specifies the display name of the alert rule.
582
+ :param enabled: Specifies the flag which indicates whether this scheduled query rule is enabled. Default: true
583
+ :param mute_actions_after_alert_duration: Mute actions for the chosen period of time in ISO 8601 duration format after the alert is fired. Possible values are PT5M, PT10M, PT15M, PT30M, PT45M, PT1H, PT2H, PT3H, PT4H, PT5H, PT6H, P1D and P2D.
584
+ :param query_time_range_override: Set this if the alert evaluation period is different from the query time range. If not specified, the value is window_duration*number_of_evaluation_periods. Possible values are PT5M, PT10M, PT15M, PT20M, PT30M, PT45M, PT1H, PT2H, PT3H, PT4H, PT5H, PT6H, P1D and P2D.
585
+ :param skip_query_validation: Specifies the flag which indicates whether the provided query should be validated or not. Default: true
586
+ :param tags: A mapping of tags which should be assigned to the Monitor Scheduled Query Rule.
587
+ :param workspace_alerts_storage_enabled: Specifies the flag which indicates whether this scheduled query rule check if storage is configured. Default: false
588
+ '''
589
+ if __debug__:
590
+ type_hints = typing.get_type_hints(_typecheckingstub__871fa549e631485d708adb7e5fa86adc875e246512bbcef62f473e0e3de924e4)
591
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
592
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
593
+ props = AzureQueryRuleAlertProps(
594
+ scopes=scopes,
595
+ criteria_operator=criteria_operator,
596
+ criteria_query=criteria_query,
597
+ criteria_threshold=criteria_threshold,
598
+ criteriatime_aggregation_method=criteriatime_aggregation_method,
599
+ evaluation_frequency=evaluation_frequency,
600
+ location=location,
601
+ name=name,
602
+ resource_group=resource_group,
603
+ severity=severity,
604
+ window_duration=window_duration,
605
+ action_action_group_id=action_action_group_id,
606
+ auto_mitigation_enabled=auto_mitigation_enabled,
607
+ criteria_dimension_name=criteria_dimension_name,
608
+ criteria_dimension_operator=criteria_dimension_operator,
609
+ criteria_dimension_values=criteria_dimension_values,
610
+ criteria_fail_minimum_failing_periods_to_trigger_alert=criteria_fail_minimum_failing_periods_to_trigger_alert,
611
+ criteria_fail_number_of_evaluation_periods=criteria_fail_number_of_evaluation_periods,
612
+ criteria_metric_measure_column=criteria_metric_measure_column,
613
+ description=description,
614
+ display_name=display_name,
615
+ enabled=enabled,
616
+ mute_actions_after_alert_duration=mute_actions_after_alert_duration,
617
+ query_time_range_override=query_time_range_override,
618
+ skip_query_validation=skip_query_validation,
619
+ tags=tags,
620
+ workspace_alerts_storage_enabled=workspace_alerts_storage_enabled,
621
+ )
622
+
623
+ jsii.create(self.__class__, self, [scope, id, props])
624
+
625
+ @builtins.property
626
+ @jsii.member(jsii_name="queryRuleAlertProps")
627
+ def query_rule_alert_props(self) -> "AzureQueryRuleAlertProps":
628
+ return typing.cast("AzureQueryRuleAlertProps", jsii.get(self, "queryRuleAlertProps"))
629
+
630
+ @builtins.property
631
+ @jsii.member(jsii_name="id")
632
+ def id(self) -> builtins.str:
633
+ return typing.cast(builtins.str, jsii.get(self, "id"))
634
+
635
+ @id.setter
636
+ def id(self, value: builtins.str) -> None:
637
+ if __debug__:
638
+ type_hints = typing.get_type_hints(_typecheckingstub__36d805099b7b78d1402690a5eff05b181f97f6ce86768a884d2999737a011b0f)
639
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
640
+ jsii.set(self, "id", value)
641
+
642
+ @builtins.property
643
+ @jsii.member(jsii_name="resourceGroup")
644
+ def resource_group(
645
+ self,
646
+ ) -> _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup:
647
+ return typing.cast(_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup, jsii.get(self, "resourceGroup"))
648
+
649
+ @resource_group.setter
650
+ def resource_group(
651
+ self,
652
+ value: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
653
+ ) -> None:
654
+ if __debug__:
655
+ type_hints = typing.get_type_hints(_typecheckingstub__8c20007e52890215d522bf79c2bb75095e3f727d3ad0566fb1649a7171f47ac3)
656
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
657
+ jsii.set(self, "resourceGroup", value)
658
+
659
+
660
+ @jsii.data_type(
661
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_queryrulealert.AzureQueryRuleAlertProps",
662
+ jsii_struct_bases=[BaseAzureQueryRuleAlertProps],
663
+ name_mapping={
664
+ "criteria_operator": "criteriaOperator",
665
+ "criteria_query": "criteriaQuery",
666
+ "criteria_threshold": "criteriaThreshold",
667
+ "criteriatime_aggregation_method": "criteriatimeAggregationMethod",
668
+ "evaluation_frequency": "evaluationFrequency",
669
+ "location": "location",
670
+ "name": "name",
671
+ "resource_group": "resourceGroup",
672
+ "severity": "severity",
673
+ "window_duration": "windowDuration",
674
+ "action_action_group_id": "actionActionGroupId",
675
+ "auto_mitigation_enabled": "autoMitigationEnabled",
676
+ "criteria_dimension_name": "criteriaDimensionName",
677
+ "criteria_dimension_operator": "criteriaDimensionOperator",
678
+ "criteria_dimension_values": "criteriaDimensionValues",
679
+ "criteria_fail_minimum_failing_periods_to_trigger_alert": "criteriaFailMinimumFailingPeriodsToTriggerAlert",
680
+ "criteria_fail_number_of_evaluation_periods": "criteriaFailNumberOfEvaluationPeriods",
681
+ "criteria_metric_measure_column": "criteriaMetricMeasureColumn",
682
+ "description": "description",
683
+ "display_name": "displayName",
684
+ "enabled": "enabled",
685
+ "mute_actions_after_alert_duration": "muteActionsAfterAlertDuration",
686
+ "query_time_range_override": "queryTimeRangeOverride",
687
+ "skip_query_validation": "skipQueryValidation",
688
+ "tags": "tags",
689
+ "workspace_alerts_storage_enabled": "workspaceAlertsStorageEnabled",
690
+ "scopes": "scopes",
691
+ },
692
+ )
693
+ class AzureQueryRuleAlertProps(BaseAzureQueryRuleAlertProps):
694
+ def __init__(
695
+ self,
696
+ *,
697
+ criteria_operator: builtins.str,
698
+ criteria_query: builtins.str,
699
+ criteria_threshold: jsii.Number,
700
+ criteriatime_aggregation_method: builtins.str,
701
+ evaluation_frequency: builtins.str,
702
+ location: builtins.str,
703
+ name: builtins.str,
704
+ resource_group: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
705
+ severity: jsii.Number,
706
+ window_duration: builtins.str,
707
+ action_action_group_id: typing.Optional[typing.Sequence[builtins.str]] = None,
708
+ auto_mitigation_enabled: typing.Optional[builtins.bool] = None,
709
+ criteria_dimension_name: typing.Optional[builtins.str] = None,
710
+ criteria_dimension_operator: typing.Optional[builtins.str] = None,
711
+ criteria_dimension_values: typing.Optional[typing.Sequence[builtins.str]] = None,
712
+ criteria_fail_minimum_failing_periods_to_trigger_alert: typing.Optional[jsii.Number] = None,
713
+ criteria_fail_number_of_evaluation_periods: typing.Optional[jsii.Number] = None,
714
+ criteria_metric_measure_column: typing.Optional[builtins.str] = None,
715
+ description: typing.Optional[builtins.str] = None,
716
+ display_name: typing.Optional[builtins.str] = None,
717
+ enabled: typing.Optional[builtins.bool] = None,
718
+ mute_actions_after_alert_duration: typing.Optional[builtins.str] = None,
719
+ query_time_range_override: typing.Optional[builtins.str] = None,
720
+ skip_query_validation: typing.Optional[builtins.bool] = None,
721
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
722
+ workspace_alerts_storage_enabled: typing.Optional[builtins.bool] = None,
723
+ scopes: typing.Sequence[builtins.str],
724
+ ) -> None:
725
+ '''
726
+ :param criteria_operator: Specifies the criteria operator. Possible values are Equal, GreaterThan, GreaterThanOrEqual, LessThan,and LessThanOrEqual.
727
+ :param criteria_query: The query to run on logs. The results returned by this query are used to populate the alert.
728
+ :param criteria_threshold: Specifies the criteria threshold value that activates the alert.
729
+ :param criteriatime_aggregation_method: The type of aggregation to apply to the data points in aggregation granularity. Possible values are Average, Count, Maximum, Minimum,and Total.
730
+ :param evaluation_frequency: How often the scheduled query rule is evaluated, represented in ISO 8601 duration format. Possible values are PT1M, PT5M, PT10M, PT15M, PT30M, PT45M, PT1H, PT2H, PT3H, PT4H, PT5H, PT6H, P1D.
731
+ :param location: The location of the Monitor Scheduled Query Rule.
732
+ :param name: The name of the Monitor Scheduled Query Rule.
733
+ :param resource_group: The name of the resource group in which the Monitor Scheduled Query Rule is created.
734
+ :param severity: Severity of the alert. Should be an integer between 0 and 4. Value of 0 is severest.
735
+ :param window_duration: Specifies the period of time in ISO 8601 duration format on which the Scheduled Query Rule will be executed (bin size).
736
+ :param action_action_group_id: Specifies the action group IDs to trigger when the alert fires.
737
+ :param auto_mitigation_enabled: Specifies the flag that indicates whether the alert should be automatically resolved or not. Default: false
738
+ :param criteria_dimension_name: Name of the dimension for criteria.
739
+ :param criteria_dimension_operator: Operator for dimension values. Possible values are Exclude, and Include.
740
+ :param criteria_dimension_values: List of dimension values. Use a wildcard * to collect all.
741
+ :param criteria_fail_minimum_failing_periods_to_trigger_alert: Specifies the number of violations to trigger an alert. Should be smaller or equal to number_of_evaluation_periods. Possible value is integer between 1 and 6.
742
+ :param criteria_fail_number_of_evaluation_periods: Specifies the number of evaluation periods. Possible value is integer between 1 and 6.
743
+ :param criteria_metric_measure_column: Specifies the column containing the metric measure number. criteriaMetricMeasureColumn is required if criteriatimeAggregationMethod is Average, Maximum, Minimum, or Total. And criteriaMetricMeasureColumn cannot be specified if criteriatimeAggregationMethod is Count.
744
+ :param description: Specifies the description of the scheduled query rule.
745
+ :param display_name: Specifies the display name of the alert rule.
746
+ :param enabled: Specifies the flag which indicates whether this scheduled query rule is enabled. Default: true
747
+ :param mute_actions_after_alert_duration: Mute actions for the chosen period of time in ISO 8601 duration format after the alert is fired. Possible values are PT5M, PT10M, PT15M, PT30M, PT45M, PT1H, PT2H, PT3H, PT4H, PT5H, PT6H, P1D and P2D.
748
+ :param query_time_range_override: Set this if the alert evaluation period is different from the query time range. If not specified, the value is window_duration*number_of_evaluation_periods. Possible values are PT5M, PT10M, PT15M, PT20M, PT30M, PT45M, PT1H, PT2H, PT3H, PT4H, PT5H, PT6H, P1D and P2D.
749
+ :param skip_query_validation: Specifies the flag which indicates whether the provided query should be validated or not. Default: true
750
+ :param tags: A mapping of tags which should be assigned to the Monitor Scheduled Query Rule.
751
+ :param workspace_alerts_storage_enabled: Specifies the flag which indicates whether this scheduled query rule check if storage is configured. Default: false
752
+ :param scopes: Specifies the list of resource IDs that this scheduled query rule is scoped to.
753
+ '''
754
+ if __debug__:
755
+ type_hints = typing.get_type_hints(_typecheckingstub__5762d02371a7d7ee3cc504738ea9796923ca00246c5eefa91d3b50206a4e94ee)
756
+ check_type(argname="argument criteria_operator", value=criteria_operator, expected_type=type_hints["criteria_operator"])
757
+ check_type(argname="argument criteria_query", value=criteria_query, expected_type=type_hints["criteria_query"])
758
+ check_type(argname="argument criteria_threshold", value=criteria_threshold, expected_type=type_hints["criteria_threshold"])
759
+ check_type(argname="argument criteriatime_aggregation_method", value=criteriatime_aggregation_method, expected_type=type_hints["criteriatime_aggregation_method"])
760
+ check_type(argname="argument evaluation_frequency", value=evaluation_frequency, expected_type=type_hints["evaluation_frequency"])
761
+ check_type(argname="argument location", value=location, expected_type=type_hints["location"])
762
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
763
+ check_type(argname="argument resource_group", value=resource_group, expected_type=type_hints["resource_group"])
764
+ check_type(argname="argument severity", value=severity, expected_type=type_hints["severity"])
765
+ check_type(argname="argument window_duration", value=window_duration, expected_type=type_hints["window_duration"])
766
+ check_type(argname="argument action_action_group_id", value=action_action_group_id, expected_type=type_hints["action_action_group_id"])
767
+ check_type(argname="argument auto_mitigation_enabled", value=auto_mitigation_enabled, expected_type=type_hints["auto_mitigation_enabled"])
768
+ check_type(argname="argument criteria_dimension_name", value=criteria_dimension_name, expected_type=type_hints["criteria_dimension_name"])
769
+ check_type(argname="argument criteria_dimension_operator", value=criteria_dimension_operator, expected_type=type_hints["criteria_dimension_operator"])
770
+ check_type(argname="argument criteria_dimension_values", value=criteria_dimension_values, expected_type=type_hints["criteria_dimension_values"])
771
+ check_type(argname="argument criteria_fail_minimum_failing_periods_to_trigger_alert", value=criteria_fail_minimum_failing_periods_to_trigger_alert, expected_type=type_hints["criteria_fail_minimum_failing_periods_to_trigger_alert"])
772
+ check_type(argname="argument criteria_fail_number_of_evaluation_periods", value=criteria_fail_number_of_evaluation_periods, expected_type=type_hints["criteria_fail_number_of_evaluation_periods"])
773
+ check_type(argname="argument criteria_metric_measure_column", value=criteria_metric_measure_column, expected_type=type_hints["criteria_metric_measure_column"])
774
+ check_type(argname="argument description", value=description, expected_type=type_hints["description"])
775
+ check_type(argname="argument display_name", value=display_name, expected_type=type_hints["display_name"])
776
+ check_type(argname="argument enabled", value=enabled, expected_type=type_hints["enabled"])
777
+ check_type(argname="argument mute_actions_after_alert_duration", value=mute_actions_after_alert_duration, expected_type=type_hints["mute_actions_after_alert_duration"])
778
+ check_type(argname="argument query_time_range_override", value=query_time_range_override, expected_type=type_hints["query_time_range_override"])
779
+ check_type(argname="argument skip_query_validation", value=skip_query_validation, expected_type=type_hints["skip_query_validation"])
780
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
781
+ check_type(argname="argument workspace_alerts_storage_enabled", value=workspace_alerts_storage_enabled, expected_type=type_hints["workspace_alerts_storage_enabled"])
782
+ check_type(argname="argument scopes", value=scopes, expected_type=type_hints["scopes"])
783
+ self._values: typing.Dict[builtins.str, typing.Any] = {
784
+ "criteria_operator": criteria_operator,
785
+ "criteria_query": criteria_query,
786
+ "criteria_threshold": criteria_threshold,
787
+ "criteriatime_aggregation_method": criteriatime_aggregation_method,
788
+ "evaluation_frequency": evaluation_frequency,
789
+ "location": location,
790
+ "name": name,
791
+ "resource_group": resource_group,
792
+ "severity": severity,
793
+ "window_duration": window_duration,
794
+ "scopes": scopes,
795
+ }
796
+ if action_action_group_id is not None:
797
+ self._values["action_action_group_id"] = action_action_group_id
798
+ if auto_mitigation_enabled is not None:
799
+ self._values["auto_mitigation_enabled"] = auto_mitigation_enabled
800
+ if criteria_dimension_name is not None:
801
+ self._values["criteria_dimension_name"] = criteria_dimension_name
802
+ if criteria_dimension_operator is not None:
803
+ self._values["criteria_dimension_operator"] = criteria_dimension_operator
804
+ if criteria_dimension_values is not None:
805
+ self._values["criteria_dimension_values"] = criteria_dimension_values
806
+ if criteria_fail_minimum_failing_periods_to_trigger_alert is not None:
807
+ self._values["criteria_fail_minimum_failing_periods_to_trigger_alert"] = criteria_fail_minimum_failing_periods_to_trigger_alert
808
+ if criteria_fail_number_of_evaluation_periods is not None:
809
+ self._values["criteria_fail_number_of_evaluation_periods"] = criteria_fail_number_of_evaluation_periods
810
+ if criteria_metric_measure_column is not None:
811
+ self._values["criteria_metric_measure_column"] = criteria_metric_measure_column
812
+ if description is not None:
813
+ self._values["description"] = description
814
+ if display_name is not None:
815
+ self._values["display_name"] = display_name
816
+ if enabled is not None:
817
+ self._values["enabled"] = enabled
818
+ if mute_actions_after_alert_duration is not None:
819
+ self._values["mute_actions_after_alert_duration"] = mute_actions_after_alert_duration
820
+ if query_time_range_override is not None:
821
+ self._values["query_time_range_override"] = query_time_range_override
822
+ if skip_query_validation is not None:
823
+ self._values["skip_query_validation"] = skip_query_validation
824
+ if tags is not None:
825
+ self._values["tags"] = tags
826
+ if workspace_alerts_storage_enabled is not None:
827
+ self._values["workspace_alerts_storage_enabled"] = workspace_alerts_storage_enabled
828
+
829
+ @builtins.property
830
+ def criteria_operator(self) -> builtins.str:
831
+ '''Specifies the criteria operator.
832
+
833
+ Possible values are Equal, GreaterThan, GreaterThanOrEqual, LessThan,and LessThanOrEqual.
834
+ '''
835
+ result = self._values.get("criteria_operator")
836
+ assert result is not None, "Required property 'criteria_operator' is missing"
837
+ return typing.cast(builtins.str, result)
838
+
839
+ @builtins.property
840
+ def criteria_query(self) -> builtins.str:
841
+ '''The query to run on logs.
842
+
843
+ The results returned by this query are used to populate the alert.
844
+ '''
845
+ result = self._values.get("criteria_query")
846
+ assert result is not None, "Required property 'criteria_query' is missing"
847
+ return typing.cast(builtins.str, result)
848
+
849
+ @builtins.property
850
+ def criteria_threshold(self) -> jsii.Number:
851
+ '''Specifies the criteria threshold value that activates the alert.'''
852
+ result = self._values.get("criteria_threshold")
853
+ assert result is not None, "Required property 'criteria_threshold' is missing"
854
+ return typing.cast(jsii.Number, result)
855
+
856
+ @builtins.property
857
+ def criteriatime_aggregation_method(self) -> builtins.str:
858
+ '''The type of aggregation to apply to the data points in aggregation granularity.
859
+
860
+ Possible values are Average, Count, Maximum, Minimum,and Total.
861
+ '''
862
+ result = self._values.get("criteriatime_aggregation_method")
863
+ assert result is not None, "Required property 'criteriatime_aggregation_method' is missing"
864
+ return typing.cast(builtins.str, result)
865
+
866
+ @builtins.property
867
+ def evaluation_frequency(self) -> builtins.str:
868
+ '''How often the scheduled query rule is evaluated, represented in ISO 8601 duration format.
869
+
870
+ Possible values are PT1M, PT5M, PT10M, PT15M, PT30M, PT45M, PT1H, PT2H, PT3H, PT4H, PT5H, PT6H, P1D.
871
+ '''
872
+ result = self._values.get("evaluation_frequency")
873
+ assert result is not None, "Required property 'evaluation_frequency' is missing"
874
+ return typing.cast(builtins.str, result)
875
+
876
+ @builtins.property
877
+ def location(self) -> builtins.str:
878
+ '''The location of the Monitor Scheduled Query Rule.'''
879
+ result = self._values.get("location")
880
+ assert result is not None, "Required property 'location' is missing"
881
+ return typing.cast(builtins.str, result)
882
+
883
+ @builtins.property
884
+ def name(self) -> builtins.str:
885
+ '''The name of the Monitor Scheduled Query Rule.'''
886
+ result = self._values.get("name")
887
+ assert result is not None, "Required property 'name' is missing"
888
+ return typing.cast(builtins.str, result)
889
+
890
+ @builtins.property
891
+ def resource_group(
892
+ self,
893
+ ) -> _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup:
894
+ '''The name of the resource group in which the Monitor Scheduled Query Rule is created.'''
895
+ result = self._values.get("resource_group")
896
+ assert result is not None, "Required property 'resource_group' is missing"
897
+ return typing.cast(_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup, result)
898
+
899
+ @builtins.property
900
+ def severity(self) -> jsii.Number:
901
+ '''Severity of the alert.
902
+
903
+ Should be an integer between 0 and 4. Value of 0 is severest.
904
+ '''
905
+ result = self._values.get("severity")
906
+ assert result is not None, "Required property 'severity' is missing"
907
+ return typing.cast(jsii.Number, result)
908
+
909
+ @builtins.property
910
+ def window_duration(self) -> builtins.str:
911
+ '''Specifies the period of time in ISO 8601 duration format on which the Scheduled Query Rule will be executed (bin size).'''
912
+ result = self._values.get("window_duration")
913
+ assert result is not None, "Required property 'window_duration' is missing"
914
+ return typing.cast(builtins.str, result)
915
+
916
+ @builtins.property
917
+ def action_action_group_id(self) -> typing.Optional[typing.List[builtins.str]]:
918
+ '''Specifies the action group IDs to trigger when the alert fires.'''
919
+ result = self._values.get("action_action_group_id")
920
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
921
+
922
+ @builtins.property
923
+ def auto_mitigation_enabled(self) -> typing.Optional[builtins.bool]:
924
+ '''Specifies the flag that indicates whether the alert should be automatically resolved or not.
925
+
926
+ :default: false
927
+ '''
928
+ result = self._values.get("auto_mitigation_enabled")
929
+ return typing.cast(typing.Optional[builtins.bool], result)
930
+
931
+ @builtins.property
932
+ def criteria_dimension_name(self) -> typing.Optional[builtins.str]:
933
+ '''Name of the dimension for criteria.'''
934
+ result = self._values.get("criteria_dimension_name")
935
+ return typing.cast(typing.Optional[builtins.str], result)
936
+
937
+ @builtins.property
938
+ def criteria_dimension_operator(self) -> typing.Optional[builtins.str]:
939
+ '''Operator for dimension values.
940
+
941
+ Possible values are Exclude, and Include.
942
+ '''
943
+ result = self._values.get("criteria_dimension_operator")
944
+ return typing.cast(typing.Optional[builtins.str], result)
945
+
946
+ @builtins.property
947
+ def criteria_dimension_values(self) -> typing.Optional[typing.List[builtins.str]]:
948
+ '''List of dimension values.
949
+
950
+ Use a wildcard * to collect all.
951
+ '''
952
+ result = self._values.get("criteria_dimension_values")
953
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
954
+
955
+ @builtins.property
956
+ def criteria_fail_minimum_failing_periods_to_trigger_alert(
957
+ self,
958
+ ) -> typing.Optional[jsii.Number]:
959
+ '''Specifies the number of violations to trigger an alert.
960
+
961
+ Should be smaller or equal to number_of_evaluation_periods.
962
+ Possible value is integer between 1 and 6.
963
+ '''
964
+ result = self._values.get("criteria_fail_minimum_failing_periods_to_trigger_alert")
965
+ return typing.cast(typing.Optional[jsii.Number], result)
966
+
967
+ @builtins.property
968
+ def criteria_fail_number_of_evaluation_periods(
969
+ self,
970
+ ) -> typing.Optional[jsii.Number]:
971
+ '''Specifies the number of evaluation periods.
972
+
973
+ Possible value is integer between 1 and 6.
974
+ '''
975
+ result = self._values.get("criteria_fail_number_of_evaluation_periods")
976
+ return typing.cast(typing.Optional[jsii.Number], result)
977
+
978
+ @builtins.property
979
+ def criteria_metric_measure_column(self) -> typing.Optional[builtins.str]:
980
+ '''Specifies the column containing the metric measure number.
981
+
982
+ criteriaMetricMeasureColumn is required if criteriatimeAggregationMethod is Average, Maximum, Minimum, or Total.
983
+ And criteriaMetricMeasureColumn cannot be specified if criteriatimeAggregationMethod is Count.
984
+ '''
985
+ result = self._values.get("criteria_metric_measure_column")
986
+ return typing.cast(typing.Optional[builtins.str], result)
987
+
988
+ @builtins.property
989
+ def description(self) -> typing.Optional[builtins.str]:
990
+ '''Specifies the description of the scheduled query rule.'''
991
+ result = self._values.get("description")
992
+ return typing.cast(typing.Optional[builtins.str], result)
993
+
994
+ @builtins.property
995
+ def display_name(self) -> typing.Optional[builtins.str]:
996
+ '''Specifies the display name of the alert rule.'''
997
+ result = self._values.get("display_name")
998
+ return typing.cast(typing.Optional[builtins.str], result)
999
+
1000
+ @builtins.property
1001
+ def enabled(self) -> typing.Optional[builtins.bool]:
1002
+ '''Specifies the flag which indicates whether this scheduled query rule is enabled.
1003
+
1004
+ :default: true
1005
+ '''
1006
+ result = self._values.get("enabled")
1007
+ return typing.cast(typing.Optional[builtins.bool], result)
1008
+
1009
+ @builtins.property
1010
+ def mute_actions_after_alert_duration(self) -> typing.Optional[builtins.str]:
1011
+ '''Mute actions for the chosen period of time in ISO 8601 duration format after the alert is fired.
1012
+
1013
+ Possible values are PT5M, PT10M, PT15M, PT30M, PT45M, PT1H, PT2H, PT3H, PT4H, PT5H, PT6H, P1D and P2D.
1014
+ '''
1015
+ result = self._values.get("mute_actions_after_alert_duration")
1016
+ return typing.cast(typing.Optional[builtins.str], result)
1017
+
1018
+ @builtins.property
1019
+ def query_time_range_override(self) -> typing.Optional[builtins.str]:
1020
+ '''Set this if the alert evaluation period is different from the query time range.
1021
+
1022
+ If not specified, the value is window_duration*number_of_evaluation_periods.
1023
+ Possible values are PT5M, PT10M, PT15M, PT20M, PT30M, PT45M, PT1H, PT2H, PT3H, PT4H, PT5H, PT6H, P1D and P2D.
1024
+ '''
1025
+ result = self._values.get("query_time_range_override")
1026
+ return typing.cast(typing.Optional[builtins.str], result)
1027
+
1028
+ @builtins.property
1029
+ def skip_query_validation(self) -> typing.Optional[builtins.bool]:
1030
+ '''Specifies the flag which indicates whether the provided query should be validated or not.
1031
+
1032
+ :default: true
1033
+ '''
1034
+ result = self._values.get("skip_query_validation")
1035
+ return typing.cast(typing.Optional[builtins.bool], result)
1036
+
1037
+ @builtins.property
1038
+ def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
1039
+ '''A mapping of tags which should be assigned to the Monitor Scheduled Query Rule.'''
1040
+ result = self._values.get("tags")
1041
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
1042
+
1043
+ @builtins.property
1044
+ def workspace_alerts_storage_enabled(self) -> typing.Optional[builtins.bool]:
1045
+ '''Specifies the flag which indicates whether this scheduled query rule check if storage is configured.
1046
+
1047
+ :default: false
1048
+ '''
1049
+ result = self._values.get("workspace_alerts_storage_enabled")
1050
+ return typing.cast(typing.Optional[builtins.bool], result)
1051
+
1052
+ @builtins.property
1053
+ def scopes(self) -> typing.List[builtins.str]:
1054
+ '''Specifies the list of resource IDs that this scheduled query rule is scoped to.'''
1055
+ result = self._values.get("scopes")
1056
+ assert result is not None, "Required property 'scopes' is missing"
1057
+ return typing.cast(typing.List[builtins.str], result)
1058
+
1059
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1060
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1061
+
1062
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1063
+ return not (rhs == self)
1064
+
1065
+ def __repr__(self) -> str:
1066
+ return "AzureQueryRuleAlertProps(%s)" % ", ".join(
1067
+ k + "=" + repr(v) for k, v in self._values.items()
1068
+ )
1069
+
1070
+
1071
+ __all__ = [
1072
+ "AzureQueryRuleAlertProps",
1073
+ "BaseAzureQueryRuleAlertProps",
1074
+ "QueryRuleAlert",
1075
+ ]
1076
+
1077
+ publication.publish()
1078
+
1079
+ def _typecheckingstub__cfc4c48635f05a11dfa1bd2d50a2d15acf98f68750654cec7e5e36b3d1239110(
1080
+ *,
1081
+ criteria_operator: builtins.str,
1082
+ criteria_query: builtins.str,
1083
+ criteria_threshold: jsii.Number,
1084
+ criteriatime_aggregation_method: builtins.str,
1085
+ evaluation_frequency: builtins.str,
1086
+ location: builtins.str,
1087
+ name: builtins.str,
1088
+ resource_group: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
1089
+ severity: jsii.Number,
1090
+ window_duration: builtins.str,
1091
+ action_action_group_id: typing.Optional[typing.Sequence[builtins.str]] = None,
1092
+ auto_mitigation_enabled: typing.Optional[builtins.bool] = None,
1093
+ criteria_dimension_name: typing.Optional[builtins.str] = None,
1094
+ criteria_dimension_operator: typing.Optional[builtins.str] = None,
1095
+ criteria_dimension_values: typing.Optional[typing.Sequence[builtins.str]] = None,
1096
+ criteria_fail_minimum_failing_periods_to_trigger_alert: typing.Optional[jsii.Number] = None,
1097
+ criteria_fail_number_of_evaluation_periods: typing.Optional[jsii.Number] = None,
1098
+ criteria_metric_measure_column: typing.Optional[builtins.str] = None,
1099
+ description: typing.Optional[builtins.str] = None,
1100
+ display_name: typing.Optional[builtins.str] = None,
1101
+ enabled: typing.Optional[builtins.bool] = None,
1102
+ mute_actions_after_alert_duration: typing.Optional[builtins.str] = None,
1103
+ query_time_range_override: typing.Optional[builtins.str] = None,
1104
+ skip_query_validation: typing.Optional[builtins.bool] = None,
1105
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1106
+ workspace_alerts_storage_enabled: typing.Optional[builtins.bool] = None,
1107
+ ) -> None:
1108
+ """Type checking stubs"""
1109
+ pass
1110
+
1111
+ def _typecheckingstub__871fa549e631485d708adb7e5fa86adc875e246512bbcef62f473e0e3de924e4(
1112
+ scope: _constructs_77d1e7e8.Construct,
1113
+ id: builtins.str,
1114
+ *,
1115
+ scopes: typing.Sequence[builtins.str],
1116
+ criteria_operator: builtins.str,
1117
+ criteria_query: builtins.str,
1118
+ criteria_threshold: jsii.Number,
1119
+ criteriatime_aggregation_method: builtins.str,
1120
+ evaluation_frequency: builtins.str,
1121
+ location: builtins.str,
1122
+ name: builtins.str,
1123
+ resource_group: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
1124
+ severity: jsii.Number,
1125
+ window_duration: builtins.str,
1126
+ action_action_group_id: typing.Optional[typing.Sequence[builtins.str]] = None,
1127
+ auto_mitigation_enabled: typing.Optional[builtins.bool] = None,
1128
+ criteria_dimension_name: typing.Optional[builtins.str] = None,
1129
+ criteria_dimension_operator: typing.Optional[builtins.str] = None,
1130
+ criteria_dimension_values: typing.Optional[typing.Sequence[builtins.str]] = None,
1131
+ criteria_fail_minimum_failing_periods_to_trigger_alert: typing.Optional[jsii.Number] = None,
1132
+ criteria_fail_number_of_evaluation_periods: typing.Optional[jsii.Number] = None,
1133
+ criteria_metric_measure_column: typing.Optional[builtins.str] = None,
1134
+ description: typing.Optional[builtins.str] = None,
1135
+ display_name: typing.Optional[builtins.str] = None,
1136
+ enabled: typing.Optional[builtins.bool] = None,
1137
+ mute_actions_after_alert_duration: typing.Optional[builtins.str] = None,
1138
+ query_time_range_override: typing.Optional[builtins.str] = None,
1139
+ skip_query_validation: typing.Optional[builtins.bool] = None,
1140
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1141
+ workspace_alerts_storage_enabled: typing.Optional[builtins.bool] = None,
1142
+ ) -> None:
1143
+ """Type checking stubs"""
1144
+ pass
1145
+
1146
+ def _typecheckingstub__36d805099b7b78d1402690a5eff05b181f97f6ce86768a884d2999737a011b0f(
1147
+ value: builtins.str,
1148
+ ) -> None:
1149
+ """Type checking stubs"""
1150
+ pass
1151
+
1152
+ def _typecheckingstub__8c20007e52890215d522bf79c2bb75095e3f727d3ad0566fb1649a7171f47ac3(
1153
+ value: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
1154
+ ) -> None:
1155
+ """Type checking stubs"""
1156
+ pass
1157
+
1158
+ def _typecheckingstub__5762d02371a7d7ee3cc504738ea9796923ca00246c5eefa91d3b50206a4e94ee(
1159
+ *,
1160
+ criteria_operator: builtins.str,
1161
+ criteria_query: builtins.str,
1162
+ criteria_threshold: jsii.Number,
1163
+ criteriatime_aggregation_method: builtins.str,
1164
+ evaluation_frequency: builtins.str,
1165
+ location: builtins.str,
1166
+ name: builtins.str,
1167
+ resource_group: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
1168
+ severity: jsii.Number,
1169
+ window_duration: builtins.str,
1170
+ action_action_group_id: typing.Optional[typing.Sequence[builtins.str]] = None,
1171
+ auto_mitigation_enabled: typing.Optional[builtins.bool] = None,
1172
+ criteria_dimension_name: typing.Optional[builtins.str] = None,
1173
+ criteria_dimension_operator: typing.Optional[builtins.str] = None,
1174
+ criteria_dimension_values: typing.Optional[typing.Sequence[builtins.str]] = None,
1175
+ criteria_fail_minimum_failing_periods_to_trigger_alert: typing.Optional[jsii.Number] = None,
1176
+ criteria_fail_number_of_evaluation_periods: typing.Optional[jsii.Number] = None,
1177
+ criteria_metric_measure_column: typing.Optional[builtins.str] = None,
1178
+ description: typing.Optional[builtins.str] = None,
1179
+ display_name: typing.Optional[builtins.str] = None,
1180
+ enabled: typing.Optional[builtins.bool] = None,
1181
+ mute_actions_after_alert_duration: typing.Optional[builtins.str] = None,
1182
+ query_time_range_override: typing.Optional[builtins.str] = None,
1183
+ skip_query_validation: typing.Optional[builtins.bool] = None,
1184
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1185
+ workspace_alerts_storage_enabled: typing.Optional[builtins.bool] = None,
1186
+ scopes: typing.Sequence[builtins.str],
1187
+ ) -> None:
1188
+ """Type checking stubs"""
1189
+ pass