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,2485 @@
1
+ '''
2
+ # Azure Kusto (Azure Data Explorer) Construct
3
+
4
+ This class represents a Kusto (a.k.a Azure Data Explorer) resource in Azure. It provides a convenient way to manage Azure Kusto resources.
5
+
6
+ ## What is Kusto?
7
+
8
+ Azure Kusto is a powerful and scalable solution for real-time data exploration and analysis, offering a range of features to handle large datasets and diverse data sources.
9
+
10
+ You can learn more about Azure Kusto in the [official Azure documentation](https://learn.microsoft.com/en-us/azure/data-explorer/data-explorer-overview).
11
+
12
+ ## Kusto Best Practices
13
+
14
+ Coming soon.
15
+
16
+ ## Kusto Class Properties
17
+
18
+ This class has several properties that control the Kusto resource's behaviour:
19
+
20
+ * `azureResourceGroup`: The [Azure Resource Group object](../azure-resourcegroup/) where the Kusto resource will be deployed.
21
+ * `name`: The name of the Kusto resource.
22
+ * `sku`: (Optional) The SKU of the Kusto resource. Defaults to "dev/test, Dv2/DSv2 Series, Extra small".
23
+ * `capacity`: (Optional) The node count for the cluster. Defaults to 2.
24
+ * `identityType`: (Optional) The type of Managed Service Identity. Defaults to "SystemAssigned".
25
+ * `identityIds`: (Optional) A list of User Assigned Managed Identity IDs to be assigned to this Kusto Cluster.
26
+ * `publicNetworkAccessEnabled`: (Optional) Is the public network access enabled? Defaults to true.
27
+ * `autoStopEnabled`: (Optional) Specifies if the cluster could be automatically stopped (due to lack of data or no activity for many days). Defaults to true.
28
+ * `streamingIngestionEnabled`: (Optional) Specifies if the streaming ingest is enabled. Defaults to true.
29
+ * `purgeEnabled`: (Optional) Specifies if the purge operations are enabled. Defaults to false.
30
+ * `enableZones`: (Optional) Specifies if the cluster is zone redundant or not. Will check if the sku supports zone redundancy. Defaults to true.
31
+ * `minimumInstances`: (Optional) The minimum number of allowed instances. Must between 0 and 1000.
32
+ * `maximumInstances`: (Optional) The maximum number of allowed instances. Must between 0 and 1000.
33
+ * `tags`: (Optional) A mapping of tags to assign to the Kusto.
34
+
35
+ ## Deploying a Kusto
36
+
37
+ You can deploy a Kusto resource using this class like so:
38
+
39
+ ```python
40
+ // Create a Resource Group first
41
+ const resourceGroup = new AzureResourceGroup(this, "myResourceGroup", {
42
+ name: 'myResourceGroup',
43
+ location: 'eastus',
44
+ });
45
+
46
+ // Create a Kusto Cluster with defult settings
47
+ // import { ComputeSpecification } from '../compute-specification';
48
+ const kustoCluster = new AzureKusto(this, "myKusto", {
49
+ rg: resourceGroup,
50
+ name: 'myKusto',
51
+ sku: ComputeSpecification.devtestExtraSmallEav4,
52
+ });
53
+ ```
54
+
55
+ Full example can be found [here](test/ExampleAzureKusto.ts).
56
+
57
+ ## Some convenient methods in the Kusto Class
58
+
59
+ * Add IAM role to Kusto Cluster
60
+
61
+ ```python
62
+ const objectId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
63
+ const role = "Contributor"
64
+ kustoCluster.addAccess(objectId, role);
65
+ ```
66
+ * Add Diagnostics Log into LogAnalytics
67
+
68
+ ```python
69
+ logAnalyticsWorkspaceId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
70
+ kustoCluster.addDiagSettings({
71
+ name: "diagsettings",
72
+ logAnalyticsWorkspaceId: logAnalyticsWorkspaceId,
73
+ })
74
+ ```
75
+ * Create Database into the Kusto
76
+
77
+ ```python
78
+ const myKustoDB1 = kustoCluster.addDatabase({
79
+ kusto: kustoCluster,
80
+ name: "myDatabase1",
81
+ hotCachePeriod: "P7D",
82
+ softDeletePeriod: "P1D",
83
+ });
84
+ ```
85
+ * Add Permission to the Kusto Database
86
+
87
+ ```python
88
+ myKustoDB1.addPermission({
89
+ name: "kustoPermission1",
90
+ tenantId: `${tenantId}`,
91
+ principalId: `${clientId}`,
92
+ principalType: "User",
93
+ role: "Admin",
94
+ });
95
+ ```
96
+
97
+ This example will grant the user with `clientId` the `Admin` role to the Kusto Database `myKustoDB1`.
98
+ * Add Table to the Kusto Database
99
+
100
+ ```python
101
+ myKustoDB1.addTable('myTable', [
102
+ {
103
+ columnName: 'Timestamp',
104
+ columnType: 'datetime',
105
+ },
106
+ {
107
+ columnName: 'User',
108
+ columnType: 'string',
109
+ },
110
+ {
111
+ columnName: 'Value',
112
+ columnType: 'int32',
113
+ },
114
+ ]);
115
+ ```
116
+
117
+ This example will create a table named `myTable` with three columns `Timestamp`, `User` and `Value` in the Kusto Database `myKustoDB1`.
118
+ * Run script for kusto table operations
119
+
120
+ ```python
121
+ const script = '.create table myTable2 ( Timestamp:datetime, User:string, Value:int32 )';
122
+ testDB1.addScript('myScriptName', script);
123
+ ```
124
+
125
+ This example will run the script to create a table named `myTable2` with three columns `Timestamp`, `User` and `Value` in the Kusto Database `myKustoDB1`.
126
+ '''
127
+ from pkgutil import extend_path
128
+ __path__ = extend_path(__path__, __name__)
129
+
130
+ import abc
131
+ import builtins
132
+ import datetime
133
+ import enum
134
+ import typing
135
+
136
+ import jsii
137
+ import publication
138
+ import typing_extensions
139
+
140
+ from typeguard import check_type
141
+
142
+ from .._jsii import *
143
+
144
+ import cdktf_cdktf_provider_azurerm.resource_group as _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf
145
+ import constructs as _constructs_77d1e7e8
146
+ from ..core_azure import AzureResource as _AzureResource_74eec1c4
147
+
148
+
149
+ class Cluster(
150
+ _AzureResource_74eec1c4,
151
+ metaclass=jsii.JSIIMeta,
152
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_kusto.Cluster",
153
+ ):
154
+ def __init__(
155
+ self,
156
+ scope: _constructs_77d1e7e8.Construct,
157
+ id: builtins.str,
158
+ *,
159
+ name: builtins.str,
160
+ auto_stop_enabled: typing.Optional[builtins.bool] = None,
161
+ capacity: typing.Optional[jsii.Number] = None,
162
+ enable_zones: typing.Optional[builtins.bool] = None,
163
+ identity_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
164
+ identity_type: typing.Optional[builtins.str] = None,
165
+ maximum_instances: typing.Optional[jsii.Number] = None,
166
+ minimum_instances: typing.Optional[jsii.Number] = None,
167
+ public_network_access_enabled: typing.Optional[builtins.bool] = None,
168
+ purge_enabled: typing.Optional[builtins.bool] = None,
169
+ resource_group: typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup] = None,
170
+ sku: typing.Optional["IComputeSpecification"] = None,
171
+ streaming_ingestion_enabled: typing.Optional[builtins.bool] = None,
172
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
173
+ ) -> None:
174
+ '''Represents a Kusto (Azure Data Explorer) cluster in Azure.
175
+
176
+ This class is responsible for the creation and management of a Kusto Cluster, which is a highly scalable and secure
177
+ analytics service for ingesting, storing, and analyzing large volumes of data. The cluster supports various configurations
178
+ tailored to the needs of specific data workloads and security requirements.
179
+
180
+ :param scope: - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
181
+ :param id: - The unique identifier for this instance of the cluster.
182
+ :param name: The name of the Kusto Cluster to create. Only 4-22 lowercase alphanumeric characters allowed, starting with a letter.
183
+ :param auto_stop_enabled: Specifies if the cluster could be automatically stopped. (due to lack of data or no activity for many days). Default: true
184
+ :param capacity: The node count for the cluster. Default: 2
185
+ :param enable_zones: Specifies if the purge operations are enabled. Based on the SKU, the number of zones allowed are different. Default: true
186
+ :param identity_ids: A list of User Assigned Managed Identity IDs to be assigned to this Kusto Cluster.
187
+ :param identity_type: The type of Managed Service Identity. Default: "SystemAssigned"
188
+ :param maximum_instances: The maximum number of allowed instances. Must between 0 and 1000.
189
+ :param minimum_instances: The minimum number of allowed instances. Must between 0 and 1000.
190
+ :param public_network_access_enabled: Is the public network access enabled? Default: true
191
+ :param purge_enabled: Specifies if the purge operations are enabled. Default: false
192
+ :param resource_group: An optional reference to the resource group in which to deploy the Kusto Cluster. If not provided, the Kusto Cluster will be deployed in the default resource group.
193
+ :param sku: The SKU of the Kusto Cluster. All the allowed values are defined in the ComputeSpecification class. Default: devtestExtraSmallDv2
194
+ :param streaming_ingestion_enabled: Specifies if the streaming ingest is enabled. Default: true
195
+ :param tags: A mapping of tags to assign to the Kusto.
196
+ '''
197
+ if __debug__:
198
+ type_hints = typing.get_type_hints(_typecheckingstub__9351a5a77b18fe94ed9d59955e81c4877c4006f903bf2ea22d8a9d6cd102e5a3)
199
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
200
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
201
+ props = ClusterProps(
202
+ name=name,
203
+ auto_stop_enabled=auto_stop_enabled,
204
+ capacity=capacity,
205
+ enable_zones=enable_zones,
206
+ identity_ids=identity_ids,
207
+ identity_type=identity_type,
208
+ maximum_instances=maximum_instances,
209
+ minimum_instances=minimum_instances,
210
+ public_network_access_enabled=public_network_access_enabled,
211
+ purge_enabled=purge_enabled,
212
+ resource_group=resource_group,
213
+ sku=sku,
214
+ streaming_ingestion_enabled=streaming_ingestion_enabled,
215
+ tags=tags,
216
+ )
217
+
218
+ jsii.create(self.__class__, self, [scope, id, props])
219
+
220
+ @jsii.member(jsii_name="addDatabase")
221
+ def add_database(
222
+ self,
223
+ *,
224
+ kusto: "Cluster",
225
+ name: builtins.str,
226
+ hot_cache_period: typing.Optional[builtins.str] = None,
227
+ soft_delete_period: typing.Optional[builtins.str] = None,
228
+ ) -> "Database":
229
+ '''Adds a new database to the Azure Kusto Cluster.
230
+
231
+ This method creates a database within the Azure Data Explorer (Kusto) cluster, defined by the properties provided.
232
+ A database in Kusto serves as a logical group to manage various tables and store data. It is essential for performing
233
+ data analytics and running queries. The database configuration can include settings like hot cache and soft delete periods,
234
+ which optimize query performance and manage data lifecycle according to specific requirements.
235
+
236
+ :param kusto: The Azure Kusto cluster to which this database belongs.
237
+ :param name: The name of the Kusto Database to create.
238
+ :param hot_cache_period: The time the data that should be kept in cache for fast queries as ISO 8601 timespan. Default is unlimited.
239
+ :param soft_delete_period: The time the data should be kept before it stops being accessible to queries as ISO 8601 timespan. Default is unlimited.
240
+
241
+ :return:
242
+
243
+ A ``Database`` object representing the newly created database within the Kusto cluster.
244
+
245
+ Example usage::
246
+
247
+ const myDatabase = myCluster.addDatabase({
248
+ kusto: myKustoCluster,
249
+ name: 'OperationalData',
250
+ hotCachePeriod: 'P14D', // 14 days
251
+ softDeletePeriod: 'P365D' // 1 year
252
+ });
253
+
254
+ This method facilitates the efficient setup and scaling of databases within an Azure Kusto cluster, allowing
255
+ for complex data analytics operations across large datasets.
256
+ '''
257
+ database_props = DatabaseProps(
258
+ kusto=kusto,
259
+ name=name,
260
+ hot_cache_period=hot_cache_period,
261
+ soft_delete_period=soft_delete_period,
262
+ )
263
+
264
+ return typing.cast("Database", jsii.invoke(self, "addDatabase", [database_props]))
265
+
266
+ @builtins.property
267
+ @jsii.member(jsii_name="props")
268
+ def props(self) -> "ClusterProps":
269
+ return typing.cast("ClusterProps", jsii.get(self, "props"))
270
+
271
+ @builtins.property
272
+ @jsii.member(jsii_name="uri")
273
+ def uri(self) -> builtins.str:
274
+ return typing.cast(builtins.str, jsii.get(self, "uri"))
275
+
276
+ @builtins.property
277
+ @jsii.member(jsii_name="id")
278
+ def id(self) -> builtins.str:
279
+ return typing.cast(builtins.str, jsii.get(self, "id"))
280
+
281
+ @id.setter
282
+ def id(self, value: builtins.str) -> None:
283
+ if __debug__:
284
+ type_hints = typing.get_type_hints(_typecheckingstub__016f667b6e3c9557d441729357d8e19f1db29ec4c5fa78c89b941b80e06da1a6)
285
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
286
+ jsii.set(self, "id", value)
287
+
288
+ @builtins.property
289
+ @jsii.member(jsii_name="resourceGroup")
290
+ def resource_group(
291
+ self,
292
+ ) -> _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup:
293
+ return typing.cast(_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup, jsii.get(self, "resourceGroup"))
294
+
295
+ @resource_group.setter
296
+ def resource_group(
297
+ self,
298
+ value: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
299
+ ) -> None:
300
+ if __debug__:
301
+ type_hints = typing.get_type_hints(_typecheckingstub__c0eafdbeed8d0f571cae144cb65ce6bc8481d686eaa59bee4308fa65c8e66bac)
302
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
303
+ jsii.set(self, "resourceGroup", value)
304
+
305
+
306
+ @jsii.data_type(
307
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_kusto.ClusterProps",
308
+ jsii_struct_bases=[],
309
+ name_mapping={
310
+ "name": "name",
311
+ "auto_stop_enabled": "autoStopEnabled",
312
+ "capacity": "capacity",
313
+ "enable_zones": "enableZones",
314
+ "identity_ids": "identityIds",
315
+ "identity_type": "identityType",
316
+ "maximum_instances": "maximumInstances",
317
+ "minimum_instances": "minimumInstances",
318
+ "public_network_access_enabled": "publicNetworkAccessEnabled",
319
+ "purge_enabled": "purgeEnabled",
320
+ "resource_group": "resourceGroup",
321
+ "sku": "sku",
322
+ "streaming_ingestion_enabled": "streamingIngestionEnabled",
323
+ "tags": "tags",
324
+ },
325
+ )
326
+ class ClusterProps:
327
+ def __init__(
328
+ self,
329
+ *,
330
+ name: builtins.str,
331
+ auto_stop_enabled: typing.Optional[builtins.bool] = None,
332
+ capacity: typing.Optional[jsii.Number] = None,
333
+ enable_zones: typing.Optional[builtins.bool] = None,
334
+ identity_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
335
+ identity_type: typing.Optional[builtins.str] = None,
336
+ maximum_instances: typing.Optional[jsii.Number] = None,
337
+ minimum_instances: typing.Optional[jsii.Number] = None,
338
+ public_network_access_enabled: typing.Optional[builtins.bool] = None,
339
+ purge_enabled: typing.Optional[builtins.bool] = None,
340
+ resource_group: typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup] = None,
341
+ sku: typing.Optional["IComputeSpecification"] = None,
342
+ streaming_ingestion_enabled: typing.Optional[builtins.bool] = None,
343
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
344
+ ) -> None:
345
+ '''
346
+ :param name: The name of the Kusto Cluster to create. Only 4-22 lowercase alphanumeric characters allowed, starting with a letter.
347
+ :param auto_stop_enabled: Specifies if the cluster could be automatically stopped. (due to lack of data or no activity for many days). Default: true
348
+ :param capacity: The node count for the cluster. Default: 2
349
+ :param enable_zones: Specifies if the purge operations are enabled. Based on the SKU, the number of zones allowed are different. Default: true
350
+ :param identity_ids: A list of User Assigned Managed Identity IDs to be assigned to this Kusto Cluster.
351
+ :param identity_type: The type of Managed Service Identity. Default: "SystemAssigned"
352
+ :param maximum_instances: The maximum number of allowed instances. Must between 0 and 1000.
353
+ :param minimum_instances: The minimum number of allowed instances. Must between 0 and 1000.
354
+ :param public_network_access_enabled: Is the public network access enabled? Default: true
355
+ :param purge_enabled: Specifies if the purge operations are enabled. Default: false
356
+ :param resource_group: An optional reference to the resource group in which to deploy the Kusto Cluster. If not provided, the Kusto Cluster will be deployed in the default resource group.
357
+ :param sku: The SKU of the Kusto Cluster. All the allowed values are defined in the ComputeSpecification class. Default: devtestExtraSmallDv2
358
+ :param streaming_ingestion_enabled: Specifies if the streaming ingest is enabled. Default: true
359
+ :param tags: A mapping of tags to assign to the Kusto.
360
+ '''
361
+ if __debug__:
362
+ type_hints = typing.get_type_hints(_typecheckingstub__2193d533b05f247b87c19b0582d681f927729e68a936477af77a4950358cea65)
363
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
364
+ check_type(argname="argument auto_stop_enabled", value=auto_stop_enabled, expected_type=type_hints["auto_stop_enabled"])
365
+ check_type(argname="argument capacity", value=capacity, expected_type=type_hints["capacity"])
366
+ check_type(argname="argument enable_zones", value=enable_zones, expected_type=type_hints["enable_zones"])
367
+ check_type(argname="argument identity_ids", value=identity_ids, expected_type=type_hints["identity_ids"])
368
+ check_type(argname="argument identity_type", value=identity_type, expected_type=type_hints["identity_type"])
369
+ check_type(argname="argument maximum_instances", value=maximum_instances, expected_type=type_hints["maximum_instances"])
370
+ check_type(argname="argument minimum_instances", value=minimum_instances, expected_type=type_hints["minimum_instances"])
371
+ check_type(argname="argument public_network_access_enabled", value=public_network_access_enabled, expected_type=type_hints["public_network_access_enabled"])
372
+ check_type(argname="argument purge_enabled", value=purge_enabled, expected_type=type_hints["purge_enabled"])
373
+ check_type(argname="argument resource_group", value=resource_group, expected_type=type_hints["resource_group"])
374
+ check_type(argname="argument sku", value=sku, expected_type=type_hints["sku"])
375
+ check_type(argname="argument streaming_ingestion_enabled", value=streaming_ingestion_enabled, expected_type=type_hints["streaming_ingestion_enabled"])
376
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
377
+ self._values: typing.Dict[builtins.str, typing.Any] = {
378
+ "name": name,
379
+ }
380
+ if auto_stop_enabled is not None:
381
+ self._values["auto_stop_enabled"] = auto_stop_enabled
382
+ if capacity is not None:
383
+ self._values["capacity"] = capacity
384
+ if enable_zones is not None:
385
+ self._values["enable_zones"] = enable_zones
386
+ if identity_ids is not None:
387
+ self._values["identity_ids"] = identity_ids
388
+ if identity_type is not None:
389
+ self._values["identity_type"] = identity_type
390
+ if maximum_instances is not None:
391
+ self._values["maximum_instances"] = maximum_instances
392
+ if minimum_instances is not None:
393
+ self._values["minimum_instances"] = minimum_instances
394
+ if public_network_access_enabled is not None:
395
+ self._values["public_network_access_enabled"] = public_network_access_enabled
396
+ if purge_enabled is not None:
397
+ self._values["purge_enabled"] = purge_enabled
398
+ if resource_group is not None:
399
+ self._values["resource_group"] = resource_group
400
+ if sku is not None:
401
+ self._values["sku"] = sku
402
+ if streaming_ingestion_enabled is not None:
403
+ self._values["streaming_ingestion_enabled"] = streaming_ingestion_enabled
404
+ if tags is not None:
405
+ self._values["tags"] = tags
406
+
407
+ @builtins.property
408
+ def name(self) -> builtins.str:
409
+ '''The name of the Kusto Cluster to create.
410
+
411
+ Only 4-22 lowercase alphanumeric characters allowed, starting with a letter.
412
+ '''
413
+ result = self._values.get("name")
414
+ assert result is not None, "Required property 'name' is missing"
415
+ return typing.cast(builtins.str, result)
416
+
417
+ @builtins.property
418
+ def auto_stop_enabled(self) -> typing.Optional[builtins.bool]:
419
+ '''Specifies if the cluster could be automatically stopped.
420
+
421
+ (due to lack of data or no activity for many days).
422
+
423
+ :default: true
424
+ '''
425
+ result = self._values.get("auto_stop_enabled")
426
+ return typing.cast(typing.Optional[builtins.bool], result)
427
+
428
+ @builtins.property
429
+ def capacity(self) -> typing.Optional[jsii.Number]:
430
+ '''The node count for the cluster.
431
+
432
+ :default: 2
433
+ '''
434
+ result = self._values.get("capacity")
435
+ return typing.cast(typing.Optional[jsii.Number], result)
436
+
437
+ @builtins.property
438
+ def enable_zones(self) -> typing.Optional[builtins.bool]:
439
+ '''Specifies if the purge operations are enabled.
440
+
441
+ Based on the SKU, the number of zones allowed are different.
442
+
443
+ :default: true
444
+ '''
445
+ result = self._values.get("enable_zones")
446
+ return typing.cast(typing.Optional[builtins.bool], result)
447
+
448
+ @builtins.property
449
+ def identity_ids(self) -> typing.Optional[typing.List[builtins.str]]:
450
+ '''A list of User Assigned Managed Identity IDs to be assigned to this Kusto Cluster.'''
451
+ result = self._values.get("identity_ids")
452
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
453
+
454
+ @builtins.property
455
+ def identity_type(self) -> typing.Optional[builtins.str]:
456
+ '''The type of Managed Service Identity.
457
+
458
+ :default: "SystemAssigned"
459
+ '''
460
+ result = self._values.get("identity_type")
461
+ return typing.cast(typing.Optional[builtins.str], result)
462
+
463
+ @builtins.property
464
+ def maximum_instances(self) -> typing.Optional[jsii.Number]:
465
+ '''The maximum number of allowed instances.
466
+
467
+ Must between 0 and 1000.
468
+ '''
469
+ result = self._values.get("maximum_instances")
470
+ return typing.cast(typing.Optional[jsii.Number], result)
471
+
472
+ @builtins.property
473
+ def minimum_instances(self) -> typing.Optional[jsii.Number]:
474
+ '''The minimum number of allowed instances.
475
+
476
+ Must between 0 and 1000.
477
+ '''
478
+ result = self._values.get("minimum_instances")
479
+ return typing.cast(typing.Optional[jsii.Number], result)
480
+
481
+ @builtins.property
482
+ def public_network_access_enabled(self) -> typing.Optional[builtins.bool]:
483
+ '''Is the public network access enabled?
484
+
485
+ :default: true
486
+ '''
487
+ result = self._values.get("public_network_access_enabled")
488
+ return typing.cast(typing.Optional[builtins.bool], result)
489
+
490
+ @builtins.property
491
+ def purge_enabled(self) -> typing.Optional[builtins.bool]:
492
+ '''Specifies if the purge operations are enabled.
493
+
494
+ :default: false
495
+ '''
496
+ result = self._values.get("purge_enabled")
497
+ return typing.cast(typing.Optional[builtins.bool], result)
498
+
499
+ @builtins.property
500
+ def resource_group(
501
+ self,
502
+ ) -> typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup]:
503
+ '''An optional reference to the resource group in which to deploy the Kusto Cluster.
504
+
505
+ If not provided, the Kusto Cluster will be deployed in the default resource group.
506
+ '''
507
+ result = self._values.get("resource_group")
508
+ return typing.cast(typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup], result)
509
+
510
+ @builtins.property
511
+ def sku(self) -> typing.Optional["IComputeSpecification"]:
512
+ '''The SKU of the Kusto Cluster.
513
+
514
+ All the allowed values are defined in the ComputeSpecification class.
515
+
516
+ :default: devtestExtraSmallDv2
517
+ '''
518
+ result = self._values.get("sku")
519
+ return typing.cast(typing.Optional["IComputeSpecification"], result)
520
+
521
+ @builtins.property
522
+ def streaming_ingestion_enabled(self) -> typing.Optional[builtins.bool]:
523
+ '''Specifies if the streaming ingest is enabled.
524
+
525
+ :default: true
526
+ '''
527
+ result = self._values.get("streaming_ingestion_enabled")
528
+ return typing.cast(typing.Optional[builtins.bool], result)
529
+
530
+ @builtins.property
531
+ def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
532
+ '''A mapping of tags to assign to the Kusto.'''
533
+ result = self._values.get("tags")
534
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
535
+
536
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
537
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
538
+
539
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
540
+ return not (rhs == self)
541
+
542
+ def __repr__(self) -> str:
543
+ return "ClusterProps(%s)" % ", ".join(
544
+ k + "=" + repr(v) for k, v in self._values.items()
545
+ )
546
+
547
+
548
+ class ComputeSpecification(
549
+ metaclass=jsii.JSIIMeta,
550
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_kusto.ComputeSpecification",
551
+ ):
552
+ def __init__(self) -> None:
553
+ jsii.create(self.__class__, self, [])
554
+
555
+ @jsii.python.classproperty
556
+ @jsii.member(jsii_name="computeOptimizedExtraLargeStandardD32dv4")
557
+ def compute_optimized_extra_large_standard_d32dv4(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
558
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "computeOptimizedExtraLargeStandardD32dv4"))
559
+
560
+ @compute_optimized_extra_large_standard_d32dv4.setter # type: ignore[no-redef]
561
+ def compute_optimized_extra_large_standard_d32dv4(
562
+ cls,
563
+ value: "IComputeSpecification",
564
+ ) -> None:
565
+ if __debug__:
566
+ type_hints = typing.get_type_hints(_typecheckingstub__6d28bc42ddfa7643e7a57dc7b22c3b2fe40540af0fdb9672d6d903a7acbe167a)
567
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
568
+ jsii.sset(cls, "computeOptimizedExtraLargeStandardD32dv4", value)
569
+
570
+ @jsii.python.classproperty
571
+ @jsii.member(jsii_name="computeOptimizedExtraLargeStandardD32dv5")
572
+ def compute_optimized_extra_large_standard_d32dv5(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
573
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "computeOptimizedExtraLargeStandardD32dv5"))
574
+
575
+ @compute_optimized_extra_large_standard_d32dv5.setter # type: ignore[no-redef]
576
+ def compute_optimized_extra_large_standard_d32dv5(
577
+ cls,
578
+ value: "IComputeSpecification",
579
+ ) -> None:
580
+ if __debug__:
581
+ type_hints = typing.get_type_hints(_typecheckingstub__491679e1e5d5f66b6ea317330bb6e7336b7f966c7fc90c2ed8eb3234e9ac512e)
582
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
583
+ jsii.sset(cls, "computeOptimizedExtraLargeStandardD32dv5", value)
584
+
585
+ @jsii.python.classproperty
586
+ @jsii.member(jsii_name="computeOptimizedExtraSmallD11v2")
587
+ def compute_optimized_extra_small_d11v2(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
588
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "computeOptimizedExtraSmallD11v2"))
589
+
590
+ @compute_optimized_extra_small_d11v2.setter # type: ignore[no-redef]
591
+ def compute_optimized_extra_small_d11v2(
592
+ cls,
593
+ value: "IComputeSpecification",
594
+ ) -> None:
595
+ if __debug__:
596
+ type_hints = typing.get_type_hints(_typecheckingstub__77eb537362eec21ba6718412d8c3423662535771156bc61307f441ec0abb2592)
597
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
598
+ jsii.sset(cls, "computeOptimizedExtraSmallD11v2", value)
599
+
600
+ @jsii.python.classproperty
601
+ @jsii.member(jsii_name="computeOptimizedExtraSmallStandardE2adsv5")
602
+ def compute_optimized_extra_small_standard_e2adsv5(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
603
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "computeOptimizedExtraSmallStandardE2adsv5"))
604
+
605
+ @compute_optimized_extra_small_standard_e2adsv5.setter # type: ignore[no-redef]
606
+ def compute_optimized_extra_small_standard_e2adsv5(
607
+ cls,
608
+ value: "IComputeSpecification",
609
+ ) -> None:
610
+ if __debug__:
611
+ type_hints = typing.get_type_hints(_typecheckingstub__e5603ece543481c136b153a8cb27b7593b6a3f281a3ea3ca2af37dbe8d933678)
612
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
613
+ jsii.sset(cls, "computeOptimizedExtraSmallStandardE2adsv5", value)
614
+
615
+ @jsii.python.classproperty
616
+ @jsii.member(jsii_name="computeOptimizedExtraSmallStandardE2av4")
617
+ def compute_optimized_extra_small_standard_e2av4(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
618
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "computeOptimizedExtraSmallStandardE2av4"))
619
+
620
+ @compute_optimized_extra_small_standard_e2av4.setter # type: ignore[no-redef]
621
+ def compute_optimized_extra_small_standard_e2av4(
622
+ cls,
623
+ value: "IComputeSpecification",
624
+ ) -> None:
625
+ if __debug__:
626
+ type_hints = typing.get_type_hints(_typecheckingstub__500bf6f2650fa0047eb153aa94e146ef9a6aa0ee69e6e7ed46294486885fec4b)
627
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
628
+ jsii.sset(cls, "computeOptimizedExtraSmallStandardE2av4", value)
629
+
630
+ @jsii.python.classproperty
631
+ @jsii.member(jsii_name="computeOptimizedExtraSmallStandardE2dv4")
632
+ def compute_optimized_extra_small_standard_e2dv4(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
633
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "computeOptimizedExtraSmallStandardE2dv4"))
634
+
635
+ @compute_optimized_extra_small_standard_e2dv4.setter # type: ignore[no-redef]
636
+ def compute_optimized_extra_small_standard_e2dv4(
637
+ cls,
638
+ value: "IComputeSpecification",
639
+ ) -> None:
640
+ if __debug__:
641
+ type_hints = typing.get_type_hints(_typecheckingstub__145ea1ef488b37ce2baa27d5a14a83e0a4331a5a46903710a6f204e50acdfb24)
642
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
643
+ jsii.sset(cls, "computeOptimizedExtraSmallStandardE2dv4", value)
644
+
645
+ @jsii.python.classproperty
646
+ @jsii.member(jsii_name="computeOptimizedExtraSmallStandardE2dv5")
647
+ def compute_optimized_extra_small_standard_e2dv5(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
648
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "computeOptimizedExtraSmallStandardE2dv5"))
649
+
650
+ @compute_optimized_extra_small_standard_e2dv5.setter # type: ignore[no-redef]
651
+ def compute_optimized_extra_small_standard_e2dv5(
652
+ cls,
653
+ value: "IComputeSpecification",
654
+ ) -> None:
655
+ if __debug__:
656
+ type_hints = typing.get_type_hints(_typecheckingstub__83ed6772a0fedc491b2c2a8783b6bd6f5d802c6a2b6ea2b17977242710844fe1)
657
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
658
+ jsii.sset(cls, "computeOptimizedExtraSmallStandardE2dv5", value)
659
+
660
+ @jsii.python.classproperty
661
+ @jsii.member(jsii_name="computeOptimizedIsolatedStandardE64iv3")
662
+ def compute_optimized_isolated_standard_e64iv3(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
663
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "computeOptimizedIsolatedStandardE64iv3"))
664
+
665
+ @compute_optimized_isolated_standard_e64iv3.setter # type: ignore[no-redef]
666
+ def compute_optimized_isolated_standard_e64iv3(
667
+ cls,
668
+ value: "IComputeSpecification",
669
+ ) -> None:
670
+ if __debug__:
671
+ type_hints = typing.get_type_hints(_typecheckingstub__cab6dd2c47a3916511b1a080ce66a9afc74db45d5b11fbc945ef2bd489c2ec7e)
672
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
673
+ jsii.sset(cls, "computeOptimizedIsolatedStandardE64iv3", value)
674
+
675
+ @jsii.python.classproperty
676
+ @jsii.member(jsii_name="computeOptimizedIsolatedStandardE80idsv4")
677
+ def compute_optimized_isolated_standard_e80idsv4(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
678
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "computeOptimizedIsolatedStandardE80idsv4"))
679
+
680
+ @compute_optimized_isolated_standard_e80idsv4.setter # type: ignore[no-redef]
681
+ def compute_optimized_isolated_standard_e80idsv4(
682
+ cls,
683
+ value: "IComputeSpecification",
684
+ ) -> None:
685
+ if __debug__:
686
+ type_hints = typing.get_type_hints(_typecheckingstub__3beae95e3a51e99fa82cc09a79cb7896427eea2cb3afc432267560a4606e62d2)
687
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
688
+ jsii.sset(cls, "computeOptimizedIsolatedStandardE80idsv4", value)
689
+
690
+ @jsii.python.classproperty
691
+ @jsii.member(jsii_name="computeOptimizedLargeD14v2")
692
+ def compute_optimized_large_d14v2(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
693
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "computeOptimizedLargeD14v2"))
694
+
695
+ @compute_optimized_large_d14v2.setter # type: ignore[no-redef]
696
+ def compute_optimized_large_d14v2(cls, value: "IComputeSpecification") -> None:
697
+ if __debug__:
698
+ type_hints = typing.get_type_hints(_typecheckingstub__3f89ed19a43cd5ba674fbc00537182136f66729b1167b29b4ddc20a21cc112c6)
699
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
700
+ jsii.sset(cls, "computeOptimizedLargeD14v2", value)
701
+
702
+ @jsii.python.classproperty
703
+ @jsii.member(jsii_name="computeOptimizedLargeD16dv5")
704
+ def compute_optimized_large_d16dv5(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
705
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "computeOptimizedLargeD16dv5"))
706
+
707
+ @compute_optimized_large_d16dv5.setter # type: ignore[no-redef]
708
+ def compute_optimized_large_d16dv5(cls, value: "IComputeSpecification") -> None:
709
+ if __debug__:
710
+ type_hints = typing.get_type_hints(_typecheckingstub__47a147acacc66283572040d97c91a616298f5399fcaaab9b7cb60e0b014b4263)
711
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
712
+ jsii.sset(cls, "computeOptimizedLargeD16dv5", value)
713
+
714
+ @jsii.python.classproperty
715
+ @jsii.member(jsii_name="computeOptimizedLargeStandardE16adsv5")
716
+ def compute_optimized_large_standard_e16adsv5(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
717
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "computeOptimizedLargeStandardE16adsv5"))
718
+
719
+ @compute_optimized_large_standard_e16adsv5.setter # type: ignore[no-redef]
720
+ def compute_optimized_large_standard_e16adsv5(
721
+ cls,
722
+ value: "IComputeSpecification",
723
+ ) -> None:
724
+ if __debug__:
725
+ type_hints = typing.get_type_hints(_typecheckingstub__f00c54c46cc8d3c4bb4c3ae023dd28b84f42b0b1dc1cb9bdfd974cbc9d3d4e5c)
726
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
727
+ jsii.sset(cls, "computeOptimizedLargeStandardE16adsv5", value)
728
+
729
+ @jsii.python.classproperty
730
+ @jsii.member(jsii_name="computeOptimizedLargeStandardE16av4")
731
+ def compute_optimized_large_standard_e16av4(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
732
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "computeOptimizedLargeStandardE16av4"))
733
+
734
+ @compute_optimized_large_standard_e16av4.setter # type: ignore[no-redef]
735
+ def compute_optimized_large_standard_e16av4(
736
+ cls,
737
+ value: "IComputeSpecification",
738
+ ) -> None:
739
+ if __debug__:
740
+ type_hints = typing.get_type_hints(_typecheckingstub__49d336bba3f279a727be16e19551ce732a0d1f63411173852559fc8b3af8ca95)
741
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
742
+ jsii.sset(cls, "computeOptimizedLargeStandardE16av4", value)
743
+
744
+ @jsii.python.classproperty
745
+ @jsii.member(jsii_name="computeOptimizedLargeStandardE16dv4")
746
+ def compute_optimized_large_standard_e16dv4(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
747
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "computeOptimizedLargeStandardE16dv4"))
748
+
749
+ @compute_optimized_large_standard_e16dv4.setter # type: ignore[no-redef]
750
+ def compute_optimized_large_standard_e16dv4(
751
+ cls,
752
+ value: "IComputeSpecification",
753
+ ) -> None:
754
+ if __debug__:
755
+ type_hints = typing.get_type_hints(_typecheckingstub__f8ec908d799d81f3d1978c8a6d7a4127d51b62b79da69d4a464fe656cfb43577)
756
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
757
+ jsii.sset(cls, "computeOptimizedLargeStandardE16dv4", value)
758
+
759
+ @jsii.python.classproperty
760
+ @jsii.member(jsii_name="computeOptimizedLargeStandardE16dv5")
761
+ def compute_optimized_large_standard_e16dv5(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
762
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "computeOptimizedLargeStandardE16dv5"))
763
+
764
+ @compute_optimized_large_standard_e16dv5.setter # type: ignore[no-redef]
765
+ def compute_optimized_large_standard_e16dv5(
766
+ cls,
767
+ value: "IComputeSpecification",
768
+ ) -> None:
769
+ if __debug__:
770
+ type_hints = typing.get_type_hints(_typecheckingstub__6cc0245c04e66c0a1c1610c2e808cb7ba55fc64adf0434fd6fd3ec0d34646bad)
771
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
772
+ jsii.sset(cls, "computeOptimizedLargeStandardE16dv5", value)
773
+
774
+ @jsii.python.classproperty
775
+ @jsii.member(jsii_name="computeOptimizedMediumD13v2")
776
+ def compute_optimized_medium_d13v2(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
777
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "computeOptimizedMediumD13v2"))
778
+
779
+ @compute_optimized_medium_d13v2.setter # type: ignore[no-redef]
780
+ def compute_optimized_medium_d13v2(cls, value: "IComputeSpecification") -> None:
781
+ if __debug__:
782
+ type_hints = typing.get_type_hints(_typecheckingstub__84328743cdc1fd43f3521b372c47364148ce7bee1d58f325ae6c20b305550f24)
783
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
784
+ jsii.sset(cls, "computeOptimizedMediumD13v2", value)
785
+
786
+ @jsii.python.classproperty
787
+ @jsii.member(jsii_name="computeOptimizedMediumStandardE8adsv5")
788
+ def compute_optimized_medium_standard_e8adsv5(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
789
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "computeOptimizedMediumStandardE8adsv5"))
790
+
791
+ @compute_optimized_medium_standard_e8adsv5.setter # type: ignore[no-redef]
792
+ def compute_optimized_medium_standard_e8adsv5(
793
+ cls,
794
+ value: "IComputeSpecification",
795
+ ) -> None:
796
+ if __debug__:
797
+ type_hints = typing.get_type_hints(_typecheckingstub__62a9488a15813bd82155aefa8ca8ec90103bac9070f8be44814ea00f4b1c4caa)
798
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
799
+ jsii.sset(cls, "computeOptimizedMediumStandardE8adsv5", value)
800
+
801
+ @jsii.python.classproperty
802
+ @jsii.member(jsii_name="computeOptimizedMediumStandardE8av4")
803
+ def compute_optimized_medium_standard_e8av4(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
804
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "computeOptimizedMediumStandardE8av4"))
805
+
806
+ @compute_optimized_medium_standard_e8av4.setter # type: ignore[no-redef]
807
+ def compute_optimized_medium_standard_e8av4(
808
+ cls,
809
+ value: "IComputeSpecification",
810
+ ) -> None:
811
+ if __debug__:
812
+ type_hints = typing.get_type_hints(_typecheckingstub__b0f9c5848183743c4eae1801a1811bacd51f05e81a3fa652c4909862a261f421)
813
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
814
+ jsii.sset(cls, "computeOptimizedMediumStandardE8av4", value)
815
+
816
+ @jsii.python.classproperty
817
+ @jsii.member(jsii_name="computeOptimizedMediumStandardE8dv4")
818
+ def compute_optimized_medium_standard_e8dv4(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
819
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "computeOptimizedMediumStandardE8dv4"))
820
+
821
+ @compute_optimized_medium_standard_e8dv4.setter # type: ignore[no-redef]
822
+ def compute_optimized_medium_standard_e8dv4(
823
+ cls,
824
+ value: "IComputeSpecification",
825
+ ) -> None:
826
+ if __debug__:
827
+ type_hints = typing.get_type_hints(_typecheckingstub__33098d3662c412b5f20e8629e47494f7404eb182c1a5e19ea557259bf1c68523)
828
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
829
+ jsii.sset(cls, "computeOptimizedMediumStandardE8dv4", value)
830
+
831
+ @jsii.python.classproperty
832
+ @jsii.member(jsii_name="computeOptimizedMediumStandardE8dv5")
833
+ def compute_optimized_medium_standard_e8dv5(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
834
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "computeOptimizedMediumStandardE8dv5"))
835
+
836
+ @compute_optimized_medium_standard_e8dv5.setter # type: ignore[no-redef]
837
+ def compute_optimized_medium_standard_e8dv5(
838
+ cls,
839
+ value: "IComputeSpecification",
840
+ ) -> None:
841
+ if __debug__:
842
+ type_hints = typing.get_type_hints(_typecheckingstub__8bbdc7dda046321c937d1b316fe355857857c56591d6720244638772f3220796)
843
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
844
+ jsii.sset(cls, "computeOptimizedMediumStandardE8dv5", value)
845
+
846
+ @jsii.python.classproperty
847
+ @jsii.member(jsii_name="computeOptimizedSmallD12v2")
848
+ def compute_optimized_small_d12v2(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
849
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "computeOptimizedSmallD12v2"))
850
+
851
+ @compute_optimized_small_d12v2.setter # type: ignore[no-redef]
852
+ def compute_optimized_small_d12v2(cls, value: "IComputeSpecification") -> None:
853
+ if __debug__:
854
+ type_hints = typing.get_type_hints(_typecheckingstub__d753371995aedbeef0609fc7cc491932858c1c265b720b2424448ac3985ba3f8)
855
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
856
+ jsii.sset(cls, "computeOptimizedSmallD12v2", value)
857
+
858
+ @jsii.python.classproperty
859
+ @jsii.member(jsii_name="computeOptimizedSmallStandardE4adsv5")
860
+ def compute_optimized_small_standard_e4adsv5(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
861
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "computeOptimizedSmallStandardE4adsv5"))
862
+
863
+ @compute_optimized_small_standard_e4adsv5.setter # type: ignore[no-redef]
864
+ def compute_optimized_small_standard_e4adsv5(
865
+ cls,
866
+ value: "IComputeSpecification",
867
+ ) -> None:
868
+ if __debug__:
869
+ type_hints = typing.get_type_hints(_typecheckingstub__554870a2811a35dc1db9ef6f31f48036973e53caf7567005112037252c773d24)
870
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
871
+ jsii.sset(cls, "computeOptimizedSmallStandardE4adsv5", value)
872
+
873
+ @jsii.python.classproperty
874
+ @jsii.member(jsii_name="computeOptimizedSmallStandardE4av4")
875
+ def compute_optimized_small_standard_e4av4(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
876
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "computeOptimizedSmallStandardE4av4"))
877
+
878
+ @compute_optimized_small_standard_e4av4.setter # type: ignore[no-redef]
879
+ def compute_optimized_small_standard_e4av4(
880
+ cls,
881
+ value: "IComputeSpecification",
882
+ ) -> None:
883
+ if __debug__:
884
+ type_hints = typing.get_type_hints(_typecheckingstub__571a041fdbe0f711ebdc4c2c1fa60f092cf4cf47c42636604deccf45a06ec475)
885
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
886
+ jsii.sset(cls, "computeOptimizedSmallStandardE4av4", value)
887
+
888
+ @jsii.python.classproperty
889
+ @jsii.member(jsii_name="computeOptimizedSmallStandardE4dv4")
890
+ def compute_optimized_small_standard_e4dv4(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
891
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "computeOptimizedSmallStandardE4dv4"))
892
+
893
+ @compute_optimized_small_standard_e4dv4.setter # type: ignore[no-redef]
894
+ def compute_optimized_small_standard_e4dv4(
895
+ cls,
896
+ value: "IComputeSpecification",
897
+ ) -> None:
898
+ if __debug__:
899
+ type_hints = typing.get_type_hints(_typecheckingstub__5c53821b5360e6975719bdb3665dd34cbfedee0c16aa2a459fe32f490067ca3b)
900
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
901
+ jsii.sset(cls, "computeOptimizedSmallStandardE4dv4", value)
902
+
903
+ @jsii.python.classproperty
904
+ @jsii.member(jsii_name="computeOptimizedSmallStandardE4dv5")
905
+ def compute_optimized_small_standard_e4dv5(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
906
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "computeOptimizedSmallStandardE4dv5"))
907
+
908
+ @compute_optimized_small_standard_e4dv5.setter # type: ignore[no-redef]
909
+ def compute_optimized_small_standard_e4dv5(
910
+ cls,
911
+ value: "IComputeSpecification",
912
+ ) -> None:
913
+ if __debug__:
914
+ type_hints = typing.get_type_hints(_typecheckingstub__f5e9b81f5d5e46f253dcf8e81417a6f2ef2d448bbd12de7b5699f32e0f848522)
915
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
916
+ jsii.sset(cls, "computeOptimizedSmallStandardE4dv5", value)
917
+
918
+ @jsii.python.classproperty
919
+ @jsii.member(jsii_name="devtestExtraSmallDv2")
920
+ def devtest_extra_small_dv2(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
921
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "devtestExtraSmallDv2"))
922
+
923
+ @devtest_extra_small_dv2.setter # type: ignore[no-redef]
924
+ def devtest_extra_small_dv2(cls, value: "IComputeSpecification") -> None:
925
+ if __debug__:
926
+ type_hints = typing.get_type_hints(_typecheckingstub__87aeefe6880ea065d18a136ef053b6f3ffe4a7234ab7e31cf756fb794b873ede)
927
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
928
+ jsii.sset(cls, "devtestExtraSmallDv2", value)
929
+
930
+ @jsii.python.classproperty
931
+ @jsii.member(jsii_name="devtestExtraSmallEav4")
932
+ def devtest_extra_small_eav4(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
933
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "devtestExtraSmallEav4"))
934
+
935
+ @devtest_extra_small_eav4.setter # type: ignore[no-redef]
936
+ def devtest_extra_small_eav4(cls, value: "IComputeSpecification") -> None:
937
+ if __debug__:
938
+ type_hints = typing.get_type_hints(_typecheckingstub__1b1a7acb1f01bdc158a9f07c2854e5bdca659fcfbaee627fa617dc6f351b6c0d)
939
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
940
+ jsii.sset(cls, "devtestExtraSmallEav4", value)
941
+
942
+ @jsii.python.classproperty
943
+ @jsii.member(jsii_name="standardE16asv44TBPS")
944
+ def standard_e16asv44_tbps(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
945
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "standardE16asv44TBPS"))
946
+
947
+ @standard_e16asv44_tbps.setter # type: ignore[no-redef]
948
+ def standard_e16asv44_tbps(cls, value: "IComputeSpecification") -> None:
949
+ if __debug__:
950
+ type_hints = typing.get_type_hints(_typecheckingstub__5981d4cbfc0a70693c4660d945c36f8bed554fe4af0d988befc8ef1c5503e8e7)
951
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
952
+ jsii.sset(cls, "standardE16asv44TBPS", value)
953
+
954
+ @jsii.python.classproperty
955
+ @jsii.member(jsii_name="standardE16sv54TBPS")
956
+ def standard_e16sv54_tbps(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
957
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "standardE16sv54TBPS"))
958
+
959
+ @standard_e16sv54_tbps.setter # type: ignore[no-redef]
960
+ def standard_e16sv54_tbps(cls, value: "IComputeSpecification") -> None:
961
+ if __debug__:
962
+ type_hints = typing.get_type_hints(_typecheckingstub__ec1839e4a4e2396aa56ecd5e8fd75a2db036c3eb450e652b0d625c977bdc3f7d)
963
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
964
+ jsii.sset(cls, "standardE16sv54TBPS", value)
965
+
966
+ @jsii.python.classproperty
967
+ @jsii.member(jsii_name="storageOptimizedExtraLargeStandardL32asv3")
968
+ def storage_optimized_extra_large_standard_l32asv3(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
969
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "storageOptimizedExtraLargeStandardL32asv3"))
970
+
971
+ @storage_optimized_extra_large_standard_l32asv3.setter # type: ignore[no-redef]
972
+ def storage_optimized_extra_large_standard_l32asv3(
973
+ cls,
974
+ value: "IComputeSpecification",
975
+ ) -> None:
976
+ if __debug__:
977
+ type_hints = typing.get_type_hints(_typecheckingstub__d2367e2a40bbb41fdb6f058328ce4a7a16b004feb68f343eee5cccd0c1c82f95)
978
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
979
+ jsii.sset(cls, "storageOptimizedExtraLargeStandardL32asv3", value)
980
+
981
+ @jsii.python.classproperty
982
+ @jsii.member(jsii_name="storageOptimizedExtraLargeStandardL32sv3")
983
+ def storage_optimized_extra_large_standard_l32sv3(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
984
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "storageOptimizedExtraLargeStandardL32sv3"))
985
+
986
+ @storage_optimized_extra_large_standard_l32sv3.setter # type: ignore[no-redef]
987
+ def storage_optimized_extra_large_standard_l32sv3(
988
+ cls,
989
+ value: "IComputeSpecification",
990
+ ) -> None:
991
+ if __debug__:
992
+ type_hints = typing.get_type_hints(_typecheckingstub__60020ae4d74146b9139e0560bec93d3a5751d3311c70154df24f76e59ce5cff0)
993
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
994
+ jsii.sset(cls, "storageOptimizedExtraLargeStandardL32sv3", value)
995
+
996
+ @jsii.python.classproperty
997
+ @jsii.member(jsii_name="storageOptimizedLargeStandardDS14v24TBPS")
998
+ def storage_optimized_large_standard_ds14v24_tbps(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
999
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "storageOptimizedLargeStandardDS14v24TBPS"))
1000
+
1001
+ @storage_optimized_large_standard_ds14v24_tbps.setter # type: ignore[no-redef]
1002
+ def storage_optimized_large_standard_ds14v24_tbps(
1003
+ cls,
1004
+ value: "IComputeSpecification",
1005
+ ) -> None:
1006
+ if __debug__:
1007
+ type_hints = typing.get_type_hints(_typecheckingstub__9fe3355c57400165db03f7cff46c3b336ce73cec0811ae3271132adac3a6511c)
1008
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1009
+ jsii.sset(cls, "storageOptimizedLargeStandardDS14v24TBPS", value)
1010
+
1011
+ @jsii.python.classproperty
1012
+ @jsii.member(jsii_name="storageOptimizedLargeStandardE16asv43TBPS")
1013
+ def storage_optimized_large_standard_e16asv43_tbps(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
1014
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "storageOptimizedLargeStandardE16asv43TBPS"))
1015
+
1016
+ @storage_optimized_large_standard_e16asv43_tbps.setter # type: ignore[no-redef]
1017
+ def storage_optimized_large_standard_e16asv43_tbps(
1018
+ cls,
1019
+ value: "IComputeSpecification",
1020
+ ) -> None:
1021
+ if __debug__:
1022
+ type_hints = typing.get_type_hints(_typecheckingstub__605058e16727233c893056961190acce813905a53361f2b424a06e374d0149cc)
1023
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1024
+ jsii.sset(cls, "storageOptimizedLargeStandardE16asv43TBPS", value)
1025
+
1026
+ @jsii.python.classproperty
1027
+ @jsii.member(jsii_name="storageOptimizedLargeStandardE16asv53TBPS")
1028
+ def storage_optimized_large_standard_e16asv53_tbps(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
1029
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "storageOptimizedLargeStandardE16asv53TBPS"))
1030
+
1031
+ @storage_optimized_large_standard_e16asv53_tbps.setter # type: ignore[no-redef]
1032
+ def storage_optimized_large_standard_e16asv53_tbps(
1033
+ cls,
1034
+ value: "IComputeSpecification",
1035
+ ) -> None:
1036
+ if __debug__:
1037
+ type_hints = typing.get_type_hints(_typecheckingstub__dfacb476c4c817150590d0cef83dadd51fd2ae503b2f60bb76b0f3ffc00974ba)
1038
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1039
+ jsii.sset(cls, "storageOptimizedLargeStandardE16asv53TBPS", value)
1040
+
1041
+ @jsii.python.classproperty
1042
+ @jsii.member(jsii_name="storageOptimizedLargeStandardE16asv54TBPS")
1043
+ def storage_optimized_large_standard_e16asv54_tbps(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
1044
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "storageOptimizedLargeStandardE16asv54TBPS"))
1045
+
1046
+ @storage_optimized_large_standard_e16asv54_tbps.setter # type: ignore[no-redef]
1047
+ def storage_optimized_large_standard_e16asv54_tbps(
1048
+ cls,
1049
+ value: "IComputeSpecification",
1050
+ ) -> None:
1051
+ if __debug__:
1052
+ type_hints = typing.get_type_hints(_typecheckingstub__6804badc2b1b15759763228696b72b565144f2c35dd7d6833f221e129dcc67ef)
1053
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1054
+ jsii.sset(cls, "storageOptimizedLargeStandardE16asv54TBPS", value)
1055
+
1056
+ @jsii.python.classproperty
1057
+ @jsii.member(jsii_name="storageOptimizedLargeStandardE16sv43TBPS")
1058
+ def storage_optimized_large_standard_e16sv43_tbps(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
1059
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "storageOptimizedLargeStandardE16sv43TBPS"))
1060
+
1061
+ @storage_optimized_large_standard_e16sv43_tbps.setter # type: ignore[no-redef]
1062
+ def storage_optimized_large_standard_e16sv43_tbps(
1063
+ cls,
1064
+ value: "IComputeSpecification",
1065
+ ) -> None:
1066
+ if __debug__:
1067
+ type_hints = typing.get_type_hints(_typecheckingstub__273fedecc160c301dcd5a4b666175e5994e547fb07231e1a3a6af194be264a9b)
1068
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1069
+ jsii.sset(cls, "storageOptimizedLargeStandardE16sv43TBPS", value)
1070
+
1071
+ @jsii.python.classproperty
1072
+ @jsii.member(jsii_name="storageOptimizedLargeStandardE16sv44TBPS")
1073
+ def storage_optimized_large_standard_e16sv44_tbps(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
1074
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "storageOptimizedLargeStandardE16sv44TBPS"))
1075
+
1076
+ @storage_optimized_large_standard_e16sv44_tbps.setter # type: ignore[no-redef]
1077
+ def storage_optimized_large_standard_e16sv44_tbps(
1078
+ cls,
1079
+ value: "IComputeSpecification",
1080
+ ) -> None:
1081
+ if __debug__:
1082
+ type_hints = typing.get_type_hints(_typecheckingstub__3a5cb7e4bb806ffecd608d3d1fd015be553de0fbe38f487979725d7b982d6492)
1083
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1084
+ jsii.sset(cls, "storageOptimizedLargeStandardE16sv44TBPS", value)
1085
+
1086
+ @jsii.python.classproperty
1087
+ @jsii.member(jsii_name="storageOptimizedLargeStandardEC16adsv5")
1088
+ def storage_optimized_large_standard_ec16adsv5(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
1089
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "storageOptimizedLargeStandardEC16adsv5"))
1090
+
1091
+ @storage_optimized_large_standard_ec16adsv5.setter # type: ignore[no-redef]
1092
+ def storage_optimized_large_standard_ec16adsv5(
1093
+ cls,
1094
+ value: "IComputeSpecification",
1095
+ ) -> None:
1096
+ if __debug__:
1097
+ type_hints = typing.get_type_hints(_typecheckingstub__cbc8cfeb76e5a834c6bff4768f7e44f416d5cd1da849976bb9384e3cd0c9b48a)
1098
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1099
+ jsii.sset(cls, "storageOptimizedLargeStandardEC16adsv5", value)
1100
+
1101
+ @jsii.python.classproperty
1102
+ @jsii.member(jsii_name="storageOptimizedLargeStandardEC16asv53TBPS")
1103
+ def storage_optimized_large_standard_ec16asv53_tbps(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
1104
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "storageOptimizedLargeStandardEC16asv53TBPS"))
1105
+
1106
+ @storage_optimized_large_standard_ec16asv53_tbps.setter # type: ignore[no-redef]
1107
+ def storage_optimized_large_standard_ec16asv53_tbps(
1108
+ cls,
1109
+ value: "IComputeSpecification",
1110
+ ) -> None:
1111
+ if __debug__:
1112
+ type_hints = typing.get_type_hints(_typecheckingstub__8c3b1cf5e578256da17f5e4d172d7cfec965c42b83a293430e0728065b2b5987)
1113
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1114
+ jsii.sset(cls, "storageOptimizedLargeStandardEC16asv53TBPS", value)
1115
+
1116
+ @jsii.python.classproperty
1117
+ @jsii.member(jsii_name="storageOptimizedLargeStandardEC16asv54TBPS")
1118
+ def storage_optimized_large_standard_ec16asv54_tbps(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
1119
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "storageOptimizedLargeStandardEC16asv54TBPS"))
1120
+
1121
+ @storage_optimized_large_standard_ec16asv54_tbps.setter # type: ignore[no-redef]
1122
+ def storage_optimized_large_standard_ec16asv54_tbps(
1123
+ cls,
1124
+ value: "IComputeSpecification",
1125
+ ) -> None:
1126
+ if __debug__:
1127
+ type_hints = typing.get_type_hints(_typecheckingstub__698f243198e7e4605368bf6e63564011b34b95f5b1cfcb05b7607ab4f5d73db4)
1128
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1129
+ jsii.sset(cls, "storageOptimizedLargeStandardEC16asv54TBPS", value)
1130
+
1131
+ @jsii.python.classproperty
1132
+ @jsii.member(jsii_name="storageOptimizedLargeStandardL16asv3")
1133
+ def storage_optimized_large_standard_l16asv3(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
1134
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "storageOptimizedLargeStandardL16asv3"))
1135
+
1136
+ @storage_optimized_large_standard_l16asv3.setter # type: ignore[no-redef]
1137
+ def storage_optimized_large_standard_l16asv3(
1138
+ cls,
1139
+ value: "IComputeSpecification",
1140
+ ) -> None:
1141
+ if __debug__:
1142
+ type_hints = typing.get_type_hints(_typecheckingstub__fe3a464457225e9a181eb1b38742358464b14a345665ed233d1b8c92a98e3eb4)
1143
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1144
+ jsii.sset(cls, "storageOptimizedLargeStandardL16asv3", value)
1145
+
1146
+ @jsii.python.classproperty
1147
+ @jsii.member(jsii_name="storageOptimizedLargeStandardL16sv3")
1148
+ def storage_optimized_large_standard_l16sv3(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
1149
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "storageOptimizedLargeStandardL16sv3"))
1150
+
1151
+ @storage_optimized_large_standard_l16sv3.setter # type: ignore[no-redef]
1152
+ def storage_optimized_large_standard_l16sv3(
1153
+ cls,
1154
+ value: "IComputeSpecification",
1155
+ ) -> None:
1156
+ if __debug__:
1157
+ type_hints = typing.get_type_hints(_typecheckingstub__cdec81cb897f3759e538f754b107dfee96a01862fa921b4c6fb67439e3db9bfd)
1158
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1159
+ jsii.sset(cls, "storageOptimizedLargeStandardL16sv3", value)
1160
+
1161
+ @jsii.python.classproperty
1162
+ @jsii.member(jsii_name="storageOptimizedLargestorageOptimizedLargeStandardE16sv53TBPS")
1163
+ def storage_optimized_largestorage_optimized_large_standard_e16sv53_tbps(
1164
+ cls,
1165
+ ) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
1166
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "storageOptimizedLargestorageOptimizedLargeStandardE16sv53TBPS"))
1167
+
1168
+ @storage_optimized_largestorage_optimized_large_standard_e16sv53_tbps.setter # type: ignore[no-redef]
1169
+ def storage_optimized_largestorage_optimized_large_standard_e16sv53_tbps(
1170
+ cls,
1171
+ value: "IComputeSpecification",
1172
+ ) -> None:
1173
+ if __debug__:
1174
+ type_hints = typing.get_type_hints(_typecheckingstub__e3b43b80db7d343882627adf5d0664dc253a58941c2855927ba16d0dab122bbe)
1175
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1176
+ jsii.sset(cls, "storageOptimizedLargestorageOptimizedLargeStandardE16sv53TBPS", value)
1177
+
1178
+ @jsii.python.classproperty
1179
+ @jsii.member(jsii_name="storageOptimizedMediumSStandardE8sv41TBPS")
1180
+ def storage_optimized_medium_s_standard_e8sv41_tbps(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
1181
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "storageOptimizedMediumSStandardE8sv41TBPS"))
1182
+
1183
+ @storage_optimized_medium_s_standard_e8sv41_tbps.setter # type: ignore[no-redef]
1184
+ def storage_optimized_medium_s_standard_e8sv41_tbps(
1185
+ cls,
1186
+ value: "IComputeSpecification",
1187
+ ) -> None:
1188
+ if __debug__:
1189
+ type_hints = typing.get_type_hints(_typecheckingstub__7bda2ae2cf299e55b4bb97e0b4b451b9f166d5796bff0af08d9fba7ea08b3114)
1190
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1191
+ jsii.sset(cls, "storageOptimizedMediumSStandardE8sv41TBPS", value)
1192
+
1193
+ @jsii.python.classproperty
1194
+ @jsii.member(jsii_name="storageOptimizedMediumStandardDS13v21TBPS")
1195
+ def storage_optimized_medium_standard_ds13v21_tbps(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
1196
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "storageOptimizedMediumStandardDS13v21TBPS"))
1197
+
1198
+ @storage_optimized_medium_standard_ds13v21_tbps.setter # type: ignore[no-redef]
1199
+ def storage_optimized_medium_standard_ds13v21_tbps(
1200
+ cls,
1201
+ value: "IComputeSpecification",
1202
+ ) -> None:
1203
+ if __debug__:
1204
+ type_hints = typing.get_type_hints(_typecheckingstub__420d1f4d49d5cf46fd19b370aa26ecfaa5614d23fbace9d92fc1ecd4b3c00ac2)
1205
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1206
+ jsii.sset(cls, "storageOptimizedMediumStandardDS13v21TBPS", value)
1207
+
1208
+ @jsii.python.classproperty
1209
+ @jsii.member(jsii_name="storageOptimizedMediumStandardDS13v22TBPS")
1210
+ def storage_optimized_medium_standard_ds13v22_tbps(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
1211
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "storageOptimizedMediumStandardDS13v22TBPS"))
1212
+
1213
+ @storage_optimized_medium_standard_ds13v22_tbps.setter # type: ignore[no-redef]
1214
+ def storage_optimized_medium_standard_ds13v22_tbps(
1215
+ cls,
1216
+ value: "IComputeSpecification",
1217
+ ) -> None:
1218
+ if __debug__:
1219
+ type_hints = typing.get_type_hints(_typecheckingstub__359a79b6f609df14594fd41f433c9701420d5b544ee358d2b594b24855f457a3)
1220
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1221
+ jsii.sset(cls, "storageOptimizedMediumStandardDS13v22TBPS", value)
1222
+
1223
+ @jsii.python.classproperty
1224
+ @jsii.member(jsii_name="storageOptimizedMediumStandardE8asv41TBPS")
1225
+ def storage_optimized_medium_standard_e8asv41_tbps(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
1226
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "storageOptimizedMediumStandardE8asv41TBPS"))
1227
+
1228
+ @storage_optimized_medium_standard_e8asv41_tbps.setter # type: ignore[no-redef]
1229
+ def storage_optimized_medium_standard_e8asv41_tbps(
1230
+ cls,
1231
+ value: "IComputeSpecification",
1232
+ ) -> None:
1233
+ if __debug__:
1234
+ type_hints = typing.get_type_hints(_typecheckingstub__c62c82459dcdc9fe710371a7d54a2471a21e0ec21a1b1550ada4192d9ecc0969)
1235
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1236
+ jsii.sset(cls, "storageOptimizedMediumStandardE8asv41TBPS", value)
1237
+
1238
+ @jsii.python.classproperty
1239
+ @jsii.member(jsii_name="storageOptimizedMediumStandardE8asv42TBPS")
1240
+ def storage_optimized_medium_standard_e8asv42_tbps(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
1241
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "storageOptimizedMediumStandardE8asv42TBPS"))
1242
+
1243
+ @storage_optimized_medium_standard_e8asv42_tbps.setter # type: ignore[no-redef]
1244
+ def storage_optimized_medium_standard_e8asv42_tbps(
1245
+ cls,
1246
+ value: "IComputeSpecification",
1247
+ ) -> None:
1248
+ if __debug__:
1249
+ type_hints = typing.get_type_hints(_typecheckingstub__44ecd5be5a18a5658ea782612ad64d06b4d60b13f1c430f1cd96c34e9d28f37d)
1250
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1251
+ jsii.sset(cls, "storageOptimizedMediumStandardE8asv42TBPS", value)
1252
+
1253
+ @jsii.python.classproperty
1254
+ @jsii.member(jsii_name="storageOptimizedMediumStandardE8asv51TBPS")
1255
+ def storage_optimized_medium_standard_e8asv51_tbps(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
1256
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "storageOptimizedMediumStandardE8asv51TBPS"))
1257
+
1258
+ @storage_optimized_medium_standard_e8asv51_tbps.setter # type: ignore[no-redef]
1259
+ def storage_optimized_medium_standard_e8asv51_tbps(
1260
+ cls,
1261
+ value: "IComputeSpecification",
1262
+ ) -> None:
1263
+ if __debug__:
1264
+ type_hints = typing.get_type_hints(_typecheckingstub__e09b2c675d2077bfce0647633b98e3f3e78c1f775ebc6c6a8799d8f651fdb3dc)
1265
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1266
+ jsii.sset(cls, "storageOptimizedMediumStandardE8asv51TBPS", value)
1267
+
1268
+ @jsii.python.classproperty
1269
+ @jsii.member(jsii_name="storageOptimizedMediumStandardE8asv52TBPS")
1270
+ def storage_optimized_medium_standard_e8asv52_tbps(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
1271
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "storageOptimizedMediumStandardE8asv52TBPS"))
1272
+
1273
+ @storage_optimized_medium_standard_e8asv52_tbps.setter # type: ignore[no-redef]
1274
+ def storage_optimized_medium_standard_e8asv52_tbps(
1275
+ cls,
1276
+ value: "IComputeSpecification",
1277
+ ) -> None:
1278
+ if __debug__:
1279
+ type_hints = typing.get_type_hints(_typecheckingstub__661d71792710b5855c4165f31e9f042b74ea64876d2449146e6e21e260a8bbb3)
1280
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1281
+ jsii.sset(cls, "storageOptimizedMediumStandardE8asv52TBPS", value)
1282
+
1283
+ @jsii.python.classproperty
1284
+ @jsii.member(jsii_name="storageOptimizedMediumStandardE8sv42TBPS")
1285
+ def storage_optimized_medium_standard_e8sv42_tbps(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
1286
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "storageOptimizedMediumStandardE8sv42TBPS"))
1287
+
1288
+ @storage_optimized_medium_standard_e8sv42_tbps.setter # type: ignore[no-redef]
1289
+ def storage_optimized_medium_standard_e8sv42_tbps(
1290
+ cls,
1291
+ value: "IComputeSpecification",
1292
+ ) -> None:
1293
+ if __debug__:
1294
+ type_hints = typing.get_type_hints(_typecheckingstub__79878b4a4ce2a2645dd737112c517c6a16213a899a7c74005ff4c368b59866ff)
1295
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1296
+ jsii.sset(cls, "storageOptimizedMediumStandardE8sv42TBPS", value)
1297
+
1298
+ @jsii.python.classproperty
1299
+ @jsii.member(jsii_name="storageOptimizedMediumStandardE8sv51TBPS")
1300
+ def storage_optimized_medium_standard_e8sv51_tbps(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
1301
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "storageOptimizedMediumStandardE8sv51TBPS"))
1302
+
1303
+ @storage_optimized_medium_standard_e8sv51_tbps.setter # type: ignore[no-redef]
1304
+ def storage_optimized_medium_standard_e8sv51_tbps(
1305
+ cls,
1306
+ value: "IComputeSpecification",
1307
+ ) -> None:
1308
+ if __debug__:
1309
+ type_hints = typing.get_type_hints(_typecheckingstub__cd579726c203b204dfe6348e1de12469592523536ccbcc67c1cd99eaae9a10bf)
1310
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1311
+ jsii.sset(cls, "storageOptimizedMediumStandardE8sv51TBPS", value)
1312
+
1313
+ @jsii.python.classproperty
1314
+ @jsii.member(jsii_name="storageOptimizedMediumStandardE8sv52TBPS")
1315
+ def storage_optimized_medium_standard_e8sv52_tbps(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
1316
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "storageOptimizedMediumStandardE8sv52TBPS"))
1317
+
1318
+ @storage_optimized_medium_standard_e8sv52_tbps.setter # type: ignore[no-redef]
1319
+ def storage_optimized_medium_standard_e8sv52_tbps(
1320
+ cls,
1321
+ value: "IComputeSpecification",
1322
+ ) -> None:
1323
+ if __debug__:
1324
+ type_hints = typing.get_type_hints(_typecheckingstub__fde24ac4875b4011de2aaee9afbdf2e945d3d754b7299b9a1d480c4389715660)
1325
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1326
+ jsii.sset(cls, "storageOptimizedMediumStandardE8sv52TBPS", value)
1327
+
1328
+ @jsii.python.classproperty
1329
+ @jsii.member(jsii_name="storageOptimizedMediumStandardEC8adsv5")
1330
+ def storage_optimized_medium_standard_ec8adsv5(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
1331
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "storageOptimizedMediumStandardEC8adsv5"))
1332
+
1333
+ @storage_optimized_medium_standard_ec8adsv5.setter # type: ignore[no-redef]
1334
+ def storage_optimized_medium_standard_ec8adsv5(
1335
+ cls,
1336
+ value: "IComputeSpecification",
1337
+ ) -> None:
1338
+ if __debug__:
1339
+ type_hints = typing.get_type_hints(_typecheckingstub__66130241f740346fab5d6d15b4968c0e847f98f8d1aadc0ce857212dbf902ba6)
1340
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1341
+ jsii.sset(cls, "storageOptimizedMediumStandardEC8adsv5", value)
1342
+
1343
+ @jsii.python.classproperty
1344
+ @jsii.member(jsii_name="storageOptimizedMediumStandardEC8asv51TBPS")
1345
+ def storage_optimized_medium_standard_ec8asv51_tbps(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
1346
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "storageOptimizedMediumStandardEC8asv51TBPS"))
1347
+
1348
+ @storage_optimized_medium_standard_ec8asv51_tbps.setter # type: ignore[no-redef]
1349
+ def storage_optimized_medium_standard_ec8asv51_tbps(
1350
+ cls,
1351
+ value: "IComputeSpecification",
1352
+ ) -> None:
1353
+ if __debug__:
1354
+ type_hints = typing.get_type_hints(_typecheckingstub__406614a6d8937c8fd51c5c7344cae3d4034d16619cc829e05579cfc38cc1ffa0)
1355
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1356
+ jsii.sset(cls, "storageOptimizedMediumStandardEC8asv51TBPS", value)
1357
+
1358
+ @jsii.python.classproperty
1359
+ @jsii.member(jsii_name="storageOptimizedMediumStandardEC8asv52TBPS")
1360
+ def storage_optimized_medium_standard_ec8asv52_tbps(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
1361
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "storageOptimizedMediumStandardEC8asv52TBPS"))
1362
+
1363
+ @storage_optimized_medium_standard_ec8asv52_tbps.setter # type: ignore[no-redef]
1364
+ def storage_optimized_medium_standard_ec8asv52_tbps(
1365
+ cls,
1366
+ value: "IComputeSpecification",
1367
+ ) -> None:
1368
+ if __debug__:
1369
+ type_hints = typing.get_type_hints(_typecheckingstub__029897ed5e97b19845a843000c84f1d5ee4db6c27019cf57353cd64297f54b74)
1370
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1371
+ jsii.sset(cls, "storageOptimizedMediumStandardEC8asv52TBPS", value)
1372
+
1373
+ @jsii.python.classproperty
1374
+ @jsii.member(jsii_name="storageOptimizedMediumStandardL8asv3")
1375
+ def storage_optimized_medium_standard_l8asv3(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
1376
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "storageOptimizedMediumStandardL8asv3"))
1377
+
1378
+ @storage_optimized_medium_standard_l8asv3.setter # type: ignore[no-redef]
1379
+ def storage_optimized_medium_standard_l8asv3(
1380
+ cls,
1381
+ value: "IComputeSpecification",
1382
+ ) -> None:
1383
+ if __debug__:
1384
+ type_hints = typing.get_type_hints(_typecheckingstub__b67e2923606639ec84c6669011a135485ceb89a98b86dcc9e6b519118dc48cdf)
1385
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1386
+ jsii.sset(cls, "storageOptimizedMediumStandardL8asv3", value)
1387
+
1388
+ @jsii.python.classproperty
1389
+ @jsii.member(jsii_name="storageOptimizedMediumStandardL8sv3")
1390
+ def storage_optimized_medium_standard_l8sv3(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
1391
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "storageOptimizedMediumStandardL8sv3"))
1392
+
1393
+ @storage_optimized_medium_standard_l8sv3.setter # type: ignore[no-redef]
1394
+ def storage_optimized_medium_standard_l8sv3(
1395
+ cls,
1396
+ value: "IComputeSpecification",
1397
+ ) -> None:
1398
+ if __debug__:
1399
+ type_hints = typing.get_type_hints(_typecheckingstub__f0eafa0040198c4d9e61b08dad813396d4af8595389f11675fd02c1765b2c18c)
1400
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1401
+ jsii.sset(cls, "storageOptimizedMediumStandardL8sv3", value)
1402
+
1403
+ @jsii.python.classproperty
1404
+ @jsii.member(jsii_name="storageOptimizedStandardDS14v23TBPS")
1405
+ def storage_optimized_standard_ds14v23_tbps(cls) -> "IComputeSpecification": # pyright: ignore [reportGeneralTypeIssues]
1406
+ return typing.cast("IComputeSpecification", jsii.sget(cls, "storageOptimizedStandardDS14v23TBPS"))
1407
+
1408
+ @storage_optimized_standard_ds14v23_tbps.setter # type: ignore[no-redef]
1409
+ def storage_optimized_standard_ds14v23_tbps(
1410
+ cls,
1411
+ value: "IComputeSpecification",
1412
+ ) -> None:
1413
+ if __debug__:
1414
+ type_hints = typing.get_type_hints(_typecheckingstub__cc7f37736e3c057879f174d1e7466c6e75a9d76fac9b3c656eb782feb110e3cd)
1415
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1416
+ jsii.sset(cls, "storageOptimizedStandardDS14v23TBPS", value)
1417
+
1418
+
1419
+ class Database(
1420
+ _constructs_77d1e7e8.Construct,
1421
+ metaclass=jsii.JSIIMeta,
1422
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_kusto.Database",
1423
+ ):
1424
+ def __init__(
1425
+ self,
1426
+ scope: _constructs_77d1e7e8.Construct,
1427
+ id: builtins.str,
1428
+ *,
1429
+ kusto: Cluster,
1430
+ name: builtins.str,
1431
+ hot_cache_period: typing.Optional[builtins.str] = None,
1432
+ soft_delete_period: typing.Optional[builtins.str] = None,
1433
+ ) -> None:
1434
+ '''Represents a Kusto Database within an Azure Kusto Cluster.
1435
+
1436
+ This class is responsible for the creation and management of a database in Azure Data Explorer (Kusto),
1437
+ which stores data tables and provides a query engine. A Kusto database is a logical group of tables
1438
+ and is associated with a specific Kusto cluster. The database supports configurations such as
1439
+ hot cache period and soft delete period to optimize performance and data retention according to
1440
+ specific workload requirements.
1441
+
1442
+ :param scope: - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
1443
+ :param id: - The unique identifier for this instance of the Kusto database.
1444
+ :param kusto: The Azure Kusto cluster to which this database belongs.
1445
+ :param name: The name of the Kusto Database to create.
1446
+ :param hot_cache_period: The time the data that should be kept in cache for fast queries as ISO 8601 timespan. Default is unlimited.
1447
+ :param soft_delete_period: The time the data should be kept before it stops being accessible to queries as ISO 8601 timespan. Default is unlimited.
1448
+ '''
1449
+ if __debug__:
1450
+ type_hints = typing.get_type_hints(_typecheckingstub__5bb7e049648a84a8e486219349a602116b3098bd3ad3df2bebff015ca0877100)
1451
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1452
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1453
+ kusto_db_props = DatabaseProps(
1454
+ kusto=kusto,
1455
+ name=name,
1456
+ hot_cache_period=hot_cache_period,
1457
+ soft_delete_period=soft_delete_period,
1458
+ )
1459
+
1460
+ jsii.create(self.__class__, self, [scope, id, kusto_db_props])
1461
+
1462
+ @jsii.member(jsii_name="addPermission")
1463
+ def add_permission(
1464
+ self,
1465
+ *,
1466
+ name: builtins.str,
1467
+ principal_id: builtins.str,
1468
+ principal_type: builtins.str,
1469
+ role: builtins.str,
1470
+ tenant_id: builtins.str,
1471
+ ) -> None:
1472
+ '''Adds a database principal assignment in the Kusto cluster, assigning specified access rights to a principal.
1473
+
1474
+ This method is used to grant access permissions to a specific user, group, or service principal within an Azure Active Directory.
1475
+ These permissions determine the level of access that the principal has over the Kusto database, such as viewing, ingesting, or managing data.
1476
+ The assignment is made by creating a KustoDatabasePrincipalAssignment resource, specifying the principal details and the type of role
1477
+ they should assume.
1478
+
1479
+ :param name: The name of the kusto principal assignment.
1480
+ :param principal_id: The object id of the principal to assign to Kusto Database.
1481
+ :param principal_type: The type of the principal. Valid values include App, Group, User.
1482
+ :param role: The database role assigned to the principal. Valid values include Admin, Ingestor, Monitor, UnrestrictedViewer, User and Viewer.
1483
+ :param tenant_id: The tenant id in which the principal resides.
1484
+ '''
1485
+ kusto_database_access_props = DatabaseAccessProps(
1486
+ name=name,
1487
+ principal_id=principal_id,
1488
+ principal_type=principal_type,
1489
+ role=role,
1490
+ tenant_id=tenant_id,
1491
+ )
1492
+
1493
+ return typing.cast(None, jsii.invoke(self, "addPermission", [kusto_database_access_props]))
1494
+
1495
+ @jsii.member(jsii_name="addScript")
1496
+ def add_script(
1497
+ self,
1498
+ script_name: builtins.str,
1499
+ script_content: builtins.str,
1500
+ ) -> None:
1501
+ '''Adds and executes a control command or script within the Kusto database.
1502
+
1503
+ This method facilitates the execution of Kusto Query Language (KQL) scripts or control commands within the specified
1504
+ Kusto database. Scripts can perform a variety of functions, from schema modifications, like adding new tables or altering
1505
+ existing ones, to data management operations, such as data ingestion or cleanup tasks. Each script is executed as a
1506
+ KustoScript resource, which ensures that the script is applied correctly and atomically to the database.
1507
+
1508
+ :param script_name: - A unique name for the script, which helps in identifying the script resource within the deployment.
1509
+ :param script_content: - The KQL script or control command to be executed. This should be a valid KQL command string. Example usage:: myDatabase.addScript('InitializeSalesTable', ` .create table SalesData (TransactionId: int, TransactionDate: datetime, Amount: real) .alter-merge table SalesData policy retentionsoftdelete = 365d `); This method will create a ``KustoScript`` resource that encapsulates the command, ensuring it is executed against the database, and is tracked as part of the resource management within Azure.
1510
+ '''
1511
+ if __debug__:
1512
+ type_hints = typing.get_type_hints(_typecheckingstub__c1fe44cb03828c945451d0676f440fb81bfde50a755b1c3f57f0bb0842fe7c9a)
1513
+ check_type(argname="argument script_name", value=script_name, expected_type=type_hints["script_name"])
1514
+ check_type(argname="argument script_content", value=script_content, expected_type=type_hints["script_content"])
1515
+ return typing.cast(None, jsii.invoke(self, "addScript", [script_name, script_content]))
1516
+
1517
+ @jsii.member(jsii_name="addTable")
1518
+ def add_table(
1519
+ self,
1520
+ table_name: builtins.str,
1521
+ table_schema: typing.Sequence[typing.Union["TableSchemaProps", typing.Dict[builtins.str, typing.Any]]],
1522
+ ) -> None:
1523
+ '''Adds a new table to an existing Azure Kusto database.
1524
+
1525
+ This method creates a table within the specified Kusto database using a given schema. Tables in Kusto store structured data with
1526
+ defined columns and types, which are crucial for storing and querying large datasets efficiently. The method constructs a Kusto
1527
+ Data Explorer control command to create the table and then executes this command within the context of the database.
1528
+
1529
+ :param table_name: - The name of the table to create, which must be unique within the database.
1530
+ :param table_schema: - An array of schema properties defining the columns of the table, including column names and their data types. Example usage:: myDatabase.addTable('SalesData', [ { columnName: 'TransactionId', columnType: 'int' }, { columnName: 'TransactionDate', columnType: 'datetime' }, { columnName: 'Amount', columnType: 'real' } ]); This method constructs the command to create the table and applies it directly within the Kusto database, ensuring the table is ready for data ingestion and querying.
1531
+ '''
1532
+ if __debug__:
1533
+ type_hints = typing.get_type_hints(_typecheckingstub__2a4e5427243f22a5b893f1d0e1401bbdfc379be8c67e11c64d99fca0794aadcb)
1534
+ check_type(argname="argument table_name", value=table_name, expected_type=type_hints["table_name"])
1535
+ check_type(argname="argument table_schema", value=table_schema, expected_type=type_hints["table_schema"])
1536
+ return typing.cast(None, jsii.invoke(self, "addTable", [table_name, table_schema]))
1537
+
1538
+ @builtins.property
1539
+ @jsii.member(jsii_name="id")
1540
+ def id(self) -> builtins.str:
1541
+ return typing.cast(builtins.str, jsii.get(self, "id"))
1542
+
1543
+ @builtins.property
1544
+ @jsii.member(jsii_name="kustoDbProps")
1545
+ def kusto_db_props(self) -> "DatabaseProps":
1546
+ return typing.cast("DatabaseProps", jsii.get(self, "kustoDbProps"))
1547
+
1548
+ @builtins.property
1549
+ @jsii.member(jsii_name="kustoProps")
1550
+ def kusto_props(self) -> ClusterProps:
1551
+ return typing.cast(ClusterProps, jsii.get(self, "kustoProps"))
1552
+
1553
+ @builtins.property
1554
+ @jsii.member(jsii_name="rg")
1555
+ def rg(self) -> builtins.str:
1556
+ return typing.cast(builtins.str, jsii.get(self, "rg"))
1557
+
1558
+
1559
+ @jsii.data_type(
1560
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_kusto.DatabaseAccessProps",
1561
+ jsii_struct_bases=[],
1562
+ name_mapping={
1563
+ "name": "name",
1564
+ "principal_id": "principalId",
1565
+ "principal_type": "principalType",
1566
+ "role": "role",
1567
+ "tenant_id": "tenantId",
1568
+ },
1569
+ )
1570
+ class DatabaseAccessProps:
1571
+ def __init__(
1572
+ self,
1573
+ *,
1574
+ name: builtins.str,
1575
+ principal_id: builtins.str,
1576
+ principal_type: builtins.str,
1577
+ role: builtins.str,
1578
+ tenant_id: builtins.str,
1579
+ ) -> None:
1580
+ '''
1581
+ :param name: The name of the kusto principal assignment.
1582
+ :param principal_id: The object id of the principal to assign to Kusto Database.
1583
+ :param principal_type: The type of the principal. Valid values include App, Group, User.
1584
+ :param role: The database role assigned to the principal. Valid values include Admin, Ingestor, Monitor, UnrestrictedViewer, User and Viewer.
1585
+ :param tenant_id: The tenant id in which the principal resides.
1586
+ '''
1587
+ if __debug__:
1588
+ type_hints = typing.get_type_hints(_typecheckingstub__f8fae0aa1717ffd90e4aa97235cbcc92728a68e132f7574a341b1ff0026de14b)
1589
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
1590
+ check_type(argname="argument principal_id", value=principal_id, expected_type=type_hints["principal_id"])
1591
+ check_type(argname="argument principal_type", value=principal_type, expected_type=type_hints["principal_type"])
1592
+ check_type(argname="argument role", value=role, expected_type=type_hints["role"])
1593
+ check_type(argname="argument tenant_id", value=tenant_id, expected_type=type_hints["tenant_id"])
1594
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1595
+ "name": name,
1596
+ "principal_id": principal_id,
1597
+ "principal_type": principal_type,
1598
+ "role": role,
1599
+ "tenant_id": tenant_id,
1600
+ }
1601
+
1602
+ @builtins.property
1603
+ def name(self) -> builtins.str:
1604
+ '''The name of the kusto principal assignment.'''
1605
+ result = self._values.get("name")
1606
+ assert result is not None, "Required property 'name' is missing"
1607
+ return typing.cast(builtins.str, result)
1608
+
1609
+ @builtins.property
1610
+ def principal_id(self) -> builtins.str:
1611
+ '''The object id of the principal to assign to Kusto Database.'''
1612
+ result = self._values.get("principal_id")
1613
+ assert result is not None, "Required property 'principal_id' is missing"
1614
+ return typing.cast(builtins.str, result)
1615
+
1616
+ @builtins.property
1617
+ def principal_type(self) -> builtins.str:
1618
+ '''The type of the principal.
1619
+
1620
+ Valid values include App, Group, User.
1621
+ '''
1622
+ result = self._values.get("principal_type")
1623
+ assert result is not None, "Required property 'principal_type' is missing"
1624
+ return typing.cast(builtins.str, result)
1625
+
1626
+ @builtins.property
1627
+ def role(self) -> builtins.str:
1628
+ '''The database role assigned to the principal.
1629
+
1630
+ Valid values include Admin, Ingestor, Monitor, UnrestrictedViewer, User and Viewer.
1631
+ '''
1632
+ result = self._values.get("role")
1633
+ assert result is not None, "Required property 'role' is missing"
1634
+ return typing.cast(builtins.str, result)
1635
+
1636
+ @builtins.property
1637
+ def tenant_id(self) -> builtins.str:
1638
+ '''The tenant id in which the principal resides.'''
1639
+ result = self._values.get("tenant_id")
1640
+ assert result is not None, "Required property 'tenant_id' is missing"
1641
+ return typing.cast(builtins.str, result)
1642
+
1643
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1644
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1645
+
1646
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1647
+ return not (rhs == self)
1648
+
1649
+ def __repr__(self) -> str:
1650
+ return "DatabaseAccessProps(%s)" % ", ".join(
1651
+ k + "=" + repr(v) for k, v in self._values.items()
1652
+ )
1653
+
1654
+
1655
+ @jsii.data_type(
1656
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_kusto.DatabaseProps",
1657
+ jsii_struct_bases=[],
1658
+ name_mapping={
1659
+ "kusto": "kusto",
1660
+ "name": "name",
1661
+ "hot_cache_period": "hotCachePeriod",
1662
+ "soft_delete_period": "softDeletePeriod",
1663
+ },
1664
+ )
1665
+ class DatabaseProps:
1666
+ def __init__(
1667
+ self,
1668
+ *,
1669
+ kusto: Cluster,
1670
+ name: builtins.str,
1671
+ hot_cache_period: typing.Optional[builtins.str] = None,
1672
+ soft_delete_period: typing.Optional[builtins.str] = None,
1673
+ ) -> None:
1674
+ '''
1675
+ :param kusto: The Azure Kusto cluster to which this database belongs.
1676
+ :param name: The name of the Kusto Database to create.
1677
+ :param hot_cache_period: The time the data that should be kept in cache for fast queries as ISO 8601 timespan. Default is unlimited.
1678
+ :param soft_delete_period: The time the data should be kept before it stops being accessible to queries as ISO 8601 timespan. Default is unlimited.
1679
+ '''
1680
+ if __debug__:
1681
+ type_hints = typing.get_type_hints(_typecheckingstub__0e3ad0dca05483428a48ef2f19255859d30897ae7656132b3c3fb95e3c87dd41)
1682
+ check_type(argname="argument kusto", value=kusto, expected_type=type_hints["kusto"])
1683
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
1684
+ check_type(argname="argument hot_cache_period", value=hot_cache_period, expected_type=type_hints["hot_cache_period"])
1685
+ check_type(argname="argument soft_delete_period", value=soft_delete_period, expected_type=type_hints["soft_delete_period"])
1686
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1687
+ "kusto": kusto,
1688
+ "name": name,
1689
+ }
1690
+ if hot_cache_period is not None:
1691
+ self._values["hot_cache_period"] = hot_cache_period
1692
+ if soft_delete_period is not None:
1693
+ self._values["soft_delete_period"] = soft_delete_period
1694
+
1695
+ @builtins.property
1696
+ def kusto(self) -> Cluster:
1697
+ '''The Azure Kusto cluster to which this database belongs.'''
1698
+ result = self._values.get("kusto")
1699
+ assert result is not None, "Required property 'kusto' is missing"
1700
+ return typing.cast(Cluster, result)
1701
+
1702
+ @builtins.property
1703
+ def name(self) -> builtins.str:
1704
+ '''The name of the Kusto Database to create.'''
1705
+ result = self._values.get("name")
1706
+ assert result is not None, "Required property 'name' is missing"
1707
+ return typing.cast(builtins.str, result)
1708
+
1709
+ @builtins.property
1710
+ def hot_cache_period(self) -> typing.Optional[builtins.str]:
1711
+ '''The time the data that should be kept in cache for fast queries as ISO 8601 timespan.
1712
+
1713
+ Default is unlimited.
1714
+ '''
1715
+ result = self._values.get("hot_cache_period")
1716
+ return typing.cast(typing.Optional[builtins.str], result)
1717
+
1718
+ @builtins.property
1719
+ def soft_delete_period(self) -> typing.Optional[builtins.str]:
1720
+ '''The time the data should be kept before it stops being accessible to queries as ISO 8601 timespan.
1721
+
1722
+ Default is unlimited.
1723
+ '''
1724
+ result = self._values.get("soft_delete_period")
1725
+ return typing.cast(typing.Optional[builtins.str], result)
1726
+
1727
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1728
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1729
+
1730
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1731
+ return not (rhs == self)
1732
+
1733
+ def __repr__(self) -> str:
1734
+ return "DatabaseProps(%s)" % ", ".join(
1735
+ k + "=" + repr(v) for k, v in self._values.items()
1736
+ )
1737
+
1738
+
1739
+ @jsii.interface(
1740
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_kusto.IComputeSpecification"
1741
+ )
1742
+ class IComputeSpecification(typing_extensions.Protocol):
1743
+ @builtins.property
1744
+ @jsii.member(jsii_name="availibleZones")
1745
+ def availible_zones(self) -> typing.List[builtins.str]:
1746
+ ...
1747
+
1748
+ @availible_zones.setter
1749
+ def availible_zones(self, value: typing.List[builtins.str]) -> None:
1750
+ ...
1751
+
1752
+ @builtins.property
1753
+ @jsii.member(jsii_name="cache")
1754
+ def cache(self) -> jsii.Number:
1755
+ ...
1756
+
1757
+ @cache.setter
1758
+ def cache(self, value: jsii.Number) -> None:
1759
+ ...
1760
+
1761
+ @builtins.property
1762
+ @jsii.member(jsii_name="memory")
1763
+ def memory(self) -> jsii.Number:
1764
+ ...
1765
+
1766
+ @memory.setter
1767
+ def memory(self, value: jsii.Number) -> None:
1768
+ ...
1769
+
1770
+ @builtins.property
1771
+ @jsii.member(jsii_name="series")
1772
+ def series(self) -> builtins.str:
1773
+ ...
1774
+
1775
+ @series.setter
1776
+ def series(self, value: builtins.str) -> None:
1777
+ ...
1778
+
1779
+ @builtins.property
1780
+ @jsii.member(jsii_name="size")
1781
+ def size(self) -> builtins.str:
1782
+ ...
1783
+
1784
+ @size.setter
1785
+ def size(self, value: builtins.str) -> None:
1786
+ ...
1787
+
1788
+ @builtins.property
1789
+ @jsii.member(jsii_name="skuName")
1790
+ def sku_name(self) -> builtins.str:
1791
+ ...
1792
+
1793
+ @sku_name.setter
1794
+ def sku_name(self, value: builtins.str) -> None:
1795
+ ...
1796
+
1797
+ @builtins.property
1798
+ @jsii.member(jsii_name="vCPU")
1799
+ def v_cpu(self) -> jsii.Number:
1800
+ ...
1801
+
1802
+ @v_cpu.setter
1803
+ def v_cpu(self, value: jsii.Number) -> None:
1804
+ ...
1805
+
1806
+ @builtins.property
1807
+ @jsii.member(jsii_name="workload")
1808
+ def workload(self) -> builtins.str:
1809
+ ...
1810
+
1811
+ @workload.setter
1812
+ def workload(self, value: builtins.str) -> None:
1813
+ ...
1814
+
1815
+
1816
+ class _IComputeSpecificationProxy:
1817
+ __jsii_type__: typing.ClassVar[str] = "@microsoft/terraform-cdk-constructs.azure_kusto.IComputeSpecification"
1818
+
1819
+ @builtins.property
1820
+ @jsii.member(jsii_name="availibleZones")
1821
+ def availible_zones(self) -> typing.List[builtins.str]:
1822
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "availibleZones"))
1823
+
1824
+ @availible_zones.setter
1825
+ def availible_zones(self, value: typing.List[builtins.str]) -> None:
1826
+ if __debug__:
1827
+ type_hints = typing.get_type_hints(_typecheckingstub__cf20655e0f3d40d5c219517f9507557eaa70b00ab9919bff768660954f6e2ae1)
1828
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1829
+ jsii.set(self, "availibleZones", value)
1830
+
1831
+ @builtins.property
1832
+ @jsii.member(jsii_name="cache")
1833
+ def cache(self) -> jsii.Number:
1834
+ return typing.cast(jsii.Number, jsii.get(self, "cache"))
1835
+
1836
+ @cache.setter
1837
+ def cache(self, value: jsii.Number) -> None:
1838
+ if __debug__:
1839
+ type_hints = typing.get_type_hints(_typecheckingstub__6bf1f1e0843d32a20bce66dc3629e8a9fd69f4fd30e3070ed552aa0760654467)
1840
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1841
+ jsii.set(self, "cache", value)
1842
+
1843
+ @builtins.property
1844
+ @jsii.member(jsii_name="memory")
1845
+ def memory(self) -> jsii.Number:
1846
+ return typing.cast(jsii.Number, jsii.get(self, "memory"))
1847
+
1848
+ @memory.setter
1849
+ def memory(self, value: jsii.Number) -> None:
1850
+ if __debug__:
1851
+ type_hints = typing.get_type_hints(_typecheckingstub__017d858f2cf926f6300507ca699a8609c2bcc97e5e7d44ea50213ce407ec3890)
1852
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1853
+ jsii.set(self, "memory", value)
1854
+
1855
+ @builtins.property
1856
+ @jsii.member(jsii_name="series")
1857
+ def series(self) -> builtins.str:
1858
+ return typing.cast(builtins.str, jsii.get(self, "series"))
1859
+
1860
+ @series.setter
1861
+ def series(self, value: builtins.str) -> None:
1862
+ if __debug__:
1863
+ type_hints = typing.get_type_hints(_typecheckingstub__1b224dde02d6c5cfa49fb834e7f30ef7f7ff54c0afc3e517e31a0c794517feb9)
1864
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1865
+ jsii.set(self, "series", value)
1866
+
1867
+ @builtins.property
1868
+ @jsii.member(jsii_name="size")
1869
+ def size(self) -> builtins.str:
1870
+ return typing.cast(builtins.str, jsii.get(self, "size"))
1871
+
1872
+ @size.setter
1873
+ def size(self, value: builtins.str) -> None:
1874
+ if __debug__:
1875
+ type_hints = typing.get_type_hints(_typecheckingstub__335585384a26e9e79a5c33addbf17852d441dfd58c28b9ed908d8e651cd4ba13)
1876
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1877
+ jsii.set(self, "size", value)
1878
+
1879
+ @builtins.property
1880
+ @jsii.member(jsii_name="skuName")
1881
+ def sku_name(self) -> builtins.str:
1882
+ return typing.cast(builtins.str, jsii.get(self, "skuName"))
1883
+
1884
+ @sku_name.setter
1885
+ def sku_name(self, value: builtins.str) -> None:
1886
+ if __debug__:
1887
+ type_hints = typing.get_type_hints(_typecheckingstub__387ff60bca1335cddf1da1fad8ae4def36bec0958a7a55986a470d95d447e9f8)
1888
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1889
+ jsii.set(self, "skuName", value)
1890
+
1891
+ @builtins.property
1892
+ @jsii.member(jsii_name="vCPU")
1893
+ def v_cpu(self) -> jsii.Number:
1894
+ return typing.cast(jsii.Number, jsii.get(self, "vCPU"))
1895
+
1896
+ @v_cpu.setter
1897
+ def v_cpu(self, value: jsii.Number) -> None:
1898
+ if __debug__:
1899
+ type_hints = typing.get_type_hints(_typecheckingstub__cdd09233c30506d55c1c74b15a204b3cd7eb5fb8e6eca5fc153dbde49b2ebe2f)
1900
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1901
+ jsii.set(self, "vCPU", value)
1902
+
1903
+ @builtins.property
1904
+ @jsii.member(jsii_name="workload")
1905
+ def workload(self) -> builtins.str:
1906
+ return typing.cast(builtins.str, jsii.get(self, "workload"))
1907
+
1908
+ @workload.setter
1909
+ def workload(self, value: builtins.str) -> None:
1910
+ if __debug__:
1911
+ type_hints = typing.get_type_hints(_typecheckingstub__58b64a477ad62fd004941b5dcc092a7f760389aee7470d74059427704881068c)
1912
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1913
+ jsii.set(self, "workload", value)
1914
+
1915
+ # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
1916
+ typing.cast(typing.Any, IComputeSpecification).__jsii_proxy_class__ = lambda : _IComputeSpecificationProxy
1917
+
1918
+
1919
+ @jsii.data_type(
1920
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_kusto.TableSchemaProps",
1921
+ jsii_struct_bases=[],
1922
+ name_mapping={"column_name": "columnName", "column_type": "columnType"},
1923
+ )
1924
+ class TableSchemaProps:
1925
+ def __init__(self, *, column_name: builtins.str, column_type: builtins.str) -> None:
1926
+ '''
1927
+ :param column_name:
1928
+ :param column_type:
1929
+ '''
1930
+ if __debug__:
1931
+ type_hints = typing.get_type_hints(_typecheckingstub__d4a9184b4b9face27efb8668fd03e05ae3fe22c501aa89b961de19b223e20e6f)
1932
+ check_type(argname="argument column_name", value=column_name, expected_type=type_hints["column_name"])
1933
+ check_type(argname="argument column_type", value=column_type, expected_type=type_hints["column_type"])
1934
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1935
+ "column_name": column_name,
1936
+ "column_type": column_type,
1937
+ }
1938
+
1939
+ @builtins.property
1940
+ def column_name(self) -> builtins.str:
1941
+ result = self._values.get("column_name")
1942
+ assert result is not None, "Required property 'column_name' is missing"
1943
+ return typing.cast(builtins.str, result)
1944
+
1945
+ @builtins.property
1946
+ def column_type(self) -> builtins.str:
1947
+ result = self._values.get("column_type")
1948
+ assert result is not None, "Required property 'column_type' is missing"
1949
+ return typing.cast(builtins.str, result)
1950
+
1951
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1952
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1953
+
1954
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1955
+ return not (rhs == self)
1956
+
1957
+ def __repr__(self) -> str:
1958
+ return "TableSchemaProps(%s)" % ", ".join(
1959
+ k + "=" + repr(v) for k, v in self._values.items()
1960
+ )
1961
+
1962
+
1963
+ __all__ = [
1964
+ "Cluster",
1965
+ "ClusterProps",
1966
+ "ComputeSpecification",
1967
+ "Database",
1968
+ "DatabaseAccessProps",
1969
+ "DatabaseProps",
1970
+ "IComputeSpecification",
1971
+ "TableSchemaProps",
1972
+ ]
1973
+
1974
+ publication.publish()
1975
+
1976
+ def _typecheckingstub__9351a5a77b18fe94ed9d59955e81c4877c4006f903bf2ea22d8a9d6cd102e5a3(
1977
+ scope: _constructs_77d1e7e8.Construct,
1978
+ id: builtins.str,
1979
+ *,
1980
+ name: builtins.str,
1981
+ auto_stop_enabled: typing.Optional[builtins.bool] = None,
1982
+ capacity: typing.Optional[jsii.Number] = None,
1983
+ enable_zones: typing.Optional[builtins.bool] = None,
1984
+ identity_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
1985
+ identity_type: typing.Optional[builtins.str] = None,
1986
+ maximum_instances: typing.Optional[jsii.Number] = None,
1987
+ minimum_instances: typing.Optional[jsii.Number] = None,
1988
+ public_network_access_enabled: typing.Optional[builtins.bool] = None,
1989
+ purge_enabled: typing.Optional[builtins.bool] = None,
1990
+ resource_group: typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup] = None,
1991
+ sku: typing.Optional[IComputeSpecification] = None,
1992
+ streaming_ingestion_enabled: typing.Optional[builtins.bool] = None,
1993
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1994
+ ) -> None:
1995
+ """Type checking stubs"""
1996
+ pass
1997
+
1998
+ def _typecheckingstub__016f667b6e3c9557d441729357d8e19f1db29ec4c5fa78c89b941b80e06da1a6(
1999
+ value: builtins.str,
2000
+ ) -> None:
2001
+ """Type checking stubs"""
2002
+ pass
2003
+
2004
+ def _typecheckingstub__c0eafdbeed8d0f571cae144cb65ce6bc8481d686eaa59bee4308fa65c8e66bac(
2005
+ value: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
2006
+ ) -> None:
2007
+ """Type checking stubs"""
2008
+ pass
2009
+
2010
+ def _typecheckingstub__2193d533b05f247b87c19b0582d681f927729e68a936477af77a4950358cea65(
2011
+ *,
2012
+ name: builtins.str,
2013
+ auto_stop_enabled: typing.Optional[builtins.bool] = None,
2014
+ capacity: typing.Optional[jsii.Number] = None,
2015
+ enable_zones: typing.Optional[builtins.bool] = None,
2016
+ identity_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
2017
+ identity_type: typing.Optional[builtins.str] = None,
2018
+ maximum_instances: typing.Optional[jsii.Number] = None,
2019
+ minimum_instances: typing.Optional[jsii.Number] = None,
2020
+ public_network_access_enabled: typing.Optional[builtins.bool] = None,
2021
+ purge_enabled: typing.Optional[builtins.bool] = None,
2022
+ resource_group: typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup] = None,
2023
+ sku: typing.Optional[IComputeSpecification] = None,
2024
+ streaming_ingestion_enabled: typing.Optional[builtins.bool] = None,
2025
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
2026
+ ) -> None:
2027
+ """Type checking stubs"""
2028
+ pass
2029
+
2030
+ def _typecheckingstub__6d28bc42ddfa7643e7a57dc7b22c3b2fe40540af0fdb9672d6d903a7acbe167a(
2031
+ value: IComputeSpecification,
2032
+ ) -> None:
2033
+ """Type checking stubs"""
2034
+ pass
2035
+
2036
+ def _typecheckingstub__491679e1e5d5f66b6ea317330bb6e7336b7f966c7fc90c2ed8eb3234e9ac512e(
2037
+ value: IComputeSpecification,
2038
+ ) -> None:
2039
+ """Type checking stubs"""
2040
+ pass
2041
+
2042
+ def _typecheckingstub__77eb537362eec21ba6718412d8c3423662535771156bc61307f441ec0abb2592(
2043
+ value: IComputeSpecification,
2044
+ ) -> None:
2045
+ """Type checking stubs"""
2046
+ pass
2047
+
2048
+ def _typecheckingstub__e5603ece543481c136b153a8cb27b7593b6a3f281a3ea3ca2af37dbe8d933678(
2049
+ value: IComputeSpecification,
2050
+ ) -> None:
2051
+ """Type checking stubs"""
2052
+ pass
2053
+
2054
+ def _typecheckingstub__500bf6f2650fa0047eb153aa94e146ef9a6aa0ee69e6e7ed46294486885fec4b(
2055
+ value: IComputeSpecification,
2056
+ ) -> None:
2057
+ """Type checking stubs"""
2058
+ pass
2059
+
2060
+ def _typecheckingstub__145ea1ef488b37ce2baa27d5a14a83e0a4331a5a46903710a6f204e50acdfb24(
2061
+ value: IComputeSpecification,
2062
+ ) -> None:
2063
+ """Type checking stubs"""
2064
+ pass
2065
+
2066
+ def _typecheckingstub__83ed6772a0fedc491b2c2a8783b6bd6f5d802c6a2b6ea2b17977242710844fe1(
2067
+ value: IComputeSpecification,
2068
+ ) -> None:
2069
+ """Type checking stubs"""
2070
+ pass
2071
+
2072
+ def _typecheckingstub__cab6dd2c47a3916511b1a080ce66a9afc74db45d5b11fbc945ef2bd489c2ec7e(
2073
+ value: IComputeSpecification,
2074
+ ) -> None:
2075
+ """Type checking stubs"""
2076
+ pass
2077
+
2078
+ def _typecheckingstub__3beae95e3a51e99fa82cc09a79cb7896427eea2cb3afc432267560a4606e62d2(
2079
+ value: IComputeSpecification,
2080
+ ) -> None:
2081
+ """Type checking stubs"""
2082
+ pass
2083
+
2084
+ def _typecheckingstub__3f89ed19a43cd5ba674fbc00537182136f66729b1167b29b4ddc20a21cc112c6(
2085
+ value: IComputeSpecification,
2086
+ ) -> None:
2087
+ """Type checking stubs"""
2088
+ pass
2089
+
2090
+ def _typecheckingstub__47a147acacc66283572040d97c91a616298f5399fcaaab9b7cb60e0b014b4263(
2091
+ value: IComputeSpecification,
2092
+ ) -> None:
2093
+ """Type checking stubs"""
2094
+ pass
2095
+
2096
+ def _typecheckingstub__f00c54c46cc8d3c4bb4c3ae023dd28b84f42b0b1dc1cb9bdfd974cbc9d3d4e5c(
2097
+ value: IComputeSpecification,
2098
+ ) -> None:
2099
+ """Type checking stubs"""
2100
+ pass
2101
+
2102
+ def _typecheckingstub__49d336bba3f279a727be16e19551ce732a0d1f63411173852559fc8b3af8ca95(
2103
+ value: IComputeSpecification,
2104
+ ) -> None:
2105
+ """Type checking stubs"""
2106
+ pass
2107
+
2108
+ def _typecheckingstub__f8ec908d799d81f3d1978c8a6d7a4127d51b62b79da69d4a464fe656cfb43577(
2109
+ value: IComputeSpecification,
2110
+ ) -> None:
2111
+ """Type checking stubs"""
2112
+ pass
2113
+
2114
+ def _typecheckingstub__6cc0245c04e66c0a1c1610c2e808cb7ba55fc64adf0434fd6fd3ec0d34646bad(
2115
+ value: IComputeSpecification,
2116
+ ) -> None:
2117
+ """Type checking stubs"""
2118
+ pass
2119
+
2120
+ def _typecheckingstub__84328743cdc1fd43f3521b372c47364148ce7bee1d58f325ae6c20b305550f24(
2121
+ value: IComputeSpecification,
2122
+ ) -> None:
2123
+ """Type checking stubs"""
2124
+ pass
2125
+
2126
+ def _typecheckingstub__62a9488a15813bd82155aefa8ca8ec90103bac9070f8be44814ea00f4b1c4caa(
2127
+ value: IComputeSpecification,
2128
+ ) -> None:
2129
+ """Type checking stubs"""
2130
+ pass
2131
+
2132
+ def _typecheckingstub__b0f9c5848183743c4eae1801a1811bacd51f05e81a3fa652c4909862a261f421(
2133
+ value: IComputeSpecification,
2134
+ ) -> None:
2135
+ """Type checking stubs"""
2136
+ pass
2137
+
2138
+ def _typecheckingstub__33098d3662c412b5f20e8629e47494f7404eb182c1a5e19ea557259bf1c68523(
2139
+ value: IComputeSpecification,
2140
+ ) -> None:
2141
+ """Type checking stubs"""
2142
+ pass
2143
+
2144
+ def _typecheckingstub__8bbdc7dda046321c937d1b316fe355857857c56591d6720244638772f3220796(
2145
+ value: IComputeSpecification,
2146
+ ) -> None:
2147
+ """Type checking stubs"""
2148
+ pass
2149
+
2150
+ def _typecheckingstub__d753371995aedbeef0609fc7cc491932858c1c265b720b2424448ac3985ba3f8(
2151
+ value: IComputeSpecification,
2152
+ ) -> None:
2153
+ """Type checking stubs"""
2154
+ pass
2155
+
2156
+ def _typecheckingstub__554870a2811a35dc1db9ef6f31f48036973e53caf7567005112037252c773d24(
2157
+ value: IComputeSpecification,
2158
+ ) -> None:
2159
+ """Type checking stubs"""
2160
+ pass
2161
+
2162
+ def _typecheckingstub__571a041fdbe0f711ebdc4c2c1fa60f092cf4cf47c42636604deccf45a06ec475(
2163
+ value: IComputeSpecification,
2164
+ ) -> None:
2165
+ """Type checking stubs"""
2166
+ pass
2167
+
2168
+ def _typecheckingstub__5c53821b5360e6975719bdb3665dd34cbfedee0c16aa2a459fe32f490067ca3b(
2169
+ value: IComputeSpecification,
2170
+ ) -> None:
2171
+ """Type checking stubs"""
2172
+ pass
2173
+
2174
+ def _typecheckingstub__f5e9b81f5d5e46f253dcf8e81417a6f2ef2d448bbd12de7b5699f32e0f848522(
2175
+ value: IComputeSpecification,
2176
+ ) -> None:
2177
+ """Type checking stubs"""
2178
+ pass
2179
+
2180
+ def _typecheckingstub__87aeefe6880ea065d18a136ef053b6f3ffe4a7234ab7e31cf756fb794b873ede(
2181
+ value: IComputeSpecification,
2182
+ ) -> None:
2183
+ """Type checking stubs"""
2184
+ pass
2185
+
2186
+ def _typecheckingstub__1b1a7acb1f01bdc158a9f07c2854e5bdca659fcfbaee627fa617dc6f351b6c0d(
2187
+ value: IComputeSpecification,
2188
+ ) -> None:
2189
+ """Type checking stubs"""
2190
+ pass
2191
+
2192
+ def _typecheckingstub__5981d4cbfc0a70693c4660d945c36f8bed554fe4af0d988befc8ef1c5503e8e7(
2193
+ value: IComputeSpecification,
2194
+ ) -> None:
2195
+ """Type checking stubs"""
2196
+ pass
2197
+
2198
+ def _typecheckingstub__ec1839e4a4e2396aa56ecd5e8fd75a2db036c3eb450e652b0d625c977bdc3f7d(
2199
+ value: IComputeSpecification,
2200
+ ) -> None:
2201
+ """Type checking stubs"""
2202
+ pass
2203
+
2204
+ def _typecheckingstub__d2367e2a40bbb41fdb6f058328ce4a7a16b004feb68f343eee5cccd0c1c82f95(
2205
+ value: IComputeSpecification,
2206
+ ) -> None:
2207
+ """Type checking stubs"""
2208
+ pass
2209
+
2210
+ def _typecheckingstub__60020ae4d74146b9139e0560bec93d3a5751d3311c70154df24f76e59ce5cff0(
2211
+ value: IComputeSpecification,
2212
+ ) -> None:
2213
+ """Type checking stubs"""
2214
+ pass
2215
+
2216
+ def _typecheckingstub__9fe3355c57400165db03f7cff46c3b336ce73cec0811ae3271132adac3a6511c(
2217
+ value: IComputeSpecification,
2218
+ ) -> None:
2219
+ """Type checking stubs"""
2220
+ pass
2221
+
2222
+ def _typecheckingstub__605058e16727233c893056961190acce813905a53361f2b424a06e374d0149cc(
2223
+ value: IComputeSpecification,
2224
+ ) -> None:
2225
+ """Type checking stubs"""
2226
+ pass
2227
+
2228
+ def _typecheckingstub__dfacb476c4c817150590d0cef83dadd51fd2ae503b2f60bb76b0f3ffc00974ba(
2229
+ value: IComputeSpecification,
2230
+ ) -> None:
2231
+ """Type checking stubs"""
2232
+ pass
2233
+
2234
+ def _typecheckingstub__6804badc2b1b15759763228696b72b565144f2c35dd7d6833f221e129dcc67ef(
2235
+ value: IComputeSpecification,
2236
+ ) -> None:
2237
+ """Type checking stubs"""
2238
+ pass
2239
+
2240
+ def _typecheckingstub__273fedecc160c301dcd5a4b666175e5994e547fb07231e1a3a6af194be264a9b(
2241
+ value: IComputeSpecification,
2242
+ ) -> None:
2243
+ """Type checking stubs"""
2244
+ pass
2245
+
2246
+ def _typecheckingstub__3a5cb7e4bb806ffecd608d3d1fd015be553de0fbe38f487979725d7b982d6492(
2247
+ value: IComputeSpecification,
2248
+ ) -> None:
2249
+ """Type checking stubs"""
2250
+ pass
2251
+
2252
+ def _typecheckingstub__cbc8cfeb76e5a834c6bff4768f7e44f416d5cd1da849976bb9384e3cd0c9b48a(
2253
+ value: IComputeSpecification,
2254
+ ) -> None:
2255
+ """Type checking stubs"""
2256
+ pass
2257
+
2258
+ def _typecheckingstub__8c3b1cf5e578256da17f5e4d172d7cfec965c42b83a293430e0728065b2b5987(
2259
+ value: IComputeSpecification,
2260
+ ) -> None:
2261
+ """Type checking stubs"""
2262
+ pass
2263
+
2264
+ def _typecheckingstub__698f243198e7e4605368bf6e63564011b34b95f5b1cfcb05b7607ab4f5d73db4(
2265
+ value: IComputeSpecification,
2266
+ ) -> None:
2267
+ """Type checking stubs"""
2268
+ pass
2269
+
2270
+ def _typecheckingstub__fe3a464457225e9a181eb1b38742358464b14a345665ed233d1b8c92a98e3eb4(
2271
+ value: IComputeSpecification,
2272
+ ) -> None:
2273
+ """Type checking stubs"""
2274
+ pass
2275
+
2276
+ def _typecheckingstub__cdec81cb897f3759e538f754b107dfee96a01862fa921b4c6fb67439e3db9bfd(
2277
+ value: IComputeSpecification,
2278
+ ) -> None:
2279
+ """Type checking stubs"""
2280
+ pass
2281
+
2282
+ def _typecheckingstub__e3b43b80db7d343882627adf5d0664dc253a58941c2855927ba16d0dab122bbe(
2283
+ value: IComputeSpecification,
2284
+ ) -> None:
2285
+ """Type checking stubs"""
2286
+ pass
2287
+
2288
+ def _typecheckingstub__7bda2ae2cf299e55b4bb97e0b4b451b9f166d5796bff0af08d9fba7ea08b3114(
2289
+ value: IComputeSpecification,
2290
+ ) -> None:
2291
+ """Type checking stubs"""
2292
+ pass
2293
+
2294
+ def _typecheckingstub__420d1f4d49d5cf46fd19b370aa26ecfaa5614d23fbace9d92fc1ecd4b3c00ac2(
2295
+ value: IComputeSpecification,
2296
+ ) -> None:
2297
+ """Type checking stubs"""
2298
+ pass
2299
+
2300
+ def _typecheckingstub__359a79b6f609df14594fd41f433c9701420d5b544ee358d2b594b24855f457a3(
2301
+ value: IComputeSpecification,
2302
+ ) -> None:
2303
+ """Type checking stubs"""
2304
+ pass
2305
+
2306
+ def _typecheckingstub__c62c82459dcdc9fe710371a7d54a2471a21e0ec21a1b1550ada4192d9ecc0969(
2307
+ value: IComputeSpecification,
2308
+ ) -> None:
2309
+ """Type checking stubs"""
2310
+ pass
2311
+
2312
+ def _typecheckingstub__44ecd5be5a18a5658ea782612ad64d06b4d60b13f1c430f1cd96c34e9d28f37d(
2313
+ value: IComputeSpecification,
2314
+ ) -> None:
2315
+ """Type checking stubs"""
2316
+ pass
2317
+
2318
+ def _typecheckingstub__e09b2c675d2077bfce0647633b98e3f3e78c1f775ebc6c6a8799d8f651fdb3dc(
2319
+ value: IComputeSpecification,
2320
+ ) -> None:
2321
+ """Type checking stubs"""
2322
+ pass
2323
+
2324
+ def _typecheckingstub__661d71792710b5855c4165f31e9f042b74ea64876d2449146e6e21e260a8bbb3(
2325
+ value: IComputeSpecification,
2326
+ ) -> None:
2327
+ """Type checking stubs"""
2328
+ pass
2329
+
2330
+ def _typecheckingstub__79878b4a4ce2a2645dd737112c517c6a16213a899a7c74005ff4c368b59866ff(
2331
+ value: IComputeSpecification,
2332
+ ) -> None:
2333
+ """Type checking stubs"""
2334
+ pass
2335
+
2336
+ def _typecheckingstub__cd579726c203b204dfe6348e1de12469592523536ccbcc67c1cd99eaae9a10bf(
2337
+ value: IComputeSpecification,
2338
+ ) -> None:
2339
+ """Type checking stubs"""
2340
+ pass
2341
+
2342
+ def _typecheckingstub__fde24ac4875b4011de2aaee9afbdf2e945d3d754b7299b9a1d480c4389715660(
2343
+ value: IComputeSpecification,
2344
+ ) -> None:
2345
+ """Type checking stubs"""
2346
+ pass
2347
+
2348
+ def _typecheckingstub__66130241f740346fab5d6d15b4968c0e847f98f8d1aadc0ce857212dbf902ba6(
2349
+ value: IComputeSpecification,
2350
+ ) -> None:
2351
+ """Type checking stubs"""
2352
+ pass
2353
+
2354
+ def _typecheckingstub__406614a6d8937c8fd51c5c7344cae3d4034d16619cc829e05579cfc38cc1ffa0(
2355
+ value: IComputeSpecification,
2356
+ ) -> None:
2357
+ """Type checking stubs"""
2358
+ pass
2359
+
2360
+ def _typecheckingstub__029897ed5e97b19845a843000c84f1d5ee4db6c27019cf57353cd64297f54b74(
2361
+ value: IComputeSpecification,
2362
+ ) -> None:
2363
+ """Type checking stubs"""
2364
+ pass
2365
+
2366
+ def _typecheckingstub__b67e2923606639ec84c6669011a135485ceb89a98b86dcc9e6b519118dc48cdf(
2367
+ value: IComputeSpecification,
2368
+ ) -> None:
2369
+ """Type checking stubs"""
2370
+ pass
2371
+
2372
+ def _typecheckingstub__f0eafa0040198c4d9e61b08dad813396d4af8595389f11675fd02c1765b2c18c(
2373
+ value: IComputeSpecification,
2374
+ ) -> None:
2375
+ """Type checking stubs"""
2376
+ pass
2377
+
2378
+ def _typecheckingstub__cc7f37736e3c057879f174d1e7466c6e75a9d76fac9b3c656eb782feb110e3cd(
2379
+ value: IComputeSpecification,
2380
+ ) -> None:
2381
+ """Type checking stubs"""
2382
+ pass
2383
+
2384
+ def _typecheckingstub__5bb7e049648a84a8e486219349a602116b3098bd3ad3df2bebff015ca0877100(
2385
+ scope: _constructs_77d1e7e8.Construct,
2386
+ id: builtins.str,
2387
+ *,
2388
+ kusto: Cluster,
2389
+ name: builtins.str,
2390
+ hot_cache_period: typing.Optional[builtins.str] = None,
2391
+ soft_delete_period: typing.Optional[builtins.str] = None,
2392
+ ) -> None:
2393
+ """Type checking stubs"""
2394
+ pass
2395
+
2396
+ def _typecheckingstub__c1fe44cb03828c945451d0676f440fb81bfde50a755b1c3f57f0bb0842fe7c9a(
2397
+ script_name: builtins.str,
2398
+ script_content: builtins.str,
2399
+ ) -> None:
2400
+ """Type checking stubs"""
2401
+ pass
2402
+
2403
+ def _typecheckingstub__2a4e5427243f22a5b893f1d0e1401bbdfc379be8c67e11c64d99fca0794aadcb(
2404
+ table_name: builtins.str,
2405
+ table_schema: typing.Sequence[typing.Union[TableSchemaProps, typing.Dict[builtins.str, typing.Any]]],
2406
+ ) -> None:
2407
+ """Type checking stubs"""
2408
+ pass
2409
+
2410
+ def _typecheckingstub__f8fae0aa1717ffd90e4aa97235cbcc92728a68e132f7574a341b1ff0026de14b(
2411
+ *,
2412
+ name: builtins.str,
2413
+ principal_id: builtins.str,
2414
+ principal_type: builtins.str,
2415
+ role: builtins.str,
2416
+ tenant_id: builtins.str,
2417
+ ) -> None:
2418
+ """Type checking stubs"""
2419
+ pass
2420
+
2421
+ def _typecheckingstub__0e3ad0dca05483428a48ef2f19255859d30897ae7656132b3c3fb95e3c87dd41(
2422
+ *,
2423
+ kusto: Cluster,
2424
+ name: builtins.str,
2425
+ hot_cache_period: typing.Optional[builtins.str] = None,
2426
+ soft_delete_period: typing.Optional[builtins.str] = None,
2427
+ ) -> None:
2428
+ """Type checking stubs"""
2429
+ pass
2430
+
2431
+ def _typecheckingstub__cf20655e0f3d40d5c219517f9507557eaa70b00ab9919bff768660954f6e2ae1(
2432
+ value: typing.List[builtins.str],
2433
+ ) -> None:
2434
+ """Type checking stubs"""
2435
+ pass
2436
+
2437
+ def _typecheckingstub__6bf1f1e0843d32a20bce66dc3629e8a9fd69f4fd30e3070ed552aa0760654467(
2438
+ value: jsii.Number,
2439
+ ) -> None:
2440
+ """Type checking stubs"""
2441
+ pass
2442
+
2443
+ def _typecheckingstub__017d858f2cf926f6300507ca699a8609c2bcc97e5e7d44ea50213ce407ec3890(
2444
+ value: jsii.Number,
2445
+ ) -> None:
2446
+ """Type checking stubs"""
2447
+ pass
2448
+
2449
+ def _typecheckingstub__1b224dde02d6c5cfa49fb834e7f30ef7f7ff54c0afc3e517e31a0c794517feb9(
2450
+ value: builtins.str,
2451
+ ) -> None:
2452
+ """Type checking stubs"""
2453
+ pass
2454
+
2455
+ def _typecheckingstub__335585384a26e9e79a5c33addbf17852d441dfd58c28b9ed908d8e651cd4ba13(
2456
+ value: builtins.str,
2457
+ ) -> None:
2458
+ """Type checking stubs"""
2459
+ pass
2460
+
2461
+ def _typecheckingstub__387ff60bca1335cddf1da1fad8ae4def36bec0958a7a55986a470d95d447e9f8(
2462
+ value: builtins.str,
2463
+ ) -> None:
2464
+ """Type checking stubs"""
2465
+ pass
2466
+
2467
+ def _typecheckingstub__cdd09233c30506d55c1c74b15a204b3cd7eb5fb8e6eca5fc153dbde49b2ebe2f(
2468
+ value: jsii.Number,
2469
+ ) -> None:
2470
+ """Type checking stubs"""
2471
+ pass
2472
+
2473
+ def _typecheckingstub__58b64a477ad62fd004941b5dcc092a7f760389aee7470d74059427704881068c(
2474
+ value: builtins.str,
2475
+ ) -> None:
2476
+ """Type checking stubs"""
2477
+ pass
2478
+
2479
+ def _typecheckingstub__d4a9184b4b9face27efb8668fd03e05ae3fe22c501aa89b961de19b223e20e6f(
2480
+ *,
2481
+ column_name: builtins.str,
2482
+ column_type: builtins.str,
2483
+ ) -> None:
2484
+ """Type checking stubs"""
2485
+ pass