@microsoft/terraform-cdk-constructs 0.0.3-pre.6 → 0.0.3-pre.7
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.
- package/.jsii +909 -306
- package/API.md +2488 -255
- package/README.md +112 -18
- package/docs/images/ide-documentation.png +0 -0
- package/lib/azure-actiongroup/lib/actiongroup.d.ts +39 -0
- package/lib/azure-actiongroup/lib/actiongroup.js +40 -1
- package/lib/azure-applicationgateway/lib/gateway.d.ts +76 -0
- package/lib/azure-applicationgateway/lib/gateway.js +78 -2
- package/lib/azure-applicationinsights/lib/appinsights.d.ts +50 -0
- package/lib/azure-applicationinsights/lib/appinsights.js +52 -3
- package/lib/azure-containerregistry/lib/registry.d.ts +29 -0
- package/lib/azure-containerregistry/lib/registry.js +31 -2
- package/lib/azure-datalake/lib/datalake.d.ts +50 -0
- package/lib/azure-datalake/lib/datalake.js +51 -1
- package/lib/azure-datalake/lib/filesystem.d.ts +51 -0
- package/lib/azure-datalake/lib/filesystem.js +52 -1
- package/lib/azure-datalake/lib/path.d.ts +37 -0
- package/lib/azure-datalake/lib/path.js +38 -1
- package/lib/azure-eventhub/lib/authorization.d.ts +30 -0
- package/lib/azure-eventhub/lib/authorization.js +32 -2
- package/lib/azure-eventhub/lib/cluster.d.ts +29 -0
- package/lib/azure-eventhub/lib/cluster.js +31 -2
- package/lib/azure-eventhub/lib/consumer.d.ts +28 -0
- package/lib/azure-eventhub/lib/consumer.js +30 -2
- package/lib/azure-eventhub/lib/instance.d.ts +118 -0
- package/lib/azure-eventhub/lib/instance.js +120 -2
- package/lib/azure-eventhub/lib/kusto-connection.d.ts +41 -0
- package/lib/azure-eventhub/lib/kusto-connection.js +43 -2
- package/lib/azure-eventhub/lib/namespace.d.ts +74 -0
- package/lib/azure-eventhub/lib/namespace.js +76 -3
- package/lib/azure-functionapp/lib/functionapplinux.js +1 -1
- package/lib/azure-keyvault/lib/certificate.d.ts +96 -2
- package/lib/azure-keyvault/lib/certificate.js +55 -3
- package/lib/azure-keyvault/lib/key.d.ts +36 -0
- package/lib/azure-keyvault/lib/key.js +38 -2
- package/lib/azure-keyvault/lib/policy.d.ts +30 -0
- package/lib/azure-keyvault/lib/policy.js +32 -2
- package/lib/azure-keyvault/lib/secret.d.ts +31 -0
- package/lib/azure-keyvault/lib/secret.js +33 -2
- package/lib/azure-keyvault/lib/vault.d.ts +188 -0
- package/lib/azure-keyvault/lib/vault.js +191 -7
- package/lib/azure-kubernetes/lib/cluster.d.ts +25 -4
- package/lib/azure-kubernetes/lib/cluster.js +27 -6
- package/lib/azure-kusto/lib/cluster.d.ts +53 -0
- package/lib/azure-kusto/lib/cluster.js +55 -2
- package/lib/azure-kusto/lib/compute-specification.js +1 -1
- package/lib/azure-kusto/lib/database.d.ts +103 -0
- package/lib/azure-kusto/lib/database.js +105 -2
- package/lib/azure-loganalytics/lib/workspace.d.ts +47 -0
- package/lib/azure-loganalytics/lib/workspace.js +49 -2
- package/lib/azure-metricalert/lib/metric-alert.d.ts +43 -4
- package/lib/azure-metricalert/lib/metric-alert.js +45 -6
- package/lib/azure-networksecuritygroup/lib/preconfigured-rules.js +1 -1
- package/lib/azure-networksecuritygroup/lib/securitygroup.d.ts +92 -0
- package/lib/azure-networksecuritygroup/lib/securitygroup.js +95 -5
- package/lib/azure-queryrulealert/lib/query-rule-alert.d.ts +35 -4
- package/lib/azure-queryrulealert/lib/query-rule-alert.js +37 -6
- package/lib/azure-resourcegroup/lib/resource-group.d.ts +28 -0
- package/lib/azure-resourcegroup/lib/resource-group.js +30 -2
- package/lib/azure-storageaccount/lib/account.d.ts +75 -48
- package/lib/azure-storageaccount/lib/account.js +77 -50
- package/lib/azure-storageaccount/lib/container.d.ts +94 -12
- package/lib/azure-storageaccount/lib/container.js +97 -15
- package/lib/azure-storageaccount/lib/fileshare.d.ts +36 -0
- package/lib/azure-storageaccount/lib/fileshare.js +39 -3
- package/lib/azure-storageaccount/lib/queue.d.ts +29 -0
- package/lib/azure-storageaccount/lib/queue.js +31 -2
- package/lib/azure-storageaccount/lib/table.d.ts +32 -0
- package/lib/azure-storageaccount/lib/table.js +34 -2
- package/lib/azure-virtualmachine/lib/image-references.js +2 -2
- package/lib/azure-virtualmachine/lib/vm.d.ts +84 -8
- package/lib/azure-virtualmachine/lib/vm.js +87 -11
- package/lib/azure-virtualmachinescaleset/lib/cluster.d.ts +98 -8
- package/lib/azure-virtualmachinescaleset/lib/cluster.js +101 -11
- package/lib/azure-virtualnetwork/lib/network.d.ts +61 -0
- package/lib/azure-virtualnetwork/lib/network.js +63 -3
- package/lib/azure-virtualnetwork/lib/peering.d.ts +39 -0
- package/lib/azure-virtualnetwork/lib/peering.js +41 -2
- package/lib/core-azure/lib/diagsettings.d.ts +37 -0
- package/lib/core-azure/lib/diagsettings.js +39 -2
- package/lib/core-azure/lib/rbac.d.ts +22 -4
- package/lib/core-azure/lib/rbac.js +24 -6
- package/lib/core-azure/lib/resource.d.ts +45 -0
- package/lib/core-azure/lib/resource.js +48 -4
- package/package.json +1 -1
|
@@ -9,6 +9,39 @@ const log_analytics_workspace_1 = require("@cdktf/provider-azurerm/lib/log-analy
|
|
|
9
9
|
const cdktf = require("cdktf");
|
|
10
10
|
const lib_1 = require("../../core-azure/lib");
|
|
11
11
|
class AppInsights extends lib_1.AzureResource {
|
|
12
|
+
/**
|
|
13
|
+
* Constructs a new Azure Application Insights resource.
|
|
14
|
+
*
|
|
15
|
+
* @param scope - The scope in which to define this construct.
|
|
16
|
+
* @param id - The ID of this construct.
|
|
17
|
+
* @param props - The properties for configuring the Azure Application Insights. The properties include:
|
|
18
|
+
* - `name`: Required. Unique name for the Application Insights resource within Azure.
|
|
19
|
+
* - `location`: Required. Azure Region for deployment.
|
|
20
|
+
* - `resourceGroup`: Required. Reference to the Azure Resource Group for deployment.
|
|
21
|
+
* - `retentionInDays`: Optional. Number of days to retain data. Default is 90 days.
|
|
22
|
+
* - `tags`: Optional. Tags for resource management.
|
|
23
|
+
* - `applicationType`: Required. The type of application (e.g., web, other).
|
|
24
|
+
* - `dailyDataCapInGb`: Optional. Daily data cap in gigabytes.
|
|
25
|
+
* - `dailyDataCapNotificationDisabled`: Optional. Flag to disable notifications when the daily data cap is reached.
|
|
26
|
+
* - `workspaceId`: Optional. ID of the Log Analytics Workspace to associate with Application Insights. If not provided, a new workspace is created automatically.
|
|
27
|
+
*
|
|
28
|
+
* Example usage:
|
|
29
|
+
* ```typescript
|
|
30
|
+
* new AppInsights(this, 'myAppInsights', {
|
|
31
|
+
* name: 'myAppInsightsResource',
|
|
32
|
+
* location: 'West US',
|
|
33
|
+
* resourceGroup: resourceGroup,
|
|
34
|
+
* retentionInDays: 120,
|
|
35
|
+
* tags: {
|
|
36
|
+
* "environment": "production"
|
|
37
|
+
* },
|
|
38
|
+
* applicationType: 'web',
|
|
39
|
+
* dailyDataCapInGb: 10,
|
|
40
|
+
* dailyDataCapNotificationDisabled: true,
|
|
41
|
+
* workspaceId: 'existing-workspace-id'
|
|
42
|
+
* });
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
12
45
|
constructor(scope, id, props) {
|
|
13
46
|
super(scope, id);
|
|
14
47
|
this.props = props;
|
|
@@ -52,7 +85,23 @@ class AppInsights extends lib_1.AzureResource {
|
|
|
52
85
|
cdktfTerraformOutputAppiIKey.overrideLogicalId("instrumentation_key");
|
|
53
86
|
cdktfTerraformOutputAppiConnectStr.overrideLogicalId("connection_string");
|
|
54
87
|
}
|
|
55
|
-
|
|
88
|
+
/**
|
|
89
|
+
* Saves the Application Insights instrumentation key to an Azure Key Vault.
|
|
90
|
+
*
|
|
91
|
+
* This method creates a new secret in the specified Azure Key Vault with the
|
|
92
|
+
* instrumentation key of the Application Insights resource. This enables secure storage
|
|
93
|
+
* and management of the instrumentation key, facilitating secure access across various
|
|
94
|
+
* Azure services.
|
|
95
|
+
*
|
|
96
|
+
* @param keyVaultId - The unique identifier of the Azure Key Vault where the secret will be stored.
|
|
97
|
+
* @param keyVaultSecretName - The name of the secret within the Key Vault. Defaults to 'instrumentation-key'.
|
|
98
|
+
* This name can be used to retrieve the secret in client applications.
|
|
99
|
+
*
|
|
100
|
+
* Example usage:
|
|
101
|
+
* ```typescript
|
|
102
|
+
* appInsightsInstance.saveIKeyToKeyVault('my-key-vault-id');
|
|
103
|
+
* ```
|
|
104
|
+
*/
|
|
56
105
|
saveIKeyToKeyVault(keyVaultId, keyVaultSecretName = "instrumentation-key") {
|
|
57
106
|
new key_vault_secret_1.KeyVaultSecret(this, keyVaultSecretName, {
|
|
58
107
|
keyVaultId: keyVaultId,
|
|
@@ -81,5 +130,5 @@ class AppInsights extends lib_1.AzureResource {
|
|
|
81
130
|
}
|
|
82
131
|
exports.AppInsights = AppInsights;
|
|
83
132
|
_a = JSII_RTTI_SYMBOL_1;
|
|
84
|
-
AppInsights[_a] = { fqn: "@microsoft/terraform-cdk-constructs.azure_applicationinsights.AppInsights", version: "0.0.3-pre.
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwaW5zaWdodHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtYXBwbGljYXRpb25pbnNpZ2h0cy9saWIvYXBwaW5zaWdodHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwyRkFBdUY7QUFDdkYsbUZBQThFO0FBQzlFLGlHQUE0RjtBQUU1RiwrQkFBK0I7QUFFL0IsOENBQXFEO0FBbURyRCxNQUFhLFdBQVksU0FBUSxtQkFBYTtJQU01QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXVCO1FBQy9ELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDO1FBRXpDLE1BQU0scUNBQXFDLEdBQUcsSUFBSSwwQ0FBbUIsQ0FDbkUsSUFBSSxFQUNKLGFBQWEsRUFDYjtZQUNFLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtZQUN4QixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDaEIsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJO1lBQzNDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQixlQUFlLEVBQUUsS0FBSyxDQUFDLGVBQWU7WUFDdEMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQjtZQUN4QyxpQ0FBaUMsRUFDL0IsS0FBSyxDQUFDLGdDQUFnQztZQUN4QyxlQUFlLEVBQUUsS0FBSyxDQUFDLGVBQWU7WUFDdEMsV0FBVyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUM7U0FDM0MsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLGtCQUFrQjtZQUNyQixxQ0FBcUMsQ0FBQyxrQkFBa0IsQ0FBQztRQUMzRCxJQUFJLENBQUMsRUFBRSxHQUFHLHFDQUFxQyxDQUFDLEVBQUUsQ0FBQztRQUVuRCxvQkFBb0I7UUFDcEIsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRTtZQUN2RSxLQUFLLEVBQUUscUNBQXFDLENBQUMsRUFBRTtTQUNoRCxDQUFDLENBQUM7UUFDSCxNQUFNLDRCQUE0QixHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FDNUQsSUFBSSxFQUNKLE1BQU0sRUFDTjtZQUNFLEtBQUssRUFBRSxxQ0FBcUMsQ0FBQyxJQUFJO1NBQ2xELENBQ0YsQ0FBQztRQUNGLE1BQU0sNkJBQTZCLEdBQUcsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUM3RCxJQUFJLEVBQ0osUUFBUSxFQUNSO1lBQ0UsS0FBSyxFQUFFLHFDQUFxQyxDQUFDLEtBQUs7U0FDbkQsQ0FDRixDQUFDO1FBQ0YsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQzVELElBQUksRUFDSixxQkFBcUIsRUFDckI7WUFDRSxLQUFLLEVBQUUscUNBQXFDLENBQUMsa0JBQWtCO1lBQy9ELFNBQVMsRUFBRSxJQUFJO1NBQ2hCLENBQ0YsQ0FBQztRQUNGLE1BQU0sa0NBQWtDLEdBQUcsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUNsRSxJQUFJLEVBQ0osbUJBQW1CLEVBQ25CO1lBQ0UsS0FBSyxFQUFFLHFDQUFxQyxDQUFDLGdCQUFnQjtZQUM3RCxTQUFTLEVBQUUsSUFBSTtTQUNoQixDQUNGLENBQUM7UUFFRixnSUFBZ0k7UUFDaEksMEJBQTBCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkQsNEJBQTRCLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkQsNkJBQTZCLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUQsNEJBQTRCLENBQUMsaUJBQWlCLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN0RSxrQ0FBa0MsQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCx3Q0FBd0M7SUFDakMsa0JBQWtCLENBQ3ZCLFVBQWtCLEVBQ2xCLHFCQUE2QixxQkFBcUI7UUFFbEQsSUFBSSxpQ0FBYyxDQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRTtZQUMzQyxVQUFVLEVBQUUsVUFBVTtZQUN0QixJQUFJLEVBQUUsa0JBQWtCO1lBQ3hCLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCO1NBQy9CLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxLQUF1QjtRQUMvQyxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ3ZDLDJDQUEyQztZQUMzQyxPQUFPLEtBQUssQ0FBQyxXQUFZLENBQUM7U0FDM0I7YUFBTTtZQUNMLHVDQUF1QztZQUN2QyxNQUFNLHFCQUFxQixHQUFHLElBQUksK0NBQXFCLENBQ3JELElBQUksRUFDSixlQUFlLEVBQ2Y7Z0JBQ0UsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO2dCQUN4QixJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsSUFBSSxLQUFLO2dCQUN4QixpQkFBaUIsRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUk7Z0JBQzNDLEdBQUcsRUFBRSxXQUFXO2dCQUNoQixlQUFlLEVBQUUsS0FBSyxDQUFDLGVBQWU7Z0JBQ3RDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTthQUNqQixDQUNGLENBQUM7WUFDRixPQUFPLHFCQUFxQixDQUFDLEVBQUUsQ0FBQztTQUNqQztJQUNILENBQUM7O0FBNUdILGtDQTZHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcGxpY2F0aW9uSW5zaWdodHMgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL2FwcGxpY2F0aW9uLWluc2lnaHRzXCI7XG5pbXBvcnQgeyBLZXlWYXVsdFNlY3JldCB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIva2V5LXZhdWx0LXNlY3JldFwiO1xuaW1wb3J0IHsgTG9nQW5hbHl0aWNzV29ya3NwYWNlIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9sb2ctYW5hbHl0aWNzLXdvcmtzcGFjZVwiO1xuaW1wb3J0IHsgUmVzb3VyY2VHcm91cCB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvcmVzb3VyY2UtZ3JvdXBcIjtcbmltcG9ydCAqIGFzIGNka3RmIGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEF6dXJlUmVzb3VyY2UgfSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWJcIjtcblxuLy8gQ29uc3RydWN0XG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIHRoZSByZXNvdXJjZSBncm91cFxuICovXG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBwSW5zaWdodHNQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgQXp1cmUgUmVnaW9uIHRvIGRlcGxveS5cbiAgICovXG4gIHJlYWRvbmx5IGxvY2F0aW9uOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgQXBwbGljYXRpb24gSW5zaWdodHMgcmVzb3VyY2UuXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgQXp1cmUgUmVzb3VyY2UgR3JvdXAgdG8gZGVwbG95IHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzb3VyY2VHcm91cDogUmVzb3VyY2VHcm91cDtcbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgZGF5cyBvZiByZXRlbnRpb24uXG4gICAqIFBvc3NpYmxlIHZhbHVlcyBhcmUgMzAsIDYwLCA5MCwgMTIwLCAxODAsIDI3MCwgMzY1LCA1NTAgb3IgNzMwLiBEZWZhdWx0cyB0byA5MC5cbiAgICogQGRlZmF1bHQgOTBcbiAgICovXG4gIHJlYWRvbmx5IHJldGVudGlvbkluRGF5cz86IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSB0YWdzIHRvIGFzc2lnbiB0byB0aGUgQXBwbGljYXRpb24gSW5zaWdodHMgcmVzb3VyY2UuXG4gICAqL1xuICByZWFkb25seSB0YWdzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgLyoqXG4gICAqIFRoZSBBcHBsaWNhdGlvbiB0eXBlLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwbGljYXRpb25UeXBlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgQXBwbGljYXRpb24gSW5zaWdodHMgZGFpbHkgZGF0YSBjYXAgaW4gR0IuXG4gICAqL1xuICByZWFkb25seSBkYWlseURhdGFDYXBJbkdiPzogbnVtYmVyO1xuICAvKipcbiAgICogVGhlIEFwcGxpY2F0aW9uIEluc2lnaHRzIGRhaWx5IGRhdGEgY2FwIG5vdGlmaWNhdGlvbnMgZGlzYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBkYWlseURhdGFDYXBOb3RpZmljYXRpb25EaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgaWQgb2YgdGhlIExvZyBBbmFseXRpY3MgV29ya3NwYWNlLlxuICAgKiBAZGVmYXVsdCAtIElmIG5vIHdvcmtzcGFjZSBpZCBpcyBwcm92aWRlZCwgYSBuZXcgb25lIHdpbGwgYmUgY3JlYXRlZCBhdXRvbWF0aWNhbGx5XG4gICAqIGluIHRoZSBzYW1lIHJlc291cmNlIGdyb3VwLiBUaGUgbmFtZSB3aWxsIGJlIHRoZSBzYW1lIGFzIHRoZSBBcHBsaWNhdGlvbiBJbnNpZ2h0c1xuICAgKiByZXNvdXJjZSB3aXRoIGEgXCItbGFcIiBzdWZmaXguXG4gICAqL1xuICByZWFkb25seSB3b3Jrc3BhY2VJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIEFwcEluc2lnaHRzIGV4dGVuZHMgQXp1cmVSZXNvdXJjZSB7XG4gIHJlYWRvbmx5IHByb3BzOiBBcHBJbnNpZ2h0c1Byb3BzO1xuICBwdWJsaWMgcmVzb3VyY2VHcm91cDogUmVzb3VyY2VHcm91cDtcbiAgcHVibGljIGlkOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgaW5zdHJ1bWVudGF0aW9uS2V5OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEFwcEluc2lnaHRzUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICAgIHRoaXMucmVzb3VyY2VHcm91cCA9IHByb3BzLnJlc291cmNlR3JvdXA7XG5cbiAgICBjb25zdCBhenVyZXJtQXBwbGljYXRpb25JbnNpZ2h0c0FwcGluc2lnaHRzID0gbmV3IEFwcGxpY2F0aW9uSW5zaWdodHMoXG4gICAgICB0aGlzLFxuICAgICAgXCJhcHBpbnNpZ2h0c1wiLFxuICAgICAge1xuICAgICAgICBsb2NhdGlvbjogcHJvcHMubG9jYXRpb24sXG4gICAgICAgIG5hbWU6IHByb3BzLm5hbWUsXG4gICAgICAgIHJlc291cmNlR3JvdXBOYW1lOiBwcm9wcy5yZXNvdXJjZUdyb3VwLm5hbWUsXG4gICAgICAgIHRhZ3M6IHByb3BzLnRhZ3MsXG4gICAgICAgIGFwcGxpY2F0aW9uVHlwZTogcHJvcHMuYXBwbGljYXRpb25UeXBlLFxuICAgICAgICBkYWlseURhdGFDYXBJbkdiOiBwcm9wcy5kYWlseURhdGFDYXBJbkdiLFxuICAgICAgICBkYWlseURhdGFDYXBOb3RpZmljYXRpb25zRGlzYWJsZWQ6XG4gICAgICAgICAgcHJvcHMuZGFpbHlEYXRhQ2FwTm90aWZpY2F0aW9uRGlzYWJsZWQsXG4gICAgICAgIHJldGVudGlvbkluRGF5czogcHJvcHMucmV0ZW50aW9uSW5EYXlzLFxuICAgICAgICB3b3Jrc3BhY2VJZDogdGhpcy5zZXR1cExvZ0FuYWx5dGljcyhwcm9wcyksXG4gICAgICB9LFxuICAgICk7XG5cbiAgICB0aGlzLmluc3RydW1lbnRhdGlvbktleSA9XG4gICAgICBhenVyZXJtQXBwbGljYXRpb25JbnNpZ2h0c0FwcGluc2lnaHRzLmluc3RydW1lbnRhdGlvbktleTtcbiAgICB0aGlzLmlkID0gYXp1cmVybUFwcGxpY2F0aW9uSW5zaWdodHNBcHBpbnNpZ2h0cy5pZDtcblxuICAgIC8vIFRlcnJhZm9ybSBPdXRwdXRzXG4gICAgY29uc3QgY2RrdGZUZXJyYWZvcm1PdXRwdXRBcHBpSUQgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KHRoaXMsIFwiaWRcIiwge1xuICAgICAgdmFsdWU6IGF6dXJlcm1BcHBsaWNhdGlvbkluc2lnaHRzQXBwaW5zaWdodHMuaWQsXG4gICAgfSk7XG4gICAgY29uc3QgY2RrdGZUZXJyYWZvcm1PdXRwdXRBcHBpTmFtZSA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQoXG4gICAgICB0aGlzLFxuICAgICAgXCJuYW1lXCIsXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiBhenVyZXJtQXBwbGljYXRpb25JbnNpZ2h0c0FwcGluc2lnaHRzLm5hbWUsXG4gICAgICB9LFxuICAgICk7XG4gICAgY29uc3QgY2RrdGZUZXJyYWZvcm1PdXRwdXRBcHBpQXBwSWQgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KFxuICAgICAgdGhpcyxcbiAgICAgIFwiYXBwX2lkXCIsXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiBhenVyZXJtQXBwbGljYXRpb25JbnNpZ2h0c0FwcGluc2lnaHRzLmFwcElkLFxuICAgICAgfSxcbiAgICApO1xuICAgIGNvbnN0IGNka3RmVGVycmFmb3JtT3V0cHV0QXBwaUlLZXkgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KFxuICAgICAgdGhpcyxcbiAgICAgIFwiaW5zdHJ1bWVudGF0aW9uX2tleVwiLFxuICAgICAge1xuICAgICAgICB2YWx1ZTogYXp1cmVybUFwcGxpY2F0aW9uSW5zaWdodHNBcHBpbnNpZ2h0cy5pbnN0cnVtZW50YXRpb25LZXksXG4gICAgICAgIHNlbnNpdGl2ZTogdHJ1ZSxcbiAgICAgIH0sXG4gICAgKTtcbiAgICBjb25zdCBjZGt0ZlRlcnJhZm9ybU91dHB1dEFwcGlDb25uZWN0U3RyID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dChcbiAgICAgIHRoaXMsXG4gICAgICBcImNvbm5lY3Rpb25fc3RyaW5nXCIsXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiBhenVyZXJtQXBwbGljYXRpb25JbnNpZ2h0c0FwcGluc2lnaHRzLmNvbm5lY3Rpb25TdHJpbmcsXG4gICAgICAgIHNlbnNpdGl2ZTogdHJ1ZSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIC8qVGhpcyBhbGxvd3MgdGhlIFRlcnJhZm9ybSByZXNvdXJjZSBuYW1lIHRvIG1hdGNoIHRoZSBvcmlnaW5hbCBuYW1lLiBZb3UgY2FuIHJlbW92ZSB0aGUgY2FsbCBpZiB5b3UgZG9uJ3QgbmVlZCB0aGVtIHRvIG1hdGNoLiovXG4gICAgY2RrdGZUZXJyYWZvcm1PdXRwdXRBcHBpSUQub3ZlcnJpZGVMb2dpY2FsSWQoXCJpZFwiKTtcbiAgICBjZGt0ZlRlcnJhZm9ybU91dHB1dEFwcGlOYW1lLm92ZXJyaWRlTG9naWNhbElkKFwibmFtZVwiKTtcbiAgICBjZGt0ZlRlcnJhZm9ybU91dHB1dEFwcGlBcHBJZC5vdmVycmlkZUxvZ2ljYWxJZChcImFwcF9pZFwiKTtcbiAgICBjZGt0ZlRlcnJhZm9ybU91dHB1dEFwcGlJS2V5Lm92ZXJyaWRlTG9naWNhbElkKFwiaW5zdHJ1bWVudGF0aW9uX2tleVwiKTtcbiAgICBjZGt0ZlRlcnJhZm9ybU91dHB1dEFwcGlDb25uZWN0U3RyLm92ZXJyaWRlTG9naWNhbElkKFwiY29ubmVjdGlvbl9zdHJpbmdcIik7XG4gIH1cblxuICAvLyBTYXZlIEluc3RydW1lbnRhdGlvbiBLZXkgdG8gS2V5IFZhdWx0XG4gIHB1YmxpYyBzYXZlSUtleVRvS2V5VmF1bHQoXG4gICAga2V5VmF1bHRJZDogc3RyaW5nLFxuICAgIGtleVZhdWx0U2VjcmV0TmFtZTogc3RyaW5nID0gXCJpbnN0cnVtZW50YXRpb24ta2V5XCIsXG4gICkge1xuICAgIG5ldyBLZXlWYXVsdFNlY3JldCh0aGlzLCBrZXlWYXVsdFNlY3JldE5hbWUsIHtcbiAgICAgIGtleVZhdWx0SWQ6IGtleVZhdWx0SWQsXG4gICAgICBuYW1lOiBrZXlWYXVsdFNlY3JldE5hbWUsXG4gICAgICB2YWx1ZTogdGhpcy5pbnN0cnVtZW50YXRpb25LZXksXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwTG9nQW5hbHl0aWNzKHByb3BzOiBBcHBJbnNpZ2h0c1Byb3BzKTogc3RyaW5nIHtcbiAgICBpZiAoY2RrdGYuY2FuSW5zcGVjdChwcm9wcy53b3Jrc3BhY2VJZCkpIHtcbiAgICAgIC8vIFVzZSB0aGUgcHJvdmlkZWQgTG9nIEFuYWx5dGljcyBXb3Jrc3BhY2VcbiAgICAgIHJldHVybiBwcm9wcy53b3Jrc3BhY2VJZCE7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIENyZWF0ZSBhIG5ldyBMb2cgQW5hbHl0aWNzIFdvcmtzcGFjZVxuICAgICAgY29uc3QgbG9nQW5hbHl0aWNzV29ya3NwYWNlID0gbmV3IExvZ0FuYWx5dGljc1dvcmtzcGFjZShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgXCJsb2dfYW5hbHl0aWNzXCIsXG4gICAgICAgIHtcbiAgICAgICAgICBsb2NhdGlvbjogcHJvcHMubG9jYXRpb24sXG4gICAgICAgICAgbmFtZTogYCR7cHJvcHMubmFtZX0tbGFgLFxuICAgICAgICAgIHJlc291cmNlR3JvdXBOYW1lOiBwcm9wcy5yZXNvdXJjZUdyb3VwLm5hbWUsXG4gICAgICAgICAgc2t1OiBcIlBlckdCMjAxOFwiLFxuICAgICAgICAgIHJldGVudGlvbkluRGF5czogcHJvcHMucmV0ZW50aW9uSW5EYXlzLFxuICAgICAgICAgIHRhZ3M6IHByb3BzLnRhZ3MsXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgICAgcmV0dXJuIGxvZ0FuYWx5dGljc1dvcmtzcGFjZS5pZDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
133
|
+
AppInsights[_a] = { fqn: "@microsoft/terraform-cdk-constructs.azure_applicationinsights.AppInsights", version: "0.0.3-pre.7" };
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwaW5zaWdodHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtYXBwbGljYXRpb25pbnNpZ2h0cy9saWIvYXBwaW5zaWdodHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwyRkFBdUY7QUFDdkYsbUZBQThFO0FBQzlFLGlHQUE0RjtBQUU1RiwrQkFBK0I7QUFFL0IsOENBQXFEO0FBbURyRCxNQUFhLFdBQVksU0FBUSxtQkFBYTtJQU01Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FnQ0c7SUFFSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXVCO1FBQy9ELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDO1FBRXpDLE1BQU0scUNBQXFDLEdBQUcsSUFBSSwwQ0FBbUIsQ0FDbkUsSUFBSSxFQUNKLGFBQWEsRUFDYjtZQUNFLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtZQUN4QixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDaEIsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJO1lBQzNDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQixlQUFlLEVBQUUsS0FBSyxDQUFDLGVBQWU7WUFDdEMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQjtZQUN4QyxpQ0FBaUMsRUFDL0IsS0FBSyxDQUFDLGdDQUFnQztZQUN4QyxlQUFlLEVBQUUsS0FBSyxDQUFDLGVBQWU7WUFDdEMsV0FBVyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUM7U0FDM0MsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLGtCQUFrQjtZQUNyQixxQ0FBcUMsQ0FBQyxrQkFBa0IsQ0FBQztRQUMzRCxJQUFJLENBQUMsRUFBRSxHQUFHLHFDQUFxQyxDQUFDLEVBQUUsQ0FBQztRQUVuRCxvQkFBb0I7UUFDcEIsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRTtZQUN2RSxLQUFLLEVBQUUscUNBQXFDLENBQUMsRUFBRTtTQUNoRCxDQUFDLENBQUM7UUFDSCxNQUFNLDRCQUE0QixHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FDNUQsSUFBSSxFQUNKLE1BQU0sRUFDTjtZQUNFLEtBQUssRUFBRSxxQ0FBcUMsQ0FBQyxJQUFJO1NBQ2xELENBQ0YsQ0FBQztRQUNGLE1BQU0sNkJBQTZCLEdBQUcsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUM3RCxJQUFJLEVBQ0osUUFBUSxFQUNSO1lBQ0UsS0FBSyxFQUFFLHFDQUFxQyxDQUFDLEtBQUs7U0FDbkQsQ0FDRixDQUFDO1FBQ0YsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQzVELElBQUksRUFDSixxQkFBcUIsRUFDckI7WUFDRSxLQUFLLEVBQUUscUNBQXFDLENBQUMsa0JBQWtCO1lBQy9ELFNBQVMsRUFBRSxJQUFJO1NBQ2hCLENBQ0YsQ0FBQztRQUNGLE1BQU0sa0NBQWtDLEdBQUcsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUNsRSxJQUFJLEVBQ0osbUJBQW1CLEVBQ25CO1lBQ0UsS0FBSyxFQUFFLHFDQUFxQyxDQUFDLGdCQUFnQjtZQUM3RCxTQUFTLEVBQUUsSUFBSTtTQUNoQixDQUNGLENBQUM7UUFFRixnSUFBZ0k7UUFDaEksMEJBQTBCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkQsNEJBQTRCLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkQsNkJBQTZCLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUQsNEJBQTRCLENBQUMsaUJBQWlCLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN0RSxrQ0FBa0MsQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7OztPQWdCRztJQUNJLGtCQUFrQixDQUN2QixVQUFrQixFQUNsQixxQkFBNkIscUJBQXFCO1FBRWxELElBQUksaUNBQWMsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLEVBQUU7WUFDM0MsVUFBVSxFQUFFLFVBQVU7WUFDdEIsSUFBSSxFQUFFLGtCQUFrQjtZQUN4QixLQUFLLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtTQUMvQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8saUJBQWlCLENBQUMsS0FBdUI7UUFDL0MsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUN2QywyQ0FBMkM7WUFDM0MsT0FBTyxLQUFLLENBQUMsV0FBWSxDQUFDO1NBQzNCO2FBQU07WUFDTCx1Q0FBdUM7WUFDdkMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLCtDQUFxQixDQUNyRCxJQUFJLEVBQ0osZUFBZSxFQUNmO2dCQUNFLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtnQkFDeEIsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLElBQUksS0FBSztnQkFDeEIsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJO2dCQUMzQyxHQUFHLEVBQUUsV0FBVztnQkFDaEIsZUFBZSxFQUFFLEtBQUssQ0FBQyxlQUFlO2dCQUN0QyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7YUFDakIsQ0FDRixDQUFDO1lBQ0YsT0FBTyxxQkFBcUIsQ0FBQyxFQUFFLENBQUM7U0FDakM7SUFDSCxDQUFDOztBQTlKSCxrQ0ErSkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWNhdGlvbkluc2lnaHRzIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9hcHBsaWNhdGlvbi1pbnNpZ2h0c1wiO1xuaW1wb3J0IHsgS2V5VmF1bHRTZWNyZXQgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL2tleS12YXVsdC1zZWNyZXRcIjtcbmltcG9ydCB7IExvZ0FuYWx5dGljc1dvcmtzcGFjZSB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvbG9nLWFuYWx5dGljcy13b3Jrc3BhY2VcIjtcbmltcG9ydCB7IFJlc291cmNlR3JvdXAgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3Jlc291cmNlLWdyb3VwXCI7XG5pbXBvcnQgKiBhcyBjZGt0ZiBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBBenVyZVJlc291cmNlIH0gZnJvbSBcIi4uLy4uL2NvcmUtYXp1cmUvbGliXCI7XG5cbi8vIENvbnN0cnVjdFxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciB0aGUgcmVzb3VyY2UgZ3JvdXBcbiAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIEFwcEluc2lnaHRzUHJvcHMge1xuICAvKipcbiAgICogVGhlIEF6dXJlIFJlZ2lvbiB0byBkZXBsb3kuXG4gICAqL1xuICByZWFkb25seSBsb2NhdGlvbjogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIEFwcGxpY2F0aW9uIEluc2lnaHRzIHJlc291cmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIEF6dXJlIFJlc291cmNlIEdyb3VwIHRvIGRlcGxveSB0by5cbiAgICovXG4gIHJlYWRvbmx5IHJlc291cmNlR3JvdXA6IFJlc291cmNlR3JvdXA7XG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGRheXMgb2YgcmV0ZW50aW9uLlxuICAgKiBQb3NzaWJsZSB2YWx1ZXMgYXJlIDMwLCA2MCwgOTAsIDEyMCwgMTgwLCAyNzAsIDM2NSwgNTUwIG9yIDczMC4gRGVmYXVsdHMgdG8gOTAuXG4gICAqIEBkZWZhdWx0IDkwXG4gICAqL1xuICByZWFkb25seSByZXRlbnRpb25JbkRheXM/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgdGFncyB0byBhc3NpZ24gdG8gdGhlIEFwcGxpY2F0aW9uIEluc2lnaHRzIHJlc291cmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFncz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIC8qKlxuICAgKiBUaGUgQXBwbGljYXRpb24gdHlwZS5cbiAgICovXG4gIHJlYWRvbmx5IGFwcGxpY2F0aW9uVHlwZTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIEFwcGxpY2F0aW9uIEluc2lnaHRzIGRhaWx5IGRhdGEgY2FwIGluIEdCLlxuICAgKi9cbiAgcmVhZG9ubHkgZGFpbHlEYXRhQ2FwSW5HYj86IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSBBcHBsaWNhdGlvbiBJbnNpZ2h0cyBkYWlseSBkYXRhIGNhcCBub3RpZmljYXRpb25zIGRpc2FibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZGFpbHlEYXRhQ2FwTm90aWZpY2F0aW9uRGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIGlkIG9mIHRoZSBMb2cgQW5hbHl0aWNzIFdvcmtzcGFjZS5cbiAgICogQGRlZmF1bHQgLSBJZiBubyB3b3Jrc3BhY2UgaWQgaXMgcHJvdmlkZWQsIGEgbmV3IG9uZSB3aWxsIGJlIGNyZWF0ZWQgYXV0b21hdGljYWxseVxuICAgKiBpbiB0aGUgc2FtZSByZXNvdXJjZSBncm91cC4gVGhlIG5hbWUgd2lsbCBiZSB0aGUgc2FtZSBhcyB0aGUgQXBwbGljYXRpb24gSW5zaWdodHNcbiAgICogcmVzb3VyY2Ugd2l0aCBhIFwiLWxhXCIgc3VmZml4LlxuICAgKi9cbiAgcmVhZG9ubHkgd29ya3NwYWNlSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBBcHBJbnNpZ2h0cyBleHRlbmRzIEF6dXJlUmVzb3VyY2Uge1xuICByZWFkb25seSBwcm9wczogQXBwSW5zaWdodHNQcm9wcztcbiAgcHVibGljIHJlc291cmNlR3JvdXA6IFJlc291cmNlR3JvdXA7XG4gIHB1YmxpYyBpZDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGluc3RydW1lbnRhdGlvbktleTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGEgbmV3IEF6dXJlIEFwcGxpY2F0aW9uIEluc2lnaHRzIHJlc291cmNlLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgLSBUaGUgc2NvcGUgaW4gd2hpY2ggdG8gZGVmaW5lIHRoaXMgY29uc3RydWN0LlxuICAgKiBAcGFyYW0gaWQgLSBUaGUgSUQgb2YgdGhpcyBjb25zdHJ1Y3QuXG4gICAqIEBwYXJhbSBwcm9wcyAtIFRoZSBwcm9wZXJ0aWVzIGZvciBjb25maWd1cmluZyB0aGUgQXp1cmUgQXBwbGljYXRpb24gSW5zaWdodHMuIFRoZSBwcm9wZXJ0aWVzIGluY2x1ZGU6XG4gICAqICAgICAgICAgICAgICAgIC0gYG5hbWVgOiBSZXF1aXJlZC4gVW5pcXVlIG5hbWUgZm9yIHRoZSBBcHBsaWNhdGlvbiBJbnNpZ2h0cyByZXNvdXJjZSB3aXRoaW4gQXp1cmUuXG4gICAqICAgICAgICAgICAgICAgIC0gYGxvY2F0aW9uYDogUmVxdWlyZWQuIEF6dXJlIFJlZ2lvbiBmb3IgZGVwbG95bWVudC5cbiAgICogICAgICAgICAgICAgICAgLSBgcmVzb3VyY2VHcm91cGA6IFJlcXVpcmVkLiBSZWZlcmVuY2UgdG8gdGhlIEF6dXJlIFJlc291cmNlIEdyb3VwIGZvciBkZXBsb3ltZW50LlxuICAgKiAgICAgICAgICAgICAgICAtIGByZXRlbnRpb25JbkRheXNgOiBPcHRpb25hbC4gTnVtYmVyIG9mIGRheXMgdG8gcmV0YWluIGRhdGEuIERlZmF1bHQgaXMgOTAgZGF5cy5cbiAgICogICAgICAgICAgICAgICAgLSBgdGFnc2A6IE9wdGlvbmFsLiBUYWdzIGZvciByZXNvdXJjZSBtYW5hZ2VtZW50LlxuICAgKiAgICAgICAgICAgICAgICAtIGBhcHBsaWNhdGlvblR5cGVgOiBSZXF1aXJlZC4gVGhlIHR5cGUgb2YgYXBwbGljYXRpb24gKGUuZy4sIHdlYiwgb3RoZXIpLlxuICAgKiAgICAgICAgICAgICAgICAtIGBkYWlseURhdGFDYXBJbkdiYDogT3B0aW9uYWwuIERhaWx5IGRhdGEgY2FwIGluIGdpZ2FieXRlcy5cbiAgICogICAgICAgICAgICAgICAgLSBgZGFpbHlEYXRhQ2FwTm90aWZpY2F0aW9uRGlzYWJsZWRgOiBPcHRpb25hbC4gRmxhZyB0byBkaXNhYmxlIG5vdGlmaWNhdGlvbnMgd2hlbiB0aGUgZGFpbHkgZGF0YSBjYXAgaXMgcmVhY2hlZC5cbiAgICogICAgICAgICAgICAgICAgLSBgd29ya3NwYWNlSWRgOiBPcHRpb25hbC4gSUQgb2YgdGhlIExvZyBBbmFseXRpY3MgV29ya3NwYWNlIHRvIGFzc29jaWF0ZSB3aXRoIEFwcGxpY2F0aW9uIEluc2lnaHRzLiBJZiBub3QgcHJvdmlkZWQsIGEgbmV3IHdvcmtzcGFjZSBpcyBjcmVhdGVkIGF1dG9tYXRpY2FsbHkuXG4gICAqXG4gICAqIEV4YW1wbGUgdXNhZ2U6XG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogbmV3IEFwcEluc2lnaHRzKHRoaXMsICdteUFwcEluc2lnaHRzJywge1xuICAgKiAgIG5hbWU6ICdteUFwcEluc2lnaHRzUmVzb3VyY2UnLFxuICAgKiAgIGxvY2F0aW9uOiAnV2VzdCBVUycsXG4gICAqICAgcmVzb3VyY2VHcm91cDogcmVzb3VyY2VHcm91cCxcbiAgICogICByZXRlbnRpb25JbkRheXM6IDEyMCxcbiAgICogICB0YWdzOiB7XG4gICAqICAgICBcImVudmlyb25tZW50XCI6IFwicHJvZHVjdGlvblwiXG4gICAqICAgfSxcbiAgICogICBhcHBsaWNhdGlvblR5cGU6ICd3ZWInLFxuICAgKiAgIGRhaWx5RGF0YUNhcEluR2I6IDEwLFxuICAgKiAgIGRhaWx5RGF0YUNhcE5vdGlmaWNhdGlvbkRpc2FibGVkOiB0cnVlLFxuICAgKiAgIHdvcmtzcGFjZUlkOiAnZXhpc3Rpbmctd29ya3NwYWNlLWlkJ1xuICAgKiB9KTtcbiAgICogYGBgXG4gICAqL1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBBcHBJbnNpZ2h0c1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgICB0aGlzLnJlc291cmNlR3JvdXAgPSBwcm9wcy5yZXNvdXJjZUdyb3VwO1xuXG4gICAgY29uc3QgYXp1cmVybUFwcGxpY2F0aW9uSW5zaWdodHNBcHBpbnNpZ2h0cyA9IG5ldyBBcHBsaWNhdGlvbkluc2lnaHRzKFxuICAgICAgdGhpcyxcbiAgICAgIFwiYXBwaW5zaWdodHNcIixcbiAgICAgIHtcbiAgICAgICAgbG9jYXRpb246IHByb3BzLmxvY2F0aW9uLFxuICAgICAgICBuYW1lOiBwcm9wcy5uYW1lLFxuICAgICAgICByZXNvdXJjZUdyb3VwTmFtZTogcHJvcHMucmVzb3VyY2VHcm91cC5uYW1lLFxuICAgICAgICB0YWdzOiBwcm9wcy50YWdzLFxuICAgICAgICBhcHBsaWNhdGlvblR5cGU6IHByb3BzLmFwcGxpY2F0aW9uVHlwZSxcbiAgICAgICAgZGFpbHlEYXRhQ2FwSW5HYjogcHJvcHMuZGFpbHlEYXRhQ2FwSW5HYixcbiAgICAgICAgZGFpbHlEYXRhQ2FwTm90aWZpY2F0aW9uc0Rpc2FibGVkOlxuICAgICAgICAgIHByb3BzLmRhaWx5RGF0YUNhcE5vdGlmaWNhdGlvbkRpc2FibGVkLFxuICAgICAgICByZXRlbnRpb25JbkRheXM6IHByb3BzLnJldGVudGlvbkluRGF5cyxcbiAgICAgICAgd29ya3NwYWNlSWQ6IHRoaXMuc2V0dXBMb2dBbmFseXRpY3MocHJvcHMpLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgdGhpcy5pbnN0cnVtZW50YXRpb25LZXkgPVxuICAgICAgYXp1cmVybUFwcGxpY2F0aW9uSW5zaWdodHNBcHBpbnNpZ2h0cy5pbnN0cnVtZW50YXRpb25LZXk7XG4gICAgdGhpcy5pZCA9IGF6dXJlcm1BcHBsaWNhdGlvbkluc2lnaHRzQXBwaW5zaWdodHMuaWQ7XG5cbiAgICAvLyBUZXJyYWZvcm0gT3V0cHV0c1xuICAgIGNvbnN0IGNka3RmVGVycmFmb3JtT3V0cHV0QXBwaUlEID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dCh0aGlzLCBcImlkXCIsIHtcbiAgICAgIHZhbHVlOiBhenVyZXJtQXBwbGljYXRpb25JbnNpZ2h0c0FwcGluc2lnaHRzLmlkLFxuICAgIH0pO1xuICAgIGNvbnN0IGNka3RmVGVycmFmb3JtT3V0cHV0QXBwaU5hbWUgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KFxuICAgICAgdGhpcyxcbiAgICAgIFwibmFtZVwiLFxuICAgICAge1xuICAgICAgICB2YWx1ZTogYXp1cmVybUFwcGxpY2F0aW9uSW5zaWdodHNBcHBpbnNpZ2h0cy5uYW1lLFxuICAgICAgfSxcbiAgICApO1xuICAgIGNvbnN0IGNka3RmVGVycmFmb3JtT3V0cHV0QXBwaUFwcElkID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dChcbiAgICAgIHRoaXMsXG4gICAgICBcImFwcF9pZFwiLFxuICAgICAge1xuICAgICAgICB2YWx1ZTogYXp1cmVybUFwcGxpY2F0aW9uSW5zaWdodHNBcHBpbnNpZ2h0cy5hcHBJZCxcbiAgICAgIH0sXG4gICAgKTtcbiAgICBjb25zdCBjZGt0ZlRlcnJhZm9ybU91dHB1dEFwcGlJS2V5ID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dChcbiAgICAgIHRoaXMsXG4gICAgICBcImluc3RydW1lbnRhdGlvbl9rZXlcIixcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IGF6dXJlcm1BcHBsaWNhdGlvbkluc2lnaHRzQXBwaW5zaWdodHMuaW5zdHJ1bWVudGF0aW9uS2V5LFxuICAgICAgICBzZW5zaXRpdmU6IHRydWUsXG4gICAgICB9LFxuICAgICk7XG4gICAgY29uc3QgY2RrdGZUZXJyYWZvcm1PdXRwdXRBcHBpQ29ubmVjdFN0ciA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQoXG4gICAgICB0aGlzLFxuICAgICAgXCJjb25uZWN0aW9uX3N0cmluZ1wiLFxuICAgICAge1xuICAgICAgICB2YWx1ZTogYXp1cmVybUFwcGxpY2F0aW9uSW5zaWdodHNBcHBpbnNpZ2h0cy5jb25uZWN0aW9uU3RyaW5nLFxuICAgICAgICBzZW5zaXRpdmU6IHRydWUsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICAvKlRoaXMgYWxsb3dzIHRoZSBUZXJyYWZvcm0gcmVzb3VyY2UgbmFtZSB0byBtYXRjaCB0aGUgb3JpZ2luYWwgbmFtZS4gWW91IGNhbiByZW1vdmUgdGhlIGNhbGwgaWYgeW91IGRvbid0IG5lZWQgdGhlbSB0byBtYXRjaC4qL1xuICAgIGNka3RmVGVycmFmb3JtT3V0cHV0QXBwaUlELm92ZXJyaWRlTG9naWNhbElkKFwiaWRcIik7XG4gICAgY2RrdGZUZXJyYWZvcm1PdXRwdXRBcHBpTmFtZS5vdmVycmlkZUxvZ2ljYWxJZChcIm5hbWVcIik7XG4gICAgY2RrdGZUZXJyYWZvcm1PdXRwdXRBcHBpQXBwSWQub3ZlcnJpZGVMb2dpY2FsSWQoXCJhcHBfaWRcIik7XG4gICAgY2RrdGZUZXJyYWZvcm1PdXRwdXRBcHBpSUtleS5vdmVycmlkZUxvZ2ljYWxJZChcImluc3RydW1lbnRhdGlvbl9rZXlcIik7XG4gICAgY2RrdGZUZXJyYWZvcm1PdXRwdXRBcHBpQ29ubmVjdFN0ci5vdmVycmlkZUxvZ2ljYWxJZChcImNvbm5lY3Rpb25fc3RyaW5nXCIpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNhdmVzIHRoZSBBcHBsaWNhdGlvbiBJbnNpZ2h0cyBpbnN0cnVtZW50YXRpb24ga2V5IHRvIGFuIEF6dXJlIEtleSBWYXVsdC5cbiAgICpcbiAgICogVGhpcyBtZXRob2QgY3JlYXRlcyBhIG5ldyBzZWNyZXQgaW4gdGhlIHNwZWNpZmllZCBBenVyZSBLZXkgVmF1bHQgd2l0aCB0aGVcbiAgICogaW5zdHJ1bWVudGF0aW9uIGtleSBvZiB0aGUgQXBwbGljYXRpb24gSW5zaWdodHMgcmVzb3VyY2UuIFRoaXMgZW5hYmxlcyBzZWN1cmUgc3RvcmFnZVxuICAgKiBhbmQgbWFuYWdlbWVudCBvZiB0aGUgaW5zdHJ1bWVudGF0aW9uIGtleSwgZmFjaWxpdGF0aW5nIHNlY3VyZSBhY2Nlc3MgYWNyb3NzIHZhcmlvdXNcbiAgICogQXp1cmUgc2VydmljZXMuXG4gICAqXG4gICAqIEBwYXJhbSBrZXlWYXVsdElkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBBenVyZSBLZXkgVmF1bHQgd2hlcmUgdGhlIHNlY3JldCB3aWxsIGJlIHN0b3JlZC5cbiAgICogQHBhcmFtIGtleVZhdWx0U2VjcmV0TmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBzZWNyZXQgd2l0aGluIHRoZSBLZXkgVmF1bHQuIERlZmF1bHRzIHRvICdpbnN0cnVtZW50YXRpb24ta2V5Jy5cbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgbmFtZSBjYW4gYmUgdXNlZCB0byByZXRyaWV2ZSB0aGUgc2VjcmV0IGluIGNsaWVudCBhcHBsaWNhdGlvbnMuXG4gICAqXG4gICAqIEV4YW1wbGUgdXNhZ2U6XG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogYXBwSW5zaWdodHNJbnN0YW5jZS5zYXZlSUtleVRvS2V5VmF1bHQoJ215LWtleS12YXVsdC1pZCcpO1xuICAgKiBgYGBcbiAgICovXG4gIHB1YmxpYyBzYXZlSUtleVRvS2V5VmF1bHQoXG4gICAga2V5VmF1bHRJZDogc3RyaW5nLFxuICAgIGtleVZhdWx0U2VjcmV0TmFtZTogc3RyaW5nID0gXCJpbnN0cnVtZW50YXRpb24ta2V5XCIsXG4gICkge1xuICAgIG5ldyBLZXlWYXVsdFNlY3JldCh0aGlzLCBrZXlWYXVsdFNlY3JldE5hbWUsIHtcbiAgICAgIGtleVZhdWx0SWQ6IGtleVZhdWx0SWQsXG4gICAgICBuYW1lOiBrZXlWYXVsdFNlY3JldE5hbWUsXG4gICAgICB2YWx1ZTogdGhpcy5pbnN0cnVtZW50YXRpb25LZXksXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwTG9nQW5hbHl0aWNzKHByb3BzOiBBcHBJbnNpZ2h0c1Byb3BzKTogc3RyaW5nIHtcbiAgICBpZiAoY2RrdGYuY2FuSW5zcGVjdChwcm9wcy53b3Jrc3BhY2VJZCkpIHtcbiAgICAgIC8vIFVzZSB0aGUgcHJvdmlkZWQgTG9nIEFuYWx5dGljcyBXb3Jrc3BhY2VcbiAgICAgIHJldHVybiBwcm9wcy53b3Jrc3BhY2VJZCE7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIENyZWF0ZSBhIG5ldyBMb2cgQW5hbHl0aWNzIFdvcmtzcGFjZVxuICAgICAgY29uc3QgbG9nQW5hbHl0aWNzV29ya3NwYWNlID0gbmV3IExvZ0FuYWx5dGljc1dvcmtzcGFjZShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgXCJsb2dfYW5hbHl0aWNzXCIsXG4gICAgICAgIHtcbiAgICAgICAgICBsb2NhdGlvbjogcHJvcHMubG9jYXRpb24sXG4gICAgICAgICAgbmFtZTogYCR7cHJvcHMubmFtZX0tbGFgLFxuICAgICAgICAgIHJlc291cmNlR3JvdXBOYW1lOiBwcm9wcy5yZXNvdXJjZUdyb3VwLm5hbWUsXG4gICAgICAgICAgc2t1OiBcIlBlckdCMjAxOFwiLFxuICAgICAgICAgIHJldGVudGlvbkluRGF5czogcHJvcHMucmV0ZW50aW9uSW5EYXlzLFxuICAgICAgICAgIHRhZ3M6IHByb3BzLnRhZ3MsXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgICAgcmV0dXJuIGxvZ0FuYWx5dGljc1dvcmtzcGFjZS5pZDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -37,5 +37,34 @@ export declare class Registry extends AzureResource {
|
|
|
37
37
|
readonly props: RegistryProps;
|
|
38
38
|
resourceGroup: ResourceGroup;
|
|
39
39
|
id: string;
|
|
40
|
+
/**
|
|
41
|
+
* Constructs a new Azure Container Registry (ACR).
|
|
42
|
+
*
|
|
43
|
+
* This class creates an Azure Container Registry instance, which is a managed Docker registry service based on the Docker Registry 2.0 specification.
|
|
44
|
+
* This service enables you to store and manage container images across all types of Azure deployments, you can also use it to build, store, and manage images for all types of container deployments.
|
|
45
|
+
*
|
|
46
|
+
* @param scope - The scope in which to define this construct, typically used for managing lifecycles and creation order.
|
|
47
|
+
* @param id - The unique identifier for this construct instance.
|
|
48
|
+
* @param props - The properties for configuring the Azure Container Registry. The properties include:
|
|
49
|
+
* - `location`: Required. The Azure region where the registry will be deployed.
|
|
50
|
+
* - `name`: Required. The name of the Container Registry.
|
|
51
|
+
* - `resourceGroup`: Required. The Azure Resource Group in which to deploy the registry.
|
|
52
|
+
* - `sku`: Optional. The SKU of the Container Registry (e.g., Basic, Standard, Premium). Determines the features available.
|
|
53
|
+
* - `tags`: Optional. Tags for resource management.
|
|
54
|
+
* - `adminEnabled`: Optional. Specifies whether the admin user is enabled for the registry. Defaults to false if not set.
|
|
55
|
+
* - `geoReplicationLocations`: Optional. Specifies additional Azure regions where the registry should be geo-replicated.
|
|
56
|
+
*
|
|
57
|
+
* Example usage:
|
|
58
|
+
* ```typescript
|
|
59
|
+
* new Registry(this, 'myRegistry', {
|
|
60
|
+
* location: 'West US',
|
|
61
|
+
* name: 'myContainerRegistry',
|
|
62
|
+
* resourceGroup: resourceGroup,
|
|
63
|
+
* sku: 'Premium',
|
|
64
|
+
* adminEnabled: true,
|
|
65
|
+
* geoReplicationLocations: ['East US', 'West Europe']
|
|
66
|
+
* });
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
40
69
|
constructor(scope: Construct, id: string, props: RegistryProps);
|
|
41
70
|
}
|
|
@@ -7,6 +7,35 @@ const container_registry_1 = require("@cdktf/provider-azurerm/lib/container-regi
|
|
|
7
7
|
const cdktf = require("cdktf");
|
|
8
8
|
const lib_1 = require("../../core-azure/lib");
|
|
9
9
|
class Registry extends lib_1.AzureResource {
|
|
10
|
+
/**
|
|
11
|
+
* Constructs a new Azure Container Registry (ACR).
|
|
12
|
+
*
|
|
13
|
+
* This class creates an Azure Container Registry instance, which is a managed Docker registry service based on the Docker Registry 2.0 specification.
|
|
14
|
+
* This service enables you to store and manage container images across all types of Azure deployments, you can also use it to build, store, and manage images for all types of container deployments.
|
|
15
|
+
*
|
|
16
|
+
* @param scope - The scope in which to define this construct, typically used for managing lifecycles and creation order.
|
|
17
|
+
* @param id - The unique identifier for this construct instance.
|
|
18
|
+
* @param props - The properties for configuring the Azure Container Registry. The properties include:
|
|
19
|
+
* - `location`: Required. The Azure region where the registry will be deployed.
|
|
20
|
+
* - `name`: Required. The name of the Container Registry.
|
|
21
|
+
* - `resourceGroup`: Required. The Azure Resource Group in which to deploy the registry.
|
|
22
|
+
* - `sku`: Optional. The SKU of the Container Registry (e.g., Basic, Standard, Premium). Determines the features available.
|
|
23
|
+
* - `tags`: Optional. Tags for resource management.
|
|
24
|
+
* - `adminEnabled`: Optional. Specifies whether the admin user is enabled for the registry. Defaults to false if not set.
|
|
25
|
+
* - `geoReplicationLocations`: Optional. Specifies additional Azure regions where the registry should be geo-replicated.
|
|
26
|
+
*
|
|
27
|
+
* Example usage:
|
|
28
|
+
* ```typescript
|
|
29
|
+
* new Registry(this, 'myRegistry', {
|
|
30
|
+
* location: 'West US',
|
|
31
|
+
* name: 'myContainerRegistry',
|
|
32
|
+
* resourceGroup: resourceGroup,
|
|
33
|
+
* sku: 'Premium',
|
|
34
|
+
* adminEnabled: true,
|
|
35
|
+
* geoReplicationLocations: ['East US', 'West Europe']
|
|
36
|
+
* });
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
10
39
|
constructor(scope, id, props) {
|
|
11
40
|
super(scope, id);
|
|
12
41
|
this.props = props;
|
|
@@ -43,5 +72,5 @@ class Registry extends lib_1.AzureResource {
|
|
|
43
72
|
}
|
|
44
73
|
exports.Registry = Registry;
|
|
45
74
|
_a = JSII_RTTI_SYMBOL_1;
|
|
46
|
-
Registry[_a] = { fqn: "@microsoft/terraform-cdk-constructs.azure_containerregistry.Registry", version: "0.0.3-pre.
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
Registry[_a] = { fqn: "@microsoft/terraform-cdk-constructs.azure_containerregistry.Registry", version: "0.0.3-pre.7" };
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtY29udGFpbmVycmVnaXN0cnkvbGliL3JlZ2lzdHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsdUZBQW1GO0FBRW5GLCtCQUErQjtBQUUvQiw4Q0FBcUQ7QUFpQ3JELE1BQWEsUUFBUyxTQUFRLG1CQUFhO0lBS3pDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BNEJHO0lBQ0gsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFvQjtRQUM1RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQztRQUV6Qyx5QkFBeUI7UUFDekIsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQUM7UUFDakMsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUM7UUFDbEQsTUFBTSx3QkFBd0IsR0FBRyxLQUFLLENBQUMsdUJBQXVCLElBQUksRUFBRSxDQUFDO1FBRXJFLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxzQ0FBaUIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFO1lBQ2xFLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtZQUN4QixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDaEIsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJO1lBQzNDLEdBQUcsRUFBRSxHQUFHO1lBQ1IsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1lBQ2hCLFlBQVksRUFBRSxhQUFhO1lBQzNCLGVBQWUsRUFBRSx3QkFBd0I7U0FDMUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLEVBQUUsR0FBRyx3QkFBd0IsQ0FBQyxFQUFFLENBQUM7UUFFdEMsb0JBQW9CO1FBQ3BCLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUU7WUFDdEUsS0FBSyxFQUFFLHdCQUF3QixDQUFDLEVBQUU7U0FDbkMsQ0FBQyxDQUFDO1FBRUgsTUFBTSwyQkFBMkIsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQzNELElBQUksRUFDSix5QkFBeUIsRUFDekI7WUFDRSxLQUFLLEVBQUUsd0JBQXdCLENBQUMsSUFBSTtTQUNyQyxDQUNGLENBQUM7UUFFRixNQUFNLGtDQUFrQyxHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FDbEUsSUFBSSxFQUNKLGNBQWMsRUFDZDtZQUNFLEtBQUssRUFBRSx3QkFBd0IsQ0FBQyxXQUFXO1NBQzVDLENBQ0YsQ0FBQztRQUVGLGdJQUFnSTtRQUNoSSx5QkFBeUIsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRCwyQkFBMkIsQ0FBQyxpQkFBaUIsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQ3pFLGtDQUFrQyxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7O0FBbEZILDRCQW1GQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRhaW5lclJlZ2lzdHJ5IH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9jb250YWluZXItcmVnaXN0cnlcIjtcbmltcG9ydCB7IFJlc291cmNlR3JvdXAgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3Jlc291cmNlLWdyb3VwXCI7XG5pbXBvcnQgKiBhcyBjZGt0ZiBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBBenVyZVJlc291cmNlIH0gZnJvbSBcIi4uLy4uL2NvcmUtYXp1cmUvbGliXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0cnlQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgQXp1cmUgUmVnaW9uIHRvIGRlcGxveS5cbiAgICovXG4gIHJlYWRvbmx5IGxvY2F0aW9uOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgTG9nIEFuYWx5dGljcyBXb3Jrc3BhY2UuXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgQXp1cmUgUmVzb3VyY2UgR3JvdXAuXG4gICAqL1xuICByZWFkb25seSByZXNvdXJjZUdyb3VwOiBSZXNvdXJjZUdyb3VwO1xuICAvKipcbiAgICogVGhlIFNLVSBvZiB0aGUgTG9nIEFuYWx5dGljcyBXb3Jrc3BhY2UuXG4gICAqL1xuICByZWFkb25seSBza3U/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgdGFncyB0byBhc3NpZ24gdG8gdGhlIFJlc291cmNlIEdyb3VwLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFncz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIC8qKlxuICAgKiBDcmVhdGUgZW5hYmxlIEFkbWluIHVzZXIuXG4gICAqL1xuICByZWFkb25seSBhZG1pbkVuYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogU3BlY2lmeSB0aGUgbG9jYXRpb25zIHRvIGNvbmZpZ3VyZSByZXBsaWNhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGdlb1JlcGxpY2F0aW9uTG9jYXRpb25zPzogYW55O1xufVxuXG5leHBvcnQgY2xhc3MgUmVnaXN0cnkgZXh0ZW5kcyBBenVyZVJlc291cmNlIHtcbiAgcHVibGljIHJlYWRvbmx5IHByb3BzOiBSZWdpc3RyeVByb3BzO1xuICBwdWJsaWMgcmVzb3VyY2VHcm91cDogUmVzb3VyY2VHcm91cDtcbiAgcHVibGljIGlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdHMgYSBuZXcgQXp1cmUgQ29udGFpbmVyIFJlZ2lzdHJ5IChBQ1IpLlxuICAgKlxuICAgKiBUaGlzIGNsYXNzIGNyZWF0ZXMgYW4gQXp1cmUgQ29udGFpbmVyIFJlZ2lzdHJ5IGluc3RhbmNlLCB3aGljaCBpcyBhIG1hbmFnZWQgRG9ja2VyIHJlZ2lzdHJ5IHNlcnZpY2UgYmFzZWQgb24gdGhlIERvY2tlciBSZWdpc3RyeSAyLjAgc3BlY2lmaWNhdGlvbi5cbiAgICogVGhpcyBzZXJ2aWNlIGVuYWJsZXMgeW91IHRvIHN0b3JlIGFuZCBtYW5hZ2UgY29udGFpbmVyIGltYWdlcyBhY3Jvc3MgYWxsIHR5cGVzIG9mIEF6dXJlIGRlcGxveW1lbnRzLCB5b3UgY2FuIGFsc28gdXNlIGl0IHRvIGJ1aWxkLCBzdG9yZSwgYW5kIG1hbmFnZSBpbWFnZXMgZm9yIGFsbCB0eXBlcyBvZiBjb250YWluZXIgZGVwbG95bWVudHMuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSAtIFRoZSBzY29wZSBpbiB3aGljaCB0byBkZWZpbmUgdGhpcyBjb25zdHJ1Y3QsIHR5cGljYWxseSB1c2VkIGZvciBtYW5hZ2luZyBsaWZlY3ljbGVzIGFuZCBjcmVhdGlvbiBvcmRlci5cbiAgICogQHBhcmFtIGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIGNvbnN0cnVjdCBpbnN0YW5jZS5cbiAgICogQHBhcmFtIHByb3BzIC0gVGhlIHByb3BlcnRpZXMgZm9yIGNvbmZpZ3VyaW5nIHRoZSBBenVyZSBDb250YWluZXIgUmVnaXN0cnkuIFRoZSBwcm9wZXJ0aWVzIGluY2x1ZGU6XG4gICAqICAgICAgICAgICAgICAgIC0gYGxvY2F0aW9uYDogUmVxdWlyZWQuIFRoZSBBenVyZSByZWdpb24gd2hlcmUgdGhlIHJlZ2lzdHJ5IHdpbGwgYmUgZGVwbG95ZWQuXG4gICAqICAgICAgICAgICAgICAgIC0gYG5hbWVgOiBSZXF1aXJlZC4gVGhlIG5hbWUgb2YgdGhlIENvbnRhaW5lciBSZWdpc3RyeS5cbiAgICogICAgICAgICAgICAgICAgLSBgcmVzb3VyY2VHcm91cGA6IFJlcXVpcmVkLiBUaGUgQXp1cmUgUmVzb3VyY2UgR3JvdXAgaW4gd2hpY2ggdG8gZGVwbG95IHRoZSByZWdpc3RyeS5cbiAgICogICAgICAgICAgICAgICAgLSBgc2t1YDogT3B0aW9uYWwuIFRoZSBTS1Ugb2YgdGhlIENvbnRhaW5lciBSZWdpc3RyeSAoZS5nLiwgQmFzaWMsIFN0YW5kYXJkLCBQcmVtaXVtKS4gRGV0ZXJtaW5lcyB0aGUgZmVhdHVyZXMgYXZhaWxhYmxlLlxuICAgKiAgICAgICAgICAgICAgICAtIGB0YWdzYDogT3B0aW9uYWwuIFRhZ3MgZm9yIHJlc291cmNlIG1hbmFnZW1lbnQuXG4gICAqICAgICAgICAgICAgICAgIC0gYGFkbWluRW5hYmxlZGA6IE9wdGlvbmFsLiBTcGVjaWZpZXMgd2hldGhlciB0aGUgYWRtaW4gdXNlciBpcyBlbmFibGVkIGZvciB0aGUgcmVnaXN0cnkuIERlZmF1bHRzIHRvIGZhbHNlIGlmIG5vdCBzZXQuXG4gICAqICAgICAgICAgICAgICAgIC0gYGdlb1JlcGxpY2F0aW9uTG9jYXRpb25zYDogT3B0aW9uYWwuIFNwZWNpZmllcyBhZGRpdGlvbmFsIEF6dXJlIHJlZ2lvbnMgd2hlcmUgdGhlIHJlZ2lzdHJ5IHNob3VsZCBiZSBnZW8tcmVwbGljYXRlZC5cbiAgICpcbiAgICogRXhhbXBsZSB1c2FnZTpcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBuZXcgUmVnaXN0cnkodGhpcywgJ215UmVnaXN0cnknLCB7XG4gICAqICAgbG9jYXRpb246ICdXZXN0IFVTJyxcbiAgICogICBuYW1lOiAnbXlDb250YWluZXJSZWdpc3RyeScsXG4gICAqICAgcmVzb3VyY2VHcm91cDogcmVzb3VyY2VHcm91cCxcbiAgICogICBza3U6ICdQcmVtaXVtJyxcbiAgICogICBhZG1pbkVuYWJsZWQ6IHRydWUsXG4gICAqICAgZ2VvUmVwbGljYXRpb25Mb2NhdGlvbnM6IFsnRWFzdCBVUycsICdXZXN0IEV1cm9wZSddXG4gICAqIH0pO1xuICAgKiBgYGBcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSZWdpc3RyeVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgICB0aGlzLnJlc291cmNlR3JvdXAgPSBwcm9wcy5yZXNvdXJjZUdyb3VwO1xuXG4gICAgLy8gUHJvdmlkZSBkZWZhdWx0IHZhbHVlc1xuICAgIGNvbnN0IHNrdSA9IHByb3BzLnNrdSA/PyBcIkJhc2ljXCI7XG4gICAgY29uc3QgYWRtaW5fZW5hYmxlZCA9IHByb3BzLmFkbWluRW5hYmxlZCA/PyBmYWxzZTtcbiAgICBjb25zdCBnZW9yZXBsaWNhdGlvbl9sb2NhdGlvbnMgPSBwcm9wcy5nZW9SZXBsaWNhdGlvbkxvY2F0aW9ucyA/PyBbXTtcblxuICAgIGNvbnN0IGF6dXJlcm1Db250YWluZXJSZWdpc3RyeSA9IG5ldyBDb250YWluZXJSZWdpc3RyeSh0aGlzLCBcImFjclwiLCB7XG4gICAgICBsb2NhdGlvbjogcHJvcHMubG9jYXRpb24sXG4gICAgICBuYW1lOiBwcm9wcy5uYW1lLFxuICAgICAgcmVzb3VyY2VHcm91cE5hbWU6IHByb3BzLnJlc291cmNlR3JvdXAubmFtZSxcbiAgICAgIHNrdTogc2t1LFxuICAgICAgdGFnczogcHJvcHMudGFncyxcbiAgICAgIGFkbWluRW5hYmxlZDogYWRtaW5fZW5hYmxlZCxcbiAgICAgIGdlb3JlcGxpY2F0aW9uczogZ2VvcmVwbGljYXRpb25fbG9jYXRpb25zLFxuICAgIH0pO1xuXG4gICAgdGhpcy5pZCA9IGF6dXJlcm1Db250YWluZXJSZWdpc3RyeS5pZDtcblxuICAgIC8vIFRlcnJhZm9ybSBPdXRwdXRzXG4gICAgY29uc3QgY2RrdGZUZXJyYWZvcm1PdXRwdXRBQ1JpZCA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQodGhpcywgXCJpZFwiLCB7XG4gICAgICB2YWx1ZTogYXp1cmVybUNvbnRhaW5lclJlZ2lzdHJ5LmlkLFxuICAgIH0pO1xuXG4gICAgY29uc3QgY2RrdGZUZXJyYWZvcm1PdXRwdXRBQ1JOYW1lID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dChcbiAgICAgIHRoaXMsXG4gICAgICBcImNvbnRhaW5lcl9yZWdpc3RyeV9uYW1lXCIsXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiBhenVyZXJtQ29udGFpbmVyUmVnaXN0cnkubmFtZSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIGNvbnN0IGNka3RmVGVycmFmb3JtT3V0cHV0QUNSbG9naW5zZXJ2ZXIgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KFxuICAgICAgdGhpcyxcbiAgICAgIFwibG9naW5fc2VydmVyXCIsXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiBhenVyZXJtQ29udGFpbmVyUmVnaXN0cnkubG9naW5TZXJ2ZXIsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICAvKlRoaXMgYWxsb3dzIHRoZSBUZXJyYWZvcm0gcmVzb3VyY2UgbmFtZSB0byBtYXRjaCB0aGUgb3JpZ2luYWwgbmFtZS4gWW91IGNhbiByZW1vdmUgdGhlIGNhbGwgaWYgeW91IGRvbid0IG5lZWQgdGhlbSB0byBtYXRjaC4qL1xuICAgIGNka3RmVGVycmFmb3JtT3V0cHV0QUNSaWQub3ZlcnJpZGVMb2dpY2FsSWQoXCJpZFwiKTtcbiAgICBjZGt0ZlRlcnJhZm9ybU91dHB1dEFDUk5hbWUub3ZlcnJpZGVMb2dpY2FsSWQoXCJjb250YWluZXJfcmVnaXN0cnlfbmFtZVwiKTtcbiAgICBjZGt0ZlRlcnJhZm9ybU91dHB1dEFDUmxvZ2luc2VydmVyLm92ZXJyaWRlTG9naWNhbElkKFwibG9naW5fc2VydmVyXCIpO1xuICB9XG59XG4iXX0=
|
|
@@ -9,6 +9,56 @@ export declare class DataLake extends AzureResource {
|
|
|
9
9
|
resourceGroup: ResourceGroup;
|
|
10
10
|
readonly filesystems: Map<string, DataLakeFilesystem>;
|
|
11
11
|
readonly storageAccount: sa.Account;
|
|
12
|
+
/**
|
|
13
|
+
* Represents an Azure Data Lake storage account, managing the storage and retrieval of data in a scalable, secure manner.
|
|
14
|
+
*
|
|
15
|
+
* This class encapsulates the properties and functionality of an Azure Data Lake, which is built on top of Azure Blob storage
|
|
16
|
+
* with enhanced capabilities to handle big data analytics efficiently. The Data Lake enables batch and real-time data processing
|
|
17
|
+
* and collaboration for analytics purposes. It provides a centralized place to store structured or unstructured data from multiple
|
|
18
|
+
* sources so that it can be processed and analyzed.
|
|
19
|
+
*
|
|
20
|
+
* Properties:
|
|
21
|
+
* - `accountReplicationType`: Specifies the type of data replication for durability and availability. Options include locally redundant storage (LRS),
|
|
22
|
+
* geo-redundant storage (GRS), and read-access geo-redundant storage (RAGRS).
|
|
23
|
+
* - `accountTier`: Defines the performance tier (e.g., Standard, Premium) that affects the type of hardware used for the storage account.
|
|
24
|
+
* - `location`: The Azure region where the storage account is located, influencing where data is stored geographically.
|
|
25
|
+
* - `name`: A unique name for the storage account within Azure.
|
|
26
|
+
* - `resourceGroup`: The resource group under which the storage account is categorized and billed.
|
|
27
|
+
* - `tags`: Key-value pairs for resource categorization and operational management.
|
|
28
|
+
* - `enableHttpsTrafficOnly`: Enforces HTTPS for data transfer, enhancing security by encrypting data in transit.
|
|
29
|
+
* - `identity`: Managed Service Identity configuration for Azure Active Directory authentication management.
|
|
30
|
+
* - `accessTier`: Specifies the data access tier (Hot, Cool) affecting cost and retrieval speeds.
|
|
31
|
+
* - `isHnsEnabled`: Indicates if the Hierarchical Namespace is enabled, required for Azure Data Lake Storage Gen2.
|
|
32
|
+
* - `minTlsVersion`: The minimum version of TLS required for securing connections, enhancing data security.
|
|
33
|
+
* - `publicNetworkAccessEnabled`: Controls whether the storage account is accessible from the public internet.
|
|
34
|
+
* - `accountKind`: Specifies the kind of storage account, which can influence supported features and pricing.
|
|
35
|
+
*
|
|
36
|
+
* @param scope - The scope in which this construct is defined, typically representing the cloud development kit (CDK) stack.
|
|
37
|
+
* @param id - The unique identifier for this construct.
|
|
38
|
+
* @param props - Properties for configuring the Data Lake, including location, name, security settings, etc.
|
|
39
|
+
*/
|
|
12
40
|
constructor(scope: Construct, id: string, props: any);
|
|
41
|
+
/**
|
|
42
|
+
* Creates a new Data Lake Gen2 filesystem within the specified storage account.
|
|
43
|
+
*
|
|
44
|
+
* This method initializes a new filesystem in Azure Data Lake Storage Gen2, allowing for the storage of hierarchical data structures.
|
|
45
|
+
* Each filesystem can contain multiple directories and files, organized in a hierarchical manner. This method ensures that the filesystem
|
|
46
|
+
* name is unique within the storage account to prevent naming conflicts.
|
|
47
|
+
*
|
|
48
|
+
* @param name - The name of the new filesystem to create. This name must be unique within the storage account.
|
|
49
|
+
* @param props - Configuration properties for the new filesystem, including metadata, encryption settings, and more.
|
|
50
|
+
* @returns The newly created DataLakeFilesystem instance.
|
|
51
|
+
* @throws Error if a filesystem with the same name already exists in the storage account.
|
|
52
|
+
*
|
|
53
|
+
* Example usage:
|
|
54
|
+
* ```typescript
|
|
55
|
+
* const filesystemConfig = {
|
|
56
|
+
* properties: { property1: 'value1' }, // Example properties
|
|
57
|
+
* defaultEncryptionScope: 'myEncryptionScope'
|
|
58
|
+
* };
|
|
59
|
+
* const newFilesystem = storageAccount.addDataLakeFilesystem('myNewFilesystem', filesystemConfig);
|
|
60
|
+
* ```
|
|
61
|
+
* This example creates a new filesystem named 'myNewFilesystem' with specified properties and encryption scope.
|
|
62
|
+
*/
|
|
13
63
|
addDataLakeFilesystem(name: string, props: DataLakeFilesystemConfig): DataLakeFilesystem;
|
|
14
64
|
}
|
|
@@ -5,6 +5,34 @@ const filesystem_1 = require("./filesystem");
|
|
|
5
5
|
const sa = require("../../azure-storageaccount");
|
|
6
6
|
const core_azure_1 = require("../../core-azure");
|
|
7
7
|
class DataLake extends core_azure_1.AzureResource {
|
|
8
|
+
/**
|
|
9
|
+
* Represents an Azure Data Lake storage account, managing the storage and retrieval of data in a scalable, secure manner.
|
|
10
|
+
*
|
|
11
|
+
* This class encapsulates the properties and functionality of an Azure Data Lake, which is built on top of Azure Blob storage
|
|
12
|
+
* with enhanced capabilities to handle big data analytics efficiently. The Data Lake enables batch and real-time data processing
|
|
13
|
+
* and collaboration for analytics purposes. It provides a centralized place to store structured or unstructured data from multiple
|
|
14
|
+
* sources so that it can be processed and analyzed.
|
|
15
|
+
*
|
|
16
|
+
* Properties:
|
|
17
|
+
* - `accountReplicationType`: Specifies the type of data replication for durability and availability. Options include locally redundant storage (LRS),
|
|
18
|
+
* geo-redundant storage (GRS), and read-access geo-redundant storage (RAGRS).
|
|
19
|
+
* - `accountTier`: Defines the performance tier (e.g., Standard, Premium) that affects the type of hardware used for the storage account.
|
|
20
|
+
* - `location`: The Azure region where the storage account is located, influencing where data is stored geographically.
|
|
21
|
+
* - `name`: A unique name for the storage account within Azure.
|
|
22
|
+
* - `resourceGroup`: The resource group under which the storage account is categorized and billed.
|
|
23
|
+
* - `tags`: Key-value pairs for resource categorization and operational management.
|
|
24
|
+
* - `enableHttpsTrafficOnly`: Enforces HTTPS for data transfer, enhancing security by encrypting data in transit.
|
|
25
|
+
* - `identity`: Managed Service Identity configuration for Azure Active Directory authentication management.
|
|
26
|
+
* - `accessTier`: Specifies the data access tier (Hot, Cool) affecting cost and retrieval speeds.
|
|
27
|
+
* - `isHnsEnabled`: Indicates if the Hierarchical Namespace is enabled, required for Azure Data Lake Storage Gen2.
|
|
28
|
+
* - `minTlsVersion`: The minimum version of TLS required for securing connections, enhancing data security.
|
|
29
|
+
* - `publicNetworkAccessEnabled`: Controls whether the storage account is accessible from the public internet.
|
|
30
|
+
* - `accountKind`: Specifies the kind of storage account, which can influence supported features and pricing.
|
|
31
|
+
*
|
|
32
|
+
* @param scope - The scope in which this construct is defined, typically representing the cloud development kit (CDK) stack.
|
|
33
|
+
* @param id - The unique identifier for this construct.
|
|
34
|
+
* @param props - Properties for configuring the Data Lake, including location, name, security settings, etc.
|
|
35
|
+
*/
|
|
8
36
|
constructor(scope, id, props) {
|
|
9
37
|
super(scope, id);
|
|
10
38
|
this.filesystems = new Map();
|
|
@@ -24,6 +52,28 @@ class DataLake extends core_azure_1.AzureResource {
|
|
|
24
52
|
resourceGroup: this.resourceGroup,
|
|
25
53
|
});
|
|
26
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* Creates a new Data Lake Gen2 filesystem within the specified storage account.
|
|
57
|
+
*
|
|
58
|
+
* This method initializes a new filesystem in Azure Data Lake Storage Gen2, allowing for the storage of hierarchical data structures.
|
|
59
|
+
* Each filesystem can contain multiple directories and files, organized in a hierarchical manner. This method ensures that the filesystem
|
|
60
|
+
* name is unique within the storage account to prevent naming conflicts.
|
|
61
|
+
*
|
|
62
|
+
* @param name - The name of the new filesystem to create. This name must be unique within the storage account.
|
|
63
|
+
* @param props - Configuration properties for the new filesystem, including metadata, encryption settings, and more.
|
|
64
|
+
* @returns The newly created DataLakeFilesystem instance.
|
|
65
|
+
* @throws Error if a filesystem with the same name already exists in the storage account.
|
|
66
|
+
*
|
|
67
|
+
* Example usage:
|
|
68
|
+
* ```typescript
|
|
69
|
+
* const filesystemConfig = {
|
|
70
|
+
* properties: { property1: 'value1' }, // Example properties
|
|
71
|
+
* defaultEncryptionScope: 'myEncryptionScope'
|
|
72
|
+
* };
|
|
73
|
+
* const newFilesystem = storageAccount.addDataLakeFilesystem('myNewFilesystem', filesystemConfig);
|
|
74
|
+
* ```
|
|
75
|
+
* This example creates a new filesystem named 'myNewFilesystem' with specified properties and encryption scope.
|
|
76
|
+
*/
|
|
27
77
|
addDataLakeFilesystem(name, props) {
|
|
28
78
|
if (this.filesystems.has(name)) {
|
|
29
79
|
throw new Error(`Filesystem '${name}' already exists.`);
|
|
@@ -39,4 +89,4 @@ class DataLake extends core_azure_1.AzureResource {
|
|
|
39
89
|
}
|
|
40
90
|
}
|
|
41
91
|
exports.DataLake = DataLake;
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWxha2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtZGF0YWxha2UvbGliL2RhdGFsYWtlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLDZDQUE0RTtBQUM1RSxpREFBaUQ7QUFDakQsaURBQWlEO0FBRWpELE1BQWEsUUFBUyxTQUFRLDBCQUFhO0lBT3pDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0EyQkc7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQVU7UUFDbEQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksR0FBRyxFQUE4QixDQUFDO1FBQ3pELGlCQUFpQjtRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHO1lBQ1gsSUFBSSxFQUFFLGNBQWM7WUFDcEIsUUFBUSxFQUFFLFFBQVE7WUFDbEIsR0FBRyxLQUFLO1NBQ1QsQ0FBQztRQUVGLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztRQUVqRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLGdCQUFnQixFQUFFO1lBQ2pFLEdBQUcsSUFBSSxDQUFDLEtBQUs7WUFDYixXQUFXLEVBQUUsVUFBVTtZQUN2QixXQUFXLEVBQUUsV0FBVztZQUN4QixZQUFZLEVBQUUsSUFBSTtZQUNsQixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7U0FDbEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FxQkc7SUFDSSxxQkFBcUIsQ0FDMUIsSUFBWSxFQUNaLEtBQStCO1FBRS9CLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLElBQUksbUJBQW1CLENBQUMsQ0FBQztTQUN6RDtRQUVELElBQUksTUFBTSxHQUF3QztZQUNoRCxJQUFJLEVBQUUsSUFBSTtZQUNWLGdCQUFnQixFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUN4QyxHQUFHLEtBQUs7U0FDVCxDQUFDO1FBRUYsTUFBTSxhQUFhLEdBQUcsSUFBSSwrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRWpFLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQztRQUMxQyxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0NBQ0Y7QUFqR0QsNEJBaUdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzb3VyY2VHcm91cCB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvcmVzb3VyY2UtZ3JvdXBcIjtcbmltcG9ydCB7IFN0b3JhZ2VEYXRhTGFrZUdlbjJGaWxlc3lzdGVtQ29uZmlnIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9zdG9yYWdlLWRhdGEtbGFrZS1nZW4yLWZpbGVzeXN0ZW1cIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBEYXRhTGFrZUZpbGVzeXN0ZW0sIERhdGFMYWtlRmlsZXN5c3RlbUNvbmZpZyB9IGZyb20gXCIuL2ZpbGVzeXN0ZW1cIjtcbmltcG9ydCAqIGFzIHNhIGZyb20gXCIuLi8uLi9henVyZS1zdG9yYWdlYWNjb3VudFwiO1xuaW1wb3J0IHsgQXp1cmVSZXNvdXJjZSB9IGZyb20gXCIuLi8uLi9jb3JlLWF6dXJlXCI7XG5cbmV4cG9ydCBjbGFzcyBEYXRhTGFrZSBleHRlbmRzIEF6dXJlUmVzb3VyY2Uge1xuICByZWFkb25seSBwcm9wczogYW55O1xuICBwdWJsaWMgcmVzb3VyY2VHcm91cE5hbWU6IHN0cmluZztcbiAgcHVibGljIHJlc291cmNlR3JvdXA6IFJlc291cmNlR3JvdXA7XG4gIHB1YmxpYyByZWFkb25seSBmaWxlc3lzdGVtczogTWFwPHN0cmluZywgRGF0YUxha2VGaWxlc3lzdGVtPjtcblxuICBwdWJsaWMgcmVhZG9ubHkgc3RvcmFnZUFjY291bnQ6IHNhLkFjY291bnQ7XG4gIC8qKlxuICAgKiBSZXByZXNlbnRzIGFuIEF6dXJlIERhdGEgTGFrZSBzdG9yYWdlIGFjY291bnQsIG1hbmFnaW5nIHRoZSBzdG9yYWdlIGFuZCByZXRyaWV2YWwgb2YgZGF0YSBpbiBhIHNjYWxhYmxlLCBzZWN1cmUgbWFubmVyLlxuICAgKlxuICAgKiBUaGlzIGNsYXNzIGVuY2Fwc3VsYXRlcyB0aGUgcHJvcGVydGllcyBhbmQgZnVuY3Rpb25hbGl0eSBvZiBhbiBBenVyZSBEYXRhIExha2UsIHdoaWNoIGlzIGJ1aWx0IG9uIHRvcCBvZiBBenVyZSBCbG9iIHN0b3JhZ2VcbiAgICogd2l0aCBlbmhhbmNlZCBjYXBhYmlsaXRpZXMgdG8gaGFuZGxlIGJpZyBkYXRhIGFuYWx5dGljcyBlZmZpY2llbnRseS4gVGhlIERhdGEgTGFrZSBlbmFibGVzIGJhdGNoIGFuZCByZWFsLXRpbWUgZGF0YSBwcm9jZXNzaW5nXG4gICAqIGFuZCBjb2xsYWJvcmF0aW9uIGZvciBhbmFseXRpY3MgcHVycG9zZXMuIEl0IHByb3ZpZGVzIGEgY2VudHJhbGl6ZWQgcGxhY2UgdG8gc3RvcmUgc3RydWN0dXJlZCBvciB1bnN0cnVjdHVyZWQgZGF0YSBmcm9tIG11bHRpcGxlXG4gICAqIHNvdXJjZXMgc28gdGhhdCBpdCBjYW4gYmUgcHJvY2Vzc2VkIGFuZCBhbmFseXplZC5cbiAgICpcbiAgICogUHJvcGVydGllczpcbiAgICogLSBgYWNjb3VudFJlcGxpY2F0aW9uVHlwZWA6IFNwZWNpZmllcyB0aGUgdHlwZSBvZiBkYXRhIHJlcGxpY2F0aW9uIGZvciBkdXJhYmlsaXR5IGFuZCBhdmFpbGFiaWxpdHkuIE9wdGlvbnMgaW5jbHVkZSBsb2NhbGx5IHJlZHVuZGFudCBzdG9yYWdlIChMUlMpLFxuICAgKiAgIGdlby1yZWR1bmRhbnQgc3RvcmFnZSAoR1JTKSwgYW5kIHJlYWQtYWNjZXNzIGdlby1yZWR1bmRhbnQgc3RvcmFnZSAoUkFHUlMpLlxuICAgKiAtIGBhY2NvdW50VGllcmA6IERlZmluZXMgdGhlIHBlcmZvcm1hbmNlIHRpZXIgKGUuZy4sIFN0YW5kYXJkLCBQcmVtaXVtKSB0aGF0IGFmZmVjdHMgdGhlIHR5cGUgb2YgaGFyZHdhcmUgdXNlZCBmb3IgdGhlIHN0b3JhZ2UgYWNjb3VudC5cbiAgICogLSBgbG9jYXRpb25gOiBUaGUgQXp1cmUgcmVnaW9uIHdoZXJlIHRoZSBzdG9yYWdlIGFjY291bnQgaXMgbG9jYXRlZCwgaW5mbHVlbmNpbmcgd2hlcmUgZGF0YSBpcyBzdG9yZWQgZ2VvZ3JhcGhpY2FsbHkuXG4gICAqIC0gYG5hbWVgOiBBIHVuaXF1ZSBuYW1lIGZvciB0aGUgc3RvcmFnZSBhY2NvdW50IHdpdGhpbiBBenVyZS5cbiAgICogLSBgcmVzb3VyY2VHcm91cGA6IFRoZSByZXNvdXJjZSBncm91cCB1bmRlciB3aGljaCB0aGUgc3RvcmFnZSBhY2NvdW50IGlzIGNhdGVnb3JpemVkIGFuZCBiaWxsZWQuXG4gICAqIC0gYHRhZ3NgOiBLZXktdmFsdWUgcGFpcnMgZm9yIHJlc291cmNlIGNhdGVnb3JpemF0aW9uIGFuZCBvcGVyYXRpb25hbCBtYW5hZ2VtZW50LlxuICAgKiAtIGBlbmFibGVIdHRwc1RyYWZmaWNPbmx5YDogRW5mb3JjZXMgSFRUUFMgZm9yIGRhdGEgdHJhbnNmZXIsIGVuaGFuY2luZyBzZWN1cml0eSBieSBlbmNyeXB0aW5nIGRhdGEgaW4gdHJhbnNpdC5cbiAgICogLSBgaWRlbnRpdHlgOiBNYW5hZ2VkIFNlcnZpY2UgSWRlbnRpdHkgY29uZmlndXJhdGlvbiBmb3IgQXp1cmUgQWN0aXZlIERpcmVjdG9yeSBhdXRoZW50aWNhdGlvbiBtYW5hZ2VtZW50LlxuICAgKiAtIGBhY2Nlc3NUaWVyYDogU3BlY2lmaWVzIHRoZSBkYXRhIGFjY2VzcyB0aWVyIChIb3QsIENvb2wpIGFmZmVjdGluZyBjb3N0IGFuZCByZXRyaWV2YWwgc3BlZWRzLlxuICAgKiAtIGBpc0huc0VuYWJsZWRgOiBJbmRpY2F0ZXMgaWYgdGhlIEhpZXJhcmNoaWNhbCBOYW1lc3BhY2UgaXMgZW5hYmxlZCwgcmVxdWlyZWQgZm9yIEF6dXJlIERhdGEgTGFrZSBTdG9yYWdlIEdlbjIuXG4gICAqIC0gYG1pblRsc1ZlcnNpb25gOiBUaGUgbWluaW11bSB2ZXJzaW9uIG9mIFRMUyByZXF1aXJlZCBmb3Igc2VjdXJpbmcgY29ubmVjdGlvbnMsIGVuaGFuY2luZyBkYXRhIHNlY3VyaXR5LlxuICAgKiAtIGBwdWJsaWNOZXR3b3JrQWNjZXNzRW5hYmxlZGA6IENvbnRyb2xzIHdoZXRoZXIgdGhlIHN0b3JhZ2UgYWNjb3VudCBpcyBhY2Nlc3NpYmxlIGZyb20gdGhlIHB1YmxpYyBpbnRlcm5ldC5cbiAgICogLSBgYWNjb3VudEtpbmRgOiBTcGVjaWZpZXMgdGhlIGtpbmQgb2Ygc3RvcmFnZSBhY2NvdW50LCB3aGljaCBjYW4gaW5mbHVlbmNlIHN1cHBvcnRlZCBmZWF0dXJlcyBhbmQgcHJpY2luZy5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIC0gVGhlIHNjb3BlIGluIHdoaWNoIHRoaXMgY29uc3RydWN0IGlzIGRlZmluZWQsIHR5cGljYWxseSByZXByZXNlbnRpbmcgdGhlIGNsb3VkIGRldmVsb3BtZW50IGtpdCAoQ0RLKSBzdGFjay5cbiAgICogQHBhcmFtIGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIGNvbnN0cnVjdC5cbiAgICogQHBhcmFtIHByb3BzIC0gUHJvcGVydGllcyBmb3IgY29uZmlndXJpbmcgdGhlIERhdGEgTGFrZSwgaW5jbHVkaW5nIGxvY2F0aW9uLCBuYW1lLCBzZWN1cml0eSBzZXR0aW5ncywgZXRjLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IGFueSkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgdGhpcy5maWxlc3lzdGVtcyA9IG5ldyBNYXA8c3RyaW5nLCBEYXRhTGFrZUZpbGVzeXN0ZW0+KCk7XG4gICAgLy8gRGVmYXVsdCB2YWx1ZXNcbiAgICB0aGlzLnByb3BzID0ge1xuICAgICAgbmFtZTogXCJ0ZXN0NDIzNDg4MDhcIixcbiAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgLi4ucHJvcHMsXG4gICAgfTtcblxuICAgIHRoaXMucmVzb3VyY2VHcm91cCA9IHRoaXMuc2V0dXBSZXNvdXJjZUdyb3VwKHByb3BzKTtcbiAgICB0aGlzLnJlc291cmNlR3JvdXBOYW1lID0gdGhpcy5yZXNvdXJjZUdyb3VwLm5hbWU7XG5cbiAgICB0aGlzLnN0b3JhZ2VBY2NvdW50ID0gbmV3IHNhLkFjY291bnQoc2NvcGUsIGlkICsgXCJzdG9yYWdlQWNjb3VudFwiLCB7XG4gICAgICAuLi50aGlzLnByb3BzLFxuICAgICAgYWNjb3VudFRpZXI6IFwiU3RhbmRhcmRcIixcbiAgICAgIGFjY291bnRLaW5kOiBcIlN0b3JhZ2VWMlwiLFxuICAgICAgaXNIbnNFbmFibGVkOiB0cnVlLFxuICAgICAgcmVzb3VyY2VHcm91cDogdGhpcy5yZXNvdXJjZUdyb3VwLFxuICAgIH0pO1xuICB9XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IERhdGEgTGFrZSBHZW4yIGZpbGVzeXN0ZW0gd2l0aGluIHRoZSBzcGVjaWZpZWQgc3RvcmFnZSBhY2NvdW50LlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCBpbml0aWFsaXplcyBhIG5ldyBmaWxlc3lzdGVtIGluIEF6dXJlIERhdGEgTGFrZSBTdG9yYWdlIEdlbjIsIGFsbG93aW5nIGZvciB0aGUgc3RvcmFnZSBvZiBoaWVyYXJjaGljYWwgZGF0YSBzdHJ1Y3R1cmVzLlxuICAgKiBFYWNoIGZpbGVzeXN0ZW0gY2FuIGNvbnRhaW4gbXVsdGlwbGUgZGlyZWN0b3JpZXMgYW5kIGZpbGVzLCBvcmdhbml6ZWQgaW4gYSBoaWVyYXJjaGljYWwgbWFubmVyLiBUaGlzIG1ldGhvZCBlbnN1cmVzIHRoYXQgdGhlIGZpbGVzeXN0ZW1cbiAgICogbmFtZSBpcyB1bmlxdWUgd2l0aGluIHRoZSBzdG9yYWdlIGFjY291bnQgdG8gcHJldmVudCBuYW1pbmcgY29uZmxpY3RzLlxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBuZXcgZmlsZXN5c3RlbSB0byBjcmVhdGUuIFRoaXMgbmFtZSBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIHN0b3JhZ2UgYWNjb3VudC5cbiAgICogQHBhcmFtIHByb3BzIC0gQ29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzIGZvciB0aGUgbmV3IGZpbGVzeXN0ZW0sIGluY2x1ZGluZyBtZXRhZGF0YSwgZW5jcnlwdGlvbiBzZXR0aW5ncywgYW5kIG1vcmUuXG4gICAqIEByZXR1cm5zIFRoZSBuZXdseSBjcmVhdGVkIERhdGFMYWtlRmlsZXN5c3RlbSBpbnN0YW5jZS5cbiAgICogQHRocm93cyBFcnJvciBpZiBhIGZpbGVzeXN0ZW0gd2l0aCB0aGUgc2FtZSBuYW1lIGFscmVhZHkgZXhpc3RzIGluIHRoZSBzdG9yYWdlIGFjY291bnQuXG4gICAqXG4gICAqIEV4YW1wbGUgdXNhZ2U6XG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3QgZmlsZXN5c3RlbUNvbmZpZyA9IHtcbiAgICogICBwcm9wZXJ0aWVzOiB7IHByb3BlcnR5MTogJ3ZhbHVlMScgfSwgIC8vIEV4YW1wbGUgcHJvcGVydGllc1xuICAgKiAgIGRlZmF1bHRFbmNyeXB0aW9uU2NvcGU6ICdteUVuY3J5cHRpb25TY29wZSdcbiAgICogfTtcbiAgICogY29uc3QgbmV3RmlsZXN5c3RlbSA9IHN0b3JhZ2VBY2NvdW50LmFkZERhdGFMYWtlRmlsZXN5c3RlbSgnbXlOZXdGaWxlc3lzdGVtJywgZmlsZXN5c3RlbUNvbmZpZyk7XG4gICAqIGBgYFxuICAgKiBUaGlzIGV4YW1wbGUgY3JlYXRlcyBhIG5ldyBmaWxlc3lzdGVtIG5hbWVkICdteU5ld0ZpbGVzeXN0ZW0nIHdpdGggc3BlY2lmaWVkIHByb3BlcnRpZXMgYW5kIGVuY3J5cHRpb24gc2NvcGUuXG4gICAqL1xuICBwdWJsaWMgYWRkRGF0YUxha2VGaWxlc3lzdGVtKFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICBwcm9wczogRGF0YUxha2VGaWxlc3lzdGVtQ29uZmlnLFxuICApOiBEYXRhTGFrZUZpbGVzeXN0ZW0ge1xuICAgIGlmICh0aGlzLmZpbGVzeXN0ZW1zLmhhcyhuYW1lKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBGaWxlc3lzdGVtICcke25hbWV9JyBhbHJlYWR5IGV4aXN0cy5gKTtcbiAgICB9XG5cbiAgICB2YXIgY29uZmlnOiBTdG9yYWdlRGF0YUxha2VHZW4yRmlsZXN5c3RlbUNvbmZpZyA9IHtcbiAgICAgIG5hbWU6IG5hbWUsXG4gICAgICBzdG9yYWdlQWNjb3VudElkOiB0aGlzLnN0b3JhZ2VBY2NvdW50LmlkLFxuICAgICAgLi4ucHJvcHMsXG4gICAgfTtcblxuICAgIGNvbnN0IG5ld0ZpbGVzeXN0ZW0gPSBuZXcgRGF0YUxha2VGaWxlc3lzdGVtKHRoaXMsIG5hbWUsIGNvbmZpZyk7XG5cbiAgICB0aGlzLmZpbGVzeXN0ZW1zLnNldChuYW1lLCBuZXdGaWxlc3lzdGVtKTtcbiAgICByZXR1cm4gbmV3RmlsZXN5c3RlbTtcbiAgfVxufVxuIl19
|
|
@@ -14,6 +14,57 @@ export declare class DataLakeFilesystem extends Construct {
|
|
|
14
14
|
readonly filesystem: StorageDataLakeGen2Filesystem;
|
|
15
15
|
readonly paths: Map<string, DataLakePath>;
|
|
16
16
|
private storageAccountId;
|
|
17
|
+
/**
|
|
18
|
+
* Represents a filesystem within Azure Data Lake Storage Gen2.
|
|
19
|
+
*
|
|
20
|
+
* This class manages the lifecycle and configuration of a filesystem in Azure Data Lake Gen2, which is used to store directories and files
|
|
21
|
+
* in a hierarchical structure. This class allows for the creation, configuration, and management of access controls and properties associated with a filesystem.
|
|
22
|
+
*
|
|
23
|
+
* @param scope - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
|
|
24
|
+
* @param id - The unique identifier for this instance of the filesystem.
|
|
25
|
+
* @param props - Configuration properties for the Data Lake Gen2 filesystem. These properties may include:
|
|
26
|
+
* - `name`: The name of the filesystem.
|
|
27
|
+
* - `storageAccountId`: The ID of the Azure Storage account that hosts the filesystem.
|
|
28
|
+
* - `defaultEncryptionScope`: Specifies the default encryption scope for the filesystem.
|
|
29
|
+
* - `properties`: A dictionary of strings representing properties to associate with the filesystem.
|
|
30
|
+
* - `ace`: An array of access control expressions to define permissions within the filesystem.
|
|
31
|
+
*
|
|
32
|
+
* Example usage:
|
|
33
|
+
* ```typescript
|
|
34
|
+
* const dataLakeFilesystem = new StorageDataLakeGen2Filesystem(this, 'myFilesystem', {
|
|
35
|
+
* name: 'mydatafilesystem',
|
|
36
|
+
* storageAccountId: 'storage_account_id',
|
|
37
|
+
* defaultEncryptionScope: 'my-encryption-scope',
|
|
38
|
+
* properties: {
|
|
39
|
+
* property1: 'value1',
|
|
40
|
+
* property2: 'value2'
|
|
41
|
+
* }
|
|
42
|
+
* });
|
|
43
|
+
* ```
|
|
44
|
+
* This class initializes a filesystem with specified configurations such as name, storage account ID, and optional properties like encryption scope and custom properties.
|
|
45
|
+
*/
|
|
17
46
|
constructor(scope: Construct, id: string, props: StorageDataLakeGen2FilesystemConfig);
|
|
47
|
+
/**
|
|
48
|
+
* Adds a new directory or file path to the existing Data Lake Gen2 filesystem.
|
|
49
|
+
*
|
|
50
|
+
* This method allows for the creation of a new path, which can be either a directory or a file, within the defined filesystem in Azure Data Lake Gen2.
|
|
51
|
+
* Each path is configured with optional properties and access controls, making it possible to finely tune the permissions and settings for data stored at this path.
|
|
52
|
+
*
|
|
53
|
+
* @param name - The name of the new path to create within the filesystem. This name must be unique within the filesystem.
|
|
54
|
+
* @param props - Configuration properties for the new path, including access controls, ownership details, and other relevant settings.
|
|
55
|
+
* @returns The newly created DataLakePath instance representing the path within the filesystem.
|
|
56
|
+
* @throws Error if a path with the same name already exists in the filesystem.
|
|
57
|
+
*
|
|
58
|
+
* Example usage:
|
|
59
|
+
* ```typescript
|
|
60
|
+
* const pathConfig = {
|
|
61
|
+
* group: 'dataGroup',
|
|
62
|
+
* owner: 'dataOwner',
|
|
63
|
+
* ace: [{ id: 'ace1', type: 'user', permissions: 'rwx' }]
|
|
64
|
+
* };
|
|
65
|
+
* const newPath = dataLakeFilesystem.addDataLakePath('newDataPath', pathConfig);
|
|
66
|
+
* ```
|
|
67
|
+
* This example demonstrates adding a new path 'newDataPath' to the filesystem with specified group, owner, and access control entries.
|
|
68
|
+
*/
|
|
18
69
|
addDataLakePath(name: string, props: DataLakePathConfig): DataLakePath;
|
|
19
70
|
}
|
|
@@ -5,6 +5,35 @@ const storage_data_lake_gen2_filesystem_1 = require("@cdktf/provider-azurerm/lib
|
|
|
5
5
|
const constructs_1 = require("constructs");
|
|
6
6
|
const path_1 = require("./path");
|
|
7
7
|
class DataLakeFilesystem extends constructs_1.Construct {
|
|
8
|
+
/**
|
|
9
|
+
* Represents a filesystem within Azure Data Lake Storage Gen2.
|
|
10
|
+
*
|
|
11
|
+
* This class manages the lifecycle and configuration of a filesystem in Azure Data Lake Gen2, which is used to store directories and files
|
|
12
|
+
* in a hierarchical structure. This class allows for the creation, configuration, and management of access controls and properties associated with a filesystem.
|
|
13
|
+
*
|
|
14
|
+
* @param scope - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
|
|
15
|
+
* @param id - The unique identifier for this instance of the filesystem.
|
|
16
|
+
* @param props - Configuration properties for the Data Lake Gen2 filesystem. These properties may include:
|
|
17
|
+
* - `name`: The name of the filesystem.
|
|
18
|
+
* - `storageAccountId`: The ID of the Azure Storage account that hosts the filesystem.
|
|
19
|
+
* - `defaultEncryptionScope`: Specifies the default encryption scope for the filesystem.
|
|
20
|
+
* - `properties`: A dictionary of strings representing properties to associate with the filesystem.
|
|
21
|
+
* - `ace`: An array of access control expressions to define permissions within the filesystem.
|
|
22
|
+
*
|
|
23
|
+
* Example usage:
|
|
24
|
+
* ```typescript
|
|
25
|
+
* const dataLakeFilesystem = new StorageDataLakeGen2Filesystem(this, 'myFilesystem', {
|
|
26
|
+
* name: 'mydatafilesystem',
|
|
27
|
+
* storageAccountId: 'storage_account_id',
|
|
28
|
+
* defaultEncryptionScope: 'my-encryption-scope',
|
|
29
|
+
* properties: {
|
|
30
|
+
* property1: 'value1',
|
|
31
|
+
* property2: 'value2'
|
|
32
|
+
* }
|
|
33
|
+
* });
|
|
34
|
+
* ```
|
|
35
|
+
* This class initializes a filesystem with specified configurations such as name, storage account ID, and optional properties like encryption scope and custom properties.
|
|
36
|
+
*/
|
|
8
37
|
constructor(scope, id, props) {
|
|
9
38
|
super(scope, id);
|
|
10
39
|
this.name = id;
|
|
@@ -12,6 +41,28 @@ class DataLakeFilesystem extends constructs_1.Construct {
|
|
|
12
41
|
this.storageAccountId = props.storageAccountId;
|
|
13
42
|
this.filesystem = new storage_data_lake_gen2_filesystem_1.StorageDataLakeGen2Filesystem(this, id, props);
|
|
14
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Adds a new directory or file path to the existing Data Lake Gen2 filesystem.
|
|
46
|
+
*
|
|
47
|
+
* This method allows for the creation of a new path, which can be either a directory or a file, within the defined filesystem in Azure Data Lake Gen2.
|
|
48
|
+
* Each path is configured with optional properties and access controls, making it possible to finely tune the permissions and settings for data stored at this path.
|
|
49
|
+
*
|
|
50
|
+
* @param name - The name of the new path to create within the filesystem. This name must be unique within the filesystem.
|
|
51
|
+
* @param props - Configuration properties for the new path, including access controls, ownership details, and other relevant settings.
|
|
52
|
+
* @returns The newly created DataLakePath instance representing the path within the filesystem.
|
|
53
|
+
* @throws Error if a path with the same name already exists in the filesystem.
|
|
54
|
+
*
|
|
55
|
+
* Example usage:
|
|
56
|
+
* ```typescript
|
|
57
|
+
* const pathConfig = {
|
|
58
|
+
* group: 'dataGroup',
|
|
59
|
+
* owner: 'dataOwner',
|
|
60
|
+
* ace: [{ id: 'ace1', type: 'user', permissions: 'rwx' }]
|
|
61
|
+
* };
|
|
62
|
+
* const newPath = dataLakeFilesystem.addDataLakePath('newDataPath', pathConfig);
|
|
63
|
+
* ```
|
|
64
|
+
* This example demonstrates adding a new path 'newDataPath' to the filesystem with specified group, owner, and access control entries.
|
|
65
|
+
*/
|
|
15
66
|
addDataLakePath(name, props) {
|
|
16
67
|
if (this.paths.has(name)) {
|
|
17
68
|
throw new Error(`Filesystem '${name}' already exists.`);
|
|
@@ -29,4 +80,4 @@ class DataLakeFilesystem extends constructs_1.Construct {
|
|
|
29
80
|
}
|
|
30
81
|
}
|
|
31
82
|
exports.DataLakeFilesystem = DataLakeFilesystem;
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXN5c3RlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS1kYXRhbGFrZS9saWIvZmlsZXN5c3RlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxSEFJdUU7QUFFdkUsMkNBQXVDO0FBQ3ZDLGlDQUEwRDtBQVMxRCxNQUFhLGtCQUFtQixTQUFRLHNCQUFTO0lBTy9DOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BNEJHO0lBQ0gsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBMEM7UUFFMUMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQXdCLENBQUM7UUFDN0MsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQztRQUMvQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksaUVBQTZCLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXFCRztJQUNJLGVBQWUsQ0FDcEIsSUFBWSxFQUNaLEtBQXlCO1FBRXpCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLElBQUksbUJBQW1CLENBQUMsQ0FBQztTQUN6RDtRQUVELElBQUksTUFBTSxHQUFrQztZQUMxQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJO1lBQ3BDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDdkMsSUFBSSxFQUFFLElBQUk7WUFDVixRQUFRLEVBQUUsV0FBVztZQUNyQixHQUFHLEtBQUs7U0FDVCxDQUFDO1FBRUYsTUFBTSxPQUFPLEdBQUcsSUFBSSxtQkFBWSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFckQsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzlCLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRjtBQTNGRCxnREEyRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBTdG9yYWdlRGF0YUxha2VHZW4yRmlsZXN5c3RlbSxcbiAgU3RvcmFnZURhdGFMYWtlR2VuMkZpbGVzeXN0ZW1Db25maWcsXG4gIFN0b3JhZ2VEYXRhTGFrZUdlbjJGaWxlc3lzdGVtQWNlLFxufSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3N0b3JhZ2UtZGF0YS1sYWtlLWdlbjItZmlsZXN5c3RlbVwiO1xuaW1wb3J0IHsgU3RvcmFnZURhdGFMYWtlR2VuMlBhdGhDb25maWcgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3N0b3JhZ2UtZGF0YS1sYWtlLWdlbjItcGF0aFwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IERhdGFMYWtlUGF0aCwgRGF0YUxha2VQYXRoQ29uZmlnIH0gZnJvbSBcIi4vcGF0aFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFMYWtlRmlsZXN5c3RlbUNvbmZpZyB7XG4gIHJlYWRvbmx5IGdyb3VwPzogc3RyaW5nO1xuICByZWFkb25seSBvd25lcj86IHN0cmluZztcbiAgcmVhZG9ubHkgcHJvcGVydGllcz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIHJlYWRvbmx5IGFjZT86IFN0b3JhZ2VEYXRhTGFrZUdlbjJGaWxlc3lzdGVtQWNlW107XG59XG5cbmV4cG9ydCBjbGFzcyBEYXRhTGFrZUZpbGVzeXN0ZW0gZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgZmlsZXN5c3RlbTogU3RvcmFnZURhdGFMYWtlR2VuMkZpbGVzeXN0ZW07XG4gIHB1YmxpYyByZWFkb25seSBwYXRoczogTWFwPHN0cmluZywgRGF0YUxha2VQYXRoPjtcblxuICBwcml2YXRlIHN0b3JhZ2VBY2NvdW50SWQ6IHN0cmluZztcblxuICAvKipcbiAgICogUmVwcmVzZW50cyBhIGZpbGVzeXN0ZW0gd2l0aGluIEF6dXJlIERhdGEgTGFrZSBTdG9yYWdlIEdlbjIuXG4gICAqXG4gICAqIFRoaXMgY2xhc3MgbWFuYWdlcyB0aGUgbGlmZWN5Y2xlIGFuZCBjb25maWd1cmF0aW9uIG9mIGEgZmlsZXN5c3RlbSBpbiBBenVyZSBEYXRhIExha2UgR2VuMiwgd2hpY2ggaXMgdXNlZCB0byBzdG9yZSBkaXJlY3RvcmllcyBhbmQgZmlsZXNcbiAgICogaW4gYSBoaWVyYXJjaGljYWwgc3RydWN0dXJlLiBUaGlzIGNsYXNzIGFsbG93cyBmb3IgdGhlIGNyZWF0aW9uLCBjb25maWd1cmF0aW9uLCBhbmQgbWFuYWdlbWVudCBvZiBhY2Nlc3MgY29udHJvbHMgYW5kIHByb3BlcnRpZXMgYXNzb2NpYXRlZCB3aXRoIGEgZmlsZXN5c3RlbS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIC0gVGhlIHNjb3BlIGluIHdoaWNoIHRvIGRlZmluZSB0aGlzIGNvbnN0cnVjdCwgdHlwaWNhbGx5IHJlcHJlc2VudGluZyB0aGUgQ2xvdWQgRGV2ZWxvcG1lbnQgS2l0IChDREspIHN0YWNrLlxuICAgKiBAcGFyYW0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgaW5zdGFuY2Ugb2YgdGhlIGZpbGVzeXN0ZW0uXG4gICAqIEBwYXJhbSBwcm9wcyAtIENvbmZpZ3VyYXRpb24gcHJvcGVydGllcyBmb3IgdGhlIERhdGEgTGFrZSBHZW4yIGZpbGVzeXN0ZW0uIFRoZXNlIHByb3BlcnRpZXMgbWF5IGluY2x1ZGU6XG4gICAqICAgICAgICAgICAgICAgIC0gYG5hbWVgOiBUaGUgbmFtZSBvZiB0aGUgZmlsZXN5c3RlbS5cbiAgICogICAgICAgICAgICAgICAgLSBgc3RvcmFnZUFjY291bnRJZGA6IFRoZSBJRCBvZiB0aGUgQXp1cmUgU3RvcmFnZSBhY2NvdW50IHRoYXQgaG9zdHMgdGhlIGZpbGVzeXN0ZW0uXG4gICAqICAgICAgICAgICAgICAgIC0gYGRlZmF1bHRFbmNyeXB0aW9uU2NvcGVgOiBTcGVjaWZpZXMgdGhlIGRlZmF1bHQgZW5jcnlwdGlvbiBzY29wZSBmb3IgdGhlIGZpbGVzeXN0ZW0uXG4gICAqICAgICAgICAgICAgICAgIC0gYHByb3BlcnRpZXNgOiBBIGRpY3Rpb25hcnkgb2Ygc3RyaW5ncyByZXByZXNlbnRpbmcgcHJvcGVydGllcyB0byBhc3NvY2lhdGUgd2l0aCB0aGUgZmlsZXN5c3RlbS5cbiAgICogICAgICAgICAgICAgICAgLSBgYWNlYDogQW4gYXJyYXkgb2YgYWNjZXNzIGNvbnRyb2wgZXhwcmVzc2lvbnMgdG8gZGVmaW5lIHBlcm1pc3Npb25zIHdpdGhpbiB0aGUgZmlsZXN5c3RlbS5cbiAgICpcbiAgICogRXhhbXBsZSB1c2FnZTpcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBjb25zdCBkYXRhTGFrZUZpbGVzeXN0ZW0gPSBuZXcgU3RvcmFnZURhdGFMYWtlR2VuMkZpbGVzeXN0ZW0odGhpcywgJ215RmlsZXN5c3RlbScsIHtcbiAgICogICBuYW1lOiAnbXlkYXRhZmlsZXN5c3RlbScsXG4gICAqICAgc3RvcmFnZUFjY291bnRJZDogJ3N0b3JhZ2VfYWNjb3VudF9pZCcsXG4gICAqICAgZGVmYXVsdEVuY3J5cHRpb25TY29wZTogJ215LWVuY3J5cHRpb24tc2NvcGUnLFxuICAgKiAgIHByb3BlcnRpZXM6IHtcbiAgICogICAgIHByb3BlcnR5MTogJ3ZhbHVlMScsXG4gICAqICAgICBwcm9wZXJ0eTI6ICd2YWx1ZTInXG4gICAqICAgfVxuICAgKiB9KTtcbiAgICogYGBgXG4gICAqIFRoaXMgY2xhc3MgaW5pdGlhbGl6ZXMgYSBmaWxlc3lzdGVtIHdpdGggc3BlY2lmaWVkIGNvbmZpZ3VyYXRpb25zIHN1Y2ggYXMgbmFtZSwgc3RvcmFnZSBhY2NvdW50IElELCBhbmQgb3B0aW9uYWwgcHJvcGVydGllcyBsaWtlIGVuY3J5cHRpb24gc2NvcGUgYW5kIGN1c3RvbSBwcm9wZXJ0aWVzLlxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBTdG9yYWdlRGF0YUxha2VHZW4yRmlsZXN5c3RlbUNvbmZpZyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICB0aGlzLm5hbWUgPSBpZDtcbiAgICB0aGlzLnBhdGhzID0gbmV3IE1hcDxzdHJpbmcsIERhdGFMYWtlUGF0aD4oKTtcbiAgICB0aGlzLnN0b3JhZ2VBY2NvdW50SWQgPSBwcm9wcy5zdG9yYWdlQWNjb3VudElkO1xuICAgIHRoaXMuZmlsZXN5c3RlbSA9IG5ldyBTdG9yYWdlRGF0YUxha2VHZW4yRmlsZXN5c3RlbSh0aGlzLCBpZCwgcHJvcHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBuZXcgZGlyZWN0b3J5IG9yIGZpbGUgcGF0aCB0byB0aGUgZXhpc3RpbmcgRGF0YSBMYWtlIEdlbjIgZmlsZXN5c3RlbS5cbiAgICpcbiAgICogVGhpcyBtZXRob2QgYWxsb3dzIGZvciB0aGUgY3JlYXRpb24gb2YgYSBuZXcgcGF0aCwgd2hpY2ggY2FuIGJlIGVpdGhlciBhIGRpcmVjdG9yeSBvciBhIGZpbGUsIHdpdGhpbiB0aGUgZGVmaW5lZCBmaWxlc3lzdGVtIGluIEF6dXJlIERhdGEgTGFrZSBHZW4yLlxuICAgKiBFYWNoIHBhdGggaXMgY29uZmlndXJlZCB3aXRoIG9wdGlvbmFsIHByb3BlcnRpZXMgYW5kIGFjY2VzcyBjb250cm9scywgbWFraW5nIGl0IHBvc3NpYmxlIHRvIGZpbmVseSB0dW5lIHRoZSBwZXJtaXNzaW9ucyBhbmQgc2V0dGluZ3MgZm9yIGRhdGEgc3RvcmVkIGF0IHRoaXMgcGF0aC5cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgbmV3IHBhdGggdG8gY3JlYXRlIHdpdGhpbiB0aGUgZmlsZXN5c3RlbS4gVGhpcyBuYW1lIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgZmlsZXN5c3RlbS5cbiAgICogQHBhcmFtIHByb3BzIC0gQ29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzIGZvciB0aGUgbmV3IHBhdGgsIGluY2x1ZGluZyBhY2Nlc3MgY29udHJvbHMsIG93bmVyc2hpcCBkZXRhaWxzLCBhbmQgb3RoZXIgcmVsZXZhbnQgc2V0dGluZ3MuXG4gICAqIEByZXR1cm5zIFRoZSBuZXdseSBjcmVhdGVkIERhdGFMYWtlUGF0aCBpbnN0YW5jZSByZXByZXNlbnRpbmcgdGhlIHBhdGggd2l0aGluIHRoZSBmaWxlc3lzdGVtLlxuICAgKiBAdGhyb3dzIEVycm9yIGlmIGEgcGF0aCB3aXRoIHRoZSBzYW1lIG5hbWUgYWxyZWFkeSBleGlzdHMgaW4gdGhlIGZpbGVzeXN0ZW0uXG4gICAqXG4gICAqIEV4YW1wbGUgdXNhZ2U6XG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3QgcGF0aENvbmZpZyA9IHtcbiAgICogICBncm91cDogJ2RhdGFHcm91cCcsXG4gICAqICAgb3duZXI6ICdkYXRhT3duZXInLFxuICAgKiAgIGFjZTogW3sgaWQ6ICdhY2UxJywgdHlwZTogJ3VzZXInLCBwZXJtaXNzaW9uczogJ3J3eCcgfV1cbiAgICogfTtcbiAgICogY29uc3QgbmV3UGF0aCA9IGRhdGFMYWtlRmlsZXN5c3RlbS5hZGREYXRhTGFrZVBhdGgoJ25ld0RhdGFQYXRoJywgcGF0aENvbmZpZyk7XG4gICAqIGBgYFxuICAgKiBUaGlzIGV4YW1wbGUgZGVtb25zdHJhdGVzIGFkZGluZyBhIG5ldyBwYXRoICduZXdEYXRhUGF0aCcgdG8gdGhlIGZpbGVzeXN0ZW0gd2l0aCBzcGVjaWZpZWQgZ3JvdXAsIG93bmVyLCBhbmQgYWNjZXNzIGNvbnRyb2wgZW50cmllcy5cbiAgICovXG4gIHB1YmxpYyBhZGREYXRhTGFrZVBhdGgoXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIHByb3BzOiBEYXRhTGFrZVBhdGhDb25maWcsXG4gICk6IERhdGFMYWtlUGF0aCB7XG4gICAgaWYgKHRoaXMucGF0aHMuaGFzKG5hbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEZpbGVzeXN0ZW0gJyR7bmFtZX0nIGFscmVhZHkgZXhpc3RzLmApO1xuICAgIH1cblxuICAgIHZhciBjb25maWc6IFN0b3JhZ2VEYXRhTGFrZUdlbjJQYXRoQ29uZmlnID0ge1xuICAgICAgZmlsZXN5c3RlbU5hbWU6IHRoaXMuZmlsZXN5c3RlbS5uYW1lLFxuICAgICAgc3RvcmFnZUFjY291bnRJZDogdGhpcy5zdG9yYWdlQWNjb3VudElkLFxuICAgICAgcGF0aDogbmFtZSxcbiAgICAgIHJlc291cmNlOiBcImRpcmVjdG9yeVwiLFxuICAgICAgLi4ucHJvcHMsXG4gICAgfTtcblxuICAgIGNvbnN0IG5ld1BhdGggPSBuZXcgRGF0YUxha2VQYXRoKHRoaXMsIG5hbWUsIGNvbmZpZyk7XG5cbiAgICB0aGlzLnBhdGhzLnNldChuYW1lLCBuZXdQYXRoKTtcbiAgICByZXR1cm4gbmV3UGF0aDtcbiAgfVxufVxuIl19
|
|
@@ -8,5 +8,42 @@ export interface DataLakePathConfig {
|
|
|
8
8
|
export declare class DataLakePath extends Construct {
|
|
9
9
|
readonly name: string;
|
|
10
10
|
readonly filesystem: StorageDataLakeGen2Path;
|
|
11
|
+
/**
|
|
12
|
+
* Manages a specific path within an Azure Data Lake Storage Gen2 filesystem.
|
|
13
|
+
*
|
|
14
|
+
* This class provides functionality to configure and manage a data path within a Data Lake Gen2 filesystem,
|
|
15
|
+
* such as directories and files, with access control settings. It is used to create and manage the structure
|
|
16
|
+
* and security settings of data stored in Azure Data Lake Storage Gen2.
|
|
17
|
+
*
|
|
18
|
+
* @param scope - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
|
|
19
|
+
* @param id - The unique identifier for this instance of the Data Lake path. Typically, this is the name of the path.
|
|
20
|
+
* @param props - Configuration properties for the Data Lake Gen2 path. These properties may include:
|
|
21
|
+
* - `filesystemName`: The name of the filesystem within which this path is defined.
|
|
22
|
+
* - `path`: The specific path within the filesystem. This could represent a file or a directory.
|
|
23
|
+
* - `storageAccountId`: The ID of the Azure Storage account that hosts the filesystem.
|
|
24
|
+
* - `ace`: An array of access control expressions to define permissions for the path.
|
|
25
|
+
* - `owner`: The owner of the path for access control purposes.
|
|
26
|
+
* - `group`: The owning group for the path for access control purposes.
|
|
27
|
+
* - `resource`: Type of the resource, typically a file or directory.
|
|
28
|
+
*
|
|
29
|
+
* Example usage:
|
|
30
|
+
* ```typescript
|
|
31
|
+
* const dataLakePath = new DataLakePath(this, 'myDataPath', {
|
|
32
|
+
* filesystemName: 'myfilesystem',
|
|
33
|
+
* path: 'path/to/directory',
|
|
34
|
+
* storageAccountId: 'storage_account_id',
|
|
35
|
+
* owner: 'owner_id',
|
|
36
|
+
* group: 'group_id',
|
|
37
|
+
* ace: [{
|
|
38
|
+
* id: 'user_id',
|
|
39
|
+
* type: 'user',
|
|
40
|
+
* permissions: 'rwx',
|
|
41
|
+
* }],
|
|
42
|
+
* resource: 'directory'
|
|
43
|
+
* });
|
|
44
|
+
* ```
|
|
45
|
+
* This setup creates and manages a directory or a file path within a specified Data Lake Gen2 filesystem,
|
|
46
|
+
* applying the necessary permissions and access controls as configured.
|
|
47
|
+
*/
|
|
11
48
|
constructor(scope: Construct, id: string, props: StorageDataLakeGen2PathConfig);
|
|
12
49
|
}
|