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,1910 @@
1
+ '''
2
+ # Azure Storage Account Construct
3
+
4
+ This documentation covers the Azure Storage Account Construct, a comprehensive class for managing various storage solutions within Azure. It provides a convenient and efficient way to deploy and manage Azure Storage resources, including Containers, File Shares, Tables, Queues, and Network Rules.
5
+
6
+ ## What is Azure Storage Account?
7
+
8
+ Azure Storage Account offers a scalable and secure place for storing data in the cloud. It supports a variety of data objects such as blobs, files, queues, and tables, making it ideal for a wide range of storage scenarios.
9
+
10
+ Learn more about Azure Storage Account in the official Azure documentation.
11
+
12
+ ## Best Practices for Azure Storage Account
13
+
14
+ Use different storage accounts for different types of data to optimize performance.
15
+ Enable secure transfer to ensure data is encrypted during transit.
16
+ Implement access policies and use Azure Active Directory (AAD) for authentication.
17
+ Regularly monitor and audit your storage account activity.
18
+ Azure Storage Account Class Properties
19
+ The class has several properties to customize the behavior of the Storage Account:
20
+
21
+ * **name**: Unique name of the Storage Account.
22
+ * **location**: Azure Region for the Storage Account deployment.
23
+ * **resourceGroup**: Azure Resource Group to which the Storage Account belongs.
24
+ * **tags**: Key-value pairs for resource categorization.
25
+ * **accountReplicationType**: Type of data replication (e.g., LRS, GRS).
26
+ * **accountTier**: Performance tier (Standard, Premium).
27
+
28
+ Additional properties like enableHttpsTrafficOnly, accessTier, isHnsEnabled, etc.
29
+
30
+ ## Deploying the Azure Storage Account
31
+
32
+ ```python
33
+ const storageAccount = new AzureStorageAccount(this, 'storageaccount', {
34
+ name: 'myStorageAccount',
35
+ location: 'East US',
36
+ resourceGroup: myResourceGroup,
37
+ accountReplicationType: 'LRS',
38
+ accountTier: 'Standard',
39
+ // Other properties
40
+ });
41
+ ```
42
+
43
+ This code snippet creates a new Storage Account with specified properties.
44
+
45
+ ### Creating a Storage Container
46
+
47
+ Containers in Azure Blob Storage are used to store blobs. Here's how to deploy a Container:
48
+
49
+ ```python
50
+ const storageAccount = new AzureStorageAccount(this, 'storageaccount', {
51
+ name: 'myStorageAccount',
52
+ location: 'East US',
53
+ });
54
+
55
+ const storageContainer = storageAccount.addContainer("myContainer");
56
+ // Upload a local file to blob storage
57
+ storageContainer.addBlob("testblob.txt", "../../../test.txt")
58
+ ```
59
+
60
+ This will create a new container named myContainer in the Storage Account and upload a local file to the Container as blob storage.
61
+
62
+ ### Deploying a File Share
63
+
64
+ Azure File Share provides managed file shares for cloud or on-premises deployments. To deploy a File Share:
65
+
66
+ ```python
67
+ const storageAccount = new AzureStorageAccount(this, 'storageaccount', {
68
+ name: 'myStorageAccount',
69
+ location: 'East US',
70
+ });
71
+
72
+ const storageFileShare = storageAccount.addFileShare("testshare")
73
+ // Upload a local file to the share
74
+ storageFileShare.addFile("testfile.txt", "../../../test.txt")
75
+ ```
76
+
77
+ ### Creating a Storage Table
78
+
79
+ Azure Table Storage offers NoSQL data storage for large-scale applications. Here's how to create a Table:
80
+
81
+ ```python
82
+ const storageAccount = new AzureStorageAccount(this, 'storageaccount', {
83
+ name: 'myStorageAccount',
84
+ location: 'East US',
85
+ });
86
+
87
+ const storageTable = storageAccount.addTable("myTable")
88
+ ```
89
+
90
+ ### Adding a Queue
91
+
92
+ Azure Queue Storage enables storing large numbers of messages. To create a Queue:
93
+
94
+ ```python
95
+ const queue = storageAccount.addQueue("myQueue")
96
+ ```
97
+
98
+ ### Configuring Network Rules
99
+
100
+ Network rules add an additional layer of security. Here's how to set them up:
101
+
102
+ ```python
103
+ const storageAccount = new AzureStorageAccount(this, 'storageaccount', {
104
+ name: 'myStorageAccount',
105
+ location: 'East US',
106
+ });
107
+
108
+ storageAccount.addNetworkRules({
109
+ bypass: ["AzureServices"],
110
+ defaultAction: "Deny",
111
+ ipRules: ["1.2.3.4/32"],
112
+ });
113
+ ```
114
+
115
+ This will configure network rules for your Storage Account according to the specified properties.
116
+ '''
117
+ from pkgutil import extend_path
118
+ __path__ = extend_path(__path__, __name__)
119
+
120
+ import abc
121
+ import builtins
122
+ import datetime
123
+ import enum
124
+ import typing
125
+
126
+ import jsii
127
+ import publication
128
+ import typing_extensions
129
+
130
+ from typeguard import check_type
131
+
132
+ from .._jsii import *
133
+
134
+ import cdktf as _cdktf_9a9027ec
135
+ import cdktf_cdktf_provider_azurerm.resource_group as _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf
136
+ import cdktf_cdktf_provider_azurerm.storage_account_network_rules as _cdktf_cdktf_provider_azurerm_storage_account_network_rules_92bbcedf
137
+ import cdktf_cdktf_provider_azurerm.storage_blob as _cdktf_cdktf_provider_azurerm_storage_blob_92bbcedf
138
+ import cdktf_cdktf_provider_azurerm.storage_container as _cdktf_cdktf_provider_azurerm_storage_container_92bbcedf
139
+ import cdktf_cdktf_provider_azurerm.storage_queue as _cdktf_cdktf_provider_azurerm_storage_queue_92bbcedf
140
+ import cdktf_cdktf_provider_azurerm.storage_share as _cdktf_cdktf_provider_azurerm_storage_share_92bbcedf
141
+ import cdktf_cdktf_provider_azurerm.storage_share_file as _cdktf_cdktf_provider_azurerm_storage_share_file_92bbcedf
142
+ import cdktf_cdktf_provider_azurerm.storage_table as _cdktf_cdktf_provider_azurerm_storage_table_92bbcedf
143
+ import constructs as _constructs_77d1e7e8
144
+ from ..core_azure import AzureResourceWithAlert as _AzureResourceWithAlert_c2e3918b
145
+
146
+
147
+ class Account(
148
+ _AzureResourceWithAlert_c2e3918b,
149
+ metaclass=jsii.JSIIMeta,
150
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_storageaccount.Account",
151
+ ):
152
+ def __init__(
153
+ self,
154
+ scope: _constructs_77d1e7e8.Construct,
155
+ id: builtins.str,
156
+ *,
157
+ location: builtins.str,
158
+ name: builtins.str,
159
+ access_tier: typing.Optional[builtins.str] = None,
160
+ account_kind: typing.Optional[builtins.str] = None,
161
+ account_replication_type: typing.Optional[builtins.str] = None,
162
+ account_tier: typing.Optional[builtins.str] = None,
163
+ enable_https_traffic_only: typing.Optional[builtins.bool] = None,
164
+ identity: typing.Any = None,
165
+ is_hns_enabled: typing.Optional[builtins.bool] = None,
166
+ min_tls_version: typing.Optional[builtins.str] = None,
167
+ public_network_access_enabled: typing.Optional[builtins.bool] = None,
168
+ resource_group: typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup] = None,
169
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
170
+ ) -> None:
171
+ '''Represents an Azure Storage Account within a Terraform deployment.
172
+
173
+ This class is responsible for the creation and management of an Azure Storage Account, which is a scalable and secure service
174
+ for storing large amounts of unstructured data that can be accessed from anywhere in the world over HTTP or HTTPS. Common uses
175
+ of the Azure Storage Account include storing of blobs (objects), file shares, tables, and queues. This class provides methods
176
+ to manage storage resources, configure network rules, and integrate with Azure Active Directory for secure access management.
177
+
178
+ :param scope: - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
179
+ :param id: - The unique identifier for this instance of the storage account.
180
+ :param location: The Azure region in which to create the storage account.
181
+ :param name: The name of the storage account. Must be unique across Azure.
182
+ :param access_tier: The data access tier of the storage account, which impacts storage costs and data retrieval speeds. Example values: Hot, Cool.
183
+ :param account_kind: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.92.0/docs/resources/storage_account#account_kind StorageAccount#account_kind}.
184
+ :param account_replication_type: The type of replication to use for the storage account. This determines how your data is replicated across Azure's infrastructure. Example values: LRS (Locally Redundant Storage), GRS (Geo-Redundant Storage), RAGRS (Read Access Geo-Redundant Storage).
185
+ :param account_tier: The performance tier of the storage account. Determines the type of hardware and performance level. Example values: Standard, Premium.
186
+ :param enable_https_traffic_only: A boolean flag indicating whether to enforce HTTPS for data transfer to the storage account.
187
+ :param identity: Managed Service Identity (MSI) details. Used for enabling and managing Azure Active Directory (AAD) authentication.
188
+ :param is_hns_enabled: A flag indicating whether the Hierarchical Namespace (HNS) is enabled, which is required for Azure Data Lake Storage Gen2 features.
189
+ :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
+ :param public_network_access_enabled: A boolean flag indicating whether public network access to the storage account is allowed.
191
+ :param resource_group: The name of the Azure resource group in which to create the storage account.
192
+ :param tags: Tags to apply to the storage account, used for categorization and billing purposes. Format: { [key: string]: string }
193
+ '''
194
+ if __debug__:
195
+ type_hints = typing.get_type_hints(_typecheckingstub__6cf8d651224015dd5f566f70fa4f6451c4aa70245e080717f03189f597288cda)
196
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
197
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
198
+ props = AccountProps(
199
+ location=location,
200
+ name=name,
201
+ access_tier=access_tier,
202
+ account_kind=account_kind,
203
+ account_replication_type=account_replication_type,
204
+ account_tier=account_tier,
205
+ enable_https_traffic_only=enable_https_traffic_only,
206
+ identity=identity,
207
+ is_hns_enabled=is_hns_enabled,
208
+ min_tls_version=min_tls_version,
209
+ public_network_access_enabled=public_network_access_enabled,
210
+ resource_group=resource_group,
211
+ tags=tags,
212
+ )
213
+
214
+ jsii.create(self.__class__, self, [scope, id, props])
215
+
216
+ @jsii.member(jsii_name="addContainer")
217
+ def add_container(
218
+ self,
219
+ name: builtins.str,
220
+ container_access_type: typing.Optional[builtins.str] = None,
221
+ metadata: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
222
+ ) -> "Container":
223
+ '''Adds a new container to the storage account.
224
+
225
+ :param name: The name of the container. It must be unique within the storage account.
226
+ :param container_access_type: The level of public access to the container. Defaults to 'private'.
227
+ :param metadata: Optional metadata for the container as key-value pairs.
228
+
229
+ :return: The created Container instance.
230
+
231
+ :throws:
232
+
233
+ Error if a container with the same name already exists within the storage account.
234
+
235
+ This method creates a new container within the Azure storage account, allowing for the specification of access
236
+ level and metadata. If the container already exists, it throws an error to prevent duplication.
237
+
238
+ Example usage::
239
+
240
+ const container = storageAccount.addContainer('myContainer', 'private', { owner: 'IT' });
241
+ '''
242
+ if __debug__:
243
+ type_hints = typing.get_type_hints(_typecheckingstub__1507cad6d96c6bff9c8948d2fc2dc3b492f45668b2d27256eeeb72784ce61712)
244
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
245
+ check_type(argname="argument container_access_type", value=container_access_type, expected_type=type_hints["container_access_type"])
246
+ check_type(argname="argument metadata", value=metadata, expected_type=type_hints["metadata"])
247
+ return typing.cast("Container", jsii.invoke(self, "addContainer", [name, container_access_type, metadata]))
248
+
249
+ @jsii.member(jsii_name="addFileShare")
250
+ def add_file_share(
251
+ self,
252
+ name: builtins.str,
253
+ *,
254
+ access_tier: typing.Optional[builtins.str] = None,
255
+ acl: typing.Any = None,
256
+ enabled_protocol: typing.Optional[builtins.str] = None,
257
+ metadata: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
258
+ quota: typing.Optional[jsii.Number] = None,
259
+ ) -> "FileShare":
260
+ '''Adds a new file share to the storage account.
261
+
262
+ :param name: The name of the file share. Must be unique within the storage account.
263
+ :param access_tier: The access tier of the storage share. This property is only applicable to storage shares with a premium account type. Example values: Hot, Cool.
264
+ :param acl: A list of access control rules for the storage share.
265
+ :param enabled_protocol: The protocol to use when accessing the storage share. Example values: SMB, NFS.
266
+ :param metadata: A mapping of tags to assign to the storage share. Format: { [key: string]: string }
267
+ :param quota: The maximum size of the storage share, in gigabytes.
268
+
269
+ :return: The created FileShare instance.
270
+
271
+ :throws:
272
+
273
+ Error if a file share with the same name already exists.
274
+
275
+ This method facilitates the addition of a file share to the storage account, with optional settings for
276
+ capacity (quota) and data access frequency (access tier). If a file share with the same name exists, an error is thrown.
277
+
278
+ Example usage::
279
+
280
+ const fileShare = storageAccount.addFileShare('myFileShare', { quota: 1024, accessTier: 'Hot' });
281
+ '''
282
+ if __debug__:
283
+ type_hints = typing.get_type_hints(_typecheckingstub__417198ca18a6617286bb83e6a9fd18479dae6f9437b3f86bfed5be54795acc23)
284
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
285
+ props = FileShareProps(
286
+ access_tier=access_tier,
287
+ acl=acl,
288
+ enabled_protocol=enabled_protocol,
289
+ metadata=metadata,
290
+ quota=quota,
291
+ )
292
+
293
+ return typing.cast("FileShare", jsii.invoke(self, "addFileShare", [name, props]))
294
+
295
+ @jsii.member(jsii_name="addNetworkRules")
296
+ def add_network_rules(
297
+ self,
298
+ *,
299
+ default_action: builtins.str,
300
+ bypass: typing.Optional[typing.Sequence[builtins.str]] = None,
301
+ ip_rules: typing.Optional[typing.Sequence[builtins.str]] = None,
302
+ private_link_access: typing.Optional[typing.Sequence[typing.Union[_cdktf_cdktf_provider_azurerm_storage_account_network_rules_92bbcedf.StorageAccountNetworkRulesPrivateLinkAccessA, typing.Dict[builtins.str, typing.Any]]]] = None,
303
+ virtual_network_subnet_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
304
+ ) -> _cdktf_cdktf_provider_azurerm_storage_account_network_rules_92bbcedf.StorageAccountNetworkRulesA:
305
+ '''Adds network rules to the storage account to control access based on IP and virtual network settings.
306
+
307
+ :param default_action: The default action of the network rule set. Options are 'Allow' or 'Deny'. Set to 'Deny' to enable network rules and restrict access to the storage account. 'Allow' permits access by default.
308
+ :param bypass: Specifies which traffic to bypass from the network rules. The possible values are 'AzureServices', 'Logging', 'Metrics', and 'None'. Bypassing 'AzureServices' enables Azure's internal services to access the storage account.
309
+ :param ip_rules: An array of IP rules to allow access to the storage account. These are specified as CIDR ranges. Example: ['1.2.3.4/32', '5.6.7.0/24'] to allow specific IPs/subnets.
310
+ :param private_link_access: An array of objects representing the private link access settings. Each object in the array defines the sub-resource name (e.g., 'blob', 'file') and its respective private endpoint connections for the storage account.
311
+ :param virtual_network_subnet_ids: An array of virtual network subnet IDs that are allowed to access the storage account. This enables you to secure the storage account to a specific virtual network and subnet within Azure.
312
+
313
+ :return:
314
+
315
+ The configured network rules.
316
+
317
+ This method configures network rules for the storage account, specifying which IPs and virtual networks can access
318
+ the storage resources. It allows detailed control over data security and access management.
319
+
320
+ Example usage::
321
+
322
+ storageAccount.addNetworkRules({
323
+ bypass: ['AzureServices'],
324
+ defaultAction: 'Deny',
325
+ ipRules: ['1.2.3.4/32'],
326
+ virtualNetworkSubnetIds: ['subnetId'],
327
+ });
328
+ '''
329
+ props = NetworkRulesProps(
330
+ default_action=default_action,
331
+ bypass=bypass,
332
+ ip_rules=ip_rules,
333
+ private_link_access=private_link_access,
334
+ virtual_network_subnet_ids=virtual_network_subnet_ids,
335
+ )
336
+
337
+ return typing.cast(_cdktf_cdktf_provider_azurerm_storage_account_network_rules_92bbcedf.StorageAccountNetworkRulesA, jsii.invoke(self, "addNetworkRules", [props]))
338
+
339
+ @jsii.member(jsii_name="addQueue")
340
+ def add_queue(
341
+ self,
342
+ name: builtins.str,
343
+ metadata: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
344
+ ) -> "Queue":
345
+ '''Adds a new queue to the storage account.
346
+
347
+ :param name: The name of the queue. Must be unique within the storage account.
348
+ :param metadata: Optional metadata for the queue as key-value pairs.
349
+
350
+ :return:
351
+
352
+ The created Queue instance.
353
+
354
+ This method creates a new queue in the storage account, with optional metadata. It is useful for message queuing
355
+ in applications, enabling asynchronous task processing and inter-service communication.
356
+
357
+ Example usage::
358
+
359
+ const queue = storageAccount.addQueue('myQueue', { priority: 'high' });
360
+ '''
361
+ if __debug__:
362
+ type_hints = typing.get_type_hints(_typecheckingstub__01ff1359fcff7f63e01967486b6eab1309a5a0499600d0f9996baaece4d468bd)
363
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
364
+ check_type(argname="argument metadata", value=metadata, expected_type=type_hints["metadata"])
365
+ return typing.cast("Queue", jsii.invoke(self, "addQueue", [name, metadata]))
366
+
367
+ @jsii.member(jsii_name="addTable")
368
+ def add_table(
369
+ self,
370
+ name: builtins.str,
371
+ acl: typing.Optional[typing.Sequence[typing.Union[_cdktf_cdktf_provider_azurerm_storage_table_92bbcedf.StorageTableAcl, typing.Dict[builtins.str, typing.Any]]]] = None,
372
+ ) -> "Table":
373
+ '''Adds a new table to the storage account.
374
+
375
+ :param name: The name of the table. Must be unique within the storage account.
376
+ :param acl: Optional access control list for the table, specifying permissions.
377
+
378
+ :return: The created Table instance.
379
+
380
+ :throws:
381
+
382
+ Error if a table with the same name already exists.
383
+
384
+ This method creates a new table within the storage account, optionally allowing for access control configurations.
385
+ It throws an error if a table with the same name already exists, ensuring uniqueness within the account.
386
+
387
+ Example usage::
388
+
389
+ const table = storageAccount.addTable('myTable', [{ id: 'policy1', type: 'read' }]);
390
+ '''
391
+ if __debug__:
392
+ type_hints = typing.get_type_hints(_typecheckingstub__aa42f736eee4b505889af078f894ef6cb9dfdc60488ee3b76d0ece3d794f5ff6)
393
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
394
+ check_type(argname="argument acl", value=acl, expected_type=type_hints["acl"])
395
+ return typing.cast("Table", jsii.invoke(self, "addTable", [name, acl]))
396
+
397
+ @builtins.property
398
+ @jsii.member(jsii_name="accountKind")
399
+ def account_kind(self) -> builtins.str:
400
+ return typing.cast(builtins.str, jsii.get(self, "accountKind"))
401
+
402
+ @builtins.property
403
+ @jsii.member(jsii_name="accountTier")
404
+ def account_tier(self) -> builtins.str:
405
+ return typing.cast(builtins.str, jsii.get(self, "accountTier"))
406
+
407
+ @builtins.property
408
+ @jsii.member(jsii_name="location")
409
+ def location(self) -> builtins.str:
410
+ return typing.cast(builtins.str, jsii.get(self, "location"))
411
+
412
+ @builtins.property
413
+ @jsii.member(jsii_name="name")
414
+ def name(self) -> builtins.str:
415
+ return typing.cast(builtins.str, jsii.get(self, "name"))
416
+
417
+ @builtins.property
418
+ @jsii.member(jsii_name="props")
419
+ def props(self) -> "AccountProps":
420
+ return typing.cast("AccountProps", jsii.get(self, "props"))
421
+
422
+ @builtins.property
423
+ @jsii.member(jsii_name="id")
424
+ def id(self) -> builtins.str:
425
+ return typing.cast(builtins.str, jsii.get(self, "id"))
426
+
427
+ @id.setter
428
+ def id(self, value: builtins.str) -> None:
429
+ if __debug__:
430
+ type_hints = typing.get_type_hints(_typecheckingstub__5024b09e7cb3af550bee25059decceb2e25cbec13a7b5afe4b3170d8e7c13ab0)
431
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
432
+ jsii.set(self, "id", value)
433
+
434
+ @builtins.property
435
+ @jsii.member(jsii_name="resourceGroup")
436
+ def resource_group(
437
+ self,
438
+ ) -> _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup:
439
+ return typing.cast(_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup, jsii.get(self, "resourceGroup"))
440
+
441
+ @resource_group.setter
442
+ def resource_group(
443
+ self,
444
+ value: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
445
+ ) -> None:
446
+ if __debug__:
447
+ type_hints = typing.get_type_hints(_typecheckingstub__98ede1f7c205554b760d9e374dba3482370df0f4a4e133b3ca6dd38d5cb2a801)
448
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
449
+ jsii.set(self, "resourceGroup", value)
450
+
451
+
452
+ @jsii.data_type(
453
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_storageaccount.AccountProps",
454
+ jsii_struct_bases=[],
455
+ name_mapping={
456
+ "location": "location",
457
+ "name": "name",
458
+ "access_tier": "accessTier",
459
+ "account_kind": "accountKind",
460
+ "account_replication_type": "accountReplicationType",
461
+ "account_tier": "accountTier",
462
+ "enable_https_traffic_only": "enableHttpsTrafficOnly",
463
+ "identity": "identity",
464
+ "is_hns_enabled": "isHnsEnabled",
465
+ "min_tls_version": "minTlsVersion",
466
+ "public_network_access_enabled": "publicNetworkAccessEnabled",
467
+ "resource_group": "resourceGroup",
468
+ "tags": "tags",
469
+ },
470
+ )
471
+ class AccountProps:
472
+ def __init__(
473
+ self,
474
+ *,
475
+ location: builtins.str,
476
+ name: builtins.str,
477
+ access_tier: typing.Optional[builtins.str] = None,
478
+ account_kind: typing.Optional[builtins.str] = None,
479
+ account_replication_type: typing.Optional[builtins.str] = None,
480
+ account_tier: typing.Optional[builtins.str] = None,
481
+ enable_https_traffic_only: typing.Optional[builtins.bool] = None,
482
+ identity: typing.Any = None,
483
+ is_hns_enabled: typing.Optional[builtins.bool] = None,
484
+ min_tls_version: typing.Optional[builtins.str] = None,
485
+ public_network_access_enabled: typing.Optional[builtins.bool] = None,
486
+ resource_group: typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup] = None,
487
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
488
+ ) -> None:
489
+ '''
490
+ :param location: The Azure region in which to create the storage account.
491
+ :param name: The name of the storage account. Must be unique across Azure.
492
+ :param access_tier: The data access tier of the storage account, which impacts storage costs and data retrieval speeds. Example values: Hot, Cool.
493
+ :param account_kind: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.92.0/docs/resources/storage_account#account_kind StorageAccount#account_kind}.
494
+ :param account_replication_type: The type of replication to use for the storage account. This determines how your data is replicated across Azure's infrastructure. Example values: LRS (Locally Redundant Storage), GRS (Geo-Redundant Storage), RAGRS (Read Access Geo-Redundant Storage).
495
+ :param account_tier: The performance tier of the storage account. Determines the type of hardware and performance level. Example values: Standard, Premium.
496
+ :param enable_https_traffic_only: A boolean flag indicating whether to enforce HTTPS for data transfer to the storage account.
497
+ :param identity: Managed Service Identity (MSI) details. Used for enabling and managing Azure Active Directory (AAD) authentication.
498
+ :param is_hns_enabled: A flag indicating whether the Hierarchical Namespace (HNS) is enabled, which is required for Azure Data Lake Storage Gen2 features.
499
+ :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
+ :param public_network_access_enabled: A boolean flag indicating whether public network access to the storage account is allowed.
501
+ :param resource_group: The name of the Azure resource group in which to create the storage account.
502
+ :param tags: Tags to apply to the storage account, used for categorization and billing purposes. Format: { [key: string]: string }
503
+ '''
504
+ if __debug__:
505
+ type_hints = typing.get_type_hints(_typecheckingstub__d0072c193a9790f4f261e3f6c7c6cad7d13e9d662dc060adff5d380ad9854013)
506
+ check_type(argname="argument location", value=location, expected_type=type_hints["location"])
507
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
508
+ check_type(argname="argument access_tier", value=access_tier, expected_type=type_hints["access_tier"])
509
+ check_type(argname="argument account_kind", value=account_kind, expected_type=type_hints["account_kind"])
510
+ check_type(argname="argument account_replication_type", value=account_replication_type, expected_type=type_hints["account_replication_type"])
511
+ check_type(argname="argument account_tier", value=account_tier, expected_type=type_hints["account_tier"])
512
+ check_type(argname="argument enable_https_traffic_only", value=enable_https_traffic_only, expected_type=type_hints["enable_https_traffic_only"])
513
+ check_type(argname="argument identity", value=identity, expected_type=type_hints["identity"])
514
+ check_type(argname="argument is_hns_enabled", value=is_hns_enabled, expected_type=type_hints["is_hns_enabled"])
515
+ check_type(argname="argument min_tls_version", value=min_tls_version, expected_type=type_hints["min_tls_version"])
516
+ check_type(argname="argument public_network_access_enabled", value=public_network_access_enabled, expected_type=type_hints["public_network_access_enabled"])
517
+ check_type(argname="argument resource_group", value=resource_group, expected_type=type_hints["resource_group"])
518
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
519
+ self._values: typing.Dict[builtins.str, typing.Any] = {
520
+ "location": location,
521
+ "name": name,
522
+ }
523
+ if access_tier is not None:
524
+ self._values["access_tier"] = access_tier
525
+ if account_kind is not None:
526
+ self._values["account_kind"] = account_kind
527
+ if account_replication_type is not None:
528
+ self._values["account_replication_type"] = account_replication_type
529
+ if account_tier is not None:
530
+ self._values["account_tier"] = account_tier
531
+ if enable_https_traffic_only is not None:
532
+ self._values["enable_https_traffic_only"] = enable_https_traffic_only
533
+ if identity is not None:
534
+ self._values["identity"] = identity
535
+ if is_hns_enabled is not None:
536
+ self._values["is_hns_enabled"] = is_hns_enabled
537
+ if min_tls_version is not None:
538
+ self._values["min_tls_version"] = min_tls_version
539
+ if public_network_access_enabled is not None:
540
+ self._values["public_network_access_enabled"] = public_network_access_enabled
541
+ if resource_group is not None:
542
+ self._values["resource_group"] = resource_group
543
+ if tags is not None:
544
+ self._values["tags"] = tags
545
+
546
+ @builtins.property
547
+ def location(self) -> builtins.str:
548
+ '''The Azure region in which to create the storage account.'''
549
+ result = self._values.get("location")
550
+ assert result is not None, "Required property 'location' is missing"
551
+ return typing.cast(builtins.str, result)
552
+
553
+ @builtins.property
554
+ def name(self) -> builtins.str:
555
+ '''The name of the storage account.
556
+
557
+ Must be unique across Azure.
558
+ '''
559
+ result = self._values.get("name")
560
+ assert result is not None, "Required property 'name' is missing"
561
+ return typing.cast(builtins.str, result)
562
+
563
+ @builtins.property
564
+ def access_tier(self) -> typing.Optional[builtins.str]:
565
+ '''The data access tier of the storage account, which impacts storage costs and data retrieval speeds.
566
+
567
+ Example values: Hot, Cool.
568
+ '''
569
+ result = self._values.get("access_tier")
570
+ return typing.cast(typing.Optional[builtins.str], result)
571
+
572
+ @builtins.property
573
+ def account_kind(self) -> typing.Optional[builtins.str]:
574
+ '''Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.92.0/docs/resources/storage_account#account_kind StorageAccount#account_kind}.'''
575
+ result = self._values.get("account_kind")
576
+ return typing.cast(typing.Optional[builtins.str], result)
577
+
578
+ @builtins.property
579
+ def account_replication_type(self) -> typing.Optional[builtins.str]:
580
+ '''The type of replication to use for the storage account.
581
+
582
+ This determines how your data is replicated across Azure's infrastructure.
583
+ Example values: LRS (Locally Redundant Storage), GRS (Geo-Redundant Storage), RAGRS (Read Access Geo-Redundant Storage).
584
+ '''
585
+ result = self._values.get("account_replication_type")
586
+ return typing.cast(typing.Optional[builtins.str], result)
587
+
588
+ @builtins.property
589
+ def account_tier(self) -> typing.Optional[builtins.str]:
590
+ '''The performance tier of the storage account.
591
+
592
+ Determines the type of hardware and performance level.
593
+ Example values: Standard, Premium.
594
+ '''
595
+ result = self._values.get("account_tier")
596
+ return typing.cast(typing.Optional[builtins.str], result)
597
+
598
+ @builtins.property
599
+ def enable_https_traffic_only(self) -> typing.Optional[builtins.bool]:
600
+ '''A boolean flag indicating whether to enforce HTTPS for data transfer to the storage account.'''
601
+ result = self._values.get("enable_https_traffic_only")
602
+ return typing.cast(typing.Optional[builtins.bool], result)
603
+
604
+ @builtins.property
605
+ def identity(self) -> typing.Any:
606
+ '''Managed Service Identity (MSI) details.
607
+
608
+ Used for enabling and managing Azure Active Directory (AAD) authentication.
609
+ '''
610
+ result = self._values.get("identity")
611
+ return typing.cast(typing.Any, result)
612
+
613
+ @builtins.property
614
+ def is_hns_enabled(self) -> typing.Optional[builtins.bool]:
615
+ '''A flag indicating whether the Hierarchical Namespace (HNS) is enabled, which is required for Azure Data Lake Storage Gen2 features.'''
616
+ result = self._values.get("is_hns_enabled")
617
+ return typing.cast(typing.Optional[builtins.bool], result)
618
+
619
+ @builtins.property
620
+ def min_tls_version(self) -> typing.Optional[builtins.str]:
621
+ '''The minimum TLS version to be used for securing connections to the storage account.
622
+
623
+ Example values: TLS1_0, TLS1_1, TLS1_2.
624
+ '''
625
+ result = self._values.get("min_tls_version")
626
+ return typing.cast(typing.Optional[builtins.str], result)
627
+
628
+ @builtins.property
629
+ def public_network_access_enabled(self) -> typing.Optional[builtins.bool]:
630
+ '''A boolean flag indicating whether public network access to the storage account is allowed.'''
631
+ result = self._values.get("public_network_access_enabled")
632
+ return typing.cast(typing.Optional[builtins.bool], result)
633
+
634
+ @builtins.property
635
+ def resource_group(
636
+ self,
637
+ ) -> typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup]:
638
+ '''The name of the Azure resource group in which to create the storage account.'''
639
+ result = self._values.get("resource_group")
640
+ return typing.cast(typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup], result)
641
+
642
+ @builtins.property
643
+ def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
644
+ '''Tags to apply to the storage account, used for categorization and billing purposes.
645
+
646
+ Format: { [key: string]: string }
647
+ '''
648
+ result = self._values.get("tags")
649
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
650
+
651
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
652
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
653
+
654
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
655
+ return not (rhs == self)
656
+
657
+ def __repr__(self) -> str:
658
+ return "AccountProps(%s)" % ", ".join(
659
+ k + "=" + repr(v) for k, v in self._values.items()
660
+ )
661
+
662
+
663
+ class Blob(
664
+ _constructs_77d1e7e8.Construct,
665
+ metaclass=jsii.JSIIMeta,
666
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_storageaccount.Blob",
667
+ ):
668
+ def __init__(
669
+ self,
670
+ scope: _constructs_77d1e7e8.Construct,
671
+ id_: builtins.str,
672
+ *,
673
+ name: builtins.str,
674
+ storage_account_name: builtins.str,
675
+ storage_container_name: builtins.str,
676
+ type: builtins.str,
677
+ access_tier: typing.Optional[builtins.str] = None,
678
+ cache_control: typing.Optional[builtins.str] = None,
679
+ content_md5: typing.Optional[builtins.str] = None,
680
+ content_type: typing.Optional[builtins.str] = None,
681
+ id: typing.Optional[builtins.str] = None,
682
+ metadata: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
683
+ parallelism: typing.Optional[jsii.Number] = None,
684
+ size: typing.Optional[jsii.Number] = None,
685
+ source: typing.Optional[builtins.str] = None,
686
+ source_content: typing.Optional[builtins.str] = None,
687
+ source_uri: typing.Optional[builtins.str] = None,
688
+ timeouts: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_storage_blob_92bbcedf.StorageBlobTimeouts, typing.Dict[builtins.str, typing.Any]]] = None,
689
+ connection: typing.Optional[typing.Union[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.WinrmProvisionerConnection, typing.Dict[builtins.str, typing.Any]]]] = None,
690
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
691
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
692
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
693
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
694
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
695
+ provisioners: typing.Optional[typing.Sequence[typing.Union[typing.Union[_cdktf_9a9027ec.FileProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.LocalExecProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.RemoteExecProvisioner, typing.Dict[builtins.str, typing.Any]]]]] = None,
696
+ ) -> None:
697
+ '''Represents a blob within an Azure Storage Container.
698
+
699
+ This class is responsible for the creation and management of a blob in an Azure Storage Container. Blobs are unstructured
700
+ data objects, which can include files like images, documents, videos, or any other file type. The Blob class provides a way
701
+ to manage these files in the cloud, allowing for scalable, durable, and accessible data storage. This class supports various
702
+ blob types such as block blobs for text and binary data, append blobs for log files, and page blobs for large volumes of
703
+ random access data.
704
+
705
+ :param scope: - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
706
+ :param id_: - The unique identifier for this instance of the blob.
707
+ :param name: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_blob#name StorageBlob#name}.
708
+ :param storage_account_name: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_blob#storage_account_name StorageBlob#storage_account_name}.
709
+ :param storage_container_name: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_blob#storage_container_name StorageBlob#storage_container_name}.
710
+ :param type: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_blob#type StorageBlob#type}.
711
+ :param access_tier: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_blob#access_tier StorageBlob#access_tier}.
712
+ :param cache_control: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_blob#cache_control StorageBlob#cache_control}.
713
+ :param content_md5: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_blob#content_md5 StorageBlob#content_md5}.
714
+ :param content_type: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_blob#content_type StorageBlob#content_type}.
715
+ :param id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_blob#id StorageBlob#id}. Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
716
+ :param metadata: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_blob#metadata StorageBlob#metadata}.
717
+ :param parallelism: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_blob#parallelism StorageBlob#parallelism}.
718
+ :param size: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_blob#size StorageBlob#size}.
719
+ :param source: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_blob#source StorageBlob#source}.
720
+ :param source_content: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_blob#source_content StorageBlob#source_content}.
721
+ :param source_uri: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_blob#source_uri StorageBlob#source_uri}.
722
+ :param timeouts: timeouts block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_blob#timeouts StorageBlob#timeouts}
723
+ :param connection:
724
+ :param count:
725
+ :param depends_on:
726
+ :param for_each:
727
+ :param lifecycle:
728
+ :param provider:
729
+ :param provisioners:
730
+ '''
731
+ if __debug__:
732
+ type_hints = typing.get_type_hints(_typecheckingstub__dd765c1dee5ff09470496fc284b6bb6ae1ffdd7b67b7650dc411b5d15ca54a1f)
733
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
734
+ check_type(argname="argument id_", value=id_, expected_type=type_hints["id_"])
735
+ props = _cdktf_cdktf_provider_azurerm_storage_blob_92bbcedf.StorageBlobConfig(
736
+ name=name,
737
+ storage_account_name=storage_account_name,
738
+ storage_container_name=storage_container_name,
739
+ type=type,
740
+ access_tier=access_tier,
741
+ cache_control=cache_control,
742
+ content_md5=content_md5,
743
+ content_type=content_type,
744
+ id=id,
745
+ metadata=metadata,
746
+ parallelism=parallelism,
747
+ size=size,
748
+ source=source,
749
+ source_content=source_content,
750
+ source_uri=source_uri,
751
+ timeouts=timeouts,
752
+ connection=connection,
753
+ count=count,
754
+ depends_on=depends_on,
755
+ for_each=for_each,
756
+ lifecycle=lifecycle,
757
+ provider=provider,
758
+ provisioners=provisioners,
759
+ )
760
+
761
+ jsii.create(self.__class__, self, [scope, id_, props])
762
+
763
+ @builtins.property
764
+ @jsii.member(jsii_name="name")
765
+ def name(self) -> builtins.str:
766
+ return typing.cast(builtins.str, jsii.get(self, "name"))
767
+
768
+
769
+ class Container(
770
+ _constructs_77d1e7e8.Construct,
771
+ metaclass=jsii.JSIIMeta,
772
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_storageaccount.Container",
773
+ ):
774
+ def __init__(
775
+ self,
776
+ scope: _constructs_77d1e7e8.Construct,
777
+ id_: builtins.str,
778
+ *,
779
+ name: builtins.str,
780
+ storage_account_name: builtins.str,
781
+ container_access_type: typing.Optional[builtins.str] = None,
782
+ id: typing.Optional[builtins.str] = None,
783
+ metadata: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
784
+ timeouts: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_storage_container_92bbcedf.StorageContainerTimeouts, typing.Dict[builtins.str, typing.Any]]] = None,
785
+ connection: typing.Optional[typing.Union[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.WinrmProvisionerConnection, typing.Dict[builtins.str, typing.Any]]]] = None,
786
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
787
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
788
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
789
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
790
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
791
+ provisioners: typing.Optional[typing.Sequence[typing.Union[typing.Union[_cdktf_9a9027ec.FileProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.LocalExecProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.RemoteExecProvisioner, typing.Dict[builtins.str, typing.Any]]]]] = None,
792
+ ) -> None:
793
+ '''Represents an Azure Storage Container within a specific Azure Storage Account.
794
+
795
+ This class is designed for the creation and management of an Azure Storage Container, which serves as a unit of storage
796
+ that houses data objects, known as blobs. Containers are analogous to directories in a file system, and are used to organize
797
+ sets of blobs within a storage account. This class allows for granular control over blob storage, providing functionalities
798
+ such as setting access levels, managing metadata, and implementing security measures like encryption scopes.
799
+
800
+ :param scope: - The scope in which to define this construct, typically a reference to the Cloud Development Kit (CDK) stack.
801
+ :param id_: - The unique identifier for this instance of the container.
802
+ :param name: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_container#name StorageContainer#name}.
803
+ :param storage_account_name: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_container#storage_account_name StorageContainer#storage_account_name}.
804
+ :param container_access_type: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_container#container_access_type StorageContainer#container_access_type}.
805
+ :param id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_container#id StorageContainer#id}. Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
806
+ :param metadata: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_container#metadata StorageContainer#metadata}.
807
+ :param timeouts: timeouts block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_container#timeouts StorageContainer#timeouts}
808
+ :param connection:
809
+ :param count:
810
+ :param depends_on:
811
+ :param for_each:
812
+ :param lifecycle:
813
+ :param provider:
814
+ :param provisioners:
815
+ '''
816
+ if __debug__:
817
+ type_hints = typing.get_type_hints(_typecheckingstub__cf8aea438662ddf74e870f852aeb8ae5faa1ebd51d3d093feed528ac9ce497cc)
818
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
819
+ check_type(argname="argument id_", value=id_, expected_type=type_hints["id_"])
820
+ props = _cdktf_cdktf_provider_azurerm_storage_container_92bbcedf.StorageContainerConfig(
821
+ name=name,
822
+ storage_account_name=storage_account_name,
823
+ container_access_type=container_access_type,
824
+ id=id,
825
+ metadata=metadata,
826
+ timeouts=timeouts,
827
+ connection=connection,
828
+ count=count,
829
+ depends_on=depends_on,
830
+ for_each=for_each,
831
+ lifecycle=lifecycle,
832
+ provider=provider,
833
+ provisioners=provisioners,
834
+ )
835
+
836
+ jsii.create(self.__class__, self, [scope, id_, props])
837
+
838
+ @jsii.member(jsii_name="addBlob")
839
+ def add_blob(
840
+ self,
841
+ blob_name: builtins.str,
842
+ file_path: builtins.str,
843
+ *,
844
+ name: builtins.str,
845
+ storage_account_name: builtins.str,
846
+ storage_container_name: builtins.str,
847
+ type: builtins.str,
848
+ access_tier: typing.Optional[builtins.str] = None,
849
+ cache_control: typing.Optional[builtins.str] = None,
850
+ content_md5: typing.Optional[builtins.str] = None,
851
+ content_type: typing.Optional[builtins.str] = None,
852
+ id: typing.Optional[builtins.str] = None,
853
+ metadata: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
854
+ parallelism: typing.Optional[jsii.Number] = None,
855
+ size: typing.Optional[jsii.Number] = None,
856
+ source: typing.Optional[builtins.str] = None,
857
+ source_content: typing.Optional[builtins.str] = None,
858
+ source_uri: typing.Optional[builtins.str] = None,
859
+ timeouts: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_storage_blob_92bbcedf.StorageBlobTimeouts, typing.Dict[builtins.str, typing.Any]]] = None,
860
+ connection: typing.Optional[typing.Union[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.WinrmProvisionerConnection, typing.Dict[builtins.str, typing.Any]]]] = None,
861
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
862
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
863
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
864
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
865
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
866
+ provisioners: typing.Optional[typing.Sequence[typing.Union[typing.Union[_cdktf_9a9027ec.FileProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.LocalExecProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.RemoteExecProvisioner, typing.Dict[builtins.str, typing.Any]]]]] = None,
867
+ ) -> Blob:
868
+ '''Adds a blob to this Azure Storage Container.
869
+
870
+ This method facilitates the addition of a blob to an Azure Storage Container managed by this class. It handles the creation and
871
+ configuration of the blob, including setting its type, source content, and metadata. This is useful for uploading various types
872
+ of unstructured data, such as images, videos, documents, or other binary files, into a cloud-based storage solution.
873
+
874
+ :param blob_name: - The name of the blob to be added, which will be used as the blob's unique identifier within the container.
875
+ :param file_path: - The file path or URL for the source of the blob's content. This specifies the location of the file to be uploaded.
876
+ :param name: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_blob#name StorageBlob#name}.
877
+ :param storage_account_name: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_blob#storage_account_name StorageBlob#storage_account_name}.
878
+ :param storage_container_name: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_blob#storage_container_name StorageBlob#storage_container_name}.
879
+ :param type: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_blob#type StorageBlob#type}.
880
+ :param access_tier: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_blob#access_tier StorageBlob#access_tier}.
881
+ :param cache_control: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_blob#cache_control StorageBlob#cache_control}.
882
+ :param content_md5: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_blob#content_md5 StorageBlob#content_md5}.
883
+ :param content_type: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_blob#content_type StorageBlob#content_type}.
884
+ :param id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_blob#id StorageBlob#id}. Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
885
+ :param metadata: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_blob#metadata StorageBlob#metadata}.
886
+ :param parallelism: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_blob#parallelism StorageBlob#parallelism}.
887
+ :param size: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_blob#size StorageBlob#size}.
888
+ :param source: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_blob#source StorageBlob#source}.
889
+ :param source_content: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_blob#source_content StorageBlob#source_content}.
890
+ :param source_uri: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_blob#source_uri StorageBlob#source_uri}.
891
+ :param timeouts: timeouts block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_blob#timeouts StorageBlob#timeouts}
892
+ :param connection:
893
+ :param count:
894
+ :param depends_on:
895
+ :param for_each:
896
+ :param lifecycle:
897
+ :param provider:
898
+ :param provisioners:
899
+
900
+ :return:
901
+
902
+ The newly created Blob object, which represents the blob added to the storage container.
903
+
904
+ Example usage::
905
+
906
+ const storageBlob = storageContainer.addBlob('exampleBlob', './path/to/local/file.txt', {
907
+ type: 'Block',
908
+ contentType: 'text/plain',
909
+ metadata: { customKey: 'customValue' }
910
+ });
911
+
912
+ In this example, a new blob named 'exampleBlob' is added to the storage container. The content of the blob is sourced
913
+ from a local file specified by ``filePath``. The blob is configured as a 'Block' type with 'text/plain' content type and
914
+ custom metadata. The method returns the blob instance for further use or reference.
915
+ '''
916
+ if __debug__:
917
+ type_hints = typing.get_type_hints(_typecheckingstub__8e4f23a53fd58239dea6b2f497da13f1dda1d394a4b6fb1b2969ed0792b18e32)
918
+ check_type(argname="argument blob_name", value=blob_name, expected_type=type_hints["blob_name"])
919
+ check_type(argname="argument file_path", value=file_path, expected_type=type_hints["file_path"])
920
+ props = _cdktf_cdktf_provider_azurerm_storage_blob_92bbcedf.StorageBlobConfig(
921
+ name=name,
922
+ storage_account_name=storage_account_name,
923
+ storage_container_name=storage_container_name,
924
+ type=type,
925
+ access_tier=access_tier,
926
+ cache_control=cache_control,
927
+ content_md5=content_md5,
928
+ content_type=content_type,
929
+ id=id,
930
+ metadata=metadata,
931
+ parallelism=parallelism,
932
+ size=size,
933
+ source=source,
934
+ source_content=source_content,
935
+ source_uri=source_uri,
936
+ timeouts=timeouts,
937
+ connection=connection,
938
+ count=count,
939
+ depends_on=depends_on,
940
+ for_each=for_each,
941
+ lifecycle=lifecycle,
942
+ provider=provider,
943
+ provisioners=provisioners,
944
+ )
945
+
946
+ return typing.cast(Blob, jsii.invoke(self, "addBlob", [blob_name, file_path, props]))
947
+
948
+ @builtins.property
949
+ @jsii.member(jsii_name="name")
950
+ def name(self) -> builtins.str:
951
+ return typing.cast(builtins.str, jsii.get(self, "name"))
952
+
953
+
954
+ class File(
955
+ _constructs_77d1e7e8.Construct,
956
+ metaclass=jsii.JSIIMeta,
957
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_storageaccount.File",
958
+ ):
959
+ def __init__(
960
+ self,
961
+ scope: _constructs_77d1e7e8.Construct,
962
+ id_: builtins.str,
963
+ *,
964
+ name: builtins.str,
965
+ storage_share_id: builtins.str,
966
+ content_disposition: typing.Optional[builtins.str] = None,
967
+ content_encoding: typing.Optional[builtins.str] = None,
968
+ content_md5: typing.Optional[builtins.str] = None,
969
+ content_type: typing.Optional[builtins.str] = None,
970
+ id: typing.Optional[builtins.str] = None,
971
+ metadata: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
972
+ path: typing.Optional[builtins.str] = None,
973
+ source: typing.Optional[builtins.str] = None,
974
+ timeouts: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_storage_share_file_92bbcedf.StorageShareFileTimeouts, typing.Dict[builtins.str, typing.Any]]] = None,
975
+ connection: typing.Optional[typing.Union[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.WinrmProvisionerConnection, typing.Dict[builtins.str, typing.Any]]]] = None,
976
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
977
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
978
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
979
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
980
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
981
+ provisioners: typing.Optional[typing.Sequence[typing.Union[typing.Union[_cdktf_9a9027ec.FileProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.LocalExecProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.RemoteExecProvisioner, typing.Dict[builtins.str, typing.Any]]]]] = None,
982
+ ) -> None:
983
+ '''Represents a file within an Azure Storage Share.
984
+
985
+ This class is responsible for the creation and management of a file in an Azure Storage Share, which allows for cloud file storage
986
+ that can be accessed and managed like a file system. The File class enables detailed configuration of file properties including
987
+ content type, encoding, and metadata, making it suitable for storing and accessing various types of data.
988
+
989
+ :param scope: - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
990
+ :param id_: - The unique identifier for this instance of the file.
991
+ :param name: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_share_file#name StorageShareFile#name}.
992
+ :param storage_share_id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_share_file#storage_share_id StorageShareFile#storage_share_id}.
993
+ :param content_disposition: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_share_file#content_disposition StorageShareFile#content_disposition}.
994
+ :param content_encoding: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_share_file#content_encoding StorageShareFile#content_encoding}.
995
+ :param content_md5: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_share_file#content_md5 StorageShareFile#content_md5}.
996
+ :param content_type: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_share_file#content_type StorageShareFile#content_type}.
997
+ :param id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_share_file#id StorageShareFile#id}. Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
998
+ :param metadata: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_share_file#metadata StorageShareFile#metadata}.
999
+ :param path: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_share_file#path StorageShareFile#path}.
1000
+ :param source: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_share_file#source StorageShareFile#source}.
1001
+ :param timeouts: timeouts block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_share_file#timeouts StorageShareFile#timeouts}
1002
+ :param connection:
1003
+ :param count:
1004
+ :param depends_on:
1005
+ :param for_each:
1006
+ :param lifecycle:
1007
+ :param provider:
1008
+ :param provisioners:
1009
+ '''
1010
+ if __debug__:
1011
+ type_hints = typing.get_type_hints(_typecheckingstub__16432b46cc40fbd4a478574b1a6c92923d92075753e76f794a3cf23bb719bfd3)
1012
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1013
+ check_type(argname="argument id_", value=id_, expected_type=type_hints["id_"])
1014
+ props = _cdktf_cdktf_provider_azurerm_storage_share_file_92bbcedf.StorageShareFileConfig(
1015
+ name=name,
1016
+ storage_share_id=storage_share_id,
1017
+ content_disposition=content_disposition,
1018
+ content_encoding=content_encoding,
1019
+ content_md5=content_md5,
1020
+ content_type=content_type,
1021
+ id=id,
1022
+ metadata=metadata,
1023
+ path=path,
1024
+ source=source,
1025
+ timeouts=timeouts,
1026
+ connection=connection,
1027
+ count=count,
1028
+ depends_on=depends_on,
1029
+ for_each=for_each,
1030
+ lifecycle=lifecycle,
1031
+ provider=provider,
1032
+ provisioners=provisioners,
1033
+ )
1034
+
1035
+ jsii.create(self.__class__, self, [scope, id_, props])
1036
+
1037
+ @builtins.property
1038
+ @jsii.member(jsii_name="id")
1039
+ def id(self) -> builtins.str:
1040
+ return typing.cast(builtins.str, jsii.get(self, "id"))
1041
+
1042
+ @builtins.property
1043
+ @jsii.member(jsii_name="name")
1044
+ def name(self) -> builtins.str:
1045
+ return typing.cast(builtins.str, jsii.get(self, "name"))
1046
+
1047
+
1048
+ class FileShare(
1049
+ _constructs_77d1e7e8.Construct,
1050
+ metaclass=jsii.JSIIMeta,
1051
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_storageaccount.FileShare",
1052
+ ):
1053
+ def __init__(
1054
+ self,
1055
+ scope: _constructs_77d1e7e8.Construct,
1056
+ id_: builtins.str,
1057
+ *,
1058
+ name: builtins.str,
1059
+ quota: jsii.Number,
1060
+ storage_account_name: builtins.str,
1061
+ access_tier: typing.Optional[builtins.str] = None,
1062
+ acl: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[_cdktf_cdktf_provider_azurerm_storage_share_92bbcedf.StorageShareAcl, typing.Dict[builtins.str, typing.Any]]]]] = None,
1063
+ enabled_protocol: typing.Optional[builtins.str] = None,
1064
+ id: typing.Optional[builtins.str] = None,
1065
+ metadata: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1066
+ timeouts: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_storage_share_92bbcedf.StorageShareTimeouts, typing.Dict[builtins.str, typing.Any]]] = None,
1067
+ connection: typing.Optional[typing.Union[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.WinrmProvisionerConnection, typing.Dict[builtins.str, typing.Any]]]] = None,
1068
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
1069
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
1070
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
1071
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
1072
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
1073
+ provisioners: typing.Optional[typing.Sequence[typing.Union[typing.Union[_cdktf_9a9027ec.FileProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.LocalExecProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.RemoteExecProvisioner, typing.Dict[builtins.str, typing.Any]]]]] = None,
1074
+ ) -> None:
1075
+ '''
1076
+ :param scope: -
1077
+ :param id_: -
1078
+ :param name: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_share#name StorageShare#name}.
1079
+ :param quota: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_share#quota StorageShare#quota}.
1080
+ :param storage_account_name: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_share#storage_account_name StorageShare#storage_account_name}.
1081
+ :param access_tier: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_share#access_tier StorageShare#access_tier}.
1082
+ :param acl: acl block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_share#acl StorageShare#acl}
1083
+ :param enabled_protocol: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_share#enabled_protocol StorageShare#enabled_protocol}.
1084
+ :param id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_share#id StorageShare#id}. Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
1085
+ :param metadata: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_share#metadata StorageShare#metadata}.
1086
+ :param timeouts: timeouts block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_share#timeouts StorageShare#timeouts}
1087
+ :param connection:
1088
+ :param count:
1089
+ :param depends_on:
1090
+ :param for_each:
1091
+ :param lifecycle:
1092
+ :param provider:
1093
+ :param provisioners:
1094
+ '''
1095
+ if __debug__:
1096
+ type_hints = typing.get_type_hints(_typecheckingstub__9812954a73f8817b9eec05619517134fd846a8514a3d411d0e1345b83ef9e96e)
1097
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1098
+ check_type(argname="argument id_", value=id_, expected_type=type_hints["id_"])
1099
+ props = _cdktf_cdktf_provider_azurerm_storage_share_92bbcedf.StorageShareConfig(
1100
+ name=name,
1101
+ quota=quota,
1102
+ storage_account_name=storage_account_name,
1103
+ access_tier=access_tier,
1104
+ acl=acl,
1105
+ enabled_protocol=enabled_protocol,
1106
+ id=id,
1107
+ metadata=metadata,
1108
+ timeouts=timeouts,
1109
+ connection=connection,
1110
+ count=count,
1111
+ depends_on=depends_on,
1112
+ for_each=for_each,
1113
+ lifecycle=lifecycle,
1114
+ provider=provider,
1115
+ provisioners=provisioners,
1116
+ )
1117
+
1118
+ jsii.create(self.__class__, self, [scope, id_, props])
1119
+
1120
+ @jsii.member(jsii_name="addFile")
1121
+ def add_file(
1122
+ self,
1123
+ file_name: builtins.str,
1124
+ file_source: typing.Optional[builtins.str] = None,
1125
+ *,
1126
+ name: builtins.str,
1127
+ storage_share_id: builtins.str,
1128
+ content_disposition: typing.Optional[builtins.str] = None,
1129
+ content_encoding: typing.Optional[builtins.str] = None,
1130
+ content_md5: typing.Optional[builtins.str] = None,
1131
+ content_type: typing.Optional[builtins.str] = None,
1132
+ id: typing.Optional[builtins.str] = None,
1133
+ metadata: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1134
+ path: typing.Optional[builtins.str] = None,
1135
+ source: typing.Optional[builtins.str] = None,
1136
+ timeouts: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_storage_share_file_92bbcedf.StorageShareFileTimeouts, typing.Dict[builtins.str, typing.Any]]] = None,
1137
+ connection: typing.Optional[typing.Union[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.WinrmProvisionerConnection, typing.Dict[builtins.str, typing.Any]]]] = None,
1138
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
1139
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
1140
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
1141
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
1142
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
1143
+ provisioners: typing.Optional[typing.Sequence[typing.Union[typing.Union[_cdktf_9a9027ec.FileProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.LocalExecProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.RemoteExecProvisioner, typing.Dict[builtins.str, typing.Any]]]]] = None,
1144
+ ) -> File:
1145
+ '''Adds a file to the Azure Storage File Share.
1146
+
1147
+ :param file_name: The name of the file to be added.
1148
+ :param file_source: Optional path or URL to the source of the file's content.
1149
+ :param name: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_share_file#name StorageShareFile#name}.
1150
+ :param storage_share_id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_share_file#storage_share_id StorageShareFile#storage_share_id}.
1151
+ :param content_disposition: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_share_file#content_disposition StorageShareFile#content_disposition}.
1152
+ :param content_encoding: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_share_file#content_encoding StorageShareFile#content_encoding}.
1153
+ :param content_md5: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_share_file#content_md5 StorageShareFile#content_md5}.
1154
+ :param content_type: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_share_file#content_type StorageShareFile#content_type}.
1155
+ :param id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_share_file#id StorageShareFile#id}. Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
1156
+ :param metadata: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_share_file#metadata StorageShareFile#metadata}.
1157
+ :param path: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_share_file#path StorageShareFile#path}.
1158
+ :param source: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_share_file#source StorageShareFile#source}.
1159
+ :param timeouts: timeouts block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_share_file#timeouts StorageShareFile#timeouts}
1160
+ :param connection:
1161
+ :param count:
1162
+ :param depends_on:
1163
+ :param for_each:
1164
+ :param lifecycle:
1165
+ :param provider:
1166
+ :param provisioners:
1167
+
1168
+ :return:
1169
+
1170
+ The created AzureStorageShareFile instance.
1171
+
1172
+ This method allows you to add a file to your Azure Storage File Share, optionally specifying
1173
+ the file's content source and other properties like content type, encoding, and metadata.
1174
+ If ``fileSource`` is provided, the content of the file is sourced from this location.
1175
+ The ``props`` parameter allows for further customization of the file, such as setting the content type
1176
+ (default is 'application/octet-stream') and adding metadata.
1177
+
1178
+ Example usage::
1179
+
1180
+ const storageShareFile = storageShare.addFile('example.txt', './path/to/local/file.txt', {
1181
+ contentType: 'text/plain',
1182
+ metadata: { customKey: 'customValue' }
1183
+ });
1184
+
1185
+ In this example, a text file named 'example.txt' is added to the storage share. The content of the file
1186
+ is sourced from a local file, and the content type is specified as 'text/plain' with custom metadata.
1187
+ '''
1188
+ if __debug__:
1189
+ type_hints = typing.get_type_hints(_typecheckingstub__b02aa2198fb33f4138369b7551b1be9e8267855ea44d93c99d6416dd8986c0ed)
1190
+ check_type(argname="argument file_name", value=file_name, expected_type=type_hints["file_name"])
1191
+ check_type(argname="argument file_source", value=file_source, expected_type=type_hints["file_source"])
1192
+ props = _cdktf_cdktf_provider_azurerm_storage_share_file_92bbcedf.StorageShareFileConfig(
1193
+ name=name,
1194
+ storage_share_id=storage_share_id,
1195
+ content_disposition=content_disposition,
1196
+ content_encoding=content_encoding,
1197
+ content_md5=content_md5,
1198
+ content_type=content_type,
1199
+ id=id,
1200
+ metadata=metadata,
1201
+ path=path,
1202
+ source=source,
1203
+ timeouts=timeouts,
1204
+ connection=connection,
1205
+ count=count,
1206
+ depends_on=depends_on,
1207
+ for_each=for_each,
1208
+ lifecycle=lifecycle,
1209
+ provider=provider,
1210
+ provisioners=provisioners,
1211
+ )
1212
+
1213
+ return typing.cast(File, jsii.invoke(self, "addFile", [file_name, file_source, props]))
1214
+
1215
+ @builtins.property
1216
+ @jsii.member(jsii_name="id")
1217
+ def id(self) -> builtins.str:
1218
+ return typing.cast(builtins.str, jsii.get(self, "id"))
1219
+
1220
+ @builtins.property
1221
+ @jsii.member(jsii_name="name")
1222
+ def name(self) -> builtins.str:
1223
+ return typing.cast(builtins.str, jsii.get(self, "name"))
1224
+
1225
+ @builtins.property
1226
+ @jsii.member(jsii_name="storageAccountName")
1227
+ def storage_account_name(self) -> builtins.str:
1228
+ return typing.cast(builtins.str, jsii.get(self, "storageAccountName"))
1229
+
1230
+ @builtins.property
1231
+ @jsii.member(jsii_name="storageShareName")
1232
+ def storage_share_name(self) -> builtins.str:
1233
+ return typing.cast(builtins.str, jsii.get(self, "storageShareName"))
1234
+
1235
+
1236
+ @jsii.data_type(
1237
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_storageaccount.FileShareProps",
1238
+ jsii_struct_bases=[],
1239
+ name_mapping={
1240
+ "access_tier": "accessTier",
1241
+ "acl": "acl",
1242
+ "enabled_protocol": "enabledProtocol",
1243
+ "metadata": "metadata",
1244
+ "quota": "quota",
1245
+ },
1246
+ )
1247
+ class FileShareProps:
1248
+ def __init__(
1249
+ self,
1250
+ *,
1251
+ access_tier: typing.Optional[builtins.str] = None,
1252
+ acl: typing.Any = None,
1253
+ enabled_protocol: typing.Optional[builtins.str] = None,
1254
+ metadata: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1255
+ quota: typing.Optional[jsii.Number] = None,
1256
+ ) -> None:
1257
+ '''
1258
+ :param access_tier: The access tier of the storage share. This property is only applicable to storage shares with a premium account type. Example values: Hot, Cool.
1259
+ :param acl: A list of access control rules for the storage share.
1260
+ :param enabled_protocol: The protocol to use when accessing the storage share. Example values: SMB, NFS.
1261
+ :param metadata: A mapping of tags to assign to the storage share. Format: { [key: string]: string }
1262
+ :param quota: The maximum size of the storage share, in gigabytes.
1263
+ '''
1264
+ if __debug__:
1265
+ type_hints = typing.get_type_hints(_typecheckingstub__e56cbf4116d87b4124bd3e753ede685265ef315d32554e49ee0bb07935943a5d)
1266
+ check_type(argname="argument access_tier", value=access_tier, expected_type=type_hints["access_tier"])
1267
+ check_type(argname="argument acl", value=acl, expected_type=type_hints["acl"])
1268
+ check_type(argname="argument enabled_protocol", value=enabled_protocol, expected_type=type_hints["enabled_protocol"])
1269
+ check_type(argname="argument metadata", value=metadata, expected_type=type_hints["metadata"])
1270
+ check_type(argname="argument quota", value=quota, expected_type=type_hints["quota"])
1271
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1272
+ if access_tier is not None:
1273
+ self._values["access_tier"] = access_tier
1274
+ if acl is not None:
1275
+ self._values["acl"] = acl
1276
+ if enabled_protocol is not None:
1277
+ self._values["enabled_protocol"] = enabled_protocol
1278
+ if metadata is not None:
1279
+ self._values["metadata"] = metadata
1280
+ if quota is not None:
1281
+ self._values["quota"] = quota
1282
+
1283
+ @builtins.property
1284
+ def access_tier(self) -> typing.Optional[builtins.str]:
1285
+ '''The access tier of the storage share.
1286
+
1287
+ This property is only applicable to storage shares with a premium account type.
1288
+ Example values: Hot, Cool.
1289
+ '''
1290
+ result = self._values.get("access_tier")
1291
+ return typing.cast(typing.Optional[builtins.str], result)
1292
+
1293
+ @builtins.property
1294
+ def acl(self) -> typing.Any:
1295
+ '''A list of access control rules for the storage share.'''
1296
+ result = self._values.get("acl")
1297
+ return typing.cast(typing.Any, result)
1298
+
1299
+ @builtins.property
1300
+ def enabled_protocol(self) -> typing.Optional[builtins.str]:
1301
+ '''The protocol to use when accessing the storage share.
1302
+
1303
+ Example values: SMB, NFS.
1304
+ '''
1305
+ result = self._values.get("enabled_protocol")
1306
+ return typing.cast(typing.Optional[builtins.str], result)
1307
+
1308
+ @builtins.property
1309
+ def metadata(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
1310
+ '''A mapping of tags to assign to the storage share.
1311
+
1312
+ Format: { [key: string]: string }
1313
+ '''
1314
+ result = self._values.get("metadata")
1315
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
1316
+
1317
+ @builtins.property
1318
+ def quota(self) -> typing.Optional[jsii.Number]:
1319
+ '''The maximum size of the storage share, in gigabytes.'''
1320
+ result = self._values.get("quota")
1321
+ return typing.cast(typing.Optional[jsii.Number], result)
1322
+
1323
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1324
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1325
+
1326
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1327
+ return not (rhs == self)
1328
+
1329
+ def __repr__(self) -> str:
1330
+ return "FileShareProps(%s)" % ", ".join(
1331
+ k + "=" + repr(v) for k, v in self._values.items()
1332
+ )
1333
+
1334
+
1335
+ @jsii.data_type(
1336
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_storageaccount.NetworkRulesProps",
1337
+ jsii_struct_bases=[],
1338
+ name_mapping={
1339
+ "default_action": "defaultAction",
1340
+ "bypass": "bypass",
1341
+ "ip_rules": "ipRules",
1342
+ "private_link_access": "privateLinkAccess",
1343
+ "virtual_network_subnet_ids": "virtualNetworkSubnetIds",
1344
+ },
1345
+ )
1346
+ class NetworkRulesProps:
1347
+ def __init__(
1348
+ self,
1349
+ *,
1350
+ default_action: builtins.str,
1351
+ bypass: typing.Optional[typing.Sequence[builtins.str]] = None,
1352
+ ip_rules: typing.Optional[typing.Sequence[builtins.str]] = None,
1353
+ private_link_access: typing.Optional[typing.Sequence[typing.Union[_cdktf_cdktf_provider_azurerm_storage_account_network_rules_92bbcedf.StorageAccountNetworkRulesPrivateLinkAccessA, typing.Dict[builtins.str, typing.Any]]]] = None,
1354
+ virtual_network_subnet_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
1355
+ ) -> None:
1356
+ '''
1357
+ :param default_action: The default action of the network rule set. Options are 'Allow' or 'Deny'. Set to 'Deny' to enable network rules and restrict access to the storage account. 'Allow' permits access by default.
1358
+ :param bypass: Specifies which traffic to bypass from the network rules. The possible values are 'AzureServices', 'Logging', 'Metrics', and 'None'. Bypassing 'AzureServices' enables Azure's internal services to access the storage account.
1359
+ :param ip_rules: An array of IP rules to allow access to the storage account. These are specified as CIDR ranges. Example: ['1.2.3.4/32', '5.6.7.0/24'] to allow specific IPs/subnets.
1360
+ :param private_link_access: An array of objects representing the private link access settings. Each object in the array defines the sub-resource name (e.g., 'blob', 'file') and its respective private endpoint connections for the storage account.
1361
+ :param virtual_network_subnet_ids: An array of virtual network subnet IDs that are allowed to access the storage account. This enables you to secure the storage account to a specific virtual network and subnet within Azure.
1362
+ '''
1363
+ if __debug__:
1364
+ type_hints = typing.get_type_hints(_typecheckingstub__5dc2b426ec7348bba58ba58cf71d391e8683562f457bf2b3988d535d597d554f)
1365
+ check_type(argname="argument default_action", value=default_action, expected_type=type_hints["default_action"])
1366
+ check_type(argname="argument bypass", value=bypass, expected_type=type_hints["bypass"])
1367
+ check_type(argname="argument ip_rules", value=ip_rules, expected_type=type_hints["ip_rules"])
1368
+ check_type(argname="argument private_link_access", value=private_link_access, expected_type=type_hints["private_link_access"])
1369
+ check_type(argname="argument virtual_network_subnet_ids", value=virtual_network_subnet_ids, expected_type=type_hints["virtual_network_subnet_ids"])
1370
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1371
+ "default_action": default_action,
1372
+ }
1373
+ if bypass is not None:
1374
+ self._values["bypass"] = bypass
1375
+ if ip_rules is not None:
1376
+ self._values["ip_rules"] = ip_rules
1377
+ if private_link_access is not None:
1378
+ self._values["private_link_access"] = private_link_access
1379
+ if virtual_network_subnet_ids is not None:
1380
+ self._values["virtual_network_subnet_ids"] = virtual_network_subnet_ids
1381
+
1382
+ @builtins.property
1383
+ def default_action(self) -> builtins.str:
1384
+ '''The default action of the network rule set.
1385
+
1386
+ Options are 'Allow' or 'Deny'. Set to 'Deny' to enable network rules and restrict
1387
+ access to the storage account. 'Allow' permits access by default.
1388
+ '''
1389
+ result = self._values.get("default_action")
1390
+ assert result is not None, "Required property 'default_action' is missing"
1391
+ return typing.cast(builtins.str, result)
1392
+
1393
+ @builtins.property
1394
+ def bypass(self) -> typing.Optional[typing.List[builtins.str]]:
1395
+ '''Specifies which traffic to bypass from the network rules.
1396
+
1397
+ The possible values are 'AzureServices', 'Logging', 'Metrics',
1398
+ and 'None'. Bypassing 'AzureServices' enables Azure's internal services to access the storage account.
1399
+ '''
1400
+ result = self._values.get("bypass")
1401
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
1402
+
1403
+ @builtins.property
1404
+ def ip_rules(self) -> typing.Optional[typing.List[builtins.str]]:
1405
+ '''An array of IP rules to allow access to the storage account.
1406
+
1407
+ These are specified as CIDR ranges.
1408
+ Example: ['1.2.3.4/32', '5.6.7.0/24'] to allow specific IPs/subnets.
1409
+ '''
1410
+ result = self._values.get("ip_rules")
1411
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
1412
+
1413
+ @builtins.property
1414
+ def private_link_access(
1415
+ self,
1416
+ ) -> typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_storage_account_network_rules_92bbcedf.StorageAccountNetworkRulesPrivateLinkAccessA]]:
1417
+ '''An array of objects representing the private link access settings.
1418
+
1419
+ Each object in the array defines the sub-resource name
1420
+ (e.g., 'blob', 'file') and its respective private endpoint connections for the storage account.
1421
+ '''
1422
+ result = self._values.get("private_link_access")
1423
+ return typing.cast(typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_storage_account_network_rules_92bbcedf.StorageAccountNetworkRulesPrivateLinkAccessA]], result)
1424
+
1425
+ @builtins.property
1426
+ def virtual_network_subnet_ids(self) -> typing.Optional[typing.List[builtins.str]]:
1427
+ '''An array of virtual network subnet IDs that are allowed to access the storage account.
1428
+
1429
+ This enables you to secure the storage
1430
+ account to a specific virtual network and subnet within Azure.
1431
+ '''
1432
+ result = self._values.get("virtual_network_subnet_ids")
1433
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
1434
+
1435
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1436
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1437
+
1438
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1439
+ return not (rhs == self)
1440
+
1441
+ def __repr__(self) -> str:
1442
+ return "NetworkRulesProps(%s)" % ", ".join(
1443
+ k + "=" + repr(v) for k, v in self._values.items()
1444
+ )
1445
+
1446
+
1447
+ class Queue(
1448
+ _constructs_77d1e7e8.Construct,
1449
+ metaclass=jsii.JSIIMeta,
1450
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_storageaccount.Queue",
1451
+ ):
1452
+ def __init__(
1453
+ self,
1454
+ scope: _constructs_77d1e7e8.Construct,
1455
+ id_: builtins.str,
1456
+ *,
1457
+ name: builtins.str,
1458
+ storage_account_name: builtins.str,
1459
+ id: typing.Optional[builtins.str] = None,
1460
+ metadata: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1461
+ timeouts: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_storage_queue_92bbcedf.StorageQueueTimeouts, typing.Dict[builtins.str, typing.Any]]] = None,
1462
+ connection: typing.Optional[typing.Union[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.WinrmProvisionerConnection, typing.Dict[builtins.str, typing.Any]]]] = None,
1463
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
1464
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
1465
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
1466
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
1467
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
1468
+ provisioners: typing.Optional[typing.Sequence[typing.Union[typing.Union[_cdktf_9a9027ec.FileProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.LocalExecProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.RemoteExecProvisioner, typing.Dict[builtins.str, typing.Any]]]]] = None,
1469
+ ) -> None:
1470
+ '''Represents an Azure Storage Queue within a specific Azure Storage Account.
1471
+
1472
+ This class is responsible for the creation and management of an Azure Storage Queue, which is a service for storing large numbers
1473
+ of messages that can be accessed from anywhere in the world via authenticated calls using HTTP or HTTPS. A single queue message
1474
+ can be up to 64 KB in size, and a queue can contain millions of messages, up to the total capacity limit of a storage account.
1475
+ This class provides a way to manage messages in a scalable and secure manner.
1476
+
1477
+ :param scope: - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
1478
+ :param id_: - The unique identifier for this instance of the queue.
1479
+ :param name: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_queue#name StorageQueue#name}.
1480
+ :param storage_account_name: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_queue#storage_account_name StorageQueue#storage_account_name}.
1481
+ :param id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_queue#id StorageQueue#id}. Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
1482
+ :param metadata: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_queue#metadata StorageQueue#metadata}.
1483
+ :param timeouts: timeouts block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_queue#timeouts StorageQueue#timeouts}
1484
+ :param connection:
1485
+ :param count:
1486
+ :param depends_on:
1487
+ :param for_each:
1488
+ :param lifecycle:
1489
+ :param provider:
1490
+ :param provisioners:
1491
+ '''
1492
+ if __debug__:
1493
+ type_hints = typing.get_type_hints(_typecheckingstub__d244330190615564ee6dbe2d543b2a4184c79a1bb46ad618ca56cf5001b92f56)
1494
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1495
+ check_type(argname="argument id_", value=id_, expected_type=type_hints["id_"])
1496
+ props = _cdktf_cdktf_provider_azurerm_storage_queue_92bbcedf.StorageQueueConfig(
1497
+ name=name,
1498
+ storage_account_name=storage_account_name,
1499
+ id=id,
1500
+ metadata=metadata,
1501
+ timeouts=timeouts,
1502
+ connection=connection,
1503
+ count=count,
1504
+ depends_on=depends_on,
1505
+ for_each=for_each,
1506
+ lifecycle=lifecycle,
1507
+ provider=provider,
1508
+ provisioners=provisioners,
1509
+ )
1510
+
1511
+ jsii.create(self.__class__, self, [scope, id_, props])
1512
+
1513
+ @builtins.property
1514
+ @jsii.member(jsii_name="name")
1515
+ def name(self) -> builtins.str:
1516
+ return typing.cast(builtins.str, jsii.get(self, "name"))
1517
+
1518
+
1519
+ class Table(
1520
+ _constructs_77d1e7e8.Construct,
1521
+ metaclass=jsii.JSIIMeta,
1522
+ jsii_type="@microsoft/terraform-cdk-constructs.azure_storageaccount.Table",
1523
+ ):
1524
+ def __init__(
1525
+ self,
1526
+ scope: _constructs_77d1e7e8.Construct,
1527
+ id_: builtins.str,
1528
+ *,
1529
+ name: builtins.str,
1530
+ storage_account_name: builtins.str,
1531
+ acl: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[_cdktf_cdktf_provider_azurerm_storage_table_92bbcedf.StorageTableAcl, typing.Dict[builtins.str, typing.Any]]]]] = None,
1532
+ id: typing.Optional[builtins.str] = None,
1533
+ timeouts: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_storage_table_92bbcedf.StorageTableTimeouts, typing.Dict[builtins.str, typing.Any]]] = None,
1534
+ connection: typing.Optional[typing.Union[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.WinrmProvisionerConnection, typing.Dict[builtins.str, typing.Any]]]] = None,
1535
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
1536
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
1537
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
1538
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
1539
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
1540
+ provisioners: typing.Optional[typing.Sequence[typing.Union[typing.Union[_cdktf_9a9027ec.FileProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.LocalExecProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.RemoteExecProvisioner, typing.Dict[builtins.str, typing.Any]]]]] = None,
1541
+ ) -> None:
1542
+ '''Represents an Azure Storage Table within a specific Azure Storage Account.
1543
+
1544
+ This class is responsible for the creation and management of an Azure Storage Table, which provides a NoSQL key-attribute data store
1545
+ that can massively scale. It is suitable for storing structured, non-relational data, allowing rapid development and fast access to large
1546
+ quantities of data. The class facilitates creating and configuring storage tables including setting up access control lists (ACLs).
1547
+
1548
+ :param scope: - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
1549
+ :param id_: - The unique identifier for this instance of the table.
1550
+ :param name: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_table#name StorageTable#name}.
1551
+ :param storage_account_name: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_table#storage_account_name StorageTable#storage_account_name}.
1552
+ :param acl: acl block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_table#acl StorageTable#acl}
1553
+ :param id: Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_table#id StorageTable#id}. Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
1554
+ :param timeouts: timeouts block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.70.0/docs/resources/storage_table#timeouts StorageTable#timeouts}
1555
+ :param connection:
1556
+ :param count:
1557
+ :param depends_on:
1558
+ :param for_each:
1559
+ :param lifecycle:
1560
+ :param provider:
1561
+ :param provisioners:
1562
+ '''
1563
+ if __debug__:
1564
+ type_hints = typing.get_type_hints(_typecheckingstub__b18eeca647cce1092403c4ab1b5a3e6352b1a2110148b703c2e7fd47748618a6)
1565
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1566
+ check_type(argname="argument id_", value=id_, expected_type=type_hints["id_"])
1567
+ props = _cdktf_cdktf_provider_azurerm_storage_table_92bbcedf.StorageTableConfig(
1568
+ name=name,
1569
+ storage_account_name=storage_account_name,
1570
+ acl=acl,
1571
+ id=id,
1572
+ timeouts=timeouts,
1573
+ connection=connection,
1574
+ count=count,
1575
+ depends_on=depends_on,
1576
+ for_each=for_each,
1577
+ lifecycle=lifecycle,
1578
+ provider=provider,
1579
+ provisioners=provisioners,
1580
+ )
1581
+
1582
+ jsii.create(self.__class__, self, [scope, id_, props])
1583
+
1584
+ @builtins.property
1585
+ @jsii.member(jsii_name="name")
1586
+ def name(self) -> builtins.str:
1587
+ return typing.cast(builtins.str, jsii.get(self, "name"))
1588
+
1589
+
1590
+ __all__ = [
1591
+ "Account",
1592
+ "AccountProps",
1593
+ "Blob",
1594
+ "Container",
1595
+ "File",
1596
+ "FileShare",
1597
+ "FileShareProps",
1598
+ "NetworkRulesProps",
1599
+ "Queue",
1600
+ "Table",
1601
+ ]
1602
+
1603
+ publication.publish()
1604
+
1605
+ def _typecheckingstub__6cf8d651224015dd5f566f70fa4f6451c4aa70245e080717f03189f597288cda(
1606
+ scope: _constructs_77d1e7e8.Construct,
1607
+ id: builtins.str,
1608
+ *,
1609
+ location: builtins.str,
1610
+ name: builtins.str,
1611
+ access_tier: typing.Optional[builtins.str] = None,
1612
+ account_kind: typing.Optional[builtins.str] = None,
1613
+ account_replication_type: typing.Optional[builtins.str] = None,
1614
+ account_tier: typing.Optional[builtins.str] = None,
1615
+ enable_https_traffic_only: typing.Optional[builtins.bool] = None,
1616
+ identity: typing.Any = None,
1617
+ is_hns_enabled: typing.Optional[builtins.bool] = None,
1618
+ min_tls_version: typing.Optional[builtins.str] = None,
1619
+ public_network_access_enabled: typing.Optional[builtins.bool] = None,
1620
+ resource_group: typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup] = None,
1621
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1622
+ ) -> None:
1623
+ """Type checking stubs"""
1624
+ pass
1625
+
1626
+ def _typecheckingstub__1507cad6d96c6bff9c8948d2fc2dc3b492f45668b2d27256eeeb72784ce61712(
1627
+ name: builtins.str,
1628
+ container_access_type: typing.Optional[builtins.str] = None,
1629
+ metadata: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1630
+ ) -> None:
1631
+ """Type checking stubs"""
1632
+ pass
1633
+
1634
+ def _typecheckingstub__417198ca18a6617286bb83e6a9fd18479dae6f9437b3f86bfed5be54795acc23(
1635
+ name: builtins.str,
1636
+ *,
1637
+ access_tier: typing.Optional[builtins.str] = None,
1638
+ acl: typing.Any = None,
1639
+ enabled_protocol: typing.Optional[builtins.str] = None,
1640
+ metadata: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1641
+ quota: typing.Optional[jsii.Number] = None,
1642
+ ) -> None:
1643
+ """Type checking stubs"""
1644
+ pass
1645
+
1646
+ def _typecheckingstub__01ff1359fcff7f63e01967486b6eab1309a5a0499600d0f9996baaece4d468bd(
1647
+ name: builtins.str,
1648
+ metadata: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1649
+ ) -> None:
1650
+ """Type checking stubs"""
1651
+ pass
1652
+
1653
+ def _typecheckingstub__aa42f736eee4b505889af078f894ef6cb9dfdc60488ee3b76d0ece3d794f5ff6(
1654
+ name: builtins.str,
1655
+ acl: typing.Optional[typing.Sequence[typing.Union[_cdktf_cdktf_provider_azurerm_storage_table_92bbcedf.StorageTableAcl, typing.Dict[builtins.str, typing.Any]]]] = None,
1656
+ ) -> None:
1657
+ """Type checking stubs"""
1658
+ pass
1659
+
1660
+ def _typecheckingstub__5024b09e7cb3af550bee25059decceb2e25cbec13a7b5afe4b3170d8e7c13ab0(
1661
+ value: builtins.str,
1662
+ ) -> None:
1663
+ """Type checking stubs"""
1664
+ pass
1665
+
1666
+ def _typecheckingstub__98ede1f7c205554b760d9e374dba3482370df0f4a4e133b3ca6dd38d5cb2a801(
1667
+ value: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
1668
+ ) -> None:
1669
+ """Type checking stubs"""
1670
+ pass
1671
+
1672
+ def _typecheckingstub__d0072c193a9790f4f261e3f6c7c6cad7d13e9d662dc060adff5d380ad9854013(
1673
+ *,
1674
+ location: builtins.str,
1675
+ name: builtins.str,
1676
+ access_tier: typing.Optional[builtins.str] = None,
1677
+ account_kind: typing.Optional[builtins.str] = None,
1678
+ account_replication_type: typing.Optional[builtins.str] = None,
1679
+ account_tier: typing.Optional[builtins.str] = None,
1680
+ enable_https_traffic_only: typing.Optional[builtins.bool] = None,
1681
+ identity: typing.Any = None,
1682
+ is_hns_enabled: typing.Optional[builtins.bool] = None,
1683
+ min_tls_version: typing.Optional[builtins.str] = None,
1684
+ public_network_access_enabled: typing.Optional[builtins.bool] = None,
1685
+ resource_group: typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup] = None,
1686
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1687
+ ) -> None:
1688
+ """Type checking stubs"""
1689
+ pass
1690
+
1691
+ def _typecheckingstub__dd765c1dee5ff09470496fc284b6bb6ae1ffdd7b67b7650dc411b5d15ca54a1f(
1692
+ scope: _constructs_77d1e7e8.Construct,
1693
+ id_: builtins.str,
1694
+ *,
1695
+ name: builtins.str,
1696
+ storage_account_name: builtins.str,
1697
+ storage_container_name: builtins.str,
1698
+ type: builtins.str,
1699
+ access_tier: typing.Optional[builtins.str] = None,
1700
+ cache_control: typing.Optional[builtins.str] = None,
1701
+ content_md5: typing.Optional[builtins.str] = None,
1702
+ content_type: typing.Optional[builtins.str] = None,
1703
+ id: typing.Optional[builtins.str] = None,
1704
+ metadata: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1705
+ parallelism: typing.Optional[jsii.Number] = None,
1706
+ size: typing.Optional[jsii.Number] = None,
1707
+ source: typing.Optional[builtins.str] = None,
1708
+ source_content: typing.Optional[builtins.str] = None,
1709
+ source_uri: typing.Optional[builtins.str] = None,
1710
+ timeouts: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_storage_blob_92bbcedf.StorageBlobTimeouts, typing.Dict[builtins.str, typing.Any]]] = None,
1711
+ connection: typing.Optional[typing.Union[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.WinrmProvisionerConnection, typing.Dict[builtins.str, typing.Any]]]] = None,
1712
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
1713
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
1714
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
1715
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
1716
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
1717
+ provisioners: typing.Optional[typing.Sequence[typing.Union[typing.Union[_cdktf_9a9027ec.FileProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.LocalExecProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.RemoteExecProvisioner, typing.Dict[builtins.str, typing.Any]]]]] = None,
1718
+ ) -> None:
1719
+ """Type checking stubs"""
1720
+ pass
1721
+
1722
+ def _typecheckingstub__cf8aea438662ddf74e870f852aeb8ae5faa1ebd51d3d093feed528ac9ce497cc(
1723
+ scope: _constructs_77d1e7e8.Construct,
1724
+ id_: builtins.str,
1725
+ *,
1726
+ name: builtins.str,
1727
+ storage_account_name: builtins.str,
1728
+ container_access_type: typing.Optional[builtins.str] = None,
1729
+ id: typing.Optional[builtins.str] = None,
1730
+ metadata: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1731
+ timeouts: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_storage_container_92bbcedf.StorageContainerTimeouts, typing.Dict[builtins.str, typing.Any]]] = None,
1732
+ connection: typing.Optional[typing.Union[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.WinrmProvisionerConnection, typing.Dict[builtins.str, typing.Any]]]] = None,
1733
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
1734
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
1735
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
1736
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
1737
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
1738
+ provisioners: typing.Optional[typing.Sequence[typing.Union[typing.Union[_cdktf_9a9027ec.FileProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.LocalExecProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.RemoteExecProvisioner, typing.Dict[builtins.str, typing.Any]]]]] = None,
1739
+ ) -> None:
1740
+ """Type checking stubs"""
1741
+ pass
1742
+
1743
+ def _typecheckingstub__8e4f23a53fd58239dea6b2f497da13f1dda1d394a4b6fb1b2969ed0792b18e32(
1744
+ blob_name: builtins.str,
1745
+ file_path: builtins.str,
1746
+ *,
1747
+ name: builtins.str,
1748
+ storage_account_name: builtins.str,
1749
+ storage_container_name: builtins.str,
1750
+ type: builtins.str,
1751
+ access_tier: typing.Optional[builtins.str] = None,
1752
+ cache_control: typing.Optional[builtins.str] = None,
1753
+ content_md5: typing.Optional[builtins.str] = None,
1754
+ content_type: typing.Optional[builtins.str] = None,
1755
+ id: typing.Optional[builtins.str] = None,
1756
+ metadata: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1757
+ parallelism: typing.Optional[jsii.Number] = None,
1758
+ size: typing.Optional[jsii.Number] = None,
1759
+ source: typing.Optional[builtins.str] = None,
1760
+ source_content: typing.Optional[builtins.str] = None,
1761
+ source_uri: typing.Optional[builtins.str] = None,
1762
+ timeouts: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_storage_blob_92bbcedf.StorageBlobTimeouts, typing.Dict[builtins.str, typing.Any]]] = None,
1763
+ connection: typing.Optional[typing.Union[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.WinrmProvisionerConnection, typing.Dict[builtins.str, typing.Any]]]] = None,
1764
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
1765
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
1766
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
1767
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
1768
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
1769
+ provisioners: typing.Optional[typing.Sequence[typing.Union[typing.Union[_cdktf_9a9027ec.FileProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.LocalExecProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.RemoteExecProvisioner, typing.Dict[builtins.str, typing.Any]]]]] = None,
1770
+ ) -> None:
1771
+ """Type checking stubs"""
1772
+ pass
1773
+
1774
+ def _typecheckingstub__16432b46cc40fbd4a478574b1a6c92923d92075753e76f794a3cf23bb719bfd3(
1775
+ scope: _constructs_77d1e7e8.Construct,
1776
+ id_: builtins.str,
1777
+ *,
1778
+ name: builtins.str,
1779
+ storage_share_id: builtins.str,
1780
+ content_disposition: typing.Optional[builtins.str] = None,
1781
+ content_encoding: typing.Optional[builtins.str] = None,
1782
+ content_md5: typing.Optional[builtins.str] = None,
1783
+ content_type: typing.Optional[builtins.str] = None,
1784
+ id: typing.Optional[builtins.str] = None,
1785
+ metadata: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1786
+ path: typing.Optional[builtins.str] = None,
1787
+ source: typing.Optional[builtins.str] = None,
1788
+ timeouts: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_storage_share_file_92bbcedf.StorageShareFileTimeouts, typing.Dict[builtins.str, typing.Any]]] = None,
1789
+ connection: typing.Optional[typing.Union[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.WinrmProvisionerConnection, typing.Dict[builtins.str, typing.Any]]]] = None,
1790
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
1791
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
1792
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
1793
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
1794
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
1795
+ provisioners: typing.Optional[typing.Sequence[typing.Union[typing.Union[_cdktf_9a9027ec.FileProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.LocalExecProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.RemoteExecProvisioner, typing.Dict[builtins.str, typing.Any]]]]] = None,
1796
+ ) -> None:
1797
+ """Type checking stubs"""
1798
+ pass
1799
+
1800
+ def _typecheckingstub__9812954a73f8817b9eec05619517134fd846a8514a3d411d0e1345b83ef9e96e(
1801
+ scope: _constructs_77d1e7e8.Construct,
1802
+ id_: builtins.str,
1803
+ *,
1804
+ name: builtins.str,
1805
+ quota: jsii.Number,
1806
+ storage_account_name: builtins.str,
1807
+ access_tier: typing.Optional[builtins.str] = None,
1808
+ acl: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[_cdktf_cdktf_provider_azurerm_storage_share_92bbcedf.StorageShareAcl, typing.Dict[builtins.str, typing.Any]]]]] = None,
1809
+ enabled_protocol: typing.Optional[builtins.str] = None,
1810
+ id: typing.Optional[builtins.str] = None,
1811
+ metadata: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1812
+ timeouts: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_storage_share_92bbcedf.StorageShareTimeouts, typing.Dict[builtins.str, typing.Any]]] = None,
1813
+ connection: typing.Optional[typing.Union[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.WinrmProvisionerConnection, typing.Dict[builtins.str, typing.Any]]]] = None,
1814
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
1815
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
1816
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
1817
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
1818
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
1819
+ provisioners: typing.Optional[typing.Sequence[typing.Union[typing.Union[_cdktf_9a9027ec.FileProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.LocalExecProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.RemoteExecProvisioner, typing.Dict[builtins.str, typing.Any]]]]] = None,
1820
+ ) -> None:
1821
+ """Type checking stubs"""
1822
+ pass
1823
+
1824
+ def _typecheckingstub__b02aa2198fb33f4138369b7551b1be9e8267855ea44d93c99d6416dd8986c0ed(
1825
+ file_name: builtins.str,
1826
+ file_source: typing.Optional[builtins.str] = None,
1827
+ *,
1828
+ name: builtins.str,
1829
+ storage_share_id: builtins.str,
1830
+ content_disposition: typing.Optional[builtins.str] = None,
1831
+ content_encoding: typing.Optional[builtins.str] = None,
1832
+ content_md5: typing.Optional[builtins.str] = None,
1833
+ content_type: typing.Optional[builtins.str] = None,
1834
+ id: typing.Optional[builtins.str] = None,
1835
+ metadata: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1836
+ path: typing.Optional[builtins.str] = None,
1837
+ source: typing.Optional[builtins.str] = None,
1838
+ timeouts: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_storage_share_file_92bbcedf.StorageShareFileTimeouts, typing.Dict[builtins.str, typing.Any]]] = None,
1839
+ connection: typing.Optional[typing.Union[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.WinrmProvisionerConnection, typing.Dict[builtins.str, typing.Any]]]] = None,
1840
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
1841
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
1842
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
1843
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
1844
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
1845
+ provisioners: typing.Optional[typing.Sequence[typing.Union[typing.Union[_cdktf_9a9027ec.FileProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.LocalExecProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.RemoteExecProvisioner, typing.Dict[builtins.str, typing.Any]]]]] = None,
1846
+ ) -> None:
1847
+ """Type checking stubs"""
1848
+ pass
1849
+
1850
+ def _typecheckingstub__e56cbf4116d87b4124bd3e753ede685265ef315d32554e49ee0bb07935943a5d(
1851
+ *,
1852
+ access_tier: typing.Optional[builtins.str] = None,
1853
+ acl: typing.Any = None,
1854
+ enabled_protocol: typing.Optional[builtins.str] = None,
1855
+ metadata: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1856
+ quota: typing.Optional[jsii.Number] = None,
1857
+ ) -> None:
1858
+ """Type checking stubs"""
1859
+ pass
1860
+
1861
+ def _typecheckingstub__5dc2b426ec7348bba58ba58cf71d391e8683562f457bf2b3988d535d597d554f(
1862
+ *,
1863
+ default_action: builtins.str,
1864
+ bypass: typing.Optional[typing.Sequence[builtins.str]] = None,
1865
+ ip_rules: typing.Optional[typing.Sequence[builtins.str]] = None,
1866
+ private_link_access: typing.Optional[typing.Sequence[typing.Union[_cdktf_cdktf_provider_azurerm_storage_account_network_rules_92bbcedf.StorageAccountNetworkRulesPrivateLinkAccessA, typing.Dict[builtins.str, typing.Any]]]] = None,
1867
+ virtual_network_subnet_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
1868
+ ) -> None:
1869
+ """Type checking stubs"""
1870
+ pass
1871
+
1872
+ def _typecheckingstub__d244330190615564ee6dbe2d543b2a4184c79a1bb46ad618ca56cf5001b92f56(
1873
+ scope: _constructs_77d1e7e8.Construct,
1874
+ id_: builtins.str,
1875
+ *,
1876
+ name: builtins.str,
1877
+ storage_account_name: builtins.str,
1878
+ id: typing.Optional[builtins.str] = None,
1879
+ metadata: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1880
+ timeouts: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_storage_queue_92bbcedf.StorageQueueTimeouts, typing.Dict[builtins.str, typing.Any]]] = None,
1881
+ connection: typing.Optional[typing.Union[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.WinrmProvisionerConnection, typing.Dict[builtins.str, typing.Any]]]] = None,
1882
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
1883
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
1884
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
1885
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
1886
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
1887
+ provisioners: typing.Optional[typing.Sequence[typing.Union[typing.Union[_cdktf_9a9027ec.FileProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.LocalExecProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.RemoteExecProvisioner, typing.Dict[builtins.str, typing.Any]]]]] = None,
1888
+ ) -> None:
1889
+ """Type checking stubs"""
1890
+ pass
1891
+
1892
+ def _typecheckingstub__b18eeca647cce1092403c4ab1b5a3e6352b1a2110148b703c2e7fd47748618a6(
1893
+ scope: _constructs_77d1e7e8.Construct,
1894
+ id_: builtins.str,
1895
+ *,
1896
+ name: builtins.str,
1897
+ storage_account_name: builtins.str,
1898
+ acl: typing.Optional[typing.Union[_cdktf_9a9027ec.IResolvable, typing.Sequence[typing.Union[_cdktf_cdktf_provider_azurerm_storage_table_92bbcedf.StorageTableAcl, typing.Dict[builtins.str, typing.Any]]]]] = None,
1899
+ id: typing.Optional[builtins.str] = None,
1900
+ timeouts: typing.Optional[typing.Union[_cdktf_cdktf_provider_azurerm_storage_table_92bbcedf.StorageTableTimeouts, typing.Dict[builtins.str, typing.Any]]] = None,
1901
+ connection: typing.Optional[typing.Union[typing.Union[_cdktf_9a9027ec.SSHProvisionerConnection, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.WinrmProvisionerConnection, typing.Dict[builtins.str, typing.Any]]]] = None,
1902
+ count: typing.Optional[typing.Union[jsii.Number, _cdktf_9a9027ec.TerraformCount]] = None,
1903
+ depends_on: typing.Optional[typing.Sequence[_cdktf_9a9027ec.ITerraformDependable]] = None,
1904
+ for_each: typing.Optional[_cdktf_9a9027ec.ITerraformIterator] = None,
1905
+ lifecycle: typing.Optional[typing.Union[_cdktf_9a9027ec.TerraformResourceLifecycle, typing.Dict[builtins.str, typing.Any]]] = None,
1906
+ provider: typing.Optional[_cdktf_9a9027ec.TerraformProvider] = None,
1907
+ provisioners: typing.Optional[typing.Sequence[typing.Union[typing.Union[_cdktf_9a9027ec.FileProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.LocalExecProvisioner, typing.Dict[builtins.str, typing.Any]], typing.Union[_cdktf_9a9027ec.RemoteExecProvisioner, typing.Dict[builtins.str, typing.Any]]]]] = None,
1908
+ ) -> None:
1909
+ """Type checking stubs"""
1910
+ pass