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,1742 @@
1
+ '''
2
+ # Azure Network Security Group Construct
3
+
4
+ This class represents an Azure Network Security Group. It provides a convenient way to manage Azure Network Security Groups and their associated rules and associations.
5
+
6
+ ## What is an Azure Network Security Group?
7
+
8
+ Azure Network Security Group (NSG) is a feature in Azure that allows you to filter network traffic to and from Azure resources in an Azure virtual network. NSGs can be associated with subnets or individual network interfaces attached to virtual machines.
9
+
10
+ You can learn more about Azure Network Security Groups in the [official Azure documentation](https://docs.microsoft.com/en-us/azure/virtual-network/security-overview).
11
+
12
+ ## Azure Network Security Group Best Practices
13
+
14
+ * Use NSGs to restrict traffic to the minimal required for your application.
15
+ * Avoid overlapping security rules that can cause confusion.
16
+ * Use named security rules for clarity.
17
+ * Regularly review and update your NSG rules.
18
+ * Use Application Security Groups (ASGs) to group virtual machines and define network security policies based on those groups.
19
+
20
+ ## Azure Network Security Group Class Properties
21
+
22
+ This class has several properties that control the Azure Network Security Group's behaviour:
23
+
24
+ * `props`: Properties of the Azure Network Security Group.
25
+ * `id`: Unique identifier of the Network Security Group.
26
+ * `name`: Name of the Network Security Group.
27
+
28
+ ## Deploying the Azure Network Security Group
29
+
30
+ You can deploy an Azure Network Security Group using this class like so:
31
+
32
+ ```python
33
+ const azureNSG = new AzureNetworkSecurityGroup(this, 'myNSG', {
34
+ resourceGroupName: 'myResourceGroup',
35
+ location: 'West US',
36
+ name: 'myNSG',
37
+ rules: [...], // Define your rules here
38
+ });
39
+ ```
40
+
41
+ This code will create a new Azure Network Security Group named myNSG in the West US Azure region. The NSG belongs to the resource group myResourceGroup and contains the specified security rules.
42
+
43
+ ## Security Considerations
44
+
45
+ In Azure Network Security Groups, it's essential to ensure that you're not inadvertently allowing unwanted traffic. Always follow the principle of least privilege – only allow traffic that is explicitly required. Regularly review and audit your NSG rules to ensure they remain relevant and secure.
46
+ '''
47
+ from pkgutil import extend_path
48
+ __path__ = extend_path(__path__, __name__)
49
+
50
+ import abc
51
+ import builtins
52
+ import datetime
53
+ import enum
54
+ import typing
55
+
56
+ import jsii
57
+ import publication
58
+ import typing_extensions
59
+
60
+ from typeguard import check_type
61
+
62
+ from .._jsii import *
63
+
64
+ import cdktf_cdktf_provider_azurerm.network_interface as _cdktf_cdktf_provider_azurerm_network_interface_92bbcedf
65
+ import cdktf_cdktf_provider_azurerm.resource_group as _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf
66
+ import cdktf_cdktf_provider_azurerm.subnet as _cdktf_cdktf_provider_azurerm_subnet_92bbcedf
67
+ import constructs as _constructs_77d1e7e8
68
+ from ..core_azure import AzureResource as _AzureResource_74eec1c4
69
+
70
+
71
+ class PreconfiguredRules(
72
+ metaclass=jsii.JSIIMeta,
73
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_networksecuritygroup.PreconfiguredRules",
74
+ ):
75
+ def __init__(self) -> None:
76
+ jsii.create(self.__class__, self, [])
77
+
78
+ @jsii.member(jsii_name="addDestinationAddress")
79
+ @builtins.classmethod
80
+ def add_destination_address(
81
+ cls,
82
+ rule: typing.Union["RuleConfig", typing.Dict[builtins.str, typing.Any]],
83
+ destination_address_prefix: builtins.str,
84
+ ) -> "RuleConfig":
85
+ '''
86
+ :param rule: -
87
+ :param destination_address_prefix: -
88
+ '''
89
+ if __debug__:
90
+ type_hints = typing.get_type_hints(_typecheckingstub__36828755c5b4c1e8159d75a5791196dbe984738537aa216471a1af45feecc05d)
91
+ check_type(argname="argument rule", value=rule, expected_type=type_hints["rule"])
92
+ check_type(argname="argument destination_address_prefix", value=destination_address_prefix, expected_type=type_hints["destination_address_prefix"])
93
+ return typing.cast("RuleConfig", jsii.sinvoke(cls, "addDestinationAddress", [rule, destination_address_prefix]))
94
+
95
+ @jsii.member(jsii_name="addPriority")
96
+ @builtins.classmethod
97
+ def add_priority(
98
+ cls,
99
+ rule: typing.Union["RuleConfig", typing.Dict[builtins.str, typing.Any]],
100
+ priority: jsii.Number,
101
+ ) -> "RuleConfig":
102
+ '''
103
+ :param rule: -
104
+ :param priority: -
105
+ '''
106
+ if __debug__:
107
+ type_hints = typing.get_type_hints(_typecheckingstub__5047f03b32af36e495107644a1cca8ef3f5685f6440fb5594b8c4e9da8fac527)
108
+ check_type(argname="argument rule", value=rule, expected_type=type_hints["rule"])
109
+ check_type(argname="argument priority", value=priority, expected_type=type_hints["priority"])
110
+ return typing.cast("RuleConfig", jsii.sinvoke(cls, "addPriority", [rule, priority]))
111
+
112
+ @jsii.member(jsii_name="addSourceAddress")
113
+ @builtins.classmethod
114
+ def add_source_address(
115
+ cls,
116
+ rule: typing.Union["RuleConfig", typing.Dict[builtins.str, typing.Any]],
117
+ source_address_prefix: builtins.str,
118
+ ) -> "RuleConfig":
119
+ '''
120
+ :param rule: -
121
+ :param source_address_prefix: -
122
+ '''
123
+ if __debug__:
124
+ type_hints = typing.get_type_hints(_typecheckingstub__380230cfd2bf19b7b486337feed1a961cec154d093a50410318ae6f069c3c07d)
125
+ check_type(argname="argument rule", value=rule, expected_type=type_hints["rule"])
126
+ check_type(argname="argument source_address_prefix", value=source_address_prefix, expected_type=type_hints["source_address_prefix"])
127
+ return typing.cast("RuleConfig", jsii.sinvoke(cls, "addSourceAddress", [rule, source_address_prefix]))
128
+
129
+ @jsii.member(jsii_name="applyRuleOverrides")
130
+ @builtins.classmethod
131
+ def apply_rule_overrides(
132
+ cls,
133
+ base_rule: typing.Union["RuleConfig", typing.Dict[builtins.str, typing.Any]],
134
+ *,
135
+ destination_address_prefix: typing.Optional[builtins.str] = None,
136
+ priority: typing.Optional[jsii.Number] = None,
137
+ source_address_prefix: typing.Optional[builtins.str] = None,
138
+ ) -> "RuleConfig":
139
+ '''
140
+ :param base_rule: -
141
+ :param destination_address_prefix: Optional destination address prefix to be matched for the rule. Similar to the source address prefix, this can be a specific IP address or a range. If not provided, it defaults to matching any destination address.
142
+ :param priority: Optional priority for the rule. Rules are processed in the order of their priority, with lower numbers processed before higher numbers. If not provided, a default priority will be assigned.
143
+ :param source_address_prefix: Optional source address prefix to be matched for the rule. This can be an IP address or a range of IP addresses. If not specified, the default behavior is to match any source address.
144
+ '''
145
+ if __debug__:
146
+ type_hints = typing.get_type_hints(_typecheckingstub__6f7fa8ff8e816697bfed79efeb582a0a3d5959f3568e35df3423eb7a9afd975e)
147
+ check_type(argname="argument base_rule", value=base_rule, expected_type=type_hints["base_rule"])
148
+ overrides = RuleOverrides(
149
+ destination_address_prefix=destination_address_prefix,
150
+ priority=priority,
151
+ source_address_prefix=source_address_prefix,
152
+ )
153
+
154
+ return typing.cast("RuleConfig", jsii.sinvoke(cls, "applyRuleOverrides", [base_rule, overrides]))
155
+
156
+ @jsii.python.classproperty
157
+ @jsii.member(jsii_name="activeDirectoryAllowADDSWebServices")
158
+ def active_directory_allow_adds_web_services(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
159
+ return typing.cast("RuleConfig", jsii.sget(cls, "activeDirectoryAllowADDSWebServices"))
160
+
161
+ @active_directory_allow_adds_web_services.setter # type: ignore[no-redef]
162
+ def active_directory_allow_adds_web_services(cls, value: "RuleConfig") -> None:
163
+ if __debug__:
164
+ type_hints = typing.get_type_hints(_typecheckingstub__428dbd0c13493fc0e286f68339632262ddbbce1720cc3e20f23fde221976c2ce)
165
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
166
+ jsii.sset(cls, "activeDirectoryAllowADDSWebServices", value)
167
+
168
+ @jsii.python.classproperty
169
+ @jsii.member(jsii_name="activeDirectoryAllowADGCReplication")
170
+ def active_directory_allow_adgc_replication(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
171
+ return typing.cast("RuleConfig", jsii.sget(cls, "activeDirectoryAllowADGCReplication"))
172
+
173
+ @active_directory_allow_adgc_replication.setter # type: ignore[no-redef]
174
+ def active_directory_allow_adgc_replication(cls, value: "RuleConfig") -> None:
175
+ if __debug__:
176
+ type_hints = typing.get_type_hints(_typecheckingstub__b5abd3e7641c842e5e9a5a14e677aa271ce51d2e2ee02a0b9f1eda7c7a932993)
177
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
178
+ jsii.sset(cls, "activeDirectoryAllowADGCReplication", value)
179
+
180
+ @jsii.python.classproperty
181
+ @jsii.member(jsii_name="activeDirectoryAllowADGCReplicationSSL")
182
+ def active_directory_allow_adgc_replication_ssl(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
183
+ return typing.cast("RuleConfig", jsii.sget(cls, "activeDirectoryAllowADGCReplicationSSL"))
184
+
185
+ @active_directory_allow_adgc_replication_ssl.setter # type: ignore[no-redef]
186
+ def active_directory_allow_adgc_replication_ssl(cls, value: "RuleConfig") -> None:
187
+ if __debug__:
188
+ type_hints = typing.get_type_hints(_typecheckingstub__3d8f1ccf57bc1e925a8d384f8ffdc24be8d843c10da95b29ada00685a8906004)
189
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
190
+ jsii.sset(cls, "activeDirectoryAllowADGCReplicationSSL", value)
191
+
192
+ @jsii.python.classproperty
193
+ @jsii.member(jsii_name="activeDirectoryAllowADReplication")
194
+ def active_directory_allow_ad_replication(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
195
+ return typing.cast("RuleConfig", jsii.sget(cls, "activeDirectoryAllowADReplication"))
196
+
197
+ @active_directory_allow_ad_replication.setter # type: ignore[no-redef]
198
+ def active_directory_allow_ad_replication(cls, value: "RuleConfig") -> None:
199
+ if __debug__:
200
+ type_hints = typing.get_type_hints(_typecheckingstub__7274ca46989376e017367f8eea4daf57323cbfc5b5dd4fde03064dcf182866fd)
201
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
202
+ jsii.sset(cls, "activeDirectoryAllowADReplication", value)
203
+
204
+ @jsii.python.classproperty
205
+ @jsii.member(jsii_name="activeDirectoryAllowADReplicationSSL")
206
+ def active_directory_allow_ad_replication_ssl(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
207
+ return typing.cast("RuleConfig", jsii.sget(cls, "activeDirectoryAllowADReplicationSSL"))
208
+
209
+ @active_directory_allow_ad_replication_ssl.setter # type: ignore[no-redef]
210
+ def active_directory_allow_ad_replication_ssl(cls, value: "RuleConfig") -> None:
211
+ if __debug__:
212
+ type_hints = typing.get_type_hints(_typecheckingstub__7a576f2d388842b9d27aba4477ce3b42e1f5dddf49e3e3c9e9bcafb6ebc72235)
213
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
214
+ jsii.sset(cls, "activeDirectoryAllowADReplicationSSL", value)
215
+
216
+ @jsii.python.classproperty
217
+ @jsii.member(jsii_name="activeDirectoryAllowADReplicationTrust")
218
+ def active_directory_allow_ad_replication_trust(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
219
+ return typing.cast("RuleConfig", jsii.sget(cls, "activeDirectoryAllowADReplicationTrust"))
220
+
221
+ @active_directory_allow_ad_replication_trust.setter # type: ignore[no-redef]
222
+ def active_directory_allow_ad_replication_trust(cls, value: "RuleConfig") -> None:
223
+ if __debug__:
224
+ type_hints = typing.get_type_hints(_typecheckingstub__d0bc577ddca27fe23efab210d6e0a9e0650c7eaeb5611b2acd8c793c5701a753)
225
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
226
+ jsii.sset(cls, "activeDirectoryAllowADReplicationTrust", value)
227
+
228
+ @jsii.python.classproperty
229
+ @jsii.member(jsii_name="activeDirectoryAllowDFSGroupPolicy")
230
+ def active_directory_allow_dfs_group_policy(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
231
+ return typing.cast("RuleConfig", jsii.sget(cls, "activeDirectoryAllowDFSGroupPolicy"))
232
+
233
+ @active_directory_allow_dfs_group_policy.setter # type: ignore[no-redef]
234
+ def active_directory_allow_dfs_group_policy(cls, value: "RuleConfig") -> None:
235
+ if __debug__:
236
+ type_hints = typing.get_type_hints(_typecheckingstub__5d09b9850fb411ed4831ffca866e06c4331fb796968850a0acacb5442ec49469)
237
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
238
+ jsii.sset(cls, "activeDirectoryAllowDFSGroupPolicy", value)
239
+
240
+ @jsii.python.classproperty
241
+ @jsii.member(jsii_name="activeDirectoryAllowDNS")
242
+ def active_directory_allow_dns(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
243
+ return typing.cast("RuleConfig", jsii.sget(cls, "activeDirectoryAllowDNS"))
244
+
245
+ @active_directory_allow_dns.setter # type: ignore[no-redef]
246
+ def active_directory_allow_dns(cls, value: "RuleConfig") -> None:
247
+ if __debug__:
248
+ type_hints = typing.get_type_hints(_typecheckingstub__f5af60cd8933cc2c05423257643cdcf293dd3757574d3043c20cd31a472f5620)
249
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
250
+ jsii.sset(cls, "activeDirectoryAllowDNS", value)
251
+
252
+ @jsii.python.classproperty
253
+ @jsii.member(jsii_name="activeDirectoryAllowFileReplication")
254
+ def active_directory_allow_file_replication(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
255
+ return typing.cast("RuleConfig", jsii.sget(cls, "activeDirectoryAllowFileReplication"))
256
+
257
+ @active_directory_allow_file_replication.setter # type: ignore[no-redef]
258
+ def active_directory_allow_file_replication(cls, value: "RuleConfig") -> None:
259
+ if __debug__:
260
+ type_hints = typing.get_type_hints(_typecheckingstub__5b171e6d47709b8132a24a97da7d017b8d1751629bb9e51863a89461f53b3d4c)
261
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
262
+ jsii.sset(cls, "activeDirectoryAllowFileReplication", value)
263
+
264
+ @jsii.python.classproperty
265
+ @jsii.member(jsii_name="activeDirectoryAllowKerberosAuthentication")
266
+ def active_directory_allow_kerberos_authentication(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
267
+ return typing.cast("RuleConfig", jsii.sget(cls, "activeDirectoryAllowKerberosAuthentication"))
268
+
269
+ @active_directory_allow_kerberos_authentication.setter # type: ignore[no-redef]
270
+ def active_directory_allow_kerberos_authentication(
271
+ cls,
272
+ value: "RuleConfig",
273
+ ) -> None:
274
+ if __debug__:
275
+ type_hints = typing.get_type_hints(_typecheckingstub__2e8794392c6432472a6b30efd2e4b5779aa5c3aa94a4ffaefc35fa6a434df62d)
276
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
277
+ jsii.sset(cls, "activeDirectoryAllowKerberosAuthentication", value)
278
+
279
+ @jsii.python.classproperty
280
+ @jsii.member(jsii_name="activeDirectoryAllowNETBIOSAuthentication")
281
+ def active_directory_allow_netbios_authentication(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
282
+ return typing.cast("RuleConfig", jsii.sget(cls, "activeDirectoryAllowNETBIOSAuthentication"))
283
+
284
+ @active_directory_allow_netbios_authentication.setter # type: ignore[no-redef]
285
+ def active_directory_allow_netbios_authentication(cls, value: "RuleConfig") -> None:
286
+ if __debug__:
287
+ type_hints = typing.get_type_hints(_typecheckingstub__931d4418249ac4993f526a0f267e88e8b9117cbc8a1eb53dc22d13f6f9dcf30b)
288
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
289
+ jsii.sset(cls, "activeDirectoryAllowNETBIOSAuthentication", value)
290
+
291
+ @jsii.python.classproperty
292
+ @jsii.member(jsii_name="activeDirectoryAllowNETBIOSReplication")
293
+ def active_directory_allow_netbios_replication(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
294
+ return typing.cast("RuleConfig", jsii.sget(cls, "activeDirectoryAllowNETBIOSReplication"))
295
+
296
+ @active_directory_allow_netbios_replication.setter # type: ignore[no-redef]
297
+ def active_directory_allow_netbios_replication(cls, value: "RuleConfig") -> None:
298
+ if __debug__:
299
+ type_hints = typing.get_type_hints(_typecheckingstub__1b4a15df9f07baaeec11fa5e27f6363014b619931162d24d3c06da60d3bd791a)
300
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
301
+ jsii.sset(cls, "activeDirectoryAllowNETBIOSReplication", value)
302
+
303
+ @jsii.python.classproperty
304
+ @jsii.member(jsii_name="activeDirectoryAllowPasswordChangeKerberes")
305
+ def active_directory_allow_password_change_kerberes(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
306
+ return typing.cast("RuleConfig", jsii.sget(cls, "activeDirectoryAllowPasswordChangeKerberes"))
307
+
308
+ @active_directory_allow_password_change_kerberes.setter # type: ignore[no-redef]
309
+ def active_directory_allow_password_change_kerberes(
310
+ cls,
311
+ value: "RuleConfig",
312
+ ) -> None:
313
+ if __debug__:
314
+ type_hints = typing.get_type_hints(_typecheckingstub__8d4106eaa46732da846afdc98b2dac21fdd385660c8090177e8252c48e8d839b)
315
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
316
+ jsii.sset(cls, "activeDirectoryAllowPasswordChangeKerberes", value)
317
+
318
+ @jsii.python.classproperty
319
+ @jsii.member(jsii_name="activeDirectoryAllowRPCReplication")
320
+ def active_directory_allow_rpc_replication(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
321
+ return typing.cast("RuleConfig", jsii.sget(cls, "activeDirectoryAllowRPCReplication"))
322
+
323
+ @active_directory_allow_rpc_replication.setter # type: ignore[no-redef]
324
+ def active_directory_allow_rpc_replication(cls, value: "RuleConfig") -> None:
325
+ if __debug__:
326
+ type_hints = typing.get_type_hints(_typecheckingstub__799bd466f4976406d080d7d848270f33f8f35833d2783953465125a108780a00)
327
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
328
+ jsii.sset(cls, "activeDirectoryAllowRPCReplication", value)
329
+
330
+ @jsii.python.classproperty
331
+ @jsii.member(jsii_name="activeDirectoryAllowSMTPReplication")
332
+ def active_directory_allow_smtp_replication(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
333
+ return typing.cast("RuleConfig", jsii.sget(cls, "activeDirectoryAllowSMTPReplication"))
334
+
335
+ @active_directory_allow_smtp_replication.setter # type: ignore[no-redef]
336
+ def active_directory_allow_smtp_replication(cls, value: "RuleConfig") -> None:
337
+ if __debug__:
338
+ type_hints = typing.get_type_hints(_typecheckingstub__286a9dbad6ec5bbf7414e63969dec5cb59ca47b52197452b70b51fafa181d08f)
339
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
340
+ jsii.sset(cls, "activeDirectoryAllowSMTPReplication", value)
341
+
342
+ @jsii.python.classproperty
343
+ @jsii.member(jsii_name="activeDirectoryAllowWindowsTime")
344
+ def active_directory_allow_windows_time(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
345
+ return typing.cast("RuleConfig", jsii.sget(cls, "activeDirectoryAllowWindowsTime"))
346
+
347
+ @active_directory_allow_windows_time.setter # type: ignore[no-redef]
348
+ def active_directory_allow_windows_time(cls, value: "RuleConfig") -> None:
349
+ if __debug__:
350
+ type_hints = typing.get_type_hints(_typecheckingstub__66bff9971afcefaf5f92d772e054e0149616b70bc27bc93692a95e13a570a998)
351
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
352
+ jsii.sset(cls, "activeDirectoryAllowWindowsTime", value)
353
+
354
+ @jsii.python.classproperty
355
+ @jsii.member(jsii_name="cassandra")
356
+ def cassandra(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
357
+ return typing.cast("RuleConfig", jsii.sget(cls, "cassandra"))
358
+
359
+ @cassandra.setter # type: ignore[no-redef]
360
+ def cassandra(cls, value: "RuleConfig") -> None:
361
+ if __debug__:
362
+ type_hints = typing.get_type_hints(_typecheckingstub__b8506559ba4cf5d3e3d387692f33e7ec9bf02e3b064e2a5ccb33db5745849e6e)
363
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
364
+ jsii.sset(cls, "cassandra", value)
365
+
366
+ @jsii.python.classproperty
367
+ @jsii.member(jsii_name="cassandraJmx")
368
+ def cassandra_jmx(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
369
+ return typing.cast("RuleConfig", jsii.sget(cls, "cassandraJmx"))
370
+
371
+ @cassandra_jmx.setter # type: ignore[no-redef]
372
+ def cassandra_jmx(cls, value: "RuleConfig") -> None:
373
+ if __debug__:
374
+ type_hints = typing.get_type_hints(_typecheckingstub__3ce0a5c999b498f7a6fb7e853fe1f904c2b3bf8862be5ede1625c27242145473)
375
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
376
+ jsii.sset(cls, "cassandraJmx", value)
377
+
378
+ @jsii.python.classproperty
379
+ @jsii.member(jsii_name="cassandraThrift")
380
+ def cassandra_thrift(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
381
+ return typing.cast("RuleConfig", jsii.sget(cls, "cassandraThrift"))
382
+
383
+ @cassandra_thrift.setter # type: ignore[no-redef]
384
+ def cassandra_thrift(cls, value: "RuleConfig") -> None:
385
+ if __debug__:
386
+ type_hints = typing.get_type_hints(_typecheckingstub__1cedddad1428ac3deb46d7311e21c459c6cd3b46ff7ab1a2d09934a78eba5703)
387
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
388
+ jsii.sset(cls, "cassandraThrift", value)
389
+
390
+ @jsii.python.classproperty
391
+ @jsii.member(jsii_name="couchDb")
392
+ def couch_db(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
393
+ return typing.cast("RuleConfig", jsii.sget(cls, "couchDb"))
394
+
395
+ @couch_db.setter # type: ignore[no-redef]
396
+ def couch_db(cls, value: "RuleConfig") -> None:
397
+ if __debug__:
398
+ type_hints = typing.get_type_hints(_typecheckingstub__48852d8760d119fcbfa2b860fd109b554979a7652fb5e6573f98cee5945832c7)
399
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
400
+ jsii.sset(cls, "couchDb", value)
401
+
402
+ @jsii.python.classproperty
403
+ @jsii.member(jsii_name="couchDbHttps")
404
+ def couch_db_https(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
405
+ return typing.cast("RuleConfig", jsii.sget(cls, "couchDbHttps"))
406
+
407
+ @couch_db_https.setter # type: ignore[no-redef]
408
+ def couch_db_https(cls, value: "RuleConfig") -> None:
409
+ if __debug__:
410
+ type_hints = typing.get_type_hints(_typecheckingstub__d29164b53f6202e703e04ca59eac03fd47c8e35674a6f672839c83df86431d5d)
411
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
412
+ jsii.sset(cls, "couchDbHttps", value)
413
+
414
+ @jsii.python.classproperty
415
+ @jsii.member(jsii_name="dnsTcp")
416
+ def dns_tcp(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
417
+ return typing.cast("RuleConfig", jsii.sget(cls, "dnsTcp"))
418
+
419
+ @dns_tcp.setter # type: ignore[no-redef]
420
+ def dns_tcp(cls, value: "RuleConfig") -> None:
421
+ if __debug__:
422
+ type_hints = typing.get_type_hints(_typecheckingstub__ffdb020f25d7d1f372c71e8af761870b07343746191e11bd44de87b2dff322fd)
423
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
424
+ jsii.sset(cls, "dnsTcp", value)
425
+
426
+ @jsii.python.classproperty
427
+ @jsii.member(jsii_name="dnsUdp")
428
+ def dns_udp(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
429
+ return typing.cast("RuleConfig", jsii.sget(cls, "dnsUdp"))
430
+
431
+ @dns_udp.setter # type: ignore[no-redef]
432
+ def dns_udp(cls, value: "RuleConfig") -> None:
433
+ if __debug__:
434
+ type_hints = typing.get_type_hints(_typecheckingstub__6c7f03cd304680af8ab3f4ba907a113d43c53453541b1fc99feaddeb099ccf3b)
435
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
436
+ jsii.sset(cls, "dnsUdp", value)
437
+
438
+ @jsii.python.classproperty
439
+ @jsii.member(jsii_name="dynamicPorts")
440
+ def dynamic_ports(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
441
+ return typing.cast("RuleConfig", jsii.sget(cls, "dynamicPorts"))
442
+
443
+ @dynamic_ports.setter # type: ignore[no-redef]
444
+ def dynamic_ports(cls, value: "RuleConfig") -> None:
445
+ if __debug__:
446
+ type_hints = typing.get_type_hints(_typecheckingstub__ec1b148591455a614356cd34bad511f12e54608ceed1c6f9a1461e07ab27342e)
447
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
448
+ jsii.sset(cls, "dynamicPorts", value)
449
+
450
+ @jsii.python.classproperty
451
+ @jsii.member(jsii_name="elasticSearch")
452
+ def elastic_search(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
453
+ return typing.cast("RuleConfig", jsii.sget(cls, "elasticSearch"))
454
+
455
+ @elastic_search.setter # type: ignore[no-redef]
456
+ def elastic_search(cls, value: "RuleConfig") -> None:
457
+ if __debug__:
458
+ type_hints = typing.get_type_hints(_typecheckingstub__54410fe55d2997976ee966e459623a740e9f84c4adce2a8d51ab26be9d7f0628)
459
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
460
+ jsii.sset(cls, "elasticSearch", value)
461
+
462
+ @jsii.python.classproperty
463
+ @jsii.member(jsii_name="ftp")
464
+ def ftp(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
465
+ return typing.cast("RuleConfig", jsii.sget(cls, "ftp"))
466
+
467
+ @ftp.setter # type: ignore[no-redef]
468
+ def ftp(cls, value: "RuleConfig") -> None:
469
+ if __debug__:
470
+ type_hints = typing.get_type_hints(_typecheckingstub__adb934347cc434d0e3677a0e47529fa36c57f65ce84e41e1dfe3f60cbcfa8968)
471
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
472
+ jsii.sset(cls, "ftp", value)
473
+
474
+ @jsii.python.classproperty
475
+ @jsii.member(jsii_name="https")
476
+ def https(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
477
+ return typing.cast("RuleConfig", jsii.sget(cls, "https"))
478
+
479
+ @https.setter # type: ignore[no-redef]
480
+ def https(cls, value: "RuleConfig") -> None:
481
+ if __debug__:
482
+ type_hints = typing.get_type_hints(_typecheckingstub__3f290022d5480ff24483f9d2ad46943dfd2b4748a77879e75f56d4e1c34bbfa4)
483
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
484
+ jsii.sset(cls, "https", value)
485
+
486
+ @jsii.python.classproperty
487
+ @jsii.member(jsii_name="httpTcp")
488
+ def http_tcp(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
489
+ return typing.cast("RuleConfig", jsii.sget(cls, "httpTcp"))
490
+
491
+ @http_tcp.setter # type: ignore[no-redef]
492
+ def http_tcp(cls, value: "RuleConfig") -> None:
493
+ if __debug__:
494
+ type_hints = typing.get_type_hints(_typecheckingstub__fff096289e22ceac25c3bbf80dd71a972b07629d656bd3e3944119e79f5941f7)
495
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
496
+ jsii.sset(cls, "httpTcp", value)
497
+
498
+ @jsii.python.classproperty
499
+ @jsii.member(jsii_name="httpUdp")
500
+ def http_udp(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
501
+ return typing.cast("RuleConfig", jsii.sget(cls, "httpUdp"))
502
+
503
+ @http_udp.setter # type: ignore[no-redef]
504
+ def http_udp(cls, value: "RuleConfig") -> None:
505
+ if __debug__:
506
+ type_hints = typing.get_type_hints(_typecheckingstub__4c4046f07fac26ea6893f576569d324557542559aec9ecc5255680c51ff71265)
507
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
508
+ jsii.sset(cls, "httpUdp", value)
509
+
510
+ @jsii.python.classproperty
511
+ @jsii.member(jsii_name="imap")
512
+ def imap(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
513
+ return typing.cast("RuleConfig", jsii.sget(cls, "imap"))
514
+
515
+ @imap.setter # type: ignore[no-redef]
516
+ def imap(cls, value: "RuleConfig") -> None:
517
+ if __debug__:
518
+ type_hints = typing.get_type_hints(_typecheckingstub__b46638380c8f6029b6a9d9ef048441def6bf355d71a288b50972a97eb7674198)
519
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
520
+ jsii.sset(cls, "imap", value)
521
+
522
+ @jsii.python.classproperty
523
+ @jsii.member(jsii_name="imaps")
524
+ def imaps(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
525
+ return typing.cast("RuleConfig", jsii.sget(cls, "imaps"))
526
+
527
+ @imaps.setter # type: ignore[no-redef]
528
+ def imaps(cls, value: "RuleConfig") -> None:
529
+ if __debug__:
530
+ type_hints = typing.get_type_hints(_typecheckingstub__d4f675e3a430889a6f228c843aba118114a919ba6e758a028c4506db7712d4ef)
531
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
532
+ jsii.sset(cls, "imaps", value)
533
+
534
+ @jsii.python.classproperty
535
+ @jsii.member(jsii_name="kestrel")
536
+ def kestrel(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
537
+ return typing.cast("RuleConfig", jsii.sget(cls, "kestrel"))
538
+
539
+ @kestrel.setter # type: ignore[no-redef]
540
+ def kestrel(cls, value: "RuleConfig") -> None:
541
+ if __debug__:
542
+ type_hints = typing.get_type_hints(_typecheckingstub__b194b6fee033ff03617c32a20dd338fe4ea21485c8020dba303f1eba1e54024d)
543
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
544
+ jsii.sset(cls, "kestrel", value)
545
+
546
+ @jsii.python.classproperty
547
+ @jsii.member(jsii_name="ldap")
548
+ def ldap(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
549
+ return typing.cast("RuleConfig", jsii.sget(cls, "ldap"))
550
+
551
+ @ldap.setter # type: ignore[no-redef]
552
+ def ldap(cls, value: "RuleConfig") -> None:
553
+ if __debug__:
554
+ type_hints = typing.get_type_hints(_typecheckingstub__8f4f075495519a2ded6add6124312cb4922a6dcd004a2f45e4ceaca138cede30)
555
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
556
+ jsii.sset(cls, "ldap", value)
557
+
558
+ @jsii.python.classproperty
559
+ @jsii.member(jsii_name="memcached")
560
+ def memcached(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
561
+ return typing.cast("RuleConfig", jsii.sget(cls, "memcached"))
562
+
563
+ @memcached.setter # type: ignore[no-redef]
564
+ def memcached(cls, value: "RuleConfig") -> None:
565
+ if __debug__:
566
+ type_hints = typing.get_type_hints(_typecheckingstub__3af61fd076a850e44f55148f4961fc6bf5ab13ed828d9d442d8c365736c9d3cf)
567
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
568
+ jsii.sset(cls, "memcached", value)
569
+
570
+ @jsii.python.classproperty
571
+ @jsii.member(jsii_name="mongoDB")
572
+ def mongo_db(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
573
+ return typing.cast("RuleConfig", jsii.sget(cls, "mongoDB"))
574
+
575
+ @mongo_db.setter # type: ignore[no-redef]
576
+ def mongo_db(cls, value: "RuleConfig") -> None:
577
+ if __debug__:
578
+ type_hints = typing.get_type_hints(_typecheckingstub__f720f7075628d4674b53bdc2ba92196b48132d79f5854c8f3be1322a4edca655)
579
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
580
+ jsii.sset(cls, "mongoDB", value)
581
+
582
+ @jsii.python.classproperty
583
+ @jsii.member(jsii_name="mssql")
584
+ def mssql(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
585
+ return typing.cast("RuleConfig", jsii.sget(cls, "mssql"))
586
+
587
+ @mssql.setter # type: ignore[no-redef]
588
+ def mssql(cls, value: "RuleConfig") -> None:
589
+ if __debug__:
590
+ type_hints = typing.get_type_hints(_typecheckingstub__3c4ab80763d6a0e866559b76c804c1299012f8b2c54d744bd12b5c7360234e8d)
591
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
592
+ jsii.sset(cls, "mssql", value)
593
+
594
+ @jsii.python.classproperty
595
+ @jsii.member(jsii_name="mySQL")
596
+ def my_sql(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
597
+ return typing.cast("RuleConfig", jsii.sget(cls, "mySQL"))
598
+
599
+ @my_sql.setter # type: ignore[no-redef]
600
+ def my_sql(cls, value: "RuleConfig") -> None:
601
+ if __debug__:
602
+ type_hints = typing.get_type_hints(_typecheckingstub__b52ee43f2b122e438aa6de1db7d6089d2bb85d4ced823b9d956e07a1f1e4363a)
603
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
604
+ jsii.sset(cls, "mySQL", value)
605
+
606
+ @jsii.python.classproperty
607
+ @jsii.member(jsii_name="neo4J")
608
+ def neo4_j(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
609
+ return typing.cast("RuleConfig", jsii.sget(cls, "neo4J"))
610
+
611
+ @neo4_j.setter # type: ignore[no-redef]
612
+ def neo4_j(cls, value: "RuleConfig") -> None:
613
+ if __debug__:
614
+ type_hints = typing.get_type_hints(_typecheckingstub__6eb8b6aff1ddde58f600085a8382b928d2b34b187d37a983b764b3462642a6a1)
615
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
616
+ jsii.sset(cls, "neo4J", value)
617
+
618
+ @jsii.python.classproperty
619
+ @jsii.member(jsii_name="pop3")
620
+ def pop3(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
621
+ return typing.cast("RuleConfig", jsii.sget(cls, "pop3"))
622
+
623
+ @pop3.setter # type: ignore[no-redef]
624
+ def pop3(cls, value: "RuleConfig") -> None:
625
+ if __debug__:
626
+ type_hints = typing.get_type_hints(_typecheckingstub__b8dc18c7d81c1a523b059b4f9d774dd14d52db1a6e76cdacd546ef48bd0e0327)
627
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
628
+ jsii.sset(cls, "pop3", value)
629
+
630
+ @jsii.python.classproperty
631
+ @jsii.member(jsii_name="pop3s")
632
+ def pop3s(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
633
+ return typing.cast("RuleConfig", jsii.sget(cls, "pop3s"))
634
+
635
+ @pop3s.setter # type: ignore[no-redef]
636
+ def pop3s(cls, value: "RuleConfig") -> None:
637
+ if __debug__:
638
+ type_hints = typing.get_type_hints(_typecheckingstub__4cb0ee61bcdb0821166eab5a777a7191ee2590f7ded8fe36fda3145c4220054c)
639
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
640
+ jsii.sset(cls, "pop3s", value)
641
+
642
+ @jsii.python.classproperty
643
+ @jsii.member(jsii_name="postgreSQL")
644
+ def postgre_sql(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
645
+ return typing.cast("RuleConfig", jsii.sget(cls, "postgreSQL"))
646
+
647
+ @postgre_sql.setter # type: ignore[no-redef]
648
+ def postgre_sql(cls, value: "RuleConfig") -> None:
649
+ if __debug__:
650
+ type_hints = typing.get_type_hints(_typecheckingstub__b8afcb92b737eddf80dae97e4fa5ef4288070711c4efa1d09e67a8c6a1282479)
651
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
652
+ jsii.sset(cls, "postgreSQL", value)
653
+
654
+ @jsii.python.classproperty
655
+ @jsii.member(jsii_name="rabbitMQ")
656
+ def rabbit_mq(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
657
+ return typing.cast("RuleConfig", jsii.sget(cls, "rabbitMQ"))
658
+
659
+ @rabbit_mq.setter # type: ignore[no-redef]
660
+ def rabbit_mq(cls, value: "RuleConfig") -> None:
661
+ if __debug__:
662
+ type_hints = typing.get_type_hints(_typecheckingstub__7f8e402ea9052c619a30f98a9f8106c116773962c7843e9c505dbb3b3849e0f9)
663
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
664
+ jsii.sset(cls, "rabbitMQ", value)
665
+
666
+ @jsii.python.classproperty
667
+ @jsii.member(jsii_name="rdp")
668
+ def rdp(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
669
+ return typing.cast("RuleConfig", jsii.sget(cls, "rdp"))
670
+
671
+ @rdp.setter # type: ignore[no-redef]
672
+ def rdp(cls, value: "RuleConfig") -> None:
673
+ if __debug__:
674
+ type_hints = typing.get_type_hints(_typecheckingstub__2d74ff2280fd53db436d9053cbf0ee58158899ab12a4355be85bb9b26b0b8746)
675
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
676
+ jsii.sset(cls, "rdp", value)
677
+
678
+ @jsii.python.classproperty
679
+ @jsii.member(jsii_name="redis")
680
+ def redis(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
681
+ return typing.cast("RuleConfig", jsii.sget(cls, "redis"))
682
+
683
+ @redis.setter # type: ignore[no-redef]
684
+ def redis(cls, value: "RuleConfig") -> None:
685
+ if __debug__:
686
+ type_hints = typing.get_type_hints(_typecheckingstub__b1644617b606d0b3f41a767f22fa6824eab1b9763906e94622a0fb0406b374e5)
687
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
688
+ jsii.sset(cls, "redis", value)
689
+
690
+ @jsii.python.classproperty
691
+ @jsii.member(jsii_name="riak")
692
+ def riak(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
693
+ return typing.cast("RuleConfig", jsii.sget(cls, "riak"))
694
+
695
+ @riak.setter # type: ignore[no-redef]
696
+ def riak(cls, value: "RuleConfig") -> None:
697
+ if __debug__:
698
+ type_hints = typing.get_type_hints(_typecheckingstub__8e9b8e0482d42615228dc6f7bc12651f727309a2e7f4ccb202b434a1dadd6e8c)
699
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
700
+ jsii.sset(cls, "riak", value)
701
+
702
+ @jsii.python.classproperty
703
+ @jsii.member(jsii_name="riakJMX")
704
+ def riak_jmx(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
705
+ return typing.cast("RuleConfig", jsii.sget(cls, "riakJMX"))
706
+
707
+ @riak_jmx.setter # type: ignore[no-redef]
708
+ def riak_jmx(cls, value: "RuleConfig") -> None:
709
+ if __debug__:
710
+ type_hints = typing.get_type_hints(_typecheckingstub__c31226f6cc08d856fa6fd8d25a3ae32ffd1d79e06ba62dfc35321ae6c800e58d)
711
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
712
+ jsii.sset(cls, "riakJMX", value)
713
+
714
+ @jsii.python.classproperty
715
+ @jsii.member(jsii_name="smtp")
716
+ def smtp(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
717
+ return typing.cast("RuleConfig", jsii.sget(cls, "smtp"))
718
+
719
+ @smtp.setter # type: ignore[no-redef]
720
+ def smtp(cls, value: "RuleConfig") -> None:
721
+ if __debug__:
722
+ type_hints = typing.get_type_hints(_typecheckingstub__bf112adc9f030cc1968f5f18f721ebf04512547c31fe8694b70985b223f90882)
723
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
724
+ jsii.sset(cls, "smtp", value)
725
+
726
+ @jsii.python.classproperty
727
+ @jsii.member(jsii_name="smtps")
728
+ def smtps(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
729
+ return typing.cast("RuleConfig", jsii.sget(cls, "smtps"))
730
+
731
+ @smtps.setter # type: ignore[no-redef]
732
+ def smtps(cls, value: "RuleConfig") -> None:
733
+ if __debug__:
734
+ type_hints = typing.get_type_hints(_typecheckingstub__20ec9ca8d52857f5348c2e3d90288f9e90a23e991f7d8b9aca38c25eb1175c95)
735
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
736
+ jsii.sset(cls, "smtps", value)
737
+
738
+ @jsii.python.classproperty
739
+ @jsii.member(jsii_name="ssh")
740
+ def ssh(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
741
+ return typing.cast("RuleConfig", jsii.sget(cls, "ssh"))
742
+
743
+ @ssh.setter # type: ignore[no-redef]
744
+ def ssh(cls, value: "RuleConfig") -> None:
745
+ if __debug__:
746
+ type_hints = typing.get_type_hints(_typecheckingstub__ee6b9440b83c9e576328c0aff089b45ab02542468a21d873ca9bbcac74caad04)
747
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
748
+ jsii.sset(cls, "ssh", value)
749
+
750
+ @jsii.python.classproperty
751
+ @jsii.member(jsii_name="winRM")
752
+ def win_rm(cls) -> "RuleConfig": # pyright: ignore [reportGeneralTypeIssues]
753
+ return typing.cast("RuleConfig", jsii.sget(cls, "winRM"))
754
+
755
+ @win_rm.setter # type: ignore[no-redef]
756
+ def win_rm(cls, value: "RuleConfig") -> None:
757
+ if __debug__:
758
+ type_hints = typing.get_type_hints(_typecheckingstub__aa4c8632ac5b1a4c99029db980e5d8040476957230a6e2955cd946c07885b166)
759
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
760
+ jsii.sset(cls, "winRM", value)
761
+
762
+
763
+ @jsii.data_type(
764
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_networksecuritygroup.RuleConfig",
765
+ jsii_struct_bases=[],
766
+ name_mapping={
767
+ "access": "access",
768
+ "destination_address_prefix": "destinationAddressPrefix",
769
+ "destination_port_range": "destinationPortRange",
770
+ "direction": "direction",
771
+ "name": "name",
772
+ "priority": "priority",
773
+ "protocol": "protocol",
774
+ "source_address_prefix": "sourceAddressPrefix",
775
+ "source_port_range": "sourcePortRange",
776
+ },
777
+ )
778
+ class RuleConfig:
779
+ def __init__(
780
+ self,
781
+ *,
782
+ access: builtins.str,
783
+ destination_address_prefix: builtins.str,
784
+ destination_port_range: builtins.str,
785
+ direction: builtins.str,
786
+ name: builtins.str,
787
+ priority: jsii.Number,
788
+ protocol: builtins.str,
789
+ source_address_prefix: builtins.str,
790
+ source_port_range: builtins.str,
791
+ ) -> None:
792
+ '''Configuration properties for defining a rule within an Azure Network Security Group.
793
+
794
+ :param access: The access type of the rule, which determines whether the rule permits or denies traffic. Common values are 'Allow' or 'Deny'.
795
+ :param destination_address_prefix: The CIDR or destination IP range or '*' to match any IP. This specifies the range of destination IPs for which the rule is applicable.
796
+ :param destination_port_range: The range of destination ports to which the rule applies. Can also be a single port or a range.
797
+ :param direction: The direction of the rule, which can be 'Inbound' or 'Outbound'.
798
+ :param name: The name of the security rule.
799
+ :param priority: The priority of the rule. Lower numbers have higher priority. Allowed values are from 100 to 4096.
800
+ :param protocol: The protocol to which the rule applies, such as 'Tcp', 'Udp', or '*' (for all protocols).
801
+ :param source_address_prefix: The CIDR or source IP range or '*' to match any IP. This is the range of source IPs for which the rule applies.
802
+ :param source_port_range: The range of source ports to which the rule applies. Can be a single port or a range like '1024-2048'.
803
+ '''
804
+ if __debug__:
805
+ type_hints = typing.get_type_hints(_typecheckingstub__48a76cf5c5861de94a0266a502c4961f68a6396179e4dd0b8cbadb2094d45e15)
806
+ check_type(argname="argument access", value=access, expected_type=type_hints["access"])
807
+ check_type(argname="argument destination_address_prefix", value=destination_address_prefix, expected_type=type_hints["destination_address_prefix"])
808
+ check_type(argname="argument destination_port_range", value=destination_port_range, expected_type=type_hints["destination_port_range"])
809
+ check_type(argname="argument direction", value=direction, expected_type=type_hints["direction"])
810
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
811
+ check_type(argname="argument priority", value=priority, expected_type=type_hints["priority"])
812
+ check_type(argname="argument protocol", value=protocol, expected_type=type_hints["protocol"])
813
+ check_type(argname="argument source_address_prefix", value=source_address_prefix, expected_type=type_hints["source_address_prefix"])
814
+ check_type(argname="argument source_port_range", value=source_port_range, expected_type=type_hints["source_port_range"])
815
+ self._values: typing.Dict[builtins.str, typing.Any] = {
816
+ "access": access,
817
+ "destination_address_prefix": destination_address_prefix,
818
+ "destination_port_range": destination_port_range,
819
+ "direction": direction,
820
+ "name": name,
821
+ "priority": priority,
822
+ "protocol": protocol,
823
+ "source_address_prefix": source_address_prefix,
824
+ "source_port_range": source_port_range,
825
+ }
826
+
827
+ @builtins.property
828
+ def access(self) -> builtins.str:
829
+ '''The access type of the rule, which determines whether the rule permits or denies traffic.
830
+
831
+ Common values are 'Allow' or 'Deny'.
832
+ '''
833
+ result = self._values.get("access")
834
+ assert result is not None, "Required property 'access' is missing"
835
+ return typing.cast(builtins.str, result)
836
+
837
+ @builtins.property
838
+ def destination_address_prefix(self) -> builtins.str:
839
+ '''The CIDR or destination IP range or '*' to match any IP.
840
+
841
+ This specifies the range of destination IPs for which the rule is applicable.
842
+ '''
843
+ result = self._values.get("destination_address_prefix")
844
+ assert result is not None, "Required property 'destination_address_prefix' is missing"
845
+ return typing.cast(builtins.str, result)
846
+
847
+ @builtins.property
848
+ def destination_port_range(self) -> builtins.str:
849
+ '''The range of destination ports to which the rule applies.
850
+
851
+ Can also be a single port or a range.
852
+ '''
853
+ result = self._values.get("destination_port_range")
854
+ assert result is not None, "Required property 'destination_port_range' is missing"
855
+ return typing.cast(builtins.str, result)
856
+
857
+ @builtins.property
858
+ def direction(self) -> builtins.str:
859
+ '''The direction of the rule, which can be 'Inbound' or 'Outbound'.'''
860
+ result = self._values.get("direction")
861
+ assert result is not None, "Required property 'direction' is missing"
862
+ return typing.cast(builtins.str, result)
863
+
864
+ @builtins.property
865
+ def name(self) -> builtins.str:
866
+ '''The name of the security rule.'''
867
+ result = self._values.get("name")
868
+ assert result is not None, "Required property 'name' is missing"
869
+ return typing.cast(builtins.str, result)
870
+
871
+ @builtins.property
872
+ def priority(self) -> jsii.Number:
873
+ '''The priority of the rule.
874
+
875
+ Lower numbers have higher priority. Allowed values are from 100 to 4096.
876
+ '''
877
+ result = self._values.get("priority")
878
+ assert result is not None, "Required property 'priority' is missing"
879
+ return typing.cast(jsii.Number, result)
880
+
881
+ @builtins.property
882
+ def protocol(self) -> builtins.str:
883
+ '''The protocol to which the rule applies, such as 'Tcp', 'Udp', or '*' (for all protocols).'''
884
+ result = self._values.get("protocol")
885
+ assert result is not None, "Required property 'protocol' is missing"
886
+ return typing.cast(builtins.str, result)
887
+
888
+ @builtins.property
889
+ def source_address_prefix(self) -> builtins.str:
890
+ '''The CIDR or source IP range or '*' to match any IP.
891
+
892
+ This is the range of source IPs for which the rule applies.
893
+ '''
894
+ result = self._values.get("source_address_prefix")
895
+ assert result is not None, "Required property 'source_address_prefix' is missing"
896
+ return typing.cast(builtins.str, result)
897
+
898
+ @builtins.property
899
+ def source_port_range(self) -> builtins.str:
900
+ '''The range of source ports to which the rule applies.
901
+
902
+ Can be a single port or a range like '1024-2048'.
903
+ '''
904
+ result = self._values.get("source_port_range")
905
+ assert result is not None, "Required property 'source_port_range' is missing"
906
+ return typing.cast(builtins.str, result)
907
+
908
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
909
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
910
+
911
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
912
+ return not (rhs == self)
913
+
914
+ def __repr__(self) -> str:
915
+ return "RuleConfig(%s)" % ", ".join(
916
+ k + "=" + repr(v) for k, v in self._values.items()
917
+ )
918
+
919
+
920
+ @jsii.data_type(
921
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_networksecuritygroup.RuleOverrides",
922
+ jsii_struct_bases=[],
923
+ name_mapping={
924
+ "destination_address_prefix": "destinationAddressPrefix",
925
+ "priority": "priority",
926
+ "source_address_prefix": "sourceAddressPrefix",
927
+ },
928
+ )
929
+ class RuleOverrides:
930
+ def __init__(
931
+ self,
932
+ *,
933
+ destination_address_prefix: typing.Optional[builtins.str] = None,
934
+ priority: typing.Optional[jsii.Number] = None,
935
+ source_address_prefix: typing.Optional[builtins.str] = None,
936
+ ) -> None:
937
+ '''Properties for defining overrides for a rule in an Azure Network Security Group.
938
+
939
+ :param destination_address_prefix: Optional destination address prefix to be matched for the rule. Similar to the source address prefix, this can be a specific IP address or a range. If not provided, it defaults to matching any destination address.
940
+ :param priority: Optional priority for the rule. Rules are processed in the order of their priority, with lower numbers processed before higher numbers. If not provided, a default priority will be assigned.
941
+ :param source_address_prefix: Optional source address prefix to be matched for the rule. This can be an IP address or a range of IP addresses. If not specified, the default behavior is to match any source address.
942
+ '''
943
+ if __debug__:
944
+ type_hints = typing.get_type_hints(_typecheckingstub__ee09b7b2522a444a73becebd30a013761b548942c7e5be345565bd4de7e54221)
945
+ check_type(argname="argument destination_address_prefix", value=destination_address_prefix, expected_type=type_hints["destination_address_prefix"])
946
+ check_type(argname="argument priority", value=priority, expected_type=type_hints["priority"])
947
+ check_type(argname="argument source_address_prefix", value=source_address_prefix, expected_type=type_hints["source_address_prefix"])
948
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
949
+ if destination_address_prefix is not None:
950
+ self._values["destination_address_prefix"] = destination_address_prefix
951
+ if priority is not None:
952
+ self._values["priority"] = priority
953
+ if source_address_prefix is not None:
954
+ self._values["source_address_prefix"] = source_address_prefix
955
+
956
+ @builtins.property
957
+ def destination_address_prefix(self) -> typing.Optional[builtins.str]:
958
+ '''Optional destination address prefix to be matched for the rule.
959
+
960
+ Similar to the source address prefix,
961
+ this can be a specific IP address or a range. If not provided, it defaults to matching any destination address.
962
+ '''
963
+ result = self._values.get("destination_address_prefix")
964
+ return typing.cast(typing.Optional[builtins.str], result)
965
+
966
+ @builtins.property
967
+ def priority(self) -> typing.Optional[jsii.Number]:
968
+ '''Optional priority for the rule.
969
+
970
+ Rules are processed in the order of their priority,
971
+ with lower numbers processed before higher numbers. If not provided, a default priority will be assigned.
972
+ '''
973
+ result = self._values.get("priority")
974
+ return typing.cast(typing.Optional[jsii.Number], result)
975
+
976
+ @builtins.property
977
+ def source_address_prefix(self) -> typing.Optional[builtins.str]:
978
+ '''Optional source address prefix to be matched for the rule.
979
+
980
+ This can be an IP address or a range of IP addresses.
981
+ If not specified, the default behavior is to match any source address.
982
+ '''
983
+ result = self._values.get("source_address_prefix")
984
+ return typing.cast(typing.Optional[builtins.str], result)
985
+
986
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
987
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
988
+
989
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
990
+ return not (rhs == self)
991
+
992
+ def __repr__(self) -> str:
993
+ return "RuleOverrides(%s)" % ", ".join(
994
+ k + "=" + repr(v) for k, v in self._values.items()
995
+ )
996
+
997
+
998
+ class SecurityGroup(
999
+ _AzureResource_74eec1c4,
1000
+ metaclass=jsii.JSIIMeta,
1001
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_networksecuritygroup.SecurityGroup",
1002
+ ):
1003
+ def __init__(
1004
+ self,
1005
+ scope: _constructs_77d1e7e8.Construct,
1006
+ id: builtins.str,
1007
+ *,
1008
+ location: builtins.str,
1009
+ name: builtins.str,
1010
+ rules: typing.Sequence[typing.Union[RuleConfig, typing.Dict[builtins.str, typing.Any]]],
1011
+ resource_group: typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup] = None,
1012
+ ) -> None:
1013
+ '''Represents an Azure Network Security Group (NSG).
1014
+
1015
+ This class is responsible for the creation and management of an Azure Network Security Group, which acts as a virtual firewall
1016
+ for virtual network resources. A Network Security Group contains a list of security rules that allow or deny network traffic
1017
+ to resources connected to Azure Virtual Networks (VNet). Each rule specifies a combination of source and destination, port,
1018
+ and protocol, and an action (allow or deny) based on those combinations. This class allows for detailed configuration of these
1019
+ rules to enforce security policies for inbound and outbound network traffic.
1020
+
1021
+ :param scope: - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
1022
+ :param id: - The unique identifier for this instance of the security group.
1023
+ :param location: The Azure region in which to create the network security group, e.g., 'East US', 'West Europe'.
1024
+ :param name: The name of the network security group. Must be unique within the resource group.
1025
+ :param rules: An array of rule configurations to be applied to the network security group.
1026
+ :param resource_group: An optional reference to the resource group in which to deploy the Workspace. If not provided, the Workspace will be deployed in the default resource group.
1027
+ '''
1028
+ if __debug__:
1029
+ type_hints = typing.get_type_hints(_typecheckingstub__0aa95efe68d21a63b93f1eb87166793543fbfb2ea39d8f2d1225583762f0b0e1)
1030
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1031
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1032
+ props = SecurityGroupProps(
1033
+ location=location, name=name, rules=rules, resource_group=resource_group
1034
+ )
1035
+
1036
+ jsii.create(self.__class__, self, [scope, id, props])
1037
+
1038
+ @jsii.member(jsii_name="associateToNetworkInterface")
1039
+ def associate_to_network_interface(
1040
+ self,
1041
+ network_interface: _cdktf_cdktf_provider_azurerm_network_interface_92bbcedf.NetworkInterface,
1042
+ ) -> None:
1043
+ '''Associates this Network Security Group with a specified network interface.
1044
+
1045
+ This method attaches the security group to a network interface, applying the security group's rules to the network interface.
1046
+ This allows for fine-grained control of network traffic to and from the specific network interface.
1047
+
1048
+ :param network_interface: - The network interface object to which this network security group will be associated. Example usage:: const myNetworkInterface = { id: 'nic-456', name: 'NetworkInterfaceA' }; mySecurityGroup.associateToNetworkInterface(myNetworkInterface); This operation ensures that the security rules defined in the network security group are applied directly to the specified network interface, controlling access in a more targeted manner.
1049
+ '''
1050
+ if __debug__:
1051
+ type_hints = typing.get_type_hints(_typecheckingstub__92f9e57b285151d8483831ce14f03602abbadf56db0aa9a80406366244656236)
1052
+ check_type(argname="argument network_interface", value=network_interface, expected_type=type_hints["network_interface"])
1053
+ return typing.cast(None, jsii.invoke(self, "associateToNetworkInterface", [network_interface]))
1054
+
1055
+ @jsii.member(jsii_name="associateToSubnet")
1056
+ def associate_to_subnet(
1057
+ self,
1058
+ subnet: _cdktf_cdktf_provider_azurerm_subnet_92bbcedf.Subnet,
1059
+ ) -> None:
1060
+ '''Associates this Network Security Group with a specified subnet.
1061
+
1062
+ This method facilitates the attachment of the security group to a subnet, applying the security group's rules to all
1063
+ resources within the subnet. This is crucial for managing network access and security policies at the subnet level.
1064
+
1065
+ :param subnet: - The subnet object to which this network security group will be associated. Example usage:: const mySubnet = { id: 'subnet-123', name: 'SubnetA' }; mySecurityGroup.associateToSubnet(mySubnet); This operation ensures that the security rules defined in the network security group are enforced on all network interfaces attached to the specified subnet.
1066
+ '''
1067
+ if __debug__:
1068
+ type_hints = typing.get_type_hints(_typecheckingstub__92d195c7b2cb05cc143e838bb2bddfd966d519129c8774ccd521e71e42a3df4d)
1069
+ check_type(argname="argument subnet", value=subnet, expected_type=type_hints["subnet"])
1070
+ return typing.cast(None, jsii.invoke(self, "associateToSubnet", [subnet]))
1071
+
1072
+ @builtins.property
1073
+ @jsii.member(jsii_name="name")
1074
+ def name(self) -> builtins.str:
1075
+ return typing.cast(builtins.str, jsii.get(self, "name"))
1076
+
1077
+ @builtins.property
1078
+ @jsii.member(jsii_name="props")
1079
+ def props(self) -> "SecurityGroupProps":
1080
+ return typing.cast("SecurityGroupProps", jsii.get(self, "props"))
1081
+
1082
+ @builtins.property
1083
+ @jsii.member(jsii_name="id")
1084
+ def id(self) -> builtins.str:
1085
+ return typing.cast(builtins.str, jsii.get(self, "id"))
1086
+
1087
+ @id.setter
1088
+ def id(self, value: builtins.str) -> None:
1089
+ if __debug__:
1090
+ type_hints = typing.get_type_hints(_typecheckingstub__f94efb4824688e9def6cff58a3a46fbc4323e3e38fd48ba2ee21ca0dafc2fd69)
1091
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1092
+ jsii.set(self, "id", value)
1093
+
1094
+ @builtins.property
1095
+ @jsii.member(jsii_name="resourceGroup")
1096
+ def resource_group(
1097
+ self,
1098
+ ) -> _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup:
1099
+ return typing.cast(_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup, jsii.get(self, "resourceGroup"))
1100
+
1101
+ @resource_group.setter
1102
+ def resource_group(
1103
+ self,
1104
+ value: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
1105
+ ) -> None:
1106
+ if __debug__:
1107
+ type_hints = typing.get_type_hints(_typecheckingstub__e02e03a0aeef8c43217e2127b1a030ffb36700d6088e6eb32e1504060a01fa4e)
1108
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1109
+ jsii.set(self, "resourceGroup", value)
1110
+
1111
+
1112
+ class SecurityGroupAssociations(
1113
+ _constructs_77d1e7e8.Construct,
1114
+ metaclass=jsii.JSIIMeta,
1115
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_networksecuritygroup.SecurityGroupAssociations",
1116
+ ):
1117
+ def __init__(
1118
+ self,
1119
+ scope: _constructs_77d1e7e8.Construct,
1120
+ id: builtins.str,
1121
+ *,
1122
+ network_security_group_id: builtins.str,
1123
+ network_interface_id: typing.Optional[builtins.str] = None,
1124
+ subnet_id: typing.Optional[builtins.str] = None,
1125
+ ) -> None:
1126
+ '''Manages the associations of Azure Network Security Groups with subnets and network interfaces.
1127
+
1128
+ This class provides the functionality to associate a network security group with either subnets or network interfaces
1129
+ within the Azure environment. By managing these associations, it helps enforce security rules at both the subnet level
1130
+ and the network interface level, enhancing security configurations and compliance.
1131
+
1132
+ :param scope: - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
1133
+ :param id: - The unique identifier for the association instance.
1134
+ :param network_security_group_id: The ID of the network security group to be associated.
1135
+ :param network_interface_id: Optional network interface ID to associate with the network security group. If provided, the security group will be associated with this network interface.
1136
+ :param subnet_id: Optional subnet ID to associate with the network security group. If provided, the security group will be associated with this subnet.
1137
+ '''
1138
+ if __debug__:
1139
+ type_hints = typing.get_type_hints(_typecheckingstub__da46013d569817cde3759230947d3e9f0fef81e401220cfc79c8c5d7f47566da)
1140
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1141
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1142
+ props = SecurityGroupAssociationsProps(
1143
+ network_security_group_id=network_security_group_id,
1144
+ network_interface_id=network_interface_id,
1145
+ subnet_id=subnet_id,
1146
+ )
1147
+
1148
+ jsii.create(self.__class__, self, [scope, id, props])
1149
+
1150
+
1151
+ @jsii.data_type(
1152
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_networksecuritygroup.SecurityGroupAssociationsProps",
1153
+ jsii_struct_bases=[],
1154
+ name_mapping={
1155
+ "network_security_group_id": "networkSecurityGroupId",
1156
+ "network_interface_id": "networkInterfaceId",
1157
+ "subnet_id": "subnetId",
1158
+ },
1159
+ )
1160
+ class SecurityGroupAssociationsProps:
1161
+ def __init__(
1162
+ self,
1163
+ *,
1164
+ network_security_group_id: builtins.str,
1165
+ network_interface_id: typing.Optional[builtins.str] = None,
1166
+ subnet_id: typing.Optional[builtins.str] = None,
1167
+ ) -> None:
1168
+ '''Properties for associating Azure Network Security Groups with subnets and network interfaces.
1169
+
1170
+ :param network_security_group_id: The ID of the network security group to be associated.
1171
+ :param network_interface_id: Optional network interface ID to associate with the network security group. If provided, the security group will be associated with this network interface.
1172
+ :param subnet_id: Optional subnet ID to associate with the network security group. If provided, the security group will be associated with this subnet.
1173
+ '''
1174
+ if __debug__:
1175
+ type_hints = typing.get_type_hints(_typecheckingstub__805aa3371592a232ef6988236e010bd394175732a6fbe69206859074c589eed1)
1176
+ check_type(argname="argument network_security_group_id", value=network_security_group_id, expected_type=type_hints["network_security_group_id"])
1177
+ check_type(argname="argument network_interface_id", value=network_interface_id, expected_type=type_hints["network_interface_id"])
1178
+ check_type(argname="argument subnet_id", value=subnet_id, expected_type=type_hints["subnet_id"])
1179
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1180
+ "network_security_group_id": network_security_group_id,
1181
+ }
1182
+ if network_interface_id is not None:
1183
+ self._values["network_interface_id"] = network_interface_id
1184
+ if subnet_id is not None:
1185
+ self._values["subnet_id"] = subnet_id
1186
+
1187
+ @builtins.property
1188
+ def network_security_group_id(self) -> builtins.str:
1189
+ '''The ID of the network security group to be associated.'''
1190
+ result = self._values.get("network_security_group_id")
1191
+ assert result is not None, "Required property 'network_security_group_id' is missing"
1192
+ return typing.cast(builtins.str, result)
1193
+
1194
+ @builtins.property
1195
+ def network_interface_id(self) -> typing.Optional[builtins.str]:
1196
+ '''Optional network interface ID to associate with the network security group.
1197
+
1198
+ If provided, the security group will be associated with this network interface.
1199
+ '''
1200
+ result = self._values.get("network_interface_id")
1201
+ return typing.cast(typing.Optional[builtins.str], result)
1202
+
1203
+ @builtins.property
1204
+ def subnet_id(self) -> typing.Optional[builtins.str]:
1205
+ '''Optional subnet ID to associate with the network security group.
1206
+
1207
+ If provided, the security group will be associated with this subnet.
1208
+ '''
1209
+ result = self._values.get("subnet_id")
1210
+ return typing.cast(typing.Optional[builtins.str], result)
1211
+
1212
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1213
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1214
+
1215
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1216
+ return not (rhs == self)
1217
+
1218
+ def __repr__(self) -> str:
1219
+ return "SecurityGroupAssociationsProps(%s)" % ", ".join(
1220
+ k + "=" + repr(v) for k, v in self._values.items()
1221
+ )
1222
+
1223
+
1224
+ @jsii.data_type(
1225
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_networksecuritygroup.SecurityGroupProps",
1226
+ jsii_struct_bases=[],
1227
+ name_mapping={
1228
+ "location": "location",
1229
+ "name": "name",
1230
+ "rules": "rules",
1231
+ "resource_group": "resourceGroup",
1232
+ },
1233
+ )
1234
+ class SecurityGroupProps:
1235
+ def __init__(
1236
+ self,
1237
+ *,
1238
+ location: builtins.str,
1239
+ name: builtins.str,
1240
+ rules: typing.Sequence[typing.Union[RuleConfig, typing.Dict[builtins.str, typing.Any]]],
1241
+ resource_group: typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup] = None,
1242
+ ) -> None:
1243
+ '''Properties for defining an Azure Network Security Group.
1244
+
1245
+ :param location: The Azure region in which to create the network security group, e.g., 'East US', 'West Europe'.
1246
+ :param name: The name of the network security group. Must be unique within the resource group.
1247
+ :param rules: An array of rule configurations to be applied to the network security group.
1248
+ :param resource_group: An optional reference to the resource group in which to deploy the Workspace. If not provided, the Workspace will be deployed in the default resource group.
1249
+ '''
1250
+ if __debug__:
1251
+ type_hints = typing.get_type_hints(_typecheckingstub__2cd7a0de161a25d6de85e71efdf1a6c2c1f32a58488a0ab5198a64378a79a326)
1252
+ check_type(argname="argument location", value=location, expected_type=type_hints["location"])
1253
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
1254
+ check_type(argname="argument rules", value=rules, expected_type=type_hints["rules"])
1255
+ check_type(argname="argument resource_group", value=resource_group, expected_type=type_hints["resource_group"])
1256
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1257
+ "location": location,
1258
+ "name": name,
1259
+ "rules": rules,
1260
+ }
1261
+ if resource_group is not None:
1262
+ self._values["resource_group"] = resource_group
1263
+
1264
+ @builtins.property
1265
+ def location(self) -> builtins.str:
1266
+ '''The Azure region in which to create the network security group, e.g., 'East US', 'West Europe'.'''
1267
+ result = self._values.get("location")
1268
+ assert result is not None, "Required property 'location' is missing"
1269
+ return typing.cast(builtins.str, result)
1270
+
1271
+ @builtins.property
1272
+ def name(self) -> builtins.str:
1273
+ '''The name of the network security group.
1274
+
1275
+ Must be unique within the resource group.
1276
+ '''
1277
+ result = self._values.get("name")
1278
+ assert result is not None, "Required property 'name' is missing"
1279
+ return typing.cast(builtins.str, result)
1280
+
1281
+ @builtins.property
1282
+ def rules(self) -> typing.List[RuleConfig]:
1283
+ '''An array of rule configurations to be applied to the network security group.'''
1284
+ result = self._values.get("rules")
1285
+ assert result is not None, "Required property 'rules' is missing"
1286
+ return typing.cast(typing.List[RuleConfig], result)
1287
+
1288
+ @builtins.property
1289
+ def resource_group(
1290
+ self,
1291
+ ) -> typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup]:
1292
+ '''An optional reference to the resource group in which to deploy the Workspace.
1293
+
1294
+ If not provided, the Workspace will be deployed in the default resource group.
1295
+ '''
1296
+ result = self._values.get("resource_group")
1297
+ return typing.cast(typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup], result)
1298
+
1299
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1300
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1301
+
1302
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1303
+ return not (rhs == self)
1304
+
1305
+ def __repr__(self) -> str:
1306
+ return "SecurityGroupProps(%s)" % ", ".join(
1307
+ k + "=" + repr(v) for k, v in self._values.items()
1308
+ )
1309
+
1310
+
1311
+ __all__ = [
1312
+ "PreconfiguredRules",
1313
+ "RuleConfig",
1314
+ "RuleOverrides",
1315
+ "SecurityGroup",
1316
+ "SecurityGroupAssociations",
1317
+ "SecurityGroupAssociationsProps",
1318
+ "SecurityGroupProps",
1319
+ ]
1320
+
1321
+ publication.publish()
1322
+
1323
+ def _typecheckingstub__36828755c5b4c1e8159d75a5791196dbe984738537aa216471a1af45feecc05d(
1324
+ rule: typing.Union[RuleConfig, typing.Dict[builtins.str, typing.Any]],
1325
+ destination_address_prefix: builtins.str,
1326
+ ) -> None:
1327
+ """Type checking stubs"""
1328
+ pass
1329
+
1330
+ def _typecheckingstub__5047f03b32af36e495107644a1cca8ef3f5685f6440fb5594b8c4e9da8fac527(
1331
+ rule: typing.Union[RuleConfig, typing.Dict[builtins.str, typing.Any]],
1332
+ priority: jsii.Number,
1333
+ ) -> None:
1334
+ """Type checking stubs"""
1335
+ pass
1336
+
1337
+ def _typecheckingstub__380230cfd2bf19b7b486337feed1a961cec154d093a50410318ae6f069c3c07d(
1338
+ rule: typing.Union[RuleConfig, typing.Dict[builtins.str, typing.Any]],
1339
+ source_address_prefix: builtins.str,
1340
+ ) -> None:
1341
+ """Type checking stubs"""
1342
+ pass
1343
+
1344
+ def _typecheckingstub__6f7fa8ff8e816697bfed79efeb582a0a3d5959f3568e35df3423eb7a9afd975e(
1345
+ base_rule: typing.Union[RuleConfig, typing.Dict[builtins.str, typing.Any]],
1346
+ *,
1347
+ destination_address_prefix: typing.Optional[builtins.str] = None,
1348
+ priority: typing.Optional[jsii.Number] = None,
1349
+ source_address_prefix: typing.Optional[builtins.str] = None,
1350
+ ) -> None:
1351
+ """Type checking stubs"""
1352
+ pass
1353
+
1354
+ def _typecheckingstub__428dbd0c13493fc0e286f68339632262ddbbce1720cc3e20f23fde221976c2ce(
1355
+ value: RuleConfig,
1356
+ ) -> None:
1357
+ """Type checking stubs"""
1358
+ pass
1359
+
1360
+ def _typecheckingstub__b5abd3e7641c842e5e9a5a14e677aa271ce51d2e2ee02a0b9f1eda7c7a932993(
1361
+ value: RuleConfig,
1362
+ ) -> None:
1363
+ """Type checking stubs"""
1364
+ pass
1365
+
1366
+ def _typecheckingstub__3d8f1ccf57bc1e925a8d384f8ffdc24be8d843c10da95b29ada00685a8906004(
1367
+ value: RuleConfig,
1368
+ ) -> None:
1369
+ """Type checking stubs"""
1370
+ pass
1371
+
1372
+ def _typecheckingstub__7274ca46989376e017367f8eea4daf57323cbfc5b5dd4fde03064dcf182866fd(
1373
+ value: RuleConfig,
1374
+ ) -> None:
1375
+ """Type checking stubs"""
1376
+ pass
1377
+
1378
+ def _typecheckingstub__7a576f2d388842b9d27aba4477ce3b42e1f5dddf49e3e3c9e9bcafb6ebc72235(
1379
+ value: RuleConfig,
1380
+ ) -> None:
1381
+ """Type checking stubs"""
1382
+ pass
1383
+
1384
+ def _typecheckingstub__d0bc577ddca27fe23efab210d6e0a9e0650c7eaeb5611b2acd8c793c5701a753(
1385
+ value: RuleConfig,
1386
+ ) -> None:
1387
+ """Type checking stubs"""
1388
+ pass
1389
+
1390
+ def _typecheckingstub__5d09b9850fb411ed4831ffca866e06c4331fb796968850a0acacb5442ec49469(
1391
+ value: RuleConfig,
1392
+ ) -> None:
1393
+ """Type checking stubs"""
1394
+ pass
1395
+
1396
+ def _typecheckingstub__f5af60cd8933cc2c05423257643cdcf293dd3757574d3043c20cd31a472f5620(
1397
+ value: RuleConfig,
1398
+ ) -> None:
1399
+ """Type checking stubs"""
1400
+ pass
1401
+
1402
+ def _typecheckingstub__5b171e6d47709b8132a24a97da7d017b8d1751629bb9e51863a89461f53b3d4c(
1403
+ value: RuleConfig,
1404
+ ) -> None:
1405
+ """Type checking stubs"""
1406
+ pass
1407
+
1408
+ def _typecheckingstub__2e8794392c6432472a6b30efd2e4b5779aa5c3aa94a4ffaefc35fa6a434df62d(
1409
+ value: RuleConfig,
1410
+ ) -> None:
1411
+ """Type checking stubs"""
1412
+ pass
1413
+
1414
+ def _typecheckingstub__931d4418249ac4993f526a0f267e88e8b9117cbc8a1eb53dc22d13f6f9dcf30b(
1415
+ value: RuleConfig,
1416
+ ) -> None:
1417
+ """Type checking stubs"""
1418
+ pass
1419
+
1420
+ def _typecheckingstub__1b4a15df9f07baaeec11fa5e27f6363014b619931162d24d3c06da60d3bd791a(
1421
+ value: RuleConfig,
1422
+ ) -> None:
1423
+ """Type checking stubs"""
1424
+ pass
1425
+
1426
+ def _typecheckingstub__8d4106eaa46732da846afdc98b2dac21fdd385660c8090177e8252c48e8d839b(
1427
+ value: RuleConfig,
1428
+ ) -> None:
1429
+ """Type checking stubs"""
1430
+ pass
1431
+
1432
+ def _typecheckingstub__799bd466f4976406d080d7d848270f33f8f35833d2783953465125a108780a00(
1433
+ value: RuleConfig,
1434
+ ) -> None:
1435
+ """Type checking stubs"""
1436
+ pass
1437
+
1438
+ def _typecheckingstub__286a9dbad6ec5bbf7414e63969dec5cb59ca47b52197452b70b51fafa181d08f(
1439
+ value: RuleConfig,
1440
+ ) -> None:
1441
+ """Type checking stubs"""
1442
+ pass
1443
+
1444
+ def _typecheckingstub__66bff9971afcefaf5f92d772e054e0149616b70bc27bc93692a95e13a570a998(
1445
+ value: RuleConfig,
1446
+ ) -> None:
1447
+ """Type checking stubs"""
1448
+ pass
1449
+
1450
+ def _typecheckingstub__b8506559ba4cf5d3e3d387692f33e7ec9bf02e3b064e2a5ccb33db5745849e6e(
1451
+ value: RuleConfig,
1452
+ ) -> None:
1453
+ """Type checking stubs"""
1454
+ pass
1455
+
1456
+ def _typecheckingstub__3ce0a5c999b498f7a6fb7e853fe1f904c2b3bf8862be5ede1625c27242145473(
1457
+ value: RuleConfig,
1458
+ ) -> None:
1459
+ """Type checking stubs"""
1460
+ pass
1461
+
1462
+ def _typecheckingstub__1cedddad1428ac3deb46d7311e21c459c6cd3b46ff7ab1a2d09934a78eba5703(
1463
+ value: RuleConfig,
1464
+ ) -> None:
1465
+ """Type checking stubs"""
1466
+ pass
1467
+
1468
+ def _typecheckingstub__48852d8760d119fcbfa2b860fd109b554979a7652fb5e6573f98cee5945832c7(
1469
+ value: RuleConfig,
1470
+ ) -> None:
1471
+ """Type checking stubs"""
1472
+ pass
1473
+
1474
+ def _typecheckingstub__d29164b53f6202e703e04ca59eac03fd47c8e35674a6f672839c83df86431d5d(
1475
+ value: RuleConfig,
1476
+ ) -> None:
1477
+ """Type checking stubs"""
1478
+ pass
1479
+
1480
+ def _typecheckingstub__ffdb020f25d7d1f372c71e8af761870b07343746191e11bd44de87b2dff322fd(
1481
+ value: RuleConfig,
1482
+ ) -> None:
1483
+ """Type checking stubs"""
1484
+ pass
1485
+
1486
+ def _typecheckingstub__6c7f03cd304680af8ab3f4ba907a113d43c53453541b1fc99feaddeb099ccf3b(
1487
+ value: RuleConfig,
1488
+ ) -> None:
1489
+ """Type checking stubs"""
1490
+ pass
1491
+
1492
+ def _typecheckingstub__ec1b148591455a614356cd34bad511f12e54608ceed1c6f9a1461e07ab27342e(
1493
+ value: RuleConfig,
1494
+ ) -> None:
1495
+ """Type checking stubs"""
1496
+ pass
1497
+
1498
+ def _typecheckingstub__54410fe55d2997976ee966e459623a740e9f84c4adce2a8d51ab26be9d7f0628(
1499
+ value: RuleConfig,
1500
+ ) -> None:
1501
+ """Type checking stubs"""
1502
+ pass
1503
+
1504
+ def _typecheckingstub__adb934347cc434d0e3677a0e47529fa36c57f65ce84e41e1dfe3f60cbcfa8968(
1505
+ value: RuleConfig,
1506
+ ) -> None:
1507
+ """Type checking stubs"""
1508
+ pass
1509
+
1510
+ def _typecheckingstub__3f290022d5480ff24483f9d2ad46943dfd2b4748a77879e75f56d4e1c34bbfa4(
1511
+ value: RuleConfig,
1512
+ ) -> None:
1513
+ """Type checking stubs"""
1514
+ pass
1515
+
1516
+ def _typecheckingstub__fff096289e22ceac25c3bbf80dd71a972b07629d656bd3e3944119e79f5941f7(
1517
+ value: RuleConfig,
1518
+ ) -> None:
1519
+ """Type checking stubs"""
1520
+ pass
1521
+
1522
+ def _typecheckingstub__4c4046f07fac26ea6893f576569d324557542559aec9ecc5255680c51ff71265(
1523
+ value: RuleConfig,
1524
+ ) -> None:
1525
+ """Type checking stubs"""
1526
+ pass
1527
+
1528
+ def _typecheckingstub__b46638380c8f6029b6a9d9ef048441def6bf355d71a288b50972a97eb7674198(
1529
+ value: RuleConfig,
1530
+ ) -> None:
1531
+ """Type checking stubs"""
1532
+ pass
1533
+
1534
+ def _typecheckingstub__d4f675e3a430889a6f228c843aba118114a919ba6e758a028c4506db7712d4ef(
1535
+ value: RuleConfig,
1536
+ ) -> None:
1537
+ """Type checking stubs"""
1538
+ pass
1539
+
1540
+ def _typecheckingstub__b194b6fee033ff03617c32a20dd338fe4ea21485c8020dba303f1eba1e54024d(
1541
+ value: RuleConfig,
1542
+ ) -> None:
1543
+ """Type checking stubs"""
1544
+ pass
1545
+
1546
+ def _typecheckingstub__8f4f075495519a2ded6add6124312cb4922a6dcd004a2f45e4ceaca138cede30(
1547
+ value: RuleConfig,
1548
+ ) -> None:
1549
+ """Type checking stubs"""
1550
+ pass
1551
+
1552
+ def _typecheckingstub__3af61fd076a850e44f55148f4961fc6bf5ab13ed828d9d442d8c365736c9d3cf(
1553
+ value: RuleConfig,
1554
+ ) -> None:
1555
+ """Type checking stubs"""
1556
+ pass
1557
+
1558
+ def _typecheckingstub__f720f7075628d4674b53bdc2ba92196b48132d79f5854c8f3be1322a4edca655(
1559
+ value: RuleConfig,
1560
+ ) -> None:
1561
+ """Type checking stubs"""
1562
+ pass
1563
+
1564
+ def _typecheckingstub__3c4ab80763d6a0e866559b76c804c1299012f8b2c54d744bd12b5c7360234e8d(
1565
+ value: RuleConfig,
1566
+ ) -> None:
1567
+ """Type checking stubs"""
1568
+ pass
1569
+
1570
+ def _typecheckingstub__b52ee43f2b122e438aa6de1db7d6089d2bb85d4ced823b9d956e07a1f1e4363a(
1571
+ value: RuleConfig,
1572
+ ) -> None:
1573
+ """Type checking stubs"""
1574
+ pass
1575
+
1576
+ def _typecheckingstub__6eb8b6aff1ddde58f600085a8382b928d2b34b187d37a983b764b3462642a6a1(
1577
+ value: RuleConfig,
1578
+ ) -> None:
1579
+ """Type checking stubs"""
1580
+ pass
1581
+
1582
+ def _typecheckingstub__b8dc18c7d81c1a523b059b4f9d774dd14d52db1a6e76cdacd546ef48bd0e0327(
1583
+ value: RuleConfig,
1584
+ ) -> None:
1585
+ """Type checking stubs"""
1586
+ pass
1587
+
1588
+ def _typecheckingstub__4cb0ee61bcdb0821166eab5a777a7191ee2590f7ded8fe36fda3145c4220054c(
1589
+ value: RuleConfig,
1590
+ ) -> None:
1591
+ """Type checking stubs"""
1592
+ pass
1593
+
1594
+ def _typecheckingstub__b8afcb92b737eddf80dae97e4fa5ef4288070711c4efa1d09e67a8c6a1282479(
1595
+ value: RuleConfig,
1596
+ ) -> None:
1597
+ """Type checking stubs"""
1598
+ pass
1599
+
1600
+ def _typecheckingstub__7f8e402ea9052c619a30f98a9f8106c116773962c7843e9c505dbb3b3849e0f9(
1601
+ value: RuleConfig,
1602
+ ) -> None:
1603
+ """Type checking stubs"""
1604
+ pass
1605
+
1606
+ def _typecheckingstub__2d74ff2280fd53db436d9053cbf0ee58158899ab12a4355be85bb9b26b0b8746(
1607
+ value: RuleConfig,
1608
+ ) -> None:
1609
+ """Type checking stubs"""
1610
+ pass
1611
+
1612
+ def _typecheckingstub__b1644617b606d0b3f41a767f22fa6824eab1b9763906e94622a0fb0406b374e5(
1613
+ value: RuleConfig,
1614
+ ) -> None:
1615
+ """Type checking stubs"""
1616
+ pass
1617
+
1618
+ def _typecheckingstub__8e9b8e0482d42615228dc6f7bc12651f727309a2e7f4ccb202b434a1dadd6e8c(
1619
+ value: RuleConfig,
1620
+ ) -> None:
1621
+ """Type checking stubs"""
1622
+ pass
1623
+
1624
+ def _typecheckingstub__c31226f6cc08d856fa6fd8d25a3ae32ffd1d79e06ba62dfc35321ae6c800e58d(
1625
+ value: RuleConfig,
1626
+ ) -> None:
1627
+ """Type checking stubs"""
1628
+ pass
1629
+
1630
+ def _typecheckingstub__bf112adc9f030cc1968f5f18f721ebf04512547c31fe8694b70985b223f90882(
1631
+ value: RuleConfig,
1632
+ ) -> None:
1633
+ """Type checking stubs"""
1634
+ pass
1635
+
1636
+ def _typecheckingstub__20ec9ca8d52857f5348c2e3d90288f9e90a23e991f7d8b9aca38c25eb1175c95(
1637
+ value: RuleConfig,
1638
+ ) -> None:
1639
+ """Type checking stubs"""
1640
+ pass
1641
+
1642
+ def _typecheckingstub__ee6b9440b83c9e576328c0aff089b45ab02542468a21d873ca9bbcac74caad04(
1643
+ value: RuleConfig,
1644
+ ) -> None:
1645
+ """Type checking stubs"""
1646
+ pass
1647
+
1648
+ def _typecheckingstub__aa4c8632ac5b1a4c99029db980e5d8040476957230a6e2955cd946c07885b166(
1649
+ value: RuleConfig,
1650
+ ) -> None:
1651
+ """Type checking stubs"""
1652
+ pass
1653
+
1654
+ def _typecheckingstub__48a76cf5c5861de94a0266a502c4961f68a6396179e4dd0b8cbadb2094d45e15(
1655
+ *,
1656
+ access: builtins.str,
1657
+ destination_address_prefix: builtins.str,
1658
+ destination_port_range: builtins.str,
1659
+ direction: builtins.str,
1660
+ name: builtins.str,
1661
+ priority: jsii.Number,
1662
+ protocol: builtins.str,
1663
+ source_address_prefix: builtins.str,
1664
+ source_port_range: builtins.str,
1665
+ ) -> None:
1666
+ """Type checking stubs"""
1667
+ pass
1668
+
1669
+ def _typecheckingstub__ee09b7b2522a444a73becebd30a013761b548942c7e5be345565bd4de7e54221(
1670
+ *,
1671
+ destination_address_prefix: typing.Optional[builtins.str] = None,
1672
+ priority: typing.Optional[jsii.Number] = None,
1673
+ source_address_prefix: typing.Optional[builtins.str] = None,
1674
+ ) -> None:
1675
+ """Type checking stubs"""
1676
+ pass
1677
+
1678
+ def _typecheckingstub__0aa95efe68d21a63b93f1eb87166793543fbfb2ea39d8f2d1225583762f0b0e1(
1679
+ scope: _constructs_77d1e7e8.Construct,
1680
+ id: builtins.str,
1681
+ *,
1682
+ location: builtins.str,
1683
+ name: builtins.str,
1684
+ rules: typing.Sequence[typing.Union[RuleConfig, typing.Dict[builtins.str, typing.Any]]],
1685
+ resource_group: typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup] = None,
1686
+ ) -> None:
1687
+ """Type checking stubs"""
1688
+ pass
1689
+
1690
+ def _typecheckingstub__92f9e57b285151d8483831ce14f03602abbadf56db0aa9a80406366244656236(
1691
+ network_interface: _cdktf_cdktf_provider_azurerm_network_interface_92bbcedf.NetworkInterface,
1692
+ ) -> None:
1693
+ """Type checking stubs"""
1694
+ pass
1695
+
1696
+ def _typecheckingstub__92d195c7b2cb05cc143e838bb2bddfd966d519129c8774ccd521e71e42a3df4d(
1697
+ subnet: _cdktf_cdktf_provider_azurerm_subnet_92bbcedf.Subnet,
1698
+ ) -> None:
1699
+ """Type checking stubs"""
1700
+ pass
1701
+
1702
+ def _typecheckingstub__f94efb4824688e9def6cff58a3a46fbc4323e3e38fd48ba2ee21ca0dafc2fd69(
1703
+ value: builtins.str,
1704
+ ) -> None:
1705
+ """Type checking stubs"""
1706
+ pass
1707
+
1708
+ def _typecheckingstub__e02e03a0aeef8c43217e2127b1a030ffb36700d6088e6eb32e1504060a01fa4e(
1709
+ value: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
1710
+ ) -> None:
1711
+ """Type checking stubs"""
1712
+ pass
1713
+
1714
+ def _typecheckingstub__da46013d569817cde3759230947d3e9f0fef81e401220cfc79c8c5d7f47566da(
1715
+ scope: _constructs_77d1e7e8.Construct,
1716
+ id: builtins.str,
1717
+ *,
1718
+ network_security_group_id: builtins.str,
1719
+ network_interface_id: typing.Optional[builtins.str] = None,
1720
+ subnet_id: typing.Optional[builtins.str] = None,
1721
+ ) -> None:
1722
+ """Type checking stubs"""
1723
+ pass
1724
+
1725
+ def _typecheckingstub__805aa3371592a232ef6988236e010bd394175732a6fbe69206859074c589eed1(
1726
+ *,
1727
+ network_security_group_id: builtins.str,
1728
+ network_interface_id: typing.Optional[builtins.str] = None,
1729
+ subnet_id: typing.Optional[builtins.str] = None,
1730
+ ) -> None:
1731
+ """Type checking stubs"""
1732
+ pass
1733
+
1734
+ def _typecheckingstub__2cd7a0de161a25d6de85e71efdf1a6c2c1f32a58488a0ab5198a64378a79a326(
1735
+ *,
1736
+ location: builtins.str,
1737
+ name: builtins.str,
1738
+ rules: typing.Sequence[typing.Union[RuleConfig, typing.Dict[builtins.str, typing.Any]]],
1739
+ resource_group: typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup] = None,
1740
+ ) -> None:
1741
+ """Type checking stubs"""
1742
+ pass