@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 Public IP Address module
3
+ *
4
+ * Re-exports all Public IP Address constructs and types from the lib directory
5
+ */
6
+ export * from "./lib";
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ /**
3
+ * Azure Public IP Address module
4
+ *
5
+ * Re-exports all Public IP Address constructs and types 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXp1cmUtcHVibGljaXBhZGRyZXNzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7OztHQUlHOzs7Ozs7Ozs7Ozs7Ozs7O0FBRUgsd0NBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBenVyZSBQdWJsaWMgSVAgQWRkcmVzcyBtb2R1bGVcbiAqXG4gKiBSZS1leHBvcnRzIGFsbCBQdWJsaWMgSVAgQWRkcmVzcyBjb25zdHJ1Y3RzIGFuZCB0eXBlcyBmcm9tIHRoZSBsaWIgZGlyZWN0b3J5XG4gKi9cblxuZXhwb3J0ICogZnJvbSBcIi4vbGliXCI7XG4iXX0=
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Azure Public IP Address construct exports
3
+ *
4
+ * This module exports the Public IP Address construct and related interfaces
5
+ * for use in Terraform CDK applications.
6
+ */
7
+ export { PublicIPAddress } from "./public-ip-address";
8
+ export type { PublicIPAddressProps, PublicIPAddressSku, PublicIPAddressDnsSettings, } from "./public-ip-address";
9
+ export { PUBLIC_IP_ADDRESS_TYPE, ALL_PUBLIC_IP_ADDRESS_VERSIONS, PUBLIC_IP_ADDRESS_SCHEMA_2024_07_01, PUBLIC_IP_ADDRESS_SCHEMA_2024_10_01, PUBLIC_IP_ADDRESS_VERSION_2024_07_01, PUBLIC_IP_ADDRESS_VERSION_2024_10_01, } from "./public-ip-address-schemas";
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ /**
3
+ * Azure Public IP Address construct exports
4
+ *
5
+ * This module exports the Public IP Address construct and related interfaces
6
+ * for use in Terraform CDK applications.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.PUBLIC_IP_ADDRESS_VERSION_2024_10_01 = exports.PUBLIC_IP_ADDRESS_VERSION_2024_07_01 = exports.PUBLIC_IP_ADDRESS_SCHEMA_2024_10_01 = exports.PUBLIC_IP_ADDRESS_SCHEMA_2024_07_01 = exports.ALL_PUBLIC_IP_ADDRESS_VERSIONS = exports.PUBLIC_IP_ADDRESS_TYPE = exports.PublicIPAddress = void 0;
10
+ var public_ip_address_1 = require("./public-ip-address");
11
+ Object.defineProperty(exports, "PublicIPAddress", { enumerable: true, get: function () { return public_ip_address_1.PublicIPAddress; } });
12
+ var public_ip_address_schemas_1 = require("./public-ip-address-schemas");
13
+ Object.defineProperty(exports, "PUBLIC_IP_ADDRESS_TYPE", { enumerable: true, get: function () { return public_ip_address_schemas_1.PUBLIC_IP_ADDRESS_TYPE; } });
14
+ Object.defineProperty(exports, "ALL_PUBLIC_IP_ADDRESS_VERSIONS", { enumerable: true, get: function () { return public_ip_address_schemas_1.ALL_PUBLIC_IP_ADDRESS_VERSIONS; } });
15
+ Object.defineProperty(exports, "PUBLIC_IP_ADDRESS_SCHEMA_2024_07_01", { enumerable: true, get: function () { return public_ip_address_schemas_1.PUBLIC_IP_ADDRESS_SCHEMA_2024_07_01; } });
16
+ Object.defineProperty(exports, "PUBLIC_IP_ADDRESS_SCHEMA_2024_10_01", { enumerable: true, get: function () { return public_ip_address_schemas_1.PUBLIC_IP_ADDRESS_SCHEMA_2024_10_01; } });
17
+ Object.defineProperty(exports, "PUBLIC_IP_ADDRESS_VERSION_2024_07_01", { enumerable: true, get: function () { return public_ip_address_schemas_1.PUBLIC_IP_ADDRESS_VERSION_2024_07_01; } });
18
+ Object.defineProperty(exports, "PUBLIC_IP_ADDRESS_VERSION_2024_10_01", { enumerable: true, get: function () { return public_ip_address_schemas_1.PUBLIC_IP_ADDRESS_VERSION_2024_10_01; } });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtcHVibGljaXBhZGRyZXNzL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7O0dBS0c7OztBQUVILHlEQUFzRDtBQUE3QyxvSEFBQSxlQUFlLE9BQUE7QUFPeEIseUVBT3FDO0FBTm5DLG1JQUFBLHNCQUFzQixPQUFBO0FBQ3RCLDJJQUFBLDhCQUE4QixPQUFBO0FBQzlCLGdKQUFBLG1DQUFtQyxPQUFBO0FBQ25DLGdKQUFBLG1DQUFtQyxPQUFBO0FBQ25DLGlKQUFBLG9DQUFvQyxPQUFBO0FBQ3BDLGlKQUFBLG9DQUFvQyxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBenVyZSBQdWJsaWMgSVAgQWRkcmVzcyBjb25zdHJ1Y3QgZXhwb3J0c1xuICpcbiAqIFRoaXMgbW9kdWxlIGV4cG9ydHMgdGhlIFB1YmxpYyBJUCBBZGRyZXNzIGNvbnN0cnVjdCBhbmQgcmVsYXRlZCBpbnRlcmZhY2VzXG4gKiBmb3IgdXNlIGluIFRlcnJhZm9ybSBDREsgYXBwbGljYXRpb25zLlxuICovXG5cbmV4cG9ydCB7IFB1YmxpY0lQQWRkcmVzcyB9IGZyb20gXCIuL3B1YmxpYy1pcC1hZGRyZXNzXCI7XG5leHBvcnQgdHlwZSB7XG4gIFB1YmxpY0lQQWRkcmVzc1Byb3BzLFxuICBQdWJsaWNJUEFkZHJlc3NTa3UsXG4gIFB1YmxpY0lQQWRkcmVzc0Ruc1NldHRpbmdzLFxufSBmcm9tIFwiLi9wdWJsaWMtaXAtYWRkcmVzc1wiO1xuXG5leHBvcnQge1xuICBQVUJMSUNfSVBfQUREUkVTU19UWVBFLFxuICBBTExfUFVCTElDX0lQX0FERFJFU1NfVkVSU0lPTlMsXG4gIFBVQkxJQ19JUF9BRERSRVNTX1NDSEVNQV8yMDI0XzA3XzAxLFxuICBQVUJMSUNfSVBfQUREUkVTU19TQ0hFTUFfMjAyNF8xMF8wMSxcbiAgUFVCTElDX0lQX0FERFJFU1NfVkVSU0lPTl8yMDI0XzA3XzAxLFxuICBQVUJMSUNfSVBfQUREUkVTU19WRVJTSU9OXzIwMjRfMTBfMDEsXG59IGZyb20gXCIuL3B1YmxpYy1pcC1hZGRyZXNzLXNjaGVtYXNcIjtcbiJdfQ==
@@ -0,0 +1,32 @@
1
+ /**
2
+ * API schemas for Azure Public IP Address across all supported versions
3
+ *
4
+ * This file defines the complete API schemas for Microsoft.Network/publicIPAddresses
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 Public IP Address version 2024-07-01
11
+ */
12
+ export declare const PUBLIC_IP_ADDRESS_SCHEMA_2024_07_01: ApiSchema;
13
+ /**
14
+ * API Schema for Public IP Address version 2024-10-01
15
+ */
16
+ export declare const PUBLIC_IP_ADDRESS_SCHEMA_2024_10_01: ApiSchema;
17
+ /**
18
+ * Version configuration for Public IP Address 2024-07-01
19
+ */
20
+ export declare const PUBLIC_IP_ADDRESS_VERSION_2024_07_01: VersionConfig;
21
+ /**
22
+ * Version configuration for Public IP Address 2024-10-01
23
+ */
24
+ export declare const PUBLIC_IP_ADDRESS_VERSION_2024_10_01: VersionConfig;
25
+ /**
26
+ * All supported Public IP Address versions for registration
27
+ */
28
+ export declare const ALL_PUBLIC_IP_ADDRESS_VERSIONS: VersionConfig[];
29
+ /**
30
+ * Resource type constant
31
+ */
32
+ export declare const PUBLIC_IP_ADDRESS_TYPE = "Microsoft.Network/publicIPAddresses";
@@ -0,0 +1,227 @@
1
+ "use strict";
2
+ /**
3
+ * API schemas for Azure Public IP Address across all supported versions
4
+ *
5
+ * This file defines the complete API schemas for Microsoft.Network/publicIPAddresses
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.PUBLIC_IP_ADDRESS_TYPE = exports.ALL_PUBLIC_IP_ADDRESS_VERSIONS = exports.PUBLIC_IP_ADDRESS_VERSION_2024_10_01 = exports.PUBLIC_IP_ADDRESS_VERSION_2024_07_01 = exports.PUBLIC_IP_ADDRESS_SCHEMA_2024_10_01 = exports.PUBLIC_IP_ADDRESS_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 Public IP Address versions
17
+ */
18
+ const COMMON_PUBLIC_IP_PROPERTIES = {
19
+ location: {
20
+ dataType: version_interfaces_1.PropertyType.STRING,
21
+ required: true,
22
+ description: "Azure region for the public IP address",
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 public IP address",
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: "Public IP 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
+ sku: {
54
+ dataType: version_interfaces_1.PropertyType.OBJECT,
55
+ required: false,
56
+ description: "SKU of the public IP address (Basic or Standard)",
57
+ },
58
+ publicIPAllocationMethod: {
59
+ dataType: version_interfaces_1.PropertyType.STRING,
60
+ required: false,
61
+ defaultValue: "Dynamic",
62
+ description: "IP allocation method: Static or Dynamic",
63
+ },
64
+ publicIPAddressVersion: {
65
+ dataType: version_interfaces_1.PropertyType.STRING,
66
+ required: false,
67
+ defaultValue: "IPv4",
68
+ description: "IP address version: IPv4 or IPv6",
69
+ },
70
+ dnsSettings: {
71
+ dataType: version_interfaces_1.PropertyType.OBJECT,
72
+ required: false,
73
+ description: "DNS settings for the public IP address",
74
+ },
75
+ idleTimeoutInMinutes: {
76
+ dataType: version_interfaces_1.PropertyType.NUMBER,
77
+ required: false,
78
+ description: "Idle timeout in minutes (4-30)",
79
+ },
80
+ zones: {
81
+ dataType: version_interfaces_1.PropertyType.ARRAY,
82
+ required: false,
83
+ description: "Availability zones for the public IP address",
84
+ },
85
+ ignoreChanges: {
86
+ dataType: version_interfaces_1.PropertyType.ARRAY,
87
+ required: false,
88
+ description: "Array of property names to ignore during updates",
89
+ validation: [
90
+ {
91
+ ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
92
+ value: version_interfaces_1.PropertyType.ARRAY,
93
+ message: "IgnoreChanges must be an array of strings",
94
+ },
95
+ ],
96
+ },
97
+ };
98
+ // =============================================================================
99
+ // VERSION-SPECIFIC SCHEMAS
100
+ // =============================================================================
101
+ /**
102
+ * API Schema for Public IP Address version 2024-07-01
103
+ */
104
+ exports.PUBLIC_IP_ADDRESS_SCHEMA_2024_07_01 = {
105
+ resourceType: "Microsoft.Network/publicIPAddresses",
106
+ version: "2024-07-01",
107
+ properties: {
108
+ ...COMMON_PUBLIC_IP_PROPERTIES,
109
+ },
110
+ required: ["location"],
111
+ optional: [
112
+ "name",
113
+ "tags",
114
+ "sku",
115
+ "publicIPAllocationMethod",
116
+ "publicIPAddressVersion",
117
+ "dnsSettings",
118
+ "idleTimeoutInMinutes",
119
+ "zones",
120
+ "ignoreChanges",
121
+ ],
122
+ deprecated: [],
123
+ transformationRules: {},
124
+ validationRules: [
125
+ {
126
+ property: "idleTimeoutInMinutes",
127
+ rules: [
128
+ {
129
+ ruleType: version_interfaces_1.ValidationRuleType.VALUE_RANGE,
130
+ value: { min: 4, max: 30 },
131
+ message: "Idle timeout must be between 4 and 30 minutes",
132
+ },
133
+ ],
134
+ },
135
+ ],
136
+ };
137
+ /**
138
+ * API Schema for Public IP Address version 2024-10-01
139
+ */
140
+ exports.PUBLIC_IP_ADDRESS_SCHEMA_2024_10_01 = {
141
+ resourceType: "Microsoft.Network/publicIPAddresses",
142
+ version: "2024-10-01",
143
+ properties: {
144
+ ...COMMON_PUBLIC_IP_PROPERTIES,
145
+ },
146
+ required: ["location"],
147
+ optional: [
148
+ "name",
149
+ "tags",
150
+ "sku",
151
+ "publicIPAllocationMethod",
152
+ "publicIPAddressVersion",
153
+ "dnsSettings",
154
+ "idleTimeoutInMinutes",
155
+ "zones",
156
+ "ignoreChanges",
157
+ ],
158
+ deprecated: [],
159
+ transformationRules: {},
160
+ validationRules: [
161
+ {
162
+ property: "idleTimeoutInMinutes",
163
+ rules: [
164
+ {
165
+ ruleType: version_interfaces_1.ValidationRuleType.VALUE_RANGE,
166
+ value: { min: 4, max: 30 },
167
+ message: "Idle timeout must be between 4 and 30 minutes",
168
+ },
169
+ ],
170
+ },
171
+ ],
172
+ };
173
+ // =============================================================================
174
+ // VERSION CONFIGURATIONS
175
+ // =============================================================================
176
+ /**
177
+ * Version configuration for Public IP Address 2024-07-01
178
+ */
179
+ exports.PUBLIC_IP_ADDRESS_VERSION_2024_07_01 = {
180
+ version: "2024-07-01",
181
+ schema: exports.PUBLIC_IP_ADDRESS_SCHEMA_2024_07_01,
182
+ supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
183
+ releaseDate: "2024-07-01",
184
+ deprecationDate: undefined,
185
+ sunsetDate: undefined,
186
+ breakingChanges: [],
187
+ migrationGuide: "/docs/public-ip-address/migration-2024-07-01",
188
+ changeLog: [
189
+ {
190
+ changeType: "added",
191
+ description: "Stable release with enhanced networking features",
192
+ breaking: false,
193
+ },
194
+ ],
195
+ };
196
+ /**
197
+ * Version configuration for Public IP Address 2024-10-01
198
+ */
199
+ exports.PUBLIC_IP_ADDRESS_VERSION_2024_10_01 = {
200
+ version: "2024-10-01",
201
+ schema: exports.PUBLIC_IP_ADDRESS_SCHEMA_2024_10_01,
202
+ supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
203
+ releaseDate: "2024-10-01",
204
+ deprecationDate: undefined,
205
+ sunsetDate: undefined,
206
+ breakingChanges: [],
207
+ migrationGuide: "/docs/public-ip-address/migration-2024-10-01",
208
+ changeLog: [
209
+ {
210
+ changeType: "updated",
211
+ description: "Enhanced performance and reliability improvements",
212
+ breaking: false,
213
+ },
214
+ ],
215
+ };
216
+ /**
217
+ * All supported Public IP Address versions for registration
218
+ */
219
+ exports.ALL_PUBLIC_IP_ADDRESS_VERSIONS = [
220
+ exports.PUBLIC_IP_ADDRESS_VERSION_2024_07_01,
221
+ exports.PUBLIC_IP_ADDRESS_VERSION_2024_10_01,
222
+ ];
223
+ /**
224
+ * Resource type constant
225
+ */
226
+ exports.PUBLIC_IP_ADDRESS_TYPE = "Microsoft.Network/publicIPAddresses";
227
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWlwLWFkZHJlc3Mtc2NoZW1hcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS1wdWJsaWNpcGFkZHJlc3MvbGliL3B1YmxpYy1pcC1hZGRyZXNzLXNjaGVtYXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsMkdBTzRFO0FBRTVFLGdGQUFnRjtBQUNoRiw4QkFBOEI7QUFDOUIsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBTSwyQkFBMkIsR0FBMEM7SUFDekUsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsSUFBSTtRQUNkLFdBQVcsRUFBRSx3Q0FBd0M7UUFDckQsVUFBVSxFQUFFO1lBQ1Y7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFFBQVE7Z0JBQ3JDLE9BQU8sRUFBRSxzQkFBc0I7YUFDaEM7WUFDRDtnQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsYUFBYTtnQkFDMUMsS0FBSyxFQUFFLGFBQWE7Z0JBQ3BCLE9BQU8sRUFBRSwwREFBMEQ7YUFDcEU7U0FDRjtLQUNGO0lBQ0QsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsS0FBSztRQUNmLFdBQVcsRUFBRSwrQkFBK0I7UUFDNUMsVUFBVSxFQUFFO1lBQ1Y7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLGFBQWE7Z0JBQzFDLEtBQUssRUFBRSwrQ0FBK0M7Z0JBQ3RELE9BQU8sRUFDTCxnRkFBZ0Y7YUFDbkY7U0FDRjtLQUNGO0lBQ0QsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsS0FBSztRQUNmLFlBQVksRUFBRSxFQUFFO1FBQ2hCLFdBQVcsRUFBRSxlQUFlO0tBQzdCO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsUUFBUSxFQUFF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QUFxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBUEkgc2NoZW1hcyBmb3IgQXp1cmUgUHVibGljIElQIEFkZHJlc3MgYWNyb3NzIGFsbCBzdXBwb3J0ZWQgdmVyc2lvbnNcbiAqXG4gKiBUaGlzIGZpbGUgZGVmaW5lcyB0aGUgY29tcGxldGUgQVBJIHNjaGVtYXMgZm9yIE1pY3Jvc29mdC5OZXR3b3JrL3B1YmxpY0lQQWRkcmVzc2VzXG4gKiBhY3Jvc3MgYWxsIHN1cHBvcnRlZCBBUEkgdmVyc2lvbnMuIFRoZSBzY2hlbWFzIGFyZSB1c2VkIGJ5IHRoZSBBemFwaVJlc291cmNlXG4gKiBmcmFtZXdvcmsgZm9yIHZhbGlkYXRpb24sIHRyYW5zZm9ybWF0aW9uLCBhbmQgdmVyc2lvbiBtYW5hZ2VtZW50LlxuICovXG5cbmltcG9ydCB7XG4gIEFwaVNjaGVtYSxcbiAgUHJvcGVydHlEZWZpbml0aW9uLFxuICBQcm9wZXJ0eVR5cGUsXG4gIFZhbGlkYXRpb25SdWxlVHlwZSxcbiAgVmVyc2lvbkNvbmZpZyxcbiAgVmVyc2lvblN1cHBvcnRMZXZlbCxcbn0gZnJvbSBcIi4uLy4uL2NvcmUtYXp1cmUvbGliL3ZlcnNpb24tbWFuYWdlci9pbnRlcmZhY2VzL3ZlcnNpb24taW50ZXJmYWNlc1wiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ09NTU9OIFBST1BFUlRZIERFRklOSVRJT05TXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIENvbW1vbiBwcm9wZXJ0eSBkZWZpbml0aW9ucyBzaGFyZWQgYWNyb3NzIGFsbCBQdWJsaWMgSVAgQWRkcmVzcyB2ZXJzaW9uc1xuICovXG5jb25zdCBDT01NT05fUFVCTElDX0lQX1BST1BFUlRJRVM6IHsgW2tleTogc3RyaW5nXTogUHJvcGVydHlEZWZpbml0aW9uIH0gPSB7XG4gIGxvY2F0aW9uOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgZGVzY3JpcHRpb246IFwiQXp1cmUgcmVnaW9uIGZvciB0aGUgcHVibGljIElQIGFkZHJlc3NcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgIG1lc3NhZ2U6IFwiTG9jYXRpb24gaXMgcmVxdWlyZWRcIixcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUEFUVEVSTl9NQVRDSCxcbiAgICAgICAgdmFsdWU6IFwiXlthLXowLTldKyRcIixcbiAgICAgICAgbWVzc2FnZTogXCJMb2NhdGlvbiBtdXN0IGNvbnRhaW4gb25seSBsb3dlcmNhc2UgbGV0dGVycyBhbmQgbnVtYmVyc1wiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICBuYW1lOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOiBcIk5hbWUgb2YgdGhlIHB1YmxpYyBJUCBhZGRyZXNzXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlBBVFRFUk5fTUFUQ0gsXG4gICAgICAgIHZhbHVlOiBcIl5bYS16QS1aMC05XVthLXpBLVowLTkuXy1dezAsNzh9W2EtekEtWjAtOV9dJFwiLFxuICAgICAgICBtZXNzYWdlOlxuICAgICAgICAgIFwiUHVibGljIElQIG5hbWUgbXVzdCBiZSAyLTgwIGNoYXJzLCBhbHBoYW51bWVyaWMsIHBlcmlvZHMsIHVuZGVyc2NvcmVzLCBoeXBoZW5zXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIHRhZ3M6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLk9CSkVDVCxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVmYXVsdFZhbHVlOiB7fSxcbiAgICBkZXNjcmlwdGlvbjogXCJSZXNvdXJjZSB0YWdzXCIsXG4gIH0sXG4gIHNrdToge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuT0JKRUNULFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjogXCJTS1Ugb2YgdGhlIHB1YmxpYyBJUCBhZGRyZXNzIChCYXNpYyBvciBTdGFuZGFyZClcIixcbiAgfSxcbiAgcHVibGljSVBBbGxvY2F0aW9uTWV0aG9kOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlZmF1bHRWYWx1ZTogXCJEeW5hbWljXCIsXG4gICAgZGVzY3JpcHRpb246IFwiSVAgYWxsb2NhdGlvbiBtZXRob2Q6IFN0YXRpYyBvciBEeW5hbWljXCIsXG4gIH0sXG4gIHB1YmxpY0lQQWRkcmVzc1ZlcnNpb246IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVmYXVsdFZhbHVlOiBcIklQdjRcIixcbiAgICBkZXNjcmlwdGlvbjogXCJJUCBhZGRyZXNzIHZlcnNpb246IElQdjQgb3IgSVB2NlwiLFxuICB9LFxuICBkbnNTZXR0aW5nczoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuT0JKRUNULFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjogXCJETlMgc2V0dGluZ3MgZm9yIHRoZSBwdWJsaWMgSVAgYWRkcmVzc1wiLFxuICB9LFxuICBpZGxlVGltZW91dEluTWludXRlczoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuTlVNQkVSLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjogXCJJZGxlIHRpbWVvdXQgaW4gbWludXRlcyAoNC0zMClcIixcbiAgfSxcbiAgem9uZXM6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLkFSUkFZLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjogXCJBdmFpbGFiaWxpdHkgem9uZXMgZm9yIHRoZSBwdWJsaWMgSVAgYWRkcmVzc1wiLFxuICB9LFxuICBpZ25vcmVDaGFuZ2VzOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5BUlJBWSxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246IFwiQXJyYXkgb2YgcHJvcGVydHkgbmFtZXMgdG8gaWdub3JlIGR1cmluZyB1cGRhdGVzXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlRZUEVfQ0hFQ0ssXG4gICAgICAgIHZhbHVlOiBQcm9wZXJ0eVR5cGUuQVJSQVksXG4gICAgICAgIG1lc3NhZ2U6IFwiSWdub3JlQ2hhbmdlcyBtdXN0IGJlIGFuIGFycmF5IG9mIHN0cmluZ3NcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBWRVJTSU9OLVNQRUNJRklDIFNDSEVNQVNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogQVBJIFNjaGVtYSBmb3IgUHVibGljIElQIEFkZHJlc3MgdmVyc2lvbiAyMDI0LTA3LTAxXG4gKi9cbmV4cG9ydCBjb25zdCBQVUJMSUNfSVBfQUREUkVTU19TQ0hFTUFfMjAyNF8wN18wMTogQXBpU2NoZW1hID0ge1xuICByZXNvdXJjZVR5cGU6IFwiTWljcm9zb2Z0Lk5ldHdvcmsvcHVibGljSVBBZGRyZXNzZXNcIixcbiAgdmVyc2lvbjogXCIyMDI0LTA3LTAxXCIsXG4gIHByb3BlcnRpZXM6IHtcbiAgICAuLi5DT01NT05fUFVCTElDX0lQX1BST1BFUlRJRVMsXG4gIH0sXG4gIHJlcXVpcmVkOiBbXCJsb2NhdGlvblwiXSxcbiAgb3B0aW9uYWw6IFtcbiAgICBcIm5hbWVcIixcbiAgICBcInRhZ3NcIixcbiAgICBcInNrdVwiLFxuICAgIFwicHVibGljSVBBbGxvY2F0aW9uTWV0aG9kXCIsXG4gICAgXCJwdWJsaWNJUEFkZHJlc3NWZXJzaW9uXCIsXG4gICAgXCJkbnNTZXR0aW5nc1wiLFxuICAgIFwiaWRsZVRpbWVvdXRJbk1pbnV0ZXNcIixcbiAgICBcInpvbmVzXCIsXG4gICAgXCJpZ25vcmVDaGFuZ2VzXCIsXG4gIF0sXG4gIGRlcHJlY2F0ZWQ6IFtdLFxuICB0cmFuc2Zvcm1hdGlvblJ1bGVzOiB7fSxcbiAgdmFsaWRhdGlvblJ1bGVzOiBbXG4gICAge1xuICAgICAgcHJvcGVydHk6IFwiaWRsZVRpbWVvdXRJbk1pbnV0ZXNcIixcbiAgICAgIHJ1bGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlZBTFVFX1JBTkdFLFxuICAgICAgICAgIHZhbHVlOiB7IG1pbjogNCwgbWF4OiAzMCB9LFxuICAgICAgICAgIG1lc3NhZ2U6IFwiSWRsZSB0aW1lb3V0IG11c3QgYmUgYmV0d2VlbiA0IGFuZCAzMCBtaW51dGVzXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gIF0sXG59O1xuXG4vKipcbiAqIEFQSSBTY2hlbWEgZm9yIFB1YmxpYyBJUCBBZGRyZXNzIHZlcnNpb24gMjAyNC0xMC0wMVxuICovXG5leHBvcnQgY29uc3QgUFVCTElDX0lQX0FERFJFU1NfU0NIRU1BXzIwMjRfMTBfMDE6IEFwaVNjaGVtYSA9IHtcbiAgcmVzb3VyY2VUeXBlOiBcIk1pY3Jvc29mdC5OZXR3b3JrL3B1YmxpY0lQQWRkcmVzc2VzXCIsXG4gIHZlcnNpb246IFwiMjAyNC0xMC0wMVwiLFxuICBwcm9wZXJ0aWVzOiB7XG4gICAgLi4uQ09NTU9OX1BVQkxJQ19JUF9QUk9QRVJUSUVTLFxuICB9LFxuICByZXF1aXJlZDogW1wibG9jYXRpb25cIl0sXG4gIG9wdGlvbmFsOiBbXG4gICAgXCJuYW1lXCIsXG4gICAgXCJ0YWdzXCIsXG4gICAgXCJza3VcIixcbiAgICBcInB1YmxpY0lQQWxsb2NhdGlvbk1ldGhvZFwiLFxuICAgIFwicHVibGljSVBBZGRyZXNzVmVyc2lvblwiLFxuICAgIFwiZG5zU2V0dGluZ3NcIixcbiAgICBcImlkbGVUaW1lb3V0SW5NaW51dGVzXCIsXG4gICAgXCJ6b25lc1wiLFxuICAgIFwiaWdub3JlQ2hhbmdlc1wiLFxuICBdLFxuICBkZXByZWNhdGVkOiBbXSxcbiAgdHJhbnNmb3JtYXRpb25SdWxlczoge30sXG4gIHZhbGlkYXRpb25SdWxlczogW1xuICAgIHtcbiAgICAgIHByb3BlcnR5OiBcImlkbGVUaW1lb3V0SW5NaW51dGVzXCIsXG4gICAgICBydWxlczogW1xuICAgICAgICB7XG4gICAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5WQUxVRV9SQU5HRSxcbiAgICAgICAgICB2YWx1ZTogeyBtaW46IDQsIG1heDogMzAgfSxcbiAgICAgICAgICBtZXNzYWdlOiBcIklkbGUgdGltZW91dCBtdXN0IGJlIGJldHdlZW4gNCBhbmQgMzAgbWludXRlc1wiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICBdLFxufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFZFUlNJT04gQ09ORklHVVJBVElPTlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogVmVyc2lvbiBjb25maWd1cmF0aW9uIGZvciBQdWJsaWMgSVAgQWRkcmVzcyAyMDI0LTA3LTAxXG4gKi9cbmV4cG9ydCBjb25zdCBQVUJMSUNfSVBfQUREUkVTU19WRVJTSU9OXzIwMjRfMDdfMDE6IFZlcnNpb25Db25maWcgPSB7XG4gIHZlcnNpb246IFwiMjAyNC0wNy0wMVwiLFxuICBzY2hlbWE6IFBVQkxJQ19JUF9BRERSRVNTX1NDSEVNQV8yMDI0XzA3XzAxLFxuICBzdXBwb3J0TGV2ZWw6IFZlcnNpb25TdXBwb3J0TGV2ZWwuQUNUSVZFLFxuICByZWxlYXNlRGF0ZTogXCIyMDI0LTA3LTAxXCIsXG4gIGRlcHJlY2F0aW9uRGF0ZTogdW5kZWZpbmVkLFxuICBzdW5zZXREYXRlOiB1bmRlZmluZWQsXG4gIGJyZWFraW5nQ2hhbmdlczogW10sXG4gIG1pZ3JhdGlvbkd1aWRlOiBcIi9kb2NzL3B1YmxpYy1pcC1hZGRyZXNzL21pZ3JhdGlvbi0yMDI0LTA3LTAxXCIsXG4gIGNoYW5nZUxvZzogW1xuICAgIHtcbiAgICAgIGNoYW5nZVR5cGU6IFwiYWRkZWRcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlN0YWJsZSByZWxlYXNlIHdpdGggZW5oYW5jZWQgbmV0d29ya2luZyBmZWF0dXJlc1wiLFxuICAgICAgYnJlYWtpbmc6IGZhbHNlLFxuICAgIH0sXG4gIF0sXG59O1xuXG4vKipcbiAqIFZlcnNpb24gY29uZmlndXJhdGlvbiBmb3IgUHVibGljIElQIEFkZHJlc3MgMjAyNC0xMC0wMVxuICovXG5leHBvcnQgY29uc3QgUFVCTElDX0lQX0FERFJFU1NfVkVSU0lPTl8yMDI0XzEwXzAxOiBWZXJzaW9uQ29uZmlnID0ge1xuICB2ZXJzaW9uOiBcIjIwMjQtMTAtMDFcIixcbiAgc2NoZW1hOiBQVUJMSUNfSVBfQUREUkVTU19TQ0hFTUFfMjAyNF8xMF8wMSxcbiAgc3VwcG9ydExldmVsOiBWZXJzaW9uU3VwcG9ydExldmVsLkFDVElWRSxcbiAgcmVsZWFzZURhdGU6IFwiMjAyNC0xMC0wMVwiLFxuICBkZXByZWNhdGlvbkRhdGU6IHVuZGVmaW5lZCxcbiAgc3Vuc2V0RGF0ZTogdW5kZWZpbmVkLFxuICBicmVha2luZ0NoYW5nZXM6IFtdLFxuICBtaWdyYXRpb25HdWlkZTogXCIvZG9jcy9wdWJsaWMtaXAtYWRkcmVzcy9taWdyYXRpb24tMjAyNC0xMC0wMVwiLFxuICBjaGFuZ2VMb2c6IFtcbiAgICB7XG4gICAgICBjaGFuZ2VUeXBlOiBcInVwZGF0ZWRcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkVuaGFuY2VkIHBlcmZvcm1hbmNlIGFuZCByZWxpYWJpbGl0eSBpbXByb3ZlbWVudHNcIixcbiAgICAgIGJyZWFraW5nOiBmYWxzZSxcbiAgICB9LFxuICBdLFxufTtcblxuLyoqXG4gKiBBbGwgc3VwcG9ydGVkIFB1YmxpYyBJUCBBZGRyZXNzIHZlcnNpb25zIGZvciByZWdpc3RyYXRpb25cbiAqL1xuZXhwb3J0IGNvbnN0IEFMTF9QVUJMSUNfSVBfQUREUkVTU19WRVJTSU9OUzogVmVyc2lvbkNvbmZpZ1tdID0gW1xuICBQVUJMSUNfSVBfQUREUkVTU19WRVJTSU9OXzIwMjRfMDdfMDEsXG4gIFBVQkxJQ19JUF9BRERSRVNTX1ZFUlNJT05fMjAyNF8xMF8wMSxcbl07XG5cbi8qKlxuICogUmVzb3VyY2UgdHlwZSBjb25zdGFudFxuICovXG5leHBvcnQgY29uc3QgUFVCTElDX0lQX0FERFJFU1NfVFlQRSA9IFwiTWljcm9zb2Z0Lk5ldHdvcmsvcHVibGljSVBBZGRyZXNzZXNcIjtcbiJdfQ==
@@ -0,0 +1,256 @@
1
+ /**
2
+ * Azure Public IP Address implementation using AzapiResource framework
3
+ *
4
+ * This class provides a unified implementation for Azure Public IP Addresses 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
+ * SKU configuration for Public IP Address
26
+ */
27
+ export interface PublicIPAddressSku {
28
+ /**
29
+ * Name of the SKU
30
+ * @example "Basic", "Standard"
31
+ */
32
+ readonly name: string;
33
+ /**
34
+ * Tier of the SKU
35
+ * @example "Regional", "Global"
36
+ */
37
+ readonly tier?: string;
38
+ }
39
+ /**
40
+ * DNS settings configuration for Public IP Address
41
+ */
42
+ export interface PublicIPAddressDnsSettings {
43
+ /**
44
+ * The domain name label
45
+ * The concatenation of the domain name label and regionalized DNS zone
46
+ * make up the fully qualified domain name (FQDN) associated with the public IP
47
+ */
48
+ readonly domainNameLabel?: string;
49
+ /**
50
+ * The Fully Qualified Domain Name
51
+ * This is the concatenation of the domainNameLabel and the regionalized DNS zone
52
+ */
53
+ readonly fqdn?: string;
54
+ /**
55
+ * The reverse FQDN
56
+ * A user-visible, fully qualified domain name that resolves to this public IP address
57
+ */
58
+ readonly reverseFqdn?: string;
59
+ }
60
+ /**
61
+ * Properties for the Azure Public IP Address
62
+ *
63
+ * Extends AzapiResourceProps with Public IP Address specific properties
64
+ */
65
+ export interface PublicIPAddressProps extends AzapiResourceProps {
66
+ /**
67
+ * SKU of the public IP address
68
+ * Standard SKU supports zones and has SLA guarantees
69
+ * Basic SKU does not support zones
70
+ */
71
+ readonly sku?: PublicIPAddressSku;
72
+ /**
73
+ * Public IP allocation method
74
+ * - Static: IP address is allocated immediately and doesn't change
75
+ * - Dynamic: IP address is allocated when associated with a resource
76
+ * Note: Standard SKU requires Static allocation
77
+ * @defaultValue "Dynamic"
78
+ */
79
+ readonly publicIPAllocationMethod?: string;
80
+ /**
81
+ * Public IP address version
82
+ * @defaultValue "IPv4"
83
+ */
84
+ readonly publicIPAddressVersion?: string;
85
+ /**
86
+ * DNS settings for the public IP address
87
+ * Optional - configures DNS label for the public IP
88
+ */
89
+ readonly dnsSettings?: PublicIPAddressDnsSettings;
90
+ /**
91
+ * Idle timeout in minutes
92
+ * Valid range: 4-30 minutes
93
+ * @defaultValue 4
94
+ */
95
+ readonly idleTimeoutInMinutes?: number;
96
+ /**
97
+ * Availability zones for the public IP address
98
+ * Only supported with Standard SKU
99
+ * @example ["1"], ["2"], ["3"], ["1", "2", "3"]
100
+ */
101
+ readonly zones?: string[];
102
+ /**
103
+ * Resource group ID where the Public IP will be created
104
+ * Optional - will use the subscription scope if not provided
105
+ */
106
+ readonly resourceGroupId?: string;
107
+ /**
108
+ * The lifecycle rules to ignore changes
109
+ * Useful for properties that are externally managed
110
+ *
111
+ * @example ["tags"]
112
+ */
113
+ readonly ignoreChanges?: string[];
114
+ }
115
+ /**
116
+ * Azure Public IP Address implementation
117
+ *
118
+ * This class provides a single, version-aware implementation that replaces
119
+ * version-specific Public IP Address classes. It automatically handles version
120
+ * resolution, schema validation, and property transformation while maintaining
121
+ * full backward compatibility.
122
+ *
123
+ * @example
124
+ * // Basic usage with automatic version resolution (Standard Static IP):
125
+ * const publicIp = new PublicIPAddress(this, "publicIp", {
126
+ * name: "my-public-ip",
127
+ * location: "eastus",
128
+ * sku: {
129
+ * name: "Standard",
130
+ * tier: "Regional"
131
+ * },
132
+ * publicIPAllocationMethod: "Static"
133
+ * });
134
+ *
135
+ * @example
136
+ * // Basic Dynamic IP:
137
+ * const publicIp = new PublicIPAddress(this, "publicIp", {
138
+ * name: "my-public-ip",
139
+ * location: "eastus",
140
+ * sku: {
141
+ * name: "Basic"
142
+ * },
143
+ * publicIPAllocationMethod: "Dynamic"
144
+ * });
145
+ *
146
+ * @example
147
+ * // Public IP with DNS label:
148
+ * const publicIp = new PublicIPAddress(this, "publicIp", {
149
+ * name: "my-public-ip",
150
+ * location: "eastus",
151
+ * sku: {
152
+ * name: "Standard"
153
+ * },
154
+ * publicIPAllocationMethod: "Static",
155
+ * dnsSettings: {
156
+ * domainNameLabel: "myapp"
157
+ * }
158
+ * });
159
+ *
160
+ * @example
161
+ * // Zonal Public IP:
162
+ * const publicIp = new PublicIPAddress(this, "publicIp", {
163
+ * name: "my-public-ip",
164
+ * location: "eastus",
165
+ * sku: {
166
+ * name: "Standard"
167
+ * },
168
+ * publicIPAllocationMethod: "Static",
169
+ * zones: ["1"]
170
+ * });
171
+ *
172
+ * @stability stable
173
+ */
174
+ export declare class PublicIPAddress extends AzapiResource {
175
+ /**
176
+ * Static initialization flag to ensure schemas are registered only once
177
+ */
178
+ private static schemasRegistered;
179
+ /**
180
+ * Ensures that Public IP Address schemas are registered with the ApiVersionManager
181
+ * This is called once during the first PublicIPAddress instantiation
182
+ */
183
+ private static ensureSchemasRegistered;
184
+ /**
185
+ * The input properties for this Public IP Address instance
186
+ */
187
+ readonly props: PublicIPAddressProps;
188
+ readonly idOutput: cdktf.TerraformOutput;
189
+ readonly nameOutput: cdktf.TerraformOutput;
190
+ readonly locationOutput: cdktf.TerraformOutput;
191
+ readonly tagsOutput: cdktf.TerraformOutput;
192
+ readonly id: string;
193
+ readonly tags: {
194
+ [key: string]: string;
195
+ };
196
+ /**
197
+ * Creates a new Azure Public IP Address using the AzapiResource framework
198
+ *
199
+ * The constructor automatically handles version resolution, schema registration,
200
+ * validation, and resource creation. It maintains full backward compatibility
201
+ * with existing Public IP Address implementations.
202
+ *
203
+ * @param scope - The scope in which to define this construct
204
+ * @param id - The unique identifier for this instance
205
+ * @param props - Configuration properties for the Public IP Address
206
+ */
207
+ constructor(scope: Construct, id: string, props: PublicIPAddressProps);
208
+ /**
209
+ * Gets the default API version to use when no explicit version is specified
210
+ * Returns the most recent stable version as the default
211
+ */
212
+ protected defaultVersion(): string;
213
+ /**
214
+ * Gets the Azure resource type for Public IP Addresses
215
+ */
216
+ protected resourceType(): string;
217
+ /**
218
+ * Gets the API schema for the resolved version
219
+ * Uses the framework's schema resolution to get the appropriate schema
220
+ */
221
+ protected apiSchema(): ApiSchema;
222
+ /**
223
+ * Creates the resource body for the Azure API call
224
+ * Transforms the input properties into the JSON format expected by Azure REST API
225
+ */
226
+ protected createResourceBody(props: any): any;
227
+ /**
228
+ * Get the subscription ID from the Public IP Address ID
229
+ * Extracts the subscription ID from the Azure resource ID format
230
+ */
231
+ get subscriptionId(): string;
232
+ /**
233
+ * Get the full resource identifier for use in other Azure resources
234
+ * Alias for the id property to match original interface
235
+ */
236
+ get resourceId(): string;
237
+ /**
238
+ * Get the IP address output value
239
+ * Returns the Terraform interpolation string for the IP address
240
+ */
241
+ get ipAddress(): string;
242
+ /**
243
+ * Add a tag to the Public IP Address
244
+ * Note: This modifies the construct props but requires a new deployment to take effect
245
+ */
246
+ addTag(key: string, value: string): void;
247
+ /**
248
+ * Remove a tag from the Public IP Address
249
+ * Note: This modifies the construct props but requires a new deployment to take effect
250
+ */
251
+ removeTag(key: string): void;
252
+ /**
253
+ * Applies ignore changes lifecycle rules if specified in props
254
+ */
255
+ private _applyIgnoreChanges;
256
+ }