@microsoft/terraform-cdk-constructs 1.10.0 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (372) hide show
  1. package/.jsii +51855 -36874
  2. package/API.md +62102 -40530
  3. package/README.md +15 -0
  4. package/docs/azure-api-version-update-pipeline.md +271 -0
  5. package/lib/azure-actiongroup/lib/action-group.d.ts +3 -3
  6. package/lib/azure-actiongroup/lib/action-group.js +5 -5
  7. package/lib/azure-actiongroup/test/action-group.integ.d.ts +1 -1
  8. package/lib/azure-actiongroup/test/action-group.integ.js +5 -5
  9. package/lib/azure-actiongroup/test/action-group.spec.js +9 -9
  10. package/lib/azure-activitylogalert/lib/activity-log-alert.d.ts +3 -3
  11. package/lib/azure-activitylogalert/lib/activity-log-alert.js +5 -5
  12. package/lib/azure-activitylogalert/test/activity-log-alert.integ.d.ts +1 -1
  13. package/lib/azure-activitylogalert/test/activity-log-alert.integ.js +6 -6
  14. package/lib/azure-activitylogalert/test/activity-log-alert.spec.js +9 -9
  15. package/lib/azure-aks/lib/aks-cluster.d.ts +6 -6
  16. package/lib/azure-aks/lib/aks-cluster.js +8 -8
  17. package/lib/azure-aks/test/aks-cluster.integ.d.ts +1 -1
  18. package/lib/azure-aks/test/aks-cluster.integ.js +5 -5
  19. package/lib/azure-aks/test/aks-cluster.spec.js +12 -12
  20. package/lib/azure-applicationinsights/lib/application-insights.d.ts +6 -6
  21. package/lib/azure-applicationinsights/lib/application-insights.js +8 -8
  22. package/lib/azure-applicationinsights/test/application-insights.integ.d.ts +1 -1
  23. package/lib/azure-applicationinsights/test/application-insights.integ.js +6 -6
  24. package/lib/azure-applicationinsights/test/application-insights.spec.js +5 -5
  25. package/lib/azure-containerapps/lib/container-app-environment.d.ts +8 -8
  26. package/lib/azure-containerapps/lib/container-app-environment.js +10 -10
  27. package/lib/azure-containerapps/lib/container-app.d.ts +9 -9
  28. package/lib/azure-containerapps/lib/container-app.js +11 -11
  29. package/lib/azure-containerapps/lib/container-apps-job-schemas.d.ts +8 -0
  30. package/lib/azure-containerapps/lib/container-apps-job-schemas.js +179 -0
  31. package/lib/azure-containerapps/lib/container-apps-job.d.ts +128 -0
  32. package/lib/azure-containerapps/lib/container-apps-job.js +81 -0
  33. package/lib/azure-containerapps/lib/index.d.ts +2 -0
  34. package/lib/azure-containerapps/lib/index.js +3 -1
  35. package/lib/azure-containerapps/test/container-app-environment.integ.d.ts +1 -1
  36. package/lib/azure-containerapps/test/container-app-environment.integ.js +5 -5
  37. package/lib/azure-containerapps/test/container-app-environment.spec.js +19 -19
  38. package/lib/azure-containerapps/test/container-app.integ.d.ts +1 -1
  39. package/lib/azure-containerapps/test/container-app.integ.js +5 -5
  40. package/lib/azure-containerapps/test/container-app.spec.js +30 -30
  41. package/lib/azure-containerapps/test/container-apps-job.integ.d.ts +6 -0
  42. package/lib/azure-containerapps/test/container-apps-job.integ.js +95 -0
  43. package/lib/azure-containerapps/test/container-apps-job.spec.d.ts +1 -0
  44. package/lib/azure-containerapps/test/container-apps-job.spec.js +261 -0
  45. package/lib/azure-containerregistry/lib/container-registry.d.ts +6 -6
  46. package/lib/azure-containerregistry/lib/container-registry.js +8 -8
  47. package/lib/azure-containerregistry/test/container-registry.integ.d.ts +1 -1
  48. package/lib/azure-containerregistry/test/container-registry.integ.js +5 -5
  49. package/lib/azure-containerregistry/test/container-registry.spec.js +11 -11
  50. package/lib/azure-cosmosdb/lib/cosmos-db.d.ts +6 -6
  51. package/lib/azure-cosmosdb/lib/cosmos-db.js +8 -8
  52. package/lib/azure-cosmosdb/test/cosmos-db.integ.d.ts +1 -1
  53. package/lib/azure-cosmosdb/test/cosmos-db.integ.js +5 -5
  54. package/lib/azure-cosmosdb/test/cosmos-db.spec.js +11 -11
  55. package/lib/azure-dataexplorer/index.d.ts +1 -0
  56. package/lib/azure-dataexplorer/index.js +18 -0
  57. package/lib/azure-dataexplorer/lib/data-explorer-cluster-schemas.d.ts +5 -0
  58. package/lib/azure-dataexplorer/lib/data-explorer-cluster-schemas.js +131 -0
  59. package/lib/azure-dataexplorer/lib/data-explorer-cluster.d.ts +54 -0
  60. package/lib/azure-dataexplorer/lib/data-explorer-cluster.js +91 -0
  61. package/lib/azure-dataexplorer/lib/data-explorer-database-schemas.d.ts +5 -0
  62. package/lib/azure-dataexplorer/lib/data-explorer-database-schemas.js +78 -0
  63. package/lib/azure-dataexplorer/lib/data-explorer-database.d.ts +24 -0
  64. package/lib/azure-dataexplorer/lib/data-explorer-database.js +68 -0
  65. package/lib/azure-dataexplorer/lib/data-explorer-table-schemas.d.ts +5 -0
  66. package/lib/azure-dataexplorer/lib/data-explorer-table-schemas.js +94 -0
  67. package/lib/azure-dataexplorer/lib/data-explorer-table.d.ts +25 -0
  68. package/lib/azure-dataexplorer/lib/data-explorer-table.js +62 -0
  69. package/lib/azure-dataexplorer/lib/index.d.ts +6 -0
  70. package/lib/azure-dataexplorer/lib/index.js +23 -0
  71. package/lib/azure-dataexplorer/test/data-explorer.integ.d.ts +1 -0
  72. package/lib/azure-dataexplorer/test/data-explorer.integ.js +78 -0
  73. package/lib/azure-dataexplorer/test/data-explorer.spec.d.ts +1 -0
  74. package/lib/azure-dataexplorer/test/data-explorer.spec.js +248 -0
  75. package/lib/azure-diagnosticsettings/lib/diagnostic-settings.d.ts +3 -3
  76. package/lib/azure-diagnosticsettings/lib/diagnostic-settings.js +5 -5
  77. package/lib/azure-diagnosticsettings/test/diagnostic-settings.spec.js +9 -9
  78. package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset.d.ts +7 -7
  79. package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset.js +9 -9
  80. package/lib/azure-dnsforwardingruleset/lib/forwarding-rule.d.ts +4 -4
  81. package/lib/azure-dnsforwardingruleset/lib/forwarding-rule.js +6 -6
  82. package/lib/azure-dnsforwardingruleset/lib/virtual-network-link.d.ts +4 -4
  83. package/lib/azure-dnsforwardingruleset/lib/virtual-network-link.js +6 -6
  84. package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.integ.d.ts +1 -1
  85. package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.integ.js +5 -5
  86. package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.spec.js +11 -11
  87. package/lib/azure-dnsforwardingruleset/test/forwarding-rule.spec.js +14 -14
  88. package/lib/azure-dnsforwardingruleset/test/virtual-network-link.spec.js +12 -12
  89. package/lib/azure-dnsresolver/lib/dns-resolver.d.ts +8 -8
  90. package/lib/azure-dnsresolver/lib/dns-resolver.js +10 -10
  91. package/lib/azure-dnsresolver/lib/inbound-endpoint.d.ts +6 -6
  92. package/lib/azure-dnsresolver/lib/inbound-endpoint.js +8 -8
  93. package/lib/azure-dnsresolver/lib/outbound-endpoint.d.ts +7 -7
  94. package/lib/azure-dnsresolver/lib/outbound-endpoint.js +9 -9
  95. package/lib/azure-dnsresolver/test/dns-resolver.integ.d.ts +1 -1
  96. package/lib/azure-dnsresolver/test/dns-resolver.integ.js +5 -5
  97. package/lib/azure-dnsresolver/test/dns-resolver.spec.js +11 -11
  98. package/lib/azure-dnsresolver/test/inbound-endpoint.integ.d.ts +1 -1
  99. package/lib/azure-dnsresolver/test/inbound-endpoint.integ.js +5 -5
  100. package/lib/azure-dnsresolver/test/inbound-endpoint.spec.js +12 -12
  101. package/lib/azure-dnsresolver/test/outbound-endpoint.integ.d.ts +1 -1
  102. package/lib/azure-dnsresolver/test/outbound-endpoint.integ.js +5 -5
  103. package/lib/azure-dnsresolver/test/outbound-endpoint.spec.js +9 -9
  104. package/lib/azure-dnszone/lib/dns-zone.d.ts +6 -6
  105. package/lib/azure-dnszone/lib/dns-zone.js +8 -8
  106. package/lib/azure-dnszone/lib/records/dns-records.d.ts +31 -31
  107. package/lib/azure-dnszone/lib/records/dns-records.js +42 -42
  108. package/lib/azure-dnszone/test/dns-records.integ.d.ts +1 -1
  109. package/lib/azure-dnszone/test/dns-records.integ.js +5 -5
  110. package/lib/azure-dnszone/test/dns-records.spec.js +57 -57
  111. package/lib/azure-dnszone/test/dns-zone.integ.d.ts +1 -1
  112. package/lib/azure-dnszone/test/dns-zone.integ.js +5 -5
  113. package/lib/azure-dnszone/test/dns-zone.spec.js +11 -11
  114. package/lib/azure-eventgrideventsubscription/index.d.ts +1 -0
  115. package/lib/azure-eventgrideventsubscription/index.js +18 -0
  116. package/lib/azure-eventgrideventsubscription/lib/event-grid-event-subscription-schemas.d.ts +5 -0
  117. package/lib/azure-eventgrideventsubscription/lib/event-grid-event-subscription-schemas.js +151 -0
  118. package/lib/azure-eventgrideventsubscription/lib/event-grid-event-subscription.d.ts +59 -0
  119. package/lib/azure-eventgrideventsubscription/lib/event-grid-event-subscription.js +67 -0
  120. package/lib/azure-eventgrideventsubscription/lib/index.d.ts +2 -0
  121. package/lib/azure-eventgrideventsubscription/lib/index.js +19 -0
  122. package/lib/azure-eventgrideventsubscription/test/event-grid-event-subscription.integ.d.ts +1 -0
  123. package/lib/azure-eventgrideventsubscription/test/event-grid-event-subscription.integ.js +100 -0
  124. package/lib/azure-eventgrideventsubscription/test/event-grid-event-subscription.spec.d.ts +1 -0
  125. package/lib/azure-eventgrideventsubscription/test/event-grid-event-subscription.spec.js +242 -0
  126. package/lib/azure-eventgridsystemtopic/index.d.ts +1 -0
  127. package/lib/azure-eventgridsystemtopic/index.js +18 -0
  128. package/lib/azure-eventgridsystemtopic/lib/event-grid-system-topic-schemas.d.ts +5 -0
  129. package/lib/azure-eventgridsystemtopic/lib/event-grid-system-topic-schemas.js +164 -0
  130. package/lib/azure-eventgridsystemtopic/lib/event-grid-system-topic.d.ts +46 -0
  131. package/lib/azure-eventgridsystemtopic/lib/event-grid-system-topic.js +68 -0
  132. package/lib/azure-eventgridsystemtopic/lib/index.d.ts +2 -0
  133. package/lib/azure-eventgridsystemtopic/lib/index.js +19 -0
  134. package/lib/azure-eventgridsystemtopic/test/event-grid-system-topic.integ.d.ts +1 -0
  135. package/lib/azure-eventgridsystemtopic/test/event-grid-system-topic.integ.js +64 -0
  136. package/lib/azure-eventgridsystemtopic/test/event-grid-system-topic.spec.d.ts +1 -0
  137. package/lib/azure-eventgridsystemtopic/test/event-grid-system-topic.spec.js +241 -0
  138. package/lib/azure-eventhub/index.d.ts +7 -0
  139. package/lib/azure-eventhub/index.js +24 -0
  140. package/lib/azure-eventhub/lib/event-hub-namespace.d.ts +204 -0
  141. package/lib/azure-eventhub/lib/event-hub-namespace.js +178 -0
  142. package/lib/azure-eventhub/lib/event-hub-schemas.d.ts +63 -0
  143. package/lib/azure-eventhub/lib/event-hub-schemas.js +370 -0
  144. package/lib/azure-eventhub/lib/event-hub.d.ts +153 -0
  145. package/lib/azure-eventhub/lib/event-hub.js +171 -0
  146. package/lib/azure-eventhub/lib/index.d.ts +6 -0
  147. package/lib/azure-eventhub/lib/index.js +23 -0
  148. package/lib/azure-eventhub/test/event-hub.integ.d.ts +9 -0
  149. package/lib/azure-eventhub/test/event-hub.integ.js +113 -0
  150. package/lib/azure-eventhub/test/event-hub.spec.d.ts +8 -0
  151. package/lib/azure-eventhub/test/event-hub.spec.js +438 -0
  152. package/lib/azure-functionapp/lib/function-app.d.ts +6 -6
  153. package/lib/azure-functionapp/lib/function-app.js +8 -8
  154. package/lib/azure-functionapp/test/function-app.integ.d.ts +1 -1
  155. package/lib/azure-functionapp/test/function-app.integ.js +5 -5
  156. package/lib/azure-functionapp/test/function-app.spec.js +12 -12
  157. package/lib/azure-keyvault/lib/key-vault.d.ts +6 -6
  158. package/lib/azure-keyvault/lib/key-vault.js +8 -8
  159. package/lib/azure-keyvault/test/key-vault.integ.d.ts +1 -1
  160. package/lib/azure-keyvault/test/key-vault.integ.js +5 -5
  161. package/lib/azure-keyvault/test/key-vault.spec.js +11 -11
  162. package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace.d.ts +1 -1
  163. package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace.js +3 -3
  164. package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.integ.d.ts +1 -1
  165. package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.integ.js +6 -6
  166. package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.spec.js +6 -6
  167. package/lib/azure-metricalert/lib/metric-alert.d.ts +3 -3
  168. package/lib/azure-metricalert/lib/metric-alert.js +5 -5
  169. package/lib/azure-metricalert/test/metric-alert.integ.d.ts +1 -1
  170. package/lib/azure-metricalert/test/metric-alert.integ.js +5 -5
  171. package/lib/azure-metricalert/test/metric-alert.spec.js +9 -9
  172. package/lib/azure-networkinterface/lib/network-interface.d.ts +5 -5
  173. package/lib/azure-networkinterface/lib/network-interface.js +7 -7
  174. package/lib/azure-networkinterface/test/network-interface.integ.d.ts +1 -1
  175. package/lib/azure-networkinterface/test/network-interface.integ.js +5 -5
  176. package/lib/azure-networkinterface/test/network-interface.spec.js +11 -11
  177. package/lib/azure-networksecuritygroup/lib/network-security-group.d.ts +6 -6
  178. package/lib/azure-networksecuritygroup/lib/network-security-group.js +8 -8
  179. package/lib/azure-networksecuritygroup/test/network-security-group.integ.d.ts +1 -1
  180. package/lib/azure-networksecuritygroup/test/network-security-group.integ.js +5 -5
  181. package/lib/azure-networksecuritygroup/test/network-security-group.spec.js +12 -12
  182. package/lib/azure-networkwatcher/lib/network-watcher.d.ts +1 -1
  183. package/lib/azure-networkwatcher/lib/network-watcher.js +3 -3
  184. package/lib/azure-networkwatcher/test/network-watcher.integ.d.ts +1 -1
  185. package/lib/azure-networkwatcher/test/network-watcher.integ.js +6 -6
  186. package/lib/azure-networkwatcher/test/network-watcher.spec.js +6 -6
  187. package/lib/azure-policyassignment/lib/policy-assignment.d.ts +3 -3
  188. package/lib/azure-policyassignment/lib/policy-assignment.js +5 -5
  189. package/lib/azure-policyassignment/test/policy-assignment.integ.d.ts +1 -1
  190. package/lib/azure-policyassignment/test/policy-assignment.integ.js +5 -5
  191. package/lib/azure-policyassignment/test/policy-assignment.spec.js +12 -12
  192. package/lib/azure-policydefinition/lib/policy-definition.d.ts +3 -3
  193. package/lib/azure-policydefinition/lib/policy-definition.js +5 -5
  194. package/lib/azure-policydefinition/test/policy-definition.integ.d.ts +1 -1
  195. package/lib/azure-policydefinition/test/policy-definition.integ.js +5 -5
  196. package/lib/azure-policydefinition/test/policy-definition.spec.js +19 -19
  197. package/lib/azure-policysetdefinition/lib/policy-set-definition.d.ts +1 -1
  198. package/lib/azure-policysetdefinition/lib/policy-set-definition.js +3 -3
  199. package/lib/azure-policysetdefinition/test/policy-set-definition.integ.d.ts +1 -1
  200. package/lib/azure-policysetdefinition/test/policy-set-definition.integ.js +6 -6
  201. package/lib/azure-policysetdefinition/test/policy-set-definition.spec.js +6 -6
  202. package/lib/azure-privatednszone/lib/private-dns-zone.d.ts +10 -10
  203. package/lib/azure-privatednszone/lib/private-dns-zone.js +12 -12
  204. package/lib/azure-privatednszone/lib/records/private-dns-records.d.ts +25 -25
  205. package/lib/azure-privatednszone/lib/records/private-dns-records.js +34 -34
  206. package/lib/azure-privatednszone/test/private-dns-records.integ.d.ts +1 -1
  207. package/lib/azure-privatednszone/test/private-dns-records.integ.js +5 -5
  208. package/lib/azure-privatednszone/test/private-dns-records.spec.js +49 -49
  209. package/lib/azure-privatednszone/test/private-dns-zone.integ.d.ts +1 -1
  210. package/lib/azure-privatednszone/test/private-dns-zone.integ.js +5 -5
  211. package/lib/azure-privatednszone/test/private-dns-zone.spec.js +12 -12
  212. package/lib/azure-privatednszonelink/lib/private-dns-zone-link.d.ts +6 -6
  213. package/lib/azure-privatednszonelink/lib/private-dns-zone-link.js +8 -8
  214. package/lib/azure-privatednszonelink/test/private-dns-zone-link.integ.d.ts +1 -1
  215. package/lib/azure-privatednszonelink/test/private-dns-zone-link.integ.js +5 -5
  216. package/lib/azure-privatednszonelink/test/private-dns-zone-link.spec.js +12 -12
  217. package/lib/azure-publicipaddress/lib/public-ip-address.d.ts +5 -5
  218. package/lib/azure-publicipaddress/lib/public-ip-address.js +7 -7
  219. package/lib/azure-publicipaddress/test/public-ip-address.integ.d.ts +1 -1
  220. package/lib/azure-publicipaddress/test/public-ip-address.integ.js +6 -6
  221. package/lib/azure-publicipaddress/test/public-ip-address.spec.js +11 -11
  222. package/lib/azure-resourcegroup/lib/resource-group.d.ts +5 -5
  223. package/lib/azure-resourcegroup/lib/resource-group.js +7 -7
  224. package/lib/azure-resourcegroup/test/resource-group.integ.d.ts +1 -1
  225. package/lib/azure-resourcegroup/test/resource-group.integ.js +5 -5
  226. package/lib/azure-resourcegroup/test/resource-group.spec.js +14 -14
  227. package/lib/azure-roleassignment/lib/role-assignment.d.ts +3 -3
  228. package/lib/azure-roleassignment/lib/role-assignment.js +5 -5
  229. package/lib/azure-roleassignment/test/role-assignment.integ.d.ts +1 -1
  230. package/lib/azure-roleassignment/test/role-assignment.integ.js +5 -5
  231. package/lib/azure-roleassignment/test/role-assignment.spec.js +12 -12
  232. package/lib/azure-roledefinition/lib/role-definition.d.ts +3 -3
  233. package/lib/azure-roledefinition/lib/role-definition.js +5 -5
  234. package/lib/azure-roledefinition/test/role-definition.integ.d.ts +1 -1
  235. package/lib/azure-roledefinition/test/role-definition.integ.js +5 -5
  236. package/lib/azure-roledefinition/test/role-definition.spec.js +12 -12
  237. package/lib/azure-sreagent/lib/sre-agent.d.ts +8 -8
  238. package/lib/azure-sreagent/lib/sre-agent.js +10 -10
  239. package/lib/azure-sreagent/test/sre-agent.integ.d.ts +1 -1
  240. package/lib/azure-sreagent/test/sre-agent.integ.js +5 -5
  241. package/lib/azure-sreagent/test/sre-agent.spec.js +11 -11
  242. package/lib/azure-staticwebapp/lib/static-web-app.d.ts +6 -6
  243. package/lib/azure-staticwebapp/lib/static-web-app.js +8 -8
  244. package/lib/azure-staticwebapp/test/static-web-app.integ.d.ts +1 -1
  245. package/lib/azure-staticwebapp/test/static-web-app.integ.js +6 -6
  246. package/lib/azure-staticwebapp/test/static-web-app.spec.js +12 -12
  247. package/lib/azure-storageaccount/lib/storage-account.d.ts +6 -6
  248. package/lib/azure-storageaccount/lib/storage-account.js +8 -8
  249. package/lib/azure-storageaccount/test/storage-account.integ.d.ts +1 -1
  250. package/lib/azure-storageaccount/test/storage-account.integ.js +5 -5
  251. package/lib/azure-storageaccount/test/storage-account.spec.js +11 -11
  252. package/lib/azure-storageblobcontainer/index.d.ts +1 -0
  253. package/lib/azure-storageblobcontainer/index.js +18 -0
  254. package/lib/azure-storageblobcontainer/lib/index.d.ts +2 -0
  255. package/lib/azure-storageblobcontainer/lib/index.js +19 -0
  256. package/lib/azure-storageblobcontainer/lib/storage-blob-container-schemas.d.ts +5 -0
  257. package/lib/azure-storageblobcontainer/lib/storage-blob-container-schemas.js +108 -0
  258. package/lib/azure-storageblobcontainer/lib/storage-blob-container.d.ts +37 -0
  259. package/lib/azure-storageblobcontainer/lib/storage-blob-container.js +63 -0
  260. package/lib/azure-storageblobcontainer/test/storage-blob-container.integ.d.ts +1 -0
  261. package/lib/azure-storageblobcontainer/test/storage-blob-container.integ.js +60 -0
  262. package/lib/azure-storageblobcontainer/test/storage-blob-container.spec.d.ts +1 -0
  263. package/lib/azure-storageblobcontainer/test/storage-blob-container.spec.js +172 -0
  264. package/lib/azure-subnet/lib/subnet.d.ts +3 -3
  265. package/lib/azure-subnet/lib/subnet.js +5 -5
  266. package/lib/azure-subnet/test/subnet.integ.d.ts +1 -1
  267. package/lib/azure-subnet/test/subnet.integ.js +5 -5
  268. package/lib/azure-subnet/test/subnet.spec.js +9 -9
  269. package/lib/azure-userassignedidentity/index.d.ts +1 -0
  270. package/lib/azure-userassignedidentity/index.js +18 -0
  271. package/lib/azure-userassignedidentity/lib/index.d.ts +2 -0
  272. package/lib/azure-userassignedidentity/lib/index.js +19 -0
  273. package/lib/azure-userassignedidentity/lib/user-assigned-identity-schemas.d.ts +8 -0
  274. package/lib/azure-userassignedidentity/lib/user-assigned-identity-schemas.js +107 -0
  275. package/lib/azure-userassignedidentity/lib/user-assigned-identity.d.ts +37 -0
  276. package/lib/azure-userassignedidentity/lib/user-assigned-identity.js +85 -0
  277. package/lib/azure-userassignedidentity/test/user-assigned-identity.integ.d.ts +1 -0
  278. package/lib/azure-userassignedidentity/test/user-assigned-identity.integ.js +64 -0
  279. package/lib/azure-userassignedidentity/test/user-assigned-identity.spec.d.ts +1 -0
  280. package/lib/azure-userassignedidentity/test/user-assigned-identity.spec.js +241 -0
  281. package/lib/azure-virtualmachine/lib/virtual-machine.d.ts +6 -6
  282. package/lib/azure-virtualmachine/lib/virtual-machine.js +8 -8
  283. package/lib/azure-virtualmachine/test/virtual-machine.integ.d.ts +1 -1
  284. package/lib/azure-virtualmachine/test/virtual-machine.integ.js +5 -5
  285. package/lib/azure-virtualmachine/test/virtual-machine.spec.js +17 -17
  286. package/lib/azure-virtualnetwork/lib/virtual-network.d.ts +6 -6
  287. package/lib/azure-virtualnetwork/lib/virtual-network.js +8 -8
  288. package/lib/azure-virtualnetwork/test/virtual-network.integ.d.ts +1 -1
  289. package/lib/azure-virtualnetwork/test/virtual-network.integ.js +5 -5
  290. package/lib/azure-virtualnetwork/test/virtual-network.spec.js +12 -12
  291. package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway.d.ts +5 -5
  292. package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway.js +7 -7
  293. package/lib/azure-virtualnetworkgateway/test/virtual-network-gateway.integ.d.ts +1 -1
  294. package/lib/azure-virtualnetworkgateway/test/virtual-network-gateway.integ.js +5 -5
  295. package/lib/azure-virtualnetworkgateway/test/virtual-network-gateway.spec.js +13 -13
  296. package/lib/azure-virtualnetworkgatewayconnection/lib/virtual-network-gateway-connection.d.ts +5 -5
  297. package/lib/azure-virtualnetworkgatewayconnection/lib/virtual-network-gateway-connection.js +7 -7
  298. package/lib/azure-virtualnetworkgatewayconnection/test/virtual-network-gateway-connection.integ.d.ts +1 -1
  299. package/lib/azure-virtualnetworkgatewayconnection/test/virtual-network-gateway-connection.integ.js +5 -5
  300. package/lib/azure-virtualnetworkgatewayconnection/test/virtual-network-gateway-connection.spec.js +20 -20
  301. package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration.d.ts +4 -4
  302. package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration.js +6 -6
  303. package/lib/azure-virtualnetworkmanager/lib/ipam-pool-static-cidr.d.ts +4 -4
  304. package/lib/azure-virtualnetworkmanager/lib/ipam-pool-static-cidr.js +6 -6
  305. package/lib/azure-virtualnetworkmanager/lib/ipam-pool.d.ts +4 -4
  306. package/lib/azure-virtualnetworkmanager/lib/ipam-pool.js +6 -6
  307. package/lib/azure-virtualnetworkmanager/lib/network-group-static-member.d.ts +4 -4
  308. package/lib/azure-virtualnetworkmanager/lib/network-group-static-member.js +6 -6
  309. package/lib/azure-virtualnetworkmanager/lib/network-group.d.ts +4 -4
  310. package/lib/azure-virtualnetworkmanager/lib/network-group.js +6 -6
  311. package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration.d.ts +4 -4
  312. package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration.js +6 -6
  313. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection.d.ts +4 -4
  314. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection.js +6 -6
  315. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule.d.ts +4 -4
  316. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule.js +6 -6
  317. package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager.d.ts +7 -7
  318. package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager.js +9 -9
  319. package/lib/azure-virtualnetworkmanager/test/ipam-pool-static-cidr.spec.js +17 -17
  320. package/lib/azure-virtualnetworkmanager/test/ipam-pool.spec.js +15 -15
  321. package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.integ.d.ts +1 -1
  322. package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.integ.js +5 -5
  323. package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.spec.js +57 -57
  324. package/lib/azure-vmss/lib/virtual-machine-scale-set.d.ts +72 -7
  325. package/lib/azure-vmss/lib/virtual-machine-scale-set.js +147 -8
  326. package/lib/azure-vmss/lib/vmss-schemas.d.ts +195 -0
  327. package/lib/azure-vmss/lib/vmss-schemas.js +33 -1
  328. package/lib/azure-vmss/test/virtual-machine-scale-set.integ.d.ts +1 -1
  329. package/lib/azure-vmss/test/virtual-machine-scale-set.integ.js +5 -5
  330. package/lib/azure-vmss/test/virtual-machine-scale-set.spec.js +474 -12
  331. package/lib/core-azure/lib/azapi/azapi-resource-tags.spec.js +6 -6
  332. package/lib/core-azure/lib/azapi/azapi-resource.d.ts +7 -7
  333. package/lib/core-azure/lib/azapi/azapi-resource.js +6 -6
  334. package/lib/core-azure/lib/azapi/azapi-resource.spec.js +7 -7
  335. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.d.ts +12 -12
  336. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.js +15 -15
  337. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.d.ts +35 -35
  338. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.js +58 -58
  339. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-action/index.d.ts +25 -25
  340. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-action/index.js +49 -49
  341. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-id/index.d.ts +13 -13
  342. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-id/index.js +22 -22
  343. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-list/index.d.ts +24 -24
  344. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-list/index.js +40 -40
  345. package/lib/core-azure/lib/azapi/providers-azapi/data-plane-resource/index.d.ts +44 -44
  346. package/lib/core-azure/lib/azapi/providers-azapi/data-plane-resource/index.js +72 -72
  347. package/lib/core-azure/lib/azapi/providers-azapi/index.js +2 -2
  348. package/lib/core-azure/lib/azapi/providers-azapi/lazy-index.js +2 -2
  349. package/lib/core-azure/lib/azapi/providers-azapi/provider/index.d.ts +54 -54
  350. package/lib/core-azure/lib/azapi/providers-azapi/provider/index.js +86 -86
  351. package/lib/core-azure/lib/azapi/providers-azapi/resource/index.d.ts +65 -65
  352. package/lib/core-azure/lib/azapi/providers-azapi/resource/index.js +102 -102
  353. package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.d.ts +25 -25
  354. package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.js +62 -62
  355. package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.d.ts +36 -36
  356. package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.js +69 -69
  357. package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.js +1 -1
  358. package/lib/core-azure/lib/version-manager/api-version-manager.js +1 -1
  359. package/lib/core-azure/lib/version-manager/interfaces/version-interfaces.js +7 -7
  360. package/lib/index.d.ts +26 -0
  361. package/lib/index.js +28 -2
  362. package/lib/testing/index.d.ts +1 -1
  363. package/lib/testing/index.js +25 -8
  364. package/lib/testing/lib/cleanup.js +1 -1
  365. package/lib/testing/lib/metadata.js +12 -4
  366. package/lib/testing/lib/naming.js +57 -1
  367. package/package.json +10 -22
  368. package/scripts/azure-version-updater/create-issue.ts +189 -0
  369. package/scripts/azure-version-updater/discover.ts +382 -0
  370. package/scripts/azure-version-updater/spec-mapping.ts +164 -0
  371. package/scripts/azure-version-updater/tsconfig.json +11 -0
  372. package/setup.js +2 -2
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.EventhubNamespace = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ /**
7
+ * Azure Event Hubs Namespace implementation using the AzapiResource framework
8
+ *
9
+ * This class provides a version-aware implementation for Azure Event Hubs
10
+ * Namespaces (Microsoft.EventHub/namespaces) that automatically handles version
11
+ * management, schema validation, and property transformation across all
12
+ * supported API versions.
13
+ *
14
+ * Supported API Versions:
15
+ * - 2024-01-01 (Active, Latest)
16
+ * - 2021-11-01 (Active, Backward Compatibility)
17
+ *
18
+ * Features:
19
+ * - Automatic latest version resolution when no version is specified
20
+ * - Explicit version pinning for stability requirements
21
+ * - Schema-driven validation and transformation
22
+ * - Full JSII compliance for multi-language support
23
+ * - SKU management (Basic, Standard, Premium)
24
+ * - Auto-inflate throughput configuration
25
+ * - Public network access and minimum TLS controls
26
+ * - Managed identity support
27
+ */
28
+ const cdktn = require("cdktn");
29
+ const event_hub_schemas_1 = require("./event-hub-schemas");
30
+ const azapi_resource_1 = require("../../core-azure/lib/azapi/azapi-resource");
31
+ /**
32
+ * Azure Event Hubs Namespace implementation
33
+ *
34
+ * This class provides a single, version-aware implementation that automatically
35
+ * handles version resolution, schema validation, and property transformation
36
+ * while maintaining full JSII compliance.
37
+ *
38
+ * An Event Hubs Namespace is a management container for Event Hubs. It provides
39
+ * DNS-integrated network endpoints and a range of access control and network
40
+ * integration management features.
41
+ *
42
+ * @example
43
+ * // Basic Event Hubs Namespace with default settings:
44
+ * const namespace = new EventhubNamespace(this, "my-namespace", {
45
+ * name: "my-eventhub-ns",
46
+ * location: "eastus",
47
+ * resourceGroupId: resourceGroup.id,
48
+ * });
49
+ *
50
+ * @example
51
+ * // Standard namespace with auto-inflate:
52
+ * const namespace = new EventhubNamespace(this, "production-namespace", {
53
+ * name: "prod-eventhub-ns",
54
+ * location: "eastus",
55
+ * resourceGroupId: resourceGroup.id,
56
+ * sku: { name: "Standard", capacity: 2 },
57
+ * isAutoInflateEnabled: true,
58
+ * maximumThroughputUnits: 10,
59
+ * });
60
+ *
61
+ * @stability stable
62
+ */
63
+ class EventhubNamespace extends azapi_resource_1.AzapiResource {
64
+ /**
65
+ * Creates a new Azure Event Hubs Namespace using the AzapiResource framework
66
+ *
67
+ * @param scope - The scope in which to define this construct
68
+ * @param id - The unique identifier for this instance
69
+ * @param props - Configuration properties for the Event Hubs Namespace
70
+ */
71
+ constructor(scope, id, props) {
72
+ // Validate maximum throughput units if provided
73
+ if (props.maximumThroughputUnits !== undefined) {
74
+ if (props.maximumThroughputUnits < 0 ||
75
+ props.maximumThroughputUnits > 40) {
76
+ throw new Error("maximumThroughputUnits must be between 0 and 40");
77
+ }
78
+ }
79
+ super(scope, id, props);
80
+ this.props = props;
81
+ // Create Terraform outputs for easy access and referencing from other resources
82
+ this.idOutput = new cdktn.TerraformOutput(this, "id", {
83
+ value: this.id,
84
+ description: "The ID of the Event Hubs Namespace",
85
+ });
86
+ this.nameOutput = new cdktn.TerraformOutput(this, "name", {
87
+ value: `\${${this.terraformResource.fqn}.name}`,
88
+ description: "The name of the Event Hubs Namespace",
89
+ });
90
+ // Override logical IDs
91
+ this.idOutput.overrideLogicalId("id");
92
+ this.nameOutput.overrideLogicalId("name");
93
+ }
94
+ // =============================================================================
95
+ // REQUIRED ABSTRACT METHODS FROM AzapiResource
96
+ // =============================================================================
97
+ /**
98
+ * Gets the default API version to use when no explicit version is specified
99
+ * Returns the latest stable version as the default
100
+ */
101
+ defaultVersion() {
102
+ return "2024-01-01";
103
+ }
104
+ /**
105
+ * Gets the Azure resource type for Event Hubs Namespaces
106
+ */
107
+ resourceType() {
108
+ return event_hub_schemas_1.EVENT_HUB_NAMESPACE_TYPE;
109
+ }
110
+ /**
111
+ * Gets the API schema for the resolved version
112
+ */
113
+ apiSchema() {
114
+ return this.resolveSchema();
115
+ }
116
+ /**
117
+ * Indicates that this resource type requires a location
118
+ */
119
+ requiresLocation() {
120
+ return true;
121
+ }
122
+ /**
123
+ * Creates the resource body for the Azure API call
124
+ * Transforms the input properties into the JSON format expected by Azure REST API
125
+ */
126
+ createResourceBody(props) {
127
+ const typedProps = props;
128
+ const skuName = typedProps.sku?.name ?? "Standard";
129
+ const sku = {
130
+ name: skuName,
131
+ tier: typedProps.sku?.tier ?? skuName,
132
+ };
133
+ if (typedProps.sku?.capacity !== undefined) {
134
+ sku.capacity = typedProps.sku.capacity;
135
+ }
136
+ const body = {
137
+ sku,
138
+ properties: {
139
+ minimumTlsVersion: typedProps.minimumTlsVersion ?? "1.2",
140
+ publicNetworkAccess: typedProps.publicNetworkAccess ?? "Enabled",
141
+ },
142
+ };
143
+ if (typedProps.zoneRedundant !== undefined) {
144
+ body.properties.zoneRedundant = typedProps.zoneRedundant;
145
+ }
146
+ if (typedProps.isAutoInflateEnabled !== undefined) {
147
+ body.properties.isAutoInflateEnabled = typedProps.isAutoInflateEnabled;
148
+ }
149
+ if (typedProps.maximumThroughputUnits !== undefined) {
150
+ body.properties.maximumThroughputUnits =
151
+ typedProps.maximumThroughputUnits;
152
+ }
153
+ if (typedProps.disableLocalAuth !== undefined) {
154
+ body.properties.disableLocalAuth = typedProps.disableLocalAuth;
155
+ }
156
+ if (typedProps.identity) {
157
+ body.identity = typedProps.identity;
158
+ }
159
+ return body;
160
+ }
161
+ /**
162
+ * Resolves the parent resource ID for the Event Hubs Namespace
163
+ * Event Hubs Namespaces are top-level resources within a resource group
164
+ *
165
+ * @param props - The resource properties
166
+ * @returns The parent resource ID (the resource group)
167
+ */
168
+ resolveParentId(props) {
169
+ return props.resourceGroupId;
170
+ }
171
+ }
172
+ exports.EventhubNamespace = EventhubNamespace;
173
+ _a = JSII_RTTI_SYMBOL_1;
174
+ EventhubNamespace[_a] = { fqn: "@microsoft/terraform-cdk-constructs.EventhubNamespace", version: "2.5.0" };
175
+ (() => {
176
+ azapi_resource_1.AzapiResource.registerSchemas(event_hub_schemas_1.EVENT_HUB_NAMESPACE_TYPE, event_hub_schemas_1.ALL_EVENT_HUB_NAMESPACE_VERSIONS);
177
+ })();
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtaHViLW5hbWVzcGFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS1ldmVudGh1Yi9saWIvZXZlbnQtaHViLW5hbWVzcGFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFFSCwrQkFBK0I7QUFFL0IsMkRBRzZCO0FBQzdCLDhFQUdtRDtBQXVIbkQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0ErQkc7QUFDSCxNQUFhLGlCQUFrQixTQUFRLDhCQUFhO0lBaUJsRDs7Ozs7O09BTUc7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTZCO1FBQ3JFLGdEQUFnRDtRQUNoRCxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMvQyxJQUNFLEtBQUssQ0FBQyxzQkFBc0IsR0FBRyxDQUFDO2dCQUNoQyxLQUFLLENBQUMsc0JBQXNCLEdBQUcsRUFBRSxFQUNqQyxDQUFDO2dCQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsaURBQWlELENBQUMsQ0FBQztZQUNyRSxDQUFDO1FBQ0gsQ0FBQztRQUVELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRW5CLGdGQUFnRjtRQUNoRixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ3BELEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNkLFdBQVcsRUFBRSxvQ0FBb0M7U0FDbEQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUN4RCxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUMs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biB1c2luZyB0aGUgQXphcGlSZXNvdXJjZSBmcmFtZXdvcmtcbiAqXG4gKiBUaGlzIGNsYXNzIHByb3ZpZGVzIGEgdmVyc2lvbi1hd2FyZSBpbXBsZW1lbnRhdGlvbiBmb3IgQXp1cmUgRXZlbnQgSHVic1xuICogTmFtZXNwYWNlcyAoTWljcm9zb2Z0LkV2ZW50SHViL25hbWVzcGFjZXMpIHRoYXQgYXV0b21hdGljYWxseSBoYW5kbGVzIHZlcnNpb25cbiAqIG1hbmFnZW1lbnQsIHNjaGVtYSB2YWxpZGF0aW9uLCBhbmQgcHJvcGVydHkgdHJhbnNmb3JtYXRpb24gYWNyb3NzIGFsbFxuICogc3VwcG9ydGVkIEFQSSB2ZXJzaW9ucy5cbiAqXG4gKiBTdXBwb3J0ZWQgQVBJIFZlcnNpb25zOlxuICogLSAyMDI0LTAxLTAxIChBY3RpdmUsIExhdGVzdClcbiAqIC0gMjAyMS0xMS0wMSAoQWN0aXZlLCBCYWNrd2FyZCBDb21wYXRpYmlsaXR5KVxuICpcbiAqIEZlYXR1cmVzOlxuICogLSBBdXRvbWF0aWMgbGF0ZXN0IHZlcnNpb24gcmVzb2x1dGlvbiB3aGVuIG5vIHZlcnNpb24gaXMgc3BlY2lmaWVkXG4gKiAtIEV4cGxpY2l0IHZlcnNpb24gcGlubmluZyBmb3Igc3RhYmlsaXR5IHJlcXVpcmVtZW50c1xuICogLSBTY2hlbWEtZHJpdmVuIHZhbGlkYXRpb24gYW5kIHRyYW5zZm9ybWF0aW9uXG4gKiAtIEZ1bGwgSlNJSSBjb21wbGlhbmNlIGZvciBtdWx0aS1sYW5ndWFnZSBzdXBwb3J0XG4gKiAtIFNLVSBtYW5hZ2VtZW50IChCYXNpYywgU3RhbmRhcmQsIFByZW1pdW0pXG4gKiAtIEF1dG8taW5mbGF0ZSB0aHJvdWdocHV0IGNvbmZpZ3VyYXRpb25cbiAqIC0gUHVibGljIG5ldHdvcmsgYWNjZXNzIGFuZCBtaW5pbXVtIFRMUyBjb250cm9sc1xuICogLSBNYW5hZ2VkIGlkZW50aXR5IHN1cHBvcnRcbiAqL1xuXG5pbXBvcnQgKiBhcyBjZGt0biBmcm9tIFwiY2RrdG5cIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICBBTExfRVZFTlRfSFVCX05BTUVTUEFDRV9WRVJTSU9OUyxcbiAgRVZFTlRfSFVCX05BTUVTUEFDRV9UWVBFLFxufSBmcm9tIFwiLi9ldmVudC1odWItc2NoZW1hc1wiO1xuaW1wb3J0IHtcbiAgQXphcGlSZXNvdXJjZSxcbiAgQXphcGlSZXNvdXJjZVByb3BzLFxufSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvYXphcGkvYXphcGktcmVzb3VyY2VcIjtcbmltcG9ydCB7IEFwaVNjaGVtYSB9IGZyb20gXCIuLi8uLi9jb3JlLWF6dXJlL2xpYi92ZXJzaW9uLW1hbmFnZXIvaW50ZXJmYWNlcy92ZXJzaW9uLWludGVyZmFjZXNcIjtcblxuLyoqXG4gKiBTS1UgY29uZmlndXJhdGlvbiBmb3IgYW4gRXZlbnQgSHVicyBOYW1lc3BhY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFdmVudGh1Yk5hbWVzcGFjZVNrdSB7XG4gIC8qKlxuICAgKiBUaGUgU0tVIG5hbWUgZm9yIHRoZSBuYW1lc3BhY2VcbiAgICpcbiAgICogQXZhaWxhYmxlIG9wdGlvbnM6XG4gICAqIC0gXCJCYXNpY1wiIC0gQmFzaWMgdGllciAoMSBjb25zdW1lciBncm91cCwgMTAwIGJyb2tlcmVkIGNvbm5lY3Rpb25zKVxuICAgKiAtIFwiU3RhbmRhcmRcIiAtIFN0YW5kYXJkIHRpZXIgKDIwIGNvbnN1bWVyIGdyb3VwcywgYXV0by1pbmZsYXRlIHN1cHBvcnQpXG4gICAqIC0gXCJQcmVtaXVtXCIgLSBQcmVtaXVtIHRpZXIgKGRlZGljYXRlZCBjYXBhY2l0eSwgaGlnaGVyIGxpbWl0cylcbiAgICpcbiAgICogQGRlZmF1bHRWYWx1ZSBcIlN0YW5kYXJkXCJcbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IFwiQmFzaWNcIiB8IFwiU3RhbmRhcmRcIiB8IFwiUHJlbWl1bVwiO1xuXG4gIC8qKlxuICAgKiBUaGUgYmlsbGluZyB0aWVyIG9mIHRoZSBuYW1lc3BhY2VcbiAgICpcbiAgICogSWYgbm90IHByb3ZpZGVkLCBkZWZhdWx0cyB0byB0aGUgc2FtZSB2YWx1ZSBhcyBgbmFtZWAuXG4gICAqL1xuICByZWFkb25seSB0aWVyPzogXCJCYXNpY1wiIHwgXCJTdGFuZGFyZFwiIHwgXCJQcmVtaXVtXCI7XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgdGhyb3VnaHB1dCB1bml0cyAoU3RhbmRhcmQpIG9yIGNhcGFjaXR5IHVuaXRzIChQcmVtaXVtKVxuICAgKlxuICAgKiBPbmx5IGFwcGxpY2FibGUgdG8gU3RhbmRhcmQgYW5kIFByZW1pdW0gdGllcnMuXG4gICAqL1xuICByZWFkb25seSBjYXBhY2l0eT86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBNYW5hZ2VkIGlkZW50aXR5IGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBuYW1lc3BhY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFdmVudGh1Yk5hbWVzcGFjZUlkZW50aXR5IHtcbiAgLyoqXG4gICAqIFR5cGUgb2YgbWFuYWdlZCBpZGVudGl0eVxuICAgKi9cbiAgcmVhZG9ubHkgdHlwZTpcbiAgICB8IFwiU3lzdGVtQXNzaWduZWRcIlxuICAgIHwgXCJVc2VyQXNzaWduZWRcIlxuICAgIHwgXCJTeXN0ZW1Bc3NpZ25lZCxVc2VyQXNzaWduZWRcIlxuICAgIHwgXCJOb25lXCI7XG5cbiAgLyoqXG4gICAqIFVzZXItYXNzaWduZWQgaWRlbnRpdHkgcmVzb3VyY2UgSURzXG4gICAqIFJlcXVpcmVkIHdoZW4gdHlwZSBpbmNsdWRlcyBVc2VyQXNzaWduZWRcbiAgICovXG4gIHJlYWRvbmx5IHVzZXJBc3NpZ25lZElkZW50aXRpZXM/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIHRoZSBBenVyZSBFdmVudCBIdWJzIE5hbWVzcGFjZVxuICpcbiAqIEV4dGVuZHMgQXphcGlSZXNvdXJjZVByb3BzIHdpdGggRXZlbnQgSHVicyBOYW1lc3BhY2Ugc3BlY2lmaWMgcHJvcGVydGllc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50aHViTmFtZXNwYWNlUHJvcHMgZXh0ZW5kcyBBemFwaVJlc291cmNlUHJvcHMge1xuICAvKipcbiAgICogUmVzb3VyY2UgR3JvdXAgSUQgd2hlcmUgdGhlIG5hbWVzcGFjZSB3aWxsIGJlIGNyZWF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IHJlc291cmNlR3JvdXBJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTS1UgY29uZmlndXJhdGlvbiBmb3IgdGhlIG5hbWVzcGFjZVxuICAgKlxuICAgKiBAZGVmYXVsdFZhbHVlIHsgbmFtZTogXCJTdGFuZGFyZFwiIH1cbiAgICovXG4gIHJlYWRvbmx5IHNrdT86IEV2ZW50aHViTmFtZXNwYWNlU2t1O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGVuYWJsZSB6b25lIHJlZHVuZGFuY3kgZm9yIHRoZSBuYW1lc3BhY2VcbiAgICovXG4gIHJlYWRvbmx5IHpvbmVSZWR1bmRhbnQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGF1dG8taW5mbGF0ZSBpcyBlbmFibGVkIGZvciB0aGUgbmFtZXNwYWNlIChTdGFuZGFyZCB0aWVyKVxuICAgKlxuICAgKiBXaGVuIGVuYWJsZWQsIHRocm91Z2hwdXQgdW5pdHMgYXV0b21hdGljYWxseSBzY2FsZSB1cCB0b1xuICAgKiBgbWF4aW11bVRocm91Z2hwdXRVbml0c2AgYmFzZWQgb24gbG9hZC5cbiAgICovXG4gIHJlYWRvbmx5IGlzQXV0b0luZmxhdGVFbmFibGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHVwcGVyIGxpbWl0IG9mIHRocm91Z2hwdXQgdW5pdHMgd2hlbiBhdXRvLWluZmxhdGUgaXMgZW5hYmxlZFxuICAgKlxuICAgKiBWYWxpZCB2YWx1ZXMgYXJlIGJldHdlZW4gMCBhbmQgNDAuXG4gICAqL1xuICByZWFkb25seSBtYXhpbXVtVGhyb3VnaHB1dFVuaXRzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBUTFMgdmVyc2lvbiBzdXBwb3J0ZWQgYnkgdGhlIG5hbWVzcGFjZVxuICAgKlxuICAgKiBAZGVmYXVsdFZhbHVlIFwiMS4yXCJcbiAgICovXG4gIHJlYWRvbmx5IG1pbmltdW1UbHNWZXJzaW9uPzogXCIxLjBcIiB8IFwiMS4xXCIgfCBcIjEuMlwiO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHB1YmxpYyBuZXR3b3JrIGFjY2VzcyBpcyBhbGxvd2VkIGZvciB0aGUgbmFtZXNwYWNlXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgXCJFbmFibGVkXCJcbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY05ldHdvcmtBY2Nlc3M/OiBcIkVuYWJsZWRcIiB8IFwiRGlzYWJsZWRcIjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBkaXNhYmxlIFNBUyAobG9jYWwpIGF1dGhlbnRpY2F0aW9uXG4gICAqXG4gICAqIFdoZW4gZW5hYmxlZCwgb25seSBBenVyZSBBRCBhdXRoZW50aWNhdGlvbiBpcyBhbGxvd2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZUxvY2FsQXV0aD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE1hbmFnZWQgaWRlbnRpdHkgY29uZmlndXJhdGlvbiBmb3IgdGhlIG5hbWVzcGFjZVxuICAgKi9cbiAgcmVhZG9ubHkgaWRlbnRpdHk/OiBFdmVudGh1Yk5hbWVzcGFjZUlkZW50aXR5O1xufVxuXG4vKipcbiAqIEF6dXJlIEV2ZW50IEh1YnMgTmFtZXNwYWNlIGltcGxlbWVudGF0aW9uXG4gKlxuICogVGhpcyBjbGFzcyBwcm92aWRlcyBhIHNpbmdsZSwgdmVyc2lvbi1hd2FyZSBpbXBsZW1lbnRhdGlvbiB0aGF0IGF1dG9tYXRpY2FsbHlcbiAqIGhhbmRsZXMgdmVyc2lvbiByZXNvbHV0aW9uLCBzY2hlbWEgdmFsaWRhdGlvbiwgYW5kIHByb3BlcnR5IHRyYW5zZm9ybWF0aW9uXG4gKiB3aGlsZSBtYWludGFpbmluZyBmdWxsIEpTSUkgY29tcGxpYW5jZS5cbiAqXG4gKiBBbiBFdmVudCBIdWJzIE5hbWVzcGFjZSBpcyBhIG1hbmFnZW1lbnQgY29udGFpbmVyIGZvciBFdmVudCBIdWJzLiBJdCBwcm92aWRlc1xuICogRE5TLWludGVncmF0ZWQgbmV0d29yayBlbmRwb2ludHMgYW5kIGEgcmFuZ2Ugb2YgYWNjZXNzIGNvbnRyb2wgYW5kIG5ldHdvcmtcbiAqIGludGVncmF0aW9uIG1hbmFnZW1lbnQgZmVhdHVyZXMuXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEJhc2ljIEV2ZW50IEh1YnMgTmFtZXNwYWNlIHdpdGggZGVmYXVsdCBzZXR0aW5nczpcbiAqIGNvbnN0IG5hbWVzcGFjZSA9IG5ldyBFdmVudGh1Yk5hbWVzcGFjZSh0aGlzLCBcIm15LW5hbWVzcGFjZVwiLCB7XG4gKiAgIG5hbWU6IFwibXktZXZlbnRodWItbnNcIixcbiAqICAgbG9jYXRpb246IFwiZWFzdHVzXCIsXG4gKiAgIHJlc291cmNlR3JvdXBJZDogcmVzb3VyY2VHcm91cC5pZCxcbiAqIH0pO1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBTdGFuZGFyZCBuYW1lc3BhY2Ugd2l0aCBhdXRvLWluZmxhdGU6XG4gKiBjb25zdCBuYW1lc3BhY2UgPSBuZXcgRXZlbnRodWJOYW1lc3BhY2UodGhpcywgXCJwcm9kdWN0aW9uLW5hbWVzcGFjZVwiLCB7XG4gKiAgIG5hbWU6IFwicHJvZC1ldmVudGh1Yi1uc1wiLFxuICogICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAqICAgcmVzb3VyY2VHcm91cElkOiByZXNvdXJjZUdyb3VwLmlkLFxuICogICBza3U6IHsgbmFtZTogXCJTdGFuZGFyZFwiLCBjYXBhY2l0eTogMiB9LFxuICogICBpc0F1dG9JbmZsYXRlRW5hYmxlZDogdHJ1ZSxcbiAqICAgbWF4aW11bVRocm91Z2hwdXRVbml0czogMTAsXG4gKiB9KTtcbiAqXG4gKiBAc3RhYmlsaXR5IHN0YWJsZVxuICovXG5leHBvcnQgY2xhc3MgRXZlbnRodWJOYW1lc3BhY2UgZXh0ZW5kcyBBemFwaVJlc291cmNlIHtcbiAgc3RhdGljIHtcbiAgICBBemFwaVJlc291cmNlLnJlZ2lzdGVyU2NoZW1hcyhcbiAgICAgIEVWRU5UX0hVQl9OQU1FU1BBQ0VfVFlQRSxcbiAgICAgIEFMTF9FVkVOVF9IVUJfTkFNRVNQQUNFX1ZFUlNJT05TLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGlucHV0IHByb3BlcnRpZXMgZm9yIHRoaXMgRXZlbnQgSHVicyBOYW1lc3BhY2UgaW5zdGFuY2VcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBwcm9wczogRXZlbnRodWJOYW1lc3BhY2VQcm9wcztcblxuICAvLyBPdXRwdXQgcHJvcGVydGllcyBmb3IgZWFzeSBhY2Nlc3MgYW5kIHJlZmVyZW5jaW5nXG4gIHB1YmxpYyByZWFkb25seSBpZE91dHB1dDogY2RrdG4uVGVycmFmb3JtT3V0cHV0O1xuICBwdWJsaWMgcmVhZG9ubHkgbmFtZU91dHB1dDogY2RrdG4uVGVycmFmb3JtT3V0cHV0O1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IEF6dXJlIEV2ZW50IEh1YnMgTmFtZXNwYWNlIHVzaW5nIHRoZSBBemFwaVJlc291cmNlIGZyYW1ld29ya1xuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgLSBUaGUgc2NvcGUgaW4gd2hpY2ggdG8gZGVmaW5lIHRoaXMgY29uc3RydWN0XG4gICAqIEBwYXJhbSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBpbnN0YW5jZVxuICAgKiBAcGFyYW0gcHJvcHMgLSBDb25maWd1cmF0aW9uIHByb3BlcnRpZXMgZm9yIHRoZSBFdmVudCBIdWJzIE5hbWVzcGFjZVxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEV2ZW50aHViTmFtZXNwYWNlUHJvcHMpIHtcbiAgICAvLyBWYWxpZGF0ZSBtYXhpbXVtIHRocm91Z2hwdXQgdW5pdHMgaWYgcHJvdmlkZWRcbiAgICBpZiAocHJvcHMubWF4aW11bVRocm91Z2hwdXRVbml0cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZiAoXG4gICAgICAgIHByb3BzLm1heGltdW1UaHJvdWdocHV0VW5pdHMgPCAwIHx8XG4gICAgICAgIHByb3BzLm1heGltdW1UaHJvdWdocHV0VW5pdHMgPiA0MFxuICAgICAgKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIm1heGltdW1UaHJvdWdocHV0VW5pdHMgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDQwXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuXG4gICAgLy8gQ3JlYXRlIFRlcnJhZm9ybSBvdXRwdXRzIGZvciBlYXN5IGFjY2VzcyBhbmQgcmVmZXJlbmNpbmcgZnJvbSBvdGhlciByZXNvdXJjZXNcbiAgICB0aGlzLmlkT3V0cHV0ID0gbmV3IGNka3RuLlRlcnJhZm9ybU91dHB1dCh0aGlzLCBcImlkXCIsIHtcbiAgICAgIHZhbHVlOiB0aGlzLmlkLFxuICAgICAgZGVzY3JpcHRpb246IFwiVGhlIElEIG9mIHRoZSBFdmVudCBIdWJzIE5hbWVzcGFjZVwiLFxuICAgIH0pO1xuXG4gICAgdGhpcy5uYW1lT3V0cHV0ID0gbmV3IGNka3RuLlRlcnJhZm9ybU91dHB1dCh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgdmFsdWU6IGBcXCR7JHt0aGlzLnRlcnJhZm9ybVJlc291cmNlLmZxbn0ubmFtZX1gLFxuICAgICAgZGVzY3JpcHRpb246IFwiVGhlIG5hbWUgb2YgdGhlIEV2ZW50IEh1YnMgTmFtZXNwYWNlXCIsXG4gICAgfSk7XG5cbiAgICAvLyBPdmVycmlkZSBsb2dpY2FsIElEc1xuICAgIHRoaXMuaWRPdXRwdXQub3ZlcnJpZGVMb2dpY2FsSWQoXCJpZFwiKTtcbiAgICB0aGlzLm5hbWVPdXRwdXQub3ZlcnJpZGVMb2dpY2FsSWQoXCJuYW1lXCIpO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gUkVRVUlSRUQgQUJTVFJBQ1QgTUVUSE9EUyBGUk9NIEF6YXBpUmVzb3VyY2VcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKipcbiAgICogR2V0cyB0aGUgZGVmYXVsdCBBUEkgdmVyc2lvbiB0byB1c2Ugd2hlbiBubyBleHBsaWNpdCB2ZXJzaW9uIGlzIHNwZWNpZmllZFxuICAgKiBSZXR1cm5zIHRoZSBsYXRlc3Qgc3RhYmxlIHZlcnNpb24gYXMgdGhlIGRlZmF1bHRcbiAgICovXG4gIHByb3RlY3RlZCBkZWZhdWx0VmVyc2lvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiBcIjIwMjQtMDEtMDFcIjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBBenVyZSByZXNvdXJjZSB0eXBlIGZvciBFdmVudCBIdWJzIE5hbWVzcGFjZXNcbiAgICovXG4gIHByb3RlY3RlZCByZXNvdXJjZVR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gRVZFTlRfSFVCX05BTUVTUEFDRV9UWVBFO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIEFQSSBzY2hlbWEgZm9yIHRoZSByZXNvbHZlZCB2ZXJzaW9uXG4gICAqL1xuICBwcm90ZWN0ZWQgYXBpU2NoZW1hKCk6IEFwaVNjaGVtYSB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZVNjaGVtYSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB0aGF0IHRoaXMgcmVzb3VyY2UgdHlwZSByZXF1aXJlcyBhIGxvY2F0aW9uXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVxdWlyZXNMb2NhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIHRoZSByZXNvdXJjZSBib2R5IGZvciB0aGUgQXp1cmUgQVBJIGNhbGxcbiAgICogVHJhbnNmb3JtcyB0aGUgaW5wdXQgcHJvcGVydGllcyBpbnRvIHRoZSBKU09OIGZvcm1hdCBleHBlY3RlZCBieSBBenVyZSBSRVNUIEFQSVxuICAgKi9cbiAgcHJvdGVjdGVkIGNyZWF0ZVJlc291cmNlQm9keShwcm9wczogYW55KTogYW55IHtcbiAgICBjb25zdCB0eXBlZFByb3BzID0gcHJvcHMgYXMgRXZlbnRodWJOYW1lc3BhY2VQcm9wcztcblxuICAgIGNvbnN0IHNrdU5hbWUgPSB0eXBlZFByb3BzLnNrdT8ubmFtZSA/PyBcIlN0YW5kYXJkXCI7XG4gICAgY29uc3Qgc2t1OiBhbnkgPSB7XG4gICAgICBuYW1lOiBza3VOYW1lLFxuICAgICAgdGllcjogdHlwZWRQcm9wcy5za3U/LnRpZXIgPz8gc2t1TmFtZSxcbiAgICB9O1xuICAgIGlmICh0eXBlZFByb3BzLnNrdT8uY2FwYWNpdHkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgc2t1LmNhcGFjaXR5ID0gdHlwZWRQcm9wcy5za3UuY2FwYWNpdHk7XG4gICAgfVxuXG4gICAgY29uc3QgYm9keTogYW55ID0ge1xuICAgICAgc2t1LFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBtaW5pbXVtVGxzVmVyc2lvbjogdHlwZWRQcm9wcy5taW5pbXVtVGxzVmVyc2lvbiA/PyBcIjEuMlwiLFxuICAgICAgICBwdWJsaWNOZXR3b3JrQWNjZXNzOiB0eXBlZFByb3BzLnB1YmxpY05ldHdvcmtBY2Nlc3MgPz8gXCJFbmFibGVkXCIsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICBpZiAodHlwZWRQcm9wcy56b25lUmVkdW5kYW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGJvZHkucHJvcGVydGllcy56b25lUmVkdW5kYW50ID0gdHlwZWRQcm9wcy56b25lUmVkdW5kYW50O1xuICAgIH1cblxuICAgIGlmICh0eXBlZFByb3BzLmlzQXV0b0luZmxhdGVFbmFibGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGJvZHkucHJvcGVydGllcy5pc0F1dG9JbmZsYXRlRW5hYmxlZCA9IHR5cGVkUHJvcHMuaXNBdXRvSW5mbGF0ZUVuYWJsZWQ7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVkUHJvcHMubWF4aW11bVRocm91Z2hwdXRVbml0cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBib2R5LnByb3BlcnRpZXMubWF4aW11bVRocm91Z2hwdXRVbml0cyA9XG4gICAgICAgIHR5cGVkUHJvcHMubWF4aW11bVRocm91Z2hwdXRVbml0cztcbiAgICB9XG5cbiAgICBpZiAodHlwZWRQcm9wcy5kaXNhYmxlTG9jYWxBdXRoICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGJvZHkucHJvcGVydGllcy5kaXNhYmxlTG9jYWxBdXRoID0gdHlwZWRQcm9wcy5kaXNhYmxlTG9jYWxBdXRoO1xuICAgIH1cblxuICAgIGlmICh0eXBlZFByb3BzLmlkZW50aXR5KSB7XG4gICAgICBib2R5LmlkZW50aXR5ID0gdHlwZWRQcm9wcy5pZGVudGl0eTtcbiAgICB9XG5cbiAgICByZXR1cm4gYm9keTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNvbHZlcyB0aGUgcGFyZW50IHJlc291cmNlIElEIGZvciB0aGUgRXZlbnQgSHVicyBOYW1lc3BhY2VcbiAgICogRXZlbnQgSHVicyBOYW1lc3BhY2VzIGFyZSB0b3AtbGV2ZWwgcmVzb3VyY2VzIHdpdGhpbiBhIHJlc291cmNlIGdyb3VwXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyAtIFRoZSByZXNvdXJjZSBwcm9wZXJ0aWVzXG4gICAqIEByZXR1cm5zIFRoZSBwYXJlbnQgcmVzb3VyY2UgSUQgKHRoZSByZXNvdXJjZSBncm91cClcbiAgICovXG4gIHByb3RlY3RlZCByZXNvbHZlUGFyZW50SWQocHJvcHM6IGFueSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIChwcm9wcyBhcyBFdmVudGh1Yk5hbWVzcGFjZVByb3BzKS5yZXNvdXJjZUdyb3VwSWQ7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,63 @@
1
+ /**
2
+ * API schemas for Azure Event Hubs across all supported versions
3
+ *
4
+ * This file defines the complete API schemas for Microsoft.EventHub/namespaces
5
+ * and Microsoft.EventHub/namespaces/eventhubs across all supported API versions.
6
+ * The schemas are used by the AzapiResource framework for validation,
7
+ * transformation, and version management.
8
+ */
9
+ import { ApiSchema, VersionConfig } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
10
+ /**
11
+ * API Schema for Event Hub Namespace version 2024-01-01
12
+ *
13
+ * This is the latest stable version for Event Hub Namespaces.
14
+ */
15
+ export declare const EVENT_HUB_NAMESPACE_SCHEMA_2024_01_01: ApiSchema;
16
+ /**
17
+ * API Schema for Event Hub Namespace version 2021-11-01
18
+ *
19
+ * This is a stable version for backward compatibility.
20
+ */
21
+ export declare const EVENT_HUB_NAMESPACE_SCHEMA_2021_11_01: ApiSchema;
22
+ /**
23
+ * Version configuration for Event Hub Namespace 2024-01-01
24
+ */
25
+ export declare const EVENT_HUB_NAMESPACE_VERSION_2024_01_01: VersionConfig;
26
+ /**
27
+ * Version configuration for Event Hub Namespace 2021-11-01
28
+ */
29
+ export declare const EVENT_HUB_NAMESPACE_VERSION_2021_11_01: VersionConfig;
30
+ /**
31
+ * All supported Event Hub Namespace versions for registration
32
+ * Ordered with latest stable version first
33
+ */
34
+ export declare const ALL_EVENT_HUB_NAMESPACE_VERSIONS: VersionConfig[];
35
+ /**
36
+ * Resource type constant for Event Hub Namespace
37
+ */
38
+ export declare const EVENT_HUB_NAMESPACE_TYPE = "Microsoft.EventHub/namespaces";
39
+ /**
40
+ * API Schema for Event Hub (entity) version 2024-01-01
41
+ */
42
+ export declare const EVENT_HUB_SCHEMA_2024_01_01: ApiSchema;
43
+ /**
44
+ * API Schema for Event Hub (entity) version 2021-11-01
45
+ */
46
+ export declare const EVENT_HUB_SCHEMA_2021_11_01: ApiSchema;
47
+ /**
48
+ * Version configuration for Event Hub (entity) 2024-01-01
49
+ */
50
+ export declare const EVENT_HUB_VERSION_2024_01_01: VersionConfig;
51
+ /**
52
+ * Version configuration for Event Hub (entity) 2021-11-01
53
+ */
54
+ export declare const EVENT_HUB_VERSION_2021_11_01: VersionConfig;
55
+ /**
56
+ * All supported Event Hub (entity) versions for registration
57
+ * Ordered with latest stable version first
58
+ */
59
+ export declare const ALL_EVENT_HUB_VERSIONS: VersionConfig[];
60
+ /**
61
+ * Resource type constant for Event Hub (entity)
62
+ */
63
+ export declare const EVENT_HUB_TYPE = "Microsoft.EventHub/namespaces/eventhubs";