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.
- microsoft_cdktfconstructs/__init__.py +217 -0
- microsoft_cdktfconstructs/_jsii/__init__.py +31 -0
- microsoft_cdktfconstructs/_jsii/terraform-cdk-constructs@0.0.3-pre.11.jsii.tgz +0 -0
- microsoft_cdktfconstructs/azure_applicationgateway/__init__.py +823 -0
- microsoft_cdktfconstructs/azure_applicationinsights/__init__.py +397 -0
- microsoft_cdktfconstructs/azure_containerregistry/__init__.py +320 -0
- microsoft_cdktfconstructs/azure_eventhub/__init__.py +2213 -0
- microsoft_cdktfconstructs/azure_functionapp/__init__.py +908 -0
- microsoft_cdktfconstructs/azure_keyvault/__init__.py +1982 -0
- microsoft_cdktfconstructs/azure_kubernetes/__init__.py +400 -0
- microsoft_cdktfconstructs/azure_kusto/__init__.py +2485 -0
- microsoft_cdktfconstructs/azure_loganalytics/__init__.py +652 -0
- microsoft_cdktfconstructs/azure_metricalert/__init__.py +1260 -0
- microsoft_cdktfconstructs/azure_networksecuritygroup/__init__.py +1742 -0
- microsoft_cdktfconstructs/azure_queryrulealert/__init__.py +1189 -0
- microsoft_cdktfconstructs/azure_resourcegroup/__init__.py +320 -0
- microsoft_cdktfconstructs/azure_storageaccount/__init__.py +1910 -0
- microsoft_cdktfconstructs/azure_virtualmachine/__init__.py +1460 -0
- microsoft_cdktfconstructs/azure_virtualmachinescaleset/__init__.py +1185 -0
- microsoft_cdktfconstructs/azure_virtualnetwork/__init__.py +707 -0
- microsoft_cdktfconstructs/core_azure/__init__.py +931 -0
- microsoft_cdktfconstructs/py.typed +1 -0
- microsoft_cdktfconstructs-0.0.3.dev11.dist-info/LICENSE +19 -0
- microsoft_cdktfconstructs-0.0.3.dev11.dist-info/METADATA +188 -0
- microsoft_cdktfconstructs-0.0.3.dev11.dist-info/RECORD +27 -0
- microsoft_cdktfconstructs-0.0.3.dev11.dist-info/WHEEL +5 -0
- microsoft_cdktfconstructs-0.0.3.dev11.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,931 @@
|
|
|
1
|
+
from pkgutil import extend_path
|
|
2
|
+
__path__ = extend_path(__path__, __name__)
|
|
3
|
+
|
|
4
|
+
import abc
|
|
5
|
+
import builtins
|
|
6
|
+
import datetime
|
|
7
|
+
import enum
|
|
8
|
+
import typing
|
|
9
|
+
|
|
10
|
+
import jsii
|
|
11
|
+
import publication
|
|
12
|
+
import typing_extensions
|
|
13
|
+
|
|
14
|
+
from typeguard import check_type
|
|
15
|
+
|
|
16
|
+
from .._jsii import *
|
|
17
|
+
|
|
18
|
+
import cdktf_cdktf_provider_azurerm.resource_group as _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf
|
|
19
|
+
import constructs as _constructs_77d1e7e8
|
|
20
|
+
from ..azure_metricalert import (
|
|
21
|
+
IBaseMetricAlertProps as _IBaseMetricAlertProps_12d2ea58
|
|
22
|
+
)
|
|
23
|
+
from ..azure_queryrulealert import (
|
|
24
|
+
BaseAzureQueryRuleAlertProps as _BaseAzureQueryRuleAlertProps_4043a0fa
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class AzureResource(
|
|
29
|
+
_constructs_77d1e7e8.Construct,
|
|
30
|
+
metaclass=jsii.JSIIAbstractClass,
|
|
31
|
+
jsii_type="@microsoft/terraform-cdk-constructs.core_azure.AzureResource",
|
|
32
|
+
):
|
|
33
|
+
def __init__(self, scope: _constructs_77d1e7e8.Construct, id: builtins.str) -> None:
|
|
34
|
+
'''
|
|
35
|
+
:param scope: -
|
|
36
|
+
:param id: -
|
|
37
|
+
'''
|
|
38
|
+
if __debug__:
|
|
39
|
+
type_hints = typing.get_type_hints(_typecheckingstub__0d809bb91fb460c3d8c1da4639116017ae9094849dd971e79bced0656169e740)
|
|
40
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
41
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
42
|
+
jsii.create(self.__class__, self, [scope, id])
|
|
43
|
+
|
|
44
|
+
@jsii.member(jsii_name="addAccess")
|
|
45
|
+
def add_access(
|
|
46
|
+
self,
|
|
47
|
+
object_id: builtins.str,
|
|
48
|
+
custom_role_name: builtins.str,
|
|
49
|
+
) -> None:
|
|
50
|
+
'''Adds an access role assignment for a specified Azure AD object (e.g., user, group, service principal) within this RBAC construct's scope.
|
|
51
|
+
|
|
52
|
+
This method creates a new role assignment which grants the specified Azure AD object access to resources
|
|
53
|
+
at the scope defined by this construct. This is useful for programmatically managing access controls,
|
|
54
|
+
ensuring only authorized users or systems can perform specific actions on Azure resources.
|
|
55
|
+
|
|
56
|
+
:param object_id: - The unique identifier of the Azure AD object (user, group, or service principal) that will receive the role assignment.
|
|
57
|
+
:param custom_role_name: - The human-readable name of the Azure RBAC role to be assigned. This role defines the permissions that the object will have. Example usage:: // Example: Assign a "Reader" role to a user for the current RBAC scope rbacInstance.addAccess('user-object-id', 'Reader');
|
|
58
|
+
'''
|
|
59
|
+
if __debug__:
|
|
60
|
+
type_hints = typing.get_type_hints(_typecheckingstub__1ec54763e2192509c84ee5593e5da4ef4239aca1590aee01d4bb81aa39fb7408)
|
|
61
|
+
check_type(argname="argument object_id", value=object_id, expected_type=type_hints["object_id"])
|
|
62
|
+
check_type(argname="argument custom_role_name", value=custom_role_name, expected_type=type_hints["custom_role_name"])
|
|
63
|
+
return typing.cast(None, jsii.invoke(self, "addAccess", [object_id, custom_role_name]))
|
|
64
|
+
|
|
65
|
+
@jsii.member(jsii_name="addDiagSettings")
|
|
66
|
+
def add_diag_settings(
|
|
67
|
+
self,
|
|
68
|
+
*,
|
|
69
|
+
eventhub_authorization_rule_id: typing.Optional[builtins.str] = None,
|
|
70
|
+
eventhub_name: typing.Optional[builtins.str] = None,
|
|
71
|
+
log_analytics_destination_type: typing.Optional[builtins.str] = None,
|
|
72
|
+
log_analytics_workspace_id: typing.Optional[builtins.str] = None,
|
|
73
|
+
log_categories: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
74
|
+
metric_categories: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
75
|
+
name: typing.Optional[builtins.str] = None,
|
|
76
|
+
partner_solution_id: typing.Optional[builtins.str] = None,
|
|
77
|
+
storage_account_id: typing.Optional[builtins.str] = None,
|
|
78
|
+
) -> "DiagnosticSettings":
|
|
79
|
+
'''Adds diagnostic settings to a specified resource within this construct.
|
|
80
|
+
|
|
81
|
+
This method creates and configures a new DiagnosticSettings instance which captures and routes
|
|
82
|
+
diagnostic data (logs and metrics) to the specified destinations such as Azure Monitor,
|
|
83
|
+
an Event Hubs instance, a Log Analytics workspace, or an Azure Storage account.
|
|
84
|
+
|
|
85
|
+
:param eventhub_authorization_rule_id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#eventhub_authorization_rule_id MonitorDiagnosticSetting#eventhub_authorization_rule_id}.
|
|
86
|
+
:param eventhub_name: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#eventhub_name MonitorDiagnosticSetting#eventhub_name}.
|
|
87
|
+
:param log_analytics_destination_type: When set to 'Dedicated' logs sent to a Log Analytics workspace will go into resource specific tables, instead of the legacy AzureDiagnostics table.
|
|
88
|
+
:param log_analytics_workspace_id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#log_analytics_workspace_id MonitorDiagnosticSetting#log_analytics_workspace_id}.
|
|
89
|
+
:param log_categories: Log Diagnostic categories. Default: null
|
|
90
|
+
:param metric_categories: Diagnostic Metrics. Default: null
|
|
91
|
+
:param name: Name of the diagnostic settings resource.
|
|
92
|
+
:param partner_solution_id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#partner_solution_id MonitorDiagnosticSetting#partner_solution_id}.
|
|
93
|
+
:param storage_account_id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#storage_account_id MonitorDiagnosticSetting#storage_account_id}.
|
|
94
|
+
|
|
95
|
+
:return:
|
|
96
|
+
|
|
97
|
+
An instance of the DiagnosticSettings class, configured with the provided properties.
|
|
98
|
+
|
|
99
|
+
Example usage::
|
|
100
|
+
|
|
101
|
+
const diagSettings = resource.addDiagSettings({
|
|
102
|
+
name: 'custom-diag-settings',
|
|
103
|
+
logAnalyticsWorkspaceId: 'workspace-id',
|
|
104
|
+
eventhubAuthorizationRuleId: 'auth-rule-id',
|
|
105
|
+
eventhubName: 'eventhub-name',
|
|
106
|
+
storageAccountId: 'storage-account-id'
|
|
107
|
+
});
|
|
108
|
+
'''
|
|
109
|
+
props = BaseDiagnosticSettingsProps(
|
|
110
|
+
eventhub_authorization_rule_id=eventhub_authorization_rule_id,
|
|
111
|
+
eventhub_name=eventhub_name,
|
|
112
|
+
log_analytics_destination_type=log_analytics_destination_type,
|
|
113
|
+
log_analytics_workspace_id=log_analytics_workspace_id,
|
|
114
|
+
log_categories=log_categories,
|
|
115
|
+
metric_categories=metric_categories,
|
|
116
|
+
name=name,
|
|
117
|
+
partner_solution_id=partner_solution_id,
|
|
118
|
+
storage_account_id=storage_account_id,
|
|
119
|
+
)
|
|
120
|
+
|
|
121
|
+
return typing.cast("DiagnosticSettings", jsii.invoke(self, "addDiagSettings", [props]))
|
|
122
|
+
|
|
123
|
+
@jsii.member(jsii_name="setupResourceGroup")
|
|
124
|
+
def _setup_resource_group(
|
|
125
|
+
self,
|
|
126
|
+
props: typing.Any,
|
|
127
|
+
) -> _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup:
|
|
128
|
+
'''
|
|
129
|
+
:param props: -
|
|
130
|
+
'''
|
|
131
|
+
if __debug__:
|
|
132
|
+
type_hints = typing.get_type_hints(_typecheckingstub__86a048b49abd3669d94dd16efa624109867367b2a77395f1efa91ed040fc0ae6)
|
|
133
|
+
check_type(argname="argument props", value=props, expected_type=type_hints["props"])
|
|
134
|
+
return typing.cast(_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup, jsii.invoke(self, "setupResourceGroup", [props]))
|
|
135
|
+
|
|
136
|
+
@builtins.property
|
|
137
|
+
@jsii.member(jsii_name="id")
|
|
138
|
+
def id(self) -> builtins.str:
|
|
139
|
+
return typing.cast(builtins.str, jsii.get(self, "id"))
|
|
140
|
+
|
|
141
|
+
@id.setter
|
|
142
|
+
def id(self, value: builtins.str) -> None:
|
|
143
|
+
if __debug__:
|
|
144
|
+
type_hints = typing.get_type_hints(_typecheckingstub__c76bd62be03329945b350ba9cbdea9590e8d54e5f751f7be82e789363200b281)
|
|
145
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
146
|
+
jsii.set(self, "id", value)
|
|
147
|
+
|
|
148
|
+
@builtins.property
|
|
149
|
+
@jsii.member(jsii_name="resourceGroup")
|
|
150
|
+
@abc.abstractmethod
|
|
151
|
+
def resource_group(
|
|
152
|
+
self,
|
|
153
|
+
) -> _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup:
|
|
154
|
+
...
|
|
155
|
+
|
|
156
|
+
@resource_group.setter
|
|
157
|
+
@abc.abstractmethod
|
|
158
|
+
def resource_group(
|
|
159
|
+
self,
|
|
160
|
+
value: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
|
|
161
|
+
) -> None:
|
|
162
|
+
...
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
class _AzureResourceProxy(AzureResource):
|
|
166
|
+
@builtins.property
|
|
167
|
+
@jsii.member(jsii_name="resourceGroup")
|
|
168
|
+
def resource_group(
|
|
169
|
+
self,
|
|
170
|
+
) -> _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup:
|
|
171
|
+
return typing.cast(_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup, jsii.get(self, "resourceGroup"))
|
|
172
|
+
|
|
173
|
+
@resource_group.setter
|
|
174
|
+
def resource_group(
|
|
175
|
+
self,
|
|
176
|
+
value: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
|
|
177
|
+
) -> None:
|
|
178
|
+
if __debug__:
|
|
179
|
+
type_hints = typing.get_type_hints(_typecheckingstub__8ec98b98f30c15ce877c15ada05260a413f2e1e07468ff9124c9e8c7413dc8e4)
|
|
180
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
181
|
+
jsii.set(self, "resourceGroup", value)
|
|
182
|
+
|
|
183
|
+
# Adding a "__jsii_proxy_class__(): typing.Type" function to the abstract class
|
|
184
|
+
typing.cast(typing.Any, AzureResource).__jsii_proxy_class__ = lambda : _AzureResourceProxy
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
class AzureResourceWithAlert(
|
|
188
|
+
AzureResource,
|
|
189
|
+
metaclass=jsii.JSIIAbstractClass,
|
|
190
|
+
jsii_type="@microsoft/terraform-cdk-constructs.core_azure.AzureResourceWithAlert",
|
|
191
|
+
):
|
|
192
|
+
def __init__(self, scope: _constructs_77d1e7e8.Construct, id: builtins.str) -> None:
|
|
193
|
+
'''
|
|
194
|
+
:param scope: -
|
|
195
|
+
:param id: -
|
|
196
|
+
'''
|
|
197
|
+
if __debug__:
|
|
198
|
+
type_hints = typing.get_type_hints(_typecheckingstub__a45c4ecedb362baec5e5a9092dddfd5804232a4339f634bec4aea7bcfd647a80)
|
|
199
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
200
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
201
|
+
jsii.create(self.__class__, self, [scope, id])
|
|
202
|
+
|
|
203
|
+
@jsii.member(jsii_name="addMetricAlert")
|
|
204
|
+
def add_metric_alert(self, props: _IBaseMetricAlertProps_12d2ea58) -> None:
|
|
205
|
+
'''
|
|
206
|
+
:param props: -
|
|
207
|
+
'''
|
|
208
|
+
if __debug__:
|
|
209
|
+
type_hints = typing.get_type_hints(_typecheckingstub__65d4eb9ef355ec1d15f73a29b1f1e435c0a47019ec2ac5b552cdab9e9bab1852)
|
|
210
|
+
check_type(argname="argument props", value=props, expected_type=type_hints["props"])
|
|
211
|
+
return typing.cast(None, jsii.invoke(self, "addMetricAlert", [props]))
|
|
212
|
+
|
|
213
|
+
@jsii.member(jsii_name="addQueryRuleAlert")
|
|
214
|
+
def add_query_rule_alert(
|
|
215
|
+
self,
|
|
216
|
+
*,
|
|
217
|
+
criteria_operator: builtins.str,
|
|
218
|
+
criteria_query: builtins.str,
|
|
219
|
+
criteria_threshold: jsii.Number,
|
|
220
|
+
criteriatime_aggregation_method: builtins.str,
|
|
221
|
+
evaluation_frequency: builtins.str,
|
|
222
|
+
location: builtins.str,
|
|
223
|
+
name: builtins.str,
|
|
224
|
+
resource_group: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
|
|
225
|
+
severity: jsii.Number,
|
|
226
|
+
window_duration: builtins.str,
|
|
227
|
+
action_action_group_id: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
228
|
+
auto_mitigation_enabled: typing.Optional[builtins.bool] = None,
|
|
229
|
+
criteria_dimension_name: typing.Optional[builtins.str] = None,
|
|
230
|
+
criteria_dimension_operator: typing.Optional[builtins.str] = None,
|
|
231
|
+
criteria_dimension_values: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
232
|
+
criteria_fail_minimum_failing_periods_to_trigger_alert: typing.Optional[jsii.Number] = None,
|
|
233
|
+
criteria_fail_number_of_evaluation_periods: typing.Optional[jsii.Number] = None,
|
|
234
|
+
criteria_metric_measure_column: typing.Optional[builtins.str] = None,
|
|
235
|
+
description: typing.Optional[builtins.str] = None,
|
|
236
|
+
display_name: typing.Optional[builtins.str] = None,
|
|
237
|
+
enabled: typing.Optional[builtins.bool] = None,
|
|
238
|
+
mute_actions_after_alert_duration: typing.Optional[builtins.str] = None,
|
|
239
|
+
query_time_range_override: typing.Optional[builtins.str] = None,
|
|
240
|
+
skip_query_validation: typing.Optional[builtins.bool] = None,
|
|
241
|
+
tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
242
|
+
workspace_alerts_storage_enabled: typing.Optional[builtins.bool] = None,
|
|
243
|
+
) -> None:
|
|
244
|
+
'''
|
|
245
|
+
:param criteria_operator: Specifies the criteria operator. Possible values are Equal, GreaterThan, GreaterThanOrEqual, LessThan,and LessThanOrEqual.
|
|
246
|
+
:param criteria_query: The query to run on logs. The results returned by this query are used to populate the alert.
|
|
247
|
+
:param criteria_threshold: Specifies the criteria threshold value that activates the alert.
|
|
248
|
+
: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.
|
|
249
|
+
: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.
|
|
250
|
+
:param location: The location of the Monitor Scheduled Query Rule.
|
|
251
|
+
:param name: The name of the Monitor Scheduled Query Rule.
|
|
252
|
+
:param resource_group: The name of the resource group in which the Monitor Scheduled Query Rule is created.
|
|
253
|
+
:param severity: Severity of the alert. Should be an integer between 0 and 4. Value of 0 is severest.
|
|
254
|
+
:param window_duration: Specifies the period of time in ISO 8601 duration format on which the Scheduled Query Rule will be executed (bin size).
|
|
255
|
+
:param action_action_group_id: Specifies the action group IDs to trigger when the alert fires.
|
|
256
|
+
:param auto_mitigation_enabled: Specifies the flag that indicates whether the alert should be automatically resolved or not. Default: false
|
|
257
|
+
:param criteria_dimension_name: Name of the dimension for criteria.
|
|
258
|
+
:param criteria_dimension_operator: Operator for dimension values. Possible values are Exclude, and Include.
|
|
259
|
+
:param criteria_dimension_values: List of dimension values. Use a wildcard * to collect all.
|
|
260
|
+
: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.
|
|
261
|
+
:param criteria_fail_number_of_evaluation_periods: Specifies the number of evaluation periods. Possible value is integer between 1 and 6.
|
|
262
|
+
: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.
|
|
263
|
+
:param description: Specifies the description of the scheduled query rule.
|
|
264
|
+
:param display_name: Specifies the display name of the alert rule.
|
|
265
|
+
:param enabled: Specifies the flag which indicates whether this scheduled query rule is enabled. Default: true
|
|
266
|
+
: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.
|
|
267
|
+
: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.
|
|
268
|
+
:param skip_query_validation: Specifies the flag which indicates whether the provided query should be validated or not. Default: true
|
|
269
|
+
:param tags: A mapping of tags which should be assigned to the Monitor Scheduled Query Rule.
|
|
270
|
+
:param workspace_alerts_storage_enabled: Specifies the flag which indicates whether this scheduled query rule check if storage is configured. Default: false
|
|
271
|
+
'''
|
|
272
|
+
props = _BaseAzureQueryRuleAlertProps_4043a0fa(
|
|
273
|
+
criteria_operator=criteria_operator,
|
|
274
|
+
criteria_query=criteria_query,
|
|
275
|
+
criteria_threshold=criteria_threshold,
|
|
276
|
+
criteriatime_aggregation_method=criteriatime_aggregation_method,
|
|
277
|
+
evaluation_frequency=evaluation_frequency,
|
|
278
|
+
location=location,
|
|
279
|
+
name=name,
|
|
280
|
+
resource_group=resource_group,
|
|
281
|
+
severity=severity,
|
|
282
|
+
window_duration=window_duration,
|
|
283
|
+
action_action_group_id=action_action_group_id,
|
|
284
|
+
auto_mitigation_enabled=auto_mitigation_enabled,
|
|
285
|
+
criteria_dimension_name=criteria_dimension_name,
|
|
286
|
+
criteria_dimension_operator=criteria_dimension_operator,
|
|
287
|
+
criteria_dimension_values=criteria_dimension_values,
|
|
288
|
+
criteria_fail_minimum_failing_periods_to_trigger_alert=criteria_fail_minimum_failing_periods_to_trigger_alert,
|
|
289
|
+
criteria_fail_number_of_evaluation_periods=criteria_fail_number_of_evaluation_periods,
|
|
290
|
+
criteria_metric_measure_column=criteria_metric_measure_column,
|
|
291
|
+
description=description,
|
|
292
|
+
display_name=display_name,
|
|
293
|
+
enabled=enabled,
|
|
294
|
+
mute_actions_after_alert_duration=mute_actions_after_alert_duration,
|
|
295
|
+
query_time_range_override=query_time_range_override,
|
|
296
|
+
skip_query_validation=skip_query_validation,
|
|
297
|
+
tags=tags,
|
|
298
|
+
workspace_alerts_storage_enabled=workspace_alerts_storage_enabled,
|
|
299
|
+
)
|
|
300
|
+
|
|
301
|
+
return typing.cast(None, jsii.invoke(self, "addQueryRuleAlert", [props]))
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
class _AzureResourceWithAlertProxy(
|
|
305
|
+
AzureResourceWithAlert,
|
|
306
|
+
jsii.proxy_for(AzureResource), # type: ignore[misc]
|
|
307
|
+
):
|
|
308
|
+
pass
|
|
309
|
+
|
|
310
|
+
# Adding a "__jsii_proxy_class__(): typing.Type" function to the abstract class
|
|
311
|
+
typing.cast(typing.Any, AzureResourceWithAlert).__jsii_proxy_class__ = lambda : _AzureResourceWithAlertProxy
|
|
312
|
+
|
|
313
|
+
|
|
314
|
+
@jsii.data_type(
|
|
315
|
+
jsii_type="@microsoft/terraform-cdk-constructs.core_azure.BaseDiagnosticSettingsProps",
|
|
316
|
+
jsii_struct_bases=[],
|
|
317
|
+
name_mapping={
|
|
318
|
+
"eventhub_authorization_rule_id": "eventhubAuthorizationRuleId",
|
|
319
|
+
"eventhub_name": "eventhubName",
|
|
320
|
+
"log_analytics_destination_type": "logAnalyticsDestinationType",
|
|
321
|
+
"log_analytics_workspace_id": "logAnalyticsWorkspaceId",
|
|
322
|
+
"log_categories": "logCategories",
|
|
323
|
+
"metric_categories": "metricCategories",
|
|
324
|
+
"name": "name",
|
|
325
|
+
"partner_solution_id": "partnerSolutionId",
|
|
326
|
+
"storage_account_id": "storageAccountId",
|
|
327
|
+
},
|
|
328
|
+
)
|
|
329
|
+
class BaseDiagnosticSettingsProps:
|
|
330
|
+
def __init__(
|
|
331
|
+
self,
|
|
332
|
+
*,
|
|
333
|
+
eventhub_authorization_rule_id: typing.Optional[builtins.str] = None,
|
|
334
|
+
eventhub_name: typing.Optional[builtins.str] = None,
|
|
335
|
+
log_analytics_destination_type: typing.Optional[builtins.str] = None,
|
|
336
|
+
log_analytics_workspace_id: typing.Optional[builtins.str] = None,
|
|
337
|
+
log_categories: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
338
|
+
metric_categories: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
339
|
+
name: typing.Optional[builtins.str] = None,
|
|
340
|
+
partner_solution_id: typing.Optional[builtins.str] = None,
|
|
341
|
+
storage_account_id: typing.Optional[builtins.str] = None,
|
|
342
|
+
) -> None:
|
|
343
|
+
'''
|
|
344
|
+
:param eventhub_authorization_rule_id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#eventhub_authorization_rule_id MonitorDiagnosticSetting#eventhub_authorization_rule_id}.
|
|
345
|
+
:param eventhub_name: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#eventhub_name MonitorDiagnosticSetting#eventhub_name}.
|
|
346
|
+
:param log_analytics_destination_type: When set to 'Dedicated' logs sent to a Log Analytics workspace will go into resource specific tables, instead of the legacy AzureDiagnostics table.
|
|
347
|
+
:param log_analytics_workspace_id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#log_analytics_workspace_id MonitorDiagnosticSetting#log_analytics_workspace_id}.
|
|
348
|
+
:param log_categories: Log Diagnostic categories. Default: null
|
|
349
|
+
:param metric_categories: Diagnostic Metrics. Default: null
|
|
350
|
+
:param name: Name of the diagnostic settings resource.
|
|
351
|
+
:param partner_solution_id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#partner_solution_id MonitorDiagnosticSetting#partner_solution_id}.
|
|
352
|
+
:param storage_account_id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#storage_account_id MonitorDiagnosticSetting#storage_account_id}.
|
|
353
|
+
'''
|
|
354
|
+
if __debug__:
|
|
355
|
+
type_hints = typing.get_type_hints(_typecheckingstub__de79486227d0f87abf4c04407e9d3509a556e6555a06340dd21f60a0a790062f)
|
|
356
|
+
check_type(argname="argument eventhub_authorization_rule_id", value=eventhub_authorization_rule_id, expected_type=type_hints["eventhub_authorization_rule_id"])
|
|
357
|
+
check_type(argname="argument eventhub_name", value=eventhub_name, expected_type=type_hints["eventhub_name"])
|
|
358
|
+
check_type(argname="argument log_analytics_destination_type", value=log_analytics_destination_type, expected_type=type_hints["log_analytics_destination_type"])
|
|
359
|
+
check_type(argname="argument log_analytics_workspace_id", value=log_analytics_workspace_id, expected_type=type_hints["log_analytics_workspace_id"])
|
|
360
|
+
check_type(argname="argument log_categories", value=log_categories, expected_type=type_hints["log_categories"])
|
|
361
|
+
check_type(argname="argument metric_categories", value=metric_categories, expected_type=type_hints["metric_categories"])
|
|
362
|
+
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
363
|
+
check_type(argname="argument partner_solution_id", value=partner_solution_id, expected_type=type_hints["partner_solution_id"])
|
|
364
|
+
check_type(argname="argument storage_account_id", value=storage_account_id, expected_type=type_hints["storage_account_id"])
|
|
365
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
366
|
+
if eventhub_authorization_rule_id is not None:
|
|
367
|
+
self._values["eventhub_authorization_rule_id"] = eventhub_authorization_rule_id
|
|
368
|
+
if eventhub_name is not None:
|
|
369
|
+
self._values["eventhub_name"] = eventhub_name
|
|
370
|
+
if log_analytics_destination_type is not None:
|
|
371
|
+
self._values["log_analytics_destination_type"] = log_analytics_destination_type
|
|
372
|
+
if log_analytics_workspace_id is not None:
|
|
373
|
+
self._values["log_analytics_workspace_id"] = log_analytics_workspace_id
|
|
374
|
+
if log_categories is not None:
|
|
375
|
+
self._values["log_categories"] = log_categories
|
|
376
|
+
if metric_categories is not None:
|
|
377
|
+
self._values["metric_categories"] = metric_categories
|
|
378
|
+
if name is not None:
|
|
379
|
+
self._values["name"] = name
|
|
380
|
+
if partner_solution_id is not None:
|
|
381
|
+
self._values["partner_solution_id"] = partner_solution_id
|
|
382
|
+
if storage_account_id is not None:
|
|
383
|
+
self._values["storage_account_id"] = storage_account_id
|
|
384
|
+
|
|
385
|
+
@builtins.property
|
|
386
|
+
def eventhub_authorization_rule_id(self) -> typing.Optional[builtins.str]:
|
|
387
|
+
'''Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#eventhub_authorization_rule_id MonitorDiagnosticSetting#eventhub_authorization_rule_id}.'''
|
|
388
|
+
result = self._values.get("eventhub_authorization_rule_id")
|
|
389
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
390
|
+
|
|
391
|
+
@builtins.property
|
|
392
|
+
def eventhub_name(self) -> typing.Optional[builtins.str]:
|
|
393
|
+
'''Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#eventhub_name MonitorDiagnosticSetting#eventhub_name}.'''
|
|
394
|
+
result = self._values.get("eventhub_name")
|
|
395
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
396
|
+
|
|
397
|
+
@builtins.property
|
|
398
|
+
def log_analytics_destination_type(self) -> typing.Optional[builtins.str]:
|
|
399
|
+
'''When set to 'Dedicated' logs sent to a Log Analytics workspace will go into resource specific tables, instead of the legacy AzureDiagnostics table.'''
|
|
400
|
+
result = self._values.get("log_analytics_destination_type")
|
|
401
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
402
|
+
|
|
403
|
+
@builtins.property
|
|
404
|
+
def log_analytics_workspace_id(self) -> typing.Optional[builtins.str]:
|
|
405
|
+
'''Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#log_analytics_workspace_id MonitorDiagnosticSetting#log_analytics_workspace_id}.'''
|
|
406
|
+
result = self._values.get("log_analytics_workspace_id")
|
|
407
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
408
|
+
|
|
409
|
+
@builtins.property
|
|
410
|
+
def log_categories(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
411
|
+
'''Log Diagnostic categories.
|
|
412
|
+
|
|
413
|
+
:default: null
|
|
414
|
+
'''
|
|
415
|
+
result = self._values.get("log_categories")
|
|
416
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
417
|
+
|
|
418
|
+
@builtins.property
|
|
419
|
+
def metric_categories(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
420
|
+
'''Diagnostic Metrics.
|
|
421
|
+
|
|
422
|
+
:default: null
|
|
423
|
+
'''
|
|
424
|
+
result = self._values.get("metric_categories")
|
|
425
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
426
|
+
|
|
427
|
+
@builtins.property
|
|
428
|
+
def name(self) -> typing.Optional[builtins.str]:
|
|
429
|
+
'''Name of the diagnostic settings resource.'''
|
|
430
|
+
result = self._values.get("name")
|
|
431
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
432
|
+
|
|
433
|
+
@builtins.property
|
|
434
|
+
def partner_solution_id(self) -> typing.Optional[builtins.str]:
|
|
435
|
+
'''Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#partner_solution_id MonitorDiagnosticSetting#partner_solution_id}.'''
|
|
436
|
+
result = self._values.get("partner_solution_id")
|
|
437
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
438
|
+
|
|
439
|
+
@builtins.property
|
|
440
|
+
def storage_account_id(self) -> typing.Optional[builtins.str]:
|
|
441
|
+
'''Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#storage_account_id MonitorDiagnosticSetting#storage_account_id}.'''
|
|
442
|
+
result = self._values.get("storage_account_id")
|
|
443
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
444
|
+
|
|
445
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
446
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
447
|
+
|
|
448
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
449
|
+
return not (rhs == self)
|
|
450
|
+
|
|
451
|
+
def __repr__(self) -> str:
|
|
452
|
+
return "BaseDiagnosticSettingsProps(%s)" % ", ".join(
|
|
453
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
454
|
+
)
|
|
455
|
+
|
|
456
|
+
|
|
457
|
+
class DiagnosticSettings(
|
|
458
|
+
_constructs_77d1e7e8.Construct,
|
|
459
|
+
metaclass=jsii.JSIIMeta,
|
|
460
|
+
jsii_type="@microsoft/terraform-cdk-constructs.core_azure.DiagnosticSettings",
|
|
461
|
+
):
|
|
462
|
+
def __init__(
|
|
463
|
+
self,
|
|
464
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
465
|
+
id: builtins.str,
|
|
466
|
+
*,
|
|
467
|
+
target_resource_id: builtins.str,
|
|
468
|
+
eventhub_authorization_rule_id: typing.Optional[builtins.str] = None,
|
|
469
|
+
eventhub_name: typing.Optional[builtins.str] = None,
|
|
470
|
+
log_analytics_destination_type: typing.Optional[builtins.str] = None,
|
|
471
|
+
log_analytics_workspace_id: typing.Optional[builtins.str] = None,
|
|
472
|
+
log_categories: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
473
|
+
metric_categories: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
474
|
+
name: typing.Optional[builtins.str] = None,
|
|
475
|
+
partner_solution_id: typing.Optional[builtins.str] = None,
|
|
476
|
+
storage_account_id: typing.Optional[builtins.str] = None,
|
|
477
|
+
) -> None:
|
|
478
|
+
'''Manages the diagnostic settings for monitoring Azure resources.
|
|
479
|
+
|
|
480
|
+
This class is responsible for configuring Azure Monitor Diagnostic Settings to collect and route metrics and logs from
|
|
481
|
+
Azure resources to monitoring and analytics services. Diagnostic settings can be applied to resources like VMs,
|
|
482
|
+
App Services, and more, allowing collected data to be sent to Event Hubs, Log Analytics workspaces, or Azure Storage.
|
|
483
|
+
|
|
484
|
+
:param scope: - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
|
|
485
|
+
:param id: - The unique identifier for this instance of the diagnostic settings.
|
|
486
|
+
:param target_resource_id: Target resource id to enable diagnostic settings on.
|
|
487
|
+
:param eventhub_authorization_rule_id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#eventhub_authorization_rule_id MonitorDiagnosticSetting#eventhub_authorization_rule_id}.
|
|
488
|
+
:param eventhub_name: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#eventhub_name MonitorDiagnosticSetting#eventhub_name}.
|
|
489
|
+
:param log_analytics_destination_type: When set to 'Dedicated' logs sent to a Log Analytics workspace will go into resource specific tables, instead of the legacy AzureDiagnostics table.
|
|
490
|
+
:param log_analytics_workspace_id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#log_analytics_workspace_id MonitorDiagnosticSetting#log_analytics_workspace_id}.
|
|
491
|
+
:param log_categories: Log Diagnostic categories. Default: null
|
|
492
|
+
:param metric_categories: Diagnostic Metrics. Default: null
|
|
493
|
+
:param name: Name of the diagnostic settings resource.
|
|
494
|
+
:param partner_solution_id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#partner_solution_id MonitorDiagnosticSetting#partner_solution_id}.
|
|
495
|
+
:param storage_account_id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#storage_account_id MonitorDiagnosticSetting#storage_account_id}.
|
|
496
|
+
'''
|
|
497
|
+
if __debug__:
|
|
498
|
+
type_hints = typing.get_type_hints(_typecheckingstub__80dd62adebc7a2ecc3019588edf51d7d9a53544a31ff561745a03f0a50b7b15b)
|
|
499
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
500
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
501
|
+
props = DiagnosticSettingsProps(
|
|
502
|
+
target_resource_id=target_resource_id,
|
|
503
|
+
eventhub_authorization_rule_id=eventhub_authorization_rule_id,
|
|
504
|
+
eventhub_name=eventhub_name,
|
|
505
|
+
log_analytics_destination_type=log_analytics_destination_type,
|
|
506
|
+
log_analytics_workspace_id=log_analytics_workspace_id,
|
|
507
|
+
log_categories=log_categories,
|
|
508
|
+
metric_categories=metric_categories,
|
|
509
|
+
name=name,
|
|
510
|
+
partner_solution_id=partner_solution_id,
|
|
511
|
+
storage_account_id=storage_account_id,
|
|
512
|
+
)
|
|
513
|
+
|
|
514
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
515
|
+
|
|
516
|
+
@builtins.property
|
|
517
|
+
@jsii.member(jsii_name="props")
|
|
518
|
+
def props(self) -> "DiagnosticSettingsProps":
|
|
519
|
+
return typing.cast("DiagnosticSettingsProps", jsii.get(self, "props"))
|
|
520
|
+
|
|
521
|
+
|
|
522
|
+
@jsii.data_type(
|
|
523
|
+
jsii_type="@microsoft/terraform-cdk-constructs.core_azure.DiagnosticSettingsProps",
|
|
524
|
+
jsii_struct_bases=[BaseDiagnosticSettingsProps],
|
|
525
|
+
name_mapping={
|
|
526
|
+
"eventhub_authorization_rule_id": "eventhubAuthorizationRuleId",
|
|
527
|
+
"eventhub_name": "eventhubName",
|
|
528
|
+
"log_analytics_destination_type": "logAnalyticsDestinationType",
|
|
529
|
+
"log_analytics_workspace_id": "logAnalyticsWorkspaceId",
|
|
530
|
+
"log_categories": "logCategories",
|
|
531
|
+
"metric_categories": "metricCategories",
|
|
532
|
+
"name": "name",
|
|
533
|
+
"partner_solution_id": "partnerSolutionId",
|
|
534
|
+
"storage_account_id": "storageAccountId",
|
|
535
|
+
"target_resource_id": "targetResourceId",
|
|
536
|
+
},
|
|
537
|
+
)
|
|
538
|
+
class DiagnosticSettingsProps(BaseDiagnosticSettingsProps):
|
|
539
|
+
def __init__(
|
|
540
|
+
self,
|
|
541
|
+
*,
|
|
542
|
+
eventhub_authorization_rule_id: typing.Optional[builtins.str] = None,
|
|
543
|
+
eventhub_name: typing.Optional[builtins.str] = None,
|
|
544
|
+
log_analytics_destination_type: typing.Optional[builtins.str] = None,
|
|
545
|
+
log_analytics_workspace_id: typing.Optional[builtins.str] = None,
|
|
546
|
+
log_categories: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
547
|
+
metric_categories: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
548
|
+
name: typing.Optional[builtins.str] = None,
|
|
549
|
+
partner_solution_id: typing.Optional[builtins.str] = None,
|
|
550
|
+
storage_account_id: typing.Optional[builtins.str] = None,
|
|
551
|
+
target_resource_id: builtins.str,
|
|
552
|
+
) -> None:
|
|
553
|
+
'''
|
|
554
|
+
:param eventhub_authorization_rule_id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#eventhub_authorization_rule_id MonitorDiagnosticSetting#eventhub_authorization_rule_id}.
|
|
555
|
+
:param eventhub_name: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#eventhub_name MonitorDiagnosticSetting#eventhub_name}.
|
|
556
|
+
:param log_analytics_destination_type: When set to 'Dedicated' logs sent to a Log Analytics workspace will go into resource specific tables, instead of the legacy AzureDiagnostics table.
|
|
557
|
+
:param log_analytics_workspace_id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#log_analytics_workspace_id MonitorDiagnosticSetting#log_analytics_workspace_id}.
|
|
558
|
+
:param log_categories: Log Diagnostic categories. Default: null
|
|
559
|
+
:param metric_categories: Diagnostic Metrics. Default: null
|
|
560
|
+
:param name: Name of the diagnostic settings resource.
|
|
561
|
+
:param partner_solution_id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#partner_solution_id MonitorDiagnosticSetting#partner_solution_id}.
|
|
562
|
+
:param storage_account_id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#storage_account_id MonitorDiagnosticSetting#storage_account_id}.
|
|
563
|
+
:param target_resource_id: Target resource id to enable diagnostic settings on.
|
|
564
|
+
'''
|
|
565
|
+
if __debug__:
|
|
566
|
+
type_hints = typing.get_type_hints(_typecheckingstub__ddb054a038163bb87907b34921a1066d096e6cd55f0734949bd32592e76d01f9)
|
|
567
|
+
check_type(argname="argument eventhub_authorization_rule_id", value=eventhub_authorization_rule_id, expected_type=type_hints["eventhub_authorization_rule_id"])
|
|
568
|
+
check_type(argname="argument eventhub_name", value=eventhub_name, expected_type=type_hints["eventhub_name"])
|
|
569
|
+
check_type(argname="argument log_analytics_destination_type", value=log_analytics_destination_type, expected_type=type_hints["log_analytics_destination_type"])
|
|
570
|
+
check_type(argname="argument log_analytics_workspace_id", value=log_analytics_workspace_id, expected_type=type_hints["log_analytics_workspace_id"])
|
|
571
|
+
check_type(argname="argument log_categories", value=log_categories, expected_type=type_hints["log_categories"])
|
|
572
|
+
check_type(argname="argument metric_categories", value=metric_categories, expected_type=type_hints["metric_categories"])
|
|
573
|
+
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
574
|
+
check_type(argname="argument partner_solution_id", value=partner_solution_id, expected_type=type_hints["partner_solution_id"])
|
|
575
|
+
check_type(argname="argument storage_account_id", value=storage_account_id, expected_type=type_hints["storage_account_id"])
|
|
576
|
+
check_type(argname="argument target_resource_id", value=target_resource_id, expected_type=type_hints["target_resource_id"])
|
|
577
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
578
|
+
"target_resource_id": target_resource_id,
|
|
579
|
+
}
|
|
580
|
+
if eventhub_authorization_rule_id is not None:
|
|
581
|
+
self._values["eventhub_authorization_rule_id"] = eventhub_authorization_rule_id
|
|
582
|
+
if eventhub_name is not None:
|
|
583
|
+
self._values["eventhub_name"] = eventhub_name
|
|
584
|
+
if log_analytics_destination_type is not None:
|
|
585
|
+
self._values["log_analytics_destination_type"] = log_analytics_destination_type
|
|
586
|
+
if log_analytics_workspace_id is not None:
|
|
587
|
+
self._values["log_analytics_workspace_id"] = log_analytics_workspace_id
|
|
588
|
+
if log_categories is not None:
|
|
589
|
+
self._values["log_categories"] = log_categories
|
|
590
|
+
if metric_categories is not None:
|
|
591
|
+
self._values["metric_categories"] = metric_categories
|
|
592
|
+
if name is not None:
|
|
593
|
+
self._values["name"] = name
|
|
594
|
+
if partner_solution_id is not None:
|
|
595
|
+
self._values["partner_solution_id"] = partner_solution_id
|
|
596
|
+
if storage_account_id is not None:
|
|
597
|
+
self._values["storage_account_id"] = storage_account_id
|
|
598
|
+
|
|
599
|
+
@builtins.property
|
|
600
|
+
def eventhub_authorization_rule_id(self) -> typing.Optional[builtins.str]:
|
|
601
|
+
'''Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#eventhub_authorization_rule_id MonitorDiagnosticSetting#eventhub_authorization_rule_id}.'''
|
|
602
|
+
result = self._values.get("eventhub_authorization_rule_id")
|
|
603
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
604
|
+
|
|
605
|
+
@builtins.property
|
|
606
|
+
def eventhub_name(self) -> typing.Optional[builtins.str]:
|
|
607
|
+
'''Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#eventhub_name MonitorDiagnosticSetting#eventhub_name}.'''
|
|
608
|
+
result = self._values.get("eventhub_name")
|
|
609
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
610
|
+
|
|
611
|
+
@builtins.property
|
|
612
|
+
def log_analytics_destination_type(self) -> typing.Optional[builtins.str]:
|
|
613
|
+
'''When set to 'Dedicated' logs sent to a Log Analytics workspace will go into resource specific tables, instead of the legacy AzureDiagnostics table.'''
|
|
614
|
+
result = self._values.get("log_analytics_destination_type")
|
|
615
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
616
|
+
|
|
617
|
+
@builtins.property
|
|
618
|
+
def log_analytics_workspace_id(self) -> typing.Optional[builtins.str]:
|
|
619
|
+
'''Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#log_analytics_workspace_id MonitorDiagnosticSetting#log_analytics_workspace_id}.'''
|
|
620
|
+
result = self._values.get("log_analytics_workspace_id")
|
|
621
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
622
|
+
|
|
623
|
+
@builtins.property
|
|
624
|
+
def log_categories(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
625
|
+
'''Log Diagnostic categories.
|
|
626
|
+
|
|
627
|
+
:default: null
|
|
628
|
+
'''
|
|
629
|
+
result = self._values.get("log_categories")
|
|
630
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
631
|
+
|
|
632
|
+
@builtins.property
|
|
633
|
+
def metric_categories(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
634
|
+
'''Diagnostic Metrics.
|
|
635
|
+
|
|
636
|
+
:default: null
|
|
637
|
+
'''
|
|
638
|
+
result = self._values.get("metric_categories")
|
|
639
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
640
|
+
|
|
641
|
+
@builtins.property
|
|
642
|
+
def name(self) -> typing.Optional[builtins.str]:
|
|
643
|
+
'''Name of the diagnostic settings resource.'''
|
|
644
|
+
result = self._values.get("name")
|
|
645
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
646
|
+
|
|
647
|
+
@builtins.property
|
|
648
|
+
def partner_solution_id(self) -> typing.Optional[builtins.str]:
|
|
649
|
+
'''Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#partner_solution_id MonitorDiagnosticSetting#partner_solution_id}.'''
|
|
650
|
+
result = self._values.get("partner_solution_id")
|
|
651
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
652
|
+
|
|
653
|
+
@builtins.property
|
|
654
|
+
def storage_account_id(self) -> typing.Optional[builtins.str]:
|
|
655
|
+
'''Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#storage_account_id MonitorDiagnosticSetting#storage_account_id}.'''
|
|
656
|
+
result = self._values.get("storage_account_id")
|
|
657
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
658
|
+
|
|
659
|
+
@builtins.property
|
|
660
|
+
def target_resource_id(self) -> builtins.str:
|
|
661
|
+
'''Target resource id to enable diagnostic settings on.'''
|
|
662
|
+
result = self._values.get("target_resource_id")
|
|
663
|
+
assert result is not None, "Required property 'target_resource_id' is missing"
|
|
664
|
+
return typing.cast(builtins.str, result)
|
|
665
|
+
|
|
666
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
667
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
668
|
+
|
|
669
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
670
|
+
return not (rhs == self)
|
|
671
|
+
|
|
672
|
+
def __repr__(self) -> str:
|
|
673
|
+
return "DiagnosticSettingsProps(%s)" % ", ".join(
|
|
674
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
675
|
+
)
|
|
676
|
+
|
|
677
|
+
|
|
678
|
+
class Rbac(
|
|
679
|
+
_constructs_77d1e7e8.Construct,
|
|
680
|
+
metaclass=jsii.JSIIMeta,
|
|
681
|
+
jsii_type="@microsoft/terraform-cdk-constructs.core_azure.Rbac",
|
|
682
|
+
):
|
|
683
|
+
def __init__(
|
|
684
|
+
self,
|
|
685
|
+
scope_: _constructs_77d1e7e8.Construct,
|
|
686
|
+
id: builtins.str,
|
|
687
|
+
*,
|
|
688
|
+
object_id: builtins.str,
|
|
689
|
+
role_definition_name: builtins.str,
|
|
690
|
+
scope: builtins.str,
|
|
691
|
+
role_definition_uuid: typing.Optional[builtins.str] = None,
|
|
692
|
+
) -> None:
|
|
693
|
+
'''Manages Role-Based Access Control (RBAC) assignments within Azure.
|
|
694
|
+
|
|
695
|
+
This class is responsible for creating and managing RBAC role assignments in Azure, which control permissions for Azure AD
|
|
696
|
+
identities to manage Azure resources. It supports assigning roles at different scopes such as subscriptions, resource groups,
|
|
697
|
+
or specific resources.
|
|
698
|
+
|
|
699
|
+
:param scope_: - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
|
|
700
|
+
:param id: - The unique identifier for this instance of the RBAC assignment.
|
|
701
|
+
:param object_id: The unique identifier for objects in Azure AD, such as users, groups, or service principals.
|
|
702
|
+
:param role_definition_name: The human-readable name of the Azure RBAC role, e.g., "Virtual Machine Contributor".
|
|
703
|
+
:param scope: The scope at which the RBAC role assignment is applied. This could be a subscription, resource group, or a specific resource.
|
|
704
|
+
:param role_definition_uuid: The universally unique identifier (UUID) for the Azure RBAC role definition. To find the UUID for a role using Azure CLI, use the command: ``az role definition list --name "Role Name" --query "[].name" -o tsv``
|
|
705
|
+
'''
|
|
706
|
+
if __debug__:
|
|
707
|
+
type_hints = typing.get_type_hints(_typecheckingstub__95b52367ed6e90462817903b7daae252347f5ce187dece5a3502e3c3599976f2)
|
|
708
|
+
check_type(argname="argument scope_", value=scope_, expected_type=type_hints["scope_"])
|
|
709
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
710
|
+
props = RbacProps(
|
|
711
|
+
object_id=object_id,
|
|
712
|
+
role_definition_name=role_definition_name,
|
|
713
|
+
scope=scope,
|
|
714
|
+
role_definition_uuid=role_definition_uuid,
|
|
715
|
+
)
|
|
716
|
+
|
|
717
|
+
jsii.create(self.__class__, self, [scope_, id, props])
|
|
718
|
+
|
|
719
|
+
|
|
720
|
+
@jsii.data_type(
|
|
721
|
+
jsii_type="@microsoft/terraform-cdk-constructs.core_azure.RbacProps",
|
|
722
|
+
jsii_struct_bases=[],
|
|
723
|
+
name_mapping={
|
|
724
|
+
"object_id": "objectId",
|
|
725
|
+
"role_definition_name": "roleDefinitionName",
|
|
726
|
+
"scope": "scope",
|
|
727
|
+
"role_definition_uuid": "roleDefinitionUUID",
|
|
728
|
+
},
|
|
729
|
+
)
|
|
730
|
+
class RbacProps:
|
|
731
|
+
def __init__(
|
|
732
|
+
self,
|
|
733
|
+
*,
|
|
734
|
+
object_id: builtins.str,
|
|
735
|
+
role_definition_name: builtins.str,
|
|
736
|
+
scope: builtins.str,
|
|
737
|
+
role_definition_uuid: typing.Optional[builtins.str] = None,
|
|
738
|
+
) -> None:
|
|
739
|
+
'''
|
|
740
|
+
:param object_id: The unique identifier for objects in Azure AD, such as users, groups, or service principals.
|
|
741
|
+
:param role_definition_name: The human-readable name of the Azure RBAC role, e.g., "Virtual Machine Contributor".
|
|
742
|
+
:param scope: The scope at which the RBAC role assignment is applied. This could be a subscription, resource group, or a specific resource.
|
|
743
|
+
:param role_definition_uuid: The universally unique identifier (UUID) for the Azure RBAC role definition. To find the UUID for a role using Azure CLI, use the command: ``az role definition list --name "Role Name" --query "[].name" -o tsv``
|
|
744
|
+
'''
|
|
745
|
+
if __debug__:
|
|
746
|
+
type_hints = typing.get_type_hints(_typecheckingstub__aa201a06ac30874dc3cfb95c09452934bc1463c17d71006408982de04ddf0234)
|
|
747
|
+
check_type(argname="argument object_id", value=object_id, expected_type=type_hints["object_id"])
|
|
748
|
+
check_type(argname="argument role_definition_name", value=role_definition_name, expected_type=type_hints["role_definition_name"])
|
|
749
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
750
|
+
check_type(argname="argument role_definition_uuid", value=role_definition_uuid, expected_type=type_hints["role_definition_uuid"])
|
|
751
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
752
|
+
"object_id": object_id,
|
|
753
|
+
"role_definition_name": role_definition_name,
|
|
754
|
+
"scope": scope,
|
|
755
|
+
}
|
|
756
|
+
if role_definition_uuid is not None:
|
|
757
|
+
self._values["role_definition_uuid"] = role_definition_uuid
|
|
758
|
+
|
|
759
|
+
@builtins.property
|
|
760
|
+
def object_id(self) -> builtins.str:
|
|
761
|
+
'''The unique identifier for objects in Azure AD, such as users, groups, or service principals.'''
|
|
762
|
+
result = self._values.get("object_id")
|
|
763
|
+
assert result is not None, "Required property 'object_id' is missing"
|
|
764
|
+
return typing.cast(builtins.str, result)
|
|
765
|
+
|
|
766
|
+
@builtins.property
|
|
767
|
+
def role_definition_name(self) -> builtins.str:
|
|
768
|
+
'''The human-readable name of the Azure RBAC role, e.g., "Virtual Machine Contributor".'''
|
|
769
|
+
result = self._values.get("role_definition_name")
|
|
770
|
+
assert result is not None, "Required property 'role_definition_name' is missing"
|
|
771
|
+
return typing.cast(builtins.str, result)
|
|
772
|
+
|
|
773
|
+
@builtins.property
|
|
774
|
+
def scope(self) -> builtins.str:
|
|
775
|
+
'''The scope at which the RBAC role assignment is applied.
|
|
776
|
+
|
|
777
|
+
This could be a subscription, resource group, or a specific resource.
|
|
778
|
+
'''
|
|
779
|
+
result = self._values.get("scope")
|
|
780
|
+
assert result is not None, "Required property 'scope' is missing"
|
|
781
|
+
return typing.cast(builtins.str, result)
|
|
782
|
+
|
|
783
|
+
@builtins.property
|
|
784
|
+
def role_definition_uuid(self) -> typing.Optional[builtins.str]:
|
|
785
|
+
'''The universally unique identifier (UUID) for the Azure RBAC role definition.
|
|
786
|
+
|
|
787
|
+
To find the UUID for a role using Azure CLI, use the command:
|
|
788
|
+
``az role definition list --name "Role Name" --query "[].name" -o tsv``
|
|
789
|
+
'''
|
|
790
|
+
result = self._values.get("role_definition_uuid")
|
|
791
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
792
|
+
|
|
793
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
794
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
795
|
+
|
|
796
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
797
|
+
return not (rhs == self)
|
|
798
|
+
|
|
799
|
+
def __repr__(self) -> str:
|
|
800
|
+
return "RbacProps(%s)" % ", ".join(
|
|
801
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
802
|
+
)
|
|
803
|
+
|
|
804
|
+
|
|
805
|
+
__all__ = [
|
|
806
|
+
"AzureResource",
|
|
807
|
+
"AzureResourceWithAlert",
|
|
808
|
+
"BaseDiagnosticSettingsProps",
|
|
809
|
+
"DiagnosticSettings",
|
|
810
|
+
"DiagnosticSettingsProps",
|
|
811
|
+
"Rbac",
|
|
812
|
+
"RbacProps",
|
|
813
|
+
]
|
|
814
|
+
|
|
815
|
+
publication.publish()
|
|
816
|
+
|
|
817
|
+
def _typecheckingstub__0d809bb91fb460c3d8c1da4639116017ae9094849dd971e79bced0656169e740(
|
|
818
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
819
|
+
id: builtins.str,
|
|
820
|
+
) -> None:
|
|
821
|
+
"""Type checking stubs"""
|
|
822
|
+
pass
|
|
823
|
+
|
|
824
|
+
def _typecheckingstub__1ec54763e2192509c84ee5593e5da4ef4239aca1590aee01d4bb81aa39fb7408(
|
|
825
|
+
object_id: builtins.str,
|
|
826
|
+
custom_role_name: builtins.str,
|
|
827
|
+
) -> None:
|
|
828
|
+
"""Type checking stubs"""
|
|
829
|
+
pass
|
|
830
|
+
|
|
831
|
+
def _typecheckingstub__86a048b49abd3669d94dd16efa624109867367b2a77395f1efa91ed040fc0ae6(
|
|
832
|
+
props: typing.Any,
|
|
833
|
+
) -> None:
|
|
834
|
+
"""Type checking stubs"""
|
|
835
|
+
pass
|
|
836
|
+
|
|
837
|
+
def _typecheckingstub__c76bd62be03329945b350ba9cbdea9590e8d54e5f751f7be82e789363200b281(
|
|
838
|
+
value: builtins.str,
|
|
839
|
+
) -> None:
|
|
840
|
+
"""Type checking stubs"""
|
|
841
|
+
pass
|
|
842
|
+
|
|
843
|
+
def _typecheckingstub__8ec98b98f30c15ce877c15ada05260a413f2e1e07468ff9124c9e8c7413dc8e4(
|
|
844
|
+
value: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
|
|
845
|
+
) -> None:
|
|
846
|
+
"""Type checking stubs"""
|
|
847
|
+
pass
|
|
848
|
+
|
|
849
|
+
def _typecheckingstub__a45c4ecedb362baec5e5a9092dddfd5804232a4339f634bec4aea7bcfd647a80(
|
|
850
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
851
|
+
id: builtins.str,
|
|
852
|
+
) -> None:
|
|
853
|
+
"""Type checking stubs"""
|
|
854
|
+
pass
|
|
855
|
+
|
|
856
|
+
def _typecheckingstub__65d4eb9ef355ec1d15f73a29b1f1e435c0a47019ec2ac5b552cdab9e9bab1852(
|
|
857
|
+
props: _IBaseMetricAlertProps_12d2ea58,
|
|
858
|
+
) -> None:
|
|
859
|
+
"""Type checking stubs"""
|
|
860
|
+
pass
|
|
861
|
+
|
|
862
|
+
def _typecheckingstub__de79486227d0f87abf4c04407e9d3509a556e6555a06340dd21f60a0a790062f(
|
|
863
|
+
*,
|
|
864
|
+
eventhub_authorization_rule_id: typing.Optional[builtins.str] = None,
|
|
865
|
+
eventhub_name: typing.Optional[builtins.str] = None,
|
|
866
|
+
log_analytics_destination_type: typing.Optional[builtins.str] = None,
|
|
867
|
+
log_analytics_workspace_id: typing.Optional[builtins.str] = None,
|
|
868
|
+
log_categories: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
869
|
+
metric_categories: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
870
|
+
name: typing.Optional[builtins.str] = None,
|
|
871
|
+
partner_solution_id: typing.Optional[builtins.str] = None,
|
|
872
|
+
storage_account_id: typing.Optional[builtins.str] = None,
|
|
873
|
+
) -> None:
|
|
874
|
+
"""Type checking stubs"""
|
|
875
|
+
pass
|
|
876
|
+
|
|
877
|
+
def _typecheckingstub__80dd62adebc7a2ecc3019588edf51d7d9a53544a31ff561745a03f0a50b7b15b(
|
|
878
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
879
|
+
id: builtins.str,
|
|
880
|
+
*,
|
|
881
|
+
target_resource_id: builtins.str,
|
|
882
|
+
eventhub_authorization_rule_id: typing.Optional[builtins.str] = None,
|
|
883
|
+
eventhub_name: typing.Optional[builtins.str] = None,
|
|
884
|
+
log_analytics_destination_type: typing.Optional[builtins.str] = None,
|
|
885
|
+
log_analytics_workspace_id: typing.Optional[builtins.str] = None,
|
|
886
|
+
log_categories: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
887
|
+
metric_categories: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
888
|
+
name: typing.Optional[builtins.str] = None,
|
|
889
|
+
partner_solution_id: typing.Optional[builtins.str] = None,
|
|
890
|
+
storage_account_id: typing.Optional[builtins.str] = None,
|
|
891
|
+
) -> None:
|
|
892
|
+
"""Type checking stubs"""
|
|
893
|
+
pass
|
|
894
|
+
|
|
895
|
+
def _typecheckingstub__ddb054a038163bb87907b34921a1066d096e6cd55f0734949bd32592e76d01f9(
|
|
896
|
+
*,
|
|
897
|
+
eventhub_authorization_rule_id: typing.Optional[builtins.str] = None,
|
|
898
|
+
eventhub_name: typing.Optional[builtins.str] = None,
|
|
899
|
+
log_analytics_destination_type: typing.Optional[builtins.str] = None,
|
|
900
|
+
log_analytics_workspace_id: typing.Optional[builtins.str] = None,
|
|
901
|
+
log_categories: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
902
|
+
metric_categories: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
903
|
+
name: typing.Optional[builtins.str] = None,
|
|
904
|
+
partner_solution_id: typing.Optional[builtins.str] = None,
|
|
905
|
+
storage_account_id: typing.Optional[builtins.str] = None,
|
|
906
|
+
target_resource_id: builtins.str,
|
|
907
|
+
) -> None:
|
|
908
|
+
"""Type checking stubs"""
|
|
909
|
+
pass
|
|
910
|
+
|
|
911
|
+
def _typecheckingstub__95b52367ed6e90462817903b7daae252347f5ce187dece5a3502e3c3599976f2(
|
|
912
|
+
scope_: _constructs_77d1e7e8.Construct,
|
|
913
|
+
id: builtins.str,
|
|
914
|
+
*,
|
|
915
|
+
object_id: builtins.str,
|
|
916
|
+
role_definition_name: builtins.str,
|
|
917
|
+
scope: builtins.str,
|
|
918
|
+
role_definition_uuid: typing.Optional[builtins.str] = None,
|
|
919
|
+
) -> None:
|
|
920
|
+
"""Type checking stubs"""
|
|
921
|
+
pass
|
|
922
|
+
|
|
923
|
+
def _typecheckingstub__aa201a06ac30874dc3cfb95c09452934bc1463c17d71006408982de04ddf0234(
|
|
924
|
+
*,
|
|
925
|
+
object_id: builtins.str,
|
|
926
|
+
role_definition_name: builtins.str,
|
|
927
|
+
scope: builtins.str,
|
|
928
|
+
role_definition_uuid: typing.Optional[builtins.str] = None,
|
|
929
|
+
) -> None:
|
|
930
|
+
"""Type checking stubs"""
|
|
931
|
+
pass
|