@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,242 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const cdktn_1 = require("cdktn");
|
|
4
|
+
const cdktn = require("cdktn");
|
|
5
|
+
const api_version_manager_1 = require("../../core-azure/lib/version-manager/api-version-manager");
|
|
6
|
+
const version_interfaces_1 = require("../../core-azure/lib/version-manager/interfaces/version-interfaces");
|
|
7
|
+
const event_grid_event_subscription_1 = require("../lib/event-grid-event-subscription");
|
|
8
|
+
const event_grid_event_subscription_schemas_1 = require("../lib/event-grid-event-subscription-schemas");
|
|
9
|
+
describe("EventGridEventSubscription - Implementation", () => {
|
|
10
|
+
let app;
|
|
11
|
+
let stack;
|
|
12
|
+
let manager;
|
|
13
|
+
const scope = "/subscriptions/test-sub/resourceGroups/test-rg/providers/Microsoft.EventGrid/systemTopics/test-topic";
|
|
14
|
+
const destination = {
|
|
15
|
+
endpointType: "WebHook",
|
|
16
|
+
properties: {
|
|
17
|
+
endpointUrl: "https://example.com/webhook",
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
beforeEach(() => {
|
|
21
|
+
app = cdktn_1.Testing.app();
|
|
22
|
+
stack = new cdktn.TerraformStack(app, "TestStack");
|
|
23
|
+
manager = api_version_manager_1.ApiVersionManager.instance();
|
|
24
|
+
try {
|
|
25
|
+
manager.registerResourceType(event_grid_event_subscription_schemas_1.EVENT_SUBSCRIPTION_TYPE, event_grid_event_subscription_schemas_1.ALL_EVENT_SUBSCRIPTION_VERSIONS);
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
// Ignore if already registered
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
describe("Constructor and Basic Properties", () => {
|
|
32
|
+
it("should create event subscription with automatic latest version resolution", () => {
|
|
33
|
+
const props = {
|
|
34
|
+
name: "test-event-subscription",
|
|
35
|
+
scope,
|
|
36
|
+
destination,
|
|
37
|
+
};
|
|
38
|
+
const eventSubscription = new event_grid_event_subscription_1.EventGridEventSubscription(stack, "TestEventSubscription", props);
|
|
39
|
+
expect(eventSubscription).toBeInstanceOf(event_grid_event_subscription_1.EventGridEventSubscription);
|
|
40
|
+
expect(eventSubscription.resolvedApiVersion).toBe("2025-02-15");
|
|
41
|
+
expect(eventSubscription.props).toBe(props);
|
|
42
|
+
expect(eventSubscription.name).toBe("test-event-subscription");
|
|
43
|
+
});
|
|
44
|
+
it("should create event subscription with explicit version pinning", () => {
|
|
45
|
+
const props = {
|
|
46
|
+
name: "test-event-subscription-pinned",
|
|
47
|
+
scope,
|
|
48
|
+
destination,
|
|
49
|
+
apiVersion: "2025-02-15",
|
|
50
|
+
};
|
|
51
|
+
const eventSubscription = new event_grid_event_subscription_1.EventGridEventSubscription(stack, "PinnedEventSubscription", props);
|
|
52
|
+
expect(eventSubscription.resolvedApiVersion).toBe("2025-02-15");
|
|
53
|
+
});
|
|
54
|
+
it("should create event subscription with optional filter and delivery properties", () => {
|
|
55
|
+
const props = {
|
|
56
|
+
name: "test-event-subscription-full",
|
|
57
|
+
scope,
|
|
58
|
+
destination,
|
|
59
|
+
filter: {
|
|
60
|
+
subjectBeginsWith: "/blobServices/default/containers/images/",
|
|
61
|
+
subjectEndsWith: ".jpg",
|
|
62
|
+
includedEventTypes: ["Microsoft.Storage.BlobCreated"],
|
|
63
|
+
isSubjectCaseSensitive: false,
|
|
64
|
+
advancedFilters: [
|
|
65
|
+
{
|
|
66
|
+
operatorType: "NumberGreaterThan",
|
|
67
|
+
key: "data.contentLength",
|
|
68
|
+
value: 0,
|
|
69
|
+
},
|
|
70
|
+
],
|
|
71
|
+
},
|
|
72
|
+
retryPolicy: {
|
|
73
|
+
maxDeliveryAttempts: 10,
|
|
74
|
+
eventTimeToLiveInMinutes: 1440,
|
|
75
|
+
},
|
|
76
|
+
deadLetterDestination: {
|
|
77
|
+
endpointType: "StorageBlob",
|
|
78
|
+
properties: {
|
|
79
|
+
resourceId: "/subscriptions/test-sub/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/testdeadletter",
|
|
80
|
+
blobContainerName: "deadletters",
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
labels: ["production", "images"],
|
|
84
|
+
expirationTimeUtc: "2026-01-01T00:00:00Z",
|
|
85
|
+
};
|
|
86
|
+
const eventSubscription = new event_grid_event_subscription_1.EventGridEventSubscription(stack, "FullEventSubscription", props);
|
|
87
|
+
expect(eventSubscription.props.filter).toEqual(props.filter);
|
|
88
|
+
expect(eventSubscription.props.retryPolicy).toEqual(props.retryPolicy);
|
|
89
|
+
expect(eventSubscription.props.deadLetterDestination).toEqual(props.deadLetterDestination);
|
|
90
|
+
expect(eventSubscription.props.labels).toEqual(props.labels);
|
|
91
|
+
expect(eventSubscription.props.expirationTimeUtc).toBe(props.expirationTimeUtc);
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
describe("Framework Integration", () => {
|
|
95
|
+
it("should resolve latest API version automatically", () => {
|
|
96
|
+
const eventSubscription = new event_grid_event_subscription_1.EventGridEventSubscription(stack, "TestEventSubscription", {
|
|
97
|
+
name: "test-event-subscription",
|
|
98
|
+
scope,
|
|
99
|
+
destination,
|
|
100
|
+
});
|
|
101
|
+
expect(eventSubscription.resolvedApiVersion).toBe("2025-02-15");
|
|
102
|
+
expect(eventSubscription.latestVersion()).toBe("2025-02-15");
|
|
103
|
+
});
|
|
104
|
+
it("should provide supported versions", () => {
|
|
105
|
+
const eventSubscription = new event_grid_event_subscription_1.EventGridEventSubscription(stack, "TestEventSubscription", {
|
|
106
|
+
name: "test-event-subscription",
|
|
107
|
+
scope,
|
|
108
|
+
destination,
|
|
109
|
+
});
|
|
110
|
+
expect(eventSubscription.supportedVersions()).toEqual(["2025-02-15"]);
|
|
111
|
+
});
|
|
112
|
+
it("should validate version support", () => {
|
|
113
|
+
expect(() => {
|
|
114
|
+
new event_grid_event_subscription_1.EventGridEventSubscription(stack, "ValidVersion", {
|
|
115
|
+
name: "test-event-subscription",
|
|
116
|
+
scope,
|
|
117
|
+
destination,
|
|
118
|
+
apiVersion: "2025-02-15",
|
|
119
|
+
});
|
|
120
|
+
}).not.toThrow();
|
|
121
|
+
expect(() => {
|
|
122
|
+
new event_grid_event_subscription_1.EventGridEventSubscription(stack, "InvalidVersion", {
|
|
123
|
+
name: "test-event-subscription",
|
|
124
|
+
scope,
|
|
125
|
+
destination,
|
|
126
|
+
apiVersion: "2026-01-01",
|
|
127
|
+
});
|
|
128
|
+
}).toThrow("Unsupported API version '2026-01-01'");
|
|
129
|
+
});
|
|
130
|
+
it("should load correct schema for resolved version", () => {
|
|
131
|
+
const eventSubscription = new event_grid_event_subscription_1.EventGridEventSubscription(stack, "TestEventSubscription", {
|
|
132
|
+
name: "test-event-subscription",
|
|
133
|
+
scope,
|
|
134
|
+
destination,
|
|
135
|
+
});
|
|
136
|
+
expect(eventSubscription.schema).toBeDefined();
|
|
137
|
+
expect(eventSubscription.schema.resourceType).toBe(event_grid_event_subscription_schemas_1.EVENT_SUBSCRIPTION_TYPE);
|
|
138
|
+
expect(eventSubscription.schema.version).toBe("2025-02-15");
|
|
139
|
+
expect(eventSubscription.schema.properties).toBeDefined();
|
|
140
|
+
});
|
|
141
|
+
it("should load version configuration correctly", () => {
|
|
142
|
+
const eventSubscription = new event_grid_event_subscription_1.EventGridEventSubscription(stack, "TestEventSubscription", {
|
|
143
|
+
name: "test-event-subscription",
|
|
144
|
+
scope,
|
|
145
|
+
destination,
|
|
146
|
+
});
|
|
147
|
+
expect(eventSubscription.versionConfig).toBeDefined();
|
|
148
|
+
expect(eventSubscription.versionConfig.version).toBe("2025-02-15");
|
|
149
|
+
expect(eventSubscription.versionConfig.supportLevel).toBe(version_interfaces_1.VersionSupportLevel.ACTIVE);
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
describe("Property Validation", () => {
|
|
153
|
+
it("should validate properties when validation is enabled", () => {
|
|
154
|
+
expect(() => {
|
|
155
|
+
new event_grid_event_subscription_1.EventGridEventSubscription(stack, "ValidatedEventSubscription", {
|
|
156
|
+
name: "validated-event-subscription",
|
|
157
|
+
scope,
|
|
158
|
+
destination,
|
|
159
|
+
enableValidation: true,
|
|
160
|
+
});
|
|
161
|
+
}).not.toThrow();
|
|
162
|
+
});
|
|
163
|
+
it("should have validation results for valid properties", () => {
|
|
164
|
+
const eventSubscription = new event_grid_event_subscription_1.EventGridEventSubscription(stack, "ValidatedEventSubscription", {
|
|
165
|
+
name: "validated-event-subscription",
|
|
166
|
+
scope,
|
|
167
|
+
destination,
|
|
168
|
+
enableValidation: true,
|
|
169
|
+
});
|
|
170
|
+
expect(eventSubscription.validationResult).toBeDefined();
|
|
171
|
+
expect(eventSubscription.validationResult.valid).toBe(true);
|
|
172
|
+
expect(eventSubscription.validationResult.errors).toHaveLength(0);
|
|
173
|
+
});
|
|
174
|
+
it("should create Terraform outputs", () => {
|
|
175
|
+
const eventSubscription = new event_grid_event_subscription_1.EventGridEventSubscription(stack, "OutputsEventSubscription", {
|
|
176
|
+
name: "outputs-event-subscription",
|
|
177
|
+
scope,
|
|
178
|
+
destination,
|
|
179
|
+
});
|
|
180
|
+
expect(eventSubscription.idOutput).toBeInstanceOf(cdktn.TerraformOutput);
|
|
181
|
+
expect(eventSubscription.nameOutput).toBeInstanceOf(cdktn.TerraformOutput);
|
|
182
|
+
});
|
|
183
|
+
});
|
|
184
|
+
describe("Parent-Child Resource Relationship", () => {
|
|
185
|
+
it("should use scope as parent ID", () => {
|
|
186
|
+
const eventSubscription = new event_grid_event_subscription_1.EventGridEventSubscription(stack, "ParentEventSubscription", {
|
|
187
|
+
name: "parent-event-subscription",
|
|
188
|
+
scope,
|
|
189
|
+
destination,
|
|
190
|
+
});
|
|
191
|
+
expect(eventSubscription.props.scope).toBe(scope);
|
|
192
|
+
});
|
|
193
|
+
it("should synthesize as a child resource without location", () => {
|
|
194
|
+
new event_grid_event_subscription_1.EventGridEventSubscription(stack, "SynthEventSubscription", {
|
|
195
|
+
name: "synth-event-subscription",
|
|
196
|
+
scope,
|
|
197
|
+
destination,
|
|
198
|
+
});
|
|
199
|
+
const synthesized = cdktn_1.Testing.synth(stack);
|
|
200
|
+
expect(synthesized).toContain("eventSubscriptions");
|
|
201
|
+
expect(synthesized).toContain(scope);
|
|
202
|
+
});
|
|
203
|
+
});
|
|
204
|
+
describe("Version Compatibility", () => {
|
|
205
|
+
it("should work with all supported API versions", () => {
|
|
206
|
+
const versions = ["2025-02-15"];
|
|
207
|
+
versions.forEach((version) => {
|
|
208
|
+
const eventSubscription = new event_grid_event_subscription_1.EventGridEventSubscription(stack, `EventSubscription-${version.replace(/-/g, "")}`, {
|
|
209
|
+
name: `test-event-subscription-${version}`,
|
|
210
|
+
scope,
|
|
211
|
+
destination,
|
|
212
|
+
apiVersion: version,
|
|
213
|
+
});
|
|
214
|
+
expect(eventSubscription.resolvedApiVersion).toBe(version);
|
|
215
|
+
expect(eventSubscription.schema.version).toBe(version);
|
|
216
|
+
});
|
|
217
|
+
});
|
|
218
|
+
it("should expose expected schema properties", () => {
|
|
219
|
+
const eventSubscription = new event_grid_event_subscription_1.EventGridEventSubscription(stack, "SchemaEventSubscription", {
|
|
220
|
+
name: "schema-event-subscription",
|
|
221
|
+
scope,
|
|
222
|
+
destination,
|
|
223
|
+
});
|
|
224
|
+
expect(eventSubscription.schema.properties.name).toBeDefined();
|
|
225
|
+
expect(eventSubscription.schema.properties.destination).toBeDefined();
|
|
226
|
+
expect(eventSubscription.schema.properties.filter).toBeDefined();
|
|
227
|
+
expect(eventSubscription.schema.properties.retryPolicy).toBeDefined();
|
|
228
|
+
expect(eventSubscription.schema.properties.labels).toBeDefined();
|
|
229
|
+
});
|
|
230
|
+
});
|
|
231
|
+
describe("Public Methods and Properties", () => {
|
|
232
|
+
it("should have resourceId property matching id", () => {
|
|
233
|
+
const eventSubscription = new event_grid_event_subscription_1.EventGridEventSubscription(stack, "ResourceIdEventSubscription", {
|
|
234
|
+
name: "resource-id-event-subscription",
|
|
235
|
+
scope,
|
|
236
|
+
destination,
|
|
237
|
+
});
|
|
238
|
+
expect(eventSubscription.resourceId).toBe(eventSubscription.id);
|
|
239
|
+
});
|
|
240
|
+
});
|
|
241
|
+
});
|
|
242
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtZ3JpZC1ldmVudC1zdWJzY3JpcHRpb24uc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS1ldmVudGdyaWRldmVudHN1YnNjcmlwdGlvbi90ZXN0L2V2ZW50LWdyaWQtZXZlbnQtc3Vic2NyaXB0aW9uLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxpQ0FBZ0M7QUFDaEMsK0JBQStCO0FBQy9CLGtHQUE2RjtBQUM3RiwyR0FBeUc7QUFDekcsd0ZBRzhDO0FBQzlDLHdHQUdzRDtBQUV0RCxRQUFRLENBQUMsNkNBQTZDLEVBQUUsR0FBRyxFQUFFO0lBQzNELElBQUksR0FBYyxDQUFDO0lBQ25CLElBQUksS0FBMkIsQ0FBQztJQUNoQyxJQUFJLE9BQTBCLENBQUM7SUFFL0IsTUFBTSxLQUFLLEdBQ1Qsc0dBQXNHLENBQUM7SUFDekcsTUFBTSxXQUFXLEdBQUc7UUFDbEIsWUFBWSxFQUFFLFNBQVM7UUFDdkIsVUFBVSxFQUFFO1lBQ1YsV0FBVyxFQUFFLDZCQUE2QjtTQUMzQztLQUNGLENBQUM7SUFFRixVQUFVLENBQUMsR0FBRyxFQUFFO1FBQ2QsR0FBRyxHQUFHLGVBQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNwQixLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNuRCxPQUFPLEdBQUcsdUNBQWlCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFdkMsSUFBSSxDQUFDO1lBQ0gsT0FBTyxDQUFDLG9CQUFvQixDQUMxQiwrREFBdUIsRUFDdkIsdUVBQStCLENBQ2hDLENBQUM7UUFDSixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLCtCQUErQjtRQUNqQyxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsa0NBQWtDLEVBQUUsR0FBRyxFQUFFO1FBQ2hELEVBQUUsQ0FBQywyRUFBMkUs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IjtcbmltcG9ydCAqIGFzIGNka3RuIGZyb20gXCJjZGt0blwiO1xuaW1wb3J0IHsgQXBpVmVyc2lvbk1hbmFnZXIgfSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvdmVyc2lvbi1tYW5hZ2VyL2FwaS12ZXJzaW9uLW1hbmFnZXJcIjtcbmltcG9ydCB7IFZlcnNpb25TdXBwb3J0TGV2ZWwgfSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvdmVyc2lvbi1tYW5hZ2VyL2ludGVyZmFjZXMvdmVyc2lvbi1pbnRlcmZhY2VzXCI7XG5pbXBvcnQge1xuICBFdmVudEdyaWRFdmVudFN1YnNjcmlwdGlvbixcbiAgRXZlbnRHcmlkRXZlbnRTdWJzY3JpcHRpb25Qcm9wcyxcbn0gZnJvbSBcIi4uL2xpYi9ldmVudC1ncmlkLWV2ZW50LXN1YnNjcmlwdGlvblwiO1xuaW1wb3J0IHtcbiAgQUxMX0VWRU5UX1NVQlNDUklQVElPTl9WRVJTSU9OUyxcbiAgRVZFTlRfU1VCU0NSSVBUSU9OX1RZUEUsXG59IGZyb20gXCIuLi9saWIvZXZlbnQtZ3JpZC1ldmVudC1zdWJzY3JpcHRpb24tc2NoZW1hc1wiO1xuXG5kZXNjcmliZShcIkV2ZW50R3JpZEV2ZW50U3Vic2NyaXB0aW9uIC0gSW1wbGVtZW50YXRpb25cIiwgKCkgPT4ge1xuICBsZXQgYXBwOiBjZGt0bi5BcHA7XG4gIGxldCBzdGFjazogY2RrdG4uVGVycmFmb3JtU3RhY2s7XG4gIGxldCBtYW5hZ2VyOiBBcGlWZXJzaW9uTWFuYWdlcjtcblxuICBjb25zdCBzY29wZSA9XG4gICAgXCIvc3Vic2NyaXB0aW9ucy90ZXN0LXN1Yi9yZXNvdXJjZUdyb3Vwcy90ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuRXZlbnRHcmlkL3N5c3RlbVRvcGljcy90ZXN0LXRvcGljXCI7XG4gIGNvbnN0IGRlc3RpbmF0aW9uID0ge1xuICAgIGVuZHBvaW50VHlwZTogXCJXZWJIb29rXCIsXG4gICAgcHJvcGVydGllczoge1xuICAgICAgZW5kcG9pbnRVcmw6IFwiaHR0cHM6Ly9leGFtcGxlLmNvbS93ZWJob29rXCIsXG4gICAgfSxcbiAgfTtcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBhcHAgPSBUZXN0aW5nLmFwcCgpO1xuICAgIHN0YWNrID0gbmV3IGNka3RuLlRlcnJhZm9ybVN0YWNrKGFwcCwgXCJUZXN0U3RhY2tcIik7XG4gICAgbWFuYWdlciA9IEFwaVZlcnNpb25NYW5hZ2VyLmluc3RhbmNlKCk7XG5cbiAgICB0cnkge1xuICAgICAgbWFuYWdlci5yZWdpc3RlclJlc291cmNlVHlwZShcbiAgICAgICAgRVZFTlRfU1VCU0NSSVBUSU9OX1RZUEUsXG4gICAgICAgIEFMTF9FVkVOVF9TVUJTQ1JJUFRJT05fVkVSU0lPTlMsXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAvLyBJZ25vcmUgaWYgYWxyZWFkeSByZWdpc3RlcmVkXG4gICAgfVxuICB9KTtcblxuICBkZXNjcmliZShcIkNvbnN0cnVjdG9yIGFuZCBCYXNpYyBQcm9wZXJ0aWVzXCIsICgpID0+IHtcbiAgICBpdChcInNob3VsZCBjcmVhdGUgZXZlbnQgc3Vic2NyaXB0aW9uIHdpdGggYXV0b21hdGljIGxhdGVzdCB2ZXJzaW9uIHJlc29sdXRpb25cIiwgKCkgPT4ge1xuICAgICAgY29uc3QgcHJvcHM6IEV2ZW50R3JpZEV2ZW50U3Vic2NyaXB0aW9uUHJvcHMgPSB7XG4gICAgICAgIG5hbWU6IFwidGVzdC1ldmVudC1zdWJzY3JpcHRpb25cIixcbiAgICAgICAgc2NvcGUsXG4gICAgICAgIGRlc3RpbmF0aW9uLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgZXZlbnRTdWJzY3JpcHRpb24gPSBuZXcgRXZlbnRHcmlkRXZlbnRTdWJzY3JpcHRpb24oXG4gICAgICAgIHN0YWNrLFxuICAgICAgICBcIlRlc3RFdmVudFN1YnNjcmlwdGlvblwiLFxuICAgICAgICBwcm9wcyxcbiAgICAgICk7XG5cbiAgICAgIGV4cGVjdChldmVudFN1YnNjcmlwdGlvbikudG9CZUluc3RhbmNlT2YoRXZlbnRHcmlkRXZlbnRTdWJzY3JpcHRpb24pO1xuICAgICAgZXhwZWN0KGV2ZW50U3Vic2NyaXB0aW9uLnJlc29sdmVkQXBpVmVyc2lvbikudG9CZShcIjIwMjUtMDItMTVcIik7XG4gICAgICBleHBlY3QoZXZlbnRTdWJzY3JpcHRpb24ucHJvcHMpLnRvQmUocHJvcHMpO1xuICAgICAgZXhwZWN0KGV2ZW50U3Vic2NyaXB0aW9uLm5hbWUpLnRvQmUoXCJ0ZXN0LWV2ZW50LXN1YnNjcmlwdGlvblwiKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIGNyZWF0ZSBldmVudCBzdWJzY3JpcHRpb24gd2l0aCBleHBsaWNpdCB2ZXJzaW9uIHBpbm5pbmdcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgcHJvcHM6IEV2ZW50R3JpZEV2ZW50U3Vic2NyaXB0aW9uUHJvcHMgPSB7XG4gICAgICAgIG5hbWU6IFwidGVzdC1ldmVudC1zdWJzY3JpcHRpb24tcGlubmVkXCIsXG4gICAgICAgIHNjb3BlLFxuICAgICAgICBkZXN0aW5hdGlvbixcbiAgICAgICAgYXBpVmVyc2lvbjogXCIyMDI1LTAyLTE1XCIsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBldmVudFN1YnNjcmlwdGlvbiA9IG5ldyBFdmVudEdyaWRFdmVudFN1YnNjcmlwdGlvbihcbiAgICAgICAgc3RhY2ssXG4gICAgICAgIFwiUGlubmVkRXZlbnRTdWJzY3JpcHRpb25cIixcbiAgICAgICAgcHJvcHMsXG4gICAgICApO1xuXG4gICAgICBleHBlY3QoZXZlbnRTdWJzY3JpcHRpb24ucmVzb2x2ZWRBcGlWZXJzaW9uKS50b0JlKFwiMjAyNS0wMi0xNVwiKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIGNyZWF0ZSBldmVudCBzdWJzY3JpcHRpb24gd2l0aCBvcHRpb25hbCBmaWx0ZXIgYW5kIGRlbGl2ZXJ5IHByb3BlcnRpZXNcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgcHJvcHM6IEV2ZW50R3JpZEV2ZW50U3Vic2NyaXB0aW9uUHJvcHMgPSB7XG4gICAgICAgIG5hbWU6IFwidGVzdC1ldmVudC1zdWJzY3JpcHRpb24tZnVsbFwiLFxuICAgICAgICBzY29wZSxcbiAgICAgICAgZGVzdGluYXRpb24sXG4gICAgICAgIGZpbHRlcjoge1xuICAgICAgICAgIHN1YmplY3RCZWdpbnNXaXRoOiBcIi9ibG9iU2VydmljZXMvZGVmYXVsdC9jb250YWluZXJzL2ltYWdlcy9cIixcbiAgICAgICAgICBzdWJqZWN0RW5kc1dpdGg6IFwiLmpwZ1wiLFxuICAgICAgICAgIGluY2x1ZGVkRXZlbnRUeXBlczogW1wiTWljcm9zb2Z0LlN0b3JhZ2UuQmxvYkNyZWF0ZWRcIl0sXG4gICAgICAgICAgaXNTdWJqZWN0Q2FzZVNlbnNpdGl2ZTogZmFsc2UsXG4gICAgICAgICAgYWR2YW5jZWRGaWx0ZXJzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG9wZXJhdG9yVHlwZTogXCJOdW1iZXJHcmVhdGVyVGhhblwiLFxuICAgICAgICAgICAgICBrZXk6IFwiZGF0YS5jb250ZW50TGVuZ3RoXCIsXG4gICAgICAgICAgICAgIHZhbHVlOiAwLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICByZXRyeVBvbGljeToge1xuICAgICAgICAgIG1heERlbGl2ZXJ5QXR0ZW1wdHM6IDEwLFxuICAgICAgICAgIGV2ZW50VGltZVRvTGl2ZUluTWludXRlczogMTQ0MCxcbiAgICAgICAgfSxcbiAgICAgICAgZGVhZExldHRlckRlc3RpbmF0aW9uOiB7XG4gICAgICAgICAgZW5kcG9pbnRUeXBlOiBcIlN0b3JhZ2VCbG9iXCIsXG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgcmVzb3VyY2VJZDpcbiAgICAgICAgICAgICAgXCIvc3Vic2NyaXB0aW9ucy90ZXN0LXN1Yi9yZXNvdXJjZUdyb3Vwcy90ZXN0LXJnL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZS9zdG9yYWdlQWNjb3VudHMvdGVzdGRlYWRsZXR0ZXJcIixcbiAgICAgICAgICAgIGJsb2JDb250YWluZXJOYW1lOiBcImRlYWRsZXR0ZXJzXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgbGFiZWxzOiBbXCJwcm9kdWN0aW9uXCIsIFwiaW1hZ2VzXCJdLFxuICAgICAgICBleHBpcmF0aW9uVGltZVV0YzogXCIyMDI2LTAxLTAxVDAwOjAwOjAwWlwiLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgZXZlbnRTdWJzY3JpcHRpb24gPSBuZXcgRXZlbnRHcmlkRXZlbnRTdWJzY3JpcHRpb24oXG4gICAgICAgIHN0YWNrLFxuICAgICAgICBcIkZ1bGxFdmVudFN1YnNjcmlwdGlvblwiLFxuICAgICAgICBwcm9wcyxcbiAgICAgICk7XG5cbiAgICAgIGV4cGVjdChldmVudFN1YnNjcmlwdGlvbi5wcm9wcy5maWx0ZXIpLnRvRXF1YWwocHJvcHMuZmlsdGVyKTtcbiAgICAgIGV4cGVjdChldmVudFN1YnNjcmlwdGlvbi5wcm9wcy5yZXRyeVBvbGljeSkudG9FcXVhbChwcm9wcy5yZXRyeVBvbGljeSk7XG4gICAgICBleHBlY3QoZXZlbnRTdWJzY3JpcHRpb24ucHJvcHMuZGVhZExldHRlckRlc3RpbmF0aW9uKS50b0VxdWFsKFxuICAgICAgICBwcm9wcy5kZWFkTGV0dGVyRGVzdGluYXRpb24sXG4gICAgICApO1xuICAgICAgZXhwZWN0KGV2ZW50U3Vic2NyaXB0aW9uLnByb3BzLmxhYmVscykudG9FcXVhbChwcm9wcy5sYWJlbHMpO1xuICAgICAgZXhwZWN0KGV2ZW50U3Vic2NyaXB0aW9uLnByb3BzLmV4cGlyYXRpb25UaW1lVXRjKS50b0JlKFxuICAgICAgICBwcm9wcy5leHBpcmF0aW9uVGltZVV0YyxcbiAgICAgICk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKFwiRnJhbWV3b3JrIEludGVncmF0aW9uXCIsICgpID0+IHtcbiAgICBpdChcInNob3VsZCByZXNvbHZlIGxhdGVzdCBBUEkgdmVyc2lvbiBhdXRvbWF0aWNhbGx5XCIsICgpID0+IHtcbiAgICAgIGNvbnN0IGV2ZW50U3Vic2NyaXB0aW9uID0gbmV3IEV2ZW50R3JpZEV2ZW50U3Vic2NyaXB0aW9uKFxuICAgICAgICBzdGFjayxcbiAgICAgICAgXCJUZXN0RXZlbnRTdWJzY3JpcHRpb25cIixcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwidGVzdC1ldmVudC1zdWJzY3JpcHRpb25cIixcbiAgICAgICAgICBzY29wZSxcbiAgICAgICAgICBkZXN0aW5hdGlvbixcbiAgICAgICAgfSxcbiAgICAgICk7XG5cbiAgICAgIGV4cGVjdChldmVudFN1YnNjcmlwdGlvbi5yZXNvbHZlZEFwaVZlcnNpb24pLnRvQmUoXCIyMDI1LTAyLTE1XCIpO1xuICAgICAgZXhwZWN0KGV2ZW50U3Vic2NyaXB0aW9uLmxhdGVzdFZlcnNpb24oKSkudG9CZShcIjIwMjUtMDItMTVcIik7XG4gICAgfSk7XG5cbiAgICBpdChcInNob3VsZCBwcm92aWRlIHN1cHBvcnRlZCB2ZXJzaW9uc1wiLCAoKSA9PiB7XG4gICAgICBjb25zdCBldmVudFN1YnNjcmlwdGlvbiA9IG5ldyBFdmVudEdyaWRFdmVudFN1YnNjcmlwdGlvbihcbiAgICAgICAgc3RhY2ssXG4gICAgICAgIFwiVGVzdEV2ZW50U3Vic2NyaXB0aW9uXCIsXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcInRlc3QtZXZlbnQtc3Vic2NyaXB0aW9uXCIsXG4gICAgICAgICAgc2NvcGUsXG4gICAgICAgICAgZGVzdGluYXRpb24sXG4gICAgICAgIH0sXG4gICAgICApO1xuXG4gICAgICBleHBlY3QoZXZlbnRTdWJzY3JpcHRpb24uc3VwcG9ydGVkVmVyc2lvbnMoKSkudG9FcXVhbChbXCIyMDI1LTAyLTE1XCJdKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIHZhbGlkYXRlIHZlcnNpb24gc3VwcG9ydFwiLCAoKSA9PiB7XG4gICAgICBleHBlY3QoKCkgPT4ge1xuICAgICAgICBuZXcgRXZlbnRHcmlkRXZlbnRTdWJzY3JpcHRpb24oc3RhY2ssIFwiVmFsaWRWZXJzaW9uXCIsIHtcbiAgICAgICAgICBuYW1lOiBcInRlc3QtZXZlbnQtc3Vic2NyaXB0aW9uXCIsXG4gICAgICAgICAgc2NvcGUsXG4gICAgICAgICAgZGVzdGluYXRpb24sXG4gICAgICAgICAgYXBpVmVyc2lvbjogXCIyMDI1LTAyLTE1XCIsXG4gICAgICAgIH0pO1xuICAgICAgfSkubm90LnRvVGhyb3coKTtcblxuICAgICAgZXhwZWN0KCgpID0+IHtcbiAgICAgICAgbmV3IEV2ZW50R3JpZEV2ZW50U3Vic2NyaXB0aW9uKHN0YWNrLCBcIkludmFsaWRWZXJzaW9uXCIsIHtcbiAgICAgICAgICBuYW1lOiBcInRlc3QtZXZlbnQtc3Vic2NyaXB0aW9uXCIsXG4gICAgICAgICAgc2NvcGUsXG4gICAgICAgICAgZGVzdGluYXRpb24sXG4gICAgICAgICAgYXBpVmVyc2lvbjogXCIyMDI2LTAxLTAxXCIsXG4gICAgICAgIH0pO1xuICAgICAgfSkudG9UaHJvdyhcIlVuc3VwcG9ydGVkIEFQSSB2ZXJzaW9uICcyMDI2LTAxLTAxJ1wiKTtcbiAgICB9KTtcblxuICAgIGl0KFwic2hvdWxkIGxvYWQgY29ycmVjdCBzY2hlbWEgZm9yIHJlc29sdmVkIHZlcnNpb25cIiwgKCkgPT4ge1xuICAgICAgY29uc3QgZXZlbnRTdWJzY3JpcHRpb24gPSBuZXcgRXZlbnRHcmlkRXZlbnRTdWJzY3JpcHRpb24oXG4gICAgICAgIHN0YWNrLFxuICAgICAgICBcIlRlc3RFdmVudFN1YnNjcmlwdGlvblwiLFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJ0ZXN0LWV2ZW50LXN1YnNjcmlwdGlvblwiLFxuICAgICAgICAgIHNjb3BlLFxuICAgICAgICAgIGRlc3RpbmF0aW9uLFxuICAgICAgICB9LFxuICAgICAgKTtcblxuICAgICAgZXhwZWN0KGV2ZW50U3Vic2NyaXB0aW9uLnNjaGVtYSkudG9CZURlZmluZWQoKTtcbiAgICAgIGV4cGVjdChldmVudFN1YnNjcmlwdGlvbi5zY2hlbWEucmVzb3VyY2VUeXBlKS50b0JlKFxuICAgICAgICBFVkVOVF9TVUJTQ1JJUFRJT05fVFlQRSxcbiAgICAgICk7XG4gICAgICBleHBlY3QoZXZlbnRTdWJzY3JpcHRpb24uc2NoZW1hLnZlcnNpb24pLnRvQmUoXCIyMDI1LTAyLTE1XCIpO1xuICAgICAgZXhwZWN0KGV2ZW50U3Vic2NyaXB0aW9uLnNjaGVtYS5wcm9wZXJ0aWVzKS50b0JlRGVmaW5lZCgpO1xuICAgIH0pO1xuXG4gICAgaXQoXCJzaG91bGQgbG9hZCB2ZXJzaW9uIGNvbmZpZ3VyYXRpb24gY29ycmVjdGx5XCIsICgpID0+IHtcbiAgICAgIGNvbnN0IGV2ZW50U3Vic2NyaXB0aW9uID0gbmV3IEV2ZW50R3JpZEV2ZW50U3Vic2NyaXB0aW9uKFxuICAgICAgICBzdGFjayxcbiAgICAgICAgXCJUZXN0RXZlbnRTdWJzY3JpcHRpb25cIixcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwidGVzdC1ldmVudC1zdWJzY3JpcHRpb25cIixcbiAgICAgICAgICBzY29wZSxcbiAgICAgICAgICBkZXN0aW5hdGlvbixcbiAgICAgICAgfSxcbiAgICAgICk7XG5cbiAgICAgIGV4cGVjdChldmVudFN1YnNjcmlwdGlvbi52ZXJzaW9uQ29uZmlnKS50b0JlRGVmaW5lZCgpO1xuICAgICAgZXhwZWN0KGV2ZW50U3Vic2NyaXB0aW9uLnZlcnNpb25Db25maWcudmVyc2lvbikudG9CZShcIjIwMjUtMDItMTVcIik7XG4gICAgICBleHBlY3QoZXZlbnRTdWJzY3JpcHRpb24udmVyc2lvbkNvbmZpZy5zdXBwb3J0TGV2ZWwpLnRvQmUoXG4gICAgICAgIFZlcnNpb25TdXBwb3J0TGV2ZWwuQUNUSVZFLFxuICAgICAgKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoXCJQcm9wZXJ0eSBWYWxpZGF0aW9uXCIsICgpID0+IHtcbiAgICBpdChcInNob3VsZCB2YWxpZGF0ZSBwcm9wZXJ0aWVzIHdoZW4gdmFsaWRhdGlvbiBpcyBlbmFibGVkXCIsICgpID0+IHtcbiAgICAgIGV4cGVjdCgoKSA9PiB7XG4gICAgICAgIG5ldyBFdmVudEdyaWRFdmVudFN1YnNjcmlwdGlvbihzdGFjaywgXCJWYWxpZGF0ZWRFdmVudFN1YnNjcmlwdGlvblwiLCB7XG4gICAgICAgICAgbmFtZTogXCJ2YWxpZGF0ZWQtZXZlbnQtc3Vic2NyaXB0aW9uXCIsXG4gICAgICAgICAgc2NvcGUsXG4gICAgICAgICAgZGVzdGluYXRpb24sXG4gICAgICAgICAgZW5hYmxlVmFsaWRhdGlvbjogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICB9KS5ub3QudG9UaHJvdygpO1xuICAgIH0pO1xuXG4gICAgaXQoXCJzaG91bGQgaGF2ZSB2YWxpZGF0aW9uIHJlc3VsdHMgZm9yIHZhbGlkIHByb3BlcnRpZXNcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgZXZlbnRTdWJzY3JpcHRpb24gPSBuZXcgRXZlbnRHcmlkRXZlbnRTdWJzY3JpcHRpb24oXG4gICAgICAgIHN0YWNrLFxuICAgICAgICBcIlZhbGlkYXRlZEV2ZW50U3Vic2NyaXB0aW9uXCIsXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcInZhbGlkYXRlZC1ldmVudC1zdWJzY3JpcHRpb25cIixcbiAgICAgICAgICBzY29wZSxcbiAgICAgICAgICBkZXN0aW5hdGlvbixcbiAgICAgICAgICBlbmFibGVWYWxpZGF0aW9uOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgKTtcblxuICAgICAgZXhwZWN0KGV2ZW50U3Vic2NyaXB0aW9uLnZhbGlkYXRpb25SZXN1bHQpLnRvQmVEZWZpbmVkKCk7XG4gICAgICBleHBlY3QoZXZlbnRTdWJzY3JpcHRpb24udmFsaWRhdGlvblJlc3VsdCEudmFsaWQpLnRvQmUodHJ1ZSk7XG4gICAgICBleHBlY3QoZXZlbnRTdWJzY3JpcHRpb24udmFsaWRhdGlvblJlc3VsdCEuZXJyb3JzKS50b0hhdmVMZW5ndGgoMCk7XG4gICAgfSk7XG5cbiAgICBpdChcInNob3VsZCBjcmVhdGUgVGVycmFmb3JtIG91dHB1dHNcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgZXZlbnRTdWJzY3JpcHRpb24gPSBuZXcgRXZlbnRHcmlkRXZlbnRTdWJzY3JpcHRpb24oXG4gICAgICAgIHN0YWNrLFxuICAgICAgICBcIk91dHB1dHNFdmVudFN1YnNjcmlwdGlvblwiLFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJvdXRwdXRzLWV2ZW50LXN1YnNjcmlwdGlvblwiLFxuICAgICAgICAgIHNjb3BlLFxuICAgICAgICAgIGRlc3RpbmF0aW9uLFxuICAgICAgICB9LFxuICAgICAgKTtcblxuICAgICAgZXhwZWN0KGV2ZW50U3Vic2NyaXB0aW9uLmlkT3V0cHV0KS50b0JlSW5zdGFuY2VPZihjZGt0bi5UZXJyYWZvcm1PdXRwdXQpO1xuICAgICAgZXhwZWN0KGV2ZW50U3Vic2NyaXB0aW9uLm5hbWVPdXRwdXQpLnRvQmVJbnN0YW5jZU9mKFxuICAgICAgICBjZGt0bi5UZXJyYWZvcm1PdXRwdXQsXG4gICAgICApO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZShcIlBhcmVudC1DaGlsZCBSZXNvdXJjZSBSZWxhdGlvbnNoaXBcIiwgKCkgPT4ge1xuICAgIGl0KFwic2hvdWxkIHVzZSBzY29wZSBhcyBwYXJlbnQgSURcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgZXZlbnRTdWJzY3JpcHRpb24gPSBuZXcgRXZlbnRHcmlkRXZlbnRTdWJzY3JpcHRpb24oXG4gICAgICAgIHN0YWNrLFxuICAgICAgICBcIlBhcmVudEV2ZW50U3Vic2NyaXB0aW9uXCIsXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcInBhcmVudC1ldmVudC1zdWJzY3JpcHRpb25cIixcbiAgICAgICAgICBzY29wZSxcbiAgICAgICAgICBkZXN0aW5hdGlvbixcbiAgICAgICAgfSxcbiAgICAgICk7XG5cbiAgICAgIGV4cGVjdChldmVudFN1YnNjcmlwdGlvbi5wcm9wcy5zY29wZSkudG9CZShzY29wZSk7XG4gICAgfSk7XG5cbiAgICBpdChcInNob3VsZCBzeW50aGVzaXplIGFzIGEgY2hpbGQgcmVzb3VyY2Ugd2l0aG91dCBsb2NhdGlvblwiLCAoKSA9PiB7XG4gICAgICBuZXcgRXZlbnRHcmlkRXZlbnRTdWJzY3JpcHRpb24oc3RhY2ssIFwiU3ludGhFdmVudFN1YnNjcmlwdGlvblwiLCB7XG4gICAgICAgIG5hbWU6IFwic3ludGgtZXZlbnQtc3Vic2NyaXB0aW9uXCIsXG4gICAgICAgIHNjb3BlLFxuICAgICAgICBkZXN0aW5hdGlvbixcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBzeW50aGVzaXplZCA9IFRlc3Rpbmcuc3ludGgoc3RhY2spO1xuICAgICAgZXhwZWN0KHN5bnRoZXNpemVkKS50b0NvbnRhaW4oXCJldmVudFN1YnNjcmlwdGlvbnNcIik7XG4gICAgICBleHBlY3Qoc3ludGhlc2l6ZWQpLnRvQ29udGFpbihzY29wZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKFwiVmVyc2lvbiBDb21wYXRpYmlsaXR5XCIsICgpID0+IHtcbiAgICBpdChcInNob3VsZCB3b3JrIHdpdGggYWxsIHN1cHBvcnRlZCBBUEkgdmVyc2lvbnNcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgdmVyc2lvbnMgPSBbXCIyMDI1LTAyLTE1XCJdO1xuXG4gICAgICB2ZXJzaW9ucy5mb3JFYWNoKCh2ZXJzaW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IGV2ZW50U3Vic2NyaXB0aW9uID0gbmV3IEV2ZW50R3JpZEV2ZW50U3Vic2NyaXB0aW9uKFxuICAgICAgICAgIHN0YWNrLFxuICAgICAgICAgIGBFdmVudFN1YnNjcmlwdGlvbi0ke3ZlcnNpb24ucmVwbGFjZSgvLS9nLCBcIlwiKX1gLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IGB0ZXN0LWV2ZW50LXN1YnNjcmlwdGlvbi0ke3ZlcnNpb259YCxcbiAgICAgICAgICAgIHNjb3BlLFxuICAgICAgICAgICAgZGVzdGluYXRpb24sXG4gICAgICAgICAgICBhcGlWZXJzaW9uOiB2ZXJzaW9uLFxuICAgICAgICAgIH0sXG4gICAgICAgICk7XG5cbiAgICAgICAgZXhwZWN0KGV2ZW50U3Vic2NyaXB0aW9uLnJlc29sdmVkQXBpVmVyc2lvbikudG9CZSh2ZXJzaW9uKTtcbiAgICAgICAgZXhwZWN0KGV2ZW50U3Vic2NyaXB0aW9uLnNjaGVtYS52ZXJzaW9uKS50b0JlKHZlcnNpb24pO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdChcInNob3VsZCBleHBvc2UgZXhwZWN0ZWQgc2NoZW1hIHByb3BlcnRpZXNcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgZXZlbnRTdWJzY3JpcHRpb24gPSBuZXcgRXZlbnRHcmlkRXZlbnRTdWJzY3JpcHRpb24oXG4gICAgICAgIHN0YWNrLFxuICAgICAgICBcIlNjaGVtYUV2ZW50U3Vic2NyaXB0aW9uXCIsXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcInNjaGVtYS1ldmVudC1zdWJzY3JpcHRpb25cIixcbiAgICAgICAgICBzY29wZSxcbiAgICAgICAgICBkZXN0aW5hdGlvbixcbiAgICAgICAgfSxcbiAgICAgICk7XG5cbiAgICAgIGV4cGVjdChldmVudFN1YnNjcmlwdGlvbi5zY2hlbWEucHJvcGVydGllcy5uYW1lKS50b0JlRGVmaW5lZCgpO1xuICAgICAgZXhwZWN0KGV2ZW50U3Vic2NyaXB0aW9uLnNjaGVtYS5wcm9wZXJ0aWVzLmRlc3RpbmF0aW9uKS50b0JlRGVmaW5lZCgpO1xuICAgICAgZXhwZWN0KGV2ZW50U3Vic2NyaXB0aW9uLnNjaGVtYS5wcm9wZXJ0aWVzLmZpbHRlcikudG9CZURlZmluZWQoKTtcbiAgICAgIGV4cGVjdChldmVudFN1YnNjcmlwdGlvbi5zY2hlbWEucHJvcGVydGllcy5yZXRyeVBvbGljeSkudG9CZURlZmluZWQoKTtcbiAgICAgIGV4cGVjdChldmVudFN1YnNjcmlwdGlvbi5zY2hlbWEucHJvcGVydGllcy5sYWJlbHMpLnRvQmVEZWZpbmVkKCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKFwiUHVibGljIE1ldGhvZHMgYW5kIFByb3BlcnRpZXNcIiwgKCkgPT4ge1xuICAgIGl0KFwic2hvdWxkIGhhdmUgcmVzb3VyY2VJZCBwcm9wZXJ0eSBtYXRjaGluZyBpZFwiLCAoKSA9PiB7XG4gICAgICBjb25zdCBldmVudFN1YnNjcmlwdGlvbiA9IG5ldyBFdmVudEdyaWRFdmVudFN1YnNjcmlwdGlvbihcbiAgICAgICAgc3RhY2ssXG4gICAgICAgIFwiUmVzb3VyY2VJZEV2ZW50U3Vic2NyaXB0aW9uXCIsXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcInJlc291cmNlLWlkLWV2ZW50LXN1YnNjcmlwdGlvblwiLFxuICAgICAgICAgIHNjb3BlLFxuICAgICAgICAgIGRlc3RpbmF0aW9uLFxuICAgICAgICB9LFxuICAgICAgKTtcblxuICAgICAgZXhwZWN0KGV2ZW50U3Vic2NyaXB0aW9uLnJlc291cmNlSWQpLnRvQmUoZXZlbnRTdWJzY3JpcHRpb24uaWQpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./lib";
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./lib"), exports);
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXp1cmUtZXZlbnRncmlkc3lzdGVtdG9waWMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdDQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2xpYlwiO1xuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ApiSchema, VersionConfig } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
|
|
2
|
+
export declare const SYSTEM_TOPIC_SCHEMA_2025_02_15: ApiSchema;
|
|
3
|
+
export declare const SYSTEM_TOPIC_VERSION_2025_02_15: VersionConfig;
|
|
4
|
+
export declare const ALL_SYSTEM_TOPIC_VERSIONS: VersionConfig[];
|
|
5
|
+
export declare const SYSTEM_TOPIC_TYPE = "Microsoft.EventGrid/systemTopics";
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SYSTEM_TOPIC_TYPE = exports.ALL_SYSTEM_TOPIC_VERSIONS = exports.SYSTEM_TOPIC_VERSION_2025_02_15 = exports.SYSTEM_TOPIC_SCHEMA_2025_02_15 = void 0;
|
|
4
|
+
const version_interfaces_1 = require("../../core-azure/lib/version-manager/interfaces/version-interfaces");
|
|
5
|
+
const COMMON_PROPERTIES = {
|
|
6
|
+
location: {
|
|
7
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
8
|
+
required: true,
|
|
9
|
+
description: "The Azure region where the Event Grid System Topic will be created",
|
|
10
|
+
validation: [
|
|
11
|
+
{
|
|
12
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
13
|
+
message: "Location is required for Event Grid System Topics",
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
|
|
17
|
+
value: "^[a-z0-9]+$",
|
|
18
|
+
message: "Location must contain only lowercase letters and numbers",
|
|
19
|
+
},
|
|
20
|
+
],
|
|
21
|
+
},
|
|
22
|
+
tags: {
|
|
23
|
+
dataType: version_interfaces_1.PropertyType.OBJECT,
|
|
24
|
+
required: false,
|
|
25
|
+
defaultValue: {},
|
|
26
|
+
description: "A dictionary of tags to apply to the Event Grid System Topic",
|
|
27
|
+
validation: [
|
|
28
|
+
{
|
|
29
|
+
ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
|
|
30
|
+
value: version_interfaces_1.PropertyType.OBJECT,
|
|
31
|
+
message: "Tags must be an object with string key-value pairs",
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
},
|
|
35
|
+
name: {
|
|
36
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
37
|
+
required: true,
|
|
38
|
+
description: "The name of the Event Grid System Topic",
|
|
39
|
+
validation: [
|
|
40
|
+
{
|
|
41
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
42
|
+
message: "Name is required for Event Grid System Topics",
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
ruleType: version_interfaces_1.ValidationRuleType.VALUE_RANGE,
|
|
46
|
+
value: { minLength: 1, maxLength: 64 },
|
|
47
|
+
message: "Name must be between 1 and 64 characters",
|
|
48
|
+
},
|
|
49
|
+
],
|
|
50
|
+
},
|
|
51
|
+
source: {
|
|
52
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
53
|
+
required: true,
|
|
54
|
+
description: "The source Azure resource ID for the system topic",
|
|
55
|
+
validation: [
|
|
56
|
+
{
|
|
57
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
58
|
+
message: "Source is required for Event Grid System Topics",
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
|
|
62
|
+
value: version_interfaces_1.PropertyType.STRING,
|
|
63
|
+
message: "Source must be a string containing a resource ID",
|
|
64
|
+
},
|
|
65
|
+
],
|
|
66
|
+
},
|
|
67
|
+
topicType: {
|
|
68
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
69
|
+
required: true,
|
|
70
|
+
description: "The type of the source resource",
|
|
71
|
+
validation: [
|
|
72
|
+
{
|
|
73
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
74
|
+
message: "Topic type is required for Event Grid System Topics",
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
|
|
78
|
+
value: version_interfaces_1.PropertyType.STRING,
|
|
79
|
+
message: "Topic type must be a string",
|
|
80
|
+
},
|
|
81
|
+
],
|
|
82
|
+
},
|
|
83
|
+
identity: {
|
|
84
|
+
dataType: version_interfaces_1.PropertyType.OBJECT,
|
|
85
|
+
required: false,
|
|
86
|
+
description: "Managed identity configuration for the Event Grid System Topic",
|
|
87
|
+
},
|
|
88
|
+
resourceGroupId: {
|
|
89
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
90
|
+
required: false,
|
|
91
|
+
description: "The resource group ID where the Event Grid System Topic is created",
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
exports.SYSTEM_TOPIC_SCHEMA_2025_02_15 = {
|
|
95
|
+
resourceType: "Microsoft.EventGrid/systemTopics",
|
|
96
|
+
version: "2025-02-15",
|
|
97
|
+
properties: {
|
|
98
|
+
...COMMON_PROPERTIES,
|
|
99
|
+
},
|
|
100
|
+
required: ["location", "name", "source", "topicType"],
|
|
101
|
+
optional: ["tags", "identity", "resourceGroupId"],
|
|
102
|
+
deprecated: [],
|
|
103
|
+
transformationRules: {},
|
|
104
|
+
validationRules: [
|
|
105
|
+
{
|
|
106
|
+
property: "location",
|
|
107
|
+
rules: [
|
|
108
|
+
{
|
|
109
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
110
|
+
message: "Location is required for Event Grid System Topics",
|
|
111
|
+
},
|
|
112
|
+
],
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
property: "name",
|
|
116
|
+
rules: [
|
|
117
|
+
{
|
|
118
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
119
|
+
message: "Name is required for Event Grid System Topics",
|
|
120
|
+
},
|
|
121
|
+
],
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
property: "source",
|
|
125
|
+
rules: [
|
|
126
|
+
{
|
|
127
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
128
|
+
message: "Source is required for Event Grid System Topics",
|
|
129
|
+
},
|
|
130
|
+
],
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
property: "topicType",
|
|
134
|
+
rules: [
|
|
135
|
+
{
|
|
136
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
137
|
+
message: "Topic type is required for Event Grid System Topics",
|
|
138
|
+
},
|
|
139
|
+
],
|
|
140
|
+
},
|
|
141
|
+
],
|
|
142
|
+
};
|
|
143
|
+
exports.SYSTEM_TOPIC_VERSION_2025_02_15 = {
|
|
144
|
+
version: "2025-02-15",
|
|
145
|
+
schema: exports.SYSTEM_TOPIC_SCHEMA_2025_02_15,
|
|
146
|
+
supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
|
|
147
|
+
releaseDate: "2025-02-15",
|
|
148
|
+
deprecationDate: undefined,
|
|
149
|
+
sunsetDate: undefined,
|
|
150
|
+
breakingChanges: [],
|
|
151
|
+
migrationGuide: "/docs/event-grid-system-topic/migration-2025-02-15",
|
|
152
|
+
changeLog: [
|
|
153
|
+
{
|
|
154
|
+
changeType: "added",
|
|
155
|
+
description: "Initial stable release of Event Grid System Topic support",
|
|
156
|
+
breaking: false,
|
|
157
|
+
},
|
|
158
|
+
],
|
|
159
|
+
};
|
|
160
|
+
exports.ALL_SYSTEM_TOPIC_VERSIONS = [
|
|
161
|
+
exports.SYSTEM_TOPIC_VERSION_2025_02_15,
|
|
162
|
+
];
|
|
163
|
+
exports.SYSTEM_TOPIC_TYPE = "Microsoft.EventGrid/systemTopics";
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtZ3JpZC1zeXN0ZW0tdG9waWMtc2NoZW1hcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS1ldmVudGdyaWRzeXN0ZW10b3BpYy9saWIvZXZlbnQtZ3JpZC1zeXN0ZW0tdG9waWMtc2NoZW1hcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyR0FPNEU7QUFFNUUsTUFBTSxpQkFBaUIsR0FBMEM7SUFDL0QsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsSUFBSTtRQUNkLFdBQVcsRUFDVCxvRUFBb0U7UUFDdEUsVUFBVSxFQUFFO1lBQ1Y7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFFBQVE7Z0JBQ3JDLE9BQU8sRUFBRSxtREFBbUQ7YUFDN0Q7WUFDRDtnQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsYUFBYTtnQkFDMUMsS0FBSyxFQUFFLGFBQWE7Z0JBQ3BCLE9BQU8sRUFBRSwwREFBMEQ7YUFDcEU7U0FDRjtLQUNGO0lBQ0QsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsS0FBSztRQUNmLFlBQVksRUFBRSxFQUFFO1FBQ2hCLFdBQVcsRUFBRSw4REFBOEQ7UUFDM0UsVUFBVSxFQUFFO1lBQ1Y7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFVBQVU7Z0JBQ3ZDLEtBQUssRUFBRSxpQ0FBWSxDQUFDLE1BQU07Z0JBQzFCLE9BQU8sRUFBRSxvREFBb0Q7YUFDOUQ7U0FDRjtLQUNGO0lBQ0QsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsSUFBSTtRQUNkLFdBQVcsRUFBRSx5Q0FBeUM7UUFDdEQsVUFBVSxFQUFFO1lBQ1Y7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFFBQVE7Z0JBQ3JDLE9BQU8sRUFBRSwr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QyxXQUFXLEVBQUUsWUFBWTtJQUN6QixlQUFlLEVBQUUsU0FBUztJQUMxQixVQUFVLEVBQUUsU0FBUztJQUNyQixlQUFlLEVBQUUsRUFBRTtJQUNuQixjQUFjLEVBQUUsb0RBQW9EO0lBQ3BFLFNBQVMsRUFBRTtRQUNUO1lBQ0UsVUFBVSxFQUFFLE9BQU87WUFDbkIsV0FBVyxFQUFFLDJEQUEyRDtZQUN4RSxRQUFRLEVBQUUsS0FBSztTQUNoQjtLQUNGO0NBQ0YsQ0FBQztBQUVXLFFBQUEseUJBQXlCLEdBQW9CO0lBQ3hELHVDQUErQjtDQUNoQyxDQUFDO0FBRVcsUUFBQSxpQkFBaUIsR0FBRyxrQ0FBa0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFwaVNjaGVtYSxcbiAgUHJvcGVydHlEZWZpbml0aW9uLFxuICBQcm9wZXJ0eVR5cGUsXG4gIFZhbGlkYXRpb25SdWxlVHlwZSxcbiAgVmVyc2lvbkNvbmZpZyxcbiAgVmVyc2lvblN1cHBvcnRMZXZlbCxcbn0gZnJvbSBcIi4uLy4uL2NvcmUtYXp1cmUvbGliL3ZlcnNpb24tbWFuYWdlci9pbnRlcmZhY2VzL3ZlcnNpb24taW50ZXJmYWNlc1wiO1xuXG5jb25zdCBDT01NT05fUFJPUEVSVElFUzogeyBba2V5OiBzdHJpbmddOiBQcm9wZXJ0eURlZmluaXRpb24gfSA9IHtcbiAgbG9jYXRpb246IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiVGhlIEF6dXJlIHJlZ2lvbiB3aGVyZSB0aGUgRXZlbnQgR3JpZCBTeXN0ZW0gVG9waWMgd2lsbCBiZSBjcmVhdGVkXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICBtZXNzYWdlOiBcIkxvY2F0aW9uIGlzIHJlcXVpcmVkIGZvciBFdmVudCBHcmlkIFN5c3RlbSBUb3BpY3NcIixcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUEFUVEVSTl9NQVRDSCxcbiAgICAgICAgdmFsdWU6IFwiXlthLXowLTldKyRcIixcbiAgICAgICAgbWVzc2FnZTogXCJMb2NhdGlvbiBtdXN0IGNvbnRhaW4gb25seSBsb3dlcmNhc2UgbGV0dGVycyBhbmQgbnVtYmVyc1wiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICB0YWdzOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5PQkpFQ1QsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlZmF1bHRWYWx1ZToge30sXG4gICAgZGVzY3JpcHRpb246IFwiQSBkaWN0aW9uYXJ5IG9mIHRhZ3MgdG8gYXBwbHkgdG8gdGhlIEV2ZW50IEdyaWQgU3lzdGVtIFRvcGljXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlRZUEVfQ0hFQ0ssXG4gICAgICAgIHZhbHVlOiBQcm9wZXJ0eVR5cGUuT0JKRUNULFxuICAgICAgICBtZXNzYWdlOiBcIlRhZ3MgbXVzdCBiZSBhbiBvYmplY3Qgd2l0aCBzdHJpbmcga2V5LXZhbHVlIHBhaXJzXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIG5hbWU6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjogXCJUaGUgbmFtZSBvZiB0aGUgRXZlbnQgR3JpZCBTeXN0ZW0gVG9waWNcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgIG1lc3NhZ2U6IFwiTmFtZSBpcyByZXF1aXJlZCBmb3IgRXZlbnQgR3JpZCBTeXN0ZW0gVG9waWNzXCIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlZBTFVFX1JBTkdFLFxuICAgICAgICB2YWx1ZTogeyBtaW5MZW5ndGg6IDEsIG1heExlbmd0aDogNjQgfSxcbiAgICAgICAgbWVzc2FnZTogXCJOYW1lIG11c3QgYmUgYmV0d2VlbiAxIGFuZCA2NCBjaGFyYWN0ZXJzXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIHNvdXJjZToge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBzb3VyY2UgQXp1cmUgcmVzb3VyY2UgSUQgZm9yIHRoZSBzeXN0ZW0gdG9waWNcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgIG1lc3NhZ2U6IFwiU291cmNlIGlzIHJlcXVpcmVkIGZvciBFdmVudCBHcmlkIFN5c3RlbSBUb3BpY3NcIixcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVFlQRV9DSEVDSyxcbiAgICAgICAgdmFsdWU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgICAgIG1lc3NhZ2U6IFwiU291cmNlIG11c3QgYmUgYSBzdHJpbmcgY29udGFpbmluZyBhIHJlc291cmNlIElEXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIHRvcGljVHlwZToge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIGRlc2NyaXB0aW9uOiBcIlRoZSB0eXBlIG9mIHRoZSBzb3VyY2UgcmVzb3VyY2VcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgIG1lc3NhZ2U6IFwiVG9waWMgdHlwZSBpcyByZXF1aXJlZCBmb3IgRXZlbnQgR3JpZCBTeXN0ZW0gVG9waWNzXCIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlRZUEVfQ0hFQ0ssXG4gICAgICAgIHZhbHVlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgICAgICBtZXNzYWdlOiBcIlRvcGljIHR5cGUgbXVzdCBiZSBhIHN0cmluZ1wiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICBpZGVudGl0eToge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuT0JKRUNULFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiTWFuYWdlZCBpZGVudGl0eSBjb25maWd1cmF0aW9uIGZvciB0aGUgRXZlbnQgR3JpZCBTeXN0ZW0gVG9waWNcIixcbiAgfSxcbiAgcmVzb3VyY2VHcm91cElkOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJUaGUgcmVzb3VyY2UgZ3JvdXAgSUQgd2hlcmUgdGhlIEV2ZW50IEdyaWQgU3lzdGVtIFRvcGljIGlzIGNyZWF0ZWRcIixcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBTWVNURU1fVE9QSUNfU0NIRU1BXzIwMjVfMDJfMTU6IEFwaVNjaGVtYSA9IHtcbiAgcmVzb3VyY2VUeXBlOiBcIk1pY3Jvc29mdC5FdmVudEdyaWQvc3lzdGVtVG9waWNzXCIsXG4gIHZlcnNpb246IFwiMjAyNS0wMi0xNVwiLFxuICBwcm9wZXJ0aWVzOiB7XG4gICAgLi4uQ09NTU9OX1BST1BFUlRJRVMsXG4gIH0sXG4gIHJlcXVpcmVkOiBbXCJsb2NhdGlvblwiLCBcIm5hbWVcIiwgXCJzb3VyY2VcIiwgXCJ0b3BpY1R5cGVcIl0sXG4gIG9wdGlvbmFsOiBbXCJ0YWdzXCIsIFwiaWRlbnRpdHlcIiwgXCJyZXNvdXJjZUdyb3VwSWRcIl0sXG4gIGRlcHJlY2F0ZWQ6IFtdLFxuICB0cmFuc2Zvcm1hdGlvblJ1bGVzOiB7fSxcbiAgdmFsaWRhdGlvblJ1bGVzOiBbXG4gICAge1xuICAgICAgcHJvcGVydHk6IFwibG9jYXRpb25cIixcbiAgICAgIHJ1bGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICAgIG1lc3NhZ2U6IFwiTG9jYXRpb24gaXMgcmVxdWlyZWQgZm9yIEV2ZW50IEdyaWQgU3lzdGVtIFRvcGljc1wiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3BlcnR5OiBcIm5hbWVcIixcbiAgICAgIHJ1bGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICAgIG1lc3NhZ2U6IFwiTmFtZSBpcyByZXF1aXJlZCBmb3IgRXZlbnQgR3JpZCBTeXN0ZW0gVG9waWNzXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvcGVydHk6IFwic291cmNlXCIsXG4gICAgICBydWxlczogW1xuICAgICAgICB7XG4gICAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgICBtZXNzYWdlOiBcIlNvdXJjZSBpcyByZXF1aXJlZCBmb3IgRXZlbnQgR3JpZCBTeXN0ZW0gVG9waWNzXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvcGVydHk6IFwidG9waWNUeXBlXCIsXG4gICAgICBydWxlczogW1xuICAgICAgICB7XG4gICAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgICBtZXNzYWdlOiBcIlRvcGljIHR5cGUgaXMgcmVxdWlyZWQgZm9yIEV2ZW50IEdyaWQgU3lzdGVtIFRvcGljc1wiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICBdLFxufTtcblxuZXhwb3J0IGNvbnN0IFNZU1RFTV9UT1BJQ19WRVJTSU9OXzIwMjVfMDJfMTU6IFZlcnNpb25Db25maWcgPSB7XG4gIHZlcnNpb246IFwiMjAyNS0wMi0xNVwiLFxuICBzY2hlbWE6IFNZU1RFTV9UT1BJQ19TQ0hFTUFfMjAyNV8wMl8xNSxcbiAgc3VwcG9ydExldmVsOiBWZXJzaW9uU3VwcG9ydExldmVsLkFDVElWRSxcbiAgcmVsZWFzZURhdGU6IFwiMjAyNS0wMi0xNVwiLFxuICBkZXByZWNhdGlvbkRhdGU6IHVuZGVmaW5lZCxcbiAgc3Vuc2V0RGF0ZTogdW5kZWZpbmVkLFxuICBicmVha2luZ0NoYW5nZXM6IFtdLFxuICBtaWdyYXRpb25HdWlkZTogXCIvZG9jcy9ldmVudC1ncmlkLXN5c3RlbS10b3BpYy9taWdyYXRpb24tMjAyNS0wMi0xNVwiLFxuICBjaGFuZ2VMb2c6IFtcbiAgICB7XG4gICAgICBjaGFuZ2VUeXBlOiBcImFkZGVkXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJJbml0aWFsIHN0YWJsZSByZWxlYXNlIG9mIEV2ZW50IEdyaWQgU3lzdGVtIFRvcGljIHN1cHBvcnRcIixcbiAgICAgIGJyZWFraW5nOiBmYWxzZSxcbiAgICB9LFxuICBdLFxufTtcblxuZXhwb3J0IGNvbnN0IEFMTF9TWVNURU1fVE9QSUNfVkVSU0lPTlM6IFZlcnNpb25Db25maWdbXSA9IFtcbiAgU1lTVEVNX1RPUElDX1ZFUlNJT05fMjAyNV8wMl8xNSxcbl07XG5cbmV4cG9ydCBjb25zdCBTWVNURU1fVE9QSUNfVFlQRSA9IFwiTWljcm9zb2Z0LkV2ZW50R3JpZC9zeXN0ZW1Ub3BpY3NcIjtcbiJdfQ==
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import * as cdktn from "cdktn";
|
|
2
|
+
import { Construct } from "constructs";
|
|
3
|
+
import { AzapiResource, AzapiResourceProps } from "../../core-azure/lib/azapi/azapi-resource";
|
|
4
|
+
import { ApiSchema } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
|
|
5
|
+
export interface EventGridSystemTopicIdentity {
|
|
6
|
+
readonly type: string;
|
|
7
|
+
readonly userAssignedIdentities?: {
|
|
8
|
+
[key: string]: any;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
export interface EventGridSystemTopicProps extends AzapiResourceProps {
|
|
12
|
+
/** Source Azure resource ID for the system topic */
|
|
13
|
+
readonly source: string;
|
|
14
|
+
/** Topic type (e.g., "Microsoft.Storage.StorageAccounts") */
|
|
15
|
+
readonly topicType: string;
|
|
16
|
+
/** Managed identity configuration */
|
|
17
|
+
readonly identity?: EventGridSystemTopicIdentity;
|
|
18
|
+
/** Resource group ID */
|
|
19
|
+
readonly resourceGroupId?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface EventGridSystemTopicBodyProperties {
|
|
22
|
+
readonly source: string;
|
|
23
|
+
readonly topicType: string;
|
|
24
|
+
}
|
|
25
|
+
export interface EventGridSystemTopicBody {
|
|
26
|
+
readonly location: string;
|
|
27
|
+
readonly tags?: {
|
|
28
|
+
[key: string]: string;
|
|
29
|
+
};
|
|
30
|
+
readonly properties: EventGridSystemTopicBodyProperties;
|
|
31
|
+
readonly identity?: EventGridSystemTopicIdentity;
|
|
32
|
+
}
|
|
33
|
+
export declare class EventGridSystemTopic extends AzapiResource {
|
|
34
|
+
readonly props: EventGridSystemTopicProps;
|
|
35
|
+
readonly idOutput: cdktn.TerraformOutput;
|
|
36
|
+
readonly locationOutput: cdktn.TerraformOutput;
|
|
37
|
+
readonly nameOutput: cdktn.TerraformOutput;
|
|
38
|
+
readonly tagsOutput: cdktn.TerraformOutput;
|
|
39
|
+
constructor(scope: Construct, id: string, props: EventGridSystemTopicProps);
|
|
40
|
+
protected defaultVersion(): string;
|
|
41
|
+
protected resourceType(): string;
|
|
42
|
+
protected apiSchema(): ApiSchema;
|
|
43
|
+
protected requiresLocation(): boolean;
|
|
44
|
+
protected createResourceBody(props: any): any;
|
|
45
|
+
get resourceId(): string;
|
|
46
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.EventGridSystemTopic = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
const cdktn = require("cdktn");
|
|
7
|
+
const event_grid_system_topic_schemas_1 = require("./event-grid-system-topic-schemas");
|
|
8
|
+
const azapi_resource_1 = require("../../core-azure/lib/azapi/azapi-resource");
|
|
9
|
+
class EventGridSystemTopic extends azapi_resource_1.AzapiResource {
|
|
10
|
+
constructor(scope, id, props) {
|
|
11
|
+
super(scope, id, props);
|
|
12
|
+
this.props = props;
|
|
13
|
+
this.idOutput = new cdktn.TerraformOutput(this, "id", {
|
|
14
|
+
value: this.id,
|
|
15
|
+
description: "The ID of the Event Grid System Topic",
|
|
16
|
+
});
|
|
17
|
+
this.locationOutput = new cdktn.TerraformOutput(this, "location", {
|
|
18
|
+
value: `\${${this.terraformResource.fqn}.location}`,
|
|
19
|
+
description: "The location of the Event Grid System Topic",
|
|
20
|
+
});
|
|
21
|
+
this.nameOutput = new cdktn.TerraformOutput(this, "name", {
|
|
22
|
+
value: `\${${this.terraformResource.fqn}.name}`,
|
|
23
|
+
description: "The name of the Event Grid System Topic",
|
|
24
|
+
});
|
|
25
|
+
this.tagsOutput = new cdktn.TerraformOutput(this, "tags", {
|
|
26
|
+
value: `\${${this.terraformResource.fqn}.tags}`,
|
|
27
|
+
description: "The tags assigned to the Event Grid System Topic",
|
|
28
|
+
});
|
|
29
|
+
this.idOutput.overrideLogicalId("id");
|
|
30
|
+
this.locationOutput.overrideLogicalId("location");
|
|
31
|
+
this.nameOutput.overrideLogicalId("name");
|
|
32
|
+
this.tagsOutput.overrideLogicalId("tags");
|
|
33
|
+
}
|
|
34
|
+
defaultVersion() {
|
|
35
|
+
return "2025-02-15";
|
|
36
|
+
}
|
|
37
|
+
resourceType() {
|
|
38
|
+
return event_grid_system_topic_schemas_1.SYSTEM_TOPIC_TYPE;
|
|
39
|
+
}
|
|
40
|
+
apiSchema() {
|
|
41
|
+
return this.resolveSchema();
|
|
42
|
+
}
|
|
43
|
+
requiresLocation() {
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
createResourceBody(props) {
|
|
47
|
+
const typedProps = props;
|
|
48
|
+
return {
|
|
49
|
+
location: this.location,
|
|
50
|
+
tags: this.allTags(),
|
|
51
|
+
properties: {
|
|
52
|
+
source: typedProps.source,
|
|
53
|
+
topicType: typedProps.topicType,
|
|
54
|
+
},
|
|
55
|
+
identity: typedProps.identity,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
get resourceId() {
|
|
59
|
+
return this.id;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.EventGridSystemTopic = EventGridSystemTopic;
|
|
63
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
64
|
+
EventGridSystemTopic[_a] = { fqn: "@microsoft/terraform-cdk-constructs.EventGridSystemTopic", version: "2.5.0" };
|
|
65
|
+
(() => {
|
|
66
|
+
azapi_resource_1.AzapiResource.registerSchemas(event_grid_system_topic_schemas_1.SYSTEM_TOPIC_TYPE, event_grid_system_topic_schemas_1.ALL_SYSTEM_TOPIC_VERSIONS);
|
|
67
|
+
})();
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtZ3JpZC1zeXN0ZW0tdG9waWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtZXZlbnRncmlkc3lzdGVtdG9waWMvbGliL2V2ZW50LWdyaWQtc3lzdGVtLXRvcGljLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0JBQStCO0FBRS9CLHVGQUcyQztBQUMzQyw4RUFHbUQ7QUErQm5ELE1BQWEsb0JBQXFCLFNBQVEsOEJBQWE7SUFXckQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFnQztRQUN4RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ3BELEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNkLFdBQVcsRUFBRSx1Q0FBdUM7U0FDckQsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUNoRSxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxZQUFZO1lBQ25ELFdBQVcsRUFBRSw2Q0FBNkM7U0FDM0QsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUN4RCxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxRQUFRO1lBQy9DLFdBQVcsRUFBRSx5Q0FBeUM7U0FDdkQsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUN4RCxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxRQUFRO1lBQy9DLFdBQVcsRUFBRSxrREFBa0Q7U0FDaEUsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRVMsY0FBYztRQUN0QixPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0lBRVMsWUFBWTtRQUNwQixPQUFPLG1EQUFpQixDQUFDO0lBQzNCLENBQUM7SUFFUyxTQUFTO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFUyxnQkFBZ0I7UUFDeEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRVMsa0JBQWtCLENBQUMsS0FBVTtRQUNyQyxNQUFNLFVBQVUsR0FBRyxLQUFrQyxDQUFDO1FBQ3RELE9BQU87WUFDTCxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDcEIsVUFBVSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTTtnQkFDekIsU0FBUyxFQUFFLFVBQVUsQ0FBQyxTQUFTO2FBQ2hDO1lBQ0QsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRO1NBQzlCLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNqQixDQUFDOztBQXJFSCxvREFzRUM7OztBQXJFQztJQUNFLDhCQUFhLENBQUMsZUFBZSxDQUFDLG1EQUFpQixFQUFFLDJEQUF5QixDQUFDLENBQUM7QUFDOUUsQ0FBQyxHQUFBLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGt0biBmcm9tIFwiY2RrdG5cIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICBBTExfU1lTVEVNX1RPUElDX1ZFUlNJT05TLFxuICBTWVNURU1fVE9QSUNfVFlQRSxcbn0gZnJvbSBcIi4vZXZlbnQtZ3JpZC1zeXN0ZW0tdG9waWMtc2NoZW1hc1wiO1xuaW1wb3J0IHtcbiAgQXphcGlSZXNvdXJjZSxcbiAgQXphcGlSZXNvdXJjZVByb3BzLFxufSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvYXphcGkvYXphcGktcmVzb3VyY2VcIjtcbmltcG9ydCB7IEFwaVNjaGVtYSB9IGZyb20gXCIuLi8uLi9jb3JlLWF6dXJlL2xpYi92ZXJzaW9uLW1hbmFnZXIvaW50ZXJmYWNlcy92ZXJzaW9uLWludGVyZmFjZXNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBFdmVudEdyaWRTeXN0ZW1Ub3BpY0lkZW50aXR5IHtcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nO1xuICByZWFkb25seSB1c2VyQXNzaWduZWRJZGVudGl0aWVzPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdmVudEdyaWRTeXN0ZW1Ub3BpY1Byb3BzIGV4dGVuZHMgQXphcGlSZXNvdXJjZVByb3BzIHtcbiAgLyoqIFNvdXJjZSBBenVyZSByZXNvdXJjZSBJRCBmb3IgdGhlIHN5c3RlbSB0b3BpYyAqL1xuICByZWFkb25seSBzb3VyY2U6IHN0cmluZztcbiAgLyoqIFRvcGljIHR5cGUgKGUuZy4sIFwiTWljcm9zb2Z0LlN0b3JhZ2UuU3RvcmFnZUFjY291bnRzXCIpICovXG4gIHJlYWRvbmx5IHRvcGljVHlwZTogc3RyaW5nO1xuICAvKiogTWFuYWdlZCBpZGVudGl0eSBjb25maWd1cmF0aW9uICovXG4gIHJlYWRvbmx5IGlkZW50aXR5PzogRXZlbnRHcmlkU3lzdGVtVG9waWNJZGVudGl0eTtcbiAgLyoqIFJlc291cmNlIGdyb3VwIElEICovXG4gIHJlYWRvbmx5IHJlc291cmNlR3JvdXBJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdmVudEdyaWRTeXN0ZW1Ub3BpY0JvZHlQcm9wZXJ0aWVzIHtcbiAgcmVhZG9ubHkgc291cmNlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRvcGljVHlwZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50R3JpZFN5c3RlbVRvcGljQm9keSB7XG4gIHJlYWRvbmx5IGxvY2F0aW9uOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRhZ3M/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICByZWFkb25seSBwcm9wZXJ0aWVzOiBFdmVudEdyaWRTeXN0ZW1Ub3BpY0JvZHlQcm9wZXJ0aWVzO1xuICByZWFkb25seSBpZGVudGl0eT86IEV2ZW50R3JpZFN5c3RlbVRvcGljSWRlbnRpdHk7XG59XG5cbmV4cG9ydCBjbGFzcyBFdmVudEdyaWRTeXN0ZW1Ub3BpYyBleHRlbmRzIEF6YXBpUmVzb3VyY2Uge1xuICBzdGF0aWMge1xuICAgIEF6YXBpUmVzb3VyY2UucmVnaXN0ZXJTY2hlbWFzKFNZU1RFTV9UT1BJQ19UWVBFLCBBTExfU1lTVEVNX1RPUElDX1ZFUlNJT05TKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSBwcm9wczogRXZlbnRHcmlkU3lzdGVtVG9waWNQcm9wcztcbiAgcHVibGljIHJlYWRvbmx5IGlkT3V0cHV0OiBjZGt0bi5UZXJyYWZvcm1PdXRwdXQ7XG4gIHB1YmxpYyByZWFkb25seSBsb2NhdGlvbk91dHB1dDogY2RrdG4uVGVycmFmb3JtT3V0cHV0O1xuICBwdWJsaWMgcmVhZG9ubHkgbmFtZU91dHB1dDogY2RrdG4uVGVycmFmb3JtT3V0cHV0O1xuICBwdWJsaWMgcmVhZG9ubHkgdGFnc091dHB1dDogY2RrdG4uVGVycmFmb3JtT3V0cHV0O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBFdmVudEdyaWRTeXN0ZW1Ub3BpY1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuXG4gICAgdGhpcy5pZE91dHB1dCA9IG5ldyBjZGt0bi5UZXJyYWZvcm1PdXRwdXQodGhpcywgXCJpZFwiLCB7XG4gICAgICB2YWx1ZTogdGhpcy5pZCxcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBJRCBvZiB0aGUgRXZlbnQgR3JpZCBTeXN0ZW0gVG9waWNcIixcbiAgICB9KTtcbiAgICB0aGlzLmxvY2F0aW9uT3V0cHV0ID0gbmV3IGNka3RuLlRlcnJhZm9ybU91dHB1dCh0aGlzLCBcImxvY2F0aW9uXCIsIHtcbiAgICAgIHZhbHVlOiBgXFwkeyR7dGhpcy50ZXJyYWZvcm1SZXNvdXJjZS5mcW59LmxvY2F0aW9ufWAsXG4gICAgICBkZXNjcmlwdGlvbjogXCJUaGUgbG9jYXRpb24gb2YgdGhlIEV2ZW50IEdyaWQgU3lzdGVtIFRvcGljXCIsXG4gICAgfSk7XG4gICAgdGhpcy5uYW1lT3V0cHV0ID0gbmV3IGNka3RuLlRlcnJhZm9ybU91dHB1dCh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgdmFsdWU6IGBcXCR7JHt0aGlzLnRlcnJhZm9ybVJlc291cmNlLmZxbn0ubmFtZX1gLFxuICAgICAgZGVzY3JpcHRpb246IFwiVGhlIG5hbWUgb2YgdGhlIEV2ZW50IEdyaWQgU3lzdGVtIFRvcGljXCIsXG4gICAgfSk7XG4gICAgdGhpcy50YWdzT3V0cHV0ID0gbmV3IGNka3RuLlRlcnJhZm9ybU91dHB1dCh0aGlzLCBcInRhZ3NcIiwge1xuICAgICAgdmFsdWU6IGBcXCR7JHt0aGlzLnRlcnJhZm9ybVJlc291cmNlLmZxbn0udGFnc31gLFxuICAgICAgZGVzY3JpcHRpb246IFwiVGhlIHRhZ3MgYXNzaWduZWQgdG8gdGhlIEV2ZW50IEdyaWQgU3lzdGVtIFRvcGljXCIsXG4gICAgfSk7XG5cbiAgICB0aGlzLmlkT3V0cHV0Lm92ZXJyaWRlTG9naWNhbElkKFwiaWRcIik7XG4gICAgdGhpcy5sb2NhdGlvbk91dHB1dC5vdmVycmlkZUxvZ2ljYWxJZChcImxvY2F0aW9uXCIpO1xuICAgIHRoaXMubmFtZU91dHB1dC5vdmVycmlkZUxvZ2ljYWxJZChcIm5hbWVcIik7XG4gICAgdGhpcy50YWdzT3V0cHV0Lm92ZXJyaWRlTG9naWNhbElkKFwidGFnc1wiKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBkZWZhdWx0VmVyc2lvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiBcIjIwMjUtMDItMTVcIjtcbiAgfVxuXG4gIHByb3RlY3RlZCByZXNvdXJjZVR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gU1lTVEVNX1RPUElDX1RZUEU7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXBpU2NoZW1hKCk6IEFwaVNjaGVtYSB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZVNjaGVtYSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlcXVpcmVzTG9jYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlUmVzb3VyY2VCb2R5KHByb3BzOiBhbnkpOiBhbnkge1xuICAgIGNvbnN0IHR5cGVkUHJvcHMgPSBwcm9wcyBhcyBFdmVudEdyaWRTeXN0ZW1Ub3BpY1Byb3BzO1xuICAgIHJldHVybiB7XG4gICAgICBsb2NhdGlvbjogdGhpcy5sb2NhdGlvbixcbiAgICAgIHRhZ3M6IHRoaXMuYWxsVGFncygpLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBzb3VyY2U6IHR5cGVkUHJvcHMuc291cmNlLFxuICAgICAgICB0b3BpY1R5cGU6IHR5cGVkUHJvcHMudG9waWNUeXBlLFxuICAgICAgfSxcbiAgICAgIGlkZW50aXR5OiB0eXBlZFByb3BzLmlkZW50aXR5LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlc291cmNlSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pZDtcbiAgfVxufVxuIl19
|