@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,6 @@
1
+ /**
2
+ * Azure Network Security Group construct
3
+ *
4
+ * Re-export all public APIs from the lib directory
5
+ */
6
+ export * from "./lib";
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ /**
3
+ * Azure Network Security Group construct
4
+ *
5
+ * Re-export all public APIs from the lib directory
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ __exportStar(require("./lib"), exports);
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXp1cmUtbmV0d29ya3NlY3VyaXR5Z3JvdXAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7O0dBSUc7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCx3Q0FBc0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEF6dXJlIE5ldHdvcmsgU2VjdXJpdHkgR3JvdXAgY29uc3RydWN0XG4gKlxuICogUmUtZXhwb3J0IGFsbCBwdWJsaWMgQVBJcyBmcm9tIHRoZSBsaWIgZGlyZWN0b3J5XG4gKi9cblxuZXhwb3J0ICogZnJvbSBcIi4vbGliXCI7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Export all Network Security Group related classes and interfaces
3
+ */
4
+ export { NetworkSecurityGroup, NetworkSecurityGroupProps, SecurityRule, SecurityRuleProperties, } from "./network-security-group";
5
+ export { ALL_NETWORK_SECURITY_GROUP_VERSIONS, NETWORK_SECURITY_GROUP_TYPE, NETWORK_SECURITY_GROUP_SCHEMA_2024_07_01, NETWORK_SECURITY_GROUP_SCHEMA_2024_10_01, NETWORK_SECURITY_GROUP_VERSION_2024_07_01, NETWORK_SECURITY_GROUP_VERSION_2024_10_01, } from "./network-security-group-schemas";
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ /**
3
+ * Export all Network Security Group related classes and interfaces
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.NETWORK_SECURITY_GROUP_VERSION_2024_10_01 = exports.NETWORK_SECURITY_GROUP_VERSION_2024_07_01 = exports.NETWORK_SECURITY_GROUP_SCHEMA_2024_10_01 = exports.NETWORK_SECURITY_GROUP_SCHEMA_2024_07_01 = exports.NETWORK_SECURITY_GROUP_TYPE = exports.ALL_NETWORK_SECURITY_GROUP_VERSIONS = exports.NetworkSecurityGroup = void 0;
7
+ var network_security_group_1 = require("./network-security-group");
8
+ Object.defineProperty(exports, "NetworkSecurityGroup", { enumerable: true, get: function () { return network_security_group_1.NetworkSecurityGroup; } });
9
+ var network_security_group_schemas_1 = require("./network-security-group-schemas");
10
+ Object.defineProperty(exports, "ALL_NETWORK_SECURITY_GROUP_VERSIONS", { enumerable: true, get: function () { return network_security_group_schemas_1.ALL_NETWORK_SECURITY_GROUP_VERSIONS; } });
11
+ Object.defineProperty(exports, "NETWORK_SECURITY_GROUP_TYPE", { enumerable: true, get: function () { return network_security_group_schemas_1.NETWORK_SECURITY_GROUP_TYPE; } });
12
+ Object.defineProperty(exports, "NETWORK_SECURITY_GROUP_SCHEMA_2024_07_01", { enumerable: true, get: function () { return network_security_group_schemas_1.NETWORK_SECURITY_GROUP_SCHEMA_2024_07_01; } });
13
+ Object.defineProperty(exports, "NETWORK_SECURITY_GROUP_SCHEMA_2024_10_01", { enumerable: true, get: function () { return network_security_group_schemas_1.NETWORK_SECURITY_GROUP_SCHEMA_2024_10_01; } });
14
+ Object.defineProperty(exports, "NETWORK_SECURITY_GROUP_VERSION_2024_07_01", { enumerable: true, get: function () { return network_security_group_schemas_1.NETWORK_SECURITY_GROUP_VERSION_2024_07_01; } });
15
+ Object.defineProperty(exports, "NETWORK_SECURITY_GROUP_VERSION_2024_10_01", { enumerable: true, get: function () { return network_security_group_schemas_1.NETWORK_SECURITY_GROUP_VERSION_2024_10_01; } });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtbmV0d29ya3NlY3VyaXR5Z3JvdXAvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7O0FBRUgsbUVBS2tDO0FBSmhDLDhIQUFBLG9CQUFvQixPQUFBO0FBTXRCLG1GQU8wQztBQU54QyxxSkFBQSxtQ0FBbUMsT0FBQTtBQUNuQyw2SUFBQSwyQkFBMkIsT0FBQTtBQUMzQiwwSkFBQSx3Q0FBd0MsT0FBQTtBQUN4QywwSkFBQSx3Q0FBd0MsT0FBQTtBQUN4QywySkFBQSx5Q0FBeUMsT0FBQTtBQUN6QywySkFBQSx5Q0FBeUMsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXhwb3J0IGFsbCBOZXR3b3JrIFNlY3VyaXR5IEdyb3VwIHJlbGF0ZWQgY2xhc3NlcyBhbmQgaW50ZXJmYWNlc1xuICovXG5cbmV4cG9ydCB7XG4gIE5ldHdvcmtTZWN1cml0eUdyb3VwLFxuICBOZXR3b3JrU2VjdXJpdHlHcm91cFByb3BzLFxuICBTZWN1cml0eVJ1bGUsXG4gIFNlY3VyaXR5UnVsZVByb3BlcnRpZXMsXG59IGZyb20gXCIuL25ldHdvcmstc2VjdXJpdHktZ3JvdXBcIjtcblxuZXhwb3J0IHtcbiAgQUxMX05FVFdPUktfU0VDVVJJVFlfR1JPVVBfVkVSU0lPTlMsXG4gIE5FVFdPUktfU0VDVVJJVFlfR1JPVVBfVFlQRSxcbiAgTkVUV09SS19TRUNVUklUWV9HUk9VUF9TQ0hFTUFfMjAyNF8wN18wMSxcbiAgTkVUV09SS19TRUNVUklUWV9HUk9VUF9TQ0hFTUFfMjAyNF8xMF8wMSxcbiAgTkVUV09SS19TRUNVUklUWV9HUk9VUF9WRVJTSU9OXzIwMjRfMDdfMDEsXG4gIE5FVFdPUktfU0VDVVJJVFlfR1JPVVBfVkVSU0lPTl8yMDI0XzEwXzAxLFxufSBmcm9tIFwiLi9uZXR3b3JrLXNlY3VyaXR5LWdyb3VwLXNjaGVtYXNcIjtcbiJdfQ==
@@ -0,0 +1,32 @@
1
+ /**
2
+ * API schemas for Azure Network Security Group across all supported versions
3
+ *
4
+ * This file defines the complete API schemas for Microsoft.Network/networkSecurityGroups
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 Network Security Group version 2024-07-01
11
+ */
12
+ export declare const NETWORK_SECURITY_GROUP_SCHEMA_2024_07_01: ApiSchema;
13
+ /**
14
+ * API Schema for Network Security Group version 2024-10-01
15
+ */
16
+ export declare const NETWORK_SECURITY_GROUP_SCHEMA_2024_10_01: ApiSchema;
17
+ /**
18
+ * Version configuration for Network Security Group 2024-07-01
19
+ */
20
+ export declare const NETWORK_SECURITY_GROUP_VERSION_2024_07_01: VersionConfig;
21
+ /**
22
+ * Version configuration for Network Security Group 2024-10-01
23
+ */
24
+ export declare const NETWORK_SECURITY_GROUP_VERSION_2024_10_01: VersionConfig;
25
+ /**
26
+ * All supported Network Security Group versions for registration
27
+ */
28
+ export declare const ALL_NETWORK_SECURITY_GROUP_VERSIONS: VersionConfig[];
29
+ /**
30
+ * Resource type constant
31
+ */
32
+ export declare const NETWORK_SECURITY_GROUP_TYPE = "Microsoft.Network/networkSecurityGroups";
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+ /**
3
+ * API schemas for Azure Network Security Group across all supported versions
4
+ *
5
+ * This file defines the complete API schemas for Microsoft.Network/networkSecurityGroups
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.NETWORK_SECURITY_GROUP_TYPE = exports.ALL_NETWORK_SECURITY_GROUP_VERSIONS = exports.NETWORK_SECURITY_GROUP_VERSION_2024_10_01 = exports.NETWORK_SECURITY_GROUP_VERSION_2024_07_01 = exports.NETWORK_SECURITY_GROUP_SCHEMA_2024_10_01 = exports.NETWORK_SECURITY_GROUP_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 Network Security Group versions
17
+ */
18
+ const COMMON_NSG_PROPERTIES = {
19
+ location: {
20
+ dataType: version_interfaces_1.PropertyType.STRING,
21
+ required: true,
22
+ description: "Azure region for the network security group",
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 network security group",
39
+ validation: [
40
+ {
41
+ ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
42
+ value: "^[a-zA-Z0-9][a-zA-Z0-9._-]{0,78}[a-zA-Z0-9_]$",
43
+ message: "NSG name must be 2-80 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
+ securityRules: {
54
+ dataType: version_interfaces_1.PropertyType.ARRAY,
55
+ required: false,
56
+ description: "Security rules for the network security group",
57
+ },
58
+ flushConnection: {
59
+ dataType: version_interfaces_1.PropertyType.BOOLEAN,
60
+ required: false,
61
+ defaultValue: false,
62
+ description: "When enabled, flows created from NSG connections will be re-evaluated when rules are updated",
63
+ },
64
+ ignoreChanges: {
65
+ dataType: version_interfaces_1.PropertyType.ARRAY,
66
+ required: false,
67
+ description: "Array of property names to ignore during updates",
68
+ validation: [
69
+ {
70
+ ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
71
+ value: version_interfaces_1.PropertyType.ARRAY,
72
+ message: "IgnoreChanges must be an array of strings",
73
+ },
74
+ ],
75
+ },
76
+ };
77
+ // =============================================================================
78
+ // VERSION-SPECIFIC SCHEMAS
79
+ // =============================================================================
80
+ /**
81
+ * API Schema for Network Security Group version 2024-07-01
82
+ */
83
+ exports.NETWORK_SECURITY_GROUP_SCHEMA_2024_07_01 = {
84
+ resourceType: "Microsoft.Network/networkSecurityGroups",
85
+ version: "2024-07-01",
86
+ properties: {
87
+ ...COMMON_NSG_PROPERTIES,
88
+ },
89
+ required: ["location"],
90
+ optional: [
91
+ "name",
92
+ "tags",
93
+ "securityRules",
94
+ "flushConnection",
95
+ "ignoreChanges",
96
+ ],
97
+ deprecated: [],
98
+ transformationRules: {},
99
+ validationRules: [
100
+ {
101
+ property: "securityRules",
102
+ rules: [
103
+ {
104
+ ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
105
+ value: version_interfaces_1.PropertyType.ARRAY,
106
+ message: "Security rules must be an array",
107
+ },
108
+ ],
109
+ },
110
+ ],
111
+ };
112
+ /**
113
+ * API Schema for Network Security Group version 2024-10-01
114
+ */
115
+ exports.NETWORK_SECURITY_GROUP_SCHEMA_2024_10_01 = {
116
+ resourceType: "Microsoft.Network/networkSecurityGroups",
117
+ version: "2024-10-01",
118
+ properties: {
119
+ ...COMMON_NSG_PROPERTIES,
120
+ },
121
+ required: ["location"],
122
+ optional: [
123
+ "name",
124
+ "tags",
125
+ "securityRules",
126
+ "flushConnection",
127
+ "ignoreChanges",
128
+ ],
129
+ deprecated: [],
130
+ transformationRules: {},
131
+ validationRules: [
132
+ {
133
+ property: "securityRules",
134
+ rules: [
135
+ {
136
+ ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
137
+ value: version_interfaces_1.PropertyType.ARRAY,
138
+ message: "Security rules must be an array",
139
+ },
140
+ ],
141
+ },
142
+ ],
143
+ };
144
+ // =============================================================================
145
+ // VERSION CONFIGURATIONS
146
+ // =============================================================================
147
+ /**
148
+ * Version configuration for Network Security Group 2024-07-01
149
+ */
150
+ exports.NETWORK_SECURITY_GROUP_VERSION_2024_07_01 = {
151
+ version: "2024-07-01",
152
+ schema: exports.NETWORK_SECURITY_GROUP_SCHEMA_2024_07_01,
153
+ supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
154
+ releaseDate: "2024-07-01",
155
+ deprecationDate: undefined,
156
+ sunsetDate: undefined,
157
+ breakingChanges: [],
158
+ migrationGuide: "/docs/network-security-group/migration-2024-07-01",
159
+ changeLog: [
160
+ {
161
+ changeType: "added",
162
+ description: "Stable release with enhanced security features",
163
+ breaking: false,
164
+ },
165
+ ],
166
+ };
167
+ /**
168
+ * Version configuration for Network Security Group 2024-10-01
169
+ */
170
+ exports.NETWORK_SECURITY_GROUP_VERSION_2024_10_01 = {
171
+ version: "2024-10-01",
172
+ schema: exports.NETWORK_SECURITY_GROUP_SCHEMA_2024_10_01,
173
+ supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
174
+ releaseDate: "2024-10-01",
175
+ deprecationDate: undefined,
176
+ sunsetDate: undefined,
177
+ breakingChanges: [],
178
+ migrationGuide: "/docs/network-security-group/migration-2024-10-01",
179
+ changeLog: [
180
+ {
181
+ changeType: "updated",
182
+ description: "Enhanced performance and reliability improvements",
183
+ breaking: false,
184
+ },
185
+ ],
186
+ };
187
+ /**
188
+ * All supported Network Security Group versions for registration
189
+ */
190
+ exports.ALL_NETWORK_SECURITY_GROUP_VERSIONS = [
191
+ exports.NETWORK_SECURITY_GROUP_VERSION_2024_07_01,
192
+ exports.NETWORK_SECURITY_GROUP_VERSION_2024_10_01,
193
+ ];
194
+ /**
195
+ * Resource type constant
196
+ */
197
+ exports.NETWORK_SECURITY_GROUP_TYPE = "Microsoft.Network/networkSecurityGroups";
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay1zZWN1cml0eS1ncm91cC1zY2hlbWFzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F6dXJlLW5ldHdvcmtzZWN1cml0eWdyb3VwL2xpYi9uZXR3b3JrLXNlY3VyaXR5LWdyb3VwLXNjaGVtYXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsMkdBTzRFO0FBRTVFLGdGQUFnRjtBQUNoRiw4QkFBOEI7QUFDOUIsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBTSxxQkFBcUIsR0FBMEM7SUFDbkUsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsSUFBSTtRQUNkLFdBQVcsRUFBRSw2Q0FBNkM7UUFDMUQsVUFBVSxFQUFFO1lBQ1Y7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFFBQVE7Z0JBQ3JDLE9BQU8sRUFBRSxzQkFBc0I7YUFDaEM7WUFDRDtnQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsYUFBYTtnQkFDMUMsS0FBSyxFQUFFLGFBQWE7Z0JBQ3BCLE9BQU8sRUFBRSwwREFBMEQ7YUFDcEU7U0FDRjtLQUNGO0lBQ0QsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsS0FBSztRQUNmLFdBQVcsRUFBRSxvQ0FBb0M7UUFDakQsVUFBVSxFQUFFO1lBQ1Y7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLGFBQWE7Z0JBQzFDLEtBQUssRUFBRSwrQ0FBK0M7Z0JBQ3RELE9BQU8sRUFDTCwwRUFBMEU7YUFDN0U7U0FDRjtLQUNGO0lBQ0QsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsS0FBSztRQUNmLFlBQVksRUFBRSxFQUFFO1FBQ2hCLFdBQVcsRUFBRSxlQUFlO0tBQzdCO0lBQ0QsYUFBYSxFQUFFO1FBQ2IsUUFBUSxFQUFFLGlDQUFZLENBQUMsS0FBSztRQUM1QixRQUFRLEVBQUUsS0FBSztRQUNmLFdBQVcsRUFBRSwrQ0FBK0M7S0FDN0Q7SUFDRCxlQUFlLEVBQUU7UUFDZixRQUFRLEVBQUUsaUNBQVksQ0FBQyxPQUFPO1FBQzlCLFFBQVEsRUFBRSxLQUFLO1FBQ2YsWUFBWSxFQUFFLEtBQUs7UUFDbkIsV0FBVyxFQUNULDhGQUE4RjtLQUNqRztJQUNELGFBQWEsRUFBRTtRQUNiLFFBQVEsRUFBRSxpQ0FBWSxDQUFDLEtBQUs7UUFDNUIsUUFBUSxFQUFFLEtBQUs7UUFDZixXQUFXLEVBQUUsa0RBQWtEO1FBQy9ELFVBQVUsRUFBRTtZQUNWO2dCQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FBQyxVQUFVO2dCQUN2QyxLQUFLLEVBQUUsaUNBQVksQ0FBQyxLQUFLO2dCQUN6QixPQUFPLEVBQUUsMkNBQTJDO2FBQ3JEO1NBQ0Y7S0FDRjtDQUNGLENBQUM7QUFFRixnRkFBZ0Y7QUFDaEYsMkJBQTJCO0FBQzNCLGdGQUFnRjtBQUVoRjs7R0FFRztBQUNVLFFBQUEsd0NBQXdDLEdBQWM7SUFDakUsWUFBWSxFQUFFLHlDQUF5QztJQUN2RCxPQUFPLEVBQUUsWUFBWTtJQUNyQixVQUFVLEVBQUU7UUFDVixHQUFHLHFCQUFxQjtLQUN6QjtJQUNELFFBQVEsRUFBRSxDQUFDLFVBQVUsQ0FBQztJQUN0QixRQUFRLEVBQUU7UUFDUixNQUFNO1FBQ04sTUFBTTtRQUNOLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsZUFBZTtLQUNoQjtJQUNELFVBQVUsRUFBRSxFQUFFO0lBQ2QsbUJBQW1CLEVBQUUsRUFBRTtJQUN2QixlQUFlLEVBQUU7UUFDZjtZQUNFLFFBQVEsRUFBRSxlQUFlO1lBQ3pCLEtBQUssRUFBRTtnQkFDTDtvQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsVUFBVTtvQkFDdkMsS0FBSyxFQUFFLGlDQUFZLENBQUMsS0FBSztvQkFDekIsT0FBTyxFQUFFLGlDQUFpQztpQkFDM0M7YUFDRjtTQUNGO0tBQ0Y7Q0FDRixDQUFDO0FBRUY7O0dBRUc7QUFDVSxRQUFBLHdDQUF3QyxHQUFjO0lBQ2pFLFlBQVksRUFBRSx5Q0FBeUM7SUFDdkQsT0FBTyxFQUFFLFlBQVk7SUFDckIsVUFBVSxFQUFFO1FBQ1YsR0FBRyxxQkFBcUI7S0FDekI7SUFDRCxRQUFRLEVBQUUsQ0FBQyxVQUFVLENBQUM7SUFDdEIsUUFBUSxFQUFFO1FBQ1IsTUFBTTtRQUNOLE1BQU07UUFDTixlQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLGVBQWU7S0FDaEI7SUFDRCxVQUFVLEVBQUUsRUFBRTtJQUNkLG1CQUFtQixFQUFFLEVBQUU7SUFDdkIsZUFBZSxFQUFFO1FBQ2Y7WUFDRSxRQUFRLEVBQUUsZUFBZTtZQUN6QixLQUFLLEVBQUU7Z0JBQ0w7b0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFVBQVU7b0JBQ3ZDLEtBQUssRUFBRSxpQ0FBWSxDQUFDLEtBQUs7b0JBQ3pCLE9BQU8sRUFBRSxpQ0FBaUM7aUJBQzNDO2FBQ0Y7U0FDRjtLQUNGO0NBQ0YsQ0FBQztBQUVGLGdGQUFnRjtBQUNoRix5QkFBeUI7QUFDekIsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ1UsUUFBQSx5Q0FBeUMsR0FBa0I7SUFDdEUsT0FBTyxFQUFFLFlBQVk7SUFDckIsTUFBTSxFQUFFLGdEQUF3QztJQUNoRCxZQUFZLEVBQUUsd0NBQW1CLENBQUMsTUFBTTtJQUN4QyxXQUFXLEVBQUUsWUFBWTtJQUN6QixlQUFlLEVBQUUsU0FBUztJQUMxQixVQUFVLEVBQUUsU0FBUztJQUNyQixlQUFlLEVBQUUsRUFBRTtJQUNuQixjQUFjLEVBQUUsbURBQW1EO0lBQ25FLFNBQVMsRUFBRTtRQUNUO1lBQ0UsVUFBVSxFQUFFLE9BQU87WUFDbkIsV0FBVyxFQUFFLGdEQUFnRDtZQUM3RCxRQUFRLEVBQUUsS0FBSztTQUNoQjtLQUNGO0NBQ0YsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSx5Q0FBeUMsR0FBa0I7SUFDdEUsT0FBTyxFQUFFLFlBQVk7SUFDckIsTUFBTSxFQUFFLGdEQUF3QztJQUNoRCxZQUFZLEVBQUUsd0NBQW1CLENBQUMsTUFBTTtJQUN4QyxXQUFXLEVBQUUsWUFBWTtJQUN6QixlQUFlLEVBQUUsU0FBUztJQUMxQixVQUFVLEVBQUUsU0FBUztJQUNyQixlQUFlLEVBQUUsRUFBRTtJQUNuQixjQUFjLEVBQUUsbURBQW1EO0lBQ25FLFNBQVMsRUFBRTtRQUNUO1lBQ0UsVUFBVSxFQUFFLFNBQVM7WUFDckIsV0FBVyxFQUFFLG1EQUFtRDtZQUNoRSxRQUFRLEVBQUUsS0FBSztTQUNoQjtLQUNGO0NBQ0YsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSxtQ0FBbUMsR0FBb0I7SUFDbEUsaURBQXlDO0lBQ3pDLGlEQUF5QztDQUMxQyxDQUFDO0FBRUY7O0dBRUc7QUFDVSxRQUFBLDJCQUEyQixHQUN0Qyx5Q0FBeUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQVBJIHNjaGVtYXMgZm9yIEF6dXJlIE5ldHdvcmsgU2VjdXJpdHkgR3JvdXAgYWNyb3NzIGFsbCBzdXBwb3J0ZWQgdmVyc2lvbnNcbiAqXG4gKiBUaGlzIGZpbGUgZGVmaW5lcyB0aGUgY29tcGxldGUgQVBJIHNjaGVtYXMgZm9yIE1pY3Jvc29mdC5OZXR3b3JrL25ldHdvcmtTZWN1cml0eUdyb3Vwc1xuICogYWNyb3NzIGFsbCBzdXBwb3J0ZWQgQVBJIHZlcnNpb25zLiBUaGUgc2NoZW1hcyBhcmUgdXNlZCBieSB0aGUgQXphcGlSZXNvdXJjZVxuICogZnJhbWV3b3JrIGZvciB2YWxpZGF0aW9uLCB0cmFuc2Zvcm1hdGlvbiwgYW5kIHZlcnNpb24gbWFuYWdlbWVudC5cbiAqL1xuXG5pbXBvcnQge1xuICBBcGlTY2hlbWEsXG4gIFByb3BlcnR5RGVmaW5pdGlvbixcbiAgUHJvcGVydHlUeXBlLFxuICBWYWxpZGF0aW9uUnVsZVR5cGUsXG4gIFZlcnNpb25Db25maWcsXG4gIFZlcnNpb25TdXBwb3J0TGV2ZWwsXG59IGZyb20gXCIuLi8uLi9jb3JlLWF6dXJlL2xpYi92ZXJzaW9uLW1hbmFnZXIvaW50ZXJmYWNlcy92ZXJzaW9uLWludGVyZmFjZXNcIjtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENPTU1PTiBQUk9QRVJUWSBERUZJTklUSU9OU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBDb21tb24gcHJvcGVydHkgZGVmaW5pdGlvbnMgc2hhcmVkIGFjcm9zcyBhbGwgTmV0d29yayBTZWN1cml0eSBHcm91cCB2ZXJzaW9uc1xuICovXG5jb25zdCBDT01NT05fTlNHX1BST1BFUlRJRVM6IHsgW2tleTogc3RyaW5nXTogUHJvcGVydHlEZWZpbml0aW9uIH0gPSB7XG4gIGxvY2F0aW9uOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgZGVzY3JpcHRpb246IFwiQXp1cmUgcmVnaW9uIGZvciB0aGUgbmV0d29yayBzZWN1cml0eSBncm91cFwiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgbWVzc2FnZTogXCJMb2NhdGlvbiBpcyByZXF1aXJlZFwiLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5QQVRURVJOX01BVENILFxuICAgICAgICB2YWx1ZTogXCJeW2EtejAtOV0rJFwiLFxuICAgICAgICBtZXNzYWdlOiBcIkxvY2F0aW9uIG11c3QgY29udGFpbiBvbmx5IGxvd2VyY2FzZSBsZXR0ZXJzIGFuZCBudW1iZXJzXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIG5hbWU6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246IFwiTmFtZSBvZiB0aGUgbmV0d29yayBzZWN1cml0eSBncm91cFwiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5QQVRURVJOX01BVENILFxuICAgICAgICB2YWx1ZTogXCJeW2EtekEtWjAtOV1bYS16QS1aMC05Ll8tXXswLDc4fVthLXpBLVowLTlfXSRcIixcbiAgICAgICAgbWVzc2FnZTpcbiAgICAgICAgICBcIk5TRyBuYW1lIG11c3QgYmUgMi04MCBjaGFycywgYWxwaGFudW1lcmljLCBwZXJpb2RzLCB1bmRlcnNjb3JlcywgaHlwaGVuc1wiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICB0YWdzOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5PQkpFQ1QsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlZmF1bHRWYWx1ZToge30sXG4gICAgZGVzY3JpcHRpb246IFwiUmVzb3VyY2UgdGFnc1wiLFxuICB9LFxuICBzZWN1cml0eVJ1bGVzOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5BUlJBWSxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246IFwiU2VjdXJpdHkgcnVsZXMgZm9yIHRoZSBuZXR3b3JrIHNlY3VyaXR5IGdyb3VwXCIsXG4gIH0sXG4gIGZsdXNoQ29ubmVjdGlvbjoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuQk9PTEVBTixcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiV2hlbiBlbmFibGVkLCBmbG93cyBjcmVhdGVkIGZyb20gTlNHIGNvbm5lY3Rpb25zIHdpbGwgYmUgcmUtZXZhbHVhdGVkIHdoZW4gcnVsZXMgYXJlIHVwZGF0ZWRcIixcbiAgfSxcbiAgaWdub3JlQ2hhbmdlczoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuQVJSQVksXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOiBcIkFycmF5IG9mIHByb3BlcnR5IG5hbWVzIHRvIGlnbm9yZSBkdXJpbmcgdXBkYXRlc1wiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5UWVBFX0NIRUNLLFxuICAgICAgICB2YWx1ZTogUHJvcGVydHlUeXBlLkFSUkFZLFxuICAgICAgICBtZXNzYWdlOiBcIklnbm9yZUNoYW5nZXMgbXVzdCBiZSBhbiBhcnJheSBvZiBzdHJpbmdzXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVkVSU0lPTi1TUEVDSUZJQyBTQ0hFTUFTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEFQSSBTY2hlbWEgZm9yIE5ldHdvcmsgU2VjdXJpdHkgR3JvdXAgdmVyc2lvbiAyMDI0LTA3LTAxXG4gKi9cbmV4cG9ydCBjb25zdCBORVRXT1JLX1NFQ1VSSVRZX0dST1VQX1NDSEVNQV8yMDI0XzA3XzAxOiBBcGlTY2hlbWEgPSB7XG4gIHJlc291cmNlVHlwZTogXCJNaWNyb3NvZnQuTmV0d29yay9uZXR3b3JrU2VjdXJpdHlHcm91cHNcIixcbiAgdmVyc2lvbjogXCIyMDI0LTA3LTAxXCIsXG4gIHByb3BlcnRpZXM6IHtcbiAgICAuLi5DT01NT05fTlNHX1BST1BFUlRJRVMsXG4gIH0sXG4gIHJlcXVpcmVkOiBbXCJsb2NhdGlvblwiXSxcbiAgb3B0aW9uYWw6IFtcbiAgICBcIm5hbWVcIixcbiAgICBcInRhZ3NcIixcbiAgICBcInNlY3VyaXR5UnVsZXNcIixcbiAgICBcImZsdXNoQ29ubmVjdGlvblwiLFxuICAgIFwiaWdub3JlQ2hhbmdlc1wiLFxuICBdLFxuICBkZXByZWNhdGVkOiBbXSxcbiAgdHJhbnNmb3JtYXRpb25SdWxlczoge30sXG4gIHZhbGlkYXRpb25SdWxlczogW1xuICAgIHtcbiAgICAgIHByb3BlcnR5OiBcInNlY3VyaXR5UnVsZXNcIixcbiAgICAgIHJ1bGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlRZUEVfQ0hFQ0ssXG4gICAgICAgICAgdmFsdWU6IFByb3BlcnR5VHlwZS5BUlJBWSxcbiAgICAgICAgICBtZXNzYWdlOiBcIlNlY3VyaXR5IHJ1bGVzIG11c3QgYmUgYW4gYXJyYXlcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgXSxcbn07XG5cbi8qKlxuICogQVBJIFNjaGVtYSBmb3IgTmV0d29yayBTZWN1cml0eSBHcm91cCB2ZXJzaW9uIDIwMjQtMTAtMDFcbiAqL1xuZXhwb3J0IGNvbnN0IE5FVFdPUktfU0VDVVJJVFlfR1JPVVBfU0NIRU1BXzIwMjRfMTBfMDE6IEFwaVNjaGVtYSA9IHtcbiAgcmVzb3VyY2VUeXBlOiBcIk1pY3Jvc29mdC5OZXR3b3JrL25ldHdvcmtTZWN1cml0eUdyb3Vwc1wiLFxuICB2ZXJzaW9uOiBcIjIwMjQtMTAtMDFcIixcbiAgcHJvcGVydGllczoge1xuICAgIC4uLkNPTU1PTl9OU0dfUFJPUEVSVElFUyxcbiAgfSxcbiAgcmVxdWlyZWQ6IFtcImxvY2F0aW9uXCJdLFxuICBvcHRpb25hbDogW1xuICAgIFwibmFtZVwiLFxuICAgIFwidGFnc1wiLFxuICAgIFwic2VjdXJpdHlSdWxlc1wiLFxuICAgIFwiZmx1c2hDb25uZWN0aW9uXCIsXG4gICAgXCJpZ25vcmVDaGFuZ2VzXCIsXG4gIF0sXG4gIGRlcHJlY2F0ZWQ6IFtdLFxuICB0cmFuc2Zvcm1hdGlvblJ1bGVzOiB7fSxcbiAgdmFsaWRhdGlvblJ1bGVzOiBbXG4gICAge1xuICAgICAgcHJvcGVydHk6IFwic2VjdXJpdHlSdWxlc1wiLFxuICAgICAgcnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVFlQRV9DSEVDSyxcbiAgICAgICAgICB2YWx1ZTogUHJvcGVydHlUeXBlLkFSUkFZLFxuICAgICAgICAgIG1lc3NhZ2U6IFwiU2VjdXJpdHkgcnVsZXMgbXVzdCBiZSBhbiBhcnJheVwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICBdLFxufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFZFUlNJT04gQ09ORklHVVJBVElPTlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogVmVyc2lvbiBjb25maWd1cmF0aW9uIGZvciBOZXR3b3JrIFNlY3VyaXR5IEdyb3VwIDIwMjQtMDctMDFcbiAqL1xuZXhwb3J0IGNvbnN0IE5FVFdPUktfU0VDVVJJVFlfR1JPVVBfVkVSU0lPTl8yMDI0XzA3XzAxOiBWZXJzaW9uQ29uZmlnID0ge1xuICB2ZXJzaW9uOiBcIjIwMjQtMDctMDFcIixcbiAgc2NoZW1hOiBORVRXT1JLX1NFQ1VSSVRZX0dST1VQX1NDSEVNQV8yMDI0XzA3XzAxLFxuICBzdXBwb3J0TGV2ZWw6IFZlcnNpb25TdXBwb3J0TGV2ZWwuQUNUSVZFLFxuICByZWxlYXNlRGF0ZTogXCIyMDI0LTA3LTAxXCIsXG4gIGRlcHJlY2F0aW9uRGF0ZTogdW5kZWZpbmVkLFxuICBzdW5zZXREYXRlOiB1bmRlZmluZWQsXG4gIGJyZWFraW5nQ2hhbmdlczogW10sXG4gIG1pZ3JhdGlvbkd1aWRlOiBcIi9kb2NzL25ldHdvcmstc2VjdXJpdHktZ3JvdXAvbWlncmF0aW9uLTIwMjQtMDctMDFcIixcbiAgY2hhbmdlTG9nOiBbXG4gICAge1xuICAgICAgY2hhbmdlVHlwZTogXCJhZGRlZFwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiU3RhYmxlIHJlbGVhc2Ugd2l0aCBlbmhhbmNlZCBzZWN1cml0eSBmZWF0dXJlc1wiLFxuICAgICAgYnJlYWtpbmc6IGZhbHNlLFxuICAgIH0sXG4gIF0sXG59O1xuXG4vKipcbiAqIFZlcnNpb24gY29uZmlndXJhdGlvbiBmb3IgTmV0d29yayBTZWN1cml0eSBHcm91cCAyMDI0LTEwLTAxXG4gKi9cbmV4cG9ydCBjb25zdCBORVRXT1JLX1NFQ1VSSVRZX0dST1VQX1ZFUlNJT05fMjAyNF8xMF8wMTogVmVyc2lvbkNvbmZpZyA9IHtcbiAgdmVyc2lvbjogXCIyMDI0LTEwLTAxXCIsXG4gIHNjaGVtYTogTkVUV09SS19TRUNVUklUWV9HUk9VUF9TQ0hFTUFfMjAyNF8xMF8wMSxcbiAgc3VwcG9ydExldmVsOiBWZXJzaW9uU3VwcG9ydExldmVsLkFDVElWRSxcbiAgcmVsZWFzZURhdGU6IFwiMjAyNC0xMC0wMVwiLFxuICBkZXByZWNhdGlvbkRhdGU6IHVuZGVmaW5lZCxcbiAgc3Vuc2V0RGF0ZTogdW5kZWZpbmVkLFxuICBicmVha2luZ0NoYW5nZXM6IFtdLFxuICBtaWdyYXRpb25HdWlkZTogXCIvZG9jcy9uZXR3b3JrLXNlY3VyaXR5LWdyb3VwL21pZ3JhdGlvbi0yMDI0LTEwLTAxXCIsXG4gIGNoYW5nZUxvZzogW1xuICAgIHtcbiAgICAgIGNoYW5nZVR5cGU6IFwidXBkYXRlZFwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiRW5oYW5jZWQgcGVyZm9ybWFuY2UgYW5kIHJlbGlhYmlsaXR5IGltcHJvdmVtZW50c1wiLFxuICAgICAgYnJlYWtpbmc6IGZhbHNlLFxuICAgIH0sXG4gIF0sXG59O1xuXG4vKipcbiAqIEFsbCBzdXBwb3J0ZWQgTmV0d29yayBTZWN1cml0eSBHcm91cCB2ZXJzaW9ucyBmb3IgcmVnaXN0cmF0aW9uXG4gKi9cbmV4cG9ydCBjb25zdCBBTExfTkVUV09SS19TRUNVUklUWV9HUk9VUF9WRVJTSU9OUzogVmVyc2lvbkNvbmZpZ1tdID0gW1xuICBORVRXT1JLX1NFQ1VSSVRZX0dST1VQX1ZFUlNJT05fMjAyNF8wN18wMSxcbiAgTkVUV09SS19TRUNVUklUWV9HUk9VUF9WRVJTSU9OXzIwMjRfMTBfMDEsXG5dO1xuXG4vKipcbiAqIFJlc291cmNlIHR5cGUgY29uc3RhbnRcbiAqL1xuZXhwb3J0IGNvbnN0IE5FVFdPUktfU0VDVVJJVFlfR1JPVVBfVFlQRSA9XG4gIFwiTWljcm9zb2Z0Lk5ldHdvcmsvbmV0d29ya1NlY3VyaXR5R3JvdXBzXCI7XG4iXX0=
@@ -0,0 +1,268 @@
1
+ /**
2
+ * Azure Network Security Group implementation using AzapiResource framework
3
+ *
4
+ * This class provides a unified implementation for Azure Network Security Groups 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
+ * Security rule configuration for Network Security Group
26
+ */
27
+ export interface SecurityRule {
28
+ /**
29
+ * The name of the security rule
30
+ * Must be unique within the NSG
31
+ */
32
+ readonly name: string;
33
+ /**
34
+ * Properties of the security rule
35
+ */
36
+ readonly properties: SecurityRuleProperties;
37
+ }
38
+ /**
39
+ * Properties for a security rule
40
+ */
41
+ export interface SecurityRuleProperties {
42
+ /**
43
+ * Network protocol this rule applies to
44
+ * @example "Tcp", "Udp", "Icmp", "Esp", "Ah", "*"
45
+ */
46
+ readonly protocol: string;
47
+ /**
48
+ * The source port or range
49
+ * @example "80", "8000-8999", "*"
50
+ */
51
+ readonly sourcePortRange?: string;
52
+ /**
53
+ * The source port ranges (for multiple ranges)
54
+ * @example ["80", "443", "8080-8090"]
55
+ */
56
+ readonly sourcePortRanges?: string[];
57
+ /**
58
+ * The destination port or range
59
+ * @example "443", "3389", "*"
60
+ */
61
+ readonly destinationPortRange?: string;
62
+ /**
63
+ * The destination port ranges (for multiple ranges)
64
+ * @example ["80", "443"]
65
+ */
66
+ readonly destinationPortRanges?: string[];
67
+ /**
68
+ * The source address prefix
69
+ * @example "10.0.0.0/16", "VirtualNetwork", "Internet", "*"
70
+ */
71
+ readonly sourceAddressPrefix?: string;
72
+ /**
73
+ * The source address prefixes (for multiple sources)
74
+ * @example ["10.0.0.0/16", "10.1.0.0/16"]
75
+ */
76
+ readonly sourceAddressPrefixes?: string[];
77
+ /**
78
+ * The destination address prefix
79
+ * @example "10.0.1.0/24", "VirtualNetwork", "*"
80
+ */
81
+ readonly destinationAddressPrefix?: string;
82
+ /**
83
+ * The destination address prefixes (for multiple destinations)
84
+ * @example ["10.0.1.0/24", "10.0.2.0/24"]
85
+ */
86
+ readonly destinationAddressPrefixes?: string[];
87
+ /**
88
+ * Source application security groups
89
+ */
90
+ readonly sourceApplicationSecurityGroups?: any[];
91
+ /**
92
+ * Destination application security groups
93
+ */
94
+ readonly destinationApplicationSecurityGroups?: any[];
95
+ /**
96
+ * The network traffic is allowed or denied
97
+ * Must be "Allow" or "Deny"
98
+ */
99
+ readonly access: string;
100
+ /**
101
+ * The priority of the rule
102
+ * Value must be between 100 and 4096
103
+ * Lower values have higher priority
104
+ */
105
+ readonly priority: number;
106
+ /**
107
+ * The direction of the rule
108
+ * Must be "Inbound" or "Outbound"
109
+ */
110
+ readonly direction: string;
111
+ /**
112
+ * A description for this rule
113
+ * Restricted to 140 characters
114
+ */
115
+ readonly description?: string;
116
+ }
117
+ /**
118
+ * Properties for the Azure Network Security Group
119
+ *
120
+ * Extends AzapiResourceProps with Network Security Group specific properties
121
+ */
122
+ export interface NetworkSecurityGroupProps extends AzapiResourceProps {
123
+ /**
124
+ * Security rules for the network security group
125
+ * Optional - rules can also be added after creation
126
+ */
127
+ readonly securityRules?: SecurityRule[];
128
+ /**
129
+ * When enabled, flows created from NSG connections will be re-evaluated when rules are updated
130
+ * @defaultValue false
131
+ */
132
+ readonly flushConnection?: boolean;
133
+ /**
134
+ * Resource group ID where the NSG will be created
135
+ * Optional - will use the subscription scope if not provided
136
+ */
137
+ readonly resourceGroupId?: string;
138
+ /**
139
+ * The lifecycle rules to ignore changes
140
+ * Useful for properties that are externally managed
141
+ *
142
+ * @example ["tags", "securityRules"]
143
+ */
144
+ readonly ignoreChanges?: string[];
145
+ }
146
+ /**
147
+ * Azure Network Security Group implementation
148
+ *
149
+ * This class provides a single, version-aware implementation that replaces
150
+ * version-specific Network Security Group classes. It automatically handles version
151
+ * resolution, schema validation, and property transformation while maintaining
152
+ * full backward compatibility.
153
+ *
154
+ * @example
155
+ * // Basic usage with automatic version resolution:
156
+ * const nsg = new NetworkSecurityGroup(this, "nsg", {
157
+ * name: "my-nsg",
158
+ * location: "eastus",
159
+ * securityRules: [{
160
+ * name: "allow-ssh",
161
+ * properties: {
162
+ * protocol: "Tcp",
163
+ * sourcePortRange: "*",
164
+ * destinationPortRange: "22",
165
+ * sourceAddressPrefix: "*",
166
+ * destinationAddressPrefix: "*",
167
+ * access: "Allow",
168
+ * priority: 100,
169
+ * direction: "Inbound"
170
+ * }
171
+ * }]
172
+ * });
173
+ *
174
+ * @example
175
+ * // Usage with explicit version pinning:
176
+ * const nsg = new NetworkSecurityGroup(this, "nsg", {
177
+ * name: "my-nsg",
178
+ * location: "eastus",
179
+ * apiVersion: "2024-07-01",
180
+ * securityRules: [...]
181
+ * });
182
+ *
183
+ * @stability stable
184
+ */
185
+ export declare class NetworkSecurityGroup extends AzapiResource {
186
+ /**
187
+ * Static initialization flag to ensure schemas are registered only once
188
+ */
189
+ private static schemasRegistered;
190
+ /**
191
+ * Ensures that Network Security Group schemas are registered with the ApiVersionManager
192
+ * This is called once during the first NetworkSecurityGroup instantiation
193
+ */
194
+ private static ensureSchemasRegistered;
195
+ /**
196
+ * The input properties for this Network Security Group instance
197
+ */
198
+ readonly props: NetworkSecurityGroupProps;
199
+ readonly idOutput: cdktf.TerraformOutput;
200
+ readonly nameOutput: cdktf.TerraformOutput;
201
+ readonly locationOutput: cdktf.TerraformOutput;
202
+ readonly securityRulesOutput: cdktf.TerraformOutput;
203
+ readonly tagsOutput: cdktf.TerraformOutput;
204
+ readonly id: string;
205
+ readonly tags: {
206
+ [key: string]: string;
207
+ };
208
+ /**
209
+ * Creates a new Azure Network Security Group using the AzapiResource framework
210
+ *
211
+ * The constructor automatically handles version resolution, schema registration,
212
+ * validation, and resource creation. It maintains full backward compatibility
213
+ * with existing Network Security Group implementations.
214
+ *
215
+ * @param scope - The scope in which to define this construct
216
+ * @param id - The unique identifier for this instance
217
+ * @param props - Configuration properties for the Network Security Group
218
+ */
219
+ constructor(scope: Construct, id: string, props: NetworkSecurityGroupProps);
220
+ /**
221
+ * Gets the default API version to use when no explicit version is specified
222
+ * Returns the most recent stable version as the default
223
+ */
224
+ protected defaultVersion(): string;
225
+ /**
226
+ * Gets the Azure resource type for Network Security Groups
227
+ */
228
+ protected resourceType(): string;
229
+ /**
230
+ * Gets the API schema for the resolved version
231
+ * Uses the framework's schema resolution to get the appropriate schema
232
+ */
233
+ protected apiSchema(): ApiSchema;
234
+ /**
235
+ * Creates the resource body for the Azure API call
236
+ * Transforms the input properties into the JSON format expected by Azure REST API
237
+ */
238
+ protected createResourceBody(props: any): any;
239
+ /**
240
+ * Get the subscription ID from the Network Security Group ID
241
+ * Extracts the subscription ID from the Azure resource ID format
242
+ */
243
+ get subscriptionId(): string;
244
+ /**
245
+ * Get the full resource identifier for use in other Azure resources
246
+ * Alias for the id property to match original interface
247
+ */
248
+ get resourceId(): string;
249
+ /**
250
+ * Get the security rules output value
251
+ * Returns the Terraform interpolation string for the security rules
252
+ */
253
+ get securityRules(): string;
254
+ /**
255
+ * Add a tag to the Network Security Group
256
+ * Note: This modifies the construct props but requires a new deployment to take effect
257
+ */
258
+ addTag(key: string, value: string): void;
259
+ /**
260
+ * Remove a tag from the Network Security Group
261
+ * Note: This modifies the construct props but requires a new deployment to take effect
262
+ */
263
+ removeTag(key: string): void;
264
+ /**
265
+ * Applies ignore changes lifecycle rules if specified in props
266
+ */
267
+ private _applyIgnoreChanges;
268
+ }