@microsoft/terraform-cdk-constructs 1.2.0 → 1.3.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 (291) hide show
  1. package/.jsii +54846 -26661
  2. package/API.md +72091 -23784
  3. package/lib/azure-actiongroup/index.d.ts +0 -10
  4. package/lib/azure-actiongroup/index.js +1 -11
  5. package/lib/azure-actiongroup/lib/action-group.d.ts +0 -10
  6. package/lib/azure-actiongroup/lib/action-group.js +6 -32
  7. package/lib/azure-actiongroup/lib/index.d.ts +1 -4
  8. package/lib/azure-actiongroup/lib/index.js +2 -5
  9. package/lib/azure-activitylogalert/index.d.ts +0 -10
  10. package/lib/azure-activitylogalert/index.js +1 -11
  11. package/lib/azure-activitylogalert/lib/activity-log-alert.d.ts +0 -10
  12. package/lib/azure-activitylogalert/lib/activity-log-alert.js +6 -32
  13. package/lib/azure-activitylogalert/lib/index.d.ts +1 -4
  14. package/lib/azure-activitylogalert/lib/index.js +2 -5
  15. package/lib/azure-aks/index.d.ts +0 -8
  16. package/lib/azure-aks/index.js +1 -11
  17. package/lib/azure-aks/lib/aks-cluster.d.ts +4 -13
  18. package/lib/azure-aks/lib/aks-cluster.js +13 -36
  19. package/lib/azure-aks/lib/index.d.ts +1 -10
  20. package/lib/azure-aks/lib/index.js +2 -21
  21. package/lib/azure-diagnosticsettings/index.d.ts +0 -6
  22. package/lib/azure-diagnosticsettings/index.js +1 -7
  23. package/lib/azure-diagnosticsettings/lib/diagnostic-settings.d.ts +0 -10
  24. package/lib/azure-diagnosticsettings/lib/diagnostic-settings.js +6 -32
  25. package/lib/azure-diagnosticsettings/lib/index.d.ts +1 -7
  26. package/lib/azure-diagnosticsettings/lib/index.js +2 -8
  27. package/lib/azure-dnsforwardingruleset/index.d.ts +1 -0
  28. package/lib/azure-dnsforwardingruleset/index.js +18 -0
  29. package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset-schemas.d.ts +24 -0
  30. package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset-schemas.js +206 -0
  31. package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset.d.ts +174 -0
  32. package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset.js +214 -0
  33. package/lib/azure-dnsforwardingruleset/lib/forwarding-rule-schemas.d.ts +24 -0
  34. package/lib/azure-dnsforwardingruleset/lib/forwarding-rule-schemas.js +242 -0
  35. package/lib/azure-dnsforwardingruleset/lib/forwarding-rule.d.ts +193 -0
  36. package/lib/azure-dnsforwardingruleset/lib/forwarding-rule.js +193 -0
  37. package/lib/azure-dnsforwardingruleset/lib/index.d.ts +6 -0
  38. package/lib/azure-dnsforwardingruleset/lib/index.js +23 -0
  39. package/lib/azure-dnsforwardingruleset/lib/virtual-network-link-schemas.d.ts +24 -0
  40. package/lib/azure-dnsforwardingruleset/lib/virtual-network-link-schemas.js +199 -0
  41. package/lib/azure-dnsforwardingruleset/lib/virtual-network-link.d.ts +160 -0
  42. package/lib/azure-dnsforwardingruleset/lib/virtual-network-link.js +178 -0
  43. package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.integ.d.ts +9 -0
  44. package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.integ.js +133 -0
  45. package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.spec.d.ts +9 -0
  46. package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.spec.js +350 -0
  47. package/lib/azure-dnsforwardingruleset/test/forwarding-rule.spec.d.ts +9 -0
  48. package/lib/azure-dnsforwardingruleset/test/forwarding-rule.spec.js +397 -0
  49. package/lib/azure-dnsforwardingruleset/test/virtual-network-link.spec.d.ts +9 -0
  50. package/lib/azure-dnsforwardingruleset/test/virtual-network-link.spec.js +285 -0
  51. package/lib/azure-dnsresolver/index.d.ts +1 -0
  52. package/lib/azure-dnsresolver/index.js +18 -0
  53. package/lib/azure-dnsresolver/lib/dns-resolver-schemas.d.ts +24 -0
  54. package/lib/azure-dnsresolver/lib/dns-resolver-schemas.js +218 -0
  55. package/lib/azure-dnsresolver/lib/dns-resolver.d.ts +170 -0
  56. package/lib/azure-dnsresolver/lib/dns-resolver.js +236 -0
  57. package/lib/azure-dnsresolver/lib/inbound-endpoint-schemas.d.ts +24 -0
  58. package/lib/azure-dnsresolver/lib/inbound-endpoint-schemas.js +261 -0
  59. package/lib/azure-dnsresolver/lib/inbound-endpoint.d.ts +189 -0
  60. package/lib/azure-dnsresolver/lib/inbound-endpoint.js +243 -0
  61. package/lib/azure-dnsresolver/lib/index.d.ts +6 -0
  62. package/lib/azure-dnsresolver/lib/index.js +23 -0
  63. package/lib/azure-dnsresolver/lib/outbound-endpoint-schemas.d.ts +24 -0
  64. package/lib/azure-dnsresolver/lib/outbound-endpoint-schemas.js +231 -0
  65. package/lib/azure-dnsresolver/lib/outbound-endpoint.d.ts +175 -0
  66. package/lib/azure-dnsresolver/lib/outbound-endpoint.js +234 -0
  67. package/lib/azure-dnsresolver/test/dns-resolver.integ.d.ts +14 -0
  68. package/lib/azure-dnsresolver/test/dns-resolver.integ.js +117 -0
  69. package/lib/azure-dnsresolver/test/dns-resolver.spec.d.ts +9 -0
  70. package/lib/azure-dnsresolver/test/dns-resolver.spec.js +353 -0
  71. package/lib/azure-dnsresolver/test/inbound-endpoint.integ.d.ts +9 -0
  72. package/lib/azure-dnsresolver/test/inbound-endpoint.integ.js +151 -0
  73. package/lib/azure-dnsresolver/test/inbound-endpoint.spec.d.ts +9 -0
  74. package/lib/azure-dnsresolver/test/inbound-endpoint.spec.js +441 -0
  75. package/lib/azure-dnsresolver/test/outbound-endpoint.integ.d.ts +9 -0
  76. package/lib/azure-dnsresolver/test/outbound-endpoint.integ.js +149 -0
  77. package/lib/azure-dnsresolver/test/outbound-endpoint.spec.d.ts +9 -0
  78. package/lib/azure-dnsresolver/test/outbound-endpoint.spec.js +301 -0
  79. package/lib/azure-dnszone/index.d.ts +1 -0
  80. package/lib/azure-dnszone/index.js +18 -0
  81. package/lib/azure-dnszone/lib/dns-zone-schemas.d.ts +24 -0
  82. package/lib/azure-dnszone/lib/dns-zone-schemas.js +191 -0
  83. package/lib/azure-dnszone/lib/dns-zone.d.ts +182 -0
  84. package/lib/azure-dnszone/lib/dns-zone.js +228 -0
  85. package/lib/azure-dnszone/lib/index.d.ts +2 -0
  86. package/lib/azure-dnszone/lib/index.js +19 -0
  87. package/lib/azure-dnszone/test/dns-zone.integ.d.ts +9 -0
  88. package/lib/azure-dnszone/test/dns-zone.integ.js +85 -0
  89. package/lib/azure-dnszone/test/dns-zone.spec.d.ts +9 -0
  90. package/lib/azure-dnszone/test/dns-zone.spec.js +285 -0
  91. package/lib/azure-metricalert/index.d.ts +0 -10
  92. package/lib/azure-metricalert/index.js +1 -11
  93. package/lib/azure-metricalert/lib/index.d.ts +1 -4
  94. package/lib/azure-metricalert/lib/index.js +2 -5
  95. package/lib/azure-metricalert/lib/metric-alert.d.ts +0 -10
  96. package/lib/azure-metricalert/lib/metric-alert.js +6 -32
  97. package/lib/azure-networkinterface/index.d.ts +0 -3
  98. package/lib/azure-networkinterface/index.js +1 -4
  99. package/lib/azure-networkinterface/lib/index.d.ts +1 -5
  100. package/lib/azure-networkinterface/lib/index.js +2 -5
  101. package/lib/azure-networkinterface/lib/network-interface.d.ts +4 -9
  102. package/lib/azure-networkinterface/lib/network-interface.js +14 -29
  103. package/lib/azure-networkinterface/test/network-interface.integ.js +20 -6
  104. package/lib/azure-networksecuritygroup/index.d.ts +0 -5
  105. package/lib/azure-networksecuritygroup/index.js +1 -6
  106. package/lib/azure-networksecuritygroup/lib/index.d.ts +2 -5
  107. package/lib/azure-networksecuritygroup/lib/index.js +17 -14
  108. package/lib/azure-networksecuritygroup/lib/network-security-group.d.ts +4 -13
  109. package/lib/azure-networksecuritygroup/lib/network-security-group.js +14 -36
  110. package/lib/azure-policyassignment/index.d.ts +1 -0
  111. package/lib/azure-policyassignment/index.js +18 -0
  112. package/lib/azure-policyassignment/lib/index.d.ts +2 -0
  113. package/lib/azure-policyassignment/lib/index.js +19 -0
  114. package/lib/azure-policyassignment/lib/policy-assignment-schemas.d.ts +25 -0
  115. package/lib/azure-policyassignment/lib/policy-assignment-schemas.js +260 -0
  116. package/lib/azure-policyassignment/lib/policy-assignment.d.ts +342 -0
  117. package/lib/azure-policyassignment/lib/policy-assignment.js +228 -0
  118. package/lib/azure-policyassignment/test/policy-assignment.integ.d.ts +13 -0
  119. package/lib/azure-policyassignment/test/policy-assignment.integ.js +153 -0
  120. package/lib/azure-policyassignment/test/policy-assignment.spec.d.ts +9 -0
  121. package/lib/azure-policyassignment/test/policy-assignment.spec.js +651 -0
  122. package/lib/azure-policydefinition/index.d.ts +1 -0
  123. package/lib/azure-policydefinition/index.js +18 -0
  124. package/lib/azure-policydefinition/lib/index.d.ts +2 -0
  125. package/lib/azure-policydefinition/lib/index.js +19 -0
  126. package/lib/azure-policydefinition/lib/policy-definition-schemas.d.ts +25 -0
  127. package/lib/azure-policydefinition/lib/policy-definition-schemas.js +210 -0
  128. package/lib/azure-policydefinition/lib/policy-definition.d.ts +260 -0
  129. package/lib/azure-policydefinition/lib/policy-definition.js +199 -0
  130. package/lib/azure-policydefinition/test/policy-definition.integ.d.ts +9 -0
  131. package/lib/azure-policydefinition/test/policy-definition.integ.js +137 -0
  132. package/lib/azure-policydefinition/test/policy-definition.spec.d.ts +9 -0
  133. package/lib/azure-policydefinition/test/policy-definition.spec.js +596 -0
  134. package/lib/azure-privatednszone/index.d.ts +1 -0
  135. package/lib/azure-privatednszone/index.js +18 -0
  136. package/lib/azure-privatednszone/lib/index.d.ts +2 -0
  137. package/lib/azure-privatednszone/lib/index.js +19 -0
  138. package/lib/azure-privatednszone/lib/private-dns-zone-schemas.d.ts +24 -0
  139. package/lib/azure-privatednszone/lib/private-dns-zone-schemas.js +254 -0
  140. package/lib/azure-privatednszone/lib/private-dns-zone.d.ts +178 -0
  141. package/lib/azure-privatednszone/lib/private-dns-zone.js +272 -0
  142. package/lib/azure-privatednszone/test/private-dns-zone.integ.d.ts +9 -0
  143. package/lib/azure-privatednszone/test/private-dns-zone.integ.js +84 -0
  144. package/lib/azure-privatednszone/test/private-dns-zone.spec.d.ts +9 -0
  145. package/lib/azure-privatednszone/test/private-dns-zone.spec.js +341 -0
  146. package/lib/azure-privatednszonelink/index.d.ts +1 -0
  147. package/lib/azure-privatednszonelink/index.js +18 -0
  148. package/lib/azure-privatednszonelink/lib/index.d.ts +2 -0
  149. package/lib/azure-privatednszonelink/lib/index.js +19 -0
  150. package/lib/azure-privatednszonelink/lib/private-dns-zone-link-schemas.d.ts +24 -0
  151. package/lib/azure-privatednszonelink/lib/private-dns-zone-link-schemas.js +262 -0
  152. package/lib/azure-privatednszonelink/lib/private-dns-zone-link.d.ts +202 -0
  153. package/lib/azure-privatednszonelink/lib/private-dns-zone-link.js +250 -0
  154. package/lib/azure-privatednszonelink/test/private-dns-zone-link.integ.d.ts +9 -0
  155. package/lib/azure-privatednszonelink/test/private-dns-zone-link.integ.js +110 -0
  156. package/lib/azure-privatednszonelink/test/private-dns-zone-link.spec.d.ts +9 -0
  157. package/lib/azure-privatednszonelink/test/private-dns-zone-link.spec.js +465 -0
  158. package/lib/azure-publicipaddress/index.d.ts +0 -5
  159. package/lib/azure-publicipaddress/index.js +1 -6
  160. package/lib/azure-publicipaddress/lib/index.d.ts +2 -9
  161. package/lib/azure-publicipaddress/lib/index.js +17 -17
  162. package/lib/azure-publicipaddress/lib/public-ip-address.d.ts +4 -13
  163. package/lib/azure-publicipaddress/lib/public-ip-address.js +14 -36
  164. package/lib/azure-resourcegroup/index.d.ts +0 -37
  165. package/lib/azure-resourcegroup/index.js +1 -39
  166. package/lib/azure-resourcegroup/lib/index.d.ts +1 -44
  167. package/lib/azure-resourcegroup/lib/index.js +2 -43
  168. package/lib/azure-resourcegroup/lib/resource-group.d.ts +9 -23
  169. package/lib/azure-resourcegroup/lib/resource-group.js +23 -56
  170. package/lib/azure-resourcegroup/test/resource-group.spec.js +13 -19
  171. package/lib/azure-roleassignment/index.d.ts +1 -0
  172. package/lib/azure-roleassignment/index.js +18 -0
  173. package/lib/azure-roleassignment/lib/index.d.ts +2 -0
  174. package/lib/azure-roleassignment/lib/index.js +19 -0
  175. package/lib/azure-roleassignment/lib/role-assignment-schemas.d.ts +25 -0
  176. package/lib/azure-roleassignment/lib/role-assignment-schemas.js +238 -0
  177. package/lib/azure-roleassignment/lib/role-assignment.d.ts +294 -0
  178. package/lib/azure-roleassignment/lib/role-assignment.js +257 -0
  179. package/lib/azure-roleassignment/test/role-assignment.integ.d.ts +12 -0
  180. package/lib/azure-roleassignment/test/role-assignment.integ.js +101 -0
  181. package/lib/azure-roleassignment/test/role-assignment.spec.d.ts +9 -0
  182. package/lib/azure-roleassignment/test/role-assignment.spec.js +633 -0
  183. package/lib/azure-roledefinition/index.d.ts +1 -0
  184. package/lib/azure-roledefinition/index.js +18 -0
  185. package/lib/azure-roledefinition/lib/index.d.ts +2 -0
  186. package/lib/azure-roledefinition/lib/index.js +19 -0
  187. package/lib/azure-roledefinition/lib/role-definition-schemas.d.ts +25 -0
  188. package/lib/azure-roledefinition/lib/role-definition-schemas.js +195 -0
  189. package/lib/azure-roledefinition/lib/role-definition.d.ts +236 -0
  190. package/lib/azure-roledefinition/lib/role-definition.js +192 -0
  191. package/lib/azure-roledefinition/test/role-definition.integ.d.ts +12 -0
  192. package/lib/azure-roledefinition/test/role-definition.integ.js +142 -0
  193. package/lib/azure-roledefinition/test/role-definition.spec.d.ts +9 -0
  194. package/lib/azure-roledefinition/test/role-definition.spec.js +946 -0
  195. package/lib/azure-storageaccount/index.d.ts +0 -19
  196. package/lib/azure-storageaccount/index.js +1 -20
  197. package/lib/azure-storageaccount/lib/index.d.ts +1 -7
  198. package/lib/azure-storageaccount/lib/index.js +2 -8
  199. package/lib/azure-storageaccount/lib/storage-account.d.ts +4 -9
  200. package/lib/azure-storageaccount/lib/storage-account.js +15 -29
  201. package/lib/azure-subnet/index.d.ts +0 -3
  202. package/lib/azure-subnet/index.js +1 -4
  203. package/lib/azure-subnet/lib/index.d.ts +1 -4
  204. package/lib/azure-subnet/lib/index.js +2 -5
  205. package/lib/azure-subnet/lib/subnet.d.ts +3 -14
  206. package/lib/azure-subnet/lib/subnet.js +28 -47
  207. package/lib/azure-subnet/test/subnet.integ.js +19 -7
  208. package/lib/azure-subnet/test/subnet.spec.js +1 -2
  209. package/lib/azure-virtualmachine/index.d.ts +0 -6
  210. package/lib/azure-virtualmachine/index.js +1 -7
  211. package/lib/azure-virtualmachine/lib/index.d.ts +1 -10
  212. package/lib/azure-virtualmachine/lib/index.js +2 -21
  213. package/lib/azure-virtualmachine/lib/virtual-machine.d.ts +4 -13
  214. package/lib/azure-virtualmachine/lib/virtual-machine.js +15 -36
  215. package/lib/azure-virtualnetwork/index.d.ts +0 -9
  216. package/lib/azure-virtualnetwork/index.js +1 -11
  217. package/lib/azure-virtualnetwork/lib/index.d.ts +2 -9
  218. package/lib/azure-virtualnetwork/lib/index.js +17 -20
  219. package/lib/azure-virtualnetwork/lib/virtual-network.d.ts +4 -13
  220. package/lib/azure-virtualnetwork/lib/virtual-network.js +15 -36
  221. package/lib/azure-virtualnetworkmanager/index.d.ts +1 -0
  222. package/lib/azure-virtualnetworkmanager/index.js +18 -0
  223. package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration-schemas.d.ts +48 -0
  224. package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration-schemas.js +265 -0
  225. package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration.d.ts +185 -0
  226. package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration.js +206 -0
  227. package/lib/azure-virtualnetworkmanager/lib/index.d.ts +14 -0
  228. package/lib/azure-virtualnetworkmanager/lib/index.js +31 -0
  229. package/lib/azure-virtualnetworkmanager/lib/network-group-schemas.d.ts +32 -0
  230. package/lib/azure-virtualnetworkmanager/lib/network-group-schemas.js +189 -0
  231. package/lib/azure-virtualnetworkmanager/lib/network-group-static-member-schemas.d.ts +32 -0
  232. package/lib/azure-virtualnetworkmanager/lib/network-group-static-member-schemas.js +201 -0
  233. package/lib/azure-virtualnetworkmanager/lib/network-group-static-member.d.ts +135 -0
  234. package/lib/azure-virtualnetworkmanager/lib/network-group-static-member.js +163 -0
  235. package/lib/azure-virtualnetworkmanager/lib/network-group.d.ts +139 -0
  236. package/lib/azure-virtualnetworkmanager/lib/network-group.js +158 -0
  237. package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration-schemas.d.ts +32 -0
  238. package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration-schemas.js +182 -0
  239. package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration.d.ts +144 -0
  240. package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration.js +164 -0
  241. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection-schemas.d.ts +38 -0
  242. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection-schemas.js +206 -0
  243. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection.d.ts +142 -0
  244. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection.js +162 -0
  245. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-schemas.d.ts +39 -0
  246. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-schemas.js +359 -0
  247. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule.d.ts +221 -0
  248. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule.js +204 -0
  249. package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager-schemas.d.ts +32 -0
  250. package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager-schemas.js +236 -0
  251. package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager.d.ts +337 -0
  252. package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager.js +283 -0
  253. package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.integ.d.ts +25 -0
  254. package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.integ.js +402 -0
  255. package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.spec.d.ts +9 -0
  256. package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.spec.js +1652 -0
  257. package/lib/azure-vmss/index.d.ts +0 -5
  258. package/lib/azure-vmss/index.js +1 -6
  259. package/lib/azure-vmss/lib/index.d.ts +0 -7
  260. package/lib/azure-vmss/lib/index.js +1 -21
  261. package/lib/azure-vmss/lib/virtual-machine-scale-set.d.ts +5 -13
  262. package/lib/azure-vmss/lib/virtual-machine-scale-set.js +29 -53
  263. package/lib/core-azure/lib/azapi/azapi-resource-tags.spec.d.ts +10 -0
  264. package/lib/core-azure/lib/azapi/azapi-resource-tags.spec.js +218 -0
  265. package/lib/core-azure/lib/azapi/azapi-resource.d.ts +178 -26
  266. package/lib/core-azure/lib/azapi/azapi-resource.js +328 -90
  267. package/lib/core-azure/lib/azapi/azapi-resource.spec.js +2 -2
  268. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.js +2 -2
  269. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.js +5 -5
  270. package/lib/core-azure/lib/azapi/providers-azapi/provider/index.js +5 -3
  271. package/lib/core-azure/lib/azapi/providers-azapi/resource/index.js +5 -5
  272. package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.js +3 -3
  273. package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.js +3 -3
  274. package/lib/core-azure/lib/azapi/resource-schema-validator.d.ts +118 -0
  275. package/lib/core-azure/lib/azapi/resource-schema-validator.js +236 -0
  276. package/lib/core-azure/lib/azapi/resource-version-manager.d.ts +103 -0
  277. package/lib/core-azure/lib/azapi/resource-version-manager.js +168 -0
  278. package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.js +11 -6
  279. package/lib/core-azure/lib/index.d.ts +2 -2
  280. package/lib/core-azure/lib/index.js +5 -5
  281. package/lib/core-azure/lib/version-manager/api-version-manager.js +1 -1
  282. package/lib/core-azure/lib/version-manager/interfaces/version-interfaces.js +7 -7
  283. package/lib/index.d.ts +19 -0
  284. package/lib/index.js +21 -2
  285. package/lib/testing/index.js +2 -2
  286. package/lib/testing/lib/cleanup.d.ts +1 -0
  287. package/lib/testing/lib/cleanup.js +19 -12
  288. package/lib/testing/lib/metadata.js +19 -16
  289. package/package.json +1 -1
  290. package/scripts/cleanup-test-resources.ts +22 -4
  291. package/scripts/generate-index.js +25 -8
@@ -0,0 +1 @@
1
+ export * from "./lib";
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./lib"), exports);
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXp1cmUtcHJpdmF0ZWRuc3pvbmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdDQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2xpYlwiO1xuIl19
@@ -0,0 +1,2 @@
1
+ export * from "./private-dns-zone-schemas";
2
+ export * from "./private-dns-zone";
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./private-dns-zone-schemas"), exports);
18
+ __exportStar(require("./private-dns-zone"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtcHJpdmF0ZWRuc3pvbmUvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2REFBMkM7QUFDM0MscURBQW1DIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vcHJpdmF0ZS1kbnMtem9uZS1zY2hlbWFzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcml2YXRlLWRucy16b25lXCI7XG4iXX0=
@@ -0,0 +1,24 @@
1
+ /**
2
+ * API schemas for Azure Private DNS Zone across all supported versions
3
+ *
4
+ * This file defines the complete API schemas for Microsoft.Network/privateDnsZones
5
+ * across all supported API versions. The schemas are used by the VersionedAzapiResource
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 Private DNS Zone version 2024-06-01
11
+ */
12
+ export declare const PRIVATE_DNS_ZONE_SCHEMA_2024_06_01: ApiSchema;
13
+ /**
14
+ * Version configuration for Private DNS Zone 2024-06-01
15
+ */
16
+ export declare const PRIVATE_DNS_ZONE_VERSION_2024_06_01: VersionConfig;
17
+ /**
18
+ * All supported Private DNS Zone versions for registration
19
+ */
20
+ export declare const ALL_PRIVATE_DNS_ZONE_VERSIONS: VersionConfig[];
21
+ /**
22
+ * Resource type constant
23
+ */
24
+ export declare const PRIVATE_DNS_ZONE_TYPE = "Microsoft.Network/privateDnsZones";
@@ -0,0 +1,254 @@
1
+ "use strict";
2
+ /**
3
+ * API schemas for Azure Private DNS Zone across all supported versions
4
+ *
5
+ * This file defines the complete API schemas for Microsoft.Network/privateDnsZones
6
+ * across all supported API versions. The schemas are used by the VersionedAzapiResource
7
+ * framework for validation, transformation, and version management.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.PRIVATE_DNS_ZONE_TYPE = exports.ALL_PRIVATE_DNS_ZONE_VERSIONS = exports.PRIVATE_DNS_ZONE_VERSION_2024_06_01 = exports.PRIVATE_DNS_ZONE_SCHEMA_2024_06_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 Private DNS Zone versions
17
+ */
18
+ const COMMON_PROPERTIES = {
19
+ location: {
20
+ dataType: version_interfaces_1.PropertyType.STRING,
21
+ required: true,
22
+ defaultValue: "global",
23
+ description: "The Azure region where the Private DNS Zone will be created. Private DNS Zones are global resources, so this is typically 'global'",
24
+ validation: [
25
+ {
26
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
27
+ message: "Location is required for Private DNS Zones",
28
+ },
29
+ ],
30
+ },
31
+ tags: {
32
+ dataType: version_interfaces_1.PropertyType.OBJECT,
33
+ required: false,
34
+ defaultValue: {},
35
+ description: "A dictionary of tags to apply to the Private DNS Zone for organizational, billing, or other purposes",
36
+ validation: [
37
+ {
38
+ ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
39
+ value: version_interfaces_1.PropertyType.OBJECT,
40
+ message: "Tags must be an object with string key-value pairs",
41
+ },
42
+ ],
43
+ },
44
+ name: {
45
+ dataType: version_interfaces_1.PropertyType.STRING,
46
+ required: true,
47
+ description: "The name of the Private DNS Zone (without a terminating dot). Must be a valid domain name",
48
+ validation: [
49
+ {
50
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
51
+ message: "Private DNS Zone name is required",
52
+ },
53
+ {
54
+ ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
55
+ value: "^[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?(\\.[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?)*$",
56
+ message: "Private DNS Zone name must be a valid domain name without terminating dot",
57
+ },
58
+ {
59
+ ruleType: version_interfaces_1.ValidationRuleType.VALUE_RANGE,
60
+ value: { minLength: 1, maxLength: 253 },
61
+ message: "Private DNS Zone name must be between 1 and 253 characters",
62
+ },
63
+ ],
64
+ },
65
+ ignoreChanges: {
66
+ dataType: version_interfaces_1.PropertyType.ARRAY,
67
+ required: false,
68
+ description: "Array of property names to ignore during updates",
69
+ validation: [
70
+ {
71
+ ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
72
+ value: version_interfaces_1.PropertyType.ARRAY,
73
+ message: "IgnoreChanges must be an array of strings",
74
+ },
75
+ ],
76
+ },
77
+ };
78
+ // =============================================================================
79
+ // READ-ONLY PROPERTY DEFINITIONS
80
+ // =============================================================================
81
+ /**
82
+ * Read-only properties that are populated by Azure after creation
83
+ * These properties should not be included in the request body
84
+ */
85
+ const READ_ONLY_PROPERTIES = {
86
+ maxNumberOfRecordSets: {
87
+ dataType: version_interfaces_1.PropertyType.NUMBER,
88
+ required: false,
89
+ description: "The maximum number of record sets that can be created in this Private DNS zone (read-only)",
90
+ validation: [
91
+ {
92
+ ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
93
+ value: version_interfaces_1.PropertyType.NUMBER,
94
+ message: "MaxNumberOfRecordSets must be a number",
95
+ },
96
+ ],
97
+ },
98
+ numberOfRecordSets: {
99
+ dataType: version_interfaces_1.PropertyType.NUMBER,
100
+ required: false,
101
+ description: "The current number of record sets in this Private DNS zone (read-only)",
102
+ validation: [
103
+ {
104
+ ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
105
+ value: version_interfaces_1.PropertyType.NUMBER,
106
+ message: "NumberOfRecordSets must be a number",
107
+ },
108
+ ],
109
+ },
110
+ maxNumberOfVirtualNetworkLinks: {
111
+ dataType: version_interfaces_1.PropertyType.NUMBER,
112
+ required: false,
113
+ description: "The maximum number of virtual network links that can be created in this Private DNS zone (read-only)",
114
+ validation: [
115
+ {
116
+ ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
117
+ value: version_interfaces_1.PropertyType.NUMBER,
118
+ message: "MaxNumberOfVirtualNetworkLinks must be a number",
119
+ },
120
+ ],
121
+ },
122
+ numberOfVirtualNetworkLinks: {
123
+ dataType: version_interfaces_1.PropertyType.NUMBER,
124
+ required: false,
125
+ description: "The current number of virtual network links in this Private DNS zone (read-only)",
126
+ validation: [
127
+ {
128
+ ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
129
+ value: version_interfaces_1.PropertyType.NUMBER,
130
+ message: "NumberOfVirtualNetworkLinks must be a number",
131
+ },
132
+ ],
133
+ },
134
+ maxNumberOfVirtualNetworkLinksWithRegistration: {
135
+ dataType: version_interfaces_1.PropertyType.NUMBER,
136
+ required: false,
137
+ description: "The maximum number of virtual network links with auto-registration that can be created in this Private DNS zone (read-only)",
138
+ validation: [
139
+ {
140
+ ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
141
+ value: version_interfaces_1.PropertyType.NUMBER,
142
+ message: "MaxNumberOfVirtualNetworkLinksWithRegistration must be a number",
143
+ },
144
+ ],
145
+ },
146
+ numberOfVirtualNetworkLinksWithRegistration: {
147
+ dataType: version_interfaces_1.PropertyType.NUMBER,
148
+ required: false,
149
+ description: "The current number of virtual network links with auto-registration in this Private DNS zone (read-only)",
150
+ validation: [
151
+ {
152
+ ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
153
+ value: version_interfaces_1.PropertyType.NUMBER,
154
+ message: "NumberOfVirtualNetworkLinksWithRegistration must be a number",
155
+ },
156
+ ],
157
+ },
158
+ provisioningState: {
159
+ dataType: version_interfaces_1.PropertyType.STRING,
160
+ required: false,
161
+ description: "The provisioning state of the Private DNS zone resource (read-only)",
162
+ validation: [
163
+ {
164
+ ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
165
+ value: version_interfaces_1.PropertyType.STRING,
166
+ message: "ProvisioningState must be a string",
167
+ },
168
+ ],
169
+ },
170
+ internalId: {
171
+ dataType: version_interfaces_1.PropertyType.STRING,
172
+ required: false,
173
+ description: "Internal identifier for the Private DNS zone (read-only)",
174
+ validation: [
175
+ {
176
+ ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
177
+ value: version_interfaces_1.PropertyType.STRING,
178
+ message: "InternalId must be a string",
179
+ },
180
+ ],
181
+ },
182
+ };
183
+ // =============================================================================
184
+ // VERSION-SPECIFIC SCHEMAS
185
+ // =============================================================================
186
+ /**
187
+ * API Schema for Private DNS Zone version 2024-06-01
188
+ */
189
+ exports.PRIVATE_DNS_ZONE_SCHEMA_2024_06_01 = {
190
+ resourceType: "Microsoft.Network/privateDnsZones",
191
+ version: "2024-06-01",
192
+ properties: {
193
+ ...COMMON_PROPERTIES,
194
+ ...READ_ONLY_PROPERTIES,
195
+ },
196
+ required: ["location", "name"],
197
+ optional: ["tags", "ignoreChanges"],
198
+ deprecated: [],
199
+ transformationRules: {},
200
+ validationRules: [
201
+ {
202
+ property: "location",
203
+ rules: [
204
+ {
205
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
206
+ message: "Location is required for Private DNS Zones",
207
+ },
208
+ ],
209
+ },
210
+ {
211
+ property: "name",
212
+ rules: [
213
+ {
214
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
215
+ message: "Name is required for Private DNS Zones",
216
+ },
217
+ ],
218
+ },
219
+ ],
220
+ };
221
+ // =============================================================================
222
+ // VERSION CONFIGURATIONS
223
+ // =============================================================================
224
+ /**
225
+ * Version configuration for Private DNS Zone 2024-06-01
226
+ */
227
+ exports.PRIVATE_DNS_ZONE_VERSION_2024_06_01 = {
228
+ version: "2024-06-01",
229
+ schema: exports.PRIVATE_DNS_ZONE_SCHEMA_2024_06_01,
230
+ supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
231
+ releaseDate: "2024-06-01",
232
+ deprecationDate: undefined,
233
+ sunsetDate: undefined,
234
+ breakingChanges: [],
235
+ migrationGuide: "/docs/private-dns-zone/migration-2024-06-01",
236
+ changeLog: [
237
+ {
238
+ changeType: "added",
239
+ description: "Latest stable release of Private DNS Zone API with full support for private DNS zones and virtual network links",
240
+ breaking: false,
241
+ },
242
+ ],
243
+ };
244
+ /**
245
+ * All supported Private DNS Zone versions for registration
246
+ */
247
+ exports.ALL_PRIVATE_DNS_ZONE_VERSIONS = [
248
+ exports.PRIVATE_DNS_ZONE_VERSION_2024_06_01,
249
+ ];
250
+ /**
251
+ * Resource type constant
252
+ */
253
+ exports.PRIVATE_DNS_ZONE_TYPE = "Microsoft.Network/privateDnsZones";
254
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZS1kbnMtem9uZS1zY2hlbWFzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F6dXJlLXByaXZhdGVkbnN6b25lL2xpYi9wcml2YXRlLWRucy16b25lLXNjaGVtYXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsMkdBTzRFO0FBRTVFLGdGQUFnRjtBQUNoRiw4QkFBOEI7QUFDOUIsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBTSxpQkFBaUIsR0FBMEM7SUFDL0QsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsSUFBSTtRQUNkLFlBQVksRUFBRSxRQUFRO1FBQ3RCLFdBQVcsRUFDVCxvSUFBb0k7UUFDdEksVUFBVSxFQUFFO1lBQ1Y7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFFBQVE7Z0JBQ3JDLE9BQU8sRUFBRSw0Q0FBNEM7YUFDdEQ7U0FDRjtLQUNGO0lBQ0QsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsS0FBSztRQUNmLFlBQVksRUFBRSxFQUFFO1FBQ2hCLFdBQVcsRUFDVCxzR0FBc0c7UUFDeEcsVUFBVSxFQUFFO1lBQ1Y7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFVBQVU7Z0JBQ3ZDLEtBQUssRUFBRSxpQ0FBWSxDQUFDLE1BQU07Z0JBQzFCLE9BQU8sRUFBRSxvREFBb0Q7YUFDOUQ7U0FDRjtLQUNGO0lBQ0QsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsSUFBSTtRQUNkLFdBQVcsRUFDVCwyRkFBMkY7UUFDN0YsVUFBVSxFQUFFO1lBQ1Y7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFFBQVE7Z0JBQ3JDLE9BQU8sRUFBRSxtQ0FBbUM7YUFDN0M7WUFDRDtnQkFDRSxR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Q3REO2FBQ0Y7U0FDRjtRQUNEO1lBQ0UsUUFBUSxFQUFFLE1BQU07WUFDaEIsS0FBSyxFQUFFO2dCQUNMO29CQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FBQyxRQUFRO29CQUNyQyxPQUFPLEVBQUUsd0NBQXdDO2lCQUNsRDthQUNGO1NBQ0Y7S0FDRjtDQUNGLENBQUM7QUFFRixnRkFBZ0Y7QUFDaEYseUJBQXlCO0FBQ3pCLGdGQUFnRjtBQUVoRjs7R0FFRztBQUNVLFFBQUEsbUNBQW1DLEdBQWtCO0lBQ2hFLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE1BQU0sRUFBRSwwQ0FBa0M7SUFDMUMsWUFBWSxFQUFFLHdDQUFtQixDQUFDLE1BQU07SUFDeEMsV0FBVyxFQUFFLFlBQVk7SUFDekIsZUFBZSxFQUFFLFNBQVM7SUFDMUIsVUFBVSxFQUFFLFNBQVM7SUFDckIsZUFBZSxFQUFFLEVBQUU7SUFDbkIsY0FBYyxFQUFFLDZDQUE2QztJQUM3RCxTQUFTLEVBQUU7UUFDVDtZQUNFLFVBQVUsRUFBRSxPQUFPO1lBQ25CLFdBQVcsRUFDVCxpSEFBaUg7WUFDbkgsUUFBUSxFQUFFLEtBQUs7U0FDaEI7S0FDRjtDQUNGLENBQUM7QUFFRjs7R0FFRztBQUNVLFFBQUEsNkJBQTZCLEdBQW9CO0lBQzVELDJDQUFtQztDQUNwQyxDQUFDO0FBRUY7O0dBRUc7QUFDVSxRQUFBLHFCQUFxQixHQUFHLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBUEkgc2NoZW1hcyBmb3IgQXp1cmUgUHJpdmF0ZSBETlMgWm9uZSBhY3Jvc3MgYWxsIHN1cHBvcnRlZCB2ZXJzaW9uc1xuICpcbiAqIFRoaXMgZmlsZSBkZWZpbmVzIHRoZSBjb21wbGV0ZSBBUEkgc2NoZW1hcyBmb3IgTWljcm9zb2Z0Lk5ldHdvcmsvcHJpdmF0ZURuc1pvbmVzXG4gKiBhY3Jvc3MgYWxsIHN1cHBvcnRlZCBBUEkgdmVyc2lvbnMuIFRoZSBzY2hlbWFzIGFyZSB1c2VkIGJ5IHRoZSBWZXJzaW9uZWRBemFwaVJlc291cmNlXG4gKiBmcmFtZXdvcmsgZm9yIHZhbGlkYXRpb24sIHRyYW5zZm9ybWF0aW9uLCBhbmQgdmVyc2lvbiBtYW5hZ2VtZW50LlxuICovXG5cbmltcG9ydCB7XG4gIEFwaVNjaGVtYSxcbiAgUHJvcGVydHlEZWZpbml0aW9uLFxuICBQcm9wZXJ0eVR5cGUsXG4gIFZhbGlkYXRpb25SdWxlVHlwZSxcbiAgVmVyc2lvbkNvbmZpZyxcbiAgVmVyc2lvblN1cHBvcnRMZXZlbCxcbn0gZnJvbSBcIi4uLy4uL2NvcmUtYXp1cmUvbGliL3ZlcnNpb24tbWFuYWdlci9pbnRlcmZhY2VzL3ZlcnNpb24taW50ZXJmYWNlc1wiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ09NTU9OIFBST1BFUlRZIERFRklOSVRJT05TXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIENvbW1vbiBwcm9wZXJ0eSBkZWZpbml0aW9ucyBzaGFyZWQgYWNyb3NzIGFsbCBQcml2YXRlIEROUyBab25lIHZlcnNpb25zXG4gKi9cbmNvbnN0IENPTU1PTl9QUk9QRVJUSUVTOiB7IFtrZXk6IHN0cmluZ106IFByb3BlcnR5RGVmaW5pdGlvbiB9ID0ge1xuICBsb2NhdGlvbjoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIGRlZmF1bHRWYWx1ZTogXCJnbG9iYWxcIixcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiVGhlIEF6dXJlIHJlZ2lvbiB3aGVyZSB0aGUgUHJpdmF0ZSBETlMgWm9uZSB3aWxsIGJlIGNyZWF0ZWQuIFByaXZhdGUgRE5TIFpvbmVzIGFyZSBnbG9iYWwgcmVzb3VyY2VzLCBzbyB0aGlzIGlzIHR5cGljYWxseSAnZ2xvYmFsJ1wiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgbWVzc2FnZTogXCJMb2NhdGlvbiBpcyByZXF1aXJlZCBmb3IgUHJpdmF0ZSBETlMgWm9uZXNcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgdGFnczoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuT0JKRUNULFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZWZhdWx0VmFsdWU6IHt9LFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJBIGRpY3Rpb25hcnkgb2YgdGFncyB0byBhcHBseSB0byB0aGUgUHJpdmF0ZSBETlMgWm9uZSBmb3Igb3JnYW5pemF0aW9uYWwsIGJpbGxpbmcsIG9yIG90aGVyIHB1cnBvc2VzXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlRZUEVfQ0hFQ0ssXG4gICAgICAgIHZhbHVlOiBQcm9wZXJ0eVR5cGUuT0JKRUNULFxuICAgICAgICBtZXNzYWdlOiBcIlRhZ3MgbXVzdCBiZSBhbiBvYmplY3Qgd2l0aCBzdHJpbmcga2V5LXZhbHVlIHBhaXJzXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIG5hbWU6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiVGhlIG5hbWUgb2YgdGhlIFByaXZhdGUgRE5TIFpvbmUgKHdpdGhvdXQgYSB0ZXJtaW5hdGluZyBkb3QpLiBNdXN0IGJlIGEgdmFsaWQgZG9tYWluIG5hbWVcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgIG1lc3NhZ2U6IFwiUHJpdmF0ZSBETlMgWm9uZSBuYW1lIGlzIHJlcXVpcmVkXCIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlBBVFRFUk5fTUFUQ0gsXG4gICAgICAgIHZhbHVlOlxuICAgICAgICAgIFwiXlthLXpBLVowLTldKFthLXpBLVowLTktXSpbYS16QS1aMC05XSk/KFxcXFwuW2EtekEtWjAtOV0oW2EtekEtWjAtOS1dKlthLXpBLVowLTldKT8pKiRcIixcbiAgICAgICAgbWVzc2FnZTpcbiAgICAgICAgICBcIlByaXZhdGUgRE5TIFpvbmUgbmFtZSBtdXN0IGJlIGEgdmFsaWQgZG9tYWluIG5hbWUgd2l0aG91dCB0ZXJtaW5hdGluZyBkb3RcIixcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVkFMVUVfUkFOR0UsXG4gICAgICAgIHZhbHVlOiB7IG1pbkxlbmd0aDogMSwgbWF4TGVuZ3RoOiAyNTMgfSxcbiAgICAgICAgbWVzc2FnZTogXCJQcml2YXRlIEROUyBab25lIG5hbWUgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDI1MyBjaGFyYWN0ZXJzXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIGlnbm9yZUNoYW5nZXM6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLkFSUkFZLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjogXCJBcnJheSBvZiBwcm9wZXJ0eSBuYW1lcyB0byBpZ25vcmUgZHVyaW5nIHVwZGF0ZXNcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVFlQRV9DSEVDSyxcbiAgICAgICAgdmFsdWU6IFByb3BlcnR5VHlwZS5BUlJBWSxcbiAgICAgICAgbWVzc2FnZTogXCJJZ25vcmVDaGFuZ2VzIG11c3QgYmUgYW4gYXJyYXkgb2Ygc3RyaW5nc1wiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJFQUQtT05MWSBQUk9QRVJUWSBERUZJTklUSU9OU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBSZWFkLW9ubHkgcHJvcGVydGllcyB0aGF0IGFyZSBwb3B1bGF0ZWQgYnkgQXp1cmUgYWZ0ZXIgY3JlYXRpb25cbiAqIFRoZXNlIHByb3BlcnRpZXMgc2hvdWxkIG5vdCBiZSBpbmNsdWRlZCBpbiB0aGUgcmVxdWVzdCBib2R5XG4gKi9cbmNvbnN0IFJFQURfT05MWV9QUk9QRVJUSUVTOiB7IFtrZXk6IHN0cmluZ106IFByb3BlcnR5RGVmaW5pdGlvbiB9ID0ge1xuICBtYXhOdW1iZXJPZlJlY29yZFNldHM6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLk5VTUJFUixcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIlRoZSBtYXhpbXVtIG51bWJlciBvZiByZWNvcmQgc2V0cyB0aGF0IGNhbiBiZSBjcmVhdGVkIGluIHRoaXMgUHJpdmF0ZSBETlMgem9uZSAocmVhZC1vbmx5KVwiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5UWVBFX0NIRUNLLFxuICAgICAgICB2YWx1ZTogUHJvcGVydHlUeXBlLk5VTUJFUixcbiAgICAgICAgbWVzc2FnZTogXCJNYXhOdW1iZXJPZlJlY29yZFNldHMgbXVzdCBiZSBhIG51bWJlclwiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICBudW1iZXJPZlJlY29yZFNldHM6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLk5VTUJFUixcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIlRoZSBjdXJyZW50IG51bWJlciBvZiByZWNvcmQgc2V0cyBpbiB0aGlzIFByaXZhdGUgRE5TIHpvbmUgKHJlYWQtb25seSlcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVFlQRV9DSEVDSyxcbiAgICAgICAgdmFsdWU6IFByb3BlcnR5VHlwZS5OVU1CRVIsXG4gICAgICAgIG1lc3NhZ2U6IFwiTnVtYmVyT2ZSZWNvcmRTZXRzIG11c3QgYmUgYSBudW1iZXJcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgbWF4TnVtYmVyT2ZWaXJ0dWFsTmV0d29ya0xpbmtzOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5OVU1CRVIsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJUaGUgbWF4aW11bSBudW1iZXIgb2YgdmlydHVhbCBuZXR3b3JrIGxpbmtzIHRoYXQgY2FuIGJlIGNyZWF0ZWQgaW4gdGhpcyBQcml2YXRlIEROUyB6b25lIChyZWFkLW9ubHkpXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlRZUEVfQ0hFQ0ssXG4gICAgICAgIHZhbHVlOiBQcm9wZXJ0eVR5cGUuTlVNQkVSLFxuICAgICAgICBtZXNzYWdlOiBcIk1heE51bWJlck9mVmlydHVhbE5ldHdvcmtMaW5rcyBtdXN0IGJlIGEgbnVtYmVyXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIG51bWJlck9mVmlydHVhbE5ldHdvcmtMaW5rczoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuTlVNQkVSLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiVGhlIGN1cnJlbnQgbnVtYmVyIG9mIHZpcnR1YWwgbmV0d29yayBsaW5rcyBpbiB0aGlzIFByaXZhdGUgRE5TIHpvbmUgKHJlYWQtb25seSlcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVFlQRV9DSEVDSyxcbiAgICAgICAgdmFsdWU6IFByb3BlcnR5VHlwZS5OVU1CRVIsXG4gICAgICAgIG1lc3NhZ2U6IFwiTnVtYmVyT2ZWaXJ0dWFsTmV0d29ya0xpbmtzIG11c3QgYmUgYSBudW1iZXJcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgbWF4TnVtYmVyT2ZWaXJ0dWFsTmV0d29ya0xpbmtzV2l0aFJlZ2lzdHJhdGlvbjoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuTlVNQkVSLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiVGhlIG1heGltdW0gbnVtYmVyIG9mIHZpcnR1YWwgbmV0d29yayBsaW5rcyB3aXRoIGF1dG8tcmVnaXN0cmF0aW9uIHRoYXQgY2FuIGJlIGNyZWF0ZWQgaW4gdGhpcyBQcml2YXRlIEROUyB6b25lIChyZWFkLW9ubHkpXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlRZUEVfQ0hFQ0ssXG4gICAgICAgIHZhbHVlOiBQcm9wZXJ0eVR5cGUuTlVNQkVSLFxuICAgICAgICBtZXNzYWdlOlxuICAgICAgICAgIFwiTWF4TnVtYmVyT2ZWaXJ0dWFsTmV0d29ya0xpbmtzV2l0aFJlZ2lzdHJhdGlvbiBtdXN0IGJlIGEgbnVtYmVyXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIG51bWJlck9mVmlydHVhbE5ldHdvcmtMaW5rc1dpdGhSZWdpc3RyYXRpb246IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLk5VTUJFUixcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIlRoZSBjdXJyZW50IG51bWJlciBvZiB2aXJ0dWFsIG5ldHdvcmsgbGlua3Mgd2l0aCBhdXRvLXJlZ2lzdHJhdGlvbiBpbiB0aGlzIFByaXZhdGUgRE5TIHpvbmUgKHJlYWQtb25seSlcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVFlQRV9DSEVDSyxcbiAgICAgICAgdmFsdWU6IFByb3BlcnR5VHlwZS5OVU1CRVIsXG4gICAgICAgIG1lc3NhZ2U6IFwiTnVtYmVyT2ZWaXJ0dWFsTmV0d29ya0xpbmtzV2l0aFJlZ2lzdHJhdGlvbiBtdXN0IGJlIGEgbnVtYmVyXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIHByb3Zpc2lvbmluZ1N0YXRlOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJUaGUgcHJvdmlzaW9uaW5nIHN0YXRlIG9mIHRoZSBQcml2YXRlIEROUyB6b25lIHJlc291cmNlIChyZWFkLW9ubHkpXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlRZUEVfQ0hFQ0ssXG4gICAgICAgIHZhbHVlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgICAgICBtZXNzYWdlOiBcIlByb3Zpc2lvbmluZ1N0YXRlIG11c3QgYmUgYSBzdHJpbmdcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgaW50ZXJuYWxJZDoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjogXCJJbnRlcm5hbCBpZGVudGlmaWVyIGZvciB0aGUgUHJpdmF0ZSBETlMgem9uZSAocmVhZC1vbmx5KVwiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5UWVBFX0NIRUNLLFxuICAgICAgICB2YWx1ZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICAgICAgbWVzc2FnZTogXCJJbnRlcm5hbElkIG11c3QgYmUgYSBzdHJpbmdcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBWRVJTSU9OLVNQRUNJRklDIFNDSEVNQVNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogQVBJIFNjaGVtYSBmb3IgUHJpdmF0ZSBETlMgWm9uZSB2ZXJzaW9uIDIwMjQtMDYtMDFcbiAqL1xuZXhwb3J0IGNvbnN0IFBSSVZBVEVfRE5TX1pPTkVfU0NIRU1BXzIwMjRfMDZfMDE6IEFwaVNjaGVtYSA9IHtcbiAgcmVzb3VyY2VUeXBlOiBcIk1pY3Jvc29mdC5OZXR3b3JrL3ByaXZhdGVEbnNab25lc1wiLFxuICB2ZXJzaW9uOiBcIjIwMjQtMDYtMDFcIixcbiAgcHJvcGVydGllczoge1xuICAgIC4uLkNPTU1PTl9QUk9QRVJUSUVTLFxuICAgIC4uLlJFQURfT05MWV9QUk9QRVJUSUVTLFxuICB9LFxuICByZXF1aXJlZDogW1wibG9jYXRpb25cIiwgXCJuYW1lXCJdLFxuICBvcHRpb25hbDogW1widGFnc1wiLCBcImlnbm9yZUNoYW5nZXNcIl0sXG4gIGRlcHJlY2F0ZWQ6IFtdLFxuICB0cmFuc2Zvcm1hdGlvblJ1bGVzOiB7fSxcbiAgdmFsaWRhdGlvblJ1bGVzOiBbXG4gICAge1xuICAgICAgcHJvcGVydHk6IFwibG9jYXRpb25cIixcbiAgICAgIHJ1bGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICAgIG1lc3NhZ2U6IFwiTG9jYXRpb24gaXMgcmVxdWlyZWQgZm9yIFByaXZhdGUgRE5TIFpvbmVzXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvcGVydHk6IFwibmFtZVwiLFxuICAgICAgcnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgICAgbWVzc2FnZTogXCJOYW1lIGlzIHJlcXVpcmVkIGZvciBQcml2YXRlIEROUyBab25lc1wiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICBdLFxufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFZFUlNJT04gQ09ORklHVVJBVElPTlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogVmVyc2lvbiBjb25maWd1cmF0aW9uIGZvciBQcml2YXRlIEROUyBab25lIDIwMjQtMDYtMDFcbiAqL1xuZXhwb3J0IGNvbnN0IFBSSVZBVEVfRE5TX1pPTkVfVkVSU0lPTl8yMDI0XzA2XzAxOiBWZXJzaW9uQ29uZmlnID0ge1xuICB2ZXJzaW9uOiBcIjIwMjQtMDYtMDFcIixcbiAgc2NoZW1hOiBQUklWQVRFX0ROU19aT05FX1NDSEVNQV8yMDI0XzA2XzAxLFxuICBzdXBwb3J0TGV2ZWw6IFZlcnNpb25TdXBwb3J0TGV2ZWwuQUNUSVZFLFxuICByZWxlYXNlRGF0ZTogXCIyMDI0LTA2LTAxXCIsXG4gIGRlcHJlY2F0aW9uRGF0ZTogdW5kZWZpbmVkLFxuICBzdW5zZXREYXRlOiB1bmRlZmluZWQsXG4gIGJyZWFraW5nQ2hhbmdlczogW10sXG4gIG1pZ3JhdGlvbkd1aWRlOiBcIi9kb2NzL3ByaXZhdGUtZG5zLXpvbmUvbWlncmF0aW9uLTIwMjQtMDYtMDFcIixcbiAgY2hhbmdlTG9nOiBbXG4gICAge1xuICAgICAgY2hhbmdlVHlwZTogXCJhZGRlZFwiLFxuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgIFwiTGF0ZXN0IHN0YWJsZSByZWxlYXNlIG9mIFByaXZhdGUgRE5TIFpvbmUgQVBJIHdpdGggZnVsbCBzdXBwb3J0IGZvciBwcml2YXRlIEROUyB6b25lcyBhbmQgdmlydHVhbCBuZXR3b3JrIGxpbmtzXCIsXG4gICAgICBicmVha2luZzogZmFsc2UsXG4gICAgfSxcbiAgXSxcbn07XG5cbi8qKlxuICogQWxsIHN1cHBvcnRlZCBQcml2YXRlIEROUyBab25lIHZlcnNpb25zIGZvciByZWdpc3RyYXRpb25cbiAqL1xuZXhwb3J0IGNvbnN0IEFMTF9QUklWQVRFX0ROU19aT05FX1ZFUlNJT05TOiBWZXJzaW9uQ29uZmlnW10gPSBbXG4gIFBSSVZBVEVfRE5TX1pPTkVfVkVSU0lPTl8yMDI0XzA2XzAxLFxuXTtcblxuLyoqXG4gKiBSZXNvdXJjZSB0eXBlIGNvbnN0YW50XG4gKi9cbmV4cG9ydCBjb25zdCBQUklWQVRFX0ROU19aT05FX1RZUEUgPSBcIk1pY3Jvc29mdC5OZXR3b3JrL3ByaXZhdGVEbnNab25lc1wiO1xuIl19
@@ -0,0 +1,178 @@
1
+ /**
2
+ * Unified Azure Private DNS Zone implementation using VersionedAzapiResource framework
3
+ *
4
+ * This class provides a single, version-aware implementation that automatically handles
5
+ * version management, schema validation, and property transformation across all
6
+ * supported API versions.
7
+ *
8
+ * Supported API Versions:
9
+ * - 2024-06-01 (Active, Latest)
10
+ *
11
+ * Features:
12
+ * - Automatic latest version resolution when no version is specified
13
+ * - Explicit version pinning for stability requirements
14
+ * - Schema-driven validation and transformation
15
+ * - Full backward compatibility with existing interface
16
+ * - JSII compliance for multi-language support
17
+ * - Private DNS zones for internal name resolution
18
+ */
19
+ import * as cdktf from "cdktf";
20
+ import { Construct } from "constructs";
21
+ import { AzapiResource, AzapiResourceProps } from "../../core-azure/lib/azapi/azapi-resource";
22
+ import { ApiSchema } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
23
+ /**
24
+ * Properties for the unified Azure Private DNS Zone
25
+ *
26
+ * Extends AzapiResourceProps with Private DNS Zone specific properties
27
+ */
28
+ export interface PrivateDnsZoneProps extends AzapiResourceProps {
29
+ /**
30
+ * The lifecycle rules to ignore changes
31
+ * @example ["tags"]
32
+ */
33
+ readonly ignoreChanges?: string[];
34
+ /**
35
+ * Resource group ID where the Private DNS Zone will be created
36
+ */
37
+ readonly resourceGroupId?: string;
38
+ }
39
+ /**
40
+ * The resource body interface for Azure Private DNS Zone API calls
41
+ * This matches the Azure REST API schema
42
+ */
43
+ export interface PrivateDnsZoneBody {
44
+ readonly location: string;
45
+ readonly tags?: {
46
+ [key: string]: string;
47
+ };
48
+ readonly properties?: {
49
+ [key: string]: any;
50
+ };
51
+ }
52
+ /**
53
+ * Unified Azure Private DNS Zone implementation
54
+ *
55
+ * This class provides a single, version-aware implementation that replaces all
56
+ * version-specific Private DNS Zone classes. It automatically handles version
57
+ * resolution, schema validation, and property transformation while maintaining
58
+ * full backward compatibility.
59
+ *
60
+ * Azure Private DNS Zones are used to provide internal DNS resolution within
61
+ * Azure virtual networks. They enable name resolution for resources within a
62
+ * virtual network without requiring custom DNS servers.
63
+ *
64
+ * @example
65
+ * // Basic private DNS zone with automatic version resolution:
66
+ * const privateDnsZone = new PrivateDnsZone(this, "privateDns", {
67
+ * name: "internal.contoso.com",
68
+ * location: "global",
69
+ * resourceGroupId: resourceGroup.id,
70
+ * });
71
+ *
72
+ * @example
73
+ * // Private DNS zone with tags:
74
+ * const privateDnsZone = new PrivateDnsZone(this, "privateDns", {
75
+ * name: "internal.contoso.com",
76
+ * location: "global",
77
+ * resourceGroupId: resourceGroup.id,
78
+ * tags: {
79
+ * environment: "production",
80
+ * department: "engineering"
81
+ * }
82
+ * });
83
+ *
84
+ * @example
85
+ * // Private DNS zone with explicit version pinning:
86
+ * const privateDnsZone = new PrivateDnsZone(this, "privateDns", {
87
+ * name: "internal.contoso.com",
88
+ * location: "global",
89
+ * resourceGroupId: resourceGroup.id,
90
+ * apiVersion: "2024-06-01",
91
+ * });
92
+ *
93
+ * @stability stable
94
+ */
95
+ export declare class PrivateDnsZone extends AzapiResource {
96
+ readonly props: PrivateDnsZoneProps;
97
+ readonly idOutput: cdktf.TerraformOutput;
98
+ readonly locationOutput: cdktf.TerraformOutput;
99
+ readonly nameOutput: cdktf.TerraformOutput;
100
+ readonly tagsOutput: cdktf.TerraformOutput;
101
+ readonly maxNumberOfRecordSetsOutput: cdktf.TerraformOutput;
102
+ readonly numberOfRecordSetsOutput: cdktf.TerraformOutput;
103
+ readonly maxNumberOfVirtualNetworkLinksOutput: cdktf.TerraformOutput;
104
+ readonly maxNumberOfVirtualNetworkLinksWithRegistrationOutput: cdktf.TerraformOutput;
105
+ readonly numberOfVirtualNetworkLinksWithRegistrationOutput: cdktf.TerraformOutput;
106
+ readonly provisioningStateOutput: cdktf.TerraformOutput;
107
+ readonly internalIdOutput: cdktf.TerraformOutput;
108
+ /**
109
+ * Creates a new Azure Private DNS Zone using the VersionedAzapiResource framework
110
+ *
111
+ * @param scope - The scope in which to define this construct
112
+ * @param id - The unique identifier for this instance
113
+ * @param props - Configuration properties for the Private DNS Zone
114
+ */
115
+ constructor(scope: Construct, id: string, props: PrivateDnsZoneProps);
116
+ /**
117
+ * Gets the default API version to use when no explicit version is specified
118
+ */
119
+ protected defaultVersion(): string;
120
+ /**
121
+ * Gets the Azure resource type for Private DNS Zones
122
+ */
123
+ protected resourceType(): string;
124
+ /**
125
+ * Gets the API schema for the resolved version
126
+ */
127
+ protected apiSchema(): ApiSchema;
128
+ /**
129
+ * Provides default location for Private DNS Zones (global resource)
130
+ */
131
+ protected defaultLocation(): string;
132
+ /**
133
+ * Creates the resource body for the Azure API call
134
+ */
135
+ protected createResourceBody(_props: any): any;
136
+ /**
137
+ * Get the maximum number of record sets that can be created in this Private DNS zone
138
+ */
139
+ get maxNumberOfRecordSets(): string;
140
+ /**
141
+ * Get the current number of record sets in this Private DNS zone
142
+ */
143
+ get numberOfRecordSets(): string;
144
+ /**
145
+ * Get the maximum number of virtual network links that can be created in this Private DNS zone
146
+ */
147
+ get maxNumberOfVirtualNetworkLinks(): string;
148
+ /**
149
+ * Get the maximum number of virtual network links with auto-registration
150
+ * that can be created in this Private DNS zone
151
+ */
152
+ get maxNumberOfVirtualNetworkLinksWithRegistration(): string;
153
+ /**
154
+ * Get the current number of virtual network links with auto-registration
155
+ * in this Private DNS zone
156
+ */
157
+ get numberOfVirtualNetworkLinksWithRegistration(): string;
158
+ /**
159
+ * Get the provisioning state of the Private DNS zone
160
+ */
161
+ get provisioningState(): string;
162
+ /**
163
+ * Get the internal identifier for the Private DNS zone
164
+ */
165
+ get internalId(): string;
166
+ /**
167
+ * Add a tag to the Private DNS Zone
168
+ */
169
+ addTag(key: string, value: string): void;
170
+ /**
171
+ * Remove a tag from the Private DNS Zone
172
+ */
173
+ removeTag(key: string): void;
174
+ /**
175
+ * Applies ignore changes lifecycle rules if specified in props
176
+ */
177
+ private _applyIgnoreChanges;
178
+ }