@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,261 @@
1
+ "use strict";
2
+ /**
3
+ * API schemas for Azure DNS Resolver Inbound Endpoints across all supported versions
4
+ *
5
+ * This file defines the complete API schemas for Microsoft.Network/dnsResolvers/inboundEndpoints
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_RESOLVER_INBOUND_ENDPOINT_TYPE = exports.ALL_DNS_RESOLVER_INBOUND_ENDPOINT_VERSIONS = exports.DNS_RESOLVER_INBOUND_ENDPOINT_VERSION_2022_07_01 = exports.DNS_RESOLVER_INBOUND_ENDPOINT_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 Resolver Inbound Endpoint 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 Inbound Endpoint will be created. Must match the parent DNS Resolver region.",
23
+ validation: [
24
+ {
25
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
26
+ message: "Location is required for Inbound Endpoints",
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 Inbound Endpoint 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 Inbound Endpoint. Must be unique within the DNS Resolver",
47
+ validation: [
48
+ {
49
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
50
+ message: "Inbound Endpoint 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: "Inbound Endpoint 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: "Inbound Endpoint name must be between 1 and 80 characters",
61
+ },
62
+ ],
63
+ },
64
+ dnsResolverId: {
65
+ dataType: version_interfaces_1.PropertyType.STRING,
66
+ required: true,
67
+ description: "The resource ID of the parent DNS Resolver",
68
+ validation: [
69
+ {
70
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
71
+ message: "DNS Resolver ID is required",
72
+ },
73
+ {
74
+ ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
75
+ value: "^/subscriptions/[^/]+/resourceGroups/[^/]+/providers/Microsoft.Network/dnsResolvers/[^/]+$",
76
+ message: "DNS Resolver ID must be a valid resource ID",
77
+ },
78
+ ],
79
+ },
80
+ subnetId: {
81
+ dataType: version_interfaces_1.PropertyType.STRING,
82
+ required: true,
83
+ description: "The resource ID of the subnet where the Inbound Endpoint will be deployed. Must be a dedicated subnet between /28 and /24 with delegation to Microsoft.Network/dnsResolvers",
84
+ validation: [
85
+ {
86
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
87
+ message: "Subnet ID is required for Inbound Endpoints",
88
+ },
89
+ {
90
+ ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
91
+ value: "^/subscriptions/[^/]+/resourceGroups/[^/]+/providers/Microsoft.Network/virtualNetworks/[^/]+/subnets/[^/]+$",
92
+ message: "Subnet ID must be a valid subnet resource ID",
93
+ },
94
+ ],
95
+ },
96
+ privateIpAddress: {
97
+ dataType: version_interfaces_1.PropertyType.STRING,
98
+ required: false,
99
+ description: "The private IP address for DNS queries. If not specified, an IP will be allocated dynamically from the subnet",
100
+ validation: [
101
+ {
102
+ ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
103
+ value: version_interfaces_1.PropertyType.STRING,
104
+ message: "PrivateIpAddress must be a string",
105
+ },
106
+ ],
107
+ },
108
+ privateIpAllocationMethod: {
109
+ dataType: version_interfaces_1.PropertyType.STRING,
110
+ required: false,
111
+ defaultValue: "Dynamic",
112
+ description: "The IP allocation method. Possible values: 'Static' or 'Dynamic'",
113
+ validation: [
114
+ {
115
+ ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
116
+ value: version_interfaces_1.PropertyType.STRING,
117
+ message: "PrivateIpAllocationMethod must be a string",
118
+ },
119
+ ],
120
+ },
121
+ ignoreChanges: {
122
+ dataType: version_interfaces_1.PropertyType.ARRAY,
123
+ required: false,
124
+ description: "Array of property names to ignore during updates",
125
+ validation: [
126
+ {
127
+ ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
128
+ value: version_interfaces_1.PropertyType.ARRAY,
129
+ message: "IgnoreChanges must be an array of strings",
130
+ },
131
+ ],
132
+ },
133
+ };
134
+ // =============================================================================
135
+ // READ-ONLY PROPERTY DEFINITIONS
136
+ // =============================================================================
137
+ /**
138
+ * Read-only properties that are populated by Azure after creation
139
+ * These properties should not be included in the request body
140
+ */
141
+ const READ_ONLY_PROPERTIES = {
142
+ provisioningState: {
143
+ dataType: version_interfaces_1.PropertyType.STRING,
144
+ required: false,
145
+ description: "The provisioning state of the Inbound Endpoint resource (read-only)",
146
+ validation: [
147
+ {
148
+ ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
149
+ value: version_interfaces_1.PropertyType.STRING,
150
+ message: "ProvisioningState must be a string",
151
+ },
152
+ ],
153
+ },
154
+ ipConfigurations: {
155
+ dataType: version_interfaces_1.PropertyType.ARRAY,
156
+ required: false,
157
+ description: "The IP configuration details including private IP address and subnet (read-only)",
158
+ validation: [
159
+ {
160
+ ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
161
+ value: version_interfaces_1.PropertyType.ARRAY,
162
+ message: "IpConfigurations must be an array",
163
+ },
164
+ ],
165
+ },
166
+ };
167
+ // =============================================================================
168
+ // VERSION-SPECIFIC SCHEMAS
169
+ // =============================================================================
170
+ /**
171
+ * API Schema for DNS Resolver Inbound Endpoint version 2022-07-01
172
+ */
173
+ exports.DNS_RESOLVER_INBOUND_ENDPOINT_SCHEMA_2022_07_01 = {
174
+ resourceType: "Microsoft.Network/dnsResolvers/inboundEndpoints",
175
+ version: "2022-07-01",
176
+ properties: {
177
+ ...COMMON_PROPERTIES,
178
+ ...READ_ONLY_PROPERTIES,
179
+ },
180
+ required: ["location", "name", "dnsResolverId", "subnetId"],
181
+ optional: [
182
+ "tags",
183
+ "privateIpAddress",
184
+ "privateIpAllocationMethod",
185
+ "ignoreChanges",
186
+ ],
187
+ deprecated: [],
188
+ transformationRules: {},
189
+ validationRules: [
190
+ {
191
+ property: "location",
192
+ rules: [
193
+ {
194
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
195
+ message: "Location is required for Inbound Endpoints",
196
+ },
197
+ ],
198
+ },
199
+ {
200
+ property: "name",
201
+ rules: [
202
+ {
203
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
204
+ message: "Name is required for Inbound Endpoints",
205
+ },
206
+ ],
207
+ },
208
+ {
209
+ property: "dnsResolverId",
210
+ rules: [
211
+ {
212
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
213
+ message: "DNS Resolver ID is required for Inbound Endpoints",
214
+ },
215
+ ],
216
+ },
217
+ {
218
+ property: "subnetId",
219
+ rules: [
220
+ {
221
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
222
+ message: "Subnet ID is required for Inbound Endpoints",
223
+ },
224
+ ],
225
+ },
226
+ ],
227
+ };
228
+ // =============================================================================
229
+ // VERSION CONFIGURATIONS
230
+ // =============================================================================
231
+ /**
232
+ * Version configuration for DNS Resolver Inbound Endpoint 2022-07-01
233
+ */
234
+ exports.DNS_RESOLVER_INBOUND_ENDPOINT_VERSION_2022_07_01 = {
235
+ version: "2022-07-01",
236
+ schema: exports.DNS_RESOLVER_INBOUND_ENDPOINT_SCHEMA_2022_07_01,
237
+ supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
238
+ releaseDate: "2022-07-01",
239
+ deprecationDate: undefined,
240
+ sunsetDate: undefined,
241
+ breakingChanges: [],
242
+ migrationGuide: "/docs/dns-resolver-inbound-endpoint/migration-2022-07-01",
243
+ changeLog: [
244
+ {
245
+ changeType: "added",
246
+ description: "Stable release of DNS Resolver Inbound Endpoint API with support for external DNS queries to Azure-hosted zones",
247
+ breaking: false,
248
+ },
249
+ ],
250
+ };
251
+ /**
252
+ * All supported DNS Resolver Inbound Endpoint versions for registration
253
+ */
254
+ exports.ALL_DNS_RESOLVER_INBOUND_ENDPOINT_VERSIONS = [
255
+ exports.DNS_RESOLVER_INBOUND_ENDPOINT_VERSION_2022_07_01,
256
+ ];
257
+ /**
258
+ * Resource type constant
259
+ */
260
+ exports.DNS_RESOLVER_INBOUND_ENDPOINT_TYPE = "Microsoft.Network/dnsResolvers/inboundEndpoints";
261
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5ib3VuZC1lbmRwb2ludC1zY2hlbWFzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F6dXJlLWRuc3Jlc29sdmVyL2xpYi9pbmJvdW5kLWVuZHBvaW50LXNjaGVtYXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsMkdBTzRFO0FBRTVFLGdGQUFnRjtBQUNoRiw4QkFBOEI7QUFDOUIsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBTSxpQkFBaUIsR0FBMEM7SUFDL0QsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsSUFBSTtRQUNkLFdBQVcsRUFDVCx5R0FBeUc7UUFDM0csVUFBVSxFQUFFO1lBQ1Y7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFFBQVE7Z0JBQ3JDLE9BQU8sRUFBRSw0Q0FBNEM7YUFDdEQ7U0FDRjtLQUNGO0lBQ0QsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsS0FBSztRQUNmLFlBQVksRUFBRSxFQUFFO1FBQ2hCLFdBQVcsRUFDVCxzR0FBc0c7UUFDeEcsVUFBVSxFQUFFO1lBQ1Y7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFVBQVU7Z0JBQ3ZDLEtBQUssRUFBRSxpQ0FBWSxDQUFDLE1BQU07Z0JBQzFCLE9BQU8sRUFBRSxvREFBb0Q7YUFDOUQ7U0FDRjtLQUNGO0lBQ0QsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsSUFBSTtRQUNkLFdBQVcsRUFDVCwwRUFBMEU7UUFDNUUsVUFBVSxFQUFFO1lBQ1Y7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFFBQVE7Z0JBQ3JDLE9BQU8sRUFBRSxtQ0FBbUM7YUFDN0M7WUFDRDtnQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsYUFB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O1lBQ3BCLEtBQUssRUFBRTtnQkFDTDtvQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsUUFBUTtvQkFDckMsT0FBTyxFQUFFLDZDQUE2QztpQkFDdkQ7YUFDRjtTQUNGO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsZ0ZBQWdGO0FBQ2hGLHlCQUF5QjtBQUN6QixnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDVSxRQUFBLGdEQUFnRCxHQUFrQjtJQUM3RSxPQUFPLEVBQUUsWUFBWTtJQUNyQixNQUFNLEVBQUUsdURBQStDO0lBQ3ZELFlBQVksRUFBRSx3Q0FBbUIsQ0FBQyxNQUFNO0lBQ3hDLFdBQVcsRUFBRSxZQUFZO0lBQ3pCLGVBQWUsRUFBRSxTQUFTO0lBQzFCLFVBQVUsRUFBRSxTQUFTO0lBQ3JCLGVBQWUsRUFBRSxFQUFFO0lBQ25CLGNBQWMsRUFBRSwwREFBMEQ7SUFDMUUsU0FBUyxFQUFFO1FBQ1Q7WUFDRSxVQUFVLEVBQUUsT0FBTztZQUNuQixXQUFXLEVBQ1QsaUhBQWlIO1lBQ25ILFFBQVEsRUFBRSxLQUFLO1NBQ2hCO0tBQ0Y7Q0FDRixDQUFDO0FBRUY7O0dBRUc7QUFDVSxRQUFBLDBDQUEwQyxHQUFvQjtJQUN6RSx3REFBZ0Q7Q0FDakQsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSxrQ0FBa0MsR0FDN0MsaURBQWlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFQSSBzY2hlbWFzIGZvciBBenVyZSBETlMgUmVzb2x2ZXIgSW5ib3VuZCBFbmRwb2ludHMgYWNyb3NzIGFsbCBzdXBwb3J0ZWQgdmVyc2lvbnNcbiAqXG4gKiBUaGlzIGZpbGUgZGVmaW5lcyB0aGUgY29tcGxldGUgQVBJIHNjaGVtYXMgZm9yIE1pY3Jvc29mdC5OZXR3b3JrL2Ruc1Jlc29sdmVycy9pbmJvdW5kRW5kcG9pbnRzXG4gKiBhY3Jvc3MgYWxsIHN1cHBvcnRlZCBBUEkgdmVyc2lvbnMuIFRoZSBzY2hlbWFzIGFyZSB1c2VkIGJ5IHRoZSBBemFwaVJlc291cmNlXG4gKiBmcmFtZXdvcmsgZm9yIHZhbGlkYXRpb24sIHRyYW5zZm9ybWF0aW9uLCBhbmQgdmVyc2lvbiBtYW5hZ2VtZW50LlxuICovXG5cbmltcG9ydCB7XG4gIEFwaVNjaGVtYSxcbiAgUHJvcGVydHlEZWZpbml0aW9uLFxuICBQcm9wZXJ0eVR5cGUsXG4gIFZhbGlkYXRpb25SdWxlVHlwZSxcbiAgVmVyc2lvbkNvbmZpZyxcbiAgVmVyc2lvblN1cHBvcnRMZXZlbCxcbn0gZnJvbSBcIi4uLy4uL2NvcmUtYXp1cmUvbGliL3ZlcnNpb24tbWFuYWdlci9pbnRlcmZhY2VzL3ZlcnNpb24taW50ZXJmYWNlc1wiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ09NTU9OIFBST1BFUlRZIERFRklOSVRJT05TXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIENvbW1vbiBwcm9wZXJ0eSBkZWZpbml0aW9ucyBzaGFyZWQgYWNyb3NzIGFsbCBETlMgUmVzb2x2ZXIgSW5ib3VuZCBFbmRwb2ludCB2ZXJzaW9uc1xuICovXG5jb25zdCBDT01NT05fUFJPUEVSVElFUzogeyBba2V5OiBzdHJpbmddOiBQcm9wZXJ0eURlZmluaXRpb24gfSA9IHtcbiAgbG9jYXRpb246IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiVGhlIEF6dXJlIHJlZ2lvbiB3aGVyZSB0aGUgSW5ib3VuZCBFbmRwb2ludCB3aWxsIGJlIGNyZWF0ZWQuIE11c3QgbWF0Y2ggdGhlIHBhcmVudCBETlMgUmVzb2x2ZXIgcmVnaW9uLlwiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgbWVzc2FnZTogXCJMb2NhdGlvbiBpcyByZXF1aXJlZCBmb3IgSW5ib3VuZCBFbmRwb2ludHNcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgdGFnczoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuT0JKRUNULFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZWZhdWx0VmFsdWU6IHt9LFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJBIGRpY3Rpb25hcnkgb2YgdGFncyB0byBhcHBseSB0byB0aGUgSW5ib3VuZCBFbmRwb2ludCBmb3Igb3JnYW5pemF0aW9uYWwsIGJpbGxpbmcsIG9yIG90aGVyIHB1cnBvc2VzXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlRZUEVfQ0hFQ0ssXG4gICAgICAgIHZhbHVlOiBQcm9wZXJ0eVR5cGUuT0JKRUNULFxuICAgICAgICBtZXNzYWdlOiBcIlRhZ3MgbXVzdCBiZSBhbiBvYmplY3Qgd2l0aCBzdHJpbmcga2V5LXZhbHVlIHBhaXJzXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIG5hbWU6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiVGhlIG5hbWUgb2YgdGhlIEluYm91bmQgRW5kcG9pbnQuIE11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgRE5TIFJlc29sdmVyXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICBtZXNzYWdlOiBcIkluYm91bmQgRW5kcG9pbnQgbmFtZSBpcyByZXF1aXJlZFwiLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5QQVRURVJOX01BVENILFxuICAgICAgICB2YWx1ZTogXCJeW2EtekEtWjAtOV0oW2EtekEtWjAtOS1dKlthLXpBLVowLTldKT8kXCIsXG4gICAgICAgIG1lc3NhZ2U6XG4gICAgICAgICAgXCJJbmJvdW5kIEVuZHBvaW50IG5hbWUgbXVzdCBzdGFydCBhbmQgZW5kIHdpdGggYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgYW5kIGNhbiBjb250YWluIGh5cGhlbnNcIixcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVkFMVUVfUkFOR0UsXG4gICAgICAgIHZhbHVlOiB7IG1pbkxlbmd0aDogMSwgbWF4TGVuZ3RoOiA4MCB9LFxuICAgICAgICBtZXNzYWdlOiBcIkluYm91bmQgRW5kcG9pbnQgbmFtZSBtdXN0IGJlIGJldHdlZW4gMSBhbmQgODAgY2hhcmFjdGVyc1wiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICBkbnNSZXNvbHZlcklkOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgZGVzY3JpcHRpb246IFwiVGhlIHJlc291cmNlIElEIG9mIHRoZSBwYXJlbnQgRE5TIFJlc29sdmVyXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICBtZXNzYWdlOiBcIkROUyBSZXNvbHZlciBJRCBpcyByZXF1aXJlZFwiLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5QQVRURVJOX01BVENILFxuICAgICAgICB2YWx1ZTpcbiAgICAgICAgICBcIl4vc3Vic2NyaXB0aW9ucy9bXi9dKy9yZXNvdXJjZUdyb3Vwcy9bXi9dKy9wcm92aWRlcnMvTWljcm9zb2Z0Lk5ldHdvcmsvZG5zUmVzb2x2ZXJzL1teL10rJFwiLFxuICAgICAgICBtZXNzYWdlOiBcIkROUyBSZXNvbHZlciBJRCBtdXN0IGJlIGEgdmFsaWQgcmVzb3VyY2UgSURcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgc3VibmV0SWQ6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiVGhlIHJlc291cmNlIElEIG9mIHRoZSBzdWJuZXQgd2hlcmUgdGhlIEluYm91bmQgRW5kcG9pbnQgd2lsbCBiZSBkZXBsb3llZC4gTXVzdCBiZSBhIGRlZGljYXRlZCBzdWJuZXQgYmV0d2VlbiAvMjggYW5kIC8yNCB3aXRoIGRlbGVnYXRpb24gdG8gTWljcm9zb2Z0Lk5ldHdvcmsvZG5zUmVzb2x2ZXJzXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICBtZXNzYWdlOiBcIlN1Ym5ldCBJRCBpcyByZXF1aXJlZCBmb3IgSW5ib3VuZCBFbmRwb2ludHNcIixcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUEFUVEVSTl9NQVRDSCxcbiAgICAgICAgdmFsdWU6XG4gICAgICAgICAgXCJeL3N1YnNjcmlwdGlvbnMvW14vXSsvcmVzb3VyY2VHcm91cHMvW14vXSsvcHJvdmlkZXJzL01pY3Jvc29mdC5OZXR3b3JrL3ZpcnR1YWxOZXR3b3Jrcy9bXi9dKy9zdWJuZXRzL1teL10rJFwiLFxuICAgICAgICBtZXNzYWdlOiBcIlN1Ym5ldCBJRCBtdXN0IGJlIGEgdmFsaWQgc3VibmV0IHJlc291cmNlIElEXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIHByaXZhdGVJcEFkZHJlc3M6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIlRoZSBwcml2YXRlIElQIGFkZHJlc3MgZm9yIEROUyBxdWVyaWVzLiBJZiBub3Qgc3BlY2lmaWVkLCBhbiBJUCB3aWxsIGJlIGFsbG9jYXRlZCBkeW5hbWljYWxseSBmcm9tIHRoZSBzdWJuZXRcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVFlQRV9DSEVDSyxcbiAgICAgICAgdmFsdWU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgICAgIG1lc3NhZ2U6IFwiUHJpdmF0ZUlwQWRkcmVzcyBtdXN0IGJlIGEgc3RyaW5nXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIHByaXZhdGVJcEFsbG9jYXRpb25NZXRob2Q6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVmYXVsdFZhbHVlOiBcIkR5bmFtaWNcIixcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiVGhlIElQIGFsbG9jYXRpb24gbWV0aG9kLiBQb3NzaWJsZSB2YWx1ZXM6ICdTdGF0aWMnIG9yICdEeW5hbWljJ1wiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5UWVBFX0NIRUNLLFxuICAgICAgICB2YWx1ZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICAgICAgbWVzc2FnZTogXCJQcml2YXRlSXBBbGxvY2F0aW9uTWV0aG9kIG11c3QgYmUgYSBzdHJpbmdcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgaWdub3JlQ2hhbmdlczoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuQVJSQVksXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOiBcIkFycmF5IG9mIHByb3BlcnR5IG5hbWVzIHRvIGlnbm9yZSBkdXJpbmcgdXBkYXRlc1wiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5UWVBFX0NIRUNLLFxuICAgICAgICB2YWx1ZTogUHJvcGVydHlUeXBlLkFSUkFZLFxuICAgICAgICBtZXNzYWdlOiBcIklnbm9yZUNoYW5nZXMgbXVzdCBiZSBhbiBhcnJheSBvZiBzdHJpbmdzXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUkVBRC1PTkxZIFBST1BFUlRZIERFRklOSVRJT05TXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFJlYWQtb25seSBwcm9wZXJ0aWVzIHRoYXQgYXJlIHBvcHVsYXRlZCBieSBBenVyZSBhZnRlciBjcmVhdGlvblxuICogVGhlc2UgcHJvcGVydGllcyBzaG91bGQgbm90IGJlIGluY2x1ZGVkIGluIHRoZSByZXF1ZXN0IGJvZHlcbiAqL1xuY29uc3QgUkVBRF9PTkxZX1BST1BFUlRJRVM6IHsgW2tleTogc3RyaW5nXTogUHJvcGVydHlEZWZpbml0aW9uIH0gPSB7XG4gIHByb3Zpc2lvbmluZ1N0YXRlOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJUaGUgcHJvdmlzaW9uaW5nIHN0YXRlIG9mIHRoZSBJbmJvdW5kIEVuZHBvaW50IHJlc291cmNlIChyZWFkLW9ubHkpXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlRZUEVfQ0hFQ0ssXG4gICAgICAgIHZhbHVlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgICAgICBtZXNzYWdlOiBcIlByb3Zpc2lvbmluZ1N0YXRlIG11c3QgYmUgYSBzdHJpbmdcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgaXBDb25maWd1cmF0aW9uczoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuQVJSQVksXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJUaGUgSVAgY29uZmlndXJhdGlvbiBkZXRhaWxzIGluY2x1ZGluZyBwcml2YXRlIElQIGFkZHJlc3MgYW5kIHN1Ym5ldCAocmVhZC1vbmx5KVwiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5UWVBFX0NIRUNLLFxuICAgICAgICB2YWx1ZTogUHJvcGVydHlUeXBlLkFSUkFZLFxuICAgICAgICBtZXNzYWdlOiBcIklwQ29uZmlndXJhdGlvbnMgbXVzdCBiZSBhbiBhcnJheVwiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFZFUlNJT04tU1BFQ0lGSUMgU0NIRU1BU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBBUEkgU2NoZW1hIGZvciBETlMgUmVzb2x2ZXIgSW5ib3VuZCBFbmRwb2ludCB2ZXJzaW9uIDIwMjItMDctMDFcbiAqL1xuZXhwb3J0IGNvbnN0IEROU19SRVNPTFZFUl9JTkJPVU5EX0VORFBPSU5UX1NDSEVNQV8yMDIyXzA3XzAxOiBBcGlTY2hlbWEgPSB7XG4gIHJlc291cmNlVHlwZTogXCJNaWNyb3NvZnQuTmV0d29yay9kbnNSZXNvbHZlcnMvaW5ib3VuZEVuZHBvaW50c1wiLFxuICB2ZXJzaW9uOiBcIjIwMjItMDctMDFcIixcbiAgcHJvcGVydGllczoge1xuICAgIC4uLkNPTU1PTl9QUk9QRVJUSUVTLFxuICAgIC4uLlJFQURfT05MWV9QUk9QRVJUSUVTLFxuICB9LFxuICByZXF1aXJlZDogW1wibG9jYXRpb25cIiwgXCJuYW1lXCIsIFwiZG5zUmVzb2x2ZXJJZFwiLCBcInN1Ym5ldElkXCJdLFxuICBvcHRpb25hbDogW1xuICAgIFwidGFnc1wiLFxuICAgIFwicHJpdmF0ZUlwQWRkcmVzc1wiLFxuICAgIFwicHJpdmF0ZUlwQWxsb2NhdGlvbk1ldGhvZFwiLFxuICAgIFwiaWdub3JlQ2hhbmdlc1wiLFxuICBdLFxuICBkZXByZWNhdGVkOiBbXSxcbiAgdHJhbnNmb3JtYXRpb25SdWxlczoge30sXG4gIHZhbGlkYXRpb25SdWxlczogW1xuICAgIHtcbiAgICAgIHByb3BlcnR5OiBcImxvY2F0aW9uXCIsXG4gICAgICBydWxlczogW1xuICAgICAgICB7XG4gICAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgICBtZXNzYWdlOiBcIkxvY2F0aW9uIGlzIHJlcXVpcmVkIGZvciBJbmJvdW5kIEVuZHBvaW50c1wiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3BlcnR5OiBcIm5hbWVcIixcbiAgICAgIHJ1bGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICAgIG1lc3NhZ2U6IFwiTmFtZSBpcyByZXF1aXJlZCBmb3IgSW5ib3VuZCBFbmRwb2ludHNcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm9wZXJ0eTogXCJkbnNSZXNvbHZlcklkXCIsXG4gICAgICBydWxlczogW1xuICAgICAgICB7XG4gICAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgICBtZXNzYWdlOiBcIkROUyBSZXNvbHZlciBJRCBpcyByZXF1aXJlZCBmb3IgSW5ib3VuZCBFbmRwb2ludHNcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm9wZXJ0eTogXCJzdWJuZXRJZFwiLFxuICAgICAgcnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgICAgbWVzc2FnZTogXCJTdWJuZXQgSUQgaXMgcmVxdWlyZWQgZm9yIEluYm91bmQgRW5kcG9pbnRzXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gIF0sXG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVkVSU0lPTiBDT05GSUdVUkFUSU9OU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBWZXJzaW9uIGNvbmZpZ3VyYXRpb24gZm9yIEROUyBSZXNvbHZlciBJbmJvdW5kIEVuZHBvaW50IDIwMjItMDctMDFcbiAqL1xuZXhwb3J0IGNvbnN0IEROU19SRVNPTFZFUl9JTkJPVU5EX0VORFBPSU5UX1ZFUlNJT05fMjAyMl8wN18wMTogVmVyc2lvbkNvbmZpZyA9IHtcbiAgdmVyc2lvbjogXCIyMDIyLTA3LTAxXCIsXG4gIHNjaGVtYTogRE5TX1JFU09MVkVSX0lOQk9VTkRfRU5EUE9JTlRfU0NIRU1BXzIwMjJfMDdfMDEsXG4gIHN1cHBvcnRMZXZlbDogVmVyc2lvblN1cHBvcnRMZXZlbC5BQ1RJVkUsXG4gIHJlbGVhc2VEYXRlOiBcIjIwMjItMDctMDFcIixcbiAgZGVwcmVjYXRpb25EYXRlOiB1bmRlZmluZWQsXG4gIHN1bnNldERhdGU6IHVuZGVmaW5lZCxcbiAgYnJlYWtpbmdDaGFuZ2VzOiBbXSxcbiAgbWlncmF0aW9uR3VpZGU6IFwiL2RvY3MvZG5zLXJlc29sdmVyLWluYm91bmQtZW5kcG9pbnQvbWlncmF0aW9uLTIwMjItMDctMDFcIixcbiAgY2hhbmdlTG9nOiBbXG4gICAge1xuICAgICAgY2hhbmdlVHlwZTogXCJhZGRlZFwiLFxuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgIFwiU3RhYmxlIHJlbGVhc2Ugb2YgRE5TIFJlc29sdmVyIEluYm91bmQgRW5kcG9pbnQgQVBJIHdpdGggc3VwcG9ydCBmb3IgZXh0ZXJuYWwgRE5TIHF1ZXJpZXMgdG8gQXp1cmUtaG9zdGVkIHpvbmVzXCIsXG4gICAgICBicmVha2luZzogZmFsc2UsXG4gICAgfSxcbiAgXSxcbn07XG5cbi8qKlxuICogQWxsIHN1cHBvcnRlZCBETlMgUmVzb2x2ZXIgSW5ib3VuZCBFbmRwb2ludCB2ZXJzaW9ucyBmb3IgcmVnaXN0cmF0aW9uXG4gKi9cbmV4cG9ydCBjb25zdCBBTExfRE5TX1JFU09MVkVSX0lOQk9VTkRfRU5EUE9JTlRfVkVSU0lPTlM6IFZlcnNpb25Db25maWdbXSA9IFtcbiAgRE5TX1JFU09MVkVSX0lOQk9VTkRfRU5EUE9JTlRfVkVSU0lPTl8yMDIyXzA3XzAxLFxuXTtcblxuLyoqXG4gKiBSZXNvdXJjZSB0eXBlIGNvbnN0YW50XG4gKi9cbmV4cG9ydCBjb25zdCBETlNfUkVTT0xWRVJfSU5CT1VORF9FTkRQT0lOVF9UWVBFID1cbiAgXCJNaWNyb3NvZnQuTmV0d29yay9kbnNSZXNvbHZlcnMvaW5ib3VuZEVuZHBvaW50c1wiO1xuIl19
@@ -0,0 +1,189 @@
1
+ /**
2
+ * Azure DNS Resolver Inbound Endpoint implementation using AzapiResource framework
3
+ *
4
+ * This class provides a unified implementation for DNS Resolver Inbound Endpoints.
5
+ * Inbound Endpoints allow external DNS servers to query Azure-hosted DNS zones
6
+ * through the DNS Resolver.
7
+ *
8
+ * Supported API Versions:
9
+ * - 2022-07-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
16
+ * - JSII compliance for multi-language support
17
+ * - Static or dynamic IP allocation
18
+ * - Dedicated subnet requirement with delegation
19
+ */
20
+ import * as cdktf from "cdktf";
21
+ import { Construct } from "constructs";
22
+ import { AzapiResource, AzapiResourceProps } from "../../core-azure/lib/azapi/azapi-resource";
23
+ import { ApiSchema } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
24
+ /**
25
+ * Properties for the Azure DNS Resolver Inbound Endpoint
26
+ *
27
+ * Extends AzapiResourceProps with Inbound Endpoint specific properties
28
+ */
29
+ export interface DnsResolverInboundEndpointProps extends AzapiResourceProps {
30
+ /**
31
+ * Resource ID of the parent DNS Resolver
32
+ * @example "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Network/dnsResolvers/my-resolver"
33
+ */
34
+ readonly dnsResolverId: string;
35
+ /**
36
+ * Resource ID of the subnet where the Inbound Endpoint will be deployed
37
+ * Must be a dedicated subnet between /28 and /24 with delegation to Microsoft.Network/dnsResolvers
38
+ * @example "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet/subnets/inbound-subnet"
39
+ */
40
+ readonly subnetId: string;
41
+ /**
42
+ * The private IP address for DNS queries
43
+ * If not specified, an IP will be allocated dynamically from the subnet
44
+ * @example "10.0.1.4"
45
+ */
46
+ readonly privateIpAddress?: string;
47
+ /**
48
+ * The IP allocation method
49
+ * - "Static": Use the specified privateIpAddress
50
+ * - "Dynamic": Automatically allocate an IP from the subnet
51
+ * @defaultValue "Dynamic"
52
+ */
53
+ readonly privateIpAllocationMethod?: string;
54
+ /**
55
+ * The lifecycle rules to ignore changes
56
+ * @example ["tags"]
57
+ */
58
+ readonly ignoreChanges?: string[];
59
+ }
60
+ /**
61
+ * The resource body interface for Azure Inbound Endpoint API calls
62
+ * This matches the Azure REST API schema
63
+ */
64
+ export interface DnsResolverInboundEndpointBody {
65
+ readonly location: string;
66
+ readonly tags?: {
67
+ [key: string]: string;
68
+ };
69
+ readonly properties?: any;
70
+ }
71
+ /**
72
+ * Azure DNS Resolver Inbound Endpoint implementation
73
+ *
74
+ * Inbound Endpoints allow external DNS servers (such as on-premises DNS servers)
75
+ * to query Azure-hosted DNS zones through the DNS Resolver. This enables hybrid
76
+ * DNS scenarios where external networks need to resolve Azure private DNS zones.
77
+ *
78
+ * Requirements:
79
+ * - Dedicated subnet between /28 and /24
80
+ * - Subnet must be delegated to Microsoft.Network/dnsResolvers
81
+ * - Must be in the same VNet as the parent DNS Resolver
82
+ * - Each DNS Resolver can have multiple inbound endpoints
83
+ *
84
+ * @example
85
+ * // Basic inbound endpoint with dynamic IP:
86
+ * const inboundEndpoint = new DnsResolverInboundEndpoint(this, "inbound-endpoint", {
87
+ * name: "my-inbound-endpoint",
88
+ * location: "eastus",
89
+ * dnsResolverId: dnsResolver.id,
90
+ * subnetId: inboundSubnet.id
91
+ * });
92
+ *
93
+ * @example
94
+ * // Inbound endpoint with static IP address:
95
+ * const inboundEndpoint = new DnsResolverInboundEndpoint(this, "inbound-endpoint", {
96
+ * name: "my-inbound-endpoint",
97
+ * location: "eastus",
98
+ * dnsResolverId: dnsResolver.id,
99
+ * subnetId: inboundSubnet.id,
100
+ * privateIpAddress: "10.0.1.4",
101
+ * privateIpAllocationMethod: "Static"
102
+ * });
103
+ *
104
+ * @example
105
+ * // Inbound endpoint with tags and version pinning:
106
+ * const inboundEndpoint = new DnsResolverInboundEndpoint(this, "inbound-endpoint", {
107
+ * name: "my-inbound-endpoint",
108
+ * location: "eastus",
109
+ * dnsResolverId: dnsResolver.id,
110
+ * subnetId: inboundSubnet.id,
111
+ * tags: {
112
+ * environment: "production",
113
+ * purpose: "hybrid-dns"
114
+ * },
115
+ * apiVersion: "2022-07-01"
116
+ * });
117
+ *
118
+ * @stability stable
119
+ */
120
+ export declare class DnsResolverInboundEndpoint extends AzapiResource {
121
+ /**
122
+ * The input properties for this Inbound Endpoint instance
123
+ */
124
+ readonly props: DnsResolverInboundEndpointProps;
125
+ readonly idOutput: cdktf.TerraformOutput;
126
+ readonly nameOutput: cdktf.TerraformOutput;
127
+ readonly locationOutput: cdktf.TerraformOutput;
128
+ readonly tagsOutput: cdktf.TerraformOutput;
129
+ readonly provisioningStateOutput: cdktf.TerraformOutput;
130
+ /**
131
+ * Creates a new Azure DNS Resolver Inbound Endpoint using the AzapiResource framework
132
+ *
133
+ * @param scope - The scope in which to define this construct
134
+ * @param id - The unique identifier for this instance
135
+ * @param props - Configuration properties for the Inbound Endpoint
136
+ */
137
+ constructor(scope: Construct, id: string, props: DnsResolverInboundEndpointProps);
138
+ /**
139
+ * Resolves the parent resource ID for the Inbound Endpoint
140
+ * Inbound Endpoints are child resources of DNS Resolvers
141
+ */
142
+ protected resolveParentId(props: any): string;
143
+ /**
144
+ * Gets the default API version to use when no explicit version is specified
145
+ */
146
+ protected defaultVersion(): string;
147
+ /**
148
+ * Gets the Azure resource type for Inbound Endpoints
149
+ */
150
+ protected resourceType(): string;
151
+ /**
152
+ * Gets the API schema for the resolved version
153
+ */
154
+ protected apiSchema(): ApiSchema;
155
+ /**
156
+ * Indicates that location is required for Inbound Endpoints
157
+ */
158
+ protected requiresLocation(): boolean;
159
+ /**
160
+ * Creates the resource body for the Azure API call
161
+ */
162
+ protected createResourceBody(props: any): any;
163
+ /**
164
+ * Get the subnet ID
165
+ * Returns the input value as Azure API doesn't return nested subnet structure reliably
166
+ */
167
+ get subnetId(): string;
168
+ /**
169
+ * Get the private IP address
170
+ * Returns the input value for static IPs, or empty string if dynamic
171
+ */
172
+ get privateIpAddress(): string;
173
+ /**
174
+ * Get the provisioning state of the Inbound Endpoint
175
+ */
176
+ get provisioningState(): string;
177
+ /**
178
+ * Add a tag to the Inbound Endpoint
179
+ */
180
+ addTag(key: string, value: string): void;
181
+ /**
182
+ * Remove a tag from the Inbound Endpoint
183
+ */
184
+ removeTag(key: string): void;
185
+ /**
186
+ * Applies ignore changes lifecycle rules if specified in props
187
+ */
188
+ private _applyIgnoreChanges;
189
+ }