@microsoft/terraform-cdk-constructs 0.0.3-pre.10

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 (930) hide show
  1. package/.devcontainer/devcontainer.json +62 -0
  2. package/.jsii +18296 -0
  3. package/API.md +19698 -0
  4. package/CODE_OF_CONDUCT.md +9 -0
  5. package/CONTRIBUTING.md +85 -0
  6. package/LICENSE +19 -0
  7. package/README.md +152 -0
  8. package/SECURITY.md +41 -0
  9. package/SUPPORT.md +25 -0
  10. package/cdktf.json +11 -0
  11. package/cdktf.out/manifest.json +13 -0
  12. package/cdktf.out/stacks/testAzureActionGroup/cdk.tf.json +111 -0
  13. package/cdktf.out/stacks/testAzureApplicationGateway/cdk.tf.json +588 -0
  14. package/cdktf.out/stacks/testAzureApplicationInsights/cdk.tf.json +245 -0
  15. package/cdktf.out/stacks/testAzureContainerRegistry/cdk.tf.json +179 -0
  16. package/cdktf.out/stacks/testAzureEventhub/cdk.tf.json +236 -0
  17. package/cdktf.out/stacks/testAzureKeyVault/cdk.tf.json +436 -0
  18. package/cdktf.out/stacks/testAzureKubernetesCluster/cdk.tf.json +152 -0
  19. package/cdktf.out/stacks/testAzureKusto/cdk.tf.json +209 -0
  20. package/cdktf.out/stacks/testAzureLinuxFunctionApp/cdk.tf.json +439 -0
  21. package/cdktf.out/stacks/testAzureLinuxVirtualMachineExample/cdk.tf.json +283 -0
  22. package/cdktf.out/stacks/testAzureLinuxVirtualMachineScaleSetExample/cdk.tf.json +261 -0
  23. package/cdktf.out/stacks/testAzureLogAnalytics/cdk.tf.json +309 -0
  24. package/cdktf.out/stacks/testAzureMetricAlert/cdk.tf.json +161 -0
  25. package/cdktf.out/stacks/testAzureNetworkSecurityGroup/cdk.tf.json +271 -0
  26. package/cdktf.out/stacks/testAzureQueryRuleAlert/cdk.tf.json +122 -0
  27. package/cdktf.out/stacks/testAzureResourceGroup/cdk.tf.json +88 -0
  28. package/cdktf.out/stacks/testAzureStorageAccount/cdk.tf.json +339 -0
  29. package/cdktf.out/stacks/testAzureVirtualNetwork/cdk.tf.json +264 -0
  30. package/cdktf.out/stacks/testAzureWindowVirtualMachineScaleSetExample/cdk.tf.json +261 -0
  31. package/cdktf.out/stacks/testAzureWindowsVirtualMachineExample/cdk.tf.json +280 -0
  32. package/cdktf.out/stacks/testExampleAzureResource/cdk.tf.json +167 -0
  33. package/docs/design_guide.md +309 -0
  34. package/docs/images/ide-documentation.png +0 -0
  35. package/docs/testing.md +347 -0
  36. package/go.mod +73 -0
  37. package/go.sum +1006 -0
  38. package/help +51 -0
  39. package/jest.config.js.old +187 -0
  40. package/lib/azure-actiongroup/index.d.ts +1 -0
  41. package/lib/azure-actiongroup/index.js +18 -0
  42. package/lib/azure-actiongroup/lib/actiongroup.d.ts +49 -0
  43. package/lib/azure-actiongroup/lib/actiongroup.js +85 -0
  44. package/lib/azure-actiongroup/lib/index.d.ts +1 -0
  45. package/lib/azure-actiongroup/lib/index.js +18 -0
  46. package/lib/azure-actiongroup/model/action-group-props.d.ts +47 -0
  47. package/lib/azure-actiongroup/model/action-group-props.js +3 -0
  48. package/lib/azure-actiongroup/model/arm-role-receiver-props.d.ts +20 -0
  49. package/lib/azure-actiongroup/model/arm-role-receiver-props.js +3 -0
  50. package/lib/azure-actiongroup/model/azure-app-push-receiver-props.d.ts +14 -0
  51. package/lib/azure-actiongroup/model/azure-app-push-receiver-props.js +3 -0
  52. package/lib/azure-actiongroup/model/email-receiver-props.d.ts +19 -0
  53. package/lib/azure-actiongroup/model/email-receiver-props.js +3 -0
  54. package/lib/azure-actiongroup/model/eventhub-receiver-props.d.ts +23 -0
  55. package/lib/azure-actiongroup/model/eventhub-receiver-props.js +3 -0
  56. package/lib/azure-actiongroup/model/function.d.ts +40 -0
  57. package/lib/azure-actiongroup/model/function.js +118 -0
  58. package/lib/azure-actiongroup/model/index.d.ts +10 -0
  59. package/lib/azure-actiongroup/model/index.js +27 -0
  60. package/lib/azure-actiongroup/model/logic-app-receiver-props.d.ts +23 -0
  61. package/lib/azure-actiongroup/model/logic-app-receiver-props.js +3 -0
  62. package/lib/azure-actiongroup/model/sms-receiver-props.d.ts +18 -0
  63. package/lib/azure-actiongroup/model/sms-receiver-props.js +3 -0
  64. package/lib/azure-actiongroup/model/voice-receiver-props.d.ts +18 -0
  65. package/lib/azure-actiongroup/model/voice-receiver-props.js +3 -0
  66. package/lib/azure-actiongroup/model/webhook-receiver-props.d.ts +18 -0
  67. package/lib/azure-actiongroup/model/webhook-receiver-props.js +3 -0
  68. package/lib/azure-actiongroup/test/AzureActionGroup.spec.d.ts +1 -0
  69. package/lib/azure-actiongroup/test/AzureActionGroup.spec.js +294 -0
  70. package/lib/azure-actiongroup/test/ExampleAzureActionGroup.d.ts +5 -0
  71. package/lib/azure-actiongroup/test/ExampleAzureActionGroup.js +66 -0
  72. package/lib/azure-applicationgateway/index.d.ts +1 -0
  73. package/lib/azure-applicationgateway/index.js +18 -0
  74. package/lib/azure-applicationgateway/lib/gateway.d.ts +248 -0
  75. package/lib/azure-applicationgateway/lib/gateway.js +199 -0
  76. package/lib/azure-applicationgateway/lib/index.d.ts +1 -0
  77. package/lib/azure-applicationgateway/lib/index.js +18 -0
  78. package/lib/azure-applicationgateway/test/AzureApplicationGateway.spec.d.ts +1 -0
  79. package/lib/azure-applicationgateway/test/AzureApplicationGateway.spec.js +106 -0
  80. package/lib/azure-applicationgateway/test/ExampleAzureApplicationGateway.d.ts +5 -0
  81. package/lib/azure-applicationgateway/test/ExampleAzureApplicationGateway.js +267 -0
  82. package/lib/azure-applicationinsights/index.d.ts +1 -0
  83. package/lib/azure-applicationinsights/index.js +18 -0
  84. package/lib/azure-applicationinsights/lib/appinsights.d.ts +110 -0
  85. package/lib/azure-applicationinsights/lib/appinsights.js +134 -0
  86. package/lib/azure-applicationinsights/lib/index.d.ts +1 -0
  87. package/lib/azure-applicationinsights/lib/index.js +18 -0
  88. package/lib/azure-applicationinsights/test/AzureAppInsights.spec.d.ts +1 -0
  89. package/lib/azure-applicationinsights/test/AzureAppInsights.spec.js +55 -0
  90. package/lib/azure-applicationinsights/test/ExampleAzureApplicationInsights.d.ts +5 -0
  91. package/lib/azure-applicationinsights/test/ExampleAzureApplicationInsights.js +87 -0
  92. package/lib/azure-containerregistry/index.d.ts +1 -0
  93. package/lib/azure-containerregistry/index.js +18 -0
  94. package/lib/azure-containerregistry/lib/index.d.ts +1 -0
  95. package/lib/azure-containerregistry/lib/index.js +18 -0
  96. package/lib/azure-containerregistry/lib/registry.d.ts +70 -0
  97. package/lib/azure-containerregistry/lib/registry.js +76 -0
  98. package/lib/azure-containerregistry/test/AzureContainerRegistry.spec.d.ts +1 -0
  99. package/lib/azure-containerregistry/test/AzureContainerRegistry.spec.js +50 -0
  100. package/lib/azure-containerregistry/test/ExampleAzureContainerRegistry.d.ts +5 -0
  101. package/lib/azure-containerregistry/test/ExampleAzureContainerRegistry.js +57 -0
  102. package/lib/azure-datalake/index.d.ts +1 -0
  103. package/lib/azure-datalake/index.js +18 -0
  104. package/lib/azure-datalake/lib/datalake.d.ts +64 -0
  105. package/lib/azure-datalake/lib/datalake.js +92 -0
  106. package/lib/azure-datalake/lib/filesystem.d.ts +70 -0
  107. package/lib/azure-datalake/lib/filesystem.js +83 -0
  108. package/lib/azure-datalake/lib/index.d.ts +3 -0
  109. package/lib/azure-datalake/lib/index.js +20 -0
  110. package/lib/azure-datalake/lib/path.d.ts +49 -0
  111. package/lib/azure-datalake/lib/path.js +51 -0
  112. package/lib/azure-eventhub/index.d.ts +1 -0
  113. package/lib/azure-eventhub/index.js +18 -0
  114. package/lib/azure-eventhub/lib/authorization.d.ts +58 -0
  115. package/lib/azure-eventhub/lib/authorization.js +84 -0
  116. package/lib/azure-eventhub/lib/cluster.d.ts +56 -0
  117. package/lib/azure-eventhub/lib/cluster.js +64 -0
  118. package/lib/azure-eventhub/lib/consumer.d.ts +54 -0
  119. package/lib/azure-eventhub/lib/consumer.js +59 -0
  120. package/lib/azure-eventhub/lib/index.d.ts +6 -0
  121. package/lib/azure-eventhub/lib/index.js +23 -0
  122. package/lib/azure-eventhub/lib/instance.d.ts +164 -0
  123. package/lib/azure-eventhub/lib/instance.js +184 -0
  124. package/lib/azure-eventhub/lib/kusto-connection.d.ts +109 -0
  125. package/lib/azure-eventhub/lib/kusto-connection.js +76 -0
  126. package/lib/azure-eventhub/lib/namespace.d.ts +151 -0
  127. package/lib/azure-eventhub/lib/namespace.js +131 -0
  128. package/lib/azure-eventhub/test/AzureEventhub.spec.d.ts +1 -0
  129. package/lib/azure-eventhub/test/AzureEventhub.spec.js +56 -0
  130. package/lib/azure-eventhub/test/ExampleAzureEventhub.d.ts +5 -0
  131. package/lib/azure-eventhub/test/ExampleAzureEventhub.js +72 -0
  132. package/lib/azure-functionapp/index.d.ts +1 -0
  133. package/lib/azure-functionapp/index.js +18 -0
  134. package/lib/azure-functionapp/lib/functionapplinux.d.ts +211 -0
  135. package/lib/azure-functionapp/lib/functionapplinux.js +141 -0
  136. package/lib/azure-functionapp/lib/index.d.ts +1 -0
  137. package/lib/azure-functionapp/lib/index.js +18 -0
  138. package/lib/azure-functionapp/serviceplanskus.d.ts +70 -0
  139. package/lib/azure-functionapp/serviceplanskus.js +81 -0
  140. package/lib/azure-functionapp/test/AzureLinuxFunctionApp.spec.d.ts +1 -0
  141. package/lib/azure-functionapp/test/AzureLinuxFunctionApp.spec.js +48 -0
  142. package/lib/azure-functionapp/test/ExampleAzureLinuxFunctionApp.d.ts +5 -0
  143. package/lib/azure-functionapp/test/ExampleAzureLinuxFunctionApp.js +123 -0
  144. package/lib/azure-keyvault/index.d.ts +1 -0
  145. package/lib/azure-keyvault/index.js +18 -0
  146. package/lib/azure-keyvault/lib/certificate.d.ts +133 -0
  147. package/lib/azure-keyvault/lib/certificate.js +146 -0
  148. package/lib/azure-keyvault/lib/index.d.ts +5 -0
  149. package/lib/azure-keyvault/lib/index.js +22 -0
  150. package/lib/azure-keyvault/lib/key.d.ts +72 -0
  151. package/lib/azure-keyvault/lib/key.js +69 -0
  152. package/lib/azure-keyvault/lib/policy.d.ts +76 -0
  153. package/lib/azure-keyvault/lib/policy.js +56 -0
  154. package/lib/azure-keyvault/lib/secret.d.ts +70 -0
  155. package/lib/azure-keyvault/lib/secret.js +64 -0
  156. package/lib/azure-keyvault/lib/vault.d.ts +282 -0
  157. package/lib/azure-keyvault/lib/vault.js +392 -0
  158. package/lib/azure-keyvault/test/AzureKeyVault.spec.d.ts +1 -0
  159. package/lib/azure-keyvault/test/AzureKeyVault.spec.js +63 -0
  160. package/lib/azure-keyvault/test/ExampleAzureKeyVault.d.ts +5 -0
  161. package/lib/azure-keyvault/test/ExampleAzureKeyVault.js +112 -0
  162. package/lib/azure-kubernetes/index.d.ts +1 -0
  163. package/lib/azure-kubernetes/index.js +18 -0
  164. package/lib/azure-kubernetes/lib/cluster.d.ts +93 -0
  165. package/lib/azure-kubernetes/lib/cluster.js +63 -0
  166. package/lib/azure-kubernetes/lib/index.d.ts +1 -0
  167. package/lib/azure-kubernetes/lib/index.js +18 -0
  168. package/lib/azure-kubernetes/test/AzureKubernetesCluster.spec.d.ts +1 -0
  169. package/lib/azure-kubernetes/test/AzureKubernetesCluster.spec.js +56 -0
  170. package/lib/azure-kubernetes/test/ExampleAzureKubernetesCluster.d.ts +5 -0
  171. package/lib/azure-kubernetes/test/ExampleAzureKubernetesCluster.js +65 -0
  172. package/lib/azure-kusto/index.d.ts +1 -0
  173. package/lib/azure-kusto/index.js +18 -0
  174. package/lib/azure-kusto/lib/cluster.d.ts +136 -0
  175. package/lib/azure-kusto/lib/cluster.js +138 -0
  176. package/lib/azure-kusto/lib/compute-specification.d.ts +71 -0
  177. package/lib/azure-kusto/lib/compute-specification.js +651 -0
  178. package/lib/azure-kusto/lib/database.d.ts +162 -0
  179. package/lib/azure-kusto/lib/database.js +180 -0
  180. package/lib/azure-kusto/lib/index.d.ts +3 -0
  181. package/lib/azure-kusto/lib/index.js +20 -0
  182. package/lib/azure-kusto/test/AzureKusto.spec.d.ts +1 -0
  183. package/lib/azure-kusto/test/AzureKusto.spec.js +50 -0
  184. package/lib/azure-kusto/test/ExampleAzureKusto.d.ts +5 -0
  185. package/lib/azure-kusto/test/ExampleAzureKusto.js +71 -0
  186. package/lib/azure-loganalytics/index.d.ts +1 -0
  187. package/lib/azure-loganalytics/index.js +18 -0
  188. package/lib/azure-loganalytics/lib/index.d.ts +1 -0
  189. package/lib/azure-loganalytics/lib/index.js +18 -0
  190. package/lib/azure-loganalytics/lib/workspace.d.ts +163 -0
  191. package/lib/azure-loganalytics/lib/workspace.js +126 -0
  192. package/lib/azure-loganalytics/test/AzureLogAnalytics.spec.d.ts +1 -0
  193. package/lib/azure-loganalytics/test/AzureLogAnalytics.spec.js +50 -0
  194. package/lib/azure-loganalytics/test/ExampleAzureLogAnalytics.d.ts +5 -0
  195. package/lib/azure-loganalytics/test/ExampleAzureLogAnalytics.js +115 -0
  196. package/lib/azure-metricalert/index.d.ts +2 -0
  197. package/lib/azure-metricalert/index.js +19 -0
  198. package/lib/azure-metricalert/lib/index.d.ts +1 -0
  199. package/lib/azure-metricalert/lib/index.js +18 -0
  200. package/lib/azure-metricalert/lib/metric-alert.d.ts +56 -0
  201. package/lib/azure-metricalert/lib/metric-alert.js +128 -0
  202. package/lib/azure-metricalert/model/action-props.d.ts +11 -0
  203. package/lib/azure-metricalert/model/action-props.js +3 -0
  204. package/lib/azure-metricalert/model/criteria-base-props.d.ts +38 -0
  205. package/lib/azure-metricalert/model/criteria-base-props.js +3 -0
  206. package/lib/azure-metricalert/model/criteria-dimension-props.d.ts +21 -0
  207. package/lib/azure-metricalert/model/criteria-dimension-props.js +3 -0
  208. package/lib/azure-metricalert/model/criteria-props.d.ts +12 -0
  209. package/lib/azure-metricalert/model/criteria-props.js +3 -0
  210. package/lib/azure-metricalert/model/dynamic-criteria-props.d.ts +29 -0
  211. package/lib/azure-metricalert/model/dynamic-criteria-props.js +3 -0
  212. package/lib/azure-metricalert/model/function.d.ts +28 -0
  213. package/lib/azure-metricalert/model/function.js +78 -0
  214. package/lib/azure-metricalert/model/index.d.ts +7 -0
  215. package/lib/azure-metricalert/model/index.js +24 -0
  216. package/lib/azure-metricalert/model/metric-alert-props.d.ts +86 -0
  217. package/lib/azure-metricalert/model/metric-alert-props.js +3 -0
  218. package/lib/azure-metricalert/test/AzureMetricAlert.spec.d.ts +1 -0
  219. package/lib/azure-metricalert/test/AzureMetricAlert.spec.js +63 -0
  220. package/lib/azure-metricalert/test/ExampleAzureMetricAlert.d.ts +5 -0
  221. package/lib/azure-metricalert/test/ExampleAzureMetricAlert.js +81 -0
  222. package/lib/azure-networksecuritygroup/index.d.ts +1 -0
  223. package/lib/azure-networksecuritygroup/index.js +18 -0
  224. package/lib/azure-networksecuritygroup/lib/index.d.ts +2 -0
  225. package/lib/azure-networksecuritygroup/lib/index.js +19 -0
  226. package/lib/azure-networksecuritygroup/lib/preconfigured-rules.d.ts +77 -0
  227. package/lib/azure-networksecuritygroup/lib/preconfigured-rules.js +608 -0
  228. package/lib/azure-networksecuritygroup/lib/securitygroup.d.ts +190 -0
  229. package/lib/azure-networksecuritygroup/lib/securitygroup.js +172 -0
  230. package/lib/azure-networksecuritygroup/test/AzureNetworkSecurityGroup.spec.d.ts +1 -0
  231. package/lib/azure-networksecuritygroup/test/AzureNetworkSecurityGroup.spec.js +54 -0
  232. package/lib/azure-networksecuritygroup/test/ExampleAzureNetworkSecurityGroup.d.ts +5 -0
  233. package/lib/azure-networksecuritygroup/test/ExampleAzureNetworkSecurityGroup.js +97 -0
  234. package/lib/azure-queryrulealert/index.d.ts +1 -0
  235. package/lib/azure-queryrulealert/index.js +18 -0
  236. package/lib/azure-queryrulealert/lib/index.d.ts +1 -0
  237. package/lib/azure-queryrulealert/lib/index.js +18 -0
  238. package/lib/azure-queryrulealert/lib/query-rule-alert.d.ts +175 -0
  239. package/lib/azure-queryrulealert/lib/query-rule-alert.js +205 -0
  240. package/lib/azure-queryrulealert/test/AzureQueryRuleAlert.spec.d.ts +1 -0
  241. package/lib/azure-queryrulealert/test/AzureQueryRuleAlert.spec.js +67 -0
  242. package/lib/azure-queryrulealert/test/ExampleAzureQueryRuleAlert.d.ts +5 -0
  243. package/lib/azure-queryrulealert/test/ExampleAzureQueryRuleAlert.js +67 -0
  244. package/lib/azure-resourcegroup/index.d.ts +1 -0
  245. package/lib/azure-resourcegroup/index.js +18 -0
  246. package/lib/azure-resourcegroup/lib/index.d.ts +1 -0
  247. package/lib/azure-resourcegroup/lib/index.js +18 -0
  248. package/lib/azure-resourcegroup/lib/resource-group.d.ts +66 -0
  249. package/lib/azure-resourcegroup/lib/resource-group.js +77 -0
  250. package/lib/azure-resourcegroup/test/AzureResourceGroup.spec.d.ts +1 -0
  251. package/lib/azure-resourcegroup/test/AzureResourceGroup.spec.js +41 -0
  252. package/lib/azure-resourcegroup/test/ExampleAzureResourceGroup.d.ts +5 -0
  253. package/lib/azure-resourcegroup/test/ExampleAzureResourceGroup.js +29 -0
  254. package/lib/azure-storageaccount/index.d.ts +1 -0
  255. package/lib/azure-storageaccount/index.js +18 -0
  256. package/lib/azure-storageaccount/lib/account.d.ts +232 -0
  257. package/lib/azure-storageaccount/lib/account.js +225 -0
  258. package/lib/azure-storageaccount/lib/container.d.ts +122 -0
  259. package/lib/azure-storageaccount/lib/container.js +167 -0
  260. package/lib/azure-storageaccount/lib/fileshare.d.ts +105 -0
  261. package/lib/azure-storageaccount/lib/fileshare.js +126 -0
  262. package/lib/azure-storageaccount/lib/index.d.ts +5 -0
  263. package/lib/azure-storageaccount/lib/index.js +22 -0
  264. package/lib/azure-storageaccount/lib/queue.d.ts +35 -0
  265. package/lib/azure-storageaccount/lib/queue.js +52 -0
  266. package/lib/azure-storageaccount/lib/table.d.ts +38 -0
  267. package/lib/azure-storageaccount/lib/table.js +55 -0
  268. package/lib/azure-storageaccount/test/AzureStorageAccount.spec.d.ts +1 -0
  269. package/lib/azure-storageaccount/test/AzureStorageAccount.spec.js +45 -0
  270. package/lib/azure-storageaccount/test/ExampleAzureStorageAccount.d.ts +5 -0
  271. package/lib/azure-storageaccount/test/ExampleAzureStorageAccount.js +102 -0
  272. package/lib/azure-virtualmachine/index.d.ts +1 -0
  273. package/lib/azure-virtualmachine/index.js +18 -0
  274. package/lib/azure-virtualmachine/lib/image-references.d.ts +22 -0
  275. package/lib/azure-virtualmachine/lib/image-references.js +128 -0
  276. package/lib/azure-virtualmachine/lib/index.d.ts +2 -0
  277. package/lib/azure-virtualmachine/lib/index.js +19 -0
  278. package/lib/azure-virtualmachine/lib/vm.d.ts +281 -0
  279. package/lib/azure-virtualmachine/lib/vm.js +283 -0
  280. package/lib/azure-virtualmachine/test/AzureLinuxVirtualMachine.spec.d.ts +1 -0
  281. package/lib/azure-virtualmachine/test/AzureLinuxVirtualMachine.spec.js +48 -0
  282. package/lib/azure-virtualmachine/test/AzureWindowsVirtualMachine.spec.d.ts +1 -0
  283. package/lib/azure-virtualmachine/test/AzureWindowsVirtualMachine.spec.js +50 -0
  284. package/lib/azure-virtualmachine/test/ExampleAzureLinuxVirtualMachine.d.ts +5 -0
  285. package/lib/azure-virtualmachine/test/ExampleAzureLinuxVirtualMachine.js +106 -0
  286. package/lib/azure-virtualmachine/test/ExampleAzureWindowsVirtualMachine.d.ts +5 -0
  287. package/lib/azure-virtualmachine/test/ExampleAzureWindowsVirtualMachine.js +102 -0
  288. package/lib/azure-virtualmachinescaleset/index.d.ts +1 -0
  289. package/lib/azure-virtualmachinescaleset/index.js +18 -0
  290. package/lib/azure-virtualmachinescaleset/lib/cluster.d.ts +324 -0
  291. package/lib/azure-virtualmachinescaleset/lib/cluster.js +264 -0
  292. package/lib/azure-virtualmachinescaleset/lib/index.d.ts +1 -0
  293. package/lib/azure-virtualmachinescaleset/lib/index.js +18 -0
  294. package/lib/azure-virtualmachinescaleset/test/AzureLinuxVirtualMachineScaleSet.spec.d.ts +1 -0
  295. package/lib/azure-virtualmachinescaleset/test/AzureLinuxVirtualMachineScaleSet.spec.js +48 -0
  296. package/lib/azure-virtualmachinescaleset/test/AzureWindowsVirtualMachineScaleSet.spec.d.ts +1 -0
  297. package/lib/azure-virtualmachinescaleset/test/AzureWindowsVirtualMachineScaleSet.spec.js +50 -0
  298. package/lib/azure-virtualmachinescaleset/test/ExampleAzureLinuxVirtualMachineScaleSet.d.ts +5 -0
  299. package/lib/azure-virtualmachinescaleset/test/ExampleAzureLinuxVirtualMachineScaleSet.js +107 -0
  300. package/lib/azure-virtualmachinescaleset/test/ExampleAzureWindowsVirtualMachineScaleSet.d.ts +5 -0
  301. package/lib/azure-virtualmachinescaleset/test/ExampleAzureWindowsVirtualMachineScaleSet.js +103 -0
  302. package/lib/azure-virtualnetwork/index.d.ts +1 -0
  303. package/lib/azure-virtualnetwork/index.js +18 -0
  304. package/lib/azure-virtualnetwork/lib/index.d.ts +2 -0
  305. package/lib/azure-virtualnetwork/lib/index.js +19 -0
  306. package/lib/azure-virtualnetwork/lib/network.d.ts +122 -0
  307. package/lib/azure-virtualnetwork/lib/network.js +120 -0
  308. package/lib/azure-virtualnetwork/lib/peering.d.ts +90 -0
  309. package/lib/azure-virtualnetwork/lib/peering.js +71 -0
  310. package/lib/azure-virtualnetwork/test/AzureVirtualNetwork.spec.d.ts +1 -0
  311. package/lib/azure-virtualnetwork/test/AzureVirtualNetwork.spec.js +48 -0
  312. package/lib/azure-virtualnetwork/test/ExampleAzureVirtualNetwork.d.ts +5 -0
  313. package/lib/azure-virtualnetwork/test/ExampleAzureVirtualNetwork.js +88 -0
  314. package/lib/core-azure/index.d.ts +1 -0
  315. package/lib/core-azure/index.js +18 -0
  316. package/lib/core-azure/lib/diagsettings.d.ts +89 -0
  317. package/lib/core-azure/lib/diagsettings.js +83 -0
  318. package/lib/core-azure/lib/index.d.ts +3 -0
  319. package/lib/core-azure/lib/index.js +20 -0
  320. package/lib/core-azure/lib/rbac.d.ts +50 -0
  321. package/lib/core-azure/lib/rbac.js +48 -0
  322. package/lib/core-azure/lib/resource.d.ts +62 -0
  323. package/lib/core-azure/lib/resource.js +118 -0
  324. package/lib/core-azure/test/AzureResource.spec.d.ts +1 -0
  325. package/lib/core-azure/test/AzureResource.spec.js +19 -0
  326. package/lib/core-azure/test/ExampleAzureResource.d.ts +5 -0
  327. package/lib/core-azure/test/ExampleAzureResource.js +67 -0
  328. package/lib/index.d.ts +18 -0
  329. package/lib/index.js +22 -0
  330. package/lib/testing/index.d.ts +6 -0
  331. package/lib/testing/index.js +18 -0
  332. package/lib/util/azureTenantIdHelpers.d.ts +2 -0
  333. package/lib/util/azureTenantIdHelpers.js +34 -0
  334. package/lib/util/randomName.d.ts +1 -0
  335. package/lib/util/randomName.js +13 -0
  336. package/node_modules/moment/CHANGELOG.md +996 -0
  337. package/node_modules/moment/LICENSE +22 -0
  338. package/node_modules/moment/README.md +55 -0
  339. package/node_modules/moment/dist/locale/af.js +71 -0
  340. package/node_modules/moment/dist/locale/ar-dz.js +156 -0
  341. package/node_modules/moment/dist/locale/ar-kw.js +55 -0
  342. package/node_modules/moment/dist/locale/ar-ly.js +171 -0
  343. package/node_modules/moment/dist/locale/ar-ma.js +56 -0
  344. package/node_modules/moment/dist/locale/ar-ps.js +112 -0
  345. package/node_modules/moment/dist/locale/ar-sa.js +105 -0
  346. package/node_modules/moment/dist/locale/ar-tn.js +55 -0
  347. package/node_modules/moment/dist/locale/ar.js +189 -0
  348. package/node_modules/moment/dist/locale/az.js +102 -0
  349. package/node_modules/moment/dist/locale/be.js +142 -0
  350. package/node_modules/moment/dist/locale/bg.js +87 -0
  351. package/node_modules/moment/dist/locale/bm.js +52 -0
  352. package/node_modules/moment/dist/locale/bn-bd.js +129 -0
  353. package/node_modules/moment/dist/locale/bn.js +119 -0
  354. package/node_modules/moment/dist/locale/bo.js +124 -0
  355. package/node_modules/moment/dist/locale/br.js +168 -0
  356. package/node_modules/moment/dist/locale/bs.js +160 -0
  357. package/node_modules/moment/dist/locale/ca.js +100 -0
  358. package/node_modules/moment/dist/locale/cs.js +181 -0
  359. package/node_modules/moment/dist/locale/cv.js +63 -0
  360. package/node_modules/moment/dist/locale/cy.js +98 -0
  361. package/node_modules/moment/dist/locale/da.js +53 -0
  362. package/node_modules/moment/dist/locale/de-at.js +79 -0
  363. package/node_modules/moment/dist/locale/de-ch.js +78 -0
  364. package/node_modules/moment/dist/locale/de.js +78 -0
  365. package/node_modules/moment/dist/locale/dv.js +90 -0
  366. package/node_modules/moment/dist/locale/el.js +106 -0
  367. package/node_modules/moment/dist/locale/en-au.js +68 -0
  368. package/node_modules/moment/dist/locale/en-ca.js +64 -0
  369. package/node_modules/moment/dist/locale/en-gb.js +68 -0
  370. package/node_modules/moment/dist/locale/en-ie.js +68 -0
  371. package/node_modules/moment/dist/locale/en-il.js +64 -0
  372. package/node_modules/moment/dist/locale/en-in.js +68 -0
  373. package/node_modules/moment/dist/locale/en-nz.js +68 -0
  374. package/node_modules/moment/dist/locale/en-sg.js +68 -0
  375. package/node_modules/moment/dist/locale/eo.js +68 -0
  376. package/node_modules/moment/dist/locale/es-do.js +108 -0
  377. package/node_modules/moment/dist/locale/es-mx.js +110 -0
  378. package/node_modules/moment/dist/locale/es-us.js +110 -0
  379. package/node_modules/moment/dist/locale/es.js +110 -0
  380. package/node_modules/moment/dist/locale/et.js +78 -0
  381. package/node_modules/moment/dist/locale/eu.js +65 -0
  382. package/node_modules/moment/dist/locale/fa.js +113 -0
  383. package/node_modules/moment/dist/locale/fi.js +124 -0
  384. package/node_modules/moment/dist/locale/fil.js +58 -0
  385. package/node_modules/moment/dist/locale/fo.js +57 -0
  386. package/node_modules/moment/dist/locale/fr-ca.js +70 -0
  387. package/node_modules/moment/dist/locale/fr-ch.js +74 -0
  388. package/node_modules/moment/dist/locale/fr.js +108 -0
  389. package/node_modules/moment/dist/locale/fy.js +75 -0
  390. package/node_modules/moment/dist/locale/ga.js +95 -0
  391. package/node_modules/moment/dist/locale/gd.js +95 -0
  392. package/node_modules/moment/dist/locale/gl.js +75 -0
  393. package/node_modules/moment/dist/locale/gom-deva.js +126 -0
  394. package/node_modules/moment/dist/locale/gom-latn.js +124 -0
  395. package/node_modules/moment/dist/locale/gu.js +122 -0
  396. package/node_modules/moment/dist/locale/he.js +94 -0
  397. package/node_modules/moment/dist/locale/hi.js +168 -0
  398. package/node_modules/moment/dist/locale/hr.js +156 -0
  399. package/node_modules/moment/dist/locale/hu.js +118 -0
  400. package/node_modules/moment/dist/locale/hy-am.js +94 -0
  401. package/node_modules/moment/dist/locale/id.js +76 -0
  402. package/node_modules/moment/dist/locale/is.js +140 -0
  403. package/node_modules/moment/dist/locale/it-ch.js +64 -0
  404. package/node_modules/moment/dist/locale/it.js +106 -0
  405. package/node_modules/moment/dist/locale/ja.js +148 -0
  406. package/node_modules/moment/dist/locale/jv.js +76 -0
  407. package/node_modules/moment/dist/locale/ka.js +92 -0
  408. package/node_modules/moment/dist/locale/kk.js +82 -0
  409. package/node_modules/moment/dist/locale/km.js +103 -0
  410. package/node_modules/moment/dist/locale/kn.js +124 -0
  411. package/node_modules/moment/dist/locale/ko.js +75 -0
  412. package/node_modules/moment/dist/locale/ku-kmr.js +121 -0
  413. package/node_modules/moment/dist/locale/ku.js +118 -0
  414. package/node_modules/moment/dist/locale/ky.js +84 -0
  415. package/node_modules/moment/dist/locale/lb.js +137 -0
  416. package/node_modules/moment/dist/locale/lo.js +66 -0
  417. package/node_modules/moment/dist/locale/lt.js +125 -0
  418. package/node_modules/moment/dist/locale/lv.js +94 -0
  419. package/node_modules/moment/dist/locale/me.js +117 -0
  420. package/node_modules/moment/dist/locale/mi.js +60 -0
  421. package/node_modules/moment/dist/locale/mk.js +85 -0
  422. package/node_modules/moment/dist/locale/ml.js +82 -0
  423. package/node_modules/moment/dist/locale/mn.js +100 -0
  424. package/node_modules/moment/dist/locale/mr.js +203 -0
  425. package/node_modules/moment/dist/locale/ms-my.js +76 -0
  426. package/node_modules/moment/dist/locale/ms.js +75 -0
  427. package/node_modules/moment/dist/locale/mt.js +56 -0
  428. package/node_modules/moment/dist/locale/my.js +91 -0
  429. package/node_modules/moment/dist/locale/nb.js +60 -0
  430. package/node_modules/moment/dist/locale/ne.js +121 -0
  431. package/node_modules/moment/dist/locale/nl-be.js +102 -0
  432. package/node_modules/moment/dist/locale/nl.js +104 -0
  433. package/node_modules/moment/dist/locale/nn.js +59 -0
  434. package/node_modules/moment/dist/locale/oc-lnc.js +85 -0
  435. package/node_modules/moment/dist/locale/pa-in.js +122 -0
  436. package/node_modules/moment/dist/locale/pl.js +140 -0
  437. package/node_modules/moment/dist/locale/pt-br.js +58 -0
  438. package/node_modules/moment/dist/locale/pt.js +63 -0
  439. package/node_modules/moment/dist/locale/ro.js +76 -0
  440. package/node_modules/moment/dist/locale/ru.js +213 -0
  441. package/node_modules/moment/dist/locale/sd.js +81 -0
  442. package/node_modules/moment/dist/locale/se.js +57 -0
  443. package/node_modules/moment/dist/locale/si.js +69 -0
  444. package/node_modules/moment/dist/locale/sk.js +145 -0
  445. package/node_modules/moment/dist/locale/sl.js +171 -0
  446. package/node_modules/moment/dist/locale/sq.js +65 -0
  447. package/node_modules/moment/dist/locale/sr-cyrl.js +127 -0
  448. package/node_modules/moment/dist/locale/sr.js +129 -0
  449. package/node_modules/moment/dist/locale/ss.js +84 -0
  450. package/node_modules/moment/dist/locale/sv.js +68 -0
  451. package/node_modules/moment/dist/locale/sw.js +55 -0
  452. package/node_modules/moment/dist/locale/ta.js +131 -0
  453. package/node_modules/moment/dist/locale/te.js +88 -0
  454. package/node_modules/moment/dist/locale/tet.js +68 -0
  455. package/node_modules/moment/dist/locale/tg.js +117 -0
  456. package/node_modules/moment/dist/locale/th.js +65 -0
  457. package/node_modules/moment/dist/locale/tk.js +91 -0
  458. package/node_modules/moment/dist/locale/tl-ph.js +57 -0
  459. package/node_modules/moment/dist/locale/tlh.js +124 -0
  460. package/node_modules/moment/dist/locale/tr.js +106 -0
  461. package/node_modules/moment/dist/locale/tzl.js +89 -0
  462. package/node_modules/moment/dist/locale/tzm-latn.js +54 -0
  463. package/node_modules/moment/dist/locale/tzm.js +54 -0
  464. package/node_modules/moment/dist/locale/ug-cn.js +111 -0
  465. package/node_modules/moment/dist/locale/uk.js +167 -0
  466. package/node_modules/moment/dist/locale/ur.js +82 -0
  467. package/node_modules/moment/dist/locale/uz-latn.js +54 -0
  468. package/node_modules/moment/dist/locale/uz.js +51 -0
  469. package/node_modules/moment/dist/locale/vi.js +80 -0
  470. package/node_modules/moment/dist/locale/x-pseudo.js +73 -0
  471. package/node_modules/moment/dist/locale/yo.js +53 -0
  472. package/node_modules/moment/dist/locale/zh-cn.js +120 -0
  473. package/node_modules/moment/dist/locale/zh-hk.js +101 -0
  474. package/node_modules/moment/dist/locale/zh-mo.js +100 -0
  475. package/node_modules/moment/dist/locale/zh-tw.js +99 -0
  476. package/node_modules/moment/dist/moment.js +5680 -0
  477. package/node_modules/moment/ender.js +1 -0
  478. package/node_modules/moment/locale/af.js +82 -0
  479. package/node_modules/moment/locale/ar-dz.js +167 -0
  480. package/node_modules/moment/locale/ar-kw.js +66 -0
  481. package/node_modules/moment/locale/ar-ly.js +182 -0
  482. package/node_modules/moment/locale/ar-ma.js +67 -0
  483. package/node_modules/moment/locale/ar-ps.js +123 -0
  484. package/node_modules/moment/locale/ar-sa.js +116 -0
  485. package/node_modules/moment/locale/ar-tn.js +66 -0
  486. package/node_modules/moment/locale/ar.js +200 -0
  487. package/node_modules/moment/locale/az.js +113 -0
  488. package/node_modules/moment/locale/be.js +153 -0
  489. package/node_modules/moment/locale/bg.js +98 -0
  490. package/node_modules/moment/locale/bm.js +62 -0
  491. package/node_modules/moment/locale/bn-bd.js +140 -0
  492. package/node_modules/moment/locale/bn.js +130 -0
  493. package/node_modules/moment/locale/bo.js +135 -0
  494. package/node_modules/moment/locale/br.js +179 -0
  495. package/node_modules/moment/locale/bs.js +171 -0
  496. package/node_modules/moment/locale/ca.js +111 -0
  497. package/node_modules/moment/locale/cs.js +192 -0
  498. package/node_modules/moment/locale/cv.js +74 -0
  499. package/node_modules/moment/locale/cy.js +109 -0
  500. package/node_modules/moment/locale/da.js +64 -0
  501. package/node_modules/moment/locale/de-at.js +90 -0
  502. package/node_modules/moment/locale/de-ch.js +87 -0
  503. package/node_modules/moment/locale/de.js +89 -0
  504. package/node_modules/moment/locale/dv.js +101 -0
  505. package/node_modules/moment/locale/el.js +117 -0
  506. package/node_modules/moment/locale/en-au.js +79 -0
  507. package/node_modules/moment/locale/en-ca.js +75 -0
  508. package/node_modules/moment/locale/en-gb.js +79 -0
  509. package/node_modules/moment/locale/en-ie.js +79 -0
  510. package/node_modules/moment/locale/en-il.js +75 -0
  511. package/node_modules/moment/locale/en-in.js +79 -0
  512. package/node_modules/moment/locale/en-nz.js +79 -0
  513. package/node_modules/moment/locale/en-sg.js +79 -0
  514. package/node_modules/moment/locale/eo.js +79 -0
  515. package/node_modules/moment/locale/es-do.js +119 -0
  516. package/node_modules/moment/locale/es-mx.js +121 -0
  517. package/node_modules/moment/locale/es-us.js +121 -0
  518. package/node_modules/moment/locale/es.js +121 -0
  519. package/node_modules/moment/locale/et.js +89 -0
  520. package/node_modules/moment/locale/eu.js +76 -0
  521. package/node_modules/moment/locale/fa.js +124 -0
  522. package/node_modules/moment/locale/fi.js +135 -0
  523. package/node_modules/moment/locale/fil.js +69 -0
  524. package/node_modules/moment/locale/fo.js +68 -0
  525. package/node_modules/moment/locale/fr-ca.js +81 -0
  526. package/node_modules/moment/locale/fr-ch.js +85 -0
  527. package/node_modules/moment/locale/fr.js +119 -0
  528. package/node_modules/moment/locale/fy.js +86 -0
  529. package/node_modules/moment/locale/ga.js +106 -0
  530. package/node_modules/moment/locale/gd.js +106 -0
  531. package/node_modules/moment/locale/gl.js +86 -0
  532. package/node_modules/moment/locale/gom-deva.js +137 -0
  533. package/node_modules/moment/locale/gom-latn.js +135 -0
  534. package/node_modules/moment/locale/gu.js +133 -0
  535. package/node_modules/moment/locale/he.js +105 -0
  536. package/node_modules/moment/locale/hi.js +179 -0
  537. package/node_modules/moment/locale/hr.js +167 -0
  538. package/node_modules/moment/locale/hu.js +129 -0
  539. package/node_modules/moment/locale/hy-am.js +105 -0
  540. package/node_modules/moment/locale/id.js +87 -0
  541. package/node_modules/moment/locale/is.js +151 -0
  542. package/node_modules/moment/locale/it-ch.js +75 -0
  543. package/node_modules/moment/locale/it.js +117 -0
  544. package/node_modules/moment/locale/ja.js +159 -0
  545. package/node_modules/moment/locale/jv.js +87 -0
  546. package/node_modules/moment/locale/ka.js +103 -0
  547. package/node_modules/moment/locale/kk.js +93 -0
  548. package/node_modules/moment/locale/km.js +114 -0
  549. package/node_modules/moment/locale/kn.js +135 -0
  550. package/node_modules/moment/locale/ko.js +86 -0
  551. package/node_modules/moment/locale/ku-kmr.js +125 -0
  552. package/node_modules/moment/locale/ku.js +129 -0
  553. package/node_modules/moment/locale/ky.js +95 -0
  554. package/node_modules/moment/locale/lb.js +148 -0
  555. package/node_modules/moment/locale/lo.js +77 -0
  556. package/node_modules/moment/locale/lt.js +136 -0
  557. package/node_modules/moment/locale/lv.js +105 -0
  558. package/node_modules/moment/locale/me.js +128 -0
  559. package/node_modules/moment/locale/mi.js +71 -0
  560. package/node_modules/moment/locale/mk.js +97 -0
  561. package/node_modules/moment/locale/ml.js +93 -0
  562. package/node_modules/moment/locale/mn.js +111 -0
  563. package/node_modules/moment/locale/mr.js +214 -0
  564. package/node_modules/moment/locale/ms-my.js +87 -0
  565. package/node_modules/moment/locale/ms.js +86 -0
  566. package/node_modules/moment/locale/mt.js +67 -0
  567. package/node_modules/moment/locale/my.js +102 -0
  568. package/node_modules/moment/locale/nb.js +71 -0
  569. package/node_modules/moment/locale/ne.js +132 -0
  570. package/node_modules/moment/locale/nl-be.js +113 -0
  571. package/node_modules/moment/locale/nl.js +115 -0
  572. package/node_modules/moment/locale/nn.js +70 -0
  573. package/node_modules/moment/locale/oc-lnc.js +96 -0
  574. package/node_modules/moment/locale/pa-in.js +133 -0
  575. package/node_modules/moment/locale/pl.js +151 -0
  576. package/node_modules/moment/locale/pt-br.js +69 -0
  577. package/node_modules/moment/locale/pt.js +74 -0
  578. package/node_modules/moment/locale/ro.js +87 -0
  579. package/node_modules/moment/locale/ru.js +224 -0
  580. package/node_modules/moment/locale/sd.js +92 -0
  581. package/node_modules/moment/locale/se.js +68 -0
  582. package/node_modules/moment/locale/si.js +80 -0
  583. package/node_modules/moment/locale/sk.js +156 -0
  584. package/node_modules/moment/locale/sl.js +182 -0
  585. package/node_modules/moment/locale/sq.js +76 -0
  586. package/node_modules/moment/locale/sr-cyrl.js +138 -0
  587. package/node_modules/moment/locale/sr.js +140 -0
  588. package/node_modules/moment/locale/ss.js +95 -0
  589. package/node_modules/moment/locale/sv.js +79 -0
  590. package/node_modules/moment/locale/sw.js +66 -0
  591. package/node_modules/moment/locale/ta.js +142 -0
  592. package/node_modules/moment/locale/te.js +99 -0
  593. package/node_modules/moment/locale/tet.js +79 -0
  594. package/node_modules/moment/locale/tg.js +128 -0
  595. package/node_modules/moment/locale/th.js +76 -0
  596. package/node_modules/moment/locale/tk.js +102 -0
  597. package/node_modules/moment/locale/tl-ph.js +68 -0
  598. package/node_modules/moment/locale/tlh.js +135 -0
  599. package/node_modules/moment/locale/tr.js +117 -0
  600. package/node_modules/moment/locale/tzl.js +100 -0
  601. package/node_modules/moment/locale/tzm-latn.js +65 -0
  602. package/node_modules/moment/locale/tzm.js +65 -0
  603. package/node_modules/moment/locale/ug-cn.js +122 -0
  604. package/node_modules/moment/locale/uk.js +178 -0
  605. package/node_modules/moment/locale/ur.js +93 -0
  606. package/node_modules/moment/locale/uz-latn.js +65 -0
  607. package/node_modules/moment/locale/uz.js +62 -0
  608. package/node_modules/moment/locale/vi.js +91 -0
  609. package/node_modules/moment/locale/x-pseudo.js +84 -0
  610. package/node_modules/moment/locale/yo.js +64 -0
  611. package/node_modules/moment/locale/zh-cn.js +131 -0
  612. package/node_modules/moment/locale/zh-hk.js +112 -0
  613. package/node_modules/moment/locale/zh-mo.js +111 -0
  614. package/node_modules/moment/locale/zh-tw.js +110 -0
  615. package/node_modules/moment/min/locales.js +12800 -0
  616. package/node_modules/moment/min/locales.min.js +2 -0
  617. package/node_modules/moment/min/locales.min.js.map +1 -0
  618. package/node_modules/moment/min/moment-with-locales.js +18472 -0
  619. package/node_modules/moment/min/moment-with-locales.min.js +2 -0
  620. package/node_modules/moment/min/moment-with-locales.min.js.map +1 -0
  621. package/node_modules/moment/min/moment.min.js +2 -0
  622. package/node_modules/moment/min/moment.min.js.map +1 -0
  623. package/node_modules/moment/moment.d.ts +796 -0
  624. package/node_modules/moment/moment.js +5688 -0
  625. package/node_modules/moment/package.js +11 -0
  626. package/node_modules/moment/package.json +116 -0
  627. package/node_modules/moment/src/lib/create/check-overflow.js +57 -0
  628. package/node_modules/moment/src/lib/create/date-from-array.js +35 -0
  629. package/node_modules/moment/src/lib/create/from-anything.js +117 -0
  630. package/node_modules/moment/src/lib/create/from-array.js +187 -0
  631. package/node_modules/moment/src/lib/create/from-object.js +20 -0
  632. package/node_modules/moment/src/lib/create/from-string-and-array.js +67 -0
  633. package/node_modules/moment/src/lib/create/from-string-and-format.js +135 -0
  634. package/node_modules/moment/src/lib/create/from-string.js +258 -0
  635. package/node_modules/moment/src/lib/create/local.js +5 -0
  636. package/node_modules/moment/src/lib/create/parsing-flags.js +28 -0
  637. package/node_modules/moment/src/lib/create/utc.js +5 -0
  638. package/node_modules/moment/src/lib/create/valid.js +51 -0
  639. package/node_modules/moment/src/lib/duration/abs.js +18 -0
  640. package/node_modules/moment/src/lib/duration/add-subtract.js +21 -0
  641. package/node_modules/moment/src/lib/duration/as.js +76 -0
  642. package/node_modules/moment/src/lib/duration/bubble.js +68 -0
  643. package/node_modules/moment/src/lib/duration/clone.js +5 -0
  644. package/node_modules/moment/src/lib/duration/constructor.js +42 -0
  645. package/node_modules/moment/src/lib/duration/create.js +133 -0
  646. package/node_modules/moment/src/lib/duration/duration.js +16 -0
  647. package/node_modules/moment/src/lib/duration/get.js +27 -0
  648. package/node_modules/moment/src/lib/duration/humanize.js +114 -0
  649. package/node_modules/moment/src/lib/duration/iso-string.js +68 -0
  650. package/node_modules/moment/src/lib/duration/prototype.js +78 -0
  651. package/node_modules/moment/src/lib/duration/valid.js +55 -0
  652. package/node_modules/moment/src/lib/format/format.js +104 -0
  653. package/node_modules/moment/src/lib/locale/base-config.js +41 -0
  654. package/node_modules/moment/src/lib/locale/calendar.js +15 -0
  655. package/node_modules/moment/src/lib/locale/constructor.js +5 -0
  656. package/node_modules/moment/src/lib/locale/en.js +39 -0
  657. package/node_modules/moment/src/lib/locale/formats.js +36 -0
  658. package/node_modules/moment/src/lib/locale/invalid.js +5 -0
  659. package/node_modules/moment/src/lib/locale/lists.js +93 -0
  660. package/node_modules/moment/src/lib/locale/locale.js +45 -0
  661. package/node_modules/moment/src/lib/locale/locales.js +249 -0
  662. package/node_modules/moment/src/lib/locale/ordinal.js +8 -0
  663. package/node_modules/moment/src/lib/locale/pre-post-format.js +3 -0
  664. package/node_modules/moment/src/lib/locale/prototype.js +88 -0
  665. package/node_modules/moment/src/lib/locale/relative.js +32 -0
  666. package/node_modules/moment/src/lib/locale/set.js +56 -0
  667. package/node_modules/moment/src/lib/moment/add-subtract.js +61 -0
  668. package/node_modules/moment/src/lib/moment/calendar.js +53 -0
  669. package/node_modules/moment/src/lib/moment/clone.js +5 -0
  670. package/node_modules/moment/src/lib/moment/compare.js +72 -0
  671. package/node_modules/moment/src/lib/moment/constructor.js +80 -0
  672. package/node_modules/moment/src/lib/moment/creation-data.js +9 -0
  673. package/node_modules/moment/src/lib/moment/diff.js +79 -0
  674. package/node_modules/moment/src/lib/moment/format.js +78 -0
  675. package/node_modules/moment/src/lib/moment/from.js +20 -0
  676. package/node_modules/moment/src/lib/moment/get-set.js +117 -0
  677. package/node_modules/moment/src/lib/moment/locale.js +34 -0
  678. package/node_modules/moment/src/lib/moment/min-max.js +62 -0
  679. package/node_modules/moment/src/lib/moment/moment.js +28 -0
  680. package/node_modules/moment/src/lib/moment/now.js +3 -0
  681. package/node_modules/moment/src/lib/moment/prototype.js +197 -0
  682. package/node_modules/moment/src/lib/moment/start-end-of.js +164 -0
  683. package/node_modules/moment/src/lib/moment/to-type.js +42 -0
  684. package/node_modules/moment/src/lib/moment/to.js +20 -0
  685. package/node_modules/moment/src/lib/moment/valid.js +15 -0
  686. package/node_modules/moment/src/lib/parse/regex.js +84 -0
  687. package/node_modules/moment/src/lib/parse/token.js +36 -0
  688. package/node_modules/moment/src/lib/units/aliases.js +75 -0
  689. package/node_modules/moment/src/lib/units/constants.js +9 -0
  690. package/node_modules/moment/src/lib/units/day-of-month.js +35 -0
  691. package/node_modules/moment/src/lib/units/day-of-week.js +432 -0
  692. package/node_modules/moment/src/lib/units/day-of-year.js +28 -0
  693. package/node_modules/moment/src/lib/units/era.js +293 -0
  694. package/node_modules/moment/src/lib/units/hour.js +152 -0
  695. package/node_modules/moment/src/lib/units/millisecond.js +66 -0
  696. package/node_modules/moment/src/lib/units/minute.js +24 -0
  697. package/node_modules/moment/src/lib/units/month.js +340 -0
  698. package/node_modules/moment/src/lib/units/offset.js +249 -0
  699. package/node_modules/moment/src/lib/units/priorities.js +34 -0
  700. package/node_modules/moment/src/lib/units/quarter.js +24 -0
  701. package/node_modules/moment/src/lib/units/second.js +24 -0
  702. package/node_modules/moment/src/lib/units/timestamp.js +20 -0
  703. package/node_modules/moment/src/lib/units/timezone.js +16 -0
  704. package/node_modules/moment/src/lib/units/units.js +20 -0
  705. package/node_modules/moment/src/lib/units/week-calendar-utils.js +66 -0
  706. package/node_modules/moment/src/lib/units/week-year.js +128 -0
  707. package/node_modules/moment/src/lib/units/week.js +62 -0
  708. package/node_modules/moment/src/lib/units/year.js +75 -0
  709. package/node_modules/moment/src/lib/utils/abs-ceil.js +7 -0
  710. package/node_modules/moment/src/lib/utils/abs-floor.js +8 -0
  711. package/node_modules/moment/src/lib/utils/abs-round.js +7 -0
  712. package/node_modules/moment/src/lib/utils/compare-arrays.js +18 -0
  713. package/node_modules/moment/src/lib/utils/defaults.js +10 -0
  714. package/node_modules/moment/src/lib/utils/deprecate.js +69 -0
  715. package/node_modules/moment/src/lib/utils/extend.js +19 -0
  716. package/node_modules/moment/src/lib/utils/has-own-prop.js +3 -0
  717. package/node_modules/moment/src/lib/utils/hooks.js +13 -0
  718. package/node_modules/moment/src/lib/utils/index-of.js +18 -0
  719. package/node_modules/moment/src/lib/utils/is-array.js +6 -0
  720. package/node_modules/moment/src/lib/utils/is-calendar-spec.js +25 -0
  721. package/node_modules/moment/src/lib/utils/is-date.js +6 -0
  722. package/node_modules/moment/src/lib/utils/is-function.js +6 -0
  723. package/node_modules/moment/src/lib/utils/is-leap-year.js +3 -0
  724. package/node_modules/moment/src/lib/utils/is-moment-input.js +75 -0
  725. package/node_modules/moment/src/lib/utils/is-number.js +6 -0
  726. package/node_modules/moment/src/lib/utils/is-object-empty.js +15 -0
  727. package/node_modules/moment/src/lib/utils/is-object.js +8 -0
  728. package/node_modules/moment/src/lib/utils/is-string.js +3 -0
  729. package/node_modules/moment/src/lib/utils/is-undefined.js +3 -0
  730. package/node_modules/moment/src/lib/utils/keys.js +20 -0
  731. package/node_modules/moment/src/lib/utils/map.js +9 -0
  732. package/node_modules/moment/src/lib/utils/mod.js +3 -0
  733. package/node_modules/moment/src/lib/utils/some.js +20 -0
  734. package/node_modules/moment/src/lib/utils/to-int.js +12 -0
  735. package/node_modules/moment/src/lib/utils/zero-fill.js +10 -0
  736. package/node_modules/moment/src/locale/af.js +71 -0
  737. package/node_modules/moment/src/locale/ar-dz.js +156 -0
  738. package/node_modules/moment/src/locale/ar-kw.js +55 -0
  739. package/node_modules/moment/src/locale/ar-ly.js +171 -0
  740. package/node_modules/moment/src/locale/ar-ma.js +56 -0
  741. package/node_modules/moment/src/locale/ar-ps.js +112 -0
  742. package/node_modules/moment/src/locale/ar-sa.js +105 -0
  743. package/node_modules/moment/src/locale/ar-tn.js +55 -0
  744. package/node_modules/moment/src/locale/ar.js +189 -0
  745. package/node_modules/moment/src/locale/az.js +102 -0
  746. package/node_modules/moment/src/locale/be.js +142 -0
  747. package/node_modules/moment/src/locale/bg.js +87 -0
  748. package/node_modules/moment/src/locale/bm.js +52 -0
  749. package/node_modules/moment/src/locale/bn-bd.js +129 -0
  750. package/node_modules/moment/src/locale/bn.js +119 -0
  751. package/node_modules/moment/src/locale/bo.js +124 -0
  752. package/node_modules/moment/src/locale/br.js +168 -0
  753. package/node_modules/moment/src/locale/bs.js +160 -0
  754. package/node_modules/moment/src/locale/ca.js +100 -0
  755. package/node_modules/moment/src/locale/cs.js +181 -0
  756. package/node_modules/moment/src/locale/cv.js +63 -0
  757. package/node_modules/moment/src/locale/cy.js +98 -0
  758. package/node_modules/moment/src/locale/da.js +53 -0
  759. package/node_modules/moment/src/locale/de-at.js +79 -0
  760. package/node_modules/moment/src/locale/de-ch.js +78 -0
  761. package/node_modules/moment/src/locale/de.js +78 -0
  762. package/node_modules/moment/src/locale/dv.js +90 -0
  763. package/node_modules/moment/src/locale/el.js +106 -0
  764. package/node_modules/moment/src/locale/en-au.js +68 -0
  765. package/node_modules/moment/src/locale/en-ca.js +64 -0
  766. package/node_modules/moment/src/locale/en-gb.js +68 -0
  767. package/node_modules/moment/src/locale/en-ie.js +68 -0
  768. package/node_modules/moment/src/locale/en-il.js +64 -0
  769. package/node_modules/moment/src/locale/en-in.js +68 -0
  770. package/node_modules/moment/src/locale/en-nz.js +68 -0
  771. package/node_modules/moment/src/locale/en-sg.js +68 -0
  772. package/node_modules/moment/src/locale/eo.js +68 -0
  773. package/node_modules/moment/src/locale/es-do.js +108 -0
  774. package/node_modules/moment/src/locale/es-mx.js +110 -0
  775. package/node_modules/moment/src/locale/es-us.js +110 -0
  776. package/node_modules/moment/src/locale/es.js +110 -0
  777. package/node_modules/moment/src/locale/et.js +78 -0
  778. package/node_modules/moment/src/locale/eu.js +65 -0
  779. package/node_modules/moment/src/locale/fa.js +113 -0
  780. package/node_modules/moment/src/locale/fi.js +124 -0
  781. package/node_modules/moment/src/locale/fil.js +58 -0
  782. package/node_modules/moment/src/locale/fo.js +57 -0
  783. package/node_modules/moment/src/locale/fr-ca.js +70 -0
  784. package/node_modules/moment/src/locale/fr-ch.js +74 -0
  785. package/node_modules/moment/src/locale/fr.js +108 -0
  786. package/node_modules/moment/src/locale/fy.js +75 -0
  787. package/node_modules/moment/src/locale/ga.js +95 -0
  788. package/node_modules/moment/src/locale/gd.js +95 -0
  789. package/node_modules/moment/src/locale/gl.js +75 -0
  790. package/node_modules/moment/src/locale/gom-deva.js +126 -0
  791. package/node_modules/moment/src/locale/gom-latn.js +124 -0
  792. package/node_modules/moment/src/locale/gu.js +122 -0
  793. package/node_modules/moment/src/locale/he.js +94 -0
  794. package/node_modules/moment/src/locale/hi.js +168 -0
  795. package/node_modules/moment/src/locale/hr.js +156 -0
  796. package/node_modules/moment/src/locale/hu.js +118 -0
  797. package/node_modules/moment/src/locale/hy-am.js +94 -0
  798. package/node_modules/moment/src/locale/id.js +76 -0
  799. package/node_modules/moment/src/locale/is.js +140 -0
  800. package/node_modules/moment/src/locale/it-ch.js +64 -0
  801. package/node_modules/moment/src/locale/it.js +106 -0
  802. package/node_modules/moment/src/locale/ja.js +148 -0
  803. package/node_modules/moment/src/locale/jv.js +76 -0
  804. package/node_modules/moment/src/locale/ka.js +92 -0
  805. package/node_modules/moment/src/locale/kk.js +82 -0
  806. package/node_modules/moment/src/locale/km.js +103 -0
  807. package/node_modules/moment/src/locale/kn.js +124 -0
  808. package/node_modules/moment/src/locale/ko.js +75 -0
  809. package/node_modules/moment/src/locale/ku-kmr.js +121 -0
  810. package/node_modules/moment/src/locale/ku.js +118 -0
  811. package/node_modules/moment/src/locale/ky.js +84 -0
  812. package/node_modules/moment/src/locale/lb.js +137 -0
  813. package/node_modules/moment/src/locale/lo.js +66 -0
  814. package/node_modules/moment/src/locale/lt.js +125 -0
  815. package/node_modules/moment/src/locale/lv.js +94 -0
  816. package/node_modules/moment/src/locale/me.js +117 -0
  817. package/node_modules/moment/src/locale/mi.js +60 -0
  818. package/node_modules/moment/src/locale/mk.js +85 -0
  819. package/node_modules/moment/src/locale/ml.js +82 -0
  820. package/node_modules/moment/src/locale/mn.js +100 -0
  821. package/node_modules/moment/src/locale/mr.js +203 -0
  822. package/node_modules/moment/src/locale/ms-my.js +76 -0
  823. package/node_modules/moment/src/locale/ms.js +75 -0
  824. package/node_modules/moment/src/locale/mt.js +56 -0
  825. package/node_modules/moment/src/locale/my.js +91 -0
  826. package/node_modules/moment/src/locale/nb.js +60 -0
  827. package/node_modules/moment/src/locale/ne.js +121 -0
  828. package/node_modules/moment/src/locale/nl-be.js +102 -0
  829. package/node_modules/moment/src/locale/nl.js +104 -0
  830. package/node_modules/moment/src/locale/nn.js +59 -0
  831. package/node_modules/moment/src/locale/oc-lnc.js +85 -0
  832. package/node_modules/moment/src/locale/pa-in.js +122 -0
  833. package/node_modules/moment/src/locale/pl.js +140 -0
  834. package/node_modules/moment/src/locale/pt-br.js +58 -0
  835. package/node_modules/moment/src/locale/pt.js +63 -0
  836. package/node_modules/moment/src/locale/ro.js +76 -0
  837. package/node_modules/moment/src/locale/ru.js +213 -0
  838. package/node_modules/moment/src/locale/sd.js +81 -0
  839. package/node_modules/moment/src/locale/se.js +57 -0
  840. package/node_modules/moment/src/locale/si.js +69 -0
  841. package/node_modules/moment/src/locale/sk.js +145 -0
  842. package/node_modules/moment/src/locale/sl.js +171 -0
  843. package/node_modules/moment/src/locale/sq.js +65 -0
  844. package/node_modules/moment/src/locale/sr-cyrl.js +127 -0
  845. package/node_modules/moment/src/locale/sr.js +129 -0
  846. package/node_modules/moment/src/locale/ss.js +84 -0
  847. package/node_modules/moment/src/locale/sv.js +68 -0
  848. package/node_modules/moment/src/locale/sw.js +55 -0
  849. package/node_modules/moment/src/locale/ta.js +131 -0
  850. package/node_modules/moment/src/locale/te.js +88 -0
  851. package/node_modules/moment/src/locale/tet.js +68 -0
  852. package/node_modules/moment/src/locale/tg.js +117 -0
  853. package/node_modules/moment/src/locale/th.js +65 -0
  854. package/node_modules/moment/src/locale/tk.js +91 -0
  855. package/node_modules/moment/src/locale/tl-ph.js +57 -0
  856. package/node_modules/moment/src/locale/tlh.js +124 -0
  857. package/node_modules/moment/src/locale/tr.js +106 -0
  858. package/node_modules/moment/src/locale/tzl.js +89 -0
  859. package/node_modules/moment/src/locale/tzm-latn.js +54 -0
  860. package/node_modules/moment/src/locale/tzm.js +54 -0
  861. package/node_modules/moment/src/locale/ug-cn.js +111 -0
  862. package/node_modules/moment/src/locale/uk.js +167 -0
  863. package/node_modules/moment/src/locale/ur.js +82 -0
  864. package/node_modules/moment/src/locale/uz-latn.js +54 -0
  865. package/node_modules/moment/src/locale/uz.js +51 -0
  866. package/node_modules/moment/src/locale/vi.js +80 -0
  867. package/node_modules/moment/src/locale/x-pseudo.js +73 -0
  868. package/node_modules/moment/src/locale/yo.js +53 -0
  869. package/node_modules/moment/src/locale/zh-cn.js +120 -0
  870. package/node_modules/moment/src/locale/zh-hk.js +101 -0
  871. package/node_modules/moment/src/locale/zh-mo.js +100 -0
  872. package/node_modules/moment/src/locale/zh-tw.js +99 -0
  873. package/node_modules/moment/src/moment.js +93 -0
  874. package/node_modules/moment/ts3.1-typings/moment.d.ts +785 -0
  875. package/node_modules/nanoid/LICENSE +20 -0
  876. package/node_modules/nanoid/README.md +38 -0
  877. package/node_modules/nanoid/async/index.browser.js +33 -0
  878. package/node_modules/nanoid/async/index.d.ts +56 -0
  879. package/node_modules/nanoid/async/index.js +34 -0
  880. package/node_modules/nanoid/async/index.native.js +25 -0
  881. package/node_modules/nanoid/bin/nanoid.js +46 -0
  882. package/node_modules/nanoid/index.browser.js +33 -0
  883. package/node_modules/nanoid/index.d.ts +91 -0
  884. package/node_modules/nanoid/index.js +45 -0
  885. package/node_modules/nanoid/nanoid.js +1 -0
  886. package/node_modules/nanoid/non-secure/index.d.ts +33 -0
  887. package/node_modules/nanoid/non-secure/index.js +20 -0
  888. package/node_modules/nanoid/package.json +46 -0
  889. package/node_modules/nanoid/url-alphabet/index.js +2 -0
  890. package/node_modules/ts-md5/LICENSE +21 -0
  891. package/node_modules/ts-md5/README.md +101 -0
  892. package/node_modules/ts-md5/dist/cjs/index.d.ts +3 -0
  893. package/node_modules/ts-md5/dist/cjs/index.js +10 -0
  894. package/node_modules/ts-md5/dist/cjs/index.js.map +1 -0
  895. package/node_modules/ts-md5/dist/cjs/md5.d.ts +70 -0
  896. package/node_modules/ts-md5/dist/cjs/md5.js +429 -0
  897. package/node_modules/ts-md5/dist/cjs/md5.js.map +1 -0
  898. package/node_modules/ts-md5/dist/cjs/md5_file_hasher.d.ts +25 -0
  899. package/node_modules/ts-md5/dist/cjs/md5_file_hasher.js +96 -0
  900. package/node_modules/ts-md5/dist/cjs/md5_file_hasher.js.map +1 -0
  901. package/node_modules/ts-md5/dist/cjs/parallel_hasher.d.ts +22 -0
  902. package/node_modules/ts-md5/dist/cjs/parallel_hasher.js +69 -0
  903. package/node_modules/ts-md5/dist/cjs/parallel_hasher.js.map +1 -0
  904. package/node_modules/ts-md5/dist/esm/index.d.ts +3 -0
  905. package/node_modules/ts-md5/dist/esm/index.js +4 -0
  906. package/node_modules/ts-md5/dist/esm/index.js.map +1 -0
  907. package/node_modules/ts-md5/dist/esm/md5.d.ts +70 -0
  908. package/node_modules/ts-md5/dist/esm/md5.js +421 -0
  909. package/node_modules/ts-md5/dist/esm/md5.js.map +1 -0
  910. package/node_modules/ts-md5/dist/esm/md5_file_hasher.d.ts +25 -0
  911. package/node_modules/ts-md5/dist/esm/md5_file_hasher.js +89 -0
  912. package/node_modules/ts-md5/dist/esm/md5_file_hasher.js.map +1 -0
  913. package/node_modules/ts-md5/dist/esm/parallel_hasher.d.ts +22 -0
  914. package/node_modules/ts-md5/dist/esm/parallel_hasher.js +64 -0
  915. package/node_modules/ts-md5/dist/esm/parallel_hasher.js.map +1 -0
  916. package/node_modules/ts-md5/dist/md5.js +429 -0
  917. package/node_modules/ts-md5/dist/md5_worker.js +523 -0
  918. package/node_modules/ts-md5/package.json +82 -0
  919. package/node_modules/ts-md5/src/index.ts +4 -0
  920. package/node_modules/ts-md5/src/md5.ts +473 -0
  921. package/node_modules/ts-md5/src/md5_file_hasher.ts +110 -0
  922. package/node_modules/ts-md5/src/parallel_hasher.ts +90 -0
  923. package/node_modules/ts-md5/src/worker.js +20 -0
  924. package/package.json +160 -0
  925. package/scripts/generate-index.js +52 -0
  926. package/setup.js +2 -0
  927. package/tfsec.json +4 -0
  928. package/util/compute.go +106 -0
  929. package/util/terraform.go +213 -0
  930. package/util/util.go +100 -0
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const provider_1 = require("@cdktf/provider-azurerm/lib/provider");
4
+ const resource_group_1 = require("@cdktf/provider-azurerm/lib/resource-group");
5
+ const cdktf_1 = require("cdktf");
6
+ require("cdktf/lib/testing/adapters/jest");
7
+ const ExampleAzureVirtualNetwork_1 = require("./ExampleAzureVirtualNetwork");
8
+ const vnet = require("..");
9
+ describe("Azure Virtual Network With Defaults", () => {
10
+ let stack;
11
+ let fullSynthResult;
12
+ beforeEach(() => {
13
+ const app = cdktf_1.Testing.app();
14
+ stack = new cdktf_1.TerraformStack(app, "test");
15
+ new provider_1.AzurermProvider(stack, "azureFeature", { features: {} });
16
+ const rg = new resource_group_1.ResourceGroup(stack, "MyResourceGroup", {
17
+ name: "rg-test",
18
+ location: "eastus",
19
+ });
20
+ new vnet.Network(stack, "testAzureVirtualNetworkDefaults", {
21
+ resourceGroup: rg,
22
+ });
23
+ fullSynthResult = cdktf_1.Testing.fullSynth(stack); // Save the result for reuse
24
+ });
25
+ it("renders an Azure Virtual Network with defaults and checks snapshot", () => {
26
+ expect(cdktf_1.Testing.synth(stack)).toMatchSnapshot(); // Compare the already prepared stack
27
+ });
28
+ it("check if the produced terraform configuration is valid", () => {
29
+ expect(fullSynthResult).toBeValidTerraform(); // Use the saved result
30
+ });
31
+ it("check if this can be planned", () => {
32
+ expect(fullSynthResult).toPlanSuccessfully(); // Use the saved result
33
+ });
34
+ });
35
+ describe("Azure Virtual Network Example", () => {
36
+ it("renders the Example Azure Virtual Network and checks snapshot", () => {
37
+ expect(cdktf_1.Testing.synth(new ExampleAzureVirtualNetwork_1.exampleAzureVirtualNetwork(cdktf_1.Testing.app(), "testAzureVirtualNetwork"))).toMatchSnapshot();
38
+ });
39
+ it("check if the produced terraform configuration is valid", () => {
40
+ // We need to do a full synth to plan the terraform configuration
41
+ expect(cdktf_1.Testing.fullSynth(new ExampleAzureVirtualNetwork_1.exampleAzureVirtualNetwork(cdktf_1.Testing.app(), "testAzureVirtualNetwork"))).toBeValidTerraform();
42
+ });
43
+ it("check if this can be planned", () => {
44
+ // We need to do a full synth to plan the terraform configuration
45
+ expect(cdktf_1.Testing.fullSynth(new ExampleAzureVirtualNetwork_1.exampleAzureVirtualNetwork(cdktf_1.Testing.app(), "testAzureVirtualNetwork"))).toPlanSuccessfully();
46
+ });
47
+ });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXp1cmVWaXJ0dWFsTmV0d29yay5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F6dXJlLXZpcnR1YWxuZXR3b3JrL3Rlc3QvQXp1cmVWaXJ0dWFsTmV0d29yay5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbUVBQXVFO0FBQ3ZFLCtFQUEyRTtBQUMzRSxpQ0FBZ0Q7QUFDaEQsMkNBQXlDO0FBQ3pDLDZFQUEwRTtBQUMxRSwyQkFBMkI7QUFFM0IsUUFBUSxDQUFDLHFDQUFxQyxFQUFFLEdBQUcsRUFBRTtJQUNuRCxJQUFJLEtBQXFCLENBQUM7SUFDMUIsSUFBSSxlQUFvQixDQUFDO0lBRXpCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZCxNQUFNLEdBQUcsR0FBRyxlQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDMUIsS0FBSyxHQUFHLElBQUksc0JBQWMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFeEMsSUFBSSwwQkFBZSxDQUFDLEtBQUssRUFBRSxjQUFjLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUU3RCxNQUFNLEVBQUUsR0FBRyxJQUFJLDhCQUFhLENBQUMsS0FBSyxFQUFFLGlCQUFpQixFQUFFO1lBQ3JELElBQUksRUFBRSxTQUFTO1lBQ2YsUUFBUSxFQUFFLFFBQVE7U0FDbkIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxpQ0FBaUMsRUFBRTtZQUN6RCxhQUFhLEVBQUUsRUFBRTtTQUNsQixDQUFDLENBQUM7UUFFSCxlQUFlLEdBQUcsZUFBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLDRCQUE0QjtJQUMxRSxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxvRUFBb0UsRUFBRSxHQUFHLEVBQUU7UUFDNUUsTUFBTSxDQUFDLGVBQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLHFDQUFxQztJQUN2RixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyx3REFBd0QsRUFBRSxHQUFHLEVBQUU7UUFDaEUsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyx1QkFBdUI7SUFDdkUsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsOEJBQThCLEVBQUUsR0FBRyxFQUFFO1FBQ3RDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsdUJBQXVCO0lBQ3ZFLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUM7QUFFSCxRQUFRLENBQUMsK0JBQStCLEVBQUUsR0FBRyxFQUFFO0lBQzdDLEVBQUUsQ0FBQywrREFBK0QsRUFBRSxHQUFHLEVBQUU7UUFDdkUsTUFBTSxDQUNKLGVBQU8sQ0FBQyxLQUFLLENBQ1gsSUFBSSx1REFBMEIsQ0FDNUIsZUFBTyxDQUFDLEdBQUcsRUFBRSxFQUNiLHlCQUF5QixDQUMxQixDQUNGLENBQ0YsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN0QixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyx3REFBd0QsRUFBRSxHQUFHLEVBQUU7UUFDaEUsaUVBQWlFO1FBQ2pFLE1BQU0sQ0FDSixlQUFPLENBQUMsU0FBUyxDQUNmLElBQUksdURBQTBCLENBQzVCLGVBQU8sQ0FBQyxHQUFHLEVBQUUsRUFDYix5QkFBeUIsQ0FDMUIsQ0FDRixDQUNGLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUN6QixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw4QkFBOEIsRUFBRSxHQUFHLEVBQUU7UUFDdEMsaUVBQWlFO1FBQ2pFLE1BQU0sQ0FDSixlQUFPLENBQUMsU0FBUyxDQUNmLElBQUksdURBQTBCLENBQzVCLGVBQU8sQ0FBQyxHQUFHLEVBQUUsRUFDYix5QkFBeUIsQ0FDMUIsQ0FDRixDQUNGLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUN6QixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXp1cmVybVByb3ZpZGVyIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9wcm92aWRlclwiO1xuaW1wb3J0IHsgUmVzb3VyY2VHcm91cCB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvcmVzb3VyY2UtZ3JvdXBcIjtcbmltcG9ydCB7IFRlc3RpbmcsIFRlcnJhZm9ybVN0YWNrIH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgXCJjZGt0Zi9saWIvdGVzdGluZy9hZGFwdGVycy9qZXN0XCI7XG5pbXBvcnQgeyBleGFtcGxlQXp1cmVWaXJ0dWFsTmV0d29yayB9IGZyb20gXCIuL0V4YW1wbGVBenVyZVZpcnR1YWxOZXR3b3JrXCI7XG5pbXBvcnQgKiBhcyB2bmV0IGZyb20gXCIuLlwiO1xuXG5kZXNjcmliZShcIkF6dXJlIFZpcnR1YWwgTmV0d29yayBXaXRoIERlZmF1bHRzXCIsICgpID0+IHtcbiAgbGV0IHN0YWNrOiBUZXJyYWZvcm1TdGFjaztcbiAgbGV0IGZ1bGxTeW50aFJlc3VsdDogYW55O1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIGNvbnN0IGFwcCA9IFRlc3RpbmcuYXBwKCk7XG4gICAgc3RhY2sgPSBuZXcgVGVycmFmb3JtU3RhY2soYXBwLCBcInRlc3RcIik7XG5cbiAgICBuZXcgQXp1cmVybVByb3ZpZGVyKHN0YWNrLCBcImF6dXJlRmVhdHVyZVwiLCB7IGZlYXR1cmVzOiB7fSB9KTtcblxuICAgIGNvbnN0IHJnID0gbmV3IFJlc291cmNlR3JvdXAoc3RhY2ssIFwiTXlSZXNvdXJjZUdyb3VwXCIsIHtcbiAgICAgIG5hbWU6IFwicmctdGVzdFwiLFxuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgfSk7XG5cbiAgICBuZXcgdm5ldC5OZXR3b3JrKHN0YWNrLCBcInRlc3RBenVyZVZpcnR1YWxOZXR3b3JrRGVmYXVsdHNcIiwge1xuICAgICAgcmVzb3VyY2VHcm91cDogcmcsXG4gICAgfSk7XG5cbiAgICBmdWxsU3ludGhSZXN1bHQgPSBUZXN0aW5nLmZ1bGxTeW50aChzdGFjayk7IC8vIFNhdmUgdGhlIHJlc3VsdCBmb3IgcmV1c2VcbiAgfSk7XG5cbiAgaXQoXCJyZW5kZXJzIGFuIEF6dXJlIFZpcnR1YWwgTmV0d29yayB3aXRoIGRlZmF1bHRzIGFuZCBjaGVja3Mgc25hcHNob3RcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChUZXN0aW5nLnN5bnRoKHN0YWNrKSkudG9NYXRjaFNuYXBzaG90KCk7IC8vIENvbXBhcmUgdGhlIGFscmVhZHkgcHJlcGFyZWQgc3RhY2tcbiAgfSk7XG5cbiAgaXQoXCJjaGVjayBpZiB0aGUgcHJvZHVjZWQgdGVycmFmb3JtIGNvbmZpZ3VyYXRpb24gaXMgdmFsaWRcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChmdWxsU3ludGhSZXN1bHQpLnRvQmVWYWxpZFRlcnJhZm9ybSgpOyAvLyBVc2UgdGhlIHNhdmVkIHJlc3VsdFxuICB9KTtcblxuICBpdChcImNoZWNrIGlmIHRoaXMgY2FuIGJlIHBsYW5uZWRcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChmdWxsU3ludGhSZXN1bHQpLnRvUGxhblN1Y2Nlc3NmdWxseSgpOyAvLyBVc2UgdGhlIHNhdmVkIHJlc3VsdFxuICB9KTtcbn0pO1xuXG5kZXNjcmliZShcIkF6dXJlIFZpcnR1YWwgTmV0d29yayBFeGFtcGxlXCIsICgpID0+IHtcbiAgaXQoXCJyZW5kZXJzIHRoZSBFeGFtcGxlIEF6dXJlIFZpcnR1YWwgTmV0d29yayBhbmQgY2hlY2tzIHNuYXBzaG90XCIsICgpID0+IHtcbiAgICBleHBlY3QoXG4gICAgICBUZXN0aW5nLnN5bnRoKFxuICAgICAgICBuZXcgZXhhbXBsZUF6dXJlVmlydHVhbE5ldHdvcmsoXG4gICAgICAgICAgVGVzdGluZy5hcHAoKSxcbiAgICAgICAgICBcInRlc3RBenVyZVZpcnR1YWxOZXR3b3JrXCIsXG4gICAgICAgICksXG4gICAgICApLFxuICAgICkudG9NYXRjaFNuYXBzaG90KCk7XG4gIH0pO1xuXG4gIGl0KFwiY2hlY2sgaWYgdGhlIHByb2R1Y2VkIHRlcnJhZm9ybSBjb25maWd1cmF0aW9uIGlzIHZhbGlkXCIsICgpID0+IHtcbiAgICAvLyBXZSBuZWVkIHRvIGRvIGEgZnVsbCBzeW50aCB0byBwbGFuIHRoZSB0ZXJyYWZvcm0gY29uZmlndXJhdGlvblxuICAgIGV4cGVjdChcbiAgICAgIFRlc3RpbmcuZnVsbFN5bnRoKFxuICAgICAgICBuZXcgZXhhbXBsZUF6dXJlVmlydHVhbE5ldHdvcmsoXG4gICAgICAgICAgVGVzdGluZy5hcHAoKSxcbiAgICAgICAgICBcInRlc3RBenVyZVZpcnR1YWxOZXR3b3JrXCIsXG4gICAgICAgICksXG4gICAgICApLFxuICAgICkudG9CZVZhbGlkVGVycmFmb3JtKCk7XG4gIH0pO1xuXG4gIGl0KFwiY2hlY2sgaWYgdGhpcyBjYW4gYmUgcGxhbm5lZFwiLCAoKSA9PiB7XG4gICAgLy8gV2UgbmVlZCB0byBkbyBhIGZ1bGwgc3ludGggdG8gcGxhbiB0aGUgdGVycmFmb3JtIGNvbmZpZ3VyYXRpb25cbiAgICBleHBlY3QoXG4gICAgICBUZXN0aW5nLmZ1bGxTeW50aChcbiAgICAgICAgbmV3IGV4YW1wbGVBenVyZVZpcnR1YWxOZXR3b3JrKFxuICAgICAgICAgIFRlc3RpbmcuYXBwKCksXG4gICAgICAgICAgXCJ0ZXN0QXp1cmVWaXJ0dWFsTmV0d29ya1wiLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApLnRvUGxhblN1Y2Nlc3NmdWxseSgpO1xuICB9KTtcbn0pO1xuIl19
@@ -0,0 +1,5 @@
1
+ import { Construct } from "constructs";
2
+ import { BaseTestStack } from "../../testing";
3
+ export declare class exampleAzureVirtualNetwork extends BaseTestStack {
4
+ constructor(scope: Construct, id: string);
5
+ }
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.exampleAzureVirtualNetwork = 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 vnet = require("..");
11
+ const testing_1 = require("../../testing");
12
+ const app = new cdktf_1.App();
13
+ class exampleAzureVirtualNetwork extends testing_1.BaseTestStack {
14
+ constructor(scope, id) {
15
+ super(scope, id);
16
+ new provider_1.AzurermProvider(this, "azureFeature", {
17
+ features: {},
18
+ });
19
+ const clientConfig = new data_azurerm_client_config_1.DataAzurermClientConfig(this, "CurrentClientConfig", {});
20
+ const resourceGroup = new resource_group_1.ResourceGroup(this, "rg", {
21
+ location: "eastus",
22
+ name: `rg-${this.name}`,
23
+ });
24
+ const network = new vnet.Network(this, "testAzureVirtualNetworkDefaults", {
25
+ name: `vnet-${this.name}`,
26
+ location: "eastus",
27
+ resourceGroup: resourceGroup,
28
+ addressSpace: ["10.0.0.0/16"],
29
+ subnets: [
30
+ {
31
+ name: "subnet1",
32
+ addressPrefixes: ["10.0.1.0/24"],
33
+ },
34
+ {
35
+ name: "subnet2",
36
+ addressPrefixes: ["10.0.2.0/24"],
37
+ },
38
+ ],
39
+ });
40
+ const remotenetwork = new vnet.Network(this, "testAzureRemoteVirtualNetworkDefaults", {
41
+ name: `vnet-${this.name}2`,
42
+ location: "westus",
43
+ resourceGroup: resourceGroup,
44
+ addressSpace: ["10.1.0.0/16"],
45
+ subnets: [
46
+ {
47
+ name: "subnet1",
48
+ addressPrefixes: ["10.1.1.0/24"],
49
+ },
50
+ {
51
+ name: "subnet2",
52
+ addressPrefixes: ["10.1.2.0/24"],
53
+ },
54
+ ],
55
+ });
56
+ const logAnalyticsWorkspace = new log_analytics_workspace_1.LogAnalyticsWorkspace(this, "log_analytics", {
57
+ location: "eastus",
58
+ name: `la-${this.name}`,
59
+ resourceGroupName: resourceGroup.name,
60
+ });
61
+ // Diag Settings
62
+ network.addDiagSettings({
63
+ name: "diagsettings",
64
+ logAnalyticsWorkspaceId: logAnalyticsWorkspace.id,
65
+ });
66
+ // RBAC
67
+ network.addAccess(clientConfig.objectId, "Contributor");
68
+ // Peer the networks
69
+ network.addVnetPeering(remotenetwork);
70
+ // Outputs to use for End to End Test
71
+ const cdktfTerraformOutputRGName = new cdktf.TerraformOutput(this, "resource_group_name", {
72
+ value: resourceGroup.name,
73
+ });
74
+ const cdktfTerraformOutputVnetName = new cdktf.TerraformOutput(this, "virtual_network_name", {
75
+ value: network.name,
76
+ });
77
+ const cdktfTerraformOutputSnetName = new cdktf.TerraformOutput(this, "subnet_name", {
78
+ value: network.subnets.subnet1.name,
79
+ });
80
+ cdktfTerraformOutputVnetName.overrideLogicalId("virtual_network_name");
81
+ cdktfTerraformOutputSnetName.overrideLogicalId("subnet_name");
82
+ cdktfTerraformOutputRGName.overrideLogicalId("resource_group_name");
83
+ }
84
+ }
85
+ exports.exampleAzureVirtualNetwork = exampleAzureVirtualNetwork;
86
+ new exampleAzureVirtualNetwork(app, "testAzureVirtualNetwork");
87
+ app.synth();
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhhbXBsZUF6dXJlVmlydHVhbE5ldHdvcmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtdmlydHVhbG5ldHdvcmsvdGVzdC9FeGFtcGxlQXp1cmVWaXJ0dWFsTmV0d29yay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1R0FBaUc7QUFDakcsaUdBQTRGO0FBQzVGLG1FQUF1RTtBQUN2RSwrRUFBMkU7QUFDM0UsK0JBQStCO0FBQy9CLGlDQUE0QjtBQUU1QiwyQkFBMkI7QUFDM0IsMkNBQThDO0FBRTlDLE1BQU0sR0FBRyxHQUFHLElBQUksV0FBRyxFQUFFLENBQUM7QUFFdEIsTUFBYSwwQkFBMkIsU0FBUSx1QkFBYTtJQUMzRCxZQUFZLEtBQWdCLEVBQUUsRUFBVTtRQUN0QyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksMEJBQWUsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFO1lBQ3hDLFFBQVEsRUFBRSxFQUFFO1NBQ2IsQ0FBQyxDQUFDO1FBRUgsTUFBTSxZQUFZLEdBQUcsSUFBSSxvREFBdUIsQ0FDOUMsSUFBSSxFQUNKLHFCQUFxQixFQUNyQixFQUFFLENBQ0gsQ0FBQztRQUVGLE1BQU0sYUFBYSxHQUFHLElBQUksOEJBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ2xELFFBQVEsRUFBRSxRQUFRO1lBQ2xCLElBQUksRUFBRSxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUU7U0FDeEIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxpQ0FBaUMsRUFBRTtZQUN4RSxJQUFJLEVBQUUsUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ3pCLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLGFBQWEsRUFBRSxhQUFhO1lBQzVCLFlBQVksRUFBRSxDQUFDLGFBQWEsQ0FBQztZQUM3QixPQUFPLEVBQUU7Z0JBQ1A7b0JBQ0UsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsZUFBZSxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUNqQztnQkFDRDtvQkFDRSxJQUFJLEVBQUUsU0FBUztvQkFDZixlQUFlLEVBQUUsQ0FBQyxhQUFhLENBQUM7aUJBQ2pDO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFFSCxNQUFNLGFBQWEsR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQ3BDLElBQUksRUFDSix1Q0FBdUMsRUFDdkM7WUFDRSxJQUFJLEVBQUUsUUFBUSxJQUFJLENBQUMsSUFBSSxHQUFHO1lBQzFCLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLGFBQWEsRUFBRSxhQUFhO1lBQzVCLFlBQVksRUFBRSxDQUFDLGFBQWEsQ0FBQztZQUM3QixPQUFPLEVBQUU7Z0JBQ1A7b0JBQ0UsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsZUFBZSxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUNqQztnQkFDRDtvQkFDRSxJQUFJLEVBQUUsU0FBUztvQkFDZixlQUFlLEVBQUUsQ0FBQyxhQUFhLENBQUM7aUJBQ2pDO2FBQ0Y7U0FDRixDQUNGLENBQUM7UUFFRixNQUFNLHFCQUFxQixHQUFHLElBQUksK0NBQXFCLENBQ3JELElBQUksRUFDSixlQUFlLEVBQ2Y7WUFDRSxRQUFRLEVBQUUsUUFBUTtZQUNsQixJQUFJLEVBQUUsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ3ZCLGlCQUFpQixFQUFFLGFBQWEsQ0FBQyxJQUFJO1NBQ3RDLENBQ0YsQ0FBQztRQUVGLGdCQUFnQjtRQUNoQixPQUFPLENBQUMsZUFBZSxDQUFDO1lBQ3RCLElBQUksRUFBRSxjQUFjO1lBQ3BCLHVCQUF1QixFQUFFLHFCQUFxQixDQUFDLEVBQUU7U0FDbEQsQ0FBQyxDQUFDO1FBRUgsT0FBTztRQUNQLE9BQU8sQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUV4RCxvQkFBb0I7UUFDcEIsT0FBTyxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV0QyxxQ0FBcUM7UUFDckMsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQzFELElBQUksRUFDSixxQkFBcUIsRUFDckI7WUFDRSxLQUFLLEVBQUUsYUFBYSxDQUFDLElBQUk7U0FDMUIsQ0FDRixDQUFDO1FBRUYsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQzVELElBQUksRUFDSixzQkFBc0IsRUFDdEI7WUFDRSxLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUk7U0FDcEIsQ0FDRixDQUFDO1FBRUYsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQzVELElBQUksRUFDSixhQUFhLEVBQ2I7WUFDRSxLQUFLLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSTtTQUNwQyxDQUNGLENBQUM7UUFFRiw0QkFBNEIsQ0FBQyxpQkFBaUIsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3ZFLDRCQUE0QixDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzlELDBCQUEwQixDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDdEUsQ0FBQztDQUNGO0FBNUdELGdFQTRHQztBQUVELElBQUksMEJBQTBCLENBQUMsR0FBRyxFQUFFLHlCQUF5QixDQUFDLENBQUM7QUFFL0QsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YUF6dXJlcm1DbGllbnRDb25maWcgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL2RhdGEtYXp1cmVybS1jbGllbnQtY29uZmlnXCI7XG5pbXBvcnQgeyBMb2dBbmFseXRpY3NXb3Jrc3BhY2UgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL2xvZy1hbmFseXRpY3Mtd29ya3NwYWNlXCI7XG5pbXBvcnQgeyBBenVyZXJtUHJvdmlkZXIgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3Byb3ZpZGVyXCI7XG5pbXBvcnQgeyBSZXNvdXJjZUdyb3VwIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9yZXNvdXJjZS1ncm91cFwiO1xuaW1wb3J0ICogYXMgY2RrdGYgZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBBcHAgfSBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgKiBhcyB2bmV0IGZyb20gXCIuLlwiO1xuaW1wb3J0IHsgQmFzZVRlc3RTdGFjayB9IGZyb20gXCIuLi8uLi90ZXN0aW5nXCI7XG5cbmNvbnN0IGFwcCA9IG5ldyBBcHAoKTtcblxuZXhwb3J0IGNsYXNzIGV4YW1wbGVBenVyZVZpcnR1YWxOZXR3b3JrIGV4dGVuZHMgQmFzZVRlc3RTdGFjayB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgbmV3IEF6dXJlcm1Qcm92aWRlcih0aGlzLCBcImF6dXJlRmVhdHVyZVwiLCB7XG4gICAgICBmZWF0dXJlczoge30sXG4gICAgfSk7XG5cbiAgICBjb25zdCBjbGllbnRDb25maWcgPSBuZXcgRGF0YUF6dXJlcm1DbGllbnRDb25maWcoXG4gICAgICB0aGlzLFxuICAgICAgXCJDdXJyZW50Q2xpZW50Q29uZmlnXCIsXG4gICAgICB7fSxcbiAgICApO1xuXG4gICAgY29uc3QgcmVzb3VyY2VHcm91cCA9IG5ldyBSZXNvdXJjZUdyb3VwKHRoaXMsIFwicmdcIiwge1xuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICBuYW1lOiBgcmctJHt0aGlzLm5hbWV9YCxcbiAgICB9KTtcblxuICAgIGNvbnN0IG5ldHdvcmsgPSBuZXcgdm5ldC5OZXR3b3JrKHRoaXMsIFwidGVzdEF6dXJlVmlydHVhbE5ldHdvcmtEZWZhdWx0c1wiLCB7XG4gICAgICBuYW1lOiBgdm5ldC0ke3RoaXMubmFtZX1gLFxuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICByZXNvdXJjZUdyb3VwOiByZXNvdXJjZUdyb3VwLFxuICAgICAgYWRkcmVzc1NwYWNlOiBbXCIxMC4wLjAuMC8xNlwiXSxcbiAgICAgIHN1Ym5ldHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwic3VibmV0MVwiLFxuICAgICAgICAgIGFkZHJlc3NQcmVmaXhlczogW1wiMTAuMC4xLjAvMjRcIl0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcInN1Ym5ldDJcIixcbiAgICAgICAgICBhZGRyZXNzUHJlZml4ZXM6IFtcIjEwLjAuMi4wLzI0XCJdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHJlbW90ZW5ldHdvcmsgPSBuZXcgdm5ldC5OZXR3b3JrKFxuICAgICAgdGhpcyxcbiAgICAgIFwidGVzdEF6dXJlUmVtb3RlVmlydHVhbE5ldHdvcmtEZWZhdWx0c1wiLFxuICAgICAge1xuICAgICAgICBuYW1lOiBgdm5ldC0ke3RoaXMubmFtZX0yYCxcbiAgICAgICAgbG9jYXRpb246IFwid2VzdHVzXCIsXG4gICAgICAgIHJlc291cmNlR3JvdXA6IHJlc291cmNlR3JvdXAsXG4gICAgICAgIGFkZHJlc3NTcGFjZTogW1wiMTAuMS4wLjAvMTZcIl0sXG4gICAgICAgIHN1Ym5ldHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcInN1Ym5ldDFcIixcbiAgICAgICAgICAgIGFkZHJlc3NQcmVmaXhlczogW1wiMTAuMS4xLjAvMjRcIl0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcInN1Ym5ldDJcIixcbiAgICAgICAgICAgIGFkZHJlc3NQcmVmaXhlczogW1wiMTAuMS4yLjAvMjRcIl0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIGNvbnN0IGxvZ0FuYWx5dGljc1dvcmtzcGFjZSA9IG5ldyBMb2dBbmFseXRpY3NXb3Jrc3BhY2UoXG4gICAgICB0aGlzLFxuICAgICAgXCJsb2dfYW5hbHl0aWNzXCIsXG4gICAgICB7XG4gICAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgICBuYW1lOiBgbGEtJHt0aGlzLm5hbWV9YCxcbiAgICAgICAgcmVzb3VyY2VHcm91cE5hbWU6IHJlc291cmNlR3JvdXAubmFtZSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIC8vIERpYWcgU2V0dGluZ3NcbiAgICBuZXR3b3JrLmFkZERpYWdTZXR0aW5ncyh7XG4gICAgICBuYW1lOiBcImRpYWdzZXR0aW5nc1wiLFxuICAgICAgbG9nQW5hbHl0aWNzV29ya3NwYWNlSWQ6IGxvZ0FuYWx5dGljc1dvcmtzcGFjZS5pZCxcbiAgICB9KTtcblxuICAgIC8vIFJCQUNcbiAgICBuZXR3b3JrLmFkZEFjY2VzcyhjbGllbnRDb25maWcub2JqZWN0SWQsIFwiQ29udHJpYnV0b3JcIik7XG5cbiAgICAvLyBQZWVyIHRoZSBuZXR3b3Jrc1xuICAgIG5ldHdvcmsuYWRkVm5ldFBlZXJpbmcocmVtb3RlbmV0d29yayk7XG5cbiAgICAvLyBPdXRwdXRzIHRvIHVzZSBmb3IgRW5kIHRvIEVuZCBUZXN0XG4gICAgY29uc3QgY2RrdGZUZXJyYWZvcm1PdXRwdXRSR05hbWUgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KFxuICAgICAgdGhpcyxcbiAgICAgIFwicmVzb3VyY2VfZ3JvdXBfbmFtZVwiLFxuICAgICAge1xuICAgICAgICB2YWx1ZTogcmVzb3VyY2VHcm91cC5uYW1lLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgY29uc3QgY2RrdGZUZXJyYWZvcm1PdXRwdXRWbmV0TmFtZSA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQoXG4gICAgICB0aGlzLFxuICAgICAgXCJ2aXJ0dWFsX25ldHdvcmtfbmFtZVwiLFxuICAgICAge1xuICAgICAgICB2YWx1ZTogbmV0d29yay5uYW1lLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgY29uc3QgY2RrdGZUZXJyYWZvcm1PdXRwdXRTbmV0TmFtZSA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQoXG4gICAgICB0aGlzLFxuICAgICAgXCJzdWJuZXRfbmFtZVwiLFxuICAgICAge1xuICAgICAgICB2YWx1ZTogbmV0d29yay5zdWJuZXRzLnN1Ym5ldDEubmFtZSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIGNka3RmVGVycmFmb3JtT3V0cHV0Vm5ldE5hbWUub3ZlcnJpZGVMb2dpY2FsSWQoXCJ2aXJ0dWFsX25ldHdvcmtfbmFtZVwiKTtcbiAgICBjZGt0ZlRlcnJhZm9ybU91dHB1dFNuZXROYW1lLm92ZXJyaWRlTG9naWNhbElkKFwic3VibmV0X25hbWVcIik7XG4gICAgY2RrdGZUZXJyYWZvcm1PdXRwdXRSR05hbWUub3ZlcnJpZGVMb2dpY2FsSWQoXCJyZXNvdXJjZV9ncm91cF9uYW1lXCIpO1xuICB9XG59XG5cbm5ldyBleGFtcGxlQXp1cmVWaXJ0dWFsTmV0d29yayhhcHAsIFwidGVzdEF6dXJlVmlydHVhbE5ldHdvcmtcIik7XG5cbmFwcC5zeW50aCgpO1xuIl19
@@ -0,0 +1 @@
1
+ export * from "./lib";
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./lib"), exports);
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29yZS1henVyZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsd0NBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vbGliXCI7XG4iXX0=
@@ -0,0 +1,89 @@
1
+ import { Construct } from "constructs";
2
+ export interface BaseDiagnosticSettingsProps {
3
+ /**
4
+ * Name of the diagnostic settings resource
5
+ */
6
+ readonly name?: string;
7
+ /**
8
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#eventhub_authorization_rule_id MonitorDiagnosticSetting#eventhub_authorization_rule_id}
9
+ */
10
+ readonly eventhubAuthorizationRuleId?: string;
11
+ /**
12
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#eventhub_name MonitorDiagnosticSetting#eventhub_name}
13
+ */
14
+ readonly eventhubName?: string;
15
+ /**
16
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#partner_solution_id MonitorDiagnosticSetting#partner_solution_id}
17
+ */
18
+ readonly partnerSolutionId?: string;
19
+ /**
20
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#storage_account_id MonitorDiagnosticSetting#storage_account_id}
21
+ */
22
+ readonly storageAccountId?: string;
23
+ /**
24
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.71.0/docs/resources/monitor_diagnostic_setting#log_analytics_workspace_id MonitorDiagnosticSetting#log_analytics_workspace_id}
25
+ */
26
+ readonly logAnalyticsWorkspaceId?: string;
27
+ /**
28
+ * When set to 'Dedicated' logs sent to a Log Analytics workspace
29
+ * will go into resource specific tables, instead of the legacy AzureDiagnostics table.
30
+ */
31
+ readonly logAnalyticsDestinationType?: string | undefined;
32
+ /**
33
+ * Log Diagnostic categories
34
+ * @default null
35
+ */
36
+ readonly logCategories?: string[];
37
+ /**
38
+ * Diagnostic Metrics
39
+ * @default null
40
+ */
41
+ readonly metricCategories?: string[];
42
+ }
43
+ export interface DiagnosticSettingsProps extends BaseDiagnosticSettingsProps {
44
+ /**
45
+ * Target resource id to enable diagnostic settings on
46
+ */
47
+ readonly targetResourceId: string;
48
+ }
49
+ export declare class DiagnosticSettings extends Construct {
50
+ readonly props: DiagnosticSettingsProps;
51
+ /**
52
+ * Manages the diagnostic settings for monitoring Azure resources.
53
+ *
54
+ * This class is responsible for configuring Azure Monitor Diagnostic Settings to collect and route metrics and logs from
55
+ * Azure resources to monitoring and analytics services. Diagnostic settings can be applied to resources like VMs,
56
+ * App Services, and more, allowing collected data to be sent to Event Hubs, Log Analytics workspaces, or Azure Storage.
57
+ *
58
+ * @param scope - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
59
+ * @param id - The unique identifier for this instance of the diagnostic settings.
60
+ * @param props - Configuration properties for diagnostic settings. These properties include:
61
+ * - `name`: Optional. The name of the diagnostic settings. If not provided, a unique name will be generated.
62
+ * - `targetResourceId`: The ID of the Azure resource to which these diagnostic settings apply.
63
+ * - `storageAccountId`: Optional. The ID of the Azure Storage account to which logs and metrics are sent.
64
+ * - `eventhubAuthorizationRuleId`: Optional. The authorization rule ID for the Event Hub namespace.
65
+ * - `eventhubName`: Optional. The name of the Event Hub where metrics and logs will be sent.
66
+ * - `logAnalyticsWorkspaceId`: Optional. The ID of the Log Analytics workspace to which logs and metrics are sent.
67
+ * - `partnerSolutionId`: Optional. ID of a partner solution that configurations are fetched from.
68
+ * - `logCategories`: Optional. Categories of logs to collect.
69
+ * - `metricCategories`: Optional. Categories of metrics to collect.
70
+ * - `logAnalyticsDestinationType`: Optional. Specifies whether logs should be stored in a dedicated table or the
71
+ * legacy AzureDiagnostics table in the Log Analytics workspace.
72
+ *
73
+ * Example usage:
74
+ * ```typescript
75
+ * const resourceGroup = new ResourceGroup(this, 'ResourceGroup', { ... });
76
+ * const diagnostics = new DiagnosticSettings(this, 'MyDiagnostics', {
77
+ * name: 'example-diagnostics',
78
+ * targetResourceId: resourceGroup.id,
79
+ * logAnalyticsWorkspaceId: logAnalyticsWorkspace.id,
80
+ * storageAccountId: storageAccount.id,
81
+ * logCategories: ['Write', 'Delete'],
82
+ * metricCategories: ['AllMetrics']
83
+ * });
84
+ * ```
85
+ * This class configures the diagnostic settings to collect specific logs and metrics from the target resource and routes them
86
+ * to specified destinations such as Log Analytics, Storage Account, or Event Hubs.
87
+ */
88
+ constructor(scope: Construct, id: string, props: DiagnosticSettingsProps);
89
+ }
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.DiagnosticSettings = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const data_azurerm_monitor_diagnostic_categories_1 = require("@cdktf/provider-azurerm/lib/data-azurerm-monitor-diagnostic-categories");
7
+ const monitor_diagnostic_setting_1 = require("@cdktf/provider-azurerm/lib/monitor-diagnostic-setting");
8
+ const constructs_1 = require("constructs");
9
+ class DiagnosticSettings extends constructs_1.Construct {
10
+ /**
11
+ * Manages the diagnostic settings for monitoring Azure resources.
12
+ *
13
+ * This class is responsible for configuring Azure Monitor Diagnostic Settings to collect and route metrics and logs from
14
+ * Azure resources to monitoring and analytics services. Diagnostic settings can be applied to resources like VMs,
15
+ * App Services, and more, allowing collected data to be sent to Event Hubs, Log Analytics workspaces, or Azure Storage.
16
+ *
17
+ * @param scope - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
18
+ * @param id - The unique identifier for this instance of the diagnostic settings.
19
+ * @param props - Configuration properties for diagnostic settings. These properties include:
20
+ * - `name`: Optional. The name of the diagnostic settings. If not provided, a unique name will be generated.
21
+ * - `targetResourceId`: The ID of the Azure resource to which these diagnostic settings apply.
22
+ * - `storageAccountId`: Optional. The ID of the Azure Storage account to which logs and metrics are sent.
23
+ * - `eventhubAuthorizationRuleId`: Optional. The authorization rule ID for the Event Hub namespace.
24
+ * - `eventhubName`: Optional. The name of the Event Hub where metrics and logs will be sent.
25
+ * - `logAnalyticsWorkspaceId`: Optional. The ID of the Log Analytics workspace to which logs and metrics are sent.
26
+ * - `partnerSolutionId`: Optional. ID of a partner solution that configurations are fetched from.
27
+ * - `logCategories`: Optional. Categories of logs to collect.
28
+ * - `metricCategories`: Optional. Categories of metrics to collect.
29
+ * - `logAnalyticsDestinationType`: Optional. Specifies whether logs should be stored in a dedicated table or the
30
+ * legacy AzureDiagnostics table in the Log Analytics workspace.
31
+ *
32
+ * Example usage:
33
+ * ```typescript
34
+ * const resourceGroup = new ResourceGroup(this, 'ResourceGroup', { ... });
35
+ * const diagnostics = new DiagnosticSettings(this, 'MyDiagnostics', {
36
+ * name: 'example-diagnostics',
37
+ * targetResourceId: resourceGroup.id,
38
+ * logAnalyticsWorkspaceId: logAnalyticsWorkspace.id,
39
+ * storageAccountId: storageAccount.id,
40
+ * logCategories: ['Write', 'Delete'],
41
+ * metricCategories: ['AllMetrics']
42
+ * });
43
+ * ```
44
+ * This class configures the diagnostic settings to collect specific logs and metrics from the target resource and routes them
45
+ * to specified destinations such as Log Analytics, Storage Account, or Event Hubs.
46
+ */
47
+ constructor(scope, id, props) {
48
+ super(scope, id);
49
+ this.props = props;
50
+ // Get the list of available diagnostic categories
51
+ const categories = new data_azurerm_monitor_diagnostic_categories_1.DataAzurermMonitorDiagnosticCategories(this, "diagcategories", {
52
+ resourceId: props.targetResourceId,
53
+ });
54
+ const logCategories = props.logCategories ?? categories.logCategoryTypes;
55
+ const metricCategories = props.metricCategories ?? categories.metrics;
56
+ const diagsettings = new monitor_diagnostic_setting_1.MonitorDiagnosticSetting(this, "diagsettings", {
57
+ name: props.name || "diagsettings",
58
+ targetResourceId: props.targetResourceId,
59
+ logAnalyticsDestinationType: props.logAnalyticsDestinationType,
60
+ storageAccountId: props.storageAccountId,
61
+ logAnalyticsWorkspaceId: props.logAnalyticsWorkspaceId,
62
+ eventhubAuthorizationRuleId: props.eventhubAuthorizationRuleId,
63
+ eventhubName: props.eventhubName,
64
+ partnerSolutionId: props.partnerSolutionId,
65
+ });
66
+ diagsettings.addOverride("dynamic.enabled_log", {
67
+ for_each: logCategories,
68
+ content: {
69
+ category: "${enabled_log.value}",
70
+ },
71
+ });
72
+ diagsettings.addOverride("dynamic.metric", {
73
+ for_each: metricCategories,
74
+ content: {
75
+ category: "${metric.value}",
76
+ },
77
+ });
78
+ }
79
+ }
80
+ exports.DiagnosticSettings = DiagnosticSettings;
81
+ _a = JSII_RTTI_SYMBOL_1;
82
+ DiagnosticSettings[_a] = { fqn: "@microsoft/terraform-cdk-constructs.core_azure.DiagnosticSettings", version: "0.0.3-pre.10" };
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhZ3NldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvcmUtYXp1cmUvbGliL2RpYWdzZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHVJQUFnSTtBQUNoSSx1R0FBa0c7QUFDbEcsMkNBQXVDO0FBc0R2QyxNQUFhLGtCQUFtQixTQUFRLHNCQUFTO0lBRS9DOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FvQ0c7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQThCO1FBQ3RFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFbkIsa0RBQWtEO1FBQ2xELE1BQU0sVUFBVSxHQUFHLElBQUksbUZBQXNDLENBQzNELElBQUksRUFDSixnQkFBZ0IsRUFDaEI7WUFDRSxVQUFVLEVBQUUsS0FBSyxDQUFDLGdCQUFnQjtTQUNuQyxDQUNGLENBQUM7UUFFRixNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsYUFBYSxJQUFJLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQztRQUN6RSxNQUFNLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxnQkFBZ0IsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDO1FBRXRFLE1BQU0sWUFBWSxHQUFHLElBQUkscURBQXdCLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtZQUN0RSxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksSUFBSSxjQUFjO1lBQ2xDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7WUFDeEMsMkJBQTJCLEVBQUUsS0FBSyxDQUFDLDJCQUEyQjtZQUM5RCxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsZ0JBQWdCO1lBQ3hDLHVCQUF1QixFQUFFLEtBQUssQ0FBQyx1QkFBdUI7WUFDdEQsMkJBQTJCLEVBQUUsS0FBSyxDQUFDLDJCQUEyQjtZQUM5RCxZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVk7WUFDaEMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQjtTQUMzQyxDQUFDLENBQUM7UUFFSCxZQUFZLENBQUMsV0FBVyxDQUFDLHFCQUFxQixFQUFFO1lBQzlDLFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLE9BQU8sRUFBRTtnQkFDUCxRQUFRLEVBQUUsc0JBQXNCO2FBQ2pDO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsWUFBWSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRTtZQUN6QyxRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLE9BQU8sRUFBRTtnQkFDUCxRQUFRLEVBQUUsaUJBQWlCO2FBQzVCO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFoRkgsZ0RBaUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YUF6dXJlcm1Nb25pdG9yRGlhZ25vc3RpY0NhdGVnb3JpZXMgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL2RhdGEtYXp1cmVybS1tb25pdG9yLWRpYWdub3N0aWMtY2F0ZWdvcmllc1wiO1xuaW1wb3J0IHsgTW9uaXRvckRpYWdub3N0aWNTZXR0aW5nIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9tb25pdG9yLWRpYWdub3N0aWMtc2V0dGluZ1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBCYXNlRGlhZ25vc3RpY1NldHRpbmdzUHJvcHMge1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgZGlhZ25vc3RpYyBzZXR0aW5ncyByZXNvdXJjZVxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL2F6dXJlcm0vMy43MS4wL2RvY3MvcmVzb3VyY2VzL21vbml0b3JfZGlhZ25vc3RpY19zZXR0aW5nI2V2ZW50aHViX2F1dGhvcml6YXRpb25fcnVsZV9pZCBNb25pdG9yRGlhZ25vc3RpY1NldHRpbmcjZXZlbnRodWJfYXV0aG9yaXphdGlvbl9ydWxlX2lkfVxuICAgKi9cbiAgcmVhZG9ubHkgZXZlbnRodWJBdXRob3JpemF0aW9uUnVsZUlkPzogc3RyaW5nO1xuICAvKipcbiAgICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL2F6dXJlcm0vMy43MS4wL2RvY3MvcmVzb3VyY2VzL21vbml0b3JfZGlhZ25vc3RpY19zZXR0aW5nI2V2ZW50aHViX25hbWUgTW9uaXRvckRpYWdub3N0aWNTZXR0aW5nI2V2ZW50aHViX25hbWV9XG4gICAqL1xuICByZWFkb25seSBldmVudGh1Yk5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvYXp1cmVybS8zLjcxLjAvZG9jcy9yZXNvdXJjZXMvbW9uaXRvcl9kaWFnbm9zdGljX3NldHRpbmcjcGFydG5lcl9zb2x1dGlvbl9pZCBNb25pdG9yRGlhZ25vc3RpY1NldHRpbmcjcGFydG5lcl9zb2x1dGlvbl9pZH1cbiAgICovXG4gIHJlYWRvbmx5IHBhcnRuZXJTb2x1dGlvbklkPzogc3RyaW5nO1xuICAvKipcbiAgICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL2F6dXJlcm0vMy43MS4wL2RvY3MvcmVzb3VyY2VzL21vbml0b3JfZGlhZ25vc3RpY19zZXR0aW5nI3N0b3JhZ2VfYWNjb3VudF9pZCBNb25pdG9yRGlhZ25vc3RpY1NldHRpbmcjc3RvcmFnZV9hY2NvdW50X2lkfVxuICAgKi9cbiAgcmVhZG9ubHkgc3RvcmFnZUFjY291bnRJZD86IHN0cmluZztcbiAgLyoqXG4gICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC9henVyZXJtLzMuNzEuMC9kb2NzL3Jlc291cmNlcy9tb25pdG9yX2RpYWdub3N0aWNfc2V0dGluZyNsb2dfYW5hbHl0aWNzX3dvcmtzcGFjZV9pZCBNb25pdG9yRGlhZ25vc3RpY1NldHRpbmcjbG9nX2FuYWx5dGljc193b3Jrc3BhY2VfaWR9XG4gICAqL1xuICByZWFkb25seSBsb2dBbmFseXRpY3NXb3Jrc3BhY2VJZD86IHN0cmluZztcbiAgLyoqXG4gICAqIFdoZW4gc2V0IHRvICdEZWRpY2F0ZWQnIGxvZ3Mgc2VudCB0byBhIExvZyBBbmFseXRpY3Mgd29ya3NwYWNlXG4gICAqIHdpbGwgZ28gaW50byByZXNvdXJjZSBzcGVjaWZpYyB0YWJsZXMsIGluc3RlYWQgb2YgdGhlIGxlZ2FjeSBBenVyZURpYWdub3N0aWNzIHRhYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgbG9nQW5hbHl0aWNzRGVzdGluYXRpb25UeXBlPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBMb2cgRGlhZ25vc3RpYyBjYXRlZ29yaWVzXG4gICAqIEBkZWZhdWx0IG51bGxcbiAgICovXG4gIHJlYWRvbmx5IGxvZ0NhdGVnb3JpZXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogRGlhZ25vc3RpYyBNZXRyaWNzXG4gICAqIEBkZWZhdWx0IG51bGxcbiAgICovXG4gIHJlYWRvbmx5IG1ldHJpY0NhdGVnb3JpZXM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaWFnbm9zdGljU2V0dGluZ3NQcm9wcyBleHRlbmRzIEJhc2VEaWFnbm9zdGljU2V0dGluZ3NQcm9wcyB7XG4gIC8qKlxuICAgKiBUYXJnZXQgcmVzb3VyY2UgaWQgdG8gZW5hYmxlIGRpYWdub3N0aWMgc2V0dGluZ3Mgb25cbiAgICovXG4gIHJlYWRvbmx5IHRhcmdldFJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIERpYWdub3N0aWNTZXR0aW5ncyBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHJlYWRvbmx5IHByb3BzOiBEaWFnbm9zdGljU2V0dGluZ3NQcm9wcztcbiAgLyoqXG4gICAqIE1hbmFnZXMgdGhlIGRpYWdub3N0aWMgc2V0dGluZ3MgZm9yIG1vbml0b3JpbmcgQXp1cmUgcmVzb3VyY2VzLlxuICAgKlxuICAgKiBUaGlzIGNsYXNzIGlzIHJlc3BvbnNpYmxlIGZvciBjb25maWd1cmluZyBBenVyZSBNb25pdG9yIERpYWdub3N0aWMgU2V0dGluZ3MgdG8gY29sbGVjdCBhbmQgcm91dGUgbWV0cmljcyBhbmQgbG9ncyBmcm9tXG4gICAqIEF6dXJlIHJlc291cmNlcyB0byBtb25pdG9yaW5nIGFuZCBhbmFseXRpY3Mgc2VydmljZXMuIERpYWdub3N0aWMgc2V0dGluZ3MgY2FuIGJlIGFwcGxpZWQgdG8gcmVzb3VyY2VzIGxpa2UgVk1zLFxuICAgKiBBcHAgU2VydmljZXMsIGFuZCBtb3JlLCBhbGxvd2luZyBjb2xsZWN0ZWQgZGF0YSB0byBiZSBzZW50IHRvIEV2ZW50IEh1YnMsIExvZyBBbmFseXRpY3Mgd29ya3NwYWNlcywgb3IgQXp1cmUgU3RvcmFnZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIC0gVGhlIHNjb3BlIGluIHdoaWNoIHRvIGRlZmluZSB0aGlzIGNvbnN0cnVjdCwgdHlwaWNhbGx5IHJlcHJlc2VudGluZyB0aGUgQ2xvdWQgRGV2ZWxvcG1lbnQgS2l0IChDREspIHN0YWNrLlxuICAgKiBAcGFyYW0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgaW5zdGFuY2Ugb2YgdGhlIGRpYWdub3N0aWMgc2V0dGluZ3MuXG4gICAqIEBwYXJhbSBwcm9wcyAtIENvbmZpZ3VyYXRpb24gcHJvcGVydGllcyBmb3IgZGlhZ25vc3RpYyBzZXR0aW5ncy4gVGhlc2UgcHJvcGVydGllcyBpbmNsdWRlOlxuICAgKiAgICAgICAgICAgICAgICAtIGBuYW1lYDogT3B0aW9uYWwuIFRoZSBuYW1lIG9mIHRoZSBkaWFnbm9zdGljIHNldHRpbmdzLiBJZiBub3QgcHJvdmlkZWQsIGEgdW5pcXVlIG5hbWUgd2lsbCBiZSBnZW5lcmF0ZWQuXG4gICAqICAgICAgICAgICAgICAgIC0gYHRhcmdldFJlc291cmNlSWRgOiBUaGUgSUQgb2YgdGhlIEF6dXJlIHJlc291cmNlIHRvIHdoaWNoIHRoZXNlIGRpYWdub3N0aWMgc2V0dGluZ3MgYXBwbHkuXG4gICAqICAgICAgICAgICAgICAgIC0gYHN0b3JhZ2VBY2NvdW50SWRgOiBPcHRpb25hbC4gVGhlIElEIG9mIHRoZSBBenVyZSBTdG9yYWdlIGFjY291bnQgdG8gd2hpY2ggbG9ncyBhbmQgbWV0cmljcyBhcmUgc2VudC5cbiAgICogICAgICAgICAgICAgICAgLSBgZXZlbnRodWJBdXRob3JpemF0aW9uUnVsZUlkYDogT3B0aW9uYWwuIFRoZSBhdXRob3JpemF0aW9uIHJ1bGUgSUQgZm9yIHRoZSBFdmVudCBIdWIgbmFtZXNwYWNlLlxuICAgKiAgICAgICAgICAgICAgICAtIGBldmVudGh1Yk5hbWVgOiBPcHRpb25hbC4gVGhlIG5hbWUgb2YgdGhlIEV2ZW50IEh1YiB3aGVyZSBtZXRyaWNzIGFuZCBsb2dzIHdpbGwgYmUgc2VudC5cbiAgICogICAgICAgICAgICAgICAgLSBgbG9nQW5hbHl0aWNzV29ya3NwYWNlSWRgOiBPcHRpb25hbC4gVGhlIElEIG9mIHRoZSBMb2cgQW5hbHl0aWNzIHdvcmtzcGFjZSB0byB3aGljaCBsb2dzIGFuZCBtZXRyaWNzIGFyZSBzZW50LlxuICAgKiAgICAgICAgICAgICAgICAtIGBwYXJ0bmVyU29sdXRpb25JZGA6IE9wdGlvbmFsLiBJRCBvZiBhIHBhcnRuZXIgc29sdXRpb24gdGhhdCBjb25maWd1cmF0aW9ucyBhcmUgZmV0Y2hlZCBmcm9tLlxuICAgKiAgICAgICAgICAgICAgICAtIGBsb2dDYXRlZ29yaWVzYDogT3B0aW9uYWwuIENhdGVnb3JpZXMgb2YgbG9ncyB0byBjb2xsZWN0LlxuICAgKiAgICAgICAgICAgICAgICAtIGBtZXRyaWNDYXRlZ29yaWVzYDogT3B0aW9uYWwuIENhdGVnb3JpZXMgb2YgbWV0cmljcyB0byBjb2xsZWN0LlxuICAgKiAgICAgICAgICAgICAgICAtIGBsb2dBbmFseXRpY3NEZXN0aW5hdGlvblR5cGVgOiBPcHRpb25hbC4gU3BlY2lmaWVzIHdoZXRoZXIgbG9ncyBzaG91bGQgYmUgc3RvcmVkIGluIGEgZGVkaWNhdGVkIHRhYmxlIG9yIHRoZVxuICAgKiAgICAgICAgICAgICAgICAgIGxlZ2FjeSBBenVyZURpYWdub3N0aWNzIHRhYmxlIGluIHRoZSBMb2cgQW5hbHl0aWNzIHdvcmtzcGFjZS5cbiAgICpcbiAgICogRXhhbXBsZSB1c2FnZTpcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBjb25zdCByZXNvdXJjZUdyb3VwID0gbmV3IFJlc291cmNlR3JvdXAodGhpcywgJ1Jlc291cmNlR3JvdXAnLCB7IC4uLiB9KTtcbiAgICogY29uc3QgZGlhZ25vc3RpY3MgPSBuZXcgRGlhZ25vc3RpY1NldHRpbmdzKHRoaXMsICdNeURpYWdub3N0aWNzJywge1xuICAgKiAgIG5hbWU6ICdleGFtcGxlLWRpYWdub3N0aWNzJyxcbiAgICogICB0YXJnZXRSZXNvdXJjZUlkOiByZXNvdXJjZUdyb3VwLmlkLFxuICAgKiAgIGxvZ0FuYWx5dGljc1dvcmtzcGFjZUlkOiBsb2dBbmFseXRpY3NXb3Jrc3BhY2UuaWQsXG4gICAqICAgc3RvcmFnZUFjY291bnRJZDogc3RvcmFnZUFjY291bnQuaWQsXG4gICAqICAgbG9nQ2F0ZWdvcmllczogWydXcml0ZScsICdEZWxldGUnXSxcbiAgICogICBtZXRyaWNDYXRlZ29yaWVzOiBbJ0FsbE1ldHJpY3MnXVxuICAgKiB9KTtcbiAgICogYGBgXG4gICAqIFRoaXMgY2xhc3MgY29uZmlndXJlcyB0aGUgZGlhZ25vc3RpYyBzZXR0aW5ncyB0byBjb2xsZWN0IHNwZWNpZmljIGxvZ3MgYW5kIG1ldHJpY3MgZnJvbSB0aGUgdGFyZ2V0IHJlc291cmNlIGFuZCByb3V0ZXMgdGhlbVxuICAgKiB0byBzcGVjaWZpZWQgZGVzdGluYXRpb25zIHN1Y2ggYXMgTG9nIEFuYWx5dGljcywgU3RvcmFnZSBBY2NvdW50LCBvciBFdmVudCBIdWJzLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERpYWdub3N0aWNTZXR0aW5nc1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcblxuICAgIC8vIEdldCB0aGUgbGlzdCBvZiBhdmFpbGFibGUgZGlhZ25vc3RpYyBjYXRlZ29yaWVzXG4gICAgY29uc3QgY2F0ZWdvcmllcyA9IG5ldyBEYXRhQXp1cmVybU1vbml0b3JEaWFnbm9zdGljQ2F0ZWdvcmllcyhcbiAgICAgIHRoaXMsXG4gICAgICBcImRpYWdjYXRlZ29yaWVzXCIsXG4gICAgICB7XG4gICAgICAgIHJlc291cmNlSWQ6IHByb3BzLnRhcmdldFJlc291cmNlSWQsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBjb25zdCBsb2dDYXRlZ29yaWVzID0gcHJvcHMubG9nQ2F0ZWdvcmllcyA/PyBjYXRlZ29yaWVzLmxvZ0NhdGVnb3J5VHlwZXM7XG4gICAgY29uc3QgbWV0cmljQ2F0ZWdvcmllcyA9IHByb3BzLm1ldHJpY0NhdGVnb3JpZXMgPz8gY2F0ZWdvcmllcy5tZXRyaWNzO1xuXG4gICAgY29uc3QgZGlhZ3NldHRpbmdzID0gbmV3IE1vbml0b3JEaWFnbm9zdGljU2V0dGluZyh0aGlzLCBcImRpYWdzZXR0aW5nc1wiLCB7XG4gICAgICBuYW1lOiBwcm9wcy5uYW1lIHx8IFwiZGlhZ3NldHRpbmdzXCIsXG4gICAgICB0YXJnZXRSZXNvdXJjZUlkOiBwcm9wcy50YXJnZXRSZXNvdXJjZUlkLFxuICAgICAgbG9nQW5hbHl0aWNzRGVzdGluYXRpb25UeXBlOiBwcm9wcy5sb2dBbmFseXRpY3NEZXN0aW5hdGlvblR5cGUsXG4gICAgICBzdG9yYWdlQWNjb3VudElkOiBwcm9wcy5zdG9yYWdlQWNjb3VudElkLFxuICAgICAgbG9nQW5hbHl0aWNzV29ya3NwYWNlSWQ6IHByb3BzLmxvZ0FuYWx5dGljc1dvcmtzcGFjZUlkLFxuICAgICAgZXZlbnRodWJBdXRob3JpemF0aW9uUnVsZUlkOiBwcm9wcy5ldmVudGh1YkF1dGhvcml6YXRpb25SdWxlSWQsXG4gICAgICBldmVudGh1Yk5hbWU6IHByb3BzLmV2ZW50aHViTmFtZSxcbiAgICAgIHBhcnRuZXJTb2x1dGlvbklkOiBwcm9wcy5wYXJ0bmVyU29sdXRpb25JZCxcbiAgICB9KTtcblxuICAgIGRpYWdzZXR0aW5ncy5hZGRPdmVycmlkZShcImR5bmFtaWMuZW5hYmxlZF9sb2dcIiwge1xuICAgICAgZm9yX2VhY2g6IGxvZ0NhdGVnb3JpZXMsXG4gICAgICBjb250ZW50OiB7XG4gICAgICAgIGNhdGVnb3J5OiBcIiR7ZW5hYmxlZF9sb2cudmFsdWV9XCIsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgZGlhZ3NldHRpbmdzLmFkZE92ZXJyaWRlKFwiZHluYW1pYy5tZXRyaWNcIiwge1xuICAgICAgZm9yX2VhY2g6IG1ldHJpY0NhdGVnb3JpZXMsXG4gICAgICBjb250ZW50OiB7XG4gICAgICAgIGNhdGVnb3J5OiBcIiR7bWV0cmljLnZhbHVlfVwiLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,3 @@
1
+ export * from "./diagsettings";
2
+ export * from "./rbac";
3
+ export * from "./resource";
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./diagsettings"), exports);
18
+ __exportStar(require("./rbac"), exports);
19
+ __exportStar(require("./resource"), exports);
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29yZS1henVyZS9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlEQUErQjtBQUMvQix5Q0FBdUI7QUFDdkIsNkNBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vZGlhZ3NldHRpbmdzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yYmFjXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZXNvdXJjZVwiO1xuIl19
@@ -0,0 +1,50 @@
1
+ import { Construct } from "constructs";
2
+ export interface RbacProps {
3
+ /**
4
+ * The unique identifier for objects in Azure AD, such as users, groups, or service principals.
5
+ */
6
+ readonly objectId: string;
7
+ /**
8
+ * The universally unique identifier (UUID) for the Azure RBAC role definition.
9
+ * To find the UUID for a role using Azure CLI, use the command:
10
+ * `az role definition list --name "Role Name" --query "[].name" -o tsv`
11
+ */
12
+ readonly roleDefinitionUUID?: string;
13
+ /**
14
+ * The human-readable name of the Azure RBAC role, e.g., "Virtual Machine Contributor".
15
+ */
16
+ readonly roleDefinitionName: string;
17
+ /**
18
+ * The scope at which the RBAC role assignment is applied.
19
+ * This could be a subscription, resource group, or a specific resource.
20
+ */
21
+ readonly scope: string;
22
+ }
23
+ export declare class Rbac extends Construct {
24
+ /**
25
+ * Manages Role-Based Access Control (RBAC) assignments within Azure.
26
+ *
27
+ * This class is responsible for creating and managing RBAC role assignments in Azure, which control permissions for Azure AD
28
+ * identities to manage Azure resources. It supports assigning roles at different scopes such as subscriptions, resource groups,
29
+ * or specific resources.
30
+ *
31
+ * @param scope - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
32
+ * @param id - The unique identifier for this instance of the RBAC assignment.
33
+ * @param props - Configuration properties for the RBAC assignment. These properties include:
34
+ * - `objectId`: The Azure AD object ID for the user, group, or service principal to which the role is assigned.
35
+ * - `roleDefinitionUUID`: Optional. The UUID of the Azure RBAC role definition. This can be obtained via Azure CLI.
36
+ * - `roleDefinitionName`: The name of the role to be assigned, such as 'Contributor', 'Reader', or 'Owner'.
37
+ * - `scope`: The scope at which the role is assigned, which could be a subscription, resource group, or specific resource.
38
+ *
39
+ * Example usage:
40
+ * ```typescript
41
+ * const rbac = new Rbac(this, 'rbacAssignment', {
42
+ * objectId: 'user-or-group-object-id',
43
+ * roleDefinitionName: 'Contributor',
44
+ * scope: '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}'
45
+ * });
46
+ * ```
47
+ * This RBAC instance assigns the 'Contributor' role to a user or group specified by 'objectId' at the scope of a specific resource group.
48
+ */
49
+ constructor(scope: Construct, id: string, props: RbacProps);
50
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Rbac = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const role_assignment_1 = require("@cdktf/provider-azurerm/lib/role-assignment");
7
+ const constructs_1 = require("constructs");
8
+ class Rbac extends constructs_1.Construct {
9
+ /**
10
+ * Manages Role-Based Access Control (RBAC) assignments within Azure.
11
+ *
12
+ * This class is responsible for creating and managing RBAC role assignments in Azure, which control permissions for Azure AD
13
+ * identities to manage Azure resources. It supports assigning roles at different scopes such as subscriptions, resource groups,
14
+ * or specific resources.
15
+ *
16
+ * @param scope - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
17
+ * @param id - The unique identifier for this instance of the RBAC assignment.
18
+ * @param props - Configuration properties for the RBAC assignment. These properties include:
19
+ * - `objectId`: The Azure AD object ID for the user, group, or service principal to which the role is assigned.
20
+ * - `roleDefinitionUUID`: Optional. The UUID of the Azure RBAC role definition. This can be obtained via Azure CLI.
21
+ * - `roleDefinitionName`: The name of the role to be assigned, such as 'Contributor', 'Reader', or 'Owner'.
22
+ * - `scope`: The scope at which the role is assigned, which could be a subscription, resource group, or specific resource.
23
+ *
24
+ * Example usage:
25
+ * ```typescript
26
+ * const rbac = new Rbac(this, 'rbacAssignment', {
27
+ * objectId: 'user-or-group-object-id',
28
+ * roleDefinitionName: 'Contributor',
29
+ * scope: '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}'
30
+ * });
31
+ * ```
32
+ * This RBAC instance assigns the 'Contributor' role to a user or group specified by 'objectId' at the scope of a specific resource group.
33
+ */
34
+ constructor(scope, id, props) {
35
+ super(scope, id);
36
+ // Create a new role assignment using the provided properties.
37
+ new role_assignment_1.RoleAssignment(this, "role", {
38
+ name: props.roleDefinitionUUID,
39
+ principalId: props.objectId,
40
+ roleDefinitionName: props.roleDefinitionName,
41
+ scope: props.scope,
42
+ });
43
+ }
44
+ }
45
+ exports.Rbac = Rbac;
46
+ _a = JSII_RTTI_SYMBOL_1;
47
+ Rbac[_a] = { fqn: "@microsoft/terraform-cdk-constructs.core_azure.Rbac", version: "0.0.3-pre.10" };
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmJhYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb3JlLWF6dXJlL2xpYi9yYmFjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsaUZBQTZFO0FBQzdFLDJDQUF1QztBQTJCdkMsTUFBYSxJQUFLLFNBQVEsc0JBQVM7SUFDakM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXdCRztJQUNILFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBZ0I7UUFDeEQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQiw4REFBOEQ7UUFDOUQsSUFBSSxnQ0FBYyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDL0IsSUFBSSxFQUFFLEtBQUssQ0FBQyxrQkFBa0I7WUFDOUIsV0FBVyxFQUFFLEtBQUssQ0FBQyxRQUFRO1lBQzNCLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxrQkFBa0I7WUFDNUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO1NBQ25CLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBcENILG9CQXFDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvbGVBc3NpZ25tZW50IH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9yb2xlLWFzc2lnbm1lbnRcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmJhY1Byb3BzIHtcbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3Igb2JqZWN0cyBpbiBBenVyZSBBRCwgc3VjaCBhcyB1c2VycywgZ3JvdXBzLCBvciBzZXJ2aWNlIHByaW5jaXBhbHMuXG4gICAqL1xuICByZWFkb25seSBvYmplY3RJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdW5pdmVyc2FsbHkgdW5pcXVlIGlkZW50aWZpZXIgKFVVSUQpIGZvciB0aGUgQXp1cmUgUkJBQyByb2xlIGRlZmluaXRpb24uXG4gICAqIFRvIGZpbmQgdGhlIFVVSUQgZm9yIGEgcm9sZSB1c2luZyBBenVyZSBDTEksIHVzZSB0aGUgY29tbWFuZDpcbiAgICogYGF6IHJvbGUgZGVmaW5pdGlvbiBsaXN0IC0tbmFtZSBcIlJvbGUgTmFtZVwiIC0tcXVlcnkgXCJbXS5uYW1lXCIgLW8gdHN2YFxuICAgKi9cbiAgcmVhZG9ubHkgcm9sZURlZmluaXRpb25VVUlEPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgaHVtYW4tcmVhZGFibGUgbmFtZSBvZiB0aGUgQXp1cmUgUkJBQyByb2xlLCBlLmcuLCBcIlZpcnR1YWwgTWFjaGluZSBDb250cmlidXRvclwiLlxuICAgKi9cbiAgcmVhZG9ubHkgcm9sZURlZmluaXRpb25OYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzY29wZSBhdCB3aGljaCB0aGUgUkJBQyByb2xlIGFzc2lnbm1lbnQgaXMgYXBwbGllZC5cbiAgICogVGhpcyBjb3VsZCBiZSBhIHN1YnNjcmlwdGlvbiwgcmVzb3VyY2UgZ3JvdXAsIG9yIGEgc3BlY2lmaWMgcmVzb3VyY2UuXG4gICAqL1xuICByZWFkb25seSBzY29wZTogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgUmJhYyBleHRlbmRzIENvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBNYW5hZ2VzIFJvbGUtQmFzZWQgQWNjZXNzIENvbnRyb2wgKFJCQUMpIGFzc2lnbm1lbnRzIHdpdGhpbiBBenVyZS5cbiAgICpcbiAgICogVGhpcyBjbGFzcyBpcyByZXNwb25zaWJsZSBmb3IgY3JlYXRpbmcgYW5kIG1hbmFnaW5nIFJCQUMgcm9sZSBhc3NpZ25tZW50cyBpbiBBenVyZSwgd2hpY2ggY29udHJvbCBwZXJtaXNzaW9ucyBmb3IgQXp1cmUgQURcbiAgICogaWRlbnRpdGllcyB0byBtYW5hZ2UgQXp1cmUgcmVzb3VyY2VzLiBJdCBzdXBwb3J0cyBhc3NpZ25pbmcgcm9sZXMgYXQgZGlmZmVyZW50IHNjb3BlcyBzdWNoIGFzIHN1YnNjcmlwdGlvbnMsIHJlc291cmNlIGdyb3VwcyxcbiAgICogb3Igc3BlY2lmaWMgcmVzb3VyY2VzLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgLSBUaGUgc2NvcGUgaW4gd2hpY2ggdG8gZGVmaW5lIHRoaXMgY29uc3RydWN0LCB0eXBpY2FsbHkgcmVwcmVzZW50aW5nIHRoZSBDbG91ZCBEZXZlbG9wbWVudCBLaXQgKENESykgc3RhY2suXG4gICAqIEBwYXJhbSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBpbnN0YW5jZSBvZiB0aGUgUkJBQyBhc3NpZ25tZW50LlxuICAgKiBAcGFyYW0gcHJvcHMgLSBDb25maWd1cmF0aW9uIHByb3BlcnRpZXMgZm9yIHRoZSBSQkFDIGFzc2lnbm1lbnQuIFRoZXNlIHByb3BlcnRpZXMgaW5jbHVkZTpcbiAgICogICAgICAgICAgICAgICAgLSBgb2JqZWN0SWRgOiBUaGUgQXp1cmUgQUQgb2JqZWN0IElEIGZvciB0aGUgdXNlciwgZ3JvdXAsIG9yIHNlcnZpY2UgcHJpbmNpcGFsIHRvIHdoaWNoIHRoZSByb2xlIGlzIGFzc2lnbmVkLlxuICAgKiAgICAgICAgICAgICAgICAtIGByb2xlRGVmaW5pdGlvblVVSURgOiBPcHRpb25hbC4gVGhlIFVVSUQgb2YgdGhlIEF6dXJlIFJCQUMgcm9sZSBkZWZpbml0aW9uLiBUaGlzIGNhbiBiZSBvYnRhaW5lZCB2aWEgQXp1cmUgQ0xJLlxuICAgKiAgICAgICAgICAgICAgICAtIGByb2xlRGVmaW5pdGlvbk5hbWVgOiBUaGUgbmFtZSBvZiB0aGUgcm9sZSB0byBiZSBhc3NpZ25lZCwgc3VjaCBhcyAnQ29udHJpYnV0b3InLCAnUmVhZGVyJywgb3IgJ093bmVyJy5cbiAgICogICAgICAgICAgICAgICAgLSBgc2NvcGVgOiBUaGUgc2NvcGUgYXQgd2hpY2ggdGhlIHJvbGUgaXMgYXNzaWduZWQsIHdoaWNoIGNvdWxkIGJlIGEgc3Vic2NyaXB0aW9uLCByZXNvdXJjZSBncm91cCwgb3Igc3BlY2lmaWMgcmVzb3VyY2UuXG4gICAqXG4gICAqIEV4YW1wbGUgdXNhZ2U6XG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3QgcmJhYyA9IG5ldyBSYmFjKHRoaXMsICdyYmFjQXNzaWdubWVudCcsIHtcbiAgICogICBvYmplY3RJZDogJ3VzZXItb3ItZ3JvdXAtb2JqZWN0LWlkJyxcbiAgICogICByb2xlRGVmaW5pdGlvbk5hbWU6ICdDb250cmlidXRvcicsXG4gICAqICAgc2NvcGU6ICcvc3Vic2NyaXB0aW9ucy97c3Vic2NyaXB0aW9uLWlkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2UtZ3JvdXAtbmFtZX0nXG4gICAqIH0pO1xuICAgKiBgYGBcbiAgICogVGhpcyBSQkFDIGluc3RhbmNlIGFzc2lnbnMgdGhlICdDb250cmlidXRvcicgcm9sZSB0byBhIHVzZXIgb3IgZ3JvdXAgc3BlY2lmaWVkIGJ5ICdvYmplY3RJZCcgYXQgdGhlIHNjb3BlIG9mIGEgc3BlY2lmaWMgcmVzb3VyY2UgZ3JvdXAuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUmJhY1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIC8vIENyZWF0ZSBhIG5ldyByb2xlIGFzc2lnbm1lbnQgdXNpbmcgdGhlIHByb3ZpZGVkIHByb3BlcnRpZXMuXG4gICAgbmV3IFJvbGVBc3NpZ25tZW50KHRoaXMsIFwicm9sZVwiLCB7XG4gICAgICBuYW1lOiBwcm9wcy5yb2xlRGVmaW5pdGlvblVVSUQsXG4gICAgICBwcmluY2lwYWxJZDogcHJvcHMub2JqZWN0SWQsXG4gICAgICByb2xlRGVmaW5pdGlvbk5hbWU6IHByb3BzLnJvbGVEZWZpbml0aW9uTmFtZSxcbiAgICAgIHNjb3BlOiBwcm9wcy5zY29wZSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,62 @@
1
+ import { ResourceGroup } from "@cdktf/provider-azurerm/lib/resource-group";
2
+ import { Construct } from "constructs";
3
+ import { DiagnosticSettings, BaseDiagnosticSettingsProps } from "./diagsettings";
4
+ import * as metricalert from "../../azure-metricalert";
5
+ import * as queryalert from "../../azure-queryrulealert";
6
+ export declare abstract class AzureResource extends Construct {
7
+ id: string;
8
+ abstract resourceGroup: ResourceGroup;
9
+ constructor(scope: Construct, id: string);
10
+ /**
11
+ * Adds an access role assignment for a specified Azure AD object (e.g., user, group, service principal) within this RBAC construct's scope.
12
+ *
13
+ * This method creates a new role assignment which grants the specified Azure AD object access to resources
14
+ * at the scope defined by this construct. This is useful for programmatically managing access controls,
15
+ * ensuring only authorized users or systems can perform specific actions on Azure resources.
16
+ *
17
+ * @param objectId - The unique identifier of the Azure AD object (user, group, or service principal) that will receive the role assignment.
18
+ * @param customRoleName - The human-readable name of the Azure RBAC role to be assigned. This role defines the permissions that the object will have.
19
+ *
20
+ * Example usage:
21
+ * ```typescript
22
+ * // Example: Assign a "Reader" role to a user for the current RBAC scope
23
+ * rbacInstance.addAccess('user-object-id', 'Reader');
24
+ * ```
25
+ */
26
+ addAccess(objectId: string, customRoleName: string): void;
27
+ /**
28
+ * Adds diagnostic settings to a specified resource within this construct.
29
+ *
30
+ * This method creates and configures a new DiagnosticSettings instance which captures and routes
31
+ * diagnostic data (logs and metrics) to the specified destinations such as Azure Monitor,
32
+ * an Event Hubs instance, a Log Analytics workspace, or an Azure Storage account.
33
+ *
34
+ * @param props - The properties required to configure the diagnostic settings. These include:
35
+ * - `name`: Optional. The name of the diagnostic settings resource. Defaults to 'diag-settings'.
36
+ * - `logAnalyticsWorkspaceId`: Optional. The identifier of the Log Analytics workspace to send logs.
37
+ * - `eventhubAuthorizationRuleId`: Optional. The authorization rule ID for an Event Hub where logs will be forwarded.
38
+ * - `eventhubName`: Optional. The name of the Event Hub to which logs will be sent.
39
+ * - `storageAccountId`: Optional. The identifier of the Azure Storage account where logs will be stored.
40
+ * - `logAnalyticsDestinationType`: Optional. Determines if logs are sent to dedicated or legacy tables in Log Analytics. Defaults to undefined which uses the default settings.
41
+ * The `targetResourceId` is automatically set to the ID of this construct instance.
42
+ *
43
+ * @returns An instance of the DiagnosticSettings class, configured with the provided properties.
44
+ *
45
+ * Example usage:
46
+ * ```typescript
47
+ * const diagSettings = resource.addDiagSettings({
48
+ * name: 'custom-diag-settings',
49
+ * logAnalyticsWorkspaceId: 'workspace-id',
50
+ * eventhubAuthorizationRuleId: 'auth-rule-id',
51
+ * eventhubName: 'eventhub-name',
52
+ * storageAccountId: 'storage-account-id'
53
+ * });
54
+ * ```
55
+ */
56
+ addDiagSettings(props: BaseDiagnosticSettingsProps): DiagnosticSettings;
57
+ protected setupResourceGroup(props: any): ResourceGroup;
58
+ }
59
+ export declare abstract class AzureResourceWithAlert extends AzureResource {
60
+ addQueryRuleAlert(props: queryalert.BaseAzureQueryRuleAlertProps): void;
61
+ addMetricAlert(props: metricalert.IBaseMetricAlertProps): void;
62
+ }