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.
- microsoft_cdktfconstructs/__init__.py +217 -0
- microsoft_cdktfconstructs/_jsii/__init__.py +31 -0
- microsoft_cdktfconstructs/_jsii/terraform-cdk-constructs@0.0.3-pre.11.jsii.tgz +0 -0
- microsoft_cdktfconstructs/azure_applicationgateway/__init__.py +823 -0
- microsoft_cdktfconstructs/azure_applicationinsights/__init__.py +397 -0
- microsoft_cdktfconstructs/azure_containerregistry/__init__.py +320 -0
- microsoft_cdktfconstructs/azure_eventhub/__init__.py +2213 -0
- microsoft_cdktfconstructs/azure_functionapp/__init__.py +908 -0
- microsoft_cdktfconstructs/azure_keyvault/__init__.py +1982 -0
- microsoft_cdktfconstructs/azure_kubernetes/__init__.py +400 -0
- microsoft_cdktfconstructs/azure_kusto/__init__.py +2485 -0
- microsoft_cdktfconstructs/azure_loganalytics/__init__.py +652 -0
- microsoft_cdktfconstructs/azure_metricalert/__init__.py +1260 -0
- microsoft_cdktfconstructs/azure_networksecuritygroup/__init__.py +1742 -0
- microsoft_cdktfconstructs/azure_queryrulealert/__init__.py +1189 -0
- microsoft_cdktfconstructs/azure_resourcegroup/__init__.py +320 -0
- microsoft_cdktfconstructs/azure_storageaccount/__init__.py +1910 -0
- microsoft_cdktfconstructs/azure_virtualmachine/__init__.py +1460 -0
- microsoft_cdktfconstructs/azure_virtualmachinescaleset/__init__.py +1185 -0
- microsoft_cdktfconstructs/azure_virtualnetwork/__init__.py +707 -0
- microsoft_cdktfconstructs/core_azure/__init__.py +931 -0
- microsoft_cdktfconstructs/py.typed +1 -0
- microsoft_cdktfconstructs-0.0.3.dev11.dist-info/LICENSE +19 -0
- microsoft_cdktfconstructs-0.0.3.dev11.dist-info/METADATA +188 -0
- microsoft_cdktfconstructs-0.0.3.dev11.dist-info/RECORD +27 -0
- microsoft_cdktfconstructs-0.0.3.dev11.dist-info/WHEEL +5 -0
- 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
|