@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,103 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.exampleAzureWindowsVirtualMachineScaleSet = void 0;
4
+ const data_azurerm_client_config_1 = require("@cdktf/provider-azurerm/lib/data-azurerm-client-config");
5
+ const provider_1 = require("@cdktf/provider-azurerm/lib/provider");
6
+ const resource_group_1 = require("@cdktf/provider-azurerm/lib/resource-group");
7
+ const storage_account_1 = require("@cdktf/provider-azurerm/lib/storage-account");
8
+ const subnet_1 = require("@cdktf/provider-azurerm/lib/subnet");
9
+ const virtual_network_1 = require("@cdktf/provider-azurerm/lib/virtual-network");
10
+ const cdktf = require("cdktf");
11
+ const cdktf_1 = require("cdktf");
12
+ const vmss = require("..");
13
+ const testing_1 = require("../../testing");
14
+ const app = new cdktf_1.App();
15
+ class exampleAzureWindowsVirtualMachineScaleSet extends testing_1.BaseTestStack {
16
+ constructor(scope, id) {
17
+ super(scope, id);
18
+ const clientConfig = new data_azurerm_client_config_1.DataAzurermClientConfig(this, "CurrentClientConfig", {});
19
+ new provider_1.AzurermProvider(this, "azureFeature", {
20
+ features: {},
21
+ });
22
+ const resourceGroup = new resource_group_1.ResourceGroup(this, "rg", {
23
+ location: "eastus",
24
+ name: `rg-${this.name}`,
25
+ });
26
+ const vnet = new virtual_network_1.VirtualNetwork(this, "vnet", {
27
+ name: `vnet-${this.name}`,
28
+ location: resourceGroup.location,
29
+ resourceGroupName: resourceGroup.name,
30
+ addressSpace: ["10.0.0.0/16"],
31
+ });
32
+ const subnet = new subnet_1.Subnet(this, "subnet1", {
33
+ name: "subnet1",
34
+ resourceGroupName: resourceGroup.name,
35
+ virtualNetworkName: vnet.name,
36
+ addressPrefixes: ["10.0.1.0/24"],
37
+ });
38
+ const storage = new storage_account_1.StorageAccount(this, "storage", {
39
+ name: `sta${this.name}88s96`,
40
+ resourceGroupName: resourceGroup.name,
41
+ location: resourceGroup.location,
42
+ accountReplicationType: "LRS",
43
+ accountTier: "Standard",
44
+ minTlsVersion: "TLS1_2",
45
+ publicNetworkAccessEnabled: false,
46
+ networkRules: {
47
+ bypass: ["AzureServices"],
48
+ defaultAction: "Deny",
49
+ },
50
+ });
51
+ const vm = new vmss.WindowsCluster(this, "vmss", {
52
+ name: this.name,
53
+ location: "eastus",
54
+ resourceGroup: resourceGroup,
55
+ sku: "Standard_B1s",
56
+ adminUsername: "testadmin",
57
+ adminPassword: "Password1234!",
58
+ osDisk: {
59
+ caching: "ReadWrite",
60
+ storageAccountType: "Standard_LRS",
61
+ },
62
+ sourceImageReference: {
63
+ publisher: "MicrosoftWindowsServer",
64
+ offer: "WindowsServer",
65
+ sku: "2019-Datacenter",
66
+ version: "latest",
67
+ },
68
+ subnet: subnet,
69
+ publicIPAddress: [
70
+ {
71
+ name: "testpublicip",
72
+ },
73
+ ],
74
+ boostrapCustomData: "Install-WindowsFeature -Name Web-Server; $website = '<h1>Hello World!</h1>'; Set-Content \"C:\\inetpub\\wwwroot\\iisstart.htm\" $website",
75
+ bootDiagnosticsStorageURI: storage.primaryBlobEndpoint,
76
+ });
77
+ // Diag Settings
78
+ vm.addDiagSettings({ name: "diagsettings", storageAccountId: storage.id });
79
+ // RBAC
80
+ vm.addAccess(clientConfig.objectId, "Contributor");
81
+ // Outputs to use for End to End Test
82
+ const cdktfTerraformOutputRGName = new cdktf.TerraformOutput(this, "resource_group_name", {
83
+ value: resourceGroup.name,
84
+ });
85
+ const cdktfTerraformOutputNsgName = new cdktf.TerraformOutput(this, "vm_name", {
86
+ value: vm.name,
87
+ });
88
+ const cdktfTerraformOutputVmsize = new cdktf.TerraformOutput(this, "vm_size", {
89
+ value: "Standard_B1s",
90
+ });
91
+ const cdktfTerraformOutputVmEndpoint = new cdktf.TerraformOutput(this, "public_ip_name", {
92
+ value: "testpublicip",
93
+ });
94
+ cdktfTerraformOutputRGName.overrideLogicalId("resource_group_name");
95
+ cdktfTerraformOutputNsgName.overrideLogicalId("vm_name");
96
+ cdktfTerraformOutputVmsize.overrideLogicalId("vm_size");
97
+ cdktfTerraformOutputVmEndpoint.overrideLogicalId("public_ip_name");
98
+ }
99
+ }
100
+ exports.exampleAzureWindowsVirtualMachineScaleSet = exampleAzureWindowsVirtualMachineScaleSet;
101
+ new exampleAzureWindowsVirtualMachineScaleSet(app, "testAzureWindowVirtualMachineScaleSetExample");
102
+ app.synth();
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhhbXBsZUF6dXJlV2luZG93c1ZpcnR1YWxNYWNoaW5lU2NhbGVTZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtdmlydHVhbG1hY2hpbmVzY2FsZXNldC90ZXN0L0V4YW1wbGVBenVyZVdpbmRvd3NWaXJ0dWFsTWFjaGluZVNjYWxlU2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVHQUFpRztBQUNqRyxtRUFBdUU7QUFDdkUsK0VBQTJFO0FBQzNFLGlGQUE2RTtBQUM3RSwrREFBNEQ7QUFDNUQsaUZBQTZFO0FBQzdFLCtCQUErQjtBQUMvQixpQ0FBNEI7QUFFNUIsMkJBQTJCO0FBQzNCLDJDQUE4QztBQUU5QyxNQUFNLEdBQUcsR0FBRyxJQUFJLFdBQUcsRUFBRSxDQUFDO0FBRXRCLE1BQWEseUNBQTBDLFNBQVEsdUJBQWE7SUFDMUUsWUFBWSxLQUFnQixFQUFFLEVBQVU7UUFDdEMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLFlBQVksR0FBRyxJQUFJLG9EQUF1QixDQUM5QyxJQUFJLEVBQ0oscUJBQXFCLEVBQ3JCLEVBQUUsQ0FDSCxDQUFDO1FBRUYsSUFBSSwwQkFBZSxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUU7WUFDeEMsUUFBUSxFQUFFLEVBQUU7U0FDYixDQUFDLENBQUM7UUFFSCxNQUFNLGFBQWEsR0FBRyxJQUFJLDhCQUFhLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRTtZQUNsRCxRQUFRLEVBQUUsUUFBUTtZQUNsQixJQUFJLEVBQUUsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFO1NBQ3hCLENBQUMsQ0FBQztRQUVILE1BQU0sSUFBSSxHQUFHLElBQUksZ0NBQWMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQzVDLElBQUksRUFBRSxRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDekIsUUFBUSxFQUFFLGFBQWEsQ0FBQyxRQUFRO1lBQ2hDLGlCQUFpQixFQUFFLGFBQWEsQ0FBQyxJQUFJO1lBQ3JDLFlBQVksRUFBRSxDQUFDLGFBQWEsQ0FBQztTQUM5QixDQUFDLENBQUM7UUFFSCxNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQU0sQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQ3pDLElBQUksRUFBRSxTQUFTO1lBQ2YsaUJBQWlCLEVBQUUsYUFBYSxDQUFDLElBQUk7WUFDckMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDN0IsZUFBZSxFQUFFLENBQUMsYUFBYSxDQUFDO1NBQ2pDLENBQUMsQ0FBQztRQUVILE1BQU0sT0FBTyxHQUFHLElBQUksZ0NBQWMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQ2xELElBQUksRUFBRSxNQUFNLElBQUksQ0FBQyxJQUFJLE9BQU87WUFDNUIsaUJBQWlCLEVBQUUsYUFBYSxDQUFDLElBQUk7WUFDckMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxRQUFRO1lBQ2hDLHNCQUFzQixFQUFFLEtBQUs7WUFDN0IsV0FBVyxFQUFFLFVBQVU7WUFDdkIsYUFBYSxFQUFFLFFBQVE7WUFDdkIsMEJBQTBCLEVBQUUsS0FBSztZQUNqQyxZQUFZLEVBQUU7Z0JBQ1osTUFBTSxFQUFFLENBQUMsZUFBZSxDQUFDO2dCQUN6QixhQUFhLEVBQUUsTUFBTTthQUN0QjtTQUNGLENBQUMsQ0FBQztRQUVILE1BQU0sRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQy9DLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLGFBQWEsRUFBRSxhQUFhO1lBQzVCLEdBQUcsRUFBRSxjQUFjO1lBQ25CLGFBQWEsRUFBRSxXQUFXO1lBQzFCLGFBQWEsRUFBRSxlQUFlO1lBQzlCLE1BQU0sRUFBRTtnQkFDTixPQUFPLEVBQUUsV0FBVztnQkFDcEIsa0JBQWtCLEVBQUUsY0FBYzthQUNuQztZQUNELG9CQUFvQixFQUFFO2dCQUNwQixTQUFTLEVBQUUsd0JBQXdCO2dCQUNuQyxLQUFLLEVBQUUsZUFBZTtnQkFDdEIsR0FBRyxFQUFFLGlCQUFpQjtnQkFDdEIsT0FBTyxFQUFFLFFBQVE7YUFDbEI7WUFDRCxNQUFNLEVBQUUsTUFBTTtZQUNkLGVBQWUsRUFBRTtnQkFDZjtvQkFDRSxJQUFJLEVBQUUsY0FBYztpQkFDckI7YUFDRjtZQUNELGtCQUFrQixFQUNoQiwwSUFBMEk7WUFDNUkseUJBQXlCLEVBQUUsT0FBTyxDQUFDLG1CQUFtQjtTQUN2RCxDQUFDLENBQUM7UUFFSCxnQkFBZ0I7UUFDaEIsRUFBRSxDQUFDLGVBQWUsQ0FBQyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFM0UsT0FBTztRQUNQLEVBQUUsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUVuRCxxQ0FBcUM7UUFDckMsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQzFELElBQUksRUFDSixxQkFBcUIsRUFDckI7WUFDRSxLQUFLLEVBQUUsYUFBYSxDQUFDLElBQUk7U0FDMUIsQ0FDRixDQUFDO1FBRUYsTUFBTSwyQkFBMkIsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQzNELElBQUksRUFDSixTQUFTLEVBQ1Q7WUFDRSxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUk7U0FDZixDQUNGLENBQUM7UUFFRixNQUFNLDBCQUEwQixHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FDMUQsSUFBSSxFQUNKLFNBQVMsRUFDVDtZQUNFLEtBQUssRUFBRSxjQUFjO1NBQ3RCLENBQ0YsQ0FBQztRQUVGLE1BQU0sOEJBQThCLEdBQUcsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUM5RCxJQUFJLEVBQ0osZ0JBQWdCLEVBQ2hCO1lBQ0UsS0FBSyxFQUFFLGNBQWM7U0FDdEIsQ0FDRixDQUFDO1FBRUYsMEJBQTBCLENBQUMsaUJBQWlCLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNwRSwyQkFBMkIsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6RCwwQkFBMEIsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN4RCw4QkFBOEIsQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7Q0FDRjtBQXZIRCw4RkF1SEM7QUFFRCxJQUFJLHlDQUF5QyxDQUMzQyxHQUFHLEVBQ0gsOENBQThDLENBQy9DLENBQUM7QUFFRixHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhQXp1cmVybUNsaWVudENvbmZpZyB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvZGF0YS1henVyZXJtLWNsaWVudC1jb25maWdcIjtcbmltcG9ydCB7IEF6dXJlcm1Qcm92aWRlciB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvcHJvdmlkZXJcIjtcbmltcG9ydCB7IFJlc291cmNlR3JvdXAgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3Jlc291cmNlLWdyb3VwXCI7XG5pbXBvcnQgeyBTdG9yYWdlQWNjb3VudCB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvc3RvcmFnZS1hY2NvdW50XCI7XG5pbXBvcnQgeyBTdWJuZXQgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3N1Ym5ldFwiO1xuaW1wb3J0IHsgVmlydHVhbE5ldHdvcmsgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3ZpcnR1YWwtbmV0d29ya1wiO1xuaW1wb3J0ICogYXMgY2RrdGYgZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBBcHAgfSBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgKiBhcyB2bXNzIGZyb20gXCIuLlwiO1xuaW1wb3J0IHsgQmFzZVRlc3RTdGFjayB9IGZyb20gXCIuLi8uLi90ZXN0aW5nXCI7XG5cbmNvbnN0IGFwcCA9IG5ldyBBcHAoKTtcblxuZXhwb3J0IGNsYXNzIGV4YW1wbGVBenVyZVdpbmRvd3NWaXJ0dWFsTWFjaGluZVNjYWxlU2V0IGV4dGVuZHMgQmFzZVRlc3RTdGFjayB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgY2xpZW50Q29uZmlnID0gbmV3IERhdGFBenVyZXJtQ2xpZW50Q29uZmlnKFxuICAgICAgdGhpcyxcbiAgICAgIFwiQ3VycmVudENsaWVudENvbmZpZ1wiLFxuICAgICAge30sXG4gICAgKTtcblxuICAgIG5ldyBBenVyZXJtUHJvdmlkZXIodGhpcywgXCJhenVyZUZlYXR1cmVcIiwge1xuICAgICAgZmVhdHVyZXM6IHt9LFxuICAgIH0pO1xuXG4gICAgY29uc3QgcmVzb3VyY2VHcm91cCA9IG5ldyBSZXNvdXJjZUdyb3VwKHRoaXMsIFwicmdcIiwge1xuICAgICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gICAgICBuYW1lOiBgcmctJHt0aGlzLm5hbWV9YCxcbiAgICB9KTtcblxuICAgIGNvbnN0IHZuZXQgPSBuZXcgVmlydHVhbE5ldHdvcmsodGhpcywgXCJ2bmV0XCIsIHtcbiAgICAgIG5hbWU6IGB2bmV0LSR7dGhpcy5uYW1lfWAsXG4gICAgICBsb2NhdGlvbjogcmVzb3VyY2VHcm91cC5sb2NhdGlvbixcbiAgICAgIHJlc291cmNlR3JvdXBOYW1lOiByZXNvdXJjZUdyb3VwLm5hbWUsXG4gICAgICBhZGRyZXNzU3BhY2U6IFtcIjEwLjAuMC4wLzE2XCJdLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc3VibmV0ID0gbmV3IFN1Ym5ldCh0aGlzLCBcInN1Ym5ldDFcIiwge1xuICAgICAgbmFtZTogXCJzdWJuZXQxXCIsXG4gICAgICByZXNvdXJjZUdyb3VwTmFtZTogcmVzb3VyY2VHcm91cC5uYW1lLFxuICAgICAgdmlydHVhbE5ldHdvcmtOYW1lOiB2bmV0Lm5hbWUsXG4gICAgICBhZGRyZXNzUHJlZml4ZXM6IFtcIjEwLjAuMS4wLzI0XCJdLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc3RvcmFnZSA9IG5ldyBTdG9yYWdlQWNjb3VudCh0aGlzLCBcInN0b3JhZ2VcIiwge1xuICAgICAgbmFtZTogYHN0YSR7dGhpcy5uYW1lfTg4czk2YCxcbiAgICAgIHJlc291cmNlR3JvdXBOYW1lOiByZXNvdXJjZUdyb3VwLm5hbWUsXG4gICAgICBsb2NhdGlvbjogcmVzb3VyY2VHcm91cC5sb2NhdGlvbixcbiAgICAgIGFjY291bnRSZXBsaWNhdGlvblR5cGU6IFwiTFJTXCIsXG4gICAgICBhY2NvdW50VGllcjogXCJTdGFuZGFyZFwiLFxuICAgICAgbWluVGxzVmVyc2lvbjogXCJUTFMxXzJcIixcbiAgICAgIHB1YmxpY05ldHdvcmtBY2Nlc3NFbmFibGVkOiBmYWxzZSxcbiAgICAgIG5ldHdvcmtSdWxlczoge1xuICAgICAgICBieXBhc3M6IFtcIkF6dXJlU2VydmljZXNcIl0sXG4gICAgICAgIGRlZmF1bHRBY3Rpb246IFwiRGVueVwiLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHZtID0gbmV3IHZtc3MuV2luZG93c0NsdXN0ZXIodGhpcywgXCJ2bXNzXCIsIHtcbiAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgICAgcmVzb3VyY2VHcm91cDogcmVzb3VyY2VHcm91cCxcbiAgICAgIHNrdTogXCJTdGFuZGFyZF9CMXNcIixcbiAgICAgIGFkbWluVXNlcm5hbWU6IFwidGVzdGFkbWluXCIsXG4gICAgICBhZG1pblBhc3N3b3JkOiBcIlBhc3N3b3JkMTIzNCFcIixcbiAgICAgIG9zRGlzazoge1xuICAgICAgICBjYWNoaW5nOiBcIlJlYWRXcml0ZVwiLFxuICAgICAgICBzdG9yYWdlQWNjb3VudFR5cGU6IFwiU3RhbmRhcmRfTFJTXCIsXG4gICAgICB9LFxuICAgICAgc291cmNlSW1hZ2VSZWZlcmVuY2U6IHtcbiAgICAgICAgcHVibGlzaGVyOiBcIk1pY3Jvc29mdFdpbmRvd3NTZXJ2ZXJcIixcbiAgICAgICAgb2ZmZXI6IFwiV2luZG93c1NlcnZlclwiLFxuICAgICAgICBza3U6IFwiMjAxOS1EYXRhY2VudGVyXCIsXG4gICAgICAgIHZlcnNpb246IFwibGF0ZXN0XCIsXG4gICAgICB9LFxuICAgICAgc3VibmV0OiBzdWJuZXQsXG4gICAgICBwdWJsaWNJUEFkZHJlc3M6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwidGVzdHB1YmxpY2lwXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgYm9vc3RyYXBDdXN0b21EYXRhOlxuICAgICAgICBcIkluc3RhbGwtV2luZG93c0ZlYXR1cmUgLU5hbWUgV2ViLVNlcnZlcjsgJHdlYnNpdGUgPSAnPGgxPkhlbGxvIFdvcmxkITwvaDE+JzsgU2V0LUNvbnRlbnQgXFxcIkM6XFxcXGluZXRwdWJcXFxcd3d3cm9vdFxcXFxpaXNzdGFydC5odG1cXFwiICR3ZWJzaXRlXCIsXG4gICAgICBib290RGlhZ25vc3RpY3NTdG9yYWdlVVJJOiBzdG9yYWdlLnByaW1hcnlCbG9iRW5kcG9pbnQsXG4gICAgfSk7XG5cbiAgICAvLyBEaWFnIFNldHRpbmdzXG4gICAgdm0uYWRkRGlhZ1NldHRpbmdzKHsgbmFtZTogXCJkaWFnc2V0dGluZ3NcIiwgc3RvcmFnZUFjY291bnRJZDogc3RvcmFnZS5pZCB9KTtcblxuICAgIC8vIFJCQUNcbiAgICB2bS5hZGRBY2Nlc3MoY2xpZW50Q29uZmlnLm9iamVjdElkLCBcIkNvbnRyaWJ1dG9yXCIpO1xuXG4gICAgLy8gT3V0cHV0cyB0byB1c2UgZm9yIEVuZCB0byBFbmQgVGVzdFxuICAgIGNvbnN0IGNka3RmVGVycmFmb3JtT3V0cHV0UkdOYW1lID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dChcbiAgICAgIHRoaXMsXG4gICAgICBcInJlc291cmNlX2dyb3VwX25hbWVcIixcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IHJlc291cmNlR3JvdXAubmFtZSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIGNvbnN0IGNka3RmVGVycmFmb3JtT3V0cHV0TnNnTmFtZSA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQoXG4gICAgICB0aGlzLFxuICAgICAgXCJ2bV9uYW1lXCIsXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiB2bS5uYW1lLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgY29uc3QgY2RrdGZUZXJyYWZvcm1PdXRwdXRWbXNpemUgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KFxuICAgICAgdGhpcyxcbiAgICAgIFwidm1fc2l6ZVwiLFxuICAgICAge1xuICAgICAgICB2YWx1ZTogXCJTdGFuZGFyZF9CMXNcIixcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIGNvbnN0IGNka3RmVGVycmFmb3JtT3V0cHV0Vm1FbmRwb2ludCA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQoXG4gICAgICB0aGlzLFxuICAgICAgXCJwdWJsaWNfaXBfbmFtZVwiLFxuICAgICAge1xuICAgICAgICB2YWx1ZTogXCJ0ZXN0cHVibGljaXBcIixcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIGNka3RmVGVycmFmb3JtT3V0cHV0UkdOYW1lLm92ZXJyaWRlTG9naWNhbElkKFwicmVzb3VyY2VfZ3JvdXBfbmFtZVwiKTtcbiAgICBjZGt0ZlRlcnJhZm9ybU91dHB1dE5zZ05hbWUub3ZlcnJpZGVMb2dpY2FsSWQoXCJ2bV9uYW1lXCIpO1xuICAgIGNka3RmVGVycmFmb3JtT3V0cHV0Vm1zaXplLm92ZXJyaWRlTG9naWNhbElkKFwidm1fc2l6ZVwiKTtcbiAgICBjZGt0ZlRlcnJhZm9ybU91dHB1dFZtRW5kcG9pbnQub3ZlcnJpZGVMb2dpY2FsSWQoXCJwdWJsaWNfaXBfbmFtZVwiKTtcbiAgfVxufVxuXG5uZXcgZXhhbXBsZUF6dXJlV2luZG93c1ZpcnR1YWxNYWNoaW5lU2NhbGVTZXQoXG4gIGFwcCxcbiAgXCJ0ZXN0QXp1cmVXaW5kb3dWaXJ0dWFsTWFjaGluZVNjYWxlU2V0RXhhbXBsZVwiLFxuKTtcblxuYXBwLnN5bnRoKCk7XG4iXX0=
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXp1cmUtdmlydHVhbG5ldHdvcmsvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdDQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2xpYlwiO1xuIl19
@@ -0,0 +1,2 @@
1
+ export * from "./network";
2
+ export * from "./peering";
@@ -0,0 +1,19 @@
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("./network"), exports);
18
+ __exportStar(require("./peering"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtdmlydHVhbG5ldHdvcmsvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw0Q0FBMEI7QUFDMUIsNENBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vbmV0d29ya1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGVlcmluZ1wiO1xuIl19
@@ -0,0 +1,122 @@
1
+ import { ResourceGroup } from "@cdktf/provider-azurerm/lib/resource-group";
2
+ import { Subnet } from "@cdktf/provider-azurerm/lib/subnet";
3
+ import { VirtualNetwork } from "@cdktf/provider-azurerm/lib/virtual-network";
4
+ import { Construct } from "constructs";
5
+ import { PeerSettings } from "./peering";
6
+ import { AzureResource } from "../../core-azure/lib";
7
+ /**
8
+ * Configuration properties for defining a subnet within an Azure Virtual Network.
9
+ */
10
+ export interface SubnetConfig {
11
+ /**
12
+ * The name of the subnet. This name must be unique within the context of the virtual network.
13
+ */
14
+ readonly name: string;
15
+ /**
16
+ * A list of address prefixes for the subnet. These are expressed in CIDR notation.
17
+ * For example, '192.168.1.0/24' to define a subnet with a range of IP addresses.
18
+ */
19
+ readonly addressPrefixes: string[];
20
+ }
21
+ /**
22
+ * Properties for defining an Azure Virtual Network.
23
+ */
24
+ export interface NetworkProps {
25
+ /**
26
+ * The name of the resource group under which the virtual network will be created.
27
+ */
28
+ readonly resourceGroup: ResourceGroup;
29
+ /**
30
+ * Optional: The name of the virtual network. Must be unique within the resource group.
31
+ * If not provided, a default name will be assigned.
32
+ */
33
+ readonly name?: string;
34
+ /**
35
+ * Optional: The Azure region in which to create the virtual network, e.g., 'East US', 'West Europe'.
36
+ * If not specified, the region of the resource group will be used.
37
+ */
38
+ readonly location?: string;
39
+ /**
40
+ * Optional: A list of address spaces for the virtual network, specified in CIDR notation.
41
+ * For example, ['10.0.0.0/16'] defines a single address space. Multiple address spaces can be provided.
42
+ */
43
+ readonly addressSpace?: string[];
44
+ /**
45
+ * Optional: An array of subnet configurations to be created within the virtual network.
46
+ * Each subnet is defined by its name and address prefix(es).
47
+ */
48
+ readonly subnets?: SubnetConfig[];
49
+ }
50
+ export declare class Network extends AzureResource {
51
+ readonly props: NetworkProps;
52
+ readonly name: string;
53
+ resourceGroup: ResourceGroup;
54
+ id: string;
55
+ readonly virtualNetwork: VirtualNetwork;
56
+ readonly subnets: {
57
+ [name: string]: Subnet;
58
+ };
59
+ /**
60
+ * Represents an Azure Virtual Network (VNet) within Microsoft Azure.
61
+ *
62
+ * This class is responsible for the creation and management of a virtual network, which provides an isolated environment
63
+ * where Azure resources, such as VMs and databases, can securely communicate with each other, the internet, and on-premises
64
+ * networks. It supports configurations such as multiple address spaces and subnets, enabling complex networking scenarios.
65
+ *
66
+ * @param scope - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) application.
67
+ * @param id - The unique identifier for this instance of the network, used within the scope for reference.
68
+ * @param props - Configuration properties for the Azure Virtual Network, derived from the NetworkProps interface. These include:
69
+ * - `resourceGroup`: The ResourceGroup within which the virtual network will be created.
70
+ * - `name`: Optional. The name of the virtual network. If not provided, a default name will be assigned.
71
+ * - `location`: Optional. The Azure region where the virtual network will be deployed. Defaults to the resource group's region.
72
+ * - `addressSpace`: Optional. A list of CIDR blocks that define the address spaces of the virtual network.
73
+ * - `subnets`: Optional. An array of subnets to be created within the virtual network, each defined by a name and a CIDR block.
74
+ *
75
+ * Example usage:
76
+ * ```typescript
77
+ * const network = new Network(this, 'MyVirtualNetwork', {
78
+ * resourceGroup: myResourceGroup,
79
+ * name: 'myVNet',
80
+ * location: 'West US',
81
+ * addressSpace: ['10.0.0.0/16'],
82
+ * subnets: [{ name: 'subnet1', addressPrefixes: ['10.0.1.0/24'] }]
83
+ * });
84
+ * ```
85
+ * This class initializes a virtual network with the specified configurations and handles the provisioning of subnets
86
+ * within the network, providing a foundational networking layer for hosting cloud resources.
87
+ */
88
+ constructor(scope: Construct, id: string, props: NetworkProps);
89
+ /**
90
+ * Establishes a peering connection between this virtual network and another remote virtual network.
91
+ *
92
+ * This method configures a two-way peering connection, allowing resources in both virtual networks to communicate
93
+ * seamlessly. It sets up peering settings such as network access, traffic forwarding, and gateway transit based on
94
+ * provided configurations.
95
+ *
96
+ * @param remoteVirtualNetwork - The remote virtual network with which to establish a peering connection.
97
+ * @param localPeerSettings - Optional settings applied from this virtual network to the remote virtual network.
98
+ * Controls aspects like virtual network access, traffic forwarding, and use of gateways.
99
+ * @param remotePeerSettings - Optional settings applied from the remote virtual network to this virtual network.
100
+ * Allows customization of how the remote network interacts with this one.
101
+ *
102
+ * Example usage:
103
+ * ```typescript
104
+ * // Assuming 'this' is a reference to a local virtual network instance.
105
+ * const partnerVNet = new Network(this, 'PartnerVNet', { ... });
106
+ * this.addVnetPeering(partnerVNet, {
107
+ * allowVirtualNetworkAccess: true,
108
+ * allowForwardedTraffic: false,
109
+ * allowGatewayTransit: true,
110
+ * useRemoteGateways: false
111
+ * }, {
112
+ * allowVirtualNetworkAccess: true,
113
+ * allowForwardedTraffic: true,
114
+ * allowGatewayTransit: false,
115
+ * useRemoteGateways: false
116
+ * });
117
+ * ```
118
+ * This method invokes the `Peer` class to create a peering between 'this' virtual network and 'partnerVNet'.
119
+ * The settings control traffic behavior and access permissions in both directions of the peering.
120
+ */
121
+ addVnetPeering(remoteVirtualNetwork: Network, localPeerSettings?: PeerSettings, remotePeerSettings?: PeerSettings): void;
122
+ }
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Network = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const subnet_1 = require("@cdktf/provider-azurerm/lib/subnet");
7
+ const virtual_network_1 = require("@cdktf/provider-azurerm/lib/virtual-network");
8
+ const peering_1 = require("./peering");
9
+ const lib_1 = require("../../core-azure/lib");
10
+ class Network extends lib_1.AzureResource {
11
+ /**
12
+ * Represents an Azure Virtual Network (VNet) within Microsoft Azure.
13
+ *
14
+ * This class is responsible for the creation and management of a virtual network, which provides an isolated environment
15
+ * where Azure resources, such as VMs and databases, can securely communicate with each other, the internet, and on-premises
16
+ * networks. It supports configurations such as multiple address spaces and subnets, enabling complex networking scenarios.
17
+ *
18
+ * @param scope - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) application.
19
+ * @param id - The unique identifier for this instance of the network, used within the scope for reference.
20
+ * @param props - Configuration properties for the Azure Virtual Network, derived from the NetworkProps interface. These include:
21
+ * - `resourceGroup`: The ResourceGroup within which the virtual network will be created.
22
+ * - `name`: Optional. The name of the virtual network. If not provided, a default name will be assigned.
23
+ * - `location`: Optional. The Azure region where the virtual network will be deployed. Defaults to the resource group's region.
24
+ * - `addressSpace`: Optional. A list of CIDR blocks that define the address spaces of the virtual network.
25
+ * - `subnets`: Optional. An array of subnets to be created within the virtual network, each defined by a name and a CIDR block.
26
+ *
27
+ * Example usage:
28
+ * ```typescript
29
+ * const network = new Network(this, 'MyVirtualNetwork', {
30
+ * resourceGroup: myResourceGroup,
31
+ * name: 'myVNet',
32
+ * location: 'West US',
33
+ * addressSpace: ['10.0.0.0/16'],
34
+ * subnets: [{ name: 'subnet1', addressPrefixes: ['10.0.1.0/24'] }]
35
+ * });
36
+ * ```
37
+ * This class initializes a virtual network with the specified configurations and handles the provisioning of subnets
38
+ * within the network, providing a foundational networking layer for hosting cloud resources.
39
+ */
40
+ constructor(scope, id, props) {
41
+ super(scope, id);
42
+ this.subnets = {}; // Map of subnet name to Subnet object
43
+ this.props = props;
44
+ const defaults = {
45
+ name: props.name || `vnet-${this.node.path.split("/")[0]}`,
46
+ location: props.location || "eastus",
47
+ addressSpace: props.addressSpace || ["10.0.0.0/16"],
48
+ subnets: props.subnets || [
49
+ {
50
+ name: "default",
51
+ addressPrefixes: ["10.1.0.0/24"],
52
+ },
53
+ ],
54
+ };
55
+ // Create a virtual network
56
+ const vnet = new virtual_network_1.VirtualNetwork(this, "vnet", {
57
+ ...defaults,
58
+ resourceGroupName: props.resourceGroup.name,
59
+ });
60
+ this.name = vnet.name;
61
+ this.id = vnet.id;
62
+ this.resourceGroup = props.resourceGroup;
63
+ this.virtualNetwork = vnet;
64
+ // Create subnets within the virtual network
65
+ for (const subnetConfig of defaults.subnets) {
66
+ const subnet = new subnet_1.Subnet(this, subnetConfig.name, {
67
+ name: subnetConfig.name,
68
+ resourceGroupName: props.resourceGroup.name,
69
+ virtualNetworkName: vnet.name,
70
+ addressPrefixes: subnetConfig.addressPrefixes,
71
+ });
72
+ this.subnets[subnetConfig.name] = subnet; // Populate the subnetsMap
73
+ }
74
+ }
75
+ /**
76
+ * Establishes a peering connection between this virtual network and another remote virtual network.
77
+ *
78
+ * This method configures a two-way peering connection, allowing resources in both virtual networks to communicate
79
+ * seamlessly. It sets up peering settings such as network access, traffic forwarding, and gateway transit based on
80
+ * provided configurations.
81
+ *
82
+ * @param remoteVirtualNetwork - The remote virtual network with which to establish a peering connection.
83
+ * @param localPeerSettings - Optional settings applied from this virtual network to the remote virtual network.
84
+ * Controls aspects like virtual network access, traffic forwarding, and use of gateways.
85
+ * @param remotePeerSettings - Optional settings applied from the remote virtual network to this virtual network.
86
+ * Allows customization of how the remote network interacts with this one.
87
+ *
88
+ * Example usage:
89
+ * ```typescript
90
+ * // Assuming 'this' is a reference to a local virtual network instance.
91
+ * const partnerVNet = new Network(this, 'PartnerVNet', { ... });
92
+ * this.addVnetPeering(partnerVNet, {
93
+ * allowVirtualNetworkAccess: true,
94
+ * allowForwardedTraffic: false,
95
+ * allowGatewayTransit: true,
96
+ * useRemoteGateways: false
97
+ * }, {
98
+ * allowVirtualNetworkAccess: true,
99
+ * allowForwardedTraffic: true,
100
+ * allowGatewayTransit: false,
101
+ * useRemoteGateways: false
102
+ * });
103
+ * ```
104
+ * This method invokes the `Peer` class to create a peering between 'this' virtual network and 'partnerVNet'.
105
+ * The settings control traffic behavior and access permissions in both directions of the peering.
106
+ */
107
+ addVnetPeering(remoteVirtualNetwork, localPeerSettings, remotePeerSettings) {
108
+ const vnetPeerProps = {
109
+ virtualNetwork: this,
110
+ remoteVirtualNetwork: remoteVirtualNetwork,
111
+ localToRemoteSettings: localPeerSettings,
112
+ remoteToLocalSettings: remotePeerSettings,
113
+ };
114
+ new peering_1.Peer(this, remoteVirtualNetwork.id, vnetPeerProps);
115
+ }
116
+ }
117
+ exports.Network = Network;
118
+ _a = JSII_RTTI_SYMBOL_1;
119
+ Network[_a] = { fqn: "@microsoft/terraform-cdk-constructs.azure_virtualnetwork.Network", version: "0.0.3-pre.10" };
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS12aXJ0dWFsbmV0d29yay9saWIvbmV0d29yay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLCtEQUE0RDtBQUM1RCxpRkFBNkU7QUFFN0UsdUNBQTBEO0FBQzFELDhDQUFxRDtBQW9EckQsTUFBYSxPQUFRLFNBQVEsbUJBQWE7SUFPeEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0E0Qkc7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQW1CO1FBQzNELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUEvQkgsWUFBTyxHQUErQixFQUFFLENBQUMsQ0FBQyxzQ0FBc0M7UUFpQzlGLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRW5CLE1BQU0sUUFBUSxHQUFHO1lBQ2YsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDMUQsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLElBQUksUUFBUTtZQUNwQyxZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVksSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUNuRCxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sSUFBSTtnQkFDeEI7b0JBQ0UsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsZUFBZSxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUNqQzthQUNGO1NBQ0YsQ0FBQztRQUVGLDJCQUEyQjtRQUMzQixNQUFNLElBQUksR0FBRyxJQUFJLGdDQUFjLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUM1QyxHQUFHLFFBQVE7WUFDWCxpQkFBaUIsRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUk7U0FDNUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUM7UUFDekMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFFM0IsNENBQTRDO1FBQzVDLEtBQUssTUFBTSxZQUFZLElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRTtZQUMzQyxNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQU0sQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLElBQUksRUFBRTtnQkFDakQsSUFBSSxFQUFFLFlBQVksQ0FBQyxJQUFJO2dCQUN2QixpQkFBaUIsRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUk7Z0JBQzNDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUM3QixlQUFlLEVBQUUsWUFBWSxDQUFDLGVBQWU7YUFDOUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsMEJBQTBCO1NBQ3JFO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BK0JHO0lBQ0ksY0FBYyxDQUNuQixvQkFBNkIsRUFDN0IsaUJBQWdDLEVBQ2hDLGtCQUFpQztRQUVqQyxNQUFNLGFBQWEsR0FBYztZQUMvQixjQUFjLEVBQUUsSUFBSTtZQUNwQixvQkFBb0IsRUFBRSxvQkFBb0I7WUFDMUMscUJBQXFCLEVBQUUsaUJBQWlCO1lBQ3hDLHFCQUFxQixFQUFFLGtCQUFrQjtTQUMxQyxDQUFDO1FBQ0YsSUFBSSxjQUFJLENBQUMsSUFBSSxFQUFFLG9CQUFvQixDQUFDLEVBQUUsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUN6RCxDQUFDOztBQXpISCwwQkEwSEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXNvdXJjZUdyb3VwIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9yZXNvdXJjZS1ncm91cFwiO1xuaW1wb3J0IHsgU3VibmV0IH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9zdWJuZXRcIjtcbmltcG9ydCB7IFZpcnR1YWxOZXR3b3JrIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi92aXJ0dWFsLW5ldHdvcmtcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBQZWVyUHJvcHMsIFBlZXIsIFBlZXJTZXR0aW5ncyB9IGZyb20gXCIuL3BlZXJpbmdcIjtcbmltcG9ydCB7IEF6dXJlUmVzb3VyY2UgfSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWJcIjtcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIHByb3BlcnRpZXMgZm9yIGRlZmluaW5nIGEgc3VibmV0IHdpdGhpbiBhbiBBenVyZSBWaXJ0dWFsIE5ldHdvcmsuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3VibmV0Q29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBzdWJuZXQuIFRoaXMgbmFtZSBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGNvbnRleHQgb2YgdGhlIHZpcnR1YWwgbmV0d29yay5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogQSBsaXN0IG9mIGFkZHJlc3MgcHJlZml4ZXMgZm9yIHRoZSBzdWJuZXQuIFRoZXNlIGFyZSBleHByZXNzZWQgaW4gQ0lEUiBub3RhdGlvbi5cbiAgICogRm9yIGV4YW1wbGUsICcxOTIuMTY4LjEuMC8yNCcgdG8gZGVmaW5lIGEgc3VibmV0IHdpdGggYSByYW5nZSBvZiBJUCBhZGRyZXNzZXMuXG4gICAqL1xuICByZWFkb25seSBhZGRyZXNzUHJlZml4ZXM6IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGRlZmluaW5nIGFuIEF6dXJlIFZpcnR1YWwgTmV0d29yay5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZXR3b3JrUHJvcHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJlc291cmNlIGdyb3VwIHVuZGVyIHdoaWNoIHRoZSB2aXJ0dWFsIG5ldHdvcmsgd2lsbCBiZSBjcmVhdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzb3VyY2VHcm91cDogUmVzb3VyY2VHcm91cDtcblxuICAvKipcbiAgICogT3B0aW9uYWw6IFRoZSBuYW1lIG9mIHRoZSB2aXJ0dWFsIG5ldHdvcmsuIE11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgcmVzb3VyY2UgZ3JvdXAuXG4gICAqIElmIG5vdCBwcm92aWRlZCwgYSBkZWZhdWx0IG5hbWUgd2lsbCBiZSBhc3NpZ25lZC5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsOiBUaGUgQXp1cmUgcmVnaW9uIGluIHdoaWNoIHRvIGNyZWF0ZSB0aGUgdmlydHVhbCBuZXR3b3JrLCBlLmcuLCAnRWFzdCBVUycsICdXZXN0IEV1cm9wZScuXG4gICAqIElmIG5vdCBzcGVjaWZpZWQsIHRoZSByZWdpb24gb2YgdGhlIHJlc291cmNlIGdyb3VwIHdpbGwgYmUgdXNlZC5cbiAgICovXG4gIHJlYWRvbmx5IGxvY2F0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbDogQSBsaXN0IG9mIGFkZHJlc3Mgc3BhY2VzIGZvciB0aGUgdmlydHVhbCBuZXR3b3JrLCBzcGVjaWZpZWQgaW4gQ0lEUiBub3RhdGlvbi5cbiAgICogRm9yIGV4YW1wbGUsIFsnMTAuMC4wLjAvMTYnXSBkZWZpbmVzIGEgc2luZ2xlIGFkZHJlc3Mgc3BhY2UuIE11bHRpcGxlIGFkZHJlc3Mgc3BhY2VzIGNhbiBiZSBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGFkZHJlc3NTcGFjZT86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbDogQW4gYXJyYXkgb2Ygc3VibmV0IGNvbmZpZ3VyYXRpb25zIHRvIGJlIGNyZWF0ZWQgd2l0aGluIHRoZSB2aXJ0dWFsIG5ldHdvcmsuXG4gICAqIEVhY2ggc3VibmV0IGlzIGRlZmluZWQgYnkgaXRzIG5hbWUgYW5kIGFkZHJlc3MgcHJlZml4KGVzKS5cbiAgICovXG4gIHJlYWRvbmx5IHN1Ym5ldHM/OiBTdWJuZXRDb25maWdbXTtcbn1cblxuZXhwb3J0IGNsYXNzIE5ldHdvcmsgZXh0ZW5kcyBBenVyZVJlc291cmNlIHtcbiAgcmVhZG9ubHkgcHJvcHM6IE5ldHdvcmtQcm9wcztcbiAgcHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcHVibGljIHJlc291cmNlR3JvdXA6IFJlc291cmNlR3JvdXA7XG4gIHB1YmxpYyBpZDogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgdmlydHVhbE5ldHdvcms6IFZpcnR1YWxOZXR3b3JrO1xuICBwdWJsaWMgcmVhZG9ubHkgc3VibmV0czogeyBbbmFtZTogc3RyaW5nXTogU3VibmV0IH0gPSB7fTsgLy8gTWFwIG9mIHN1Ym5ldCBuYW1lIHRvIFN1Ym5ldCBvYmplY3RcbiAgLyoqXG4gICAqIFJlcHJlc2VudHMgYW4gQXp1cmUgVmlydHVhbCBOZXR3b3JrIChWTmV0KSB3aXRoaW4gTWljcm9zb2Z0IEF6dXJlLlxuICAgKlxuICAgKiBUaGlzIGNsYXNzIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgY3JlYXRpb24gYW5kIG1hbmFnZW1lbnQgb2YgYSB2aXJ0dWFsIG5ldHdvcmssIHdoaWNoIHByb3ZpZGVzIGFuIGlzb2xhdGVkIGVudmlyb25tZW50XG4gICAqIHdoZXJlIEF6dXJlIHJlc291cmNlcywgc3VjaCBhcyBWTXMgYW5kIGRhdGFiYXNlcywgY2FuIHNlY3VyZWx5IGNvbW11bmljYXRlIHdpdGggZWFjaCBvdGhlciwgdGhlIGludGVybmV0LCBhbmQgb24tcHJlbWlzZXNcbiAgICogbmV0d29ya3MuIEl0IHN1cHBvcnRzIGNvbmZpZ3VyYXRpb25zIHN1Y2ggYXMgbXVsdGlwbGUgYWRkcmVzcyBzcGFjZXMgYW5kIHN1Ym5ldHMsIGVuYWJsaW5nIGNvbXBsZXggbmV0d29ya2luZyBzY2VuYXJpb3MuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSAtIFRoZSBzY29wZSBpbiB3aGljaCB0byBkZWZpbmUgdGhpcyBjb25zdHJ1Y3QsIHR5cGljYWxseSByZXByZXNlbnRpbmcgdGhlIENsb3VkIERldmVsb3BtZW50IEtpdCAoQ0RLKSBhcHBsaWNhdGlvbi5cbiAgICogQHBhcmFtIGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIGluc3RhbmNlIG9mIHRoZSBuZXR3b3JrLCB1c2VkIHdpdGhpbiB0aGUgc2NvcGUgZm9yIHJlZmVyZW5jZS5cbiAgICogQHBhcmFtIHByb3BzIC0gQ29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzIGZvciB0aGUgQXp1cmUgVmlydHVhbCBOZXR3b3JrLCBkZXJpdmVkIGZyb20gdGhlIE5ldHdvcmtQcm9wcyBpbnRlcmZhY2UuIFRoZXNlIGluY2x1ZGU6XG4gICAqICAgICAgICAgICAgICAgIC0gYHJlc291cmNlR3JvdXBgOiBUaGUgUmVzb3VyY2VHcm91cCB3aXRoaW4gd2hpY2ggdGhlIHZpcnR1YWwgbmV0d29yayB3aWxsIGJlIGNyZWF0ZWQuXG4gICAqICAgICAgICAgICAgICAgIC0gYG5hbWVgOiBPcHRpb25hbC4gVGhlIG5hbWUgb2YgdGhlIHZpcnR1YWwgbmV0d29yay4gSWYgbm90IHByb3ZpZGVkLCBhIGRlZmF1bHQgbmFtZSB3aWxsIGJlIGFzc2lnbmVkLlxuICAgKiAgICAgICAgICAgICAgICAtIGBsb2NhdGlvbmA6IE9wdGlvbmFsLiBUaGUgQXp1cmUgcmVnaW9uIHdoZXJlIHRoZSB2aXJ0dWFsIG5ldHdvcmsgd2lsbCBiZSBkZXBsb3llZC4gRGVmYXVsdHMgdG8gdGhlIHJlc291cmNlIGdyb3VwJ3MgcmVnaW9uLlxuICAgKiAgICAgICAgICAgICAgICAtIGBhZGRyZXNzU3BhY2VgOiBPcHRpb25hbC4gQSBsaXN0IG9mIENJRFIgYmxvY2tzIHRoYXQgZGVmaW5lIHRoZSBhZGRyZXNzIHNwYWNlcyBvZiB0aGUgdmlydHVhbCBuZXR3b3JrLlxuICAgKiAgICAgICAgICAgICAgICAtIGBzdWJuZXRzYDogT3B0aW9uYWwuIEFuIGFycmF5IG9mIHN1Ym5ldHMgdG8gYmUgY3JlYXRlZCB3aXRoaW4gdGhlIHZpcnR1YWwgbmV0d29yaywgZWFjaCBkZWZpbmVkIGJ5IGEgbmFtZSBhbmQgYSBDSURSIGJsb2NrLlxuICAgKlxuICAgKiBFeGFtcGxlIHVzYWdlOlxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGNvbnN0IG5ldHdvcmsgPSBuZXcgTmV0d29yayh0aGlzLCAnTXlWaXJ0dWFsTmV0d29yaycsIHtcbiAgICogICByZXNvdXJjZUdyb3VwOiBteVJlc291cmNlR3JvdXAsXG4gICAqICAgbmFtZTogJ215Vk5ldCcsXG4gICAqICAgbG9jYXRpb246ICdXZXN0IFVTJyxcbiAgICogICBhZGRyZXNzU3BhY2U6IFsnMTAuMC4wLjAvMTYnXSxcbiAgICogICBzdWJuZXRzOiBbeyBuYW1lOiAnc3VibmV0MScsIGFkZHJlc3NQcmVmaXhlczogWycxMC4wLjEuMC8yNCddIH1dXG4gICAqIH0pO1xuICAgKiBgYGBcbiAgICogVGhpcyBjbGFzcyBpbml0aWFsaXplcyBhIHZpcnR1YWwgbmV0d29yayB3aXRoIHRoZSBzcGVjaWZpZWQgY29uZmlndXJhdGlvbnMgYW5kIGhhbmRsZXMgdGhlIHByb3Zpc2lvbmluZyBvZiBzdWJuZXRzXG4gICAqIHdpdGhpbiB0aGUgbmV0d29yaywgcHJvdmlkaW5nIGEgZm91bmRhdGlvbmFsIG5ldHdvcmtpbmcgbGF5ZXIgZm9yIGhvc3RpbmcgY2xvdWQgcmVzb3VyY2VzLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IE5ldHdvcmtQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG5cbiAgICBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICAgIG5hbWU6IHByb3BzLm5hbWUgfHwgYHZuZXQtJHt0aGlzLm5vZGUucGF0aC5zcGxpdChcIi9cIilbMF19YCxcbiAgICAgIGxvY2F0aW9uOiBwcm9wcy5sb2NhdGlvbiB8fCBcImVhc3R1c1wiLFxuICAgICAgYWRkcmVzc1NwYWNlOiBwcm9wcy5hZGRyZXNzU3BhY2UgfHwgW1wiMTAuMC4wLjAvMTZcIl0sXG4gICAgICBzdWJuZXRzOiBwcm9wcy5zdWJuZXRzIHx8IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiZGVmYXVsdFwiLFxuICAgICAgICAgIGFkZHJlc3NQcmVmaXhlczogW1wiMTAuMS4wLjAvMjRcIl0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG5cbiAgICAvLyBDcmVhdGUgYSB2aXJ0dWFsIG5ldHdvcmtcbiAgICBjb25zdCB2bmV0ID0gbmV3IFZpcnR1YWxOZXR3b3JrKHRoaXMsIFwidm5ldFwiLCB7XG4gICAgICAuLi5kZWZhdWx0cyxcbiAgICAgIHJlc291cmNlR3JvdXBOYW1lOiBwcm9wcy5yZXNvdXJjZUdyb3VwLm5hbWUsXG4gICAgfSk7XG5cbiAgICB0aGlzLm5hbWUgPSB2bmV0Lm5hbWU7XG4gICAgdGhpcy5pZCA9IHZuZXQuaWQ7XG4gICAgdGhpcy5yZXNvdXJjZUdyb3VwID0gcHJvcHMucmVzb3VyY2VHcm91cDtcbiAgICB0aGlzLnZpcnR1YWxOZXR3b3JrID0gdm5ldDtcblxuICAgIC8vIENyZWF0ZSBzdWJuZXRzIHdpdGhpbiB0aGUgdmlydHVhbCBuZXR3b3JrXG4gICAgZm9yIChjb25zdCBzdWJuZXRDb25maWcgb2YgZGVmYXVsdHMuc3VibmV0cykge1xuICAgICAgY29uc3Qgc3VibmV0ID0gbmV3IFN1Ym5ldCh0aGlzLCBzdWJuZXRDb25maWcubmFtZSwge1xuICAgICAgICBuYW1lOiBzdWJuZXRDb25maWcubmFtZSxcbiAgICAgICAgcmVzb3VyY2VHcm91cE5hbWU6IHByb3BzLnJlc291cmNlR3JvdXAubmFtZSxcbiAgICAgICAgdmlydHVhbE5ldHdvcmtOYW1lOiB2bmV0Lm5hbWUsXG4gICAgICAgIGFkZHJlc3NQcmVmaXhlczogc3VibmV0Q29uZmlnLmFkZHJlc3NQcmVmaXhlcyxcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnN1Ym5ldHNbc3VibmV0Q29uZmlnLm5hbWVdID0gc3VibmV0OyAvLyBQb3B1bGF0ZSB0aGUgc3VibmV0c01hcFxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBFc3RhYmxpc2hlcyBhIHBlZXJpbmcgY29ubmVjdGlvbiBiZXR3ZWVuIHRoaXMgdmlydHVhbCBuZXR3b3JrIGFuZCBhbm90aGVyIHJlbW90ZSB2aXJ0dWFsIG5ldHdvcmsuXG4gICAqXG4gICAqIFRoaXMgbWV0aG9kIGNvbmZpZ3VyZXMgYSB0d28td2F5IHBlZXJpbmcgY29ubmVjdGlvbiwgYWxsb3dpbmcgcmVzb3VyY2VzIGluIGJvdGggdmlydHVhbCBuZXR3b3JrcyB0byBjb21tdW5pY2F0ZVxuICAgKiBzZWFtbGVzc2x5LiBJdCBzZXRzIHVwIHBlZXJpbmcgc2V0dGluZ3Mgc3VjaCBhcyBuZXR3b3JrIGFjY2VzcywgdHJhZmZpYyBmb3J3YXJkaW5nLCBhbmQgZ2F0ZXdheSB0cmFuc2l0IGJhc2VkIG9uXG4gICAqIHByb3ZpZGVkIGNvbmZpZ3VyYXRpb25zLlxuICAgKlxuICAgKiBAcGFyYW0gcmVtb3RlVmlydHVhbE5ldHdvcmsgLSBUaGUgcmVtb3RlIHZpcnR1YWwgbmV0d29yayB3aXRoIHdoaWNoIHRvIGVzdGFibGlzaCBhIHBlZXJpbmcgY29ubmVjdGlvbi5cbiAgICogQHBhcmFtIGxvY2FsUGVlclNldHRpbmdzIC0gT3B0aW9uYWwgc2V0dGluZ3MgYXBwbGllZCBmcm9tIHRoaXMgdmlydHVhbCBuZXR3b3JrIHRvIHRoZSByZW1vdGUgdmlydHVhbCBuZXR3b3JrLlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29udHJvbHMgYXNwZWN0cyBsaWtlIHZpcnR1YWwgbmV0d29yayBhY2Nlc3MsIHRyYWZmaWMgZm9yd2FyZGluZywgYW5kIHVzZSBvZiBnYXRld2F5cy5cbiAgICogQHBhcmFtIHJlbW90ZVBlZXJTZXR0aW5ncyAtIE9wdGlvbmFsIHNldHRpbmdzIGFwcGxpZWQgZnJvbSB0aGUgcmVtb3RlIHZpcnR1YWwgbmV0d29yayB0byB0aGlzIHZpcnR1YWwgbmV0d29yay5cbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFsbG93cyBjdXN0b21pemF0aW9uIG9mIGhvdyB0aGUgcmVtb3RlIG5ldHdvcmsgaW50ZXJhY3RzIHdpdGggdGhpcyBvbmUuXG4gICAqXG4gICAqIEV4YW1wbGUgdXNhZ2U6XG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogLy8gQXNzdW1pbmcgJ3RoaXMnIGlzIGEgcmVmZXJlbmNlIHRvIGEgbG9jYWwgdmlydHVhbCBuZXR3b3JrIGluc3RhbmNlLlxuICAgKiBjb25zdCBwYXJ0bmVyVk5ldCA9IG5ldyBOZXR3b3JrKHRoaXMsICdQYXJ0bmVyVk5ldCcsIHsgLi4uIH0pO1xuICAgKiB0aGlzLmFkZFZuZXRQZWVyaW5nKHBhcnRuZXJWTmV0LCB7XG4gICAqICAgYWxsb3dWaXJ0dWFsTmV0d29ya0FjY2VzczogdHJ1ZSxcbiAgICogICBhbGxvd0ZvcndhcmRlZFRyYWZmaWM6IGZhbHNlLFxuICAgKiAgIGFsbG93R2F0ZXdheVRyYW5zaXQ6IHRydWUsXG4gICAqICAgdXNlUmVtb3RlR2F0ZXdheXM6IGZhbHNlXG4gICAqIH0sIHtcbiAgICogICBhbGxvd1ZpcnR1YWxOZXR3b3JrQWNjZXNzOiB0cnVlLFxuICAgKiAgIGFsbG93Rm9yd2FyZGVkVHJhZmZpYzogdHJ1ZSxcbiAgICogICBhbGxvd0dhdGV3YXlUcmFuc2l0OiBmYWxzZSxcbiAgICogICB1c2VSZW1vdGVHYXRld2F5czogZmFsc2VcbiAgICogfSk7XG4gICAqIGBgYFxuICAgKiBUaGlzIG1ldGhvZCBpbnZva2VzIHRoZSBgUGVlcmAgY2xhc3MgdG8gY3JlYXRlIGEgcGVlcmluZyBiZXR3ZWVuICd0aGlzJyB2aXJ0dWFsIG5ldHdvcmsgYW5kICdwYXJ0bmVyVk5ldCcuXG4gICAqIFRoZSBzZXR0aW5ncyBjb250cm9sIHRyYWZmaWMgYmVoYXZpb3IgYW5kIGFjY2VzcyBwZXJtaXNzaW9ucyBpbiBib3RoIGRpcmVjdGlvbnMgb2YgdGhlIHBlZXJpbmcuXG4gICAqL1xuICBwdWJsaWMgYWRkVm5ldFBlZXJpbmcoXG4gICAgcmVtb3RlVmlydHVhbE5ldHdvcms6IE5ldHdvcmssXG4gICAgbG9jYWxQZWVyU2V0dGluZ3M/OiBQZWVyU2V0dGluZ3MsXG4gICAgcmVtb3RlUGVlclNldHRpbmdzPzogUGVlclNldHRpbmdzLFxuICApIHtcbiAgICBjb25zdCB2bmV0UGVlclByb3BzOiBQZWVyUHJvcHMgPSB7XG4gICAgICB2aXJ0dWFsTmV0d29yazogdGhpcyxcbiAgICAgIHJlbW90ZVZpcnR1YWxOZXR3b3JrOiByZW1vdGVWaXJ0dWFsTmV0d29yayxcbiAgICAgIGxvY2FsVG9SZW1vdGVTZXR0aW5nczogbG9jYWxQZWVyU2V0dGluZ3MsXG4gICAgICByZW1vdGVUb0xvY2FsU2V0dGluZ3M6IHJlbW90ZVBlZXJTZXR0aW5ncyxcbiAgICB9O1xuICAgIG5ldyBQZWVyKHRoaXMsIHJlbW90ZVZpcnR1YWxOZXR3b3JrLmlkLCB2bmV0UGVlclByb3BzKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,90 @@
1
+ import { Construct } from "constructs";
2
+ import { Network } from "./network";
3
+ /**
4
+ * Interface defining the settings for peer connections.
5
+ */
6
+ export interface PeerSettings {
7
+ /**
8
+ * Indicates whether virtual network access is allowed.
9
+ * @default true
10
+ */
11
+ readonly allowVirtualNetworkAccess?: boolean;
12
+ /**
13
+ * Indicates whether forwarded traffic is allowed.
14
+ * @default false
15
+ */
16
+ readonly allowForwardedTraffic?: boolean;
17
+ /**
18
+ * Indicates whether gateway transit is allowed.
19
+ * @default false
20
+ */
21
+ readonly allowGatewayTransit?: boolean;
22
+ /**
23
+ * Indicates whether to use remote gateways.
24
+ * @default false
25
+ */
26
+ readonly useRemoteGateways?: boolean;
27
+ }
28
+ /**
29
+ * Interface defining the properties for virtual network peerings.
30
+ */
31
+ export interface PeerProps {
32
+ /**
33
+ * ID of the local virtual network.
34
+ */
35
+ readonly virtualNetwork: Network;
36
+ /**
37
+ * ID of the remote virtual network.
38
+ */
39
+ readonly remoteVirtualNetwork: Network;
40
+ /**
41
+ * Settings applied from the local virtual network to the remote virtual network.
42
+ */
43
+ readonly localToRemoteSettings: PeerSettings | undefined;
44
+ /**
45
+ * Settings applied from the remote virtual network to the local virtual network.
46
+ */
47
+ readonly remoteToLocalSettings: PeerSettings | undefined;
48
+ }
49
+ export declare class Peer extends Construct {
50
+ /**
51
+ * Represents a Virtual Network Peering within Microsoft Azure.
52
+ *
53
+ * This class facilitates the peering between two virtual networks, allowing resources in either network to communicate
54
+ * with each other as if they were within the same network. It supports advanced configurations such as traffic forwarding,
55
+ * gateway transit, and access settings. This peering does not require a VPN gateway and offers low-latency, high-bandwidth
56
+ * connections between resources in different virtual networks.
57
+ *
58
+ * @param scope - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) application.
59
+ * @param name - The unique name for this instance of the network peering.
60
+ * @param props - Configuration properties for the network peering, derived from the PeerProps interface. These include:
61
+ * - `virtualNetwork`: The local virtual network object.
62
+ * - `remoteVirtualNetwork`: The remote virtual network object.
63
+ * - `localToRemoteSettings`: Configuration settings applied from the local virtual network to the remote virtual network.
64
+ * - `remoteToLocalSettings`: Configuration settings applied from the remote virtual network to the local virtual network.
65
+ *
66
+ * Example usage:
67
+ * ```typescript
68
+ * const vnetPeering = new Peer(this, 'VNetPeering', {
69
+ * virtualNetwork: myVNet,
70
+ * remoteVirtualNetwork: partnerVNet,
71
+ * localToRemoteSettings: {
72
+ * allowVirtualNetworkAccess: true,
73
+ * allowForwardedTraffic: false,
74
+ * allowGatewayTransit: false,
75
+ * useRemoteGateways: false
76
+ * },
77
+ * remoteToLocalSettings: {
78
+ * allowVirtualNetworkAccess: true,
79
+ * allowForwardedTraffic: true,
80
+ * allowGatewayTransit: false,
81
+ * useRemoteGateways: false
82
+ * }
83
+ * });
84
+ * ```
85
+ * This class initializes a VNet peering with the specified configurations, enabling direct connectivity between
86
+ * the specified virtual networks. It manages the creation and configuration of network peering settings, ensuring
87
+ * that both VNets are appropriately linked and configured according to the defined properties.
88
+ */
89
+ constructor(scope: Construct, name: string, props: PeerProps);
90
+ }
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Peer = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const virtual_network_peering_1 = require("@cdktf/provider-azurerm/lib/virtual-network-peering");
7
+ const constructs_1 = require("constructs");
8
+ class Peer extends constructs_1.Construct {
9
+ /**
10
+ * Represents a Virtual Network Peering within Microsoft Azure.
11
+ *
12
+ * This class facilitates the peering between two virtual networks, allowing resources in either network to communicate
13
+ * with each other as if they were within the same network. It supports advanced configurations such as traffic forwarding,
14
+ * gateway transit, and access settings. This peering does not require a VPN gateway and offers low-latency, high-bandwidth
15
+ * connections between resources in different virtual networks.
16
+ *
17
+ * @param scope - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) application.
18
+ * @param name - The unique name for this instance of the network peering.
19
+ * @param props - Configuration properties for the network peering, derived from the PeerProps interface. These include:
20
+ * - `virtualNetwork`: The local virtual network object.
21
+ * - `remoteVirtualNetwork`: The remote virtual network object.
22
+ * - `localToRemoteSettings`: Configuration settings applied from the local virtual network to the remote virtual network.
23
+ * - `remoteToLocalSettings`: Configuration settings applied from the remote virtual network to the local virtual network.
24
+ *
25
+ * Example usage:
26
+ * ```typescript
27
+ * const vnetPeering = new Peer(this, 'VNetPeering', {
28
+ * virtualNetwork: myVNet,
29
+ * remoteVirtualNetwork: partnerVNet,
30
+ * localToRemoteSettings: {
31
+ * allowVirtualNetworkAccess: true,
32
+ * allowForwardedTraffic: false,
33
+ * allowGatewayTransit: false,
34
+ * useRemoteGateways: false
35
+ * },
36
+ * remoteToLocalSettings: {
37
+ * allowVirtualNetworkAccess: true,
38
+ * allowForwardedTraffic: true,
39
+ * allowGatewayTransit: false,
40
+ * useRemoteGateways: false
41
+ * }
42
+ * });
43
+ * ```
44
+ * This class initializes a VNet peering with the specified configurations, enabling direct connectivity between
45
+ * the specified virtual networks. It manages the creation and configuration of network peering settings, ensuring
46
+ * that both VNets are appropriately linked and configured according to the defined properties.
47
+ */
48
+ constructor(scope, name, props) {
49
+ super(scope, name);
50
+ const localtoRemotePeerName = props.virtualNetwork.name + "to" + props.remoteVirtualNetwork.name;
51
+ new virtual_network_peering_1.VirtualNetworkPeering(this, "VNetPeerLocaltoRemote", {
52
+ name: localtoRemotePeerName,
53
+ resourceGroupName: props.virtualNetwork.resourceGroup.name,
54
+ virtualNetworkName: props.virtualNetwork.name,
55
+ remoteVirtualNetworkId: props.remoteVirtualNetwork.id,
56
+ ...props.localToRemoteSettings,
57
+ });
58
+ const remoteToLocalPeerName = props.remoteVirtualNetwork.name + "to" + props.virtualNetwork.name;
59
+ new virtual_network_peering_1.VirtualNetworkPeering(this, "VNetPeerRemotetoLocal", {
60
+ name: remoteToLocalPeerName,
61
+ resourceGroupName: props.remoteVirtualNetwork.resourceGroup.name,
62
+ virtualNetworkName: props.remoteVirtualNetwork.name,
63
+ remoteVirtualNetworkId: props.virtualNetwork.id,
64
+ ...props.remoteToLocalSettings,
65
+ });
66
+ }
67
+ }
68
+ exports.Peer = Peer;
69
+ _a = JSII_RTTI_SYMBOL_1;
70
+ Peer[_a] = { fqn: "@microsoft/terraform-cdk-constructs.azure_virtualnetwork.Peer", version: "0.0.3-pre.10" };
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVlcmluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS12aXJ0dWFsbmV0d29yay9saWIvcGVlcmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlHQUE0RjtBQUM1RiwyQ0FBdUM7QUF5RHZDLE1BQWEsSUFBSyxTQUFRLHNCQUFTO0lBQ2pDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXNDRztJQUNILFlBQVksS0FBZ0IsRUFBRSxJQUFZLEVBQUUsS0FBZ0I7UUFDMUQsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVuQixNQUFNLHFCQUFxQixHQUN6QixLQUFLLENBQUMsY0FBYyxDQUFDLElBQUksR0FBRyxJQUFJLEdBQUcsS0FBSyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQztRQUVyRSxJQUFJLCtDQUFxQixDQUFDLElBQUksRUFBRSx1QkFBdUIsRUFBRTtZQUN2RCxJQUFJLEVBQUUscUJBQXFCO1lBQzNCLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLElBQUk7WUFDMUQsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJO1lBQzdDLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFO1lBQ3JELEdBQUcsS0FBSyxDQUFDLHFCQUFxQjtTQUMvQixDQUFDLENBQUM7UUFFSCxNQUFNLHFCQUFxQixHQUN6QixLQUFLLENBQUMsb0JBQW9CLENBQUMsSUFBSSxHQUFHLElBQUksR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztRQUVyRSxJQUFJLCtDQUFxQixDQUFDLElBQUksRUFBRSx1QkFBdUIsRUFBRTtZQUN2RCxJQUFJLEVBQUUscUJBQXFCO1lBQzNCLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsSUFBSTtZQUNoRSxrQkFBa0IsRUFBRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsSUFBSTtZQUNuRCxzQkFBc0IsRUFBRSxLQUFLLENBQUMsY0FBYyxDQUFDLEVBQUU7WUFDL0MsR0FBRyxLQUFLLENBQUMscUJBQXFCO1NBQy9CLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBaEVILG9CQWlFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZpcnR1YWxOZXR3b3JrUGVlcmluZyB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvdmlydHVhbC1uZXR3b3JrLXBlZXJpbmdcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBOZXR3b3JrIH0gZnJvbSBcIi4vbmV0d29ya1wiO1xuXG4vKipcbiAqIEludGVyZmFjZSBkZWZpbmluZyB0aGUgc2V0dGluZ3MgZm9yIHBlZXIgY29ubmVjdGlvbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGVlclNldHRpbmdzIHtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHZpcnR1YWwgbmV0d29yayBhY2Nlc3MgaXMgYWxsb3dlZC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dWaXJ0dWFsTmV0d29ya0FjY2Vzcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIGZvcndhcmRlZCB0cmFmZmljIGlzIGFsbG93ZWQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBhbGxvd0ZvcndhcmRlZFRyYWZmaWM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciBnYXRld2F5IHRyYW5zaXQgaXMgYWxsb3dlZC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGFsbG93R2F0ZXdheVRyYW5zaXQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byB1c2UgcmVtb3RlIGdhdGV3YXlzLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgdXNlUmVtb3RlR2F0ZXdheXM/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBkZWZpbmluZyB0aGUgcHJvcGVydGllcyBmb3IgdmlydHVhbCBuZXR3b3JrIHBlZXJpbmdzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBlZXJQcm9wcyB7XG4gIC8qKlxuICAgKiBJRCBvZiB0aGUgbG9jYWwgdmlydHVhbCBuZXR3b3JrLlxuICAgKi9cbiAgcmVhZG9ubHkgdmlydHVhbE5ldHdvcms6IE5ldHdvcms7XG5cbiAgLyoqXG4gICAqIElEIG9mIHRoZSByZW1vdGUgdmlydHVhbCBuZXR3b3JrLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVtb3RlVmlydHVhbE5ldHdvcms6IE5ldHdvcms7XG5cbiAgLyoqXG4gICAqIFNldHRpbmdzIGFwcGxpZWQgZnJvbSB0aGUgbG9jYWwgdmlydHVhbCBuZXR3b3JrIHRvIHRoZSByZW1vdGUgdmlydHVhbCBuZXR3b3JrLlxuICAgKi9cbiAgcmVhZG9ubHkgbG9jYWxUb1JlbW90ZVNldHRpbmdzOiBQZWVyU2V0dGluZ3MgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFNldHRpbmdzIGFwcGxpZWQgZnJvbSB0aGUgcmVtb3RlIHZpcnR1YWwgbmV0d29yayB0byB0aGUgbG9jYWwgdmlydHVhbCBuZXR3b3JrLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVtb3RlVG9Mb2NhbFNldHRpbmdzOiBQZWVyU2V0dGluZ3MgfCB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBjbGFzcyBQZWVyIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIFJlcHJlc2VudHMgYSBWaXJ0dWFsIE5ldHdvcmsgUGVlcmluZyB3aXRoaW4gTWljcm9zb2Z0IEF6dXJlLlxuICAgKlxuICAgKiBUaGlzIGNsYXNzIGZhY2lsaXRhdGVzIHRoZSBwZWVyaW5nIGJldHdlZW4gdHdvIHZpcnR1YWwgbmV0d29ya3MsIGFsbG93aW5nIHJlc291cmNlcyBpbiBlaXRoZXIgbmV0d29yayB0byBjb21tdW5pY2F0ZVxuICAgKiB3aXRoIGVhY2ggb3RoZXIgYXMgaWYgdGhleSB3ZXJlIHdpdGhpbiB0aGUgc2FtZSBuZXR3b3JrLiBJdCBzdXBwb3J0cyBhZHZhbmNlZCBjb25maWd1cmF0aW9ucyBzdWNoIGFzIHRyYWZmaWMgZm9yd2FyZGluZyxcbiAgICogZ2F0ZXdheSB0cmFuc2l0LCBhbmQgYWNjZXNzIHNldHRpbmdzLiBUaGlzIHBlZXJpbmcgZG9lcyBub3QgcmVxdWlyZSBhIFZQTiBnYXRld2F5IGFuZCBvZmZlcnMgbG93LWxhdGVuY3ksIGhpZ2gtYmFuZHdpZHRoXG4gICAqIGNvbm5lY3Rpb25zIGJldHdlZW4gcmVzb3VyY2VzIGluIGRpZmZlcmVudCB2aXJ0dWFsIG5ldHdvcmtzLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgLSBUaGUgc2NvcGUgaW4gd2hpY2ggdG8gZGVmaW5lIHRoaXMgY29uc3RydWN0LCB0eXBpY2FsbHkgcmVwcmVzZW50aW5nIHRoZSBDbG91ZCBEZXZlbG9wbWVudCBLaXQgKENESykgYXBwbGljYXRpb24uXG4gICAqIEBwYXJhbSBuYW1lIC0gVGhlIHVuaXF1ZSBuYW1lIGZvciB0aGlzIGluc3RhbmNlIG9mIHRoZSBuZXR3b3JrIHBlZXJpbmcuXG4gICAqIEBwYXJhbSBwcm9wcyAtIENvbmZpZ3VyYXRpb24gcHJvcGVydGllcyBmb3IgdGhlIG5ldHdvcmsgcGVlcmluZywgZGVyaXZlZCBmcm9tIHRoZSBQZWVyUHJvcHMgaW50ZXJmYWNlLiBUaGVzZSBpbmNsdWRlOlxuICAgKiAgICAgICAgICAgICAgICAtIGB2aXJ0dWFsTmV0d29ya2A6IFRoZSBsb2NhbCB2aXJ0dWFsIG5ldHdvcmsgb2JqZWN0LlxuICAgKiAgICAgICAgICAgICAgICAtIGByZW1vdGVWaXJ0dWFsTmV0d29ya2A6IFRoZSByZW1vdGUgdmlydHVhbCBuZXR3b3JrIG9iamVjdC5cbiAgICogICAgICAgICAgICAgICAgLSBgbG9jYWxUb1JlbW90ZVNldHRpbmdzYDogQ29uZmlndXJhdGlvbiBzZXR0aW5ncyBhcHBsaWVkIGZyb20gdGhlIGxvY2FsIHZpcnR1YWwgbmV0d29yayB0byB0aGUgcmVtb3RlIHZpcnR1YWwgbmV0d29yay5cbiAgICogICAgICAgICAgICAgICAgLSBgcmVtb3RlVG9Mb2NhbFNldHRpbmdzYDogQ29uZmlndXJhdGlvbiBzZXR0aW5ncyBhcHBsaWVkIGZyb20gdGhlIHJlbW90ZSB2aXJ0dWFsIG5ldHdvcmsgdG8gdGhlIGxvY2FsIHZpcnR1YWwgbmV0d29yay5cbiAgICpcbiAgICogRXhhbXBsZSB1c2FnZTpcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBjb25zdCB2bmV0UGVlcmluZyA9IG5ldyBQZWVyKHRoaXMsICdWTmV0UGVlcmluZycsIHtcbiAgICogICB2aXJ0dWFsTmV0d29yazogbXlWTmV0LFxuICAgKiAgIHJlbW90ZVZpcnR1YWxOZXR3b3JrOiBwYXJ0bmVyVk5ldCxcbiAgICogICBsb2NhbFRvUmVtb3RlU2V0dGluZ3M6IHtcbiAgICogICAgIGFsbG93VmlydHVhbE5ldHdvcmtBY2Nlc3M6IHRydWUsXG4gICAqICAgICBhbGxvd0ZvcndhcmRlZFRyYWZmaWM6IGZhbHNlLFxuICAgKiAgICAgYWxsb3dHYXRld2F5VHJhbnNpdDogZmFsc2UsXG4gICAqICAgICB1c2VSZW1vdGVHYXRld2F5czogZmFsc2VcbiAgICogICB9LFxuICAgKiAgIHJlbW90ZVRvTG9jYWxTZXR0aW5nczoge1xuICAgKiAgICAgYWxsb3dWaXJ0dWFsTmV0d29ya0FjY2VzczogdHJ1ZSxcbiAgICogICAgIGFsbG93Rm9yd2FyZGVkVHJhZmZpYzogdHJ1ZSxcbiAgICogICAgIGFsbG93R2F0ZXdheVRyYW5zaXQ6IGZhbHNlLFxuICAgKiAgICAgdXNlUmVtb3RlR2F0ZXdheXM6IGZhbHNlXG4gICAqICAgfVxuICAgKiB9KTtcbiAgICogYGBgXG4gICAqIFRoaXMgY2xhc3MgaW5pdGlhbGl6ZXMgYSBWTmV0IHBlZXJpbmcgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbmZpZ3VyYXRpb25zLCBlbmFibGluZyBkaXJlY3QgY29ubmVjdGl2aXR5IGJldHdlZW5cbiAgICogdGhlIHNwZWNpZmllZCB2aXJ0dWFsIG5ldHdvcmtzLiBJdCBtYW5hZ2VzIHRoZSBjcmVhdGlvbiBhbmQgY29uZmlndXJhdGlvbiBvZiBuZXR3b3JrIHBlZXJpbmcgc2V0dGluZ3MsIGVuc3VyaW5nXG4gICAqIHRoYXQgYm90aCBWTmV0cyBhcmUgYXBwcm9wcmlhdGVseSBsaW5rZWQgYW5kIGNvbmZpZ3VyZWQgYWNjb3JkaW5nIHRvIHRoZSBkZWZpbmVkIHByb3BlcnRpZXMuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBuYW1lOiBzdHJpbmcsIHByb3BzOiBQZWVyUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgbmFtZSk7XG5cbiAgICBjb25zdCBsb2NhbHRvUmVtb3RlUGVlck5hbWUgPVxuICAgICAgcHJvcHMudmlydHVhbE5ldHdvcmsubmFtZSArIFwidG9cIiArIHByb3BzLnJlbW90ZVZpcnR1YWxOZXR3b3JrLm5hbWU7XG5cbiAgICBuZXcgVmlydHVhbE5ldHdvcmtQZWVyaW5nKHRoaXMsIFwiVk5ldFBlZXJMb2NhbHRvUmVtb3RlXCIsIHtcbiAgICAgIG5hbWU6IGxvY2FsdG9SZW1vdGVQZWVyTmFtZSxcbiAgICAgIHJlc291cmNlR3JvdXBOYW1lOiBwcm9wcy52aXJ0dWFsTmV0d29yay5yZXNvdXJjZUdyb3VwLm5hbWUsXG4gICAgICB2aXJ0dWFsTmV0d29ya05hbWU6IHByb3BzLnZpcnR1YWxOZXR3b3JrLm5hbWUsXG4gICAgICByZW1vdGVWaXJ0dWFsTmV0d29ya0lkOiBwcm9wcy5yZW1vdGVWaXJ0dWFsTmV0d29yay5pZCxcbiAgICAgIC4uLnByb3BzLmxvY2FsVG9SZW1vdGVTZXR0aW5ncyxcbiAgICB9KTtcblxuICAgIGNvbnN0IHJlbW90ZVRvTG9jYWxQZWVyTmFtZSA9XG4gICAgICBwcm9wcy5yZW1vdGVWaXJ0dWFsTmV0d29yay5uYW1lICsgXCJ0b1wiICsgcHJvcHMudmlydHVhbE5ldHdvcmsubmFtZTtcblxuICAgIG5ldyBWaXJ0dWFsTmV0d29ya1BlZXJpbmcodGhpcywgXCJWTmV0UGVlclJlbW90ZXRvTG9jYWxcIiwge1xuICAgICAgbmFtZTogcmVtb3RlVG9Mb2NhbFBlZXJOYW1lLFxuICAgICAgcmVzb3VyY2VHcm91cE5hbWU6IHByb3BzLnJlbW90ZVZpcnR1YWxOZXR3b3JrLnJlc291cmNlR3JvdXAubmFtZSxcbiAgICAgIHZpcnR1YWxOZXR3b3JrTmFtZTogcHJvcHMucmVtb3RlVmlydHVhbE5ldHdvcmsubmFtZSxcbiAgICAgIHJlbW90ZVZpcnR1YWxOZXR3b3JrSWQ6IHByb3BzLnZpcnR1YWxOZXR3b3JrLmlkLFxuICAgICAgLi4ucHJvcHMucmVtb3RlVG9Mb2NhbFNldHRpbmdzLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1 @@
1
+ import "cdktf/lib/testing/adapters/jest";