@microsoft/terraform-cdk-constructs 0.0.3-pre.11 → 0.0.3-pre.12
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 +334 -211
- package/API.md +166 -76
- package/README.md +4 -5
- package/docs/testing.md +39 -137
- package/lib/azure-actiongroup/test/AzureActionGroup.integ.js +66 -0
- package/lib/azure-actiongroup/test/AzureActionGroup.spec.js +5 -22
- package/lib/azure-applicationgateway/lib/gateway.js +1 -1
- package/lib/azure-applicationgateway/test/AzureApplicationGateway.integ.d.ts +1 -0
- package/lib/azure-applicationgateway/test/AzureApplicationGateway.integ.js +272 -0
- package/lib/azure-applicationgateway/test/AzureApplicationGateway.spec.js +3 -20
- package/lib/azure-applicationinsights/lib/appinsights.js +1 -1
- package/lib/azure-applicationinsights/test/AzureAppInsights.integ.d.ts +1 -0
- package/lib/azure-applicationinsights/test/AzureAppInsights.integ.js +101 -0
- package/lib/azure-applicationinsights/test/AzureAppInsights.spec.js +4 -21
- package/lib/azure-containerregistry/lib/registry.js +1 -1
- package/lib/azure-containerregistry/test/AzureContainerRegistry.integ.d.ts +1 -0
- package/lib/azure-containerregistry/test/AzureContainerRegistry.integ.js +68 -0
- package/lib/azure-containerregistry/test/AzureContainerRegistry.spec.js +4 -17
- package/lib/azure-datalake/lib/datalake.d.ts +1 -0
- package/lib/azure-datalake/lib/datalake.js +2 -1
- package/lib/azure-datalake/test/AzureDatalake.spec.d.ts +1 -0
- package/lib/azure-datalake/test/AzureDatalake.spec.js +32 -0
- package/lib/azure-datalake/test/AzureStorageAccount.integ.d.ts +1 -0
- package/lib/azure-datalake/test/AzureStorageAccount.integ.js +60 -0
- package/lib/azure-eventhub/lib/authorization.js +1 -1
- package/lib/azure-eventhub/lib/consumer.js +1 -1
- package/lib/azure-eventhub/lib/eventhubcluster.js +1 -1
- package/lib/azure-eventhub/lib/instance.d.ts +1 -0
- package/lib/azure-eventhub/lib/instance.js +5 -4
- package/lib/azure-eventhub/lib/kusto-connection.js +1 -1
- package/lib/azure-eventhub/lib/namespace.js +8 -8
- package/lib/azure-eventhub/test/AzureEventhub.integ.d.ts +1 -0
- package/lib/azure-eventhub/test/AzureEventhub.integ.js +72 -0
- package/lib/azure-eventhub/test/AzureEventhub.spec.js +4 -21
- package/lib/azure-functionapp/lib/functionapplinux.js +1 -1
- package/lib/azure-functionapp/test/AzureLinuxFunctionApp.integ.d.ts +1 -0
- package/lib/azure-functionapp/test/AzureLinuxFunctionApp.integ.js +117 -0
- package/lib/azure-functionapp/test/AzureLinuxFunctionApp.spec.js +4 -21
- package/lib/azure-keyvault/lib/certificate.js +2 -2
- package/lib/azure-keyvault/lib/key.js +1 -1
- package/lib/azure-keyvault/lib/policy.js +1 -1
- package/lib/azure-keyvault/lib/secret.js +1 -1
- package/lib/azure-keyvault/lib/vault.js +1 -1
- package/lib/azure-keyvault/test/AzureKeyVault.integ.d.ts +1 -0
- package/lib/azure-keyvault/test/AzureKeyVault.integ.js +119 -0
- package/lib/azure-keyvault/test/AzureKeyVault.spec.js +4 -29
- package/lib/azure-kubernetes/lib/cluster.js +1 -1
- package/lib/azure-kubernetes/test/AzureKubernetesCluster.integ.d.ts +1 -0
- package/lib/azure-kubernetes/test/AzureKubernetesCluster.integ.js +75 -0
- package/lib/azure-kubernetes/test/AzureKubernetesCluster.spec.js +4 -21
- package/lib/azure-kusto/lib/cluster.d.ts +3 -0
- package/lib/azure-kusto/lib/cluster.js +45 -21
- package/lib/azure-kusto/lib/compute-specification.js +1 -1
- package/lib/azure-kusto/lib/database.d.ts +7 -8
- package/lib/azure-kusto/lib/database.js +23 -25
- package/lib/azure-kusto/test/AzureKusto.integ.d.ts +1 -0
- package/lib/azure-kusto/test/AzureKusto.integ.js +74 -0
- package/lib/azure-kusto/test/AzureKusto.spec.js +3 -16
- package/lib/azure-loganalytics/lib/workspace.d.ts +2 -0
- package/lib/azure-loganalytics/lib/workspace.js +3 -2
- package/lib/azure-loganalytics/test/AzureLogAnalytics.integ.d.ts +1 -0
- package/lib/azure-loganalytics/test/AzureLogAnalytics.integ.js +117 -0
- package/lib/azure-loganalytics/test/AzureLogAnalytics.spec.js +4 -17
- package/lib/azure-metricalert/lib/metric-alert.js +1 -1
- package/lib/azure-metricalert/test/AzureMetricAlert.integ.d.ts +1 -0
- package/lib/azure-metricalert/test/AzureMetricAlert.integ.js +85 -0
- package/lib/azure-metricalert/test/AzureMetricAlert.spec.js +4 -21
- package/lib/azure-networksecuritygroup/lib/preconfigured-rules.js +1 -1
- package/lib/azure-networksecuritygroup/lib/securitygroup.js +2 -2
- package/lib/azure-networksecuritygroup/test/AzureNetworkSecurityGroup.integ.d.ts +1 -0
- package/lib/azure-networksecuritygroup/test/AzureNetworkSecurityGroup.integ.js +85 -0
- package/lib/azure-networksecuritygroup/test/AzureNetworkSecurityGroup.spec.js +4 -17
- package/lib/azure-queryrulealert/lib/query-rule-alert.js +1 -1
- package/lib/azure-queryrulealert/test/AzureQueryRuleAlert.integ.d.ts +1 -0
- package/lib/azure-queryrulealert/test/AzureQueryRuleAlert.integ.js +63 -0
- package/lib/azure-queryrulealert/test/AzureQueryRuleAlert.spec.js +4 -21
- package/lib/azure-resourcegroup/lib/resource-group.js +1 -1
- package/lib/azure-resourcegroup/test/AzureResourceGroup.integ.d.ts +1 -0
- package/lib/azure-resourcegroup/test/AzureResourceGroup.integ.js +41 -0
- package/lib/azure-resourcegroup/test/AzureResourceGroup.spec.js +4 -17
- package/lib/azure-storageaccount/lib/account.d.ts +5 -0
- package/lib/azure-storageaccount/lib/account.js +3 -2
- package/lib/azure-storageaccount/lib/container.js +2 -2
- package/lib/azure-storageaccount/lib/fileshare.js +2 -2
- package/lib/azure-storageaccount/lib/queue.js +1 -1
- package/lib/azure-storageaccount/lib/table.js +1 -1
- package/lib/azure-storageaccount/test/AzureStorageAccount.integ.d.ts +1 -0
- package/lib/azure-storageaccount/test/AzureStorageAccount.integ.js +84 -0
- package/lib/azure-storageaccount/test/AzureStorageAccount.spec.js +4 -17
- package/lib/azure-virtualmachine/lib/image-references.js +2 -2
- package/lib/azure-virtualmachine/lib/vm.d.ts +21 -0
- package/lib/azure-virtualmachine/lib/vm.js +5 -3
- package/lib/azure-virtualmachine/test/AzureLinuxVirtualMachine.integ.d.ts +1 -0
- package/lib/azure-virtualmachine/test/AzureLinuxVirtualMachine.integ.js +109 -0
- package/lib/azure-virtualmachine/test/AzureLinuxVirtualMachine.spec.js +4 -17
- package/lib/azure-virtualmachine/test/AzureWindowsVirtualMachine.integ.d.ts +1 -0
- package/lib/azure-virtualmachine/test/AzureWindowsVirtualMachine.integ.js +105 -0
- package/lib/azure-virtualmachine/test/AzureWindowsVirtualMachine.spec.js +4 -17
- package/lib/azure-virtualmachinescaleset/lib/cluster.d.ts +20 -0
- package/lib/azure-virtualmachinescaleset/lib/cluster.js +5 -3
- package/lib/azure-virtualmachinescaleset/test/AzureLinuxVirtualMachineScaleSet.integ.d.ts +1 -0
- package/lib/azure-virtualmachinescaleset/test/AzureLinuxVirtualMachineScaleSet.integ.js +113 -0
- package/lib/azure-virtualmachinescaleset/test/AzureLinuxVirtualMachineScaleSet.spec.js +4 -17
- package/lib/azure-virtualmachinescaleset/test/AzureWindowsVirtualMachineScaleSet.integ.d.ts +1 -0
- package/lib/azure-virtualmachinescaleset/test/AzureWindowsVirtualMachineScaleSet.integ.js +109 -0
- package/lib/azure-virtualmachinescaleset/test/AzureWindowsVirtualMachineScaleSet.spec.js +4 -17
- package/lib/azure-virtualnetwork/lib/network.js +1 -1
- package/lib/azure-virtualnetwork/lib/peering.js +1 -1
- package/lib/azure-virtualnetwork/test/AzureVirtualNetwork.integ.d.ts +1 -0
- package/lib/azure-virtualnetwork/test/AzureVirtualNetwork.integ.js +92 -0
- package/lib/azure-virtualnetwork/test/AzureVirtualNetwork.spec.js +4 -17
- package/lib/core-azure/lib/diagsettings.d.ts +3 -2
- package/lib/core-azure/lib/diagsettings.js +15 -21
- package/lib/core-azure/lib/rbac.js +1 -1
- package/lib/core-azure/lib/resource.js +5 -3
- package/lib/core-azure/test/AzureResource.integ.d.ts +1 -0
- package/lib/core-azure/test/AzureResource.integ.js +75 -0
- package/lib/testing/index.d.ts +34 -0
- package/lib/testing/index.js +235 -2
- package/package.json +6 -4
- package/cdktf.out/manifest.json +0 -13
- package/cdktf.out/stacks/testAzureActionGroup/cdk.tf.json +0 -111
- package/cdktf.out/stacks/testAzureApplicationGateway/cdk.tf.json +0 -588
- package/cdktf.out/stacks/testAzureApplicationInsights/cdk.tf.json +0 -245
- package/cdktf.out/stacks/testAzureContainerRegistry/cdk.tf.json +0 -179
- package/cdktf.out/stacks/testAzureEventhub/cdk.tf.json +0 -236
- package/cdktf.out/stacks/testAzureKeyVault/cdk.tf.json +0 -436
- package/cdktf.out/stacks/testAzureKubernetesCluster/cdk.tf.json +0 -152
- package/cdktf.out/stacks/testAzureKusto/cdk.tf.json +0 -209
- package/cdktf.out/stacks/testAzureLinuxFunctionApp/cdk.tf.json +0 -439
- package/cdktf.out/stacks/testAzureLinuxVirtualMachineExample/cdk.tf.json +0 -283
- package/cdktf.out/stacks/testAzureLinuxVirtualMachineScaleSetExample/cdk.tf.json +0 -261
- package/cdktf.out/stacks/testAzureLogAnalytics/cdk.tf.json +0 -309
- package/cdktf.out/stacks/testAzureMetricAlert/cdk.tf.json +0 -161
- package/cdktf.out/stacks/testAzureNetworkSecurityGroup/cdk.tf.json +0 -271
- package/cdktf.out/stacks/testAzureQueryRuleAlert/cdk.tf.json +0 -122
- package/cdktf.out/stacks/testAzureResourceGroup/cdk.tf.json +0 -88
- package/cdktf.out/stacks/testAzureStorageAccount/cdk.tf.json +0 -339
- package/cdktf.out/stacks/testAzureVirtualNetwork/cdk.tf.json +0 -264
- package/cdktf.out/stacks/testAzureWindowVirtualMachineScaleSetExample/cdk.tf.json +0 -261
- package/cdktf.out/stacks/testAzureWindowsVirtualMachineExample/cdk.tf.json +0 -280
- package/cdktf.out/stacks/testExampleAzureResource/cdk.tf.json +0 -167
- package/lib/azure-actiongroup/test/ExampleAzureActionGroup.d.ts +0 -5
- package/lib/azure-actiongroup/test/ExampleAzureActionGroup.js +0 -66
- package/lib/azure-applicationgateway/test/ExampleAzureApplicationGateway.d.ts +0 -5
- package/lib/azure-applicationgateway/test/ExampleAzureApplicationGateway.js +0 -267
- package/lib/azure-applicationinsights/test/ExampleAzureApplicationInsights.d.ts +0 -5
- package/lib/azure-applicationinsights/test/ExampleAzureApplicationInsights.js +0 -87
- package/lib/azure-containerregistry/test/ExampleAzureContainerRegistry.d.ts +0 -5
- package/lib/azure-containerregistry/test/ExampleAzureContainerRegistry.js +0 -57
- package/lib/azure-eventhub/test/ExampleAzureEventhub.d.ts +0 -5
- package/lib/azure-eventhub/test/ExampleAzureEventhub.js +0 -72
- package/lib/azure-functionapp/test/ExampleAzureLinuxFunctionApp.d.ts +0 -5
- package/lib/azure-functionapp/test/ExampleAzureLinuxFunctionApp.js +0 -123
- package/lib/azure-keyvault/test/ExampleAzureKeyVault.d.ts +0 -5
- package/lib/azure-keyvault/test/ExampleAzureKeyVault.js +0 -112
- package/lib/azure-kubernetes/test/ExampleAzureKubernetesCluster.d.ts +0 -5
- package/lib/azure-kubernetes/test/ExampleAzureKubernetesCluster.js +0 -65
- package/lib/azure-kusto/test/ExampleAzureKusto.d.ts +0 -5
- package/lib/azure-kusto/test/ExampleAzureKusto.js +0 -71
- package/lib/azure-loganalytics/test/ExampleAzureLogAnalytics.d.ts +0 -5
- package/lib/azure-loganalytics/test/ExampleAzureLogAnalytics.js +0 -115
- package/lib/azure-metricalert/test/ExampleAzureMetricAlert.d.ts +0 -5
- package/lib/azure-metricalert/test/ExampleAzureMetricAlert.js +0 -81
- package/lib/azure-networksecuritygroup/test/ExampleAzureNetworkSecurityGroup.d.ts +0 -5
- package/lib/azure-networksecuritygroup/test/ExampleAzureNetworkSecurityGroup.js +0 -97
- package/lib/azure-queryrulealert/test/ExampleAzureQueryRuleAlert.d.ts +0 -5
- package/lib/azure-queryrulealert/test/ExampleAzureQueryRuleAlert.js +0 -67
- package/lib/azure-resourcegroup/test/ExampleAzureResourceGroup.d.ts +0 -5
- package/lib/azure-resourcegroup/test/ExampleAzureResourceGroup.js +0 -29
- package/lib/azure-storageaccount/test/ExampleAzureStorageAccount.d.ts +0 -5
- package/lib/azure-storageaccount/test/ExampleAzureStorageAccount.js +0 -102
- package/lib/azure-virtualmachine/test/ExampleAzureLinuxVirtualMachine.d.ts +0 -5
- package/lib/azure-virtualmachine/test/ExampleAzureLinuxVirtualMachine.js +0 -106
- package/lib/azure-virtualmachine/test/ExampleAzureWindowsVirtualMachine.d.ts +0 -5
- package/lib/azure-virtualmachine/test/ExampleAzureWindowsVirtualMachine.js +0 -102
- package/lib/azure-virtualmachinescaleset/test/ExampleAzureLinuxVirtualMachineScaleSet.d.ts +0 -5
- package/lib/azure-virtualmachinescaleset/test/ExampleAzureLinuxVirtualMachineScaleSet.js +0 -107
- package/lib/azure-virtualmachinescaleset/test/ExampleAzureWindowsVirtualMachineScaleSet.d.ts +0 -5
- package/lib/azure-virtualmachinescaleset/test/ExampleAzureWindowsVirtualMachineScaleSet.js +0 -103
- package/lib/azure-virtualnetwork/test/ExampleAzureVirtualNetwork.d.ts +0 -5
- package/lib/azure-virtualnetwork/test/ExampleAzureVirtualNetwork.js +0 -88
- package/lib/core-azure/test/AzureResource.spec.js +0 -19
- package/lib/core-azure/test/ExampleAzureResource.d.ts +0 -5
- package/lib/core-azure/test/ExampleAzureResource.js +0 -67
- package/tfsec.json +0 -4
- /package/lib/{core-azure/test/AzureResource.spec.d.ts → azure-actiongroup/test/AzureActionGroup.integ.d.ts} +0 -0
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.exampleAzureApplicationInsights = void 0;
|
|
4
|
-
const data_azurerm_client_config_1 = require("@cdktf/provider-azurerm/lib/data-azurerm-client-config");
|
|
5
|
-
const key_vault_1 = require("@cdktf/provider-azurerm/lib/key-vault");
|
|
6
|
-
const log_analytics_workspace_1 = require("@cdktf/provider-azurerm/lib/log-analytics-workspace");
|
|
7
|
-
const provider_1 = require("@cdktf/provider-azurerm/lib/provider");
|
|
8
|
-
const resource_group_1 = require("@cdktf/provider-azurerm/lib/resource-group");
|
|
9
|
-
const cdktf = require("cdktf");
|
|
10
|
-
const cdktf_1 = require("cdktf");
|
|
11
|
-
const testing_1 = require("../../testing");
|
|
12
|
-
const util = require("../../util/azureTenantIdHelpers");
|
|
13
|
-
const appi = require("../lib");
|
|
14
|
-
const app = new cdktf_1.App();
|
|
15
|
-
class exampleAzureApplicationInsights extends testing_1.BaseTestStack {
|
|
16
|
-
constructor(scope, id) {
|
|
17
|
-
super(scope, id);
|
|
18
|
-
const clientConfig = new data_azurerm_client_config_1.DataAzurermClientConfig(this, "CurrentClientConfig", {});
|
|
19
|
-
new provider_1.AzurermProvider(this, "azureFeature", {
|
|
20
|
-
features: {
|
|
21
|
-
resourceGroup: {
|
|
22
|
-
preventDeletionIfContainsResources: false,
|
|
23
|
-
},
|
|
24
|
-
},
|
|
25
|
-
});
|
|
26
|
-
const resourceGroup = new resource_group_1.ResourceGroup(this, "rg", {
|
|
27
|
-
location: "eastus",
|
|
28
|
-
name: `rg-${this.name}`,
|
|
29
|
-
});
|
|
30
|
-
const keyvault = new key_vault_1.KeyVault(this, "key_vault", {
|
|
31
|
-
name: `kv-${this.name}`,
|
|
32
|
-
location: resourceGroup.location,
|
|
33
|
-
resourceGroupName: resourceGroup.name,
|
|
34
|
-
skuName: "standard",
|
|
35
|
-
tenantId: util.getAzureTenantId(),
|
|
36
|
-
purgeProtectionEnabled: true,
|
|
37
|
-
softDeleteRetentionDays: 7,
|
|
38
|
-
accessPolicy: [
|
|
39
|
-
{
|
|
40
|
-
tenantId: util.getAzureTenantId(),
|
|
41
|
-
objectId: clientConfig.objectId,
|
|
42
|
-
secretPermissions: [
|
|
43
|
-
"Get",
|
|
44
|
-
"List",
|
|
45
|
-
"Set",
|
|
46
|
-
"Delete",
|
|
47
|
-
"Backup",
|
|
48
|
-
"Restore",
|
|
49
|
-
"Recover",
|
|
50
|
-
"Purge",
|
|
51
|
-
],
|
|
52
|
-
},
|
|
53
|
-
],
|
|
54
|
-
});
|
|
55
|
-
const logAnalyticsWorkspace = new log_analytics_workspace_1.LogAnalyticsWorkspace(this, "log_analytics", {
|
|
56
|
-
location: "eastus",
|
|
57
|
-
name: `la-${this.name}`,
|
|
58
|
-
resourceGroupName: resourceGroup.name,
|
|
59
|
-
});
|
|
60
|
-
const applicationInsights = new appi.AppInsights(this, "testappi", {
|
|
61
|
-
name: `appi-${this.name}`,
|
|
62
|
-
location: "eastus",
|
|
63
|
-
resourceGroup: resourceGroup,
|
|
64
|
-
applicationType: "web",
|
|
65
|
-
workspaceId: logAnalyticsWorkspace.id,
|
|
66
|
-
});
|
|
67
|
-
// Save Ikey to Key Vault as secret
|
|
68
|
-
applicationInsights.saveIKeyToKeyVault(keyvault.id);
|
|
69
|
-
applicationInsights.saveIKeyToKeyVault(keyvault.id, "customSecretName");
|
|
70
|
-
//Diag Settings
|
|
71
|
-
applicationInsights.addDiagSettings({
|
|
72
|
-
name: "diagsettings",
|
|
73
|
-
logAnalyticsWorkspaceId: logAnalyticsWorkspace.id,
|
|
74
|
-
});
|
|
75
|
-
//RBAC
|
|
76
|
-
applicationInsights.addAccess(clientConfig.objectId, "Contributor");
|
|
77
|
-
// Outputs to use for End to End Test
|
|
78
|
-
const cdktfTerraformOutputKVName = new cdktf.TerraformOutput(this, "key_vault_name", {
|
|
79
|
-
value: keyvault.name,
|
|
80
|
-
});
|
|
81
|
-
cdktfTerraformOutputKVName.overrideLogicalId("key_vault_name");
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
exports.exampleAzureApplicationInsights = exampleAzureApplicationInsights;
|
|
85
|
-
new exampleAzureApplicationInsights(app, "testAzureApplicationInsights");
|
|
86
|
-
app.synth();
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhhbXBsZUF6dXJlQXBwbGljYXRpb25JbnNpZ2h0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS1hcHBsaWNhdGlvbmluc2lnaHRzL3Rlc3QvRXhhbXBsZUF6dXJlQXBwbGljYXRpb25JbnNpZ2h0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1R0FBaUc7QUFDakcscUVBQWlFO0FBQ2pFLGlHQUE0RjtBQUM1RixtRUFBdUU7QUFDdkUsK0VBQTJFO0FBQzNFLCtCQUErQjtBQUMvQixpQ0FBNEI7QUFFNUIsMkNBQThDO0FBQzlDLHdEQUF3RDtBQUN4RCwrQkFBK0I7QUFFL0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxXQUFHLEVBQUUsQ0FBQztBQUV0QixNQUFhLCtCQUFnQyxTQUFRLHVCQUFhO0lBQ2hFLFlBQVksS0FBZ0IsRUFBRSxFQUFVO1FBQ3RDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxZQUFZLEdBQUcsSUFBSSxvREFBdUIsQ0FDOUMsSUFBSSxFQUNKLHFCQUFxQixFQUNyQixFQUFFLENBQ0gsQ0FBQztRQUVGLElBQUksMEJBQWUsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFO1lBQ3hDLFFBQVEsRUFBRTtnQkFDUixhQUFhLEVBQUU7b0JBQ2Isa0NBQWtDLEVBQUUsS0FBSztpQkFDMUM7YUFDRjtTQUNGLENBQUMsQ0FBQztRQUVILE1BQU0sYUFBYSxHQUFHLElBQUksOEJBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ2xELFFBQVEsRUFBRSxRQUFRO1lBQ2xCLElBQUksRUFBRSxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUU7U0FDeEIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxRQUFRLEdBQUcsSUFBSSxvQkFBUSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUU7WUFDL0MsSUFBSSxFQUFFLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRTtZQUN2QixRQUFRLEVBQUUsYUFBYSxDQUFDLFFBQVE7WUFDaEMsaUJBQWlCLEVBQUUsYUFBYSxDQUFDLElBQUk7WUFDckMsT0FBTyxFQUFFLFVBQVU7WUFDbkIsUUFBUSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUNqQyxzQkFBc0IsRUFBRSxJQUFJO1lBQzVCLHVCQUF1QixFQUFFLENBQUM7WUFDMUIsWUFBWSxFQUFFO2dCQUNaO29CQUNFLFFBQVEsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7b0JBQ2pDLFFBQVEsRUFBRSxZQUFZLENBQUMsUUFBUTtvQkFDL0IsaUJBQWlCLEVBQUU7d0JBQ2pCLEtBQUs7d0JBQ0wsTUFBTTt3QkFDTixLQUFLO3dCQUNMLFFBQVE7d0JBQ1IsUUFBUTt3QkFDUixTQUFTO3dCQUNULFNBQVM7d0JBQ1QsT0FBTztxQkFDUjtpQkFDRjthQUNGO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLCtDQUFxQixDQUNyRCxJQUFJLEVBQ0osZUFBZSxFQUNmO1lBQ0UsUUFBUSxFQUFFLFFBQVE7WUFDbEIsSUFBSSxFQUFFLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRTtZQUN2QixpQkFBaUIsRUFBRSxhQUFhLENBQUMsSUFBSTtTQUN0QyxDQUNGLENBQUM7UUFFRixNQUFNLG1CQUFtQixHQUFHLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ2pFLElBQUksRUFBRSxRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDekIsUUFBUSxFQUFFLFFBQVE7WUFDbEIsYUFBYSxFQUFFLGFBQWE7WUFDNUIsZUFBZSxFQUFFLEtBQUs7WUFDdEIsV0FBVyxFQUFFLHFCQUFxQixDQUFDLEVBQUU7U0FDdEMsQ0FBQyxDQUFDO1FBRUgsbUNBQW1DO1FBQ25DLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNwRCxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFFeEUsZUFBZTtRQUNmLG1CQUFtQixDQUFDLGVBQWUsQ0FBQztZQUNsQyxJQUFJLEVBQUUsY0FBYztZQUNwQix1QkFBdUIsRUFBRSxxQkFBcUIsQ0FBQyxFQUFFO1NBQ2xELENBQUMsQ0FBQztRQUVILE1BQU07UUFDTixtQkFBbUIsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUVwRSxxQ0FBcUM7UUFDckMsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQzFELElBQUksRUFDSixnQkFBZ0IsRUFDaEI7WUFDRSxLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUk7U0FDckIsQ0FDRixDQUFDO1FBRUYsMEJBQTBCLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNqRSxDQUFDO0NBQ0Y7QUEzRkQsMEVBMkZDO0FBRUQsSUFBSSwrQkFBK0IsQ0FBQyxHQUFHLEVBQUUsOEJBQThCLENBQUMsQ0FBQztBQUV6RSxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhQXp1cmVybUNsaWVudENvbmZpZyB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvZGF0YS1henVyZXJtLWNsaWVudC1jb25maWdcIjtcbmltcG9ydCB7IEtleVZhdWx0IH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9rZXktdmF1bHRcIjtcbmltcG9ydCB7IExvZ0FuYWx5dGljc1dvcmtzcGFjZSB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvbG9nLWFuYWx5dGljcy13b3Jrc3BhY2VcIjtcbmltcG9ydCB7IEF6dXJlcm1Qcm92aWRlciB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvcHJvdmlkZXJcIjtcbmltcG9ydCB7IFJlc291cmNlR3JvdXAgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3Jlc291cmNlLWdyb3VwXCI7XG5pbXBvcnQgKiBhcyBjZGt0ZiBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IEFwcCB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEJhc2VUZXN0U3RhY2sgfSBmcm9tIFwiLi4vLi4vdGVzdGluZ1wiO1xuaW1wb3J0ICogYXMgdXRpbCBmcm9tIFwiLi4vLi4vdXRpbC9henVyZVRlbmFudElkSGVscGVyc1wiO1xuaW1wb3J0ICogYXMgYXBwaSBmcm9tIFwiLi4vbGliXCI7XG5cbmNvbnN0IGFwcCA9IG5ldyBBcHAoKTtcblxuZXhwb3J0IGNsYXNzIGV4YW1wbGVBenVyZUFwcGxpY2F0aW9uSW5zaWdodHMgZXh0ZW5kcyBCYXNlVGVzdFN0YWNrIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBjbGllbnRDb25maWcgPSBuZXcgRGF0YUF6dXJlcm1DbGllbnRDb25maWcoXG4gICAgICB0aGlzLFxuICAgICAgXCJDdXJyZW50Q2xpZW50Q29uZmlnXCIsXG4gICAgICB7fSxcbiAgICApO1xuXG4gICAgbmV3IEF6dXJlcm1Qcm92aWRlcih0aGlzLCBcImF6dXJlRmVhdHVyZVwiLCB7XG4gICAgICBmZWF0dXJlczoge1xuICAgICAgICByZXNvdXJjZUdyb3VwOiB7XG4gICAgICAgICAgcHJldmVudERlbGV0aW9uSWZDb250YWluc1Jlc291cmNlczogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgY29uc3QgcmVzb3VyY2VHcm91cCA9IG5ldyBSZXNvdXJjZUdyb3VwKHRoaXMsIFwicmdcIiwge1xuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICBuYW1lOiBgcmctJHt0aGlzLm5hbWV9YCxcbiAgICB9KTtcblxuICAgIGNvbnN0IGtleXZhdWx0ID0gbmV3IEtleVZhdWx0KHRoaXMsIFwia2V5X3ZhdWx0XCIsIHtcbiAgICAgIG5hbWU6IGBrdi0ke3RoaXMubmFtZX1gLFxuICAgICAgbG9jYXRpb246IHJlc291cmNlR3JvdXAubG9jYXRpb24sXG4gICAgICByZXNvdXJjZUdyb3VwTmFtZTogcmVzb3VyY2VHcm91cC5uYW1lLFxuICAgICAgc2t1TmFtZTogXCJzdGFuZGFyZFwiLFxuICAgICAgdGVuYW50SWQ6IHV0aWwuZ2V0QXp1cmVUZW5hbnRJZCgpLFxuICAgICAgcHVyZ2VQcm90ZWN0aW9uRW5hYmxlZDogdHJ1ZSxcbiAgICAgIHNvZnREZWxldGVSZXRlbnRpb25EYXlzOiA3LFxuICAgICAgYWNjZXNzUG9saWN5OiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0ZW5hbnRJZDogdXRpbC5nZXRBenVyZVRlbmFudElkKCksXG4gICAgICAgICAgb2JqZWN0SWQ6IGNsaWVudENvbmZpZy5vYmplY3RJZCxcbiAgICAgICAgICBzZWNyZXRQZXJtaXNzaW9uczogW1xuICAgICAgICAgICAgXCJHZXRcIixcbiAgICAgICAgICAgIFwiTGlzdFwiLFxuICAgICAgICAgICAgXCJTZXRcIixcbiAgICAgICAgICAgIFwiRGVsZXRlXCIsXG4gICAgICAgICAgICBcIkJhY2t1cFwiLFxuICAgICAgICAgICAgXCJSZXN0b3JlXCIsXG4gICAgICAgICAgICBcIlJlY292ZXJcIixcbiAgICAgICAgICAgIFwiUHVyZ2VcIixcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGxvZ0FuYWx5dGljc1dvcmtzcGFjZSA9IG5ldyBMb2dBbmFseXRpY3NXb3Jrc3BhY2UoXG4gICAgICB0aGlzLFxuICAgICAgXCJsb2dfYW5hbHl0aWNzXCIsXG4gICAgICB7XG4gICAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgICBuYW1lOiBgbGEtJHt0aGlzLm5hbWV9YCxcbiAgICAgICAgcmVzb3VyY2VHcm91cE5hbWU6IHJlc291cmNlR3JvdXAubmFtZSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIGNvbnN0IGFwcGxpY2F0aW9uSW5zaWdodHMgPSBuZXcgYXBwaS5BcHBJbnNpZ2h0cyh0aGlzLCBcInRlc3RhcHBpXCIsIHtcbiAgICAgIG5hbWU6IGBhcHBpLSR7dGhpcy5uYW1lfWAsXG4gICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgIHJlc291cmNlR3JvdXA6IHJlc291cmNlR3JvdXAsXG4gICAgICBhcHBsaWNhdGlvblR5cGU6IFwid2ViXCIsXG4gICAgICB3b3Jrc3BhY2VJZDogbG9nQW5hbHl0aWNzV29ya3NwYWNlLmlkLFxuICAgIH0pO1xuXG4gICAgLy8gU2F2ZSBJa2V5IHRvIEtleSBWYXVsdCBhcyBzZWNyZXRcbiAgICBhcHBsaWNhdGlvbkluc2lnaHRzLnNhdmVJS2V5VG9LZXlWYXVsdChrZXl2YXVsdC5pZCk7XG4gICAgYXBwbGljYXRpb25JbnNpZ2h0cy5zYXZlSUtleVRvS2V5VmF1bHQoa2V5dmF1bHQuaWQsIFwiY3VzdG9tU2VjcmV0TmFtZVwiKTtcblxuICAgIC8vRGlhZyBTZXR0aW5nc1xuICAgIGFwcGxpY2F0aW9uSW5zaWdodHMuYWRkRGlhZ1NldHRpbmdzKHtcbiAgICAgIG5hbWU6IFwiZGlhZ3NldHRpbmdzXCIsXG4gICAgICBsb2dBbmFseXRpY3NXb3Jrc3BhY2VJZDogbG9nQW5hbHl0aWNzV29ya3NwYWNlLmlkLFxuICAgIH0pO1xuXG4gICAgLy9SQkFDXG4gICAgYXBwbGljYXRpb25JbnNpZ2h0cy5hZGRBY2Nlc3MoY2xpZW50Q29uZmlnLm9iamVjdElkLCBcIkNvbnRyaWJ1dG9yXCIpO1xuXG4gICAgLy8gT3V0cHV0cyB0byB1c2UgZm9yIEVuZCB0byBFbmQgVGVzdFxuICAgIGNvbnN0IGNka3RmVGVycmFmb3JtT3V0cHV0S1ZOYW1lID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dChcbiAgICAgIHRoaXMsXG4gICAgICBcImtleV92YXVsdF9uYW1lXCIsXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiBrZXl2YXVsdC5uYW1lLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgY2RrdGZUZXJyYWZvcm1PdXRwdXRLVk5hbWUub3ZlcnJpZGVMb2dpY2FsSWQoXCJrZXlfdmF1bHRfbmFtZVwiKTtcbiAgfVxufVxuXG5uZXcgZXhhbXBsZUF6dXJlQXBwbGljYXRpb25JbnNpZ2h0cyhhcHAsIFwidGVzdEF6dXJlQXBwbGljYXRpb25JbnNpZ2h0c1wiKTtcblxuYXBwLnN5bnRoKCk7XG4iXX0=
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.exampleAzureContainerRegistry = void 0;
|
|
4
|
-
const data_azurerm_client_config_1 = require("@cdktf/provider-azurerm/lib/data-azurerm-client-config");
|
|
5
|
-
const log_analytics_workspace_1 = require("@cdktf/provider-azurerm/lib/log-analytics-workspace");
|
|
6
|
-
const provider_1 = require("@cdktf/provider-azurerm/lib/provider");
|
|
7
|
-
const resource_group_1 = require("@cdktf/provider-azurerm/lib/resource-group");
|
|
8
|
-
const cdktf = require("cdktf");
|
|
9
|
-
const cdktf_1 = require("cdktf");
|
|
10
|
-
const acr = require("../");
|
|
11
|
-
const testing_1 = require("../../testing");
|
|
12
|
-
const app = new cdktf_1.App();
|
|
13
|
-
class exampleAzureContainerRegistry extends testing_1.BaseTestStack {
|
|
14
|
-
constructor(scope, id) {
|
|
15
|
-
super(scope, id);
|
|
16
|
-
const clientConfig = new data_azurerm_client_config_1.DataAzurermClientConfig(this, "CurrentClientConfig", {});
|
|
17
|
-
new provider_1.AzurermProvider(this, "azureFeature", {
|
|
18
|
-
features: {},
|
|
19
|
-
});
|
|
20
|
-
const resourceGroup = new resource_group_1.ResourceGroup(this, "rg", {
|
|
21
|
-
location: "eastus",
|
|
22
|
-
name: `rg-${this.name}`,
|
|
23
|
-
});
|
|
24
|
-
const logAnalyticsWorkspace = new log_analytics_workspace_1.LogAnalyticsWorkspace(this, "log_analytics", {
|
|
25
|
-
location: "eastus",
|
|
26
|
-
name: `la-${this.name}`,
|
|
27
|
-
resourceGroupName: resourceGroup.name,
|
|
28
|
-
});
|
|
29
|
-
const azureContainerRegistry = new acr.Registry(this, "testACR", {
|
|
30
|
-
name: `acr${this.name}`,
|
|
31
|
-
location: resourceGroup.location,
|
|
32
|
-
resourceGroup: resourceGroup,
|
|
33
|
-
sku: "Premium",
|
|
34
|
-
adminEnabled: false,
|
|
35
|
-
geoReplicationLocations: [{ location: "westus" }],
|
|
36
|
-
tags: {
|
|
37
|
-
environment: "test",
|
|
38
|
-
},
|
|
39
|
-
});
|
|
40
|
-
//Diag Settings
|
|
41
|
-
azureContainerRegistry.addDiagSettings({
|
|
42
|
-
name: "diagsettings",
|
|
43
|
-
logAnalyticsWorkspaceId: logAnalyticsWorkspace.id,
|
|
44
|
-
});
|
|
45
|
-
//RBAC
|
|
46
|
-
azureContainerRegistry.addAccess(clientConfig.objectId, "Contributor");
|
|
47
|
-
// Outputs to use for End to End Test
|
|
48
|
-
const cdktfTerraformOutputRG = new cdktf.TerraformOutput(this, "resource_group_name", {
|
|
49
|
-
value: resourceGroup.name,
|
|
50
|
-
});
|
|
51
|
-
cdktfTerraformOutputRG.overrideLogicalId("resource_group_name");
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
exports.exampleAzureContainerRegistry = exampleAzureContainerRegistry;
|
|
55
|
-
new exampleAzureContainerRegistry(app, "testAzureContainerRegistry");
|
|
56
|
-
app.synth();
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhhbXBsZUF6dXJlQ29udGFpbmVyUmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtY29udGFpbmVycmVnaXN0cnkvdGVzdC9FeGFtcGxlQXp1cmVDb250YWluZXJSZWdpc3RyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1R0FBaUc7QUFDakcsaUdBQTRGO0FBQzVGLG1FQUF1RTtBQUN2RSwrRUFBMkU7QUFDM0UsK0JBQStCO0FBQy9CLGlDQUE0QjtBQUU1QiwyQkFBMkI7QUFDM0IsMkNBQThDO0FBRTlDLE1BQU0sR0FBRyxHQUFHLElBQUksV0FBRyxFQUFFLENBQUM7QUFFdEIsTUFBYSw2QkFBOEIsU0FBUSx1QkFBYTtJQUM5RCxZQUFZLEtBQWdCLEVBQUUsRUFBVTtRQUN0QyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sWUFBWSxHQUFHLElBQUksb0RBQXVCLENBQzlDLElBQUksRUFDSixxQkFBcUIsRUFDckIsRUFBRSxDQUNILENBQUM7UUFFRixJQUFJLDBCQUFlLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtZQUN4QyxRQUFRLEVBQUUsRUFBRTtTQUNiLENBQUMsQ0FBQztRQUVILE1BQU0sYUFBYSxHQUFHLElBQUksOEJBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ2xELFFBQVEsRUFBRSxRQUFRO1lBQ2xCLElBQUksRUFBRSxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUU7U0FDeEIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLCtDQUFxQixDQUNyRCxJQUFJLEVBQ0osZUFBZSxFQUNmO1lBQ0UsUUFBUSxFQUFFLFFBQVE7WUFDbEIsSUFBSSxFQUFFLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRTtZQUN2QixpQkFBaUIsRUFBRSxhQUFhLENBQUMsSUFBSTtTQUN0QyxDQUNGLENBQUM7UUFFRixNQUFNLHNCQUFzQixHQUFHLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQy9ELElBQUksRUFBRSxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDdkIsUUFBUSxFQUFFLGFBQWEsQ0FBQyxRQUFRO1lBQ2hDLGFBQWEsRUFBRSxhQUFhO1lBQzVCLEdBQUcsRUFBRSxTQUFTO1lBQ2QsWUFBWSxFQUFFLEtBQUs7WUFDbkIsdUJBQXVCLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQztZQUNqRCxJQUFJLEVBQUU7Z0JBQ0osV0FBVyxFQUFFLE1BQU07YUFDcEI7U0FDRixDQUFDLENBQUM7UUFFSCxlQUFlO1FBQ2Ysc0JBQXNCLENBQUMsZUFBZSxDQUFDO1lBQ3JDLElBQUksRUFBRSxjQUFjO1lBQ3BCLHVCQUF1QixFQUFFLHFCQUFxQixDQUFDLEVBQUU7U0FDbEQsQ0FBQyxDQUFDO1FBRUgsTUFBTTtRQUNOLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBRXZFLHFDQUFxQztRQUNyQyxNQUFNLHNCQUFzQixHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FDdEQsSUFBSSxFQUNKLHFCQUFxQixFQUNyQjtZQUNFLEtBQUssRUFBRSxhQUFhLENBQUMsSUFBSTtTQUMxQixDQUNGLENBQUM7UUFDRixzQkFBc0IsQ0FBQyxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7Q0FDRjtBQTVERCxzRUE0REM7QUFFRCxJQUFJLDZCQUE2QixDQUFDLEdBQUcsRUFBRSw0QkFBNEIsQ0FBQyxDQUFDO0FBRXJFLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFBenVyZXJtQ2xpZW50Q29uZmlnIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9kYXRhLWF6dXJlcm0tY2xpZW50LWNvbmZpZ1wiO1xuaW1wb3J0IHsgTG9nQW5hbHl0aWNzV29ya3NwYWNlIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9sb2ctYW5hbHl0aWNzLXdvcmtzcGFjZVwiO1xuaW1wb3J0IHsgQXp1cmVybVByb3ZpZGVyIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9wcm92aWRlclwiO1xuaW1wb3J0IHsgUmVzb3VyY2VHcm91cCB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvcmVzb3VyY2UtZ3JvdXBcIjtcbmltcG9ydCAqIGFzIGNka3RmIGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQXBwIH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgYWNyIGZyb20gXCIuLi9cIjtcbmltcG9ydCB7IEJhc2VUZXN0U3RhY2sgfSBmcm9tIFwiLi4vLi4vdGVzdGluZ1wiO1xuXG5jb25zdCBhcHAgPSBuZXcgQXBwKCk7XG5cbmV4cG9ydCBjbGFzcyBleGFtcGxlQXp1cmVDb250YWluZXJSZWdpc3RyeSBleHRlbmRzIEJhc2VUZXN0U3RhY2sge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGNsaWVudENvbmZpZyA9IG5ldyBEYXRhQXp1cmVybUNsaWVudENvbmZpZyhcbiAgICAgIHRoaXMsXG4gICAgICBcIkN1cnJlbnRDbGllbnRDb25maWdcIixcbiAgICAgIHt9LFxuICAgICk7XG5cbiAgICBuZXcgQXp1cmVybVByb3ZpZGVyKHRoaXMsIFwiYXp1cmVGZWF0dXJlXCIsIHtcbiAgICAgIGZlYXR1cmVzOiB7fSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHJlc291cmNlR3JvdXAgPSBuZXcgUmVzb3VyY2VHcm91cCh0aGlzLCBcInJnXCIsIHtcbiAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgbmFtZTogYHJnLSR7dGhpcy5uYW1lfWAsXG4gICAgfSk7XG5cbiAgICBjb25zdCBsb2dBbmFseXRpY3NXb3Jrc3BhY2UgPSBuZXcgTG9nQW5hbHl0aWNzV29ya3NwYWNlKFxuICAgICAgdGhpcyxcbiAgICAgIFwibG9nX2FuYWx5dGljc1wiLFxuICAgICAge1xuICAgICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgICAgbmFtZTogYGxhLSR7dGhpcy5uYW1lfWAsXG4gICAgICAgIHJlc291cmNlR3JvdXBOYW1lOiByZXNvdXJjZUdyb3VwLm5hbWUsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBjb25zdCBhenVyZUNvbnRhaW5lclJlZ2lzdHJ5ID0gbmV3IGFjci5SZWdpc3RyeSh0aGlzLCBcInRlc3RBQ1JcIiwge1xuICAgICAgbmFtZTogYGFjciR7dGhpcy5uYW1lfWAsXG4gICAgICBsb2NhdGlvbjogcmVzb3VyY2VHcm91cC5sb2NhdGlvbixcbiAgICAgIHJlc291cmNlR3JvdXA6IHJlc291cmNlR3JvdXAsXG4gICAgICBza3U6IFwiUHJlbWl1bVwiLFxuICAgICAgYWRtaW5FbmFibGVkOiBmYWxzZSxcbiAgICAgIGdlb1JlcGxpY2F0aW9uTG9jYXRpb25zOiBbeyBsb2NhdGlvbjogXCJ3ZXN0dXNcIiB9XSxcbiAgICAgIHRhZ3M6IHtcbiAgICAgICAgZW52aXJvbm1lbnQ6IFwidGVzdFwiLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIC8vRGlhZyBTZXR0aW5nc1xuICAgIGF6dXJlQ29udGFpbmVyUmVnaXN0cnkuYWRkRGlhZ1NldHRpbmdzKHtcbiAgICAgIG5hbWU6IFwiZGlhZ3NldHRpbmdzXCIsXG4gICAgICBsb2dBbmFseXRpY3NXb3Jrc3BhY2VJZDogbG9nQW5hbHl0aWNzV29ya3NwYWNlLmlkLFxuICAgIH0pO1xuXG4gICAgLy9SQkFDXG4gICAgYXp1cmVDb250YWluZXJSZWdpc3RyeS5hZGRBY2Nlc3MoY2xpZW50Q29uZmlnLm9iamVjdElkLCBcIkNvbnRyaWJ1dG9yXCIpO1xuXG4gICAgLy8gT3V0cHV0cyB0byB1c2UgZm9yIEVuZCB0byBFbmQgVGVzdFxuICAgIGNvbnN0IGNka3RmVGVycmFmb3JtT3V0cHV0UkcgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KFxuICAgICAgdGhpcyxcbiAgICAgIFwicmVzb3VyY2VfZ3JvdXBfbmFtZVwiLFxuICAgICAge1xuICAgICAgICB2YWx1ZTogcmVzb3VyY2VHcm91cC5uYW1lLFxuICAgICAgfSxcbiAgICApO1xuICAgIGNka3RmVGVycmFmb3JtT3V0cHV0Ukcub3ZlcnJpZGVMb2dpY2FsSWQoXCJyZXNvdXJjZV9ncm91cF9uYW1lXCIpO1xuICB9XG59XG5cbm5ldyBleGFtcGxlQXp1cmVDb250YWluZXJSZWdpc3RyeShhcHAsIFwidGVzdEF6dXJlQ29udGFpbmVyUmVnaXN0cnlcIik7XG5cbmFwcC5zeW50aCgpO1xuIl19
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.exampleAzureEventhub = void 0;
|
|
4
|
-
const data_azurerm_client_config_1 = require("@cdktf/provider-azurerm/lib/data-azurerm-client-config");
|
|
5
|
-
const provider_1 = require("@cdktf/provider-azurerm/lib/provider");
|
|
6
|
-
const resource_group_1 = require("@cdktf/provider-azurerm/lib/resource-group");
|
|
7
|
-
const cdktf_1 = require("cdktf");
|
|
8
|
-
const testing_1 = require("../../testing");
|
|
9
|
-
const eh = require("../lib");
|
|
10
|
-
const app = new cdktf_1.App();
|
|
11
|
-
class exampleAzureEventhub extends testing_1.BaseTestStack {
|
|
12
|
-
constructor(scope, id) {
|
|
13
|
-
super(scope, id);
|
|
14
|
-
const clientConfig = new data_azurerm_client_config_1.DataAzurermClientConfig(this, "CurrentClientConfig", {});
|
|
15
|
-
new provider_1.AzurermProvider(this, "azureFeature", {
|
|
16
|
-
features: {},
|
|
17
|
-
});
|
|
18
|
-
const resourceGroup = new resource_group_1.ResourceGroup(this, "rg", {
|
|
19
|
-
name: `rg-${this.name}`,
|
|
20
|
-
location: "eastus",
|
|
21
|
-
});
|
|
22
|
-
// Create Eventhub Namespace
|
|
23
|
-
const eventhubNamespace = new eh.Namespace(this, "eventhub", {
|
|
24
|
-
resourceGroup: resourceGroup,
|
|
25
|
-
name: `ehns-${this.name}`,
|
|
26
|
-
sku: "Basic",
|
|
27
|
-
});
|
|
28
|
-
// Create Eventhub Instance
|
|
29
|
-
const eventhubInstance = eventhubNamespace.addEventhubInstance({
|
|
30
|
-
name: "test-eventhub-instance",
|
|
31
|
-
partitionCount: 2,
|
|
32
|
-
messageRetention: 1,
|
|
33
|
-
status: "Active",
|
|
34
|
-
});
|
|
35
|
-
// Create Eventhub Instance Authorization Rule
|
|
36
|
-
eventhubInstance.addAuthorizationRule({
|
|
37
|
-
name: "test-rule",
|
|
38
|
-
listen: true,
|
|
39
|
-
send: true,
|
|
40
|
-
manage: false,
|
|
41
|
-
});
|
|
42
|
-
// Add Consumer Group to Eventhub Instance
|
|
43
|
-
eventhubInstance.addConsumerGroup("test-consumer-group");
|
|
44
|
-
// Add IAM role to Eventhub Namespace
|
|
45
|
-
eventhubNamespace.addAccess(clientConfig.objectId, "Contributor");
|
|
46
|
-
// Add Kusto data connection
|
|
47
|
-
eventhubInstance.addKustoDataConnection({
|
|
48
|
-
name: "test-kusto-data-connection",
|
|
49
|
-
location: "eastus",
|
|
50
|
-
kustoResourceGroup: resourceGroup,
|
|
51
|
-
kustoClusterName: "testkustocluster",
|
|
52
|
-
kustoDatabaseName: "test-kusto-database", // Kusto database name
|
|
53
|
-
});
|
|
54
|
-
// Add Metric Alert in Eventhub Namespace
|
|
55
|
-
eventhubNamespace.addMetricAlert({
|
|
56
|
-
name: "test-metric-alert",
|
|
57
|
-
criteria: [
|
|
58
|
-
{
|
|
59
|
-
metricName: "Server Errors.",
|
|
60
|
-
metricNamespace: "Microsoft.EventHub/namespaces",
|
|
61
|
-
aggregation: "Total",
|
|
62
|
-
operator: "GreaterThan",
|
|
63
|
-
threshold: 100,
|
|
64
|
-
},
|
|
65
|
-
],
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
exports.exampleAzureEventhub = exampleAzureEventhub;
|
|
70
|
-
new exampleAzureEventhub(app, "testAzureEventhub");
|
|
71
|
-
app.synth();
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhhbXBsZUF6dXJlRXZlbnRodWIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtZXZlbnRodWIvdGVzdC9FeGFtcGxlQXp1cmVFdmVudGh1Yi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1R0FBaUc7QUFDakcsbUVBQXVFO0FBQ3ZFLCtFQUEyRTtBQUMzRSxpQ0FBNEI7QUFFNUIsMkNBQThDO0FBQzlDLDZCQUE2QjtBQUU3QixNQUFNLEdBQUcsR0FBRyxJQUFJLFdBQUcsRUFBRSxDQUFDO0FBRXRCLE1BQWEsb0JBQXFCLFNBQVEsdUJBQWE7SUFDckQsWUFBWSxLQUFnQixFQUFFLEVBQVU7UUFDdEMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixNQUFNLFlBQVksR0FBRyxJQUFJLG9EQUF1QixDQUM5QyxJQUFJLEVBQ0oscUJBQXFCLEVBQ3JCLEVBQUUsQ0FDSCxDQUFDO1FBQ0YsSUFBSSwwQkFBZSxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUU7WUFDeEMsUUFBUSxFQUFFLEVBQUU7U0FDYixDQUFDLENBQUM7UUFFSCxNQUFNLGFBQWEsR0FBRyxJQUFJLDhCQUFhLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRTtZQUNsRCxJQUFJLEVBQUUsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ3ZCLFFBQVEsRUFBRSxRQUFRO1NBQ25CLENBQUMsQ0FBQztRQUVILDRCQUE0QjtRQUM1QixNQUFNLGlCQUFpQixHQUFHLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQzNELGFBQWEsRUFBRSxhQUFhO1lBQzVCLElBQUksRUFBRSxRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDekIsR0FBRyxFQUFFLE9BQU87U0FDYixDQUFDLENBQUM7UUFFSCwyQkFBMkI7UUFDM0IsTUFBTSxnQkFBZ0IsR0FBRyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQztZQUM3RCxJQUFJLEVBQUUsd0JBQXdCO1lBQzlCLGNBQWMsRUFBRSxDQUFDO1lBQ2pCLGdCQUFnQixFQUFFLENBQUM7WUFDbkIsTUFBTSxFQUFFLFFBQVE7U0FDakIsQ0FBQyxDQUFDO1FBRUgsOENBQThDO1FBQzlDLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDO1lBQ3BDLElBQUksRUFBRSxXQUFXO1lBQ2pCLE1BQU0sRUFBRSxJQUFJO1lBQ1osSUFBSSxFQUFFLElBQUk7WUFDVixNQUFNLEVBQUUsS0FBSztTQUNkLENBQUMsQ0FBQztRQUVILDBDQUEwQztRQUMxQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRXpELHFDQUFxQztRQUNyQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUVsRSw0QkFBNEI7UUFDNUIsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUM7WUFDdEMsSUFBSSxFQUFFLDRCQUE0QjtZQUNsQyxRQUFRLEVBQUUsUUFBUTtZQUNsQixrQkFBa0IsRUFBRSxhQUFhO1lBQ2pDLGdCQUFnQixFQUFFLGtCQUFrQjtZQUNwQyxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBRSxzQkFBc0I7U0FDakUsQ0FBQyxDQUFDO1FBRUgseUNBQXlDO1FBQ3pDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQztZQUMvQixJQUFJLEVBQUUsbUJBQW1CO1lBQ3pCLFFBQVEsRUFBRTtnQkFDUjtvQkFDRSxVQUFVLEVBQUUsZ0JBQWdCO29CQUM1QixlQUFlLEVBQUUsK0JBQStCO29CQUNoRCxXQUFXLEVBQUUsT0FBTztvQkFDcEIsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFNBQVMsRUFBRSxHQUFHO2lCQUNmO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFyRUQsb0RBcUVDO0FBRUQsSUFBSSxvQkFBb0IsQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztBQUNuRCxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhQXp1cmVybUNsaWVudENvbmZpZyB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvZGF0YS1henVyZXJtLWNsaWVudC1jb25maWdcIjtcbmltcG9ydCB7IEF6dXJlcm1Qcm92aWRlciB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvcHJvdmlkZXJcIjtcbmltcG9ydCB7IFJlc291cmNlR3JvdXAgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3Jlc291cmNlLWdyb3VwXCI7XG5pbXBvcnQgeyBBcHAgfSBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBCYXNlVGVzdFN0YWNrIH0gZnJvbSBcIi4uLy4uL3Rlc3RpbmdcIjtcbmltcG9ydCAqIGFzIGVoIGZyb20gXCIuLi9saWJcIjtcblxuY29uc3QgYXBwID0gbmV3IEFwcCgpO1xuXG5leHBvcnQgY2xhc3MgZXhhbXBsZUF6dXJlRXZlbnRodWIgZXh0ZW5kcyBCYXNlVGVzdFN0YWNrIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgY29uc3QgY2xpZW50Q29uZmlnID0gbmV3IERhdGFBenVyZXJtQ2xpZW50Q29uZmlnKFxuICAgICAgdGhpcyxcbiAgICAgIFwiQ3VycmVudENsaWVudENvbmZpZ1wiLFxuICAgICAge30sXG4gICAgKTtcbiAgICBuZXcgQXp1cmVybVByb3ZpZGVyKHRoaXMsIFwiYXp1cmVGZWF0dXJlXCIsIHtcbiAgICAgIGZlYXR1cmVzOiB7fSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHJlc291cmNlR3JvdXAgPSBuZXcgUmVzb3VyY2VHcm91cCh0aGlzLCBcInJnXCIsIHtcbiAgICAgIG5hbWU6IGByZy0ke3RoaXMubmFtZX1gLFxuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgfSk7XG5cbiAgICAvLyBDcmVhdGUgRXZlbnRodWIgTmFtZXNwYWNlXG4gICAgY29uc3QgZXZlbnRodWJOYW1lc3BhY2UgPSBuZXcgZWguTmFtZXNwYWNlKHRoaXMsIFwiZXZlbnRodWJcIiwge1xuICAgICAgcmVzb3VyY2VHcm91cDogcmVzb3VyY2VHcm91cCxcbiAgICAgIG5hbWU6IGBlaG5zLSR7dGhpcy5uYW1lfWAsXG4gICAgICBza3U6IFwiQmFzaWNcIixcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSBFdmVudGh1YiBJbnN0YW5jZVxuICAgIGNvbnN0IGV2ZW50aHViSW5zdGFuY2UgPSBldmVudGh1Yk5hbWVzcGFjZS5hZGRFdmVudGh1Ykluc3RhbmNlKHtcbiAgICAgIG5hbWU6IFwidGVzdC1ldmVudGh1Yi1pbnN0YW5jZVwiLFxuICAgICAgcGFydGl0aW9uQ291bnQ6IDIsXG4gICAgICBtZXNzYWdlUmV0ZW50aW9uOiAxLFxuICAgICAgc3RhdHVzOiBcIkFjdGl2ZVwiLFxuICAgIH0pO1xuXG4gICAgLy8gQ3JlYXRlIEV2ZW50aHViIEluc3RhbmNlIEF1dGhvcml6YXRpb24gUnVsZVxuICAgIGV2ZW50aHViSW5zdGFuY2UuYWRkQXV0aG9yaXphdGlvblJ1bGUoe1xuICAgICAgbmFtZTogXCJ0ZXN0LXJ1bGVcIixcbiAgICAgIGxpc3RlbjogdHJ1ZSxcbiAgICAgIHNlbmQ6IHRydWUsXG4gICAgICBtYW5hZ2U6IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgLy8gQWRkIENvbnN1bWVyIEdyb3VwIHRvIEV2ZW50aHViIEluc3RhbmNlXG4gICAgZXZlbnRodWJJbnN0YW5jZS5hZGRDb25zdW1lckdyb3VwKFwidGVzdC1jb25zdW1lci1ncm91cFwiKTtcblxuICAgIC8vIEFkZCBJQU0gcm9sZSB0byBFdmVudGh1YiBOYW1lc3BhY2VcbiAgICBldmVudGh1Yk5hbWVzcGFjZS5hZGRBY2Nlc3MoY2xpZW50Q29uZmlnLm9iamVjdElkLCBcIkNvbnRyaWJ1dG9yXCIpO1xuXG4gICAgLy8gQWRkIEt1c3RvIGRhdGEgY29ubmVjdGlvblxuICAgIGV2ZW50aHViSW5zdGFuY2UuYWRkS3VzdG9EYXRhQ29ubmVjdGlvbih7XG4gICAgICBuYW1lOiBcInRlc3Qta3VzdG8tZGF0YS1jb25uZWN0aW9uXCIsXG4gICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgIGt1c3RvUmVzb3VyY2VHcm91cDogcmVzb3VyY2VHcm91cCwgLy8gS3VzdG8gcmVzb3VyY2UgZ3JvdXBcbiAgICAgIGt1c3RvQ2x1c3Rlck5hbWU6IFwidGVzdGt1c3RvY2x1c3RlclwiLCAvLyBLdXN0byBjbHVzdGVyIG5hbWVcbiAgICAgIGt1c3RvRGF0YWJhc2VOYW1lOiBcInRlc3Qta3VzdG8tZGF0YWJhc2VcIiwgLy8gS3VzdG8gZGF0YWJhc2UgbmFtZVxuICAgIH0pO1xuXG4gICAgLy8gQWRkIE1ldHJpYyBBbGVydCBpbiBFdmVudGh1YiBOYW1lc3BhY2VcbiAgICBldmVudGh1Yk5hbWVzcGFjZS5hZGRNZXRyaWNBbGVydCh7XG4gICAgICBuYW1lOiBcInRlc3QtbWV0cmljLWFsZXJ0XCIsXG4gICAgICBjcml0ZXJpYTogW1xuICAgICAgICB7XG4gICAgICAgICAgbWV0cmljTmFtZTogXCJTZXJ2ZXIgRXJyb3JzLlwiLFxuICAgICAgICAgIG1ldHJpY05hbWVzcGFjZTogXCJNaWNyb3NvZnQuRXZlbnRIdWIvbmFtZXNwYWNlc1wiLFxuICAgICAgICAgIGFnZ3JlZ2F0aW9uOiBcIlRvdGFsXCIsXG4gICAgICAgICAgb3BlcmF0b3I6IFwiR3JlYXRlclRoYW5cIixcbiAgICAgICAgICB0aHJlc2hvbGQ6IDEwMCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cbn1cblxubmV3IGV4YW1wbGVBenVyZUV2ZW50aHViKGFwcCwgXCJ0ZXN0QXp1cmVFdmVudGh1YlwiKTtcbmFwcC5zeW50aCgpO1xuIl19
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.exampleAzureLinuxFunctionApp = void 0;
|
|
4
|
-
const log_analytics_workspace_1 = require("@cdktf/provider-azurerm/lib/log-analytics-workspace");
|
|
5
|
-
const provider_1 = require("@cdktf/provider-azurerm/lib/provider");
|
|
6
|
-
const resource_group_1 = require("@cdktf/provider-azurerm/lib/resource-group");
|
|
7
|
-
const cdktf = require("cdktf");
|
|
8
|
-
const cdktf_1 = require("cdktf");
|
|
9
|
-
const func = require("..");
|
|
10
|
-
const testing_1 = require("../../testing");
|
|
11
|
-
const serviceplanskus_1 = require("../serviceplanskus");
|
|
12
|
-
const app = new cdktf_1.App();
|
|
13
|
-
class exampleAzureLinuxFunctionApp extends testing_1.BaseTestStack {
|
|
14
|
-
constructor(scope, id) {
|
|
15
|
-
super(scope, id);
|
|
16
|
-
new provider_1.AzurermProvider(this, "azureFeature", {
|
|
17
|
-
features: {
|
|
18
|
-
resourceGroup: {
|
|
19
|
-
preventDeletionIfContainsResources: false,
|
|
20
|
-
},
|
|
21
|
-
},
|
|
22
|
-
});
|
|
23
|
-
const resourceGroup = new resource_group_1.ResourceGroup(this, "rg", {
|
|
24
|
-
location: "eastus",
|
|
25
|
-
name: `rg-${this.name}`,
|
|
26
|
-
tags: {
|
|
27
|
-
test: "test",
|
|
28
|
-
},
|
|
29
|
-
});
|
|
30
|
-
const logAnalyticsWorkspace = new log_analytics_workspace_1.LogAnalyticsWorkspace(this, "log_analytics", {
|
|
31
|
-
location: "eastus",
|
|
32
|
-
name: `la-${this.name}`,
|
|
33
|
-
resourceGroupName: resourceGroup.name,
|
|
34
|
-
});
|
|
35
|
-
// Consumption Function
|
|
36
|
-
const consumptionFunctionApp = new func.FunctionAppLinux(this, "consumptionFA", {
|
|
37
|
-
name: `fa${this.name}`,
|
|
38
|
-
location: "eastus",
|
|
39
|
-
resourceGroup: resourceGroup,
|
|
40
|
-
tags: {
|
|
41
|
-
test: "test",
|
|
42
|
-
},
|
|
43
|
-
});
|
|
44
|
-
new func.FunctionAppLinux(this, "consumptionFA2", {
|
|
45
|
-
name: `fa${this.name}2`,
|
|
46
|
-
location: "eastus",
|
|
47
|
-
storageAccount: consumptionFunctionApp.storageAccount,
|
|
48
|
-
servicePlan: consumptionFunctionApp.servicePlan,
|
|
49
|
-
resourceGroup: resourceGroup,
|
|
50
|
-
runtimeVersion: {
|
|
51
|
-
pythonVersion: "3.8",
|
|
52
|
-
},
|
|
53
|
-
siteConfig: {
|
|
54
|
-
cors: {
|
|
55
|
-
allowedOrigins: ["*"],
|
|
56
|
-
},
|
|
57
|
-
},
|
|
58
|
-
tags: {
|
|
59
|
-
test: "test",
|
|
60
|
-
},
|
|
61
|
-
});
|
|
62
|
-
// Premium Function
|
|
63
|
-
new func.FunctionAppLinux(this, "premiumFA", {
|
|
64
|
-
name: `faprem${this.name}`,
|
|
65
|
-
location: "eastus",
|
|
66
|
-
servicePlanSku: serviceplanskus_1.ServicePlanSkus.PremiumEP1,
|
|
67
|
-
runtimeVersion: {
|
|
68
|
-
dotnetVersion: "5.0",
|
|
69
|
-
},
|
|
70
|
-
tags: {
|
|
71
|
-
test: "test",
|
|
72
|
-
},
|
|
73
|
-
});
|
|
74
|
-
// Service Plan Function
|
|
75
|
-
new func.FunctionAppLinux(this, "servicePlanFA", {
|
|
76
|
-
name: `fasp${this.name}`,
|
|
77
|
-
location: "eastus",
|
|
78
|
-
servicePlanSku: serviceplanskus_1.ServicePlanSkus.ASPBasicB1,
|
|
79
|
-
runtimeVersion: {
|
|
80
|
-
pythonVersion: "3.8",
|
|
81
|
-
},
|
|
82
|
-
siteConfig: {
|
|
83
|
-
cors: {
|
|
84
|
-
allowedOrigins: ["*"],
|
|
85
|
-
},
|
|
86
|
-
},
|
|
87
|
-
tags: {
|
|
88
|
-
test: "test",
|
|
89
|
-
},
|
|
90
|
-
});
|
|
91
|
-
//Diag Settings
|
|
92
|
-
consumptionFunctionApp.addDiagSettings({
|
|
93
|
-
name: "diagsettings",
|
|
94
|
-
logAnalyticsWorkspaceId: logAnalyticsWorkspace.id,
|
|
95
|
-
metricCategories: ["AllMetrics"],
|
|
96
|
-
});
|
|
97
|
-
// Create Terraform Outputs for Function Apps
|
|
98
|
-
const cdktfTerraformOutputRG = new cdktf.TerraformOutput(this, "resource_group_name", {
|
|
99
|
-
value: resourceGroup.name,
|
|
100
|
-
});
|
|
101
|
-
const cdktfTerraformOutputFAid = new cdktf.TerraformOutput(this, "function_app_id", {
|
|
102
|
-
value: consumptionFunctionApp.id,
|
|
103
|
-
});
|
|
104
|
-
const cdktfTerraformOutputFAdefaulthost = new cdktf.TerraformOutput(this, "default_hostname", {
|
|
105
|
-
value: consumptionFunctionApp.defaultHostname,
|
|
106
|
-
});
|
|
107
|
-
const cdktfTerraformOutputFAname = new cdktf.TerraformOutput(this, "function_app_name", {
|
|
108
|
-
value: consumptionFunctionApp.name,
|
|
109
|
-
});
|
|
110
|
-
const cdktfTerraformOutputFAkind = new cdktf.TerraformOutput(this, "function_app_kind", {
|
|
111
|
-
value: consumptionFunctionApp.kind,
|
|
112
|
-
});
|
|
113
|
-
cdktfTerraformOutputFAkind.overrideLogicalId("function_app_kind");
|
|
114
|
-
cdktfTerraformOutputFAname.overrideLogicalId("function_app_name");
|
|
115
|
-
cdktfTerraformOutputFAdefaulthost.overrideLogicalId("default_hostname");
|
|
116
|
-
cdktfTerraformOutputFAid.overrideLogicalId("function_app_id");
|
|
117
|
-
cdktfTerraformOutputRG.overrideLogicalId("resource_group_name");
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
exports.exampleAzureLinuxFunctionApp = exampleAzureLinuxFunctionApp;
|
|
121
|
-
new exampleAzureLinuxFunctionApp(app, "testAzureLinuxFunctionApp");
|
|
122
|
-
app.synth();
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhhbXBsZUF6dXJlTGludXhGdW5jdGlvbkFwcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS1mdW5jdGlvbmFwcC90ZXN0L0V4YW1wbGVBenVyZUxpbnV4RnVuY3Rpb25BcHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUdBQTRGO0FBQzVGLG1FQUF1RTtBQUN2RSwrRUFBMkU7QUFDM0UsK0JBQStCO0FBQy9CLGlDQUE0QjtBQUU1QiwyQkFBMkI7QUFDM0IsMkNBQThDO0FBQzlDLHdEQUFxRDtBQUVyRCxNQUFNLEdBQUcsR0FBRyxJQUFJLFdBQUcsRUFBRSxDQUFDO0FBRXRCLE1BQWEsNEJBQTZCLFNBQVEsdUJBQWE7SUFDN0QsWUFBWSxLQUFnQixFQUFFLEVBQVU7UUFDdEMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLDBCQUFlLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtZQUN4QyxRQUFRLEVBQUU7Z0JBQ1IsYUFBYSxFQUFFO29CQUNiLGtDQUFrQyxFQUFFLEtBQUs7aUJBQzFDO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFFSCxNQUFNLGFBQWEsR0FBRyxJQUFJLDhCQUFhLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRTtZQUNsRCxRQUFRLEVBQUUsUUFBUTtZQUNsQixJQUFJLEVBQUUsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ3ZCLElBQUksRUFBRTtnQkFDSixJQUFJLEVBQUUsTUFBTTthQUNiO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLCtDQUFxQixDQUNyRCxJQUFJLEVBQ0osZUFBZSxFQUNmO1lBQ0UsUUFBUSxFQUFFLFFBQVE7WUFDbEIsSUFBSSxFQUFFLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRTtZQUN2QixpQkFBaUIsRUFBRSxhQUFhLENBQUMsSUFBSTtTQUN0QyxDQUNGLENBQUM7UUFFRix1QkFBdUI7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Q0FBQztRQUVGLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUMxRCxJQUFJLEVBQ0osbUJBQW1CLEVBQ25CO1lBQ0UsS0FBSyxFQUFFLHNCQUFzQixDQUFDLElBQUk7U0FDbkMsQ0FDRixDQUFDO1FBRUYsMEJBQTBCLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNsRSwwQkFBMEIsQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2xFLGlDQUFpQyxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDeEUsd0JBQXdCLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM5RCxzQkFBc0IsQ0FBQyxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7Q0FDRjtBQW5KRCxvRUFtSkM7QUFFRCxJQUFJLDRCQUE0QixDQUFDLEdBQUcsRUFBRSwyQkFBMkIsQ0FBQyxDQUFDO0FBRW5FLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvZ0FuYWx5dGljc1dvcmtzcGFjZSB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvbG9nLWFuYWx5dGljcy13b3Jrc3BhY2VcIjtcbmltcG9ydCB7IEF6dXJlcm1Qcm92aWRlciB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvcHJvdmlkZXJcIjtcbmltcG9ydCB7IFJlc291cmNlR3JvdXAgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3Jlc291cmNlLWdyb3VwXCI7XG5pbXBvcnQgKiBhcyBjZGt0ZiBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IEFwcCB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCAqIGFzIGZ1bmMgZnJvbSBcIi4uXCI7XG5pbXBvcnQgeyBCYXNlVGVzdFN0YWNrIH0gZnJvbSBcIi4uLy4uL3Rlc3RpbmdcIjtcbmltcG9ydCB7IFNlcnZpY2VQbGFuU2t1cyB9IGZyb20gXCIuLi9zZXJ2aWNlcGxhbnNrdXNcIjtcblxuY29uc3QgYXBwID0gbmV3IEFwcCgpO1xuXG5leHBvcnQgY2xhc3MgZXhhbXBsZUF6dXJlTGludXhGdW5jdGlvbkFwcCBleHRlbmRzIEJhc2VUZXN0U3RhY2sge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIG5ldyBBenVyZXJtUHJvdmlkZXIodGhpcywgXCJhenVyZUZlYXR1cmVcIiwge1xuICAgICAgZmVhdHVyZXM6IHtcbiAgICAgICAgcmVzb3VyY2VHcm91cDoge1xuICAgICAgICAgIHByZXZlbnREZWxldGlvbklmQ29udGFpbnNSZXNvdXJjZXM6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHJlc291cmNlR3JvdXAgPSBuZXcgUmVzb3VyY2VHcm91cCh0aGlzLCBcInJnXCIsIHtcbiAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgbmFtZTogYHJnLSR7dGhpcy5uYW1lfWAsXG4gICAgICB0YWdzOiB7XG4gICAgICAgIHRlc3Q6IFwidGVzdFwiLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGxvZ0FuYWx5dGljc1dvcmtzcGFjZSA9IG5ldyBMb2dBbmFseXRpY3NXb3Jrc3BhY2UoXG4gICAgICB0aGlzLFxuICAgICAgXCJsb2dfYW5hbHl0aWNzXCIsXG4gICAgICB7XG4gICAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgICBuYW1lOiBgbGEtJHt0aGlzLm5hbWV9YCxcbiAgICAgICAgcmVzb3VyY2VHcm91cE5hbWU6IHJlc291cmNlR3JvdXAubmFtZSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIC8vIENvbnN1bXB0aW9uIEZ1bmN0aW9uXG4gICAgY29uc3QgY29uc3VtcHRpb25GdW5jdGlvbkFwcCA9IG5ldyBmdW5jLkZ1bmN0aW9uQXBwTGludXgoXG4gICAgICB0aGlzLFxuICAgICAgXCJjb25zdW1wdGlvbkZBXCIsXG4gICAgICB7XG4gICAgICAgIG5hbWU6IGBmYSR7dGhpcy5uYW1lfWAsXG4gICAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgICByZXNvdXJjZUdyb3VwOiByZXNvdXJjZUdyb3VwLFxuICAgICAgICB0YWdzOiB7XG4gICAgICAgICAgdGVzdDogXCJ0ZXN0XCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBuZXcgZnVuYy5GdW5jdGlvbkFwcExpbnV4KHRoaXMsIFwiY29uc3VtcHRpb25GQTJcIiwge1xuICAgICAgbmFtZTogYGZhJHt0aGlzLm5hbWV9MmAsXG4gICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgIHN0b3JhZ2VBY2NvdW50OiBjb25zdW1wdGlvbkZ1bmN0aW9uQXBwLnN0b3JhZ2VBY2NvdW50LFxuICAgICAgc2VydmljZVBsYW46IGNvbnN1bXB0aW9uRnVuY3Rpb25BcHAuc2VydmljZVBsYW4sXG4gICAgICByZXNvdXJjZUdyb3VwOiByZXNvdXJjZUdyb3VwLFxuICAgICAgcnVudGltZVZlcnNpb246IHtcbiAgICAgICAgcHl0aG9uVmVyc2lvbjogXCIzLjhcIixcbiAgICAgIH0sXG4gICAgICBzaXRlQ29uZmlnOiB7XG4gICAgICAgIGNvcnM6IHtcbiAgICAgICAgICBhbGxvd2VkT3JpZ2luczogW1wiKlwiXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB0YWdzOiB7XG4gICAgICAgIHRlc3Q6IFwidGVzdFwiLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIC8vIFByZW1pdW0gRnVuY3Rpb25cbiAgICBuZXcgZnVuYy5GdW5jdGlvbkFwcExpbnV4KHRoaXMsIFwicHJlbWl1bUZBXCIsIHtcbiAgICAgIG5hbWU6IGBmYXByZW0ke3RoaXMubmFtZX1gLFxuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICBzZXJ2aWNlUGxhblNrdTogU2VydmljZVBsYW5Ta3VzLlByZW1pdW1FUDEsXG4gICAgICBydW50aW1lVmVyc2lvbjoge1xuICAgICAgICBkb3RuZXRWZXJzaW9uOiBcIjUuMFwiLFxuICAgICAgfSxcbiAgICAgIHRhZ3M6IHtcbiAgICAgICAgdGVzdDogXCJ0ZXN0XCIsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gU2VydmljZSBQbGFuIEZ1bmN0aW9uXG4gICAgbmV3IGZ1bmMuRnVuY3Rpb25BcHBMaW51eCh0aGlzLCBcInNlcnZpY2VQbGFuRkFcIiwge1xuICAgICAgbmFtZTogYGZhc3Ake3RoaXMubmFtZX1gLFxuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICBzZXJ2aWNlUGxhblNrdTogU2VydmljZVBsYW5Ta3VzLkFTUEJhc2ljQjEsXG4gICAgICBydW50aW1lVmVyc2lvbjoge1xuICAgICAgICBweXRob25WZXJzaW9uOiBcIjMuOFwiLFxuICAgICAgfSxcbiAgICAgIHNpdGVDb25maWc6IHtcbiAgICAgICAgY29yczoge1xuICAgICAgICAgIGFsbG93ZWRPcmlnaW5zOiBbXCIqXCJdLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHRhZ3M6IHtcbiAgICAgICAgdGVzdDogXCJ0ZXN0XCIsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy9EaWFnIFNldHRpbmdzXG4gICAgY29uc3VtcHRpb25GdW5jdGlvbkFwcC5hZGREaWFnU2V0dGluZ3Moe1xuICAgICAgbmFtZTogXCJkaWFnc2V0dGluZ3NcIixcbiAgICAgIGxvZ0FuYWx5dGljc1dvcmtzcGFjZUlkOiBsb2dBbmFseXRpY3NXb3Jrc3BhY2UuaWQsXG4gICAgICBtZXRyaWNDYXRlZ29yaWVzOiBbXCJBbGxNZXRyaWNzXCJdLFxuICAgIH0pO1xuXG4gICAgLy8gQ3JlYXRlIFRlcnJhZm9ybSBPdXRwdXRzIGZvciBGdW5jdGlvbiBBcHBzXG4gICAgY29uc3QgY2RrdGZUZXJyYWZvcm1PdXRwdXRSRyA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQoXG4gICAgICB0aGlzLFxuICAgICAgXCJyZXNvdXJjZV9ncm91cF9uYW1lXCIsXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiByZXNvdXJjZUdyb3VwLm5hbWUsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBjb25zdCBjZGt0ZlRlcnJhZm9ybU91dHB1dEZBaWQgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KFxuICAgICAgdGhpcyxcbiAgICAgIFwiZnVuY3Rpb25fYXBwX2lkXCIsXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiBjb25zdW1wdGlvbkZ1bmN0aW9uQXBwLmlkLFxuICAgICAgfSxcbiAgICApO1xuICAgIGNvbnN0IGNka3RmVGVycmFmb3JtT3V0cHV0RkFkZWZhdWx0aG9zdCA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQoXG4gICAgICB0aGlzLFxuICAgICAgXCJkZWZhdWx0X2hvc3RuYW1lXCIsXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiBjb25zdW1wdGlvbkZ1bmN0aW9uQXBwLmRlZmF1bHRIb3N0bmFtZSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIGNvbnN0IGNka3RmVGVycmFmb3JtT3V0cHV0RkFuYW1lID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dChcbiAgICAgIHRoaXMsXG4gICAgICBcImZ1bmN0aW9uX2FwcF9uYW1lXCIsXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiBjb25zdW1wdGlvbkZ1bmN0aW9uQXBwLm5hbWUsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBjb25zdCBjZGt0ZlRlcnJhZm9ybU91dHB1dEZBa2luZCA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQoXG4gICAgICB0aGlzLFxuICAgICAgXCJmdW5jdGlvbl9hcHBfa2luZFwiLFxuICAgICAge1xuICAgICAgICB2YWx1ZTogY29uc3VtcHRpb25GdW5jdGlvbkFwcC5raW5kLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgY2RrdGZUZXJyYWZvcm1PdXRwdXRGQWtpbmQub3ZlcnJpZGVMb2dpY2FsSWQoXCJmdW5jdGlvbl9hcHBfa2luZFwiKTtcbiAgICBjZGt0ZlRlcnJhZm9ybU91dHB1dEZBbmFtZS5vdmVycmlkZUxvZ2ljYWxJZChcImZ1bmN0aW9uX2FwcF9uYW1lXCIpO1xuICAgIGNka3RmVGVycmFmb3JtT3V0cHV0RkFkZWZhdWx0aG9zdC5vdmVycmlkZUxvZ2ljYWxJZChcImRlZmF1bHRfaG9zdG5hbWVcIik7XG4gICAgY2RrdGZUZXJyYWZvcm1PdXRwdXRGQWlkLm92ZXJyaWRlTG9naWNhbElkKFwiZnVuY3Rpb25fYXBwX2lkXCIpO1xuICAgIGNka3RmVGVycmFmb3JtT3V0cHV0Ukcub3ZlcnJpZGVMb2dpY2FsSWQoXCJyZXNvdXJjZV9ncm91cF9uYW1lXCIpO1xuICB9XG59XG5cbm5ldyBleGFtcGxlQXp1cmVMaW51eEZ1bmN0aW9uQXBwKGFwcCwgXCJ0ZXN0QXp1cmVMaW51eEZ1bmN0aW9uQXBwXCIpO1xuXG5hcHAuc3ludGgoKTtcbiJdfQ==
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.exampleAzureKeyVault = void 0;
|
|
4
|
-
const data_azurerm_client_config_1 = require("@cdktf/provider-azurerm/lib/data-azurerm-client-config");
|
|
5
|
-
const log_analytics_workspace_1 = require("@cdktf/provider-azurerm/lib/log-analytics-workspace");
|
|
6
|
-
const provider_1 = require("@cdktf/provider-azurerm/lib/provider");
|
|
7
|
-
const resource_group_1 = require("@cdktf/provider-azurerm/lib/resource-group");
|
|
8
|
-
const cdktf = require("cdktf");
|
|
9
|
-
const cdktf_1 = require("cdktf");
|
|
10
|
-
const kv = require("..");
|
|
11
|
-
const testing_1 = require("../../testing");
|
|
12
|
-
const util = require("../../util/azureTenantIdHelpers");
|
|
13
|
-
const app = new cdktf_1.App();
|
|
14
|
-
class exampleAzureKeyVault extends testing_1.BaseTestStack {
|
|
15
|
-
constructor(scope, id) {
|
|
16
|
-
super(scope, id);
|
|
17
|
-
const clientConfig = new data_azurerm_client_config_1.DataAzurermClientConfig(this, "CurrentClientConfig", {});
|
|
18
|
-
new provider_1.AzurermProvider(this, "azureFeature", {
|
|
19
|
-
features: {},
|
|
20
|
-
});
|
|
21
|
-
const resourceGroup = new resource_group_1.ResourceGroup(this, "rg", {
|
|
22
|
-
location: "eastus",
|
|
23
|
-
name: `rg-${this.name}`,
|
|
24
|
-
lifecycle: {
|
|
25
|
-
ignoreChanges: ["tags"],
|
|
26
|
-
},
|
|
27
|
-
});
|
|
28
|
-
const azureKeyVault = new kv.Vault(this, "kv", {
|
|
29
|
-
name: `kv-${this.name}`,
|
|
30
|
-
location: "eastus",
|
|
31
|
-
sku: "standard",
|
|
32
|
-
resourceGroup: resourceGroup,
|
|
33
|
-
tenantId: util.getAzureTenantId(),
|
|
34
|
-
networkAcls: {
|
|
35
|
-
bypass: "AzureServices",
|
|
36
|
-
defaultAction: "Allow",
|
|
37
|
-
ipRules: ["0.0.0.0/0"],
|
|
38
|
-
},
|
|
39
|
-
softDeleteRetentionDays: 7,
|
|
40
|
-
});
|
|
41
|
-
const logAnalyticsWorkspace = new log_analytics_workspace_1.LogAnalyticsWorkspace(this, "log_analytics", {
|
|
42
|
-
location: "eastus",
|
|
43
|
-
name: `la-${this.name}`,
|
|
44
|
-
resourceGroupName: resourceGroup.name,
|
|
45
|
-
});
|
|
46
|
-
//Diag Settings
|
|
47
|
-
azureKeyVault.addDiagSettings({
|
|
48
|
-
name: "diagsettings",
|
|
49
|
-
logAnalyticsWorkspaceId: logAnalyticsWorkspace.id,
|
|
50
|
-
metricCategories: ["AllMetrics"],
|
|
51
|
-
});
|
|
52
|
-
//RBAC
|
|
53
|
-
azureKeyVault.addAccess(clientConfig.objectId, "Contributor");
|
|
54
|
-
// Access Policy
|
|
55
|
-
azureKeyVault.grantSecretAdminAccess("bc26a701-6acb-4117-93e0-e44054e22d60");
|
|
56
|
-
azureKeyVault.grantCustomAccess(clientConfig.objectId, {
|
|
57
|
-
storagePermissions: ["Get", "List", "Set", "Delete"],
|
|
58
|
-
secretPermissions: ["Get", "List", "Set", "Delete"],
|
|
59
|
-
keyPermissions: [
|
|
60
|
-
"Backup",
|
|
61
|
-
"Create",
|
|
62
|
-
"Decrypt",
|
|
63
|
-
"Delete",
|
|
64
|
-
"Encrypt",
|
|
65
|
-
"Get",
|
|
66
|
-
"Import",
|
|
67
|
-
"List",
|
|
68
|
-
"Purge",
|
|
69
|
-
"Recover",
|
|
70
|
-
"Restore",
|
|
71
|
-
"Sign",
|
|
72
|
-
"UnwrapKey",
|
|
73
|
-
"Update",
|
|
74
|
-
"Verify",
|
|
75
|
-
"WrapKey",
|
|
76
|
-
"Release",
|
|
77
|
-
"Rotate",
|
|
78
|
-
"GetRotationPolicy",
|
|
79
|
-
"SetRotationPolicy",
|
|
80
|
-
],
|
|
81
|
-
certificatePermissions: [
|
|
82
|
-
"Get",
|
|
83
|
-
"List",
|
|
84
|
-
"Create",
|
|
85
|
-
"Delete",
|
|
86
|
-
"GetIssuers",
|
|
87
|
-
"ManageIssuers",
|
|
88
|
-
],
|
|
89
|
-
});
|
|
90
|
-
// Create Secret
|
|
91
|
-
azureKeyVault.addSecret("secret1", "password", "2033-08-23T15:23:17Z", "application/x-pkcs12");
|
|
92
|
-
azureKeyVault.addSecret("customSecretName", "password", "2033-08-23T15:23:17Z", "application/x-pkcs12");
|
|
93
|
-
// Create Key
|
|
94
|
-
azureKeyVault.addRSAKey("key1", "2033-08-23T15:23:17Z");
|
|
95
|
-
azureKeyVault.addKey("key2", "RSA", 2048, ["encrypt", "decrypt", "sign", "verify", "wrapKey", "unwrapKey"], "2033-08-23T15:23:17Z");
|
|
96
|
-
// Create Certificate
|
|
97
|
-
azureKeyVault.addSelfSignedCert("cert1", "CN=contoso.com", [
|
|
98
|
-
"internal.contoso.com",
|
|
99
|
-
"domain.hello.world",
|
|
100
|
-
]);
|
|
101
|
-
azureKeyVault.addCertIssuer("issuer1", "SslAdminV2");
|
|
102
|
-
// Outputs to use for End to End Test
|
|
103
|
-
const cdktfTerraformOutputRG = new cdktf.TerraformOutput(this, "resource_group_name", {
|
|
104
|
-
value: resourceGroup.name,
|
|
105
|
-
});
|
|
106
|
-
cdktfTerraformOutputRG.overrideLogicalId("resource_group_name");
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
exports.exampleAzureKeyVault = exampleAzureKeyVault;
|
|
110
|
-
new exampleAzureKeyVault(app, "testAzureKeyVault");
|
|
111
|
-
app.synth();
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhhbXBsZUF6dXJlS2V5VmF1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUta2V5dmF1bHQvdGVzdC9FeGFtcGxlQXp1cmVLZXlWYXVsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1R0FBaUc7QUFDakcsaUdBQTRGO0FBQzVGLG1FQUF1RTtBQUN2RSwrRUFBMkU7QUFDM0UsK0JBQStCO0FBQy9CLGlDQUE0QjtBQUU1Qix5QkFBeUI7QUFDekIsMkNBQThDO0FBRTlDLHdEQUF3RDtBQUV4RCxNQUFNLEdBQUcsR0FBRyxJQUFJLFdBQUcsRUFBRSxDQUFDO0FBRXRCLE1BQWEsb0JBQXFCLFNBQVEsdUJBQWE7SUFDckQsWUFBWSxLQUFnQixFQUFFLEVBQVU7UUFDdEMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLFlBQVksR0FBRyxJQUFJLG9EQUF1QixDQUM5QyxJQUFJLEVBQ0oscUJBQXFCLEVBQ3JCLEVBQUUsQ0FDSCxDQUFDO1FBRUYsSUFBSSwwQkFBZSxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUU7WUFDeEMsUUFBUSxFQUFFLEVBQUU7U0FDYixDQUFDLENBQUM7UUFFSCxNQUFNLGFBQWEsR0FBRyxJQUFJLDhCQUFhLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRTtZQUNsRCxRQUFRLEVBQUUsUUFBUTtZQUNsQixJQUFJLEVBQUUsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ3ZCLFNBQVMsRUFBRTtnQkFDVCxhQUFhLEVBQUUsQ0FBQyxNQUFNLENBQUM7YUFDeEI7U0FDRixDQUFDLENBQUM7UUFFSCxNQUFNLGFBQWEsR0FBRyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRTtZQUM3QyxJQUFJLEVBQUUsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ3ZCLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLEdBQUcsRUFBRSxVQUFV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LElBQUk7U0FDMUIsQ0FDRixDQUFDO1FBRUYsc0JBQXNCLENBQUMsaUJBQWlCLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUNsRSxDQUFDO0NBQ0Y7QUF6SUQsb0RBeUlDO0FBRUQsSUFBSSxvQkFBb0IsQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztBQUVuRCxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhQXp1cmVybUNsaWVudENvbmZpZyB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvZGF0YS1henVyZXJtLWNsaWVudC1jb25maWdcIjtcbmltcG9ydCB7IExvZ0FuYWx5dGljc1dvcmtzcGFjZSB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvbG9nLWFuYWx5dGljcy13b3Jrc3BhY2VcIjtcbmltcG9ydCB7IEF6dXJlcm1Qcm92aWRlciB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvcHJvdmlkZXJcIjtcbmltcG9ydCB7IFJlc291cmNlR3JvdXAgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3Jlc291cmNlLWdyb3VwXCI7XG5pbXBvcnQgKiBhcyBjZGt0ZiBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IEFwcCB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCAqIGFzIGt2IGZyb20gXCIuLlwiO1xuaW1wb3J0IHsgQmFzZVRlc3RTdGFjayB9IGZyb20gXCIuLi8uLi90ZXN0aW5nXCI7XG5cbmltcG9ydCAqIGFzIHV0aWwgZnJvbSBcIi4uLy4uL3V0aWwvYXp1cmVUZW5hbnRJZEhlbHBlcnNcIjtcblxuY29uc3QgYXBwID0gbmV3IEFwcCgpO1xuXG5leHBvcnQgY2xhc3MgZXhhbXBsZUF6dXJlS2V5VmF1bHQgZXh0ZW5kcyBCYXNlVGVzdFN0YWNrIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBjbGllbnRDb25maWcgPSBuZXcgRGF0YUF6dXJlcm1DbGllbnRDb25maWcoXG4gICAgICB0aGlzLFxuICAgICAgXCJDdXJyZW50Q2xpZW50Q29uZmlnXCIsXG4gICAgICB7fSxcbiAgICApO1xuXG4gICAgbmV3IEF6dXJlcm1Qcm92aWRlcih0aGlzLCBcImF6dXJlRmVhdHVyZVwiLCB7XG4gICAgICBmZWF0dXJlczoge30sXG4gICAgfSk7XG5cbiAgICBjb25zdCByZXNvdXJjZUdyb3VwID0gbmV3IFJlc291cmNlR3JvdXAodGhpcywgXCJyZ1wiLCB7XG4gICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgIG5hbWU6IGByZy0ke3RoaXMubmFtZX1gLFxuICAgICAgbGlmZWN5Y2xlOiB7XG4gICAgICAgIGlnbm9yZUNoYW5nZXM6IFtcInRhZ3NcIl0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgY29uc3QgYXp1cmVLZXlWYXVsdCA9IG5ldyBrdi5WYXVsdCh0aGlzLCBcImt2XCIsIHtcbiAgICAgIG5hbWU6IGBrdi0ke3RoaXMubmFtZX1gLFxuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICBza3U6IFwic3RhbmRhcmRcIixcbiAgICAgIHJlc291cmNlR3JvdXA6IHJlc291cmNlR3JvdXAsXG4gICAgICB0ZW5hbnRJZDogdXRpbC5nZXRBenVyZVRlbmFudElkKCksXG4gICAgICBuZXR3b3JrQWNsczoge1xuICAgICAgICBieXBhc3M6IFwiQXp1cmVTZXJ2aWNlc1wiLFxuICAgICAgICBkZWZhdWx0QWN0aW9uOiBcIkFsbG93XCIsXG4gICAgICAgIGlwUnVsZXM6IFtcIjAuMC4wLjAvMFwiXSxcbiAgICAgIH0sXG4gICAgICBzb2Z0RGVsZXRlUmV0ZW50aW9uRGF5czogNyxcbiAgICB9KTtcblxuICAgIGNvbnN0IGxvZ0FuYWx5dGljc1dvcmtzcGFjZSA9IG5ldyBMb2dBbmFseXRpY3NXb3Jrc3BhY2UoXG4gICAgICB0aGlzLFxuICAgICAgXCJsb2dfYW5hbHl0aWNzXCIsXG4gICAgICB7XG4gICAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgICBuYW1lOiBgbGEtJHt0aGlzLm5hbWV9YCxcbiAgICAgICAgcmVzb3VyY2VHcm91cE5hbWU6IHJlc291cmNlR3JvdXAubmFtZSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIC8vRGlhZyBTZXR0aW5nc1xuICAgIGF6dXJlS2V5VmF1bHQuYWRkRGlhZ1NldHRpbmdzKHtcbiAgICAgIG5hbWU6IFwiZGlhZ3NldHRpbmdzXCIsXG4gICAgICBsb2dBbmFseXRpY3NXb3Jrc3BhY2VJZDogbG9nQW5hbHl0aWNzV29ya3NwYWNlLmlkLFxuICAgICAgbWV0cmljQ2F0ZWdvcmllczogW1wiQWxsTWV0cmljc1wiXSxcbiAgICB9KTtcblxuICAgIC8vUkJBQ1xuICAgIGF6dXJlS2V5VmF1bHQuYWRkQWNjZXNzKGNsaWVudENvbmZpZy5vYmplY3RJZCwgXCJDb250cmlidXRvclwiKTtcblxuICAgIC8vIEFjY2VzcyBQb2xpY3lcbiAgICBhenVyZUtleVZhdWx0LmdyYW50U2VjcmV0QWRtaW5BY2Nlc3MoXG4gICAgICBcImJjMjZhNzAxLTZhY2ItNDExNy05M2UwLWU0NDA1NGUyMmQ2MFwiLFxuICAgICk7XG4gICAgYXp1cmVLZXlWYXVsdC5ncmFudEN1c3RvbUFjY2VzcyhjbGllbnRDb25maWcub2JqZWN0SWQsIHtcbiAgICAgIHN0b3JhZ2VQZXJtaXNzaW9uczogW1wiR2V0XCIsIFwiTGlzdFwiLCBcIlNldFwiLCBcIkRlbGV0ZVwiXSxcbiAgICAgIHNlY3JldFBlcm1pc3Npb25zOiBbXCJHZXRcIiwgXCJMaXN0XCIsIFwiU2V0XCIsIFwiRGVsZXRlXCJdLFxuICAgICAga2V5UGVybWlzc2lvbnM6IFtcbiAgICAgICAgXCJCYWNrdXBcIixcbiAgICAgICAgXCJDcmVhdGVcIixcbiAgICAgICAgXCJEZWNyeXB0XCIsXG4gICAgICAgIFwiRGVsZXRlXCIsXG4gICAgICAgIFwiRW5jcnlwdFwiLFxuICAgICAgICBcIkdldFwiLFxuICAgICAgICBcIkltcG9ydFwiLFxuICAgICAgICBcIkxpc3RcIixcbiAgICAgICAgXCJQdXJnZVwiLFxuICAgICAgICBcIlJlY292ZXJcIixcbiAgICAgICAgXCJSZXN0b3JlXCIsXG4gICAgICAgIFwiU2lnblwiLFxuICAgICAgICBcIlVud3JhcEtleVwiLFxuICAgICAgICBcIlVwZGF0ZVwiLFxuICAgICAgICBcIlZlcmlmeVwiLFxuICAgICAgICBcIldyYXBLZXlcIixcbiAgICAgICAgXCJSZWxlYXNlXCIsXG4gICAgICAgIFwiUm90YXRlXCIsXG4gICAgICAgIFwiR2V0Um90YXRpb25Qb2xpY3lcIixcbiAgICAgICAgXCJTZXRSb3RhdGlvblBvbGljeVwiLFxuICAgICAgXSxcbiAgICAgIGNlcnRpZmljYXRlUGVybWlzc2lvbnM6IFtcbiAgICAgICAgXCJHZXRcIixcbiAgICAgICAgXCJMaXN0XCIsXG4gICAgICAgIFwiQ3JlYXRlXCIsXG4gICAgICAgIFwiRGVsZXRlXCIsXG4gICAgICAgIFwiR2V0SXNzdWVyc1wiLFxuICAgICAgICBcIk1hbmFnZUlzc3VlcnNcIixcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICAvLyBDcmVhdGUgU2VjcmV0XG4gICAgYXp1cmVLZXlWYXVsdC5hZGRTZWNyZXQoXG4gICAgICBcInNlY3JldDFcIixcbiAgICAgIFwicGFzc3dvcmRcIixcbiAgICAgIFwiMjAzMy0wOC0yM1QxNToyMzoxN1pcIixcbiAgICAgIFwiYXBwbGljYXRpb24veC1wa2NzMTJcIixcbiAgICApO1xuICAgIGF6dXJlS2V5VmF1bHQuYWRkU2VjcmV0KFxuICAgICAgXCJjdXN0b21TZWNyZXROYW1lXCIsXG4gICAgICBcInBhc3N3b3JkXCIsXG4gICAgICBcIjIwMzMtMDgtMjNUMTU6MjM6MTdaXCIsXG4gICAgICBcImFwcGxpY2F0aW9uL3gtcGtjczEyXCIsXG4gICAgKTtcblxuICAgIC8vIENyZWF0ZSBLZXlcbiAgICBhenVyZUtleVZhdWx0LmFkZFJTQUtleShcImtleTFcIiwgXCIyMDMzLTA4LTIzVDE1OjIzOjE3WlwiKTtcbiAgICBhenVyZUtleVZhdWx0LmFkZEtleShcbiAgICAgIFwia2V5MlwiLFxuICAgICAgXCJSU0FcIixcbiAgICAgIDIwNDgsXG4gICAgICBbXCJlbmNyeXB0XCIsIFwiZGVjcnlwdFwiLCBcInNpZ25cIiwgXCJ2ZXJpZnlcIiwgXCJ3cmFwS2V5XCIsIFwidW53cmFwS2V5XCJdLFxuICAgICAgXCIyMDMzLTA4LTIzVDE1OjIzOjE3WlwiLFxuICAgICk7XG5cbiAgICAvLyBDcmVhdGUgQ2VydGlmaWNhdGVcbiAgICBhenVyZUtleVZhdWx0LmFkZFNlbGZTaWduZWRDZXJ0KFwiY2VydDFcIiwgXCJDTj1jb250b3NvLmNvbVwiLCBbXG4gICAgICBcImludGVybmFsLmNvbnRvc28uY29tXCIsXG4gICAgICBcImRvbWFpbi5oZWxsby53b3JsZFwiLFxuICAgIF0pO1xuICAgIGF6dXJlS2V5VmF1bHQuYWRkQ2VydElzc3VlcihcImlzc3VlcjFcIiwgXCJTc2xBZG1pblYyXCIpO1xuXG4gICAgLy8gT3V0cHV0cyB0byB1c2UgZm9yIEVuZCB0byBFbmQgVGVzdFxuICAgIGNvbnN0IGNka3RmVGVycmFmb3JtT3V0cHV0UkcgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KFxuICAgICAgdGhpcyxcbiAgICAgIFwicmVzb3VyY2VfZ3JvdXBfbmFtZVwiLFxuICAgICAge1xuICAgICAgICB2YWx1ZTogcmVzb3VyY2VHcm91cC5uYW1lLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgY2RrdGZUZXJyYWZvcm1PdXRwdXRSRy5vdmVycmlkZUxvZ2ljYWxJZChcInJlc291cmNlX2dyb3VwX25hbWVcIik7XG4gIH1cbn1cblxubmV3IGV4YW1wbGVBenVyZUtleVZhdWx0KGFwcCwgXCJ0ZXN0QXp1cmVLZXlWYXVsdFwiKTtcblxuYXBwLnN5bnRoKCk7XG4iXX0=
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.exampleAzureKubernetesCluster = void 0;
|
|
4
|
-
const log_analytics_workspace_1 = require("@cdktf/provider-azurerm/lib/log-analytics-workspace");
|
|
5
|
-
const provider_1 = require("@cdktf/provider-azurerm/lib/provider");
|
|
6
|
-
const resource_group_1 = require("@cdktf/provider-azurerm/lib/resource-group");
|
|
7
|
-
const cdktf_1 = require("cdktf");
|
|
8
|
-
const aks = require("..");
|
|
9
|
-
const testing_1 = require("../../testing");
|
|
10
|
-
const app = new cdktf_1.App();
|
|
11
|
-
class exampleAzureKubernetesCluster extends testing_1.BaseTestStack {
|
|
12
|
-
constructor(scope, id) {
|
|
13
|
-
super(scope, id);
|
|
14
|
-
new provider_1.AzurermProvider(this, "azureFeature", {
|
|
15
|
-
features: {
|
|
16
|
-
resourceGroup: {
|
|
17
|
-
preventDeletionIfContainsResources: false,
|
|
18
|
-
},
|
|
19
|
-
},
|
|
20
|
-
});
|
|
21
|
-
const resourceGroup = new resource_group_1.ResourceGroup(this, "rg", {
|
|
22
|
-
location: "eastus",
|
|
23
|
-
name: `rg-${this.name}`,
|
|
24
|
-
tags: {
|
|
25
|
-
test: "test",
|
|
26
|
-
},
|
|
27
|
-
lifecycle: {
|
|
28
|
-
ignoreChanges: ["tags"],
|
|
29
|
-
},
|
|
30
|
-
});
|
|
31
|
-
const logAnalyticsWorkspace = new log_analytics_workspace_1.LogAnalyticsWorkspace(this, "log_analytics", {
|
|
32
|
-
location: "eastus",
|
|
33
|
-
name: `la-${this.name}`,
|
|
34
|
-
resourceGroupName: resourceGroup.name,
|
|
35
|
-
});
|
|
36
|
-
const aksCluster = new aks.Cluster(this, "testAksCluster", {
|
|
37
|
-
name: "akstest",
|
|
38
|
-
location: "eastus",
|
|
39
|
-
resourceGroup: resourceGroup,
|
|
40
|
-
apiServerAuthorizedIpRanges: ["0.0.0.0"],
|
|
41
|
-
defaultNodePool: {
|
|
42
|
-
name: "default",
|
|
43
|
-
nodeCount: 1,
|
|
44
|
-
vmSize: "Standard_B2s",
|
|
45
|
-
},
|
|
46
|
-
identity: {
|
|
47
|
-
type: "SystemAssigned",
|
|
48
|
-
},
|
|
49
|
-
azureActiveDirectoryRoleBasedAccessControl: {
|
|
50
|
-
managed: true,
|
|
51
|
-
azureRbacEnabled: true,
|
|
52
|
-
},
|
|
53
|
-
});
|
|
54
|
-
//Diag Settings
|
|
55
|
-
aksCluster.addDiagSettings({
|
|
56
|
-
name: "diagsettings",
|
|
57
|
-
logAnalyticsWorkspaceId: logAnalyticsWorkspace.id,
|
|
58
|
-
metricCategories: ["AllMetrics"],
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
exports.exampleAzureKubernetesCluster = exampleAzureKubernetesCluster;
|
|
63
|
-
new exampleAzureKubernetesCluster(app, "testAzureKubernetesCluster");
|
|
64
|
-
app.synth();
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhhbXBsZUF6dXJlS3ViZXJuZXRlc0NsdXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUta3ViZXJuZXRlcy90ZXN0L0V4YW1wbGVBenVyZUt1YmVybmV0ZXNDbHVzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlHQUE0RjtBQUM1RixtRUFBdUU7QUFDdkUsK0VBQTJFO0FBQzNFLGlDQUE0QjtBQUU1QiwwQkFBMEI7QUFDMUIsMkNBQThDO0FBRTlDLE1BQU0sR0FBRyxHQUFHLElBQUksV0FBRyxFQUFFLENBQUM7QUFFdEIsTUFBYSw2QkFBOEIsU0FBUSx1QkFBYTtJQUM5RCxZQUFZLEtBQWdCLEVBQUUsRUFBVTtRQUN0QyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksMEJBQWUsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFO1lBQ3hDLFFBQVEsRUFBRTtnQkFDUixhQUFhLEVBQUU7b0JBQ2Isa0NBQWtDLEVBQUUsS0FBSztpQkFDMUM7YUFDRjtTQUNGLENBQUMsQ0FBQztRQUVILE1BQU0sYUFBYSxHQUFHLElBQUksOEJBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ2xELFFBQVEsRUFBRSxRQUFRO1lBQ2xCLElBQUksRUFBRSxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDdkIsSUFBSSxFQUFFO2dCQUNKLElBQUksRUFBRSxNQUFNO2FBQ2I7WUFDRCxTQUFTLEVBQUU7Z0JBQ1QsYUFBYSxFQUFFLENBQUMsTUFBTSxDQUFDO2FBQ3hCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLCtDQUFxQixDQUNyRCxJQUFJLEVBQ0osZUFBZSxFQUNmO1lBQ0UsUUFBUSxFQUFFLFFBQVE7WUFDbEIsSUFBSSxFQUFFLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRTtZQUN2QixpQkFBaUIsRUFBRSxhQUFhLENBQUMsSUFBSTtTQUN0QyxDQUNGLENBQUM7UUFFRixNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO1lBQ3pELElBQUksRUFBRSxTQUFTO1lBQ2YsUUFBUSxFQUFFLFFBQVE7WUFDbEIsYUFBYSxFQUFFLGFBQWE7WUFDNUIsMkJBQTJCLEVBQUUsQ0FBQyxTQUFTLENBQUM7WUFDeEMsZUFBZSxFQUFFO2dCQUNmLElBQUksRUFBRSxTQUFTO2dCQUNmLFNBQVMsRUFBRSxDQUFDO2dCQUNaLE1BQU0sRUFBRSxjQUFjO2FBQ3ZCO1lBQ0QsUUFBUSxFQUFFO2dCQUNSLElBQUksRUFBRSxnQkFBZ0I7YUFDdkI7WUFDRCwwQ0FBMEMsRUFBRTtnQkFDMUMsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsZ0JBQWdCLEVBQUUsSUFBSTthQUN2QjtTQUNGLENBQUMsQ0FBQztRQUVILGVBQWU7UUFDZixVQUFVLENBQUMsZUFBZSxDQUFDO1lBQ3pCLElBQUksRUFBRSxjQUFjO1lBQ3BCLHVCQUF1QixFQUFFLHFCQUFxQixDQUFDLEVBQUU7WUFDakQsZ0JBQWdCLEVBQUUsQ0FBQyxZQUFZLENBQUM7U0FDakMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBM0RELHNFQTJEQztBQUVELElBQUksNkJBQTZCLENBQUMsR0FBRyxFQUFFLDRCQUE0QixDQUFDLENBQUM7QUFFckUsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9nQW5hbHl0aWNzV29ya3NwYWNlIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9sb2ctYW5hbHl0aWNzLXdvcmtzcGFjZVwiO1xuaW1wb3J0IHsgQXp1cmVybVByb3ZpZGVyIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9wcm92aWRlclwiO1xuaW1wb3J0IHsgUmVzb3VyY2VHcm91cCB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvcmVzb3VyY2UtZ3JvdXBcIjtcbmltcG9ydCB7IEFwcCB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCAqIGFzIGFrcyBmcm9tIFwiLi5cIjtcbmltcG9ydCB7IEJhc2VUZXN0U3RhY2sgfSBmcm9tIFwiLi4vLi4vdGVzdGluZ1wiO1xuXG5jb25zdCBhcHAgPSBuZXcgQXBwKCk7XG5cbmV4cG9ydCBjbGFzcyBleGFtcGxlQXp1cmVLdWJlcm5ldGVzQ2x1c3RlciBleHRlbmRzIEJhc2VUZXN0U3RhY2sge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIG5ldyBBenVyZXJtUHJvdmlkZXIodGhpcywgXCJhenVyZUZlYXR1cmVcIiwge1xuICAgICAgZmVhdHVyZXM6IHtcbiAgICAgICAgcmVzb3VyY2VHcm91cDoge1xuICAgICAgICAgIHByZXZlbnREZWxldGlvbklmQ29udGFpbnNSZXNvdXJjZXM6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHJlc291cmNlR3JvdXAgPSBuZXcgUmVzb3VyY2VHcm91cCh0aGlzLCBcInJnXCIsIHtcbiAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgbmFtZTogYHJnLSR7dGhpcy5uYW1lfWAsXG4gICAgICB0YWdzOiB7XG4gICAgICAgIHRlc3Q6IFwidGVzdFwiLFxuICAgICAgfSxcbiAgICAgIGxpZmVjeWNsZToge1xuICAgICAgICBpZ25vcmVDaGFuZ2VzOiBbXCJ0YWdzXCJdLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGxvZ0FuYWx5dGljc1dvcmtzcGFjZSA9IG5ldyBMb2dBbmFseXRpY3NXb3Jrc3BhY2UoXG4gICAgICB0aGlzLFxuICAgICAgXCJsb2dfYW5hbHl0aWNzXCIsXG4gICAgICB7XG4gICAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgICBuYW1lOiBgbGEtJHt0aGlzLm5hbWV9YCxcbiAgICAgICAgcmVzb3VyY2VHcm91cE5hbWU6IHJlc291cmNlR3JvdXAubmFtZSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIGNvbnN0IGFrc0NsdXN0ZXIgPSBuZXcgYWtzLkNsdXN0ZXIodGhpcywgXCJ0ZXN0QWtzQ2x1c3RlclwiLCB7XG4gICAgICBuYW1lOiBcImFrc3Rlc3RcIixcbiAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgcmVzb3VyY2VHcm91cDogcmVzb3VyY2VHcm91cCxcbiAgICAgIGFwaVNlcnZlckF1dGhvcml6ZWRJcFJhbmdlczogW1wiMC4wLjAuMFwiXSxcbiAgICAgIGRlZmF1bHROb2RlUG9vbDoge1xuICAgICAgICBuYW1lOiBcImRlZmF1bHRcIixcbiAgICAgICAgbm9kZUNvdW50OiAxLFxuICAgICAgICB2bVNpemU6IFwiU3RhbmRhcmRfQjJzXCIsXG4gICAgICB9LFxuICAgICAgaWRlbnRpdHk6IHtcbiAgICAgICAgdHlwZTogXCJTeXN0ZW1Bc3NpZ25lZFwiLFxuICAgICAgfSxcbiAgICAgIGF6dXJlQWN0aXZlRGlyZWN0b3J5Um9sZUJhc2VkQWNjZXNzQ29udHJvbDoge1xuICAgICAgICBtYW5hZ2VkOiB0cnVlLFxuICAgICAgICBhenVyZVJiYWNFbmFibGVkOiB0cnVlLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIC8vRGlhZyBTZXR0aW5nc1xuICAgIGFrc0NsdXN0ZXIuYWRkRGlhZ1NldHRpbmdzKHtcbiAgICAgIG5hbWU6IFwiZGlhZ3NldHRpbmdzXCIsXG4gICAgICBsb2dBbmFseXRpY3NXb3Jrc3BhY2VJZDogbG9nQW5hbHl0aWNzV29ya3NwYWNlLmlkLFxuICAgICAgbWV0cmljQ2F0ZWdvcmllczogW1wiQWxsTWV0cmljc1wiXSxcbiAgICB9KTtcbiAgfVxufVxuXG5uZXcgZXhhbXBsZUF6dXJlS3ViZXJuZXRlc0NsdXN0ZXIoYXBwLCBcInRlc3RBenVyZUt1YmVybmV0ZXNDbHVzdGVyXCIpO1xuXG5hcHAuc3ludGgoKTtcbiJdfQ==
|