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,2213 @@
1
+ '''
2
+ # Azure Eventhub Construct
3
+
4
+ This class represents an Eventhub resource in Azure. It provides a convenient way to manage Azure Eventhub resources.
5
+
6
+ # What is Eventhub?
7
+
8
+ See [officail document](https://learn.microsoft.com/en-us/azure/event-hubs/event-hubs-features).
9
+
10
+ # Eventhub Best Practices
11
+
12
+ Coming soon...
13
+
14
+ # Create an Eventhub Namespace and Eventhub Instance
15
+
16
+ This class has several properties that control the Eventhub resource's behaviour:
17
+
18
+ * `rg`: The [Azure Resource Group object](../azure-resourcegroup/) in which to create the Eventhub Namespace.
19
+ * `name`: The name of the Eventhub Namespace to create.
20
+ * `sku`: (Optional) Defines which tier to use. Valid options are Basic, Standard, and Premium.
21
+ * `capacity`: (Optional) Specifies the Capacity / Throughput Units for a Standard SKU namespace. Default is 2.
22
+ * `autoInflateEnabled`: (Optional) Specifies if the EventHub Namespace should be Auto Inflate enabled. Default is false.
23
+ * `maximumThroughputUnits`: (Optional) Specifies the maximum number of throughput units when Auto Inflate is Enabled. Valid values range from 1 - 20. Default is 2.
24
+ * `zoneRedundant`: (Optional) Specifies if the EventHub Namespace should be Zone Redundant (created across Availability Zones). Default is true.
25
+ * `tags`: (Optional) The tags to assign to the Key Vault.
26
+ * `minimumTlsVersion`: (Optional) The minimum supported TLS version for this EventHub Namespace. Valid values are: 1.0, 1.1 and 1.2. Default is 1.2.
27
+ * `publicNetworkAccessEnabled`: (Optional) Is public network access enabled for the EventHub Namespace? Default is true.
28
+ * `localAuthenticationEnabled`: (Optional) Is SAS authentication enabled for the EventHub Namespace? North Central US Not supported. Default is false.
29
+ * `identityType`: (Optional) Specifies the type of Managed Service Identity that should be configured on this Event Hub Namespace. Possible values are SystemAssigned or UserAssigned. Default is SystemAssigned.
30
+ * `identityIds`: (Optional) Specifies a list of User Assigned Managed Identity IDs to be assigned to this EventHub namespace.
31
+
32
+ You can deploy a Eventhub Namespace using this class like:
33
+
34
+ ```python
35
+ // Create a Resource Group first
36
+ const resourceGroup = new AzureResourceGroup(this, "rg", {
37
+ name: 'myResourceGroup',
38
+ location: 'eastus',
39
+ });
40
+
41
+ // Create Eventhub Namespace
42
+ const eventhubNamespace = new AzureEventhubNamespace(this, "eventhub", {
43
+ rg: resourceGroup,
44
+ name: 'myEventhubNamespace',
45
+ sku: "Basic",
46
+ });
47
+
48
+ // Add IAM role to Eventhub Namespace
49
+ const objectId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
50
+ const role = "Contributor";
51
+ eventhubNamespace.addAccess(objectId, role);
52
+ ```
53
+
54
+ Then, you can deploy several Eventhub Instances in the Eventhub Namespace using this class like:
55
+
56
+ ```python
57
+ // Create Eventhub Instance
58
+ const eventhubInstance = eventhubNamespace.addEventhubInstance({
59
+ name: `myEventhubInstance1`,
60
+ partitionCount: 2,
61
+ messageRetention: 1,
62
+ status: "Active",
63
+ });
64
+ ```
65
+
66
+ And, there are several methods in the Eventhub Instance class to setup Authorization rule, Consumer Group, Kusto data connection, etc.
67
+
68
+ * Add Authorization Rule to Eventhub Instance
69
+
70
+ ```python
71
+ eventhubInstance.addAuthorizationRule({
72
+ name: `test-rule`,
73
+ listen: true,
74
+ send: true,
75
+ manage: false,
76
+ });
77
+ ```
78
+ * Add Consumer Group to Eventhub Instance
79
+
80
+ ```python
81
+ eventhubInstance.addConsumerGroup({
82
+ name: `test-consumer-group`,
83
+ });
84
+ ```
85
+ * Add data connection between Eventhub Instance and Kusto database
86
+
87
+ ```python
88
+ // Add Kusto data connection
89
+ eventhubInstance.addKustoDataConnection({
90
+ name: `kustoDataConnection1`,
91
+ location: 'eastus',
92
+ resourceGroupName: 'myKustoRg', // Kusto resource group
93
+ clusterName: 'myKustoCluster', // Kusto cluster name
94
+ databaseName: "myKustoDatabase1", // Kusto database name
95
+ });
96
+ ```
97
+ '''
98
+ from pkgutil import extend_path
99
+ __path__ = extend_path(__path__, __name__)
100
+
101
+ import abc
102
+ import builtins
103
+ import datetime
104
+ import enum
105
+ import typing
106
+
107
+ import jsii
108
+ import publication
109
+ import typing_extensions
110
+
111
+ from typeguard import check_type
112
+
113
+ from .._jsii import *
114
+
115
+ import cdktf as _cdktf_9a9027ec
116
+ import cdktf_cdktf_provider_azurerm.eventhub_authorization_rule as _cdktf_cdktf_provider_azurerm_eventhub_authorization_rule_92bbcedf
117
+ import cdktf_cdktf_provider_azurerm.resource_group as _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf
118
+ import constructs as _constructs_77d1e7e8
119
+ from ..azure_keyvault import Vault as _Vault_3dbe0187
120
+ from ..core_azure import (
121
+ AzureResource as _AzureResource_74eec1c4,
122
+ AzureResourceWithAlert as _AzureResourceWithAlert_c2e3918b,
123
+ )
124
+
125
+
126
+ class AuthorizationRule(
127
+ _constructs_77d1e7e8.Construct,
128
+ metaclass=jsii.JSIIMeta,
129
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_eventhub.AuthorizationRule",
130
+ ):
131
+ def __init__(
132
+ self,
133
+ scope: _constructs_77d1e7e8.Construct,
134
+ name_: builtins.str,
135
+ *,
136
+ eventhub_name: builtins.str,
137
+ name: builtins.str,
138
+ namespace_name: builtins.str,
139
+ resource_group_name: builtins.str,
140
+ id: typing.Optional[builtins.str] = None,
141
+ listen: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
142
+ manage: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
143
+ send: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
144
+ timeouts: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_eventhub_authorization_rule_92bbcedf.EventhubAuthorizationRuleTimeouts, typing.Dict[builtins.str, typing.Any]]] = None,
145
+ connection: typing.Optional[typing.Union[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.WinrmProvisionerConnection, typing.Dict[builtins.str, typing.Any]]]] = None,
146
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
147
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
148
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
149
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
150
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
151
+ provisioners: typing.Optional[typing.Sequence[typing.Union[typing.Union[_cdktf_9a9027ec.FileProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.LocalExecProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.RemoteExecProvisioner, typing.Dict[builtins.str, typing.Any]]]]] = None,
152
+ ) -> None:
153
+ '''Constructs a new Authorization Rule for an Azure Event Hub.
154
+
155
+ This class creates an authorization rule which defines the permissions granted to users and applications
156
+ for accessing and managing the Event Hub. An Authorization Rule can grant listening, sending, and full manage
157
+ permissions based on the properties specified.
158
+
159
+ :param scope: - The scope in which to define this construct, typically used for managing lifecycles and creation order.
160
+ :param name_: - The unique name for this instance of the Authorization Rule.
161
+ :param eventhub_name: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/eventhub_authorization_rule#eventhub_name EventhubAuthorizationRule#eventhub_name}.
162
+ :param name: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/eventhub_authorization_rule#name EventhubAuthorizationRule#name}.
163
+ :param namespace_name: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/eventhub_authorization_rule#namespace_name EventhubAuthorizationRule#namespace_name}.
164
+ :param resource_group_name: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/eventhub_authorization_rule#resource_group_name EventhubAuthorizationRule#resource_group_name}.
165
+ :param id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/eventhub_authorization_rule#id EventhubAuthorizationRule#id}. Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
166
+ :param listen: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/eventhub_authorization_rule#listen EventhubAuthorizationRule#listen}.
167
+ :param manage: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/eventhub_authorization_rule#manage EventhubAuthorizationRule#manage}.
168
+ :param send: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/eventhub_authorization_rule#send EventhubAuthorizationRule#send}.
169
+ :param timeouts: timeouts block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/eventhub_authorization_rule#timeouts EventhubAuthorizationRule#timeouts}
170
+ :param connection:
171
+ :param count:
172
+ :param depends_on:
173
+ :param for_each:
174
+ :param lifecycle:
175
+ :param provider:
176
+ :param provisioners:
177
+
178
+ :remarks:
179
+
180
+ The primary connection string and primary key are accessible after the instance creation,
181
+ allowing for integration with other Azure services or client applications.
182
+ '''
183
+ if __debug__:
184
+ type_hints = typing.get_type_hints(_typecheckingstub__7c1c6f293e6acf5436c72813818813598afbd2a83ba004aa4ccf61ed33758436)
185
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
186
+ check_type(argname="argument name_", value=name_, expected_type=type_hints["name_"])
187
+ eh_instance_auth_props = _cdktf_cdktf_provider_azurerm_eventhub_authorization_rule_92bbcedf.EventhubAuthorizationRuleConfig(
188
+ eventhub_name=eventhub_name,
189
+ name=name,
190
+ namespace_name=namespace_name,
191
+ resource_group_name=resource_group_name,
192
+ id=id,
193
+ listen=listen,
194
+ manage=manage,
195
+ send=send,
196
+ timeouts=timeouts,
197
+ connection=connection,
198
+ count=count,
199
+ depends_on=depends_on,
200
+ for_each=for_each,
201
+ lifecycle=lifecycle,
202
+ provider=provider,
203
+ provisioners=provisioners,
204
+ )
205
+
206
+ jsii.create(self.__class__, self, [scope, name_, eh_instance_auth_props])
207
+
208
+ @jsii.member(jsii_name="addPrimaryConnectionStringToVault")
209
+ def add_primary_connection_string_to_vault(
210
+ self,
211
+ vault: _Vault_3dbe0187,
212
+ name: builtins.str,
213
+ expiration_date: typing.Optional[builtins.str] = None,
214
+ ) -> None:
215
+ '''
216
+ :param vault: -
217
+ :param name: -
218
+ :param expiration_date: -
219
+ '''
220
+ if __debug__:
221
+ type_hints = typing.get_type_hints(_typecheckingstub__0214ac5924c3dc5c9e3f26b91a6c9b1d3dfe07ad2ea89e13535ffd8ec5a4ba0b)
222
+ check_type(argname="argument vault", value=vault, expected_type=type_hints["vault"])
223
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
224
+ check_type(argname="argument expiration_date", value=expiration_date, expected_type=type_hints["expiration_date"])
225
+ return typing.cast(None, jsii.invoke(self, "addPrimaryConnectionStringToVault", [vault, name, expiration_date]))
226
+
227
+ @jsii.member(jsii_name="addPrimaryKeyToVault")
228
+ def add_primary_key_to_vault(
229
+ self,
230
+ vault: _Vault_3dbe0187,
231
+ name: builtins.str,
232
+ expiration_date: typing.Optional[builtins.str] = None,
233
+ ) -> None:
234
+ '''
235
+ :param vault: -
236
+ :param name: -
237
+ :param expiration_date: -
238
+ '''
239
+ if __debug__:
240
+ type_hints = typing.get_type_hints(_typecheckingstub__99de90f20bfe2eb69b5f50c097faa58d627eaca216cadc2732f88dadb737107d)
241
+ check_type(argname="argument vault", value=vault, expected_type=type_hints["vault"])
242
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
243
+ check_type(argname="argument expiration_date", value=expiration_date, expected_type=type_hints["expiration_date"])
244
+ return typing.cast(None, jsii.invoke(self, "addPrimaryKeyToVault", [vault, name, expiration_date]))
245
+
246
+ @builtins.property
247
+ @jsii.member(jsii_name="ehInstanceAuthProps")
248
+ def eh_instance_auth_props(
249
+ self,
250
+ ) -> _cdktf_cdktf_provider_azurerm_eventhub_authorization_rule_92bbcedf.EventhubAuthorizationRuleConfig:
251
+ return typing.cast(_cdktf_cdktf_provider_azurerm_eventhub_authorization_rule_92bbcedf.EventhubAuthorizationRuleConfig, jsii.get(self, "ehInstanceAuthProps"))
252
+
253
+
254
+ @jsii.data_type(
255
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_eventhub.AuthorizationRuleProps",
256
+ jsii_struct_bases=[],
257
+ name_mapping={
258
+ "name": "name",
259
+ "listen": "listen",
260
+ "manage": "manage",
261
+ "send": "send",
262
+ },
263
+ )
264
+ class AuthorizationRuleProps:
265
+ def __init__(
266
+ self,
267
+ *,
268
+ name: builtins.str,
269
+ listen: typing.Optional[builtins.bool] = None,
270
+ manage: typing.Optional[builtins.bool] = None,
271
+ send: typing.Optional[builtins.bool] = None,
272
+ ) -> None:
273
+ '''
274
+ :param name:
275
+ :param listen: The name of the resource group in which the EventHub's parent Namespace exists.
276
+ :param manage: Does this Authorization Rule have permissions to Manage to the Event Hub? When this property is true - both listen and send must be too. Default: false
277
+ :param send: Does this Authorization Rule have permissions to Send to the Event Hub? Default: false
278
+ '''
279
+ if __debug__:
280
+ type_hints = typing.get_type_hints(_typecheckingstub__d14b7ca345031d7d76fdb93aa3a21bdc290a32f9bb5730d9e9ebd608e85a2737)
281
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
282
+ check_type(argname="argument listen", value=listen, expected_type=type_hints["listen"])
283
+ check_type(argname="argument manage", value=manage, expected_type=type_hints["manage"])
284
+ check_type(argname="argument send", value=send, expected_type=type_hints["send"])
285
+ self._values: typing.Dict[builtins.str, typing.Any] = {
286
+ "name": name,
287
+ }
288
+ if listen is not None:
289
+ self._values["listen"] = listen
290
+ if manage is not None:
291
+ self._values["manage"] = manage
292
+ if send is not None:
293
+ self._values["send"] = send
294
+
295
+ @builtins.property
296
+ def name(self) -> builtins.str:
297
+ result = self._values.get("name")
298
+ assert result is not None, "Required property 'name' is missing"
299
+ return typing.cast(builtins.str, result)
300
+
301
+ @builtins.property
302
+ def listen(self) -> typing.Optional[builtins.bool]:
303
+ '''The name of the resource group in which the EventHub's parent Namespace exists.'''
304
+ result = self._values.get("listen")
305
+ return typing.cast(typing.Optional[builtins.bool], result)
306
+
307
+ @builtins.property
308
+ def manage(self) -> typing.Optional[builtins.bool]:
309
+ '''Does this Authorization Rule have permissions to Manage to the Event Hub?
310
+
311
+ When this property is true - both listen and send must be too.
312
+
313
+ :default: false
314
+ '''
315
+ result = self._values.get("manage")
316
+ return typing.cast(typing.Optional[builtins.bool], result)
317
+
318
+ @builtins.property
319
+ def send(self) -> typing.Optional[builtins.bool]:
320
+ '''Does this Authorization Rule have permissions to Send to the Event Hub?
321
+
322
+ :default: false
323
+ '''
324
+ result = self._values.get("send")
325
+ return typing.cast(typing.Optional[builtins.bool], result)
326
+
327
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
328
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
329
+
330
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
331
+ return not (rhs == self)
332
+
333
+ def __repr__(self) -> str:
334
+ return "AuthorizationRuleProps(%s)" % ", ".join(
335
+ k + "=" + repr(v) for k, v in self._values.items()
336
+ )
337
+
338
+
339
+ @jsii.data_type(
340
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_eventhub.BaseInstanceProps",
341
+ jsii_struct_bases=[],
342
+ name_mapping={
343
+ "name": "name",
344
+ "message_retention": "messageRetention",
345
+ "partition_count": "partitionCount",
346
+ "status": "status",
347
+ },
348
+ )
349
+ class BaseInstanceProps:
350
+ def __init__(
351
+ self,
352
+ *,
353
+ name: builtins.str,
354
+ message_retention: typing.Optional[jsii.Number] = None,
355
+ partition_count: typing.Optional[jsii.Number] = None,
356
+ status: typing.Optional[builtins.str] = None,
357
+ ) -> None:
358
+ '''
359
+ :param name: Specifies the name of the EventHub resource.
360
+ :param message_retention: Specifies the number of days to retain the events for this Event Hub. Default: 1
361
+ :param partition_count: Specifies the current number of shards on the Event Hub. When using a shared parent EventHub Namespace, maximum value is 32. Default: 2
362
+ :param status: Specifies the status of the Event Hub resource. Possible values are Active, Disabled and SendDisabled. Default: "Active"
363
+ '''
364
+ if __debug__:
365
+ type_hints = typing.get_type_hints(_typecheckingstub__31739a1c075beeaa002d3eefcd272a71ba46aacd5a741e6e66345de650d9a9e7)
366
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
367
+ check_type(argname="argument message_retention", value=message_retention, expected_type=type_hints["message_retention"])
368
+ check_type(argname="argument partition_count", value=partition_count, expected_type=type_hints["partition_count"])
369
+ check_type(argname="argument status", value=status, expected_type=type_hints["status"])
370
+ self._values: typing.Dict[builtins.str, typing.Any] = {
371
+ "name": name,
372
+ }
373
+ if message_retention is not None:
374
+ self._values["message_retention"] = message_retention
375
+ if partition_count is not None:
376
+ self._values["partition_count"] = partition_count
377
+ if status is not None:
378
+ self._values["status"] = status
379
+
380
+ @builtins.property
381
+ def name(self) -> builtins.str:
382
+ '''Specifies the name of the EventHub resource.'''
383
+ result = self._values.get("name")
384
+ assert result is not None, "Required property 'name' is missing"
385
+ return typing.cast(builtins.str, result)
386
+
387
+ @builtins.property
388
+ def message_retention(self) -> typing.Optional[jsii.Number]:
389
+ '''Specifies the number of days to retain the events for this Event Hub.
390
+
391
+ :default: 1
392
+ '''
393
+ result = self._values.get("message_retention")
394
+ return typing.cast(typing.Optional[jsii.Number], result)
395
+
396
+ @builtins.property
397
+ def partition_count(self) -> typing.Optional[jsii.Number]:
398
+ '''Specifies the current number of shards on the Event Hub.
399
+
400
+ When using a shared parent EventHub Namespace, maximum value is 32.
401
+
402
+ :default: 2
403
+ '''
404
+ result = self._values.get("partition_count")
405
+ return typing.cast(typing.Optional[jsii.Number], result)
406
+
407
+ @builtins.property
408
+ def status(self) -> typing.Optional[builtins.str]:
409
+ '''Specifies the status of the Event Hub resource.
410
+
411
+ Possible values are Active, Disabled and SendDisabled.
412
+
413
+ :default: "Active"
414
+ '''
415
+ result = self._values.get("status")
416
+ return typing.cast(typing.Optional[builtins.str], result)
417
+
418
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
419
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
420
+
421
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
422
+ return not (rhs == self)
423
+
424
+ def __repr__(self) -> str:
425
+ return "BaseInstanceProps(%s)" % ", ".join(
426
+ k + "=" + repr(v) for k, v in self._values.items()
427
+ )
428
+
429
+
430
+ @jsii.data_type(
431
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_eventhub.BaseKustoDataConnectionProps",
432
+ jsii_struct_bases=[],
433
+ name_mapping={
434
+ "kusto_cluster_name": "kustoClusterName",
435
+ "kusto_database_name": "kustoDatabaseName",
436
+ "kusto_resource_group": "kustoResourceGroup",
437
+ "location": "location",
438
+ "name": "name",
439
+ "compression": "compression",
440
+ "consumer_group": "consumerGroup",
441
+ "database_routing_type": "databaseRoutingType",
442
+ "data_format": "dataFormat",
443
+ "identity_id": "identityId",
444
+ "mapping_rule_name": "mappingRuleName",
445
+ "table_name": "tableName",
446
+ },
447
+ )
448
+ class BaseKustoDataConnectionProps:
449
+ def __init__(
450
+ self,
451
+ *,
452
+ kusto_cluster_name: builtins.str,
453
+ kusto_database_name: builtins.str,
454
+ kusto_resource_group: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
455
+ location: builtins.str,
456
+ name: builtins.str,
457
+ compression: typing.Optional[builtins.str] = None,
458
+ consumer_group: typing.Optional[builtins.str] = None,
459
+ database_routing_type: typing.Optional[builtins.str] = None,
460
+ data_format: typing.Optional[builtins.str] = None,
461
+ identity_id: typing.Optional[builtins.str] = None,
462
+ mapping_rule_name: typing.Optional[builtins.str] = None,
463
+ table_name: typing.Optional[builtins.str] = None,
464
+ ) -> None:
465
+ '''
466
+ :param kusto_cluster_name: Specifies the name of the Kusto Cluster this data connection will be added to.
467
+ :param kusto_database_name: Specifies the name of the Kusto Database this data connection will be added to.
468
+ :param kusto_resource_group: Specifies the Resource Group where the Kusto Database should exist.
469
+ :param location: The location where the Kusto EventHub Data Connection should be created.
470
+ :param name: The name of the Kusto EventHub Data Connection to create.
471
+ :param compression: Specifies compression type for the connection. Allowed values: GZip and None. Default: "None"
472
+ :param consumer_group: Specifies the EventHub consumer group this data connection will use for ingestion. Default: "$Default"
473
+ :param database_routing_type: Indication for database routing information from the data connection, by default only database routing information is allowed. Allowed values: Single, Multi. Default: "Single"
474
+ :param data_format: Specifies the data format of the EventHub messages. Allowed values: APACHEAVRO, AVRO, CSV, JSON, MULTIJSON, ORC, PARQUET, PSV, RAW, SCSV, SINGLEJSON, SOHSV, TSVE, TSV, TXT, and W3CLOGFILE. Default: "JSON"
475
+ :param identity_id: The resource ID of a managed identity (system or user assigned) to be used to authenticate with event hub.
476
+ :param mapping_rule_name: Specifies the mapping rule used for the message ingestion. Mapping rule must exist before resource is created.
477
+ :param table_name: Specifies the target table name used for the message ingestion. Table must exist before resource is created.
478
+ '''
479
+ if __debug__:
480
+ type_hints = typing.get_type_hints(_typecheckingstub__d0689b3cc5855245f78be80a1a26107af28531e4f6e7c45d9451dd6180b8316d)
481
+ check_type(argname="argument kusto_cluster_name", value=kusto_cluster_name, expected_type=type_hints["kusto_cluster_name"])
482
+ check_type(argname="argument kusto_database_name", value=kusto_database_name, expected_type=type_hints["kusto_database_name"])
483
+ check_type(argname="argument kusto_resource_group", value=kusto_resource_group, expected_type=type_hints["kusto_resource_group"])
484
+ check_type(argname="argument location", value=location, expected_type=type_hints["location"])
485
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
486
+ check_type(argname="argument compression", value=compression, expected_type=type_hints["compression"])
487
+ check_type(argname="argument consumer_group", value=consumer_group, expected_type=type_hints["consumer_group"])
488
+ check_type(argname="argument database_routing_type", value=database_routing_type, expected_type=type_hints["database_routing_type"])
489
+ check_type(argname="argument data_format", value=data_format, expected_type=type_hints["data_format"])
490
+ check_type(argname="argument identity_id", value=identity_id, expected_type=type_hints["identity_id"])
491
+ check_type(argname="argument mapping_rule_name", value=mapping_rule_name, expected_type=type_hints["mapping_rule_name"])
492
+ check_type(argname="argument table_name", value=table_name, expected_type=type_hints["table_name"])
493
+ self._values: typing.Dict[builtins.str, typing.Any] = {
494
+ "kusto_cluster_name": kusto_cluster_name,
495
+ "kusto_database_name": kusto_database_name,
496
+ "kusto_resource_group": kusto_resource_group,
497
+ "location": location,
498
+ "name": name,
499
+ }
500
+ if compression is not None:
501
+ self._values["compression"] = compression
502
+ if consumer_group is not None:
503
+ self._values["consumer_group"] = consumer_group
504
+ if database_routing_type is not None:
505
+ self._values["database_routing_type"] = database_routing_type
506
+ if data_format is not None:
507
+ self._values["data_format"] = data_format
508
+ if identity_id is not None:
509
+ self._values["identity_id"] = identity_id
510
+ if mapping_rule_name is not None:
511
+ self._values["mapping_rule_name"] = mapping_rule_name
512
+ if table_name is not None:
513
+ self._values["table_name"] = table_name
514
+
515
+ @builtins.property
516
+ def kusto_cluster_name(self) -> builtins.str:
517
+ '''Specifies the name of the Kusto Cluster this data connection will be added to.'''
518
+ result = self._values.get("kusto_cluster_name")
519
+ assert result is not None, "Required property 'kusto_cluster_name' is missing"
520
+ return typing.cast(builtins.str, result)
521
+
522
+ @builtins.property
523
+ def kusto_database_name(self) -> builtins.str:
524
+ '''Specifies the name of the Kusto Database this data connection will be added to.'''
525
+ result = self._values.get("kusto_database_name")
526
+ assert result is not None, "Required property 'kusto_database_name' is missing"
527
+ return typing.cast(builtins.str, result)
528
+
529
+ @builtins.property
530
+ def kusto_resource_group(
531
+ self,
532
+ ) -> _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup:
533
+ '''Specifies the Resource Group where the Kusto Database should exist.'''
534
+ result = self._values.get("kusto_resource_group")
535
+ assert result is not None, "Required property 'kusto_resource_group' is missing"
536
+ return typing.cast(_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup, result)
537
+
538
+ @builtins.property
539
+ def location(self) -> builtins.str:
540
+ '''The location where the Kusto EventHub Data Connection should be created.'''
541
+ result = self._values.get("location")
542
+ assert result is not None, "Required property 'location' is missing"
543
+ return typing.cast(builtins.str, result)
544
+
545
+ @builtins.property
546
+ def name(self) -> builtins.str:
547
+ '''The name of the Kusto EventHub Data Connection to create.'''
548
+ result = self._values.get("name")
549
+ assert result is not None, "Required property 'name' is missing"
550
+ return typing.cast(builtins.str, result)
551
+
552
+ @builtins.property
553
+ def compression(self) -> typing.Optional[builtins.str]:
554
+ '''Specifies compression type for the connection.
555
+
556
+ Allowed values: GZip and None.
557
+
558
+ :default: "None"
559
+ '''
560
+ result = self._values.get("compression")
561
+ return typing.cast(typing.Optional[builtins.str], result)
562
+
563
+ @builtins.property
564
+ def consumer_group(self) -> typing.Optional[builtins.str]:
565
+ '''Specifies the EventHub consumer group this data connection will use for ingestion.
566
+
567
+ :default: "$Default"
568
+ '''
569
+ result = self._values.get("consumer_group")
570
+ return typing.cast(typing.Optional[builtins.str], result)
571
+
572
+ @builtins.property
573
+ def database_routing_type(self) -> typing.Optional[builtins.str]:
574
+ '''Indication for database routing information from the data connection, by default only database routing information is allowed.
575
+
576
+ Allowed values: Single, Multi.
577
+
578
+ :default: "Single"
579
+ '''
580
+ result = self._values.get("database_routing_type")
581
+ return typing.cast(typing.Optional[builtins.str], result)
582
+
583
+ @builtins.property
584
+ def data_format(self) -> typing.Optional[builtins.str]:
585
+ '''Specifies the data format of the EventHub messages.
586
+
587
+ Allowed values: APACHEAVRO, AVRO, CSV, JSON, MULTIJSON, ORC, PARQUET, PSV, RAW, SCSV, SINGLEJSON, SOHSV, TSVE, TSV, TXT, and W3CLOGFILE.
588
+
589
+ :default: "JSON"
590
+ '''
591
+ result = self._values.get("data_format")
592
+ return typing.cast(typing.Optional[builtins.str], result)
593
+
594
+ @builtins.property
595
+ def identity_id(self) -> typing.Optional[builtins.str]:
596
+ '''The resource ID of a managed identity (system or user assigned) to be used to authenticate with event hub.'''
597
+ result = self._values.get("identity_id")
598
+ return typing.cast(typing.Optional[builtins.str], result)
599
+
600
+ @builtins.property
601
+ def mapping_rule_name(self) -> typing.Optional[builtins.str]:
602
+ '''Specifies the mapping rule used for the message ingestion.
603
+
604
+ Mapping rule must exist before resource is created.
605
+ '''
606
+ result = self._values.get("mapping_rule_name")
607
+ return typing.cast(typing.Optional[builtins.str], result)
608
+
609
+ @builtins.property
610
+ def table_name(self) -> typing.Optional[builtins.str]:
611
+ '''Specifies the target table name used for the message ingestion.
612
+
613
+ Table must exist before resource is created.
614
+ '''
615
+ result = self._values.get("table_name")
616
+ return typing.cast(typing.Optional[builtins.str], result)
617
+
618
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
619
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
620
+
621
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
622
+ return not (rhs == self)
623
+
624
+ def __repr__(self) -> str:
625
+ return "BaseKustoDataConnectionProps(%s)" % ", ".join(
626
+ k + "=" + repr(v) for k, v in self._values.items()
627
+ )
628
+
629
+
630
+ class Cluster(
631
+ _AzureResource_74eec1c4,
632
+ metaclass=jsii.JSIIMeta,
633
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_eventhub.Cluster",
634
+ ):
635
+ def __init__(
636
+ self,
637
+ scope: _constructs_77d1e7e8.Construct,
638
+ name_: builtins.str,
639
+ *,
640
+ name: builtins.str,
641
+ resource_group: typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup] = None,
642
+ sku_name: typing.Optional[builtins.str] = None,
643
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
644
+ ) -> None:
645
+ '''Constructs a new Event Hub Cluster.
646
+
647
+ This class creates an Azure Event Hub Cluster which is a dedicated capacity resource for handling
648
+ high-throughput, low-latency event ingestion and streaming. It is used in scenarios where you need
649
+ predictable performance and cost regardless of the volume of data ingress or number of downstream
650
+ event consumers.
651
+
652
+ :param scope: - The scope in which to define this construct, usually representing the Cloud Development Kit (CDK) stack.
653
+ :param name_: - The unique name for this instance of the Event Hub Cluster.
654
+ :param name: The name of the EventHub Cluster.
655
+ :param resource_group: An optional reference to the resource group in which to deploy the Event Hub Cluster. If not provided, the Event Hub Cluster will be deployed in the default resource group.
656
+ :param sku_name: The SKU name of the EventHub Cluster. The only supported value at this time is Dedicated_1. Default: "Dedicated_1"
657
+ :param tags: The tags to assign to the Application Insights resource.
658
+ '''
659
+ if __debug__:
660
+ type_hints = typing.get_type_hints(_typecheckingstub__9325412d61ac035504e7b062fbc0964eb65b9626d0007084dde7186a87bed5fa)
661
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
662
+ check_type(argname="argument name_", value=name_, expected_type=type_hints["name_"])
663
+ props = EventHubClusterProps(
664
+ name=name, resource_group=resource_group, sku_name=sku_name, tags=tags
665
+ )
666
+
667
+ jsii.create(self.__class__, self, [scope, name_, props])
668
+
669
+ @builtins.property
670
+ @jsii.member(jsii_name="props")
671
+ def props(self) -> "EventHubClusterProps":
672
+ return typing.cast("EventHubClusterProps", jsii.get(self, "props"))
673
+
674
+ @builtins.property
675
+ @jsii.member(jsii_name="id")
676
+ def id(self) -> builtins.str:
677
+ return typing.cast(builtins.str, jsii.get(self, "id"))
678
+
679
+ @id.setter
680
+ def id(self, value: builtins.str) -> None:
681
+ if __debug__:
682
+ type_hints = typing.get_type_hints(_typecheckingstub__b2005aa8f57434f9765546b33a3fd9c29a44e344e4c145aeca1155fbc2c755cf)
683
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
684
+ jsii.set(self, "id", value)
685
+
686
+ @builtins.property
687
+ @jsii.member(jsii_name="resourceGroup")
688
+ def resource_group(
689
+ self,
690
+ ) -> _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup:
691
+ return typing.cast(_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup, jsii.get(self, "resourceGroup"))
692
+
693
+ @resource_group.setter
694
+ def resource_group(
695
+ self,
696
+ value: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
697
+ ) -> None:
698
+ if __debug__:
699
+ type_hints = typing.get_type_hints(_typecheckingstub__66a33608fc271b155bfcb128a658452996ea2776e99607f1cc49ee62c541b1e2)
700
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
701
+ jsii.set(self, "resourceGroup", value)
702
+
703
+
704
+ class ConsumerGroup(
705
+ _constructs_77d1e7e8.Construct,
706
+ metaclass=jsii.JSIIMeta,
707
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_eventhub.ConsumerGroup",
708
+ ):
709
+ def __init__(
710
+ self,
711
+ scope: _constructs_77d1e7e8.Construct,
712
+ name_: builtins.str,
713
+ *,
714
+ eventhub_name: builtins.str,
715
+ name: builtins.str,
716
+ namespace_name: builtins.str,
717
+ resource_group: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
718
+ user_metadata: typing.Optional[builtins.str] = None,
719
+ ) -> None:
720
+ '''Constructs a new Event Hub Consumer Group.
721
+
722
+ An Event Hub Consumer Group is a view of an entire Event Hub that enables consumer applications to each have
723
+ a separate view of the event stream. They read the stream independently at their own pace and with their own
724
+ offsets. This class creates a consumer group for a specified Event Hub, allowing for decentralized and
725
+ scalable event processing.
726
+
727
+ :param scope: - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
728
+ :param name_: - The unique name for this instance of the Consumer Group.
729
+ :param eventhub_name: Specifies the name of the EventHub.
730
+ :param name:
731
+ :param namespace_name: Specifies the name of the grandparent EventHub Namespace.
732
+ :param resource_group: The name of the resource group in which the EventHub Consumer Group's grandparent Namespace exists.
733
+ :param user_metadata: Specifies the user metadata.
734
+ '''
735
+ if __debug__:
736
+ type_hints = typing.get_type_hints(_typecheckingstub__0a8139279750b65048fa5110a327c0d601a1554c23b92e2c2cba7f8e89ff87cd)
737
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
738
+ check_type(argname="argument name_", value=name_, expected_type=type_hints["name_"])
739
+ eh_consumer_group_props = ConsumerGroupProps(
740
+ eventhub_name=eventhub_name,
741
+ name=name,
742
+ namespace_name=namespace_name,
743
+ resource_group=resource_group,
744
+ user_metadata=user_metadata,
745
+ )
746
+
747
+ jsii.create(self.__class__, self, [scope, name_, eh_consumer_group_props])
748
+
749
+ @builtins.property
750
+ @jsii.member(jsii_name="ehConsumerGroupProps")
751
+ def eh_consumer_group_props(self) -> "ConsumerGroupProps":
752
+ return typing.cast("ConsumerGroupProps", jsii.get(self, "ehConsumerGroupProps"))
753
+
754
+ @builtins.property
755
+ @jsii.member(jsii_name="id")
756
+ def id(self) -> builtins.str:
757
+ return typing.cast(builtins.str, jsii.get(self, "id"))
758
+
759
+
760
+ @jsii.data_type(
761
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_eventhub.ConsumerGroupProps",
762
+ jsii_struct_bases=[],
763
+ name_mapping={
764
+ "eventhub_name": "eventhubName",
765
+ "name": "name",
766
+ "namespace_name": "namespaceName",
767
+ "resource_group": "resourceGroup",
768
+ "user_metadata": "userMetadata",
769
+ },
770
+ )
771
+ class ConsumerGroupProps:
772
+ def __init__(
773
+ self,
774
+ *,
775
+ eventhub_name: builtins.str,
776
+ name: builtins.str,
777
+ namespace_name: builtins.str,
778
+ resource_group: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
779
+ user_metadata: typing.Optional[builtins.str] = None,
780
+ ) -> None:
781
+ '''
782
+ :param eventhub_name: Specifies the name of the EventHub.
783
+ :param name:
784
+ :param namespace_name: Specifies the name of the grandparent EventHub Namespace.
785
+ :param resource_group: The name of the resource group in which the EventHub Consumer Group's grandparent Namespace exists.
786
+ :param user_metadata: Specifies the user metadata.
787
+ '''
788
+ if __debug__:
789
+ type_hints = typing.get_type_hints(_typecheckingstub__7e8f89b463fc90e79558f1493e210f98c407f279a95929c357a6fb5c9ed2e142)
790
+ check_type(argname="argument eventhub_name", value=eventhub_name, expected_type=type_hints["eventhub_name"])
791
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
792
+ check_type(argname="argument namespace_name", value=namespace_name, expected_type=type_hints["namespace_name"])
793
+ check_type(argname="argument resource_group", value=resource_group, expected_type=type_hints["resource_group"])
794
+ check_type(argname="argument user_metadata", value=user_metadata, expected_type=type_hints["user_metadata"])
795
+ self._values: typing.Dict[builtins.str, typing.Any] = {
796
+ "eventhub_name": eventhub_name,
797
+ "name": name,
798
+ "namespace_name": namespace_name,
799
+ "resource_group": resource_group,
800
+ }
801
+ if user_metadata is not None:
802
+ self._values["user_metadata"] = user_metadata
803
+
804
+ @builtins.property
805
+ def eventhub_name(self) -> builtins.str:
806
+ '''Specifies the name of the EventHub.'''
807
+ result = self._values.get("eventhub_name")
808
+ assert result is not None, "Required property 'eventhub_name' is missing"
809
+ return typing.cast(builtins.str, result)
810
+
811
+ @builtins.property
812
+ def name(self) -> builtins.str:
813
+ result = self._values.get("name")
814
+ assert result is not None, "Required property 'name' is missing"
815
+ return typing.cast(builtins.str, result)
816
+
817
+ @builtins.property
818
+ def namespace_name(self) -> builtins.str:
819
+ '''Specifies the name of the grandparent EventHub Namespace.'''
820
+ result = self._values.get("namespace_name")
821
+ assert result is not None, "Required property 'namespace_name' is missing"
822
+ return typing.cast(builtins.str, result)
823
+
824
+ @builtins.property
825
+ def resource_group(
826
+ self,
827
+ ) -> _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup:
828
+ '''The name of the resource group in which the EventHub Consumer Group's grandparent Namespace exists.'''
829
+ result = self._values.get("resource_group")
830
+ assert result is not None, "Required property 'resource_group' is missing"
831
+ return typing.cast(_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup, result)
832
+
833
+ @builtins.property
834
+ def user_metadata(self) -> typing.Optional[builtins.str]:
835
+ '''Specifies the user metadata.'''
836
+ result = self._values.get("user_metadata")
837
+ return typing.cast(typing.Optional[builtins.str], result)
838
+
839
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
840
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
841
+
842
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
843
+ return not (rhs == self)
844
+
845
+ def __repr__(self) -> str:
846
+ return "ConsumerGroupProps(%s)" % ", ".join(
847
+ k + "=" + repr(v) for k, v in self._values.items()
848
+ )
849
+
850
+
851
+ @jsii.data_type(
852
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_eventhub.EventHubClusterProps",
853
+ jsii_struct_bases=[],
854
+ name_mapping={
855
+ "name": "name",
856
+ "resource_group": "resourceGroup",
857
+ "sku_name": "skuName",
858
+ "tags": "tags",
859
+ },
860
+ )
861
+ class EventHubClusterProps:
862
+ def __init__(
863
+ self,
864
+ *,
865
+ name: builtins.str,
866
+ resource_group: typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup] = None,
867
+ sku_name: typing.Optional[builtins.str] = None,
868
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
869
+ ) -> None:
870
+ '''
871
+ :param name: The name of the EventHub Cluster.
872
+ :param resource_group: An optional reference to the resource group in which to deploy the Event Hub Cluster. If not provided, the Event Hub Cluster will be deployed in the default resource group.
873
+ :param sku_name: The SKU name of the EventHub Cluster. The only supported value at this time is Dedicated_1. Default: "Dedicated_1"
874
+ :param tags: The tags to assign to the Application Insights resource.
875
+ '''
876
+ if __debug__:
877
+ type_hints = typing.get_type_hints(_typecheckingstub__6a18ded3b6e021459ebd10c2faa67178f8c192d6b057a954ba0b9c9703a6aa48)
878
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
879
+ check_type(argname="argument resource_group", value=resource_group, expected_type=type_hints["resource_group"])
880
+ check_type(argname="argument sku_name", value=sku_name, expected_type=type_hints["sku_name"])
881
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
882
+ self._values: typing.Dict[builtins.str, typing.Any] = {
883
+ "name": name,
884
+ }
885
+ if resource_group is not None:
886
+ self._values["resource_group"] = resource_group
887
+ if sku_name is not None:
888
+ self._values["sku_name"] = sku_name
889
+ if tags is not None:
890
+ self._values["tags"] = tags
891
+
892
+ @builtins.property
893
+ def name(self) -> builtins.str:
894
+ '''The name of the EventHub Cluster.'''
895
+ result = self._values.get("name")
896
+ assert result is not None, "Required property 'name' is missing"
897
+ return typing.cast(builtins.str, result)
898
+
899
+ @builtins.property
900
+ def resource_group(
901
+ self,
902
+ ) -> typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup]:
903
+ '''An optional reference to the resource group in which to deploy the Event Hub Cluster.
904
+
905
+ If not provided, the Event Hub Cluster will be deployed in the default resource group.
906
+ '''
907
+ result = self._values.get("resource_group")
908
+ return typing.cast(typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup], result)
909
+
910
+ @builtins.property
911
+ def sku_name(self) -> typing.Optional[builtins.str]:
912
+ '''The SKU name of the EventHub Cluster.
913
+
914
+ The only supported value at this time is Dedicated_1.
915
+
916
+ :default: "Dedicated_1"
917
+ '''
918
+ result = self._values.get("sku_name")
919
+ return typing.cast(typing.Optional[builtins.str], result)
920
+
921
+ @builtins.property
922
+ def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
923
+ '''The tags to assign to the Application Insights resource.'''
924
+ result = self._values.get("tags")
925
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
926
+
927
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
928
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
929
+
930
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
931
+ return not (rhs == self)
932
+
933
+ def __repr__(self) -> str:
934
+ return "EventHubClusterProps(%s)" % ", ".join(
935
+ k + "=" + repr(v) for k, v in self._values.items()
936
+ )
937
+
938
+
939
+ class Instance(
940
+ _constructs_77d1e7e8.Construct,
941
+ metaclass=jsii.JSIIMeta,
942
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_eventhub.Instance",
943
+ ):
944
+ def __init__(
945
+ self,
946
+ scope: _constructs_77d1e7e8.Construct,
947
+ name: builtins.str,
948
+ *,
949
+ namespace_name: builtins.str,
950
+ resource_group: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
951
+ name: builtins.str,
952
+ message_retention: typing.Optional[jsii.Number] = None,
953
+ partition_count: typing.Optional[jsii.Number] = None,
954
+ status: typing.Optional[builtins.str] = None,
955
+ ) -> None:
956
+ '''Constructs a new Event Hub instance.
957
+
958
+ This class creates an Azure Event Hub instance within a specified namespace. Event Hubs is a highly scalable
959
+ data streaming platform and event ingestion service, capable of receiving and processing millions of events per second.
960
+ Event Hubs can process and store events, data, or telemetry produced by distributed software and devices.
961
+
962
+ :param scope: - The scope in which to define this construct, typically used for managing lifecycles and creation order.
963
+ :param name: - The unique name for this instance of the Event Hub.
964
+ :param namespace_name: Specifies the name of the EventHub Namespace.
965
+ :param resource_group: The name of the resource group in which the EventHub's parent Namespace exists.
966
+ :param name: Specifies the name of the EventHub resource.
967
+ :param message_retention: Specifies the number of days to retain the events for this Event Hub. Default: 1
968
+ :param partition_count: Specifies the current number of shards on the Event Hub. When using a shared parent EventHub Namespace, maximum value is 32. Default: 2
969
+ :param status: Specifies the status of the Event Hub resource. Possible values are Active, Disabled and SendDisabled. Default: "Active"
970
+ '''
971
+ if __debug__:
972
+ type_hints = typing.get_type_hints(_typecheckingstub__4948905e1978b1095ac0f766fdab18a145e3616c5ab54b06f33b4b2184c4a2b5)
973
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
974
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
975
+ eh_instance_props = InstanceProps(
976
+ namespace_name=namespace_name,
977
+ resource_group=resource_group,
978
+ name=name,
979
+ message_retention=message_retention,
980
+ partition_count=partition_count,
981
+ status=status,
982
+ )
983
+
984
+ jsii.create(self.__class__, self, [scope, name, eh_instance_props])
985
+
986
+ @jsii.member(jsii_name="addAuthorizationRule")
987
+ def add_authorization_rule(
988
+ self,
989
+ *,
990
+ name: builtins.str,
991
+ listen: typing.Optional[builtins.bool] = None,
992
+ manage: typing.Optional[builtins.bool] = None,
993
+ send: typing.Optional[builtins.bool] = None,
994
+ ) -> AuthorizationRule:
995
+ '''Adds an Authorization Rule to an Event Hub instance.
996
+
997
+ This method creates a new Authorization Rule associated with the specified Event Hub,
998
+ granting specified permissions such as 'listen', 'send', and 'manage' based on the properties provided.
999
+ The rule determines the access level granted to users and applications for the Event Hub.
1000
+
1001
+ :param name:
1002
+ :param listen: The name of the resource group in which the EventHub's parent Namespace exists.
1003
+ :param manage: Does this Authorization Rule have permissions to Manage to the Event Hub? When this property is true - both listen and send must be too. Default: false
1004
+ :param send: Does this Authorization Rule have permissions to Send to the Event Hub? Default: false
1005
+
1006
+ :return:
1007
+
1008
+ An instance of the AuthorizationRule class, configured with the specified permissions and associated
1009
+ with the Event Hub specified in the enclosing construct's properties.
1010
+
1011
+ Example usage::
1012
+
1013
+ const eventHubAuthRule = eventHubInstance.addAuthorizationRule({
1014
+ name: 'myCustomAuthRule',
1015
+ listen: true,
1016
+ send: true,
1017
+ manage: false // Only listening and sending permissions are granted.
1018
+ });
1019
+ '''
1020
+ props = AuthorizationRuleProps(
1021
+ name=name, listen=listen, manage=manage, send=send
1022
+ )
1023
+
1024
+ return typing.cast(AuthorizationRule, jsii.invoke(self, "addAuthorizationRule", [props]))
1025
+
1026
+ @jsii.member(jsii_name="addConsumerGroup")
1027
+ def add_consumer_group(
1028
+ self,
1029
+ name: builtins.str,
1030
+ user_metadata: typing.Optional[builtins.str] = None,
1031
+ ) -> ConsumerGroup:
1032
+ '''Adds a Consumer Group to an existing Event Hub instance.
1033
+
1034
+ This method creates a new Consumer Group for the specified Event Hub. Consumer groups represent a view of the entire Event Hub,
1035
+ allowing consumer applications to have separate, independent views of the event stream. They read the stream at their own pace
1036
+ and maintain their own sequence point or offset. This enables a single Event Hub to support multiple consumer applications.
1037
+
1038
+ :param name: - The name of the Consumer Group to be added. This name must be unique within the Event Hub namespace.
1039
+ :param user_metadata: - Optional. User-defined metadata for the Consumer Group. This metadata is useful for storing additional information about the consumer group, such as its purpose or operational details.
1040
+
1041
+ :return:
1042
+
1043
+ An instance of the ConsumerGroup class, configured with the specified properties and associated with the Event Hub
1044
+ specified in the enclosing construct's properties.
1045
+
1046
+ Example usage::
1047
+
1048
+ const myConsumerGroup = eventHubInstance.addConsumerGroup('myConsumerGroupName', 'Metadata about this consumer group');
1049
+
1050
+ :remarks:
1051
+
1052
+ Each consumer group can have multiple concurrent readers, but each partition in the Event Hub can only have one active consumer
1053
+ from a specific consumer group at a time. Multiple consumer groups enable multiple consuming applications to each have a separate
1054
+ view of the event stream, and to read the stream independently at their own pace and with their own offsets.
1055
+ '''
1056
+ if __debug__:
1057
+ type_hints = typing.get_type_hints(_typecheckingstub__fe8193289e2151a2d124ddd011eace10bee17e5b578d6b819df127f9d4b2e382)
1058
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
1059
+ check_type(argname="argument user_metadata", value=user_metadata, expected_type=type_hints["user_metadata"])
1060
+ return typing.cast(ConsumerGroup, jsii.invoke(self, "addConsumerGroup", [name, user_metadata]))
1061
+
1062
+ @jsii.member(jsii_name="addKustoDataConnection")
1063
+ def add_kusto_data_connection(
1064
+ self,
1065
+ *,
1066
+ kusto_cluster_name: builtins.str,
1067
+ kusto_database_name: builtins.str,
1068
+ kusto_resource_group: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
1069
+ location: builtins.str,
1070
+ name: builtins.str,
1071
+ compression: typing.Optional[builtins.str] = None,
1072
+ consumer_group: typing.Optional[builtins.str] = None,
1073
+ database_routing_type: typing.Optional[builtins.str] = None,
1074
+ data_format: typing.Optional[builtins.str] = None,
1075
+ identity_id: typing.Optional[builtins.str] = None,
1076
+ mapping_rule_name: typing.Optional[builtins.str] = None,
1077
+ table_name: typing.Optional[builtins.str] = None,
1078
+ ) -> "KustoDataConnection":
1079
+ '''Adds a Kusto Data Connection to an existing Kusto Cluster and Database for ingesting data from an EventHub.
1080
+
1081
+ This method configures a new Kusto Data Connection linked to the specified EventHub. It facilitates the ingestion of streaming data
1082
+ into the Kusto database, allowing for real-time analytics on streamed data. This connection specifies how data from EventHub
1083
+ is to be ingested into tables within the Kusto Database.
1084
+
1085
+ :param kusto_cluster_name: Specifies the name of the Kusto Cluster this data connection will be added to.
1086
+ :param kusto_database_name: Specifies the name of the Kusto Database this data connection will be added to.
1087
+ :param kusto_resource_group: Specifies the Resource Group where the Kusto Database should exist.
1088
+ :param location: The location where the Kusto EventHub Data Connection should be created.
1089
+ :param name: The name of the Kusto EventHub Data Connection to create.
1090
+ :param compression: Specifies compression type for the connection. Allowed values: GZip and None. Default: "None"
1091
+ :param consumer_group: Specifies the EventHub consumer group this data connection will use for ingestion. Default: "$Default"
1092
+ :param database_routing_type: Indication for database routing information from the data connection, by default only database routing information is allowed. Allowed values: Single, Multi. Default: "Single"
1093
+ :param data_format: Specifies the data format of the EventHub messages. Allowed values: APACHEAVRO, AVRO, CSV, JSON, MULTIJSON, ORC, PARQUET, PSV, RAW, SCSV, SINGLEJSON, SOHSV, TSVE, TSV, TXT, and W3CLOGFILE. Default: "JSON"
1094
+ :param identity_id: The resource ID of a managed identity (system or user assigned) to be used to authenticate with event hub.
1095
+ :param mapping_rule_name: Specifies the mapping rule used for the message ingestion. Mapping rule must exist before resource is created.
1096
+ :param table_name: Specifies the target table name used for the message ingestion. Table must exist before resource is created.
1097
+
1098
+ :return:
1099
+
1100
+ An instance of the KustoDataConnection class, configured with the specified properties and linked to the EventHub
1101
+ specified in the enclosing construct's properties.
1102
+
1103
+ Example usage::
1104
+
1105
+ const kustoConnection = kustoInstance.addKustoDataConnection({
1106
+ name: 'myKustoDataConnection',
1107
+ location: 'West US',
1108
+ kustoResourceGroup: resourceGroup,
1109
+ kustoClusterName: 'myCluster',
1110
+ kustoDatabaseName: 'myDatabase',
1111
+ tableName: 'IngestionTable',
1112
+ consumerGroup: '$Default',
1113
+ dataFormat: 'JSON'
1114
+ });
1115
+ '''
1116
+ props = BaseKustoDataConnectionProps(
1117
+ kusto_cluster_name=kusto_cluster_name,
1118
+ kusto_database_name=kusto_database_name,
1119
+ kusto_resource_group=kusto_resource_group,
1120
+ location=location,
1121
+ name=name,
1122
+ compression=compression,
1123
+ consumer_group=consumer_group,
1124
+ database_routing_type=database_routing_type,
1125
+ data_format=data_format,
1126
+ identity_id=identity_id,
1127
+ mapping_rule_name=mapping_rule_name,
1128
+ table_name=table_name,
1129
+ )
1130
+
1131
+ return typing.cast("KustoDataConnection", jsii.invoke(self, "addKustoDataConnection", [props]))
1132
+
1133
+ @builtins.property
1134
+ @jsii.member(jsii_name="ehInstanceProps")
1135
+ def eh_instance_props(self) -> "InstanceProps":
1136
+ return typing.cast("InstanceProps", jsii.get(self, "ehInstanceProps"))
1137
+
1138
+ @builtins.property
1139
+ @jsii.member(jsii_name="id")
1140
+ def id(self) -> builtins.str:
1141
+ return typing.cast(builtins.str, jsii.get(self, "id"))
1142
+
1143
+ @builtins.property
1144
+ @jsii.member(jsii_name="partitionIds")
1145
+ def partition_ids(self) -> typing.List[builtins.str]:
1146
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "partitionIds"))
1147
+
1148
+
1149
+ @jsii.data_type(
1150
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_eventhub.InstanceProps",
1151
+ jsii_struct_bases=[BaseInstanceProps],
1152
+ name_mapping={
1153
+ "name": "name",
1154
+ "message_retention": "messageRetention",
1155
+ "partition_count": "partitionCount",
1156
+ "status": "status",
1157
+ "namespace_name": "namespaceName",
1158
+ "resource_group": "resourceGroup",
1159
+ },
1160
+ )
1161
+ class InstanceProps(BaseInstanceProps):
1162
+ def __init__(
1163
+ self,
1164
+ *,
1165
+ name: builtins.str,
1166
+ message_retention: typing.Optional[jsii.Number] = None,
1167
+ partition_count: typing.Optional[jsii.Number] = None,
1168
+ status: typing.Optional[builtins.str] = None,
1169
+ namespace_name: builtins.str,
1170
+ resource_group: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
1171
+ ) -> None:
1172
+ '''
1173
+ :param name: Specifies the name of the EventHub resource.
1174
+ :param message_retention: Specifies the number of days to retain the events for this Event Hub. Default: 1
1175
+ :param partition_count: Specifies the current number of shards on the Event Hub. When using a shared parent EventHub Namespace, maximum value is 32. Default: 2
1176
+ :param status: Specifies the status of the Event Hub resource. Possible values are Active, Disabled and SendDisabled. Default: "Active"
1177
+ :param namespace_name: Specifies the name of the EventHub Namespace.
1178
+ :param resource_group: The name of the resource group in which the EventHub's parent Namespace exists.
1179
+ '''
1180
+ if __debug__:
1181
+ type_hints = typing.get_type_hints(_typecheckingstub__6f05ad2cf1dc9e1093643ee5300849f817d2f1fd487f8bf5b767b31e1ce3f414)
1182
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
1183
+ check_type(argname="argument message_retention", value=message_retention, expected_type=type_hints["message_retention"])
1184
+ check_type(argname="argument partition_count", value=partition_count, expected_type=type_hints["partition_count"])
1185
+ check_type(argname="argument status", value=status, expected_type=type_hints["status"])
1186
+ check_type(argname="argument namespace_name", value=namespace_name, expected_type=type_hints["namespace_name"])
1187
+ check_type(argname="argument resource_group", value=resource_group, expected_type=type_hints["resource_group"])
1188
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1189
+ "name": name,
1190
+ "namespace_name": namespace_name,
1191
+ "resource_group": resource_group,
1192
+ }
1193
+ if message_retention is not None:
1194
+ self._values["message_retention"] = message_retention
1195
+ if partition_count is not None:
1196
+ self._values["partition_count"] = partition_count
1197
+ if status is not None:
1198
+ self._values["status"] = status
1199
+
1200
+ @builtins.property
1201
+ def name(self) -> builtins.str:
1202
+ '''Specifies the name of the EventHub resource.'''
1203
+ result = self._values.get("name")
1204
+ assert result is not None, "Required property 'name' is missing"
1205
+ return typing.cast(builtins.str, result)
1206
+
1207
+ @builtins.property
1208
+ def message_retention(self) -> typing.Optional[jsii.Number]:
1209
+ '''Specifies the number of days to retain the events for this Event Hub.
1210
+
1211
+ :default: 1
1212
+ '''
1213
+ result = self._values.get("message_retention")
1214
+ return typing.cast(typing.Optional[jsii.Number], result)
1215
+
1216
+ @builtins.property
1217
+ def partition_count(self) -> typing.Optional[jsii.Number]:
1218
+ '''Specifies the current number of shards on the Event Hub.
1219
+
1220
+ When using a shared parent EventHub Namespace, maximum value is 32.
1221
+
1222
+ :default: 2
1223
+ '''
1224
+ result = self._values.get("partition_count")
1225
+ return typing.cast(typing.Optional[jsii.Number], result)
1226
+
1227
+ @builtins.property
1228
+ def status(self) -> typing.Optional[builtins.str]:
1229
+ '''Specifies the status of the Event Hub resource.
1230
+
1231
+ Possible values are Active, Disabled and SendDisabled.
1232
+
1233
+ :default: "Active"
1234
+ '''
1235
+ result = self._values.get("status")
1236
+ return typing.cast(typing.Optional[builtins.str], result)
1237
+
1238
+ @builtins.property
1239
+ def namespace_name(self) -> builtins.str:
1240
+ '''Specifies the name of the EventHub Namespace.'''
1241
+ result = self._values.get("namespace_name")
1242
+ assert result is not None, "Required property 'namespace_name' is missing"
1243
+ return typing.cast(builtins.str, result)
1244
+
1245
+ @builtins.property
1246
+ def resource_group(
1247
+ self,
1248
+ ) -> _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup:
1249
+ '''The name of the resource group in which the EventHub's parent Namespace exists.'''
1250
+ result = self._values.get("resource_group")
1251
+ assert result is not None, "Required property 'resource_group' is missing"
1252
+ return typing.cast(_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup, result)
1253
+
1254
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1255
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1256
+
1257
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1258
+ return not (rhs == self)
1259
+
1260
+ def __repr__(self) -> str:
1261
+ return "InstanceProps(%s)" % ", ".join(
1262
+ k + "=" + repr(v) for k, v in self._values.items()
1263
+ )
1264
+
1265
+
1266
+ class KustoDataConnection(
1267
+ _constructs_77d1e7e8.Construct,
1268
+ metaclass=jsii.JSIIMeta,
1269
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_eventhub.KustoDataConnection",
1270
+ ):
1271
+ def __init__(
1272
+ self,
1273
+ scope: _constructs_77d1e7e8.Construct,
1274
+ id: builtins.str,
1275
+ *,
1276
+ eventhub_id: builtins.str,
1277
+ kusto_cluster_name: builtins.str,
1278
+ kusto_database_name: builtins.str,
1279
+ kusto_resource_group: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
1280
+ location: builtins.str,
1281
+ name: builtins.str,
1282
+ compression: typing.Optional[builtins.str] = None,
1283
+ consumer_group: typing.Optional[builtins.str] = None,
1284
+ database_routing_type: typing.Optional[builtins.str] = None,
1285
+ data_format: typing.Optional[builtins.str] = None,
1286
+ identity_id: typing.Optional[builtins.str] = None,
1287
+ mapping_rule_name: typing.Optional[builtins.str] = None,
1288
+ table_name: typing.Optional[builtins.str] = None,
1289
+ ) -> None:
1290
+ '''Constructs a new Azure Kusto Data Connection for ingesting data from an EventHub.
1291
+
1292
+ This class creates a data connection within a specified Kusto (Azure Data Explorer) database that connects
1293
+ to an Azure EventHub. This setup enables seamless data ingestion from EventHub into the Kusto database,
1294
+ allowing for real-time analytics on streamed data.
1295
+
1296
+ :param scope: - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
1297
+ :param id: - The unique identifier for this instance of the data connection.
1298
+ :param eventhub_id: Specifies the resource id of the EventHub this data connection will use for ingestion.
1299
+ :param kusto_cluster_name: Specifies the name of the Kusto Cluster this data connection will be added to.
1300
+ :param kusto_database_name: Specifies the name of the Kusto Database this data connection will be added to.
1301
+ :param kusto_resource_group: Specifies the Resource Group where the Kusto Database should exist.
1302
+ :param location: The location where the Kusto EventHub Data Connection should be created.
1303
+ :param name: The name of the Kusto EventHub Data Connection to create.
1304
+ :param compression: Specifies compression type for the connection. Allowed values: GZip and None. Default: "None"
1305
+ :param consumer_group: Specifies the EventHub consumer group this data connection will use for ingestion. Default: "$Default"
1306
+ :param database_routing_type: Indication for database routing information from the data connection, by default only database routing information is allowed. Allowed values: Single, Multi. Default: "Single"
1307
+ :param data_format: Specifies the data format of the EventHub messages. Allowed values: APACHEAVRO, AVRO, CSV, JSON, MULTIJSON, ORC, PARQUET, PSV, RAW, SCSV, SINGLEJSON, SOHSV, TSVE, TSV, TXT, and W3CLOGFILE. Default: "JSON"
1308
+ :param identity_id: The resource ID of a managed identity (system or user assigned) to be used to authenticate with event hub.
1309
+ :param mapping_rule_name: Specifies the mapping rule used for the message ingestion. Mapping rule must exist before resource is created.
1310
+ :param table_name: Specifies the target table name used for the message ingestion. Table must exist before resource is created.
1311
+ '''
1312
+ if __debug__:
1313
+ type_hints = typing.get_type_hints(_typecheckingstub__62b3da48c45f3f6e9b8c2e99377ece2ac8ca75b941ca3990d7da9809fe5c2849)
1314
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1315
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1316
+ kusto_data_connection_props = KustoDataConnectionProps(
1317
+ eventhub_id=eventhub_id,
1318
+ kusto_cluster_name=kusto_cluster_name,
1319
+ kusto_database_name=kusto_database_name,
1320
+ kusto_resource_group=kusto_resource_group,
1321
+ location=location,
1322
+ name=name,
1323
+ compression=compression,
1324
+ consumer_group=consumer_group,
1325
+ database_routing_type=database_routing_type,
1326
+ data_format=data_format,
1327
+ identity_id=identity_id,
1328
+ mapping_rule_name=mapping_rule_name,
1329
+ table_name=table_name,
1330
+ )
1331
+
1332
+ jsii.create(self.__class__, self, [scope, id, kusto_data_connection_props])
1333
+
1334
+ @builtins.property
1335
+ @jsii.member(jsii_name="eventhubKustoDataConnectionProps")
1336
+ def eventhub_kusto_data_connection_props(self) -> "KustoDataConnectionProps":
1337
+ return typing.cast("KustoDataConnectionProps", jsii.get(self, "eventhubKustoDataConnectionProps"))
1338
+
1339
+
1340
+ @jsii.data_type(
1341
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_eventhub.KustoDataConnectionProps",
1342
+ jsii_struct_bases=[BaseKustoDataConnectionProps],
1343
+ name_mapping={
1344
+ "kusto_cluster_name": "kustoClusterName",
1345
+ "kusto_database_name": "kustoDatabaseName",
1346
+ "kusto_resource_group": "kustoResourceGroup",
1347
+ "location": "location",
1348
+ "name": "name",
1349
+ "compression": "compression",
1350
+ "consumer_group": "consumerGroup",
1351
+ "database_routing_type": "databaseRoutingType",
1352
+ "data_format": "dataFormat",
1353
+ "identity_id": "identityId",
1354
+ "mapping_rule_name": "mappingRuleName",
1355
+ "table_name": "tableName",
1356
+ "eventhub_id": "eventhubId",
1357
+ },
1358
+ )
1359
+ class KustoDataConnectionProps(BaseKustoDataConnectionProps):
1360
+ def __init__(
1361
+ self,
1362
+ *,
1363
+ kusto_cluster_name: builtins.str,
1364
+ kusto_database_name: builtins.str,
1365
+ kusto_resource_group: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
1366
+ location: builtins.str,
1367
+ name: builtins.str,
1368
+ compression: typing.Optional[builtins.str] = None,
1369
+ consumer_group: typing.Optional[builtins.str] = None,
1370
+ database_routing_type: typing.Optional[builtins.str] = None,
1371
+ data_format: typing.Optional[builtins.str] = None,
1372
+ identity_id: typing.Optional[builtins.str] = None,
1373
+ mapping_rule_name: typing.Optional[builtins.str] = None,
1374
+ table_name: typing.Optional[builtins.str] = None,
1375
+ eventhub_id: builtins.str,
1376
+ ) -> None:
1377
+ '''
1378
+ :param kusto_cluster_name: Specifies the name of the Kusto Cluster this data connection will be added to.
1379
+ :param kusto_database_name: Specifies the name of the Kusto Database this data connection will be added to.
1380
+ :param kusto_resource_group: Specifies the Resource Group where the Kusto Database should exist.
1381
+ :param location: The location where the Kusto EventHub Data Connection should be created.
1382
+ :param name: The name of the Kusto EventHub Data Connection to create.
1383
+ :param compression: Specifies compression type for the connection. Allowed values: GZip and None. Default: "None"
1384
+ :param consumer_group: Specifies the EventHub consumer group this data connection will use for ingestion. Default: "$Default"
1385
+ :param database_routing_type: Indication for database routing information from the data connection, by default only database routing information is allowed. Allowed values: Single, Multi. Default: "Single"
1386
+ :param data_format: Specifies the data format of the EventHub messages. Allowed values: APACHEAVRO, AVRO, CSV, JSON, MULTIJSON, ORC, PARQUET, PSV, RAW, SCSV, SINGLEJSON, SOHSV, TSVE, TSV, TXT, and W3CLOGFILE. Default: "JSON"
1387
+ :param identity_id: The resource ID of a managed identity (system or user assigned) to be used to authenticate with event hub.
1388
+ :param mapping_rule_name: Specifies the mapping rule used for the message ingestion. Mapping rule must exist before resource is created.
1389
+ :param table_name: Specifies the target table name used for the message ingestion. Table must exist before resource is created.
1390
+ :param eventhub_id: Specifies the resource id of the EventHub this data connection will use for ingestion.
1391
+ '''
1392
+ if __debug__:
1393
+ type_hints = typing.get_type_hints(_typecheckingstub__3bfa41b399d7b3d24221998820347cbea3233009963ae993b32aba3bed46a284)
1394
+ check_type(argname="argument kusto_cluster_name", value=kusto_cluster_name, expected_type=type_hints["kusto_cluster_name"])
1395
+ check_type(argname="argument kusto_database_name", value=kusto_database_name, expected_type=type_hints["kusto_database_name"])
1396
+ check_type(argname="argument kusto_resource_group", value=kusto_resource_group, expected_type=type_hints["kusto_resource_group"])
1397
+ check_type(argname="argument location", value=location, expected_type=type_hints["location"])
1398
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
1399
+ check_type(argname="argument compression", value=compression, expected_type=type_hints["compression"])
1400
+ check_type(argname="argument consumer_group", value=consumer_group, expected_type=type_hints["consumer_group"])
1401
+ check_type(argname="argument database_routing_type", value=database_routing_type, expected_type=type_hints["database_routing_type"])
1402
+ check_type(argname="argument data_format", value=data_format, expected_type=type_hints["data_format"])
1403
+ check_type(argname="argument identity_id", value=identity_id, expected_type=type_hints["identity_id"])
1404
+ check_type(argname="argument mapping_rule_name", value=mapping_rule_name, expected_type=type_hints["mapping_rule_name"])
1405
+ check_type(argname="argument table_name", value=table_name, expected_type=type_hints["table_name"])
1406
+ check_type(argname="argument eventhub_id", value=eventhub_id, expected_type=type_hints["eventhub_id"])
1407
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1408
+ "kusto_cluster_name": kusto_cluster_name,
1409
+ "kusto_database_name": kusto_database_name,
1410
+ "kusto_resource_group": kusto_resource_group,
1411
+ "location": location,
1412
+ "name": name,
1413
+ "eventhub_id": eventhub_id,
1414
+ }
1415
+ if compression is not None:
1416
+ self._values["compression"] = compression
1417
+ if consumer_group is not None:
1418
+ self._values["consumer_group"] = consumer_group
1419
+ if database_routing_type is not None:
1420
+ self._values["database_routing_type"] = database_routing_type
1421
+ if data_format is not None:
1422
+ self._values["data_format"] = data_format
1423
+ if identity_id is not None:
1424
+ self._values["identity_id"] = identity_id
1425
+ if mapping_rule_name is not None:
1426
+ self._values["mapping_rule_name"] = mapping_rule_name
1427
+ if table_name is not None:
1428
+ self._values["table_name"] = table_name
1429
+
1430
+ @builtins.property
1431
+ def kusto_cluster_name(self) -> builtins.str:
1432
+ '''Specifies the name of the Kusto Cluster this data connection will be added to.'''
1433
+ result = self._values.get("kusto_cluster_name")
1434
+ assert result is not None, "Required property 'kusto_cluster_name' is missing"
1435
+ return typing.cast(builtins.str, result)
1436
+
1437
+ @builtins.property
1438
+ def kusto_database_name(self) -> builtins.str:
1439
+ '''Specifies the name of the Kusto Database this data connection will be added to.'''
1440
+ result = self._values.get("kusto_database_name")
1441
+ assert result is not None, "Required property 'kusto_database_name' is missing"
1442
+ return typing.cast(builtins.str, result)
1443
+
1444
+ @builtins.property
1445
+ def kusto_resource_group(
1446
+ self,
1447
+ ) -> _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup:
1448
+ '''Specifies the Resource Group where the Kusto Database should exist.'''
1449
+ result = self._values.get("kusto_resource_group")
1450
+ assert result is not None, "Required property 'kusto_resource_group' is missing"
1451
+ return typing.cast(_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup, result)
1452
+
1453
+ @builtins.property
1454
+ def location(self) -> builtins.str:
1455
+ '''The location where the Kusto EventHub Data Connection should be created.'''
1456
+ result = self._values.get("location")
1457
+ assert result is not None, "Required property 'location' is missing"
1458
+ return typing.cast(builtins.str, result)
1459
+
1460
+ @builtins.property
1461
+ def name(self) -> builtins.str:
1462
+ '''The name of the Kusto EventHub Data Connection to create.'''
1463
+ result = self._values.get("name")
1464
+ assert result is not None, "Required property 'name' is missing"
1465
+ return typing.cast(builtins.str, result)
1466
+
1467
+ @builtins.property
1468
+ def compression(self) -> typing.Optional[builtins.str]:
1469
+ '''Specifies compression type for the connection.
1470
+
1471
+ Allowed values: GZip and None.
1472
+
1473
+ :default: "None"
1474
+ '''
1475
+ result = self._values.get("compression")
1476
+ return typing.cast(typing.Optional[builtins.str], result)
1477
+
1478
+ @builtins.property
1479
+ def consumer_group(self) -> typing.Optional[builtins.str]:
1480
+ '''Specifies the EventHub consumer group this data connection will use for ingestion.
1481
+
1482
+ :default: "$Default"
1483
+ '''
1484
+ result = self._values.get("consumer_group")
1485
+ return typing.cast(typing.Optional[builtins.str], result)
1486
+
1487
+ @builtins.property
1488
+ def database_routing_type(self) -> typing.Optional[builtins.str]:
1489
+ '''Indication for database routing information from the data connection, by default only database routing information is allowed.
1490
+
1491
+ Allowed values: Single, Multi.
1492
+
1493
+ :default: "Single"
1494
+ '''
1495
+ result = self._values.get("database_routing_type")
1496
+ return typing.cast(typing.Optional[builtins.str], result)
1497
+
1498
+ @builtins.property
1499
+ def data_format(self) -> typing.Optional[builtins.str]:
1500
+ '''Specifies the data format of the EventHub messages.
1501
+
1502
+ Allowed values: APACHEAVRO, AVRO, CSV, JSON, MULTIJSON, ORC, PARQUET, PSV, RAW, SCSV, SINGLEJSON, SOHSV, TSVE, TSV, TXT, and W3CLOGFILE.
1503
+
1504
+ :default: "JSON"
1505
+ '''
1506
+ result = self._values.get("data_format")
1507
+ return typing.cast(typing.Optional[builtins.str], result)
1508
+
1509
+ @builtins.property
1510
+ def identity_id(self) -> typing.Optional[builtins.str]:
1511
+ '''The resource ID of a managed identity (system or user assigned) to be used to authenticate with event hub.'''
1512
+ result = self._values.get("identity_id")
1513
+ return typing.cast(typing.Optional[builtins.str], result)
1514
+
1515
+ @builtins.property
1516
+ def mapping_rule_name(self) -> typing.Optional[builtins.str]:
1517
+ '''Specifies the mapping rule used for the message ingestion.
1518
+
1519
+ Mapping rule must exist before resource is created.
1520
+ '''
1521
+ result = self._values.get("mapping_rule_name")
1522
+ return typing.cast(typing.Optional[builtins.str], result)
1523
+
1524
+ @builtins.property
1525
+ def table_name(self) -> typing.Optional[builtins.str]:
1526
+ '''Specifies the target table name used for the message ingestion.
1527
+
1528
+ Table must exist before resource is created.
1529
+ '''
1530
+ result = self._values.get("table_name")
1531
+ return typing.cast(typing.Optional[builtins.str], result)
1532
+
1533
+ @builtins.property
1534
+ def eventhub_id(self) -> builtins.str:
1535
+ '''Specifies the resource id of the EventHub this data connection will use for ingestion.'''
1536
+ result = self._values.get("eventhub_id")
1537
+ assert result is not None, "Required property 'eventhub_id' is missing"
1538
+ return typing.cast(builtins.str, result)
1539
+
1540
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1541
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1542
+
1543
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1544
+ return not (rhs == self)
1545
+
1546
+ def __repr__(self) -> str:
1547
+ return "KustoDataConnectionProps(%s)" % ", ".join(
1548
+ k + "=" + repr(v) for k, v in self._values.items()
1549
+ )
1550
+
1551
+
1552
+ class Namespace(
1553
+ _AzureResourceWithAlert_c2e3918b,
1554
+ metaclass=jsii.JSIIMeta,
1555
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_eventhub.Namespace",
1556
+ ):
1557
+ def __init__(
1558
+ self,
1559
+ scope: _constructs_77d1e7e8.Construct,
1560
+ name_: builtins.str,
1561
+ *,
1562
+ name: builtins.str,
1563
+ auto_inflate_enabled: typing.Optional[builtins.bool] = None,
1564
+ capacity: typing.Optional[jsii.Number] = None,
1565
+ identity_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
1566
+ identity_type: typing.Optional[builtins.str] = None,
1567
+ local_authentication_enabled: typing.Optional[builtins.bool] = None,
1568
+ maximum_throughput_units: typing.Optional[jsii.Number] = None,
1569
+ minimum_tls_version: typing.Optional[builtins.str] = None,
1570
+ public_network_access_enabled: typing.Optional[builtins.bool] = None,
1571
+ resource_group: typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup] = None,
1572
+ sku: typing.Optional[builtins.str] = None,
1573
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1574
+ zone_redundant: typing.Optional[builtins.bool] = None,
1575
+ ) -> None:
1576
+ '''Constructs a new Event Hub Namespace.
1577
+
1578
+ This class creates an Azure Event Hub Namespace, which serves as a container for all messaging components.
1579
+ Namespaces provide a scoping container for Event Hub resources within a specific region, which can be further
1580
+ controlled and managed using the provided settings.
1581
+
1582
+ :param scope: - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
1583
+ :param name_: - The unique name for this instance of the Event Hub Namespace.
1584
+ :param name: The name of the EventHub Namespace to create.
1585
+ :param auto_inflate_enabled: Specifies if the EventHub Namespace should be Auto Inflate enabled. Default: false
1586
+ :param capacity: Specifies the Capacity / Throughput Units for a Standard SKU namespace. Default: 2
1587
+ :param identity_ids: Specifies a list of User Assigned Managed Identity IDs to be assigned to this EventHub namespace.
1588
+ :param identity_type: Specifies the type of Managed Service Identity that should be configured on this Event Hub Namespace. Possible values are SystemAssigned or UserAssigned. Default: "SystemAssigned"
1589
+ :param local_authentication_enabled: Is SAS authentication enabled for the EventHub Namespace? North Central US Not supported. Default: false
1590
+ :param maximum_throughput_units: Specifies the maximum number of throughput units when Auto Inflate is Enabled. Valid values range from 1 - 20. Default: 2
1591
+ :param minimum_tls_version: The minimum supported TLS version for this EventHub Namespace. Valid values are: 1.0, 1.1 and 1.2. Default: "1.2"
1592
+ :param public_network_access_enabled: Is public network access enabled for the EventHub Namespace? Default: true
1593
+ :param resource_group: An optional reference to the resource group in which to deploy the Event Hub Cluster. If not provided, the Event Hub Cluster will be deployed in the default resource group.
1594
+ :param sku: Defines which tier to use. Valid options are Basic, Standard, and Premium. Default: "Basic"
1595
+ :param tags: The tags to assign to the Key Vault.
1596
+ :param zone_redundant: Specifies if the EventHub Namespace should be Zone Redundant (created across Availability Zones). Default: true
1597
+ '''
1598
+ if __debug__:
1599
+ type_hints = typing.get_type_hints(_typecheckingstub__bd10fe3a28646307e69b67ab941cf10ec21cbb8b7a0c307eb340fb37a0ccbdba)
1600
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1601
+ check_type(argname="argument name_", value=name_, expected_type=type_hints["name_"])
1602
+ props = NamespaceProps(
1603
+ name=name,
1604
+ auto_inflate_enabled=auto_inflate_enabled,
1605
+ capacity=capacity,
1606
+ identity_ids=identity_ids,
1607
+ identity_type=identity_type,
1608
+ local_authentication_enabled=local_authentication_enabled,
1609
+ maximum_throughput_units=maximum_throughput_units,
1610
+ minimum_tls_version=minimum_tls_version,
1611
+ public_network_access_enabled=public_network_access_enabled,
1612
+ resource_group=resource_group,
1613
+ sku=sku,
1614
+ tags=tags,
1615
+ zone_redundant=zone_redundant,
1616
+ )
1617
+
1618
+ jsii.create(self.__class__, self, [scope, name_, props])
1619
+
1620
+ @jsii.member(jsii_name="addEventhubInstance")
1621
+ def add_eventhub_instance(
1622
+ self,
1623
+ *,
1624
+ name: builtins.str,
1625
+ message_retention: typing.Optional[jsii.Number] = None,
1626
+ partition_count: typing.Optional[jsii.Number] = None,
1627
+ status: typing.Optional[builtins.str] = None,
1628
+ ) -> Instance:
1629
+ '''Creates and adds an Event Hub instance to the current namespace.
1630
+
1631
+ This method sets up a new Event Hub instance within the namespace defined by this class. An Event Hub instance
1632
+ serves as a container that processes and stores events. This method facilitates the setup of multiple Event Hubs
1633
+ within a single namespace, each configured according to the specified properties.
1634
+
1635
+ :param name: Specifies the name of the EventHub resource.
1636
+ :param message_retention: Specifies the number of days to retain the events for this Event Hub. Default: 1
1637
+ :param partition_count: Specifies the current number of shards on the Event Hub. When using a shared parent EventHub Namespace, maximum value is 32. Default: 2
1638
+ :param status: Specifies the status of the Event Hub resource. Possible values are Active, Disabled and SendDisabled. Default: "Active"
1639
+
1640
+ :return:
1641
+
1642
+ An instance of the Event Hub (``Instance`` class), configured with the specified properties.
1643
+
1644
+ Example usage::
1645
+
1646
+ const eventHub = namespace.addEventhubInstance({
1647
+ name: 'myEventHub',
1648
+ partitionCount: 4,
1649
+ messageRetention: 7,
1650
+ status: 'Active'
1651
+ });
1652
+
1653
+ :remarks:
1654
+
1655
+ Ensure that the namespace has sufficient capacity and configuration to support the properties of the Event Hub being created,
1656
+ especially in terms of partition count and throughput units if applicable.
1657
+ '''
1658
+ props = BaseInstanceProps(
1659
+ name=name,
1660
+ message_retention=message_retention,
1661
+ partition_count=partition_count,
1662
+ status=status,
1663
+ )
1664
+
1665
+ return typing.cast(Instance, jsii.invoke(self, "addEventhubInstance", [props]))
1666
+
1667
+ @builtins.property
1668
+ @jsii.member(jsii_name="name")
1669
+ def name(self) -> builtins.str:
1670
+ return typing.cast(builtins.str, jsii.get(self, "name"))
1671
+
1672
+ @builtins.property
1673
+ @jsii.member(jsii_name="props")
1674
+ def props(self) -> "NamespaceProps":
1675
+ return typing.cast("NamespaceProps", jsii.get(self, "props"))
1676
+
1677
+ @builtins.property
1678
+ @jsii.member(jsii_name="id")
1679
+ def id(self) -> builtins.str:
1680
+ return typing.cast(builtins.str, jsii.get(self, "id"))
1681
+
1682
+ @id.setter
1683
+ def id(self, value: builtins.str) -> None:
1684
+ if __debug__:
1685
+ type_hints = typing.get_type_hints(_typecheckingstub__68df9e05dd29b48311fc4d90dc9e00ac6c3f48740bd59c500eba8ca385ce3632)
1686
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1687
+ jsii.set(self, "id", value)
1688
+
1689
+ @builtins.property
1690
+ @jsii.member(jsii_name="resourceGroup")
1691
+ def resource_group(
1692
+ self,
1693
+ ) -> _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup:
1694
+ return typing.cast(_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup, jsii.get(self, "resourceGroup"))
1695
+
1696
+ @resource_group.setter
1697
+ def resource_group(
1698
+ self,
1699
+ value: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
1700
+ ) -> None:
1701
+ if __debug__:
1702
+ type_hints = typing.get_type_hints(_typecheckingstub__222713931f6bd804ed9f1b9fbec9d4632ff68b9c592ba7f00657688fbc697c93)
1703
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1704
+ jsii.set(self, "resourceGroup", value)
1705
+
1706
+
1707
+ @jsii.data_type(
1708
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_eventhub.NamespaceProps",
1709
+ jsii_struct_bases=[],
1710
+ name_mapping={
1711
+ "name": "name",
1712
+ "auto_inflate_enabled": "autoInflateEnabled",
1713
+ "capacity": "capacity",
1714
+ "identity_ids": "identityIds",
1715
+ "identity_type": "identityType",
1716
+ "local_authentication_enabled": "localAuthenticationEnabled",
1717
+ "maximum_throughput_units": "maximumThroughputUnits",
1718
+ "minimum_tls_version": "minimumTlsVersion",
1719
+ "public_network_access_enabled": "publicNetworkAccessEnabled",
1720
+ "resource_group": "resourceGroup",
1721
+ "sku": "sku",
1722
+ "tags": "tags",
1723
+ "zone_redundant": "zoneRedundant",
1724
+ },
1725
+ )
1726
+ class NamespaceProps:
1727
+ def __init__(
1728
+ self,
1729
+ *,
1730
+ name: builtins.str,
1731
+ auto_inflate_enabled: typing.Optional[builtins.bool] = None,
1732
+ capacity: typing.Optional[jsii.Number] = None,
1733
+ identity_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
1734
+ identity_type: typing.Optional[builtins.str] = None,
1735
+ local_authentication_enabled: typing.Optional[builtins.bool] = None,
1736
+ maximum_throughput_units: typing.Optional[jsii.Number] = None,
1737
+ minimum_tls_version: typing.Optional[builtins.str] = None,
1738
+ public_network_access_enabled: typing.Optional[builtins.bool] = None,
1739
+ resource_group: typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup] = None,
1740
+ sku: typing.Optional[builtins.str] = None,
1741
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1742
+ zone_redundant: typing.Optional[builtins.bool] = None,
1743
+ ) -> None:
1744
+ '''
1745
+ :param name: The name of the EventHub Namespace to create.
1746
+ :param auto_inflate_enabled: Specifies if the EventHub Namespace should be Auto Inflate enabled. Default: false
1747
+ :param capacity: Specifies the Capacity / Throughput Units for a Standard SKU namespace. Default: 2
1748
+ :param identity_ids: Specifies a list of User Assigned Managed Identity IDs to be assigned to this EventHub namespace.
1749
+ :param identity_type: Specifies the type of Managed Service Identity that should be configured on this Event Hub Namespace. Possible values are SystemAssigned or UserAssigned. Default: "SystemAssigned"
1750
+ :param local_authentication_enabled: Is SAS authentication enabled for the EventHub Namespace? North Central US Not supported. Default: false
1751
+ :param maximum_throughput_units: Specifies the maximum number of throughput units when Auto Inflate is Enabled. Valid values range from 1 - 20. Default: 2
1752
+ :param minimum_tls_version: The minimum supported TLS version for this EventHub Namespace. Valid values are: 1.0, 1.1 and 1.2. Default: "1.2"
1753
+ :param public_network_access_enabled: Is public network access enabled for the EventHub Namespace? Default: true
1754
+ :param resource_group: An optional reference to the resource group in which to deploy the Event Hub Cluster. If not provided, the Event Hub Cluster will be deployed in the default resource group.
1755
+ :param sku: Defines which tier to use. Valid options are Basic, Standard, and Premium. Default: "Basic"
1756
+ :param tags: The tags to assign to the Key Vault.
1757
+ :param zone_redundant: Specifies if the EventHub Namespace should be Zone Redundant (created across Availability Zones). Default: true
1758
+ '''
1759
+ if __debug__:
1760
+ type_hints = typing.get_type_hints(_typecheckingstub__519836849fa3453a694ed144010f5350fb88e448353ce28e09e57559ef5020eb)
1761
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
1762
+ check_type(argname="argument auto_inflate_enabled", value=auto_inflate_enabled, expected_type=type_hints["auto_inflate_enabled"])
1763
+ check_type(argname="argument capacity", value=capacity, expected_type=type_hints["capacity"])
1764
+ check_type(argname="argument identity_ids", value=identity_ids, expected_type=type_hints["identity_ids"])
1765
+ check_type(argname="argument identity_type", value=identity_type, expected_type=type_hints["identity_type"])
1766
+ check_type(argname="argument local_authentication_enabled", value=local_authentication_enabled, expected_type=type_hints["local_authentication_enabled"])
1767
+ check_type(argname="argument maximum_throughput_units", value=maximum_throughput_units, expected_type=type_hints["maximum_throughput_units"])
1768
+ check_type(argname="argument minimum_tls_version", value=minimum_tls_version, expected_type=type_hints["minimum_tls_version"])
1769
+ check_type(argname="argument public_network_access_enabled", value=public_network_access_enabled, expected_type=type_hints["public_network_access_enabled"])
1770
+ check_type(argname="argument resource_group", value=resource_group, expected_type=type_hints["resource_group"])
1771
+ check_type(argname="argument sku", value=sku, expected_type=type_hints["sku"])
1772
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
1773
+ check_type(argname="argument zone_redundant", value=zone_redundant, expected_type=type_hints["zone_redundant"])
1774
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1775
+ "name": name,
1776
+ }
1777
+ if auto_inflate_enabled is not None:
1778
+ self._values["auto_inflate_enabled"] = auto_inflate_enabled
1779
+ if capacity is not None:
1780
+ self._values["capacity"] = capacity
1781
+ if identity_ids is not None:
1782
+ self._values["identity_ids"] = identity_ids
1783
+ if identity_type is not None:
1784
+ self._values["identity_type"] = identity_type
1785
+ if local_authentication_enabled is not None:
1786
+ self._values["local_authentication_enabled"] = local_authentication_enabled
1787
+ if maximum_throughput_units is not None:
1788
+ self._values["maximum_throughput_units"] = maximum_throughput_units
1789
+ if minimum_tls_version is not None:
1790
+ self._values["minimum_tls_version"] = minimum_tls_version
1791
+ if public_network_access_enabled is not None:
1792
+ self._values["public_network_access_enabled"] = public_network_access_enabled
1793
+ if resource_group is not None:
1794
+ self._values["resource_group"] = resource_group
1795
+ if sku is not None:
1796
+ self._values["sku"] = sku
1797
+ if tags is not None:
1798
+ self._values["tags"] = tags
1799
+ if zone_redundant is not None:
1800
+ self._values["zone_redundant"] = zone_redundant
1801
+
1802
+ @builtins.property
1803
+ def name(self) -> builtins.str:
1804
+ '''The name of the EventHub Namespace to create.'''
1805
+ result = self._values.get("name")
1806
+ assert result is not None, "Required property 'name' is missing"
1807
+ return typing.cast(builtins.str, result)
1808
+
1809
+ @builtins.property
1810
+ def auto_inflate_enabled(self) -> typing.Optional[builtins.bool]:
1811
+ '''Specifies if the EventHub Namespace should be Auto Inflate enabled.
1812
+
1813
+ :default: false
1814
+ '''
1815
+ result = self._values.get("auto_inflate_enabled")
1816
+ return typing.cast(typing.Optional[builtins.bool], result)
1817
+
1818
+ @builtins.property
1819
+ def capacity(self) -> typing.Optional[jsii.Number]:
1820
+ '''Specifies the Capacity / Throughput Units for a Standard SKU namespace.
1821
+
1822
+ :default: 2
1823
+ '''
1824
+ result = self._values.get("capacity")
1825
+ return typing.cast(typing.Optional[jsii.Number], result)
1826
+
1827
+ @builtins.property
1828
+ def identity_ids(self) -> typing.Optional[typing.List[builtins.str]]:
1829
+ '''Specifies a list of User Assigned Managed Identity IDs to be assigned to this EventHub namespace.'''
1830
+ result = self._values.get("identity_ids")
1831
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
1832
+
1833
+ @builtins.property
1834
+ def identity_type(self) -> typing.Optional[builtins.str]:
1835
+ '''Specifies the type of Managed Service Identity that should be configured on this Event Hub Namespace.
1836
+
1837
+ Possible values are SystemAssigned or UserAssigned.
1838
+
1839
+ :default: "SystemAssigned"
1840
+ '''
1841
+ result = self._values.get("identity_type")
1842
+ return typing.cast(typing.Optional[builtins.str], result)
1843
+
1844
+ @builtins.property
1845
+ def local_authentication_enabled(self) -> typing.Optional[builtins.bool]:
1846
+ '''Is SAS authentication enabled for the EventHub Namespace?
1847
+
1848
+ North Central US Not supported.
1849
+
1850
+ :default: false
1851
+ '''
1852
+ result = self._values.get("local_authentication_enabled")
1853
+ return typing.cast(typing.Optional[builtins.bool], result)
1854
+
1855
+ @builtins.property
1856
+ def maximum_throughput_units(self) -> typing.Optional[jsii.Number]:
1857
+ '''Specifies the maximum number of throughput units when Auto Inflate is Enabled.
1858
+
1859
+ Valid values range from 1 - 20.
1860
+
1861
+ :default: 2
1862
+ '''
1863
+ result = self._values.get("maximum_throughput_units")
1864
+ return typing.cast(typing.Optional[jsii.Number], result)
1865
+
1866
+ @builtins.property
1867
+ def minimum_tls_version(self) -> typing.Optional[builtins.str]:
1868
+ '''The minimum supported TLS version for this EventHub Namespace.
1869
+
1870
+ Valid values are: 1.0, 1.1 and 1.2.
1871
+
1872
+ :default: "1.2"
1873
+ '''
1874
+ result = self._values.get("minimum_tls_version")
1875
+ return typing.cast(typing.Optional[builtins.str], result)
1876
+
1877
+ @builtins.property
1878
+ def public_network_access_enabled(self) -> typing.Optional[builtins.bool]:
1879
+ '''Is public network access enabled for the EventHub Namespace?
1880
+
1881
+ :default: true
1882
+ '''
1883
+ result = self._values.get("public_network_access_enabled")
1884
+ return typing.cast(typing.Optional[builtins.bool], result)
1885
+
1886
+ @builtins.property
1887
+ def resource_group(
1888
+ self,
1889
+ ) -> typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup]:
1890
+ '''An optional reference to the resource group in which to deploy the Event Hub Cluster.
1891
+
1892
+ If not provided, the Event Hub Cluster will be deployed in the default resource group.
1893
+ '''
1894
+ result = self._values.get("resource_group")
1895
+ return typing.cast(typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup], result)
1896
+
1897
+ @builtins.property
1898
+ def sku(self) -> typing.Optional[builtins.str]:
1899
+ '''Defines which tier to use.
1900
+
1901
+ Valid options are Basic, Standard, and Premium.
1902
+
1903
+ :default: "Basic"
1904
+ '''
1905
+ result = self._values.get("sku")
1906
+ return typing.cast(typing.Optional[builtins.str], result)
1907
+
1908
+ @builtins.property
1909
+ def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
1910
+ '''The tags to assign to the Key Vault.'''
1911
+ result = self._values.get("tags")
1912
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
1913
+
1914
+ @builtins.property
1915
+ def zone_redundant(self) -> typing.Optional[builtins.bool]:
1916
+ '''Specifies if the EventHub Namespace should be Zone Redundant (created across Availability Zones).
1917
+
1918
+ :default: true
1919
+ '''
1920
+ result = self._values.get("zone_redundant")
1921
+ return typing.cast(typing.Optional[builtins.bool], result)
1922
+
1923
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1924
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1925
+
1926
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1927
+ return not (rhs == self)
1928
+
1929
+ def __repr__(self) -> str:
1930
+ return "NamespaceProps(%s)" % ", ".join(
1931
+ k + "=" + repr(v) for k, v in self._values.items()
1932
+ )
1933
+
1934
+
1935
+ __all__ = [
1936
+ "AuthorizationRule",
1937
+ "AuthorizationRuleProps",
1938
+ "BaseInstanceProps",
1939
+ "BaseKustoDataConnectionProps",
1940
+ "Cluster",
1941
+ "ConsumerGroup",
1942
+ "ConsumerGroupProps",
1943
+ "EventHubClusterProps",
1944
+ "Instance",
1945
+ "InstanceProps",
1946
+ "KustoDataConnection",
1947
+ "KustoDataConnectionProps",
1948
+ "Namespace",
1949
+ "NamespaceProps",
1950
+ ]
1951
+
1952
+ publication.publish()
1953
+
1954
+ def _typecheckingstub__7c1c6f293e6acf5436c72813818813598afbd2a83ba004aa4ccf61ed33758436(
1955
+ scope: _constructs_77d1e7e8.Construct,
1956
+ name_: builtins.str,
1957
+ *,
1958
+ eventhub_name: builtins.str,
1959
+ name: builtins.str,
1960
+ namespace_name: builtins.str,
1961
+ resource_group_name: builtins.str,
1962
+ id: typing.Optional[builtins.str] = None,
1963
+ listen: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
1964
+ manage: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
1965
+ send: typing.Optional[typing.Union[builtins.bool, _cdktf_9a9027ec.IResolvable]] = None,
1966
+ timeouts: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_eventhub_authorization_rule_92bbcedf.EventhubAuthorizationRuleTimeouts, typing.Dict[builtins.str, typing.Any]]] = None,
1967
+ connection: typing.Optional[typing.Union[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.WinrmProvisionerConnection, typing.Dict[builtins.str, typing.Any]]]] = None,
1968
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
1969
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
1970
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
1971
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
1972
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
1973
+ provisioners: typing.Optional[typing.Sequence[typing.Union[typing.Union[_cdktf_9a9027ec.FileProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.LocalExecProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.RemoteExecProvisioner, typing.Dict[builtins.str, typing.Any]]]]] = None,
1974
+ ) -> None:
1975
+ """Type checking stubs"""
1976
+ pass
1977
+
1978
+ def _typecheckingstub__0214ac5924c3dc5c9e3f26b91a6c9b1d3dfe07ad2ea89e13535ffd8ec5a4ba0b(
1979
+ vault: _Vault_3dbe0187,
1980
+ name: builtins.str,
1981
+ expiration_date: typing.Optional[builtins.str] = None,
1982
+ ) -> None:
1983
+ """Type checking stubs"""
1984
+ pass
1985
+
1986
+ def _typecheckingstub__99de90f20bfe2eb69b5f50c097faa58d627eaca216cadc2732f88dadb737107d(
1987
+ vault: _Vault_3dbe0187,
1988
+ name: builtins.str,
1989
+ expiration_date: typing.Optional[builtins.str] = None,
1990
+ ) -> None:
1991
+ """Type checking stubs"""
1992
+ pass
1993
+
1994
+ def _typecheckingstub__d14b7ca345031d7d76fdb93aa3a21bdc290a32f9bb5730d9e9ebd608e85a2737(
1995
+ *,
1996
+ name: builtins.str,
1997
+ listen: typing.Optional[builtins.bool] = None,
1998
+ manage: typing.Optional[builtins.bool] = None,
1999
+ send: typing.Optional[builtins.bool] = None,
2000
+ ) -> None:
2001
+ """Type checking stubs"""
2002
+ pass
2003
+
2004
+ def _typecheckingstub__31739a1c075beeaa002d3eefcd272a71ba46aacd5a741e6e66345de650d9a9e7(
2005
+ *,
2006
+ name: builtins.str,
2007
+ message_retention: typing.Optional[jsii.Number] = None,
2008
+ partition_count: typing.Optional[jsii.Number] = None,
2009
+ status: typing.Optional[builtins.str] = None,
2010
+ ) -> None:
2011
+ """Type checking stubs"""
2012
+ pass
2013
+
2014
+ def _typecheckingstub__d0689b3cc5855245f78be80a1a26107af28531e4f6e7c45d9451dd6180b8316d(
2015
+ *,
2016
+ kusto_cluster_name: builtins.str,
2017
+ kusto_database_name: builtins.str,
2018
+ kusto_resource_group: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
2019
+ location: builtins.str,
2020
+ name: builtins.str,
2021
+ compression: typing.Optional[builtins.str] = None,
2022
+ consumer_group: typing.Optional[builtins.str] = None,
2023
+ database_routing_type: typing.Optional[builtins.str] = None,
2024
+ data_format: typing.Optional[builtins.str] = None,
2025
+ identity_id: typing.Optional[builtins.str] = None,
2026
+ mapping_rule_name: typing.Optional[builtins.str] = None,
2027
+ table_name: typing.Optional[builtins.str] = None,
2028
+ ) -> None:
2029
+ """Type checking stubs"""
2030
+ pass
2031
+
2032
+ def _typecheckingstub__9325412d61ac035504e7b062fbc0964eb65b9626d0007084dde7186a87bed5fa(
2033
+ scope: _constructs_77d1e7e8.Construct,
2034
+ name_: builtins.str,
2035
+ *,
2036
+ name: builtins.str,
2037
+ resource_group: typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup] = None,
2038
+ sku_name: typing.Optional[builtins.str] = None,
2039
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
2040
+ ) -> None:
2041
+ """Type checking stubs"""
2042
+ pass
2043
+
2044
+ def _typecheckingstub__b2005aa8f57434f9765546b33a3fd9c29a44e344e4c145aeca1155fbc2c755cf(
2045
+ value: builtins.str,
2046
+ ) -> None:
2047
+ """Type checking stubs"""
2048
+ pass
2049
+
2050
+ def _typecheckingstub__66a33608fc271b155bfcb128a658452996ea2776e99607f1cc49ee62c541b1e2(
2051
+ value: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
2052
+ ) -> None:
2053
+ """Type checking stubs"""
2054
+ pass
2055
+
2056
+ def _typecheckingstub__0a8139279750b65048fa5110a327c0d601a1554c23b92e2c2cba7f8e89ff87cd(
2057
+ scope: _constructs_77d1e7e8.Construct,
2058
+ name_: builtins.str,
2059
+ *,
2060
+ eventhub_name: builtins.str,
2061
+ name: builtins.str,
2062
+ namespace_name: builtins.str,
2063
+ resource_group: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
2064
+ user_metadata: typing.Optional[builtins.str] = None,
2065
+ ) -> None:
2066
+ """Type checking stubs"""
2067
+ pass
2068
+
2069
+ def _typecheckingstub__7e8f89b463fc90e79558f1493e210f98c407f279a95929c357a6fb5c9ed2e142(
2070
+ *,
2071
+ eventhub_name: builtins.str,
2072
+ name: builtins.str,
2073
+ namespace_name: builtins.str,
2074
+ resource_group: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
2075
+ user_metadata: typing.Optional[builtins.str] = None,
2076
+ ) -> None:
2077
+ """Type checking stubs"""
2078
+ pass
2079
+
2080
+ def _typecheckingstub__6a18ded3b6e021459ebd10c2faa67178f8c192d6b057a954ba0b9c9703a6aa48(
2081
+ *,
2082
+ name: builtins.str,
2083
+ resource_group: typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup] = None,
2084
+ sku_name: typing.Optional[builtins.str] = None,
2085
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
2086
+ ) -> None:
2087
+ """Type checking stubs"""
2088
+ pass
2089
+
2090
+ def _typecheckingstub__4948905e1978b1095ac0f766fdab18a145e3616c5ab54b06f33b4b2184c4a2b5(
2091
+ scope: _constructs_77d1e7e8.Construct,
2092
+ name: builtins.str,
2093
+ *,
2094
+ namespace_name: builtins.str,
2095
+ resource_group: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
2096
+ name: builtins.str,
2097
+ message_retention: typing.Optional[jsii.Number] = None,
2098
+ partition_count: typing.Optional[jsii.Number] = None,
2099
+ status: typing.Optional[builtins.str] = None,
2100
+ ) -> None:
2101
+ """Type checking stubs"""
2102
+ pass
2103
+
2104
+ def _typecheckingstub__fe8193289e2151a2d124ddd011eace10bee17e5b578d6b819df127f9d4b2e382(
2105
+ name: builtins.str,
2106
+ user_metadata: typing.Optional[builtins.str] = None,
2107
+ ) -> None:
2108
+ """Type checking stubs"""
2109
+ pass
2110
+
2111
+ def _typecheckingstub__6f05ad2cf1dc9e1093643ee5300849f817d2f1fd487f8bf5b767b31e1ce3f414(
2112
+ *,
2113
+ name: builtins.str,
2114
+ message_retention: typing.Optional[jsii.Number] = None,
2115
+ partition_count: typing.Optional[jsii.Number] = None,
2116
+ status: typing.Optional[builtins.str] = None,
2117
+ namespace_name: builtins.str,
2118
+ resource_group: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
2119
+ ) -> None:
2120
+ """Type checking stubs"""
2121
+ pass
2122
+
2123
+ def _typecheckingstub__62b3da48c45f3f6e9b8c2e99377ece2ac8ca75b941ca3990d7da9809fe5c2849(
2124
+ scope: _constructs_77d1e7e8.Construct,
2125
+ id: builtins.str,
2126
+ *,
2127
+ eventhub_id: builtins.str,
2128
+ kusto_cluster_name: builtins.str,
2129
+ kusto_database_name: builtins.str,
2130
+ kusto_resource_group: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
2131
+ location: builtins.str,
2132
+ name: builtins.str,
2133
+ compression: typing.Optional[builtins.str] = None,
2134
+ consumer_group: typing.Optional[builtins.str] = None,
2135
+ database_routing_type: typing.Optional[builtins.str] = None,
2136
+ data_format: typing.Optional[builtins.str] = None,
2137
+ identity_id: typing.Optional[builtins.str] = None,
2138
+ mapping_rule_name: typing.Optional[builtins.str] = None,
2139
+ table_name: typing.Optional[builtins.str] = None,
2140
+ ) -> None:
2141
+ """Type checking stubs"""
2142
+ pass
2143
+
2144
+ def _typecheckingstub__3bfa41b399d7b3d24221998820347cbea3233009963ae993b32aba3bed46a284(
2145
+ *,
2146
+ kusto_cluster_name: builtins.str,
2147
+ kusto_database_name: builtins.str,
2148
+ kusto_resource_group: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
2149
+ location: builtins.str,
2150
+ name: builtins.str,
2151
+ compression: typing.Optional[builtins.str] = None,
2152
+ consumer_group: typing.Optional[builtins.str] = None,
2153
+ database_routing_type: typing.Optional[builtins.str] = None,
2154
+ data_format: typing.Optional[builtins.str] = None,
2155
+ identity_id: typing.Optional[builtins.str] = None,
2156
+ mapping_rule_name: typing.Optional[builtins.str] = None,
2157
+ table_name: typing.Optional[builtins.str] = None,
2158
+ eventhub_id: builtins.str,
2159
+ ) -> None:
2160
+ """Type checking stubs"""
2161
+ pass
2162
+
2163
+ def _typecheckingstub__bd10fe3a28646307e69b67ab941cf10ec21cbb8b7a0c307eb340fb37a0ccbdba(
2164
+ scope: _constructs_77d1e7e8.Construct,
2165
+ name_: builtins.str,
2166
+ *,
2167
+ name: builtins.str,
2168
+ auto_inflate_enabled: typing.Optional[builtins.bool] = None,
2169
+ capacity: typing.Optional[jsii.Number] = None,
2170
+ identity_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
2171
+ identity_type: typing.Optional[builtins.str] = None,
2172
+ local_authentication_enabled: typing.Optional[builtins.bool] = None,
2173
+ maximum_throughput_units: typing.Optional[jsii.Number] = None,
2174
+ minimum_tls_version: typing.Optional[builtins.str] = None,
2175
+ public_network_access_enabled: typing.Optional[builtins.bool] = None,
2176
+ resource_group: typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup] = None,
2177
+ sku: typing.Optional[builtins.str] = None,
2178
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
2179
+ zone_redundant: typing.Optional[builtins.bool] = None,
2180
+ ) -> None:
2181
+ """Type checking stubs"""
2182
+ pass
2183
+
2184
+ def _typecheckingstub__68df9e05dd29b48311fc4d90dc9e00ac6c3f48740bd59c500eba8ca385ce3632(
2185
+ value: builtins.str,
2186
+ ) -> None:
2187
+ """Type checking stubs"""
2188
+ pass
2189
+
2190
+ def _typecheckingstub__222713931f6bd804ed9f1b9fbec9d4632ff68b9c592ba7f00657688fbc697c93(
2191
+ value: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
2192
+ ) -> None:
2193
+ """Type checking stubs"""
2194
+ pass
2195
+
2196
+ def _typecheckingstub__519836849fa3453a694ed144010f5350fb88e448353ce28e09e57559ef5020eb(
2197
+ *,
2198
+ name: builtins.str,
2199
+ auto_inflate_enabled: typing.Optional[builtins.bool] = None,
2200
+ capacity: typing.Optional[jsii.Number] = None,
2201
+ identity_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
2202
+ identity_type: typing.Optional[builtins.str] = None,
2203
+ local_authentication_enabled: typing.Optional[builtins.bool] = None,
2204
+ maximum_throughput_units: typing.Optional[jsii.Number] = None,
2205
+ minimum_tls_version: typing.Optional[builtins.str] = None,
2206
+ public_network_access_enabled: typing.Optional[builtins.bool] = None,
2207
+ resource_group: typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup] = None,
2208
+ sku: typing.Optional[builtins.str] = None,
2209
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
2210
+ zone_redundant: typing.Optional[builtins.bool] = None,
2211
+ ) -> None:
2212
+ """Type checking stubs"""
2213
+ pass