@microsoft/terraform-cdk-constructs 0.0.3-pre.10 → 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.
Files changed (202) hide show
  1. package/.jsii +858 -681
  2. package/API.md +499 -405
  3. package/README.md +4 -5
  4. package/docs/testing.md +39 -137
  5. package/lib/azure-actiongroup/lib/actiongroup.d.ts +1 -1
  6. package/lib/azure-actiongroup/lib/actiongroup.js +4 -4
  7. package/lib/azure-actiongroup/model/action-group-props.d.ts +3 -2
  8. package/lib/azure-actiongroup/model/action-group-props.js +1 -1
  9. package/lib/azure-actiongroup/test/AzureActionGroup.integ.js +66 -0
  10. package/lib/azure-actiongroup/test/AzureActionGroup.spec.js +5 -33
  11. package/lib/azure-applicationgateway/lib/gateway.d.ts +5 -3
  12. package/lib/azure-applicationgateway/lib/gateway.js +14 -7
  13. package/lib/azure-applicationgateway/test/AzureApplicationGateway.integ.d.ts +1 -0
  14. package/lib/azure-applicationgateway/test/AzureApplicationGateway.integ.js +272 -0
  15. package/lib/azure-applicationgateway/test/AzureApplicationGateway.spec.js +3 -35
  16. package/lib/azure-applicationinsights/lib/appinsights.d.ts +4 -3
  17. package/lib/azure-applicationinsights/lib/appinsights.js +6 -6
  18. package/lib/azure-applicationinsights/test/AzureAppInsights.integ.d.ts +1 -0
  19. package/lib/azure-applicationinsights/test/AzureAppInsights.integ.js +101 -0
  20. package/lib/azure-applicationinsights/test/AzureAppInsights.spec.js +4 -27
  21. package/lib/azure-containerregistry/lib/registry.d.ts +4 -3
  22. package/lib/azure-containerregistry/lib/registry.js +5 -5
  23. package/lib/azure-containerregistry/test/AzureContainerRegistry.integ.d.ts +1 -0
  24. package/lib/azure-containerregistry/test/AzureContainerRegistry.integ.js +68 -0
  25. package/lib/azure-containerregistry/test/AzureContainerRegistry.spec.js +4 -23
  26. package/lib/azure-datalake/lib/datalake.d.ts +1 -0
  27. package/lib/azure-datalake/lib/datalake.js +2 -1
  28. package/lib/azure-datalake/test/AzureDatalake.spec.d.ts +1 -0
  29. package/lib/azure-datalake/test/AzureDatalake.spec.js +32 -0
  30. package/lib/azure-datalake/test/AzureStorageAccount.integ.d.ts +1 -0
  31. package/lib/azure-datalake/test/AzureStorageAccount.integ.js +60 -0
  32. package/lib/azure-eventhub/lib/authorization.js +1 -1
  33. package/lib/azure-eventhub/lib/consumer.js +1 -1
  34. package/lib/azure-eventhub/lib/{cluster.d.ts → eventhubcluster.d.ts} +11 -7
  35. package/lib/azure-eventhub/lib/eventhubcluster.js +64 -0
  36. package/lib/azure-eventhub/lib/index.d.ts +1 -1
  37. package/lib/azure-eventhub/lib/index.js +2 -2
  38. package/lib/azure-eventhub/lib/instance.d.ts +1 -0
  39. package/lib/azure-eventhub/lib/instance.js +5 -4
  40. package/lib/azure-eventhub/lib/kusto-connection.js +1 -1
  41. package/lib/azure-eventhub/lib/namespace.d.ts +7 -6
  42. package/lib/azure-eventhub/lib/namespace.js +24 -26
  43. package/lib/azure-eventhub/test/AzureEventhub.integ.d.ts +1 -0
  44. package/lib/azure-eventhub/test/AzureEventhub.integ.js +72 -0
  45. package/lib/azure-eventhub/test/AzureEventhub.spec.js +4 -27
  46. package/lib/azure-functionapp/lib/functionapplinux.js +1 -1
  47. package/lib/azure-functionapp/test/AzureLinuxFunctionApp.integ.d.ts +1 -0
  48. package/lib/azure-functionapp/test/AzureLinuxFunctionApp.integ.js +117 -0
  49. package/lib/azure-functionapp/test/AzureLinuxFunctionApp.spec.js +4 -21
  50. package/lib/azure-keyvault/lib/certificate.js +2 -2
  51. package/lib/azure-keyvault/lib/key.js +1 -1
  52. package/lib/azure-keyvault/lib/policy.js +1 -1
  53. package/lib/azure-keyvault/lib/secret.js +1 -1
  54. package/lib/azure-keyvault/lib/vault.d.ts +3 -2
  55. package/lib/azure-keyvault/lib/vault.js +4 -4
  56. package/lib/azure-keyvault/test/AzureKeyVault.integ.d.ts +1 -0
  57. package/lib/azure-keyvault/test/AzureKeyVault.integ.js +119 -0
  58. package/lib/azure-keyvault/test/AzureKeyVault.spec.js +4 -35
  59. package/lib/azure-kubernetes/lib/cluster.js +1 -1
  60. package/lib/azure-kubernetes/test/AzureKubernetesCluster.integ.d.ts +1 -0
  61. package/lib/azure-kubernetes/test/AzureKubernetesCluster.integ.js +75 -0
  62. package/lib/azure-kubernetes/test/AzureKubernetesCluster.spec.js +4 -21
  63. package/lib/azure-kusto/lib/cluster.d.ts +9 -5
  64. package/lib/azure-kusto/lib/cluster.js +66 -42
  65. package/lib/azure-kusto/lib/compute-specification.js +1 -1
  66. package/lib/azure-kusto/lib/database.d.ts +7 -8
  67. package/lib/azure-kusto/lib/database.js +23 -25
  68. package/lib/azure-kusto/test/AzureKusto.integ.d.ts +1 -0
  69. package/lib/azure-kusto/test/AzureKusto.integ.js +74 -0
  70. package/lib/azure-kusto/test/AzureKusto.spec.js +3 -22
  71. package/lib/azure-loganalytics/lib/workspace.d.ts +6 -3
  72. package/lib/azure-loganalytics/lib/workspace.js +7 -6
  73. package/lib/azure-loganalytics/test/AzureLogAnalytics.integ.d.ts +1 -0
  74. package/lib/azure-loganalytics/test/AzureLogAnalytics.integ.js +117 -0
  75. package/lib/azure-loganalytics/test/AzureLogAnalytics.spec.js +4 -23
  76. package/lib/azure-metricalert/lib/metric-alert.js +1 -1
  77. package/lib/azure-metricalert/test/AzureMetricAlert.integ.d.ts +1 -0
  78. package/lib/azure-metricalert/test/AzureMetricAlert.integ.js +85 -0
  79. package/lib/azure-metricalert/test/AzureMetricAlert.spec.js +4 -21
  80. package/lib/azure-networksecuritygroup/lib/preconfigured-rules.js +1 -1
  81. package/lib/azure-networksecuritygroup/lib/securitygroup.d.ts +4 -3
  82. package/lib/azure-networksecuritygroup/lib/securitygroup.js +7 -7
  83. package/lib/azure-networksecuritygroup/test/AzureNetworkSecurityGroup.integ.d.ts +1 -0
  84. package/lib/azure-networksecuritygroup/test/AzureNetworkSecurityGroup.integ.js +85 -0
  85. package/lib/azure-networksecuritygroup/test/AzureNetworkSecurityGroup.spec.js +4 -23
  86. package/lib/azure-queryrulealert/lib/query-rule-alert.js +1 -1
  87. package/lib/azure-queryrulealert/test/AzureQueryRuleAlert.integ.d.ts +1 -0
  88. package/lib/azure-queryrulealert/test/AzureQueryRuleAlert.integ.js +63 -0
  89. package/lib/azure-queryrulealert/test/AzureQueryRuleAlert.spec.js +4 -21
  90. package/lib/azure-resourcegroup/lib/resource-group.js +1 -1
  91. package/lib/azure-resourcegroup/test/AzureResourceGroup.integ.d.ts +1 -0
  92. package/lib/azure-resourcegroup/test/AzureResourceGroup.integ.js +41 -0
  93. package/lib/azure-resourcegroup/test/AzureResourceGroup.spec.js +4 -17
  94. package/lib/azure-storageaccount/lib/account.d.ts +5 -0
  95. package/lib/azure-storageaccount/lib/account.js +3 -2
  96. package/lib/azure-storageaccount/lib/container.js +2 -2
  97. package/lib/azure-storageaccount/lib/fileshare.js +2 -2
  98. package/lib/azure-storageaccount/lib/queue.js +1 -1
  99. package/lib/azure-storageaccount/lib/table.js +1 -1
  100. package/lib/azure-storageaccount/test/AzureStorageAccount.integ.d.ts +1 -0
  101. package/lib/azure-storageaccount/test/AzureStorageAccount.integ.js +84 -0
  102. package/lib/azure-storageaccount/test/AzureStorageAccount.spec.js +4 -17
  103. package/lib/azure-virtualmachine/lib/image-references.js +2 -2
  104. package/lib/azure-virtualmachine/lib/vm.d.ts +29 -6
  105. package/lib/azure-virtualmachine/lib/vm.js +17 -15
  106. package/lib/azure-virtualmachine/test/AzureLinuxVirtualMachine.integ.d.ts +1 -0
  107. package/lib/azure-virtualmachine/test/AzureLinuxVirtualMachine.integ.js +109 -0
  108. package/lib/azure-virtualmachine/test/AzureLinuxVirtualMachine.spec.js +5 -25
  109. package/lib/azure-virtualmachine/test/AzureWindowsVirtualMachine.integ.d.ts +1 -0
  110. package/lib/azure-virtualmachine/test/AzureWindowsVirtualMachine.integ.js +105 -0
  111. package/lib/azure-virtualmachine/test/AzureWindowsVirtualMachine.spec.js +4 -23
  112. package/lib/azure-virtualmachinescaleset/lib/cluster.d.ts +28 -6
  113. package/lib/azure-virtualmachinescaleset/lib/cluster.js +13 -11
  114. package/lib/azure-virtualmachinescaleset/test/AzureLinuxVirtualMachineScaleSet.integ.d.ts +1 -0
  115. package/lib/azure-virtualmachinescaleset/test/AzureLinuxVirtualMachineScaleSet.integ.js +113 -0
  116. package/lib/azure-virtualmachinescaleset/test/AzureLinuxVirtualMachineScaleSet.spec.js +5 -25
  117. package/lib/azure-virtualmachinescaleset/test/AzureWindowsVirtualMachineScaleSet.integ.d.ts +1 -0
  118. package/lib/azure-virtualmachinescaleset/test/AzureWindowsVirtualMachineScaleSet.integ.js +109 -0
  119. package/lib/azure-virtualmachinescaleset/test/AzureWindowsVirtualMachineScaleSet.spec.js +4 -23
  120. package/lib/azure-virtualnetwork/lib/network.d.ts +4 -3
  121. package/lib/azure-virtualnetwork/lib/network.js +7 -6
  122. package/lib/azure-virtualnetwork/lib/peering.js +1 -1
  123. package/lib/azure-virtualnetwork/test/AzureVirtualNetwork.integ.d.ts +1 -0
  124. package/lib/azure-virtualnetwork/test/AzureVirtualNetwork.integ.js +92 -0
  125. package/lib/azure-virtualnetwork/test/AzureVirtualNetwork.spec.js +5 -25
  126. package/lib/core-azure/lib/diagsettings.d.ts +3 -2
  127. package/lib/core-azure/lib/diagsettings.js +15 -21
  128. package/lib/core-azure/lib/rbac.js +1 -1
  129. package/lib/core-azure/lib/resource.js +6 -4
  130. package/lib/core-azure/test/AzureResource.integ.d.ts +1 -0
  131. package/lib/core-azure/test/AzureResource.integ.js +75 -0
  132. package/lib/testing/index.d.ts +34 -0
  133. package/lib/testing/index.js +235 -2
  134. package/package.json +32 -11
  135. package/cdktf.out/manifest.json +0 -13
  136. package/cdktf.out/stacks/testAzureActionGroup/cdk.tf.json +0 -111
  137. package/cdktf.out/stacks/testAzureApplicationGateway/cdk.tf.json +0 -588
  138. package/cdktf.out/stacks/testAzureApplicationInsights/cdk.tf.json +0 -245
  139. package/cdktf.out/stacks/testAzureContainerRegistry/cdk.tf.json +0 -179
  140. package/cdktf.out/stacks/testAzureEventhub/cdk.tf.json +0 -236
  141. package/cdktf.out/stacks/testAzureKeyVault/cdk.tf.json +0 -436
  142. package/cdktf.out/stacks/testAzureKubernetesCluster/cdk.tf.json +0 -152
  143. package/cdktf.out/stacks/testAzureKusto/cdk.tf.json +0 -209
  144. package/cdktf.out/stacks/testAzureLinuxFunctionApp/cdk.tf.json +0 -439
  145. package/cdktf.out/stacks/testAzureLinuxVirtualMachineExample/cdk.tf.json +0 -283
  146. package/cdktf.out/stacks/testAzureLinuxVirtualMachineScaleSetExample/cdk.tf.json +0 -261
  147. package/cdktf.out/stacks/testAzureLogAnalytics/cdk.tf.json +0 -309
  148. package/cdktf.out/stacks/testAzureMetricAlert/cdk.tf.json +0 -161
  149. package/cdktf.out/stacks/testAzureNetworkSecurityGroup/cdk.tf.json +0 -271
  150. package/cdktf.out/stacks/testAzureQueryRuleAlert/cdk.tf.json +0 -122
  151. package/cdktf.out/stacks/testAzureResourceGroup/cdk.tf.json +0 -88
  152. package/cdktf.out/stacks/testAzureStorageAccount/cdk.tf.json +0 -339
  153. package/cdktf.out/stacks/testAzureVirtualNetwork/cdk.tf.json +0 -264
  154. package/cdktf.out/stacks/testAzureWindowVirtualMachineScaleSetExample/cdk.tf.json +0 -261
  155. package/cdktf.out/stacks/testAzureWindowsVirtualMachineExample/cdk.tf.json +0 -280
  156. package/cdktf.out/stacks/testExampleAzureResource/cdk.tf.json +0 -167
  157. package/lib/azure-actiongroup/test/ExampleAzureActionGroup.d.ts +0 -5
  158. package/lib/azure-actiongroup/test/ExampleAzureActionGroup.js +0 -66
  159. package/lib/azure-applicationgateway/test/ExampleAzureApplicationGateway.d.ts +0 -5
  160. package/lib/azure-applicationgateway/test/ExampleAzureApplicationGateway.js +0 -267
  161. package/lib/azure-applicationinsights/test/ExampleAzureApplicationInsights.d.ts +0 -5
  162. package/lib/azure-applicationinsights/test/ExampleAzureApplicationInsights.js +0 -87
  163. package/lib/azure-containerregistry/test/ExampleAzureContainerRegistry.d.ts +0 -5
  164. package/lib/azure-containerregistry/test/ExampleAzureContainerRegistry.js +0 -57
  165. package/lib/azure-eventhub/lib/cluster.js +0 -64
  166. package/lib/azure-eventhub/test/ExampleAzureEventhub.d.ts +0 -5
  167. package/lib/azure-eventhub/test/ExampleAzureEventhub.js +0 -72
  168. package/lib/azure-functionapp/test/ExampleAzureLinuxFunctionApp.d.ts +0 -5
  169. package/lib/azure-functionapp/test/ExampleAzureLinuxFunctionApp.js +0 -123
  170. package/lib/azure-keyvault/test/ExampleAzureKeyVault.d.ts +0 -5
  171. package/lib/azure-keyvault/test/ExampleAzureKeyVault.js +0 -112
  172. package/lib/azure-kubernetes/test/ExampleAzureKubernetesCluster.d.ts +0 -5
  173. package/lib/azure-kubernetes/test/ExampleAzureKubernetesCluster.js +0 -65
  174. package/lib/azure-kusto/test/ExampleAzureKusto.d.ts +0 -5
  175. package/lib/azure-kusto/test/ExampleAzureKusto.js +0 -71
  176. package/lib/azure-loganalytics/test/ExampleAzureLogAnalytics.d.ts +0 -5
  177. package/lib/azure-loganalytics/test/ExampleAzureLogAnalytics.js +0 -115
  178. package/lib/azure-metricalert/test/ExampleAzureMetricAlert.d.ts +0 -5
  179. package/lib/azure-metricalert/test/ExampleAzureMetricAlert.js +0 -81
  180. package/lib/azure-networksecuritygroup/test/ExampleAzureNetworkSecurityGroup.d.ts +0 -5
  181. package/lib/azure-networksecuritygroup/test/ExampleAzureNetworkSecurityGroup.js +0 -97
  182. package/lib/azure-queryrulealert/test/ExampleAzureQueryRuleAlert.d.ts +0 -5
  183. package/lib/azure-queryrulealert/test/ExampleAzureQueryRuleAlert.js +0 -67
  184. package/lib/azure-resourcegroup/test/ExampleAzureResourceGroup.d.ts +0 -5
  185. package/lib/azure-resourcegroup/test/ExampleAzureResourceGroup.js +0 -29
  186. package/lib/azure-storageaccount/test/ExampleAzureStorageAccount.d.ts +0 -5
  187. package/lib/azure-storageaccount/test/ExampleAzureStorageAccount.js +0 -102
  188. package/lib/azure-virtualmachine/test/ExampleAzureLinuxVirtualMachine.d.ts +0 -5
  189. package/lib/azure-virtualmachine/test/ExampleAzureLinuxVirtualMachine.js +0 -106
  190. package/lib/azure-virtualmachine/test/ExampleAzureWindowsVirtualMachine.d.ts +0 -5
  191. package/lib/azure-virtualmachine/test/ExampleAzureWindowsVirtualMachine.js +0 -102
  192. package/lib/azure-virtualmachinescaleset/test/ExampleAzureLinuxVirtualMachineScaleSet.d.ts +0 -5
  193. package/lib/azure-virtualmachinescaleset/test/ExampleAzureLinuxVirtualMachineScaleSet.js +0 -107
  194. package/lib/azure-virtualmachinescaleset/test/ExampleAzureWindowsVirtualMachineScaleSet.d.ts +0 -5
  195. package/lib/azure-virtualmachinescaleset/test/ExampleAzureWindowsVirtualMachineScaleSet.js +0 -103
  196. package/lib/azure-virtualnetwork/test/ExampleAzureVirtualNetwork.d.ts +0 -5
  197. package/lib/azure-virtualnetwork/test/ExampleAzureVirtualNetwork.js +0 -88
  198. package/lib/core-azure/test/AzureResource.spec.js +0 -19
  199. package/lib/core-azure/test/ExampleAzureResource.d.ts +0 -5
  200. package/lib/core-azure/test/ExampleAzureResource.js +0 -67
  201. package/tfsec.json +0 -4
  202. /package/lib/{core-azure/test/AzureResource.spec.d.ts → azure-actiongroup/test/AzureActionGroup.integ.d.ts} +0 -0
@@ -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==
@@ -1,5 +0,0 @@
1
- import { Construct } from "constructs";
2
- import { BaseTestStack } from "../../testing";
3
- export declare class exampleAzureKusto extends BaseTestStack {
4
- constructor(scope: Construct, id: string);
5
- }
@@ -1,71 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.exampleAzureKusto = 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 kusto = require("..");
9
- const testing_1 = require("../../testing");
10
- const compute_specification_1 = require("../lib/compute-specification");
11
- const app = new cdktf_1.App();
12
- class exampleAzureKusto extends testing_1.BaseTestStack {
13
- constructor(scope, id) {
14
- super(scope, id);
15
- const clientConfig = new data_azurerm_client_config_1.DataAzurermClientConfig(this, "CurrentClientConfig", {});
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
- name: `rg-${this.name}`,
25
- location: "eastus",
26
- });
27
- // Create Kusto Cluster
28
- const kustoCluster = new kusto.Cluster(this, "kusto", {
29
- resourceGroup: resourceGroup,
30
- name: `kusto${this.name}`,
31
- sku: compute_specification_1.ComputeSpecification.devtestExtraSmallEav4,
32
- });
33
- // Add RBAC to Kusto Cluster
34
- kustoCluster.addAccess(clientConfig.objectId, "Contributor");
35
- // Create Database
36
- const testDB1 = kustoCluster.addDatabase({
37
- kusto: kustoCluster,
38
- name: "testDB1",
39
- hotCachePeriod: "P7D",
40
- softDeletePeriod: "P31D",
41
- });
42
- // Add Permision to Kusto Database
43
- testDB1.addPermission({
44
- name: "User1Admin",
45
- tenantId: clientConfig.tenantId,
46
- principalId: clientConfig.clientId,
47
- principalType: "User",
48
- role: "Admin",
49
- });
50
- // Create Table in Kusto Database
51
- testDB1.addTable("MyTestTable", [
52
- {
53
- columnName: "Timestamp",
54
- columnType: "datetime",
55
- },
56
- {
57
- columnName: "User",
58
- columnType: "string",
59
- },
60
- {
61
- columnName: "Value",
62
- columnType: "int32",
63
- },
64
- ]);
65
- testDB1.addScript("MyTestScript", ".create table MyTestTable2 ( Timestamp:datetime, User:string, Value:int32 )");
66
- }
67
- }
68
- exports.exampleAzureKusto = exampleAzureKusto;
69
- new exampleAzureKusto(app, "testAzureKusto");
70
- app.synth();
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhhbXBsZUF6dXJlS3VzdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUta3VzdG8vdGVzdC9FeGFtcGxlQXp1cmVLdXN0by50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1R0FBaUc7QUFDakcsbUVBQXVFO0FBQ3ZFLCtFQUEyRTtBQUMzRSxpQ0FBNEI7QUFFNUIsNEJBQTRCO0FBQzVCLDJDQUE4QztBQUM5Qyx3RUFBb0U7QUFFcEUsTUFBTSxHQUFHLEdBQUcsSUFBSSxXQUFHLEVBQUUsQ0FBQztBQUV0QixNQUFhLGlCQUFrQixTQUFRLHVCQUFhO0lBQ2xELFlBQVksS0FBZ0IsRUFBRSxFQUFVO1FBQ3RDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxZQUFZLEdBQUcsSUFBSSxvREFBdUIsQ0FDOUMsSUFBSSxFQUNKLHFCQUFxQixFQUNyQixFQUFFLENBQ0gsQ0FBQztRQUVGLElBQUksMEJBQWUsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFO1lBQ3hDLFFBQVEsRUFBRTtnQkFDUixhQUFhLEVBQUU7b0JBQ2Isa0NBQWtDLEVBQUUsS0FBSztpQkFDMUM7YUFDRjtTQUNGLENBQUMsQ0FBQztRQUVILE1BQU0sYUFBYSxHQUFHLElBQUksOEJBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ2xELElBQUksRUFBRSxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDdkIsUUFBUSxFQUFFLFFBQVE7U0FDbkIsQ0FBQyxDQUFDO1FBRUgsdUJBQXVCO1FBQ3ZCLE1BQU0sWUFBWSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFO1lBQ3BELGFBQWEsRUFBRSxhQUFhO1lBQzVCLElBQUksRUFBRSxRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDekIsR0FBRyxFQUFFLDRDQUFvQixDQUFDLHFCQUFxQjtTQUNoRCxDQUFDLENBQUM7UUFFSCw0QkFBNEI7UUFDNUIsWUFBWSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBRTdELGtCQUFrQjtRQUNsQixNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDO1lBQ3ZDLEtBQUssRUFBRSxZQUFZO1lBQ25CLElBQUksRUFBRSxTQUFTO1lBQ2YsY0FBYyxFQUFFLEtBQUs7WUFDckIsZ0JBQWdCLEVBQUUsTUFBTTtTQUN6QixDQUFDLENBQUM7UUFFSCxrQ0FBa0M7UUFDbEMsT0FBTyxDQUFDLGFBQWEsQ0FBQztZQUNwQixJQUFJLEVBQUUsWUFBWTtZQUNsQixRQUFRLEVBQUUsWUFBWSxDQUFDLFFBQVE7WUFDL0IsV0FBVyxFQUFFLFlBQVksQ0FBQyxRQUFRO1lBQ2xDLGFBQWEsRUFBRSxNQUFNO1lBQ3JCLElBQUksRUFBRSxPQUFPO1NBQ2QsQ0FBQyxDQUFDO1FBRUgsaUNBQWlDO1FBQ2pDLE9BQU8sQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFO1lBQzlCO2dCQUNFLFVBQVUsRUFBRSxXQUFXO2dCQUN2QixVQUFVLEVBQUUsVUFBVTthQUN2QjtZQUNEO2dCQUNFLFVBQVUsRUFBRSxNQUFNO2dCQUNsQixVQUFVLEVBQUUsUUFBUTthQUNyQjtZQUNEO2dCQUNFLFVBQVUsRUFBRSxPQUFPO2dCQUNuQixVQUFVLEVBQUUsT0FBTzthQUNwQjtTQUNGLENBQUMsQ0FBQztRQUVILE9BQU8sQ0FBQyxTQUFTLENBQ2YsY0FBYyxFQUNkLDZFQUE2RSxDQUM5RSxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBdkVELDhDQXVFQztBQUVELElBQUksaUJBQWlCLENBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDLENBQUM7QUFFN0MsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YUF6dXJlcm1DbGllbnRDb25maWcgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL2RhdGEtYXp1cmVybS1jbGllbnQtY29uZmlnXCI7XG5pbXBvcnQgeyBBenVyZXJtUHJvdmlkZXIgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3Byb3ZpZGVyXCI7XG5pbXBvcnQgeyBSZXNvdXJjZUdyb3VwIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9yZXNvdXJjZS1ncm91cFwiO1xuaW1wb3J0IHsgQXBwIH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMga3VzdG8gZnJvbSBcIi4uXCI7XG5pbXBvcnQgeyBCYXNlVGVzdFN0YWNrIH0gZnJvbSBcIi4uLy4uL3Rlc3RpbmdcIjtcbmltcG9ydCB7IENvbXB1dGVTcGVjaWZpY2F0aW9uIH0gZnJvbSBcIi4uL2xpYi9jb21wdXRlLXNwZWNpZmljYXRpb25cIjtcblxuY29uc3QgYXBwID0gbmV3IEFwcCgpO1xuXG5leHBvcnQgY2xhc3MgZXhhbXBsZUF6dXJlS3VzdG8gZXh0ZW5kcyBCYXNlVGVzdFN0YWNrIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBjbGllbnRDb25maWcgPSBuZXcgRGF0YUF6dXJlcm1DbGllbnRDb25maWcoXG4gICAgICB0aGlzLFxuICAgICAgXCJDdXJyZW50Q2xpZW50Q29uZmlnXCIsXG4gICAgICB7fSxcbiAgICApO1xuXG4gICAgbmV3IEF6dXJlcm1Qcm92aWRlcih0aGlzLCBcImF6dXJlRmVhdHVyZVwiLCB7XG4gICAgICBmZWF0dXJlczoge1xuICAgICAgICByZXNvdXJjZUdyb3VwOiB7XG4gICAgICAgICAgcHJldmVudERlbGV0aW9uSWZDb250YWluc1Jlc291cmNlczogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgY29uc3QgcmVzb3VyY2VHcm91cCA9IG5ldyBSZXNvdXJjZUdyb3VwKHRoaXMsIFwicmdcIiwge1xuICAgICAgbmFtZTogYHJnLSR7dGhpcy5uYW1lfWAsXG4gICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSBLdXN0byBDbHVzdGVyXG4gICAgY29uc3Qga3VzdG9DbHVzdGVyID0gbmV3IGt1c3RvLkNsdXN0ZXIodGhpcywgXCJrdXN0b1wiLCB7XG4gICAgICByZXNvdXJjZUdyb3VwOiByZXNvdXJjZUdyb3VwLFxuICAgICAgbmFtZTogYGt1c3RvJHt0aGlzLm5hbWV9YCwgLy8gT25seSBsb3dlcmNhc2UgQWxwaGFudW1lcmljIGNoYXJhY3RlcnMgYWxsb3dlZC5cbiAgICAgIHNrdTogQ29tcHV0ZVNwZWNpZmljYXRpb24uZGV2dGVzdEV4dHJhU21hbGxFYXY0LFxuICAgIH0pO1xuXG4gICAgLy8gQWRkIFJCQUMgdG8gS3VzdG8gQ2x1c3RlclxuICAgIGt1c3RvQ2x1c3Rlci5hZGRBY2Nlc3MoY2xpZW50Q29uZmlnLm9iamVjdElkLCBcIkNvbnRyaWJ1dG9yXCIpO1xuXG4gICAgLy8gQ3JlYXRlIERhdGFiYXNlXG4gICAgY29uc3QgdGVzdERCMSA9IGt1c3RvQ2x1c3Rlci5hZGREYXRhYmFzZSh7XG4gICAgICBrdXN0bzoga3VzdG9DbHVzdGVyLFxuICAgICAgbmFtZTogXCJ0ZXN0REIxXCIsXG4gICAgICBob3RDYWNoZVBlcmlvZDogXCJQN0RcIixcbiAgICAgIHNvZnREZWxldGVQZXJpb2Q6IFwiUDMxRFwiLFxuICAgIH0pO1xuXG4gICAgLy8gQWRkIFBlcm1pc2lvbiB0byBLdXN0byBEYXRhYmFzZVxuICAgIHRlc3REQjEuYWRkUGVybWlzc2lvbih7XG4gICAgICBuYW1lOiBcIlVzZXIxQWRtaW5cIixcbiAgICAgIHRlbmFudElkOiBjbGllbnRDb25maWcudGVuYW50SWQsXG4gICAgICBwcmluY2lwYWxJZDogY2xpZW50Q29uZmlnLmNsaWVudElkLFxuICAgICAgcHJpbmNpcGFsVHlwZTogXCJVc2VyXCIsXG4gICAgICByb2xlOiBcIkFkbWluXCIsXG4gICAgfSk7XG5cbiAgICAvLyBDcmVhdGUgVGFibGUgaW4gS3VzdG8gRGF0YWJhc2VcbiAgICB0ZXN0REIxLmFkZFRhYmxlKFwiTXlUZXN0VGFibGVcIiwgW1xuICAgICAge1xuICAgICAgICBjb2x1bW5OYW1lOiBcIlRpbWVzdGFtcFwiLFxuICAgICAgICBjb2x1bW5UeXBlOiBcImRhdGV0aW1lXCIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb2x1bW5OYW1lOiBcIlVzZXJcIixcbiAgICAgICAgY29sdW1uVHlwZTogXCJzdHJpbmdcIixcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGNvbHVtbk5hbWU6IFwiVmFsdWVcIixcbiAgICAgICAgY29sdW1uVHlwZTogXCJpbnQzMlwiLFxuICAgICAgfSxcbiAgICBdKTtcblxuICAgIHRlc3REQjEuYWRkU2NyaXB0KFxuICAgICAgXCJNeVRlc3RTY3JpcHRcIixcbiAgICAgIFwiLmNyZWF0ZSB0YWJsZSBNeVRlc3RUYWJsZTIgKCBUaW1lc3RhbXA6ZGF0ZXRpbWUsIFVzZXI6c3RyaW5nLCBWYWx1ZTppbnQzMiApXCIsXG4gICAgKTtcbiAgfVxufVxuXG5uZXcgZXhhbXBsZUF6dXJlS3VzdG8oYXBwLCBcInRlc3RBenVyZUt1c3RvXCIpO1xuXG5hcHAuc3ludGgoKTtcbiJdfQ==
@@ -1,5 +0,0 @@
1
- import { Construct } from "constructs";
2
- import { BaseTestStack } from "../../testing";
3
- export declare class exampleAzureLogAnalytics extends BaseTestStack {
4
- constructor(scope: Construct, id: string);
5
- }
@@ -1,115 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.exampleAzureLogAnalytics = void 0;
4
- const data_azurerm_client_config_1 = require("@cdktf/provider-azurerm/lib/data-azurerm-client-config");
5
- const eventhub_namespace_1 = require("@cdktf/provider-azurerm/lib/eventhub-namespace");
6
- const provider_1 = require("@cdktf/provider-azurerm/lib/provider");
7
- const resource_group_1 = require("@cdktf/provider-azurerm/lib/resource-group");
8
- const storage_account_1 = require("@cdktf/provider-azurerm/lib/storage-account");
9
- const cdktf = require("cdktf");
10
- const cdktf_1 = require("cdktf");
11
- const la = require("..");
12
- const testing_1 = require("../../testing");
13
- const app = new cdktf_1.App();
14
- class exampleAzureLogAnalytics 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
- });
25
- const namespace = new eventhub_namespace_1.EventhubNamespace(this, "ehns", {
26
- name: `ehns-${this.name}`,
27
- resourceGroupName: resourceGroup.name,
28
- location: resourceGroup.location,
29
- sku: "Standard",
30
- });
31
- const storage = new storage_account_1.StorageAccount(this, "storage", {
32
- name: `sta${this.name}88t97`,
33
- resourceGroupName: resourceGroup.name,
34
- location: resourceGroup.location,
35
- accountReplicationType: "LRS",
36
- accountTier: "Standard",
37
- minTlsVersion: "TLS1_2",
38
- publicNetworkAccessEnabled: false,
39
- networkRules: {
40
- bypass: ["AzureServices"],
41
- defaultAction: "Deny",
42
- },
43
- });
44
- const logAnalyticsWorkspace = new la.Workspace(this, "la", {
45
- name: `la-${this.name}`,
46
- location: "eastus",
47
- retention: 90,
48
- sku: "PerGB2018",
49
- resourceGroup: resourceGroup,
50
- functions: [
51
- {
52
- name: "function_name_1",
53
- displayName: "Example function 1",
54
- query: "Event | where EventLevelName != 'Informational' | where TimeGenerated > ago(24h)",
55
- functionAlias: "function_name_1",
56
- functionParameters: [],
57
- },
58
- {
59
- name: "function_name_2",
60
- displayName: "Example function 2",
61
- query: "Event | where EventLevelName != 'Informational' | where TimeGenerated > ago(24h)",
62
- functionAlias: "function_name_2",
63
- functionParameters: ["typeArg:string=mail", "tagsArg:string=dc"],
64
- },
65
- ],
66
- dataExport: [
67
- {
68
- name: "export-test",
69
- exportDestinationId: namespace.id,
70
- tableNames: ["Heartbeat"],
71
- enabled: true,
72
- },
73
- ],
74
- });
75
- // Test RBAC
76
- logAnalyticsWorkspace.addAccess(clientConfig.objectId, "Contributor");
77
- logAnalyticsWorkspace.addAccess(clientConfig.objectId, "Monitoring Reader");
78
- // Test Diag Settings
79
- logAnalyticsWorkspace.addDiagSettings({ storageAccountId: storage.id });
80
- // Test Metric Alert
81
- logAnalyticsWorkspace.addMetricAlert({
82
- name: "metricAlert-test",
83
- criteria: [
84
- {
85
- metricName: "Heartbeat",
86
- metricNamespace: "Microsoft.operationalinsights/workspaces",
87
- aggregation: "Average",
88
- operator: "LessThan",
89
- threshold: 0,
90
- },
91
- ],
92
- });
93
- // Outputs to use for End to End Test
94
- const cdktfTerraformOutputRG = new cdktf.TerraformOutput(this, "resource_group_name", {
95
- value: resourceGroup.name,
96
- });
97
- const cdktfTerraformOutputLAName = new cdktf.TerraformOutput(this, "loganalytics_workspace_name", {
98
- value: logAnalyticsWorkspace.props.name,
99
- });
100
- const cdktfTerraformOutputLASku = new cdktf.TerraformOutput(this, "loganalytics_workspace_sku", {
101
- value: logAnalyticsWorkspace.props.sku,
102
- });
103
- const cdktfTerraformOutputLARetention = new cdktf.TerraformOutput(this, "loganalytics_workspace_retention", {
104
- value: logAnalyticsWorkspace.props.retention,
105
- });
106
- cdktfTerraformOutputRG.overrideLogicalId("resource_group_name");
107
- cdktfTerraformOutputLAName.overrideLogicalId("loganalytics_workspace_name");
108
- cdktfTerraformOutputLASku.overrideLogicalId("loganalytics_workspace_sku");
109
- cdktfTerraformOutputLARetention.overrideLogicalId("loganalytics_workspace_retention");
110
- }
111
- }
112
- exports.exampleAzureLogAnalytics = exampleAzureLogAnalytics;
113
- new exampleAzureLogAnalytics(app, "testAzureLogAnalytics");
114
- app.synth();
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhhbXBsZUF6dXJlTG9nQW5hbHl0aWNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F6dXJlLWxvZ2FuYWx5dGljcy90ZXN0L0V4YW1wbGVBenVyZUxvZ0FuYWx5dGljcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1R0FBaUc7QUFDakcsdUZBQW1GO0FBQ25GLG1FQUF1RTtBQUN2RSwrRUFBMkU7QUFDM0UsaUZBQTZFO0FBQzdFLCtCQUErQjtBQUMvQixpQ0FBNEI7QUFFNUIseUJBQXlCO0FBQ3pCLDJDQUE4QztBQUU5QyxNQUFNLEdBQUcsR0FBRyxJQUFJLFdBQUcsRUFBRSxDQUFDO0FBRXRCLE1BQWEsd0JBQXlCLFNBQVEsdUJBQWE7SUFDekQsWUFBWSxLQUFnQixFQUFFLEVBQVU7UUFDdEMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLFlBQVksR0FBRyxJQUFJLG9EQUF1QixDQUM5QyxJQUFJLEVBQ0oscUJBQXFCLEVBQ3JCLEVBQUUsQ0FDSCxDQUFDO1FBRUYsSUFBSSwwQkFBZSxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUU7WUFDeEMsUUFBUSxFQUFFLEVBQUU7U0FDYixDQUFDLENBQUM7UUFFSCxNQUFNLGFBQWEsR0FBRyxJQUFJLDhCQUFhLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRTtZQUNsRCxRQUFRLEVBQUUsUUFBUTtZQUNsQixJQUFJLEVBQUUsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFO1NBQ3hCLENBQUMsQ0FBQztRQUVILE1BQU0sU0FBUyxHQUFHLElBQUksc0NBQWlCLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUNwRCxJQUFJLEVBQUUsUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ3pCLGlCQUFpQixFQUFFLGFBQWEsQ0FBQyxJQUFJO1lBQ3JDLFFBQVEsRUFBRSxhQUFhLENBQUMsUUFBUTtZQUNoQyxHQUFHLEVBQUUsVUFBVTtTQUNo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cUJBQXFCLENBQUMsS0FBSyxDQUFDLEdBQUc7U0FDdkMsQ0FDRixDQUFDO1FBQ0YsTUFBTSwrQkFBK0IsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQy9ELElBQUksRUFDSixrQ0FBa0MsRUFDbEM7WUFDRSxLQUFLLEVBQUUscUJBQXFCLENBQUMsS0FBSyxDQUFDLFNBQVM7U0FDN0MsQ0FDRixDQUFDO1FBRUYsc0JBQXNCLENBQUMsaUJBQWlCLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNoRSwwQkFBMEIsQ0FBQyxpQkFBaUIsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBQzVFLHlCQUF5QixDQUFDLGlCQUFpQixDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDMUUsK0JBQStCLENBQUMsaUJBQWlCLENBQy9DLGtDQUFrQyxDQUNuQyxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBcElELDREQW9JQztBQUVELElBQUksd0JBQXdCLENBQUMsR0FBRyxFQUFFLHVCQUF1QixDQUFDLENBQUM7QUFFM0QsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YUF6dXJlcm1DbGllbnRDb25maWcgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL2RhdGEtYXp1cmVybS1jbGllbnQtY29uZmlnXCI7XG5pbXBvcnQgeyBFdmVudGh1Yk5hbWVzcGFjZSB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvZXZlbnRodWItbmFtZXNwYWNlXCI7XG5pbXBvcnQgeyBBenVyZXJtUHJvdmlkZXIgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3Byb3ZpZGVyXCI7XG5pbXBvcnQgeyBSZXNvdXJjZUdyb3VwIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9yZXNvdXJjZS1ncm91cFwiO1xuaW1wb3J0IHsgU3RvcmFnZUFjY291bnQgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3N0b3JhZ2UtYWNjb3VudFwiO1xuaW1wb3J0ICogYXMgY2RrdGYgZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBBcHAgfSBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgKiBhcyBsYSBmcm9tIFwiLi5cIjtcbmltcG9ydCB7IEJhc2VUZXN0U3RhY2sgfSBmcm9tIFwiLi4vLi4vdGVzdGluZ1wiO1xuXG5jb25zdCBhcHAgPSBuZXcgQXBwKCk7XG5cbmV4cG9ydCBjbGFzcyBleGFtcGxlQXp1cmVMb2dBbmFseXRpY3MgZXh0ZW5kcyBCYXNlVGVzdFN0YWNrIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBjbGllbnRDb25maWcgPSBuZXcgRGF0YUF6dXJlcm1DbGllbnRDb25maWcoXG4gICAgICB0aGlzLFxuICAgICAgXCJDdXJyZW50Q2xpZW50Q29uZmlnXCIsXG4gICAgICB7fSxcbiAgICApO1xuXG4gICAgbmV3IEF6dXJlcm1Qcm92aWRlcih0aGlzLCBcImF6dXJlRmVhdHVyZVwiLCB7XG4gICAgICBmZWF0dXJlczoge30sXG4gICAgfSk7XG5cbiAgICBjb25zdCByZXNvdXJjZUdyb3VwID0gbmV3IFJlc291cmNlR3JvdXAodGhpcywgXCJyZ1wiLCB7XG4gICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgIG5hbWU6IGByZy0ke3RoaXMubmFtZX1gLFxuICAgIH0pO1xuXG4gICAgY29uc3QgbmFtZXNwYWNlID0gbmV3IEV2ZW50aHViTmFtZXNwYWNlKHRoaXMsIFwiZWhuc1wiLCB7XG4gICAgICBuYW1lOiBgZWhucy0ke3RoaXMubmFtZX1gLFxuICAgICAgcmVzb3VyY2VHcm91cE5hbWU6IHJlc291cmNlR3JvdXAubmFtZSxcbiAgICAgIGxvY2F0aW9uOiByZXNvdXJjZUdyb3VwLmxvY2F0aW9uLFxuICAgICAgc2t1OiBcIlN0YW5kYXJkXCIsXG4gICAgfSk7XG5cbiAgICBjb25zdCBzdG9yYWdlID0gbmV3IFN0b3JhZ2VBY2NvdW50KHRoaXMsIFwic3RvcmFnZVwiLCB7XG4gICAgICBuYW1lOiBgc3RhJHt0aGlzLm5hbWV9ODh0OTdgLFxuICAgICAgcmVzb3VyY2VHcm91cE5hbWU6IHJlc291cmNlR3JvdXAubmFtZSxcbiAgICAgIGxvY2F0aW9uOiByZXNvdXJjZUdyb3VwLmxvY2F0aW9uLFxuICAgICAgYWNjb3VudFJlcGxpY2F0aW9uVHlwZTogXCJMUlNcIixcbiAgICAgIGFjY291bnRUaWVyOiBcIlN0YW5kYXJkXCIsXG4gICAgICBtaW5UbHNWZXJzaW9uOiBcIlRMUzFfMlwiLFxuICAgICAgcHVibGljTmV0d29ya0FjY2Vzc0VuYWJsZWQ6IGZhbHNlLFxuICAgICAgbmV0d29ya1J1bGVzOiB7XG4gICAgICAgIGJ5cGFzczogW1wiQXp1cmVTZXJ2aWNlc1wiXSxcbiAgICAgICAgZGVmYXVsdEFjdGlvbjogXCJEZW55XCIsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgY29uc3QgbG9nQW5hbHl0aWNzV29ya3NwYWNlID0gbmV3IGxhLldvcmtzcGFjZSh0aGlzLCBcImxhXCIsIHtcbiAgICAgIG5hbWU6IGBsYS0ke3RoaXMubmFtZX1gLFxuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICByZXRlbnRpb246IDkwLFxuICAgICAgc2t1OiBcIlBlckdCMjAxOFwiLFxuICAgICAgcmVzb3VyY2VHcm91cDogcmVzb3VyY2VHcm91cCxcbiAgICAgIGZ1bmN0aW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJmdW5jdGlvbl9uYW1lXzFcIixcbiAgICAgICAgICBkaXNwbGF5TmFtZTogXCJFeGFtcGxlIGZ1bmN0aW9uIDFcIixcbiAgICAgICAgICBxdWVyeTpcbiAgICAgICAgICAgIFwiRXZlbnQgfCB3aGVyZSBFdmVudExldmVsTmFtZSAhPSAnSW5mb3JtYXRpb25hbCcgfCB3aGVyZSBUaW1lR2VuZXJhdGVkID4gYWdvKDI0aClcIixcbiAgICAgICAgICBmdW5jdGlvbkFsaWFzOiBcImZ1bmN0aW9uX25hbWVfMVwiLFxuICAgICAgICAgIGZ1bmN0aW9uUGFyYW1ldGVyczogW10sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcImZ1bmN0aW9uX25hbWVfMlwiLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiBcIkV4YW1wbGUgZnVuY3Rpb24gMlwiLFxuICAgICAgICAgIHF1ZXJ5OlxuICAgICAgICAgICAgXCJFdmVudCB8IHdoZXJlIEV2ZW50TGV2ZWxOYW1lICE9ICdJbmZvcm1hdGlvbmFsJyB8IHdoZXJlIFRpbWVHZW5lcmF0ZWQgPiBhZ28oMjRoKVwiLFxuICAgICAgICAgIGZ1bmN0aW9uQWxpYXM6IFwiZnVuY3Rpb25fbmFtZV8yXCIsXG4gICAgICAgICAgZnVuY3Rpb25QYXJhbWV0ZXJzOiBbXCJ0eXBlQXJnOnN0cmluZz1tYWlsXCIsIFwidGFnc0FyZzpzdHJpbmc9ZGNcIl0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgZGF0YUV4cG9ydDogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJleHBvcnQtdGVzdFwiLFxuICAgICAgICAgIGV4cG9ydERlc3RpbmF0aW9uSWQ6IG5hbWVzcGFjZS5pZCxcbiAgICAgICAgICB0YWJsZU5hbWVzOiBbXCJIZWFydGJlYXRcIl0sXG4gICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICAvLyBUZXN0IFJCQUNcbiAgICBsb2dBbmFseXRpY3NXb3Jrc3BhY2UuYWRkQWNjZXNzKGNsaWVudENvbmZpZy5vYmplY3RJZCwgXCJDb250cmlidXRvclwiKTtcbiAgICBsb2dBbmFseXRpY3NXb3Jrc3BhY2UuYWRkQWNjZXNzKGNsaWVudENvbmZpZy5vYmplY3RJZCwgXCJNb25pdG9yaW5nIFJlYWRlclwiKTtcblxuICAgIC8vIFRlc3QgRGlhZyBTZXR0aW5nc1xuICAgIGxvZ0FuYWx5dGljc1dvcmtzcGFjZS5hZGREaWFnU2V0dGluZ3MoeyBzdG9yYWdlQWNjb3VudElkOiBzdG9yYWdlLmlkIH0pO1xuXG4gICAgLy8gVGVzdCBNZXRyaWMgQWxlcnRcbiAgICBsb2dBbmFseXRpY3NXb3Jrc3BhY2UuYWRkTWV0cmljQWxlcnQoe1xuICAgICAgbmFtZTogXCJtZXRyaWNBbGVydC10ZXN0XCIsXG4gICAgICBjcml0ZXJpYTogW1xuICAgICAgICB7XG4gICAgICAgICAgbWV0cmljTmFtZTogXCJIZWFydGJlYXRcIixcbiAgICAgICAgICBtZXRyaWNOYW1lc3BhY2U6IFwiTWljcm9zb2Z0Lm9wZXJhdGlvbmFsaW5zaWdodHMvd29ya3NwYWNlc1wiLFxuICAgICAgICAgIGFnZ3JlZ2F0aW9uOiBcIkF2ZXJhZ2VcIixcbiAgICAgICAgICBvcGVyYXRvcjogXCJMZXNzVGhhblwiLFxuICAgICAgICAgIHRocmVzaG9sZDogMCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICAvLyBPdXRwdXRzIHRvIHVzZSBmb3IgRW5kIHRvIEVuZCBUZXN0XG4gICAgY29uc3QgY2RrdGZUZXJyYWZvcm1PdXRwdXRSRyA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQoXG4gICAgICB0aGlzLFxuICAgICAgXCJyZXNvdXJjZV9ncm91cF9uYW1lXCIsXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiByZXNvdXJjZUdyb3VwLm5hbWUsXG4gICAgICB9LFxuICAgICk7XG4gICAgY29uc3QgY2RrdGZUZXJyYWZvcm1PdXRwdXRMQU5hbWUgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KFxuICAgICAgdGhpcyxcbiAgICAgIFwibG9nYW5hbHl0aWNzX3dvcmtzcGFjZV9uYW1lXCIsXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiBsb2dBbmFseXRpY3NXb3Jrc3BhY2UucHJvcHMubmFtZSxcbiAgICAgIH0sXG4gICAgKTtcbiAgICBjb25zdCBjZGt0ZlRlcnJhZm9ybU91dHB1dExBU2t1ID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dChcbiAgICAgIHRoaXMsXG4gICAgICBcImxvZ2FuYWx5dGljc193b3Jrc3BhY2Vfc2t1XCIsXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiBsb2dBbmFseXRpY3NXb3Jrc3BhY2UucHJvcHMuc2t1LFxuICAgICAgfSxcbiAgICApO1xuICAgIGNvbnN0IGNka3RmVGVycmFmb3JtT3V0cHV0TEFSZXRlbnRpb24gPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KFxuICAgICAgdGhpcyxcbiAgICAgIFwibG9nYW5hbHl0aWNzX3dvcmtzcGFjZV9yZXRlbnRpb25cIixcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IGxvZ0FuYWx5dGljc1dvcmtzcGFjZS5wcm9wcy5yZXRlbnRpb24sXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBjZGt0ZlRlcnJhZm9ybU91dHB1dFJHLm92ZXJyaWRlTG9naWNhbElkKFwicmVzb3VyY2VfZ3JvdXBfbmFtZVwiKTtcbiAgICBjZGt0ZlRlcnJhZm9ybU91dHB1dExBTmFtZS5vdmVycmlkZUxvZ2ljYWxJZChcImxvZ2FuYWx5dGljc193b3Jrc3BhY2VfbmFtZVwiKTtcbiAgICBjZGt0ZlRlcnJhZm9ybU91dHB1dExBU2t1Lm92ZXJyaWRlTG9naWNhbElkKFwibG9nYW5hbHl0aWNzX3dvcmtzcGFjZV9za3VcIik7XG4gICAgY2RrdGZUZXJyYWZvcm1PdXRwdXRMQVJldGVudGlvbi5vdmVycmlkZUxvZ2ljYWxJZChcbiAgICAgIFwibG9nYW5hbHl0aWNzX3dvcmtzcGFjZV9yZXRlbnRpb25cIixcbiAgICApO1xuICB9XG59XG5cbm5ldyBleGFtcGxlQXp1cmVMb2dBbmFseXRpY3MoYXBwLCBcInRlc3RBenVyZUxvZ0FuYWx5dGljc1wiKTtcblxuYXBwLnN5bnRoKCk7XG4iXX0=
@@ -1,5 +0,0 @@
1
- import { Construct } from "constructs";
2
- import { BaseTestStack } from "../../testing";
3
- export declare class exampleAzureMetricAlert extends BaseTestStack {
4
- constructor(scope: Construct, id: string);
5
- }
@@ -1,81 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.exampleAzureMetricAlert = 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 metricalert = require("../../azure-metricalert");
9
- const testing_1 = require("../../testing");
10
- const app = new cdktf_1.App();
11
- class exampleAzureMetricAlert 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: true,
18
- },
19
- },
20
- });
21
- const resourceGroup = new resource_group_1.ResourceGroup(this, "rg", {
22
- location: "eastus",
23
- name: `rg-${this.name}`,
24
- tags: {
25
- environment: "dev",
26
- service_owner: "dev",
27
- service_name: "tf-test",
28
- },
29
- });
30
- const logAnalyticsWorkspace = new log_analytics_workspace_1.LogAnalyticsWorkspace(this, "la", {
31
- location: "eastus",
32
- name: `la-${this.name}`,
33
- resourceGroupName: resourceGroup.name,
34
- });
35
- // Create Metric Alert
36
- new metricalert.MetricAlert(this, "metricAlert1", {
37
- name: `metricalert1-${this.name}`,
38
- resourceGroup: resourceGroup,
39
- scopes: [logAnalyticsWorkspace.id],
40
- criteria: [
41
- {
42
- metricName: "Heartbeat",
43
- metricNamespace: "Microsoft.operationalinsights/workspaces",
44
- aggregation: "Average",
45
- operator: "LessThan",
46
- threshold: 0,
47
- dimension: [
48
- {
49
- name: "OSType",
50
- operator: "Include",
51
- values: ["*"],
52
- },
53
- {
54
- name: "Version",
55
- operator: "Include",
56
- values: ["*"],
57
- },
58
- ],
59
- },
60
- ],
61
- });
62
- new metricalert.MetricAlert(this, "metricAlert2", {
63
- name: `metricalert2-${this.name}`,
64
- resourceGroup: resourceGroup,
65
- scopes: [logAnalyticsWorkspace.id],
66
- criteria: [
67
- {
68
- metricName: "Heartbeat",
69
- metricNamespace: "Microsoft.operationalinsights/workspaces",
70
- aggregation: "Average",
71
- operator: "LessThan",
72
- threshold: 0,
73
- },
74
- ],
75
- });
76
- }
77
- }
78
- exports.exampleAzureMetricAlert = exampleAzureMetricAlert;
79
- new exampleAzureMetricAlert(app, "testAzureMetricAlert");
80
- app.synth();
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhhbXBsZUF6dXJlTWV0cmljQWxlcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtbWV0cmljYWxlcnQvdGVzdC9FeGFtcGxlQXp1cmVNZXRyaWNBbGVydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpR0FBNEY7QUFDNUYsbUVBQXVFO0FBQ3ZFLCtFQUEyRTtBQUMzRSxpQ0FBNEI7QUFFNUIsdURBQXVEO0FBQ3ZELDJDQUE4QztBQUU5QyxNQUFNLEdBQUcsR0FBRyxJQUFJLFdBQUcsRUFBRSxDQUFDO0FBRXRCLE1BQWEsdUJBQXdCLFNBQVEsdUJBQWE7SUFDeEQsWUFBWSxLQUFnQixFQUFFLEVBQVU7UUFDdEMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLDBCQUFlLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtZQUN4QyxRQUFRLEVBQUU7Z0JBQ1IsYUFBYSxFQUFFO29CQUNiLGtDQUFrQyxFQUFFLElBQUk7aUJBQ3pDO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFFSCxNQUFNLGFBQWEsR0FBRyxJQUFJLDhCQUFhLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRTtZQUNsRCxRQUFRLEVBQUUsUUFBUTtZQUNsQixJQUFJLEVBQUUsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ3ZCLElBQUksRUFBRTtnQkFDSixXQUFXLEVBQUUsS0FBSztnQkFDbEIsYUFBYSxFQUFFLEtBQUs7Z0JBQ3BCLFlBQVksRUFBRSxTQUFTO2FBQ3hCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLCtDQUFxQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUU7WUFDbEUsUUFBUSxFQUFFLFFBQVE7WUFDbEIsSUFBSSxFQUFFLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRTtZQUN2QixpQkFBaUIsRUFBRSxhQUFhLENBQUMsSUFBSTtTQUN0QyxDQUFDLENBQUM7UUFFSCxzQkFBc0I7UUFDdEIsSUFBSSxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUU7WUFDaEQsSUFBSSxFQUFFLGdCQUFnQixJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2pDLGFBQWEsRUFBRSxhQUFhO1lBQzVCLE1BQU0sRUFBRSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQztZQUNsQyxRQUFRLEVBQUU7Z0JBQ1I7b0JBQ0UsVUFBVSxFQUFFLFdBQVc7b0JBQ3ZCLGVBQWUsRUFBRSwwQ0FBMEM7b0JBQzNELFdBQVcsRUFBRSxTQUFTO29CQUN0QixRQUFRLEVBQUUsVUFBVTtvQkFDcEIsU0FBUyxFQUFFLENBQUM7b0JBQ1osU0FBUyxFQUFFO3dCQUNUOzRCQUNFLElBQUksRUFBRSxRQUFROzRCQUNkLFFBQVEsRUFBRSxTQUFTOzRCQUNuQixNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUM7eUJBQ2Q7d0JBQ0Q7NEJBQ0UsSUFBSSxFQUFFLFNBQVM7NEJBQ2YsUUFBUSxFQUFFLFNBQVM7NEJBQ25CLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQzt5QkFDZDtxQkFDRjtpQkFDRjthQUNGO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUU7WUFDaEQsSUFBSSxFQUFFLGdCQUFnQixJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2pDLGFBQWEsRUFBRSxhQUFhO1lBQzVCLE1BQU0sRUFBRSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQztZQUNsQyxRQUFRLEVBQUU7Z0JBQ1I7b0JBQ0UsVUFBVSxFQUFFLFdBQVc7b0JBQ3ZCLGVBQWUsRUFBRSwwQ0FBMEM7b0JBQzNELFdBQVcsRUFBRSxTQUFTO29CQUN0QixRQUFRLEVBQUUsVUFBVTtvQkFDcEIsU0FBUyxFQUFFLENBQUM7aUJBQ2I7YUFDRjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQXZFRCwwREF1RUM7QUFFRCxJQUFJLHVCQUF1QixDQUFDLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO0FBRXpELEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvZ0FuYWx5dGljc1dvcmtzcGFjZSB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvbG9nLWFuYWx5dGljcy13b3Jrc3BhY2VcIjtcbmltcG9ydCB7IEF6dXJlcm1Qcm92aWRlciB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvcHJvdmlkZXJcIjtcbmltcG9ydCB7IFJlc291cmNlR3JvdXAgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3Jlc291cmNlLWdyb3VwXCI7XG5pbXBvcnQgeyBBcHAgfSBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgKiBhcyBtZXRyaWNhbGVydCBmcm9tIFwiLi4vLi4vYXp1cmUtbWV0cmljYWxlcnRcIjtcbmltcG9ydCB7IEJhc2VUZXN0U3RhY2sgfSBmcm9tIFwiLi4vLi4vdGVzdGluZ1wiO1xuXG5jb25zdCBhcHAgPSBuZXcgQXBwKCk7XG5cbmV4cG9ydCBjbGFzcyBleGFtcGxlQXp1cmVNZXRyaWNBbGVydCBleHRlbmRzIEJhc2VUZXN0U3RhY2sge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIG5ldyBBenVyZXJtUHJvdmlkZXIodGhpcywgXCJhenVyZUZlYXR1cmVcIiwge1xuICAgICAgZmVhdHVyZXM6IHtcbiAgICAgICAgcmVzb3VyY2VHcm91cDoge1xuICAgICAgICAgIHByZXZlbnREZWxldGlvbklmQ29udGFpbnNSZXNvdXJjZXM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgY29uc3QgcmVzb3VyY2VHcm91cCA9IG5ldyBSZXNvdXJjZUdyb3VwKHRoaXMsIFwicmdcIiwge1xuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICBuYW1lOiBgcmctJHt0aGlzLm5hbWV9YCxcbiAgICAgIHRhZ3M6IHtcbiAgICAgICAgZW52aXJvbm1lbnQ6IFwiZGV2XCIsXG4gICAgICAgIHNlcnZpY2Vfb3duZXI6IFwiZGV2XCIsXG4gICAgICAgIHNlcnZpY2VfbmFtZTogXCJ0Zi10ZXN0XCIsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgY29uc3QgbG9nQW5hbHl0aWNzV29ya3NwYWNlID0gbmV3IExvZ0FuYWx5dGljc1dvcmtzcGFjZSh0aGlzLCBcImxhXCIsIHtcbiAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgbmFtZTogYGxhLSR7dGhpcy5uYW1lfWAsXG4gICAgICByZXNvdXJjZUdyb3VwTmFtZTogcmVzb3VyY2VHcm91cC5uYW1lLFxuICAgIH0pO1xuXG4gICAgLy8gQ3JlYXRlIE1ldHJpYyBBbGVydFxuICAgIG5ldyBtZXRyaWNhbGVydC5NZXRyaWNBbGVydCh0aGlzLCBcIm1ldHJpY0FsZXJ0MVwiLCB7XG4gICAgICBuYW1lOiBgbWV0cmljYWxlcnQxLSR7dGhpcy5uYW1lfWAsXG4gICAgICByZXNvdXJjZUdyb3VwOiByZXNvdXJjZUdyb3VwLFxuICAgICAgc2NvcGVzOiBbbG9nQW5hbHl0aWNzV29ya3NwYWNlLmlkXSxcbiAgICAgIGNyaXRlcmlhOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtZXRyaWNOYW1lOiBcIkhlYXJ0YmVhdFwiLFxuICAgICAgICAgIG1ldHJpY05hbWVzcGFjZTogXCJNaWNyb3NvZnQub3BlcmF0aW9uYWxpbnNpZ2h0cy93b3Jrc3BhY2VzXCIsXG4gICAgICAgICAgYWdncmVnYXRpb246IFwiQXZlcmFnZVwiLFxuICAgICAgICAgIG9wZXJhdG9yOiBcIkxlc3NUaGFuXCIsXG4gICAgICAgICAgdGhyZXNob2xkOiAwLFxuICAgICAgICAgIGRpbWVuc2lvbjogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiBcIk9TVHlwZVwiLFxuICAgICAgICAgICAgICBvcGVyYXRvcjogXCJJbmNsdWRlXCIsXG4gICAgICAgICAgICAgIHZhbHVlczogW1wiKlwiXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6IFwiVmVyc2lvblwiLFxuICAgICAgICAgICAgICBvcGVyYXRvcjogXCJJbmNsdWRlXCIsXG4gICAgICAgICAgICAgIHZhbHVlczogW1wiKlwiXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBuZXcgbWV0cmljYWxlcnQuTWV0cmljQWxlcnQodGhpcywgXCJtZXRyaWNBbGVydDJcIiwge1xuICAgICAgbmFtZTogYG1ldHJpY2FsZXJ0Mi0ke3RoaXMubmFtZX1gLFxuICAgICAgcmVzb3VyY2VHcm91cDogcmVzb3VyY2VHcm91cCxcbiAgICAgIHNjb3BlczogW2xvZ0FuYWx5dGljc1dvcmtzcGFjZS5pZF0sXG4gICAgICBjcml0ZXJpYTogW1xuICAgICAgICB7XG4gICAgICAgICAgbWV0cmljTmFtZTogXCJIZWFydGJlYXRcIixcbiAgICAgICAgICBtZXRyaWNOYW1lc3BhY2U6IFwiTWljcm9zb2Z0Lm9wZXJhdGlvbmFsaW5zaWdodHMvd29ya3NwYWNlc1wiLFxuICAgICAgICAgIGFnZ3JlZ2F0aW9uOiBcIkF2ZXJhZ2VcIixcbiAgICAgICAgICBvcGVyYXRvcjogXCJMZXNzVGhhblwiLFxuICAgICAgICAgIHRocmVzaG9sZDogMCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cbn1cblxubmV3IGV4YW1wbGVBenVyZU1ldHJpY0FsZXJ0KGFwcCwgXCJ0ZXN0QXp1cmVNZXRyaWNBbGVydFwiKTtcblxuYXBwLnN5bnRoKCk7XG4iXX0=
@@ -1,5 +0,0 @@
1
- import { Construct } from "constructs";
2
- import { BaseTestStack } from "../../testing";
3
- export declare class exampleAzureNetworkSecurityGroup extends BaseTestStack {
4
- constructor(scope: Construct, id: string);
5
- }
@@ -1,97 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.exampleAzureNetworkSecurityGroup = 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 subnet_1 = require("@cdktf/provider-azurerm/lib/subnet");
9
- const virtual_network_1 = require("@cdktf/provider-azurerm/lib/virtual-network");
10
- const cdktf_1 = require("cdktf");
11
- const cdktf = require("cdktf");
12
- const network = require("..");
13
- const testing_1 = require("../../testing");
14
- const preconfigured_rules_1 = require("../lib/preconfigured-rules");
15
- const app = new cdktf_1.App();
16
- class exampleAzureNetworkSecurityGroup extends testing_1.BaseTestStack {
17
- constructor(scope, id) {
18
- super(scope, id);
19
- const clientConfig = new data_azurerm_client_config_1.DataAzurermClientConfig(this, "CurrentClientConfig", {});
20
- new provider_1.AzurermProvider(this, "azureFeature", {
21
- features: {},
22
- });
23
- const resourceGroup = new resource_group_1.ResourceGroup(this, "rg", {
24
- location: "eastus",
25
- name: `rg-${this.name}`,
26
- });
27
- const vnet = new virtual_network_1.VirtualNetwork(this, "vnet", {
28
- name: `vnet-${this.name}`,
29
- location: resourceGroup.location,
30
- resourceGroupName: resourceGroup.name,
31
- addressSpace: ["10.0.0.0/16"],
32
- });
33
- const subnet = new subnet_1.Subnet(this, "subnet1", {
34
- name: "subnet1",
35
- resourceGroupName: resourceGroup.name,
36
- virtualNetworkName: vnet.name,
37
- addressPrefixes: ["10.0.1.0/24"],
38
- });
39
- const subnet2 = new subnet_1.Subnet(this, "subnet2", {
40
- name: "subnet2",
41
- resourceGroupName: resourceGroup.name,
42
- virtualNetworkName: vnet.name,
43
- addressPrefixes: ["10.0.2.0/24"],
44
- });
45
- const nsg = new network.SecurityGroup(this, "nsg", {
46
- name: `nsg-${this.name}`,
47
- location: "eastus",
48
- resourceGroup: resourceGroup,
49
- rules: [
50
- {
51
- name: "SSH",
52
- priority: 1001,
53
- direction: "Inbound",
54
- access: "Allow",
55
- protocol: "Tcp",
56
- sourcePortRange: "*",
57
- destinationPortRange: "22",
58
- sourceAddressPrefix: "10.23.15.38",
59
- destinationAddressPrefix: "VirtualNetwork",
60
- },
61
- preconfigured_rules_1.PreconfiguredRules.addSourceAddress(preconfigured_rules_1.PreconfiguredRules.rdp, "10.0.0.0/24"),
62
- ],
63
- });
64
- const logAnalyticsWorkspace = new log_analytics_workspace_1.LogAnalyticsWorkspace(this, "log_analytics", {
65
- location: "eastus",
66
- name: `la-${this.name}`,
67
- resourceGroupName: resourceGroup.name,
68
- });
69
- //Diag Settings
70
- nsg.addDiagSettings({
71
- name: "diagsettings",
72
- logAnalyticsWorkspaceId: logAnalyticsWorkspace.id,
73
- });
74
- //RBAC
75
- nsg.addAccess(clientConfig.objectId, "Contributor");
76
- // associate the nsg to the subnet
77
- nsg.associateToSubnet(subnet);
78
- nsg.associateToSubnet(subnet2);
79
- // Outputs to use for End to End Test
80
- const cdktfTerraformOutputRGName = new cdktf.TerraformOutput(this, "resource_group_name", {
81
- value: resourceGroup.name,
82
- });
83
- const cdktfTerraformOutputNsgName = new cdktf.TerraformOutput(this, "nsg_name", {
84
- value: nsg.name,
85
- });
86
- const cdktfTerraformOutputSnetName = new cdktf.TerraformOutput(this, "ssh_rule_name", {
87
- value: "SSH",
88
- });
89
- cdktfTerraformOutputRGName.overrideLogicalId("resource_group_name");
90
- cdktfTerraformOutputNsgName.overrideLogicalId("nsg_name");
91
- cdktfTerraformOutputSnetName.overrideLogicalId("ssh_rule_name");
92
- }
93
- }
94
- exports.exampleAzureNetworkSecurityGroup = exampleAzureNetworkSecurityGroup;
95
- new exampleAzureNetworkSecurityGroup(app, "testAzureNetworkSecurityGroup");
96
- app.synth();
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhhbXBsZUF6dXJlTmV0d29ya1NlY3VyaXR5R3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtbmV0d29ya3NlY3VyaXR5Z3JvdXAvdGVzdC9FeGFtcGxlQXp1cmVOZXR3b3JrU2VjdXJpdHlHcm91cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1R0FBaUc7QUFDakcsaUdBQTRGO0FBQzVGLG1FQUF1RTtBQUN2RSwrRUFBMkU7QUFDM0UsK0RBQTREO0FBQzVELGlGQUE2RTtBQUM3RSxpQ0FBNEI7QUFDNUIsK0JBQStCO0FBRS9CLDhCQUE4QjtBQUM5QiwyQ0FBOEM7QUFDOUMsb0VBQWdFO0FBRWhFLE1BQU0sR0FBRyxHQUFHLElBQUksV0FBRyxFQUFFLENBQUM7QUFFdEIsTUFBYSxnQ0FBaUMsU0FBUSx1QkFBYTtJQUNqRSxZQUFZLEtBQWdCLEVBQUUsRUFBVTtRQUN0QyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sWUFBWSxHQUFHLElBQUksb0RBQXVCLENBQzlDLElBQUksRUFDSixxQkFBcUIsRUFDckIsRUFBRSxDQUNILENBQUM7UUFFRixJQUFJLDBCQUFlLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtZQUN4QyxRQUFRLEVBQUUsRUFBRTtTQUNiLENBQUMsQ0FBQztRQUVILE1BQU0sYUFBYSxHQUFHLElBQUksOEJBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ2xELFFBQVEsRUFBRSxRQUFRO1lBQ2xCLElBQUksRUFBRSxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUU7U0FDeEIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxJQUFJLEdBQUcsSUFBSSxnQ0FBYyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDNUMsSUFBSSxFQUFFLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRTtZQUN6QixRQUFRLEVBQUUsYUFBYSxDQUFDLFFBQVE7WUFDaEMsaUJB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NEJBQTRCLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbEUsQ0FBQztDQUNGO0FBbkhELDRFQW1IQztBQUVELElBQUksZ0NBQWdDLENBQUMsR0FBRyxFQUFFLCtCQUErQixDQUFDLENBQUM7QUFFM0UsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YUF6dXJlcm1DbGllbnRDb25maWcgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL2RhdGEtYXp1cmVybS1jbGllbnQtY29uZmlnXCI7XG5pbXBvcnQgeyBMb2dBbmFseXRpY3NXb3Jrc3BhY2UgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL2xvZy1hbmFseXRpY3Mtd29ya3NwYWNlXCI7XG5pbXBvcnQgeyBBenVyZXJtUHJvdmlkZXIgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3Byb3ZpZGVyXCI7XG5pbXBvcnQgeyBSZXNvdXJjZUdyb3VwIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9yZXNvdXJjZS1ncm91cFwiO1xuaW1wb3J0IHsgU3VibmV0IH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9zdWJuZXRcIjtcbmltcG9ydCB7IFZpcnR1YWxOZXR3b3JrIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi92aXJ0dWFsLW5ldHdvcmtcIjtcbmltcG9ydCB7IEFwcCB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0ICogYXMgY2RrdGYgZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgbmV0d29yayBmcm9tIFwiLi5cIjtcbmltcG9ydCB7IEJhc2VUZXN0U3RhY2sgfSBmcm9tIFwiLi4vLi4vdGVzdGluZ1wiO1xuaW1wb3J0IHsgUHJlY29uZmlndXJlZFJ1bGVzIH0gZnJvbSBcIi4uL2xpYi9wcmVjb25maWd1cmVkLXJ1bGVzXCI7XG5cbmNvbnN0IGFwcCA9IG5ldyBBcHAoKTtcblxuZXhwb3J0IGNsYXNzIGV4YW1wbGVBenVyZU5ldHdvcmtTZWN1cml0eUdyb3VwIGV4dGVuZHMgQmFzZVRlc3RTdGFjayB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgY2xpZW50Q29uZmlnID0gbmV3IERhdGFBenVyZXJtQ2xpZW50Q29uZmlnKFxuICAgICAgdGhpcyxcbiAgICAgIFwiQ3VycmVudENsaWVudENvbmZpZ1wiLFxuICAgICAge30sXG4gICAgKTtcblxuICAgIG5ldyBBenVyZXJtUHJvdmlkZXIodGhpcywgXCJhenVyZUZlYXR1cmVcIiwge1xuICAgICAgZmVhdHVyZXM6IHt9LFxuICAgIH0pO1xuXG4gICAgY29uc3QgcmVzb3VyY2VHcm91cCA9IG5ldyBSZXNvdXJjZUdyb3VwKHRoaXMsIFwicmdcIiwge1xuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICBuYW1lOiBgcmctJHt0aGlzLm5hbWV9YCxcbiAgICB9KTtcblxuICAgIGNvbnN0IHZuZXQgPSBuZXcgVmlydHVhbE5ldHdvcmsodGhpcywgXCJ2bmV0XCIsIHtcbiAgICAgIG5hbWU6IGB2bmV0LSR7dGhpcy5uYW1lfWAsXG4gICAgICBsb2NhdGlvbjogcmVzb3VyY2VHcm91cC5sb2NhdGlvbixcbiAgICAgIHJlc291cmNlR3JvdXBOYW1lOiByZXNvdXJjZUdyb3VwLm5hbWUsXG4gICAgICBhZGRyZXNzU3BhY2U6IFtcIjEwLjAuMC4wLzE2XCJdLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc3VibmV0ID0gbmV3IFN1Ym5ldCh0aGlzLCBcInN1Ym5ldDFcIiwge1xuICAgICAgbmFtZTogXCJzdWJuZXQxXCIsXG4gICAgICByZXNvdXJjZUdyb3VwTmFtZTogcmVzb3VyY2VHcm91cC5uYW1lLFxuICAgICAgdmlydHVhbE5ldHdvcmtOYW1lOiB2bmV0Lm5hbWUsXG4gICAgICBhZGRyZXNzUHJlZml4ZXM6IFtcIjEwLjAuMS4wLzI0XCJdLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc3VibmV0MiA9IG5ldyBTdWJuZXQodGhpcywgXCJzdWJuZXQyXCIsIHtcbiAgICAgIG5hbWU6IFwic3VibmV0MlwiLFxuICAgICAgcmVzb3VyY2VHcm91cE5hbWU6IHJlc291cmNlR3JvdXAubmFtZSxcbiAgICAgIHZpcnR1YWxOZXR3b3JrTmFtZTogdm5ldC5uYW1lLFxuICAgICAgYWRkcmVzc1ByZWZpeGVzOiBbXCIxMC4wLjIuMC8yNFwiXSxcbiAgICB9KTtcblxuICAgIGNvbnN0IG5zZyA9IG5ldyBuZXR3b3JrLlNlY3VyaXR5R3JvdXAodGhpcywgXCJuc2dcIiwge1xuICAgICAgbmFtZTogYG5zZy0ke3RoaXMubmFtZX1gLFxuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICByZXNvdXJjZUdyb3VwOiByZXNvdXJjZUdyb3VwLFxuICAgICAgcnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiU1NIXCIsXG4gICAgICAgICAgcHJpb3JpdHk6IDEwMDEsXG4gICAgICAgICAgZGlyZWN0aW9uOiBcIkluYm91bmRcIixcbiAgICAgICAgICBhY2Nlc3M6IFwiQWxsb3dcIixcbiAgICAgICAgICBwcm90b2NvbDogXCJUY3BcIixcbiAgICAgICAgICBzb3VyY2VQb3J0UmFuZ2U6IFwiKlwiLFxuICAgICAgICAgIGRlc3RpbmF0aW9uUG9ydFJhbmdlOiBcIjIyXCIsXG4gICAgICAgICAgc291cmNlQWRkcmVzc1ByZWZpeDogXCIxMC4yMy4xNS4zOFwiLFxuICAgICAgICAgIGRlc3RpbmF0aW9uQWRkcmVzc1ByZWZpeDogXCJWaXJ0dWFsTmV0d29ya1wiLFxuICAgICAgICB9LFxuICAgICAgICBQcmVjb25maWd1cmVkUnVsZXMuYWRkU291cmNlQWRkcmVzcyhcbiAgICAgICAgICBQcmVjb25maWd1cmVkUnVsZXMucmRwLFxuICAgICAgICAgIFwiMTAuMC4wLjAvMjRcIixcbiAgICAgICAgKSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBsb2dBbmFseXRpY3NXb3Jrc3BhY2UgPSBuZXcgTG9nQW5hbHl0aWNzV29ya3NwYWNlKFxuICAgICAgdGhpcyxcbiAgICAgIFwibG9nX2FuYWx5dGljc1wiLFxuICAgICAge1xuICAgICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgICAgbmFtZTogYGxhLSR7dGhpcy5uYW1lfWAsXG4gICAgICAgIHJlc291cmNlR3JvdXBOYW1lOiByZXNvdXJjZUdyb3VwLm5hbWUsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICAvL0RpYWcgU2V0dGluZ3NcbiAgICBuc2cuYWRkRGlhZ1NldHRpbmdzKHtcbiAgICAgIG5hbWU6IFwiZGlhZ3NldHRpbmdzXCIsXG4gICAgICBsb2dBbmFseXRpY3NXb3Jrc3BhY2VJZDogbG9nQW5hbHl0aWNzV29ya3NwYWNlLmlkLFxuICAgIH0pO1xuXG4gICAgLy9SQkFDXG4gICAgbnNnLmFkZEFjY2VzcyhjbGllbnRDb25maWcub2JqZWN0SWQsIFwiQ29udHJpYnV0b3JcIik7XG5cbiAgICAvLyBhc3NvY2lhdGUgdGhlIG5zZyB0byB0aGUgc3VibmV0XG4gICAgbnNnLmFzc29jaWF0ZVRvU3VibmV0KHN1Ym5ldCk7XG4gICAgbnNnLmFzc29jaWF0ZVRvU3VibmV0KHN1Ym5ldDIpO1xuXG4gICAgLy8gT3V0cHV0cyB0byB1c2UgZm9yIEVuZCB0byBFbmQgVGVzdFxuICAgIGNvbnN0IGNka3RmVGVycmFmb3JtT3V0cHV0UkdOYW1lID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dChcbiAgICAgIHRoaXMsXG4gICAgICBcInJlc291cmNlX2dyb3VwX25hbWVcIixcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IHJlc291cmNlR3JvdXAubmFtZSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIGNvbnN0IGNka3RmVGVycmFmb3JtT3V0cHV0TnNnTmFtZSA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQoXG4gICAgICB0aGlzLFxuICAgICAgXCJuc2dfbmFtZVwiLFxuICAgICAge1xuICAgICAgICB2YWx1ZTogbnNnLm5hbWUsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBjb25zdCBjZGt0ZlRlcnJhZm9ybU91dHB1dFNuZXROYW1lID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dChcbiAgICAgIHRoaXMsXG4gICAgICBcInNzaF9ydWxlX25hbWVcIixcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IFwiU1NIXCIsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBjZGt0ZlRlcnJhZm9ybU91dHB1dFJHTmFtZS5vdmVycmlkZUxvZ2ljYWxJZChcInJlc291cmNlX2dyb3VwX25hbWVcIik7XG4gICAgY2RrdGZUZXJyYWZvcm1PdXRwdXROc2dOYW1lLm92ZXJyaWRlTG9naWNhbElkKFwibnNnX25hbWVcIik7XG4gICAgY2RrdGZUZXJyYWZvcm1PdXRwdXRTbmV0TmFtZS5vdmVycmlkZUxvZ2ljYWxJZChcInNzaF9ydWxlX25hbWVcIik7XG4gIH1cbn1cblxubmV3IGV4YW1wbGVBenVyZU5ldHdvcmtTZWN1cml0eUdyb3VwKGFwcCwgXCJ0ZXN0QXp1cmVOZXR3b3JrU2VjdXJpdHlHcm91cFwiKTtcblxuYXBwLnN5bnRoKCk7XG4iXX0=
@@ -1,5 +0,0 @@
1
- import { Construct } from "constructs";
2
- import { BaseTestStack } from "../../testing";
3
- export declare class exampleAzureQueryRuleAlert extends BaseTestStack {
4
- constructor(scope: Construct, id: string);
5
- }
@@ -1,67 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.exampleAzureQueryRuleAlert = 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 cdktf = require("cdktf");
9
- const queryalert = require("../../azure-queryrulealert");
10
- const testing_1 = require("../../testing");
11
- const app = new cdktf_1.App();
12
- class exampleAzureQueryRuleAlert extends testing_1.BaseTestStack {
13
- constructor(scope, id) {
14
- super(scope, id);
15
- new provider_1.AzurermProvider(this, "azureFeature", {
16
- features: {
17
- resourceGroup: {
18
- preventDeletionIfContainsResources: true,
19
- },
20
- },
21
- });
22
- const resourceGroup = new resource_group_1.ResourceGroup(this, "rg", {
23
- location: "eastus",
24
- name: `rg-${this.name}`,
25
- tags: {
26
- test: "test",
27
- },
28
- });
29
- const logAnalyticsWorkspace = new log_analytics_workspace_1.LogAnalyticsWorkspace(this, "log_analytics", {
30
- location: "eastus",
31
- name: `la-${this.name}`,
32
- resourceGroupName: resourceGroup.name,
33
- });
34
- // Query Rule Alert
35
- const alert = new queryalert.QueryRuleAlert(this, "queryRuleAlert", {
36
- name: `qra-${this.name}`,
37
- resourceGroup: resourceGroup,
38
- location: "eastus",
39
- criteriaOperator: "GreaterThan",
40
- criteriaQuery: `
41
- AppExceptions
42
- | where Message has "file can not be reloaded"
43
- `,
44
- criteriaThreshold: 100,
45
- criteriatimeAggregationMethod: "Count",
46
- evaluationFrequency: "PT5M",
47
- windowDuration: "PT30M",
48
- scopes: [logAnalyticsWorkspace.id],
49
- severity: 4,
50
- criteriaFailMinimumFailingPeriodsToTriggerAlert: 1,
51
- criteriaFailNumberOfEvaluationPeriods: 1,
52
- });
53
- // Create Terraform Outputs for Function Apps
54
- const cdktfTerraformOutputRG = new cdktf.TerraformOutput(this, "resource_group_name", {
55
- value: resourceGroup.name,
56
- });
57
- const cdktfTerraformOutputAlertId = new cdktf.TerraformOutput(this, "query_rule_alert_id", {
58
- value: alert.id,
59
- });
60
- cdktfTerraformOutputRG.overrideLogicalId("resource_group_name");
61
- cdktfTerraformOutputAlertId.overrideLogicalId("query_rule_alert_id");
62
- }
63
- }
64
- exports.exampleAzureQueryRuleAlert = exampleAzureQueryRuleAlert;
65
- new exampleAzureQueryRuleAlert(app, "testAzureQueryRuleAlert");
66
- app.synth();
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhhbXBsZUF6dXJlUXVlcnlSdWxlQWxlcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtcXVlcnlydWxlYWxlcnQvdGVzdC9FeGFtcGxlQXp1cmVRdWVyeVJ1bGVBbGVydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpR0FBNEY7QUFDNUYsbUVBQXVFO0FBQ3ZFLCtFQUEyRTtBQUMzRSxpQ0FBNEI7QUFDNUIsK0JBQStCO0FBRS9CLHlEQUF5RDtBQUN6RCwyQ0FBOEM7QUFFOUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxXQUFHLEVBQUUsQ0FBQztBQUV0QixNQUFhLDBCQUEyQixTQUFRLHVCQUFhO0lBQzNELFlBQVksS0FBZ0IsRUFBRSxFQUFVO1FBQ3RDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSwwQkFBZSxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUU7WUFDeEMsUUFBUSxFQUFFO2dCQUNSLGFBQWEsRUFBRTtvQkFDYixrQ0FBa0MsRUFBRSxJQUFJO2lCQUN6QzthQUNGO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsTUFBTSxhQUFhLEdBQUcsSUFBSSw4QkFBYSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUU7WUFDbEQsUUFBUSxFQUFFLFFBQVE7WUFDbEIsSUFBSSxFQUFFLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRTtZQUN2QixJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLE1BQU07YUFDYjtTQUNGLENBQUMsQ0FBQztRQUVILE1BQU0scUJBQXFCLEdBQUcsSUFBSSwrQ0FBcUIsQ0FDckQsSUFBSSxFQUNKLGVBQWUsRUFDZjtZQUNFLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLElBQUksRUFBRSxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDdkIsaUJBQWlCLEVBQUUsYUFBYSxDQUFDLElBQUk7U0FDdEMsQ0FDRixDQUFDO1FBRUYsbUJBQW1CO1FBQ25CLE1BQU0sS0FBSyxHQUFHLElBQUksVUFBVSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7WUFDbEUsSUFBSSxFQUFFLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRTtZQUN4QixhQUFhLEVBQUUsYUFBYTtZQUM1QixRQUFRLEVBQUUsUUFBUTtZQUNsQixnQkFBZ0IsRUFBRSxhQUFhO1lBQy9CLGFBQWEsRUFBRTs7O0NBR3BCO1lBQ0ssaUJBQWlCLEVBQUUsR0FBRztZQUN0Qiw2QkFBNkIsRUFBRSxPQUFPO1lBQ3RDLG1CQUFtQixFQUFFLE1BQU07WUFDM0IsY0FBYyxFQUFFLE9BQU87WUFDdkIsTUFBTSxFQUFFLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDO1lBQ2xDLFFBQVEsRUFBRSxDQUFDO1lBQ1gsK0NBQStDLEVBQUUsQ0FBQztZQUNsRCxxQ0FBcUMsRUFBRSxDQUFDO1NBQ3pDLENBQUMsQ0FBQztRQUVILDZDQUE2QztRQUM3QyxNQUFNLHNCQUFzQixHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FDdEQsSUFBSSxFQUNKLHFCQUFxQixFQUNyQjtZQUNFLEtBQUssRUFBRSxhQUFhLENBQUMsSUFBSTtTQUMxQixDQUNGLENBQUM7UUFFRixNQUFNLDJCQUEyQixHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FDM0QsSUFBSSxFQUNKLHFCQUFxQixFQUNyQjtZQUNFLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRTtTQUNoQixDQUNGLENBQUM7UUFFRixzQkFBc0IsQ0FBQyxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ2hFLDJCQUEyQixDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDdkUsQ0FBQztDQUNGO0FBdEVELGdFQXNFQztBQUVELElBQUksMEJBQTBCLENBQUMsR0FBRyxFQUFFLHlCQUF5QixDQUFDLENBQUM7QUFFL0QsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9nQW5hbHl0aWNzV29ya3NwYWNlIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9sb2ctYW5hbHl0aWNzLXdvcmtzcGFjZVwiO1xuaW1wb3J0IHsgQXp1cmVybVByb3ZpZGVyIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9wcm92aWRlclwiO1xuaW1wb3J0IHsgUmVzb3VyY2VHcm91cCB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvcmVzb3VyY2UtZ3JvdXBcIjtcbmltcG9ydCB7IEFwcCB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0ICogYXMgY2RrdGYgZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgcXVlcnlhbGVydCBmcm9tIFwiLi4vLi4vYXp1cmUtcXVlcnlydWxlYWxlcnRcIjtcbmltcG9ydCB7IEJhc2VUZXN0U3RhY2sgfSBmcm9tIFwiLi4vLi4vdGVzdGluZ1wiO1xuXG5jb25zdCBhcHAgPSBuZXcgQXBwKCk7XG5cbmV4cG9ydCBjbGFzcyBleGFtcGxlQXp1cmVRdWVyeVJ1bGVBbGVydCBleHRlbmRzIEJhc2VUZXN0U3RhY2sge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIG5ldyBBenVyZXJtUHJvdmlkZXIodGhpcywgXCJhenVyZUZlYXR1cmVcIiwge1xuICAgICAgZmVhdHVyZXM6IHtcbiAgICAgICAgcmVzb3VyY2VHcm91cDoge1xuICAgICAgICAgIHByZXZlbnREZWxldGlvbklmQ29udGFpbnNSZXNvdXJjZXM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgY29uc3QgcmVzb3VyY2VHcm91cCA9IG5ldyBSZXNvdXJjZUdyb3VwKHRoaXMsIFwicmdcIiwge1xuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICBuYW1lOiBgcmctJHt0aGlzLm5hbWV9YCxcbiAgICAgIHRhZ3M6IHtcbiAgICAgICAgdGVzdDogXCJ0ZXN0XCIsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgY29uc3QgbG9nQW5hbHl0aWNzV29ya3NwYWNlID0gbmV3IExvZ0FuYWx5dGljc1dvcmtzcGFjZShcbiAgICAgIHRoaXMsXG4gICAgICBcImxvZ19hbmFseXRpY3NcIixcbiAgICAgIHtcbiAgICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICAgIG5hbWU6IGBsYS0ke3RoaXMubmFtZX1gLFxuICAgICAgICByZXNvdXJjZUdyb3VwTmFtZTogcmVzb3VyY2VHcm91cC5uYW1lLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgLy8gUXVlcnkgUnVsZSBBbGVydFxuICAgIGNvbnN0IGFsZXJ0ID0gbmV3IHF1ZXJ5YWxlcnQuUXVlcnlSdWxlQWxlcnQodGhpcywgXCJxdWVyeVJ1bGVBbGVydFwiLCB7XG4gICAgICBuYW1lOiBgcXJhLSR7dGhpcy5uYW1lfWAsXG4gICAgICByZXNvdXJjZUdyb3VwOiByZXNvdXJjZUdyb3VwLFxuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICBjcml0ZXJpYU9wZXJhdG9yOiBcIkdyZWF0ZXJUaGFuXCIsXG4gICAgICBjcml0ZXJpYVF1ZXJ5OiBgXG5BcHBFeGNlcHRpb25zIFxufCB3aGVyZSBNZXNzYWdlIGhhcyBcImZpbGUgY2FuIG5vdCBiZSByZWxvYWRlZFwiXG5gLFxuICAgICAgY3JpdGVyaWFUaHJlc2hvbGQ6IDEwMCxcbiAgICAgIGNyaXRlcmlhdGltZUFnZ3JlZ2F0aW9uTWV0aG9kOiBcIkNvdW50XCIsXG4gICAgICBldmFsdWF0aW9uRnJlcXVlbmN5OiBcIlBUNU1cIixcbiAgICAgIHdpbmRvd0R1cmF0aW9uOiBcIlBUMzBNXCIsXG4gICAgICBzY29wZXM6IFtsb2dBbmFseXRpY3NXb3Jrc3BhY2UuaWRdLFxuICAgICAgc2V2ZXJpdHk6IDQsXG4gICAgICBjcml0ZXJpYUZhaWxNaW5pbXVtRmFpbGluZ1BlcmlvZHNUb1RyaWdnZXJBbGVydDogMSxcbiAgICAgIGNyaXRlcmlhRmFpbE51bWJlck9mRXZhbHVhdGlvblBlcmlvZHM6IDEsXG4gICAgfSk7XG5cbiAgICAvLyBDcmVhdGUgVGVycmFmb3JtIE91dHB1dHMgZm9yIEZ1bmN0aW9uIEFwcHNcbiAgICBjb25zdCBjZGt0ZlRlcnJhZm9ybU91dHB1dFJHID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dChcbiAgICAgIHRoaXMsXG4gICAgICBcInJlc291cmNlX2dyb3VwX25hbWVcIixcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IHJlc291cmNlR3JvdXAubmFtZSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIGNvbnN0IGNka3RmVGVycmFmb3JtT3V0cHV0QWxlcnRJZCA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQoXG4gICAgICB0aGlzLFxuICAgICAgXCJxdWVyeV9ydWxlX2FsZXJ0X2lkXCIsXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiBhbGVydC5pZCxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIGNka3RmVGVycmFmb3JtT3V0cHV0Ukcub3ZlcnJpZGVMb2dpY2FsSWQoXCJyZXNvdXJjZV9ncm91cF9uYW1lXCIpO1xuICAgIGNka3RmVGVycmFmb3JtT3V0cHV0QWxlcnRJZC5vdmVycmlkZUxvZ2ljYWxJZChcInF1ZXJ5X3J1bGVfYWxlcnRfaWRcIik7XG4gIH1cbn1cblxubmV3IGV4YW1wbGVBenVyZVF1ZXJ5UnVsZUFsZXJ0KGFwcCwgXCJ0ZXN0QXp1cmVRdWVyeVJ1bGVBbGVydFwiKTtcblxuYXBwLnN5bnRoKCk7XG4iXX0=
@@ -1,5 +0,0 @@
1
- import { Construct } from "constructs";
2
- import { BaseTestStack } from "../../testing";
3
- export declare class exampleAzureResourceGroup extends BaseTestStack {
4
- constructor(scope: Construct, id: string);
5
- }