@microsoft/terraform-cdk-constructs 2.2.0 → 2.5.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 (259) hide show
  1. package/.jsii +64029 -35477
  2. package/API.md +89314 -49618
  3. package/README.md +15 -0
  4. package/cdktf.json +1 -1
  5. package/docs/azure-api-version-update-pipeline.md +271 -0
  6. package/lib/azure-actiongroup/lib/action-group.js +1 -1
  7. package/lib/azure-activitylogalert/lib/activity-log-alert.js +1 -1
  8. package/lib/azure-aks/lib/aks-cluster.js +1 -1
  9. package/lib/azure-applicationinsights/index.d.ts +7 -0
  10. package/lib/azure-applicationinsights/index.js +24 -0
  11. package/lib/azure-applicationinsights/lib/application-insights-schemas.d.ts +29 -0
  12. package/lib/azure-applicationinsights/lib/application-insights-schemas.js +162 -0
  13. package/lib/azure-applicationinsights/lib/application-insights.d.ts +206 -0
  14. package/lib/azure-applicationinsights/lib/application-insights.js +209 -0
  15. package/lib/azure-applicationinsights/lib/index.d.ts +5 -0
  16. package/lib/azure-applicationinsights/lib/index.js +22 -0
  17. package/lib/azure-applicationinsights/test/application-insights.integ.d.ts +9 -0
  18. package/lib/azure-applicationinsights/test/application-insights.integ.js +84 -0
  19. package/lib/azure-applicationinsights/test/application-insights.spec.d.ts +8 -0
  20. package/lib/azure-applicationinsights/test/application-insights.spec.js +209 -0
  21. package/lib/azure-containerapps/lib/container-app-environment-schemas.d.ts +1 -1
  22. package/lib/azure-containerapps/lib/container-app-environment-schemas.js +2 -2
  23. package/lib/azure-containerapps/lib/container-app-environment.js +1 -1
  24. package/lib/azure-containerapps/lib/container-app-schemas.d.ts +1 -1
  25. package/lib/azure-containerapps/lib/container-app-schemas.js +2 -2
  26. package/lib/azure-containerapps/lib/container-app.js +1 -1
  27. package/lib/azure-containerapps/lib/container-apps-job-schemas.d.ts +8 -0
  28. package/lib/azure-containerapps/lib/container-apps-job-schemas.js +179 -0
  29. package/lib/azure-containerapps/lib/container-apps-job.d.ts +128 -0
  30. package/lib/azure-containerapps/lib/container-apps-job.js +81 -0
  31. package/lib/azure-containerapps/lib/index.d.ts +2 -0
  32. package/lib/azure-containerapps/lib/index.js +3 -1
  33. package/lib/azure-containerapps/test/container-apps-job.integ.d.ts +6 -0
  34. package/lib/azure-containerapps/test/container-apps-job.integ.js +95 -0
  35. package/lib/azure-containerapps/test/container-apps-job.spec.d.ts +1 -0
  36. package/lib/azure-containerapps/test/container-apps-job.spec.js +261 -0
  37. package/lib/azure-containerregistry/index.d.ts +1 -0
  38. package/lib/azure-containerregistry/index.js +18 -0
  39. package/lib/azure-containerregistry/lib/container-registry-schemas.d.ts +32 -0
  40. package/lib/azure-containerregistry/lib/container-registry-schemas.js +316 -0
  41. package/lib/azure-containerregistry/lib/container-registry.d.ts +330 -0
  42. package/lib/azure-containerregistry/lib/container-registry.js +217 -0
  43. package/lib/azure-containerregistry/lib/index.d.ts +2 -0
  44. package/lib/azure-containerregistry/lib/index.js +19 -0
  45. package/lib/azure-containerregistry/test/container-registry.integ.d.ts +9 -0
  46. package/lib/azure-containerregistry/test/container-registry.integ.js +101 -0
  47. package/lib/azure-containerregistry/test/container-registry.spec.d.ts +4 -0
  48. package/lib/azure-containerregistry/test/container-registry.spec.js +425 -0
  49. package/lib/azure-cosmosdb/index.d.ts +1 -0
  50. package/lib/azure-cosmosdb/index.js +18 -0
  51. package/lib/azure-cosmosdb/lib/cosmos-db-schemas.d.ts +40 -0
  52. package/lib/azure-cosmosdb/lib/cosmos-db-schemas.js +330 -0
  53. package/lib/azure-cosmosdb/lib/cosmos-db.d.ts +290 -0
  54. package/lib/azure-cosmosdb/lib/cosmos-db.js +222 -0
  55. package/lib/azure-cosmosdb/lib/index.d.ts +2 -0
  56. package/lib/azure-cosmosdb/lib/index.js +19 -0
  57. package/lib/azure-cosmosdb/test/cosmos-db.integ.d.ts +9 -0
  58. package/lib/azure-cosmosdb/test/cosmos-db.integ.js +98 -0
  59. package/lib/azure-cosmosdb/test/cosmos-db.spec.d.ts +4 -0
  60. package/lib/azure-cosmosdb/test/cosmos-db.spec.js +339 -0
  61. package/lib/azure-dataexplorer/index.d.ts +1 -0
  62. package/lib/azure-dataexplorer/index.js +18 -0
  63. package/lib/azure-dataexplorer/lib/data-explorer-cluster-schemas.d.ts +5 -0
  64. package/lib/azure-dataexplorer/lib/data-explorer-cluster-schemas.js +131 -0
  65. package/lib/azure-dataexplorer/lib/data-explorer-cluster.d.ts +54 -0
  66. package/lib/azure-dataexplorer/lib/data-explorer-cluster.js +91 -0
  67. package/lib/azure-dataexplorer/lib/data-explorer-database-schemas.d.ts +5 -0
  68. package/lib/azure-dataexplorer/lib/data-explorer-database-schemas.js +78 -0
  69. package/lib/azure-dataexplorer/lib/data-explorer-database.d.ts +24 -0
  70. package/lib/azure-dataexplorer/lib/data-explorer-database.js +68 -0
  71. package/lib/azure-dataexplorer/lib/data-explorer-table-schemas.d.ts +5 -0
  72. package/lib/azure-dataexplorer/lib/data-explorer-table-schemas.js +94 -0
  73. package/lib/azure-dataexplorer/lib/data-explorer-table.d.ts +25 -0
  74. package/lib/azure-dataexplorer/lib/data-explorer-table.js +62 -0
  75. package/lib/azure-dataexplorer/lib/index.d.ts +6 -0
  76. package/lib/azure-dataexplorer/lib/index.js +23 -0
  77. package/lib/azure-dataexplorer/test/data-explorer.integ.d.ts +1 -0
  78. package/lib/azure-dataexplorer/test/data-explorer.integ.js +78 -0
  79. package/lib/azure-dataexplorer/test/data-explorer.spec.d.ts +1 -0
  80. package/lib/azure-dataexplorer/test/data-explorer.spec.js +248 -0
  81. package/lib/azure-diagnosticsettings/lib/diagnostic-settings.js +1 -1
  82. package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset.js +1 -1
  83. package/lib/azure-dnsforwardingruleset/lib/forwarding-rule.js +1 -1
  84. package/lib/azure-dnsforwardingruleset/lib/virtual-network-link.js +1 -1
  85. package/lib/azure-dnsresolver/lib/dns-resolver.js +1 -1
  86. package/lib/azure-dnsresolver/lib/inbound-endpoint.js +1 -1
  87. package/lib/azure-dnsresolver/lib/outbound-endpoint.js +1 -1
  88. package/lib/azure-dnszone/lib/dns-zone.js +1 -1
  89. package/lib/azure-dnszone/lib/records/dns-records.js +10 -10
  90. package/lib/azure-eventgrideventsubscription/index.d.ts +1 -0
  91. package/lib/azure-eventgrideventsubscription/index.js +18 -0
  92. package/lib/azure-eventgrideventsubscription/lib/event-grid-event-subscription-schemas.d.ts +5 -0
  93. package/lib/azure-eventgrideventsubscription/lib/event-grid-event-subscription-schemas.js +151 -0
  94. package/lib/azure-eventgrideventsubscription/lib/event-grid-event-subscription.d.ts +59 -0
  95. package/lib/azure-eventgrideventsubscription/lib/event-grid-event-subscription.js +67 -0
  96. package/lib/azure-eventgrideventsubscription/lib/index.d.ts +2 -0
  97. package/lib/azure-eventgrideventsubscription/lib/index.js +19 -0
  98. package/lib/azure-eventgrideventsubscription/test/event-grid-event-subscription.integ.d.ts +1 -0
  99. package/lib/azure-eventgrideventsubscription/test/event-grid-event-subscription.integ.js +100 -0
  100. package/lib/azure-eventgrideventsubscription/test/event-grid-event-subscription.spec.d.ts +1 -0
  101. package/lib/azure-eventgrideventsubscription/test/event-grid-event-subscription.spec.js +242 -0
  102. package/lib/azure-eventgridsystemtopic/index.d.ts +1 -0
  103. package/lib/azure-eventgridsystemtopic/index.js +18 -0
  104. package/lib/azure-eventgridsystemtopic/lib/event-grid-system-topic-schemas.d.ts +5 -0
  105. package/lib/azure-eventgridsystemtopic/lib/event-grid-system-topic-schemas.js +164 -0
  106. package/lib/azure-eventgridsystemtopic/lib/event-grid-system-topic.d.ts +46 -0
  107. package/lib/azure-eventgridsystemtopic/lib/event-grid-system-topic.js +68 -0
  108. package/lib/azure-eventgridsystemtopic/lib/index.d.ts +2 -0
  109. package/lib/azure-eventgridsystemtopic/lib/index.js +19 -0
  110. package/lib/azure-eventgridsystemtopic/test/event-grid-system-topic.integ.d.ts +1 -0
  111. package/lib/azure-eventgridsystemtopic/test/event-grid-system-topic.integ.js +64 -0
  112. package/lib/azure-eventgridsystemtopic/test/event-grid-system-topic.spec.d.ts +1 -0
  113. package/lib/azure-eventgridsystemtopic/test/event-grid-system-topic.spec.js +241 -0
  114. package/lib/azure-eventhub/index.d.ts +7 -0
  115. package/lib/azure-eventhub/index.js +24 -0
  116. package/lib/azure-eventhub/lib/event-hub-namespace.d.ts +204 -0
  117. package/lib/azure-eventhub/lib/event-hub-namespace.js +178 -0
  118. package/lib/azure-eventhub/lib/event-hub-schemas.d.ts +63 -0
  119. package/lib/azure-eventhub/lib/event-hub-schemas.js +370 -0
  120. package/lib/azure-eventhub/lib/event-hub.d.ts +153 -0
  121. package/lib/azure-eventhub/lib/event-hub.js +171 -0
  122. package/lib/azure-eventhub/lib/index.d.ts +6 -0
  123. package/lib/azure-eventhub/lib/index.js +23 -0
  124. package/lib/azure-eventhub/test/event-hub.integ.d.ts +9 -0
  125. package/lib/azure-eventhub/test/event-hub.integ.js +113 -0
  126. package/lib/azure-eventhub/test/event-hub.spec.d.ts +8 -0
  127. package/lib/azure-eventhub/test/event-hub.spec.js +438 -0
  128. package/lib/azure-functionapp/index.d.ts +1 -0
  129. package/lib/azure-functionapp/index.js +18 -0
  130. package/lib/azure-functionapp/lib/function-app-schemas.d.ts +32 -0
  131. package/lib/azure-functionapp/lib/function-app-schemas.js +303 -0
  132. package/lib/azure-functionapp/lib/function-app.d.ts +367 -0
  133. package/lib/azure-functionapp/lib/function-app.js +223 -0
  134. package/lib/azure-functionapp/lib/index.d.ts +2 -0
  135. package/lib/azure-functionapp/lib/index.js +19 -0
  136. package/lib/azure-functionapp/test/function-app.integ.d.ts +12 -0
  137. package/lib/azure-functionapp/test/function-app.integ.js +134 -0
  138. package/lib/azure-functionapp/test/function-app.spec.d.ts +4 -0
  139. package/lib/azure-functionapp/test/function-app.spec.js +566 -0
  140. package/lib/azure-keyvault/index.d.ts +1 -0
  141. package/lib/azure-keyvault/index.js +18 -0
  142. package/lib/azure-keyvault/lib/index.d.ts +2 -0
  143. package/lib/azure-keyvault/lib/index.js +19 -0
  144. package/lib/azure-keyvault/lib/key-vault-schemas.d.ts +40 -0
  145. package/lib/azure-keyvault/lib/key-vault-schemas.js +312 -0
  146. package/lib/azure-keyvault/lib/key-vault.d.ts +344 -0
  147. package/lib/azure-keyvault/lib/key-vault.js +243 -0
  148. package/lib/azure-keyvault/test/key-vault.integ.d.ts +9 -0
  149. package/lib/azure-keyvault/test/key-vault.integ.js +108 -0
  150. package/lib/azure-keyvault/test/key-vault.spec.d.ts +4 -0
  151. package/lib/azure-keyvault/test/key-vault.spec.js +264 -0
  152. package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace.js +1 -1
  153. package/lib/azure-metricalert/lib/metric-alert.js +1 -1
  154. package/lib/azure-networkinterface/lib/network-interface.js +1 -1
  155. package/lib/azure-networksecuritygroup/lib/network-security-group.js +1 -1
  156. package/lib/azure-networkwatcher/lib/network-watcher.js +1 -1
  157. package/lib/azure-policyassignment/lib/policy-assignment.js +1 -1
  158. package/lib/azure-policydefinition/lib/policy-definition.js +1 -1
  159. package/lib/azure-policysetdefinition/lib/policy-set-definition.js +1 -1
  160. package/lib/azure-privatednszone/lib/private-dns-zone.js +1 -1
  161. package/lib/azure-privatednszone/lib/records/private-dns-records.js +8 -8
  162. package/lib/azure-privatednszonelink/lib/private-dns-zone-link.js +1 -1
  163. package/lib/azure-publicipaddress/lib/public-ip-address.js +1 -1
  164. package/lib/azure-resourcegroup/lib/resource-group.js +1 -1
  165. package/lib/azure-roleassignment/lib/role-assignment.js +1 -1
  166. package/lib/azure-roledefinition/lib/role-definition.js +1 -1
  167. package/lib/azure-sreagent/index.d.ts +1 -0
  168. package/lib/azure-sreagent/index.js +18 -0
  169. package/lib/azure-sreagent/lib/index.d.ts +2 -0
  170. package/lib/azure-sreagent/lib/index.js +19 -0
  171. package/lib/azure-sreagent/lib/sre-agent-schemas.d.ts +29 -0
  172. package/lib/azure-sreagent/lib/sre-agent-schemas.js +296 -0
  173. package/lib/azure-sreagent/lib/sre-agent.d.ts +208 -0
  174. package/lib/azure-sreagent/lib/sre-agent.js +217 -0
  175. package/lib/azure-sreagent/test/sre-agent.integ.d.ts +9 -0
  176. package/lib/azure-sreagent/test/sre-agent.integ.js +78 -0
  177. package/lib/azure-sreagent/test/sre-agent.spec.d.ts +4 -0
  178. package/lib/azure-sreagent/test/sre-agent.spec.js +216 -0
  179. package/lib/azure-staticwebapp/index.d.ts +1 -0
  180. package/lib/azure-staticwebapp/index.js +18 -0
  181. package/lib/azure-staticwebapp/lib/index.d.ts +2 -0
  182. package/lib/azure-staticwebapp/lib/index.js +19 -0
  183. package/lib/azure-staticwebapp/lib/static-web-app-schemas.d.ts +40 -0
  184. package/lib/azure-staticwebapp/lib/static-web-app-schemas.js +236 -0
  185. package/lib/azure-staticwebapp/lib/static-web-app.d.ts +242 -0
  186. package/lib/azure-staticwebapp/lib/static-web-app.js +232 -0
  187. package/lib/azure-staticwebapp/test/static-web-app.integ.d.ts +9 -0
  188. package/lib/azure-staticwebapp/test/static-web-app.integ.js +76 -0
  189. package/lib/azure-staticwebapp/test/static-web-app.spec.d.ts +15 -0
  190. package/lib/azure-staticwebapp/test/static-web-app.spec.js +293 -0
  191. package/lib/azure-storageaccount/lib/storage-account.js +1 -1
  192. package/lib/azure-storageblobcontainer/index.d.ts +1 -0
  193. package/lib/azure-storageblobcontainer/index.js +18 -0
  194. package/lib/azure-storageblobcontainer/lib/index.d.ts +2 -0
  195. package/lib/azure-storageblobcontainer/lib/index.js +19 -0
  196. package/lib/azure-storageblobcontainer/lib/storage-blob-container-schemas.d.ts +5 -0
  197. package/lib/azure-storageblobcontainer/lib/storage-blob-container-schemas.js +108 -0
  198. package/lib/azure-storageblobcontainer/lib/storage-blob-container.d.ts +37 -0
  199. package/lib/azure-storageblobcontainer/lib/storage-blob-container.js +63 -0
  200. package/lib/azure-storageblobcontainer/test/storage-blob-container.integ.d.ts +1 -0
  201. package/lib/azure-storageblobcontainer/test/storage-blob-container.integ.js +60 -0
  202. package/lib/azure-storageblobcontainer/test/storage-blob-container.spec.d.ts +1 -0
  203. package/lib/azure-storageblobcontainer/test/storage-blob-container.spec.js +172 -0
  204. package/lib/azure-subnet/lib/subnet.js +1 -1
  205. package/lib/azure-userassignedidentity/index.d.ts +1 -0
  206. package/lib/azure-userassignedidentity/index.js +18 -0
  207. package/lib/azure-userassignedidentity/lib/index.d.ts +2 -0
  208. package/lib/azure-userassignedidentity/lib/index.js +19 -0
  209. package/lib/azure-userassignedidentity/lib/user-assigned-identity-schemas.d.ts +8 -0
  210. package/lib/azure-userassignedidentity/lib/user-assigned-identity-schemas.js +107 -0
  211. package/lib/azure-userassignedidentity/lib/user-assigned-identity.d.ts +37 -0
  212. package/lib/azure-userassignedidentity/lib/user-assigned-identity.js +85 -0
  213. package/lib/azure-userassignedidentity/test/user-assigned-identity.integ.d.ts +1 -0
  214. package/lib/azure-userassignedidentity/test/user-assigned-identity.integ.js +64 -0
  215. package/lib/azure-userassignedidentity/test/user-assigned-identity.spec.d.ts +1 -0
  216. package/lib/azure-userassignedidentity/test/user-assigned-identity.spec.js +241 -0
  217. package/lib/azure-virtualmachine/lib/virtual-machine.js +1 -1
  218. package/lib/azure-virtualnetwork/lib/virtual-network.js +1 -1
  219. package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway.js +1 -1
  220. package/lib/azure-virtualnetworkgatewayconnection/lib/virtual-network-gateway-connection.js +1 -1
  221. package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration.js +1 -1
  222. package/lib/azure-virtualnetworkmanager/lib/ipam-pool-static-cidr.js +1 -1
  223. package/lib/azure-virtualnetworkmanager/lib/ipam-pool.js +1 -1
  224. package/lib/azure-virtualnetworkmanager/lib/network-group-static-member.js +1 -1
  225. package/lib/azure-virtualnetworkmanager/lib/network-group.js +1 -1
  226. package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration.js +1 -1
  227. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection.js +1 -1
  228. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule.js +1 -1
  229. package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager.js +1 -1
  230. package/lib/azure-vmss/lib/virtual-machine-scale-set.d.ts +66 -1
  231. package/lib/azure-vmss/lib/virtual-machine-scale-set.js +141 -2
  232. package/lib/azure-vmss/lib/vmss-schemas.d.ts +195 -0
  233. package/lib/azure-vmss/lib/vmss-schemas.js +33 -1
  234. package/lib/azure-vmss/test/virtual-machine-scale-set.spec.js +463 -1
  235. package/lib/core-azure/lib/azapi/azapi-resource.js +2 -2
  236. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.js +4 -4
  237. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.js +7 -7
  238. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-action/index.js +2 -2
  239. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-id/index.js +2 -2
  240. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-list/index.js +2 -2
  241. package/lib/core-azure/lib/azapi/providers-azapi/data-plane-resource/index.js +2 -2
  242. package/lib/core-azure/lib/azapi/providers-azapi/provider/index.js +3 -3
  243. package/lib/core-azure/lib/azapi/providers-azapi/resource/index.js +7 -7
  244. package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.js +5 -5
  245. package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.js +5 -5
  246. package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.js +1 -1
  247. package/lib/core-azure/lib/version-manager/api-version-manager.js +1 -1
  248. package/lib/core-azure/lib/version-manager/interfaces/version-interfaces.js +7 -7
  249. package/lib/index.d.ts +39 -0
  250. package/lib/index.js +41 -2
  251. package/lib/testing/index.js +20 -3
  252. package/lib/testing/lib/cleanup.js +1 -1
  253. package/lib/testing/lib/metadata.js +12 -4
  254. package/lib/testing/lib/naming.js +57 -1
  255. package/package.json +1 -1
  256. package/scripts/azure-version-updater/create-issue.ts +189 -0
  257. package/scripts/azure-version-updater/discover.ts +382 -0
  258. package/scripts/azure-version-updater/spec-mapping.ts +164 -0
  259. package/scripts/azure-version-updater/tsconfig.json +11 -0
@@ -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.1" };
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";