@microsoft/terraform-cdk-constructs 2.2.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.
- package/.jsii +64029 -35477
- package/API.md +89314 -49618
- package/README.md +15 -0
- package/docs/azure-api-version-update-pipeline.md +271 -0
- package/lib/azure-actiongroup/lib/action-group.js +1 -1
- package/lib/azure-activitylogalert/lib/activity-log-alert.js +1 -1
- package/lib/azure-aks/lib/aks-cluster.js +1 -1
- package/lib/azure-applicationinsights/index.d.ts +7 -0
- package/lib/azure-applicationinsights/index.js +24 -0
- package/lib/azure-applicationinsights/lib/application-insights-schemas.d.ts +29 -0
- package/lib/azure-applicationinsights/lib/application-insights-schemas.js +162 -0
- package/lib/azure-applicationinsights/lib/application-insights.d.ts +206 -0
- package/lib/azure-applicationinsights/lib/application-insights.js +209 -0
- package/lib/azure-applicationinsights/lib/index.d.ts +5 -0
- package/lib/azure-applicationinsights/lib/index.js +22 -0
- package/lib/azure-applicationinsights/test/application-insights.integ.d.ts +9 -0
- package/lib/azure-applicationinsights/test/application-insights.integ.js +84 -0
- package/lib/azure-applicationinsights/test/application-insights.spec.d.ts +8 -0
- package/lib/azure-applicationinsights/test/application-insights.spec.js +209 -0
- package/lib/azure-containerapps/lib/container-app-environment.js +1 -1
- package/lib/azure-containerapps/lib/container-app.js +1 -1
- package/lib/azure-containerapps/lib/container-apps-job-schemas.d.ts +8 -0
- package/lib/azure-containerapps/lib/container-apps-job-schemas.js +179 -0
- package/lib/azure-containerapps/lib/container-apps-job.d.ts +128 -0
- package/lib/azure-containerapps/lib/container-apps-job.js +81 -0
- package/lib/azure-containerapps/lib/index.d.ts +2 -0
- package/lib/azure-containerapps/lib/index.js +3 -1
- package/lib/azure-containerapps/test/container-apps-job.integ.d.ts +6 -0
- package/lib/azure-containerapps/test/container-apps-job.integ.js +95 -0
- package/lib/azure-containerapps/test/container-apps-job.spec.d.ts +1 -0
- package/lib/azure-containerapps/test/container-apps-job.spec.js +261 -0
- package/lib/azure-containerregistry/index.d.ts +1 -0
- package/lib/azure-containerregistry/index.js +18 -0
- package/lib/azure-containerregistry/lib/container-registry-schemas.d.ts +32 -0
- package/lib/azure-containerregistry/lib/container-registry-schemas.js +316 -0
- package/lib/azure-containerregistry/lib/container-registry.d.ts +330 -0
- package/lib/azure-containerregistry/lib/container-registry.js +217 -0
- package/lib/azure-containerregistry/lib/index.d.ts +2 -0
- package/lib/azure-containerregistry/lib/index.js +19 -0
- package/lib/azure-containerregistry/test/container-registry.integ.d.ts +9 -0
- package/lib/azure-containerregistry/test/container-registry.integ.js +101 -0
- package/lib/azure-containerregistry/test/container-registry.spec.d.ts +4 -0
- package/lib/azure-containerregistry/test/container-registry.spec.js +425 -0
- package/lib/azure-cosmosdb/index.d.ts +1 -0
- package/lib/azure-cosmosdb/index.js +18 -0
- package/lib/azure-cosmosdb/lib/cosmos-db-schemas.d.ts +40 -0
- package/lib/azure-cosmosdb/lib/cosmos-db-schemas.js +330 -0
- package/lib/azure-cosmosdb/lib/cosmos-db.d.ts +290 -0
- package/lib/azure-cosmosdb/lib/cosmos-db.js +222 -0
- package/lib/azure-cosmosdb/lib/index.d.ts +2 -0
- package/lib/azure-cosmosdb/lib/index.js +19 -0
- package/lib/azure-cosmosdb/test/cosmos-db.integ.d.ts +9 -0
- package/lib/azure-cosmosdb/test/cosmos-db.integ.js +98 -0
- package/lib/azure-cosmosdb/test/cosmos-db.spec.d.ts +4 -0
- package/lib/azure-cosmosdb/test/cosmos-db.spec.js +339 -0
- package/lib/azure-dataexplorer/index.d.ts +1 -0
- package/lib/azure-dataexplorer/index.js +18 -0
- package/lib/azure-dataexplorer/lib/data-explorer-cluster-schemas.d.ts +5 -0
- package/lib/azure-dataexplorer/lib/data-explorer-cluster-schemas.js +131 -0
- package/lib/azure-dataexplorer/lib/data-explorer-cluster.d.ts +54 -0
- package/lib/azure-dataexplorer/lib/data-explorer-cluster.js +91 -0
- package/lib/azure-dataexplorer/lib/data-explorer-database-schemas.d.ts +5 -0
- package/lib/azure-dataexplorer/lib/data-explorer-database-schemas.js +78 -0
- package/lib/azure-dataexplorer/lib/data-explorer-database.d.ts +24 -0
- package/lib/azure-dataexplorer/lib/data-explorer-database.js +68 -0
- package/lib/azure-dataexplorer/lib/data-explorer-table-schemas.d.ts +5 -0
- package/lib/azure-dataexplorer/lib/data-explorer-table-schemas.js +94 -0
- package/lib/azure-dataexplorer/lib/data-explorer-table.d.ts +25 -0
- package/lib/azure-dataexplorer/lib/data-explorer-table.js +62 -0
- package/lib/azure-dataexplorer/lib/index.d.ts +6 -0
- package/lib/azure-dataexplorer/lib/index.js +23 -0
- package/lib/azure-dataexplorer/test/data-explorer.integ.d.ts +1 -0
- package/lib/azure-dataexplorer/test/data-explorer.integ.js +78 -0
- package/lib/azure-dataexplorer/test/data-explorer.spec.d.ts +1 -0
- package/lib/azure-dataexplorer/test/data-explorer.spec.js +248 -0
- package/lib/azure-diagnosticsettings/lib/diagnostic-settings.js +1 -1
- package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset.js +1 -1
- package/lib/azure-dnsforwardingruleset/lib/forwarding-rule.js +1 -1
- package/lib/azure-dnsforwardingruleset/lib/virtual-network-link.js +1 -1
- package/lib/azure-dnsresolver/lib/dns-resolver.js +1 -1
- package/lib/azure-dnsresolver/lib/inbound-endpoint.js +1 -1
- package/lib/azure-dnsresolver/lib/outbound-endpoint.js +1 -1
- package/lib/azure-dnszone/lib/dns-zone.js +1 -1
- package/lib/azure-dnszone/lib/records/dns-records.js +10 -10
- package/lib/azure-eventgrideventsubscription/index.d.ts +1 -0
- package/lib/azure-eventgrideventsubscription/index.js +18 -0
- package/lib/azure-eventgrideventsubscription/lib/event-grid-event-subscription-schemas.d.ts +5 -0
- package/lib/azure-eventgrideventsubscription/lib/event-grid-event-subscription-schemas.js +151 -0
- package/lib/azure-eventgrideventsubscription/lib/event-grid-event-subscription.d.ts +59 -0
- package/lib/azure-eventgrideventsubscription/lib/event-grid-event-subscription.js +67 -0
- package/lib/azure-eventgrideventsubscription/lib/index.d.ts +2 -0
- package/lib/azure-eventgrideventsubscription/lib/index.js +19 -0
- package/lib/azure-eventgrideventsubscription/test/event-grid-event-subscription.integ.d.ts +1 -0
- package/lib/azure-eventgrideventsubscription/test/event-grid-event-subscription.integ.js +100 -0
- package/lib/azure-eventgrideventsubscription/test/event-grid-event-subscription.spec.d.ts +1 -0
- package/lib/azure-eventgrideventsubscription/test/event-grid-event-subscription.spec.js +242 -0
- package/lib/azure-eventgridsystemtopic/index.d.ts +1 -0
- package/lib/azure-eventgridsystemtopic/index.js +18 -0
- package/lib/azure-eventgridsystemtopic/lib/event-grid-system-topic-schemas.d.ts +5 -0
- package/lib/azure-eventgridsystemtopic/lib/event-grid-system-topic-schemas.js +164 -0
- package/lib/azure-eventgridsystemtopic/lib/event-grid-system-topic.d.ts +46 -0
- package/lib/azure-eventgridsystemtopic/lib/event-grid-system-topic.js +68 -0
- package/lib/azure-eventgridsystemtopic/lib/index.d.ts +2 -0
- package/lib/azure-eventgridsystemtopic/lib/index.js +19 -0
- package/lib/azure-eventgridsystemtopic/test/event-grid-system-topic.integ.d.ts +1 -0
- package/lib/azure-eventgridsystemtopic/test/event-grid-system-topic.integ.js +64 -0
- package/lib/azure-eventgridsystemtopic/test/event-grid-system-topic.spec.d.ts +1 -0
- package/lib/azure-eventgridsystemtopic/test/event-grid-system-topic.spec.js +241 -0
- package/lib/azure-eventhub/index.d.ts +7 -0
- package/lib/azure-eventhub/index.js +24 -0
- package/lib/azure-eventhub/lib/event-hub-namespace.d.ts +204 -0
- package/lib/azure-eventhub/lib/event-hub-namespace.js +178 -0
- package/lib/azure-eventhub/lib/event-hub-schemas.d.ts +63 -0
- package/lib/azure-eventhub/lib/event-hub-schemas.js +370 -0
- package/lib/azure-eventhub/lib/event-hub.d.ts +153 -0
- package/lib/azure-eventhub/lib/event-hub.js +171 -0
- package/lib/azure-eventhub/lib/index.d.ts +6 -0
- package/lib/azure-eventhub/lib/index.js +23 -0
- package/lib/azure-eventhub/test/event-hub.integ.d.ts +9 -0
- package/lib/azure-eventhub/test/event-hub.integ.js +113 -0
- package/lib/azure-eventhub/test/event-hub.spec.d.ts +8 -0
- package/lib/azure-eventhub/test/event-hub.spec.js +438 -0
- package/lib/azure-functionapp/index.d.ts +1 -0
- package/lib/azure-functionapp/index.js +18 -0
- package/lib/azure-functionapp/lib/function-app-schemas.d.ts +32 -0
- package/lib/azure-functionapp/lib/function-app-schemas.js +303 -0
- package/lib/azure-functionapp/lib/function-app.d.ts +367 -0
- package/lib/azure-functionapp/lib/function-app.js +223 -0
- package/lib/azure-functionapp/lib/index.d.ts +2 -0
- package/lib/azure-functionapp/lib/index.js +19 -0
- package/lib/azure-functionapp/test/function-app.integ.d.ts +12 -0
- package/lib/azure-functionapp/test/function-app.integ.js +134 -0
- package/lib/azure-functionapp/test/function-app.spec.d.ts +4 -0
- package/lib/azure-functionapp/test/function-app.spec.js +566 -0
- package/lib/azure-keyvault/index.d.ts +1 -0
- package/lib/azure-keyvault/index.js +18 -0
- package/lib/azure-keyvault/lib/index.d.ts +2 -0
- package/lib/azure-keyvault/lib/index.js +19 -0
- package/lib/azure-keyvault/lib/key-vault-schemas.d.ts +40 -0
- package/lib/azure-keyvault/lib/key-vault-schemas.js +312 -0
- package/lib/azure-keyvault/lib/key-vault.d.ts +344 -0
- package/lib/azure-keyvault/lib/key-vault.js +243 -0
- package/lib/azure-keyvault/test/key-vault.integ.d.ts +9 -0
- package/lib/azure-keyvault/test/key-vault.integ.js +108 -0
- package/lib/azure-keyvault/test/key-vault.spec.d.ts +4 -0
- package/lib/azure-keyvault/test/key-vault.spec.js +264 -0
- package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace.js +1 -1
- package/lib/azure-metricalert/lib/metric-alert.js +1 -1
- package/lib/azure-networkinterface/lib/network-interface.js +1 -1
- package/lib/azure-networksecuritygroup/lib/network-security-group.js +1 -1
- package/lib/azure-networkwatcher/lib/network-watcher.js +1 -1
- package/lib/azure-policyassignment/lib/policy-assignment.js +1 -1
- package/lib/azure-policydefinition/lib/policy-definition.js +1 -1
- package/lib/azure-policysetdefinition/lib/policy-set-definition.js +1 -1
- package/lib/azure-privatednszone/lib/private-dns-zone.js +1 -1
- package/lib/azure-privatednszone/lib/records/private-dns-records.js +8 -8
- package/lib/azure-privatednszonelink/lib/private-dns-zone-link.js +1 -1
- package/lib/azure-publicipaddress/lib/public-ip-address.js +1 -1
- package/lib/azure-resourcegroup/lib/resource-group.js +1 -1
- package/lib/azure-roleassignment/lib/role-assignment.js +1 -1
- package/lib/azure-roledefinition/lib/role-definition.js +1 -1
- package/lib/azure-sreagent/index.d.ts +1 -0
- package/lib/azure-sreagent/index.js +18 -0
- package/lib/azure-sreagent/lib/index.d.ts +2 -0
- package/lib/azure-sreagent/lib/index.js +19 -0
- package/lib/azure-sreagent/lib/sre-agent-schemas.d.ts +29 -0
- package/lib/azure-sreagent/lib/sre-agent-schemas.js +296 -0
- package/lib/azure-sreagent/lib/sre-agent.d.ts +208 -0
- package/lib/azure-sreagent/lib/sre-agent.js +217 -0
- package/lib/azure-sreagent/test/sre-agent.integ.d.ts +9 -0
- package/lib/azure-sreagent/test/sre-agent.integ.js +78 -0
- package/lib/azure-sreagent/test/sre-agent.spec.d.ts +4 -0
- package/lib/azure-sreagent/test/sre-agent.spec.js +216 -0
- package/lib/azure-staticwebapp/index.d.ts +1 -0
- package/lib/azure-staticwebapp/index.js +18 -0
- package/lib/azure-staticwebapp/lib/index.d.ts +2 -0
- package/lib/azure-staticwebapp/lib/index.js +19 -0
- package/lib/azure-staticwebapp/lib/static-web-app-schemas.d.ts +40 -0
- package/lib/azure-staticwebapp/lib/static-web-app-schemas.js +236 -0
- package/lib/azure-staticwebapp/lib/static-web-app.d.ts +242 -0
- package/lib/azure-staticwebapp/lib/static-web-app.js +232 -0
- package/lib/azure-staticwebapp/test/static-web-app.integ.d.ts +9 -0
- package/lib/azure-staticwebapp/test/static-web-app.integ.js +76 -0
- package/lib/azure-staticwebapp/test/static-web-app.spec.d.ts +15 -0
- package/lib/azure-staticwebapp/test/static-web-app.spec.js +293 -0
- package/lib/azure-storageaccount/lib/storage-account.js +1 -1
- package/lib/azure-storageblobcontainer/index.d.ts +1 -0
- package/lib/azure-storageblobcontainer/index.js +18 -0
- package/lib/azure-storageblobcontainer/lib/index.d.ts +2 -0
- package/lib/azure-storageblobcontainer/lib/index.js +19 -0
- package/lib/azure-storageblobcontainer/lib/storage-blob-container-schemas.d.ts +5 -0
- package/lib/azure-storageblobcontainer/lib/storage-blob-container-schemas.js +108 -0
- package/lib/azure-storageblobcontainer/lib/storage-blob-container.d.ts +37 -0
- package/lib/azure-storageblobcontainer/lib/storage-blob-container.js +63 -0
- package/lib/azure-storageblobcontainer/test/storage-blob-container.integ.d.ts +1 -0
- package/lib/azure-storageblobcontainer/test/storage-blob-container.integ.js +60 -0
- package/lib/azure-storageblobcontainer/test/storage-blob-container.spec.d.ts +1 -0
- package/lib/azure-storageblobcontainer/test/storage-blob-container.spec.js +172 -0
- package/lib/azure-subnet/lib/subnet.js +1 -1
- package/lib/azure-userassignedidentity/index.d.ts +1 -0
- package/lib/azure-userassignedidentity/index.js +18 -0
- package/lib/azure-userassignedidentity/lib/index.d.ts +2 -0
- package/lib/azure-userassignedidentity/lib/index.js +19 -0
- package/lib/azure-userassignedidentity/lib/user-assigned-identity-schemas.d.ts +8 -0
- package/lib/azure-userassignedidentity/lib/user-assigned-identity-schemas.js +107 -0
- package/lib/azure-userassignedidentity/lib/user-assigned-identity.d.ts +37 -0
- package/lib/azure-userassignedidentity/lib/user-assigned-identity.js +85 -0
- package/lib/azure-userassignedidentity/test/user-assigned-identity.integ.d.ts +1 -0
- package/lib/azure-userassignedidentity/test/user-assigned-identity.integ.js +64 -0
- package/lib/azure-userassignedidentity/test/user-assigned-identity.spec.d.ts +1 -0
- package/lib/azure-userassignedidentity/test/user-assigned-identity.spec.js +241 -0
- package/lib/azure-virtualmachine/lib/virtual-machine.js +1 -1
- package/lib/azure-virtualnetwork/lib/virtual-network.js +1 -1
- package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway.js +1 -1
- package/lib/azure-virtualnetworkgatewayconnection/lib/virtual-network-gateway-connection.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/ipam-pool-static-cidr.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/ipam-pool.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/network-group-static-member.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/network-group.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager.js +1 -1
- package/lib/azure-vmss/lib/virtual-machine-scale-set.d.ts +66 -1
- package/lib/azure-vmss/lib/virtual-machine-scale-set.js +141 -2
- package/lib/azure-vmss/lib/vmss-schemas.d.ts +195 -0
- package/lib/azure-vmss/lib/vmss-schemas.js +33 -1
- package/lib/azure-vmss/test/virtual-machine-scale-set.spec.js +463 -1
- package/lib/core-azure/lib/azapi/azapi-resource.js +2 -2
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.js +2 -2
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.js +5 -5
- package/lib/core-azure/lib/azapi/providers-azapi/provider/index.js +1 -1
- package/lib/core-azure/lib/azapi/providers-azapi/resource/index.js +5 -5
- package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.js +3 -3
- package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.js +3 -3
- package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.js +1 -1
- package/lib/core-azure/lib/version-manager/api-version-manager.js +1 -1
- package/lib/core-azure/lib/version-manager/interfaces/version-interfaces.js +7 -7
- package/lib/index.d.ts +39 -0
- package/lib/index.js +41 -2
- package/lib/testing/index.js +20 -3
- package/lib/testing/lib/cleanup.js +1 -1
- package/lib/testing/lib/metadata.js +12 -4
- package/lib/testing/lib/naming.js +57 -1
- package/package.json +1 -1
- package/scripts/azure-version-updater/create-issue.ts +189 -0
- package/scripts/azure-version-updater/discover.ts +382 -0
- package/scripts/azure-version-updater/spec-mapping.ts +164 -0
- package/scripts/azure-version-updater/tsconfig.json +11 -0
|
@@ -0,0 +1,370 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* API schemas for Azure Event Hubs across all supported versions
|
|
4
|
+
*
|
|
5
|
+
* This file defines the complete API schemas for Microsoft.EventHub/namespaces
|
|
6
|
+
* and Microsoft.EventHub/namespaces/eventhubs across all supported API versions.
|
|
7
|
+
* The schemas are used by the AzapiResource framework for validation,
|
|
8
|
+
* transformation, and version management.
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.EVENT_HUB_TYPE = exports.ALL_EVENT_HUB_VERSIONS = exports.EVENT_HUB_VERSION_2021_11_01 = exports.EVENT_HUB_VERSION_2024_01_01 = exports.EVENT_HUB_SCHEMA_2021_11_01 = exports.EVENT_HUB_SCHEMA_2024_01_01 = exports.EVENT_HUB_NAMESPACE_TYPE = exports.ALL_EVENT_HUB_NAMESPACE_VERSIONS = exports.EVENT_HUB_NAMESPACE_VERSION_2021_11_01 = exports.EVENT_HUB_NAMESPACE_VERSION_2024_01_01 = exports.EVENT_HUB_NAMESPACE_SCHEMA_2021_11_01 = exports.EVENT_HUB_NAMESPACE_SCHEMA_2024_01_01 = void 0;
|
|
12
|
+
const version_interfaces_1 = require("../../core-azure/lib/version-manager/interfaces/version-interfaces");
|
|
13
|
+
// =============================================================================
|
|
14
|
+
// EVENT HUB NAMESPACE
|
|
15
|
+
// =============================================================================
|
|
16
|
+
/**
|
|
17
|
+
* Common property definitions shared across all Event Hub Namespace versions
|
|
18
|
+
*/
|
|
19
|
+
const COMMON_EVENT_HUB_NAMESPACE_PROPERTIES = {
|
|
20
|
+
name: {
|
|
21
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
22
|
+
required: true,
|
|
23
|
+
description: "Name of the Event Hubs namespace (must be globally unique)",
|
|
24
|
+
validation: [
|
|
25
|
+
{
|
|
26
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
27
|
+
message: "Name is required",
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
|
|
31
|
+
value: "^[a-zA-Z][a-zA-Z0-9-]{4,48}[a-zA-Z0-9]$",
|
|
32
|
+
message: "Namespace name must be 6-50 characters, start with a letter, end with a letter or number, and contain only letters, numbers, and hyphens",
|
|
33
|
+
},
|
|
34
|
+
],
|
|
35
|
+
},
|
|
36
|
+
location: {
|
|
37
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
38
|
+
required: true,
|
|
39
|
+
description: "Azure region where the namespace will be created",
|
|
40
|
+
},
|
|
41
|
+
sku: {
|
|
42
|
+
dataType: version_interfaces_1.PropertyType.OBJECT,
|
|
43
|
+
required: false,
|
|
44
|
+
description: "SKU configuration for the namespace. Options: Basic, Standard, Premium",
|
|
45
|
+
},
|
|
46
|
+
zoneRedundant: {
|
|
47
|
+
dataType: version_interfaces_1.PropertyType.BOOLEAN,
|
|
48
|
+
required: false,
|
|
49
|
+
description: "Enable zone redundancy for the namespace",
|
|
50
|
+
},
|
|
51
|
+
isAutoInflateEnabled: {
|
|
52
|
+
dataType: version_interfaces_1.PropertyType.BOOLEAN,
|
|
53
|
+
required: false,
|
|
54
|
+
description: "Enable auto-inflate for throughput units (Standard tier)",
|
|
55
|
+
},
|
|
56
|
+
maximumThroughputUnits: {
|
|
57
|
+
dataType: version_interfaces_1.PropertyType.NUMBER,
|
|
58
|
+
required: false,
|
|
59
|
+
description: "Upper limit of throughput units when auto-inflate is enabled (0-40)",
|
|
60
|
+
validation: [
|
|
61
|
+
{
|
|
62
|
+
ruleType: version_interfaces_1.ValidationRuleType.VALUE_RANGE,
|
|
63
|
+
value: { min: 0, max: 40 },
|
|
64
|
+
message: "maximumThroughputUnits must be between 0 and 40",
|
|
65
|
+
},
|
|
66
|
+
],
|
|
67
|
+
},
|
|
68
|
+
minimumTlsVersion: {
|
|
69
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
70
|
+
required: false,
|
|
71
|
+
description: "Minimum TLS version for the namespace: 1.0, 1.1, or 1.2",
|
|
72
|
+
},
|
|
73
|
+
publicNetworkAccess: {
|
|
74
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
75
|
+
required: false,
|
|
76
|
+
description: "Public network access for the namespace: Enabled or Disabled",
|
|
77
|
+
},
|
|
78
|
+
disableLocalAuth: {
|
|
79
|
+
dataType: version_interfaces_1.PropertyType.BOOLEAN,
|
|
80
|
+
required: false,
|
|
81
|
+
description: "Disable SAS authentication, requiring Azure AD authentication only",
|
|
82
|
+
},
|
|
83
|
+
identity: {
|
|
84
|
+
dataType: version_interfaces_1.PropertyType.OBJECT,
|
|
85
|
+
required: false,
|
|
86
|
+
description: "Managed identity configuration for the namespace",
|
|
87
|
+
},
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* API Schema for Event Hub Namespace version 2024-01-01
|
|
91
|
+
*
|
|
92
|
+
* This is the latest stable version for Event Hub Namespaces.
|
|
93
|
+
*/
|
|
94
|
+
exports.EVENT_HUB_NAMESPACE_SCHEMA_2024_01_01 = {
|
|
95
|
+
resourceType: "Microsoft.EventHub/namespaces",
|
|
96
|
+
version: "2024-01-01",
|
|
97
|
+
properties: {
|
|
98
|
+
...COMMON_EVENT_HUB_NAMESPACE_PROPERTIES,
|
|
99
|
+
},
|
|
100
|
+
required: ["name", "location"],
|
|
101
|
+
optional: [
|
|
102
|
+
"sku",
|
|
103
|
+
"zoneRedundant",
|
|
104
|
+
"isAutoInflateEnabled",
|
|
105
|
+
"maximumThroughputUnits",
|
|
106
|
+
"minimumTlsVersion",
|
|
107
|
+
"publicNetworkAccess",
|
|
108
|
+
"disableLocalAuth",
|
|
109
|
+
"identity",
|
|
110
|
+
],
|
|
111
|
+
deprecated: [],
|
|
112
|
+
transformationRules: {},
|
|
113
|
+
validationRules: [
|
|
114
|
+
{
|
|
115
|
+
property: "name",
|
|
116
|
+
rules: [
|
|
117
|
+
{
|
|
118
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
119
|
+
message: "Name is required for Event Hub Namespace",
|
|
120
|
+
},
|
|
121
|
+
],
|
|
122
|
+
},
|
|
123
|
+
],
|
|
124
|
+
};
|
|
125
|
+
/**
|
|
126
|
+
* API Schema for Event Hub Namespace version 2021-11-01
|
|
127
|
+
*
|
|
128
|
+
* This is a stable version for backward compatibility.
|
|
129
|
+
*/
|
|
130
|
+
exports.EVENT_HUB_NAMESPACE_SCHEMA_2021_11_01 = {
|
|
131
|
+
resourceType: "Microsoft.EventHub/namespaces",
|
|
132
|
+
version: "2021-11-01",
|
|
133
|
+
properties: {
|
|
134
|
+
...COMMON_EVENT_HUB_NAMESPACE_PROPERTIES,
|
|
135
|
+
},
|
|
136
|
+
required: ["name", "location"],
|
|
137
|
+
optional: [
|
|
138
|
+
"sku",
|
|
139
|
+
"zoneRedundant",
|
|
140
|
+
"isAutoInflateEnabled",
|
|
141
|
+
"maximumThroughputUnits",
|
|
142
|
+
"minimumTlsVersion",
|
|
143
|
+
"publicNetworkAccess",
|
|
144
|
+
"disableLocalAuth",
|
|
145
|
+
"identity",
|
|
146
|
+
],
|
|
147
|
+
deprecated: [],
|
|
148
|
+
transformationRules: {},
|
|
149
|
+
validationRules: [
|
|
150
|
+
{
|
|
151
|
+
property: "name",
|
|
152
|
+
rules: [
|
|
153
|
+
{
|
|
154
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
155
|
+
message: "Name is required for Event Hub Namespace",
|
|
156
|
+
},
|
|
157
|
+
],
|
|
158
|
+
},
|
|
159
|
+
],
|
|
160
|
+
};
|
|
161
|
+
/**
|
|
162
|
+
* Version configuration for Event Hub Namespace 2024-01-01
|
|
163
|
+
*/
|
|
164
|
+
exports.EVENT_HUB_NAMESPACE_VERSION_2024_01_01 = {
|
|
165
|
+
version: "2024-01-01",
|
|
166
|
+
schema: exports.EVENT_HUB_NAMESPACE_SCHEMA_2024_01_01,
|
|
167
|
+
supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
|
|
168
|
+
releaseDate: "2024-01-01",
|
|
169
|
+
deprecationDate: undefined,
|
|
170
|
+
sunsetDate: undefined,
|
|
171
|
+
breakingChanges: [],
|
|
172
|
+
migrationGuide: "/docs/event-hub/migration-2024-01-01",
|
|
173
|
+
changeLog: [
|
|
174
|
+
{
|
|
175
|
+
changeType: "updated",
|
|
176
|
+
description: "Latest stable API version for Event Hubs",
|
|
177
|
+
breaking: false,
|
|
178
|
+
},
|
|
179
|
+
],
|
|
180
|
+
};
|
|
181
|
+
/**
|
|
182
|
+
* Version configuration for Event Hub Namespace 2021-11-01
|
|
183
|
+
*/
|
|
184
|
+
exports.EVENT_HUB_NAMESPACE_VERSION_2021_11_01 = {
|
|
185
|
+
version: "2021-11-01",
|
|
186
|
+
schema: exports.EVENT_HUB_NAMESPACE_SCHEMA_2021_11_01,
|
|
187
|
+
supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
|
|
188
|
+
releaseDate: "2021-11-01",
|
|
189
|
+
deprecationDate: undefined,
|
|
190
|
+
sunsetDate: undefined,
|
|
191
|
+
breakingChanges: [],
|
|
192
|
+
migrationGuide: "/docs/event-hub/migration-2021-11-01",
|
|
193
|
+
changeLog: [
|
|
194
|
+
{
|
|
195
|
+
changeType: "updated",
|
|
196
|
+
description: "Stable API version for backward compatibility",
|
|
197
|
+
breaking: false,
|
|
198
|
+
},
|
|
199
|
+
],
|
|
200
|
+
};
|
|
201
|
+
/**
|
|
202
|
+
* All supported Event Hub Namespace versions for registration
|
|
203
|
+
* Ordered with latest stable version first
|
|
204
|
+
*/
|
|
205
|
+
exports.ALL_EVENT_HUB_NAMESPACE_VERSIONS = [
|
|
206
|
+
exports.EVENT_HUB_NAMESPACE_VERSION_2024_01_01,
|
|
207
|
+
exports.EVENT_HUB_NAMESPACE_VERSION_2021_11_01,
|
|
208
|
+
];
|
|
209
|
+
/**
|
|
210
|
+
* Resource type constant for Event Hub Namespace
|
|
211
|
+
*/
|
|
212
|
+
exports.EVENT_HUB_NAMESPACE_TYPE = "Microsoft.EventHub/namespaces";
|
|
213
|
+
// =============================================================================
|
|
214
|
+
// EVENT HUB (ENTITY)
|
|
215
|
+
// =============================================================================
|
|
216
|
+
/**
|
|
217
|
+
* Common property definitions shared across all Event Hub (entity) versions
|
|
218
|
+
*/
|
|
219
|
+
const COMMON_EVENT_HUB_PROPERTIES = {
|
|
220
|
+
name: {
|
|
221
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
222
|
+
required: true,
|
|
223
|
+
description: "Name of the Event Hub",
|
|
224
|
+
validation: [
|
|
225
|
+
{
|
|
226
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
227
|
+
message: "Name is required",
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
|
|
231
|
+
value: "^[a-zA-Z0-9][a-zA-Z0-9._-]{0,254}$",
|
|
232
|
+
message: "Event Hub name must be 1-255 characters and contain only letters, numbers, periods, hyphens, and underscores",
|
|
233
|
+
},
|
|
234
|
+
],
|
|
235
|
+
},
|
|
236
|
+
partitionCount: {
|
|
237
|
+
dataType: version_interfaces_1.PropertyType.NUMBER,
|
|
238
|
+
required: false,
|
|
239
|
+
defaultValue: 2,
|
|
240
|
+
description: "Number of partitions for the Event Hub (1-32 for Standard)",
|
|
241
|
+
validation: [
|
|
242
|
+
{
|
|
243
|
+
ruleType: version_interfaces_1.ValidationRuleType.VALUE_RANGE,
|
|
244
|
+
value: { min: 1, max: 1024 },
|
|
245
|
+
message: "partitionCount must be between 1 and 1024",
|
|
246
|
+
},
|
|
247
|
+
],
|
|
248
|
+
},
|
|
249
|
+
messageRetentionInDays: {
|
|
250
|
+
dataType: version_interfaces_1.PropertyType.NUMBER,
|
|
251
|
+
required: false,
|
|
252
|
+
defaultValue: 1,
|
|
253
|
+
description: "Number of days to retain events (1-7 for Standard, up to 90 for Premium/Dedicated)",
|
|
254
|
+
validation: [
|
|
255
|
+
{
|
|
256
|
+
ruleType: version_interfaces_1.ValidationRuleType.VALUE_RANGE,
|
|
257
|
+
value: { min: 1, max: 90 },
|
|
258
|
+
message: "messageRetentionInDays must be between 1 and 90",
|
|
259
|
+
},
|
|
260
|
+
],
|
|
261
|
+
},
|
|
262
|
+
status: {
|
|
263
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
264
|
+
required: false,
|
|
265
|
+
description: "Status of the Event Hub: Active, Disabled, SendDisabled, ReceiveDisabled",
|
|
266
|
+
},
|
|
267
|
+
};
|
|
268
|
+
/**
|
|
269
|
+
* API Schema for Event Hub (entity) version 2024-01-01
|
|
270
|
+
*/
|
|
271
|
+
exports.EVENT_HUB_SCHEMA_2024_01_01 = {
|
|
272
|
+
resourceType: "Microsoft.EventHub/namespaces/eventhubs",
|
|
273
|
+
version: "2024-01-01",
|
|
274
|
+
properties: {
|
|
275
|
+
...COMMON_EVENT_HUB_PROPERTIES,
|
|
276
|
+
},
|
|
277
|
+
required: ["name"],
|
|
278
|
+
optional: ["partitionCount", "messageRetentionInDays", "status"],
|
|
279
|
+
deprecated: [],
|
|
280
|
+
transformationRules: {},
|
|
281
|
+
validationRules: [
|
|
282
|
+
{
|
|
283
|
+
property: "name",
|
|
284
|
+
rules: [
|
|
285
|
+
{
|
|
286
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
287
|
+
message: "Name is required for Event Hub",
|
|
288
|
+
},
|
|
289
|
+
],
|
|
290
|
+
},
|
|
291
|
+
],
|
|
292
|
+
};
|
|
293
|
+
/**
|
|
294
|
+
* API Schema for Event Hub (entity) version 2021-11-01
|
|
295
|
+
*/
|
|
296
|
+
exports.EVENT_HUB_SCHEMA_2021_11_01 = {
|
|
297
|
+
resourceType: "Microsoft.EventHub/namespaces/eventhubs",
|
|
298
|
+
version: "2021-11-01",
|
|
299
|
+
properties: {
|
|
300
|
+
...COMMON_EVENT_HUB_PROPERTIES,
|
|
301
|
+
},
|
|
302
|
+
required: ["name"],
|
|
303
|
+
optional: ["partitionCount", "messageRetentionInDays", "status"],
|
|
304
|
+
deprecated: [],
|
|
305
|
+
transformationRules: {},
|
|
306
|
+
validationRules: [
|
|
307
|
+
{
|
|
308
|
+
property: "name",
|
|
309
|
+
rules: [
|
|
310
|
+
{
|
|
311
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
312
|
+
message: "Name is required for Event Hub",
|
|
313
|
+
},
|
|
314
|
+
],
|
|
315
|
+
},
|
|
316
|
+
],
|
|
317
|
+
};
|
|
318
|
+
/**
|
|
319
|
+
* Version configuration for Event Hub (entity) 2024-01-01
|
|
320
|
+
*/
|
|
321
|
+
exports.EVENT_HUB_VERSION_2024_01_01 = {
|
|
322
|
+
version: "2024-01-01",
|
|
323
|
+
schema: exports.EVENT_HUB_SCHEMA_2024_01_01,
|
|
324
|
+
supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
|
|
325
|
+
releaseDate: "2024-01-01",
|
|
326
|
+
deprecationDate: undefined,
|
|
327
|
+
sunsetDate: undefined,
|
|
328
|
+
breakingChanges: [],
|
|
329
|
+
migrationGuide: "/docs/event-hub/migration-2024-01-01",
|
|
330
|
+
changeLog: [
|
|
331
|
+
{
|
|
332
|
+
changeType: "updated",
|
|
333
|
+
description: "Latest stable API version for Event Hubs",
|
|
334
|
+
breaking: false,
|
|
335
|
+
},
|
|
336
|
+
],
|
|
337
|
+
};
|
|
338
|
+
/**
|
|
339
|
+
* Version configuration for Event Hub (entity) 2021-11-01
|
|
340
|
+
*/
|
|
341
|
+
exports.EVENT_HUB_VERSION_2021_11_01 = {
|
|
342
|
+
version: "2021-11-01",
|
|
343
|
+
schema: exports.EVENT_HUB_SCHEMA_2021_11_01,
|
|
344
|
+
supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
|
|
345
|
+
releaseDate: "2021-11-01",
|
|
346
|
+
deprecationDate: undefined,
|
|
347
|
+
sunsetDate: undefined,
|
|
348
|
+
breakingChanges: [],
|
|
349
|
+
migrationGuide: "/docs/event-hub/migration-2021-11-01",
|
|
350
|
+
changeLog: [
|
|
351
|
+
{
|
|
352
|
+
changeType: "updated",
|
|
353
|
+
description: "Stable API version for backward compatibility",
|
|
354
|
+
breaking: false,
|
|
355
|
+
},
|
|
356
|
+
],
|
|
357
|
+
};
|
|
358
|
+
/**
|
|
359
|
+
* All supported Event Hub (entity) versions for registration
|
|
360
|
+
* Ordered with latest stable version first
|
|
361
|
+
*/
|
|
362
|
+
exports.ALL_EVENT_HUB_VERSIONS = [
|
|
363
|
+
exports.EVENT_HUB_VERSION_2024_01_01,
|
|
364
|
+
exports.EVENT_HUB_VERSION_2021_11_01,
|
|
365
|
+
];
|
|
366
|
+
/**
|
|
367
|
+
* Resource type constant for Event Hub (entity)
|
|
368
|
+
*/
|
|
369
|
+
exports.EVENT_HUB_TYPE = "Microsoft.EventHub/namespaces/eventhubs";
|
|
370
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtaHViLXNjaGVtYXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtZXZlbnRodWIvbGliL2V2ZW50LWh1Yi1zY2hlbWFzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7OztHQU9HOzs7QUFFSCwyR0FPNEU7QUFFNUUsZ0ZBQWdGO0FBQ2hGLHNCQUFzQjtBQUN0QixnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDSCxNQUFNLHFDQUFxQyxHQUV2QztJQUNGLElBQUksRUFBRTtRQUNKLFFBQVEsRUFBRSxpQ0FBWSxDQUFDLE1BQU07UUFDN0IsUUFBUSxFQUFFLElBQUk7UUFDZCxXQUFXLEVBQUUsNERBQTREO1FBQ3pFLFVBQVUsRUFBRTtZQUNWO2dCQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FBQyxRQUFRO2dCQUNyQyxPQUFPLEVBQUUsa0JBQWtCO2FBQzVCO1lBQ0Q7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLGFBQWE7Z0JBQzFDLEtBQUssRUFBRSx5Q0FBeUM7Z0JBQ2hELE9BQU8sRUFDTCwwSUFBMEk7YUFDN0k7U0FDRjtLQUNGO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsSUFBSTtRQUNkLFdBQVcsRUFBRSxrREFBa0Q7S0FDaEU7SUFDRCxHQUFHLEVBQUU7UUFDSCxRQUFRLEVBQUUsaUNBQVksQ0FBQyxNQUFNO1FBQzdCLFFBQVEsRUFBRSxLQUFLO1FBQ2YsV0FBVyxFQUNULHdFQUF3RTtLQUMzRTtJQUNELGFBQWEsRUFBRTtRQUNiLFFBQVEsRUFBRSxpQ0FBWSxDQUFDLE9BQU87UUFDOUIsUUFBUSxFQUFFLEtBQUs7UUFDZixXQUFXLEVBQUUsMENBQTBDO0tBQ3hEO0lBQ0Qsb0JBQW9CLEVBQUU7UUFDcEIsUUFBUSxFQUFFLGlDQUFZLENBQUMsT0FBTztRQUM5QixRQUFRLEVBQUUsS0FBSztRQUNmLFdBQVcsRUFBRSwwREFBMEQ7S0FDeEU7SUFDRCxzQkFBc0IsRUFBRTtRQUN0QixRQUFRLEVBQUUsaUNBQVksQ0FBQyxNQUFNO1FBQzdCLFFBQVEsRUFBRSxLQUFLO1FBQ2YsV0FBVyxFQUNULHFFQUFxRTtRQUN2RSxVQUFVLEVBQUU7WUFDVjtnQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsV0FBVztnQkFDeEMsS0FBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFO2dCQUMxQixPQUFPLEVBQUUsaURBQWlEO2FBQzNEO1NBQ0Y7S0FDRjtJQUNELGlCQUFpQixFQUFFO1FBQ2pCLFFBQVEsRUFBRSxpQ0FBWSxDQUFDLE1BQU07UUFDN0IsUUFBUSxFQUFFLEtBQUs7UUFDZixXQUFXLEVBQUUseURBQXlEO0tBQ3ZFO0lBQ0QsbUJBQW1CLEVBQUU7UUFDbkIsUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsS0FBSztRQUNmLFdBQVcsRUFBRSw4REFBOEQ7S0FDNUU7SUFDRCxnQkFBZ0IsRUFBRTtRQUNoQixRQUFRLEVBQUUsaUNBQVksQ0FBQyxPQUFPO1FBQzlCLFFBQVEsRUFBRSxLQUFLO1FBQ2YsV0FBVyxFQUNULG9FQUFvRTtLQUN2RTtJQUNELFFBQVEsRUFBRTtRQUNSLFFBQVEsRUFBRSxpQ0FBWSxDQUFDLE1BQU07UUFDN0IsUUFBUSxFQUFFLEtBQUs7UUFDZixXQUFXLEVBQUUsa0RBQWtEO0tBQ2hFO0NBQ0YsQ0FBQztBQUVGOzs7O0dBSUc7QUFDVSxRQUFBLHFDQUFxQyxHQUFjO0lBQzlELFlBQVksRUFBRSwrQkFBK0I7SUFDN0MsT0FBTyxFQUFFLFlBQVk7SUFDckIsVUFBVSxFQUFFO1FBQ1YsR0FBRyxxQ0FBcUM7S0FDekM7SUFDRCxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDO0lBQzlCLFFBQVEsRUFBRTtRQUNSLEtBQUs7UUFDTCxlQUFlO1FBQ2Ysc0JBQXNCO1FBQ3RCLHdCQUF3QjtRQUN4QixtQkFBbUI7UUFDbkIscUJBQXFCO1FBQ3JCLGtCQUFrQjtRQUNsQixVQUFVO0tBQ1g7SUFDRCxVQUFVLEVBQUUsRUFBRTtJQUNkLG1CQUFtQixFQUFFLEVBQUU7SUFDdkIsZUFBZSxFQUFFO1FBQ2Y7WUFDRSxRQUFRLEVBQUUsTUFBTTtZQUNoQixLQUFLLEVBQUU7Z0JBQ0w7b0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFFBQVE7b0JBQ3JDLE9BQU8sRUFBRSwwQ0FBMEM7aUJBQ3BEO2FBQ0Y7U0FDRjtLQUNGO0NBQ0YsQ0FBQztBQUVGOzs7O0dBSUc7QUFDVSxRQUFBLHFDQUFxQyxHQUFjO0lBQzlELFlBQVksRUFBRSwrQkFBK0I7SUFDN0MsT0FBTyxFQUFFLFlBQVk7SUFDckIsVUFBVSxFQUFFO1FBQ1YsR0FBRyxxQ0FBcUM7S0FDekM7SUFDRCxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDO0lBQzlCLFFBQVEsRUFBRTtRQUNSLEtBQUs7UUFDTCxlQUFlO1FBQ2Ysc0JBQXNCO1FBQ3RCLHdCQUF3QjtRQUN4QixtQkFBbUI7UUFDbkIscUJBQXFCO1FBQ3JCLGtCQUFrQjtRQUNsQixVQUFVO0tBQ1g7SUFDRCxVQUFVLEVBQUUsRUFBRTtJQUNkLG1CQUFtQixFQUFFLEVBQUU7SUFDdkIsZUFBZSxFQUFFO1FBQ2Y7WUFDRSxRQUFRLEVBQUUsTUFBTTtZQUNoQixLQUFLLEVBQUU7Z0JBQ0w7b0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFFBQVE7b0JBQ3JDLE9BQU8sRUFBRSwwQ0FBMEM7aUJBQ3BEO2FBQ0Y7U0FDRjtLQUNGO0NBQ0YsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSxzQ0FBc0MsR0FBa0I7SUFDbkUsT0FBTyxFQUFFLFlBQVk7SUFDckIsTUFBTSxFQUFFLDZDQUFxQztJQUM3QyxZQUFZLEVBQUUsd0NBQW1CLENBQUMsTUFBTTtJQUN4QyxXQUFXLEVBQUUsWUFBWTtJQUN6QixlQUFlLEVBQUUsU0FBUztJQUMxQixVQUFVLEVBQUUsU0FBUztJQUNyQixlQUFlLEVBQUUsRUFBRTtJQUNuQixjQUFjLEVBQUUsc0NBQXNDO0lBQ3RELFNBQVMsRUFBRTtRQUNUO1lBQ0UsVUFBVSxFQUFFLFNBQVM7WUFDckIsV0FBVyxFQUFFLDBDQUEwQztZQUN2RCxRQUFRLEVBQUUsS0FBSztTQUNoQjtLQUNGO0NBQ0YsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSxzQ0FBc0MsR0FBa0I7SUFDbkUsT0FBTyxFQUFFLFlBQVk7SUFDckIsTUFBTSxFQUFFLDZDQUFxQztJQUM3QyxZQUFZLEVBQUUsd0NBQW1CLENBQUMsTUFBTTtJQUN4QyxXQUFXLEVBQUUsWUFBWTtJQUN6QixlQUFlLEVBQUUsU0FBUztJQUMxQixVQUFVLEVBQUUsU0FBUztJQUNyQixlQUFlLEVBQUUsRUFBRTtJQUNuQixjQUFjLEVBQUUsc0NBQXNDO0lBQ3RELFNBQVMsRUFBRTtRQUNUO1lBQ0UsVUFBVSxFQUFFLFNBQVM7WUFDckIsV0FBVyxFQUFFLCtDQUErQztZQUM1RCxRQUFRLEVBQUUsS0FBSztTQUNoQjtLQUNGO0NBQ0YsQ0FBQztBQUVGOzs7R0FHRztBQUNVLFFBQUEsZ0NBQWdDLEdBQW9CO0lBQy9ELDhDQUFzQztJQUN0Qyw4Q0FBc0M7Q0FDdkMsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSx3QkFBd0IsR0FBRywrQkFBK0IsQ0FBQztBQUV4RSxnRkFBZ0Y7QUFDaEYscUJBQXFCO0FBQ3JCLGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQU0sMkJBQTJCLEdBRTdCO0lBQ0YsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsSUFBSTtRQUNkLFdBQVcsRUFBRSx1QkFBdUI7UUFDcEMsVUFBVSxFQUFFO1lBQ1Y7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFFBQVE7Z0JBQ3JDLE9BQU8sRUFBRSxrQkFBa0I7YUFDNUI7WUFDRDtnQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsYUFBYTtnQkFDMUMsS0FBSyxFQUFFLG9DQUFvQztnQkFDM0MsT0FBTyxFQUNMLDhHQUE4RzthQUNqSDtTQUNGO0tBQ0Y7SUFDRCxjQUFjLEVBQUU7UUFDZCxRQUFRLEVBQUUsaUNBQVksQ0FBQyxNQUFNO1FBQzdCLFFBQVEsRUFBRSxLQUFLO1FBQ2YsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsNERBQTREO1FBQ3pFLFVBQVUsRUFBRTtZQUNWO2dCQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FBQyxXQUFXO2dCQUN4QyxLQUFLLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUU7Z0JBQzVCLE9BQU8sRUFBRSwyQ0FBMkM7YUFDckQ7U0FDRjtLQUNGO0lBQ0Qsc0JBQXNCLEVBQUU7UUFDdEIsUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsS0FBSztRQUNmLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUNULG9GQUFvRjtRQUN0RixVQUFVLEVBQUU7WUFDVjtnQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsV0FBVztnQkFDeEMsS0FBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFO2dCQUMxQixPQUFPLEVBQUUsaURBQWlEO2FBQzNEO1NBQ0Y7S0FDRjtJQUNELE1BQU0sRUFBRTtRQUNOLFFBQVEsRUFBRSxpQ0FBWSxDQUFDLE1BQU07UUFDN0IsUUFBUSxFQUFFLEtBQUs7UUFDZixXQUFXLEVBQ1QsMEVBQTBFO0tBQzdFO0NBQ0YsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSwyQkFBMkIsR0FBYztJQUNwRCxZQUFZLEVBQUUseUNBQXlDO0lBQ3ZELE9BQU8sRUFBRSxZQUFZO0lBQ3JCLFVBQVUsRUFBRTtRQUNWLEdBQUcsMkJBQTJCO0tBQy9CO0lBQ0QsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDO0lBQ2xCLFFBQVEsRUFBRSxDQUFDLGdCQUFnQixFQUFFLHdCQUF3QixFQUFFLFFBQVEsQ0FBQztJQUNoRSxVQUFVLEVBQUUsRUFBRTtJQUNkLG1CQUFtQixFQUFFLEVBQUU7SUFDdkIsZUFBZSxFQUFFO1FBQ2Y7WUFDRSxRQUFRLEVBQUUsTUFBTTtZQUNoQixLQUFLLEVBQUU7Z0JBQ0w7b0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFFBQVE7b0JBQ3JDLE9BQU8sRUFBRSxnQ0FBZ0M7aUJBQzFDO2FBQ0Y7U0FDRjtLQUNGO0NBQ0YsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSwyQkFBMkIsR0FBYztJQUNwRCxZQUFZLEVBQUUseUNBQXlDO0lBQ3ZELE9BQU8sRUFBRSxZQUFZO0lBQ3JCLFVBQVUsRUFBRTtRQUNWLEdBQUcsMkJBQTJCO0tBQy9CO0lBQ0QsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDO0lBQ2xCLFFBQVEsRUFBRSxDQUFDLGdCQUFnQixFQUFFLHdCQUF3QixFQUFFLFFBQVEsQ0FBQztJQUNoRSxVQUFVLEVBQUUsRUFBRTtJQUNkLG1CQUFtQixFQUFFLEVBQUU7SUFDdkIsZUFBZSxFQUFFO1FBQ2Y7WUFDRSxRQUFRLEVBQUUsTUFBTTtZQUNoQixLQUFLLEVBQUU7Z0JBQ0w7b0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFFBQVE7b0JBQ3JDLE9BQU8sRUFBRSxnQ0FBZ0M7aUJBQzFDO2FBQ0Y7U0FDRjtLQUNGO0NBQ0YsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSw0QkFBNEIsR0FBa0I7SUFDekQsT0FBTyxFQUFFLFlBQVk7SUFDckIsTUFBTSxFQUFFLG1DQUEyQjtJQUNuQyxZQUFZLEVBQUUsd0NBQW1CLENBQUMsTUFBTTtJQUN4QyxXQUFXLEVBQUUsWUFBWTtJQUN6QixlQUFlLEVBQUUsU0FBUztJQUMxQixVQUFVLEVBQUUsU0FBUztJQUNyQixlQUFlLEVBQUUsRUFBRTtJQUNuQixjQUFjLEVBQUUsc0NBQXNDO0lBQ3RELFNBQVMsRUFBRTtRQUNUO1lBQ0UsVUFBVSxFQUFFLFNBQVM7WUFDckIsV0FBVyxFQUFFLDBDQUEwQztZQUN2RCxRQUFRLEVBQUUsS0FBSztTQUNoQjtLQUNGO0NBQ0YsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSw0QkFBNEIsR0FBa0I7SUFDekQsT0FBTyxFQUFFLFlBQVk7SUFDckIsTUFBTSxFQUFFLG1DQUEyQjtJQUNuQyxZQUFZLEVBQUUsd0NBQW1CLENBQUMsTUFBTTtJQUN4QyxXQUFXLEVBQUUsWUFBWTtJQUN6QixlQUFlLEVBQUUsU0FBUztJQUMxQixVQUFVLEVBQUUsU0FBUztJQUNyQixlQUFlLEVBQUUsRUFBRTtJQUNuQixjQUFjLEVBQUUsc0NBQXNDO0lBQ3RELFNBQVMsRUFBRTtRQUNUO1lBQ0UsVUFBVSxFQUFFLFNBQVM7WUFDckIsV0FBVyxFQUFFLCtDQUErQztZQUM1RCxRQUFRLEVBQUUsS0FBSztTQUNoQjtLQUNGO0NBQ0YsQ0FBQztBQUVGOzs7R0FHRztBQUNVLFFBQUEsc0JBQXNCLEdBQW9CO0lBQ3JELG9DQUE0QjtJQUM1QixvQ0FBNEI7Q0FDN0IsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSxjQUFjLEdBQUcseUNBQXlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFQSSBzY2hlbWFzIGZvciBBenVyZSBFdmVudCBIdWJzIGFjcm9zcyBhbGwgc3VwcG9ydGVkIHZlcnNpb25zXG4gKlxuICogVGhpcyBmaWxlIGRlZmluZXMgdGhlIGNvbXBsZXRlIEFQSSBzY2hlbWFzIGZvciBNaWNyb3NvZnQuRXZlbnRIdWIvbmFtZXNwYWNlc1xuICogYW5kIE1pY3Jvc29mdC5FdmVudEh1Yi9uYW1lc3BhY2VzL2V2ZW50aHVicyBhY3Jvc3MgYWxsIHN1cHBvcnRlZCBBUEkgdmVyc2lvbnMuXG4gKiBUaGUgc2NoZW1hcyBhcmUgdXNlZCBieSB0aGUgQXphcGlSZXNvdXJjZSBmcmFtZXdvcmsgZm9yIHZhbGlkYXRpb24sXG4gKiB0cmFuc2Zvcm1hdGlvbiwgYW5kIHZlcnNpb24gbWFuYWdlbWVudC5cbiAqL1xuXG5pbXBvcnQge1xuICBBcGlTY2hlbWEsXG4gIFByb3BlcnR5RGVmaW5pdGlvbixcbiAgUHJvcGVydHlUeXBlLFxuICBWYWxpZGF0aW9uUnVsZVR5cGUsXG4gIFZlcnNpb25Db25maWcsXG4gIFZlcnNpb25TdXBwb3J0TGV2ZWwsXG59IGZyb20gXCIuLi8uLi9jb3JlLWF6dXJlL2xpYi92ZXJzaW9uLW1hbmFnZXIvaW50ZXJmYWNlcy92ZXJzaW9uLWludGVyZmFjZXNcIjtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVWRU5UIEhVQiBOQU1FU1BBQ0Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogQ29tbW9uIHByb3BlcnR5IGRlZmluaXRpb25zIHNoYXJlZCBhY3Jvc3MgYWxsIEV2ZW50IEh1YiBOYW1lc3BhY2UgdmVyc2lvbnNcbiAqL1xuY29uc3QgQ09NTU9OX0VWRU5UX0hVQl9OQU1FU1BBQ0VfUFJPUEVSVElFUzoge1xuICBba2V5OiBzdHJpbmddOiBQcm9wZXJ0eURlZmluaXRpb247XG59ID0ge1xuICBuYW1lOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgZGVzY3JpcHRpb246IFwiTmFtZSBvZiB0aGUgRXZlbnQgSHVicyBuYW1lc3BhY2UgKG11c3QgYmUgZ2xvYmFsbHkgdW5pcXVlKVwiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgbWVzc2FnZTogXCJOYW1lIGlzIHJlcXVpcmVkXCIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlBBVFRFUk5fTUFUQ0gsXG4gICAgICAgIHZhbHVlOiBcIl5bYS16QS1aXVthLXpBLVowLTktXXs0LDQ4fVthLXpBLVowLTldJFwiLFxuICAgICAgICBtZXNzYWdlOlxuICAgICAgICAgIFwiTmFtZXNwYWNlIG5hbWUgbXVzdCBiZSA2LTUwIGNoYXJhY3RlcnMsIHN0YXJ0IHdpdGggYSBsZXR0ZXIsIGVuZCB3aXRoIGEgbGV0dGVyIG9yIG51bWJlciwgYW5kIGNvbnRhaW4gb25seSBsZXR0ZXJzLCBudW1iZXJzLCBhbmQgaHlwaGVuc1wiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICBsb2NhdGlvbjoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIGRlc2NyaXB0aW9uOiBcIkF6dXJlIHJlZ2lvbiB3aGVyZSB0aGUgbmFtZXNwYWNlIHdpbGwgYmUgY3JlYXRlZFwiLFxuICB9LFxuICBza3U6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLk9CSkVDVCxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIlNLVSBjb25maWd1cmF0aW9uIGZvciB0aGUgbmFtZXNwYWNlLiBPcHRpb25zOiBCYXNpYywgU3RhbmRhcmQsIFByZW1pdW1cIixcbiAgfSxcbiAgem9uZVJlZHVuZGFudDoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuQk9PTEVBTixcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246IFwiRW5hYmxlIHpvbmUgcmVkdW5kYW5jeSBmb3IgdGhlIG5hbWVzcGFjZVwiLFxuICB9LFxuICBpc0F1dG9JbmZsYXRlRW5hYmxlZDoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuQk9PTEVBTixcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246IFwiRW5hYmxlIGF1dG8taW5mbGF0ZSBmb3IgdGhyb3VnaHB1dCB1bml0cyAoU3RhbmRhcmQgdGllcilcIixcbiAgfSxcbiAgbWF4aW11bVRocm91Z2hwdXRVbml0czoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuTlVNQkVSLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiVXBwZXIgbGltaXQgb2YgdGhyb3VnaHB1dCB1bml0cyB3aGVuIGF1dG8taW5mbGF0ZSBpcyBlbmFibGVkICgwLTQwKVwiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5WQUxVRV9SQU5HRSxcbiAgICAgICAgdmFsdWU6IHsgbWluOiAwLCBtYXg6IDQwIH0sXG4gICAgICAgIG1lc3NhZ2U6IFwibWF4aW11bVRocm91Z2hwdXRVbml0cyBtdXN0IGJlIGJldHdlZW4gMCBhbmQgNDBcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgbWluaW11bVRsc1ZlcnNpb246IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246IFwiTWluaW11bSBUTFMgdmVyc2lvbiBmb3IgdGhlIG5hbWVzcGFjZTogMS4wLCAxLjEsIG9yIDEuMlwiLFxuICB9LFxuICBwdWJsaWNOZXR3b3JrQWNjZXNzOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOiBcIlB1YmxpYyBuZXR3b3JrIGFjY2VzcyBmb3IgdGhlIG5hbWVzcGFjZTogRW5hYmxlZCBvciBEaXNhYmxlZFwiLFxuICB9LFxuICBkaXNhYmxlTG9jYWxBdXRoOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5CT09MRUFOLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiRGlzYWJsZSBTQVMgYXV0aGVudGljYXRpb24sIHJlcXVpcmluZyBBenVyZSBBRCBhdXRoZW50aWNhdGlvbiBvbmx5XCIsXG4gIH0sXG4gIGlkZW50aXR5OiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5PQkpFQ1QsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOiBcIk1hbmFnZWQgaWRlbnRpdHkgY29uZmlndXJhdGlvbiBmb3IgdGhlIG5hbWVzcGFjZVwiLFxuICB9LFxufTtcblxuLyoqXG4gKiBBUEkgU2NoZW1hIGZvciBFdmVudCBIdWIgTmFtZXNwYWNlIHZlcnNpb24gMjAyNC0wMS0wMVxuICpcbiAqIFRoaXMgaXMgdGhlIGxhdGVzdCBzdGFibGUgdmVyc2lvbiBmb3IgRXZlbnQgSHViIE5hbWVzcGFjZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBFVkVOVF9IVUJfTkFNRVNQQUNFX1NDSEVNQV8yMDI0XzAxXzAxOiBBcGlTY2hlbWEgPSB7XG4gIHJlc291cmNlVHlwZTogXCJNaWNyb3NvZnQuRXZlbnRIdWIvbmFtZXNwYWNlc1wiLFxuICB2ZXJzaW9uOiBcIjIwMjQtMDEtMDFcIixcbiAgcHJvcGVydGllczoge1xuICAgIC4uLkNPTU1PTl9FVkVOVF9IVUJfTkFNRVNQQUNFX1BST1BFUlRJRVMsXG4gIH0sXG4gIHJlcXVpcmVkOiBbXCJuYW1lXCIsIFwibG9jYXRpb25cIl0sXG4gIG9wdGlvbmFsOiBbXG4gICAgXCJza3VcIixcbiAgICBcInpvbmVSZWR1bmRhbnRcIixcbiAgICBcImlzQXV0b0luZmxhdGVFbmFibGVkXCIsXG4gICAgXCJtYXhpbXVtVGhyb3VnaHB1dFVuaXRzXCIsXG4gICAgXCJtaW5pbXVtVGxzVmVyc2lvblwiLFxuICAgIFwicHVibGljTmV0d29ya0FjY2Vzc1wiLFxuICAgIFwiZGlzYWJsZUxvY2FsQXV0aFwiLFxuICAgIFwiaWRlbnRpdHlcIixcbiAgXSxcbiAgZGVwcmVjYXRlZDogW10sXG4gIHRyYW5zZm9ybWF0aW9uUnVsZXM6IHt9LFxuICB2YWxpZGF0aW9uUnVsZXM6IFtcbiAgICB7XG4gICAgICBwcm9wZXJ0eTogXCJuYW1lXCIsXG4gICAgICBydWxlczogW1xuICAgICAgICB7XG4gICAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgICBtZXNzYWdlOiBcIk5hbWUgaXMgcmVxdWlyZWQgZm9yIEV2ZW50IEh1YiBOYW1lc3BhY2VcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgXSxcbn07XG5cbi8qKlxuICogQVBJIFNjaGVtYSBmb3IgRXZlbnQgSHViIE5hbWVzcGFjZSB2ZXJzaW9uIDIwMjEtMTEtMDFcbiAqXG4gKiBUaGlzIGlzIGEgc3RhYmxlIHZlcnNpb24gZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuXG4gKi9cbmV4cG9ydCBjb25zdCBFVkVOVF9IVUJfTkFNRVNQQUNFX1NDSEVNQV8yMDIxXzExXzAxOiBBcGlTY2hlbWEgPSB7XG4gIHJlc291cmNlVHlwZTogXCJNaWNyb3NvZnQuRXZlbnRIdWIvbmFtZXNwYWNlc1wiLFxuICB2ZXJzaW9uOiBcIjIwMjEtMTEtMDFcIixcbiAgcHJvcGVydGllczoge1xuICAgIC4uLkNPTU1PTl9FVkVOVF9IVUJfTkFNRVNQQUNFX1BST1BFUlRJRVMsXG4gIH0sXG4gIHJlcXVpcmVkOiBbXCJuYW1lXCIsIFwibG9jYXRpb25cIl0sXG4gIG9wdGlvbmFsOiBbXG4gICAgXCJza3VcIixcbiAgICBcInpvbmVSZWR1bmRhbnRcIixcbiAgICBcImlzQXV0b0luZmxhdGVFbmFibGVkXCIsXG4gICAgXCJtYXhpbXVtVGhyb3VnaHB1dFVuaXRzXCIsXG4gICAgXCJtaW5pbXVtVGxzVmVyc2lvblwiLFxuICAgIFwicHVibGljTmV0d29ya0FjY2Vzc1wiLFxuICAgIFwiZGlzYWJsZUxvY2FsQXV0aFwiLFxuICAgIFwiaWRlbnRpdHlcIixcbiAgXSxcbiAgZGVwcmVjYXRlZDogW10sXG4gIHRyYW5zZm9ybWF0aW9uUnVsZXM6IHt9LFxuICB2YWxpZGF0aW9uUnVsZXM6IFtcbiAgICB7XG4gICAgICBwcm9wZXJ0eTogXCJuYW1lXCIsXG4gICAgICBydWxlczogW1xuICAgICAgICB7XG4gICAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgICBtZXNzYWdlOiBcIk5hbWUgaXMgcmVxdWlyZWQgZm9yIEV2ZW50IEh1YiBOYW1lc3BhY2VcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgXSxcbn07XG5cbi8qKlxuICogVmVyc2lvbiBjb25maWd1cmF0aW9uIGZvciBFdmVudCBIdWIgTmFtZXNwYWNlIDIwMjQtMDEtMDFcbiAqL1xuZXhwb3J0IGNvbnN0IEVWRU5UX0hVQl9OQU1FU1BBQ0VfVkVSU0lPTl8yMDI0XzAxXzAxOiBWZXJzaW9uQ29uZmlnID0ge1xuICB2ZXJzaW9uOiBcIjIwMjQtMDEtMDFcIixcbiAgc2NoZW1hOiBFVkVOVF9IVUJfTkFNRVNQQUNFX1NDSEVNQV8yMDI0XzAxXzAxLFxuICBzdXBwb3J0TGV2ZWw6IFZlcnNpb25TdXBwb3J0TGV2ZWwuQUNUSVZFLFxuICByZWxlYXNlRGF0ZTogXCIyMDI0LTAxLTAxXCIsXG4gIGRlcHJlY2F0aW9uRGF0ZTogdW5kZWZpbmVkLFxuICBzdW5zZXREYXRlOiB1bmRlZmluZWQsXG4gIGJyZWFraW5nQ2hhbmdlczogW10sXG4gIG1pZ3JhdGlvbkd1aWRlOiBcIi9kb2NzL2V2ZW50LWh1Yi9taWdyYXRpb24tMjAyNC0wMS0wMVwiLFxuICBjaGFuZ2VMb2c6IFtcbiAgICB7XG4gICAgICBjaGFuZ2VUeXBlOiBcInVwZGF0ZWRcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkxhdGVzdCBzdGFibGUgQVBJIHZlcnNpb24gZm9yIEV2ZW50IEh1YnNcIixcbiAgICAgIGJyZWFraW5nOiBmYWxzZSxcbiAgICB9LFxuICBdLFxufTtcblxuLyoqXG4gKiBWZXJzaW9uIGNvbmZpZ3VyYXRpb24gZm9yIEV2ZW50IEh1YiBOYW1lc3BhY2UgMjAyMS0xMS0wMVxuICovXG5leHBvcnQgY29uc3QgRVZFTlRfSFVCX05BTUVTUEFDRV9WRVJTSU9OXzIwMjFfMTFfMDE6IFZlcnNpb25Db25maWcgPSB7XG4gIHZlcnNpb246IFwiMjAyMS0xMS0wMVwiLFxuICBzY2hlbWE6IEVWRU5UX0hVQl9OQU1FU1BBQ0VfU0NIRU1BXzIwMjFfMTFfMDEsXG4gIHN1cHBvcnRMZXZlbDogVmVyc2lvblN1cHBvcnRMZXZlbC5BQ1RJVkUsXG4gIHJlbGVhc2VEYXRlOiBcIjIwMjEtMTEtMDFcIixcbiAgZGVwcmVjYXRpb25EYXRlOiB1bmRlZmluZWQsXG4gIHN1bnNldERhdGU6IHVuZGVmaW5lZCxcbiAgYnJlYWtpbmdDaGFuZ2VzOiBbXSxcbiAgbWlncmF0aW9uR3VpZGU6IFwiL2RvY3MvZXZlbnQtaHViL21pZ3JhdGlvbi0yMDIxLTExLTAxXCIsXG4gIGNoYW5nZUxvZzogW1xuICAgIHtcbiAgICAgIGNoYW5nZVR5cGU6IFwidXBkYXRlZFwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiU3RhYmxlIEFQSSB2ZXJzaW9uIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XCIsXG4gICAgICBicmVha2luZzogZmFsc2UsXG4gICAgfSxcbiAgXSxcbn07XG5cbi8qKlxuICogQWxsIHN1cHBvcnRlZCBFdmVudCBIdWIgTmFtZXNwYWNlIHZlcnNpb25zIGZvciByZWdpc3RyYXRpb25cbiAqIE9yZGVyZWQgd2l0aCBsYXRlc3Qgc3RhYmxlIHZlcnNpb24gZmlyc3RcbiAqL1xuZXhwb3J0IGNvbnN0IEFMTF9FVkVOVF9IVUJfTkFNRVNQQUNFX1ZFUlNJT05TOiBWZXJzaW9uQ29uZmlnW10gPSBbXG4gIEVWRU5UX0hVQl9OQU1FU1BBQ0VfVkVSU0lPTl8yMDI0XzAxXzAxLFxuICBFVkVOVF9IVUJfTkFNRVNQQUNFX1ZFUlNJT05fMjAyMV8xMV8wMSxcbl07XG5cbi8qKlxuICogUmVzb3VyY2UgdHlwZSBjb25zdGFudCBmb3IgRXZlbnQgSHViIE5hbWVzcGFjZVxuICovXG5leHBvcnQgY29uc3QgRVZFTlRfSFVCX05BTUVTUEFDRV9UWVBFID0gXCJNaWNyb3NvZnQuRXZlbnRIdWIvbmFtZXNwYWNlc1wiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRVZFTlQgSFVCIChFTlRJVFkpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIENvbW1vbiBwcm9wZXJ0eSBkZWZpbml0aW9ucyBzaGFyZWQgYWNyb3NzIGFsbCBFdmVudCBIdWIgKGVudGl0eSkgdmVyc2lvbnNcbiAqL1xuY29uc3QgQ09NTU9OX0VWRU5UX0hVQl9QUk9QRVJUSUVTOiB7XG4gIFtrZXk6IHN0cmluZ106IFByb3BlcnR5RGVmaW5pdGlvbjtcbn0gPSB7XG4gIG5hbWU6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjogXCJOYW1lIG9mIHRoZSBFdmVudCBIdWJcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgIG1lc3NhZ2U6IFwiTmFtZSBpcyByZXF1aXJlZFwiLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5QQVRURVJOX01BVENILFxuICAgICAgICB2YWx1ZTogXCJeW2EtekEtWjAtOV1bYS16QS1aMC05Ll8tXXswLDI1NH0kXCIsXG4gICAgICAgIG1lc3NhZ2U6XG4gICAgICAgICAgXCJFdmVudCBIdWIgbmFtZSBtdXN0IGJlIDEtMjU1IGNoYXJhY3RlcnMgYW5kIGNvbnRhaW4gb25seSBsZXR0ZXJzLCBudW1iZXJzLCBwZXJpb2RzLCBoeXBoZW5zLCBhbmQgdW5kZXJzY29yZXNcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgcGFydGl0aW9uQ291bnQ6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLk5VTUJFUixcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVmYXVsdFZhbHVlOiAyLFxuICAgIGRlc2NyaXB0aW9uOiBcIk51bWJlciBvZiBwYXJ0aXRpb25zIGZvciB0aGUgRXZlbnQgSHViICgxLTMyIGZvciBTdGFuZGFyZClcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVkFMVUVfUkFOR0UsXG4gICAgICAgIHZhbHVlOiB7IG1pbjogMSwgbWF4OiAxMDI0IH0sXG4gICAgICAgIG1lc3NhZ2U6IFwicGFydGl0aW9uQ291bnQgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDEwMjRcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgbWVzc2FnZVJldGVudGlvbkluRGF5czoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuTlVNQkVSLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZWZhdWx0VmFsdWU6IDEsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIk51bWJlciBvZiBkYXlzIHRvIHJldGFpbiBldmVudHMgKDEtNyBmb3IgU3RhbmRhcmQsIHVwIHRvIDkwIGZvciBQcmVtaXVtL0RlZGljYXRlZClcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVkFMVUVfUkFOR0UsXG4gICAgICAgIHZhbHVlOiB7IG1pbjogMSwgbWF4OiA5MCB9LFxuICAgICAgICBtZXNzYWdlOiBcIm1lc3NhZ2VSZXRlbnRpb25JbkRheXMgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDkwXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIHN0YXR1czoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiU3RhdHVzIG9mIHRoZSBFdmVudCBIdWI6IEFjdGl2ZSwgRGlzYWJsZWQsIFNlbmREaXNhYmxlZCwgUmVjZWl2ZURpc2FibGVkXCIsXG4gIH0sXG59O1xuXG4vKipcbiAqIEFQSSBTY2hlbWEgZm9yIEV2ZW50IEh1YiAoZW50aXR5KSB2ZXJzaW9uIDIwMjQtMDEtMDFcbiAqL1xuZXhwb3J0IGNvbnN0IEVWRU5UX0hVQl9TQ0hFTUFfMjAyNF8wMV8wMTogQXBpU2NoZW1hID0ge1xuICByZXNvdXJjZVR5cGU6IFwiTWljcm9zb2Z0LkV2ZW50SHViL25hbWVzcGFjZXMvZXZlbnRodWJzXCIsXG4gIHZlcnNpb246IFwiMjAyNC0wMS0wMVwiLFxuICBwcm9wZXJ0aWVzOiB7XG4gICAgLi4uQ09NTU9OX0VWRU5UX0hVQl9QUk9QRVJUSUVTLFxuICB9LFxuICByZXF1aXJlZDogW1wibmFtZVwiXSxcbiAgb3B0aW9uYWw6IFtcInBhcnRpdGlvbkNvdW50XCIsIFwibWVzc2FnZVJldGVudGlvbkluRGF5c1wiLCBcInN0YXR1c1wiXSxcbiAgZGVwcmVjYXRlZDogW10sXG4gIHRyYW5zZm9ybWF0aW9uUnVsZXM6IHt9LFxuICB2YWxpZGF0aW9uUnVsZXM6IFtcbiAgICB7XG4gICAgICBwcm9wZXJ0eTogXCJuYW1lXCIsXG4gICAgICBydWxlczogW1xuICAgICAgICB7XG4gICAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgICBtZXNzYWdlOiBcIk5hbWUgaXMgcmVxdWlyZWQgZm9yIEV2ZW50IEh1YlwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICBdLFxufTtcblxuLyoqXG4gKiBBUEkgU2NoZW1hIGZvciBFdmVudCBIdWIgKGVudGl0eSkgdmVyc2lvbiAyMDIxLTExLTAxXG4gKi9cbmV4cG9ydCBjb25zdCBFVkVOVF9IVUJfU0NIRU1BXzIwMjFfMTFfMDE6IEFwaVNjaGVtYSA9IHtcbiAgcmVzb3VyY2VUeXBlOiBcIk1pY3Jvc29mdC5FdmVudEh1Yi9uYW1lc3BhY2VzL2V2ZW50aHVic1wiLFxuICB2ZXJzaW9uOiBcIjIwMjEtMTEtMDFcIixcbiAgcHJvcGVydGllczoge1xuICAgIC4uLkNPTU1PTl9FVkVOVF9IVUJfUFJPUEVSVElFUyxcbiAgfSxcbiAgcmVxdWlyZWQ6IFtcIm5hbWVcIl0sXG4gIG9wdGlvbmFsOiBbXCJwYXJ0aXRpb25Db3VudFwiLCBcIm1lc3NhZ2VSZXRlbnRpb25JbkRheXNcIiwgXCJzdGF0dXNcIl0sXG4gIGRlcHJlY2F0ZWQ6IFtdLFxuICB0cmFuc2Zvcm1hdGlvblJ1bGVzOiB7fSxcbiAgdmFsaWRhdGlvblJ1bGVzOiBbXG4gICAge1xuICAgICAgcHJvcGVydHk6IFwibmFtZVwiLFxuICAgICAgcnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgICAgbWVzc2FnZTogXCJOYW1lIGlzIHJlcXVpcmVkIGZvciBFdmVudCBIdWJcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgXSxcbn07XG5cbi8qKlxuICogVmVyc2lvbiBjb25maWd1cmF0aW9uIGZvciBFdmVudCBIdWIgKGVudGl0eSkgMjAyNC0wMS0wMVxuICovXG5leHBvcnQgY29uc3QgRVZFTlRfSFVCX1ZFUlNJT05fMjAyNF8wMV8wMTogVmVyc2lvbkNvbmZpZyA9IHtcbiAgdmVyc2lvbjogXCIyMDI0LTAxLTAxXCIsXG4gIHNjaGVtYTogRVZFTlRfSFVCX1NDSEVNQV8yMDI0XzAxXzAxLFxuICBzdXBwb3J0TGV2ZWw6IFZlcnNpb25TdXBwb3J0TGV2ZWwuQUNUSVZFLFxuICByZWxlYXNlRGF0ZTogXCIyMDI0LTAxLTAxXCIsXG4gIGRlcHJlY2F0aW9uRGF0ZTogdW5kZWZpbmVkLFxuICBzdW5zZXREYXRlOiB1bmRlZmluZWQsXG4gIGJyZWFraW5nQ2hhbmdlczogW10sXG4gIG1pZ3JhdGlvbkd1aWRlOiBcIi9kb2NzL2V2ZW50LWh1Yi9taWdyYXRpb24tMjAyNC0wMS0wMVwiLFxuICBjaGFuZ2VMb2c6IFtcbiAgICB7XG4gICAgICBjaGFuZ2VUeXBlOiBcInVwZGF0ZWRcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkxhdGVzdCBzdGFibGUgQVBJIHZlcnNpb24gZm9yIEV2ZW50IEh1YnNcIixcbiAgICAgIGJyZWFraW5nOiBmYWxzZSxcbiAgICB9LFxuICBdLFxufTtcblxuLyoqXG4gKiBWZXJzaW9uIGNvbmZpZ3VyYXRpb24gZm9yIEV2ZW50IEh1YiAoZW50aXR5KSAyMDIxLTExLTAxXG4gKi9cbmV4cG9ydCBjb25zdCBFVkVOVF9IVUJfVkVSU0lPTl8yMDIxXzExXzAxOiBWZXJzaW9uQ29uZmlnID0ge1xuICB2ZXJzaW9uOiBcIjIwMjEtMTEtMDFcIixcbiAgc2NoZW1hOiBFVkVOVF9IVUJfU0NIRU1BXzIwMjFfMTFfMDEsXG4gIHN1cHBvcnRMZXZlbDogVmVyc2lvblN1cHBvcnRMZXZlbC5BQ1RJVkUsXG4gIHJlbGVhc2VEYXRlOiBcIjIwMjEtMTEtMDFcIixcbiAgZGVwcmVjYXRpb25EYXRlOiB1bmRlZmluZWQsXG4gIHN1bnNldERhdGU6IHVuZGVmaW5lZCxcbiAgYnJlYWtpbmdDaGFuZ2VzOiBbXSxcbiAgbWlncmF0aW9uR3VpZGU6IFwiL2RvY3MvZXZlbnQtaHViL21pZ3JhdGlvbi0yMDIxLTExLTAxXCIsXG4gIGNoYW5nZUxvZzogW1xuICAgIHtcbiAgICAgIGNoYW5nZVR5cGU6IFwidXBkYXRlZFwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiU3RhYmxlIEFQSSB2ZXJzaW9uIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XCIsXG4gICAgICBicmVha2luZzogZmFsc2UsXG4gICAgfSxcbiAgXSxcbn07XG5cbi8qKlxuICogQWxsIHN1cHBvcnRlZCBFdmVudCBIdWIgKGVudGl0eSkgdmVyc2lvbnMgZm9yIHJlZ2lzdHJhdGlvblxuICogT3JkZXJlZCB3aXRoIGxhdGVzdCBzdGFibGUgdmVyc2lvbiBmaXJzdFxuICovXG5leHBvcnQgY29uc3QgQUxMX0VWRU5UX0hVQl9WRVJTSU9OUzogVmVyc2lvbkNvbmZpZ1tdID0gW1xuICBFVkVOVF9IVUJfVkVSU0lPTl8yMDI0XzAxXzAxLFxuICBFVkVOVF9IVUJfVkVSU0lPTl8yMDIxXzExXzAxLFxuXTtcblxuLyoqXG4gKiBSZXNvdXJjZSB0eXBlIGNvbnN0YW50IGZvciBFdmVudCBIdWIgKGVudGl0eSlcbiAqL1xuZXhwb3J0IGNvbnN0IEVWRU5UX0hVQl9UWVBFID0gXCJNaWNyb3NvZnQuRXZlbnRIdWIvbmFtZXNwYWNlcy9ldmVudGh1YnNcIjtcbiJdfQ==
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Azure Event Hub (entity) implementation using the AzapiResource framework
|
|
3
|
+
*
|
|
4
|
+
* This class provides a version-aware implementation for Azure Event Hubs
|
|
5
|
+
* (Microsoft.EventHub/namespaces/eventhubs) that automatically handles version
|
|
6
|
+
* management, schema validation, and property transformation across all
|
|
7
|
+
* supported API versions.
|
|
8
|
+
*
|
|
9
|
+
* Supported API Versions:
|
|
10
|
+
* - 2024-01-01 (Active, Latest)
|
|
11
|
+
* - 2021-11-01 (Active, Backward Compatibility)
|
|
12
|
+
*
|
|
13
|
+
* Features:
|
|
14
|
+
* - Automatic latest version resolution when no version is specified
|
|
15
|
+
* - Explicit version pinning for stability requirements
|
|
16
|
+
* - Schema-driven validation and transformation
|
|
17
|
+
* - Full JSII compliance for multi-language support
|
|
18
|
+
* - Child resource with proper parent ID construction
|
|
19
|
+
* - Partition count and message retention configuration
|
|
20
|
+
*/
|
|
21
|
+
import * as cdktn from "cdktn";
|
|
22
|
+
import { Construct } from "constructs";
|
|
23
|
+
import { AzapiResource, AzapiResourceProps } from "../../core-azure/lib/azapi/azapi-resource";
|
|
24
|
+
import { ApiSchema } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
|
|
25
|
+
/**
|
|
26
|
+
* Properties for the Azure Event Hub (entity)
|
|
27
|
+
*
|
|
28
|
+
* Extends AzapiResourceProps with Event Hub specific properties
|
|
29
|
+
*/
|
|
30
|
+
export interface EventhubProps extends AzapiResourceProps {
|
|
31
|
+
/**
|
|
32
|
+
* Name of the parent Event Hubs namespace
|
|
33
|
+
* Required for constructing the parent ID
|
|
34
|
+
*/
|
|
35
|
+
readonly namespaceName: string;
|
|
36
|
+
/**
|
|
37
|
+
* Optional: Full resource ID of the parent Event Hubs namespace
|
|
38
|
+
* When provided, creates a proper Terraform dependency on the namespace.
|
|
39
|
+
* If not provided, the parent ID will be constructed from `resourceGroupId`
|
|
40
|
+
* and `namespaceName`.
|
|
41
|
+
*/
|
|
42
|
+
readonly namespaceId?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Resource group ID where the parent namespace exists
|
|
45
|
+
* Required for constructing the parent ID
|
|
46
|
+
*/
|
|
47
|
+
readonly resourceGroupId: string;
|
|
48
|
+
/**
|
|
49
|
+
* Number of partitions for the Event Hub
|
|
50
|
+
*
|
|
51
|
+
* Partitions are immutable after creation. Valid range depends on the
|
|
52
|
+
* namespace tier (1-32 for Standard, up to 1024 for Premium/Dedicated).
|
|
53
|
+
*
|
|
54
|
+
* @defaultValue 2
|
|
55
|
+
*/
|
|
56
|
+
readonly partitionCount?: number;
|
|
57
|
+
/**
|
|
58
|
+
* Number of days to retain events
|
|
59
|
+
*
|
|
60
|
+
* Valid range is 1-7 for Standard tier, and up to 90 for Premium/Dedicated.
|
|
61
|
+
*
|
|
62
|
+
* @defaultValue 1
|
|
63
|
+
*/
|
|
64
|
+
readonly messageRetentionInDays?: number;
|
|
65
|
+
/**
|
|
66
|
+
* Status of the Event Hub
|
|
67
|
+
*
|
|
68
|
+
* @defaultValue "Active"
|
|
69
|
+
*/
|
|
70
|
+
readonly status?: "Active" | "Disabled" | "SendDisabled" | "ReceiveDisabled";
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Azure Event Hub (entity) implementation
|
|
74
|
+
*
|
|
75
|
+
* This class provides a single, version-aware implementation that automatically
|
|
76
|
+
* handles version resolution, schema validation, and property transformation
|
|
77
|
+
* while maintaining full JSII compliance.
|
|
78
|
+
*
|
|
79
|
+
* **Child Resource Pattern**: Event Hubs are child resources of Event Hubs
|
|
80
|
+
* Namespaces. This implementation overrides the `resolveParentId()` method to
|
|
81
|
+
* properly construct the namespace ID as the parent.
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* // Basic Event Hub within a namespace:
|
|
85
|
+
* const hub = new Eventhub(this, "my-hub", {
|
|
86
|
+
* name: "my-event-hub",
|
|
87
|
+
* namespaceName: "my-eventhub-ns",
|
|
88
|
+
* resourceGroupId: resourceGroup.id,
|
|
89
|
+
* partitionCount: 4,
|
|
90
|
+
* messageRetentionInDays: 3,
|
|
91
|
+
* });
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* // Event Hub with an explicit namespace reference (creates a dependency):
|
|
95
|
+
* const hub = new Eventhub(this, "my-hub", {
|
|
96
|
+
* name: "my-event-hub",
|
|
97
|
+
* namespaceName: namespace.props.name!,
|
|
98
|
+
* namespaceId: namespace.id,
|
|
99
|
+
* resourceGroupId: resourceGroup.id,
|
|
100
|
+
* });
|
|
101
|
+
*
|
|
102
|
+
* @stability stable
|
|
103
|
+
*/
|
|
104
|
+
export declare class Eventhub extends AzapiResource {
|
|
105
|
+
/**
|
|
106
|
+
* The input properties for this Event Hub instance
|
|
107
|
+
*/
|
|
108
|
+
readonly props: EventhubProps;
|
|
109
|
+
readonly idOutput: cdktn.TerraformOutput;
|
|
110
|
+
readonly nameOutput: cdktn.TerraformOutput;
|
|
111
|
+
/**
|
|
112
|
+
* Creates a new Azure Event Hub using the AzapiResource framework
|
|
113
|
+
*
|
|
114
|
+
* @param scope - The scope in which to define this construct
|
|
115
|
+
* @param id - The unique identifier for this instance
|
|
116
|
+
* @param props - Configuration properties for the Event Hub
|
|
117
|
+
*/
|
|
118
|
+
constructor(scope: Construct, id: string, props: EventhubProps);
|
|
119
|
+
/**
|
|
120
|
+
* Gets the default API version to use when no explicit version is specified
|
|
121
|
+
* Returns the latest stable version as the default
|
|
122
|
+
*/
|
|
123
|
+
protected defaultVersion(): string;
|
|
124
|
+
/**
|
|
125
|
+
* Gets the Azure resource type for Event Hubs
|
|
126
|
+
*/
|
|
127
|
+
protected resourceType(): string;
|
|
128
|
+
/**
|
|
129
|
+
* Gets the API schema for the resolved version
|
|
130
|
+
*/
|
|
131
|
+
protected apiSchema(): ApiSchema;
|
|
132
|
+
/**
|
|
133
|
+
* Creates the resource body for the Azure API call
|
|
134
|
+
* Transforms the input properties into the JSON format expected by Azure REST API
|
|
135
|
+
*/
|
|
136
|
+
protected createResourceBody(props: any): any;
|
|
137
|
+
/**
|
|
138
|
+
* Resolves the parent ID for the Event Hub resource.
|
|
139
|
+
*
|
|
140
|
+
* Event Hubs are child resources of Event Hubs Namespaces. This method
|
|
141
|
+
* overrides the default parent ID resolution to return the namespace ID
|
|
142
|
+
* instead of the Resource Group ID.
|
|
143
|
+
*
|
|
144
|
+
* @param props - The resource properties
|
|
145
|
+
* @returns The Event Hubs Namespace ID (parent resource ID)
|
|
146
|
+
*/
|
|
147
|
+
protected resolveParentId(props: any): string;
|
|
148
|
+
/**
|
|
149
|
+
* Event Hubs inherit location from their parent namespace, so no parent
|
|
150
|
+
* resource reference is needed for location resolution.
|
|
151
|
+
*/
|
|
152
|
+
protected parentResourceForLocation(): AzapiResource | undefined;
|
|
153
|
+
}
|