microsoft-cdktfconstructs 0.0.3.dev11__py3-none-any.whl → 0.0.3.dev12__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.
@@ -10,7 +10,7 @@ With L2 Constructs, you get the following benefits:
10
10
  * **Abstraction**: Higher-level abstractions over Azure resources make your infrastructure code more declarative and easier to understand.
11
11
  * **Reusability**: Encapsulate common patterns and best practices in your infrastructure code, promoting reusability across different projects and teams.
12
12
  * **Rapid Development**: Accelerate your cloud development process with pre-built constructs that have been tested for common use cases, allowing you to focus on your unique application logic.
13
- * **Direct IDE Integration**: Access detailed documentation directly within your Integrated Development Environment (IDE), streamlining your development workflow: ![alt text](./docs/images/ide-documentation.png)
13
+ * **Direct IDE Integration**: Access detailed documentation directly within your Integrated Development Environment (IDE), streamlining your development workflow: ![alt text](https://raw.githubusercontent.com/Azure/terraform-cdk-constructs/main/docs/images/ide-documentation.png)
14
14
 
15
15
  ## Quick Example
16
16
 
@@ -118,11 +118,10 @@ Currently, our CDK L2 constructs are available in the following languages:
118
118
 
119
119
  | Language | Status |
120
120
  |------------|--------------|
121
- | TypeScript | Available |
122
- | Python | Coming soon |
121
+ | TypeScript | [Available](https://www.npmjs.com/package/@microsoft/terraform-cdk-constructs) |
122
+ | Python | [Available](https://pypi.org/project/microsoft-cdktfconstructs/) |
123
123
  | Java | Coming soon |
124
- | Go | Coming soon |
125
- | C# | Coming soon |
124
+ | C# | [Available](https://www.nuget.org/packages/Microsoft.Cdktf.Azure.TFConstructs) |
126
125
 
127
126
  Stay tuned for updates as we work to expand support to other popular programming languages!
128
127
 
@@ -19,9 +19,9 @@ import constructs._jsii
19
19
 
20
20
  __jsii_assembly__ = jsii.JSIIAssembly.load(
21
21
  "@microsoft/terraform-cdk-constructs",
22
- "0.0.3-pre.11",
22
+ "0.0.3-pre.12",
23
23
  __name__[0:-6],
24
- "terraform-cdk-constructs@0.0.3-pre.11.jsii.tgz",
24
+ "terraform-cdk-constructs@0.0.3-pre.12.jsii.tgz",
25
25
  )
26
26
 
27
27
  __all__ = [
@@ -1140,6 +1140,11 @@ class Instance(
1140
1140
  def id(self) -> builtins.str:
1141
1141
  return typing.cast(builtins.str, jsii.get(self, "id"))
1142
1142
 
1143
+ @builtins.property
1144
+ @jsii.member(jsii_name="name")
1145
+ def name(self) -> builtins.str:
1146
+ return typing.cast(builtins.str, jsii.get(self, "name"))
1147
+
1143
1148
  @builtins.property
1144
1149
  @jsii.member(jsii_name="partitionIds")
1145
1150
  def partition_ids(self) -> typing.List[builtins.str]:
@@ -141,6 +141,8 @@ from typeguard import check_type
141
141
 
142
142
  from .._jsii import *
143
143
 
144
+ import cdktf_cdktf_provider_azurerm.kusto_cluster as _cdktf_cdktf_provider_azurerm_kusto_cluster_92bbcedf
145
+ import cdktf_cdktf_provider_azurerm.kusto_database as _cdktf_cdktf_provider_azurerm_kusto_database_92bbcedf
144
146
  import cdktf_cdktf_provider_azurerm.resource_group as _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf
145
147
  import constructs as _constructs_77d1e7e8
146
148
  from ..core_azure import AzureResource as _AzureResource_74eec1c4
@@ -221,7 +223,7 @@ class Cluster(
221
223
  def add_database(
222
224
  self,
223
225
  *,
224
- kusto: "Cluster",
226
+ kusto_cluster: _cdktf_cdktf_provider_azurerm_kusto_cluster_92bbcedf.KustoCluster,
225
227
  name: builtins.str,
226
228
  hot_cache_period: typing.Optional[builtins.str] = None,
227
229
  soft_delete_period: typing.Optional[builtins.str] = None,
@@ -233,7 +235,7 @@ class Cluster(
233
235
  data analytics and running queries. The database configuration can include settings like hot cache and soft delete periods,
234
236
  which optimize query performance and manage data lifecycle according to specific requirements.
235
237
 
236
- :param kusto: The Azure Kusto cluster to which this database belongs.
238
+ :param kusto_cluster: The Azure Kusto cluster to which this database belongs.
237
239
  :param name: The name of the Kusto Database to create.
238
240
  :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
241
  :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.
@@ -255,7 +257,7 @@ class Cluster(
255
257
  for complex data analytics operations across large datasets.
256
258
  '''
257
259
  database_props = DatabaseProps(
258
- kusto=kusto,
260
+ kusto_cluster=kusto_cluster,
259
261
  name=name,
260
262
  hot_cache_period=hot_cache_period,
261
263
  soft_delete_period=soft_delete_period,
@@ -285,6 +287,35 @@ class Cluster(
285
287
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
286
288
  jsii.set(self, "id", value)
287
289
 
290
+ @builtins.property
291
+ @jsii.member(jsii_name="kustoCluster")
292
+ def kusto_cluster(
293
+ self,
294
+ ) -> _cdktf_cdktf_provider_azurerm_kusto_cluster_92bbcedf.KustoCluster:
295
+ return typing.cast(_cdktf_cdktf_provider_azurerm_kusto_cluster_92bbcedf.KustoCluster, jsii.get(self, "kustoCluster"))
296
+
297
+ @kusto_cluster.setter
298
+ def kusto_cluster(
299
+ self,
300
+ value: _cdktf_cdktf_provider_azurerm_kusto_cluster_92bbcedf.KustoCluster,
301
+ ) -> None:
302
+ if __debug__:
303
+ type_hints = typing.get_type_hints(_typecheckingstub__0157a6315f4124358f06d7da5b69043b2526b9f983006c65b30ef8ffcfa60ef0)
304
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
305
+ jsii.set(self, "kustoCluster", value)
306
+
307
+ @builtins.property
308
+ @jsii.member(jsii_name="name")
309
+ def name(self) -> builtins.str:
310
+ return typing.cast(builtins.str, jsii.get(self, "name"))
311
+
312
+ @name.setter
313
+ def name(self, value: builtins.str) -> None:
314
+ if __debug__:
315
+ type_hints = typing.get_type_hints(_typecheckingstub__40f1a4c9df6897ccaac94d3764a094e3ba84a4738dbbd4de895c4b50ec12ce34)
316
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
317
+ jsii.set(self, "name", value)
318
+
288
319
  @builtins.property
289
320
  @jsii.member(jsii_name="resourceGroup")
290
321
  def resource_group(
@@ -1426,7 +1457,7 @@ class Database(
1426
1457
  scope: _constructs_77d1e7e8.Construct,
1427
1458
  id: builtins.str,
1428
1459
  *,
1429
- kusto: Cluster,
1460
+ kusto_cluster: _cdktf_cdktf_provider_azurerm_kusto_cluster_92bbcedf.KustoCluster,
1430
1461
  name: builtins.str,
1431
1462
  hot_cache_period: typing.Optional[builtins.str] = None,
1432
1463
  soft_delete_period: typing.Optional[builtins.str] = None,
@@ -1441,7 +1472,7 @@ class Database(
1441
1472
 
1442
1473
  :param scope: - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
1443
1474
  :param id: - The unique identifier for this instance of the Kusto database.
1444
- :param kusto: The Azure Kusto cluster to which this database belongs.
1475
+ :param kusto_cluster: The Azure Kusto cluster to which this database belongs.
1445
1476
  :param name: The name of the Kusto Database to create.
1446
1477
  :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
1478
  :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.
@@ -1450,14 +1481,14 @@ class Database(
1450
1481
  type_hints = typing.get_type_hints(_typecheckingstub__5bb7e049648a84a8e486219349a602116b3098bd3ad3df2bebff015ca0877100)
1451
1482
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1452
1483
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1453
- kusto_db_props = DatabaseProps(
1454
- kusto=kusto,
1484
+ props = DatabaseProps(
1485
+ kusto_cluster=kusto_cluster,
1455
1486
  name=name,
1456
1487
  hot_cache_period=hot_cache_period,
1457
1488
  soft_delete_period=soft_delete_period,
1458
1489
  )
1459
1490
 
1460
- jsii.create(self.__class__, self, [scope, id, kusto_db_props])
1491
+ jsii.create(self.__class__, self, [scope, id, props])
1461
1492
 
1462
1493
  @jsii.member(jsii_name="addPermission")
1463
1494
  def add_permission(
@@ -1536,24 +1567,16 @@ class Database(
1536
1567
  return typing.cast(None, jsii.invoke(self, "addTable", [table_name, table_schema]))
1537
1568
 
1538
1569
  @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"))
1570
+ @jsii.member(jsii_name="databaseName")
1571
+ def database_name(self) -> builtins.str:
1572
+ return typing.cast(builtins.str, jsii.get(self, "databaseName"))
1552
1573
 
1553
1574
  @builtins.property
1554
- @jsii.member(jsii_name="rg")
1555
- def rg(self) -> builtins.str:
1556
- return typing.cast(builtins.str, jsii.get(self, "rg"))
1575
+ @jsii.member(jsii_name="kustoDatabase")
1576
+ def kusto_database(
1577
+ self,
1578
+ ) -> _cdktf_cdktf_provider_azurerm_kusto_database_92bbcedf.KustoDatabase:
1579
+ return typing.cast(_cdktf_cdktf_provider_azurerm_kusto_database_92bbcedf.KustoDatabase, jsii.get(self, "kustoDatabase"))
1557
1580
 
1558
1581
 
1559
1582
  @jsii.data_type(
@@ -1656,7 +1679,7 @@ class DatabaseAccessProps:
1656
1679
  jsii_type="@microsoft/terraform-cdk-constructs.azure_kusto.DatabaseProps",
1657
1680
  jsii_struct_bases=[],
1658
1681
  name_mapping={
1659
- "kusto": "kusto",
1682
+ "kusto_cluster": "kustoCluster",
1660
1683
  "name": "name",
1661
1684
  "hot_cache_period": "hotCachePeriod",
1662
1685
  "soft_delete_period": "softDeletePeriod",
@@ -1666,25 +1689,25 @@ class DatabaseProps:
1666
1689
  def __init__(
1667
1690
  self,
1668
1691
  *,
1669
- kusto: Cluster,
1692
+ kusto_cluster: _cdktf_cdktf_provider_azurerm_kusto_cluster_92bbcedf.KustoCluster,
1670
1693
  name: builtins.str,
1671
1694
  hot_cache_period: typing.Optional[builtins.str] = None,
1672
1695
  soft_delete_period: typing.Optional[builtins.str] = None,
1673
1696
  ) -> None:
1674
1697
  '''
1675
- :param kusto: The Azure Kusto cluster to which this database belongs.
1698
+ :param kusto_cluster: The Azure Kusto cluster to which this database belongs.
1676
1699
  :param name: The name of the Kusto Database to create.
1677
1700
  :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
1701
  :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
1702
  '''
1680
1703
  if __debug__:
1681
1704
  type_hints = typing.get_type_hints(_typecheckingstub__0e3ad0dca05483428a48ef2f19255859d30897ae7656132b3c3fb95e3c87dd41)
1682
- check_type(argname="argument kusto", value=kusto, expected_type=type_hints["kusto"])
1705
+ check_type(argname="argument kusto_cluster", value=kusto_cluster, expected_type=type_hints["kusto_cluster"])
1683
1706
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
1684
1707
  check_type(argname="argument hot_cache_period", value=hot_cache_period, expected_type=type_hints["hot_cache_period"])
1685
1708
  check_type(argname="argument soft_delete_period", value=soft_delete_period, expected_type=type_hints["soft_delete_period"])
1686
1709
  self._values: typing.Dict[builtins.str, typing.Any] = {
1687
- "kusto": kusto,
1710
+ "kusto_cluster": kusto_cluster,
1688
1711
  "name": name,
1689
1712
  }
1690
1713
  if hot_cache_period is not None:
@@ -1693,11 +1716,13 @@ class DatabaseProps:
1693
1716
  self._values["soft_delete_period"] = soft_delete_period
1694
1717
 
1695
1718
  @builtins.property
1696
- def kusto(self) -> Cluster:
1719
+ def kusto_cluster(
1720
+ self,
1721
+ ) -> _cdktf_cdktf_provider_azurerm_kusto_cluster_92bbcedf.KustoCluster:
1697
1722
  '''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)
1723
+ result = self._values.get("kusto_cluster")
1724
+ assert result is not None, "Required property 'kusto_cluster' is missing"
1725
+ return typing.cast(_cdktf_cdktf_provider_azurerm_kusto_cluster_92bbcedf.KustoCluster, result)
1701
1726
 
1702
1727
  @builtins.property
1703
1728
  def name(self) -> builtins.str:
@@ -2001,6 +2026,18 @@ def _typecheckingstub__016f667b6e3c9557d441729357d8e19f1db29ec4c5fa78c89b941b80e
2001
2026
  """Type checking stubs"""
2002
2027
  pass
2003
2028
 
2029
+ def _typecheckingstub__0157a6315f4124358f06d7da5b69043b2526b9f983006c65b30ef8ffcfa60ef0(
2030
+ value: _cdktf_cdktf_provider_azurerm_kusto_cluster_92bbcedf.KustoCluster,
2031
+ ) -> None:
2032
+ """Type checking stubs"""
2033
+ pass
2034
+
2035
+ def _typecheckingstub__40f1a4c9df6897ccaac94d3764a094e3ba84a4738dbbd4de895c4b50ec12ce34(
2036
+ value: builtins.str,
2037
+ ) -> None:
2038
+ """Type checking stubs"""
2039
+ pass
2040
+
2004
2041
  def _typecheckingstub__c0eafdbeed8d0f571cae144cb65ce6bc8481d686eaa59bee4308fa65c8e66bac(
2005
2042
  value: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
2006
2043
  ) -> None:
@@ -2385,7 +2422,7 @@ def _typecheckingstub__5bb7e049648a84a8e486219349a602116b3098bd3ad3df2bebff015ca
2385
2422
  scope: _constructs_77d1e7e8.Construct,
2386
2423
  id: builtins.str,
2387
2424
  *,
2388
- kusto: Cluster,
2425
+ kusto_cluster: _cdktf_cdktf_provider_azurerm_kusto_cluster_92bbcedf.KustoCluster,
2389
2426
  name: builtins.str,
2390
2427
  hot_cache_period: typing.Optional[builtins.str] = None,
2391
2428
  soft_delete_period: typing.Optional[builtins.str] = None,
@@ -2420,7 +2457,7 @@ def _typecheckingstub__f8fae0aa1717ffd90e4aa97235cbcc92728a68e132f7574a341b1ff00
2420
2457
 
2421
2458
  def _typecheckingstub__0e3ad0dca05483428a48ef2f19255859d30897ae7656132b3c3fb95e3c87dd41(
2422
2459
  *,
2423
- kusto: Cluster,
2460
+ kusto_cluster: _cdktf_cdktf_provider_azurerm_kusto_cluster_92bbcedf.KustoCluster,
2424
2461
  name: builtins.str,
2425
2462
  hot_cache_period: typing.Optional[builtins.str] = None,
2426
2463
  soft_delete_period: typing.Optional[builtins.str] = None,
@@ -74,6 +74,7 @@ from typeguard import check_type
74
74
 
75
75
  from .._jsii import *
76
76
 
77
+ import cdktf_cdktf_provider_azurerm.log_analytics_workspace as _cdktf_cdktf_provider_azurerm_log_analytics_workspace_92bbcedf
77
78
  import cdktf_cdktf_provider_azurerm.resource_group as _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf
78
79
  import constructs as _constructs_77d1e7e8
79
80
  from ..core_azure import AzureResourceWithAlert as _AzureResourceWithAlert_c2e3918b
@@ -402,6 +403,23 @@ class Workspace(
402
403
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
403
404
  jsii.set(self, "id", value)
404
405
 
406
+ @builtins.property
407
+ @jsii.member(jsii_name="logAnalyticsWorkspace")
408
+ def log_analytics_workspace(
409
+ self,
410
+ ) -> _cdktf_cdktf_provider_azurerm_log_analytics_workspace_92bbcedf.LogAnalyticsWorkspace:
411
+ return typing.cast(_cdktf_cdktf_provider_azurerm_log_analytics_workspace_92bbcedf.LogAnalyticsWorkspace, jsii.get(self, "logAnalyticsWorkspace"))
412
+
413
+ @log_analytics_workspace.setter
414
+ def log_analytics_workspace(
415
+ self,
416
+ value: _cdktf_cdktf_provider_azurerm_log_analytics_workspace_92bbcedf.LogAnalyticsWorkspace,
417
+ ) -> None:
418
+ if __debug__:
419
+ type_hints = typing.get_type_hints(_typecheckingstub__c0570eb61e090baa69e246a74a7224f2aca7f8b547b93b2c582f5c9e2373ece7)
420
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
421
+ jsii.set(self, "logAnalyticsWorkspace", value)
422
+
405
423
  @builtins.property
406
424
  @jsii.member(jsii_name="resourceGroup")
407
425
  def resource_group(
@@ -630,6 +648,12 @@ def _typecheckingstub__fa7b3ef950990b4ad74ea33f5b0224eec4f1bd8fb010b54633df1acd9
630
648
  """Type checking stubs"""
631
649
  pass
632
650
 
651
+ def _typecheckingstub__c0570eb61e090baa69e246a74a7224f2aca7f8b547b93b2c582f5c9e2373ece7(
652
+ value: _cdktf_cdktf_provider_azurerm_log_analytics_workspace_92bbcedf.LogAnalyticsWorkspace,
653
+ ) -> None:
654
+ """Type checking stubs"""
655
+ pass
656
+
633
657
  def _typecheckingstub__00b55aca11d305b98099eb2df158e8fa57cd3e0c3d030b73e6a5747016e428b1(
634
658
  value: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
635
659
  ) -> None:
@@ -166,6 +166,7 @@ class Account(
166
166
  min_tls_version: typing.Optional[builtins.str] = None,
167
167
  public_network_access_enabled: typing.Optional[builtins.bool] = None,
168
168
  resource_group: typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup] = None,
169
+ shared_access_key_enabled: typing.Optional[builtins.bool] = None,
169
170
  tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
170
171
  ) -> None:
171
172
  '''Represents an Azure Storage Account within a Terraform deployment.
@@ -189,6 +190,7 @@ class Account(
189
190
  :param min_tls_version: The minimum TLS version to be used for securing connections to the storage account. Example values: TLS1_0, TLS1_1, TLS1_2.
190
191
  :param public_network_access_enabled: A boolean flag indicating whether public network access to the storage account is allowed.
191
192
  :param resource_group: The name of the Azure resource group in which to create the storage account.
193
+ :param shared_access_key_enabled: Indicates whether the storage account permits requests to be authorized with the account access key via Shared Key. If false, then all requests, including shared access signatures, must be authorized with Azure Active Directory (Azure AD). Terraform uses Shared Key Authorisation to provision Storage Containers, Blobs and other items - when Shared Key Access is disabled, you will need to enable the storage_use_azuread flag in the Provider block to use Azure AD for authentication, however not all Azure Storage services support Active Directory authentication.
192
194
  :param tags: Tags to apply to the storage account, used for categorization and billing purposes. Format: { [key: string]: string }
193
195
  '''
194
196
  if __debug__:
@@ -208,6 +210,7 @@ class Account(
208
210
  min_tls_version=min_tls_version,
209
211
  public_network_access_enabled=public_network_access_enabled,
210
212
  resource_group=resource_group,
213
+ shared_access_key_enabled=shared_access_key_enabled,
211
214
  tags=tags,
212
215
  )
213
216
 
@@ -465,6 +468,7 @@ class Account(
465
468
  "min_tls_version": "minTlsVersion",
466
469
  "public_network_access_enabled": "publicNetworkAccessEnabled",
467
470
  "resource_group": "resourceGroup",
471
+ "shared_access_key_enabled": "sharedAccessKeyEnabled",
468
472
  "tags": "tags",
469
473
  },
470
474
  )
@@ -484,6 +488,7 @@ class AccountProps:
484
488
  min_tls_version: typing.Optional[builtins.str] = None,
485
489
  public_network_access_enabled: typing.Optional[builtins.bool] = None,
486
490
  resource_group: typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup] = None,
491
+ shared_access_key_enabled: typing.Optional[builtins.bool] = None,
487
492
  tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
488
493
  ) -> None:
489
494
  '''
@@ -499,6 +504,7 @@ class AccountProps:
499
504
  :param min_tls_version: The minimum TLS version to be used for securing connections to the storage account. Example values: TLS1_0, TLS1_1, TLS1_2.
500
505
  :param public_network_access_enabled: A boolean flag indicating whether public network access to the storage account is allowed.
501
506
  :param resource_group: The name of the Azure resource group in which to create the storage account.
507
+ :param shared_access_key_enabled: Indicates whether the storage account permits requests to be authorized with the account access key via Shared Key. If false, then all requests, including shared access signatures, must be authorized with Azure Active Directory (Azure AD). Terraform uses Shared Key Authorisation to provision Storage Containers, Blobs and other items - when Shared Key Access is disabled, you will need to enable the storage_use_azuread flag in the Provider block to use Azure AD for authentication, however not all Azure Storage services support Active Directory authentication.
502
508
  :param tags: Tags to apply to the storage account, used for categorization and billing purposes. Format: { [key: string]: string }
503
509
  '''
504
510
  if __debug__:
@@ -515,6 +521,7 @@ class AccountProps:
515
521
  check_type(argname="argument min_tls_version", value=min_tls_version, expected_type=type_hints["min_tls_version"])
516
522
  check_type(argname="argument public_network_access_enabled", value=public_network_access_enabled, expected_type=type_hints["public_network_access_enabled"])
517
523
  check_type(argname="argument resource_group", value=resource_group, expected_type=type_hints["resource_group"])
524
+ check_type(argname="argument shared_access_key_enabled", value=shared_access_key_enabled, expected_type=type_hints["shared_access_key_enabled"])
518
525
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
519
526
  self._values: typing.Dict[builtins.str, typing.Any] = {
520
527
  "location": location,
@@ -540,6 +547,8 @@ class AccountProps:
540
547
  self._values["public_network_access_enabled"] = public_network_access_enabled
541
548
  if resource_group is not None:
542
549
  self._values["resource_group"] = resource_group
550
+ if shared_access_key_enabled is not None:
551
+ self._values["shared_access_key_enabled"] = shared_access_key_enabled
543
552
  if tags is not None:
544
553
  self._values["tags"] = tags
545
554
 
@@ -639,6 +648,16 @@ class AccountProps:
639
648
  result = self._values.get("resource_group")
640
649
  return typing.cast(typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup], result)
641
650
 
651
+ @builtins.property
652
+ def shared_access_key_enabled(self) -> typing.Optional[builtins.bool]:
653
+ '''Indicates whether the storage account permits requests to be authorized with the account access key via Shared Key.
654
+
655
+ If false, then all requests, including shared access signatures, must be authorized with Azure Active Directory (Azure AD).
656
+ Terraform uses Shared Key Authorisation to provision Storage Containers, Blobs and other items - when Shared Key Access is disabled, you will need to enable the storage_use_azuread flag in the Provider block to use Azure AD for authentication, however not all Azure Storage services support Active Directory authentication.
657
+ '''
658
+ result = self._values.get("shared_access_key_enabled")
659
+ return typing.cast(typing.Optional[builtins.bool], result)
660
+
642
661
  @builtins.property
643
662
  def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
644
663
  '''Tags to apply to the storage account, used for categorization and billing purposes.
@@ -1618,6 +1637,7 @@ def _typecheckingstub__6cf8d651224015dd5f566f70fa4f6451c4aa70245e080717f03189f59
1618
1637
  min_tls_version: typing.Optional[builtins.str] = None,
1619
1638
  public_network_access_enabled: typing.Optional[builtins.bool] = None,
1620
1639
  resource_group: typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup] = None,
1640
+ shared_access_key_enabled: typing.Optional[builtins.bool] = None,
1621
1641
  tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1622
1642
  ) -> None:
1623
1643
  """Type checking stubs"""
@@ -1683,6 +1703,7 @@ def _typecheckingstub__d0072c193a9790f4f261e3f6c7c6cad7d13e9d662dc060adff5d380ad
1683
1703
  min_tls_version: typing.Optional[builtins.str] = None,
1684
1704
  public_network_access_enabled: typing.Optional[builtins.bool] = None,
1685
1705
  resource_group: typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup] = None,
1706
+ shared_access_key_enabled: typing.Optional[builtins.bool] = None,
1686
1707
  tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1687
1708
  ) -> None:
1688
1709
  """Type checking stubs"""
@@ -224,6 +224,7 @@ class LinuxVM(
224
224
  custom_data: typing.Optional[builtins.str] = None,
225
225
  enable_ssh_azure_ad_login: typing.Optional[builtins.bool] = None,
226
226
  identity: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_linux_virtual_machine_92bbcedf.LinuxVirtualMachineIdentity, typing.Dict[builtins.str, typing.Any]]] = None,
227
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
227
228
  location: typing.Optional[builtins.str] = None,
228
229
  name: typing.Optional[builtins.str] = None,
229
230
  os_disk: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_linux_virtual_machine_92bbcedf.LinuxVirtualMachineOsDisk, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -255,6 +256,7 @@ class LinuxVM(
255
256
  :param custom_data: Custom data to pass to the virtual machine upon creation.
256
257
  :param enable_ssh_azure_ad_login: Enable SSH Azure AD Login, required managed identity to be set.
257
258
  :param identity: Managed identity settings for the VM.
259
+ :param lifecycle: Lifecycle settings for the Terraform resource.
258
260
  :param location: The Azure location where the virtual machine should be created. Default: "eastus"
259
261
  :param name: The name of the virtual machine. Default: - Uses the name derived from the construct path.
260
262
  :param os_disk: The OS disk configuration for the virtual machine. Default: - Uses a disk with caching set to "ReadWrite" and storage account type "Standard_LRS".
@@ -283,6 +285,7 @@ class LinuxVM(
283
285
  custom_data=custom_data,
284
286
  enable_ssh_azure_ad_login=enable_ssh_azure_ad_login,
285
287
  identity=identity,
288
+ lifecycle=lifecycle,
286
289
  location=location,
287
290
  name=name,
288
291
  os_disk=os_disk,
@@ -358,6 +361,7 @@ class LinuxVM(
358
361
  "custom_data": "customData",
359
362
  "enable_ssh_azure_ad_login": "enableSshAzureADLogin",
360
363
  "identity": "identity",
364
+ "lifecycle": "lifecycle",
361
365
  "location": "location",
362
366
  "name": "name",
363
367
  "os_disk": "osDisk",
@@ -386,6 +390,7 @@ class LinuxVMProps:
386
390
  custom_data: typing.Optional[builtins.str] = None,
387
391
  enable_ssh_azure_ad_login: typing.Optional[builtins.bool] = None,
388
392
  identity: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_linux_virtual_machine_92bbcedf.LinuxVirtualMachineIdentity, typing.Dict[builtins.str, typing.Any]]] = None,
393
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
389
394
  location: typing.Optional[builtins.str] = None,
390
395
  name: typing.Optional[builtins.str] = None,
391
396
  os_disk: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_linux_virtual_machine_92bbcedf.LinuxVirtualMachineOsDisk, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -410,6 +415,7 @@ class LinuxVMProps:
410
415
  :param custom_data: Custom data to pass to the virtual machine upon creation.
411
416
  :param enable_ssh_azure_ad_login: Enable SSH Azure AD Login, required managed identity to be set.
412
417
  :param identity: Managed identity settings for the VM.
418
+ :param lifecycle: Lifecycle settings for the Terraform resource.
413
419
  :param location: The Azure location where the virtual machine should be created. Default: "eastus"
414
420
  :param name: The name of the virtual machine. Default: - Uses the name derived from the construct path.
415
421
  :param os_disk: The OS disk configuration for the virtual machine. Default: - Uses a disk with caching set to "ReadWrite" and storage account type "Standard_LRS".
@@ -428,6 +434,8 @@ class LinuxVMProps:
428
434
  additional_capabilities = _cdktf_cdktf_provider_azurerm_linux_virtual_machine_92bbcedf.LinuxVirtualMachineAdditionalCapabilities(**additional_capabilities)
429
435
  if isinstance(identity, dict):
430
436
  identity = _cdktf_cdktf_provider_azurerm_linux_virtual_machine_92bbcedf.LinuxVirtualMachineIdentity(**identity)
437
+ if isinstance(lifecycle, dict):
438
+ lifecycle = _cdktf_9a9027ec.TerraformResourceLifecycle(**lifecycle)
431
439
  if isinstance(os_disk, dict):
432
440
  os_disk = _cdktf_cdktf_provider_azurerm_linux_virtual_machine_92bbcedf.LinuxVirtualMachineOsDisk(**os_disk)
433
441
  if isinstance(source_image_reference, dict):
@@ -443,6 +451,7 @@ class LinuxVMProps:
443
451
  check_type(argname="argument custom_data", value=custom_data, expected_type=type_hints["custom_data"])
444
452
  check_type(argname="argument enable_ssh_azure_ad_login", value=enable_ssh_azure_ad_login, expected_type=type_hints["enable_ssh_azure_ad_login"])
445
453
  check_type(argname="argument identity", value=identity, expected_type=type_hints["identity"])
454
+ check_type(argname="argument lifecycle", value=lifecycle, expected_type=type_hints["lifecycle"])
446
455
  check_type(argname="argument location", value=location, expected_type=type_hints["location"])
447
456
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
448
457
  check_type(argname="argument os_disk", value=os_disk, expected_type=type_hints["os_disk"])
@@ -475,6 +484,8 @@ class LinuxVMProps:
475
484
  self._values["enable_ssh_azure_ad_login"] = enable_ssh_azure_ad_login
476
485
  if identity is not None:
477
486
  self._values["identity"] = identity
487
+ if lifecycle is not None:
488
+ self._values["lifecycle"] = lifecycle
478
489
  if location is not None:
479
490
  self._values["location"] = location
480
491
  if name is not None:
@@ -562,6 +573,20 @@ class LinuxVMProps:
562
573
  result = self._values.get("identity")
563
574
  return typing.cast(typing.Optional[_cdktf_cdktf_provider_azurerm_linux_virtual_machine_92bbcedf.LinuxVirtualMachineIdentity], result)
564
575
 
576
+ @builtins.property
577
+ def lifecycle(self) -> typing.Optional[_cdktf_9a9027ec.TerraformResourceLifecycle]:
578
+ '''Lifecycle settings for the Terraform resource.
579
+
580
+ :remarks:
581
+
582
+ This property specifies the lifecycle customizations for the Terraform resource,
583
+ allowing you to define specific actions to be taken during the lifecycle of the
584
+ resource. It can include settings such as create before destroy, prevent destroy,
585
+ ignore changes, etc.
586
+ '''
587
+ result = self._values.get("lifecycle")
588
+ return typing.cast(typing.Optional[_cdktf_9a9027ec.TerraformResourceLifecycle], result)
589
+
565
590
  @builtins.property
566
591
  def location(self) -> typing.Optional[builtins.str]:
567
592
  '''The Azure location where the virtual machine should be created.
@@ -876,6 +901,7 @@ class WindowsVM(
876
901
  boostrap_custom_data: typing.Optional[builtins.str] = None,
877
902
  boot_diagnostics_storage_uri: typing.Optional[builtins.str] = None,
878
903
  custom_data: typing.Optional[builtins.str] = None,
904
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
879
905
  location: typing.Optional[builtins.str] = None,
880
906
  name: typing.Optional[builtins.str] = None,
881
907
  os_disk: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_windows_virtual_machine_92bbcedf.WindowsVirtualMachineOsDisk, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -900,6 +926,7 @@ class WindowsVM(
900
926
  :param boostrap_custom_data: Custom data to bootstrap the virtual machine. Automatically triggers Azure Custom Script extension to deploy code in custom data.
901
927
  :param boot_diagnostics_storage_uri: Bootdiagnostics settings for the VM.
902
928
  :param custom_data: Custom data to pass to the virtual machine upon creation.
929
+ :param lifecycle: Lifecycle settings for the Terraform resource.
903
930
  :param location: The Azure location where the virtual machine should be created. Default: "eastus"
904
931
  :param name: The name of the virtual machine. Default: - Uses the name derived from the construct path.
905
932
  :param os_disk: The OS disk configuration for the virtual machine. Default: - Uses a disk with caching set to "ReadWrite" and storage account type "Standard_LRS".
@@ -921,6 +948,7 @@ class WindowsVM(
921
948
  boostrap_custom_data=boostrap_custom_data,
922
949
  boot_diagnostics_storage_uri=boot_diagnostics_storage_uri,
923
950
  custom_data=custom_data,
951
+ lifecycle=lifecycle,
924
952
  location=location,
925
953
  name=name,
926
954
  os_disk=os_disk,
@@ -989,6 +1017,7 @@ class WindowsVM(
989
1017
  "boostrap_custom_data": "boostrapCustomData",
990
1018
  "boot_diagnostics_storage_uri": "bootDiagnosticsStorageURI",
991
1019
  "custom_data": "customData",
1020
+ "lifecycle": "lifecycle",
992
1021
  "location": "location",
993
1022
  "name": "name",
994
1023
  "os_disk": "osDisk",
@@ -1010,6 +1039,7 @@ class WindowsVMProps:
1010
1039
  boostrap_custom_data: typing.Optional[builtins.str] = None,
1011
1040
  boot_diagnostics_storage_uri: typing.Optional[builtins.str] = None,
1012
1041
  custom_data: typing.Optional[builtins.str] = None,
1042
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
1013
1043
  location: typing.Optional[builtins.str] = None,
1014
1044
  name: typing.Optional[builtins.str] = None,
1015
1045
  os_disk: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_windows_virtual_machine_92bbcedf.WindowsVirtualMachineOsDisk, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -1027,6 +1057,7 @@ class WindowsVMProps:
1027
1057
  :param boostrap_custom_data: Custom data to bootstrap the virtual machine. Automatically triggers Azure Custom Script extension to deploy code in custom data.
1028
1058
  :param boot_diagnostics_storage_uri: Bootdiagnostics settings for the VM.
1029
1059
  :param custom_data: Custom data to pass to the virtual machine upon creation.
1060
+ :param lifecycle: Lifecycle settings for the Terraform resource.
1030
1061
  :param location: The Azure location where the virtual machine should be created. Default: "eastus"
1031
1062
  :param name: The name of the virtual machine. Default: - Uses the name derived from the construct path.
1032
1063
  :param os_disk: The OS disk configuration for the virtual machine. Default: - Uses a disk with caching set to "ReadWrite" and storage account type "Standard_LRS".
@@ -1038,6 +1069,8 @@ class WindowsVMProps:
1038
1069
  :param subnet: The subnet in which the virtual machine will be placed. Default: - Uses the default subnet from a new virtual network.
1039
1070
  :param tags: Tags to apply to the virtual machine.
1040
1071
  '''
1072
+ if isinstance(lifecycle, dict):
1073
+ lifecycle = _cdktf_9a9027ec.TerraformResourceLifecycle(**lifecycle)
1041
1074
  if isinstance(os_disk, dict):
1042
1075
  os_disk = _cdktf_cdktf_provider_azurerm_windows_virtual_machine_92bbcedf.WindowsVirtualMachineOsDisk(**os_disk)
1043
1076
  if isinstance(source_image_reference, dict):
@@ -1049,6 +1082,7 @@ class WindowsVMProps:
1049
1082
  check_type(argname="argument boostrap_custom_data", value=boostrap_custom_data, expected_type=type_hints["boostrap_custom_data"])
1050
1083
  check_type(argname="argument boot_diagnostics_storage_uri", value=boot_diagnostics_storage_uri, expected_type=type_hints["boot_diagnostics_storage_uri"])
1051
1084
  check_type(argname="argument custom_data", value=custom_data, expected_type=type_hints["custom_data"])
1085
+ check_type(argname="argument lifecycle", value=lifecycle, expected_type=type_hints["lifecycle"])
1052
1086
  check_type(argname="argument location", value=location, expected_type=type_hints["location"])
1053
1087
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
1054
1088
  check_type(argname="argument os_disk", value=os_disk, expected_type=type_hints["os_disk"])
@@ -1069,6 +1103,8 @@ class WindowsVMProps:
1069
1103
  self._values["boot_diagnostics_storage_uri"] = boot_diagnostics_storage_uri
1070
1104
  if custom_data is not None:
1071
1105
  self._values["custom_data"] = custom_data
1106
+ if lifecycle is not None:
1107
+ self._values["lifecycle"] = lifecycle
1072
1108
  if location is not None:
1073
1109
  self._values["location"] = location
1074
1110
  if name is not None:
@@ -1125,6 +1161,20 @@ class WindowsVMProps:
1125
1161
  result = self._values.get("custom_data")
1126
1162
  return typing.cast(typing.Optional[builtins.str], result)
1127
1163
 
1164
+ @builtins.property
1165
+ def lifecycle(self) -> typing.Optional[_cdktf_9a9027ec.TerraformResourceLifecycle]:
1166
+ '''Lifecycle settings for the Terraform resource.
1167
+
1168
+ :remarks:
1169
+
1170
+ This property specifies the lifecycle customizations for the Terraform resource,
1171
+ allowing you to define specific actions to be taken during the lifecycle of the
1172
+ resource. It can include settings such as create before destroy, prevent destroy,
1173
+ ignore changes, etc.
1174
+ '''
1175
+ result = self._values.get("lifecycle")
1176
+ return typing.cast(typing.Optional[_cdktf_9a9027ec.TerraformResourceLifecycle], result)
1177
+
1128
1178
  @builtins.property
1129
1179
  def location(self) -> typing.Optional[builtins.str]:
1130
1180
  '''The Azure location where the virtual machine should be created.
@@ -1286,6 +1336,7 @@ def _typecheckingstub__4503c856086be09ccd03fad9fec5fa5a06773c3e3cfd91a62ac778582
1286
1336
  custom_data: typing.Optional[builtins.str] = None,
1287
1337
  enable_ssh_azure_ad_login: typing.Optional[builtins.bool] = None,
1288
1338
  identity: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_linux_virtual_machine_92bbcedf.LinuxVirtualMachineIdentity, typing.Dict[builtins.str, typing.Any]]] = None,
1339
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
1289
1340
  location: typing.Optional[builtins.str] = None,
1290
1341
  name: typing.Optional[builtins.str] = None,
1291
1342
  os_disk: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_linux_virtual_machine_92bbcedf.LinuxVirtualMachineOsDisk, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -1326,6 +1377,7 @@ def _typecheckingstub__53d88c32a57de5faac8a76fe382df39f974f727204f91f8ebede45487
1326
1377
  custom_data: typing.Optional[builtins.str] = None,
1327
1378
  enable_ssh_azure_ad_login: typing.Optional[builtins.bool] = None,
1328
1379
  identity: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_linux_virtual_machine_92bbcedf.LinuxVirtualMachineIdentity, typing.Dict[builtins.str, typing.Any]]] = None,
1380
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
1329
1381
  location: typing.Optional[builtins.str] = None,
1330
1382
  name: typing.Optional[builtins.str] = None,
1331
1383
  os_disk: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_linux_virtual_machine_92bbcedf.LinuxVirtualMachineOsDisk, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -1412,6 +1464,7 @@ def _typecheckingstub__bc4ad31f1b205600bc2a349d409b5768c7caa371a75834fb6702709fa
1412
1464
  boostrap_custom_data: typing.Optional[builtins.str] = None,
1413
1465
  boot_diagnostics_storage_uri: typing.Optional[builtins.str] = None,
1414
1466
  custom_data: typing.Optional[builtins.str] = None,
1467
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
1415
1468
  location: typing.Optional[builtins.str] = None,
1416
1469
  name: typing.Optional[builtins.str] = None,
1417
1470
  os_disk: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_windows_virtual_machine_92bbcedf.WindowsVirtualMachineOsDisk, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -1445,6 +1498,7 @@ def _typecheckingstub__c829d260403fdd4cef500aeb0808fafc9d26c9425d70d31f1740bccd1
1445
1498
  boostrap_custom_data: typing.Optional[builtins.str] = None,
1446
1499
  boot_diagnostics_storage_uri: typing.Optional[builtins.str] = None,
1447
1500
  custom_data: typing.Optional[builtins.str] = None,
1501
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
1448
1502
  location: typing.Optional[builtins.str] = None,
1449
1503
  name: typing.Optional[builtins.str] = None,
1450
1504
  os_disk: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_windows_virtual_machine_92bbcedf.WindowsVirtualMachineOsDisk, typing.Dict[builtins.str, typing.Any]]] = None,