@microsoft/terraform-cdk-constructs 1.2.0 → 1.3.1

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 +54630 -26185
  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 +349 -0
  117. package/lib/azure-policyassignment/lib/policy-assignment.js +237 -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 +281 -0
  129. package/lib/azure-policydefinition/lib/policy-definition.js +236 -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 +806 -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 +206 -26
  266. package/lib/core-azure/lib/azapi/azapi-resource.js +379 -91
  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,24 @@
1
+ /**
2
+ * API schemas for Azure DNS Forwarding Ruleset across all supported versions
3
+ *
4
+ * This file defines the complete API schemas for Microsoft.Network/dnsForwardingRulesets
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 DNS Forwarding Ruleset version 2022-07-01
11
+ */
12
+ export declare const DNS_FORWARDING_RULESET_SCHEMA_2022_07_01: ApiSchema;
13
+ /**
14
+ * Version configuration for DNS Forwarding Ruleset 2022-07-01
15
+ */
16
+ export declare const DNS_FORWARDING_RULESET_VERSION_2022_07_01: VersionConfig;
17
+ /**
18
+ * All supported DNS Forwarding Ruleset versions for registration
19
+ */
20
+ export declare const ALL_DNS_FORWARDING_RULESET_VERSIONS: VersionConfig[];
21
+ /**
22
+ * Resource type constant
23
+ */
24
+ export declare const DNS_FORWARDING_RULESET_TYPE = "Microsoft.Network/dnsForwardingRulesets";
@@ -0,0 +1,206 @@
1
+ "use strict";
2
+ /**
3
+ * API schemas for Azure DNS Forwarding Ruleset across all supported versions
4
+ *
5
+ * This file defines the complete API schemas for Microsoft.Network/dnsForwardingRulesets
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.DNS_FORWARDING_RULESET_TYPE = exports.ALL_DNS_FORWARDING_RULESET_VERSIONS = exports.DNS_FORWARDING_RULESET_VERSION_2022_07_01 = exports.DNS_FORWARDING_RULESET_SCHEMA_2022_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 DNS Forwarding Ruleset versions
17
+ */
18
+ const COMMON_PROPERTIES = {
19
+ location: {
20
+ dataType: version_interfaces_1.PropertyType.STRING,
21
+ required: true,
22
+ description: "The Azure region where the DNS Forwarding Ruleset will be created. DNS Forwarding Rulesets are regional resources.",
23
+ validation: [
24
+ {
25
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
26
+ message: "Location is required for DNS Forwarding Rulesets",
27
+ },
28
+ ],
29
+ },
30
+ tags: {
31
+ dataType: version_interfaces_1.PropertyType.OBJECT,
32
+ required: false,
33
+ defaultValue: {},
34
+ description: "A dictionary of tags to apply to the DNS Forwarding Ruleset for organizational, billing, or other purposes",
35
+ validation: [
36
+ {
37
+ ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
38
+ value: version_interfaces_1.PropertyType.OBJECT,
39
+ message: "Tags must be an object with string key-value pairs",
40
+ },
41
+ ],
42
+ },
43
+ name: {
44
+ dataType: version_interfaces_1.PropertyType.STRING,
45
+ required: true,
46
+ description: "The name of the DNS Forwarding Ruleset. Must be unique within the resource group.",
47
+ validation: [
48
+ {
49
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
50
+ message: "DNS Forwarding Ruleset name is required",
51
+ },
52
+ {
53
+ ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
54
+ value: "^[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?$",
55
+ message: "DNS Forwarding Ruleset name must start and end with alphanumeric characters and can contain hyphens",
56
+ },
57
+ {
58
+ ruleType: version_interfaces_1.ValidationRuleType.VALUE_RANGE,
59
+ value: { minLength: 1, maxLength: 80 },
60
+ message: "DNS Forwarding Ruleset name must be between 1 and 80 characters",
61
+ },
62
+ ],
63
+ },
64
+ dnsResolverOutboundEndpointIds: {
65
+ dataType: version_interfaces_1.PropertyType.ARRAY,
66
+ required: true,
67
+ description: "Array of resource IDs of DNS Resolver Outbound Endpoints that this ruleset will use for forwarding DNS queries",
68
+ validation: [
69
+ {
70
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
71
+ message: "At least one DNS Resolver Outbound Endpoint ID is required for DNS Forwarding Rulesets",
72
+ },
73
+ {
74
+ ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
75
+ value: version_interfaces_1.PropertyType.ARRAY,
76
+ message: "DnsResolverOutboundEndpointIds must be an array of strings",
77
+ },
78
+ ],
79
+ },
80
+ ignoreChanges: {
81
+ dataType: version_interfaces_1.PropertyType.ARRAY,
82
+ required: false,
83
+ description: "Array of property names to ignore during updates",
84
+ validation: [
85
+ {
86
+ ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
87
+ value: version_interfaces_1.PropertyType.ARRAY,
88
+ message: "IgnoreChanges must be an array of strings",
89
+ },
90
+ ],
91
+ },
92
+ };
93
+ // =============================================================================
94
+ // READ-ONLY PROPERTY DEFINITIONS
95
+ // =============================================================================
96
+ /**
97
+ * Read-only properties that are populated by Azure after creation
98
+ * These properties should not be included in the request body
99
+ */
100
+ const READ_ONLY_PROPERTIES = {
101
+ provisioningState: {
102
+ dataType: version_interfaces_1.PropertyType.STRING,
103
+ required: false,
104
+ description: "The provisioning state of the DNS Forwarding Ruleset resource (read-only)",
105
+ validation: [
106
+ {
107
+ ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
108
+ value: version_interfaces_1.PropertyType.STRING,
109
+ message: "ProvisioningState must be a string",
110
+ },
111
+ ],
112
+ },
113
+ resourceGuid: {
114
+ dataType: version_interfaces_1.PropertyType.STRING,
115
+ required: false,
116
+ description: "The unique identifier for the DNS Forwarding Ruleset resource (read-only)",
117
+ validation: [
118
+ {
119
+ ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
120
+ value: version_interfaces_1.PropertyType.STRING,
121
+ message: "ResourceGuid must be a string",
122
+ },
123
+ ],
124
+ },
125
+ };
126
+ // =============================================================================
127
+ // VERSION-SPECIFIC SCHEMAS
128
+ // =============================================================================
129
+ /**
130
+ * API Schema for DNS Forwarding Ruleset version 2022-07-01
131
+ */
132
+ exports.DNS_FORWARDING_RULESET_SCHEMA_2022_07_01 = {
133
+ resourceType: "Microsoft.Network/dnsForwardingRulesets",
134
+ version: "2022-07-01",
135
+ properties: {
136
+ ...COMMON_PROPERTIES,
137
+ ...READ_ONLY_PROPERTIES,
138
+ },
139
+ required: ["location", "name", "dnsResolverOutboundEndpointIds"],
140
+ optional: ["tags", "ignoreChanges"],
141
+ deprecated: [],
142
+ transformationRules: {},
143
+ validationRules: [
144
+ {
145
+ property: "location",
146
+ rules: [
147
+ {
148
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
149
+ message: "Location is required for DNS Forwarding Rulesets",
150
+ },
151
+ ],
152
+ },
153
+ {
154
+ property: "name",
155
+ rules: [
156
+ {
157
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
158
+ message: "Name is required for DNS Forwarding Rulesets",
159
+ },
160
+ ],
161
+ },
162
+ {
163
+ property: "dnsResolverOutboundEndpointIds",
164
+ rules: [
165
+ {
166
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
167
+ message: "At least one DNS Resolver Outbound Endpoint ID is required",
168
+ },
169
+ ],
170
+ },
171
+ ],
172
+ };
173
+ // =============================================================================
174
+ // VERSION CONFIGURATIONS
175
+ // =============================================================================
176
+ /**
177
+ * Version configuration for DNS Forwarding Ruleset 2022-07-01
178
+ */
179
+ exports.DNS_FORWARDING_RULESET_VERSION_2022_07_01 = {
180
+ version: "2022-07-01",
181
+ schema: exports.DNS_FORWARDING_RULESET_SCHEMA_2022_07_01,
182
+ supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
183
+ releaseDate: "2022-07-01",
184
+ deprecationDate: undefined,
185
+ sunsetDate: undefined,
186
+ breakingChanges: [],
187
+ migrationGuide: "/docs/dns-forwarding-ruleset/migration-2022-07-01",
188
+ changeLog: [
189
+ {
190
+ changeType: "added",
191
+ description: "Stable release of DNS Forwarding Ruleset API with support for conditional DNS forwarding",
192
+ breaking: false,
193
+ },
194
+ ],
195
+ };
196
+ /**
197
+ * All supported DNS Forwarding Ruleset versions for registration
198
+ */
199
+ exports.ALL_DNS_FORWARDING_RULESET_VERSIONS = [
200
+ exports.DNS_FORWARDING_RULESET_VERSION_2022_07_01,
201
+ ];
202
+ /**
203
+ * Resource type constant
204
+ */
205
+ exports.DNS_FORWARDING_RULESET_TYPE = "Microsoft.Network/dnsForwardingRulesets";
206
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5zLWZvcndhcmRpbmctcnVsZXNldC1zY2hlbWFzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F6dXJlLWRuc2ZvcndhcmRpbmdydWxlc2V0L2xpYi9kbnMtZm9yd2FyZGluZy1ydWxlc2V0LXNjaGVtYXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsMkdBTzRFO0FBRTVFLGdGQUFnRjtBQUNoRiw4QkFBOEI7QUFDOUIsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBTSxpQkFBaUIsR0FBMEM7SUFDL0QsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsSUFBSTtRQUNkLFdBQVcsRUFDVCxvSEFBb0g7UUFDdEgsVUFBVSxFQUFFO1lBQ1Y7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFFBQVE7Z0JBQ3JDLE9BQU8sRUFBRSxrREFBa0Q7YUFDNUQ7U0FDRjtLQUNGO0lBQ0QsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsS0FBSztRQUNmLFlBQVksRUFBRSxFQUFFO1FBQ2hCLFdBQVcsRUFDVCw0R0FBNEc7UUFDOUcsVUFBVSxFQUFFO1lBQ1Y7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFVBQVU7Z0JBQ3ZDLEtBQUssRUFBRSxpQ0FBWSxDQUFDLE1BQU07Z0JBQzFCLE9BQU8sRUFBRSxvREFBb0Q7YUFDOUQ7U0FDRjtLQUNGO0lBQ0QsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsSUFBSTtRQUNkLFdBQVcsRUFDVCxtRkFBbUY7UUFDckYsVUFBVSxFQUFFO1lBQ1Y7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFFBQVE7Z0JBQ3JDLE9BQU8sRUFBRSx5Q0FBeUM7YUFDbkQ7WUFDRDtnQkFDRSxRQUFR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aUJBQ3hEO2FBQ0Y7U0FDRjtRQUNEO1lBQ0UsUUFBUSxFQUFFLGdDQUFnQztZQUMxQyxLQUFLLEVBQUU7Z0JBQ0w7b0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFFBQVE7b0JBQ3JDLE9BQU8sRUFBRSw0REFBNEQ7aUJBQ3RFO2FBQ0Y7U0FDRjtLQUNGO0NBQ0YsQ0FBQztBQUVGLGdGQUFnRjtBQUNoRix5QkFBeUI7QUFDekIsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ1UsUUFBQSx5Q0FBeUMsR0FBa0I7SUFDdEUsT0FBTyxFQUFFLFlBQVk7SUFDckIsTUFBTSxFQUFFLGdEQUF3QztJQUNoRCxZQUFZLEVBQUUsd0NBQW1CLENBQUMsTUFBTTtJQUN4QyxXQUFXLEVBQUUsWUFBWTtJQUN6QixlQUFlLEVBQUUsU0FBUztJQUMxQixVQUFVLEVBQUUsU0FBUztJQUNyQixlQUFlLEVBQUUsRUFBRTtJQUNuQixjQUFjLEVBQUUsbURBQW1EO0lBQ25FLFNBQVMsRUFBRTtRQUNUO1lBQ0UsVUFBVSxFQUFFLE9BQU87WUFDbkIsV0FBVyxFQUNULDBGQUEwRjtZQUM1RixRQUFRLEVBQUUsS0FBSztTQUNoQjtLQUNGO0NBQ0YsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSxtQ0FBbUMsR0FBb0I7SUFDbEUsaURBQXlDO0NBQzFDLENBQUM7QUFFRjs7R0FFRztBQUNVLFFBQUEsMkJBQTJCLEdBQ3RDLHlDQUF5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBUEkgc2NoZW1hcyBmb3IgQXp1cmUgRE5TIEZvcndhcmRpbmcgUnVsZXNldCBhY3Jvc3MgYWxsIHN1cHBvcnRlZCB2ZXJzaW9uc1xuICpcbiAqIFRoaXMgZmlsZSBkZWZpbmVzIHRoZSBjb21wbGV0ZSBBUEkgc2NoZW1hcyBmb3IgTWljcm9zb2Z0Lk5ldHdvcmsvZG5zRm9yd2FyZGluZ1J1bGVzZXRzXG4gKiBhY3Jvc3MgYWxsIHN1cHBvcnRlZCBBUEkgdmVyc2lvbnMuIFRoZSBzY2hlbWFzIGFyZSB1c2VkIGJ5IHRoZSBBemFwaVJlc291cmNlXG4gKiBmcmFtZXdvcmsgZm9yIHZhbGlkYXRpb24sIHRyYW5zZm9ybWF0aW9uLCBhbmQgdmVyc2lvbiBtYW5hZ2VtZW50LlxuICovXG5cbmltcG9ydCB7XG4gIEFwaVNjaGVtYSxcbiAgUHJvcGVydHlEZWZpbml0aW9uLFxuICBQcm9wZXJ0eVR5cGUsXG4gIFZhbGlkYXRpb25SdWxlVHlwZSxcbiAgVmVyc2lvbkNvbmZpZyxcbiAgVmVyc2lvblN1cHBvcnRMZXZlbCxcbn0gZnJvbSBcIi4uLy4uL2NvcmUtYXp1cmUvbGliL3ZlcnNpb24tbWFuYWdlci9pbnRlcmZhY2VzL3ZlcnNpb24taW50ZXJmYWNlc1wiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ09NTU9OIFBST1BFUlRZIERFRklOSVRJT05TXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIENvbW1vbiBwcm9wZXJ0eSBkZWZpbml0aW9ucyBzaGFyZWQgYWNyb3NzIGFsbCBETlMgRm9yd2FyZGluZyBSdWxlc2V0IHZlcnNpb25zXG4gKi9cbmNvbnN0IENPTU1PTl9QUk9QRVJUSUVTOiB7IFtrZXk6IHN0cmluZ106IFByb3BlcnR5RGVmaW5pdGlvbiB9ID0ge1xuICBsb2NhdGlvbjoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJUaGUgQXp1cmUgcmVnaW9uIHdoZXJlIHRoZSBETlMgRm9yd2FyZGluZyBSdWxlc2V0IHdpbGwgYmUgY3JlYXRlZC4gRE5TIEZvcndhcmRpbmcgUnVsZXNldHMgYXJlIHJlZ2lvbmFsIHJlc291cmNlcy5cIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgIG1lc3NhZ2U6IFwiTG9jYXRpb24gaXMgcmVxdWlyZWQgZm9yIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXRzXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIHRhZ3M6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLk9CSkVDVCxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVmYXVsdFZhbHVlOiB7fSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiQSBkaWN0aW9uYXJ5IG9mIHRhZ3MgdG8gYXBwbHkgdG8gdGhlIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXQgZm9yIG9yZ2FuaXphdGlvbmFsLCBiaWxsaW5nLCBvciBvdGhlciBwdXJwb3Nlc1wiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5UWVBFX0NIRUNLLFxuICAgICAgICB2YWx1ZTogUHJvcGVydHlUeXBlLk9CSkVDVCxcbiAgICAgICAgbWVzc2FnZTogXCJUYWdzIG11c3QgYmUgYW4gb2JqZWN0IHdpdGggc3RyaW5nIGtleS12YWx1ZSBwYWlyc1wiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICBuYW1lOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIlRoZSBuYW1lIG9mIHRoZSBETlMgRm9yd2FyZGluZyBSdWxlc2V0LiBNdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIHJlc291cmNlIGdyb3VwLlwiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgbWVzc2FnZTogXCJETlMgRm9yd2FyZGluZyBSdWxlc2V0IG5hbWUgaXMgcmVxdWlyZWRcIixcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUEFUVEVSTl9NQVRDSCxcbiAgICAgICAgdmFsdWU6IFwiXlthLXpBLVowLTldKFthLXpBLVowLTktXSpbYS16QS1aMC05XSk/JFwiLFxuICAgICAgICBtZXNzYWdlOlxuICAgICAgICAgIFwiRE5TIEZvcndhcmRpbmcgUnVsZXNldCBuYW1lIG11c3Qgc3RhcnQgYW5kIGVuZCB3aXRoIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIGFuZCBjYW4gY29udGFpbiBoeXBoZW5zXCIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlZBTFVFX1JBTkdFLFxuICAgICAgICB2YWx1ZTogeyBtaW5MZW5ndGg6IDEsIG1heExlbmd0aDogODAgfSxcbiAgICAgICAgbWVzc2FnZTpcbiAgICAgICAgICBcIkROUyBGb3J3YXJkaW5nIFJ1bGVzZXQgbmFtZSBtdXN0IGJlIGJldHdlZW4gMSBhbmQgODAgY2hhcmFjdGVyc1wiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICBkbnNSZXNvbHZlck91dGJvdW5kRW5kcG9pbnRJZHM6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLkFSUkFZLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJBcnJheSBvZiByZXNvdXJjZSBJRHMgb2YgRE5TIFJlc29sdmVyIE91dGJvdW5kIEVuZHBvaW50cyB0aGF0IHRoaXMgcnVsZXNldCB3aWxsIHVzZSBmb3IgZm9yd2FyZGluZyBETlMgcXVlcmllc1wiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgbWVzc2FnZTpcbiAgICAgICAgICBcIkF0IGxlYXN0IG9uZSBETlMgUmVzb2x2ZXIgT3V0Ym91bmQgRW5kcG9pbnQgSUQgaXMgcmVxdWlyZWQgZm9yIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXRzXCIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlRZUEVfQ0hFQ0ssXG4gICAgICAgIHZhbHVlOiBQcm9wZXJ0eVR5cGUuQVJSQVksXG4gICAgICAgIG1lc3NhZ2U6IFwiRG5zUmVzb2x2ZXJPdXRib3VuZEVuZHBvaW50SWRzIG11c3QgYmUgYW4gYXJyYXkgb2Ygc3RyaW5nc1wiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICBpZ25vcmVDaGFuZ2VzOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5BUlJBWSxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246IFwiQXJyYXkgb2YgcHJvcGVydHkgbmFtZXMgdG8gaWdub3JlIGR1cmluZyB1cGRhdGVzXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlRZUEVfQ0hFQ0ssXG4gICAgICAgIHZhbHVlOiBQcm9wZXJ0eVR5cGUuQVJSQVksXG4gICAgICAgIG1lc3NhZ2U6IFwiSWdub3JlQ2hhbmdlcyBtdXN0IGJlIGFuIGFycmF5IG9mIHN0cmluZ3NcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSRUFELU9OTFkgUFJPUEVSVFkgREVGSU5JVElPTlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogUmVhZC1vbmx5IHByb3BlcnRpZXMgdGhhdCBhcmUgcG9wdWxhdGVkIGJ5IEF6dXJlIGFmdGVyIGNyZWF0aW9uXG4gKiBUaGVzZSBwcm9wZXJ0aWVzIHNob3VsZCBub3QgYmUgaW5jbHVkZWQgaW4gdGhlIHJlcXVlc3QgYm9keVxuICovXG5jb25zdCBSRUFEX09OTFlfUFJPUEVSVElFUzogeyBba2V5OiBzdHJpbmddOiBQcm9wZXJ0eURlZmluaXRpb24gfSA9IHtcbiAgcHJvdmlzaW9uaW5nU3RhdGU6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIlRoZSBwcm92aXNpb25pbmcgc3RhdGUgb2YgdGhlIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXQgcmVzb3VyY2UgKHJlYWQtb25seSlcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVFlQRV9DSEVDSyxcbiAgICAgICAgdmFsdWU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgICAgIG1lc3NhZ2U6IFwiUHJvdmlzaW9uaW5nU3RhdGUgbXVzdCBiZSBhIHN0cmluZ1wiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICByZXNvdXJjZUd1aWQ6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIlRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXQgcmVzb3VyY2UgKHJlYWQtb25seSlcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVFlQRV9DSEVDSyxcbiAgICAgICAgdmFsdWU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgICAgIG1lc3NhZ2U6IFwiUmVzb3VyY2VHdWlkIG11c3QgYmUgYSBzdHJpbmdcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBWRVJTSU9OLVNQRUNJRklDIFNDSEVNQVNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogQVBJIFNjaGVtYSBmb3IgRE5TIEZvcndhcmRpbmcgUnVsZXNldCB2ZXJzaW9uIDIwMjItMDctMDFcbiAqL1xuZXhwb3J0IGNvbnN0IEROU19GT1JXQVJESU5HX1JVTEVTRVRfU0NIRU1BXzIwMjJfMDdfMDE6IEFwaVNjaGVtYSA9IHtcbiAgcmVzb3VyY2VUeXBlOiBcIk1pY3Jvc29mdC5OZXR3b3JrL2Ruc0ZvcndhcmRpbmdSdWxlc2V0c1wiLFxuICB2ZXJzaW9uOiBcIjIwMjItMDctMDFcIixcbiAgcHJvcGVydGllczoge1xuICAgIC4uLkNPTU1PTl9QUk9QRVJUSUVTLFxuICAgIC4uLlJFQURfT05MWV9QUk9QRVJUSUVTLFxuICB9LFxuICByZXF1aXJlZDogW1wibG9jYXRpb25cIiwgXCJuYW1lXCIsIFwiZG5zUmVzb2x2ZXJPdXRib3VuZEVuZHBvaW50SWRzXCJdLFxuICBvcHRpb25hbDogW1widGFnc1wiLCBcImlnbm9yZUNoYW5nZXNcIl0sXG4gIGRlcHJlY2F0ZWQ6IFtdLFxuICB0cmFuc2Zvcm1hdGlvblJ1bGVzOiB7fSxcbiAgdmFsaWRhdGlvblJ1bGVzOiBbXG4gICAge1xuICAgICAgcHJvcGVydHk6IFwibG9jYXRpb25cIixcbiAgICAgIHJ1bGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICAgIG1lc3NhZ2U6IFwiTG9jYXRpb24gaXMgcmVxdWlyZWQgZm9yIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXRzXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvcGVydHk6IFwibmFtZVwiLFxuICAgICAgcnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgICAgbWVzc2FnZTogXCJOYW1lIGlzIHJlcXVpcmVkIGZvciBETlMgRm9yd2FyZGluZyBSdWxlc2V0c1wiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3BlcnR5OiBcImRuc1Jlc29sdmVyT3V0Ym91bmRFbmRwb2ludElkc1wiLFxuICAgICAgcnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgICAgbWVzc2FnZTogXCJBdCBsZWFzdCBvbmUgRE5TIFJlc29sdmVyIE91dGJvdW5kIEVuZHBvaW50IElEIGlzIHJlcXVpcmVkXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gIF0sXG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVkVSU0lPTiBDT05GSUdVUkFUSU9OU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBWZXJzaW9uIGNvbmZpZ3VyYXRpb24gZm9yIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXQgMjAyMi0wNy0wMVxuICovXG5leHBvcnQgY29uc3QgRE5TX0ZPUldBUkRJTkdfUlVMRVNFVF9WRVJTSU9OXzIwMjJfMDdfMDE6IFZlcnNpb25Db25maWcgPSB7XG4gIHZlcnNpb246IFwiMjAyMi0wNy0wMVwiLFxuICBzY2hlbWE6IEROU19GT1JXQVJESU5HX1JVTEVTRVRfU0NIRU1BXzIwMjJfMDdfMDEsXG4gIHN1cHBvcnRMZXZlbDogVmVyc2lvblN1cHBvcnRMZXZlbC5BQ1RJVkUsXG4gIHJlbGVhc2VEYXRlOiBcIjIwMjItMDctMDFcIixcbiAgZGVwcmVjYXRpb25EYXRlOiB1bmRlZmluZWQsXG4gIHN1bnNldERhdGU6IHVuZGVmaW5lZCxcbiAgYnJlYWtpbmdDaGFuZ2VzOiBbXSxcbiAgbWlncmF0aW9uR3VpZGU6IFwiL2RvY3MvZG5zLWZvcndhcmRpbmctcnVsZXNldC9taWdyYXRpb24tMjAyMi0wNy0wMVwiLFxuICBjaGFuZ2VMb2c6IFtcbiAgICB7XG4gICAgICBjaGFuZ2VUeXBlOiBcImFkZGVkXCIsXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgXCJTdGFibGUgcmVsZWFzZSBvZiBETlMgRm9yd2FyZGluZyBSdWxlc2V0IEFQSSB3aXRoIHN1cHBvcnQgZm9yIGNvbmRpdGlvbmFsIEROUyBmb3J3YXJkaW5nXCIsXG4gICAgICBicmVha2luZzogZmFsc2UsXG4gICAgfSxcbiAgXSxcbn07XG5cbi8qKlxuICogQWxsIHN1cHBvcnRlZCBETlMgRm9yd2FyZGluZyBSdWxlc2V0IHZlcnNpb25zIGZvciByZWdpc3RyYXRpb25cbiAqL1xuZXhwb3J0IGNvbnN0IEFMTF9ETlNfRk9SV0FSRElOR19SVUxFU0VUX1ZFUlNJT05TOiBWZXJzaW9uQ29uZmlnW10gPSBbXG4gIEROU19GT1JXQVJESU5HX1JVTEVTRVRfVkVSU0lPTl8yMDIyXzA3XzAxLFxuXTtcblxuLyoqXG4gKiBSZXNvdXJjZSB0eXBlIGNvbnN0YW50XG4gKi9cbmV4cG9ydCBjb25zdCBETlNfRk9SV0FSRElOR19SVUxFU0VUX1RZUEUgPVxuICBcIk1pY3Jvc29mdC5OZXR3b3JrL2Ruc0ZvcndhcmRpbmdSdWxlc2V0c1wiO1xuIl19
@@ -0,0 +1,174 @@
1
+ /**
2
+ * Unified Azure DNS Forwarding Ruleset implementation using AzapiResource framework
3
+ *
4
+ * This class provides a unified implementation for creating DNS Forwarding Rulesets
5
+ * that work with DNS Resolver Outbound Endpoints to enable conditional forwarding rules.
6
+ *
7
+ * Supported API Versions:
8
+ * - 2022-07-01 (Active, Latest)
9
+ *
10
+ * Features:
11
+ * - Automatic latest version resolution when no version is specified
12
+ * - Explicit version pinning for stability requirements
13
+ * - Schema-driven validation and transformation
14
+ * - Full backward compatibility with existing interface
15
+ * - JSII compliance for multi-language support
16
+ * - Conditional DNS forwarding for hybrid scenarios
17
+ */
18
+ import * as cdktf from "cdktf";
19
+ import { Construct } from "constructs";
20
+ import { AzapiResource, AzapiResourceProps } from "../../core-azure/lib/azapi/azapi-resource";
21
+ import { ApiSchema } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
22
+ /**
23
+ * Properties for the unified Azure DNS Forwarding Ruleset
24
+ *
25
+ * Extends AzapiResourceProps with DNS Forwarding Ruleset specific properties
26
+ */
27
+ export interface DnsForwardingRulesetProps extends AzapiResourceProps {
28
+ /**
29
+ * Array of resource IDs of DNS Resolver Outbound Endpoints
30
+ * The ruleset uses these endpoints to forward DNS queries based on the rules
31
+ * @example ["/subscriptions/.../dnsResolvers/resolver1/outboundEndpoints/endpoint1"]
32
+ */
33
+ readonly dnsResolverOutboundEndpointIds: string[];
34
+ /**
35
+ * The lifecycle rules to ignore changes
36
+ * @example ["tags"]
37
+ */
38
+ readonly ignoreChanges?: string[];
39
+ /**
40
+ * Resource group ID where the DNS Forwarding Ruleset will be created
41
+ */
42
+ readonly resourceGroupId?: string;
43
+ }
44
+ /**
45
+ * The resource body interface for Azure DNS Forwarding Ruleset API calls
46
+ * This matches the Azure REST API schema
47
+ */
48
+ /**
49
+ * DNS Resolver Outbound Endpoint reference
50
+ */
51
+ export interface DnsResolverOutboundEndpointReference {
52
+ readonly id: string;
53
+ }
54
+ /**
55
+ * Properties for the DNS Forwarding Ruleset body
56
+ */
57
+ export interface DnsForwardingRulesetProperties {
58
+ readonly dnsResolverOutboundEndpoints: DnsResolverOutboundEndpointReference[];
59
+ }
60
+ /**
61
+ * The resource body interface for Azure DNS Forwarding Ruleset API calls
62
+ * This matches the Azure REST API schema
63
+ */
64
+ export interface DnsForwardingRulesetBody {
65
+ readonly location: string;
66
+ readonly tags?: {
67
+ [key: string]: string;
68
+ };
69
+ readonly properties: DnsForwardingRulesetProperties;
70
+ }
71
+ /**
72
+ * Unified Azure DNS Forwarding Ruleset implementation
73
+ *
74
+ * This class provides a unified implementation for creating DNS Forwarding Rulesets
75
+ * that enable conditional forwarding of DNS queries. Rulesets work with DNS Resolver
76
+ * Outbound Endpoints to route queries to specific target DNS servers based on domain names.
77
+ *
78
+ * Key Requirements:
79
+ * - Requires at least one DNS Resolver Outbound Endpoint
80
+ * - Each ruleset can contain up to 1000 forwarding rules
81
+ * - Regional resource (must match outbound endpoint location)
82
+ * - Can be linked to multiple virtual networks
83
+ *
84
+ * @example
85
+ * // Basic DNS forwarding ruleset with automatic version resolution:
86
+ * const ruleset = new DnsForwardingRuleset(this, "ruleset", {
87
+ * name: "my-ruleset",
88
+ * location: "eastus",
89
+ * resourceGroupId: resourceGroup.id,
90
+ * dnsResolverOutboundEndpointIds: [outboundEndpoint.id],
91
+ * });
92
+ *
93
+ * @example
94
+ * // DNS forwarding ruleset with tags:
95
+ * const ruleset = new DnsForwardingRuleset(this, "ruleset", {
96
+ * name: "my-ruleset",
97
+ * location: "eastus",
98
+ * resourceGroupId: resourceGroup.id,
99
+ * dnsResolverOutboundEndpointIds: [outboundEndpoint.id],
100
+ * tags: {
101
+ * environment: "production",
102
+ * purpose: "hybrid-dns"
103
+ * }
104
+ * });
105
+ *
106
+ * @example
107
+ * // DNS forwarding ruleset with explicit version pinning:
108
+ * const ruleset = new DnsForwardingRuleset(this, "ruleset", {
109
+ * name: "my-ruleset",
110
+ * location: "eastus",
111
+ * resourceGroupId: resourceGroup.id,
112
+ * dnsResolverOutboundEndpointIds: [outboundEndpoint.id],
113
+ * apiVersion: "2022-07-01",
114
+ * });
115
+ *
116
+ * @stability stable
117
+ */
118
+ export declare class DnsForwardingRuleset extends AzapiResource {
119
+ readonly props: DnsForwardingRulesetProps;
120
+ readonly idOutput: cdktf.TerraformOutput;
121
+ readonly locationOutput: cdktf.TerraformOutput;
122
+ readonly nameOutput: cdktf.TerraformOutput;
123
+ readonly tagsOutput: cdktf.TerraformOutput;
124
+ readonly provisioningStateOutput: cdktf.TerraformOutput;
125
+ readonly resourceGuidOutput: cdktf.TerraformOutput;
126
+ /**
127
+ * Creates a new Azure DNS Forwarding Ruleset using the AzapiResource framework
128
+ *
129
+ * @param scope - The scope in which to define this construct
130
+ * @param id - The unique identifier for this instance
131
+ * @param props - Configuration properties for the DNS Forwarding Ruleset
132
+ */
133
+ constructor(scope: Construct, id: string, props: DnsForwardingRulesetProps);
134
+ /**
135
+ * Gets the default API version to use when no explicit version is specified
136
+ */
137
+ protected defaultVersion(): string;
138
+ /**
139
+ * Gets the Azure resource type for DNS Forwarding Rulesets
140
+ */
141
+ protected resourceType(): string;
142
+ /**
143
+ * Gets the API schema for the resolved version
144
+ */
145
+ protected apiSchema(): ApiSchema;
146
+ /**
147
+ * Indicates that location is required for DNS Forwarding Rulesets
148
+ */
149
+ protected requiresLocation(): boolean;
150
+ /**
151
+ * Creates the resource body for the Azure API call
152
+ */
153
+ protected createResourceBody(props: any): any;
154
+ /**
155
+ * Get the provisioning state of the DNS Forwarding Ruleset
156
+ */
157
+ get provisioningState(): string;
158
+ /**
159
+ * Get the unique identifier for the DNS Forwarding Ruleset resource
160
+ */
161
+ get resourceGuid(): string;
162
+ /**
163
+ * Add a tag to the DNS Forwarding Ruleset
164
+ */
165
+ addTag(key: string, value: string): void;
166
+ /**
167
+ * Remove a tag from the DNS Forwarding Ruleset
168
+ */
169
+ removeTag(key: string): void;
170
+ /**
171
+ * Applies ignore changes lifecycle rules if specified in props
172
+ */
173
+ private _applyIgnoreChanges;
174
+ }