@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
|
@@ -48,5 +48,42 @@ export interface DiagnosticSettingsProps extends BaseDiagnosticSettingsProps {
|
|
|
48
48
|
}
|
|
49
49
|
export declare class DiagnosticSettings extends Construct {
|
|
50
50
|
readonly props: DiagnosticSettingsProps;
|
|
51
|
+
/**
|
|
52
|
+
* Manages the diagnostic settings for monitoring Azure resources.
|
|
53
|
+
*
|
|
54
|
+
* This class is responsible for configuring Azure Monitor Diagnostic Settings to collect and route metrics and logs from
|
|
55
|
+
* Azure resources to monitoring and analytics services. Diagnostic settings can be applied to resources like VMs,
|
|
56
|
+
* App Services, and more, allowing collected data to be sent to Event Hubs, Log Analytics workspaces, or Azure Storage.
|
|
57
|
+
*
|
|
58
|
+
* @param scope - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
|
|
59
|
+
* @param id - The unique identifier for this instance of the diagnostic settings.
|
|
60
|
+
* @param props - Configuration properties for diagnostic settings. These properties include:
|
|
61
|
+
* - `name`: Optional. The name of the diagnostic settings. If not provided, a unique name will be generated.
|
|
62
|
+
* - `targetResourceId`: The ID of the Azure resource to which these diagnostic settings apply.
|
|
63
|
+
* - `storageAccountId`: Optional. The ID of the Azure Storage account to which logs and metrics are sent.
|
|
64
|
+
* - `eventhubAuthorizationRuleId`: Optional. The authorization rule ID for the Event Hub namespace.
|
|
65
|
+
* - `eventhubName`: Optional. The name of the Event Hub where metrics and logs will be sent.
|
|
66
|
+
* - `logAnalyticsWorkspaceId`: Optional. The ID of the Log Analytics workspace to which logs and metrics are sent.
|
|
67
|
+
* - `partnerSolutionId`: Optional. ID of a partner solution that configurations are fetched from.
|
|
68
|
+
* - `logCategories`: Optional. Categories of logs to collect.
|
|
69
|
+
* - `metricCategories`: Optional. Categories of metrics to collect.
|
|
70
|
+
* - `logAnalyticsDestinationType`: Optional. Specifies whether logs should be stored in a dedicated table or the
|
|
71
|
+
* legacy AzureDiagnostics table in the Log Analytics workspace.
|
|
72
|
+
*
|
|
73
|
+
* Example usage:
|
|
74
|
+
* ```typescript
|
|
75
|
+
* const resourceGroup = new ResourceGroup(this, 'ResourceGroup', { ... });
|
|
76
|
+
* const diagnostics = new DiagnosticSettings(this, 'MyDiagnostics', {
|
|
77
|
+
* name: 'example-diagnostics',
|
|
78
|
+
* targetResourceId: resourceGroup.id,
|
|
79
|
+
* logAnalyticsWorkspaceId: logAnalyticsWorkspace.id,
|
|
80
|
+
* storageAccountId: storageAccount.id,
|
|
81
|
+
* logCategories: ['Write', 'Delete'],
|
|
82
|
+
* metricCategories: ['AllMetrics']
|
|
83
|
+
* });
|
|
84
|
+
* ```
|
|
85
|
+
* This class configures the diagnostic settings to collect specific logs and metrics from the target resource and routes them
|
|
86
|
+
* to specified destinations such as Log Analytics, Storage Account, or Event Hubs.
|
|
87
|
+
*/
|
|
51
88
|
constructor(scope: Construct, id: string, props: DiagnosticSettingsProps);
|
|
52
89
|
}
|
|
@@ -7,6 +7,43 @@ const data_azurerm_monitor_diagnostic_categories_1 = require("@cdktf/provider-az
|
|
|
7
7
|
const monitor_diagnostic_setting_1 = require("@cdktf/provider-azurerm/lib/monitor-diagnostic-setting");
|
|
8
8
|
const constructs_1 = require("constructs");
|
|
9
9
|
class DiagnosticSettings extends constructs_1.Construct {
|
|
10
|
+
/**
|
|
11
|
+
* Manages the diagnostic settings for monitoring Azure resources.
|
|
12
|
+
*
|
|
13
|
+
* This class is responsible for configuring Azure Monitor Diagnostic Settings to collect and route metrics and logs from
|
|
14
|
+
* Azure resources to monitoring and analytics services. Diagnostic settings can be applied to resources like VMs,
|
|
15
|
+
* App Services, and more, allowing collected data to be sent to Event Hubs, Log Analytics workspaces, or Azure Storage.
|
|
16
|
+
*
|
|
17
|
+
* @param scope - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
|
|
18
|
+
* @param id - The unique identifier for this instance of the diagnostic settings.
|
|
19
|
+
* @param props - Configuration properties for diagnostic settings. These properties include:
|
|
20
|
+
* - `name`: Optional. The name of the diagnostic settings. If not provided, a unique name will be generated.
|
|
21
|
+
* - `targetResourceId`: The ID of the Azure resource to which these diagnostic settings apply.
|
|
22
|
+
* - `storageAccountId`: Optional. The ID of the Azure Storage account to which logs and metrics are sent.
|
|
23
|
+
* - `eventhubAuthorizationRuleId`: Optional. The authorization rule ID for the Event Hub namespace.
|
|
24
|
+
* - `eventhubName`: Optional. The name of the Event Hub where metrics and logs will be sent.
|
|
25
|
+
* - `logAnalyticsWorkspaceId`: Optional. The ID of the Log Analytics workspace to which logs and metrics are sent.
|
|
26
|
+
* - `partnerSolutionId`: Optional. ID of a partner solution that configurations are fetched from.
|
|
27
|
+
* - `logCategories`: Optional. Categories of logs to collect.
|
|
28
|
+
* - `metricCategories`: Optional. Categories of metrics to collect.
|
|
29
|
+
* - `logAnalyticsDestinationType`: Optional. Specifies whether logs should be stored in a dedicated table or the
|
|
30
|
+
* legacy AzureDiagnostics table in the Log Analytics workspace.
|
|
31
|
+
*
|
|
32
|
+
* Example usage:
|
|
33
|
+
* ```typescript
|
|
34
|
+
* const resourceGroup = new ResourceGroup(this, 'ResourceGroup', { ... });
|
|
35
|
+
* const diagnostics = new DiagnosticSettings(this, 'MyDiagnostics', {
|
|
36
|
+
* name: 'example-diagnostics',
|
|
37
|
+
* targetResourceId: resourceGroup.id,
|
|
38
|
+
* logAnalyticsWorkspaceId: logAnalyticsWorkspace.id,
|
|
39
|
+
* storageAccountId: storageAccount.id,
|
|
40
|
+
* logCategories: ['Write', 'Delete'],
|
|
41
|
+
* metricCategories: ['AllMetrics']
|
|
42
|
+
* });
|
|
43
|
+
* ```
|
|
44
|
+
* This class configures the diagnostic settings to collect specific logs and metrics from the target resource and routes them
|
|
45
|
+
* to specified destinations such as Log Analytics, Storage Account, or Event Hubs.
|
|
46
|
+
*/
|
|
10
47
|
constructor(scope, id, props) {
|
|
11
48
|
super(scope, id);
|
|
12
49
|
this.props = props;
|
|
@@ -42,5 +79,5 @@ class DiagnosticSettings extends constructs_1.Construct {
|
|
|
42
79
|
}
|
|
43
80
|
exports.DiagnosticSettings = DiagnosticSettings;
|
|
44
81
|
_a = JSII_RTTI_SYMBOL_1;
|
|
45
|
-
DiagnosticSettings[_a] = { fqn: "@microsoft/terraform-cdk-constructs.core_azure.DiagnosticSettings", version: "0.0.3-pre.
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhZ3NldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvcmUtYXp1cmUvbGliL2RpYWdzZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHVJQUFnSTtBQUNoSSx1R0FBa0c7QUFDbEcsMkNBQXVDO0FBc0R2QyxNQUFhLGtCQUFtQixTQUFRLHNCQUFTO0lBRy9DLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBOEI7UUFDdEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixrREFBa0Q7UUFDbEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxtRkFBc0MsQ0FDM0QsSUFBSSxFQUNKLGdCQUFnQixFQUNoQjtZQUNFLFVBQVUsRUFBRSxLQUFLLENBQUMsZ0JBQWdCO1NBQ25DLENBQ0YsQ0FBQztRQUVGLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxhQUFhLElBQUksVUFBVSxDQUFDLGdCQUFnQixDQUFDO1FBQ3pFLE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLGdCQUFnQixJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUM7UUFFdEUsTUFBTSxZQUFZLEdBQUcsSUFBSSxxREFBd0IsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFO1lBQ3RFLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxJQUFJLGNBQWM7WUFDbEMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQjtZQUN4QywyQkFBMkIsRUFBRSxLQUFLLENBQUMsMkJBQTJCO1lBQzlELGdCQUFnQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7WUFDeEMsdUJBQXVCLEVBQUUsS0FBSyxDQUFDLHVCQUF1QjtZQUN0RCwyQkFBMkIsRUFBRSxLQUFLLENBQUMsMkJBQTJCO1lBQzlELFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtZQUNoQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO1NBQzNDLENBQUMsQ0FBQztRQUVILFlBQVksQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUU7WUFDOUMsUUFBUSxFQUFFLGFBQWE7WUFDdkIsT0FBTyxFQUFFO2dCQUNQLFFBQVEsRUFBRSxzQkFBc0I7YUFDakM7U0FDRixDQUFDLENBQUM7UUFFSCxZQUFZLENBQUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFO1lBQ3pDLFFBQVEsRUFBRSxnQkFBZ0I7WUFDMUIsT0FBTyxFQUFFO2dCQUNQLFFBQVEsRUFBRSxpQkFBaUI7YUFDNUI7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOztBQTVDSCxnREE2Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhQXp1cmVybU1vbml0b3JEaWFnbm9zdGljQ2F0ZWdvcmllcyB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvZGF0YS1henVyZXJtLW1vbml0b3ItZGlhZ25vc3RpYy1jYXRlZ29yaWVzXCI7XG5pbXBvcnQgeyBNb25pdG9yRGlhZ25vc3RpY1NldHRpbmcgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL21vbml0b3ItZGlhZ25vc3RpYy1zZXR0aW5nXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VEaWFnbm9zdGljU2V0dGluZ3NQcm9wcyB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBkaWFnbm9zdGljIHNldHRpbmdzIHJlc291cmNlXG4gICAqL1xuICByZWFkb25seSBuYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvYXp1cmVybS8zLjcxLjAvZG9jcy9yZXNvdXJjZXMvbW9uaXRvcl9kaWFnbm9zdGljX3NldHRpbmcjZXZlbnRodWJfYXV0aG9yaXphdGlvbl9ydWxlX2lkIE1vbml0b3JEaWFnbm9zdGljU2V0dGluZyNldmVudGh1Yl9hdXRob3JpemF0aW9uX3J1bGVfaWR9XG4gICAqL1xuICByZWFkb25seSBldmVudGh1YkF1dGhvcml6YXRpb25SdWxlSWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvYXp1cmVybS8zLjcxLjAvZG9jcy9yZXNvdXJjZXMvbW9uaXRvcl9kaWFnbm9zdGljX3NldHRpbmcjZXZlbnRodWJfbmFtZSBNb25pdG9yRGlhZ25vc3RpY1NldHRpbmcjZXZlbnRodWJfbmFtZX1cbiAgICovXG4gIHJlYWRvbmx5IGV2ZW50aHViTmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC9henVyZXJtLzMuNzEuMC9kb2NzL3Jlc291cmNlcy9tb25pdG9yX2RpYWdub3N0aWNfc2V0dGluZyNwYXJ0bmVyX3NvbHV0aW9uX2lkIE1vbml0b3JEaWFnbm9zdGljU2V0dGluZyNwYXJ0bmVyX3NvbHV0aW9uX2lkfVxuICAgKi9cbiAgcmVhZG9ubHkgcGFydG5lclNvbHV0aW9uSWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvYXp1cmVybS8zLjcxLjAvZG9jcy9yZXNvdXJjZXMvbW9uaXRvcl9kaWFnbm9zdGljX3NldHRpbmcjc3RvcmFnZV9hY2NvdW50X2lkIE1vbml0b3JEaWFnbm9zdGljU2V0dGluZyNzdG9yYWdlX2FjY291bnRfaWR9XG4gICAqL1xuICByZWFkb25seSBzdG9yYWdlQWNjb3VudElkPzogc3RyaW5nO1xuICAvKipcbiAgICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL2F6dXJlcm0vMy43MS4wL2RvY3MvcmVzb3VyY2VzL21vbml0b3JfZGlhZ25vc3RpY19zZXR0aW5nI2xvZ19hbmFseXRpY3Nfd29ya3NwYWNlX2lkIE1vbml0b3JEaWFnbm9zdGljU2V0dGluZyNsb2dfYW5hbHl0aWNzX3dvcmtzcGFjZV9pZH1cbiAgICovXG4gIHJlYWRvbmx5IGxvZ0FuYWx5dGljc1dvcmtzcGFjZUlkPzogc3RyaW5nO1xuICAvKipcbiAgICogV2hlbiBzZXQgdG8gJ0RlZGljYXRlZCcgbG9ncyBzZW50IHRvIGEgTG9nIEFuYWx5dGljcyB3b3Jrc3BhY2VcbiAgICogd2lsbCBnbyBpbnRvIHJlc291cmNlIHNwZWNpZmljIHRhYmxlcywgaW5zdGVhZCBvZiB0aGUgbGVnYWN5IEF6dXJlRGlhZ25vc3RpY3MgdGFibGUuXG4gICAqL1xuICByZWFkb25seSBsb2dBbmFseXRpY3NEZXN0aW5hdGlvblR5cGU/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIExvZyBEaWFnbm9zdGljIGNhdGVnb3JpZXNcbiAgICogQGRlZmF1bHQgbnVsbFxuICAgKi9cbiAgcmVhZG9ubHkgbG9nQ2F0ZWdvcmllcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBEaWFnbm9zdGljIE1ldHJpY3NcbiAgICogQGRlZmF1bHQgbnVsbFxuICAgKi9cbiAgcmVhZG9ubHkgbWV0cmljQ2F0ZWdvcmllcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpYWdub3N0aWNTZXR0aW5nc1Byb3BzIGV4dGVuZHMgQmFzZURpYWdub3N0aWNTZXR0aW5nc1Byb3BzIHtcbiAgLyoqXG4gICAqIFRhcmdldCByZXNvdXJjZSBpZCB0byBlbmFibGUgZGlhZ25vc3RpYyBzZXR0aW5ncyBvblxuICAgKi9cbiAgcmVhZG9ubHkgdGFyZ2V0UmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgRGlhZ25vc3RpY1NldHRpbmdzIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcmVhZG9ubHkgcHJvcHM6IERpYWdub3N0aWNTZXR0aW5nc1Byb3BzO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEaWFnbm9zdGljU2V0dGluZ3NQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG5cbiAgICAvLyBHZXQgdGhlIGxpc3Qgb2YgYXZhaWxhYmxlIGRpYWdub3N0aWMgY2F0ZWdvcmllc1xuICAgIGNvbnN0IGNhdGVnb3JpZXMgPSBuZXcgRGF0YUF6dXJlcm1Nb25pdG9yRGlhZ25vc3RpY0NhdGVnb3JpZXMoXG4gICAgICB0aGlzLFxuICAgICAgXCJkaWFnY2F0ZWdvcmllc1wiLFxuICAgICAge1xuICAgICAgICByZXNvdXJjZUlkOiBwcm9wcy50YXJnZXRSZXNvdXJjZUlkLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgY29uc3QgbG9nQ2F0ZWdvcmllcyA9IHByb3BzLmxvZ0NhdGVnb3JpZXMgPz8gY2F0ZWdvcmllcy5sb2dDYXRlZ29yeVR5cGVzO1xuICAgIGNvbnN0IG1ldHJpY0NhdGVnb3JpZXMgPSBwcm9wcy5tZXRyaWNDYXRlZ29yaWVzID8/IGNhdGVnb3JpZXMubWV0cmljcztcblxuICAgIGNvbnN0IGRpYWdzZXR0aW5ncyA9IG5ldyBNb25pdG9yRGlhZ25vc3RpY1NldHRpbmcodGhpcywgXCJkaWFnc2V0dGluZ3NcIiwge1xuICAgICAgbmFtZTogcHJvcHMubmFtZSB8fCBcImRpYWdzZXR0aW5nc1wiLFxuICAgICAgdGFyZ2V0UmVzb3VyY2VJZDogcHJvcHMudGFyZ2V0UmVzb3VyY2VJZCxcbiAgICAgIGxvZ0FuYWx5dGljc0Rlc3RpbmF0aW9uVHlwZTogcHJvcHMubG9nQW5hbHl0aWNzRGVzdGluYXRpb25UeXBlLFxuICAgICAgc3RvcmFnZUFjY291bnRJZDogcHJvcHMuc3RvcmFnZUFjY291bnRJZCxcbiAgICAgIGxvZ0FuYWx5dGljc1dvcmtzcGFjZUlkOiBwcm9wcy5sb2dBbmFseXRpY3NXb3Jrc3BhY2VJZCxcbiAgICAgIGV2ZW50aHViQXV0aG9yaXphdGlvblJ1bGVJZDogcHJvcHMuZXZlbnRodWJBdXRob3JpemF0aW9uUnVsZUlkLFxuICAgICAgZXZlbnRodWJOYW1lOiBwcm9wcy5ldmVudGh1Yk5hbWUsXG4gICAgICBwYXJ0bmVyU29sdXRpb25JZDogcHJvcHMucGFydG5lclNvbHV0aW9uSWQsXG4gICAgfSk7XG5cbiAgICBkaWFnc2V0dGluZ3MuYWRkT3ZlcnJpZGUoXCJkeW5hbWljLmVuYWJsZWRfbG9nXCIsIHtcbiAgICAgIGZvcl9lYWNoOiBsb2dDYXRlZ29yaWVzLFxuICAgICAgY29udGVudDoge1xuICAgICAgICBjYXRlZ29yeTogXCIke2VuYWJsZWRfbG9nLnZhbHVlfVwiLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGRpYWdzZXR0aW5ncy5hZGRPdmVycmlkZShcImR5bmFtaWMubWV0cmljXCIsIHtcbiAgICAgIGZvcl9lYWNoOiBtZXRyaWNDYXRlZ29yaWVzLFxuICAgICAgY29udGVudDoge1xuICAgICAgICBjYXRlZ29yeTogXCIke21ldHJpYy52YWx1ZX1cIixcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
82
|
+
DiagnosticSettings[_a] = { fqn: "@microsoft/terraform-cdk-constructs.core_azure.DiagnosticSettings", version: "0.0.3-pre.7" };
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhZ3NldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvcmUtYXp1cmUvbGliL2RpYWdzZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHVJQUFnSTtBQUNoSSx1R0FBa0c7QUFDbEcsMkNBQXVDO0FBc0R2QyxNQUFhLGtCQUFtQixTQUFRLHNCQUFTO0lBRS9DOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FvQ0c7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQThCO1FBQ3RFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFbkIsa0RBQWtEO1FBQ2xELE1BQU0sVUFBVSxHQUFHLElBQUksbUZBQXNDLENBQzNELElBQUksRUFDSixnQkFBZ0IsRUFDaEI7WUFDRSxVQUFVLEVBQUUsS0FBSyxDQUFDLGdCQUFnQjtTQUNuQyxDQUNGLENBQUM7UUFFRixNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsYUFBYSxJQUFJLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQztRQUN6RSxNQUFNLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxnQkFBZ0IsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDO1FBRXRFLE1BQU0sWUFBWSxHQUFHLElBQUkscURBQXdCLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtZQUN0RSxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksSUFBSSxjQUFjO1lBQ2xDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7WUFDeEMsMkJBQTJCLEVBQUUsS0FBSyxDQUFDLDJCQUEyQjtZQUM5RCxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsZ0JBQWdCO1lBQ3hDLHVCQUF1QixFQUFFLEtBQUssQ0FBQyx1QkFBdUI7WUFDdEQsMkJBQTJCLEVBQUUsS0FBSyxDQUFDLDJCQUEyQjtZQUM5RCxZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVk7WUFDaEMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQjtTQUMzQyxDQUFDLENBQUM7UUFFSCxZQUFZLENBQUMsV0FBVyxDQUFDLHFCQUFxQixFQUFFO1lBQzlDLFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLE9BQU8sRUFBRTtnQkFDUCxRQUFRLEVBQUUsc0JBQXNCO2FBQ2pDO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsWUFBWSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRTtZQUN6QyxRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLE9BQU8sRUFBRTtnQkFDUCxRQUFRLEVBQUUsaUJBQWlCO2FBQzVCO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFoRkgsZ0RBaUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YUF6dXJlcm1Nb25pdG9yRGlhZ25vc3RpY0NhdGVnb3JpZXMgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL2RhdGEtYXp1cmVybS1tb25pdG9yLWRpYWdub3N0aWMtY2F0ZWdvcmllc1wiO1xuaW1wb3J0IHsgTW9uaXRvckRpYWdub3N0aWNTZXR0aW5nIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9tb25pdG9yLWRpYWdub3N0aWMtc2V0dGluZ1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBCYXNlRGlhZ25vc3RpY1NldHRpbmdzUHJvcHMge1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgZGlhZ25vc3RpYyBzZXR0aW5ncyByZXNvdXJjZVxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL2F6dXJlcm0vMy43MS4wL2RvY3MvcmVzb3VyY2VzL21vbml0b3JfZGlhZ25vc3RpY19zZXR0aW5nI2V2ZW50aHViX2F1dGhvcml6YXRpb25fcnVsZV9pZCBNb25pdG9yRGlhZ25vc3RpY1NldHRpbmcjZXZlbnRodWJfYXV0aG9yaXphdGlvbl9ydWxlX2lkfVxuICAgKi9cbiAgcmVhZG9ubHkgZXZlbnRodWJBdXRob3JpemF0aW9uUnVsZUlkPzogc3RyaW5nO1xuICAvKipcbiAgICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL2F6dXJlcm0vMy43MS4wL2RvY3MvcmVzb3VyY2VzL21vbml0b3JfZGlhZ25vc3RpY19zZXR0aW5nI2V2ZW50aHViX25hbWUgTW9uaXRvckRpYWdub3N0aWNTZXR0aW5nI2V2ZW50aHViX25hbWV9XG4gICAqL1xuICByZWFkb25seSBldmVudGh1Yk5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvYXp1cmVybS8zLjcxLjAvZG9jcy9yZXNvdXJjZXMvbW9uaXRvcl9kaWFnbm9zdGljX3NldHRpbmcjcGFydG5lcl9zb2x1dGlvbl9pZCBNb25pdG9yRGlhZ25vc3RpY1NldHRpbmcjcGFydG5lcl9zb2x1dGlvbl9pZH1cbiAgICovXG4gIHJlYWRvbmx5IHBhcnRuZXJTb2x1dGlvbklkPzogc3RyaW5nO1xuICAvKipcbiAgICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL2F6dXJlcm0vMy43MS4wL2RvY3MvcmVzb3VyY2VzL21vbml0b3JfZGlhZ25vc3RpY19zZXR0aW5nI3N0b3JhZ2VfYWNjb3VudF9pZCBNb25pdG9yRGlhZ25vc3RpY1NldHRpbmcjc3RvcmFnZV9hY2NvdW50X2lkfVxuICAgKi9cbiAgcmVhZG9ubHkgc3RvcmFnZUFjY291bnRJZD86IHN0cmluZztcbiAgLyoqXG4gICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC9henVyZXJtLzMuNzEuMC9kb2NzL3Jlc291cmNlcy9tb25pdG9yX2RpYWdub3N0aWNfc2V0dGluZyNsb2dfYW5hbHl0aWNzX3dvcmtzcGFjZV9pZCBNb25pdG9yRGlhZ25vc3RpY1NldHRpbmcjbG9nX2FuYWx5dGljc193b3Jrc3BhY2VfaWR9XG4gICAqL1xuICByZWFkb25seSBsb2dBbmFseXRpY3NXb3Jrc3BhY2VJZD86IHN0cmluZztcbiAgLyoqXG4gICAqIFdoZW4gc2V0IHRvICdEZWRpY2F0ZWQnIGxvZ3Mgc2VudCB0byBhIExvZyBBbmFseXRpY3Mgd29ya3NwYWNlXG4gICAqIHdpbGwgZ28gaW50byByZXNvdXJjZSBzcGVjaWZpYyB0YWJsZXMsIGluc3RlYWQgb2YgdGhlIGxlZ2FjeSBBenVyZURpYWdub3N0aWNzIHRhYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgbG9nQW5hbHl0aWNzRGVzdGluYXRpb25UeXBlPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBMb2cgRGlhZ25vc3RpYyBjYXRlZ29yaWVzXG4gICAqIEBkZWZhdWx0IG51bGxcbiAgICovXG4gIHJlYWRvbmx5IGxvZ0NhdGVnb3JpZXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogRGlhZ25vc3RpYyBNZXRyaWNzXG4gICAqIEBkZWZhdWx0IG51bGxcbiAgICovXG4gIHJlYWRvbmx5IG1ldHJpY0NhdGVnb3JpZXM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaWFnbm9zdGljU2V0dGluZ3NQcm9wcyBleHRlbmRzIEJhc2VEaWFnbm9zdGljU2V0dGluZ3NQcm9wcyB7XG4gIC8qKlxuICAgKiBUYXJnZXQgcmVzb3VyY2UgaWQgdG8gZW5hYmxlIGRpYWdub3N0aWMgc2V0dGluZ3Mgb25cbiAgICovXG4gIHJlYWRvbmx5IHRhcmdldFJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIERpYWdub3N0aWNTZXR0aW5ncyBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHJlYWRvbmx5IHByb3BzOiBEaWFnbm9zdGljU2V0dGluZ3NQcm9wcztcbiAgLyoqXG4gICAqIE1hbmFnZXMgdGhlIGRpYWdub3N0aWMgc2V0dGluZ3MgZm9yIG1vbml0b3JpbmcgQXp1cmUgcmVzb3VyY2VzLlxuICAgKlxuICAgKiBUaGlzIGNsYXNzIGlzIHJlc3BvbnNpYmxlIGZvciBjb25maWd1cmluZyBBenVyZSBNb25pdG9yIERpYWdub3N0aWMgU2V0dGluZ3MgdG8gY29sbGVjdCBhbmQgcm91dGUgbWV0cmljcyBhbmQgbG9ncyBmcm9tXG4gICAqIEF6dXJlIHJlc291cmNlcyB0byBtb25pdG9yaW5nIGFuZCBhbmFseXRpY3Mgc2VydmljZXMuIERpYWdub3N0aWMgc2V0dGluZ3MgY2FuIGJlIGFwcGxpZWQgdG8gcmVzb3VyY2VzIGxpa2UgVk1zLFxuICAgKiBBcHAgU2VydmljZXMsIGFuZCBtb3JlLCBhbGxvd2luZyBjb2xsZWN0ZWQgZGF0YSB0byBiZSBzZW50IHRvIEV2ZW50IEh1YnMsIExvZyBBbmFseXRpY3Mgd29ya3NwYWNlcywgb3IgQXp1cmUgU3RvcmFnZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIC0gVGhlIHNjb3BlIGluIHdoaWNoIHRvIGRlZmluZSB0aGlzIGNvbnN0cnVjdCwgdHlwaWNhbGx5IHJlcHJlc2VudGluZyB0aGUgQ2xvdWQgRGV2ZWxvcG1lbnQgS2l0IChDREspIHN0YWNrLlxuICAgKiBAcGFyYW0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgaW5zdGFuY2Ugb2YgdGhlIGRpYWdub3N0aWMgc2V0dGluZ3MuXG4gICAqIEBwYXJhbSBwcm9wcyAtIENvbmZpZ3VyYXRpb24gcHJvcGVydGllcyBmb3IgZGlhZ25vc3RpYyBzZXR0aW5ncy4gVGhlc2UgcHJvcGVydGllcyBpbmNsdWRlOlxuICAgKiAgICAgICAgICAgICAgICAtIGBuYW1lYDogT3B0aW9uYWwuIFRoZSBuYW1lIG9mIHRoZSBkaWFnbm9zdGljIHNldHRpbmdzLiBJZiBub3QgcHJvdmlkZWQsIGEgdW5pcXVlIG5hbWUgd2lsbCBiZSBnZW5lcmF0ZWQuXG4gICAqICAgICAgICAgICAgICAgIC0gYHRhcmdldFJlc291cmNlSWRgOiBUaGUgSUQgb2YgdGhlIEF6dXJlIHJlc291cmNlIHRvIHdoaWNoIHRoZXNlIGRpYWdub3N0aWMgc2V0dGluZ3MgYXBwbHkuXG4gICAqICAgICAgICAgICAgICAgIC0gYHN0b3JhZ2VBY2NvdW50SWRgOiBPcHRpb25hbC4gVGhlIElEIG9mIHRoZSBBenVyZSBTdG9yYWdlIGFjY291bnQgdG8gd2hpY2ggbG9ncyBhbmQgbWV0cmljcyBhcmUgc2VudC5cbiAgICogICAgICAgICAgICAgICAgLSBgZXZlbnRodWJBdXRob3JpemF0aW9uUnVsZUlkYDogT3B0aW9uYWwuIFRoZSBhdXRob3JpemF0aW9uIHJ1bGUgSUQgZm9yIHRoZSBFdmVudCBIdWIgbmFtZXNwYWNlLlxuICAgKiAgICAgICAgICAgICAgICAtIGBldmVudGh1Yk5hbWVgOiBPcHRpb25hbC4gVGhlIG5hbWUgb2YgdGhlIEV2ZW50IEh1YiB3aGVyZSBtZXRyaWNzIGFuZCBsb2dzIHdpbGwgYmUgc2VudC5cbiAgICogICAgICAgICAgICAgICAgLSBgbG9nQW5hbHl0aWNzV29ya3NwYWNlSWRgOiBPcHRpb25hbC4gVGhlIElEIG9mIHRoZSBMb2cgQW5hbHl0aWNzIHdvcmtzcGFjZSB0byB3aGljaCBsb2dzIGFuZCBtZXRyaWNzIGFyZSBzZW50LlxuICAgKiAgICAgICAgICAgICAgICAtIGBwYXJ0bmVyU29sdXRpb25JZGA6IE9wdGlvbmFsLiBJRCBvZiBhIHBhcnRuZXIgc29sdXRpb24gdGhhdCBjb25maWd1cmF0aW9ucyBhcmUgZmV0Y2hlZCBmcm9tLlxuICAgKiAgICAgICAgICAgICAgICAtIGBsb2dDYXRlZ29yaWVzYDogT3B0aW9uYWwuIENhdGVnb3JpZXMgb2YgbG9ncyB0byBjb2xsZWN0LlxuICAgKiAgICAgICAgICAgICAgICAtIGBtZXRyaWNDYXRlZ29yaWVzYDogT3B0aW9uYWwuIENhdGVnb3JpZXMgb2YgbWV0cmljcyB0byBjb2xsZWN0LlxuICAgKiAgICAgICAgICAgICAgICAtIGBsb2dBbmFseXRpY3NEZXN0aW5hdGlvblR5cGVgOiBPcHRpb25hbC4gU3BlY2lmaWVzIHdoZXRoZXIgbG9ncyBzaG91bGQgYmUgc3RvcmVkIGluIGEgZGVkaWNhdGVkIHRhYmxlIG9yIHRoZVxuICAgKiAgICAgICAgICAgICAgICAgIGxlZ2FjeSBBenVyZURpYWdub3N0aWNzIHRhYmxlIGluIHRoZSBMb2cgQW5hbHl0aWNzIHdvcmtzcGFjZS5cbiAgICpcbiAgICogRXhhbXBsZSB1c2FnZTpcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBjb25zdCByZXNvdXJjZUdyb3VwID0gbmV3IFJlc291cmNlR3JvdXAodGhpcywgJ1Jlc291cmNlR3JvdXAnLCB7IC4uLiB9KTtcbiAgICogY29uc3QgZGlhZ25vc3RpY3MgPSBuZXcgRGlhZ25vc3RpY1NldHRpbmdzKHRoaXMsICdNeURpYWdub3N0aWNzJywge1xuICAgKiAgIG5hbWU6ICdleGFtcGxlLWRpYWdub3N0aWNzJyxcbiAgICogICB0YXJnZXRSZXNvdXJjZUlkOiByZXNvdXJjZUdyb3VwLmlkLFxuICAgKiAgIGxvZ0FuYWx5dGljc1dvcmtzcGFjZUlkOiBsb2dBbmFseXRpY3NXb3Jrc3BhY2UuaWQsXG4gICAqICAgc3RvcmFnZUFjY291bnRJZDogc3RvcmFnZUFjY291bnQuaWQsXG4gICAqICAgbG9nQ2F0ZWdvcmllczogWydXcml0ZScsICdEZWxldGUnXSxcbiAgICogICBtZXRyaWNDYXRlZ29yaWVzOiBbJ0FsbE1ldHJpY3MnXVxuICAgKiB9KTtcbiAgICogYGBgXG4gICAqIFRoaXMgY2xhc3MgY29uZmlndXJlcyB0aGUgZGlhZ25vc3RpYyBzZXR0aW5ncyB0byBjb2xsZWN0IHNwZWNpZmljIGxvZ3MgYW5kIG1ldHJpY3MgZnJvbSB0aGUgdGFyZ2V0IHJlc291cmNlIGFuZCByb3V0ZXMgdGhlbVxuICAgKiB0byBzcGVjaWZpZWQgZGVzdGluYXRpb25zIHN1Y2ggYXMgTG9nIEFuYWx5dGljcywgU3RvcmFnZSBBY2NvdW50LCBvciBFdmVudCBIdWJzLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERpYWdub3N0aWNTZXR0aW5nc1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcblxuICAgIC8vIEdldCB0aGUgbGlzdCBvZiBhdmFpbGFibGUgZGlhZ25vc3RpYyBjYXRlZ29yaWVzXG4gICAgY29uc3QgY2F0ZWdvcmllcyA9IG5ldyBEYXRhQXp1cmVybU1vbml0b3JEaWFnbm9zdGljQ2F0ZWdvcmllcyhcbiAgICAgIHRoaXMsXG4gICAgICBcImRpYWdjYXRlZ29yaWVzXCIsXG4gICAgICB7XG4gICAgICAgIHJlc291cmNlSWQ6IHByb3BzLnRhcmdldFJlc291cmNlSWQsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBjb25zdCBsb2dDYXRlZ29yaWVzID0gcHJvcHMubG9nQ2F0ZWdvcmllcyA/PyBjYXRlZ29yaWVzLmxvZ0NhdGVnb3J5VHlwZXM7XG4gICAgY29uc3QgbWV0cmljQ2F0ZWdvcmllcyA9IHByb3BzLm1ldHJpY0NhdGVnb3JpZXMgPz8gY2F0ZWdvcmllcy5tZXRyaWNzO1xuXG4gICAgY29uc3QgZGlhZ3NldHRpbmdzID0gbmV3IE1vbml0b3JEaWFnbm9zdGljU2V0dGluZyh0aGlzLCBcImRpYWdzZXR0aW5nc1wiLCB7XG4gICAgICBuYW1lOiBwcm9wcy5uYW1lIHx8IFwiZGlhZ3NldHRpbmdzXCIsXG4gICAgICB0YXJnZXRSZXNvdXJjZUlkOiBwcm9wcy50YXJnZXRSZXNvdXJjZUlkLFxuICAgICAgbG9nQW5hbHl0aWNzRGVzdGluYXRpb25UeXBlOiBwcm9wcy5sb2dBbmFseXRpY3NEZXN0aW5hdGlvblR5cGUsXG4gICAgICBzdG9yYWdlQWNjb3VudElkOiBwcm9wcy5zdG9yYWdlQWNjb3VudElkLFxuICAgICAgbG9nQW5hbHl0aWNzV29ya3NwYWNlSWQ6IHByb3BzLmxvZ0FuYWx5dGljc1dvcmtzcGFjZUlkLFxuICAgICAgZXZlbnRodWJBdXRob3JpemF0aW9uUnVsZUlkOiBwcm9wcy5ldmVudGh1YkF1dGhvcml6YXRpb25SdWxlSWQsXG4gICAgICBldmVudGh1Yk5hbWU6IHByb3BzLmV2ZW50aHViTmFtZSxcbiAgICAgIHBhcnRuZXJTb2x1dGlvbklkOiBwcm9wcy5wYXJ0bmVyU29sdXRpb25JZCxcbiAgICB9KTtcblxuICAgIGRpYWdzZXR0aW5ncy5hZGRPdmVycmlkZShcImR5bmFtaWMuZW5hYmxlZF9sb2dcIiwge1xuICAgICAgZm9yX2VhY2g6IGxvZ0NhdGVnb3JpZXMsXG4gICAgICBjb250ZW50OiB7XG4gICAgICAgIGNhdGVnb3J5OiBcIiR7ZW5hYmxlZF9sb2cudmFsdWV9XCIsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgZGlhZ3NldHRpbmdzLmFkZE92ZXJyaWRlKFwiZHluYW1pYy5tZXRyaWNcIiwge1xuICAgICAgZm9yX2VhY2g6IG1ldHJpY0NhdGVnb3JpZXMsXG4gICAgICBjb250ZW50OiB7XG4gICAgICAgIGNhdGVnb3J5OiBcIiR7bWV0cmljLnZhbHVlfVwiLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -22,11 +22,29 @@ export interface RbacProps {
|
|
|
22
22
|
}
|
|
23
23
|
export declare class Rbac extends Construct {
|
|
24
24
|
/**
|
|
25
|
-
*
|
|
25
|
+
* Manages Role-Based Access Control (RBAC) assignments within Azure.
|
|
26
26
|
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
27
|
+
* This class is responsible for creating and managing RBAC role assignments in Azure, which control permissions for Azure AD
|
|
28
|
+
* identities to manage Azure resources. It supports assigning roles at different scopes such as subscriptions, resource groups,
|
|
29
|
+
* or specific resources.
|
|
30
|
+
*
|
|
31
|
+
* @param scope - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
|
|
32
|
+
* @param id - The unique identifier for this instance of the RBAC assignment.
|
|
33
|
+
* @param props - Configuration properties for the RBAC assignment. These properties include:
|
|
34
|
+
* - `objectId`: The Azure AD object ID for the user, group, or service principal to which the role is assigned.
|
|
35
|
+
* - `roleDefinitionUUID`: Optional. The UUID of the Azure RBAC role definition. This can be obtained via Azure CLI.
|
|
36
|
+
* - `roleDefinitionName`: The name of the role to be assigned, such as 'Contributor', 'Reader', or 'Owner'.
|
|
37
|
+
* - `scope`: The scope at which the role is assigned, which could be a subscription, resource group, or specific resource.
|
|
38
|
+
*
|
|
39
|
+
* Example usage:
|
|
40
|
+
* ```typescript
|
|
41
|
+
* const rbac = new Rbac(this, 'rbacAssignment', {
|
|
42
|
+
* objectId: 'user-or-group-object-id',
|
|
43
|
+
* roleDefinitionName: 'Contributor',
|
|
44
|
+
* scope: '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}'
|
|
45
|
+
* });
|
|
46
|
+
* ```
|
|
47
|
+
* This RBAC instance assigns the 'Contributor' role to a user or group specified by 'objectId' at the scope of a specific resource group.
|
|
30
48
|
*/
|
|
31
49
|
constructor(scope: Construct, id: string, props: RbacProps);
|
|
32
50
|
}
|
|
@@ -7,11 +7,29 @@ const role_assignment_1 = require("@cdktf/provider-azurerm/lib/role-assignment")
|
|
|
7
7
|
const constructs_1 = require("constructs");
|
|
8
8
|
class Rbac extends constructs_1.Construct {
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* Manages Role-Based Access Control (RBAC) assignments within Azure.
|
|
11
11
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
12
|
+
* This class is responsible for creating and managing RBAC role assignments in Azure, which control permissions for Azure AD
|
|
13
|
+
* identities to manage Azure resources. It supports assigning roles at different scopes such as subscriptions, resource groups,
|
|
14
|
+
* or specific resources.
|
|
15
|
+
*
|
|
16
|
+
* @param scope - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
|
|
17
|
+
* @param id - The unique identifier for this instance of the RBAC assignment.
|
|
18
|
+
* @param props - Configuration properties for the RBAC assignment. These properties include:
|
|
19
|
+
* - `objectId`: The Azure AD object ID for the user, group, or service principal to which the role is assigned.
|
|
20
|
+
* - `roleDefinitionUUID`: Optional. The UUID of the Azure RBAC role definition. This can be obtained via Azure CLI.
|
|
21
|
+
* - `roleDefinitionName`: The name of the role to be assigned, such as 'Contributor', 'Reader', or 'Owner'.
|
|
22
|
+
* - `scope`: The scope at which the role is assigned, which could be a subscription, resource group, or specific resource.
|
|
23
|
+
*
|
|
24
|
+
* Example usage:
|
|
25
|
+
* ```typescript
|
|
26
|
+
* const rbac = new Rbac(this, 'rbacAssignment', {
|
|
27
|
+
* objectId: 'user-or-group-object-id',
|
|
28
|
+
* roleDefinitionName: 'Contributor',
|
|
29
|
+
* scope: '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}'
|
|
30
|
+
* });
|
|
31
|
+
* ```
|
|
32
|
+
* This RBAC instance assigns the 'Contributor' role to a user or group specified by 'objectId' at the scope of a specific resource group.
|
|
15
33
|
*/
|
|
16
34
|
constructor(scope, id, props) {
|
|
17
35
|
super(scope, id);
|
|
@@ -26,5 +44,5 @@ class Rbac extends constructs_1.Construct {
|
|
|
26
44
|
}
|
|
27
45
|
exports.Rbac = Rbac;
|
|
28
46
|
_a = JSII_RTTI_SYMBOL_1;
|
|
29
|
-
Rbac[_a] = { fqn: "@microsoft/terraform-cdk-constructs.core_azure.Rbac", version: "0.0.3-pre.
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
Rbac[_a] = { fqn: "@microsoft/terraform-cdk-constructs.core_azure.Rbac", version: "0.0.3-pre.7" };
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmJhYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb3JlLWF6dXJlL2xpYi9yYmFjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsaUZBQTZFO0FBQzdFLDJDQUF1QztBQTJCdkMsTUFBYSxJQUFLLFNBQVEsc0JBQVM7SUFDakM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXdCRztJQUNILFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBZ0I7UUFDeEQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQiw4REFBOEQ7UUFDOUQsSUFBSSxnQ0FBYyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDL0IsSUFBSSxFQUFFLEtBQUssQ0FBQyxrQkFBa0I7WUFDOUIsV0FBVyxFQUFFLEtBQUssQ0FBQyxRQUFRO1lBQzNCLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxrQkFBa0I7WUFDNUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO1NBQ25CLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBcENILG9CQXFDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvbGVBc3NpZ25tZW50IH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9yb2xlLWFzc2lnbm1lbnRcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmJhY1Byb3BzIHtcbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3Igb2JqZWN0cyBpbiBBenVyZSBBRCwgc3VjaCBhcyB1c2VycywgZ3JvdXBzLCBvciBzZXJ2aWNlIHByaW5jaXBhbHMuXG4gICAqL1xuICByZWFkb25seSBvYmplY3RJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdW5pdmVyc2FsbHkgdW5pcXVlIGlkZW50aWZpZXIgKFVVSUQpIGZvciB0aGUgQXp1cmUgUkJBQyByb2xlIGRlZmluaXRpb24uXG4gICAqIFRvIGZpbmQgdGhlIFVVSUQgZm9yIGEgcm9sZSB1c2luZyBBenVyZSBDTEksIHVzZSB0aGUgY29tbWFuZDpcbiAgICogYGF6IHJvbGUgZGVmaW5pdGlvbiBsaXN0IC0tbmFtZSBcIlJvbGUgTmFtZVwiIC0tcXVlcnkgXCJbXS5uYW1lXCIgLW8gdHN2YFxuICAgKi9cbiAgcmVhZG9ubHkgcm9sZURlZmluaXRpb25VVUlEPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgaHVtYW4tcmVhZGFibGUgbmFtZSBvZiB0aGUgQXp1cmUgUkJBQyByb2xlLCBlLmcuLCBcIlZpcnR1YWwgTWFjaGluZSBDb250cmlidXRvclwiLlxuICAgKi9cbiAgcmVhZG9ubHkgcm9sZURlZmluaXRpb25OYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzY29wZSBhdCB3aGljaCB0aGUgUkJBQyByb2xlIGFzc2lnbm1lbnQgaXMgYXBwbGllZC5cbiAgICogVGhpcyBjb3VsZCBiZSBhIHN1YnNjcmlwdGlvbiwgcmVzb3VyY2UgZ3JvdXAsIG9yIGEgc3BlY2lmaWMgcmVzb3VyY2UuXG4gICAqL1xuICByZWFkb25seSBzY29wZTogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgUmJhYyBleHRlbmRzIENvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBNYW5hZ2VzIFJvbGUtQmFzZWQgQWNjZXNzIENvbnRyb2wgKFJCQUMpIGFzc2lnbm1lbnRzIHdpdGhpbiBBenVyZS5cbiAgICpcbiAgICogVGhpcyBjbGFzcyBpcyByZXNwb25zaWJsZSBmb3IgY3JlYXRpbmcgYW5kIG1hbmFnaW5nIFJCQUMgcm9sZSBhc3NpZ25tZW50cyBpbiBBenVyZSwgd2hpY2ggY29udHJvbCBwZXJtaXNzaW9ucyBmb3IgQXp1cmUgQURcbiAgICogaWRlbnRpdGllcyB0byBtYW5hZ2UgQXp1cmUgcmVzb3VyY2VzLiBJdCBzdXBwb3J0cyBhc3NpZ25pbmcgcm9sZXMgYXQgZGlmZmVyZW50IHNjb3BlcyBzdWNoIGFzIHN1YnNjcmlwdGlvbnMsIHJlc291cmNlIGdyb3VwcyxcbiAgICogb3Igc3BlY2lmaWMgcmVzb3VyY2VzLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgLSBUaGUgc2NvcGUgaW4gd2hpY2ggdG8gZGVmaW5lIHRoaXMgY29uc3RydWN0LCB0eXBpY2FsbHkgcmVwcmVzZW50aW5nIHRoZSBDbG91ZCBEZXZlbG9wbWVudCBLaXQgKENESykgc3RhY2suXG4gICAqIEBwYXJhbSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBpbnN0YW5jZSBvZiB0aGUgUkJBQyBhc3NpZ25tZW50LlxuICAgKiBAcGFyYW0gcHJvcHMgLSBDb25maWd1cmF0aW9uIHByb3BlcnRpZXMgZm9yIHRoZSBSQkFDIGFzc2lnbm1lbnQuIFRoZXNlIHByb3BlcnRpZXMgaW5jbHVkZTpcbiAgICogICAgICAgICAgICAgICAgLSBgb2JqZWN0SWRgOiBUaGUgQXp1cmUgQUQgb2JqZWN0IElEIGZvciB0aGUgdXNlciwgZ3JvdXAsIG9yIHNlcnZpY2UgcHJpbmNpcGFsIHRvIHdoaWNoIHRoZSByb2xlIGlzIGFzc2lnbmVkLlxuICAgKiAgICAgICAgICAgICAgICAtIGByb2xlRGVmaW5pdGlvblVVSURgOiBPcHRpb25hbC4gVGhlIFVVSUQgb2YgdGhlIEF6dXJlIFJCQUMgcm9sZSBkZWZpbml0aW9uLiBUaGlzIGNhbiBiZSBvYnRhaW5lZCB2aWEgQXp1cmUgQ0xJLlxuICAgKiAgICAgICAgICAgICAgICAtIGByb2xlRGVmaW5pdGlvbk5hbWVgOiBUaGUgbmFtZSBvZiB0aGUgcm9sZSB0byBiZSBhc3NpZ25lZCwgc3VjaCBhcyAnQ29udHJpYnV0b3InLCAnUmVhZGVyJywgb3IgJ093bmVyJy5cbiAgICogICAgICAgICAgICAgICAgLSBgc2NvcGVgOiBUaGUgc2NvcGUgYXQgd2hpY2ggdGhlIHJvbGUgaXMgYXNzaWduZWQsIHdoaWNoIGNvdWxkIGJlIGEgc3Vic2NyaXB0aW9uLCByZXNvdXJjZSBncm91cCwgb3Igc3BlY2lmaWMgcmVzb3VyY2UuXG4gICAqXG4gICAqIEV4YW1wbGUgdXNhZ2U6XG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3QgcmJhYyA9IG5ldyBSYmFjKHRoaXMsICdyYmFjQXNzaWdubWVudCcsIHtcbiAgICogICBvYmplY3RJZDogJ3VzZXItb3ItZ3JvdXAtb2JqZWN0LWlkJyxcbiAgICogICByb2xlRGVmaW5pdGlvbk5hbWU6ICdDb250cmlidXRvcicsXG4gICAqICAgc2NvcGU6ICcvc3Vic2NyaXB0aW9ucy97c3Vic2NyaXB0aW9uLWlkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2UtZ3JvdXAtbmFtZX0nXG4gICAqIH0pO1xuICAgKiBgYGBcbiAgICogVGhpcyBSQkFDIGluc3RhbmNlIGFzc2lnbnMgdGhlICdDb250cmlidXRvcicgcm9sZSB0byBhIHVzZXIgb3IgZ3JvdXAgc3BlY2lmaWVkIGJ5ICdvYmplY3RJZCcgYXQgdGhlIHNjb3BlIG9mIGEgc3BlY2lmaWMgcmVzb3VyY2UgZ3JvdXAuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUmJhY1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIC8vIENyZWF0ZSBhIG5ldyByb2xlIGFzc2lnbm1lbnQgdXNpbmcgdGhlIHByb3ZpZGVkIHByb3BlcnRpZXMuXG4gICAgbmV3IFJvbGVBc3NpZ25tZW50KHRoaXMsIFwicm9sZVwiLCB7XG4gICAgICBuYW1lOiBwcm9wcy5yb2xlRGVmaW5pdGlvblVVSUQsXG4gICAgICBwcmluY2lwYWxJZDogcHJvcHMub2JqZWN0SWQsXG4gICAgICByb2xlRGVmaW5pdGlvbk5hbWU6IHByb3BzLnJvbGVEZWZpbml0aW9uTmFtZSxcbiAgICAgIHNjb3BlOiBwcm9wcy5zY29wZSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -7,7 +7,52 @@ export declare abstract class AzureResource extends Construct {
|
|
|
7
7
|
id: string;
|
|
8
8
|
abstract resourceGroup: ResourceGroup;
|
|
9
9
|
constructor(scope: Construct, id: string);
|
|
10
|
+
/**
|
|
11
|
+
* Adds an access role assignment for a specified Azure AD object (e.g., user, group, service principal) within this RBAC construct's scope.
|
|
12
|
+
*
|
|
13
|
+
* This method creates a new role assignment which grants the specified Azure AD object access to resources
|
|
14
|
+
* at the scope defined by this construct. This is useful for programmatically managing access controls,
|
|
15
|
+
* ensuring only authorized users or systems can perform specific actions on Azure resources.
|
|
16
|
+
*
|
|
17
|
+
* @param objectId - The unique identifier of the Azure AD object (user, group, or service principal) that will receive the role assignment.
|
|
18
|
+
* @param customRoleName - The human-readable name of the Azure RBAC role to be assigned. This role defines the permissions that the object will have.
|
|
19
|
+
*
|
|
20
|
+
* Example usage:
|
|
21
|
+
* ```typescript
|
|
22
|
+
* // Example: Assign a "Reader" role to a user for the current RBAC scope
|
|
23
|
+
* rbacInstance.addAccess('user-object-id', 'Reader');
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
10
26
|
addAccess(objectId: string, customRoleName: string): void;
|
|
27
|
+
/**
|
|
28
|
+
* Adds diagnostic settings to a specified resource within this construct.
|
|
29
|
+
*
|
|
30
|
+
* This method creates and configures a new DiagnosticSettings instance which captures and routes
|
|
31
|
+
* diagnostic data (logs and metrics) to the specified destinations such as Azure Monitor,
|
|
32
|
+
* an Event Hubs instance, a Log Analytics workspace, or an Azure Storage account.
|
|
33
|
+
*
|
|
34
|
+
* @param props - The properties required to configure the diagnostic settings. These include:
|
|
35
|
+
* - `name`: Optional. The name of the diagnostic settings resource. Defaults to 'diag-settings'.
|
|
36
|
+
* - `logAnalyticsWorkspaceId`: Optional. The identifier of the Log Analytics workspace to send logs.
|
|
37
|
+
* - `eventhubAuthorizationRuleId`: Optional. The authorization rule ID for an Event Hub where logs will be forwarded.
|
|
38
|
+
* - `eventhubName`: Optional. The name of the Event Hub to which logs will be sent.
|
|
39
|
+
* - `storageAccountId`: Optional. The identifier of the Azure Storage account where logs will be stored.
|
|
40
|
+
* - `logAnalyticsDestinationType`: Optional. Determines if logs are sent to dedicated or legacy tables in Log Analytics. Defaults to undefined which uses the default settings.
|
|
41
|
+
* The `targetResourceId` is automatically set to the ID of this construct instance.
|
|
42
|
+
*
|
|
43
|
+
* @returns An instance of the DiagnosticSettings class, configured with the provided properties.
|
|
44
|
+
*
|
|
45
|
+
* Example usage:
|
|
46
|
+
* ```typescript
|
|
47
|
+
* const diagSettings = resource.addDiagSettings({
|
|
48
|
+
* name: 'custom-diag-settings',
|
|
49
|
+
* logAnalyticsWorkspaceId: 'workspace-id',
|
|
50
|
+
* eventhubAuthorizationRuleId: 'auth-rule-id',
|
|
51
|
+
* eventhubName: 'eventhub-name',
|
|
52
|
+
* storageAccountId: 'storage-account-id'
|
|
53
|
+
* });
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
11
56
|
addDiagSettings(props: BaseDiagnosticSettingsProps): DiagnosticSettings;
|
|
12
57
|
protected setupResourceGroup(props: any): ResourceGroup;
|
|
13
58
|
}
|
|
@@ -14,6 +14,22 @@ class AzureResource extends constructs_1.Construct {
|
|
|
14
14
|
super(scope, id);
|
|
15
15
|
this.id = id;
|
|
16
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Adds an access role assignment for a specified Azure AD object (e.g., user, group, service principal) within this RBAC construct's scope.
|
|
19
|
+
*
|
|
20
|
+
* This method creates a new role assignment which grants the specified Azure AD object access to resources
|
|
21
|
+
* at the scope defined by this construct. This is useful for programmatically managing access controls,
|
|
22
|
+
* ensuring only authorized users or systems can perform specific actions on Azure resources.
|
|
23
|
+
*
|
|
24
|
+
* @param objectId - The unique identifier of the Azure AD object (user, group, or service principal) that will receive the role assignment.
|
|
25
|
+
* @param customRoleName - The human-readable name of the Azure RBAC role to be assigned. This role defines the permissions that the object will have.
|
|
26
|
+
*
|
|
27
|
+
* Example usage:
|
|
28
|
+
* ```typescript
|
|
29
|
+
* // Example: Assign a "Reader" role to a user for the current RBAC scope
|
|
30
|
+
* rbacInstance.addAccess('user-object-id', 'Reader');
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
17
33
|
addAccess(objectId, customRoleName) {
|
|
18
34
|
new rbac_1.Rbac(this, objectId + customRoleName, {
|
|
19
35
|
objectId: objectId,
|
|
@@ -21,7 +37,35 @@ class AzureResource extends constructs_1.Construct {
|
|
|
21
37
|
scope: this.id,
|
|
22
38
|
});
|
|
23
39
|
}
|
|
24
|
-
|
|
40
|
+
/**
|
|
41
|
+
* Adds diagnostic settings to a specified resource within this construct.
|
|
42
|
+
*
|
|
43
|
+
* This method creates and configures a new DiagnosticSettings instance which captures and routes
|
|
44
|
+
* diagnostic data (logs and metrics) to the specified destinations such as Azure Monitor,
|
|
45
|
+
* an Event Hubs instance, a Log Analytics workspace, or an Azure Storage account.
|
|
46
|
+
*
|
|
47
|
+
* @param props - The properties required to configure the diagnostic settings. These include:
|
|
48
|
+
* - `name`: Optional. The name of the diagnostic settings resource. Defaults to 'diag-settings'.
|
|
49
|
+
* - `logAnalyticsWorkspaceId`: Optional. The identifier of the Log Analytics workspace to send logs.
|
|
50
|
+
* - `eventhubAuthorizationRuleId`: Optional. The authorization rule ID for an Event Hub where logs will be forwarded.
|
|
51
|
+
* - `eventhubName`: Optional. The name of the Event Hub to which logs will be sent.
|
|
52
|
+
* - `storageAccountId`: Optional. The identifier of the Azure Storage account where logs will be stored.
|
|
53
|
+
* - `logAnalyticsDestinationType`: Optional. Determines if logs are sent to dedicated or legacy tables in Log Analytics. Defaults to undefined which uses the default settings.
|
|
54
|
+
* The `targetResourceId` is automatically set to the ID of this construct instance.
|
|
55
|
+
*
|
|
56
|
+
* @returns An instance of the DiagnosticSettings class, configured with the provided properties.
|
|
57
|
+
*
|
|
58
|
+
* Example usage:
|
|
59
|
+
* ```typescript
|
|
60
|
+
* const diagSettings = resource.addDiagSettings({
|
|
61
|
+
* name: 'custom-diag-settings',
|
|
62
|
+
* logAnalyticsWorkspaceId: 'workspace-id',
|
|
63
|
+
* eventhubAuthorizationRuleId: 'auth-rule-id',
|
|
64
|
+
* eventhubName: 'eventhub-name',
|
|
65
|
+
* storageAccountId: 'storage-account-id'
|
|
66
|
+
* });
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
25
69
|
addDiagSettings(props) {
|
|
26
70
|
return new diagsettings_1.DiagnosticSettings(this, "diagsettings", {
|
|
27
71
|
name: props.name || "diag-settings",
|
|
@@ -52,7 +96,7 @@ class AzureResource extends constructs_1.Construct {
|
|
|
52
96
|
}
|
|
53
97
|
exports.AzureResource = AzureResource;
|
|
54
98
|
_a = JSII_RTTI_SYMBOL_1;
|
|
55
|
-
AzureResource[_a] = { fqn: "@microsoft/terraform-cdk-constructs.core_azure.AzureResource", version: "0.0.3-pre.
|
|
99
|
+
AzureResource[_a] = { fqn: "@microsoft/terraform-cdk-constructs.core_azure.AzureResource", version: "0.0.3-pre.7" };
|
|
56
100
|
class AzureResourceWithAlert extends AzureResource {
|
|
57
101
|
addQueryRuleAlert(props) {
|
|
58
102
|
new queryalert.QueryRuleAlert(this, "queryrulealert", {
|
|
@@ -70,5 +114,5 @@ class AzureResourceWithAlert extends AzureResource {
|
|
|
70
114
|
}
|
|
71
115
|
exports.AzureResourceWithAlert = AzureResourceWithAlert;
|
|
72
116
|
_b = JSII_RTTI_SYMBOL_1;
|
|
73
|
-
AzureResourceWithAlert[_b] = { fqn: "@microsoft/terraform-cdk-constructs.core_azure.AzureResourceWithAlert", version: "0.0.3-pre.
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
117
|
+
AzureResourceWithAlert[_b] = { fqn: "@microsoft/terraform-cdk-constructs.core_azure.AzureResourceWithAlert", version: "0.0.3-pre.7" };
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29yZS1henVyZS9saWIvcmVzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrRUFBMkU7QUFDM0UsMkNBQXVDO0FBQ3ZDLGlEQUd3QjtBQUN4QixpQ0FBOEI7QUFDOUIsdURBQXVEO0FBQ3ZELHlEQUF5RDtBQUV6RCxNQUFzQixhQUFjLFNBQVEsc0JBQVM7SUFJbkQsWUFBWSxLQUFnQixFQUFFLEVBQVU7UUFDdEMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7O09BZUc7SUFDSSxTQUFTLENBQUMsUUFBZ0IsRUFBRSxjQUFzQjtRQUN2RCxJQUFJLFdBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxHQUFHLGNBQWMsRUFBRTtZQUN4QyxRQUFRLEVBQUUsUUFBUTtZQUNsQixrQkFBa0IsRUFBRSxjQUFjO1lBQ2xDLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRTtTQUNmLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQTRCRztJQUNJLGVBQWUsQ0FDcEIsS0FBa0M7UUFFbEMsT0FBTyxJQUFJLGlDQUFrQixDQUFDLElBQUksRUFBRSxjQUFjLEVBQUU7WUFDbEQsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksZUFBZTtZQUNuQyx1QkFBdUIsRUFBRSxLQUFLLENBQUMsdUJBQXVCO1lBQ3RELDJCQUEyQixFQUFFLEtBQUssQ0FBQywyQkFBMkI7WUFDOUQsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZO1lBQ2hDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7WUFDeEMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDekIsMkJBQTJCLEVBQUUsU0FBUztTQUN2QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVMsa0JBQWtCLENBQUMsS0FBVTtRQUNyQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRTtZQUN4Qiw4QkFBOEI7WUFDOUIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLDhCQUFhLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRTtnQkFDckQsSUFBSSxFQUFFLE1BQU0sS0FBSyxDQUFDLElBQUksRUFBRTtnQkFDeEIsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO2dCQUN4QixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7YUFDakIsQ0FBQyxDQUFDO1lBQ0gseUNBQXlDO1lBQ3pDLE9BQU8sZ0JBQWdCLENBQUM7U0FDekI7YUFBTTtZQUNMLHVDQUF1QztZQUN2QyxPQUFPLEtBQUssQ0FBQyxhQUFhLENBQUM7U0FDNUI7SUFDSCxDQUFDOztBQTFGSCxzQ0EyRkM7OztBQUVELE1BQXNCLHNCQUF1QixTQUFRLGFBQWE7SUFDekQsaUJBQWlCLENBQUMsS0FBOEM7UUFDckUsSUFBSSxVQUFVLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtZQUNwRCxHQUFHLEtBQUs7WUFDUixNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1NBQ2xCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxjQUFjLENBQUMsS0FBd0M7UUFDNUQsSUFBSSxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUU7WUFDL0MsR0FBRyxLQUFLO1lBQ1IsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2pDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7U0FDbEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFkSCx3REFlQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc291cmNlR3JvdXAgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3Jlc291cmNlLWdyb3VwXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtcbiAgRGlhZ25vc3RpY1NldHRpbmdzLFxuICBCYXNlRGlhZ25vc3RpY1NldHRpbmdzUHJvcHMsXG59IGZyb20gXCIuL2RpYWdzZXR0aW5nc1wiO1xuaW1wb3J0IHsgUmJhYyB9IGZyb20gXCIuL3JiYWNcIjtcbmltcG9ydCAqIGFzIG1ldHJpY2FsZXJ0IGZyb20gXCIuLi8uLi9henVyZS1tZXRyaWNhbGVydFwiO1xuaW1wb3J0ICogYXMgcXVlcnlhbGVydCBmcm9tIFwiLi4vLi4vYXp1cmUtcXVlcnlydWxlYWxlcnRcIjtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEF6dXJlUmVzb3VyY2UgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgaWQ6IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlc291cmNlR3JvdXA6IFJlc291cmNlR3JvdXA7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgdGhpcy5pZCA9IGlkO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYW4gYWNjZXNzIHJvbGUgYXNzaWdubWVudCBmb3IgYSBzcGVjaWZpZWQgQXp1cmUgQUQgb2JqZWN0IChlLmcuLCB1c2VyLCBncm91cCwgc2VydmljZSBwcmluY2lwYWwpIHdpdGhpbiB0aGlzIFJCQUMgY29uc3RydWN0J3Mgc2NvcGUuXG4gICAqXG4gICAqIFRoaXMgbWV0aG9kIGNyZWF0ZXMgYSBuZXcgcm9sZSBhc3NpZ25tZW50IHdoaWNoIGdyYW50cyB0aGUgc3BlY2lmaWVkIEF6dXJlIEFEIG9iamVjdCBhY2Nlc3MgdG8gcmVzb3VyY2VzXG4gICAqIGF0IHRoZSBzY29wZSBkZWZpbmVkIGJ5IHRoaXMgY29uc3RydWN0LiBUaGlzIGlzIHVzZWZ1bCBmb3IgcHJvZ3JhbW1hdGljYWxseSBtYW5hZ2luZyBhY2Nlc3MgY29udHJvbHMsXG4gICAqIGVuc3VyaW5nIG9ubHkgYXV0aG9yaXplZCB1c2VycyBvciBzeXN0ZW1zIGNhbiBwZXJmb3JtIHNwZWNpZmljIGFjdGlvbnMgb24gQXp1cmUgcmVzb3VyY2VzLlxuICAgKlxuICAgKiBAcGFyYW0gb2JqZWN0SWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIEF6dXJlIEFEIG9iamVjdCAodXNlciwgZ3JvdXAsIG9yIHNlcnZpY2UgcHJpbmNpcGFsKSB0aGF0IHdpbGwgcmVjZWl2ZSB0aGUgcm9sZSBhc3NpZ25tZW50LlxuICAgKiBAcGFyYW0gY3VzdG9tUm9sZU5hbWUgLSBUaGUgaHVtYW4tcmVhZGFibGUgbmFtZSBvZiB0aGUgQXp1cmUgUkJBQyByb2xlIHRvIGJlIGFzc2lnbmVkLiBUaGlzIHJvbGUgZGVmaW5lcyB0aGUgcGVybWlzc2lvbnMgdGhhdCB0aGUgb2JqZWN0IHdpbGwgaGF2ZS5cbiAgICpcbiAgICogRXhhbXBsZSB1c2FnZTpcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiAvLyBFeGFtcGxlOiBBc3NpZ24gYSBcIlJlYWRlclwiIHJvbGUgdG8gYSB1c2VyIGZvciB0aGUgY3VycmVudCBSQkFDIHNjb3BlXG4gICAqIHJiYWNJbnN0YW5jZS5hZGRBY2Nlc3MoJ3VzZXItb2JqZWN0LWlkJywgJ1JlYWRlcicpO1xuICAgKiBgYGBcbiAgICovXG4gIHB1YmxpYyBhZGRBY2Nlc3Mob2JqZWN0SWQ6IHN0cmluZywgY3VzdG9tUm9sZU5hbWU6IHN0cmluZykge1xuICAgIG5ldyBSYmFjKHRoaXMsIG9iamVjdElkICsgY3VzdG9tUm9sZU5hbWUsIHtcbiAgICAgIG9iamVjdElkOiBvYmplY3RJZCxcbiAgICAgIHJvbGVEZWZpbml0aW9uTmFtZTogY3VzdG9tUm9sZU5hbWUsXG4gICAgICBzY29wZTogdGhpcy5pZCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGRpYWdub3N0aWMgc2V0dGluZ3MgdG8gYSBzcGVjaWZpZWQgcmVzb3VyY2Ugd2l0aGluIHRoaXMgY29uc3RydWN0LlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCBjcmVhdGVzIGFuZCBjb25maWd1cmVzIGEgbmV3IERpYWdub3N0aWNTZXR0aW5ncyBpbnN0YW5jZSB3aGljaCBjYXB0dXJlcyBhbmQgcm91dGVzXG4gICAqIGRpYWdub3N0aWMgZGF0YSAobG9ncyBhbmQgbWV0cmljcykgdG8gdGhlIHNwZWNpZmllZCBkZXN0aW5hdGlvbnMgc3VjaCBhcyBBenVyZSBNb25pdG9yLFxuICAgKiBhbiBFdmVudCBIdWJzIGluc3RhbmNlLCBhIExvZyBBbmFseXRpY3Mgd29ya3NwYWNlLCBvciBhbiBBenVyZSBTdG9yYWdlIGFjY291bnQuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyAtIFRoZSBwcm9wZXJ0aWVzIHJlcXVpcmVkIHRvIGNvbmZpZ3VyZSB0aGUgZGlhZ25vc3RpYyBzZXR0aW5ncy4gVGhlc2UgaW5jbHVkZTpcbiAgICogICAgICAgICAgICAgICAgLSBgbmFtZWA6IE9wdGlvbmFsLiBUaGUgbmFtZSBvZiB0aGUgZGlhZ25vc3RpYyBzZXR0aW5ncyByZXNvdXJjZS4gRGVmYXVsdHMgdG8gJ2RpYWctc2V0dGluZ3MnLlxuICAgKiAgICAgICAgICAgICAgICAtIGBsb2dBbmFseXRpY3NXb3Jrc3BhY2VJZGA6IE9wdGlvbmFsLiBUaGUgaWRlbnRpZmllciBvZiB0aGUgTG9nIEFuYWx5dGljcyB3b3Jrc3BhY2UgdG8gc2VuZCBsb2dzLlxuICAgKiAgICAgICAgICAgICAgICAtIGBldmVudGh1YkF1dGhvcml6YXRpb25SdWxlSWRgOiBPcHRpb25hbC4gVGhlIGF1dGhvcml6YXRpb24gcnVsZSBJRCBmb3IgYW4gRXZlbnQgSHViIHdoZXJlIGxvZ3Mgd2lsbCBiZSBmb3J3YXJkZWQuXG4gICAqICAgICAgICAgICAgICAgIC0gYGV2ZW50aHViTmFtZWA6IE9wdGlvbmFsLiBUaGUgbmFtZSBvZiB0aGUgRXZlbnQgSHViIHRvIHdoaWNoIGxvZ3Mgd2lsbCBiZSBzZW50LlxuICAgKiAgICAgICAgICAgICAgICAtIGBzdG9yYWdlQWNjb3VudElkYDogT3B0aW9uYWwuIFRoZSBpZGVudGlmaWVyIG9mIHRoZSBBenVyZSBTdG9yYWdlIGFjY291bnQgd2hlcmUgbG9ncyB3aWxsIGJlIHN0b3JlZC5cbiAgICogICAgICAgICAgICAgICAgLSBgbG9nQW5hbHl0aWNzRGVzdGluYXRpb25UeXBlYDogT3B0aW9uYWwuIERldGVybWluZXMgaWYgbG9ncyBhcmUgc2VudCB0byBkZWRpY2F0ZWQgb3IgbGVnYWN5IHRhYmxlcyBpbiBMb2cgQW5hbHl0aWNzLiBEZWZhdWx0cyB0byB1bmRlZmluZWQgd2hpY2ggdXNlcyB0aGUgZGVmYXVsdCBzZXR0aW5ncy5cbiAgICogICAgICAgICAgICAgICAgVGhlIGB0YXJnZXRSZXNvdXJjZUlkYCBpcyBhdXRvbWF0aWNhbGx5IHNldCB0byB0aGUgSUQgb2YgdGhpcyBjb25zdHJ1Y3QgaW5zdGFuY2UuXG4gICAqXG4gICAqIEByZXR1cm5zIEFuIGluc3RhbmNlIG9mIHRoZSBEaWFnbm9zdGljU2V0dGluZ3MgY2xhc3MsIGNvbmZpZ3VyZWQgd2l0aCB0aGUgcHJvdmlkZWQgcHJvcGVydGllcy5cbiAgICpcbiAgICogRXhhbXBsZSB1c2FnZTpcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBjb25zdCBkaWFnU2V0dGluZ3MgPSByZXNvdXJjZS5hZGREaWFnU2V0dGluZ3Moe1xuICAgKiAgIG5hbWU6ICdjdXN0b20tZGlhZy1zZXR0aW5ncycsXG4gICAqICAgbG9nQW5hbHl0aWNzV29ya3NwYWNlSWQ6ICd3b3Jrc3BhY2UtaWQnLFxuICAgKiAgIGV2ZW50aHViQXV0aG9yaXphdGlvblJ1bGVJZDogJ2F1dGgtcnVsZS1pZCcsXG4gICAqICAgZXZlbnRodWJOYW1lOiAnZXZlbnRodWItbmFtZScsXG4gICAqICAgc3RvcmFnZUFjY291bnRJZDogJ3N0b3JhZ2UtYWNjb3VudC1pZCdcbiAgICogfSk7XG4gICAqIGBgYFxuICAgKi9cbiAgcHVibGljIGFkZERpYWdTZXR0aW5ncyhcbiAgICBwcm9wczogQmFzZURpYWdub3N0aWNTZXR0aW5nc1Byb3BzLFxuICApOiBEaWFnbm9zdGljU2V0dGluZ3Mge1xuICAgIHJldHVybiBuZXcgRGlhZ25vc3RpY1NldHRpbmdzKHRoaXMsIFwiZGlhZ3NldHRpbmdzXCIsIHtcbiAgICAgIG5hbWU6IHByb3BzLm5hbWUgfHwgXCJkaWFnLXNldHRpbmdzXCIsXG4gICAgICBsb2dBbmFseXRpY3NXb3Jrc3BhY2VJZDogcHJvcHMubG9nQW5hbHl0aWNzV29ya3NwYWNlSWQsXG4gICAgICBldmVudGh1YkF1dGhvcml6YXRpb25SdWxlSWQ6IHByb3BzLmV2ZW50aHViQXV0aG9yaXphdGlvblJ1bGVJZCxcbiAgICAgIGV2ZW50aHViTmFtZTogcHJvcHMuZXZlbnRodWJOYW1lLFxuICAgICAgc3RvcmFnZUFjY291bnRJZDogcHJvcHMuc3RvcmFnZUFjY291bnRJZCxcbiAgICAgIHRhcmdldFJlc291cmNlSWQ6IHRoaXMuaWQsXG4gICAgICBsb2dBbmFseXRpY3NEZXN0aW5hdGlvblR5cGU6IHVuZGVmaW5lZCxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXR1cFJlc291cmNlR3JvdXAocHJvcHM6IGFueSk6IFJlc291cmNlR3JvdXAge1xuICAgIGlmICghcHJvcHMucmVzb3VyY2VHcm91cCkge1xuICAgICAgLy8gQ3JlYXRlIGEgbmV3IHJlc291cmNlIGdyb3VwXG4gICAgICBjb25zdCBuZXdSZXNvdXJjZUdyb3VwID0gbmV3IFJlc291cmNlR3JvdXAodGhpcywgXCJyZ1wiLCB7XG4gICAgICAgIG5hbWU6IGByZy0ke3Byb3BzLm5hbWV9YCxcbiAgICAgICAgbG9jYXRpb246IHByb3BzLmxvY2F0aW9uLFxuICAgICAgICB0YWdzOiBwcm9wcy50YWdzLFxuICAgICAgfSk7XG4gICAgICAvLyBVc2UgdGhlIG5hbWUgb2YgdGhlIG5ldyByZXNvdXJjZSBncm91cFxuICAgICAgcmV0dXJuIG5ld1Jlc291cmNlR3JvdXA7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFVzZSB0aGUgcHJvdmlkZWQgcmVzb3VyY2UgZ3JvdXAgbmFtZVxuICAgICAgcmV0dXJuIHByb3BzLnJlc291cmNlR3JvdXA7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBenVyZVJlc291cmNlV2l0aEFsZXJ0IGV4dGVuZHMgQXp1cmVSZXNvdXJjZSB7XG4gIHB1YmxpYyBhZGRRdWVyeVJ1bGVBbGVydChwcm9wczogcXVlcnlhbGVydC5CYXNlQXp1cmVRdWVyeVJ1bGVBbGVydFByb3BzKSB7XG4gICAgbmV3IHF1ZXJ5YWxlcnQuUXVlcnlSdWxlQWxlcnQodGhpcywgXCJxdWVyeXJ1bGVhbGVydFwiLCB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIHNjb3BlczogW3RoaXMuaWRdLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFkZE1ldHJpY0FsZXJ0KHByb3BzOiBtZXRyaWNhbGVydC5JQmFzZU1ldHJpY0FsZXJ0UHJvcHMpIHtcbiAgICBuZXcgbWV0cmljYWxlcnQuTWV0cmljQWxlcnQodGhpcywgXCJtZXRyaWNhbGVydFwiLCB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIHJlc291cmNlR3JvdXA6IHRoaXMucmVzb3VyY2VHcm91cCxcbiAgICAgIHNjb3BlczogW3RoaXMuaWRdLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|