@microsoft/terraform-cdk-constructs 1.0.0 → 1.2.0

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 (385) hide show
  1. package/.jsii +60999 -15780
  2. package/API.md +54947 -10610
  3. package/README.md +72 -36
  4. package/docs/monitoring-guide.md +206 -0
  5. package/docs/testing.md +84 -1
  6. package/lib/azure-actiongroup/index.d.ts +11 -0
  7. package/lib/azure-actiongroup/index.js +28 -0
  8. package/lib/azure-actiongroup/lib/action-group-schemas.d.ts +24 -0
  9. package/lib/azure-actiongroup/lib/action-group-schemas.js +201 -0
  10. package/lib/azure-actiongroup/lib/action-group.d.ts +312 -0
  11. package/lib/azure-actiongroup/lib/action-group.js +201 -0
  12. package/lib/azure-actiongroup/lib/index.d.ts +5 -0
  13. package/lib/azure-actiongroup/lib/index.js +22 -0
  14. package/lib/azure-actiongroup/test/action-group.integ.d.ts +9 -0
  15. package/lib/azure-actiongroup/test/action-group.integ.js +79 -0
  16. package/lib/azure-actiongroup/test/action-group.spec.d.ts +8 -0
  17. package/lib/azure-actiongroup/test/action-group.spec.js +602 -0
  18. package/lib/azure-activitylogalert/index.d.ts +11 -0
  19. package/lib/azure-activitylogalert/index.js +28 -0
  20. package/lib/azure-activitylogalert/lib/activity-log-alert-schemas.d.ts +24 -0
  21. package/lib/azure-activitylogalert/lib/activity-log-alert-schemas.js +182 -0
  22. package/lib/azure-activitylogalert/lib/activity-log-alert.d.ts +236 -0
  23. package/lib/azure-activitylogalert/lib/activity-log-alert.js +212 -0
  24. package/lib/azure-activitylogalert/lib/index.d.ts +5 -0
  25. package/lib/azure-activitylogalert/lib/index.js +22 -0
  26. package/lib/azure-activitylogalert/test/activity-log-alert.integ.d.ts +9 -0
  27. package/lib/azure-activitylogalert/test/activity-log-alert.integ.js +98 -0
  28. package/lib/azure-activitylogalert/test/activity-log-alert.spec.d.ts +9 -0
  29. package/lib/azure-activitylogalert/test/activity-log-alert.spec.js +1101 -0
  30. package/lib/azure-aks/index.d.ts +9 -0
  31. package/lib/azure-aks/index.js +28 -0
  32. package/lib/azure-aks/lib/aks-cluster-schemas.d.ts +505 -0
  33. package/lib/azure-aks/lib/aks-cluster-schemas.js +572 -0
  34. package/lib/azure-aks/lib/aks-cluster.d.ts +395 -0
  35. package/lib/azure-aks/lib/aks-cluster.js +489 -0
  36. package/lib/azure-aks/lib/index.d.ts +11 -0
  37. package/lib/azure-aks/lib/index.js +38 -0
  38. package/lib/azure-aks/test/aks-cluster.integ.d.ts +9 -0
  39. package/lib/azure-aks/test/aks-cluster.integ.js +260 -0
  40. package/lib/azure-aks/test/aks-cluster.spec.d.ts +8 -0
  41. package/lib/azure-aks/test/aks-cluster.spec.js +1396 -0
  42. package/lib/azure-diagnosticsettings/index.d.ts +7 -0
  43. package/lib/azure-diagnosticsettings/index.js +24 -0
  44. package/lib/azure-diagnosticsettings/lib/diagnostic-settings-schemas.d.ts +50 -0
  45. package/lib/azure-diagnosticsettings/lib/diagnostic-settings-schemas.js +207 -0
  46. package/lib/azure-diagnosticsettings/lib/diagnostic-settings.d.ts +193 -0
  47. package/lib/azure-diagnosticsettings/lib/diagnostic-settings.js +200 -0
  48. package/lib/azure-diagnosticsettings/lib/index.d.ts +8 -0
  49. package/lib/azure-diagnosticsettings/lib/index.js +25 -0
  50. package/lib/azure-diagnosticsettings/test/diagnostic-settings.spec.d.ts +8 -0
  51. package/lib/azure-diagnosticsettings/test/diagnostic-settings.spec.js +432 -0
  52. package/lib/azure-metricalert/index.d.ts +11 -0
  53. package/lib/azure-metricalert/index.js +28 -0
  54. package/lib/azure-metricalert/lib/index.d.ts +5 -0
  55. package/lib/azure-metricalert/lib/index.js +22 -0
  56. package/lib/azure-metricalert/lib/metric-alert-schemas.d.ts +24 -0
  57. package/lib/azure-metricalert/lib/metric-alert-schemas.js +242 -0
  58. package/lib/azure-metricalert/lib/metric-alert.d.ts +344 -0
  59. package/lib/azure-metricalert/lib/metric-alert.js +252 -0
  60. package/lib/azure-metricalert/test/metric-alert.integ.d.ts +9 -0
  61. package/lib/azure-metricalert/test/metric-alert.integ.js +123 -0
  62. package/lib/azure-metricalert/test/metric-alert.spec.d.ts +9 -0
  63. package/lib/azure-metricalert/test/metric-alert.spec.js +1266 -0
  64. package/lib/azure-networkinterface/index.d.ts +4 -0
  65. package/lib/azure-networkinterface/index.js +21 -0
  66. package/lib/azure-networkinterface/lib/index.d.ts +6 -0
  67. package/lib/azure-networkinterface/lib/index.js +22 -0
  68. package/lib/azure-networkinterface/lib/network-interface-schemas.d.ts +32 -0
  69. package/lib/azure-networkinterface/lib/network-interface-schemas.js +222 -0
  70. package/lib/azure-networkinterface/lib/network-interface.d.ts +265 -0
  71. package/lib/azure-networkinterface/lib/network-interface.js +228 -0
  72. package/lib/azure-networkinterface/test/network-interface.integ.d.ts +9 -0
  73. package/lib/azure-networkinterface/test/network-interface.integ.js +102 -0
  74. package/lib/azure-networkinterface/test/network-interface.spec.d.ts +8 -0
  75. package/lib/azure-networkinterface/test/network-interface.spec.js +655 -0
  76. package/lib/azure-networksecuritygroup/index.d.ts +6 -0
  77. package/lib/azure-networksecuritygroup/index.js +23 -0
  78. package/lib/azure-networksecuritygroup/lib/index.d.ts +5 -0
  79. package/lib/azure-networksecuritygroup/lib/index.js +16 -0
  80. package/lib/azure-networksecuritygroup/lib/network-security-group-schemas.d.ts +32 -0
  81. package/lib/azure-networksecuritygroup/lib/network-security-group-schemas.js +198 -0
  82. package/lib/azure-networksecuritygroup/lib/network-security-group.d.ts +268 -0
  83. package/lib/azure-networksecuritygroup/lib/network-security-group.js +248 -0
  84. package/lib/azure-networksecuritygroup/test/network-security-group.integ.d.ts +9 -0
  85. package/lib/azure-networksecuritygroup/test/network-security-group.integ.js +151 -0
  86. package/lib/azure-networksecuritygroup/test/network-security-group.spec.d.ts +8 -0
  87. package/lib/azure-networksecuritygroup/test/network-security-group.spec.js +652 -0
  88. package/lib/azure-publicipaddress/index.d.ts +6 -0
  89. package/lib/azure-publicipaddress/index.js +23 -0
  90. package/lib/azure-publicipaddress/lib/index.d.ts +9 -0
  91. package/lib/azure-publicipaddress/lib/index.js +19 -0
  92. package/lib/azure-publicipaddress/lib/public-ip-address-schemas.d.ts +32 -0
  93. package/lib/azure-publicipaddress/lib/public-ip-address-schemas.js +227 -0
  94. package/lib/azure-publicipaddress/lib/public-ip-address.d.ts +256 -0
  95. package/lib/azure-publicipaddress/lib/public-ip-address.js +267 -0
  96. package/lib/azure-publicipaddress/test/public-ip-address.integ.d.ts +9 -0
  97. package/lib/azure-publicipaddress/test/public-ip-address.integ.js +75 -0
  98. package/lib/azure-publicipaddress/test/public-ip-address.spec.d.ts +15 -0
  99. package/lib/azure-publicipaddress/test/public-ip-address.spec.js +498 -0
  100. package/lib/azure-resourcegroup/lib/resource-group.js +1 -1
  101. package/lib/azure-resourcegroup/test/resource-group.integ.js +23 -11
  102. package/lib/azure-storageaccount/lib/storage-account-schemas.d.ts +98 -0
  103. package/lib/azure-storageaccount/lib/storage-account-schemas.js +1 -1
  104. package/lib/azure-storageaccount/lib/storage-account.d.ts +38 -1
  105. package/lib/azure-storageaccount/lib/storage-account.js +138 -2
  106. package/lib/azure-storageaccount/test/storage-account.integ.js +91 -12
  107. package/lib/azure-subnet/index.d.ts +4 -0
  108. package/lib/azure-subnet/index.js +21 -0
  109. package/lib/azure-subnet/lib/index.d.ts +5 -0
  110. package/lib/azure-subnet/lib/index.js +22 -0
  111. package/lib/azure-subnet/lib/subnet-schemas.d.ts +32 -0
  112. package/lib/azure-subnet/lib/subnet-schemas.js +237 -0
  113. package/lib/azure-subnet/lib/subnet.d.ts +285 -0
  114. package/lib/azure-subnet/lib/subnet.js +254 -0
  115. package/lib/azure-subnet/test/subnet.integ.d.ts +11 -0
  116. package/lib/azure-subnet/test/subnet.integ.js +80 -0
  117. package/lib/azure-subnet/test/subnet.spec.d.ts +8 -0
  118. package/lib/azure-subnet/test/subnet.spec.js +396 -0
  119. package/lib/azure-virtualmachine/index.d.ts +7 -0
  120. package/lib/azure-virtualmachine/index.js +24 -0
  121. package/lib/azure-virtualmachine/lib/index.d.ts +11 -0
  122. package/lib/azure-virtualmachine/lib/index.js +38 -0
  123. package/lib/azure-virtualmachine/lib/virtual-machine-schemas.d.ts +327 -0
  124. package/lib/azure-virtualmachine/lib/virtual-machine-schemas.js +544 -0
  125. package/lib/azure-virtualmachine/lib/virtual-machine.d.ts +377 -0
  126. package/lib/azure-virtualmachine/lib/virtual-machine.js +462 -0
  127. package/lib/azure-virtualmachine/test/virtual-machine.integ.d.ts +9 -0
  128. package/lib/azure-virtualmachine/test/virtual-machine.integ.js +220 -0
  129. package/lib/azure-virtualmachine/test/virtual-machine.spec.d.ts +9 -0
  130. package/lib/azure-virtualmachine/test/virtual-machine.spec.js +1032 -0
  131. package/lib/azure-virtualnetwork/index.d.ts +10 -0
  132. package/lib/azure-virtualnetwork/index.js +28 -0
  133. package/lib/azure-virtualnetwork/lib/index.d.ts +9 -0
  134. package/lib/azure-virtualnetwork/lib/index.js +22 -0
  135. package/lib/azure-virtualnetwork/lib/virtual-network-schemas.d.ts +32 -0
  136. package/lib/azure-virtualnetwork/lib/virtual-network-schemas.js +236 -0
  137. package/lib/azure-virtualnetwork/lib/virtual-network.d.ts +213 -0
  138. package/lib/azure-virtualnetwork/lib/virtual-network.js +245 -0
  139. package/lib/azure-virtualnetwork/test/virtual-network.integ.d.ts +9 -0
  140. package/lib/azure-virtualnetwork/test/virtual-network.integ.js +91 -0
  141. package/lib/azure-virtualnetwork/test/virtual-network.spec.d.ts +8 -0
  142. package/lib/azure-virtualnetwork/test/virtual-network.spec.js +398 -0
  143. package/lib/azure-vmss/index.d.ts +6 -0
  144. package/lib/azure-vmss/index.js +23 -0
  145. package/lib/azure-vmss/lib/index.d.ts +9 -0
  146. package/lib/azure-vmss/lib/index.js +39 -0
  147. package/lib/azure-vmss/lib/virtual-machine-scale-set.d.ts +258 -0
  148. package/lib/azure-vmss/lib/virtual-machine-scale-set.js +503 -0
  149. package/lib/azure-vmss/lib/vmss-schemas.d.ts +472 -0
  150. package/lib/azure-vmss/lib/vmss-schemas.js +444 -0
  151. package/lib/azure-vmss/test/virtual-machine-scale-set.integ.d.ts +15 -0
  152. package/lib/azure-vmss/test/virtual-machine-scale-set.integ.js +261 -0
  153. package/lib/azure-vmss/test/virtual-machine-scale-set.spec.d.ts +8 -0
  154. package/lib/azure-vmss/test/virtual-machine-scale-set.spec.js +997 -0
  155. package/lib/core-azure/lib/azapi/azapi-resource.d.ts +95 -27
  156. package/lib/core-azure/lib/azapi/azapi-resource.js +95 -58
  157. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.d.ts +33 -21
  158. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.js +69 -27
  159. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.d.ts +134 -120
  160. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.js +209 -59
  161. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-action/index.d.ts +141 -128
  162. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-action/index.js +183 -36
  163. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-id/index.d.ts +55 -43
  164. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-id/index.js +94 -26
  165. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-list/index.d.ts +129 -116
  166. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-list/index.js +155 -32
  167. package/lib/core-azure/lib/azapi/providers-azapi/data-plane-resource/index.d.ts +187 -174
  168. package/lib/core-azure/lib/azapi/providers-azapi/data-plane-resource/index.js +267 -48
  169. package/lib/core-azure/lib/azapi/providers-azapi/index.d.ts +10 -10
  170. package/lib/core-azure/lib/azapi/providers-azapi/index.js +1 -1
  171. package/lib/core-azure/lib/azapi/providers-azapi/lazy-index.d.ts +0 -0
  172. package/lib/core-azure/lib/azapi/providers-azapi/lazy-index.js +13 -0
  173. package/lib/core-azure/lib/azapi/providers-azapi/provider/index.d.ts +174 -162
  174. package/lib/core-azure/lib/azapi/providers-azapi/provider/index.js +274 -14
  175. package/lib/core-azure/lib/azapi/providers-azapi/resource/index.d.ts +239 -225
  176. package/lib/core-azure/lib/azapi/providers-azapi/resource/index.js +360 -76
  177. package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.d.ts +163 -150
  178. package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.js +221 -46
  179. package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.d.ts +162 -149
  180. package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.js +249 -50
  181. package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.js +4 -2
  182. package/lib/core-azure/lib/version-manager/api-version-manager.js +1 -1
  183. package/lib/core-azure/lib/version-manager/interfaces/version-interfaces.js +7 -7
  184. package/lib/index.d.ts +37 -0
  185. package/lib/index.js +40 -2
  186. package/lib/testing/index.d.ts +92 -2
  187. package/lib/testing/index.js +258 -18
  188. package/lib/testing/lib/cleanup.d.ts +229 -0
  189. package/lib/testing/lib/cleanup.js +331 -0
  190. package/lib/testing/lib/metadata.d.ts +151 -0
  191. package/lib/testing/lib/metadata.js +180 -0
  192. package/lib/testing/lib/naming.d.ts +96 -0
  193. package/lib/testing/lib/naming.js +336 -0
  194. package/node_modules/uuid/LICENSE.md +9 -0
  195. package/node_modules/uuid/README.md +510 -0
  196. package/node_modules/uuid/dist/cjs/index.d.ts +15 -0
  197. package/node_modules/uuid/dist/cjs/index.js +31 -0
  198. package/node_modules/uuid/dist/cjs/max.d.ts +2 -0
  199. package/node_modules/uuid/dist/cjs/max.js +3 -0
  200. package/node_modules/uuid/dist/cjs/md5.d.ts +4 -0
  201. package/node_modules/uuid/dist/cjs/md5.js +13 -0
  202. package/node_modules/uuid/dist/cjs/native.d.ts +6 -0
  203. package/node_modules/uuid/dist/cjs/native.js +4 -0
  204. package/node_modules/uuid/dist/cjs/nil.d.ts +2 -0
  205. package/node_modules/uuid/dist/cjs/nil.js +3 -0
  206. package/node_modules/uuid/dist/cjs/package.json +1 -0
  207. package/node_modules/uuid/dist/cjs/parse.d.ts +2 -0
  208. package/node_modules/uuid/dist/cjs/parse.js +11 -0
  209. package/node_modules/uuid/dist/cjs/regex.d.ts +2 -0
  210. package/node_modules/uuid/dist/cjs/regex.js +3 -0
  211. package/node_modules/uuid/dist/cjs/rng.d.ts +1 -0
  212. package/node_modules/uuid/dist/cjs/rng.js +13 -0
  213. package/node_modules/uuid/dist/cjs/sha1.d.ts +4 -0
  214. package/node_modules/uuid/dist/cjs/sha1.js +13 -0
  215. package/node_modules/uuid/dist/cjs/stringify.d.ts +3 -0
  216. package/node_modules/uuid/dist/cjs/stringify.js +39 -0
  217. package/node_modules/uuid/dist/cjs/types.d.ts +21 -0
  218. package/node_modules/uuid/dist/cjs/types.js +2 -0
  219. package/node_modules/uuid/dist/cjs/uuid-bin.d.ts +1 -0
  220. package/node_modules/uuid/dist/cjs/uuid-bin.js +72 -0
  221. package/node_modules/uuid/dist/cjs/v1.d.ts +11 -0
  222. package/node_modules/uuid/dist/cjs/v1.js +87 -0
  223. package/node_modules/uuid/dist/cjs/v1ToV6.d.ts +2 -0
  224. package/node_modules/uuid/dist/cjs/v1ToV6.js +13 -0
  225. package/node_modules/uuid/dist/cjs/v3.d.ts +9 -0
  226. package/node_modules/uuid/dist/cjs/v3.js +14 -0
  227. package/node_modules/uuid/dist/cjs/v35.d.ts +7 -0
  228. package/node_modules/uuid/dist/cjs/v35.js +41 -0
  229. package/node_modules/uuid/dist/cjs/v4.d.ts +4 -0
  230. package/node_modules/uuid/dist/cjs/v4.js +29 -0
  231. package/node_modules/uuid/dist/cjs/v5.d.ts +9 -0
  232. package/node_modules/uuid/dist/cjs/v5.js +14 -0
  233. package/node_modules/uuid/dist/cjs/v6.d.ts +4 -0
  234. package/node_modules/uuid/dist/cjs/v6.js +19 -0
  235. package/node_modules/uuid/dist/cjs/v6ToV1.d.ts +2 -0
  236. package/node_modules/uuid/dist/cjs/v6ToV1.js +13 -0
  237. package/node_modules/uuid/dist/cjs/v7.d.ts +9 -0
  238. package/node_modules/uuid/dist/cjs/v7.js +69 -0
  239. package/node_modules/uuid/dist/cjs/validate.d.ts +2 -0
  240. package/node_modules/uuid/dist/cjs/validate.js +7 -0
  241. package/node_modules/uuid/dist/cjs/version.d.ts +2 -0
  242. package/node_modules/uuid/dist/cjs/version.js +10 -0
  243. package/node_modules/uuid/dist/cjs-browser/index.d.ts +15 -0
  244. package/node_modules/uuid/dist/cjs-browser/index.js +31 -0
  245. package/node_modules/uuid/dist/cjs-browser/max.d.ts +2 -0
  246. package/node_modules/uuid/dist/cjs-browser/max.js +3 -0
  247. package/node_modules/uuid/dist/cjs-browser/md5.d.ts +2 -0
  248. package/node_modules/uuid/dist/cjs-browser/md5.js +137 -0
  249. package/node_modules/uuid/dist/cjs-browser/native.d.ts +4 -0
  250. package/node_modules/uuid/dist/cjs-browser/native.js +4 -0
  251. package/node_modules/uuid/dist/cjs-browser/nil.d.ts +2 -0
  252. package/node_modules/uuid/dist/cjs-browser/nil.js +3 -0
  253. package/node_modules/uuid/dist/cjs-browser/package.json +1 -0
  254. package/node_modules/uuid/dist/cjs-browser/parse.d.ts +2 -0
  255. package/node_modules/uuid/dist/cjs-browser/parse.js +11 -0
  256. package/node_modules/uuid/dist/cjs-browser/regex.d.ts +2 -0
  257. package/node_modules/uuid/dist/cjs-browser/regex.js +3 -0
  258. package/node_modules/uuid/dist/cjs-browser/rng.d.ts +1 -0
  259. package/node_modules/uuid/dist/cjs-browser/rng.js +14 -0
  260. package/node_modules/uuid/dist/cjs-browser/sha1.d.ts +2 -0
  261. package/node_modules/uuid/dist/cjs-browser/sha1.js +72 -0
  262. package/node_modules/uuid/dist/cjs-browser/stringify.d.ts +3 -0
  263. package/node_modules/uuid/dist/cjs-browser/stringify.js +39 -0
  264. package/node_modules/uuid/dist/cjs-browser/types.d.ts +21 -0
  265. package/node_modules/uuid/dist/cjs-browser/types.js +2 -0
  266. package/node_modules/uuid/dist/cjs-browser/uuid-bin.d.ts +1 -0
  267. package/node_modules/uuid/dist/cjs-browser/uuid-bin.js +72 -0
  268. package/node_modules/uuid/dist/cjs-browser/v1.d.ts +11 -0
  269. package/node_modules/uuid/dist/cjs-browser/v1.js +87 -0
  270. package/node_modules/uuid/dist/cjs-browser/v1ToV6.d.ts +2 -0
  271. package/node_modules/uuid/dist/cjs-browser/v1ToV6.js +13 -0
  272. package/node_modules/uuid/dist/cjs-browser/v3.d.ts +9 -0
  273. package/node_modules/uuid/dist/cjs-browser/v3.js +14 -0
  274. package/node_modules/uuid/dist/cjs-browser/v35.d.ts +7 -0
  275. package/node_modules/uuid/dist/cjs-browser/v35.js +41 -0
  276. package/node_modules/uuid/dist/cjs-browser/v4.d.ts +4 -0
  277. package/node_modules/uuid/dist/cjs-browser/v4.js +29 -0
  278. package/node_modules/uuid/dist/cjs-browser/v5.d.ts +9 -0
  279. package/node_modules/uuid/dist/cjs-browser/v5.js +14 -0
  280. package/node_modules/uuid/dist/cjs-browser/v6.d.ts +4 -0
  281. package/node_modules/uuid/dist/cjs-browser/v6.js +19 -0
  282. package/node_modules/uuid/dist/cjs-browser/v6ToV1.d.ts +2 -0
  283. package/node_modules/uuid/dist/cjs-browser/v6ToV1.js +13 -0
  284. package/node_modules/uuid/dist/cjs-browser/v7.d.ts +9 -0
  285. package/node_modules/uuid/dist/cjs-browser/v7.js +69 -0
  286. package/node_modules/uuid/dist/cjs-browser/validate.d.ts +2 -0
  287. package/node_modules/uuid/dist/cjs-browser/validate.js +7 -0
  288. package/node_modules/uuid/dist/cjs-browser/version.d.ts +2 -0
  289. package/node_modules/uuid/dist/cjs-browser/version.js +10 -0
  290. package/node_modules/uuid/dist/esm/bin/uuid +2 -0
  291. package/node_modules/uuid/dist/esm/index.d.ts +15 -0
  292. package/node_modules/uuid/dist/esm/index.js +14 -0
  293. package/node_modules/uuid/dist/esm/max.d.ts +2 -0
  294. package/node_modules/uuid/dist/esm/max.js +1 -0
  295. package/node_modules/uuid/dist/esm/md5.d.ts +4 -0
  296. package/node_modules/uuid/dist/esm/md5.js +11 -0
  297. package/node_modules/uuid/dist/esm/native.d.ts +6 -0
  298. package/node_modules/uuid/dist/esm/native.js +2 -0
  299. package/node_modules/uuid/dist/esm/nil.d.ts +2 -0
  300. package/node_modules/uuid/dist/esm/nil.js +1 -0
  301. package/node_modules/uuid/dist/esm/parse.d.ts +2 -0
  302. package/node_modules/uuid/dist/esm/parse.js +9 -0
  303. package/node_modules/uuid/dist/esm/regex.d.ts +2 -0
  304. package/node_modules/uuid/dist/esm/regex.js +1 -0
  305. package/node_modules/uuid/dist/esm/rng.d.ts +1 -0
  306. package/node_modules/uuid/dist/esm/rng.js +10 -0
  307. package/node_modules/uuid/dist/esm/sha1.d.ts +4 -0
  308. package/node_modules/uuid/dist/esm/sha1.js +11 -0
  309. package/node_modules/uuid/dist/esm/stringify.d.ts +3 -0
  310. package/node_modules/uuid/dist/esm/stringify.js +35 -0
  311. package/node_modules/uuid/dist/esm/types.d.ts +21 -0
  312. package/node_modules/uuid/dist/esm/types.js +1 -0
  313. package/node_modules/uuid/dist/esm/uuid-bin.d.ts +1 -0
  314. package/node_modules/uuid/dist/esm/uuid-bin.js +70 -0
  315. package/node_modules/uuid/dist/esm/v1.d.ts +11 -0
  316. package/node_modules/uuid/dist/esm/v1.js +83 -0
  317. package/node_modules/uuid/dist/esm/v1ToV6.d.ts +2 -0
  318. package/node_modules/uuid/dist/esm/v1ToV6.js +10 -0
  319. package/node_modules/uuid/dist/esm/v3.d.ts +9 -0
  320. package/node_modules/uuid/dist/esm/v3.js +9 -0
  321. package/node_modules/uuid/dist/esm/v35.d.ts +7 -0
  322. package/node_modules/uuid/dist/esm/v35.js +36 -0
  323. package/node_modules/uuid/dist/esm/v4.d.ts +4 -0
  324. package/node_modules/uuid/dist/esm/v4.js +27 -0
  325. package/node_modules/uuid/dist/esm/v5.d.ts +9 -0
  326. package/node_modules/uuid/dist/esm/v5.js +9 -0
  327. package/node_modules/uuid/dist/esm/v6.d.ts +4 -0
  328. package/node_modules/uuid/dist/esm/v6.js +17 -0
  329. package/node_modules/uuid/dist/esm/v6ToV1.d.ts +2 -0
  330. package/node_modules/uuid/dist/esm/v6ToV1.js +10 -0
  331. package/node_modules/uuid/dist/esm/v7.d.ts +9 -0
  332. package/node_modules/uuid/dist/esm/v7.js +65 -0
  333. package/node_modules/uuid/dist/esm/validate.d.ts +2 -0
  334. package/node_modules/uuid/dist/esm/validate.js +5 -0
  335. package/node_modules/uuid/dist/esm/version.d.ts +2 -0
  336. package/node_modules/uuid/dist/esm/version.js +8 -0
  337. package/node_modules/uuid/dist/esm-browser/index.d.ts +15 -0
  338. package/node_modules/uuid/dist/esm-browser/index.js +14 -0
  339. package/node_modules/uuid/dist/esm-browser/max.d.ts +2 -0
  340. package/node_modules/uuid/dist/esm-browser/max.js +1 -0
  341. package/node_modules/uuid/dist/esm-browser/md5.d.ts +2 -0
  342. package/node_modules/uuid/dist/esm-browser/md5.js +135 -0
  343. package/node_modules/uuid/dist/esm-browser/native.d.ts +4 -0
  344. package/node_modules/uuid/dist/esm-browser/native.js +2 -0
  345. package/node_modules/uuid/dist/esm-browser/nil.d.ts +2 -0
  346. package/node_modules/uuid/dist/esm-browser/nil.js +1 -0
  347. package/node_modules/uuid/dist/esm-browser/parse.d.ts +2 -0
  348. package/node_modules/uuid/dist/esm-browser/parse.js +9 -0
  349. package/node_modules/uuid/dist/esm-browser/regex.d.ts +2 -0
  350. package/node_modules/uuid/dist/esm-browser/regex.js +1 -0
  351. package/node_modules/uuid/dist/esm-browser/rng.d.ts +1 -0
  352. package/node_modules/uuid/dist/esm-browser/rng.js +11 -0
  353. package/node_modules/uuid/dist/esm-browser/sha1.d.ts +2 -0
  354. package/node_modules/uuid/dist/esm-browser/sha1.js +70 -0
  355. package/node_modules/uuid/dist/esm-browser/stringify.d.ts +3 -0
  356. package/node_modules/uuid/dist/esm-browser/stringify.js +35 -0
  357. package/node_modules/uuid/dist/esm-browser/types.d.ts +21 -0
  358. package/node_modules/uuid/dist/esm-browser/types.js +1 -0
  359. package/node_modules/uuid/dist/esm-browser/uuid-bin.d.ts +1 -0
  360. package/node_modules/uuid/dist/esm-browser/uuid-bin.js +70 -0
  361. package/node_modules/uuid/dist/esm-browser/v1.d.ts +11 -0
  362. package/node_modules/uuid/dist/esm-browser/v1.js +83 -0
  363. package/node_modules/uuid/dist/esm-browser/v1ToV6.d.ts +2 -0
  364. package/node_modules/uuid/dist/esm-browser/v1ToV6.js +10 -0
  365. package/node_modules/uuid/dist/esm-browser/v3.d.ts +9 -0
  366. package/node_modules/uuid/dist/esm-browser/v3.js +9 -0
  367. package/node_modules/uuid/dist/esm-browser/v35.d.ts +7 -0
  368. package/node_modules/uuid/dist/esm-browser/v35.js +36 -0
  369. package/node_modules/uuid/dist/esm-browser/v4.d.ts +4 -0
  370. package/node_modules/uuid/dist/esm-browser/v4.js +27 -0
  371. package/node_modules/uuid/dist/esm-browser/v5.d.ts +9 -0
  372. package/node_modules/uuid/dist/esm-browser/v5.js +9 -0
  373. package/node_modules/uuid/dist/esm-browser/v6.d.ts +4 -0
  374. package/node_modules/uuid/dist/esm-browser/v6.js +17 -0
  375. package/node_modules/uuid/dist/esm-browser/v6ToV1.d.ts +2 -0
  376. package/node_modules/uuid/dist/esm-browser/v6ToV1.js +10 -0
  377. package/node_modules/uuid/dist/esm-browser/v7.d.ts +9 -0
  378. package/node_modules/uuid/dist/esm-browser/v7.js +65 -0
  379. package/node_modules/uuid/dist/esm-browser/validate.d.ts +2 -0
  380. package/node_modules/uuid/dist/esm-browser/validate.js +5 -0
  381. package/node_modules/uuid/dist/esm-browser/version.d.ts +2 -0
  382. package/node_modules/uuid/dist/esm-browser/version.js +8 -0
  383. package/node_modules/uuid/package.json +132 -0
  384. package/package.json +17 -12
  385. package/scripts/cleanup-test-resources.ts +369 -0
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Azure Virtual Network construct for CDKTF
3
+ *
4
+ * This module provides a high-level construct for managing Azure Virtual Networks
5
+ * using the Terraform CDK. It supports multiple API versions with automatic version
6
+ * resolution and provides a clean, type-safe interface for VNet management.
7
+ *
8
+ * @packageDocumentation
9
+ */
10
+ export * from "./lib";
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ /**
3
+ * Azure Virtual Network construct for CDKTF
4
+ *
5
+ * This module provides a high-level construct for managing Azure Virtual Networks
6
+ * using the Terraform CDK. It supports multiple API versions with automatic version
7
+ * resolution and provides a clean, type-safe interface for VNet management.
8
+ *
9
+ * @packageDocumentation
10
+ */
11
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ var desc = Object.getOwnPropertyDescriptor(m, k);
14
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
15
+ desc = { enumerable: true, get: function() { return m[k]; } };
16
+ }
17
+ Object.defineProperty(o, k2, desc);
18
+ }) : (function(o, m, k, k2) {
19
+ if (k2 === undefined) k2 = k;
20
+ o[k2] = m[k];
21
+ }));
22
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
23
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ // Re-export all public APIs from lib
27
+ __exportStar(require("./lib"), exports);
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXp1cmUtdmlydHVhbG5ldHdvcmsvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7OztHQVFHOzs7Ozs7Ozs7Ozs7Ozs7O0FBRUgscUNBQXFDO0FBQ3JDLHdDQUFzQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQXp1cmUgVmlydHVhbCBOZXR3b3JrIGNvbnN0cnVjdCBmb3IgQ0RLVEZcbiAqXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBhIGhpZ2gtbGV2ZWwgY29uc3RydWN0IGZvciBtYW5hZ2luZyBBenVyZSBWaXJ0dWFsIE5ldHdvcmtzXG4gKiB1c2luZyB0aGUgVGVycmFmb3JtIENESy4gSXQgc3VwcG9ydHMgbXVsdGlwbGUgQVBJIHZlcnNpb25zIHdpdGggYXV0b21hdGljIHZlcnNpb25cbiAqIHJlc29sdXRpb24gYW5kIHByb3ZpZGVzIGEgY2xlYW4sIHR5cGUtc2FmZSBpbnRlcmZhY2UgZm9yIFZOZXQgbWFuYWdlbWVudC5cbiAqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqL1xuXG4vLyBSZS1leHBvcnQgYWxsIHB1YmxpYyBBUElzIGZyb20gbGliXG5leHBvcnQgKiBmcm9tIFwiLi9saWJcIjtcbiJdfQ==
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Internal exports for Azure Virtual Network module
3
+ *
4
+ * This file exports all the components of the Virtual Network module for
5
+ * internal use within the library. External consumers should import from
6
+ * the parent index.ts file.
7
+ */
8
+ export { VirtualNetwork, VirtualNetworkProps, VirtualNetworkAddressSpace, VirtualNetworkDhcpOptions, } from "./virtual-network";
9
+ export { VIRTUAL_NETWORK_TYPE, VIRTUAL_NETWORK_SCHEMA_2024_07_01, VIRTUAL_NETWORK_SCHEMA_2024_10_01, VIRTUAL_NETWORK_VERSION_2024_07_01, VIRTUAL_NETWORK_VERSION_2024_10_01, ALL_VIRTUAL_NETWORK_VERSIONS, } from "./virtual-network-schemas";
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ /**
3
+ * Internal exports for Azure Virtual Network module
4
+ *
5
+ * This file exports all the components of the Virtual Network module for
6
+ * internal use within the library. External consumers should import from
7
+ * the parent index.ts file.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.ALL_VIRTUAL_NETWORK_VERSIONS = exports.VIRTUAL_NETWORK_VERSION_2024_10_01 = exports.VIRTUAL_NETWORK_VERSION_2024_07_01 = exports.VIRTUAL_NETWORK_SCHEMA_2024_10_01 = exports.VIRTUAL_NETWORK_SCHEMA_2024_07_01 = exports.VIRTUAL_NETWORK_TYPE = exports.VirtualNetwork = void 0;
11
+ // Export the main Virtual Network class and its interfaces
12
+ var virtual_network_1 = require("./virtual-network");
13
+ Object.defineProperty(exports, "VirtualNetwork", { enumerable: true, get: function () { return virtual_network_1.VirtualNetwork; } });
14
+ // Export schema definitions and version configurations
15
+ var virtual_network_schemas_1 = require("./virtual-network-schemas");
16
+ Object.defineProperty(exports, "VIRTUAL_NETWORK_TYPE", { enumerable: true, get: function () { return virtual_network_schemas_1.VIRTUAL_NETWORK_TYPE; } });
17
+ Object.defineProperty(exports, "VIRTUAL_NETWORK_SCHEMA_2024_07_01", { enumerable: true, get: function () { return virtual_network_schemas_1.VIRTUAL_NETWORK_SCHEMA_2024_07_01; } });
18
+ Object.defineProperty(exports, "VIRTUAL_NETWORK_SCHEMA_2024_10_01", { enumerable: true, get: function () { return virtual_network_schemas_1.VIRTUAL_NETWORK_SCHEMA_2024_10_01; } });
19
+ Object.defineProperty(exports, "VIRTUAL_NETWORK_VERSION_2024_07_01", { enumerable: true, get: function () { return virtual_network_schemas_1.VIRTUAL_NETWORK_VERSION_2024_07_01; } });
20
+ Object.defineProperty(exports, "VIRTUAL_NETWORK_VERSION_2024_10_01", { enumerable: true, get: function () { return virtual_network_schemas_1.VIRTUAL_NETWORK_VERSION_2024_10_01; } });
21
+ Object.defineProperty(exports, "ALL_VIRTUAL_NETWORK_VERSIONS", { enumerable: true, get: function () { return virtual_network_schemas_1.ALL_VIRTUAL_NETWORK_VERSIONS; } });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtdmlydHVhbG5ldHdvcmsvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7OztBQUVILDJEQUEyRDtBQUMzRCxxREFLMkI7QUFKekIsaUhBQUEsY0FBYyxPQUFBO0FBTWhCLHVEQUF1RDtBQUN2RCxxRUFPbUM7QUFOakMsK0hBQUEsb0JBQW9CLE9BQUE7QUFDcEIsNElBQUEsaUNBQWlDLE9BQUE7QUFDakMsNElBQUEsaUNBQWlDLE9BQUE7QUFDakMsNklBQUEsa0NBQWtDLE9BQUE7QUFDbEMsNklBQUEsa0NBQWtDLE9BQUE7QUFDbEMsdUlBQUEsNEJBQTRCLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEludGVybmFsIGV4cG9ydHMgZm9yIEF6dXJlIFZpcnR1YWwgTmV0d29yayBtb2R1bGVcbiAqXG4gKiBUaGlzIGZpbGUgZXhwb3J0cyBhbGwgdGhlIGNvbXBvbmVudHMgb2YgdGhlIFZpcnR1YWwgTmV0d29yayBtb2R1bGUgZm9yXG4gKiBpbnRlcm5hbCB1c2Ugd2l0aGluIHRoZSBsaWJyYXJ5LiBFeHRlcm5hbCBjb25zdW1lcnMgc2hvdWxkIGltcG9ydCBmcm9tXG4gKiB0aGUgcGFyZW50IGluZGV4LnRzIGZpbGUuXG4gKi9cblxuLy8gRXhwb3J0IHRoZSBtYWluIFZpcnR1YWwgTmV0d29yayBjbGFzcyBhbmQgaXRzIGludGVyZmFjZXNcbmV4cG9ydCB7XG4gIFZpcnR1YWxOZXR3b3JrLFxuICBWaXJ0dWFsTmV0d29ya1Byb3BzLFxuICBWaXJ0dWFsTmV0d29ya0FkZHJlc3NTcGFjZSxcbiAgVmlydHVhbE5ldHdvcmtEaGNwT3B0aW9ucyxcbn0gZnJvbSBcIi4vdmlydHVhbC1uZXR3b3JrXCI7XG5cbi8vIEV4cG9ydCBzY2hlbWEgZGVmaW5pdGlvbnMgYW5kIHZlcnNpb24gY29uZmlndXJhdGlvbnNcbmV4cG9ydCB7XG4gIFZJUlRVQUxfTkVUV09SS19UWVBFLFxuICBWSVJUVUFMX05FVFdPUktfU0NIRU1BXzIwMjRfMDdfMDEsXG4gIFZJUlRVQUxfTkVUV09SS19TQ0hFTUFfMjAyNF8xMF8wMSxcbiAgVklSVFVBTF9ORVRXT1JLX1ZFUlNJT05fMjAyNF8wN18wMSxcbiAgVklSVFVBTF9ORVRXT1JLX1ZFUlNJT05fMjAyNF8xMF8wMSxcbiAgQUxMX1ZJUlRVQUxfTkVUV09SS19WRVJTSU9OUyxcbn0gZnJvbSBcIi4vdmlydHVhbC1uZXR3b3JrLXNjaGVtYXNcIjtcbiJdfQ==
@@ -0,0 +1,32 @@
1
+ /**
2
+ * API schemas for Azure Virtual Network across all supported versions
3
+ *
4
+ * This file defines the complete API schemas for Microsoft.Network/virtualNetworks
5
+ * across all supported API versions. The schemas are used by the AzapiResource
6
+ * framework for validation, transformation, and version management.
7
+ */
8
+ import { ApiSchema, VersionConfig } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
9
+ /**
10
+ * API Schema for Virtual Network version 2024-07-01
11
+ */
12
+ export declare const VIRTUAL_NETWORK_SCHEMA_2024_07_01: ApiSchema;
13
+ /**
14
+ * API Schema for Virtual Network version 2024-10-01
15
+ */
16
+ export declare const VIRTUAL_NETWORK_SCHEMA_2024_10_01: ApiSchema;
17
+ /**
18
+ * Version configuration for Virtual Network 2024-07-01
19
+ */
20
+ export declare const VIRTUAL_NETWORK_VERSION_2024_07_01: VersionConfig;
21
+ /**
22
+ * Version configuration for Virtual Network 2024-10-01
23
+ */
24
+ export declare const VIRTUAL_NETWORK_VERSION_2024_10_01: VersionConfig;
25
+ /**
26
+ * All supported Virtual Network versions for registration
27
+ */
28
+ export declare const ALL_VIRTUAL_NETWORK_VERSIONS: VersionConfig[];
29
+ /**
30
+ * Resource type constant
31
+ */
32
+ export declare const VIRTUAL_NETWORK_TYPE = "Microsoft.Network/virtualNetworks";
@@ -0,0 +1,236 @@
1
+ "use strict";
2
+ /**
3
+ * API schemas for Azure Virtual Network across all supported versions
4
+ *
5
+ * This file defines the complete API schemas for Microsoft.Network/virtualNetworks
6
+ * across all supported API versions. The schemas are used by the AzapiResource
7
+ * framework for validation, transformation, and version management.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.VIRTUAL_NETWORK_TYPE = exports.ALL_VIRTUAL_NETWORK_VERSIONS = exports.VIRTUAL_NETWORK_VERSION_2024_10_01 = exports.VIRTUAL_NETWORK_VERSION_2024_07_01 = exports.VIRTUAL_NETWORK_SCHEMA_2024_10_01 = exports.VIRTUAL_NETWORK_SCHEMA_2024_07_01 = void 0;
11
+ const version_interfaces_1 = require("../../core-azure/lib/version-manager/interfaces/version-interfaces");
12
+ // =============================================================================
13
+ // COMMON PROPERTY DEFINITIONS
14
+ // =============================================================================
15
+ /**
16
+ * Common property definitions shared across all Virtual Network versions
17
+ */
18
+ const COMMON_VNET_PROPERTIES = {
19
+ location: {
20
+ dataType: version_interfaces_1.PropertyType.STRING,
21
+ required: true,
22
+ description: "Azure region for the virtual network",
23
+ validation: [
24
+ {
25
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
26
+ message: "Location is required",
27
+ },
28
+ {
29
+ ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
30
+ value: "^[a-z0-9]+$",
31
+ message: "Location must contain only lowercase letters and numbers",
32
+ },
33
+ ],
34
+ },
35
+ name: {
36
+ dataType: version_interfaces_1.PropertyType.STRING,
37
+ required: false,
38
+ description: "Name of the virtual network",
39
+ validation: [
40
+ {
41
+ ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
42
+ value: "^[a-zA-Z0-9][a-zA-Z0-9._-]{0,62}[a-zA-Z0-9_]$",
43
+ message: "VNet name must be 2-64 chars, alphanumeric, periods, underscores, hyphens",
44
+ },
45
+ ],
46
+ },
47
+ tags: {
48
+ dataType: version_interfaces_1.PropertyType.OBJECT,
49
+ required: false,
50
+ defaultValue: {},
51
+ description: "Resource tags",
52
+ },
53
+ addressSpace: {
54
+ dataType: version_interfaces_1.PropertyType.OBJECT,
55
+ required: true,
56
+ description: "Address space for the virtual network",
57
+ validation: [
58
+ {
59
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
60
+ message: "Address space is required",
61
+ },
62
+ ],
63
+ },
64
+ subnets: {
65
+ dataType: version_interfaces_1.PropertyType.ARRAY,
66
+ required: false,
67
+ description: "Subnets in the virtual network",
68
+ },
69
+ dhcpOptions: {
70
+ dataType: version_interfaces_1.PropertyType.OBJECT,
71
+ required: false,
72
+ description: "DHCP options configuration",
73
+ },
74
+ enableDdosProtection: {
75
+ dataType: version_interfaces_1.PropertyType.BOOLEAN,
76
+ required: false,
77
+ defaultValue: false,
78
+ description: "Enable DDoS protection",
79
+ },
80
+ enableVmProtection: {
81
+ dataType: version_interfaces_1.PropertyType.BOOLEAN,
82
+ required: false,
83
+ defaultValue: false,
84
+ description: "Enable VM protection",
85
+ },
86
+ encryption: {
87
+ dataType: version_interfaces_1.PropertyType.OBJECT,
88
+ required: false,
89
+ description: "Encryption settings for the virtual network",
90
+ },
91
+ flowTimeoutInMinutes: {
92
+ dataType: version_interfaces_1.PropertyType.NUMBER,
93
+ required: false,
94
+ description: "Flow timeout in minutes for the virtual network",
95
+ },
96
+ ignoreChanges: {
97
+ dataType: version_interfaces_1.PropertyType.ARRAY,
98
+ required: false,
99
+ description: "Array of property names to ignore during updates",
100
+ validation: [
101
+ {
102
+ ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
103
+ value: version_interfaces_1.PropertyType.ARRAY,
104
+ message: "IgnoreChanges must be an array of strings",
105
+ },
106
+ ],
107
+ },
108
+ };
109
+ // =============================================================================
110
+ // VERSION-SPECIFIC SCHEMAS
111
+ // =============================================================================
112
+ /**
113
+ * API Schema for Virtual Network version 2024-07-01
114
+ */
115
+ exports.VIRTUAL_NETWORK_SCHEMA_2024_07_01 = {
116
+ resourceType: "Microsoft.Network/virtualNetworks",
117
+ version: "2024-07-01",
118
+ properties: {
119
+ ...COMMON_VNET_PROPERTIES,
120
+ },
121
+ required: ["location", "addressSpace"],
122
+ optional: [
123
+ "name",
124
+ "tags",
125
+ "subnets",
126
+ "dhcpOptions",
127
+ "enableDdosProtection",
128
+ "enableVmProtection",
129
+ "encryption",
130
+ "flowTimeoutInMinutes",
131
+ "ignoreChanges",
132
+ ],
133
+ deprecated: [],
134
+ transformationRules: {},
135
+ validationRules: [
136
+ {
137
+ property: "addressSpace",
138
+ rules: [
139
+ {
140
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
141
+ message: "Address space is required for Virtual Networks",
142
+ },
143
+ ],
144
+ },
145
+ ],
146
+ };
147
+ /**
148
+ * API Schema for Virtual Network version 2024-10-01
149
+ */
150
+ exports.VIRTUAL_NETWORK_SCHEMA_2024_10_01 = {
151
+ resourceType: "Microsoft.Network/virtualNetworks",
152
+ version: "2024-10-01",
153
+ properties: {
154
+ ...COMMON_VNET_PROPERTIES,
155
+ },
156
+ required: ["location", "addressSpace"],
157
+ optional: [
158
+ "name",
159
+ "tags",
160
+ "subnets",
161
+ "dhcpOptions",
162
+ "enableDdosProtection",
163
+ "enableVmProtection",
164
+ "encryption",
165
+ "flowTimeoutInMinutes",
166
+ "ignoreChanges",
167
+ ],
168
+ deprecated: [],
169
+ transformationRules: {},
170
+ validationRules: [
171
+ {
172
+ property: "addressSpace",
173
+ rules: [
174
+ {
175
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
176
+ message: "Address space is required for Virtual Networks",
177
+ },
178
+ ],
179
+ },
180
+ ],
181
+ };
182
+ // =============================================================================
183
+ // VERSION CONFIGURATIONS
184
+ // =============================================================================
185
+ /**
186
+ * Version configuration for Virtual Network 2024-07-01
187
+ */
188
+ exports.VIRTUAL_NETWORK_VERSION_2024_07_01 = {
189
+ version: "2024-07-01",
190
+ schema: exports.VIRTUAL_NETWORK_SCHEMA_2024_07_01,
191
+ supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
192
+ releaseDate: "2024-07-01",
193
+ deprecationDate: undefined,
194
+ sunsetDate: undefined,
195
+ breakingChanges: [],
196
+ migrationGuide: "/docs/virtual-network/migration-2024-07-01",
197
+ changeLog: [
198
+ {
199
+ changeType: "added",
200
+ description: "Stable release with enhanced networking features",
201
+ breaking: false,
202
+ },
203
+ ],
204
+ };
205
+ /**
206
+ * Version configuration for Virtual Network 2024-10-01
207
+ */
208
+ exports.VIRTUAL_NETWORK_VERSION_2024_10_01 = {
209
+ version: "2024-10-01",
210
+ schema: exports.VIRTUAL_NETWORK_SCHEMA_2024_10_01,
211
+ supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
212
+ releaseDate: "2024-10-01",
213
+ deprecationDate: undefined,
214
+ sunsetDate: undefined,
215
+ breakingChanges: [],
216
+ migrationGuide: "/docs/virtual-network/migration-2024-10-01",
217
+ changeLog: [
218
+ {
219
+ changeType: "updated",
220
+ description: "Enhanced performance and reliability improvements",
221
+ breaking: false,
222
+ },
223
+ ],
224
+ };
225
+ /**
226
+ * All supported Virtual Network versions for registration
227
+ */
228
+ exports.ALL_VIRTUAL_NETWORK_VERSIONS = [
229
+ exports.VIRTUAL_NETWORK_VERSION_2024_07_01,
230
+ exports.VIRTUAL_NETWORK_VERSION_2024_10_01,
231
+ ];
232
+ /**
233
+ * Resource type constant
234
+ */
235
+ exports.VIRTUAL_NETWORK_TYPE = "Microsoft.Network/virtualNetworks";
236
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlydHVhbC1uZXR3b3JrLXNjaGVtYXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtdmlydHVhbG5ldHdvcmsvbGliL3ZpcnR1YWwtbmV0d29yay1zY2hlbWFzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7OztBQUVILDJHQU80RTtBQUU1RSxnRkFBZ0Y7QUFDaEYsOEJBQThCO0FBQzlCLGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQU0sc0JBQXNCLEdBQTBDO0lBQ3BFLFFBQVEsRUFBRTtRQUNSLFFBQVEsRUFBRSxpQ0FBWSxDQUFDLE1BQU07UUFDN0IsUUFBUSxFQUFFLElBQUk7UUFDZCxXQUFXLEVBQUUsc0NBQXNDO1FBQ25ELFVBQVUsRUFBRTtZQUNWO2dCQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FBQyxRQUFRO2dCQUNyQyxPQUFPLEVBQUUsc0JBQXNCO2FBQ2hDO1lBQ0Q7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLGFBQWE7Z0JBQzFDLEtBQUssRUFBRSxhQUFhO2dCQUNwQixPQUFPLEVBQUUsMERBQTBEO2FBQ3BFO1NBQ0Y7S0FDRjtJQUNELElBQUksRUFBRTtRQUNKLFFBQVEsRUFBRSxpQ0FBWSxDQUFDLE1BQU07UUFDN0IsUUFBUSxFQUFFLEtBQUs7UUFDZixXQUFXLEVBQUUsNkJBQTZCO1FBQzFDLFVBQVUsRUFBRTtZQUNWO2dCQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FBQyxhQUFhO2dCQUMxQyxLQUFLLEVBQUUsK0NBQStDO2dCQUN0RCxPQUFPLEVBQ0wsMkVBQTJFO2FBQzlFO1NBQ0Y7S0FDRjtJQUNELElBQUksRUFBRTtRQUNKLFFBQVEsRUFBRSxpQ0FBWSxDQUFDLE1BQU07UUFDN0IsUUFBUSxFQUFFLEtBQUs7UUFDZixZQUFZLEVBQUUsRUFBRTtRQUNoQixXQUFXLEVBQUUsZUFBZTtLQUM3QjtJQUNELFlBQVksRUFBRTtRQUNaLFFBQVEsRUFBRSxpQ0FB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QzNELDBDQUFrQztJQUNsQywwQ0FBa0M7Q0FDbkMsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSxvQkFBb0IsR0FBRyxtQ0FBbUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQVBJIHNjaGVtYXMgZm9yIEF6dXJlIFZpcnR1YWwgTmV0d29yayBhY3Jvc3MgYWxsIHN1cHBvcnRlZCB2ZXJzaW9uc1xuICpcbiAqIFRoaXMgZmlsZSBkZWZpbmVzIHRoZSBjb21wbGV0ZSBBUEkgc2NoZW1hcyBmb3IgTWljcm9zb2Z0Lk5ldHdvcmsvdmlydHVhbE5ldHdvcmtzXG4gKiBhY3Jvc3MgYWxsIHN1cHBvcnRlZCBBUEkgdmVyc2lvbnMuIFRoZSBzY2hlbWFzIGFyZSB1c2VkIGJ5IHRoZSBBemFwaVJlc291cmNlXG4gKiBmcmFtZXdvcmsgZm9yIHZhbGlkYXRpb24sIHRyYW5zZm9ybWF0aW9uLCBhbmQgdmVyc2lvbiBtYW5hZ2VtZW50LlxuICovXG5cbmltcG9ydCB7XG4gIEFwaVNjaGVtYSxcbiAgUHJvcGVydHlEZWZpbml0aW9uLFxuICBQcm9wZXJ0eVR5cGUsXG4gIFZhbGlkYXRpb25SdWxlVHlwZSxcbiAgVmVyc2lvbkNvbmZpZyxcbiAgVmVyc2lvblN1cHBvcnRMZXZlbCxcbn0gZnJvbSBcIi4uLy4uL2NvcmUtYXp1cmUvbGliL3ZlcnNpb24tbWFuYWdlci9pbnRlcmZhY2VzL3ZlcnNpb24taW50ZXJmYWNlc1wiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ09NTU9OIFBST1BFUlRZIERFRklOSVRJT05TXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIENvbW1vbiBwcm9wZXJ0eSBkZWZpbml0aW9ucyBzaGFyZWQgYWNyb3NzIGFsbCBWaXJ0dWFsIE5ldHdvcmsgdmVyc2lvbnNcbiAqL1xuY29uc3QgQ09NTU9OX1ZORVRfUFJPUEVSVElFUzogeyBba2V5OiBzdHJpbmddOiBQcm9wZXJ0eURlZmluaXRpb24gfSA9IHtcbiAgbG9jYXRpb246IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjogXCJBenVyZSByZWdpb24gZm9yIHRoZSB2aXJ0dWFsIG5ldHdvcmtcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgIG1lc3NhZ2U6IFwiTG9jYXRpb24gaXMgcmVxdWlyZWRcIixcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUEFUVEVSTl9NQVRDSCxcbiAgICAgICAgdmFsdWU6IFwiXlthLXowLTldKyRcIixcbiAgICAgICAgbWVzc2FnZTogXCJMb2NhdGlvbiBtdXN0IGNvbnRhaW4gb25seSBsb3dlcmNhc2UgbGV0dGVycyBhbmQgbnVtYmVyc1wiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICBuYW1lOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOiBcIk5hbWUgb2YgdGhlIHZpcnR1YWwgbmV0d29ya1wiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5QQVRURVJOX01BVENILFxuICAgICAgICB2YWx1ZTogXCJeW2EtekEtWjAtOV1bYS16QS1aMC05Ll8tXXswLDYyfVthLXpBLVowLTlfXSRcIixcbiAgICAgICAgbWVzc2FnZTpcbiAgICAgICAgICBcIlZOZXQgbmFtZSBtdXN0IGJlIDItNjQgY2hhcnMsIGFscGhhbnVtZXJpYywgcGVyaW9kcywgdW5kZXJzY29yZXMsIGh5cGhlbnNcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgdGFnczoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuT0JKRUNULFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZWZhdWx0VmFsdWU6IHt9LFxuICAgIGRlc2NyaXB0aW9uOiBcIlJlc291cmNlIHRhZ3NcIixcbiAgfSxcbiAgYWRkcmVzc1NwYWNlOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5PQkpFQ1QsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgZGVzY3JpcHRpb246IFwiQWRkcmVzcyBzcGFjZSBmb3IgdGhlIHZpcnR1YWwgbmV0d29ya1wiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgbWVzc2FnZTogXCJBZGRyZXNzIHNwYWNlIGlzIHJlcXVpcmVkXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIHN1Ym5ldHM6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLkFSUkFZLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjogXCJTdWJuZXRzIGluIHRoZSB2aXJ0dWFsIG5ldHdvcmtcIixcbiAgfSxcbiAgZGhjcE9wdGlvbnM6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLk9CSkVDVCxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246IFwiREhDUCBvcHRpb25zIGNvbmZpZ3VyYXRpb25cIixcbiAgfSxcbiAgZW5hYmxlRGRvc1Byb3RlY3Rpb246IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLkJPT0xFQU4sXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246IFwiRW5hYmxlIEREb1MgcHJvdGVjdGlvblwiLFxuICB9LFxuICBlbmFibGVWbVByb3RlY3Rpb246IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLkJPT0xFQU4sXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246IFwiRW5hYmxlIFZNIHByb3RlY3Rpb25cIixcbiAgfSxcbiAgZW5jcnlwdGlvbjoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuT0JKRUNULFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjogXCJFbmNyeXB0aW9uIHNldHRpbmdzIGZvciB0aGUgdmlydHVhbCBuZXR3b3JrXCIsXG4gIH0sXG4gIGZsb3dUaW1lb3V0SW5NaW51dGVzOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5OVU1CRVIsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOiBcIkZsb3cgdGltZW91dCBpbiBtaW51dGVzIGZvciB0aGUgdmlydHVhbCBuZXR3b3JrXCIsXG4gIH0sXG4gIGlnbm9yZUNoYW5nZXM6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLkFSUkFZLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjogXCJBcnJheSBvZiBwcm9wZXJ0eSBuYW1lcyB0byBpZ25vcmUgZHVyaW5nIHVwZGF0ZXNcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVFlQRV9DSEVDSyxcbiAgICAgICAgdmFsdWU6IFByb3BlcnR5VHlwZS5BUlJBWSxcbiAgICAgICAgbWVzc2FnZTogXCJJZ25vcmVDaGFuZ2VzIG11c3QgYmUgYW4gYXJyYXkgb2Ygc3RyaW5nc1wiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFZFUlNJT04tU1BFQ0lGSUMgU0NIRU1BU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBBUEkgU2NoZW1hIGZvciBWaXJ0dWFsIE5ldHdvcmsgdmVyc2lvbiAyMDI0LTA3LTAxXG4gKi9cbmV4cG9ydCBjb25zdCBWSVJUVUFMX05FVFdPUktfU0NIRU1BXzIwMjRfMDdfMDE6IEFwaVNjaGVtYSA9IHtcbiAgcmVzb3VyY2VUeXBlOiBcIk1pY3Jvc29mdC5OZXR3b3JrL3ZpcnR1YWxOZXR3b3Jrc1wiLFxuICB2ZXJzaW9uOiBcIjIwMjQtMDctMDFcIixcbiAgcHJvcGVydGllczoge1xuICAgIC4uLkNPTU1PTl9WTkVUX1BST1BFUlRJRVMsXG4gIH0sXG4gIHJlcXVpcmVkOiBbXCJsb2NhdGlvblwiLCBcImFkZHJlc3NTcGFjZVwiXSxcbiAgb3B0aW9uYWw6IFtcbiAgICBcIm5hbWVcIixcbiAgICBcInRhZ3NcIixcbiAgICBcInN1Ym5ldHNcIixcbiAgICBcImRoY3BPcHRpb25zXCIsXG4gICAgXCJlbmFibGVEZG9zUHJvdGVjdGlvblwiLFxuICAgIFwiZW5hYmxlVm1Qcm90ZWN0aW9uXCIsXG4gICAgXCJlbmNyeXB0aW9uXCIsXG4gICAgXCJmbG93VGltZW91dEluTWludXRlc1wiLFxuICAgIFwiaWdub3JlQ2hhbmdlc1wiLFxuICBdLFxuICBkZXByZWNhdGVkOiBbXSxcbiAgdHJhbnNmb3JtYXRpb25SdWxlczoge30sXG4gIHZhbGlkYXRpb25SdWxlczogW1xuICAgIHtcbiAgICAgIHByb3BlcnR5OiBcImFkZHJlc3NTcGFjZVwiLFxuICAgICAgcnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgICAgbWVzc2FnZTogXCJBZGRyZXNzIHNwYWNlIGlzIHJlcXVpcmVkIGZvciBWaXJ0dWFsIE5ldHdvcmtzXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gIF0sXG59O1xuXG4vKipcbiAqIEFQSSBTY2hlbWEgZm9yIFZpcnR1YWwgTmV0d29yayB2ZXJzaW9uIDIwMjQtMTAtMDFcbiAqL1xuZXhwb3J0IGNvbnN0IFZJUlRVQUxfTkVUV09SS19TQ0hFTUFfMjAyNF8xMF8wMTogQXBpU2NoZW1hID0ge1xuICByZXNvdXJjZVR5cGU6IFwiTWljcm9zb2Z0Lk5ldHdvcmsvdmlydHVhbE5ldHdvcmtzXCIsXG4gIHZlcnNpb246IFwiMjAyNC0xMC0wMVwiLFxuICBwcm9wZXJ0aWVzOiB7XG4gICAgLi4uQ09NTU9OX1ZORVRfUFJPUEVSVElFUyxcbiAgfSxcbiAgcmVxdWlyZWQ6IFtcImxvY2F0aW9uXCIsIFwiYWRkcmVzc1NwYWNlXCJdLFxuICBvcHRpb25hbDogW1xuICAgIFwibmFtZVwiLFxuICAgIFwidGFnc1wiLFxuICAgIFwic3VibmV0c1wiLFxuICAgIFwiZGhjcE9wdGlvbnNcIixcbiAgICBcImVuYWJsZURkb3NQcm90ZWN0aW9uXCIsXG4gICAgXCJlbmFibGVWbVByb3RlY3Rpb25cIixcbiAgICBcImVuY3J5cHRpb25cIixcbiAgICBcImZsb3dUaW1lb3V0SW5NaW51dGVzXCIsXG4gICAgXCJpZ25vcmVDaGFuZ2VzXCIsXG4gIF0sXG4gIGRlcHJlY2F0ZWQ6IFtdLFxuICB0cmFuc2Zvcm1hdGlvblJ1bGVzOiB7fSxcbiAgdmFsaWRhdGlvblJ1bGVzOiBbXG4gICAge1xuICAgICAgcHJvcGVydHk6IFwiYWRkcmVzc1NwYWNlXCIsXG4gICAgICBydWxlczogW1xuICAgICAgICB7XG4gICAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgICBtZXNzYWdlOiBcIkFkZHJlc3Mgc3BhY2UgaXMgcmVxdWlyZWQgZm9yIFZpcnR1YWwgTmV0d29ya3NcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgXSxcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBWRVJTSU9OIENPTkZJR1VSQVRJT05TXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFZlcnNpb24gY29uZmlndXJhdGlvbiBmb3IgVmlydHVhbCBOZXR3b3JrIDIwMjQtMDctMDFcbiAqL1xuZXhwb3J0IGNvbnN0IFZJUlRVQUxfTkVUV09SS19WRVJTSU9OXzIwMjRfMDdfMDE6IFZlcnNpb25Db25maWcgPSB7XG4gIHZlcnNpb246IFwiMjAyNC0wNy0wMVwiLFxuICBzY2hlbWE6IFZJUlRVQUxfTkVUV09SS19TQ0hFTUFfMjAyNF8wN18wMSxcbiAgc3VwcG9ydExldmVsOiBWZXJzaW9uU3VwcG9ydExldmVsLkFDVElWRSxcbiAgcmVsZWFzZURhdGU6IFwiMjAyNC0wNy0wMVwiLFxuICBkZXByZWNhdGlvbkRhdGU6IHVuZGVmaW5lZCxcbiAgc3Vuc2V0RGF0ZTogdW5kZWZpbmVkLFxuICBicmVha2luZ0NoYW5nZXM6IFtdLFxuICBtaWdyYXRpb25HdWlkZTogXCIvZG9jcy92aXJ0dWFsLW5ldHdvcmsvbWlncmF0aW9uLTIwMjQtMDctMDFcIixcbiAgY2hhbmdlTG9nOiBbXG4gICAge1xuICAgICAgY2hhbmdlVHlwZTogXCJhZGRlZFwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiU3RhYmxlIHJlbGVhc2Ugd2l0aCBlbmhhbmNlZCBuZXR3b3JraW5nIGZlYXR1cmVzXCIsXG4gICAgICBicmVha2luZzogZmFsc2UsXG4gICAgfSxcbiAgXSxcbn07XG5cbi8qKlxuICogVmVyc2lvbiBjb25maWd1cmF0aW9uIGZvciBWaXJ0dWFsIE5ldHdvcmsgMjAyNC0xMC0wMVxuICovXG5leHBvcnQgY29uc3QgVklSVFVBTF9ORVRXT1JLX1ZFUlNJT05fMjAyNF8xMF8wMTogVmVyc2lvbkNvbmZpZyA9IHtcbiAgdmVyc2lvbjogXCIyMDI0LTEwLTAxXCIsXG4gIHNjaGVtYTogVklSVFVBTF9ORVRXT1JLX1NDSEVNQV8yMDI0XzEwXzAxLFxuICBzdXBwb3J0TGV2ZWw6IFZlcnNpb25TdXBwb3J0TGV2ZWwuQUNUSVZFLFxuICByZWxlYXNlRGF0ZTogXCIyMDI0LTEwLTAxXCIsXG4gIGRlcHJlY2F0aW9uRGF0ZTogdW5kZWZpbmVkLFxuICBzdW5zZXREYXRlOiB1bmRlZmluZWQsXG4gIGJyZWFraW5nQ2hhbmdlczogW10sXG4gIG1pZ3JhdGlvbkd1aWRlOiBcIi9kb2NzL3ZpcnR1YWwtbmV0d29yay9taWdyYXRpb24tMjAyNC0xMC0wMVwiLFxuICBjaGFuZ2VMb2c6IFtcbiAgICB7XG4gICAgICBjaGFuZ2VUeXBlOiBcInVwZGF0ZWRcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkVuaGFuY2VkIHBlcmZvcm1hbmNlIGFuZCByZWxpYWJpbGl0eSBpbXByb3ZlbWVudHNcIixcbiAgICAgIGJyZWFraW5nOiBmYWxzZSxcbiAgICB9LFxuICBdLFxufTtcblxuLyoqXG4gKiBBbGwgc3VwcG9ydGVkIFZpcnR1YWwgTmV0d29yayB2ZXJzaW9ucyBmb3IgcmVnaXN0cmF0aW9uXG4gKi9cbmV4cG9ydCBjb25zdCBBTExfVklSVFVBTF9ORVRXT1JLX1ZFUlNJT05TOiBWZXJzaW9uQ29uZmlnW10gPSBbXG4gIFZJUlRVQUxfTkVUV09SS19WRVJTSU9OXzIwMjRfMDdfMDEsXG4gIFZJUlRVQUxfTkVUV09SS19WRVJTSU9OXzIwMjRfMTBfMDEsXG5dO1xuXG4vKipcbiAqIFJlc291cmNlIHR5cGUgY29uc3RhbnRcbiAqL1xuZXhwb3J0IGNvbnN0IFZJUlRVQUxfTkVUV09SS19UWVBFID0gXCJNaWNyb3NvZnQuTmV0d29yay92aXJ0dWFsTmV0d29ya3NcIjtcbiJdfQ==
@@ -0,0 +1,213 @@
1
+ /**
2
+ * Azure Virtual Network implementation using AzapiResource framework
3
+ *
4
+ * This class provides a unified implementation for Azure Virtual Networks that
5
+ * automatically handles version management, schema validation, and property
6
+ * transformation across all supported API versions.
7
+ *
8
+ * Supported API Versions:
9
+ * - 2024-07-01 (Active)
10
+ * - 2024-10-01 (Active)
11
+ * - 2025-01-01 (Active, Latest)
12
+ *
13
+ * Features:
14
+ * - Automatic latest version resolution when no version is specified
15
+ * - Explicit version pinning for stability requirements
16
+ * - Schema-driven validation and transformation
17
+ * - Full backward compatibility
18
+ * - JSII compliance for multi-language support
19
+ */
20
+ import * as cdktf from "cdktf";
21
+ import { Construct } from "constructs";
22
+ import { AzapiResource, AzapiResourceProps } from "../../core-azure/lib/azapi/azapi-resource";
23
+ import { ApiSchema } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
24
+ /**
25
+ * Address space configuration for Virtual Network
26
+ */
27
+ export interface VirtualNetworkAddressSpace {
28
+ /**
29
+ * Array of address prefixes in CIDR notation
30
+ * @example ["10.0.0.0/16", "10.1.0.0/16"]
31
+ */
32
+ readonly addressPrefixes: string[];
33
+ }
34
+ /**
35
+ * DHCP options configuration for Virtual Network
36
+ */
37
+ export interface VirtualNetworkDhcpOptions {
38
+ /**
39
+ * Array of DNS server IP addresses
40
+ * @example ["10.0.0.4", "10.0.0.5"]
41
+ */
42
+ readonly dnsServers?: string[];
43
+ }
44
+ /**
45
+ * Properties for the Azure Virtual Network
46
+ *
47
+ * Extends AzapiResourceProps with Virtual Network specific properties
48
+ */
49
+ export interface VirtualNetworkProps extends AzapiResourceProps {
50
+ /**
51
+ * Address space for the virtual network
52
+ * Must contain at least one address prefix
53
+ */
54
+ readonly addressSpace: VirtualNetworkAddressSpace;
55
+ /**
56
+ * Subnets to create within the virtual network
57
+ * Optional - subnets can also be created separately
58
+ */
59
+ readonly subnets?: any[];
60
+ /**
61
+ * DHCP options configuration
62
+ * Optional - configures DNS servers for the VNet
63
+ */
64
+ readonly dhcpOptions?: VirtualNetworkDhcpOptions;
65
+ /**
66
+ * Enable DDoS protection for the virtual network
67
+ * Requires a DDoS protection plan
68
+ * @defaultValue false
69
+ */
70
+ readonly enableDdosProtection?: boolean;
71
+ /**
72
+ * Enable VM protection for the virtual network
73
+ * @defaultValue false
74
+ */
75
+ readonly enableVmProtection?: boolean;
76
+ /**
77
+ * Encryption settings for the virtual network
78
+ * Optional - configures encryption for the VNet
79
+ */
80
+ readonly encryption?: any;
81
+ /**
82
+ * Flow timeout in minutes for the virtual network
83
+ * Valid range: 4-30 minutes
84
+ */
85
+ readonly flowTimeoutInMinutes?: number;
86
+ /**
87
+ * Resource group ID where the VNet will be created
88
+ * Optional - will use the subscription scope if not provided
89
+ */
90
+ readonly resourceGroupId?: string;
91
+ /**
92
+ * The lifecycle rules to ignore changes
93
+ * Useful for properties that are externally managed
94
+ *
95
+ * @example ["tags", "subnets"]
96
+ */
97
+ readonly ignoreChanges?: string[];
98
+ }
99
+ /**
100
+ * Azure Virtual Network implementation
101
+ *
102
+ * This class provides a single, version-aware implementation that replaces
103
+ * version-specific Virtual Network classes. It automatically handles version
104
+ * resolution, schema validation, and property transformation while maintaining
105
+ * full backward compatibility.
106
+ *
107
+ * @example
108
+ * // Basic usage with automatic version resolution:
109
+ * const vnet = new VirtualNetwork(this, "vnet", {
110
+ * name: "my-vnet",
111
+ * location: "eastus",
112
+ * addressSpace: {
113
+ * addressPrefixes: ["10.0.0.0/16"]
114
+ * }
115
+ * });
116
+ *
117
+ * @example
118
+ * // Usage with explicit version pinning:
119
+ * const vnet = new VirtualNetwork(this, "vnet", {
120
+ * name: "my-vnet",
121
+ * location: "eastus",
122
+ * apiVersion: "2024-07-01",
123
+ * addressSpace: {
124
+ * addressPrefixes: ["10.0.0.0/16"]
125
+ * }
126
+ * });
127
+ *
128
+ * @stability stable
129
+ */
130
+ export declare class VirtualNetwork extends AzapiResource {
131
+ /**
132
+ * Static initialization flag to ensure schemas are registered only once
133
+ */
134
+ private static schemasRegistered;
135
+ /**
136
+ * Ensures that Virtual Network schemas are registered with the ApiVersionManager
137
+ * This is called once during the first VirtualNetwork instantiation
138
+ */
139
+ private static ensureSchemasRegistered;
140
+ /**
141
+ * The input properties for this Virtual Network instance
142
+ */
143
+ readonly props: VirtualNetworkProps;
144
+ readonly idOutput: cdktf.TerraformOutput;
145
+ readonly nameOutput: cdktf.TerraformOutput;
146
+ readonly locationOutput: cdktf.TerraformOutput;
147
+ readonly addressSpaceOutput: cdktf.TerraformOutput;
148
+ readonly tagsOutput: cdktf.TerraformOutput;
149
+ readonly id: string;
150
+ readonly tags: {
151
+ [key: string]: string;
152
+ };
153
+ /**
154
+ * Creates a new Azure Virtual Network using the AzapiResource framework
155
+ *
156
+ * The constructor automatically handles version resolution, schema registration,
157
+ * validation, and resource creation. It maintains full backward compatibility
158
+ * with existing Virtual Network implementations.
159
+ *
160
+ * @param scope - The scope in which to define this construct
161
+ * @param id - The unique identifier for this instance
162
+ * @param props - Configuration properties for the Virtual Network
163
+ */
164
+ constructor(scope: Construct, id: string, props: VirtualNetworkProps);
165
+ /**
166
+ * Gets the default API version to use when no explicit version is specified
167
+ * Returns the most recent stable version as the default
168
+ */
169
+ protected defaultVersion(): string;
170
+ /**
171
+ * Gets the Azure resource type for Virtual Networks
172
+ */
173
+ protected resourceType(): string;
174
+ /**
175
+ * Gets the API schema for the resolved version
176
+ * Uses the framework's schema resolution to get the appropriate schema
177
+ */
178
+ protected apiSchema(): ApiSchema;
179
+ /**
180
+ * Creates the resource body for the Azure API call
181
+ * Transforms the input properties into the JSON format expected by Azure REST API
182
+ */
183
+ protected createResourceBody(props: any): any;
184
+ /**
185
+ * Get the subscription ID from the Virtual Network ID
186
+ * Extracts the subscription ID from the Azure resource ID format
187
+ */
188
+ get subscriptionId(): string;
189
+ /**
190
+ * Get the full resource identifier for use in other Azure resources
191
+ * Alias for the id property to match original interface
192
+ */
193
+ get resourceId(): string;
194
+ /**
195
+ * Get the address space output value
196
+ * Returns the Terraform interpolation string for the address space
197
+ */
198
+ get addressSpace(): string;
199
+ /**
200
+ * Add a tag to the Virtual Network
201
+ * Note: This modifies the construct props but requires a new deployment to take effect
202
+ */
203
+ addTag(key: string, value: string): void;
204
+ /**
205
+ * Remove a tag from the Virtual Network
206
+ * Note: This modifies the construct props but requires a new deployment to take effect
207
+ */
208
+ removeTag(key: string): void;
209
+ /**
210
+ * Applies ignore changes lifecycle rules if specified in props
211
+ */
212
+ private _applyIgnoreChanges;
213
+ }